Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468
  1. // make sure to keep this as 'var'
  2. // we don't want block scoping
  3. var dartNodePreambleSelf = typeof global !== "undefined" ? global : window;
  4. var self = Object.create(dartNodePreambleSelf);
  5. self.scheduleImmediate = self.setImmediate
  6. ? function (cb) {
  7. dartNodePreambleSelf.setImmediate(cb);
  8. }
  9. : function(cb) {
  10. setTimeout(cb, 0);
  11. };
  12. // CommonJS globals.
  13. self.exports = exports;
  14. // Node.js specific exports, check to see if they exist & or polyfilled
  15. if (typeof process !== "undefined") {
  16. self.process = process;
  17. }
  18. if (typeof __dirname !== "undefined") {
  19. self.__dirname = __dirname;
  20. }
  21. if (typeof __filename !== "undefined") {
  22. self.__filename = __filename;
  23. }
  24. // if we're running in a browser, Dart supports most of this out of box
  25. // make sure we only run these in Node.js environment
  26. if (!dartNodePreambleSelf.window) {
  27. // This line is to:
  28. // 1) Prevent Webpack from bundling.
  29. // 2) In Webpack on Node.js, make sure we're using the native Node.js require, which is available via __non_webpack_require__
  30. // https://github.com/mbullington/node_preamble.dart/issues/18#issuecomment-527305561
  31. var url = ("undefined" !== typeof __webpack_require__ ? __non_webpack_require__ : require)("url");
  32. self.location = {
  33. get href() {
  34. if (url.pathToFileURL) {
  35. return url.pathToFileURL(process.cwd()).href + "/";
  36. } else {
  37. // This isn't really a correct transformation, but it's the best we have
  38. // for versions of Node <10.12.0 which introduced `url.pathToFileURL()`.
  39. // For example, it will fail for paths that contain characters that need
  40. // to be escaped in URLs.
  41. return "file://" + (function() {
  42. var cwd = process.cwd();
  43. if (process.platform != "win32") return cwd;
  44. return "/" + cwd.replace(/\\/g, "/");
  45. })() + "/"
  46. }
  47. }
  48. };
  49. (function() {
  50. function computeCurrentScript() {
  51. try {
  52. throw new Error();
  53. } catch(e) {
  54. var stack = e.stack;
  55. var re = new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "mg");
  56. var lastMatch = null;
  57. do {
  58. var match = re.exec(stack);
  59. if (match != null) lastMatch = match;
  60. } while (match != null);
  61. return lastMatch[1];
  62. }
  63. }
  64. var cachedCurrentScript = null;
  65. self.document = {
  66. get currentScript() {
  67. if (cachedCurrentScript == null) {
  68. cachedCurrentScript = {src: computeCurrentScript()};
  69. }
  70. return cachedCurrentScript;
  71. }
  72. };
  73. })();
  74. self.dartDeferredLibraryLoader = function(uri, successCallback, errorCallback) {
  75. try {
  76. load(uri);
  77. successCallback();
  78. } catch (error) {
  79. errorCallback(error);
  80. }
  81. };
  82. }
  83. self.fs = require("fs");
  84. self.chokidar = require("chokidar");
  85. self.readline = require("readline");
  86. // Generated by dart2js (fast startup emitter, strong, trust primitives, omit checks, lax runtime type), the Dart to JavaScript compiler version: 2.6.1.
  87. // The code supports the following hooks:
  88. // dartPrint(message):
  89. // if this function is defined it is called instead of the Dart [print]
  90. // method.
  91. //
  92. // dartMainRunner(main, args):
  93. // if this function is defined, the Dart [main] method will not be invoked
  94. // directly. Instead, a closure that will invoke [main], and its arguments
  95. // [args] is passed to [dartMainRunner].
  96. //
  97. // dartDeferredLibraryLoader(uri, successCallback, errorCallback):
  98. // if this function is defined, it will be called when a deferred library
  99. // is loaded. It should load and eval the javascript of `uri`, and call
  100. // successCallback. If it fails to do so, it should call errorCallback with
  101. // an error.
  102. //
  103. // dartCallInstrumentation(id, qualifiedName):
  104. // if this function is defined, it will be called at each entry of a
  105. // method or constructor. Used only when compiling programs with
  106. // --experiment-call-instrumentation.
  107. {
  108. }
  109. (function dartProgram() {
  110. function copyProperties(from, to) {
  111. var keys = Object.keys(from);
  112. for (var i = 0; i < keys.length; i++) {
  113. var key = keys[i];
  114. to[key] = from[key];
  115. }
  116. }
  117. var supportsDirectProtoAccess = function() {
  118. var cls = function() {
  119. };
  120. cls.prototype = {p: {}};
  121. var object = new cls();
  122. if (!(object.__proto__ && object.__proto__.p === cls.prototype.p))
  123. return false;
  124. try {
  125. if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
  126. return true;
  127. if (typeof version == "function" && version.length == 0) {
  128. var v = version();
  129. if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
  130. return true;
  131. }
  132. } catch (_) {
  133. }
  134. return false;
  135. }();
  136. function setFunctionNamesIfNecessary(holders) {
  137. function t() {
  138. }
  139. ;
  140. if (typeof t.name == "string")
  141. return;
  142. for (var i = 0; i < holders.length; i++) {
  143. var holder = holders[i];
  144. var keys = Object.keys(holder);
  145. for (var j = 0; j < keys.length; j++) {
  146. var key = keys[j];
  147. var f = holder[key];
  148. if (typeof f == 'function')
  149. f.name = key;
  150. }
  151. }
  152. }
  153. function inherit(cls, sup) {
  154. cls.prototype.constructor = cls;
  155. cls.prototype["$is" + cls.name] = cls;
  156. if (sup != null) {
  157. if (supportsDirectProtoAccess) {
  158. cls.prototype.__proto__ = sup.prototype;
  159. return;
  160. }
  161. var clsPrototype = Object.create(sup.prototype);
  162. copyProperties(cls.prototype, clsPrototype);
  163. cls.prototype = clsPrototype;
  164. }
  165. }
  166. function inheritMany(sup, classes) {
  167. for (var i = 0; i < classes.length; i++)
  168. inherit(classes[i], sup);
  169. }
  170. function mixin(cls, mixin) {
  171. copyProperties(mixin.prototype, cls.prototype);
  172. cls.prototype.constructor = cls;
  173. }
  174. function lazy(holder, name, getterName, initializer) {
  175. var uninitializedSentinel = holder;
  176. holder[name] = uninitializedSentinel;
  177. holder[getterName] = function() {
  178. holder[getterName] = function() {
  179. H.throwCyclicInit(name);
  180. };
  181. var result;
  182. var sentinelInProgress = initializer;
  183. try {
  184. if (holder[name] === uninitializedSentinel) {
  185. result = holder[name] = sentinelInProgress;
  186. result = holder[name] = initializer();
  187. } else
  188. result = holder[name];
  189. } finally {
  190. if (result === sentinelInProgress)
  191. holder[name] = null;
  192. holder[getterName] = function() {
  193. return this[name];
  194. };
  195. }
  196. return result;
  197. };
  198. }
  199. function makeConstList(list) {
  200. list.immutable$list = Array;
  201. list.fixed$length = Array;
  202. return list;
  203. }
  204. function convertToFastObject(properties) {
  205. function t() {
  206. }
  207. t.prototype = properties;
  208. new t();
  209. return properties;
  210. }
  211. function convertAllToFastObject(arrayOfObjects) {
  212. for (var i = 0; i < arrayOfObjects.length; ++i)
  213. convertToFastObject(arrayOfObjects[i]);
  214. }
  215. var functionCounter = 0;
  216. function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) {
  217. return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null);
  218. }
  219. function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) {
  220. var cache = null;
  221. return isStatic ? function() {
  222. if (cache === null)
  223. cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype;
  224. return cache;
  225. } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted);
  226. }
  227. var typesOffset = 0;
  228. function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  229. var funs = [];
  230. for (var i = 0; i < funsOrNames.length; i++) {
  231. var fun = funsOrNames[i];
  232. if (typeof fun == 'string')
  233. fun = container[fun];
  234. fun.$callName = callNames[i];
  235. funs.push(fun);
  236. }
  237. var fun = funs[0];
  238. fun.$requiredArgCount = requiredParameterCount;
  239. fun.$defaultValues = optionalParameterDefaultValues;
  240. var reflectionInfo = funType;
  241. if (typeof reflectionInfo == "number")
  242. reflectionInfo += typesOffset;
  243. var name = funsOrNames[0];
  244. fun.$stubName = name;
  245. var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted);
  246. container[getterName] = getterFunction;
  247. if (isStatic)
  248. fun.$tearOff = getterFunction;
  249. }
  250. function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  251. return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  252. }
  253. function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  254. return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  255. }
  256. function setOrUpdateInterceptorsByTag(newTags) {
  257. var tags = init.interceptorsByTag;
  258. if (!tags) {
  259. init.interceptorsByTag = newTags;
  260. return;
  261. }
  262. copyProperties(newTags, tags);
  263. }
  264. function setOrUpdateLeafTags(newTags) {
  265. var tags = init.leafTags;
  266. if (!tags) {
  267. init.leafTags = newTags;
  268. return;
  269. }
  270. copyProperties(newTags, tags);
  271. }
  272. function updateTypes(newTypes) {
  273. var types = init.types;
  274. var length = types.length;
  275. types.push.apply(types, newTypes);
  276. return length;
  277. }
  278. function updateHolder(holder, newHolder) {
  279. copyProperties(newHolder, holder);
  280. return holder;
  281. }
  282. var hunkHelpers = function() {
  283. var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
  284. return function(container, getterName, name, funType) {
  285. return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
  286. };
  287. },
  288. mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
  289. return function(container, getterName, name, funType) {
  290. return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
  291. };
  292. };
  293. return {inherit: inherit, inheritMany: inheritMany, mixin: mixin, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
  294. }();
  295. function initializeDeferredHunk(hunk) {
  296. typesOffset = init.types.length;
  297. hunk(hunkHelpers, init, holders, $);
  298. }
  299. function getGlobalFromName(name) {
  300. for (var i = 0; i < holders.length; i++) {
  301. if (holders[i] == C)
  302. continue;
  303. if (holders[i][name])
  304. return holders[i][name];
  305. }
  306. }
  307. var C = {},
  308. H = {JS_CONST: function JS_CONST() {
  309. },
  310. CastIterable_CastIterable: function(source, $S, $T) {
  311. if (H.checkSubtype(source, "$isEfficientLengthIterable", [$S], "$asEfficientLengthIterable"))
  312. return new H._EfficientLengthCastIterable(source, [$S, $T]);
  313. return new H.CastIterable(source, [$S, $T]);
  314. },
  315. hexDigitValue: function(char) {
  316. var letter,
  317. digit = char ^ 48;
  318. if (digit <= 9)
  319. return digit;
  320. letter = char | 32;
  321. if (97 <= letter && letter <= 102)
  322. return letter - 87;
  323. return -1;
  324. },
  325. SubListIterable$: function(_iterable, _start, _endOrLength, $E) {
  326. P.RangeError_checkNotNegative(_start, "start");
  327. if (_endOrLength != null) {
  328. P.RangeError_checkNotNegative(_endOrLength, "end");
  329. if (_start > _endOrLength)
  330. H.throwExpression(P.RangeError$range(_start, 0, _endOrLength, "start", null));
  331. }
  332. return new H.SubListIterable(_iterable, _start, _endOrLength, [$E]);
  333. },
  334. MappedIterable_MappedIterable: function(iterable, $function, $S, $T) {
  335. if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable)
  336. return new H.EfficientLengthMappedIterable(iterable, $function, [$S, $T]);
  337. return new H.MappedIterable(iterable, $function, [$S, $T]);
  338. },
  339. TakeIterable_TakeIterable: function(iterable, takeCount, $E) {
  340. P.RangeError_checkNotNegative(takeCount, "takeCount");
  341. if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable)
  342. return new H.EfficientLengthTakeIterable(iterable, takeCount, [$E]);
  343. return new H.TakeIterable(iterable, takeCount, [$E]);
  344. },
  345. SkipIterable_SkipIterable: function(iterable, count, $E) {
  346. var _s5_ = "count";
  347. if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable) {
  348. if (count == null)
  349. H.throwExpression(P.ArgumentError$notNull(_s5_));
  350. P.RangeError_checkNotNegative(count, _s5_);
  351. return new H.EfficientLengthSkipIterable(iterable, count, [$E]);
  352. }
  353. if (count == null)
  354. H.throwExpression(P.ArgumentError$notNull(_s5_));
  355. P.RangeError_checkNotNegative(count, _s5_);
  356. return new H.SkipIterable(iterable, count, [$E]);
  357. },
  358. FollowedByIterable_FollowedByIterable$firstEfficient: function(first, second, $E) {
  359. if (H.checkSubtype(second, "$isEfficientLengthIterable", [$E], "$asEfficientLengthIterable"))
  360. return new H.EfficientLengthFollowedByIterable(first, second, [$E]);
  361. return new H.FollowedByIterable(first, second, [$E]);
  362. },
  363. IterableElementError_noElement: function() {
  364. return new P.StateError("No element");
  365. },
  366. IterableElementError_tooMany: function() {
  367. return new P.StateError("Too many elements");
  368. },
  369. IterableElementError_tooFew: function() {
  370. return new P.StateError("Too few elements");
  371. },
  372. Sort_sort: function(a, compare) {
  373. H.Sort__doSort(a, 0, J.get$length$asx(a) - 1, compare);
  374. },
  375. Sort__doSort: function(a, left, right, compare) {
  376. if (right - left <= 32)
  377. H.Sort__insertionSort(a, left, right, compare);
  378. else
  379. H.Sort__dualPivotQuicksort(a, left, right, compare);
  380. },
  381. Sort__insertionSort: function(a, left, right, compare) {
  382. var i, t1, el, j, j0;
  383. for (i = left + 1, t1 = J.getInterceptor$asx(a); i <= right; ++i) {
  384. el = t1.$index(a, i);
  385. j = i;
  386. while (true) {
  387. if (!(j > left && compare.call$2(t1.$index(a, j - 1), el) > 0))
  388. break;
  389. j0 = j - 1;
  390. t1.$indexSet(a, j, t1.$index(a, j0));
  391. j = j0;
  392. }
  393. t1.$indexSet(a, j, el);
  394. }
  395. },
  396. Sort__dualPivotQuicksort: function(a, left, right, compare) {
  397. var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, t2,
  398. sixth = C.JSInt_methods._tdivFast$1(right - left + 1, 6),
  399. index1 = left + sixth,
  400. index5 = right - sixth,
  401. index3 = C.JSInt_methods._tdivFast$1(left + right, 2),
  402. index2 = index3 - sixth,
  403. index4 = index3 + sixth,
  404. t1 = J.getInterceptor$asx(a),
  405. el1 = t1.$index(a, index1),
  406. el2 = t1.$index(a, index2),
  407. el3 = t1.$index(a, index3),
  408. el4 = t1.$index(a, index4),
  409. el5 = t1.$index(a, index5);
  410. if (compare.call$2(el1, el2) > 0) {
  411. t0 = el2;
  412. el2 = el1;
  413. el1 = t0;
  414. }
  415. if (compare.call$2(el4, el5) > 0) {
  416. t0 = el5;
  417. el5 = el4;
  418. el4 = t0;
  419. }
  420. if (compare.call$2(el1, el3) > 0) {
  421. t0 = el3;
  422. el3 = el1;
  423. el1 = t0;
  424. }
  425. if (compare.call$2(el2, el3) > 0) {
  426. t0 = el3;
  427. el3 = el2;
  428. el2 = t0;
  429. }
  430. if (compare.call$2(el1, el4) > 0) {
  431. t0 = el4;
  432. el4 = el1;
  433. el1 = t0;
  434. }
  435. if (compare.call$2(el3, el4) > 0) {
  436. t0 = el4;
  437. el4 = el3;
  438. el3 = t0;
  439. }
  440. if (compare.call$2(el2, el5) > 0) {
  441. t0 = el5;
  442. el5 = el2;
  443. el2 = t0;
  444. }
  445. if (compare.call$2(el2, el3) > 0) {
  446. t0 = el3;
  447. el3 = el2;
  448. el2 = t0;
  449. }
  450. if (compare.call$2(el4, el5) > 0) {
  451. t0 = el5;
  452. el5 = el4;
  453. el4 = t0;
  454. }
  455. t1.$indexSet(a, index1, el1);
  456. t1.$indexSet(a, index3, el3);
  457. t1.$indexSet(a, index5, el5);
  458. t1.$indexSet(a, index2, t1.$index(a, left));
  459. t1.$indexSet(a, index4, t1.$index(a, right));
  460. less = left + 1;
  461. great = right - 1;
  462. if (J.$eq$(compare.call$2(el2, el4), 0)) {
  463. for (k = less; k <= great; ++k) {
  464. ak = t1.$index(a, k);
  465. comp = compare.call$2(ak, el2);
  466. if (comp === 0)
  467. continue;
  468. if (comp < 0) {
  469. if (k !== less) {
  470. t1.$indexSet(a, k, t1.$index(a, less));
  471. t1.$indexSet(a, less, ak);
  472. }
  473. ++less;
  474. } else
  475. for (; true;) {
  476. comp = compare.call$2(t1.$index(a, great), el2);
  477. if (comp > 0) {
  478. --great;
  479. continue;
  480. } else {
  481. great0 = great - 1;
  482. if (comp < 0) {
  483. t1.$indexSet(a, k, t1.$index(a, less));
  484. less0 = less + 1;
  485. t1.$indexSet(a, less, t1.$index(a, great));
  486. t1.$indexSet(a, great, ak);
  487. great = great0;
  488. less = less0;
  489. break;
  490. } else {
  491. t1.$indexSet(a, k, t1.$index(a, great));
  492. t1.$indexSet(a, great, ak);
  493. great = great0;
  494. break;
  495. }
  496. }
  497. }
  498. }
  499. pivots_are_equal = true;
  500. } else {
  501. for (k = less; k <= great; ++k) {
  502. ak = t1.$index(a, k);
  503. if (compare.call$2(ak, el2) < 0) {
  504. if (k !== less) {
  505. t1.$indexSet(a, k, t1.$index(a, less));
  506. t1.$indexSet(a, less, ak);
  507. }
  508. ++less;
  509. } else if (compare.call$2(ak, el4) > 0)
  510. for (; true;)
  511. if (compare.call$2(t1.$index(a, great), el4) > 0) {
  512. --great;
  513. if (great < k)
  514. break;
  515. continue;
  516. } else {
  517. great0 = great - 1;
  518. if (compare.call$2(t1.$index(a, great), el2) < 0) {
  519. t1.$indexSet(a, k, t1.$index(a, less));
  520. less0 = less + 1;
  521. t1.$indexSet(a, less, t1.$index(a, great));
  522. t1.$indexSet(a, great, ak);
  523. less = less0;
  524. } else {
  525. t1.$indexSet(a, k, t1.$index(a, great));
  526. t1.$indexSet(a, great, ak);
  527. }
  528. great = great0;
  529. break;
  530. }
  531. }
  532. pivots_are_equal = false;
  533. }
  534. t2 = less - 1;
  535. t1.$indexSet(a, left, t1.$index(a, t2));
  536. t1.$indexSet(a, t2, el2);
  537. t2 = great + 1;
  538. t1.$indexSet(a, right, t1.$index(a, t2));
  539. t1.$indexSet(a, t2, el4);
  540. H.Sort__doSort(a, left, less - 2, compare);
  541. H.Sort__doSort(a, great + 2, right, compare);
  542. if (pivots_are_equal)
  543. return;
  544. if (less < index1 && great > index5) {
  545. for (; J.$eq$(compare.call$2(t1.$index(a, less), el2), 0);)
  546. ++less;
  547. for (; J.$eq$(compare.call$2(t1.$index(a, great), el4), 0);)
  548. --great;
  549. for (k = less; k <= great; ++k) {
  550. ak = t1.$index(a, k);
  551. if (compare.call$2(ak, el2) === 0) {
  552. if (k !== less) {
  553. t1.$indexSet(a, k, t1.$index(a, less));
  554. t1.$indexSet(a, less, ak);
  555. }
  556. ++less;
  557. } else if (compare.call$2(ak, el4) === 0)
  558. for (; true;)
  559. if (compare.call$2(t1.$index(a, great), el4) === 0) {
  560. --great;
  561. if (great < k)
  562. break;
  563. continue;
  564. } else {
  565. great0 = great - 1;
  566. if (compare.call$2(t1.$index(a, great), el2) < 0) {
  567. t1.$indexSet(a, k, t1.$index(a, less));
  568. less0 = less + 1;
  569. t1.$indexSet(a, less, t1.$index(a, great));
  570. t1.$indexSet(a, great, ak);
  571. less = less0;
  572. } else {
  573. t1.$indexSet(a, k, t1.$index(a, great));
  574. t1.$indexSet(a, great, ak);
  575. }
  576. great = great0;
  577. break;
  578. }
  579. }
  580. H.Sort__doSort(a, less, great, compare);
  581. } else
  582. H.Sort__doSort(a, less, great, compare);
  583. },
  584. _CastIterableBase: function _CastIterableBase() {
  585. },
  586. CastIterator: function CastIterator(t0, t1) {
  587. this._source = t0;
  588. this.$ti = t1;
  589. },
  590. CastIterable: function CastIterable(t0, t1) {
  591. this._source = t0;
  592. this.$ti = t1;
  593. },
  594. _EfficientLengthCastIterable: function _EfficientLengthCastIterable(t0, t1) {
  595. this._source = t0;
  596. this.$ti = t1;
  597. },
  598. _CastListBase: function _CastListBase() {
  599. },
  600. CastList: function CastList(t0, t1) {
  601. this._source = t0;
  602. this.$ti = t1;
  603. },
  604. CastSet: function CastSet(t0, t1, t2) {
  605. this._source = t0;
  606. this._emptySet = t1;
  607. this.$ti = t2;
  608. },
  609. CastQueue: function CastQueue(t0, t1) {
  610. this._source = t0;
  611. this.$ti = t1;
  612. },
  613. CodeUnits: function CodeUnits(t0) {
  614. this.__internal$_string = t0;
  615. },
  616. EfficientLengthIterable: function EfficientLengthIterable() {
  617. },
  618. ListIterable: function ListIterable() {
  619. },
  620. SubListIterable: function SubListIterable(t0, t1, t2, t3) {
  621. var _ = this;
  622. _.__internal$_iterable = t0;
  623. _.__internal$_start = t1;
  624. _._endOrLength = t2;
  625. _.$ti = t3;
  626. },
  627. ListIterator: function ListIterator(t0, t1) {
  628. var _ = this;
  629. _.__internal$_iterable = t0;
  630. _.__internal$_length = t1;
  631. _.__internal$_index = 0;
  632. _.__internal$_current = null;
  633. },
  634. MappedIterable: function MappedIterable(t0, t1, t2) {
  635. this.__internal$_iterable = t0;
  636. this._f = t1;
  637. this.$ti = t2;
  638. },
  639. EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) {
  640. this.__internal$_iterable = t0;
  641. this._f = t1;
  642. this.$ti = t2;
  643. },
  644. MappedIterator: function MappedIterator(t0, t1) {
  645. this.__internal$_current = null;
  646. this._iterator = t0;
  647. this._f = t1;
  648. },
  649. MappedListIterable: function MappedListIterable(t0, t1, t2) {
  650. this._source = t0;
  651. this._f = t1;
  652. this.$ti = t2;
  653. },
  654. WhereIterable: function WhereIterable(t0, t1, t2) {
  655. this.__internal$_iterable = t0;
  656. this._f = t1;
  657. this.$ti = t2;
  658. },
  659. WhereIterator: function WhereIterator(t0, t1) {
  660. this._iterator = t0;
  661. this._f = t1;
  662. },
  663. ExpandIterable: function ExpandIterable(t0, t1, t2) {
  664. this.__internal$_iterable = t0;
  665. this._f = t1;
  666. this.$ti = t2;
  667. },
  668. ExpandIterator: function ExpandIterator(t0, t1, t2) {
  669. var _ = this;
  670. _._iterator = t0;
  671. _._f = t1;
  672. _._currentExpansion = t2;
  673. _.__internal$_current = null;
  674. },
  675. TakeIterable: function TakeIterable(t0, t1, t2) {
  676. this.__internal$_iterable = t0;
  677. this._takeCount = t1;
  678. this.$ti = t2;
  679. },
  680. EfficientLengthTakeIterable: function EfficientLengthTakeIterable(t0, t1, t2) {
  681. this.__internal$_iterable = t0;
  682. this._takeCount = t1;
  683. this.$ti = t2;
  684. },
  685. TakeIterator: function TakeIterator(t0, t1) {
  686. this._iterator = t0;
  687. this._remaining = t1;
  688. },
  689. SkipIterable: function SkipIterable(t0, t1, t2) {
  690. this.__internal$_iterable = t0;
  691. this._skipCount = t1;
  692. this.$ti = t2;
  693. },
  694. EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) {
  695. this.__internal$_iterable = t0;
  696. this._skipCount = t1;
  697. this.$ti = t2;
  698. },
  699. SkipIterator: function SkipIterator(t0, t1) {
  700. this._iterator = t0;
  701. this._skipCount = t1;
  702. },
  703. SkipWhileIterable: function SkipWhileIterable(t0, t1, t2) {
  704. this.__internal$_iterable = t0;
  705. this._f = t1;
  706. this.$ti = t2;
  707. },
  708. SkipWhileIterator: function SkipWhileIterator(t0, t1) {
  709. this._iterator = t0;
  710. this._f = t1;
  711. this._hasSkipped = false;
  712. },
  713. EmptyIterable: function EmptyIterable(t0) {
  714. this.$ti = t0;
  715. },
  716. EmptyIterator: function EmptyIterator() {
  717. },
  718. FollowedByIterable: function FollowedByIterable(t0, t1, t2) {
  719. this.__internal$_first = t0;
  720. this._second = t1;
  721. this.$ti = t2;
  722. },
  723. EfficientLengthFollowedByIterable: function EfficientLengthFollowedByIterable(t0, t1, t2) {
  724. this.__internal$_first = t0;
  725. this._second = t1;
  726. this.$ti = t2;
  727. },
  728. FollowedByIterator: function FollowedByIterator(t0, t1) {
  729. this._currentIterator = t0;
  730. this._nextIterable = t1;
  731. },
  732. WhereTypeIterable: function WhereTypeIterable(t0, t1) {
  733. this._source = t0;
  734. this.$ti = t1;
  735. },
  736. WhereTypeIterator: function WhereTypeIterator(t0, t1) {
  737. this._source = t0;
  738. this.$ti = t1;
  739. },
  740. FixedLengthListMixin: function FixedLengthListMixin() {
  741. },
  742. UnmodifiableListMixin: function UnmodifiableListMixin() {
  743. },
  744. UnmodifiableListBase: function UnmodifiableListBase() {
  745. },
  746. ReversedListIterable: function ReversedListIterable(t0, t1) {
  747. this._source = t0;
  748. this.$ti = t1;
  749. },
  750. Symbol: function Symbol(t0) {
  751. this.__internal$_name = t0;
  752. },
  753. __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() {
  754. },
  755. ConstantMap_ConstantMap$from: function(other, $K, $V) {
  756. var allStrings, k, object, containsProto, protoValue, $length, v,
  757. keys = P.List_List$from(other.get$keys(), true, $K),
  758. t1 = keys.length,
  759. _i = 0;
  760. while (true) {
  761. if (!(_i < t1)) {
  762. allStrings = true;
  763. break;
  764. }
  765. k = keys[_i];
  766. if (typeof k !== "string") {
  767. allStrings = false;
  768. break;
  769. }
  770. ++_i;
  771. }
  772. if (allStrings) {
  773. object = {};
  774. for (containsProto = false, protoValue = null, $length = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
  775. k = keys[_i];
  776. v = other.$index(0, k);
  777. if (!J.$eq$(k, "__proto__")) {
  778. if (!object.hasOwnProperty(k))
  779. ++$length;
  780. object[k] = v;
  781. } else {
  782. protoValue = v;
  783. containsProto = true;
  784. }
  785. }
  786. if (containsProto)
  787. return new H.ConstantProtoMap(protoValue, $length + 1, object, keys, [$K, $V]);
  788. return new H.ConstantStringMap($length, object, keys, [$K, $V]);
  789. }
  790. return new H.ConstantMapView(P.LinkedHashMap_LinkedHashMap$from(other, $K, $V), [$K, $V]);
  791. },
  792. ConstantMap__throwUnmodifiable: function() {
  793. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable Map"));
  794. },
  795. instantiate1: function(f, T1) {
  796. var t1 = new H.Instantiation1(f, [T1]);
  797. t1.Instantiation$1(f);
  798. return t1;
  799. },
  800. unminifyOrTag: function(rawClassName) {
  801. var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
  802. if (typeof preserved === "string")
  803. return preserved;
  804. return rawClassName;
  805. },
  806. getType: function(index) {
  807. return init.types[index];
  808. },
  809. isJsIndexable: function(object, record) {
  810. var result;
  811. if (record != null) {
  812. result = record.x;
  813. if (result != null)
  814. return result;
  815. }
  816. return !!J.getInterceptor$(object).$isJavaScriptIndexingBehavior;
  817. },
  818. S: function(value) {
  819. var res;
  820. if (typeof value === "string")
  821. return value;
  822. if (typeof value === "number") {
  823. if (value !== 0)
  824. return "" + value;
  825. } else if (true === value)
  826. return "true";
  827. else if (false === value)
  828. return "false";
  829. else if (value == null)
  830. return "null";
  831. res = J.toString$0$(value);
  832. if (typeof res !== "string")
  833. throw H.wrapException(H.argumentErrorValue(value));
  834. return res;
  835. },
  836. Primitives_objectHashCode: function(object) {
  837. var hash = object.$identityHash;
  838. if (hash == null) {
  839. hash = Math.random() * 0x3fffffff | 0;
  840. object.$identityHash = hash;
  841. }
  842. return hash;
  843. },
  844. Primitives_parseInt: function(source, radix) {
  845. var match, decimalMatch, maxCharCode, digitsPart, t1, i;
  846. if (typeof source !== "string")
  847. H.throwExpression(H.argumentErrorValue(source));
  848. match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source);
  849. if (match == null)
  850. return;
  851. decimalMatch = match[3];
  852. if (radix == null) {
  853. if (decimalMatch != null)
  854. return parseInt(source, 10);
  855. if (match[2] != null)
  856. return parseInt(source, 16);
  857. return;
  858. }
  859. if (radix < 2 || radix > 36)
  860. throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
  861. if (radix === 10 && decimalMatch != null)
  862. return parseInt(source, 10);
  863. if (radix < 10 || decimalMatch == null) {
  864. maxCharCode = radix <= 10 ? 47 + radix : 86 + radix;
  865. digitsPart = match[1];
  866. for (t1 = digitsPart.length, i = 0; i < t1; ++i)
  867. if ((C.JSString_methods._codeUnitAt$1(digitsPart, i) | 32) > maxCharCode)
  868. return;
  869. }
  870. return parseInt(source, radix);
  871. },
  872. Primitives_parseDouble: function(source) {
  873. var result, trimmed;
  874. if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source))
  875. return;
  876. result = parseFloat(source);
  877. if (isNaN(result)) {
  878. trimmed = C.JSString_methods.trim$0(source);
  879. if (trimmed === "NaN" || trimmed === "+NaN" || trimmed === "-NaN")
  880. return result;
  881. return;
  882. }
  883. return result;
  884. },
  885. Primitives_objectTypeName: function(object) {
  886. return H.Primitives__objectClassName(object) + H._joinArguments(H.getRuntimeTypeInfo(object), 0, null);
  887. },
  888. Primitives__objectClassName: function(object) {
  889. var interceptorConstructorName, $name, t1, dispatchName, objectConstructor, match, decompiledName,
  890. interceptor = J.getInterceptor$(object),
  891. interceptorConstructor = interceptor.constructor;
  892. if (typeof interceptorConstructor == "function") {
  893. interceptorConstructorName = interceptorConstructor.name;
  894. $name = typeof interceptorConstructorName === "string" ? interceptorConstructorName : null;
  895. } else
  896. $name = null;
  897. t1 = $name == null;
  898. if (t1 || interceptor === C.Interceptor_methods || !!interceptor.$isUnknownJavaScriptObject) {
  899. dispatchName = C.C_JS_CONST(object);
  900. if (t1)
  901. $name = dispatchName;
  902. if (dispatchName === "Object") {
  903. objectConstructor = object.constructor;
  904. if (typeof objectConstructor == "function") {
  905. match = String(objectConstructor).match(/^\s*function\s*([\w$]*)\s*\(/);
  906. decompiledName = match == null ? null : match[1];
  907. if (typeof decompiledName === "string" && /^\w+$/.test(decompiledName))
  908. $name = decompiledName;
  909. }
  910. }
  911. return $name;
  912. }
  913. $name = $name;
  914. return H.unminifyOrTag($name.length > 1 && C.JSString_methods._codeUnitAt$1($name, 0) === 36 ? C.JSString_methods.substring$1($name, 1) : $name);
  915. },
  916. Primitives_currentUri: function() {
  917. if (!!self.location)
  918. return self.location.href;
  919. return;
  920. },
  921. Primitives__fromCharCodeApply: function(array) {
  922. var result, i, i0, chunkEnd,
  923. end = J.get$length$asx(array);
  924. if (end <= 500)
  925. return String.fromCharCode.apply(null, array);
  926. for (result = "", i = 0; i < end; i = i0) {
  927. i0 = i + 500;
  928. chunkEnd = i0 < end ? i0 : end;
  929. result += String.fromCharCode.apply(null, array.slice(i, chunkEnd));
  930. }
  931. return result;
  932. },
  933. Primitives_stringFromCodePoints: function(codePoints) {
  934. var t1, i,
  935. a = H.setRuntimeTypeInfo([], [P.int]);
  936. for (t1 = J.get$iterator$ax(codePoints); t1.moveNext$0();) {
  937. i = t1.get$current(t1);
  938. if (typeof i !== "number" || Math.floor(i) !== i)
  939. throw H.wrapException(H.argumentErrorValue(i));
  940. if (i <= 65535)
  941. a.push(i);
  942. else if (i <= 1114111) {
  943. a.push(55296 + (C.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023));
  944. a.push(56320 + (i & 1023));
  945. } else
  946. throw H.wrapException(H.argumentErrorValue(i));
  947. }
  948. return H.Primitives__fromCharCodeApply(a);
  949. },
  950. Primitives_stringFromCharCodes: function(charCodes) {
  951. var t1, i;
  952. for (t1 = J.get$iterator$ax(charCodes); t1.moveNext$0();) {
  953. i = t1.get$current(t1);
  954. if (typeof i !== "number" || Math.floor(i) !== i)
  955. throw H.wrapException(H.argumentErrorValue(i));
  956. if (i < 0)
  957. throw H.wrapException(H.argumentErrorValue(i));
  958. if (i > 65535)
  959. return H.Primitives_stringFromCodePoints(charCodes);
  960. }
  961. return H.Primitives__fromCharCodeApply(charCodes);
  962. },
  963. Primitives_stringFromNativeUint8List: function(charCodes, start, end) {
  964. var i, result, i0, chunkEnd;
  965. if (end <= 500 && start === 0 && end === charCodes.length)
  966. return String.fromCharCode.apply(null, charCodes);
  967. for (i = start, result = ""; i < end; i = i0) {
  968. i0 = i + 500;
  969. chunkEnd = i0 < end ? i0 : end;
  970. result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd));
  971. }
  972. return result;
  973. },
  974. Primitives_stringFromCharCode: function(charCode) {
  975. var bits;
  976. if (0 <= charCode) {
  977. if (charCode <= 65535)
  978. return String.fromCharCode(charCode);
  979. if (charCode <= 1114111) {
  980. bits = charCode - 65536;
  981. return String.fromCharCode((55296 | C.JSInt_methods._shrOtherPositive$1(bits, 10)) >>> 0, 56320 | bits & 1023);
  982. }
  983. }
  984. throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null));
  985. },
  986. Primitives_lazyAsJsDate: function(receiver) {
  987. if (receiver.date === void 0)
  988. receiver.date = new Date(receiver._value);
  989. return receiver.date;
  990. },
  991. Primitives_getYear: function(receiver) {
  992. var t1 = H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0;
  993. return t1;
  994. },
  995. Primitives_getMonth: function(receiver) {
  996. var t1 = H.Primitives_lazyAsJsDate(receiver).getMonth() + 1;
  997. return t1;
  998. },
  999. Primitives_getDay: function(receiver) {
  1000. var t1 = H.Primitives_lazyAsJsDate(receiver).getDate() + 0;
  1001. return t1;
  1002. },
  1003. Primitives_getHours: function(receiver) {
  1004. var t1 = H.Primitives_lazyAsJsDate(receiver).getHours() + 0;
  1005. return t1;
  1006. },
  1007. Primitives_getMinutes: function(receiver) {
  1008. var t1 = H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0;
  1009. return t1;
  1010. },
  1011. Primitives_getSeconds: function(receiver) {
  1012. var t1 = H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0;
  1013. return t1;
  1014. },
  1015. Primitives_getMilliseconds: function(receiver) {
  1016. var t1 = H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0;
  1017. return t1;
  1018. },
  1019. Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) {
  1020. var $arguments, namedArgumentList, t1 = {};
  1021. t1.argumentCount = 0;
  1022. $arguments = [];
  1023. namedArgumentList = [];
  1024. t1.argumentCount = positionalArguments.length;
  1025. C.JSArray_methods.addAll$1($arguments, positionalArguments);
  1026. t1.names = "";
  1027. if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments))
  1028. namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments));
  1029. "" + t1.argumentCount;
  1030. return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0));
  1031. },
  1032. Primitives_applyFunction: function($function, positionalArguments, namedArguments) {
  1033. var t1, $arguments, argumentCount, jsStub;
  1034. if (positionalArguments instanceof Array)
  1035. t1 = namedArguments == null || namedArguments.get$isEmpty(namedArguments);
  1036. else
  1037. t1 = false;
  1038. if (t1) {
  1039. $arguments = positionalArguments;
  1040. argumentCount = $arguments.length;
  1041. if (argumentCount === 0) {
  1042. if (!!$function.call$0)
  1043. return $function.call$0();
  1044. } else if (argumentCount === 1) {
  1045. if (!!$function.call$1)
  1046. return $function.call$1($arguments[0]);
  1047. } else if (argumentCount === 2) {
  1048. if (!!$function.call$2)
  1049. return $function.call$2($arguments[0], $arguments[1]);
  1050. } else if (argumentCount === 3) {
  1051. if (!!$function.call$3)
  1052. return $function.call$3($arguments[0], $arguments[1], $arguments[2]);
  1053. } else if (argumentCount === 4) {
  1054. if (!!$function.call$4)
  1055. return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
  1056. } else if (argumentCount === 5)
  1057. if (!!$function.call$5)
  1058. return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]);
  1059. jsStub = $function["call" + "$" + argumentCount];
  1060. if (jsStub != null)
  1061. return jsStub.apply($function, $arguments);
  1062. }
  1063. return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments);
  1064. },
  1065. Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) {
  1066. var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, used, t2;
  1067. if (positionalArguments != null)
  1068. $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, null);
  1069. else
  1070. $arguments = [];
  1071. argumentCount = $arguments.length;
  1072. requiredParameterCount = $function.$requiredArgCount;
  1073. if (argumentCount < requiredParameterCount)
  1074. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1075. defaultValuesClosure = $function.$defaultValues;
  1076. t1 = defaultValuesClosure == null;
  1077. defaultValues = !t1 ? defaultValuesClosure() : null;
  1078. interceptor = J.getInterceptor$($function);
  1079. jsFunction = interceptor["call*"];
  1080. if (typeof jsFunction === "string")
  1081. jsFunction = interceptor[jsFunction];
  1082. if (t1) {
  1083. if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
  1084. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1085. if (argumentCount === requiredParameterCount)
  1086. return jsFunction.apply($function, $arguments);
  1087. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1088. }
  1089. if (defaultValues instanceof Array) {
  1090. if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
  1091. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1092. if (argumentCount > requiredParameterCount + defaultValues.length)
  1093. return H.Primitives_functionNoSuchMethod($function, $arguments, null);
  1094. C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount));
  1095. return jsFunction.apply($function, $arguments);
  1096. } else {
  1097. if (argumentCount > requiredParameterCount)
  1098. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1099. keys = Object.keys(defaultValues);
  1100. if (namedArguments == null)
  1101. for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i)
  1102. C.JSArray_methods.add$1($arguments, defaultValues[keys[_i]]);
  1103. else {
  1104. for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
  1105. t2 = keys[_i];
  1106. if (namedArguments.containsKey$1(t2)) {
  1107. ++used;
  1108. C.JSArray_methods.add$1($arguments, namedArguments.$index(0, t2));
  1109. } else
  1110. C.JSArray_methods.add$1($arguments, defaultValues[t2]);
  1111. }
  1112. if (used !== namedArguments.get$length(namedArguments))
  1113. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1114. }
  1115. return jsFunction.apply($function, $arguments);
  1116. }
  1117. },
  1118. diagnoseIndexError: function(indexable, index) {
  1119. var $length, _s5_ = "index";
  1120. if (typeof index !== "number" || Math.floor(index) !== index)
  1121. return new P.ArgumentError(true, index, _s5_, null);
  1122. $length = J.get$length$asx(indexable);
  1123. if (index < 0 || index >= $length)
  1124. return P.IndexError$(index, indexable, _s5_, null, $length);
  1125. return P.RangeError$value(index, _s5_, null);
  1126. },
  1127. diagnoseRangeError: function(start, end, $length) {
  1128. var _s13_ = "Invalid value";
  1129. if (typeof start !== "number" || Math.floor(start) !== start)
  1130. return new P.ArgumentError(true, start, "start", null);
  1131. if (start < 0 || start > $length)
  1132. return new P.RangeError(0, $length, true, start, "start", _s13_);
  1133. if (end != null)
  1134. if (end < start || end > $length)
  1135. return new P.RangeError(start, $length, true, end, "end", _s13_);
  1136. return new P.ArgumentError(true, end, "end", null);
  1137. },
  1138. argumentErrorValue: function(object) {
  1139. return new P.ArgumentError(true, object, null, null);
  1140. },
  1141. checkNum: function(value) {
  1142. if (typeof value !== "number")
  1143. throw H.wrapException(H.argumentErrorValue(value));
  1144. return value;
  1145. },
  1146. wrapException: function(ex) {
  1147. var wrapper;
  1148. if (ex == null)
  1149. ex = new P.NullThrownError();
  1150. wrapper = new Error();
  1151. wrapper.dartException = ex;
  1152. if ("defineProperty" in Object) {
  1153. Object.defineProperty(wrapper, "message", {get: H.toStringWrapper});
  1154. wrapper.name = "";
  1155. } else
  1156. wrapper.toString = H.toStringWrapper;
  1157. return wrapper;
  1158. },
  1159. toStringWrapper: function() {
  1160. return J.toString$0$(this.dartException);
  1161. },
  1162. throwExpression: function(ex) {
  1163. throw H.wrapException(ex);
  1164. },
  1165. throwConcurrentModificationError: function(collection) {
  1166. throw H.wrapException(P.ConcurrentModificationError$(collection));
  1167. },
  1168. TypeErrorDecoder_extractPattern: function(message) {
  1169. var match, $arguments, argumentsExpr, expr, method, receiver;
  1170. message = H.quoteStringForRegExp(message.replace(String({}), '$receiver$'));
  1171. match = message.match(/\\\$[a-zA-Z]+\\\$/g);
  1172. if (match == null)
  1173. match = H.setRuntimeTypeInfo([], [P.String]);
  1174. $arguments = match.indexOf("\\$arguments\\$");
  1175. argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
  1176. expr = match.indexOf("\\$expr\\$");
  1177. method = match.indexOf("\\$method\\$");
  1178. receiver = match.indexOf("\\$receiver\\$");
  1179. return new H.TypeErrorDecoder(message.replace(new RegExp('\\\\\\$arguments\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$argumentsExpr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$expr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$method\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$receiver\\\\\\$', 'g'), '((?:x|[^x])*)'), $arguments, argumentsExpr, expr, method, receiver);
  1180. },
  1181. TypeErrorDecoder_provokeCallErrorOn: function(expression) {
  1182. return function($expr$) {
  1183. var $argumentsExpr$ = '$arguments$';
  1184. try {
  1185. $expr$.$method$($argumentsExpr$);
  1186. } catch (e) {
  1187. return e.message;
  1188. }
  1189. }(expression);
  1190. },
  1191. TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
  1192. return function($expr$) {
  1193. try {
  1194. $expr$.$method$;
  1195. } catch (e) {
  1196. return e.message;
  1197. }
  1198. }(expression);
  1199. },
  1200. NullError$: function(_message, match) {
  1201. return new H.NullError(_message, match == null ? null : match.method);
  1202. },
  1203. JsNoSuchMethodError$: function(_message, match) {
  1204. var t1 = match == null,
  1205. t2 = t1 ? null : match.method;
  1206. return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);
  1207. },
  1208. unwrapException: function(ex) {
  1209. var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t2, _null = null,
  1210. t1 = new H.unwrapException_saveStackTrace(ex);
  1211. if (ex == null)
  1212. return;
  1213. if (ex instanceof H.ExceptionAndStackTrace)
  1214. return t1.call$1(ex.dartException);
  1215. if (typeof ex !== "object")
  1216. return ex;
  1217. if ("dartException" in ex)
  1218. return t1.call$1(ex.dartException);
  1219. else if (!("message" in ex))
  1220. return ex;
  1221. message = ex.message;
  1222. if ("number" in ex && typeof ex.number == "number") {
  1223. number = ex.number;
  1224. ieErrorCode = number & 65535;
  1225. if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)
  1226. switch (ieErrorCode) {
  1227. case 438:
  1228. return t1.call$1(H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
  1229. case 445:
  1230. case 5007:
  1231. return t1.call$1(H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
  1232. }
  1233. }
  1234. if (ex instanceof TypeError) {
  1235. nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();
  1236. notClosure = $.$get$TypeErrorDecoder_notClosurePattern();
  1237. nullCall = $.$get$TypeErrorDecoder_nullCallPattern();
  1238. nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();
  1239. undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();
  1240. undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();
  1241. nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();
  1242. $.$get$TypeErrorDecoder_nullLiteralPropertyPattern();
  1243. undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();
  1244. undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
  1245. match = nsme.matchTypeError$1(message);
  1246. if (match != null)
  1247. return t1.call$1(H.JsNoSuchMethodError$(message, match));
  1248. else {
  1249. match = notClosure.matchTypeError$1(message);
  1250. if (match != null) {
  1251. match.method = "call";
  1252. return t1.call$1(H.JsNoSuchMethodError$(message, match));
  1253. } else {
  1254. match = nullCall.matchTypeError$1(message);
  1255. if (match == null) {
  1256. match = nullLiteralCall.matchTypeError$1(message);
  1257. if (match == null) {
  1258. match = undefCall.matchTypeError$1(message);
  1259. if (match == null) {
  1260. match = undefLiteralCall.matchTypeError$1(message);
  1261. if (match == null) {
  1262. match = nullProperty.matchTypeError$1(message);
  1263. if (match == null) {
  1264. match = nullLiteralCall.matchTypeError$1(message);
  1265. if (match == null) {
  1266. match = undefProperty.matchTypeError$1(message);
  1267. if (match == null) {
  1268. match = undefLiteralProperty.matchTypeError$1(message);
  1269. t2 = match != null;
  1270. } else
  1271. t2 = true;
  1272. } else
  1273. t2 = true;
  1274. } else
  1275. t2 = true;
  1276. } else
  1277. t2 = true;
  1278. } else
  1279. t2 = true;
  1280. } else
  1281. t2 = true;
  1282. } else
  1283. t2 = true;
  1284. if (t2)
  1285. return t1.call$1(H.NullError$(message, match));
  1286. }
  1287. }
  1288. return t1.call$1(new H.UnknownJsTypeError(typeof message === "string" ? message : ""));
  1289. }
  1290. if (ex instanceof RangeError) {
  1291. if (typeof message === "string" && message.indexOf("call stack") !== -1)
  1292. return new P.StackOverflowError();
  1293. message = function(ex) {
  1294. try {
  1295. return String(ex);
  1296. } catch (e) {
  1297. }
  1298. return null;
  1299. }(ex);
  1300. return t1.call$1(new P.ArgumentError(false, _null, _null, typeof message === "string" ? message.replace(/^RangeError:\s*/, "") : message));
  1301. }
  1302. if (typeof InternalError == "function" && ex instanceof InternalError)
  1303. if (typeof message === "string" && message === "too much recursion")
  1304. return new P.StackOverflowError();
  1305. return ex;
  1306. },
  1307. getTraceFromException: function(exception) {
  1308. var trace;
  1309. if (exception instanceof H.ExceptionAndStackTrace)
  1310. return exception.stackTrace;
  1311. if (exception == null)
  1312. return new H._StackTrace(exception);
  1313. trace = exception.$cachedTrace;
  1314. if (trace != null)
  1315. return trace;
  1316. return exception.$cachedTrace = new H._StackTrace(exception);
  1317. },
  1318. objectHashCode: function(object) {
  1319. if (object == null || typeof object != 'object')
  1320. return J.get$hashCode$(object);
  1321. else
  1322. return H.Primitives_objectHashCode(object);
  1323. },
  1324. fillLiteralMap: function(keyValuePairs, result) {
  1325. var index, index0, index1,
  1326. $length = keyValuePairs.length;
  1327. for (index = 0; index < $length; index = index1) {
  1328. index0 = index + 1;
  1329. index1 = index0 + 1;
  1330. result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]);
  1331. }
  1332. return result;
  1333. },
  1334. fillLiteralSet: function(values, result) {
  1335. var index,
  1336. $length = values.length;
  1337. for (index = 0; index < $length; ++index)
  1338. result.add$1(0, values[index]);
  1339. return result;
  1340. },
  1341. invokeClosure: function(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
  1342. switch (numberOfArguments) {
  1343. case 0:
  1344. return closure.call$0();
  1345. case 1:
  1346. return closure.call$1(arg1);
  1347. case 2:
  1348. return closure.call$2(arg1, arg2);
  1349. case 3:
  1350. return closure.call$3(arg1, arg2, arg3);
  1351. case 4:
  1352. return closure.call$4(arg1, arg2, arg3, arg4);
  1353. }
  1354. throw H.wrapException(new P._Exception("Unsupported number of arguments for wrapped closure"));
  1355. },
  1356. convertDartClosureToJS: function(closure, arity) {
  1357. var $function;
  1358. if (closure == null)
  1359. return;
  1360. $function = closure.$identity;
  1361. if (!!$function)
  1362. return $function;
  1363. $function = function(closure, arity, invoke) {
  1364. return function(a1, a2, a3, a4) {
  1365. return invoke(closure, arity, a1, a2, a3, a4);
  1366. };
  1367. }(closure, arity, H.invokeClosure);
  1368. closure.$identity = $function;
  1369. return $function;
  1370. },
  1371. Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) {
  1372. var $constructor, t1, trampoline, signatureFunction, applyTrampoline, i, stub, stubCallName, _null = null,
  1373. $function = functions[0],
  1374. callName = $function.$callName,
  1375. $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(_null, _null, _null, _null).constructor.prototype);
  1376. $prototype.$initialize = $prototype.constructor;
  1377. if (isStatic)
  1378. $constructor = function static_tear_off() {
  1379. this.$initialize();
  1380. };
  1381. else {
  1382. t1 = $.Closure_functionCounter;
  1383. $.Closure_functionCounter = t1 + 1;
  1384. t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")");
  1385. $constructor = t1;
  1386. }
  1387. $prototype.constructor = $constructor;
  1388. $constructor.prototype = $prototype;
  1389. if (!isStatic) {
  1390. trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted);
  1391. trampoline.$reflectionInfo = reflectionInfo;
  1392. } else {
  1393. $prototype.$static_name = propertyName;
  1394. trampoline = $function;
  1395. }
  1396. signatureFunction = H.Closure__computeSignatureFunctionLegacy(reflectionInfo, isStatic, isIntercepted);
  1397. $prototype.$signature = signatureFunction;
  1398. $prototype[callName] = trampoline;
  1399. for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) {
  1400. stub = functions[i];
  1401. stubCallName = stub.$callName;
  1402. if (stubCallName != null) {
  1403. stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted);
  1404. $prototype[stubCallName] = stub;
  1405. }
  1406. if (i === applyTrampolineIndex) {
  1407. stub.$reflectionInfo = reflectionInfo;
  1408. applyTrampoline = stub;
  1409. }
  1410. }
  1411. $prototype["call*"] = applyTrampoline;
  1412. $prototype.$requiredArgCount = $function.$requiredArgCount;
  1413. $prototype.$defaultValues = $function.$defaultValues;
  1414. return $constructor;
  1415. },
  1416. Closure__computeSignatureFunctionLegacy: function(functionType, isStatic, isIntercepted) {
  1417. var getReceiver;
  1418. if (typeof functionType == "number")
  1419. return function(getType, t) {
  1420. return function() {
  1421. return getType(t);
  1422. };
  1423. }(H.getType, functionType);
  1424. if (typeof functionType == "function")
  1425. if (isStatic)
  1426. return functionType;
  1427. else {
  1428. getReceiver = isIntercepted ? H.BoundClosure_receiverOf : H.BoundClosure_selfOf;
  1429. return function(f, r) {
  1430. return function() {
  1431. return f.apply({$receiver: r(this)}, arguments);
  1432. };
  1433. }(functionType, getReceiver);
  1434. }
  1435. throw H.wrapException("Error in functionType of tearoff");
  1436. },
  1437. Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) {
  1438. var getSelf = H.BoundClosure_selfOf;
  1439. switch (isSuperCall ? -1 : arity) {
  1440. case 0:
  1441. return function(n, S) {
  1442. return function() {
  1443. return S(this)[n]();
  1444. };
  1445. }(stubName, getSelf);
  1446. case 1:
  1447. return function(n, S) {
  1448. return function(a) {
  1449. return S(this)[n](a);
  1450. };
  1451. }(stubName, getSelf);
  1452. case 2:
  1453. return function(n, S) {
  1454. return function(a, b) {
  1455. return S(this)[n](a, b);
  1456. };
  1457. }(stubName, getSelf);
  1458. case 3:
  1459. return function(n, S) {
  1460. return function(a, b, c) {
  1461. return S(this)[n](a, b, c);
  1462. };
  1463. }(stubName, getSelf);
  1464. case 4:
  1465. return function(n, S) {
  1466. return function(a, b, c, d) {
  1467. return S(this)[n](a, b, c, d);
  1468. };
  1469. }(stubName, getSelf);
  1470. case 5:
  1471. return function(n, S) {
  1472. return function(a, b, c, d, e) {
  1473. return S(this)[n](a, b, c, d, e);
  1474. };
  1475. }(stubName, getSelf);
  1476. default:
  1477. return function(f, s) {
  1478. return function() {
  1479. return f.apply(s(this), arguments);
  1480. };
  1481. }($function, getSelf);
  1482. }
  1483. },
  1484. Closure_forwardCallTo: function(receiver, $function, isIntercepted) {
  1485. var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments;
  1486. if (isIntercepted)
  1487. return H.Closure_forwardInterceptedCallTo(receiver, $function);
  1488. stubName = $function.$stubName;
  1489. arity = $function.length;
  1490. lookedUpFunction = receiver[stubName];
  1491. t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
  1492. t2 = !t1 || arity >= 27;
  1493. if (t2)
  1494. return H.Closure_cspForwardCall(arity, !t1, stubName, $function);
  1495. if (arity === 0) {
  1496. t1 = $.Closure_functionCounter;
  1497. $.Closure_functionCounter = t1 + 1;
  1498. selfName = "self" + H.S(t1);
  1499. t1 = "return function(){var " + selfName + " = this.";
  1500. t2 = $.BoundClosure_selfFieldNameCache;
  1501. return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + ";return " + selfName + "." + H.S(stubName) + "();}")();
  1502. }
  1503. $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(",");
  1504. t1 = $.Closure_functionCounter;
  1505. $.Closure_functionCounter = t1 + 1;
  1506. $arguments += H.S(t1);
  1507. t1 = "return function(" + $arguments + "){return this.";
  1508. t2 = $.BoundClosure_selfFieldNameCache;
  1509. return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + "." + H.S(stubName) + "(" + $arguments + ");}")();
  1510. },
  1511. Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) {
  1512. var getSelf = H.BoundClosure_selfOf,
  1513. getReceiver = H.BoundClosure_receiverOf;
  1514. switch (isSuperCall ? -1 : arity) {
  1515. case 0:
  1516. throw H.wrapException(H.RuntimeError$("Intercepted function with no arguments."));
  1517. case 1:
  1518. return function(n, s, r) {
  1519. return function() {
  1520. return s(this)[n](r(this));
  1521. };
  1522. }($name, getSelf, getReceiver);
  1523. case 2:
  1524. return function(n, s, r) {
  1525. return function(a) {
  1526. return s(this)[n](r(this), a);
  1527. };
  1528. }($name, getSelf, getReceiver);
  1529. case 3:
  1530. return function(n, s, r) {
  1531. return function(a, b) {
  1532. return s(this)[n](r(this), a, b);
  1533. };
  1534. }($name, getSelf, getReceiver);
  1535. case 4:
  1536. return function(n, s, r) {
  1537. return function(a, b, c) {
  1538. return s(this)[n](r(this), a, b, c);
  1539. };
  1540. }($name, getSelf, getReceiver);
  1541. case 5:
  1542. return function(n, s, r) {
  1543. return function(a, b, c, d) {
  1544. return s(this)[n](r(this), a, b, c, d);
  1545. };
  1546. }($name, getSelf, getReceiver);
  1547. case 6:
  1548. return function(n, s, r) {
  1549. return function(a, b, c, d, e) {
  1550. return s(this)[n](r(this), a, b, c, d, e);
  1551. };
  1552. }($name, getSelf, getReceiver);
  1553. default:
  1554. return function(f, s, r, a) {
  1555. return function() {
  1556. a = [r(this)];
  1557. Array.prototype.push.apply(a, arguments);
  1558. return f.apply(s(this), a);
  1559. };
  1560. }($function, getSelf, getReceiver);
  1561. }
  1562. },
  1563. Closure_forwardInterceptedCallTo: function(receiver, $function) {
  1564. var t2, stubName, arity, lookedUpFunction, t3, t4, $arguments,
  1565. t1 = $.BoundClosure_selfFieldNameCache;
  1566. if (t1 == null)
  1567. t1 = $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self");
  1568. t2 = $.BoundClosure_receiverFieldNameCache;
  1569. if (t2 == null)
  1570. t2 = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver");
  1571. stubName = $function.$stubName;
  1572. arity = $function.length;
  1573. lookedUpFunction = receiver[stubName];
  1574. t3 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
  1575. t4 = !t3 || arity >= 28;
  1576. if (t4)
  1577. return H.Closure_cspForwardInterceptedCall(arity, !t3, stubName, $function);
  1578. if (arity === 1) {
  1579. t1 = "return function(){return this." + H.S(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ");";
  1580. t2 = $.Closure_functionCounter;
  1581. $.Closure_functionCounter = t2 + 1;
  1582. return new Function(t1 + H.S(t2) + "}")();
  1583. }
  1584. $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(",");
  1585. t1 = "return function(" + $arguments + "){return this." + H.S(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ", " + $arguments + ");";
  1586. t2 = $.Closure_functionCounter;
  1587. $.Closure_functionCounter = t2 + 1;
  1588. return new Function(t1 + H.S(t2) + "}")();
  1589. },
  1590. closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) {
  1591. return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name);
  1592. },
  1593. BoundClosure_selfOf: function(closure) {
  1594. return closure._self;
  1595. },
  1596. BoundClosure_receiverOf: function(closure) {
  1597. return closure._receiver;
  1598. },
  1599. BoundClosure_computeFieldNamed: function(fieldName) {
  1600. var t1, i, $name,
  1601. template = new H.BoundClosure("self", "target", "receiver", "name"),
  1602. names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template));
  1603. for (t1 = names.length, i = 0; i < t1; ++i) {
  1604. $name = names[i];
  1605. if (template[$name] === fieldName)
  1606. return $name;
  1607. }
  1608. },
  1609. stringTypeCast: function(value) {
  1610. if (typeof value === "string" || value == null)
  1611. return value;
  1612. throw H.wrapException(H.CastErrorImplementation$(value, "String"));
  1613. },
  1614. boolTypeCast: function(value) {
  1615. if (typeof value === "boolean" || value == null)
  1616. return value;
  1617. throw H.wrapException(H.CastErrorImplementation$(value, "bool"));
  1618. },
  1619. intTypeCast: function(value) {
  1620. if (typeof value === "number" && Math.floor(value) === value || value == null)
  1621. return value;
  1622. throw H.wrapException(H.CastErrorImplementation$(value, "int"));
  1623. },
  1624. propertyTypeCastError: function(value, property) {
  1625. throw H.wrapException(H.CastErrorImplementation$(value, H.unminifyOrTag(property.substring(3))));
  1626. },
  1627. interceptedTypeCast: function(value, property) {
  1628. var t1;
  1629. if (value != null)
  1630. t1 = (typeof value === "object" || typeof value === "function") && J.getInterceptor$(value)[property];
  1631. else
  1632. t1 = true;
  1633. if (t1)
  1634. return value;
  1635. H.propertyTypeCastError(value, property);
  1636. },
  1637. numberOrStringSuperNativeTypeCast: function(value, property) {
  1638. if (value == null)
  1639. return value;
  1640. if (typeof value === "string")
  1641. return value;
  1642. if (typeof value === "number")
  1643. return value;
  1644. if (J.getInterceptor$(value)[property])
  1645. return value;
  1646. H.propertyTypeCastError(value, property);
  1647. },
  1648. extractFunctionTypeObjectFromInternal: function(o) {
  1649. var signature;
  1650. if ("$signature" in o) {
  1651. signature = o.$signature;
  1652. if (typeof signature == "number")
  1653. return init.types[signature];
  1654. else
  1655. return o.$signature();
  1656. }
  1657. return;
  1658. },
  1659. functionTypeTest: function(value, functionTypeRti) {
  1660. var functionTypeObject;
  1661. if (typeof value == "function")
  1662. return true;
  1663. functionTypeObject = H.extractFunctionTypeObjectFromInternal(J.getInterceptor$(value));
  1664. if (functionTypeObject == null)
  1665. return false;
  1666. return H._isFunctionSubtype(functionTypeObject, null, functionTypeRti, null);
  1667. },
  1668. CastErrorImplementation$: function(value, type) {
  1669. return new H.CastErrorImplementation("CastError: " + P.Error_safeToString(value) + ": type '" + H.S(H._typeDescription(value)) + "' is not a subtype of type '" + type + "'");
  1670. },
  1671. _typeDescription: function(value) {
  1672. var functionTypeObject,
  1673. t1 = J.getInterceptor$(value);
  1674. if (!!t1.$isClosure) {
  1675. functionTypeObject = H.extractFunctionTypeObjectFromInternal(t1);
  1676. if (functionTypeObject != null)
  1677. return H.runtimeTypeToString(functionTypeObject);
  1678. return "Closure";
  1679. }
  1680. return H.Primitives_objectTypeName(value);
  1681. },
  1682. throwCyclicInit: function(staticName) {
  1683. throw H.wrapException(new P.CyclicInitializationError(staticName));
  1684. },
  1685. RuntimeError$: function(message) {
  1686. return new H.RuntimeError(message);
  1687. },
  1688. getIsolateAffinityTag: function($name) {
  1689. return init.getIsolateTag($name);
  1690. },
  1691. setRuntimeTypeInfo: function(target, rti) {
  1692. target.$ti = rti;
  1693. return target;
  1694. },
  1695. getRuntimeTypeInfo: function(target) {
  1696. if (target == null)
  1697. return;
  1698. return target.$ti;
  1699. },
  1700. getRuntimeTypeArguments: function(interceptor, object, substitutionName) {
  1701. return H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(object));
  1702. },
  1703. getRuntimeTypeArgumentIntercepted: function(interceptor, target, substitutionName, index) {
  1704. var $arguments = H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target));
  1705. return $arguments == null ? null : $arguments[index];
  1706. },
  1707. getRuntimeTypeArgument: function(target, substitutionName, index) {
  1708. var $arguments = H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target));
  1709. return $arguments == null ? null : $arguments[index];
  1710. },
  1711. getTypeArgumentByIndex: function(target, index) {
  1712. var rti = H.getRuntimeTypeInfo(target);
  1713. return rti == null ? null : rti[index];
  1714. },
  1715. runtimeTypeToString: function(rti) {
  1716. return H._runtimeTypeToString(rti, null);
  1717. },
  1718. _runtimeTypeToString: function(rti, genericContext) {
  1719. if (rti == null)
  1720. return "dynamic";
  1721. if (rti === -1)
  1722. return "void";
  1723. if (typeof rti === "object" && rti !== null && rti.constructor === Array)
  1724. return H.unminifyOrTag(rti[0].name) + H._joinArguments(rti, 1, genericContext);
  1725. if (typeof rti == "function")
  1726. return H.unminifyOrTag(rti.name);
  1727. if (rti === -2)
  1728. return "dynamic";
  1729. if (typeof rti === "number") {
  1730. if (genericContext == null || rti < 0 || rti >= genericContext.length)
  1731. return "unexpected-generic-index:" + H.S(rti);
  1732. return H.S(genericContext[genericContext.length - rti - 1]);
  1733. }
  1734. if ('func' in rti)
  1735. return H._functionRtiToString(rti, genericContext);
  1736. if ('futureOr' in rti)
  1737. return "FutureOr<" + H._runtimeTypeToString("type" in rti ? rti.type : null, genericContext) + ">";
  1738. return "unknown-reified-type";
  1739. },
  1740. _functionRtiToString: function(rti, genericContext) {
  1741. var boundsRti, outerContextLength, offset, i, i0, typeParameters, typeSep, boundRti, returnTypeText, $arguments, t1, argumentsText, sep, _i, argument, optionalArguments, namedArguments, t2, t3, _s2_ = ", ";
  1742. if ("bounds" in rti) {
  1743. boundsRti = rti.bounds;
  1744. if (genericContext == null) {
  1745. genericContext = H.setRuntimeTypeInfo([], [P.String]);
  1746. outerContextLength = null;
  1747. } else
  1748. outerContextLength = genericContext.length;
  1749. offset = genericContext.length;
  1750. for (i = boundsRti.length, i0 = i; i0 > 0; --i0)
  1751. genericContext.push("T" + (offset + i0));
  1752. for (typeParameters = "<", typeSep = "", i0 = 0; i0 < i; ++i0, typeSep = _s2_) {
  1753. typeParameters = C.JSString_methods.$add(typeParameters + typeSep, genericContext[genericContext.length - i0 - 1]);
  1754. boundRti = boundsRti[i0];
  1755. if (boundRti != null && boundRti !== P.Object)
  1756. typeParameters += " extends " + H._runtimeTypeToString(boundRti, genericContext);
  1757. }
  1758. typeParameters += ">";
  1759. } else {
  1760. typeParameters = "";
  1761. outerContextLength = null;
  1762. }
  1763. returnTypeText = !!rti.v ? "void" : H._runtimeTypeToString(rti.ret, genericContext);
  1764. if ("args" in rti) {
  1765. $arguments = rti.args;
  1766. for (t1 = $arguments.length, argumentsText = "", sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) {
  1767. argument = $arguments[_i];
  1768. argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext);
  1769. }
  1770. } else {
  1771. argumentsText = "";
  1772. sep = "";
  1773. }
  1774. if ("opt" in rti) {
  1775. optionalArguments = rti.opt;
  1776. argumentsText += sep + "[";
  1777. for (t1 = optionalArguments.length, sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) {
  1778. argument = optionalArguments[_i];
  1779. argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext);
  1780. }
  1781. argumentsText += "]";
  1782. }
  1783. if ("named" in rti) {
  1784. namedArguments = rti.named;
  1785. argumentsText += sep + "{";
  1786. for (t1 = H.extractKeys(namedArguments), t2 = t1.length, sep = "", _i = 0; _i < t2; ++_i, sep = _s2_) {
  1787. t3 = t1[_i];
  1788. argumentsText = argumentsText + sep + H._runtimeTypeToString(namedArguments[t3], genericContext) + (" " + H.S(t3));
  1789. }
  1790. argumentsText += "}";
  1791. }
  1792. if (outerContextLength != null)
  1793. genericContext.length = outerContextLength;
  1794. return typeParameters + "(" + argumentsText + ") => " + returnTypeText;
  1795. },
  1796. _joinArguments: function(types, startIndex, genericContext) {
  1797. var buffer, index, separator, allDynamic, t1, argument;
  1798. if (types == null)
  1799. return "";
  1800. buffer = new P.StringBuffer("");
  1801. for (index = startIndex, separator = "", allDynamic = true, t1 = ""; index < types.length; ++index, separator = ", ") {
  1802. buffer._contents = t1 + separator;
  1803. argument = types[index];
  1804. if (argument != null)
  1805. allDynamic = false;
  1806. t1 = buffer._contents += H._runtimeTypeToString(argument, genericContext);
  1807. }
  1808. return "<" + buffer.toString$0(0) + ">";
  1809. },
  1810. getRti: function(o) {
  1811. var functionRti, type, rti,
  1812. t1 = J.getInterceptor$(o);
  1813. if (!!t1.$isClosure) {
  1814. functionRti = H.extractFunctionTypeObjectFromInternal(t1);
  1815. if (functionRti != null)
  1816. return functionRti;
  1817. }
  1818. type = t1.constructor;
  1819. if (typeof o != "object")
  1820. return type;
  1821. rti = H.getRuntimeTypeInfo(o);
  1822. if (rti != null) {
  1823. rti = rti.slice();
  1824. rti.splice(0, 0, type);
  1825. type = rti;
  1826. }
  1827. return type;
  1828. },
  1829. getRuntimeType: function(object) {
  1830. return new H.TypeImpl(H.getRti(object));
  1831. },
  1832. substitute: function(substitution, $arguments) {
  1833. if (substitution == null)
  1834. return $arguments;
  1835. substitution = substitution.apply(null, $arguments);
  1836. if (substitution == null)
  1837. return;
  1838. if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
  1839. return substitution;
  1840. if (typeof substitution == "function")
  1841. return substitution.apply(null, $arguments);
  1842. return $arguments;
  1843. },
  1844. checkSubtype: function(object, isField, checks, asField) {
  1845. var $arguments, interceptor;
  1846. if (object == null)
  1847. return false;
  1848. $arguments = H.getRuntimeTypeInfo(object);
  1849. interceptor = J.getInterceptor$(object);
  1850. if (interceptor[isField] == null)
  1851. return false;
  1852. return H.areSubtypes(H.substitute(interceptor[asField], $arguments), null, checks, null);
  1853. },
  1854. subtypeCast: function(object, isField, checks, asField) {
  1855. if (object == null)
  1856. return object;
  1857. if (H.checkSubtype(object, isField, checks, asField))
  1858. return object;
  1859. throw H.wrapException(H.CastErrorImplementation$(object, function(str, names) {
  1860. return str.replace(/[^<,> ]+/g, function(m) {
  1861. return names[m] || m;
  1862. });
  1863. }(H.unminifyOrTag(isField.substring(3)) + H._joinArguments(checks, 0, null), init.mangledGlobalNames)));
  1864. },
  1865. areSubtypes: function(s, sEnv, t, tEnv) {
  1866. var len, i;
  1867. if (t == null)
  1868. return true;
  1869. if (s == null) {
  1870. len = t.length;
  1871. for (i = 0; i < len; ++i)
  1872. if (!H._isSubtype(null, null, t[i], tEnv))
  1873. return false;
  1874. return true;
  1875. }
  1876. len = s.length;
  1877. for (i = 0; i < len; ++i)
  1878. if (!H._isSubtype(s[i], sEnv, t[i], tEnv))
  1879. return false;
  1880. return true;
  1881. },
  1882. computeSignature: function(signature, context, contextName) {
  1883. return signature.apply(context, H.substitute(J.getInterceptor$(context)["$as" + H.S(contextName)], H.getRuntimeTypeInfo(context)));
  1884. },
  1885. isSupertypeOfNullRecursive: function(type) {
  1886. var typeArgument;
  1887. if (typeof type === "number")
  1888. return false;
  1889. if ('futureOr' in type) {
  1890. typeArgument = "type" in type ? type.type : null;
  1891. return type == null || type.name === "Object" || type.name === "Null" || type === -1 || type === -2 || H.isSupertypeOfNullRecursive(typeArgument);
  1892. }
  1893. return false;
  1894. },
  1895. checkSubtypeOfRuntimeType: function(o, t) {
  1896. var type, rti;
  1897. if (o == null)
  1898. return t == null || t.name === "Object" || t.name === "Null" || t === -1 || t === -2 || H.isSupertypeOfNullRecursive(t);
  1899. if (t == null || t === -1 || t.name === "Object" || t === -2)
  1900. return true;
  1901. if (typeof t == "object") {
  1902. if ('futureOr' in t)
  1903. if (H.checkSubtypeOfRuntimeType(o, "type" in t ? t.type : null))
  1904. return true;
  1905. if ('func' in t)
  1906. return H.functionTypeTest(o, t);
  1907. }
  1908. type = J.getInterceptor$(o).constructor;
  1909. rti = H.getRuntimeTypeInfo(o);
  1910. if (rti != null) {
  1911. rti = rti.slice();
  1912. rti.splice(0, 0, type);
  1913. type = rti;
  1914. }
  1915. return H._isSubtype(type, null, t, null);
  1916. },
  1917. subtypeOfRuntimeTypeCast: function(object, type) {
  1918. if (object != null && !H.checkSubtypeOfRuntimeType(object, type))
  1919. throw H.wrapException(H.CastErrorImplementation$(object, H.runtimeTypeToString(type)));
  1920. return object;
  1921. },
  1922. _isSubtype: function(s, sEnv, t, tEnv) {
  1923. var t1, typeOfS, tTypeArgument, futureSubstitution, futureArguments, t2, typeOfT, typeOfTString, substitution, _null = null;
  1924. if (s === t)
  1925. return true;
  1926. if (t == null || t === -1 || t.name === "Object" || t === -2)
  1927. return true;
  1928. if (s === -2)
  1929. return true;
  1930. if (s == null || s === -1 || s.name === "Object" || s === -2) {
  1931. if (typeof t === "number")
  1932. return false;
  1933. if ('futureOr' in t)
  1934. return H._isSubtype(s, sEnv, "type" in t ? t.type : _null, tEnv);
  1935. return false;
  1936. }
  1937. if (typeof s === "number")
  1938. return H._isSubtype(sEnv[s], sEnv, t, tEnv);
  1939. if (typeof t === "number")
  1940. return false;
  1941. if (s.name === "Null")
  1942. return true;
  1943. t1 = typeof s === "object" && s !== null && s.constructor === Array;
  1944. typeOfS = t1 ? s[0] : s;
  1945. if ('futureOr' in t) {
  1946. tTypeArgument = "type" in t ? t.type : _null;
  1947. if ('futureOr' in s)
  1948. return H._isSubtype("type" in s ? s.type : _null, sEnv, tTypeArgument, tEnv);
  1949. else if (H._isSubtype(s, sEnv, tTypeArgument, tEnv))
  1950. return true;
  1951. else {
  1952. if (!('$is' + "Future" in typeOfS.prototype))
  1953. return false;
  1954. futureSubstitution = typeOfS.prototype["$as" + "Future"];
  1955. futureArguments = H.substitute(futureSubstitution, t1 ? s.slice(1) : _null);
  1956. return H._isSubtype(typeof futureArguments === "object" && futureArguments !== null && futureArguments.constructor === Array ? futureArguments[0] : _null, sEnv, tTypeArgument, tEnv);
  1957. }
  1958. }
  1959. if ('func' in t)
  1960. return H._isFunctionSubtype(s, sEnv, t, tEnv);
  1961. if ('func' in s)
  1962. return t.name === "Function";
  1963. t2 = typeof t === "object" && t !== null && t.constructor === Array;
  1964. typeOfT = t2 ? t[0] : t;
  1965. if (typeOfT !== typeOfS) {
  1966. typeOfTString = typeOfT.name;
  1967. if (!('$is' + typeOfTString in typeOfS.prototype))
  1968. return false;
  1969. substitution = typeOfS.prototype["$as" + typeOfTString];
  1970. } else
  1971. substitution = _null;
  1972. if (!t2)
  1973. return true;
  1974. t1 = t1 ? s.slice(1) : _null;
  1975. t2 = t.slice(1);
  1976. return H.areSubtypes(H.substitute(substitution, t1), sEnv, t2, tEnv);
  1977. },
  1978. _isFunctionSubtype: function(s, sEnv, t, tEnv) {
  1979. var sBounds, tBounds, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, tPos, sPos, sNamedParameters, tNamedParameters;
  1980. if (!('func' in s))
  1981. return false;
  1982. if ("bounds" in s) {
  1983. if (!("bounds" in t))
  1984. return false;
  1985. sBounds = s.bounds;
  1986. tBounds = t.bounds;
  1987. if (sBounds.length !== tBounds.length)
  1988. return false;
  1989. sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);
  1990. tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);
  1991. } else if ("bounds" in t)
  1992. return false;
  1993. if (!H._isSubtype(s.ret, sEnv, t.ret, tEnv))
  1994. return false;
  1995. sParameterTypes = s.args;
  1996. tParameterTypes = t.args;
  1997. sOptionalParameterTypes = s.opt;
  1998. tOptionalParameterTypes = t.opt;
  1999. sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0;
  2000. tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0;
  2001. sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParameterTypes.length : 0;
  2002. tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParameterTypes.length : 0;
  2003. if (sParametersLen > tParametersLen)
  2004. return false;
  2005. if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalParametersLen)
  2006. return false;
  2007. for (pos = 0; pos < sParametersLen; ++pos)
  2008. if (!H._isSubtype(tParameterTypes[pos], tEnv, sParameterTypes[pos], sEnv))
  2009. return false;
  2010. for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos)
  2011. if (!H._isSubtype(tParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv))
  2012. return false;
  2013. for (tPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos)
  2014. if (!H._isSubtype(tOptionalParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv))
  2015. return false;
  2016. sNamedParameters = s.named;
  2017. tNamedParameters = t.named;
  2018. if (tNamedParameters == null)
  2019. return true;
  2020. if (sNamedParameters == null)
  2021. return false;
  2022. return H.namedParametersSubtypeCheck(sNamedParameters, sEnv, tNamedParameters, tEnv);
  2023. },
  2024. namedParametersSubtypeCheck: function(s, sEnv, t, tEnv) {
  2025. var t1, i, $name,
  2026. names = Object.getOwnPropertyNames(t);
  2027. for (t1 = names.length, i = 0; i < t1; ++i) {
  2028. $name = names[i];
  2029. if (!Object.hasOwnProperty.call(s, $name))
  2030. return false;
  2031. if (!H._isSubtype(t[$name], tEnv, s[$name], sEnv))
  2032. return false;
  2033. }
  2034. return true;
  2035. },
  2036. instantiatedGenericFunctionType: function(genericFunctionRti, parameters) {
  2037. if (genericFunctionRti == null)
  2038. return;
  2039. return H.finishBindInstantiatedFunctionType(genericFunctionRti, {func: 1}, parameters, 0);
  2040. },
  2041. finishBindInstantiatedFunctionType: function(rti, result, parameters, depth) {
  2042. var namedParameters, boundNamed, names, t1, _i, $name;
  2043. if ("v" in rti)
  2044. result.v = rti.v;
  2045. else if ("ret" in rti)
  2046. result.ret = H.bindInstantiatedType(rti.ret, parameters, depth);
  2047. if ("args" in rti)
  2048. result.args = H.bindInstantiatedTypes(rti.args, parameters, depth);
  2049. if ("opt" in rti)
  2050. result.opt = H.bindInstantiatedTypes(rti.opt, parameters, depth);
  2051. if ("named" in rti) {
  2052. namedParameters = rti.named;
  2053. boundNamed = {};
  2054. names = Object.keys(namedParameters);
  2055. for (t1 = names.length, _i = 0; _i < t1; ++_i) {
  2056. $name = names[_i];
  2057. boundNamed[$name] = H.bindInstantiatedType(namedParameters[$name], parameters, depth);
  2058. }
  2059. result.named = boundNamed;
  2060. }
  2061. return result;
  2062. },
  2063. bindInstantiatedType: function(rti, parameters, depth) {
  2064. var result, bounds;
  2065. if (rti == null)
  2066. return rti;
  2067. if (rti === -1)
  2068. return rti;
  2069. if (typeof rti == "function")
  2070. return rti;
  2071. if (typeof rti === "number") {
  2072. if (rti < depth)
  2073. return rti;
  2074. return parameters[rti - depth];
  2075. }
  2076. if (typeof rti === "object" && rti !== null && rti.constructor === Array)
  2077. return H.bindInstantiatedTypes(rti, parameters, depth);
  2078. if ('func' in rti) {
  2079. result = {func: 1};
  2080. if ("bounds" in rti) {
  2081. bounds = rti.bounds;
  2082. depth += bounds.length;
  2083. result.bounds = H.bindInstantiatedTypes(bounds, parameters, depth);
  2084. }
  2085. return H.finishBindInstantiatedFunctionType(rti, result, parameters, depth);
  2086. }
  2087. throw H.wrapException(P.ArgumentError$("Unknown RTI format in bindInstantiatedType."));
  2088. },
  2089. bindInstantiatedTypes: function(rti, parameters, depth) {
  2090. var t1, i,
  2091. array = rti.slice();
  2092. for (t1 = array.length, i = 0; i < t1; ++i)
  2093. array[i] = H.bindInstantiatedType(array[i], parameters, depth);
  2094. return array;
  2095. },
  2096. defineProperty: function(obj, property, value) {
  2097. Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
  2098. },
  2099. lookupAndCacheInterceptor: function(obj) {
  2100. var interceptor, interceptorClass, mark, t1,
  2101. tag = $.getTagFunction.call$1(obj),
  2102. record = $.dispatchRecordsForInstanceTags[tag];
  2103. if (record != null) {
  2104. Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2105. return record.i;
  2106. }
  2107. interceptor = $.interceptorsForUncacheableTags[tag];
  2108. if (interceptor != null)
  2109. return interceptor;
  2110. interceptorClass = init.interceptorsByTag[tag];
  2111. if (interceptorClass == null) {
  2112. tag = $.alternateTagFunction.call$2(obj, tag);
  2113. if (tag != null) {
  2114. record = $.dispatchRecordsForInstanceTags[tag];
  2115. if (record != null) {
  2116. Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2117. return record.i;
  2118. }
  2119. interceptor = $.interceptorsForUncacheableTags[tag];
  2120. if (interceptor != null)
  2121. return interceptor;
  2122. interceptorClass = init.interceptorsByTag[tag];
  2123. }
  2124. }
  2125. if (interceptorClass == null)
  2126. return;
  2127. interceptor = interceptorClass.prototype;
  2128. mark = tag[0];
  2129. if (mark === "!") {
  2130. record = H.makeLeafDispatchRecord(interceptor);
  2131. $.dispatchRecordsForInstanceTags[tag] = record;
  2132. Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2133. return record.i;
  2134. }
  2135. if (mark === "~") {
  2136. $.interceptorsForUncacheableTags[tag] = interceptor;
  2137. return interceptor;
  2138. }
  2139. if (mark === "-") {
  2140. t1 = H.makeLeafDispatchRecord(interceptor);
  2141. Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
  2142. return t1.i;
  2143. }
  2144. if (mark === "+")
  2145. return H.patchInteriorProto(obj, interceptor);
  2146. if (mark === "*")
  2147. throw H.wrapException(P.UnimplementedError$(tag));
  2148. if (init.leafTags[tag] === true) {
  2149. t1 = H.makeLeafDispatchRecord(interceptor);
  2150. Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
  2151. return t1.i;
  2152. } else
  2153. return H.patchInteriorProto(obj, interceptor);
  2154. },
  2155. patchInteriorProto: function(obj, interceptor) {
  2156. var proto = Object.getPrototypeOf(obj);
  2157. Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true});
  2158. return interceptor;
  2159. },
  2160. makeLeafDispatchRecord: function(interceptor) {
  2161. return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
  2162. },
  2163. makeDefaultDispatchRecord: function(tag, interceptorClass, proto) {
  2164. var interceptor = interceptorClass.prototype;
  2165. if (init.leafTags[tag] === true)
  2166. return H.makeLeafDispatchRecord(interceptor);
  2167. else
  2168. return J.makeDispatchRecord(interceptor, proto, null, null);
  2169. },
  2170. initNativeDispatch: function() {
  2171. if (true === $.initNativeDispatchFlag)
  2172. return;
  2173. $.initNativeDispatchFlag = true;
  2174. H.initNativeDispatchContinue();
  2175. },
  2176. initNativeDispatchContinue: function() {
  2177. var map, tags, fun, i, tag, proto, record, interceptorClass;
  2178. $.dispatchRecordsForInstanceTags = Object.create(null);
  2179. $.interceptorsForUncacheableTags = Object.create(null);
  2180. H.initHooks();
  2181. map = init.interceptorsByTag;
  2182. tags = Object.getOwnPropertyNames(map);
  2183. if (typeof window != "undefined") {
  2184. window;
  2185. fun = function() {
  2186. };
  2187. for (i = 0; i < tags.length; ++i) {
  2188. tag = tags[i];
  2189. proto = $.prototypeForTagFunction.call$1(tag);
  2190. if (proto != null) {
  2191. record = H.makeDefaultDispatchRecord(tag, map[tag], proto);
  2192. if (record != null) {
  2193. Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2194. fun.prototype = proto;
  2195. }
  2196. }
  2197. }
  2198. }
  2199. for (i = 0; i < tags.length; ++i) {
  2200. tag = tags[i];
  2201. if (/^[A-Za-z_]/.test(tag)) {
  2202. interceptorClass = map[tag];
  2203. map["!" + tag] = interceptorClass;
  2204. map["~" + tag] = interceptorClass;
  2205. map["-" + tag] = interceptorClass;
  2206. map["+" + tag] = interceptorClass;
  2207. map["*" + tag] = interceptorClass;
  2208. }
  2209. }
  2210. },
  2211. initHooks: function() {
  2212. var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag,
  2213. hooks = C.C_JS_CONST0();
  2214. hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks)))))));
  2215. if (typeof dartNativeDispatchHooksTransformer != "undefined") {
  2216. transformers = dartNativeDispatchHooksTransformer;
  2217. if (typeof transformers == "function")
  2218. transformers = [transformers];
  2219. if (transformers.constructor == Array)
  2220. for (i = 0; i < transformers.length; ++i) {
  2221. transformer = transformers[i];
  2222. if (typeof transformer == "function")
  2223. hooks = transformer(hooks) || hooks;
  2224. }
  2225. }
  2226. getTag = hooks.getTag;
  2227. getUnknownTag = hooks.getUnknownTag;
  2228. prototypeForTag = hooks.prototypeForTag;
  2229. $.getTagFunction = new H.initHooks_closure(getTag);
  2230. $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag);
  2231. $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag);
  2232. },
  2233. applyHooksTransformer: function(transformer, hooks) {
  2234. return transformer(hooks) || hooks;
  2235. },
  2236. JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensitive, unicode, dotAll, global) {
  2237. var m = multiLine ? "m" : "",
  2238. i = caseSensitive ? "" : "i",
  2239. u = unicode ? "u" : "",
  2240. s = dotAll ? "s" : "",
  2241. g = global ? "g" : "",
  2242. regexp = function(source, modifiers) {
  2243. try {
  2244. return new RegExp(source, modifiers);
  2245. } catch (e) {
  2246. return e;
  2247. }
  2248. }(source, m + i + u + s + g);
  2249. if (regexp instanceof RegExp)
  2250. return regexp;
  2251. throw H.wrapException(P.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null));
  2252. },
  2253. stringContainsUnchecked: function(receiver, other, startIndex) {
  2254. var t1, t2;
  2255. if (typeof other === "string")
  2256. return receiver.indexOf(other, startIndex) >= 0;
  2257. else {
  2258. t1 = J.getInterceptor$(other);
  2259. if (!!t1.$isJSSyntaxRegExp) {
  2260. t1 = C.JSString_methods.substring$1(receiver, startIndex);
  2261. t2 = other._nativeRegExp;
  2262. return t2.test(t1);
  2263. } else {
  2264. t1 = t1.allMatches$1(other, C.JSString_methods.substring$1(receiver, startIndex));
  2265. return !t1.get$isEmpty(t1);
  2266. }
  2267. }
  2268. },
  2269. escapeReplacement: function(replacement) {
  2270. if (replacement.indexOf("$", 0) >= 0)
  2271. return replacement.replace(/\$/g, "$$$$");
  2272. return replacement;
  2273. },
  2274. stringReplaceFirstRE: function(receiver, regexp, replacement, startIndex) {
  2275. var match = regexp._execGlobal$2(receiver, startIndex);
  2276. if (match == null)
  2277. return receiver;
  2278. return H.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(match), replacement);
  2279. },
  2280. quoteStringForRegExp: function(string) {
  2281. if (/[[\]{}()*+?.\\^$|]/.test(string))
  2282. return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
  2283. return string;
  2284. },
  2285. stringReplaceAllUnchecked: function(receiver, pattern, replacement) {
  2286. var nativeRegexp;
  2287. if (typeof pattern === "string")
  2288. return H.stringReplaceAllUncheckedString(receiver, pattern, replacement);
  2289. if (pattern instanceof H.JSSyntaxRegExp) {
  2290. nativeRegexp = pattern.get$_nativeGlobalVersion();
  2291. nativeRegexp.lastIndex = 0;
  2292. return receiver.replace(nativeRegexp, H.escapeReplacement(replacement));
  2293. }
  2294. if (pattern == null)
  2295. H.throwExpression(H.argumentErrorValue(pattern));
  2296. throw H.wrapException("String.replaceAll(Pattern) UNIMPLEMENTED");
  2297. },
  2298. stringReplaceAllUncheckedString: function(receiver, pattern, replacement) {
  2299. var $length, t1, i, index;
  2300. if (pattern === "") {
  2301. if (receiver === "")
  2302. return replacement;
  2303. $length = receiver.length;
  2304. for (t1 = replacement, i = 0; i < $length; ++i)
  2305. t1 = t1 + receiver[i] + replacement;
  2306. return t1.charCodeAt(0) == 0 ? t1 : t1;
  2307. }
  2308. index = receiver.indexOf(pattern, 0);
  2309. if (index < 0)
  2310. return receiver;
  2311. if (receiver.length < 500 || replacement.indexOf("$", 0) >= 0)
  2312. return receiver.split(pattern).join(replacement);
  2313. return receiver.replace(new RegExp(H.quoteStringForRegExp(pattern), 'g'), H.escapeReplacement(replacement));
  2314. },
  2315. stringReplaceFirstUnchecked: function(receiver, pattern, replacement, startIndex) {
  2316. var index, t1, matches, match;
  2317. if (typeof pattern === "string") {
  2318. index = receiver.indexOf(pattern, startIndex);
  2319. if (index < 0)
  2320. return receiver;
  2321. return H.stringReplaceRangeUnchecked(receiver, index, index + pattern.length, replacement);
  2322. }
  2323. t1 = J.getInterceptor$(pattern);
  2324. if (!!t1.$isJSSyntaxRegExp)
  2325. return startIndex === 0 ? receiver.replace(pattern._nativeRegExp, H.escapeReplacement(replacement)) : H.stringReplaceFirstRE(receiver, pattern, replacement, startIndex);
  2326. if (pattern == null)
  2327. H.throwExpression(H.argumentErrorValue(pattern));
  2328. t1 = t1.allMatches$2(pattern, receiver, startIndex);
  2329. matches = t1.get$iterator(t1);
  2330. if (!matches.moveNext$0())
  2331. return receiver;
  2332. match = matches.get$current(matches);
  2333. return C.JSString_methods.replaceRange$3(receiver, match.get$start(match), match.get$end(match), replacement);
  2334. },
  2335. stringReplaceRangeUnchecked: function(receiver, start, end, replacement) {
  2336. var prefix = receiver.substring(0, start),
  2337. suffix = receiver.substring(end);
  2338. return prefix + H.S(replacement) + suffix;
  2339. },
  2340. ConstantMapView: function ConstantMapView(t0, t1) {
  2341. this._collection$_map = t0;
  2342. this.$ti = t1;
  2343. },
  2344. ConstantMap: function ConstantMap() {
  2345. },
  2346. ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) {
  2347. var _ = this;
  2348. _.__js_helper$_length = t0;
  2349. _._jsObject = t1;
  2350. _._keys = t2;
  2351. _.$ti = t3;
  2352. },
  2353. ConstantStringMap_values_closure: function ConstantStringMap_values_closure(t0) {
  2354. this.$this = t0;
  2355. },
  2356. ConstantProtoMap: function ConstantProtoMap(t0, t1, t2, t3, t4) {
  2357. var _ = this;
  2358. _._protoValue = t0;
  2359. _.__js_helper$_length = t1;
  2360. _._jsObject = t2;
  2361. _._keys = t3;
  2362. _.$ti = t4;
  2363. },
  2364. _ConstantMapKeyIterable: function _ConstantMapKeyIterable(t0, t1) {
  2365. this._map = t0;
  2366. this.$ti = t1;
  2367. },
  2368. Instantiation: function Instantiation() {
  2369. },
  2370. Instantiation1: function Instantiation1(t0, t1) {
  2371. this._genericClosure = t0;
  2372. this.$ti = t1;
  2373. },
  2374. JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) {
  2375. var _ = this;
  2376. _.__js_helper$_memberName = t0;
  2377. _._kind = t1;
  2378. _._arguments = t2;
  2379. _._namedArgumentNames = t3;
  2380. _._typeArgumentCount = t4;
  2381. },
  2382. Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) {
  2383. this._box_0 = t0;
  2384. this.namedArgumentList = t1;
  2385. this.$arguments = t2;
  2386. },
  2387. TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) {
  2388. var _ = this;
  2389. _._pattern = t0;
  2390. _._arguments = t1;
  2391. _._argumentsExpr = t2;
  2392. _._expr = t3;
  2393. _._method = t4;
  2394. _._receiver = t5;
  2395. },
  2396. NullError: function NullError(t0, t1) {
  2397. this._message = t0;
  2398. this._method = t1;
  2399. },
  2400. JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) {
  2401. this._message = t0;
  2402. this._method = t1;
  2403. this._receiver = t2;
  2404. },
  2405. UnknownJsTypeError: function UnknownJsTypeError(t0) {
  2406. this._message = t0;
  2407. },
  2408. ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) {
  2409. this.dartException = t0;
  2410. this.stackTrace = t1;
  2411. },
  2412. unwrapException_saveStackTrace: function unwrapException_saveStackTrace(t0) {
  2413. this.ex = t0;
  2414. },
  2415. _StackTrace: function _StackTrace(t0) {
  2416. this._exception = t0;
  2417. this._trace = null;
  2418. },
  2419. Closure: function Closure() {
  2420. },
  2421. TearOffClosure: function TearOffClosure() {
  2422. },
  2423. StaticClosure: function StaticClosure() {
  2424. },
  2425. BoundClosure: function BoundClosure(t0, t1, t2, t3) {
  2426. var _ = this;
  2427. _._self = t0;
  2428. _._target = t1;
  2429. _._receiver = t2;
  2430. _.__js_helper$_name = t3;
  2431. },
  2432. CastErrorImplementation: function CastErrorImplementation(t0) {
  2433. this.message = t0;
  2434. },
  2435. RuntimeError: function RuntimeError(t0) {
  2436. this.message = t0;
  2437. },
  2438. TypeImpl: function TypeImpl(t0) {
  2439. this._rti = t0;
  2440. this._hashCode = this.__typeName = null;
  2441. },
  2442. JsLinkedHashMap: function JsLinkedHashMap(t0) {
  2443. var _ = this;
  2444. _.__js_helper$_length = 0;
  2445. _._last = _._first = _._rest = _._nums = _._strings = null;
  2446. _._modifications = 0;
  2447. _.$ti = t0;
  2448. },
  2449. JsLinkedHashMap_values_closure: function JsLinkedHashMap_values_closure(t0) {
  2450. this.$this = t0;
  2451. },
  2452. JsLinkedHashMap_addAll_closure: function JsLinkedHashMap_addAll_closure(t0) {
  2453. this.$this = t0;
  2454. },
  2455. LinkedHashMapCell: function LinkedHashMapCell(t0, t1) {
  2456. var _ = this;
  2457. _.hashMapCellKey = t0;
  2458. _.hashMapCellValue = t1;
  2459. _._previous = _._next = null;
  2460. },
  2461. LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) {
  2462. this._map = t0;
  2463. this.$ti = t1;
  2464. },
  2465. LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1) {
  2466. var _ = this;
  2467. _._map = t0;
  2468. _._modifications = t1;
  2469. _.__js_helper$_current = _._cell = null;
  2470. },
  2471. initHooks_closure: function initHooks_closure(t0) {
  2472. this.getTag = t0;
  2473. },
  2474. initHooks_closure0: function initHooks_closure0(t0) {
  2475. this.getUnknownTag = t0;
  2476. },
  2477. initHooks_closure1: function initHooks_closure1(t0) {
  2478. this.prototypeForTag = t0;
  2479. },
  2480. JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) {
  2481. var _ = this;
  2482. _.pattern = t0;
  2483. _._nativeRegExp = t1;
  2484. _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null;
  2485. },
  2486. _MatchImplementation: function _MatchImplementation(t0) {
  2487. this._match = t0;
  2488. },
  2489. _AllMatchesIterable: function _AllMatchesIterable(t0, t1, t2) {
  2490. this._re = t0;
  2491. this._string = t1;
  2492. this.__js_helper$_start = t2;
  2493. },
  2494. _AllMatchesIterator: function _AllMatchesIterator(t0, t1, t2) {
  2495. var _ = this;
  2496. _._regExp = t0;
  2497. _._string = t1;
  2498. _._nextIndex = t2;
  2499. _.__js_helper$_current = null;
  2500. },
  2501. StringMatch: function StringMatch(t0, t1) {
  2502. this.start = t0;
  2503. this.pattern = t1;
  2504. },
  2505. _StringAllMatchesIterable: function _StringAllMatchesIterable(t0, t1, t2) {
  2506. this._input = t0;
  2507. this._pattern = t1;
  2508. this.__js_helper$_index = t2;
  2509. },
  2510. _StringAllMatchesIterator: function _StringAllMatchesIterator(t0, t1, t2) {
  2511. var _ = this;
  2512. _._input = t0;
  2513. _._pattern = t1;
  2514. _.__js_helper$_index = t2;
  2515. _.__js_helper$_current = null;
  2516. },
  2517. _ensureNativeList: function(list) {
  2518. return list;
  2519. },
  2520. NativeInt8List__create1: function(arg) {
  2521. return new Int8Array(arg);
  2522. },
  2523. NativeUint8List_NativeUint8List$view: function(buffer, offsetInBytes, $length) {
  2524. var t1 = new Uint8Array(buffer, offsetInBytes, $length);
  2525. return t1;
  2526. },
  2527. _checkValidIndex: function(index, list, $length) {
  2528. if (index >>> 0 !== index || index >= $length)
  2529. throw H.wrapException(H.diagnoseIndexError(list, index));
  2530. },
  2531. _checkValidRange: function(start, end, $length) {
  2532. var t1;
  2533. if (!(start >>> 0 !== start))
  2534. if (end == null)
  2535. t1 = start > $length;
  2536. else
  2537. t1 = end >>> 0 !== end || start > end || end > $length;
  2538. else
  2539. t1 = true;
  2540. if (t1)
  2541. throw H.wrapException(H.diagnoseRangeError(start, end, $length));
  2542. if (end == null)
  2543. return $length;
  2544. return end;
  2545. },
  2546. NativeTypedData: function NativeTypedData() {
  2547. },
  2548. NativeTypedArray: function NativeTypedArray() {
  2549. },
  2550. NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() {
  2551. },
  2552. NativeTypedArrayOfInt: function NativeTypedArrayOfInt() {
  2553. },
  2554. NativeFloat32List: function NativeFloat32List() {
  2555. },
  2556. NativeFloat64List: function NativeFloat64List() {
  2557. },
  2558. NativeInt16List: function NativeInt16List() {
  2559. },
  2560. NativeInt32List: function NativeInt32List() {
  2561. },
  2562. NativeInt8List: function NativeInt8List() {
  2563. },
  2564. NativeUint16List: function NativeUint16List() {
  2565. },
  2566. NativeUint32List: function NativeUint32List() {
  2567. },
  2568. NativeUint8ClampedList: function NativeUint8ClampedList() {
  2569. },
  2570. NativeUint8List: function NativeUint8List() {
  2571. },
  2572. _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() {
  2573. },
  2574. _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() {
  2575. },
  2576. _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() {
  2577. },
  2578. _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() {
  2579. },
  2580. extractKeys: function(victim) {
  2581. return J.JSArray_JSArray$markFixed(victim ? Object.keys(victim) : [], null);
  2582. },
  2583. unmangleGlobalNameIfPreservedAnyways: function($name) {
  2584. return init.mangledGlobalNames[$name];
  2585. },
  2586. printString: function(string) {
  2587. if (typeof dartPrint == "function") {
  2588. dartPrint(string);
  2589. return;
  2590. }
  2591. if (typeof console == "object" && typeof console.log != "undefined") {
  2592. console.log(string);
  2593. return;
  2594. }
  2595. if (typeof window == "object")
  2596. return;
  2597. if (typeof print == "function") {
  2598. print(string);
  2599. return;
  2600. }
  2601. throw "Unable to print message: " + String(string);
  2602. }
  2603. },
  2604. J = {
  2605. makeDispatchRecord: function(interceptor, proto, extension, indexability) {
  2606. return {i: interceptor, p: proto, e: extension, x: indexability};
  2607. },
  2608. getNativeInterceptor: function(object) {
  2609. var proto, objectProto, $constructor, interceptor,
  2610. record = object[init.dispatchPropertyName];
  2611. if (record == null)
  2612. if ($.initNativeDispatchFlag == null) {
  2613. H.initNativeDispatch();
  2614. record = object[init.dispatchPropertyName];
  2615. }
  2616. if (record != null) {
  2617. proto = record.p;
  2618. if (false === proto)
  2619. return record.i;
  2620. if (true === proto)
  2621. return object;
  2622. objectProto = Object.getPrototypeOf(object);
  2623. if (proto === objectProto)
  2624. return record.i;
  2625. if (record.e === objectProto)
  2626. throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record))));
  2627. }
  2628. $constructor = object.constructor;
  2629. interceptor = $constructor == null ? null : $constructor[$.$get$JS_INTEROP_INTERCEPTOR_TAG()];
  2630. if (interceptor != null)
  2631. return interceptor;
  2632. interceptor = H.lookupAndCacheInterceptor(object);
  2633. if (interceptor != null)
  2634. return interceptor;
  2635. if (typeof object == "function")
  2636. return C.JavaScriptFunction_methods;
  2637. proto = Object.getPrototypeOf(object);
  2638. if (proto == null)
  2639. return C.PlainJavaScriptObject_methods;
  2640. if (proto === Object.prototype)
  2641. return C.PlainJavaScriptObject_methods;
  2642. if (typeof $constructor == "function") {
  2643. Object.defineProperty($constructor, $.$get$JS_INTEROP_INTERCEPTOR_TAG(), {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true});
  2644. return C.UnknownJavaScriptObject_methods;
  2645. }
  2646. return C.UnknownJavaScriptObject_methods;
  2647. },
  2648. JSArray_JSArray$fixed: function($length, $E) {
  2649. if (typeof $length !== "number" || Math.floor($length) !== $length)
  2650. throw H.wrapException(P.ArgumentError$value($length, "length", "is not an integer"));
  2651. if ($length < 0 || $length > 4294967295)
  2652. throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null));
  2653. return J.JSArray_JSArray$markFixed(new Array($length), $E);
  2654. },
  2655. JSArray_JSArray$markFixed: function(allocation, $E) {
  2656. return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, [$E]));
  2657. },
  2658. JSArray_markFixedList: function(list) {
  2659. list.fixed$length = Array;
  2660. return list;
  2661. },
  2662. JSArray_markUnmodifiableList: function(list) {
  2663. list.fixed$length = Array;
  2664. list.immutable$list = Array;
  2665. return list;
  2666. },
  2667. JSArray__compareAny: function(a, b) {
  2668. return J.compareTo$1$ns(a, b);
  2669. },
  2670. JSString__isWhitespace: function(codeUnit) {
  2671. if (codeUnit < 256)
  2672. switch (codeUnit) {
  2673. case 9:
  2674. case 10:
  2675. case 11:
  2676. case 12:
  2677. case 13:
  2678. case 32:
  2679. case 133:
  2680. case 160:
  2681. return true;
  2682. default:
  2683. return false;
  2684. }
  2685. switch (codeUnit) {
  2686. case 5760:
  2687. case 8192:
  2688. case 8193:
  2689. case 8194:
  2690. case 8195:
  2691. case 8196:
  2692. case 8197:
  2693. case 8198:
  2694. case 8199:
  2695. case 8200:
  2696. case 8201:
  2697. case 8202:
  2698. case 8232:
  2699. case 8233:
  2700. case 8239:
  2701. case 8287:
  2702. case 12288:
  2703. case 65279:
  2704. return true;
  2705. default:
  2706. return false;
  2707. }
  2708. },
  2709. JSString__skipLeadingWhitespace: function(string, index) {
  2710. var t1, codeUnit;
  2711. for (t1 = string.length; index < t1;) {
  2712. codeUnit = C.JSString_methods._codeUnitAt$1(string, index);
  2713. if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
  2714. break;
  2715. ++index;
  2716. }
  2717. return index;
  2718. },
  2719. JSString__skipTrailingWhitespace: function(string, index) {
  2720. var index0, codeUnit;
  2721. for (; index > 0; index = index0) {
  2722. index0 = index - 1;
  2723. codeUnit = C.JSString_methods.codeUnitAt$1(string, index0);
  2724. if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
  2725. break;
  2726. }
  2727. return index;
  2728. },
  2729. getInterceptor$: function(receiver) {
  2730. if (typeof receiver == "number") {
  2731. if (Math.floor(receiver) == receiver)
  2732. return J.JSInt.prototype;
  2733. return J.JSDouble.prototype;
  2734. }
  2735. if (typeof receiver == "string")
  2736. return J.JSString.prototype;
  2737. if (receiver == null)
  2738. return J.JSNull.prototype;
  2739. if (typeof receiver == "boolean")
  2740. return J.JSBool.prototype;
  2741. if (receiver.constructor == Array)
  2742. return J.JSArray.prototype;
  2743. if (typeof receiver != "object") {
  2744. if (typeof receiver == "function")
  2745. return J.JavaScriptFunction.prototype;
  2746. return receiver;
  2747. }
  2748. if (receiver instanceof P.Object)
  2749. return receiver;
  2750. return J.getNativeInterceptor(receiver);
  2751. },
  2752. getInterceptor$ansx: function(receiver) {
  2753. if (typeof receiver == "number")
  2754. return J.JSNumber.prototype;
  2755. if (typeof receiver == "string")
  2756. return J.JSString.prototype;
  2757. if (receiver == null)
  2758. return receiver;
  2759. if (receiver.constructor == Array)
  2760. return J.JSArray.prototype;
  2761. if (typeof receiver != "object") {
  2762. if (typeof receiver == "function")
  2763. return J.JavaScriptFunction.prototype;
  2764. return receiver;
  2765. }
  2766. if (receiver instanceof P.Object)
  2767. return receiver;
  2768. return J.getNativeInterceptor(receiver);
  2769. },
  2770. getInterceptor$asx: function(receiver) {
  2771. if (typeof receiver == "string")
  2772. return J.JSString.prototype;
  2773. if (receiver == null)
  2774. return receiver;
  2775. if (receiver.constructor == Array)
  2776. return J.JSArray.prototype;
  2777. if (typeof receiver != "object") {
  2778. if (typeof receiver == "function")
  2779. return J.JavaScriptFunction.prototype;
  2780. return receiver;
  2781. }
  2782. if (receiver instanceof P.Object)
  2783. return receiver;
  2784. return J.getNativeInterceptor(receiver);
  2785. },
  2786. getInterceptor$ax: function(receiver) {
  2787. if (receiver == null)
  2788. return receiver;
  2789. if (receiver.constructor == Array)
  2790. return J.JSArray.prototype;
  2791. if (typeof receiver != "object") {
  2792. if (typeof receiver == "function")
  2793. return J.JavaScriptFunction.prototype;
  2794. return receiver;
  2795. }
  2796. if (receiver instanceof P.Object)
  2797. return receiver;
  2798. return J.getNativeInterceptor(receiver);
  2799. },
  2800. getInterceptor$n: function(receiver) {
  2801. if (typeof receiver == "number")
  2802. return J.JSNumber.prototype;
  2803. if (receiver == null)
  2804. return receiver;
  2805. if (!(receiver instanceof P.Object))
  2806. return J.UnknownJavaScriptObject.prototype;
  2807. return receiver;
  2808. },
  2809. getInterceptor$ns: function(receiver) {
  2810. if (typeof receiver == "number")
  2811. return J.JSNumber.prototype;
  2812. if (typeof receiver == "string")
  2813. return J.JSString.prototype;
  2814. if (receiver == null)
  2815. return receiver;
  2816. if (!(receiver instanceof P.Object))
  2817. return J.UnknownJavaScriptObject.prototype;
  2818. return receiver;
  2819. },
  2820. getInterceptor$s: function(receiver) {
  2821. if (typeof receiver == "string")
  2822. return J.JSString.prototype;
  2823. if (receiver == null)
  2824. return receiver;
  2825. if (!(receiver instanceof P.Object))
  2826. return J.UnknownJavaScriptObject.prototype;
  2827. return receiver;
  2828. },
  2829. getInterceptor$x: function(receiver) {
  2830. if (receiver == null)
  2831. return receiver;
  2832. if (typeof receiver != "object") {
  2833. if (typeof receiver == "function")
  2834. return J.JavaScriptFunction.prototype;
  2835. return receiver;
  2836. }
  2837. if (receiver instanceof P.Object)
  2838. return receiver;
  2839. return J.getNativeInterceptor(receiver);
  2840. },
  2841. set$context$x: function(receiver, value) {
  2842. return J.getInterceptor$x(receiver).set$context(receiver, value);
  2843. },
  2844. set$dartValue$x: function(receiver, value) {
  2845. return J.getInterceptor$x(receiver).set$dartValue(receiver, value);
  2846. },
  2847. set$info$x: function(receiver, value) {
  2848. return J.getInterceptor$x(receiver).set$info(receiver, value);
  2849. },
  2850. set$length$asx: function(receiver, value) {
  2851. return J.getInterceptor$asx(receiver).set$length(receiver, value);
  2852. },
  2853. set$render$x: function(receiver, value) {
  2854. return J.getInterceptor$x(receiver).set$render(receiver, value);
  2855. },
  2856. set$renderSync$x: function(receiver, value) {
  2857. return J.getInterceptor$x(receiver).set$renderSync(receiver, value);
  2858. },
  2859. set$run_$x: function(receiver, value) {
  2860. return J.getInterceptor$x(receiver).set$run_(receiver, value);
  2861. },
  2862. set$types$x: function(receiver, value) {
  2863. return J.getInterceptor$x(receiver).set$types(receiver, value);
  2864. },
  2865. get$code$x: function(receiver) {
  2866. return J.getInterceptor$x(receiver).get$code(receiver);
  2867. },
  2868. get$current$x: function(receiver) {
  2869. return J.getInterceptor$x(receiver).get$current(receiver);
  2870. },
  2871. get$dartValue$x: function(receiver) {
  2872. return J.getInterceptor$x(receiver).get$dartValue(receiver);
  2873. },
  2874. get$end$x: function(receiver) {
  2875. return J.getInterceptor$x(receiver).get$end(receiver);
  2876. },
  2877. get$env$x: function(receiver) {
  2878. return J.getInterceptor$x(receiver).get$env(receiver);
  2879. },
  2880. get$fiber$x: function(receiver) {
  2881. return J.getInterceptor$x(receiver).get$fiber(receiver);
  2882. },
  2883. get$file$x: function(receiver) {
  2884. return J.getInterceptor$x(receiver).get$file(receiver);
  2885. },
  2886. get$first$ax: function(receiver) {
  2887. return J.getInterceptor$ax(receiver).get$first(receiver);
  2888. },
  2889. get$hashCode$: function(receiver) {
  2890. return J.getInterceptor$(receiver).get$hashCode(receiver);
  2891. },
  2892. get$isEmpty$asx: function(receiver) {
  2893. return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
  2894. },
  2895. get$isNotEmpty$asx: function(receiver) {
  2896. return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
  2897. },
  2898. get$isTTY$x: function(receiver) {
  2899. return J.getInterceptor$x(receiver).get$isTTY(receiver);
  2900. },
  2901. get$iterator$ax: function(receiver) {
  2902. return J.getInterceptor$ax(receiver).get$iterator(receiver);
  2903. },
  2904. get$last$ax: function(receiver) {
  2905. return J.getInterceptor$ax(receiver).get$last(receiver);
  2906. },
  2907. get$length$asx: function(receiver) {
  2908. return J.getInterceptor$asx(receiver).get$length(receiver);
  2909. },
  2910. get$message$x: function(receiver) {
  2911. return J.getInterceptor$x(receiver).get$message(receiver);
  2912. },
  2913. get$mtime$x: function(receiver) {
  2914. return J.getInterceptor$x(receiver).get$mtime(receiver);
  2915. },
  2916. get$options$x: function(receiver) {
  2917. return J.getInterceptor$x(receiver).get$options(receiver);
  2918. },
  2919. get$path$x: function(receiver) {
  2920. return J.getInterceptor$x(receiver).get$path(receiver);
  2921. },
  2922. get$platform$x: function(receiver) {
  2923. return J.getInterceptor$x(receiver).get$platform(receiver);
  2924. },
  2925. get$reversed$ax: function(receiver) {
  2926. return J.getInterceptor$ax(receiver).get$reversed(receiver);
  2927. },
  2928. get$single$ax: function(receiver) {
  2929. return J.getInterceptor$ax(receiver).get$single(receiver);
  2930. },
  2931. $add$ansx: function(receiver, a0) {
  2932. if (typeof receiver == "number" && typeof a0 == "number")
  2933. return receiver + a0;
  2934. return J.getInterceptor$ansx(receiver).$add(receiver, a0);
  2935. },
  2936. $eq$: function(receiver, a0) {
  2937. if (receiver == null)
  2938. return a0 == null;
  2939. if (typeof receiver != "object")
  2940. return a0 != null && receiver === a0;
  2941. return J.getInterceptor$(receiver).$eq(receiver, a0);
  2942. },
  2943. $index$asx: function(receiver, a0) {
  2944. if (typeof a0 === "number")
  2945. if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
  2946. if (a0 >>> 0 === a0 && a0 < receiver.length)
  2947. return receiver[a0];
  2948. return J.getInterceptor$asx(receiver).$index(receiver, a0);
  2949. },
  2950. $indexSet$ax: function(receiver, a0, a1) {
  2951. if (typeof a0 === "number")
  2952. if ((receiver.constructor == Array || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
  2953. return receiver[a0] = a1;
  2954. return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
  2955. },
  2956. _codeUnitAt$1$s: function(receiver, a0) {
  2957. return J.getInterceptor$s(receiver)._codeUnitAt$1(receiver, a0);
  2958. },
  2959. add$1$ax: function(receiver, a0) {
  2960. return J.getInterceptor$ax(receiver).add$1(receiver, a0);
  2961. },
  2962. any$1$ax: function(receiver, a0) {
  2963. return J.getInterceptor$ax(receiver).any$1(receiver, a0);
  2964. },
  2965. apply$2$x: function(receiver, a0, a1) {
  2966. return J.getInterceptor$x(receiver).apply$2(receiver, a0, a1);
  2967. },
  2968. cast$1$0$ax: function(receiver, $T1) {
  2969. return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
  2970. },
  2971. ceil$0$n: function(receiver) {
  2972. return J.getInterceptor$n(receiver).ceil$0(receiver);
  2973. },
  2974. clamp$2$n: function(receiver, a0, a1) {
  2975. return J.getInterceptor$n(receiver).clamp$2(receiver, a0, a1);
  2976. },
  2977. close$0$x: function(receiver) {
  2978. return J.getInterceptor$x(receiver).close$0(receiver);
  2979. },
  2980. codeUnitAt$1$s: function(receiver, a0) {
  2981. return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0);
  2982. },
  2983. compareTo$1$ns: function(receiver, a0) {
  2984. return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0);
  2985. },
  2986. contains$1$asx: function(receiver, a0) {
  2987. return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
  2988. },
  2989. createInterface$1$x: function(receiver, a0) {
  2990. return J.getInterceptor$x(receiver).createInterface$1(receiver, a0);
  2991. },
  2992. elementAt$1$ax: function(receiver, a0) {
  2993. return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
  2994. },
  2995. endsWith$1$s: function(receiver, a0) {
  2996. return J.getInterceptor$s(receiver).endsWith$1(receiver, a0);
  2997. },
  2998. every$1$ax: function(receiver, a0) {
  2999. return J.getInterceptor$ax(receiver).every$1(receiver, a0);
  3000. },
  3001. existsSync$1$x: function(receiver, a0) {
  3002. return J.getInterceptor$x(receiver).existsSync$1(receiver, a0);
  3003. },
  3004. expand$1$1$ax: function(receiver, a0, $T1) {
  3005. return J.getInterceptor$ax(receiver).expand$1$1(receiver, a0, $T1);
  3006. },
  3007. fillRange$3$ax: function(receiver, a0, a1, a2) {
  3008. return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2);
  3009. },
  3010. floor$0$n: function(receiver) {
  3011. return J.getInterceptor$n(receiver).floor$0(receiver);
  3012. },
  3013. fold$2$ax: function(receiver, a0, a1) {
  3014. return J.getInterceptor$ax(receiver).fold$2(receiver, a0, a1);
  3015. },
  3016. getTime$0$x: function(receiver) {
  3017. return J.getInterceptor$x(receiver).getTime$0(receiver);
  3018. },
  3019. indexOf$1$asx: function(receiver, a0) {
  3020. return J.getInterceptor$asx(receiver).indexOf$1(receiver, a0);
  3021. },
  3022. isDirectory$0$x: function(receiver) {
  3023. return J.getInterceptor$x(receiver).isDirectory$0(receiver);
  3024. },
  3025. isFile$0$x: function(receiver) {
  3026. return J.getInterceptor$x(receiver).isFile$0(receiver);
  3027. },
  3028. join$0$ax: function(receiver) {
  3029. return J.getInterceptor$ax(receiver).join$0(receiver);
  3030. },
  3031. join$1$ax: function(receiver, a0) {
  3032. return J.getInterceptor$ax(receiver).join$1(receiver, a0);
  3033. },
  3034. map$1$ax: function(receiver, a0) {
  3035. return J.getInterceptor$ax(receiver).map$1(receiver, a0);
  3036. },
  3037. map$1$1$ax: function(receiver, a0, $T1) {
  3038. return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
  3039. },
  3040. matchAsPrefix$2$s: function(receiver, a0, a1) {
  3041. return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1);
  3042. },
  3043. mkdirSync$1$x: function(receiver, a0) {
  3044. return J.getInterceptor$x(receiver).mkdirSync$1(receiver, a0);
  3045. },
  3046. noSuchMethod$1$: function(receiver, a0) {
  3047. return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
  3048. },
  3049. on$2$x: function(receiver, a0, a1) {
  3050. return J.getInterceptor$x(receiver).on$2(receiver, a0, a1);
  3051. },
  3052. padRight$1$s: function(receiver, a0) {
  3053. return J.getInterceptor$s(receiver).padRight$1(receiver, a0);
  3054. },
  3055. readFileSync$2$x: function(receiver, a0, a1) {
  3056. return J.getInterceptor$x(receiver).readFileSync$2(receiver, a0, a1);
  3057. },
  3058. readdirSync$1$x: function(receiver, a0) {
  3059. return J.getInterceptor$x(receiver).readdirSync$1(receiver, a0);
  3060. },
  3061. remove$1$ax: function(receiver, a0) {
  3062. return J.getInterceptor$ax(receiver).remove$1(receiver, a0);
  3063. },
  3064. replaceRange$3$asx: function(receiver, a0, a1, a2) {
  3065. return J.getInterceptor$asx(receiver).replaceRange$3(receiver, a0, a1, a2);
  3066. },
  3067. round$0$n: function(receiver) {
  3068. return J.getInterceptor$n(receiver).round$0(receiver);
  3069. },
  3070. run$0$x: function(receiver) {
  3071. return J.getInterceptor$x(receiver).run$0(receiver);
  3072. },
  3073. run$1$x: function(receiver, a0) {
  3074. return J.getInterceptor$x(receiver).run$1(receiver, a0);
  3075. },
  3076. setPrompt$1$x: function(receiver, a0) {
  3077. return J.getInterceptor$x(receiver).setPrompt$1(receiver, a0);
  3078. },
  3079. setRange$4$ax: function(receiver, a0, a1, a2, a3) {
  3080. return J.getInterceptor$ax(receiver).setRange$4(receiver, a0, a1, a2, a3);
  3081. },
  3082. skip$1$ax: function(receiver, a0) {
  3083. return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
  3084. },
  3085. startsWith$1$s: function(receiver, a0) {
  3086. return J.getInterceptor$s(receiver).startsWith$1(receiver, a0);
  3087. },
  3088. startsWith$2$s: function(receiver, a0, a1) {
  3089. return J.getInterceptor$s(receiver).startsWith$2(receiver, a0, a1);
  3090. },
  3091. statSync$1$x: function(receiver, a0) {
  3092. return J.getInterceptor$x(receiver).statSync$1(receiver, a0);
  3093. },
  3094. substring$1$s: function(receiver, a0) {
  3095. return J.getInterceptor$s(receiver).substring$1(receiver, a0);
  3096. },
  3097. substring$2$s: function(receiver, a0, a1) {
  3098. return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1);
  3099. },
  3100. take$1$ax: function(receiver, a0) {
  3101. return J.getInterceptor$ax(receiver).take$1(receiver, a0);
  3102. },
  3103. toList$0$ax: function(receiver) {
  3104. return J.getInterceptor$ax(receiver).toList$0(receiver);
  3105. },
  3106. toRadixString$1$n: function(receiver, a0) {
  3107. return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0);
  3108. },
  3109. toSet$0$ax: function(receiver) {
  3110. return J.getInterceptor$ax(receiver).toSet$0(receiver);
  3111. },
  3112. toString$0$: function(receiver) {
  3113. return J.getInterceptor$(receiver).toString$0(receiver);
  3114. },
  3115. toString$1$color$: function(receiver, a0) {
  3116. return J.getInterceptor$(receiver).toString$1$color(receiver, a0);
  3117. },
  3118. trim$0$s: function(receiver) {
  3119. return J.getInterceptor$s(receiver).trim$0(receiver);
  3120. },
  3121. unlinkSync$1$x: function(receiver, a0) {
  3122. return J.getInterceptor$x(receiver).unlinkSync$1(receiver, a0);
  3123. },
  3124. watch$2$x: function(receiver, a0, a1) {
  3125. return J.getInterceptor$x(receiver).watch$2(receiver, a0, a1);
  3126. },
  3127. where$1$ax: function(receiver, a0) {
  3128. return J.getInterceptor$ax(receiver).where$1(receiver, a0);
  3129. },
  3130. write$1$x: function(receiver, a0) {
  3131. return J.getInterceptor$x(receiver).write$1(receiver, a0);
  3132. },
  3133. writeFileSync$2$x: function(receiver, a0, a1) {
  3134. return J.getInterceptor$x(receiver).writeFileSync$2(receiver, a0, a1);
  3135. },
  3136. yield$0$x: function(receiver) {
  3137. return J.getInterceptor$x(receiver).yield$0(receiver);
  3138. },
  3139. Interceptor: function Interceptor() {
  3140. },
  3141. JSBool: function JSBool() {
  3142. },
  3143. JSNull: function JSNull() {
  3144. },
  3145. JavaScriptObject: function JavaScriptObject() {
  3146. },
  3147. PlainJavaScriptObject: function PlainJavaScriptObject() {
  3148. },
  3149. UnknownJavaScriptObject: function UnknownJavaScriptObject() {
  3150. },
  3151. JavaScriptFunction: function JavaScriptFunction() {
  3152. },
  3153. JSArray: function JSArray(t0) {
  3154. this.$ti = t0;
  3155. },
  3156. JSUnmodifiableArray: function JSUnmodifiableArray(t0) {
  3157. this.$ti = t0;
  3158. },
  3159. ArrayIterator: function ArrayIterator(t0, t1) {
  3160. var _ = this;
  3161. _._iterable = t0;
  3162. _._length = t1;
  3163. _._index = 0;
  3164. _._current = null;
  3165. },
  3166. JSNumber: function JSNumber() {
  3167. },
  3168. JSInt: function JSInt() {
  3169. },
  3170. JSDouble: function JSDouble() {
  3171. },
  3172. JSString: function JSString() {
  3173. }
  3174. },
  3175. P = {
  3176. _AsyncRun__initializeScheduleImmediate: function() {
  3177. var div, span, t1 = {};
  3178. if (self.scheduleImmediate != null)
  3179. return P.async__AsyncRun__scheduleImmediateJsOverride$closure();
  3180. if (self.MutationObserver != null && self.document != null) {
  3181. div = self.document.createElement("div");
  3182. span = self.document.createElement("span");
  3183. t1.storedCallback = null;
  3184. new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true});
  3185. return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span);
  3186. } else if (self.setImmediate != null)
  3187. return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();
  3188. return P.async__AsyncRun__scheduleImmediateWithTimer$closure();
  3189. },
  3190. _AsyncRun__scheduleImmediateJsOverride: function(callback) {
  3191. self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(callback), 0));
  3192. },
  3193. _AsyncRun__scheduleImmediateWithSetImmediate: function(callback) {
  3194. self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(callback), 0));
  3195. },
  3196. _AsyncRun__scheduleImmediateWithTimer: function(callback) {
  3197. P.Timer__createTimer(C.Duration_0, callback);
  3198. },
  3199. Timer__createTimer: function(duration, callback) {
  3200. var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
  3201. return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
  3202. },
  3203. _TimerImpl$: function(milliseconds, callback) {
  3204. var t1 = new P._TimerImpl(true);
  3205. t1._TimerImpl$2(milliseconds, callback);
  3206. return t1;
  3207. },
  3208. _TimerImpl$periodic: function(milliseconds, callback) {
  3209. var t1 = new P._TimerImpl(false);
  3210. t1._TimerImpl$periodic$2(milliseconds, callback);
  3211. return t1;
  3212. },
  3213. _makeAsyncAwaitCompleter: function($T) {
  3214. return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, [$T]), [$T]);
  3215. },
  3216. _asyncStartSync: function(bodyFunction, completer) {
  3217. bodyFunction.call$2(0, null);
  3218. completer.isSync = true;
  3219. return completer._future;
  3220. },
  3221. _asyncAwait: function(object, bodyFunction) {
  3222. P._awaitOnObject(object, bodyFunction);
  3223. },
  3224. _asyncReturn: function(object, completer) {
  3225. completer.complete$1(object);
  3226. },
  3227. _asyncRethrow: function(object, completer) {
  3228. completer.completeError$2(H.unwrapException(object), H.getTraceFromException(object));
  3229. },
  3230. _awaitOnObject: function(object, bodyFunction) {
  3231. var future, _null = null,
  3232. thenCallback = new P._awaitOnObject_closure(bodyFunction),
  3233. errorCallback = new P._awaitOnObject_closure0(bodyFunction),
  3234. t1 = J.getInterceptor$(object);
  3235. if (!!t1.$is_Future)
  3236. object._thenAwait$1$2(thenCallback, errorCallback, _null);
  3237. else if (!!t1.$isFuture)
  3238. object.then$1$2$onError(thenCallback, errorCallback, _null);
  3239. else {
  3240. future = new P._Future($.Zone__current, [null]);
  3241. future._async$_state = 4;
  3242. future._resultOrListeners = object;
  3243. future._thenAwait$1$2(thenCallback, _null, _null);
  3244. }
  3245. },
  3246. _wrapJsFunctionForAsync: function($function) {
  3247. var $protected = function(fn, ERROR) {
  3248. return function(errorCode, result) {
  3249. while (true)
  3250. try {
  3251. fn(errorCode, result);
  3252. break;
  3253. } catch (error) {
  3254. result = error;
  3255. errorCode = ERROR;
  3256. }
  3257. };
  3258. }($function, 1);
  3259. return $.Zone__current.registerBinaryCallback$1(new P._wrapJsFunctionForAsync_closure($protected));
  3260. },
  3261. _asyncStarHelper: function(object, bodyFunctionOrErrorCode, controller) {
  3262. var t1, t2, stream;
  3263. if (bodyFunctionOrErrorCode === 0) {
  3264. t1 = controller.cancelationFuture;
  3265. if (t1 != null)
  3266. t1._completeWithValue$1(null);
  3267. else
  3268. controller.controller.close$0(0);
  3269. return;
  3270. } else if (bodyFunctionOrErrorCode === 1) {
  3271. t1 = controller.cancelationFuture;
  3272. if (t1 != null)
  3273. t1._completeError$2(H.unwrapException(object), H.getTraceFromException(object));
  3274. else {
  3275. t1 = H.unwrapException(object);
  3276. t2 = H.getTraceFromException(object);
  3277. controller.controller.addError$2(t1, t2);
  3278. controller.controller.close$0(0);
  3279. }
  3280. return;
  3281. }
  3282. if (object instanceof P._IterationMarker) {
  3283. if (controller.cancelationFuture != null) {
  3284. bodyFunctionOrErrorCode.call$2(2, null);
  3285. return;
  3286. }
  3287. t1 = object.state;
  3288. if (t1 === 0) {
  3289. t1 = object.value;
  3290. controller.controller.add$1(0, t1);
  3291. P.scheduleMicrotask(new P._asyncStarHelper_closure(controller, bodyFunctionOrErrorCode));
  3292. return;
  3293. } else if (t1 === 1) {
  3294. stream = object.value;
  3295. controller.controller.addStream$2$cancelOnError(stream, false).then$1(new P._asyncStarHelper_closure0(controller, bodyFunctionOrErrorCode));
  3296. return;
  3297. }
  3298. }
  3299. P._awaitOnObject(object, bodyFunctionOrErrorCode);
  3300. },
  3301. _streamOfController: function(controller) {
  3302. var t1 = controller.controller;
  3303. t1.toString;
  3304. return new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]);
  3305. },
  3306. _AsyncStarStreamController$: function(body, $T) {
  3307. var t1 = new P._AsyncStarStreamController([$T]);
  3308. t1._AsyncStarStreamController$1(body, $T);
  3309. return t1;
  3310. },
  3311. _makeAsyncStarStreamController: function(body, $T) {
  3312. return P._AsyncStarStreamController$(body, $T);
  3313. },
  3314. _IterationMarker_yieldStar: function(values) {
  3315. return new P._IterationMarker(values, 1);
  3316. },
  3317. _IterationMarker_endOfIteration: function() {
  3318. return C._IterationMarker_null_2;
  3319. },
  3320. _IterationMarker_yieldSingle: function(value) {
  3321. return new P._IterationMarker(value, 0);
  3322. },
  3323. _IterationMarker_uncaughtError: function(error) {
  3324. return new P._IterationMarker(error, 3);
  3325. },
  3326. _makeSyncStarIterable: function(body, $T) {
  3327. return new P._SyncStarIterable(body, [$T]);
  3328. },
  3329. Future_Future$error: function(error, stackTrace, $T) {
  3330. var t1, replacement;
  3331. if (error == null)
  3332. error = new P.NullThrownError();
  3333. t1 = $.Zone__current;
  3334. if (t1 !== C.C__RootZone) {
  3335. replacement = t1.errorCallback$2(error, stackTrace);
  3336. if (replacement != null) {
  3337. error = replacement.error;
  3338. if (error == null)
  3339. error = new P.NullThrownError();
  3340. stackTrace = replacement.stackTrace;
  3341. }
  3342. }
  3343. t1 = new P._Future($.Zone__current, [$T]);
  3344. t1._asyncCompleteError$2(error, stackTrace);
  3345. return t1;
  3346. },
  3347. Future_wait: function(futures, $T) {
  3348. var handleError, future, pos, e, st, t3, t4, exception, _box_0 = {}, cleanUp = null,
  3349. eagerError = false,
  3350. t1 = [P.List, $T],
  3351. t2 = [t1],
  3352. result = new P._Future($.Zone__current, t2);
  3353. _box_0.values = null;
  3354. _box_0.remaining = 0;
  3355. _box_0.stackTrace = _box_0.error = null;
  3356. handleError = new P.Future_wait_handleError(_box_0, cleanUp, eagerError, result);
  3357. try {
  3358. for (t3 = J.get$iterator$ax(futures), t4 = P.Null; t3.moveNext$0();) {
  3359. future = t3.get$current(t3);
  3360. pos = _box_0.remaining;
  3361. future.then$1$2$onError(new P.Future_wait_closure(_box_0, pos, result, cleanUp, eagerError, $T), handleError, t4);
  3362. ++_box_0.remaining;
  3363. }
  3364. t3 = _box_0.remaining;
  3365. if (t3 === 0) {
  3366. t2 = new P._Future($.Zone__current, t2);
  3367. t2._asyncComplete$1(C.List_empty14);
  3368. return t2;
  3369. }
  3370. t2 = new Array(t3);
  3371. t2.fixed$length = Array;
  3372. _box_0.values = H.setRuntimeTypeInfo(t2, [$T]);
  3373. } catch (exception) {
  3374. e = H.unwrapException(exception);
  3375. st = H.getTraceFromException(exception);
  3376. if (_box_0.remaining === 0 || eagerError)
  3377. return P.Future_Future$error(e, st, t1);
  3378. else {
  3379. _box_0.error = e;
  3380. _box_0.stackTrace = st;
  3381. }
  3382. }
  3383. return result;
  3384. },
  3385. _Future$zoneValue: function(value, _zone, $T) {
  3386. var t1 = new P._Future(_zone, [$T]);
  3387. t1._async$_state = 4;
  3388. t1._resultOrListeners = value;
  3389. return t1;
  3390. },
  3391. _Future__chainForeignFuture: function(source, target) {
  3392. var e, s, exception;
  3393. target._async$_state = 1;
  3394. try {
  3395. source.then$1$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target), P.Null);
  3396. } catch (exception) {
  3397. e = H.unwrapException(exception);
  3398. s = H.getTraceFromException(exception);
  3399. P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(target, e, s));
  3400. }
  3401. },
  3402. _Future__chainCoreFuture: function(source, target) {
  3403. var t1, listeners;
  3404. for (; t1 = source._async$_state, t1 === 2;)
  3405. source = source._resultOrListeners;
  3406. if (t1 >= 4) {
  3407. listeners = target._removeListeners$0();
  3408. target._async$_state = source._async$_state;
  3409. target._resultOrListeners = source._resultOrListeners;
  3410. P._Future__propagateToListeners(target, listeners);
  3411. } else {
  3412. listeners = target._resultOrListeners;
  3413. target._async$_state = 2;
  3414. target._resultOrListeners = source;
  3415. source._prependListeners$1(listeners);
  3416. }
  3417. },
  3418. _Future__propagateToListeners: function(source, listeners) {
  3419. var _box_0, hasError, t2, listeners0, sourceResult, t3, zone, oldZone, current, result, _box_1 = {},
  3420. t1 = _box_1.source = source;
  3421. for (; true;) {
  3422. _box_0 = {};
  3423. hasError = t1._async$_state === 8;
  3424. if (listeners == null) {
  3425. if (hasError) {
  3426. t2 = t1._resultOrListeners;
  3427. t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace);
  3428. }
  3429. return;
  3430. }
  3431. for (; listeners0 = listeners._nextListener, listeners0 != null; listeners = listeners0) {
  3432. listeners._nextListener = null;
  3433. P._Future__propagateToListeners(_box_1.source, listeners);
  3434. }
  3435. t1 = _box_1.source;
  3436. sourceResult = t1._resultOrListeners;
  3437. _box_0.listenerHasError = hasError;
  3438. _box_0.listenerValueOrError = sourceResult;
  3439. t2 = !hasError;
  3440. if (t2) {
  3441. t3 = listeners.state;
  3442. t3 = (t3 & 1) !== 0 || (t3 & 15) === 8;
  3443. } else
  3444. t3 = true;
  3445. if (t3) {
  3446. t3 = listeners.result;
  3447. zone = t3._zone;
  3448. if (hasError) {
  3449. t1 = t1._zone;
  3450. t1.toString;
  3451. t1 = !(t1 == zone || t1.get$errorZone() === zone.get$errorZone());
  3452. } else
  3453. t1 = false;
  3454. if (t1) {
  3455. t1 = _box_1.source;
  3456. t2 = t1._resultOrListeners;
  3457. t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace);
  3458. return;
  3459. }
  3460. oldZone = $.Zone__current;
  3461. if (oldZone != zone)
  3462. $.Zone__current = zone;
  3463. else
  3464. oldZone = null;
  3465. t1 = listeners.state;
  3466. if ((t1 & 15) === 8)
  3467. new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_1, _box_0, listeners, hasError).call$0();
  3468. else if (t2) {
  3469. if ((t1 & 1) !== 0)
  3470. new P._Future__propagateToListeners_handleValueCallback(_box_0, listeners, sourceResult).call$0();
  3471. } else if ((t1 & 2) !== 0)
  3472. new P._Future__propagateToListeners_handleError(_box_1, _box_0, listeners).call$0();
  3473. if (oldZone != null)
  3474. $.Zone__current = oldZone;
  3475. t1 = _box_0.listenerValueOrError;
  3476. if (!!J.getInterceptor$(t1).$isFuture) {
  3477. if (t1._async$_state >= 4) {
  3478. current = t3._resultOrListeners;
  3479. t3._resultOrListeners = null;
  3480. listeners = t3._reverseListeners$1(current);
  3481. t3._async$_state = t1._async$_state;
  3482. t3._resultOrListeners = t1._resultOrListeners;
  3483. _box_1.source = t1;
  3484. continue;
  3485. } else
  3486. P._Future__chainCoreFuture(t1, t3);
  3487. return;
  3488. }
  3489. }
  3490. result = listeners.result;
  3491. current = result._resultOrListeners;
  3492. result._resultOrListeners = null;
  3493. listeners = result._reverseListeners$1(current);
  3494. t1 = _box_0.listenerHasError;
  3495. t2 = _box_0.listenerValueOrError;
  3496. if (!t1) {
  3497. result._async$_state = 4;
  3498. result._resultOrListeners = t2;
  3499. } else {
  3500. result._async$_state = 8;
  3501. result._resultOrListeners = t2;
  3502. }
  3503. _box_1.source = result;
  3504. t1 = result;
  3505. }
  3506. },
  3507. _registerErrorHandler: function(errorHandler, zone) {
  3508. if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object, P.StackTrace]}))
  3509. return zone.registerBinaryCallback$1(errorHandler);
  3510. if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object]}))
  3511. return zone.registerUnaryCallback$1(errorHandler);
  3512. throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result"));
  3513. },
  3514. _microtaskLoop: function() {
  3515. var t1, t2;
  3516. for (; t1 = $._nextCallback, t1 != null;) {
  3517. $._lastPriorityCallback = null;
  3518. t2 = t1.next;
  3519. $._nextCallback = t2;
  3520. if (t2 == null)
  3521. $._lastCallback = null;
  3522. t1.callback.call$0();
  3523. }
  3524. },
  3525. _startMicrotaskLoop: function() {
  3526. $._isInCallbackLoop = true;
  3527. try {
  3528. P._microtaskLoop();
  3529. } finally {
  3530. $._lastPriorityCallback = null;
  3531. $._isInCallbackLoop = false;
  3532. if ($._nextCallback != null)
  3533. $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
  3534. }
  3535. },
  3536. _scheduleAsyncCallback: function(callback) {
  3537. var newEntry = new P._AsyncCallbackEntry(callback);
  3538. if ($._nextCallback == null) {
  3539. $._nextCallback = $._lastCallback = newEntry;
  3540. if (!$._isInCallbackLoop)
  3541. $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
  3542. } else
  3543. $._lastCallback = $._lastCallback.next = newEntry;
  3544. },
  3545. _schedulePriorityAsyncCallback: function(callback) {
  3546. var entry, t2,
  3547. t1 = $._nextCallback;
  3548. if (t1 == null) {
  3549. P._scheduleAsyncCallback(callback);
  3550. $._lastPriorityCallback = $._lastCallback;
  3551. return;
  3552. }
  3553. entry = new P._AsyncCallbackEntry(callback);
  3554. t2 = $._lastPriorityCallback;
  3555. if (t2 == null) {
  3556. entry.next = t1;
  3557. $._nextCallback = $._lastPriorityCallback = entry;
  3558. } else {
  3559. entry.next = t2.next;
  3560. $._lastPriorityCallback = t2.next = entry;
  3561. if (entry.next == null)
  3562. $._lastCallback = entry;
  3563. }
  3564. },
  3565. scheduleMicrotask: function(callback) {
  3566. var t1, _null = null,
  3567. currentZone = $.Zone__current;
  3568. if (C.C__RootZone === currentZone) {
  3569. P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback);
  3570. return;
  3571. }
  3572. if (C.C__RootZone === currentZone.get$_scheduleMicrotask().zone)
  3573. t1 = C.C__RootZone.get$errorZone() === currentZone.get$errorZone();
  3574. else
  3575. t1 = false;
  3576. if (t1) {
  3577. P._rootScheduleMicrotask(_null, _null, currentZone, currentZone.registerCallback$1(callback));
  3578. return;
  3579. }
  3580. t1 = $.Zone__current;
  3581. t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback));
  3582. },
  3583. Stream_Stream$fromFuture: function(future, $T) {
  3584. var _null = null,
  3585. controller = new P._SyncStreamController(_null, _null, _null, _null, [$T]);
  3586. future.then$1$2$onError(new P.Stream_Stream$fromFuture_closure(controller, $T), new P.Stream_Stream$fromFuture_closure0(controller), P.Null);
  3587. return new P._ControllerStream(controller, [$T]);
  3588. },
  3589. StreamIterator_StreamIterator: function(stream) {
  3590. return new P._StreamIterator(stream == null ? H.throwExpression(P.ArgumentError$notNull("stream")) : stream);
  3591. },
  3592. StreamController_StreamController: function(onCancel, onListen, onPause, onResume, sync, $T) {
  3593. return sync ? new P._SyncStreamController(onListen, onPause, onResume, onCancel, [$T]) : new P._AsyncStreamController(onListen, onPause, onResume, onCancel, [$T]);
  3594. },
  3595. _runGuarded: function(notificationHandler) {
  3596. var e, s, exception;
  3597. if (notificationHandler == null)
  3598. return;
  3599. try {
  3600. notificationHandler.call$0();
  3601. } catch (exception) {
  3602. e = H.unwrapException(exception);
  3603. s = H.getTraceFromException(exception);
  3604. $.Zone__current.handleUncaughtError$2(e, s);
  3605. }
  3606. },
  3607. _nullDataHandler: function(value) {
  3608. },
  3609. _nullErrorHandler: function(error, stackTrace) {
  3610. $.Zone__current.handleUncaughtError$2(error, stackTrace);
  3611. },
  3612. _nullDoneHandler: function() {
  3613. },
  3614. _StreamIterator$: function(stream) {
  3615. return new P._StreamIterator(stream == null ? H.throwExpression(P.ArgumentError$notNull("stream")) : stream);
  3616. },
  3617. _addErrorWithReplacement: function(sink, error, stackTrace) {
  3618. var replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  3619. if (replacement != null) {
  3620. error = replacement.error;
  3621. if (error == null)
  3622. error = new P.NullThrownError();
  3623. stackTrace = replacement.stackTrace;
  3624. }
  3625. sink._addError$2(error, stackTrace);
  3626. },
  3627. Timer_Timer: function(duration, callback) {
  3628. var t1 = $.Zone__current;
  3629. if (t1 === C.C__RootZone)
  3630. return t1.createTimer$2(duration, callback);
  3631. return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback));
  3632. },
  3633. _parentDelegate: function(zone) {
  3634. if (zone.get$parent() == null)
  3635. return;
  3636. return zone.get$parent().get$_delegate();
  3637. },
  3638. _rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) {
  3639. var t1 = {};
  3640. t1.error = error;
  3641. P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(t1, stackTrace));
  3642. },
  3643. _rootRun: function($self, $parent, zone, f) {
  3644. var old,
  3645. t1 = $.Zone__current;
  3646. if (t1 == zone)
  3647. return f.call$0();
  3648. $.Zone__current = zone;
  3649. old = t1;
  3650. try {
  3651. t1 = f.call$0();
  3652. return t1;
  3653. } finally {
  3654. $.Zone__current = old;
  3655. }
  3656. },
  3657. _rootRunUnary: function($self, $parent, zone, f, arg) {
  3658. var old,
  3659. t1 = $.Zone__current;
  3660. if (t1 == zone)
  3661. return f.call$1(arg);
  3662. $.Zone__current = zone;
  3663. old = t1;
  3664. try {
  3665. t1 = f.call$1(arg);
  3666. return t1;
  3667. } finally {
  3668. $.Zone__current = old;
  3669. }
  3670. },
  3671. _rootRunBinary: function($self, $parent, zone, f, arg1, arg2) {
  3672. var old,
  3673. t1 = $.Zone__current;
  3674. if (t1 == zone)
  3675. return f.call$2(arg1, arg2);
  3676. $.Zone__current = zone;
  3677. old = t1;
  3678. try {
  3679. t1 = f.call$2(arg1, arg2);
  3680. return t1;
  3681. } finally {
  3682. $.Zone__current = old;
  3683. }
  3684. },
  3685. _rootRegisterCallback: function($self, $parent, zone, f) {
  3686. return f;
  3687. },
  3688. _rootRegisterUnaryCallback: function($self, $parent, zone, f) {
  3689. return f;
  3690. },
  3691. _rootRegisterBinaryCallback: function($self, $parent, zone, f) {
  3692. return f;
  3693. },
  3694. _rootErrorCallback: function($self, $parent, zone, error, stackTrace) {
  3695. return;
  3696. },
  3697. _rootScheduleMicrotask: function($self, $parent, zone, f) {
  3698. var t1 = C.C__RootZone !== zone;
  3699. if (t1)
  3700. f = !(!t1 || C.C__RootZone.get$errorZone() === zone.get$errorZone()) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1(f);
  3701. P._scheduleAsyncCallback(f);
  3702. },
  3703. _rootCreateTimer: function($self, $parent, zone, duration, callback) {
  3704. callback = zone.bindCallback$1(callback);
  3705. return P.Timer__createTimer(duration, callback);
  3706. },
  3707. _rootCreatePeriodicTimer: function($self, $parent, zone, duration, callback) {
  3708. var milliseconds;
  3709. callback = zone.bindUnaryCallback$2$1(callback, null, P.Timer);
  3710. milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
  3711. return P._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
  3712. },
  3713. _rootPrint: function($self, $parent, zone, line) {
  3714. H.printString(line);
  3715. },
  3716. _printToZone: function(line) {
  3717. $.Zone__current.print$1(line);
  3718. },
  3719. _rootFork: function($self, $parent, zone, specification, zoneValues) {
  3720. var valueMap, t1, t2;
  3721. $.printToZone = P.async___printToZone$closure();
  3722. if (specification == null)
  3723. specification = C._ZoneSpecification_ALf;
  3724. if (zoneValues == null)
  3725. valueMap = zone.get$_async$_map();
  3726. else
  3727. valueMap = P.HashMap_HashMap$from(zoneValues, null, null);
  3728. t1 = new P._CustomZone(zone, valueMap);
  3729. t2 = zone.get$_run();
  3730. t1._run = t2;
  3731. t2 = zone.get$_runUnary();
  3732. t1._runUnary = t2;
  3733. t2 = zone.get$_runBinary();
  3734. t1._runBinary = t2;
  3735. t2 = zone.get$_registerCallback();
  3736. t1._registerCallback = t2;
  3737. t2 = zone.get$_registerUnaryCallback();
  3738. t1._registerUnaryCallback = t2;
  3739. t2 = zone.get$_registerBinaryCallback();
  3740. t1._registerBinaryCallback = t2;
  3741. t2 = zone.get$_errorCallback();
  3742. t1._errorCallback = t2;
  3743. t2 = zone.get$_scheduleMicrotask();
  3744. t1._scheduleMicrotask = t2;
  3745. t2 = zone.get$_createTimer();
  3746. t1._createTimer = t2;
  3747. t2 = zone.get$_createPeriodicTimer();
  3748. t1._createPeriodicTimer = t2;
  3749. t2 = zone.get$_print();
  3750. t1._print = t2;
  3751. t2 = zone.get$_fork();
  3752. t1._fork = t2;
  3753. t2 = specification.handleUncaughtError;
  3754. t1._handleUncaughtError = t2 != null ? new P._ZoneFunction(t1, t2) : zone.get$_handleUncaughtError();
  3755. return t1;
  3756. },
  3757. runZoned: function(body, zoneValues) {
  3758. var zoneSpecification = null,
  3759. t1 = P._runZoned(body, zoneValues, zoneSpecification);
  3760. return t1;
  3761. },
  3762. _runZoned: function(body, zoneValues, specification) {
  3763. return $.Zone__current.fork$2$specification$zoneValues(specification, zoneValues).run$1(0, body);
  3764. },
  3765. _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) {
  3766. this._box_0 = t0;
  3767. },
  3768. _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) {
  3769. this._box_0 = t0;
  3770. this.div = t1;
  3771. this.span = t2;
  3772. },
  3773. _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) {
  3774. this.callback = t0;
  3775. },
  3776. _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) {
  3777. this.callback = t0;
  3778. },
  3779. _TimerImpl: function _TimerImpl(t0) {
  3780. this._once = t0;
  3781. this._handle = null;
  3782. this._tick = 0;
  3783. },
  3784. _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) {
  3785. this.$this = t0;
  3786. this.callback = t1;
  3787. },
  3788. _TimerImpl$periodic_closure: function _TimerImpl$periodic_closure(t0, t1, t2, t3) {
  3789. var _ = this;
  3790. _.$this = t0;
  3791. _.milliseconds = t1;
  3792. _.start = t2;
  3793. _.callback = t3;
  3794. },
  3795. _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) {
  3796. this._future = t0;
  3797. this.isSync = false;
  3798. this.$ti = t1;
  3799. },
  3800. _awaitOnObject_closure: function _awaitOnObject_closure(t0) {
  3801. this.bodyFunction = t0;
  3802. },
  3803. _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) {
  3804. this.bodyFunction = t0;
  3805. },
  3806. _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) {
  3807. this.$protected = t0;
  3808. },
  3809. _asyncStarHelper_closure: function _asyncStarHelper_closure(t0, t1) {
  3810. this.controller = t0;
  3811. this.bodyFunctionOrErrorCode = t1;
  3812. },
  3813. _asyncStarHelper_closure0: function _asyncStarHelper_closure0(t0, t1) {
  3814. this.controller = t0;
  3815. this.bodyFunctionOrErrorCode = t1;
  3816. },
  3817. _AsyncStarStreamController: function _AsyncStarStreamController(t0) {
  3818. var _ = this;
  3819. _.controller = null;
  3820. _.isSuspended = false;
  3821. _.cancelationFuture = null;
  3822. _.$ti = t0;
  3823. },
  3824. _AsyncStarStreamController__resumeBody: function _AsyncStarStreamController__resumeBody(t0) {
  3825. this.body = t0;
  3826. },
  3827. _AsyncStarStreamController__resumeBody_closure: function _AsyncStarStreamController__resumeBody_closure(t0) {
  3828. this.body = t0;
  3829. },
  3830. _AsyncStarStreamController_closure0: function _AsyncStarStreamController_closure0(t0) {
  3831. this._resumeBody = t0;
  3832. },
  3833. _AsyncStarStreamController_closure1: function _AsyncStarStreamController_closure1(t0, t1) {
  3834. this.$this = t0;
  3835. this._resumeBody = t1;
  3836. },
  3837. _AsyncStarStreamController_closure: function _AsyncStarStreamController_closure(t0, t1) {
  3838. this.$this = t0;
  3839. this.body = t1;
  3840. },
  3841. _AsyncStarStreamController__closure: function _AsyncStarStreamController__closure(t0) {
  3842. this.body = t0;
  3843. },
  3844. _IterationMarker: function _IterationMarker(t0, t1) {
  3845. this.value = t0;
  3846. this.state = t1;
  3847. },
  3848. _SyncStarIterator: function _SyncStarIterator(t0) {
  3849. var _ = this;
  3850. _._body = t0;
  3851. _._suspendedBodies = _._nestedIterator = _._async$_current = null;
  3852. },
  3853. _SyncStarIterable: function _SyncStarIterable(t0, t1) {
  3854. this._outerHelper = t0;
  3855. this.$ti = t1;
  3856. },
  3857. _BroadcastStream: function _BroadcastStream(t0, t1) {
  3858. this._async$_controller = t0;
  3859. this.$ti = t1;
  3860. },
  3861. _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3) {
  3862. var _ = this;
  3863. _._eventState = 0;
  3864. _._async$_previous = _._async$_next = null;
  3865. _._async$_controller = t0;
  3866. _._onDone = _._onError = _._onData = null;
  3867. _._zone = t1;
  3868. _._async$_state = t2;
  3869. _._pending = _._cancelFuture = null;
  3870. _.$ti = t3;
  3871. },
  3872. _BroadcastStreamController: function _BroadcastStreamController() {
  3873. },
  3874. _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) {
  3875. var _ = this;
  3876. _.onListen = t0;
  3877. _.onCancel = t1;
  3878. _._async$_state = 0;
  3879. _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null;
  3880. _.$ti = t2;
  3881. },
  3882. _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0) {
  3883. this.data = t0;
  3884. },
  3885. _SyncBroadcastStreamController__sendError_closure: function _SyncBroadcastStreamController__sendError_closure(t0, t1) {
  3886. this.error = t0;
  3887. this.stackTrace = t1;
  3888. },
  3889. _SyncBroadcastStreamController__sendDone_closure: function _SyncBroadcastStreamController__sendDone_closure() {
  3890. },
  3891. Future: function Future() {
  3892. },
  3893. Future_wait_handleError: function Future_wait_handleError(t0, t1, t2, t3) {
  3894. var _ = this;
  3895. _._box_0 = t0;
  3896. _.cleanUp = t1;
  3897. _.eagerError = t2;
  3898. _.result = t3;
  3899. },
  3900. Future_wait_closure: function Future_wait_closure(t0, t1, t2, t3, t4, t5) {
  3901. var _ = this;
  3902. _._box_0 = t0;
  3903. _.pos = t1;
  3904. _.result = t2;
  3905. _.cleanUp = t3;
  3906. _.eagerError = t4;
  3907. _.T = t5;
  3908. },
  3909. _Completer: function _Completer() {
  3910. },
  3911. _AsyncCompleter: function _AsyncCompleter(t0, t1) {
  3912. this.future = t0;
  3913. this.$ti = t1;
  3914. },
  3915. _FutureListener: function _FutureListener(t0, t1, t2, t3) {
  3916. var _ = this;
  3917. _._nextListener = null;
  3918. _.result = t0;
  3919. _.state = t1;
  3920. _.callback = t2;
  3921. _.errorCallback = t3;
  3922. },
  3923. _Future: function _Future(t0, t1) {
  3924. var _ = this;
  3925. _._async$_state = 0;
  3926. _._zone = t0;
  3927. _._resultOrListeners = null;
  3928. _.$ti = t1;
  3929. },
  3930. _Future__addListener_closure: function _Future__addListener_closure(t0, t1) {
  3931. this.$this = t0;
  3932. this.listener = t1;
  3933. },
  3934. _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) {
  3935. this._box_0 = t0;
  3936. this.$this = t1;
  3937. },
  3938. _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) {
  3939. this.target = t0;
  3940. },
  3941. _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) {
  3942. this.target = t0;
  3943. },
  3944. _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) {
  3945. this.target = t0;
  3946. this.e = t1;
  3947. this.s = t2;
  3948. },
  3949. _Future__asyncComplete_closure: function _Future__asyncComplete_closure(t0, t1) {
  3950. this.$this = t0;
  3951. this.value = t1;
  3952. },
  3953. _Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) {
  3954. this.$this = t0;
  3955. this.value = t1;
  3956. },
  3957. _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) {
  3958. this.$this = t0;
  3959. this.error = t1;
  3960. this.stackTrace = t2;
  3961. },
  3962. _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2, t3) {
  3963. var _ = this;
  3964. _._box_1 = t0;
  3965. _._box_0 = t1;
  3966. _.listener = t2;
  3967. _.hasError = t3;
  3968. },
  3969. _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) {
  3970. this.originalSource = t0;
  3971. },
  3972. _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1, t2) {
  3973. this._box_0 = t0;
  3974. this.listener = t1;
  3975. this.sourceResult = t2;
  3976. },
  3977. _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1, t2) {
  3978. this._box_1 = t0;
  3979. this._box_0 = t1;
  3980. this.listener = t2;
  3981. },
  3982. _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) {
  3983. this.callback = t0;
  3984. this.next = null;
  3985. },
  3986. Stream: function Stream() {
  3987. },
  3988. Stream_Stream$fromFuture_closure: function Stream_Stream$fromFuture_closure(t0, t1) {
  3989. this.controller = t0;
  3990. this.T = t1;
  3991. },
  3992. Stream_Stream$fromFuture_closure0: function Stream_Stream$fromFuture_closure0(t0) {
  3993. this.controller = t0;
  3994. },
  3995. Stream_length_closure: function Stream_length_closure(t0, t1) {
  3996. this._box_0 = t0;
  3997. this.$this = t1;
  3998. },
  3999. Stream_length_closure0: function Stream_length_closure0(t0, t1) {
  4000. this._box_0 = t0;
  4001. this.future = t1;
  4002. },
  4003. StreamSubscription: function StreamSubscription() {
  4004. },
  4005. EventSink: function EventSink() {
  4006. },
  4007. StreamTransformerBase: function StreamTransformerBase() {
  4008. },
  4009. _StreamController: function _StreamController() {
  4010. },
  4011. _StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) {
  4012. this.$this = t0;
  4013. },
  4014. _StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) {
  4015. this.$this = t0;
  4016. },
  4017. _SyncStreamControllerDispatch: function _SyncStreamControllerDispatch() {
  4018. },
  4019. _AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() {
  4020. },
  4021. _AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) {
  4022. var _ = this;
  4023. _._varData = null;
  4024. _._async$_state = 0;
  4025. _._doneFuture = null;
  4026. _.onListen = t0;
  4027. _.onPause = t1;
  4028. _.onResume = t2;
  4029. _.onCancel = t3;
  4030. _.$ti = t4;
  4031. },
  4032. _SyncStreamController: function _SyncStreamController(t0, t1, t2, t3, t4) {
  4033. var _ = this;
  4034. _._varData = null;
  4035. _._async$_state = 0;
  4036. _._doneFuture = null;
  4037. _.onListen = t0;
  4038. _.onPause = t1;
  4039. _.onResume = t2;
  4040. _.onCancel = t3;
  4041. _.$ti = t4;
  4042. },
  4043. _ControllerStream: function _ControllerStream(t0, t1) {
  4044. this._async$_controller = t0;
  4045. this.$ti = t1;
  4046. },
  4047. _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3) {
  4048. var _ = this;
  4049. _._async$_controller = t0;
  4050. _._onDone = _._onError = _._onData = null;
  4051. _._zone = t1;
  4052. _._async$_state = t2;
  4053. _._pending = _._cancelFuture = null;
  4054. _.$ti = t3;
  4055. },
  4056. _AddStreamState: function _AddStreamState() {
  4057. },
  4058. _AddStreamState_cancel_closure: function _AddStreamState_cancel_closure(t0) {
  4059. this.$this = t0;
  4060. },
  4061. _StreamControllerAddStreamState: function _StreamControllerAddStreamState(t0, t1, t2) {
  4062. this.varData = t0;
  4063. this.addStreamFuture = t1;
  4064. this.addSubscription = t2;
  4065. },
  4066. _BufferingStreamSubscription: function _BufferingStreamSubscription() {
  4067. },
  4068. _BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) {
  4069. this.$this = t0;
  4070. this.error = t1;
  4071. this.stackTrace = t2;
  4072. },
  4073. _BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) {
  4074. this.$this = t0;
  4075. },
  4076. _StreamImpl: function _StreamImpl() {
  4077. },
  4078. _DelayedEvent: function _DelayedEvent() {
  4079. },
  4080. _DelayedData: function _DelayedData(t0) {
  4081. this.value = t0;
  4082. this.next = null;
  4083. },
  4084. _DelayedError: function _DelayedError(t0, t1) {
  4085. this.error = t0;
  4086. this.stackTrace = t1;
  4087. this.next = null;
  4088. },
  4089. _DelayedDone: function _DelayedDone() {
  4090. },
  4091. _PendingEvents: function _PendingEvents() {
  4092. },
  4093. _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) {
  4094. this.$this = t0;
  4095. this.dispatch = t1;
  4096. },
  4097. _StreamImplEvents: function _StreamImplEvents() {
  4098. this.lastPendingEvent = this.firstPendingEvent = null;
  4099. this._async$_state = 0;
  4100. },
  4101. _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1, t2) {
  4102. var _ = this;
  4103. _._zone = t0;
  4104. _._async$_state = 0;
  4105. _._onDone = t1;
  4106. _.$ti = t2;
  4107. },
  4108. _StreamIterator: function _StreamIterator(t0) {
  4109. this._subscription = null;
  4110. this._stateData = t0;
  4111. this._isPaused = false;
  4112. },
  4113. _ForwardingStream: function _ForwardingStream() {
  4114. },
  4115. _ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3) {
  4116. var _ = this;
  4117. _._stream = t0;
  4118. _._onDone = _._onError = _._onData = _._subscription = null;
  4119. _._zone = t1;
  4120. _._async$_state = t2;
  4121. _._pending = _._cancelFuture = null;
  4122. _.$ti = t3;
  4123. },
  4124. _ExpandStream: function _ExpandStream(t0, t1, t2) {
  4125. this._expand = t0;
  4126. this._async$_source = t1;
  4127. this.$ti = t2;
  4128. },
  4129. Timer: function Timer() {
  4130. },
  4131. AsyncError: function AsyncError(t0, t1) {
  4132. this.error = t0;
  4133. this.stackTrace = t1;
  4134. },
  4135. _ZoneFunction: function _ZoneFunction(t0, t1) {
  4136. this.zone = t0;
  4137. this.$function = t1;
  4138. },
  4139. ZoneSpecification: function ZoneSpecification() {
  4140. },
  4141. _ZoneSpecification: function _ZoneSpecification(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
  4142. var _ = this;
  4143. _.handleUncaughtError = t0;
  4144. _.run = t1;
  4145. _.runUnary = t2;
  4146. _.runBinary = t3;
  4147. _.registerCallback = t4;
  4148. _.registerUnaryCallback = t5;
  4149. _.registerBinaryCallback = t6;
  4150. _.errorCallback = t7;
  4151. _.scheduleMicrotask = t8;
  4152. _.createTimer = t9;
  4153. _.createPeriodicTimer = t10;
  4154. _.print = t11;
  4155. _.fork = t12;
  4156. },
  4157. ZoneDelegate: function ZoneDelegate() {
  4158. },
  4159. Zone: function Zone() {
  4160. },
  4161. _ZoneDelegate: function _ZoneDelegate(t0) {
  4162. this._delegationTarget = t0;
  4163. },
  4164. _Zone: function _Zone() {
  4165. },
  4166. _CustomZone: function _CustomZone(t0, t1) {
  4167. var _ = this;
  4168. _._delegateCache = _._handleUncaughtError = _._fork = _._print = _._createPeriodicTimer = _._createTimer = _._scheduleMicrotask = _._errorCallback = _._registerBinaryCallback = _._registerUnaryCallback = _._registerCallback = _._runBinary = _._runUnary = _._run = null;
  4169. _.parent = t0;
  4170. _._async$_map = t1;
  4171. },
  4172. _CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1) {
  4173. this.$this = t0;
  4174. this.registered = t1;
  4175. },
  4176. _CustomZone_bindUnaryCallback_closure: function _CustomZone_bindUnaryCallback_closure(t0, t1, t2, t3) {
  4177. var _ = this;
  4178. _.$this = t0;
  4179. _.registered = t1;
  4180. _.T = t2;
  4181. _.R = t3;
  4182. },
  4183. _CustomZone_bindCallbackGuarded_closure: function _CustomZone_bindCallbackGuarded_closure(t0, t1) {
  4184. this.$this = t0;
  4185. this.registered = t1;
  4186. },
  4187. _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) {
  4188. this._box_0 = t0;
  4189. this.stackTrace = t1;
  4190. },
  4191. _RootZone: function _RootZone() {
  4192. },
  4193. _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1) {
  4194. this.$this = t0;
  4195. this.f = t1;
  4196. },
  4197. _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) {
  4198. this.$this = t0;
  4199. this.f = t1;
  4200. },
  4201. HashMap_HashMap: function($K, $V) {
  4202. return new P._HashMap([$K, $V]);
  4203. },
  4204. _HashMap__getTableEntry: function(table, key) {
  4205. var entry = table[key];
  4206. return entry === table ? null : entry;
  4207. },
  4208. _HashMap__setTableEntry: function(table, key, value) {
  4209. if (value == null)
  4210. table[key] = table;
  4211. else
  4212. table[key] = value;
  4213. },
  4214. _HashMap__newHashTable: function() {
  4215. var table = Object.create(null);
  4216. P._HashMap__setTableEntry(table, "<non-identifier-key>", table);
  4217. delete table["<non-identifier-key>"];
  4218. return table;
  4219. },
  4220. LinkedHashMap_LinkedHashMap: function(equals, hashCode, isValidKey, $K, $V) {
  4221. if (isValidKey == null)
  4222. if (hashCode == null) {
  4223. if (equals == null)
  4224. return new H.JsLinkedHashMap([$K, $V]);
  4225. hashCode = P.collection___defaultHashCode$closure();
  4226. } else {
  4227. if (P.core__identityHashCode$closure() === hashCode && P.core__identical$closure() === equals)
  4228. return P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6($K, $V);
  4229. if (equals == null)
  4230. equals = P.collection___defaultEquals$closure();
  4231. }
  4232. else {
  4233. if (hashCode == null)
  4234. hashCode = P.collection___defaultHashCode$closure();
  4235. if (equals == null)
  4236. equals = P.collection___defaultEquals$closure();
  4237. }
  4238. return P._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V);
  4239. },
  4240. LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) {
  4241. return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap([$K, $V]));
  4242. },
  4243. LinkedHashMap_LinkedHashMap$_empty: function($K, $V) {
  4244. return new H.JsLinkedHashMap([$K, $V]);
  4245. },
  4246. LinkedHashMap__makeLiteral: function(keyValuePairs) {
  4247. return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap([null, null]));
  4248. },
  4249. _LinkedIdentityHashMap__LinkedIdentityHashMap$es6: function($K, $V) {
  4250. return new P._LinkedIdentityHashMap([$K, $V]);
  4251. },
  4252. _LinkedCustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) {
  4253. var t1 = validKey != null ? validKey : new P._LinkedCustomHashMap_closure($K);
  4254. return new P._LinkedCustomHashMap(_equals, _hashCode, t1, [$K, $V]);
  4255. },
  4256. LinkedHashSet_LinkedHashSet: function($E) {
  4257. return new P._LinkedHashSet([$E]);
  4258. },
  4259. LinkedHashSet_LinkedHashSet$_empty: function($E) {
  4260. return new P._LinkedHashSet([$E]);
  4261. },
  4262. LinkedHashSet_LinkedHashSet$_literal: function(values, $E) {
  4263. return H.fillLiteralSet(values, new P._LinkedHashSet([$E]));
  4264. },
  4265. _LinkedHashSet__newHashTable: function() {
  4266. var table = Object.create(null);
  4267. table["<non-identifier-key>"] = table;
  4268. delete table["<non-identifier-key>"];
  4269. return table;
  4270. },
  4271. _LinkedHashSetIterator$: function(_set, _modifications) {
  4272. var t1 = new P._LinkedHashSetIterator(_set, _modifications);
  4273. t1._collection$_cell = _set._collection$_first;
  4274. return t1;
  4275. },
  4276. UnmodifiableListView$: function(source, $E) {
  4277. return new P.UnmodifiableListView(source, [$E]);
  4278. },
  4279. _defaultEquals: function(a, b) {
  4280. return J.$eq$(a, b);
  4281. },
  4282. _defaultHashCode: function(a) {
  4283. return J.get$hashCode$(a);
  4284. },
  4285. HashMap_HashMap$from: function(other, $K, $V) {
  4286. var result = P.HashMap_HashMap($K, $V);
  4287. other.forEach$1(0, new P.HashMap_HashMap$from_closure(result));
  4288. return result;
  4289. },
  4290. IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) {
  4291. var parts, t1;
  4292. if (P._isToStringVisiting(iterable)) {
  4293. if (leftDelimiter === "(" && rightDelimiter === ")")
  4294. return "(...)";
  4295. return leftDelimiter + "..." + rightDelimiter;
  4296. }
  4297. parts = H.setRuntimeTypeInfo([], [P.String]);
  4298. $._toStringVisiting.push(iterable);
  4299. try {
  4300. P._iterablePartsToStrings(iterable, parts);
  4301. } finally {
  4302. $._toStringVisiting.pop();
  4303. }
  4304. t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
  4305. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4306. },
  4307. IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
  4308. var buffer, t1;
  4309. if (P._isToStringVisiting(iterable))
  4310. return leftDelimiter + "..." + rightDelimiter;
  4311. buffer = new P.StringBuffer(leftDelimiter);
  4312. $._toStringVisiting.push(iterable);
  4313. try {
  4314. t1 = buffer;
  4315. t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", ");
  4316. } finally {
  4317. $._toStringVisiting.pop();
  4318. }
  4319. buffer._contents += rightDelimiter;
  4320. t1 = buffer._contents;
  4321. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4322. },
  4323. _isToStringVisiting: function(o) {
  4324. var t1, i;
  4325. for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
  4326. if (o === $._toStringVisiting[i])
  4327. return true;
  4328. return false;
  4329. },
  4330. _iterablePartsToStrings: function(iterable, parts) {
  4331. var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
  4332. it = iterable.get$iterator(iterable),
  4333. $length = 0, count = 0;
  4334. while (true) {
  4335. if (!($length < 80 || count < 3))
  4336. break;
  4337. if (!it.moveNext$0())
  4338. return;
  4339. next = H.S(it.get$current(it));
  4340. parts.push(next);
  4341. $length += next.length + 2;
  4342. ++count;
  4343. }
  4344. if (!it.moveNext$0()) {
  4345. if (count <= 5)
  4346. return;
  4347. ultimateString = parts.pop();
  4348. penultimateString = parts.pop();
  4349. } else {
  4350. penultimate = it.get$current(it);
  4351. ++count;
  4352. if (!it.moveNext$0()) {
  4353. if (count <= 4) {
  4354. parts.push(H.S(penultimate));
  4355. return;
  4356. }
  4357. ultimateString = H.S(penultimate);
  4358. penultimateString = parts.pop();
  4359. $length += ultimateString.length + 2;
  4360. } else {
  4361. ultimate = it.get$current(it);
  4362. ++count;
  4363. for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) {
  4364. ultimate0 = it.get$current(it);
  4365. ++count;
  4366. if (count > 100) {
  4367. while (true) {
  4368. if (!($length > 75 && count > 3))
  4369. break;
  4370. $length -= parts.pop().length + 2;
  4371. --count;
  4372. }
  4373. parts.push("...");
  4374. return;
  4375. }
  4376. }
  4377. penultimateString = H.S(penultimate);
  4378. ultimateString = H.S(ultimate);
  4379. $length += ultimateString.length + penultimateString.length + 4;
  4380. }
  4381. }
  4382. if (count > parts.length + 2) {
  4383. $length += 5;
  4384. elision = "...";
  4385. } else
  4386. elision = null;
  4387. while (true) {
  4388. if (!($length > 80 && parts.length > 3))
  4389. break;
  4390. $length -= parts.pop().length + 2;
  4391. if (elision == null) {
  4392. $length += 5;
  4393. elision = "...";
  4394. }
  4395. }
  4396. if (elision != null)
  4397. parts.push(elision);
  4398. parts.push(penultimateString);
  4399. parts.push(ultimateString);
  4400. },
  4401. LinkedHashMap_LinkedHashMap$from: function(other, $K, $V) {
  4402. var result = P.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
  4403. other.forEach$1(0, new P.LinkedHashMap_LinkedHashMap$from_closure(result));
  4404. return result;
  4405. },
  4406. LinkedHashMap_LinkedHashMap$of: function(other, $K, $V) {
  4407. var t1 = P.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
  4408. t1.addAll$1(0, other);
  4409. return t1;
  4410. },
  4411. LinkedHashSet_LinkedHashSet$from: function(elements, $E) {
  4412. var t1,
  4413. result = P.LinkedHashSet_LinkedHashSet($E);
  4414. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  4415. result.add$1(0, t1.get$current(t1));
  4416. return result;
  4417. },
  4418. LinkedHashSet_LinkedHashSet$of: function(elements, $E) {
  4419. var t1 = P.LinkedHashSet_LinkedHashSet($E);
  4420. t1.addAll$1(0, elements);
  4421. return t1;
  4422. },
  4423. MapBase_mapToString: function(m) {
  4424. var result, t1 = {};
  4425. if (P._isToStringVisiting(m))
  4426. return "{...}";
  4427. result = new P.StringBuffer("");
  4428. try {
  4429. $._toStringVisiting.push(m);
  4430. result._contents += "{";
  4431. t1.first = true;
  4432. m.forEach$1(0, new P.MapBase_mapToString_closure(t1, result));
  4433. result._contents += "}";
  4434. } finally {
  4435. $._toStringVisiting.pop();
  4436. }
  4437. t1 = result._contents;
  4438. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4439. },
  4440. MapBase__id: function(x) {
  4441. return x;
  4442. },
  4443. MapBase__fillMapWithMappedIterable: function(map, iterable, key, value) {
  4444. var t1, _i, element;
  4445. for (t1 = iterable.length, _i = 0; _i < t1; ++_i) {
  4446. element = iterable[_i];
  4447. map.$indexSet(0, P.MapBase__id(element), value.call$1(element));
  4448. }
  4449. },
  4450. MapBase__fillMapWithIterables: function(map, keys, values) {
  4451. var keyIterator = keys.get$iterator(keys),
  4452. valueIterator = values.get$iterator(values),
  4453. hasNextKey = keyIterator.moveNext$0(),
  4454. hasNextValue = valueIterator.moveNext$0();
  4455. while (true) {
  4456. if (!(hasNextKey && hasNextValue))
  4457. break;
  4458. map.$indexSet(0, keyIterator.get$current(keyIterator), valueIterator.get$current(valueIterator));
  4459. hasNextKey = keyIterator.moveNext$0();
  4460. hasNextValue = valueIterator.moveNext$0();
  4461. }
  4462. if (hasNextKey || hasNextValue)
  4463. throw H.wrapException(P.ArgumentError$("Iterables do not have same length."));
  4464. },
  4465. ListQueue$: function($E) {
  4466. var t1 = new P.ListQueue([$E]),
  4467. t2 = new Array(8);
  4468. t2.fixed$length = Array;
  4469. t1._collection$_table = H.setRuntimeTypeInfo(t2, [$E]);
  4470. return t1;
  4471. },
  4472. ListQueue_ListQueue$of: function(elements, $E) {
  4473. var t1 = P.ListQueue$($E);
  4474. t1.addAll$1(0, elements);
  4475. return t1;
  4476. },
  4477. ListQueue__nextPowerOf2: function(number) {
  4478. var nextNumber;
  4479. number = (number << 1 >>> 0) - 1;
  4480. for (; true; number = nextNumber) {
  4481. nextNumber = (number & number - 1) >>> 0;
  4482. if (nextNumber === 0)
  4483. return number;
  4484. }
  4485. },
  4486. _ListQueueIterator$: function(queue) {
  4487. return new P._ListQueueIterator(queue, queue._collection$_tail, queue._modificationCount, queue._collection$_head);
  4488. },
  4489. _HashMap: function _HashMap(t0) {
  4490. var _ = this;
  4491. _._collection$_length = 0;
  4492. _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
  4493. _.$ti = t0;
  4494. },
  4495. _HashMap_values_closure: function _HashMap_values_closure(t0) {
  4496. this.$this = t0;
  4497. },
  4498. _HashMap_addAll_closure: function _HashMap_addAll_closure(t0) {
  4499. this.$this = t0;
  4500. },
  4501. _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) {
  4502. this._collection$_map = t0;
  4503. this.$ti = t1;
  4504. },
  4505. _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1) {
  4506. var _ = this;
  4507. _._collection$_map = t0;
  4508. _._collection$_keys = t1;
  4509. _._offset = 0;
  4510. _._collection$_current = null;
  4511. },
  4512. _LinkedIdentityHashMap: function _LinkedIdentityHashMap(t0) {
  4513. var _ = this;
  4514. _.__js_helper$_length = 0;
  4515. _._last = _._first = _._rest = _._nums = _._strings = null;
  4516. _._modifications = 0;
  4517. _.$ti = t0;
  4518. },
  4519. _LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) {
  4520. var _ = this;
  4521. _._equals = t0;
  4522. _._collection$_hashCode = t1;
  4523. _._validKey = t2;
  4524. _.__js_helper$_length = 0;
  4525. _._last = _._first = _._rest = _._nums = _._strings = null;
  4526. _._modifications = 0;
  4527. _.$ti = t3;
  4528. },
  4529. _LinkedCustomHashMap_closure: function _LinkedCustomHashMap_closure(t0) {
  4530. this.K = t0;
  4531. },
  4532. _LinkedHashSet: function _LinkedHashSet(t0) {
  4533. var _ = this;
  4534. _._collection$_length = 0;
  4535. _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
  4536. _._collection$_modifications = 0;
  4537. _.$ti = t0;
  4538. },
  4539. _LinkedIdentityHashSet: function _LinkedIdentityHashSet(t0) {
  4540. var _ = this;
  4541. _._collection$_length = 0;
  4542. _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
  4543. _._collection$_modifications = 0;
  4544. _.$ti = t0;
  4545. },
  4546. _LinkedHashSetCell: function _LinkedHashSetCell(t0) {
  4547. this._element = t0;
  4548. this._collection$_previous = this._collection$_next = null;
  4549. },
  4550. _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1) {
  4551. var _ = this;
  4552. _._set = t0;
  4553. _._collection$_modifications = t1;
  4554. _._collection$_current = _._collection$_cell = null;
  4555. },
  4556. UnmodifiableListView: function UnmodifiableListView(t0, t1) {
  4557. this._collection$_source = t0;
  4558. this.$ti = t1;
  4559. },
  4560. HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0) {
  4561. this.result = t0;
  4562. },
  4563. IterableBase: function IterableBase() {
  4564. },
  4565. LinkedHashMap_LinkedHashMap$from_closure: function LinkedHashMap_LinkedHashMap$from_closure(t0) {
  4566. this.result = t0;
  4567. },
  4568. ListBase: function ListBase() {
  4569. },
  4570. ListMixin: function ListMixin() {
  4571. },
  4572. MapBase: function MapBase() {
  4573. },
  4574. MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) {
  4575. this._box_0 = t0;
  4576. this.result = t1;
  4577. },
  4578. MapMixin: function MapMixin() {
  4579. },
  4580. MapMixin_entries_closure: function MapMixin_entries_closure(t0) {
  4581. this.$this = t0;
  4582. },
  4583. UnmodifiableMapBase: function UnmodifiableMapBase() {
  4584. },
  4585. _MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) {
  4586. this._collection$_map = t0;
  4587. this.$ti = t1;
  4588. },
  4589. _MapBaseValueIterator: function _MapBaseValueIterator(t0, t1) {
  4590. this._collection$_keys = t0;
  4591. this._collection$_map = t1;
  4592. this._collection$_current = null;
  4593. },
  4594. _UnmodifiableMapMixin: function _UnmodifiableMapMixin() {
  4595. },
  4596. MapView: function MapView() {
  4597. },
  4598. UnmodifiableMapView: function UnmodifiableMapView(t0, t1) {
  4599. this._collection$_map = t0;
  4600. this.$ti = t1;
  4601. },
  4602. Queue: function Queue() {
  4603. },
  4604. ListQueue: function ListQueue(t0) {
  4605. var _ = this;
  4606. _._collection$_table = null;
  4607. _._modificationCount = _._collection$_tail = _._collection$_head = 0;
  4608. _.$ti = t0;
  4609. },
  4610. _ListQueueIterator: function _ListQueueIterator(t0, t1, t2, t3) {
  4611. var _ = this;
  4612. _._queue = t0;
  4613. _._end = t1;
  4614. _._modificationCount = t2;
  4615. _._position = t3;
  4616. _._collection$_current = null;
  4617. },
  4618. _SetBase: function _SetBase() {
  4619. },
  4620. _ListBase_Object_ListMixin: function _ListBase_Object_ListMixin() {
  4621. },
  4622. _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() {
  4623. },
  4624. Utf8Decoder__convertIntercepted: function(allowMalformed, codeUnits, start, end) {
  4625. if (codeUnits instanceof Uint8Array)
  4626. return P.Utf8Decoder__convertInterceptedUint8List(false, codeUnits, start, end);
  4627. return;
  4628. },
  4629. Utf8Decoder__convertInterceptedUint8List: function(allowMalformed, codeUnits, start, end) {
  4630. var t1, $length,
  4631. decoder = $.$get$Utf8Decoder__decoder();
  4632. if (decoder == null)
  4633. return;
  4634. t1 = 0 === start;
  4635. if (t1 && true)
  4636. return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits);
  4637. $length = codeUnits.length;
  4638. end = P.RangeError_checkValidRange(start, end, $length);
  4639. if (t1 && end === $length)
  4640. return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits);
  4641. return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits.subarray(start, end));
  4642. },
  4643. Utf8Decoder__useTextDecoderChecked: function(decoder, codeUnits) {
  4644. if (P.Utf8Decoder__unsafe(codeUnits))
  4645. return;
  4646. return P.Utf8Decoder__useTextDecoderUnchecked(decoder, codeUnits);
  4647. },
  4648. Utf8Decoder__useTextDecoderUnchecked: function(decoder, codeUnits) {
  4649. var t1, exception;
  4650. try {
  4651. t1 = decoder.decode(codeUnits);
  4652. return t1;
  4653. } catch (exception) {
  4654. H.unwrapException(exception);
  4655. }
  4656. return;
  4657. },
  4658. Utf8Decoder__unsafe: function(codeUnits) {
  4659. var i,
  4660. limit = codeUnits.length - 2;
  4661. for (i = 0; i < limit; ++i)
  4662. if (codeUnits[i] === 237)
  4663. if ((codeUnits[i + 1] & 224) === 160)
  4664. return true;
  4665. return false;
  4666. },
  4667. Utf8Decoder__makeDecoder: function() {
  4668. var t1, exception;
  4669. try {
  4670. t1 = new TextDecoder("utf-8", {fatal: true});
  4671. return t1;
  4672. } catch (exception) {
  4673. H.unwrapException(exception);
  4674. }
  4675. return;
  4676. },
  4677. _scanOneByteCharacters: function(units, from, endIndex) {
  4678. var t1, i, unit;
  4679. for (t1 = J.getInterceptor$asx(units), i = from; i < endIndex; ++i) {
  4680. unit = t1.$index(units, i);
  4681. if ((unit & 127) !== unit)
  4682. return i - from;
  4683. }
  4684. return endIndex - from;
  4685. },
  4686. Base64Codec__checkPadding: function(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) {
  4687. if (C.JSInt_methods.$mod($length, 4) !== 0)
  4688. throw H.wrapException(P.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd));
  4689. if (firstPadding + paddingCount !== $length)
  4690. throw H.wrapException(P.FormatException$("Invalid base64 padding, '=' not at the end", source, sourceIndex));
  4691. if (paddingCount > 2)
  4692. throw H.wrapException(P.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex));
  4693. },
  4694. _Base64Encoder_encodeChunk: function(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
  4695. var t1, i, byteOr, byte, outputIndex0, outputIndex1,
  4696. bits = state >>> 2,
  4697. expectedChars = 3 - (state & 3);
  4698. for (t1 = J.getInterceptor$asx(bytes), i = start, byteOr = 0; i < end; ++i) {
  4699. byte = t1.$index(bytes, i);
  4700. byteOr = (byteOr | byte) >>> 0;
  4701. bits = (bits << 8 | byte) & 16777215;
  4702. --expectedChars;
  4703. if (expectedChars === 0) {
  4704. outputIndex0 = outputIndex + 1;
  4705. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 18 & 63);
  4706. outputIndex = outputIndex0 + 1;
  4707. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 12 & 63);
  4708. outputIndex0 = outputIndex + 1;
  4709. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 6 & 63);
  4710. outputIndex = outputIndex0 + 1;
  4711. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits & 63);
  4712. bits = 0;
  4713. expectedChars = 3;
  4714. }
  4715. }
  4716. if (byteOr >= 0 && byteOr <= 255) {
  4717. if (isLast && expectedChars < 3) {
  4718. outputIndex0 = outputIndex + 1;
  4719. outputIndex1 = outputIndex0 + 1;
  4720. if (3 - expectedChars === 1) {
  4721. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 2 & 63);
  4722. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits << 4 & 63);
  4723. output[outputIndex1] = 61;
  4724. output[outputIndex1 + 1] = 61;
  4725. } else {
  4726. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 10 & 63);
  4727. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 4 & 63);
  4728. output[outputIndex1] = C.JSString_methods._codeUnitAt$1(alphabet, bits << 2 & 63);
  4729. output[outputIndex1 + 1] = 61;
  4730. }
  4731. return 0;
  4732. }
  4733. return (bits << 2 | 3 - expectedChars) >>> 0;
  4734. }
  4735. for (i = start; i < end;) {
  4736. byte = t1.$index(bytes, i);
  4737. if (byte < 0 || byte > 255)
  4738. break;
  4739. ++i;
  4740. }
  4741. throw H.wrapException(P.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + J.toRadixString$1$n(t1.$index(bytes, i), 16), null));
  4742. },
  4743. JsonUnsupportedObjectError$: function(unsupportedObject, cause, partialResult) {
  4744. return new P.JsonUnsupportedObjectError(unsupportedObject, cause);
  4745. },
  4746. _defaultToEncodable: function(object) {
  4747. return object.toJson$0();
  4748. },
  4749. _JsonStringStringifier_stringify: function(object, toEncodable, indent) {
  4750. var t1,
  4751. output = new P.StringBuffer("");
  4752. P._JsonStringStringifier_printOn(object, output, toEncodable, indent);
  4753. t1 = output._contents;
  4754. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4755. },
  4756. _JsonStringStringifier_printOn: function(object, output, toEncodable, indent) {
  4757. var stringifier = new P._JsonStringStringifier(output, [], P.convert___defaultToEncodable$closure());
  4758. stringifier.writeObject$1(object);
  4759. },
  4760. AsciiCodec: function AsciiCodec() {
  4761. },
  4762. _UnicodeSubsetEncoder: function _UnicodeSubsetEncoder() {
  4763. },
  4764. AsciiEncoder: function AsciiEncoder(t0) {
  4765. this._subsetMask = t0;
  4766. },
  4767. Base64Codec: function Base64Codec() {
  4768. },
  4769. Base64Encoder: function Base64Encoder() {
  4770. },
  4771. _Base64Encoder: function _Base64Encoder(t0) {
  4772. this._state = 0;
  4773. this._alphabet = t0;
  4774. },
  4775. _BufferCachingBase64Encoder: function _BufferCachingBase64Encoder(t0) {
  4776. this.bufferCache = null;
  4777. this._state = 0;
  4778. this._alphabet = t0;
  4779. },
  4780. _Base64EncoderSink: function _Base64EncoderSink() {
  4781. },
  4782. _AsciiBase64EncoderSink: function _AsciiBase64EncoderSink(t0, t1) {
  4783. this._sink = t0;
  4784. this._encoder = t1;
  4785. },
  4786. _Utf8Base64EncoderSink: function _Utf8Base64EncoderSink(t0, t1) {
  4787. this._sink = t0;
  4788. this._encoder = t1;
  4789. },
  4790. ByteConversionSink: function ByteConversionSink() {
  4791. },
  4792. ByteConversionSinkBase: function ByteConversionSinkBase() {
  4793. },
  4794. ChunkedConversionSink: function ChunkedConversionSink() {
  4795. },
  4796. Codec: function Codec() {
  4797. },
  4798. Converter: function Converter() {
  4799. },
  4800. Encoding: function Encoding() {
  4801. },
  4802. JsonUnsupportedObjectError: function JsonUnsupportedObjectError(t0, t1) {
  4803. this.unsupportedObject = t0;
  4804. this.cause = t1;
  4805. },
  4806. JsonCyclicError: function JsonCyclicError(t0, t1) {
  4807. this.unsupportedObject = t0;
  4808. this.cause = t1;
  4809. },
  4810. JsonCodec: function JsonCodec() {
  4811. },
  4812. JsonEncoder: function JsonEncoder(t0) {
  4813. this._toEncodable = t0;
  4814. },
  4815. _JsonStringifier: function _JsonStringifier() {
  4816. },
  4817. _JsonStringifier_writeMap_closure: function _JsonStringifier_writeMap_closure(t0, t1) {
  4818. this._box_0 = t0;
  4819. this.keyValueList = t1;
  4820. },
  4821. _JsonStringStringifier: function _JsonStringStringifier(t0, t1, t2) {
  4822. this._sink = t0;
  4823. this._seen = t1;
  4824. this._toEncodable = t2;
  4825. },
  4826. StringConversionSinkBase: function StringConversionSinkBase() {
  4827. },
  4828. StringConversionSinkMixin: function StringConversionSinkMixin() {
  4829. },
  4830. _StringSinkConversionSink: function _StringSinkConversionSink(t0) {
  4831. this._stringSink = t0;
  4832. },
  4833. _StringCallbackSink: function _StringCallbackSink(t0, t1) {
  4834. this._callback = t0;
  4835. this._stringSink = t1;
  4836. },
  4837. _StringAdapterSink: function _StringAdapterSink(t0) {
  4838. this._sink = t0;
  4839. },
  4840. _Utf8StringSinkAdapter: function _Utf8StringSinkAdapter(t0, t1) {
  4841. this._decoder = t0;
  4842. this._sink = t1;
  4843. },
  4844. _Utf8ConversionSink: function _Utf8ConversionSink(t0, t1, t2) {
  4845. this._decoder = t0;
  4846. this._chunkedSink = t1;
  4847. this._buffer = t2;
  4848. },
  4849. Utf8Codec: function Utf8Codec() {
  4850. },
  4851. Utf8Encoder: function Utf8Encoder() {
  4852. },
  4853. _Utf8Encoder: function _Utf8Encoder(t0) {
  4854. this._bufferIndex = this._carry = 0;
  4855. this._buffer = t0;
  4856. },
  4857. Utf8Decoder: function Utf8Decoder(t0) {
  4858. this._allowMalformed = t0;
  4859. },
  4860. _Utf8Decoder: function _Utf8Decoder(t0, t1) {
  4861. var _ = this;
  4862. _._allowMalformed = t0;
  4863. _._stringSink = t1;
  4864. _._isFirstCharacter = true;
  4865. _._extraUnits = _._expectedUnits = _._convert$_value = 0;
  4866. },
  4867. identityHashCode: function(object) {
  4868. return H.objectHashCode(object);
  4869. },
  4870. Function_apply: function($function, positionalArguments) {
  4871. return H.Primitives_applyFunction($function, positionalArguments, null);
  4872. },
  4873. int_parse: function(source, onError, radix) {
  4874. var value = H.Primitives_parseInt(source, radix);
  4875. if (value != null)
  4876. return value;
  4877. if (onError != null)
  4878. return onError.call$1(source);
  4879. throw H.wrapException(P.FormatException$(source, null, null));
  4880. },
  4881. double_parse: function(source) {
  4882. var value = H.Primitives_parseDouble(source);
  4883. if (value != null)
  4884. return value;
  4885. throw H.wrapException(P.FormatException$("Invalid double", source, null));
  4886. },
  4887. Error__objectToString: function(object) {
  4888. if (object instanceof H.Closure)
  4889. return object.toString$0(0);
  4890. return "Instance of '" + H.S(H.Primitives_objectTypeName(object)) + "'";
  4891. },
  4892. List_List$filled: function($length, fill, $E) {
  4893. var t1, i,
  4894. result = J.JSArray_JSArray$fixed($length, $E);
  4895. if ($length !== 0 && fill != null)
  4896. for (t1 = result.length, i = 0; i < t1; ++i)
  4897. result[i] = fill;
  4898. return result;
  4899. },
  4900. List_List$from: function(elements, growable, $E) {
  4901. var t1,
  4902. list = H.setRuntimeTypeInfo([], [$E]);
  4903. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  4904. list.push(t1.get$current(t1));
  4905. if (growable)
  4906. return list;
  4907. return J.JSArray_markFixedList(list);
  4908. },
  4909. List_List$unmodifiable: function(elements, $E) {
  4910. return J.JSArray_markUnmodifiableList(P.List_List$from(elements, false, $E));
  4911. },
  4912. String_String$fromCharCodes: function(charCodes, start, end) {
  4913. var len;
  4914. if (typeof charCodes === "object" && charCodes !== null && charCodes.constructor === Array) {
  4915. len = charCodes.length;
  4916. end = P.RangeError_checkValidRange(start, end, len);
  4917. return H.Primitives_stringFromCharCodes(start > 0 || end < len ? C.JSArray_methods.sublist$2(charCodes, start, end) : charCodes);
  4918. }
  4919. if (!!J.getInterceptor$(charCodes).$isNativeUint8List)
  4920. return H.Primitives_stringFromNativeUint8List(charCodes, start, P.RangeError_checkValidRange(start, end, charCodes.length));
  4921. return P.String__stringFromIterable(charCodes, start, end);
  4922. },
  4923. String_String$fromCharCode: function(charCode) {
  4924. return H.Primitives_stringFromCharCode(charCode);
  4925. },
  4926. String__stringFromIterable: function(charCodes, start, end) {
  4927. var t1, it, i, list, _null = null;
  4928. if (start < 0)
  4929. throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null));
  4930. t1 = end == null;
  4931. if (!t1 && end < start)
  4932. throw H.wrapException(P.RangeError$range(end, start, J.get$length$asx(charCodes), _null, _null));
  4933. it = J.get$iterator$ax(charCodes);
  4934. for (i = 0; i < start; ++i)
  4935. if (!it.moveNext$0())
  4936. throw H.wrapException(P.RangeError$range(start, 0, i, _null, _null));
  4937. list = [];
  4938. if (t1)
  4939. for (; it.moveNext$0();)
  4940. list.push(it.get$current(it));
  4941. else
  4942. for (i = start; i < end; ++i) {
  4943. if (!it.moveNext$0())
  4944. throw H.wrapException(P.RangeError$range(end, start, i, _null, _null));
  4945. list.push(it.get$current(it));
  4946. }
  4947. return H.Primitives_stringFromCharCodes(list);
  4948. },
  4949. RegExp_RegExp: function(source, multiLine) {
  4950. return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, multiLine, true, false, false, false));
  4951. },
  4952. identical: function(a, b) {
  4953. return a == null ? b == null : a === b;
  4954. },
  4955. StringBuffer__writeAll: function(string, objects, separator) {
  4956. var iterator = J.get$iterator$ax(objects);
  4957. if (!iterator.moveNext$0())
  4958. return string;
  4959. if (separator.length === 0) {
  4960. do
  4961. string += H.S(iterator.get$current(iterator));
  4962. while (iterator.moveNext$0());
  4963. } else {
  4964. string += H.S(iterator.get$current(iterator));
  4965. for (; iterator.moveNext$0();)
  4966. string = string + separator + H.S(iterator.get$current(iterator));
  4967. }
  4968. return string;
  4969. },
  4970. NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) {
  4971. return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments);
  4972. },
  4973. Uri_base: function() {
  4974. var uri = H.Primitives_currentUri();
  4975. if (uri != null)
  4976. return P.Uri_parse(uri);
  4977. throw H.wrapException(P.UnsupportedError$("'Uri.base' is not supported"));
  4978. },
  4979. _Uri__uriEncode: function(canonicalTable, text, encoding, spaceToPlus) {
  4980. var t1, bytes, i, t2, byte,
  4981. _s16_ = "0123456789ABCDEF";
  4982. if (encoding === C.C_Utf8Codec) {
  4983. t1 = $.$get$_Uri__needsNoEncoding()._nativeRegExp;
  4984. if (typeof text !== "string")
  4985. H.throwExpression(H.argumentErrorValue(text));
  4986. t1 = t1.test(text);
  4987. } else
  4988. t1 = false;
  4989. if (t1)
  4990. return text;
  4991. bytes = encoding.get$encoder().convert$1(text);
  4992. for (t1 = bytes.length, i = 0, t2 = ""; i < t1; ++i) {
  4993. byte = bytes[i];
  4994. if (byte < 128 && (canonicalTable[byte >>> 4] & 1 << (byte & 15)) !== 0)
  4995. t2 += H.Primitives_stringFromCharCode(byte);
  4996. else
  4997. t2 = spaceToPlus && byte === 32 ? t2 + "+" : t2 + "%" + _s16_[byte >>> 4 & 15] + _s16_[byte & 15];
  4998. }
  4999. return t2.charCodeAt(0) == 0 ? t2 : t2;
  5000. },
  5001. StackTrace_current: function() {
  5002. var stackTrace, exception;
  5003. if ($.$get$_hasErrorStackProperty())
  5004. return H.getTraceFromException(new Error());
  5005. try {
  5006. throw H.wrapException("");
  5007. } catch (exception) {
  5008. H.unwrapException(exception);
  5009. stackTrace = H.getTraceFromException(exception);
  5010. return stackTrace;
  5011. }
  5012. },
  5013. DateTime$_withValue: function(_value, isUtc) {
  5014. var t1;
  5015. if (Math.abs(_value) <= 864e13)
  5016. t1 = false;
  5017. else
  5018. t1 = true;
  5019. if (t1)
  5020. H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + _value));
  5021. return new P.DateTime(_value, false);
  5022. },
  5023. DateTime__fourDigits: function(n) {
  5024. var absN = Math.abs(n),
  5025. sign = n < 0 ? "-" : "";
  5026. if (absN >= 1000)
  5027. return "" + n;
  5028. if (absN >= 100)
  5029. return sign + "0" + absN;
  5030. if (absN >= 10)
  5031. return sign + "00" + absN;
  5032. return sign + "000" + absN;
  5033. },
  5034. DateTime__threeDigits: function(n) {
  5035. if (n >= 100)
  5036. return "" + n;
  5037. if (n >= 10)
  5038. return "0" + n;
  5039. return "00" + n;
  5040. },
  5041. DateTime__twoDigits: function(n) {
  5042. if (n >= 10)
  5043. return "" + n;
  5044. return "0" + n;
  5045. },
  5046. Duration$: function(milliseconds) {
  5047. return new P.Duration(1000 * milliseconds);
  5048. },
  5049. Error_safeToString: function(object) {
  5050. if (typeof object === "number" || typeof object === "boolean" || null == object)
  5051. return J.toString$0$(object);
  5052. if (typeof object === "string")
  5053. return JSON.stringify(object);
  5054. return P.Error__objectToString(object);
  5055. },
  5056. ArgumentError$: function(message) {
  5057. return new P.ArgumentError(false, null, null, message);
  5058. },
  5059. ArgumentError$value: function(value, $name, message) {
  5060. return new P.ArgumentError(true, value, $name, message);
  5061. },
  5062. ArgumentError$notNull: function($name) {
  5063. return new P.ArgumentError(false, null, $name, "Must not be null");
  5064. },
  5065. RangeError$: function(message) {
  5066. var _null = null;
  5067. return new P.RangeError(_null, _null, false, _null, _null, message);
  5068. },
  5069. RangeError$value: function(value, $name, message) {
  5070. return new P.RangeError(null, null, true, value, $name, message != null ? message : "Value not in range");
  5071. },
  5072. RangeError$range: function(invalidValue, minValue, maxValue, $name, message) {
  5073. return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
  5074. },
  5075. RangeError_checkValueInInterval: function(value, minValue, maxValue, $name) {
  5076. if (value < minValue || value > maxValue)
  5077. throw H.wrapException(P.RangeError$range(value, minValue, maxValue, $name, null));
  5078. },
  5079. RangeError_checkValidIndex: function(index, indexable, $name) {
  5080. var $length = indexable.get$length(indexable);
  5081. if (0 > index || index >= $length)
  5082. throw H.wrapException(P.IndexError$(index, indexable, $name == null ? "index" : $name, null, $length));
  5083. },
  5084. RangeError_checkValidRange: function(start, end, $length) {
  5085. if (0 > start || start > $length)
  5086. throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null));
  5087. if (end != null) {
  5088. if (start > end || end > $length)
  5089. throw H.wrapException(P.RangeError$range(end, start, $length, "end", null));
  5090. return end;
  5091. }
  5092. return $length;
  5093. },
  5094. RangeError_checkNotNegative: function(value, $name) {
  5095. if (value < 0)
  5096. throw H.wrapException(P.RangeError$range(value, 0, null, $name, null));
  5097. },
  5098. IndexError$: function(invalidValue, indexable, $name, message, $length) {
  5099. var t1 = $length == null ? J.get$length$asx(indexable) : $length;
  5100. return new P.IndexError(t1, true, invalidValue, $name, "Index out of range");
  5101. },
  5102. UnsupportedError$: function(message) {
  5103. return new P.UnsupportedError(message);
  5104. },
  5105. UnimplementedError$: function(message) {
  5106. return new P.UnimplementedError(message);
  5107. },
  5108. StateError$: function(message) {
  5109. return new P.StateError(message);
  5110. },
  5111. ConcurrentModificationError$: function(modifiedObject) {
  5112. return new P.ConcurrentModificationError(modifiedObject);
  5113. },
  5114. FormatException$: function(message, source, offset) {
  5115. return new P.FormatException(message, source, offset);
  5116. },
  5117. Iterable_Iterable$generate: function(count, generator, $E) {
  5118. if (count <= 0)
  5119. return new H.EmptyIterable([$E]);
  5120. return new P._GeneratorIterable(count, generator, [$E]);
  5121. },
  5122. List_List$generate: function($length, generator, growable, $E) {
  5123. var result, t1, i;
  5124. if (growable) {
  5125. result = H.setRuntimeTypeInfo([], [$E]);
  5126. C.JSArray_methods.set$length(result, $length);
  5127. } else {
  5128. t1 = new Array($length);
  5129. t1.fixed$length = Array;
  5130. result = H.setRuntimeTypeInfo(t1, [$E]);
  5131. }
  5132. for (i = 0; i < $length; ++i)
  5133. result[i] = generator.call$1(i);
  5134. return result;
  5135. },
  5136. print: function(object) {
  5137. var line = H.S(object),
  5138. t1 = $.printToZone;
  5139. if (t1 == null)
  5140. H.printString(line);
  5141. else
  5142. t1.call$1(line);
  5143. },
  5144. Set_castFrom: function(source, newSet, $S, $T) {
  5145. return new H.CastSet(source, newSet, [$S, $T]);
  5146. },
  5147. _combineSurrogatePair: function(start, end) {
  5148. return 65536 + ((start & 1023) << 10) + (end & 1023);
  5149. },
  5150. Uri_Uri$dataFromString: function($content, encoding, mimeType) {
  5151. var encodingName, t1,
  5152. buffer = new P.StringBuffer(""),
  5153. indices = H.setRuntimeTypeInfo([-1], [P.int]);
  5154. if (encoding == null)
  5155. encodingName = null;
  5156. else
  5157. encodingName = "utf-8";
  5158. if (encoding == null)
  5159. encoding = C.C_AsciiCodec;
  5160. P.UriData__writeUri(mimeType, encodingName, null, buffer, indices);
  5161. indices.push(buffer._contents.length);
  5162. buffer._contents += ",";
  5163. P.UriData__uriEncodeBytes(C.List_CVk, encoding.encode$1($content), buffer);
  5164. t1 = buffer._contents;
  5165. return new P.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, null).get$uri();
  5166. },
  5167. Uri_parse: function(uri) {
  5168. var delta, t1, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t2, schemeAuth, queryStart0, pathStart0, _null = null,
  5169. end = uri.length;
  5170. if (end >= 5) {
  5171. delta = ((J._codeUnitAt$1$s(uri, 4) ^ 58) * 3 | C.JSString_methods._codeUnitAt$1(uri, 0) ^ 100 | C.JSString_methods._codeUnitAt$1(uri, 1) ^ 97 | C.JSString_methods._codeUnitAt$1(uri, 2) ^ 116 | C.JSString_methods._codeUnitAt$1(uri, 3) ^ 97) >>> 0;
  5172. if (delta === 0)
  5173. return P.UriData__parse(end < end ? C.JSString_methods.substring$2(uri, 0, end) : uri, 5, _null).get$uri();
  5174. else if (delta === 32)
  5175. return P.UriData__parse(C.JSString_methods.substring$2(uri, 5, end), 0, _null).get$uri();
  5176. }
  5177. t1 = new Array(8);
  5178. t1.fixed$length = Array;
  5179. indices = H.setRuntimeTypeInfo(t1, [P.int]);
  5180. indices[0] = 0;
  5181. indices[1] = -1;
  5182. indices[2] = -1;
  5183. indices[7] = -1;
  5184. indices[3] = 0;
  5185. indices[4] = 0;
  5186. indices[5] = end;
  5187. indices[6] = end;
  5188. if (P._scan(uri, 0, end, 0, indices) >= 14)
  5189. indices[7] = end;
  5190. schemeEnd = indices[1];
  5191. if (schemeEnd >= 0)
  5192. if (P._scan(uri, 0, schemeEnd, 20, indices) === 20)
  5193. indices[7] = schemeEnd;
  5194. hostStart = indices[2] + 1;
  5195. portStart = indices[3];
  5196. pathStart = indices[4];
  5197. queryStart = indices[5];
  5198. fragmentStart = indices[6];
  5199. if (fragmentStart < queryStart)
  5200. queryStart = fragmentStart;
  5201. if (pathStart < hostStart)
  5202. pathStart = queryStart;
  5203. else if (pathStart <= schemeEnd)
  5204. pathStart = schemeEnd + 1;
  5205. if (portStart < hostStart)
  5206. portStart = pathStart;
  5207. isSimple = indices[7] < 0;
  5208. if (isSimple)
  5209. if (hostStart > schemeEnd + 3) {
  5210. scheme = _null;
  5211. isSimple = false;
  5212. } else {
  5213. t1 = portStart > 0;
  5214. if (t1 && portStart + 1 === pathStart) {
  5215. scheme = _null;
  5216. isSimple = false;
  5217. } else {
  5218. if (!(queryStart < end && queryStart === pathStart + 2 && J.startsWith$2$s(uri, "..", pathStart)))
  5219. t2 = queryStart > pathStart + 2 && J.startsWith$2$s(uri, "/..", queryStart - 3);
  5220. else
  5221. t2 = true;
  5222. if (t2) {
  5223. scheme = _null;
  5224. isSimple = false;
  5225. } else {
  5226. if (schemeEnd === 4)
  5227. if (J.startsWith$2$s(uri, "file", 0)) {
  5228. if (hostStart <= 0) {
  5229. if (!C.JSString_methods.startsWith$2(uri, "/", pathStart)) {
  5230. schemeAuth = "file:///";
  5231. delta = 3;
  5232. } else {
  5233. schemeAuth = "file://";
  5234. delta = 2;
  5235. }
  5236. uri = schemeAuth + C.JSString_methods.substring$2(uri, pathStart, end);
  5237. schemeEnd -= 0;
  5238. t1 = delta - 0;
  5239. queryStart += t1;
  5240. fragmentStart += t1;
  5241. end = uri.length;
  5242. hostStart = 7;
  5243. portStart = 7;
  5244. pathStart = 7;
  5245. } else if (pathStart === queryStart) {
  5246. queryStart0 = queryStart + 1;
  5247. ++fragmentStart;
  5248. uri = C.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/");
  5249. ++end;
  5250. queryStart = queryStart0;
  5251. }
  5252. scheme = "file";
  5253. } else if (C.JSString_methods.startsWith$2(uri, "http", 0)) {
  5254. if (t1 && portStart + 3 === pathStart && C.JSString_methods.startsWith$2(uri, "80", portStart + 1)) {
  5255. pathStart0 = pathStart - 3;
  5256. queryStart -= 3;
  5257. fragmentStart -= 3;
  5258. uri = C.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
  5259. end -= 3;
  5260. pathStart = pathStart0;
  5261. }
  5262. scheme = "http";
  5263. } else
  5264. scheme = _null;
  5265. else if (schemeEnd === 5 && J.startsWith$2$s(uri, "https", 0)) {
  5266. if (t1 && portStart + 4 === pathStart && J.startsWith$2$s(uri, "443", portStart + 1)) {
  5267. pathStart0 = pathStart - 4;
  5268. queryStart -= 4;
  5269. fragmentStart -= 4;
  5270. uri = J.replaceRange$3$asx(uri, portStart, pathStart, "");
  5271. end -= 3;
  5272. pathStart = pathStart0;
  5273. }
  5274. scheme = "https";
  5275. } else
  5276. scheme = _null;
  5277. isSimple = true;
  5278. }
  5279. }
  5280. }
  5281. else
  5282. scheme = _null;
  5283. if (isSimple) {
  5284. t1 = uri.length;
  5285. if (end < t1) {
  5286. uri = J.substring$2$s(uri, 0, end);
  5287. schemeEnd -= 0;
  5288. hostStart -= 0;
  5289. portStart -= 0;
  5290. pathStart -= 0;
  5291. queryStart -= 0;
  5292. fragmentStart -= 0;
  5293. }
  5294. return new P._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
  5295. }
  5296. return P._Uri__Uri$notSimple(uri, 0, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
  5297. },
  5298. Uri_decodeComponent: function(encodedComponent) {
  5299. return P._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, C.C_Utf8Codec, false);
  5300. },
  5301. Uri__parseIPv4Address: function(host, start, end) {
  5302. var i, partStart, partIndex, char, part, partIndex0, _null = null,
  5303. _s43_ = "IPv4 address should contain exactly 4 parts",
  5304. _s37_ = "each part must be in the range 0..255",
  5305. error = new P.Uri__parseIPv4Address_error(host),
  5306. result = new Uint8Array(4);
  5307. for (i = start, partStart = i, partIndex = 0; i < end; ++i) {
  5308. char = C.JSString_methods.codeUnitAt$1(host, i);
  5309. if (char !== 46) {
  5310. if ((char ^ 48) > 9)
  5311. error.call$2("invalid character", i);
  5312. } else {
  5313. if (partIndex === 3)
  5314. error.call$2(_s43_, i);
  5315. part = P.int_parse(C.JSString_methods.substring$2(host, partStart, i), _null, _null);
  5316. if (part > 255)
  5317. error.call$2(_s37_, partStart);
  5318. partIndex0 = partIndex + 1;
  5319. result[partIndex] = part;
  5320. partStart = i + 1;
  5321. partIndex = partIndex0;
  5322. }
  5323. }
  5324. if (partIndex !== 3)
  5325. error.call$2(_s43_, end);
  5326. part = P.int_parse(C.JSString_methods.substring$2(host, partStart, end), _null, _null);
  5327. if (part > 255)
  5328. error.call$2(_s37_, partStart);
  5329. result[partIndex] = part;
  5330. return result;
  5331. },
  5332. Uri_parseIPv6Address: function(host, start, end) {
  5333. var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, t1, last, bytes, wildCardLength, index, value, j,
  5334. error = new P.Uri_parseIPv6Address_error(host),
  5335. parseHex = new P.Uri_parseIPv6Address_parseHex(error, host);
  5336. if (host.length < 2)
  5337. error.call$1("address is too short");
  5338. parts = H.setRuntimeTypeInfo([], [P.int]);
  5339. for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) {
  5340. char = C.JSString_methods.codeUnitAt$1(host, i);
  5341. if (char === 58) {
  5342. if (i === start) {
  5343. ++i;
  5344. if (C.JSString_methods.codeUnitAt$1(host, i) !== 58)
  5345. error.call$2("invalid start colon.", i);
  5346. partStart = i;
  5347. }
  5348. if (i === partStart) {
  5349. if (wildcardSeen)
  5350. error.call$2("only one wildcard `::` is allowed", i);
  5351. parts.push(-1);
  5352. wildcardSeen = true;
  5353. } else
  5354. parts.push(parseHex.call$2(partStart, i));
  5355. partStart = i + 1;
  5356. } else if (char === 46)
  5357. seenDot = true;
  5358. }
  5359. if (parts.length === 0)
  5360. error.call$1("too few parts");
  5361. atEnd = partStart === end;
  5362. t1 = C.JSArray_methods.get$last(parts);
  5363. if (atEnd && t1 !== -1)
  5364. error.call$2("expected a part after last `:`", end);
  5365. if (!atEnd)
  5366. if (!seenDot)
  5367. parts.push(parseHex.call$2(partStart, end));
  5368. else {
  5369. last = P.Uri__parseIPv4Address(host, partStart, end);
  5370. parts.push((last[0] << 8 | last[1]) >>> 0);
  5371. parts.push((last[2] << 8 | last[3]) >>> 0);
  5372. }
  5373. if (wildcardSeen) {
  5374. if (parts.length > 7)
  5375. error.call$1("an address with a wildcard must have less than 7 parts");
  5376. } else if (parts.length !== 8)
  5377. error.call$1("an address without a wildcard must contain exactly 8 parts");
  5378. bytes = new Uint8Array(16);
  5379. for (t1 = parts.length, wildCardLength = 9 - t1, i = 0, index = 0; i < t1; ++i) {
  5380. value = parts[i];
  5381. if (value === -1)
  5382. for (j = 0; j < wildCardLength; ++j) {
  5383. bytes[index] = 0;
  5384. bytes[index + 1] = 0;
  5385. index += 2;
  5386. }
  5387. else {
  5388. bytes[index] = C.JSInt_methods._shrOtherPositive$1(value, 8);
  5389. bytes[index + 1] = value & 255;
  5390. index += 2;
  5391. }
  5392. }
  5393. return bytes;
  5394. },
  5395. _Uri__Uri$notSimple: function(uri, start, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme) {
  5396. var userInfoStart, userInfo, host, t1, port, path, query, _null = null;
  5397. if (scheme == null)
  5398. if (schemeEnd > start)
  5399. scheme = P._Uri__makeScheme(uri, start, schemeEnd);
  5400. else {
  5401. if (schemeEnd === start)
  5402. P._Uri__fail(uri, start, "Invalid empty scheme");
  5403. scheme = "";
  5404. }
  5405. if (hostStart > start) {
  5406. userInfoStart = schemeEnd + 3;
  5407. userInfo = userInfoStart < hostStart ? P._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : "";
  5408. host = P._Uri__makeHost(uri, hostStart, portStart, false);
  5409. t1 = portStart + 1;
  5410. port = t1 < pathStart ? P._Uri__makePort(P.int_parse(J.substring$2$s(uri, t1, pathStart), new P._Uri__Uri$notSimple_closure(uri, portStart), _null), scheme) : _null;
  5411. } else {
  5412. port = _null;
  5413. host = port;
  5414. userInfo = "";
  5415. }
  5416. path = P._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null);
  5417. query = queryStart < fragmentStart ? P._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null;
  5418. return new P._Uri(scheme, userInfo, host, port, path, query, fragmentStart < end ? P._Uri__makeFragment(uri, fragmentStart + 1, end) : _null);
  5419. },
  5420. _Uri__Uri: function(host, path, pathSegments, scheme) {
  5421. var userInfo, query, fragment, port, isFile, t1, hasAuthority, t2, _null = null;
  5422. scheme = P._Uri__makeScheme(scheme, 0, scheme == null ? 0 : scheme.length);
  5423. userInfo = P._Uri__makeUserInfo(_null, 0, 0);
  5424. host = P._Uri__makeHost(host, 0, host == null ? 0 : host.length, false);
  5425. query = P._Uri__makeQuery(_null, 0, 0, _null);
  5426. fragment = P._Uri__makeFragment(_null, 0, 0);
  5427. port = P._Uri__makePort(_null, scheme);
  5428. isFile = scheme === "file";
  5429. if (host == null)
  5430. t1 = userInfo.length !== 0 || port != null || isFile;
  5431. else
  5432. t1 = false;
  5433. if (t1)
  5434. host = "";
  5435. t1 = host == null;
  5436. hasAuthority = !t1;
  5437. path = P._Uri__makePath(path, 0, path == null ? 0 : path.length, pathSegments, scheme, hasAuthority);
  5438. t2 = scheme.length === 0;
  5439. if (t2 && t1 && !C.JSString_methods.startsWith$1(path, "/"))
  5440. path = P._Uri__normalizeRelativePath(path, !t2 || hasAuthority);
  5441. else
  5442. path = P._Uri__removeDotSegments(path);
  5443. return new P._Uri(scheme, userInfo, t1 && C.JSString_methods.startsWith$1(path, "//") ? "" : host, port, path, query, fragment);
  5444. },
  5445. _Uri__defaultPort: function(scheme) {
  5446. if (scheme === "http")
  5447. return 80;
  5448. if (scheme === "https")
  5449. return 443;
  5450. return 0;
  5451. },
  5452. _Uri__fail: function(uri, index, message) {
  5453. throw H.wrapException(P.FormatException$(message, uri, index));
  5454. },
  5455. _Uri__Uri$file: function(path, windows) {
  5456. return windows ? P._Uri__makeWindowsFileUrl(path, false) : P._Uri__makeFileUri(path, false);
  5457. },
  5458. _Uri__checkNonWindowsPathReservedCharacters: function(segments, argumentError) {
  5459. C.JSArray_methods.forEach$1(segments, new P._Uri__checkNonWindowsPathReservedCharacters_closure(false));
  5460. },
  5461. _Uri__checkWindowsPathReservedCharacters: function(segments, argumentError, firstSegment) {
  5462. var t1, t2, t3;
  5463. for (t1 = H.SubListIterable$(segments, firstSegment, null, H.getTypeArgumentByIndex(segments, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) {
  5464. t2 = t1.__internal$_current;
  5465. t3 = P.RegExp_RegExp('["*/:<>?\\\\|]', false);
  5466. t2.length;
  5467. if (H.stringContainsUnchecked(t2, t3, 0))
  5468. if (argumentError)
  5469. throw H.wrapException(P.ArgumentError$("Illegal character in path"));
  5470. else
  5471. throw H.wrapException(P.UnsupportedError$("Illegal character in path: " + H.S(t2)));
  5472. }
  5473. },
  5474. _Uri__checkWindowsDriveLetter: function(charCode, argumentError) {
  5475. var t1,
  5476. _s21_ = "Illegal drive letter ";
  5477. if (!(65 <= charCode && charCode <= 90))
  5478. t1 = 97 <= charCode && charCode <= 122;
  5479. else
  5480. t1 = true;
  5481. if (t1)
  5482. return;
  5483. if (argumentError)
  5484. throw H.wrapException(P.ArgumentError$(_s21_ + P.String_String$fromCharCode(charCode)));
  5485. else
  5486. throw H.wrapException(P.UnsupportedError$(_s21_ + P.String_String$fromCharCode(charCode)));
  5487. },
  5488. _Uri__makeFileUri: function(path, slashTerminated) {
  5489. var _null = null,
  5490. segments = H.setRuntimeTypeInfo(path.split("/"), [P.String]);
  5491. if (C.JSString_methods.startsWith$1(path, "/"))
  5492. return P._Uri__Uri(_null, _null, segments, "file");
  5493. else
  5494. return P._Uri__Uri(_null, _null, segments, _null);
  5495. },
  5496. _Uri__makeWindowsFileUrl: function(path, slashTerminated) {
  5497. var t1, pathSegments, pathStart, hostPart, _s1_ = "\\", _null = null, _s4_ = "file";
  5498. if (C.JSString_methods.startsWith$1(path, "\\\\?\\"))
  5499. if (C.JSString_methods.startsWith$2(path, "UNC\\", 4))
  5500. path = C.JSString_methods.replaceRange$3(path, 0, 7, _s1_);
  5501. else {
  5502. path = C.JSString_methods.substring$1(path, 4);
  5503. if (path.length < 3 || C.JSString_methods._codeUnitAt$1(path, 1) !== 58 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92)
  5504. throw H.wrapException(P.ArgumentError$("Windows paths with \\\\?\\ prefix must be absolute"));
  5505. }
  5506. else
  5507. path = H.stringReplaceAllUnchecked(path, "/", _s1_);
  5508. t1 = path.length;
  5509. if (t1 > 1 && C.JSString_methods._codeUnitAt$1(path, 1) === 58) {
  5510. P._Uri__checkWindowsDriveLetter(C.JSString_methods._codeUnitAt$1(path, 0), true);
  5511. if (t1 === 2 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92)
  5512. throw H.wrapException(P.ArgumentError$("Windows paths with drive letter must be absolute"));
  5513. pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]);
  5514. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1);
  5515. return P._Uri__Uri(_null, _null, pathSegments, _s4_);
  5516. }
  5517. if (C.JSString_methods.startsWith$1(path, _s1_))
  5518. if (C.JSString_methods.startsWith$2(path, _s1_, 1)) {
  5519. pathStart = C.JSString_methods.indexOf$2(path, _s1_, 2);
  5520. t1 = pathStart < 0;
  5521. hostPart = t1 ? C.JSString_methods.substring$1(path, 2) : C.JSString_methods.substring$2(path, 2, pathStart);
  5522. pathSegments = H.setRuntimeTypeInfo((t1 ? "" : C.JSString_methods.substring$1(path, pathStart + 1)).split(_s1_), [P.String]);
  5523. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
  5524. return P._Uri__Uri(hostPart, _null, pathSegments, _s4_);
  5525. } else {
  5526. pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]);
  5527. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
  5528. return P._Uri__Uri(_null, _null, pathSegments, _s4_);
  5529. }
  5530. else {
  5531. pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]);
  5532. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
  5533. return P._Uri__Uri(_null, _null, pathSegments, _null);
  5534. }
  5535. },
  5536. _Uri__makePort: function(port, scheme) {
  5537. if (port != null && port === P._Uri__defaultPort(scheme))
  5538. return;
  5539. return port;
  5540. },
  5541. _Uri__makeHost: function(host, start, end, strictIPv6) {
  5542. var t1, t2, index, zoneIDstart, zoneID, i;
  5543. if (host == null)
  5544. return;
  5545. if (start === end)
  5546. return "";
  5547. if (C.JSString_methods.codeUnitAt$1(host, start) === 91) {
  5548. t1 = end - 1;
  5549. if (C.JSString_methods.codeUnitAt$1(host, t1) !== 93)
  5550. P._Uri__fail(host, start, "Missing end `]` to match `[` in host");
  5551. t2 = start + 1;
  5552. index = P._Uri__checkZoneID(host, t2, t1);
  5553. if (index < t1) {
  5554. zoneIDstart = index + 1;
  5555. zoneID = P._Uri__normalizeZoneID(host, C.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t1, "%25");
  5556. } else
  5557. zoneID = "";
  5558. P.Uri_parseIPv6Address(host, t2, index);
  5559. return C.JSString_methods.substring$2(host, start, index).toLowerCase() + zoneID + "]";
  5560. }
  5561. for (i = start; i < end; ++i)
  5562. if (C.JSString_methods.codeUnitAt$1(host, i) === 58) {
  5563. index = C.JSString_methods.indexOf$2(host, "%", start);
  5564. index = index >= start && index < end ? index : end;
  5565. if (index < end) {
  5566. zoneIDstart = index + 1;
  5567. zoneID = P._Uri__normalizeZoneID(host, C.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, end, "%25");
  5568. } else
  5569. zoneID = "";
  5570. P.Uri_parseIPv6Address(host, start, index);
  5571. return "[" + C.JSString_methods.substring$2(host, start, index) + zoneID + "]";
  5572. }
  5573. return P._Uri__normalizeRegName(host, start, end);
  5574. },
  5575. _Uri__checkZoneID: function(host, start, end) {
  5576. var index = C.JSString_methods.indexOf$2(host, "%", start);
  5577. return index >= start && index < end ? index : end;
  5578. },
  5579. _Uri__normalizeZoneID: function(host, start, end, prefix) {
  5580. var index, sectionStart, isNormalized, char, replacement, t1, t2, tail, sourceLength,
  5581. buffer = prefix !== "" ? new P.StringBuffer(prefix) : null;
  5582. for (index = start, sectionStart = index, isNormalized = true; index < end;) {
  5583. char = C.JSString_methods.codeUnitAt$1(host, index);
  5584. if (char === 37) {
  5585. replacement = P._Uri__normalizeEscape(host, index, true);
  5586. t1 = replacement == null;
  5587. if (t1 && isNormalized) {
  5588. index += 3;
  5589. continue;
  5590. }
  5591. if (buffer == null)
  5592. buffer = new P.StringBuffer("");
  5593. t2 = buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
  5594. if (t1)
  5595. replacement = C.JSString_methods.substring$2(host, index, index + 3);
  5596. else if (replacement === "%")
  5597. P._Uri__fail(host, index, "ZoneID should not contain % anymore");
  5598. buffer._contents = t2 + replacement;
  5599. index += 3;
  5600. sectionStart = index;
  5601. isNormalized = true;
  5602. } else if (char < 127 && (C.List_nxB[char >>> 4] & 1 << (char & 15)) !== 0) {
  5603. if (isNormalized && 65 <= char && 90 >= char) {
  5604. if (buffer == null)
  5605. buffer = new P.StringBuffer("");
  5606. if (sectionStart < index) {
  5607. buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
  5608. sectionStart = index;
  5609. }
  5610. isNormalized = false;
  5611. }
  5612. ++index;
  5613. } else {
  5614. if ((char & 64512) === 55296 && index + 1 < end) {
  5615. tail = C.JSString_methods.codeUnitAt$1(host, index + 1);
  5616. if ((tail & 64512) === 56320) {
  5617. char = 65536 | (char & 1023) << 10 | tail & 1023;
  5618. sourceLength = 2;
  5619. } else
  5620. sourceLength = 1;
  5621. } else
  5622. sourceLength = 1;
  5623. if (buffer == null)
  5624. buffer = new P.StringBuffer("");
  5625. buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
  5626. buffer._contents += P._Uri__escapeChar(char);
  5627. index += sourceLength;
  5628. sectionStart = index;
  5629. }
  5630. }
  5631. if (buffer == null)
  5632. return C.JSString_methods.substring$2(host, start, end);
  5633. if (sectionStart < end)
  5634. buffer._contents += C.JSString_methods.substring$2(host, sectionStart, end);
  5635. t1 = buffer._contents;
  5636. return t1.charCodeAt(0) == 0 ? t1 : t1;
  5637. },
  5638. _Uri__normalizeRegName: function(host, start, end) {
  5639. var index, sectionStart, buffer, isNormalized, char, replacement, t1, slice, t2, sourceLength, tail;
  5640. for (index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) {
  5641. char = C.JSString_methods.codeUnitAt$1(host, index);
  5642. if (char === 37) {
  5643. replacement = P._Uri__normalizeEscape(host, index, true);
  5644. t1 = replacement == null;
  5645. if (t1 && isNormalized) {
  5646. index += 3;
  5647. continue;
  5648. }
  5649. if (buffer == null)
  5650. buffer = new P.StringBuffer("");
  5651. slice = C.JSString_methods.substring$2(host, sectionStart, index);
  5652. t2 = buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
  5653. if (t1) {
  5654. replacement = C.JSString_methods.substring$2(host, index, index + 3);
  5655. sourceLength = 3;
  5656. } else if (replacement === "%") {
  5657. replacement = "%25";
  5658. sourceLength = 1;
  5659. } else
  5660. sourceLength = 3;
  5661. buffer._contents = t2 + replacement;
  5662. index += sourceLength;
  5663. sectionStart = index;
  5664. isNormalized = true;
  5665. } else if (char < 127 && (C.List_qNA[char >>> 4] & 1 << (char & 15)) !== 0) {
  5666. if (isNormalized && 65 <= char && 90 >= char) {
  5667. if (buffer == null)
  5668. buffer = new P.StringBuffer("");
  5669. if (sectionStart < index) {
  5670. buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
  5671. sectionStart = index;
  5672. }
  5673. isNormalized = false;
  5674. }
  5675. ++index;
  5676. } else if (char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0)
  5677. P._Uri__fail(host, index, "Invalid character");
  5678. else {
  5679. if ((char & 64512) === 55296 && index + 1 < end) {
  5680. tail = C.JSString_methods.codeUnitAt$1(host, index + 1);
  5681. if ((tail & 64512) === 56320) {
  5682. char = 65536 | (char & 1023) << 10 | tail & 1023;
  5683. sourceLength = 2;
  5684. } else
  5685. sourceLength = 1;
  5686. } else
  5687. sourceLength = 1;
  5688. if (buffer == null)
  5689. buffer = new P.StringBuffer("");
  5690. slice = C.JSString_methods.substring$2(host, sectionStart, index);
  5691. buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
  5692. buffer._contents += P._Uri__escapeChar(char);
  5693. index += sourceLength;
  5694. sectionStart = index;
  5695. }
  5696. }
  5697. if (buffer == null)
  5698. return C.JSString_methods.substring$2(host, start, end);
  5699. if (sectionStart < end) {
  5700. slice = C.JSString_methods.substring$2(host, sectionStart, end);
  5701. buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
  5702. }
  5703. t1 = buffer._contents;
  5704. return t1.charCodeAt(0) == 0 ? t1 : t1;
  5705. },
  5706. _Uri__makeScheme: function(scheme, start, end) {
  5707. var i, containsUpperCase, codeUnit;
  5708. if (start === end)
  5709. return "";
  5710. if (!P._Uri__isAlphabeticCharacter(J.getInterceptor$s(scheme)._codeUnitAt$1(scheme, start)))
  5711. P._Uri__fail(scheme, start, "Scheme not starting with alphabetic character");
  5712. for (i = start, containsUpperCase = false; i < end; ++i) {
  5713. codeUnit = C.JSString_methods._codeUnitAt$1(scheme, i);
  5714. if (!(codeUnit < 128 && (C.List_JYB[codeUnit >>> 4] & 1 << (codeUnit & 15)) !== 0))
  5715. P._Uri__fail(scheme, i, "Illegal scheme character");
  5716. if (65 <= codeUnit && codeUnit <= 90)
  5717. containsUpperCase = true;
  5718. }
  5719. scheme = C.JSString_methods.substring$2(scheme, start, end);
  5720. return P._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme);
  5721. },
  5722. _Uri__canonicalizeScheme: function(scheme) {
  5723. if (scheme === "http")
  5724. return "http";
  5725. if (scheme === "file")
  5726. return "file";
  5727. if (scheme === "https")
  5728. return "https";
  5729. if (scheme === "package")
  5730. return "package";
  5731. return scheme;
  5732. },
  5733. _Uri__makeUserInfo: function(userInfo, start, end) {
  5734. if (userInfo == null)
  5735. return "";
  5736. return P._Uri__normalizeOrSubstring(userInfo, start, end, C.List_gRj, false);
  5737. },
  5738. _Uri__makePath: function(path, start, end, pathSegments, scheme, hasAuthority) {
  5739. var result,
  5740. isFile = scheme === "file",
  5741. ensureLeadingSlash = isFile || hasAuthority,
  5742. t1 = path == null;
  5743. if (t1 && pathSegments == null)
  5744. return isFile ? "/" : "";
  5745. t1 = !t1;
  5746. if (t1 && pathSegments != null)
  5747. throw H.wrapException(P.ArgumentError$("Both path and pathSegments specified"));
  5748. if (t1)
  5749. result = P._Uri__normalizeOrSubstring(path, start, end, C.List_qg4, true);
  5750. else {
  5751. pathSegments.toString;
  5752. result = new H.MappedListIterable(pathSegments, new P._Uri__makePath_closure(), [H.getTypeArgumentByIndex(pathSegments, 0), P.String]).join$1(0, "/");
  5753. }
  5754. if (result.length === 0) {
  5755. if (isFile)
  5756. return "/";
  5757. } else if (ensureLeadingSlash && !C.JSString_methods.startsWith$1(result, "/"))
  5758. result = "/" + result;
  5759. return P._Uri__normalizePath(result, scheme, hasAuthority);
  5760. },
  5761. _Uri__normalizePath: function(path, scheme, hasAuthority) {
  5762. var t1 = scheme.length === 0;
  5763. if (t1 && !hasAuthority && !C.JSString_methods.startsWith$1(path, "/"))
  5764. return P._Uri__normalizeRelativePath(path, !t1 || hasAuthority);
  5765. return P._Uri__removeDotSegments(path);
  5766. },
  5767. _Uri__makeQuery: function(query, start, end, queryParameters) {
  5768. if (query != null)
  5769. return P._Uri__normalizeOrSubstring(query, start, end, C.List_CVk, true);
  5770. return;
  5771. },
  5772. _Uri__makeFragment: function(fragment, start, end) {
  5773. if (fragment == null)
  5774. return;
  5775. return P._Uri__normalizeOrSubstring(fragment, start, end, C.List_CVk, true);
  5776. },
  5777. _Uri__normalizeEscape: function(source, index, lowerCase) {
  5778. var firstDigit, secondDigit, firstDigitValue, secondDigitValue, value,
  5779. t1 = index + 2;
  5780. if (t1 >= source.length)
  5781. return "%";
  5782. firstDigit = C.JSString_methods.codeUnitAt$1(source, index + 1);
  5783. secondDigit = C.JSString_methods.codeUnitAt$1(source, t1);
  5784. firstDigitValue = H.hexDigitValue(firstDigit);
  5785. secondDigitValue = H.hexDigitValue(secondDigit);
  5786. if (firstDigitValue < 0 || secondDigitValue < 0)
  5787. return "%";
  5788. value = firstDigitValue * 16 + secondDigitValue;
  5789. if (value < 127 && (C.List_nxB[C.JSInt_methods._shrOtherPositive$1(value, 4)] & 1 << (value & 15)) !== 0)
  5790. return H.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value);
  5791. if (firstDigit >= 97 || secondDigit >= 97)
  5792. return C.JSString_methods.substring$2(source, index, index + 3).toUpperCase();
  5793. return;
  5794. },
  5795. _Uri__escapeChar: function(char) {
  5796. var t1, codeUnits, flag, encodedBytes, index, byte,
  5797. _s16_ = "0123456789ABCDEF";
  5798. if (char < 128) {
  5799. t1 = new Array(3);
  5800. t1.fixed$length = Array;
  5801. codeUnits = H.setRuntimeTypeInfo(t1, [P.int]);
  5802. codeUnits[0] = 37;
  5803. codeUnits[1] = C.JSString_methods._codeUnitAt$1(_s16_, char >>> 4);
  5804. codeUnits[2] = C.JSString_methods._codeUnitAt$1(_s16_, char & 15);
  5805. } else {
  5806. if (char > 2047)
  5807. if (char > 65535) {
  5808. flag = 240;
  5809. encodedBytes = 4;
  5810. } else {
  5811. flag = 224;
  5812. encodedBytes = 3;
  5813. }
  5814. else {
  5815. flag = 192;
  5816. encodedBytes = 2;
  5817. }
  5818. t1 = new Array(3 * encodedBytes);
  5819. t1.fixed$length = Array;
  5820. codeUnits = H.setRuntimeTypeInfo(t1, [P.int]);
  5821. for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) {
  5822. byte = C.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag;
  5823. codeUnits[index] = 37;
  5824. codeUnits[index + 1] = C.JSString_methods._codeUnitAt$1(_s16_, byte >>> 4);
  5825. codeUnits[index + 2] = C.JSString_methods._codeUnitAt$1(_s16_, byte & 15);
  5826. index += 3;
  5827. }
  5828. }
  5829. return P.String_String$fromCharCodes(codeUnits, 0, null);
  5830. },
  5831. _Uri__normalizeOrSubstring: function(component, start, end, charTable, escapeDelimiters) {
  5832. var t1 = P._Uri__normalize(component, start, end, charTable, escapeDelimiters);
  5833. return t1 == null ? C.JSString_methods.substring$2(component, start, end) : t1;
  5834. },
  5835. _Uri__normalize: function(component, start, end, charTable, escapeDelimiters) {
  5836. var t1, index, sectionStart, buffer, char, replacement, sourceLength, t2, tail;
  5837. for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = null; index < end;) {
  5838. char = C.JSString_methods.codeUnitAt$1(component, index);
  5839. if (char < 127 && (charTable[char >>> 4] & 1 << (char & 15)) !== 0)
  5840. ++index;
  5841. else {
  5842. if (char === 37) {
  5843. replacement = P._Uri__normalizeEscape(component, index, false);
  5844. if (replacement == null) {
  5845. index += 3;
  5846. continue;
  5847. }
  5848. if ("%" === replacement) {
  5849. replacement = "%25";
  5850. sourceLength = 1;
  5851. } else
  5852. sourceLength = 3;
  5853. } else if (t1 && char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0) {
  5854. P._Uri__fail(component, index, "Invalid character");
  5855. replacement = null;
  5856. sourceLength = null;
  5857. } else {
  5858. if ((char & 64512) === 55296) {
  5859. t2 = index + 1;
  5860. if (t2 < end) {
  5861. tail = C.JSString_methods.codeUnitAt$1(component, t2);
  5862. if ((tail & 64512) === 56320) {
  5863. char = 65536 | (char & 1023) << 10 | tail & 1023;
  5864. sourceLength = 2;
  5865. } else
  5866. sourceLength = 1;
  5867. } else
  5868. sourceLength = 1;
  5869. } else
  5870. sourceLength = 1;
  5871. replacement = P._Uri__escapeChar(char);
  5872. }
  5873. if (buffer == null)
  5874. buffer = new P.StringBuffer("");
  5875. buffer._contents += C.JSString_methods.substring$2(component, sectionStart, index);
  5876. buffer._contents += H.S(replacement);
  5877. index += sourceLength;
  5878. sectionStart = index;
  5879. }
  5880. }
  5881. if (buffer == null)
  5882. return;
  5883. if (sectionStart < end)
  5884. buffer._contents += C.JSString_methods.substring$2(component, sectionStart, end);
  5885. t1 = buffer._contents;
  5886. return t1.charCodeAt(0) == 0 ? t1 : t1;
  5887. },
  5888. _Uri__mayContainDotSegments: function(path) {
  5889. if (C.JSString_methods.startsWith$1(path, "."))
  5890. return true;
  5891. return C.JSString_methods.indexOf$1(path, "/.") !== -1;
  5892. },
  5893. _Uri__removeDotSegments: function(path) {
  5894. var output, t1, t2, appendSlash, _i, segment;
  5895. if (!P._Uri__mayContainDotSegments(path))
  5896. return path;
  5897. output = H.setRuntimeTypeInfo([], [P.String]);
  5898. for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
  5899. segment = t1[_i];
  5900. if (J.$eq$(segment, "..")) {
  5901. if (output.length !== 0) {
  5902. output.pop();
  5903. if (output.length === 0)
  5904. output.push("");
  5905. }
  5906. appendSlash = true;
  5907. } else if ("." === segment)
  5908. appendSlash = true;
  5909. else {
  5910. output.push(segment);
  5911. appendSlash = false;
  5912. }
  5913. }
  5914. if (appendSlash)
  5915. output.push("");
  5916. return C.JSArray_methods.join$1(output, "/");
  5917. },
  5918. _Uri__normalizeRelativePath: function(path, allowScheme) {
  5919. var output, t1, t2, appendSlash, _i, segment;
  5920. if (!P._Uri__mayContainDotSegments(path))
  5921. return !allowScheme ? P._Uri__escapeScheme(path) : path;
  5922. output = H.setRuntimeTypeInfo([], [P.String]);
  5923. for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
  5924. segment = t1[_i];
  5925. if (".." === segment)
  5926. if (output.length !== 0 && C.JSArray_methods.get$last(output) !== "..") {
  5927. output.pop();
  5928. appendSlash = true;
  5929. } else {
  5930. output.push("..");
  5931. appendSlash = false;
  5932. }
  5933. else if ("." === segment)
  5934. appendSlash = true;
  5935. else {
  5936. output.push(segment);
  5937. appendSlash = false;
  5938. }
  5939. }
  5940. t1 = output.length;
  5941. if (t1 !== 0)
  5942. t1 = t1 === 1 && output[0].length === 0;
  5943. else
  5944. t1 = true;
  5945. if (t1)
  5946. return "./";
  5947. if (appendSlash || C.JSArray_methods.get$last(output) === "..")
  5948. output.push("");
  5949. if (!allowScheme)
  5950. output[0] = P._Uri__escapeScheme(output[0]);
  5951. return C.JSArray_methods.join$1(output, "/");
  5952. },
  5953. _Uri__escapeScheme: function(path) {
  5954. var i, char,
  5955. t1 = path.length;
  5956. if (t1 >= 2 && P._Uri__isAlphabeticCharacter(J._codeUnitAt$1$s(path, 0)))
  5957. for (i = 1; i < t1; ++i) {
  5958. char = C.JSString_methods._codeUnitAt$1(path, i);
  5959. if (char === 58)
  5960. return C.JSString_methods.substring$2(path, 0, i) + "%3A" + C.JSString_methods.substring$1(path, i + 1);
  5961. if (char > 127 || (C.List_JYB[char >>> 4] & 1 << (char & 15)) === 0)
  5962. break;
  5963. }
  5964. return path;
  5965. },
  5966. _Uri__toWindowsFilePath: function(uri) {
  5967. var hasDriveLetter, t2, host,
  5968. segments = uri.get$pathSegments(),
  5969. t1 = segments.length;
  5970. if (t1 > 0 && J.get$length$asx(segments[0]) === 2 && J.codeUnitAt$1$s(segments[0], 1) === 58) {
  5971. P._Uri__checkWindowsDriveLetter(J.codeUnitAt$1$s(segments[0], 0), false);
  5972. P._Uri__checkWindowsPathReservedCharacters(segments, false, 1);
  5973. hasDriveLetter = true;
  5974. } else {
  5975. P._Uri__checkWindowsPathReservedCharacters(segments, false, 0);
  5976. hasDriveLetter = false;
  5977. }
  5978. t2 = uri.get$hasAbsolutePath() && !hasDriveLetter ? "\\" : "";
  5979. if (uri.get$hasAuthority()) {
  5980. host = uri.get$host();
  5981. if (host.length !== 0)
  5982. t2 = t2 + "\\" + H.S(host) + "\\";
  5983. }
  5984. t2 = P.StringBuffer__writeAll(t2, segments, "\\");
  5985. t1 = hasDriveLetter && t1 === 1 ? t2 + "\\" : t2;
  5986. return t1.charCodeAt(0) == 0 ? t1 : t1;
  5987. },
  5988. _Uri__hexCharPairToByte: function(s, pos) {
  5989. var byte, i, charCode;
  5990. for (byte = 0, i = 0; i < 2; ++i) {
  5991. charCode = C.JSString_methods._codeUnitAt$1(s, pos + i);
  5992. if (48 <= charCode && charCode <= 57)
  5993. byte = byte * 16 + charCode - 48;
  5994. else {
  5995. charCode |= 32;
  5996. if (97 <= charCode && charCode <= 102)
  5997. byte = byte * 16 + charCode - 87;
  5998. else
  5999. throw H.wrapException(P.ArgumentError$("Invalid URL encoding"));
  6000. }
  6001. }
  6002. return byte;
  6003. },
  6004. _Uri__uriDecode: function(text, start, end, encoding, plusToSpace) {
  6005. var simple, codeUnit, t2, bytes,
  6006. t1 = J.getInterceptor$s(text),
  6007. i = start;
  6008. while (true) {
  6009. if (!(i < end)) {
  6010. simple = true;
  6011. break;
  6012. }
  6013. codeUnit = t1._codeUnitAt$1(text, i);
  6014. if (codeUnit <= 127)
  6015. if (codeUnit !== 37)
  6016. t2 = false;
  6017. else
  6018. t2 = true;
  6019. else
  6020. t2 = true;
  6021. if (t2) {
  6022. simple = false;
  6023. break;
  6024. }
  6025. ++i;
  6026. }
  6027. if (simple) {
  6028. if (C.C_Utf8Codec !== encoding)
  6029. t2 = false;
  6030. else
  6031. t2 = true;
  6032. if (t2)
  6033. return t1.substring$2(text, start, end);
  6034. else
  6035. bytes = new H.CodeUnits(t1.substring$2(text, start, end));
  6036. } else {
  6037. bytes = H.setRuntimeTypeInfo([], [P.int]);
  6038. for (i = start; i < end; ++i) {
  6039. codeUnit = t1._codeUnitAt$1(text, i);
  6040. if (codeUnit > 127)
  6041. throw H.wrapException(P.ArgumentError$("Illegal percent encoding in URI"));
  6042. if (codeUnit === 37) {
  6043. if (i + 3 > text.length)
  6044. throw H.wrapException(P.ArgumentError$("Truncated URI"));
  6045. bytes.push(P._Uri__hexCharPairToByte(text, i + 1));
  6046. i += 2;
  6047. } else
  6048. bytes.push(codeUnit);
  6049. }
  6050. }
  6051. return new P.Utf8Decoder(false).convert$1(bytes);
  6052. },
  6053. _Uri__isAlphabeticCharacter: function(codeUnit) {
  6054. var lowerCase = codeUnit | 32;
  6055. return 97 <= lowerCase && lowerCase <= 122;
  6056. },
  6057. UriData__writeUri: function(mimeType, charsetName, parameters, buffer, indices) {
  6058. var t1, slashIndex;
  6059. if (mimeType == null || mimeType === "text/plain")
  6060. mimeType = "";
  6061. if (mimeType.length === 0 || mimeType === "application/octet-stream")
  6062. t1 = buffer._contents += mimeType;
  6063. else {
  6064. slashIndex = P.UriData__validateMimeType(mimeType);
  6065. if (slashIndex < 0)
  6066. throw H.wrapException(P.ArgumentError$value(mimeType, "mimeType", "Invalid MIME type"));
  6067. t1 = buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$2(mimeType, 0, slashIndex), C.C_Utf8Codec, false));
  6068. buffer._contents = t1 + "/";
  6069. t1 = buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$1(mimeType, slashIndex + 1), C.C_Utf8Codec, false));
  6070. }
  6071. if (charsetName != null) {
  6072. indices.push(t1.length);
  6073. indices.push(buffer._contents.length + 8);
  6074. buffer._contents += ";charset=";
  6075. buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, charsetName, C.C_Utf8Codec, false));
  6076. }
  6077. },
  6078. UriData__validateMimeType: function(mimeType) {
  6079. var t1, slashIndex, i;
  6080. for (t1 = mimeType.length, slashIndex = -1, i = 0; i < t1; ++i) {
  6081. if (C.JSString_methods._codeUnitAt$1(mimeType, i) !== 47)
  6082. continue;
  6083. if (slashIndex < 0) {
  6084. slashIndex = i;
  6085. continue;
  6086. }
  6087. return -1;
  6088. }
  6089. return slashIndex;
  6090. },
  6091. UriData__parse: function(text, start, sourceUri) {
  6092. var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data,
  6093. _s17_ = "Invalid MIME type",
  6094. indices = H.setRuntimeTypeInfo([start - 1], [P.int]);
  6095. for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) {
  6096. char = C.JSString_methods._codeUnitAt$1(text, i);
  6097. if (char === 44 || char === 59)
  6098. break;
  6099. if (char === 47) {
  6100. if (slashIndex < 0) {
  6101. slashIndex = i;
  6102. continue;
  6103. }
  6104. throw H.wrapException(P.FormatException$(_s17_, text, i));
  6105. }
  6106. }
  6107. if (slashIndex < 0 && i > start)
  6108. throw H.wrapException(P.FormatException$(_s17_, text, i));
  6109. for (; char !== 44;) {
  6110. indices.push(i);
  6111. ++i;
  6112. for (equalsIndex = -1; i < t1; ++i) {
  6113. char = C.JSString_methods._codeUnitAt$1(text, i);
  6114. if (char === 61) {
  6115. if (equalsIndex < 0)
  6116. equalsIndex = i;
  6117. } else if (char === 59 || char === 44)
  6118. break;
  6119. }
  6120. if (equalsIndex >= 0)
  6121. indices.push(equalsIndex);
  6122. else {
  6123. lastSeparator = C.JSArray_methods.get$last(indices);
  6124. if (char !== 44 || i !== lastSeparator + 7 || !C.JSString_methods.startsWith$2(text, "base64", lastSeparator + 1))
  6125. throw H.wrapException(P.FormatException$("Expecting '='", text, i));
  6126. break;
  6127. }
  6128. }
  6129. indices.push(i);
  6130. t2 = i + 1;
  6131. if ((indices.length & 1) === 1)
  6132. text = C.C_Base64Codec.normalize$3(text, t2, t1);
  6133. else {
  6134. data = P._Uri__normalize(text, t2, t1, C.List_CVk, true);
  6135. if (data != null)
  6136. text = C.JSString_methods.replaceRange$3(text, t2, t1, data);
  6137. }
  6138. return new P.UriData(text, indices, sourceUri);
  6139. },
  6140. UriData__uriEncodeBytes: function(canonicalTable, bytes, buffer) {
  6141. var t1, byteOr, i, byte,
  6142. _s16_ = "0123456789ABCDEF";
  6143. for (t1 = J.getInterceptor$asx(bytes), byteOr = 0, i = 0; i < t1.get$length(bytes); ++i) {
  6144. byte = t1.$index(bytes, i);
  6145. byteOr |= byte;
  6146. if (byte < 128 && (canonicalTable[C.JSInt_methods._shrOtherPositive$1(byte, 4)] & 1 << (byte & 15)) !== 0)
  6147. buffer._contents += H.Primitives_stringFromCharCode(byte);
  6148. else {
  6149. buffer._contents += H.Primitives_stringFromCharCode(37);
  6150. buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(_s16_, C.JSInt_methods._shrOtherPositive$1(byte, 4)));
  6151. buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(_s16_, byte & 15));
  6152. }
  6153. }
  6154. if ((byteOr & 4294967040) >>> 0 !== 0)
  6155. for (i = 0; i < t1.get$length(bytes); ++i) {
  6156. byte = t1.$index(bytes, i);
  6157. if (byte < 0 || byte > 255)
  6158. throw H.wrapException(P.ArgumentError$value(byte, "non-byte value", null));
  6159. }
  6160. },
  6161. _createTables: function() {
  6162. var _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",
  6163. _s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "?", _s1_3 = "#",
  6164. tables = P.List_List$generate(22, new P._createTables_closure(), true, P.Uint8List),
  6165. t1 = new P._createTables_build(tables),
  6166. t2 = new P._createTables_setChars(),
  6167. t3 = new P._createTables_setRange(),
  6168. b = t1.call$2(0, 225);
  6169. t2.call$3(b, _s77_, 1);
  6170. t2.call$3(b, _s1_, 14);
  6171. t2.call$3(b, _s1_0, 34);
  6172. t2.call$3(b, _s1_1, 3);
  6173. t2.call$3(b, _s1_2, 172);
  6174. t2.call$3(b, _s1_3, 205);
  6175. b = t1.call$2(14, 225);
  6176. t2.call$3(b, _s77_, 1);
  6177. t2.call$3(b, _s1_, 15);
  6178. t2.call$3(b, _s1_0, 34);
  6179. t2.call$3(b, _s1_1, 234);
  6180. t2.call$3(b, _s1_2, 172);
  6181. t2.call$3(b, _s1_3, 205);
  6182. b = t1.call$2(15, 225);
  6183. t2.call$3(b, _s77_, 1);
  6184. t2.call$3(b, "%", 225);
  6185. t2.call$3(b, _s1_0, 34);
  6186. t2.call$3(b, _s1_1, 9);
  6187. t2.call$3(b, _s1_2, 172);
  6188. t2.call$3(b, _s1_3, 205);
  6189. b = t1.call$2(1, 225);
  6190. t2.call$3(b, _s77_, 1);
  6191. t2.call$3(b, _s1_0, 34);
  6192. t2.call$3(b, _s1_1, 10);
  6193. t2.call$3(b, _s1_2, 172);
  6194. t2.call$3(b, _s1_3, 205);
  6195. b = t1.call$2(2, 235);
  6196. t2.call$3(b, _s77_, 139);
  6197. t2.call$3(b, _s1_1, 131);
  6198. t2.call$3(b, _s1_, 146);
  6199. t2.call$3(b, _s1_2, 172);
  6200. t2.call$3(b, _s1_3, 205);
  6201. b = t1.call$2(3, 235);
  6202. t2.call$3(b, _s77_, 11);
  6203. t2.call$3(b, _s1_1, 68);
  6204. t2.call$3(b, _s1_, 18);
  6205. t2.call$3(b, _s1_2, 172);
  6206. t2.call$3(b, _s1_3, 205);
  6207. b = t1.call$2(4, 229);
  6208. t2.call$3(b, _s77_, 5);
  6209. t3.call$3(b, "AZ", 229);
  6210. t2.call$3(b, _s1_0, 102);
  6211. t2.call$3(b, "@", 68);
  6212. t2.call$3(b, "[", 232);
  6213. t2.call$3(b, _s1_1, 138);
  6214. t2.call$3(b, _s1_2, 172);
  6215. t2.call$3(b, _s1_3, 205);
  6216. b = t1.call$2(5, 229);
  6217. t2.call$3(b, _s77_, 5);
  6218. t3.call$3(b, "AZ", 229);
  6219. t2.call$3(b, _s1_0, 102);
  6220. t2.call$3(b, "@", 68);
  6221. t2.call$3(b, _s1_1, 138);
  6222. t2.call$3(b, _s1_2, 172);
  6223. t2.call$3(b, _s1_3, 205);
  6224. b = t1.call$2(6, 231);
  6225. t3.call$3(b, "19", 7);
  6226. t2.call$3(b, "@", 68);
  6227. t2.call$3(b, _s1_1, 138);
  6228. t2.call$3(b, _s1_2, 172);
  6229. t2.call$3(b, _s1_3, 205);
  6230. b = t1.call$2(7, 231);
  6231. t3.call$3(b, "09", 7);
  6232. t2.call$3(b, "@", 68);
  6233. t2.call$3(b, _s1_1, 138);
  6234. t2.call$3(b, _s1_2, 172);
  6235. t2.call$3(b, _s1_3, 205);
  6236. t2.call$3(t1.call$2(8, 8), "]", 5);
  6237. b = t1.call$2(9, 235);
  6238. t2.call$3(b, _s77_, 11);
  6239. t2.call$3(b, _s1_, 16);
  6240. t2.call$3(b, _s1_1, 234);
  6241. t2.call$3(b, _s1_2, 172);
  6242. t2.call$3(b, _s1_3, 205);
  6243. b = t1.call$2(16, 235);
  6244. t2.call$3(b, _s77_, 11);
  6245. t2.call$3(b, _s1_, 17);
  6246. t2.call$3(b, _s1_1, 234);
  6247. t2.call$3(b, _s1_2, 172);
  6248. t2.call$3(b, _s1_3, 205);
  6249. b = t1.call$2(17, 235);
  6250. t2.call$3(b, _s77_, 11);
  6251. t2.call$3(b, _s1_1, 9);
  6252. t2.call$3(b, _s1_2, 172);
  6253. t2.call$3(b, _s1_3, 205);
  6254. b = t1.call$2(10, 235);
  6255. t2.call$3(b, _s77_, 11);
  6256. t2.call$3(b, _s1_, 18);
  6257. t2.call$3(b, _s1_1, 234);
  6258. t2.call$3(b, _s1_2, 172);
  6259. t2.call$3(b, _s1_3, 205);
  6260. b = t1.call$2(18, 235);
  6261. t2.call$3(b, _s77_, 11);
  6262. t2.call$3(b, _s1_, 19);
  6263. t2.call$3(b, _s1_1, 234);
  6264. t2.call$3(b, _s1_2, 172);
  6265. t2.call$3(b, _s1_3, 205);
  6266. b = t1.call$2(19, 235);
  6267. t2.call$3(b, _s77_, 11);
  6268. t2.call$3(b, _s1_1, 234);
  6269. t2.call$3(b, _s1_2, 172);
  6270. t2.call$3(b, _s1_3, 205);
  6271. b = t1.call$2(11, 235);
  6272. t2.call$3(b, _s77_, 11);
  6273. t2.call$3(b, _s1_1, 10);
  6274. t2.call$3(b, _s1_2, 172);
  6275. t2.call$3(b, _s1_3, 205);
  6276. b = t1.call$2(12, 236);
  6277. t2.call$3(b, _s77_, 12);
  6278. t2.call$3(b, _s1_2, 12);
  6279. t2.call$3(b, _s1_3, 205);
  6280. b = t1.call$2(13, 237);
  6281. t2.call$3(b, _s77_, 13);
  6282. t2.call$3(b, _s1_2, 13);
  6283. t3.call$3(t1.call$2(20, 245), "az", 21);
  6284. b = t1.call$2(21, 245);
  6285. t3.call$3(b, "az", 21);
  6286. t3.call$3(b, "09", 21);
  6287. t2.call$3(b, "+-.", 21);
  6288. return tables;
  6289. },
  6290. _scan: function(uri, start, end, state, indices) {
  6291. var t1, i, table, char, transition,
  6292. tables = $.$get$_scannerTables();
  6293. for (t1 = J.getInterceptor$s(uri), i = start; i < end; ++i) {
  6294. table = tables[state];
  6295. char = t1._codeUnitAt$1(uri, i) ^ 96;
  6296. transition = table[char > 95 ? 31 : char];
  6297. state = transition & 31;
  6298. indices[transition >>> 5] = i;
  6299. }
  6300. return state;
  6301. },
  6302. NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) {
  6303. this._box_0 = t0;
  6304. this.sb = t1;
  6305. },
  6306. bool: function bool() {
  6307. },
  6308. DateTime: function DateTime(t0, t1) {
  6309. this._value = t0;
  6310. this.isUtc = t1;
  6311. },
  6312. double: function double() {
  6313. },
  6314. Duration: function Duration(t0) {
  6315. this._duration = t0;
  6316. },
  6317. Duration_toString_sixDigits: function Duration_toString_sixDigits() {
  6318. },
  6319. Duration_toString_twoDigits: function Duration_toString_twoDigits() {
  6320. },
  6321. Error: function Error() {
  6322. },
  6323. NullThrownError: function NullThrownError() {
  6324. },
  6325. ArgumentError: function ArgumentError(t0, t1, t2, t3) {
  6326. var _ = this;
  6327. _._hasValue = t0;
  6328. _.invalidValue = t1;
  6329. _.name = t2;
  6330. _.message = t3;
  6331. },
  6332. RangeError: function RangeError(t0, t1, t2, t3, t4, t5) {
  6333. var _ = this;
  6334. _.start = t0;
  6335. _.end = t1;
  6336. _._hasValue = t2;
  6337. _.invalidValue = t3;
  6338. _.name = t4;
  6339. _.message = t5;
  6340. },
  6341. IndexError: function IndexError(t0, t1, t2, t3, t4) {
  6342. var _ = this;
  6343. _.length = t0;
  6344. _._hasValue = t1;
  6345. _.invalidValue = t2;
  6346. _.name = t3;
  6347. _.message = t4;
  6348. },
  6349. NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) {
  6350. var _ = this;
  6351. _._core$_receiver = t0;
  6352. _._memberName = t1;
  6353. _._core$_arguments = t2;
  6354. _._namedArguments = t3;
  6355. },
  6356. UnsupportedError: function UnsupportedError(t0) {
  6357. this.message = t0;
  6358. },
  6359. UnimplementedError: function UnimplementedError(t0) {
  6360. this.message = t0;
  6361. },
  6362. StateError: function StateError(t0) {
  6363. this.message = t0;
  6364. },
  6365. ConcurrentModificationError: function ConcurrentModificationError(t0) {
  6366. this.modifiedObject = t0;
  6367. },
  6368. OutOfMemoryError: function OutOfMemoryError() {
  6369. },
  6370. StackOverflowError: function StackOverflowError() {
  6371. },
  6372. CyclicInitializationError: function CyclicInitializationError(t0) {
  6373. this.variableName = t0;
  6374. },
  6375. _Exception: function _Exception(t0) {
  6376. this.message = t0;
  6377. },
  6378. FormatException: function FormatException(t0, t1, t2) {
  6379. this.message = t0;
  6380. this.source = t1;
  6381. this.offset = t2;
  6382. },
  6383. Function: function Function() {
  6384. },
  6385. int: function int() {
  6386. },
  6387. Iterable: function Iterable() {
  6388. },
  6389. _GeneratorIterable: function _GeneratorIterable(t0, t1, t2) {
  6390. this.length = t0;
  6391. this._generator = t1;
  6392. this.$ti = t2;
  6393. },
  6394. Iterator: function Iterator() {
  6395. },
  6396. List: function List() {
  6397. },
  6398. Map: function Map() {
  6399. },
  6400. MapEntry: function MapEntry(t0, t1, t2) {
  6401. this.key = t0;
  6402. this.value = t1;
  6403. this.$ti = t2;
  6404. },
  6405. Null: function Null() {
  6406. },
  6407. num: function num() {
  6408. },
  6409. Object: function Object() {
  6410. },
  6411. Match: function Match() {
  6412. },
  6413. RegExpMatch: function RegExpMatch() {
  6414. },
  6415. Set: function Set() {
  6416. },
  6417. StackTrace: function StackTrace() {
  6418. },
  6419. _StringStackTrace: function _StringStackTrace(t0) {
  6420. this._core$_stackTrace = t0;
  6421. },
  6422. String: function String() {
  6423. },
  6424. Runes: function Runes(t0) {
  6425. this.string = t0;
  6426. },
  6427. RuneIterator: function RuneIterator(t0) {
  6428. var _ = this;
  6429. _.string = t0;
  6430. _._nextPosition = _._core$_position = 0;
  6431. _._currentCodePoint = null;
  6432. },
  6433. StringBuffer: function StringBuffer(t0) {
  6434. this._contents = t0;
  6435. },
  6436. StringSink: function StringSink() {
  6437. },
  6438. Symbol0: function Symbol0() {
  6439. },
  6440. Uri: function Uri() {
  6441. },
  6442. Uri__parseIPv4Address_error: function Uri__parseIPv4Address_error(t0) {
  6443. this.host = t0;
  6444. },
  6445. Uri_parseIPv6Address_error: function Uri_parseIPv6Address_error(t0) {
  6446. this.host = t0;
  6447. },
  6448. Uri_parseIPv6Address_parseHex: function Uri_parseIPv6Address_parseHex(t0, t1) {
  6449. this.error = t0;
  6450. this.host = t1;
  6451. },
  6452. _Uri: function _Uri(t0, t1, t2, t3, t4, t5, t6) {
  6453. var _ = this;
  6454. _.scheme = t0;
  6455. _._userInfo = t1;
  6456. _._host = t2;
  6457. _._port = t3;
  6458. _.path = t4;
  6459. _._query = t5;
  6460. _._fragment = t6;
  6461. _._hashCodeCache = _._text = _._pathSegments = null;
  6462. },
  6463. _Uri__Uri$notSimple_closure: function _Uri__Uri$notSimple_closure(t0, t1) {
  6464. this.uri = t0;
  6465. this.portStart = t1;
  6466. },
  6467. _Uri__checkNonWindowsPathReservedCharacters_closure: function _Uri__checkNonWindowsPathReservedCharacters_closure(t0) {
  6468. this.argumentError = t0;
  6469. },
  6470. _Uri__makePath_closure: function _Uri__makePath_closure() {
  6471. },
  6472. UriData: function UriData(t0, t1, t2) {
  6473. this._text = t0;
  6474. this._separatorIndices = t1;
  6475. this._uriCache = t2;
  6476. },
  6477. _createTables_closure: function _createTables_closure() {
  6478. },
  6479. _createTables_build: function _createTables_build(t0) {
  6480. this.tables = t0;
  6481. },
  6482. _createTables_setChars: function _createTables_setChars() {
  6483. },
  6484. _createTables_setRange: function _createTables_setRange() {
  6485. },
  6486. _SimpleUri: function _SimpleUri(t0, t1, t2, t3, t4, t5, t6, t7) {
  6487. var _ = this;
  6488. _._uri = t0;
  6489. _._schemeEnd = t1;
  6490. _._hostStart = t2;
  6491. _._portStart = t3;
  6492. _._pathStart = t4;
  6493. _._queryStart = t5;
  6494. _._fragmentStart = t6;
  6495. _._schemeCache = t7;
  6496. _._hashCodeCache = null;
  6497. },
  6498. _DataUri: function _DataUri(t0, t1, t2, t3, t4, t5, t6) {
  6499. var _ = this;
  6500. _.scheme = t0;
  6501. _._userInfo = t1;
  6502. _._host = t2;
  6503. _._port = t3;
  6504. _.path = t4;
  6505. _._query = t5;
  6506. _._fragment = t6;
  6507. _._hashCodeCache = _._text = _._pathSegments = null;
  6508. },
  6509. max: function(a, b) {
  6510. return Math.max(H.checkNum(a), H.checkNum(b));
  6511. },
  6512. pow: function(x, exponent) {
  6513. return Math.pow(x, exponent);
  6514. },
  6515. Random_Random: function() {
  6516. return C.C__JSRandom;
  6517. },
  6518. _JSRandom: function _JSRandom() {
  6519. },
  6520. Uint8List: function Uint8List() {
  6521. },
  6522. _convertDartFunctionFast: function(f) {
  6523. var ret,
  6524. existing = f.$dart_jsFunction;
  6525. if (existing != null)
  6526. return existing;
  6527. ret = function(_call, f) {
  6528. return function() {
  6529. return _call(f, Array.prototype.slice.apply(arguments));
  6530. };
  6531. }(P._callDartFunctionFast, f);
  6532. ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
  6533. f.$dart_jsFunction = ret;
  6534. return ret;
  6535. },
  6536. _convertDartFunctionFastCaptureThis: function(f) {
  6537. var ret,
  6538. existing = f._$dart_jsFunctionCaptureThis;
  6539. if (existing != null)
  6540. return existing;
  6541. ret = function(_call, f) {
  6542. return function() {
  6543. return _call(f, this, Array.prototype.slice.apply(arguments));
  6544. };
  6545. }(P._callDartFunctionFastCaptureThis, f);
  6546. ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
  6547. f._$dart_jsFunctionCaptureThis = ret;
  6548. return ret;
  6549. },
  6550. _callDartFunctionFast: function(callback, $arguments) {
  6551. return P.Function_apply(callback, $arguments);
  6552. },
  6553. _callDartFunctionFastCaptureThis: function(callback, $self, $arguments) {
  6554. var t1 = [$self];
  6555. C.JSArray_methods.addAll$1(t1, $arguments);
  6556. return P.Function_apply(callback, t1);
  6557. },
  6558. allowInterop: function(f) {
  6559. if (typeof f == "function")
  6560. return f;
  6561. else
  6562. return P._convertDartFunctionFast(f);
  6563. },
  6564. allowInteropCaptureThis: function(f) {
  6565. if (typeof f == "function")
  6566. throw H.wrapException(P.ArgumentError$("Function is already a JS function so cannot capture this."));
  6567. else
  6568. return P._convertDartFunctionFastCaptureThis(f);
  6569. },
  6570. callConstructor: function(constr, $arguments) {
  6571. var args, factoryFunction;
  6572. if ($arguments instanceof Array)
  6573. switch ($arguments.length) {
  6574. case 0:
  6575. return new constr();
  6576. case 1:
  6577. return new constr($arguments[0]);
  6578. case 2:
  6579. return new constr($arguments[0], $arguments[1]);
  6580. case 3:
  6581. return new constr($arguments[0], $arguments[1], $arguments[2]);
  6582. case 4:
  6583. return new constr($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
  6584. }
  6585. args = [null];
  6586. C.JSArray_methods.addAll$1(args, $arguments);
  6587. factoryFunction = constr.bind.apply(constr, args);
  6588. String(factoryFunction);
  6589. return new factoryFunction();
  6590. }
  6591. },
  6592. N = {ArgParser: function ArgParser(t0, t1, t2, t3, t4, t5) {
  6593. var _ = this;
  6594. _._arg_parser$_options = t0;
  6595. _.options = t1;
  6596. _.commands = t2;
  6597. _._optionsAndSeparators = t3;
  6598. _.allowTrailingOptions = t4;
  6599. _.usageLineLength = t5;
  6600. }, ArgParser_findByAbbreviation_closure: function ArgParser_findByAbbreviation_closure(t0) {
  6601. this.abbr = t0;
  6602. }, ArgParser_findByAbbreviation_closure0: function ArgParser_findByAbbreviation_closure0() {
  6603. }, SupportsCondition: function SupportsCondition() {
  6604. }, AttributeSelector: function AttributeSelector(t0, t1, t2, t3) {
  6605. var _ = this;
  6606. _.name = t0;
  6607. _.op = t1;
  6608. _.value = t2;
  6609. _.modifier = t3;
  6610. }, AttributeOperator: function AttributeOperator(t0) {
  6611. this._attribute$_text = t0;
  6612. }, IDSelector: function IDSelector(t0) {
  6613. this.name = t0;
  6614. }, IDSelector_unify_closure: function IDSelector_unify_closure(t0) {
  6615. this.$this = t0;
  6616. }, PlaceholderSelector: function PlaceholderSelector(t0) {
  6617. this.name = t0;
  6618. }, UniversalSelector: function UniversalSelector(t0) {
  6619. this.namespace = t0;
  6620. }, NoSourceMapBuffer: function NoSourceMapBuffer(t0) {
  6621. this._no_source_map_buffer$_buffer = t0;
  6622. },
  6623. serialize: function(node, charset, indentWidth, inspect, lineFeed, sourceMap, style, useSpaces) {
  6624. var t1, css, t2, prefix, t3,
  6625. visitor = N._SerializeVisitor$(indentWidth == null ? 2 : indentWidth, inspect, lineFeed, true, sourceMap, style, useSpaces);
  6626. node.accept$1(visitor);
  6627. t1 = visitor._serialize$_buffer;
  6628. css = t1.toString$0(0);
  6629. if (charset) {
  6630. t2 = new H.CodeUnits(css);
  6631. t2 = t2.any$1(t2, new N.serialize_closure());
  6632. } else
  6633. t2 = false;
  6634. if (t2)
  6635. prefix = style === C.OutputStyle_compressed ? "\ufeff" : '@charset "UTF-8";\n';
  6636. else
  6637. prefix = "";
  6638. t2 = prefix + css;
  6639. t3 = sourceMap ? t1.buildSourceMap$1$prefix(prefix) : null;
  6640. if (sourceMap)
  6641. t1.get$sourceFiles();
  6642. return new N.SerializeResult(t2, t3);
  6643. },
  6644. serializeValue: function(value, inspect, quote) {
  6645. var visitor = N._SerializeVisitor$(null, inspect, null, quote, false, null, true);
  6646. value.accept$1(visitor);
  6647. return visitor._serialize$_buffer.toString$0(0);
  6648. },
  6649. _SerializeVisitor$: function(indentWidth, inspect, lineFeed, quote, sourceMap, style, useSpaces) {
  6650. var t1 = sourceMap ? new D.SourceMapBuffer(new P.StringBuffer(""), H.setRuntimeTypeInfo([], [L.Entry]), P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, Y.SourceFile)) : new N.NoSourceMapBuffer(new P.StringBuffer("")),
  6651. t2 = style == null ? C.OutputStyle_expanded : style,
  6652. t3 = useSpaces ? 32 : 9,
  6653. t4 = indentWidth == null ? 2 : indentWidth,
  6654. t5 = lineFeed == null ? C.LineFeed_D6m : lineFeed;
  6655. P.RangeError_checkValueInInterval(t4, 0, 10, "indentWidth");
  6656. return new N._SerializeVisitor(t1, t2, inspect, quote, t3, t4, t5);
  6657. },
  6658. serialize_closure: function serialize_closure() {
  6659. },
  6660. _SerializeVisitor: function _SerializeVisitor(t0, t1, t2, t3, t4, t5, t6) {
  6661. var _ = this;
  6662. _._serialize$_buffer = t0;
  6663. _._indentation = 0;
  6664. _._style = t1;
  6665. _._inspect = t2;
  6666. _._quote = t3;
  6667. _._indentCharacter = t4;
  6668. _._indentWidth = t5;
  6669. _._lineFeed = t6;
  6670. },
  6671. _SerializeVisitor_visitCssComment_closure: function _SerializeVisitor_visitCssComment_closure(t0, t1) {
  6672. this.$this = t0;
  6673. this.node = t1;
  6674. },
  6675. _SerializeVisitor_visitCssAtRule_closure: function _SerializeVisitor_visitCssAtRule_closure(t0, t1) {
  6676. this.$this = t0;
  6677. this.node = t1;
  6678. },
  6679. _SerializeVisitor_visitCssMediaRule_closure: function _SerializeVisitor_visitCssMediaRule_closure(t0, t1) {
  6680. this.$this = t0;
  6681. this.node = t1;
  6682. },
  6683. _SerializeVisitor_visitCssImport_closure: function _SerializeVisitor_visitCssImport_closure(t0, t1) {
  6684. this.$this = t0;
  6685. this.node = t1;
  6686. },
  6687. _SerializeVisitor_visitCssImport__closure: function _SerializeVisitor_visitCssImport__closure(t0, t1) {
  6688. this.$this = t0;
  6689. this.node = t1;
  6690. },
  6691. _SerializeVisitor_visitCssKeyframeBlock_closure: function _SerializeVisitor_visitCssKeyframeBlock_closure(t0, t1) {
  6692. this.$this = t0;
  6693. this.node = t1;
  6694. },
  6695. _SerializeVisitor_visitCssStyleRule_closure: function _SerializeVisitor_visitCssStyleRule_closure(t0, t1) {
  6696. this.$this = t0;
  6697. this.node = t1;
  6698. },
  6699. _SerializeVisitor_visitCssSupportsRule_closure: function _SerializeVisitor_visitCssSupportsRule_closure(t0, t1) {
  6700. this.$this = t0;
  6701. this.node = t1;
  6702. },
  6703. _SerializeVisitor_visitCssDeclaration_closure: function _SerializeVisitor_visitCssDeclaration_closure(t0, t1) {
  6704. this.$this = t0;
  6705. this.node = t1;
  6706. },
  6707. _SerializeVisitor_visitCssDeclaration_closure0: function _SerializeVisitor_visitCssDeclaration_closure0(t0, t1) {
  6708. this.$this = t0;
  6709. this.node = t1;
  6710. },
  6711. _SerializeVisitor_visitList_closure: function _SerializeVisitor_visitList_closure() {
  6712. },
  6713. _SerializeVisitor_visitList_closure0: function _SerializeVisitor_visitList_closure0(t0, t1) {
  6714. this.$this = t0;
  6715. this.value = t1;
  6716. },
  6717. _SerializeVisitor_visitList_closure1: function _SerializeVisitor_visitList_closure1(t0) {
  6718. this.$this = t0;
  6719. },
  6720. _SerializeVisitor_visitMap_closure: function _SerializeVisitor_visitMap_closure(t0, t1) {
  6721. this.$this = t0;
  6722. this.map = t1;
  6723. },
  6724. _SerializeVisitor_visitSelectorList_closure: function _SerializeVisitor_visitSelectorList_closure() {
  6725. },
  6726. _SerializeVisitor__write_closure: function _SerializeVisitor__write_closure(t0, t1) {
  6727. this.$this = t0;
  6728. this.value = t1;
  6729. },
  6730. _SerializeVisitor__visitChildren_closure: function _SerializeVisitor__visitChildren_closure(t0, t1, t2) {
  6731. this._box_0 = t0;
  6732. this.$this = t1;
  6733. this.children = t2;
  6734. },
  6735. OutputStyle: function OutputStyle(t0) {
  6736. this._serialize$_name = t0;
  6737. },
  6738. LineFeed: function LineFeed(t0, t1) {
  6739. this.name = t0;
  6740. this.text = t1;
  6741. },
  6742. SerializeResult: function SerializeResult(t0, t1) {
  6743. this.css = t0;
  6744. this.sourceMap = t1;
  6745. },
  6746. warn: function(message, deprecation) {
  6747. var warnDefinition = $.Zone__current.$index(0, C.Symbol__warn);
  6748. if (warnDefinition == null)
  6749. throw H.wrapException(P.ArgumentError$("warn() may only be called within a custom function or importer callback."));
  6750. warnDefinition.call$2(message, deprecation);
  6751. },
  6752. withWarnCallback: function(warn, callback) {
  6753. return P.runZoned(new N.withWarnCallback_closure(callback), P.LinkedHashMap__makeLiteral([C.Symbol__warn, warn]));
  6754. },
  6755. withWarnCallback_closure: function withWarnCallback_closure(t0) {
  6756. this.callback = t0;
  6757. },
  6758. UnparsedFrame: function UnparsedFrame(t0, t1) {
  6759. this.uri = t0;
  6760. this.member = t1;
  6761. }
  6762. },
  6763. Z = {
  6764. ArgParserException$: function(message, commands) {
  6765. return new Z.ArgParserException(commands == null ? C.List_empty : P.List_List$unmodifiable(commands, P.String), message, null, null);
  6766. },
  6767. ArgParserException: function ArgParserException(t0, t1, t2, t3) {
  6768. var _ = this;
  6769. _.commands = t0;
  6770. _.message = t1;
  6771. _.source = t2;
  6772. _.offset = t3;
  6773. },
  6774. Argument: function Argument(t0, t1, t2) {
  6775. this.name = t0;
  6776. this.defaultValue = t1;
  6777. this.span = t2;
  6778. },
  6779. BooleanExpression: function BooleanExpression(t0, t1) {
  6780. this.value = t0;
  6781. this.span = t1;
  6782. },
  6783. VariableDeclaration$: function($name, expression, span, comment, global, guarded, namespace) {
  6784. if (namespace != null && global)
  6785. H.throwExpression(P.ArgumentError$("Other modules' members can't be defined with !global."));
  6786. return new Z.VariableDeclaration(namespace, $name, expression, guarded, global, span);
  6787. },
  6788. VariableDeclaration: function VariableDeclaration(t0, t1, t2, t3, t4, t5) {
  6789. var _ = this;
  6790. _.namespace = t0;
  6791. _.name = t1;
  6792. _.expression = t2;
  6793. _.isGuarded = t3;
  6794. _.isGlobal = t4;
  6795. _.span = t5;
  6796. },
  6797. InterpolationBuffer: function InterpolationBuffer(t0, t1) {
  6798. this._interpolation_buffer$_text = t0;
  6799. this._interpolation_buffer$_contents = t1;
  6800. },
  6801. RenderContext: function RenderContext() {
  6802. },
  6803. closure129: function closure129() {
  6804. },
  6805. _closure18: function _closure18() {
  6806. },
  6807. _closure19: function _closure19() {
  6808. },
  6809. MergedMapView$: function(maps, $K, $V) {
  6810. var t1 = new Z.MergedMapView(P.LinkedHashMap_LinkedHashMap$_empty($K, [P.Map, $K, $V]), [$K, $V]);
  6811. t1.MergedMapView$1(maps, $K, $V);
  6812. return t1;
  6813. },
  6814. MergedMapView: function MergedMapView(t0, t1) {
  6815. this._mapsByKey = t0;
  6816. this.$ti = t1;
  6817. },
  6818. SassBoolean: function SassBoolean(t0) {
  6819. this.value = t0;
  6820. },
  6821. LineScanner: function LineScanner(t0, t1) {
  6822. var _ = this;
  6823. _._line_scanner$_column = _._line_scanner$_line = 0;
  6824. _.sourceUrl = t0;
  6825. _.string = t1;
  6826. _._string_scanner$_position = 0;
  6827. _._lastMatchPosition = _._lastMatch = null;
  6828. }
  6829. },
  6830. V = {
  6831. ArgResults$_: function(_parser, _parsed, $name, command, rest, $arguments) {
  6832. return new V.ArgResults(_parser, _parsed, $name, new P.UnmodifiableListView(rest, [P.String]));
  6833. },
  6834. ArgResults: function ArgResults(t0, t1, t2, t3) {
  6835. var _ = this;
  6836. _._parser = t0;
  6837. _._parsed = t1;
  6838. _.name = t2;
  6839. _.rest = t3;
  6840. },
  6841. ErrorResult: function ErrorResult(t0, t1) {
  6842. this.error = t0;
  6843. this.stackTrace = t1;
  6844. },
  6845. ModifiableCssStylesheet: function ModifiableCssStylesheet(t0, t1, t2) {
  6846. var _ = this;
  6847. _.span = t0;
  6848. _.children = t1;
  6849. _._children = t2;
  6850. _._indexInParent = _._parent = null;
  6851. _.isGroupEnd = false;
  6852. },
  6853. CssStylesheet: function CssStylesheet(t0, t1) {
  6854. this.children = t0;
  6855. this.span = t1;
  6856. },
  6857. AtRootQuery: function AtRootQuery(t0, t1, t2, t3) {
  6858. var _ = this;
  6859. _.include = t0;
  6860. _.names = t1;
  6861. _._all = t2;
  6862. _._at_root_query$_rule = t3;
  6863. },
  6864. BinaryOperationExpression: function BinaryOperationExpression(t0, t1, t2, t3) {
  6865. var _ = this;
  6866. _.operator = t0;
  6867. _.left = t1;
  6868. _.right = t2;
  6869. _.allowsSlash = t3;
  6870. },
  6871. BinaryOperator: function BinaryOperator(t0, t1, t2) {
  6872. this.name = t0;
  6873. this.operator = t1;
  6874. this.precedence = t2;
  6875. },
  6876. AtRootRule: function AtRootRule(t0, t1, t2, t3) {
  6877. var _ = this;
  6878. _.query = t0;
  6879. _.span = t1;
  6880. _.children = t2;
  6881. _.hasDeclarations = t3;
  6882. },
  6883. EachRule: function EachRule(t0, t1, t2, t3, t4) {
  6884. var _ = this;
  6885. _.variables = t0;
  6886. _.list = t1;
  6887. _.span = t2;
  6888. _.children = t3;
  6889. _.hasDeclarations = t4;
  6890. },
  6891. EachRule_toString_closure: function EachRule_toString_closure() {
  6892. },
  6893. IfRule: function IfRule(t0, t1, t2) {
  6894. this.clauses = t0;
  6895. this.lastClause = t1;
  6896. this.span = t2;
  6897. },
  6898. IfRule_toString_closure: function IfRule_toString_closure(t0) {
  6899. this._box_0 = t0;
  6900. },
  6901. IfClause: function IfClause(t0, t1, t2) {
  6902. this.expression = t0;
  6903. this.children = t1;
  6904. this.hasDeclarations = t2;
  6905. },
  6906. IfClause$__closure: function IfClause$__closure() {
  6907. },
  6908. Stylesheet$: function(children, span, plainCss) {
  6909. var t1 = H.setRuntimeTypeInfo([], [T.UseRule]),
  6910. t2 = H.setRuntimeTypeInfo([], [L.ForwardRule]),
  6911. t3 = P.List_List$unmodifiable(children, O.Statement),
  6912. t4 = C.JSArray_methods.any$1(t3, new M.ParentStatement_closure());
  6913. t1 = new V.Stylesheet(span, plainCss, t1, t2, t3, t4);
  6914. t1.Stylesheet$3$plainCss(children, span, plainCss);
  6915. return t1;
  6916. },
  6917. Stylesheet_Stylesheet$parse: function(contents, syntax, logger, url) {
  6918. var t1, t2, t3, t4;
  6919. switch (syntax) {
  6920. case C.Syntax_Sass:
  6921. contents.toString;
  6922. t1 = new H.CodeUnits(contents);
  6923. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  6924. t3 = typeof url === "string";
  6925. t4 = t3 ? P.Uri_parse(url) : url;
  6926. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  6927. t2.SourceFile$decoded$2$url(t1, url);
  6928. t1 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri");
  6929. t3 = logger == null ? C.StderrLogger_false : logger;
  6930. return new U.SassParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), new S.SpanScanner(t2, t1, contents), t3).parse$0();
  6931. case C.Syntax_SCSS:
  6932. t1 = S.SpanScanner$(contents, url);
  6933. t2 = logger == null ? C.StderrLogger_false : logger;
  6934. return new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, t2).parse$0();
  6935. case C.Syntax_CSS:
  6936. contents.toString;
  6937. t1 = new H.CodeUnits(contents);
  6938. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  6939. t3 = typeof url === "string";
  6940. t4 = t3 ? P.Uri_parse(url) : url;
  6941. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  6942. t2.SourceFile$decoded$2$url(t1, url);
  6943. t1 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri");
  6944. t3 = logger == null ? C.StderrLogger_false : logger;
  6945. return new Q.CssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), new S.SpanScanner(t2, t1, contents), t3).parse$0();
  6946. default:
  6947. throw H.wrapException(P.ArgumentError$("Unknown syntax " + syntax.toString$0(0) + "."));
  6948. }
  6949. },
  6950. Stylesheet: function Stylesheet(t0, t1, t2, t3, t4, t5) {
  6951. var _ = this;
  6952. _.span = t0;
  6953. _.plainCss = t1;
  6954. _._uses = t2;
  6955. _._forwards = t3;
  6956. _.children = t4;
  6957. _.hasDeclarations = t5;
  6958. },
  6959. JSError: function JSError() {
  6960. },
  6961. AtRootQueryParser: function AtRootQueryParser(t0, t1) {
  6962. this.scanner = t0;
  6963. this.logger = t1;
  6964. },
  6965. AtRootQueryParser_parse_closure: function AtRootQueryParser_parse_closure(t0) {
  6966. this.$this = t0;
  6967. },
  6968. StylesheetParser: function StylesheetParser() {
  6969. },
  6970. StylesheetParser_parse_closure: function StylesheetParser_parse_closure(t0) {
  6971. this.$this = t0;
  6972. },
  6973. StylesheetParser_parse__closure: function StylesheetParser_parse__closure(t0) {
  6974. this.$this = t0;
  6975. },
  6976. StylesheetParser_parse__closure0: function StylesheetParser_parse__closure0() {
  6977. },
  6978. StylesheetParser_parseVariableDeclaration_closure: function StylesheetParser_parseVariableDeclaration_closure(t0) {
  6979. this.$this = t0;
  6980. },
  6981. StylesheetParser_parseUseRule_closure: function StylesheetParser_parseUseRule_closure(t0) {
  6982. this.$this = t0;
  6983. },
  6984. StylesheetParser__parseSingleProduction_closure: function StylesheetParser__parseSingleProduction_closure(t0, t1) {
  6985. this.$this = t0;
  6986. this.production = t1;
  6987. },
  6988. StylesheetParser_parseSignature_closure: function StylesheetParser_parseSignature_closure(t0) {
  6989. this.$this = t0;
  6990. },
  6991. StylesheetParser__statement_closure: function StylesheetParser__statement_closure(t0) {
  6992. this.$this = t0;
  6993. },
  6994. StylesheetParser_variableDeclarationWithoutNamespace_closure: function StylesheetParser_variableDeclarationWithoutNamespace_closure(t0, t1) {
  6995. this._box_0 = t0;
  6996. this.$this = t1;
  6997. },
  6998. StylesheetParser_variableDeclarationWithoutNamespace_closure0: function StylesheetParser_variableDeclarationWithoutNamespace_closure0(t0) {
  6999. this.declaration = t0;
  7000. },
  7001. StylesheetParser__declarationOrBuffer_closure: function StylesheetParser__declarationOrBuffer_closure(t0) {
  7002. this.name = t0;
  7003. },
  7004. StylesheetParser__declarationOrBuffer_closure0: function StylesheetParser__declarationOrBuffer_closure0(t0, t1) {
  7005. this._box_0 = t0;
  7006. this.name = t1;
  7007. },
  7008. StylesheetParser__styleRule_closure: function StylesheetParser__styleRule_closure(t0, t1, t2) {
  7009. this._box_0 = t0;
  7010. this.$this = t1;
  7011. this.wasInStyleRule = t2;
  7012. },
  7013. StylesheetParser__propertyOrVariableDeclaration_closure: function StylesheetParser__propertyOrVariableDeclaration_closure(t0) {
  7014. this._box_0 = t0;
  7015. },
  7016. StylesheetParser__propertyOrVariableDeclaration_closure0: function StylesheetParser__propertyOrVariableDeclaration_closure0(t0, t1) {
  7017. this._box_0 = t0;
  7018. this.value = t1;
  7019. },
  7020. StylesheetParser__atRootRule_closure: function StylesheetParser__atRootRule_closure(t0) {
  7021. this.query = t0;
  7022. },
  7023. StylesheetParser__atRootRule_closure0: function StylesheetParser__atRootRule_closure0() {
  7024. },
  7025. StylesheetParser__eachRule_closure: function StylesheetParser__eachRule_closure(t0, t1, t2, t3) {
  7026. var _ = this;
  7027. _.$this = t0;
  7028. _.wasInControlDirective = t1;
  7029. _.variables = t2;
  7030. _.list = t3;
  7031. },
  7032. StylesheetParser__functionRule_closure: function StylesheetParser__functionRule_closure(t0, t1, t2) {
  7033. this.name = t0;
  7034. this.$arguments = t1;
  7035. this.precedingComment = t2;
  7036. },
  7037. StylesheetParser__forRule_closure: function StylesheetParser__forRule_closure(t0, t1) {
  7038. this._box_0 = t0;
  7039. this.$this = t1;
  7040. },
  7041. StylesheetParser__forRule_closure0: function StylesheetParser__forRule_closure0(t0, t1, t2, t3, t4, t5) {
  7042. var _ = this;
  7043. _._box_0 = t0;
  7044. _.$this = t1;
  7045. _.wasInControlDirective = t2;
  7046. _.variable = t3;
  7047. _.from = t4;
  7048. _.to = t5;
  7049. },
  7050. StylesheetParser__memberList_closure: function StylesheetParser__memberList_closure(t0, t1, t2) {
  7051. this.$this = t0;
  7052. this.variables = t1;
  7053. this.identifiers = t2;
  7054. },
  7055. StylesheetParser__includeRule_closure: function StylesheetParser__includeRule_closure(t0, t1) {
  7056. this._box_0 = t0;
  7057. this.$this = t1;
  7058. },
  7059. StylesheetParser_mediaRule_closure: function StylesheetParser_mediaRule_closure(t0) {
  7060. this.query = t0;
  7061. },
  7062. StylesheetParser__mixinRule_closure: function StylesheetParser__mixinRule_closure(t0, t1, t2, t3) {
  7063. var _ = this;
  7064. _.$this = t0;
  7065. _.name = t1;
  7066. _.$arguments = t2;
  7067. _.precedingComment = t3;
  7068. },
  7069. StylesheetParser_mozDocumentRule_closure: function StylesheetParser_mozDocumentRule_closure(t0, t1, t2, t3) {
  7070. var _ = this;
  7071. _._box_0 = t0;
  7072. _.$this = t1;
  7073. _.name = t2;
  7074. _.value = t3;
  7075. },
  7076. StylesheetParser_supportsRule_closure: function StylesheetParser_supportsRule_closure(t0) {
  7077. this.condition = t0;
  7078. },
  7079. StylesheetParser__whileRule_closure: function StylesheetParser__whileRule_closure(t0, t1, t2) {
  7080. this.$this = t0;
  7081. this.wasInControlDirective = t1;
  7082. this.condition = t2;
  7083. },
  7084. StylesheetParser_unknownAtRule_closure: function StylesheetParser_unknownAtRule_closure(t0, t1) {
  7085. this._box_0 = t0;
  7086. this.name = t1;
  7087. },
  7088. StylesheetParser_expression_resetState: function StylesheetParser_expression_resetState(t0, t1, t2) {
  7089. this._box_0 = t0;
  7090. this.$this = t1;
  7091. this.start = t2;
  7092. },
  7093. StylesheetParser_expression_resolveOneOperation: function StylesheetParser_expression_resolveOneOperation(t0, t1) {
  7094. this._box_0 = t0;
  7095. this.$this = t1;
  7096. },
  7097. StylesheetParser_expression_resolveOperations: function StylesheetParser_expression_resolveOperations(t0, t1) {
  7098. this._box_0 = t0;
  7099. this.resolveOneOperation = t1;
  7100. },
  7101. StylesheetParser_expression_addSingleExpression: function StylesheetParser_expression_addSingleExpression(t0, t1, t2, t3) {
  7102. var _ = this;
  7103. _._box_0 = t0;
  7104. _.$this = t1;
  7105. _.resetState = t2;
  7106. _.resolveOperations = t3;
  7107. },
  7108. StylesheetParser_expression_addOperator: function StylesheetParser_expression_addOperator(t0, t1, t2) {
  7109. this._box_0 = t0;
  7110. this.$this = t1;
  7111. this.resolveOneOperation = t2;
  7112. },
  7113. StylesheetParser_expression_resolveSpaceExpressions: function StylesheetParser_expression_resolveSpaceExpressions(t0, t1) {
  7114. this._box_0 = t0;
  7115. this.resolveOperations = t1;
  7116. },
  7117. StylesheetParser__expressionUntilComma_closure: function StylesheetParser__expressionUntilComma_closure(t0) {
  7118. this.$this = t0;
  7119. },
  7120. StylesheetParser__unicodeRange_closure: function StylesheetParser__unicodeRange_closure() {
  7121. },
  7122. StylesheetParser__unicodeRange_closure0: function StylesheetParser__unicodeRange_closure0() {
  7123. },
  7124. StylesheetParser_identifierLike_closure: function StylesheetParser_identifierLike_closure(t0, t1) {
  7125. this.$this = t0;
  7126. this.start = t1;
  7127. },
  7128. StylesheetParser__expressionUntilComparison_closure: function StylesheetParser__expressionUntilComparison_closure(t0) {
  7129. this.$this = t0;
  7130. },
  7131. StylesheetParser__publicIdentifier_closure: function StylesheetParser__publicIdentifier_closure(t0, t1) {
  7132. this.$this = t0;
  7133. this.start = t1;
  7134. },
  7135. cloneCssStylesheet: function(stylesheet, extender) {
  7136. var result = extender.clone$0(),
  7137. t1 = stylesheet.get$span(),
  7138. t2 = B.ModifiableCssNode,
  7139. t3 = H.setRuntimeTypeInfo([], [t2]);
  7140. return new S.Tuple2(new V._CloneCssVisitor(result.item2)._visitChildren$2(new V.ModifiableCssStylesheet(t1, new P.UnmodifiableListView(t3, [t2]), t3), stylesheet), result.item1, [V.ModifiableCssStylesheet, F.Extender]);
  7141. },
  7142. _CloneCssVisitor: function _CloneCssVisitor(t0) {
  7143. this._oldToNewSelectors = t0;
  7144. },
  7145. SourceLocation$: function(offset, column, line, sourceUrl) {
  7146. var t1 = line == null,
  7147. t2 = t1 ? 0 : line,
  7148. t3 = column == null,
  7149. t4 = t3 ? offset : column;
  7150. if (offset < 0)
  7151. H.throwExpression(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  7152. else if (!t1 && line < 0)
  7153. H.throwExpression(P.RangeError$("Line may not be negative, was " + H.S(line) + "."));
  7154. else if (!t3 && column < 0)
  7155. H.throwExpression(P.RangeError$("Column may not be negative, was " + H.S(column) + "."));
  7156. return new V.SourceLocation(sourceUrl, offset, t2, t4);
  7157. },
  7158. SourceLocation: function SourceLocation(t0, t1, t2, t3) {
  7159. var _ = this;
  7160. _.sourceUrl = t0;
  7161. _.offset = t1;
  7162. _.line = t2;
  7163. _.column = t3;
  7164. },
  7165. SourceSpan: function SourceSpan() {
  7166. },
  7167. SourceSpanBase: function SourceSpanBase() {
  7168. }
  7169. },
  7170. G = {Option: function Option(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  7171. var _ = this;
  7172. _.name = t0;
  7173. _.abbr = t1;
  7174. _.help = t2;
  7175. _.valueHelp = t3;
  7176. _.allowed = t4;
  7177. _.allowedHelp = t5;
  7178. _.defaultsTo = t6;
  7179. _.negatable = t7;
  7180. _.callback = t8;
  7181. _.type = t9;
  7182. _.splitCommas = t10;
  7183. _.hide = t11;
  7184. }, OptionType: function OptionType(t0) {
  7185. this.name = t0;
  7186. },
  7187. Parser$0: function(commandName, grammar, args, $parent, rest) {
  7188. var t1 = P.String,
  7189. t2 = H.setRuntimeTypeInfo([], [t1]);
  7190. if (rest != null)
  7191. C.JSArray_methods.addAll$1(t2, rest);
  7192. return new G.Parser0(commandName, $parent, grammar, args, t2, P.LinkedHashMap_LinkedHashMap$_empty(t1, null));
  7193. },
  7194. Parser0: function Parser0(t0, t1, t2, t3, t4, t5) {
  7195. var _ = this;
  7196. _.commandName = t0;
  7197. _.parent = t1;
  7198. _.grammar = t2;
  7199. _.args = t3;
  7200. _.rest = t4;
  7201. _.results = t5;
  7202. },
  7203. Parser_parse_closure: function Parser_parse_closure(t0) {
  7204. this.$this = t0;
  7205. },
  7206. Parser_setOption_closure: function Parser_setOption_closure() {
  7207. },
  7208. Usage: function Usage(t0, t1) {
  7209. var _ = this;
  7210. _.optionsAndSeparators = t0;
  7211. _.buffer = null;
  7212. _.currentColumn = 0;
  7213. _.columnWidths = null;
  7214. _.newlinesNeeded = _.numHelpLines = 0;
  7215. _.lineLength = t1;
  7216. },
  7217. Usage_generate_closure: function Usage_generate_closure() {
  7218. },
  7219. Usage_buildAllowedList_closure: function Usage_buildAllowedList_closure(t0) {
  7220. this.option = t0;
  7221. },
  7222. StreamQueue: function StreamQueue(t0, t1, t2, t3) {
  7223. var _ = this;
  7224. _._stream_queue$_source = t0;
  7225. _._stream_queue$_subscription = null;
  7226. _._isDone = false;
  7227. _._eventsReceived = 0;
  7228. _._eventQueue = t1;
  7229. _._requestQueue = t2;
  7230. _.$ti = t3;
  7231. },
  7232. StreamQueue__ensureListening_closure: function StreamQueue__ensureListening_closure(t0) {
  7233. this.$this = t0;
  7234. },
  7235. StreamQueue__ensureListening_closure1: function StreamQueue__ensureListening_closure1(t0) {
  7236. this.$this = t0;
  7237. },
  7238. StreamQueue__ensureListening_closure0: function StreamQueue__ensureListening_closure0(t0) {
  7239. this.$this = t0;
  7240. },
  7241. _EventRequest: function _EventRequest() {
  7242. },
  7243. _NextRequest: function _NextRequest(t0, t1) {
  7244. this._completer = t0;
  7245. this.$ti = t1;
  7246. },
  7247. ModifiableCssMediaRule$: function(queries, span) {
  7248. var t1 = P.List_List$unmodifiable(queries, F.CssMediaQuery),
  7249. t2 = B.ModifiableCssNode,
  7250. t3 = H.setRuntimeTypeInfo([], [t2]);
  7251. if (J.get$isEmpty$asx(queries))
  7252. H.throwExpression(P.ArgumentError$value(queries, "queries", "may not be empty."));
  7253. return new G.ModifiableCssMediaRule(t1, span, new P.UnmodifiableListView(t3, [t2]), t3);
  7254. },
  7255. ModifiableCssMediaRule: function ModifiableCssMediaRule(t0, t1, t2, t3) {
  7256. var _ = this;
  7257. _.queries = t0;
  7258. _.span = t1;
  7259. _.children = t2;
  7260. _._children = t3;
  7261. _._indexInParent = _._parent = null;
  7262. _.isGroupEnd = false;
  7263. },
  7264. MediaRule: function MediaRule(t0, t1, t2, t3) {
  7265. var _ = this;
  7266. _.query = t0;
  7267. _.span = t1;
  7268. _.children = t2;
  7269. _.hasDeclarations = t3;
  7270. },
  7271. WhileRule: function WhileRule(t0, t1, t2, t3) {
  7272. var _ = this;
  7273. _.condition = t0;
  7274. _.span = t1;
  7275. _.children = t2;
  7276. _.hasDeclarations = t3;
  7277. },
  7278. Module: function Module() {
  7279. },
  7280. Types: function Types() {
  7281. },
  7282. Parser_isIdentifier: function(text) {
  7283. var exception, logger = null;
  7284. try {
  7285. G.Parser$(text, logger, null)._parseIdentifier$0();
  7286. return true;
  7287. } catch (exception) {
  7288. if (H.unwrapException(exception) instanceof E.SassFormatException)
  7289. return false;
  7290. else
  7291. throw exception;
  7292. }
  7293. },
  7294. Parser$: function(contents, logger, url) {
  7295. var t1, t2, t3, t4;
  7296. contents.toString;
  7297. t1 = new H.CodeUnits(contents);
  7298. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  7299. t3 = typeof url === "string";
  7300. t4 = t3 ? P.Uri_parse(url) : url;
  7301. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  7302. t2.SourceFile$decoded$2$url(t1, url);
  7303. t1 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri");
  7304. t3 = logger == null ? C.StderrLogger_false : logger;
  7305. return new G.Parser(new S.SpanScanner(t2, t1, contents), t3);
  7306. },
  7307. Parser: function Parser(t0, t1) {
  7308. this.scanner = t0;
  7309. this.logger = t1;
  7310. },
  7311. Parser__parseIdentifier_closure: function Parser__parseIdentifier_closure(t0) {
  7312. this.$this = t0;
  7313. },
  7314. FixedLengthListBuilder: function FixedLengthListBuilder(t0, t1) {
  7315. this._list = t0;
  7316. this._fixed_length_list_builder$_index = 0;
  7317. this.$ti = t1;
  7318. },
  7319. SourceSpanFormatException$: function(message, span, _source) {
  7320. return new G.SourceSpanFormatException(_source, message, span);
  7321. },
  7322. SourceSpanException: function SourceSpanException() {
  7323. },
  7324. SourceSpanFormatException: function SourceSpanFormatException(t0, t1, t2) {
  7325. this._span_exception$_source = t0;
  7326. this._span_exception$_message = t1;
  7327. this._span = t2;
  7328. }
  7329. },
  7330. E = {Result: function Result() {
  7331. }, PosixStyle: function PosixStyle(t0, t1, t2) {
  7332. this.separatorPattern = t0;
  7333. this.needsSeparatorPattern = t1;
  7334. this.rootPattern = t2;
  7335. }, UserDefinedCallable: function UserDefinedCallable(t0, t1, t2) {
  7336. this.declaration = t0;
  7337. this.environment = t1;
  7338. this.$ti = t2;
  7339. },
  7340. SassException$: function(message, span) {
  7341. return new E.SassException(message, span);
  7342. },
  7343. SassRuntimeException$: function(message, span, trace) {
  7344. return new E.SassRuntimeException(trace, message, span);
  7345. },
  7346. SassFormatException$: function(message, span) {
  7347. return new E.SassFormatException(message, span);
  7348. },
  7349. SassScriptException$: function(message) {
  7350. return new E.SassScriptException(message);
  7351. },
  7352. SassException: function SassException(t0, t1) {
  7353. this._span_exception$_message = t0;
  7354. this._span = t1;
  7355. },
  7356. SassRuntimeException: function SassRuntimeException(t0, t1, t2) {
  7357. this.trace = t0;
  7358. this._span_exception$_message = t1;
  7359. this._span = t2;
  7360. },
  7361. SassFormatException: function SassFormatException(t0, t1) {
  7362. this._span_exception$_message = t0;
  7363. this._span = t1;
  7364. },
  7365. SassScriptException: function SassScriptException(t0) {
  7366. this.message = t0;
  7367. },
  7368. ImporterResult: function ImporterResult(t0, t1, t2) {
  7369. this.contents = t0;
  7370. this._sourceMapUrl = t1;
  7371. this.syntax = t2;
  7372. },
  7373. FiberClass: function FiberClass() {
  7374. },
  7375. Fiber: function Fiber() {
  7376. },
  7377. KeyframeSelectorParser: function KeyframeSelectorParser(t0, t1) {
  7378. this.scanner = t0;
  7379. this.logger = t1;
  7380. },
  7381. KeyframeSelectorParser_parse_closure: function KeyframeSelectorParser_parse_closure(t0) {
  7382. this.$this = t0;
  7383. },
  7384. _EvaluateVisitor$0: function(functions, importCache, logger, nodeImporter, sourceMap) {
  7385. var t7, t8,
  7386. t1 = P.String,
  7387. t2 = P.Uri,
  7388. t3 = [G.Module, B.AsyncCallable],
  7389. t4 = P.LinkedHashSet_LinkedHashSet(t1),
  7390. t5 = P.LinkedHashSet_LinkedHashSet(t2),
  7391. t6 = H.setRuntimeTypeInfo([], [[S.Tuple2, P.String, B.AstNode]]);
  7392. if (nodeImporter == null)
  7393. t7 = importCache == null ? O.AsyncImportCache$none(logger) : importCache;
  7394. else
  7395. t7 = null;
  7396. t8 = logger == null ? C.StderrLogger_false : logger;
  7397. t6 = new E._EvaluateVisitor0(t7, nodeImporter, P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AsyncCallable), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), t8, sourceMap, Q.AsyncEnvironment$(sourceMap), t4, t5, t6, C.Map_empty7);
  7398. t6._EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap0(functions, importCache, logger, nodeImporter, sourceMap);
  7399. return t6;
  7400. },
  7401. _ArgumentResults$0: function(positional, named, separator, namedNodes, positionalNodes) {
  7402. return new E._ArgumentResults0(positional, positionalNodes, named, namedNodes, separator);
  7403. },
  7404. _EvaluateVisitor0: function _EvaluateVisitor0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  7405. var _ = this;
  7406. _._async_evaluate$_importCache = t0;
  7407. _._async_evaluate$_nodeImporter = t1;
  7408. _._async_evaluate$_builtInFunctions = t2;
  7409. _._async_evaluate$_builtInModules = t3;
  7410. _._async_evaluate$_modules = t4;
  7411. _._async_evaluate$_logger = t5;
  7412. _._async_evaluate$_sourceMap = t6;
  7413. _._async_evaluate$_environment = t7;
  7414. _._async_evaluate$_declarationName = _._async_evaluate$_parent = _._async_evaluate$_mediaQueries = _._async_evaluate$_styleRule = null;
  7415. _._async_evaluate$_member = "root stylesheet";
  7416. _._async_evaluate$_importSpan = _._async_evaluate$_callableNode = null;
  7417. _._async_evaluate$_inKeyframes = _._async_evaluate$_atRootExcludingStyleRule = _._async_evaluate$_inUnknownAtRule = _._async_evaluate$_inFunction = false;
  7418. _._async_evaluate$_includedFiles = t8;
  7419. _._async_evaluate$_activeModules = t9;
  7420. _._async_evaluate$_stack = t10;
  7421. _._async_evaluate$_extender = _._async_evaluate$_outOfOrderImports = _._async_evaluate$_endOfImports = _._async_evaluate$_root = _._async_evaluate$_stylesheet = _._async_evaluate$_importer = null;
  7422. _._async_evaluate$_configuration = t11;
  7423. },
  7424. _EvaluateVisitor_closure9: function _EvaluateVisitor_closure9(t0) {
  7425. this.$this = t0;
  7426. },
  7427. _EvaluateVisitor_closure10: function _EvaluateVisitor_closure10(t0) {
  7428. this.$this = t0;
  7429. },
  7430. _EvaluateVisitor_closure11: function _EvaluateVisitor_closure11(t0) {
  7431. this.$this = t0;
  7432. },
  7433. _EvaluateVisitor_closure12: function _EvaluateVisitor_closure12(t0) {
  7434. this.$this = t0;
  7435. },
  7436. _EvaluateVisitor_closure13: function _EvaluateVisitor_closure13(t0) {
  7437. this.$this = t0;
  7438. },
  7439. _EvaluateVisitor_closure14: function _EvaluateVisitor_closure14(t0) {
  7440. this.$this = t0;
  7441. },
  7442. _EvaluateVisitor_closure15: function _EvaluateVisitor_closure15(t0) {
  7443. this.$this = t0;
  7444. },
  7445. _EvaluateVisitor_closure16: function _EvaluateVisitor_closure16(t0) {
  7446. this.$this = t0;
  7447. },
  7448. _EvaluateVisitor__closure8: function _EvaluateVisitor__closure8(t0, t1, t2) {
  7449. this.$this = t0;
  7450. this.name = t1;
  7451. this.module = t2;
  7452. },
  7453. _EvaluateVisitor_closure17: function _EvaluateVisitor_closure17(t0) {
  7454. this.$this = t0;
  7455. },
  7456. _EvaluateVisitor__closure6: function _EvaluateVisitor__closure6() {
  7457. },
  7458. _EvaluateVisitor__closure7: function _EvaluateVisitor__closure7() {
  7459. },
  7460. _EvaluateVisitor_closure18: function _EvaluateVisitor_closure18(t0) {
  7461. this.$this = t0;
  7462. },
  7463. _EvaluateVisitor__closure4: function _EvaluateVisitor__closure4(t0, t1) {
  7464. this._box_0 = t0;
  7465. this.span = t1;
  7466. },
  7467. _EvaluateVisitor__closure5: function _EvaluateVisitor__closure5(t0) {
  7468. this.$this = t0;
  7469. },
  7470. _EvaluateVisitor_run_closure0: function _EvaluateVisitor_run_closure0(t0, t1, t2) {
  7471. this.$this = t0;
  7472. this.node = t1;
  7473. this.importer = t2;
  7474. },
  7475. _EvaluateVisitor__withWarnCallback_closure0: function _EvaluateVisitor__withWarnCallback_closure0(t0) {
  7476. this.$this = t0;
  7477. },
  7478. _EvaluateVisitor__loadModule_closure0: function _EvaluateVisitor__loadModule_closure0(t0, t1, t2, t3, t4, t5, t6) {
  7479. var _ = this;
  7480. _.$this = t0;
  7481. _.url = t1;
  7482. _.nodeForSpan = t2;
  7483. _.baseUrl = t3;
  7484. _.namesInErrors = t4;
  7485. _.configuration = t5;
  7486. _.callback = t6;
  7487. },
  7488. _EvaluateVisitor__loadModule__closure0: function _EvaluateVisitor__loadModule__closure0(t0, t1, t2, t3) {
  7489. var _ = this;
  7490. _.$this = t0;
  7491. _.url = t1;
  7492. _.nodeForSpan = t2;
  7493. _.baseUrl = t3;
  7494. },
  7495. _EvaluateVisitor__execute_closure0: function _EvaluateVisitor__execute_closure0(t0, t1, t2, t3, t4, t5, t6) {
  7496. var _ = this;
  7497. _._box_0 = t0;
  7498. _.$this = t1;
  7499. _.importer = t2;
  7500. _.stylesheet = t3;
  7501. _.extender = t4;
  7502. _.configuration = t5;
  7503. _.namesInErrors = t6;
  7504. },
  7505. _EvaluateVisitor__combineCss_closure2: function _EvaluateVisitor__combineCss_closure2() {
  7506. },
  7507. _EvaluateVisitor__combineCss_closure3: function _EvaluateVisitor__combineCss_closure3(t0) {
  7508. this.selectors = t0;
  7509. },
  7510. _EvaluateVisitor__combineCss_closure4: function _EvaluateVisitor__combineCss_closure4() {
  7511. },
  7512. _EvaluateVisitor__extendModules_closure1: function _EvaluateVisitor__extendModules_closure1(t0) {
  7513. this.originalSelectors = t0;
  7514. },
  7515. _EvaluateVisitor__extendModules_closure2: function _EvaluateVisitor__extendModules_closure2() {
  7516. },
  7517. _EvaluateVisitor__topologicalModules_visitModule0: function _EvaluateVisitor__topologicalModules_visitModule0(t0, t1) {
  7518. this.seen = t0;
  7519. this.sorted = t1;
  7520. },
  7521. _EvaluateVisitor_visitAtRootRule_closure2: function _EvaluateVisitor_visitAtRootRule_closure2(t0, t1) {
  7522. this.$this = t0;
  7523. this.resolved = t1;
  7524. },
  7525. _EvaluateVisitor_visitAtRootRule_closure3: function _EvaluateVisitor_visitAtRootRule_closure3(t0, t1) {
  7526. this.$this = t0;
  7527. this.node = t1;
  7528. },
  7529. _EvaluateVisitor_visitAtRootRule_closure4: function _EvaluateVisitor_visitAtRootRule_closure4(t0, t1) {
  7530. this.$this = t0;
  7531. this.node = t1;
  7532. },
  7533. _EvaluateVisitor__scopeForAtRoot_closure5: function _EvaluateVisitor__scopeForAtRoot_closure5(t0, t1, t2) {
  7534. this.$this = t0;
  7535. this.newParent = t1;
  7536. this.node = t2;
  7537. },
  7538. _EvaluateVisitor__scopeForAtRoot_closure6: function _EvaluateVisitor__scopeForAtRoot_closure6(t0, t1) {
  7539. this.$this = t0;
  7540. this.innerScope = t1;
  7541. },
  7542. _EvaluateVisitor__scopeForAtRoot_closure7: function _EvaluateVisitor__scopeForAtRoot_closure7(t0, t1) {
  7543. this.$this = t0;
  7544. this.innerScope = t1;
  7545. },
  7546. _EvaluateVisitor__scopeForAtRoot__closure0: function _EvaluateVisitor__scopeForAtRoot__closure0(t0, t1) {
  7547. this.innerScope = t0;
  7548. this.callback = t1;
  7549. },
  7550. _EvaluateVisitor__scopeForAtRoot_closure8: function _EvaluateVisitor__scopeForAtRoot_closure8(t0, t1) {
  7551. this.$this = t0;
  7552. this.innerScope = t1;
  7553. },
  7554. _EvaluateVisitor__scopeForAtRoot_closure9: function _EvaluateVisitor__scopeForAtRoot_closure9() {
  7555. },
  7556. _EvaluateVisitor__scopeForAtRoot_closure10: function _EvaluateVisitor__scopeForAtRoot_closure10(t0, t1) {
  7557. this.$this = t0;
  7558. this.innerScope = t1;
  7559. },
  7560. _EvaluateVisitor_visitContentRule_closure0: function _EvaluateVisitor_visitContentRule_closure0(t0, t1) {
  7561. this.$this = t0;
  7562. this.content = t1;
  7563. },
  7564. _EvaluateVisitor_visitDeclaration_closure0: function _EvaluateVisitor_visitDeclaration_closure0(t0, t1) {
  7565. this.$this = t0;
  7566. this.node = t1;
  7567. },
  7568. _EvaluateVisitor_visitEachRule_closure2: function _EvaluateVisitor_visitEachRule_closure2(t0, t1, t2) {
  7569. this.$this = t0;
  7570. this.node = t1;
  7571. this.nodeForSpan = t2;
  7572. },
  7573. _EvaluateVisitor_visitEachRule_closure3: function _EvaluateVisitor_visitEachRule_closure3(t0, t1, t2) {
  7574. this.$this = t0;
  7575. this.node = t1;
  7576. this.nodeForSpan = t2;
  7577. },
  7578. _EvaluateVisitor_visitEachRule_closure4: function _EvaluateVisitor_visitEachRule_closure4(t0, t1, t2, t3) {
  7579. var _ = this;
  7580. _.$this = t0;
  7581. _.list = t1;
  7582. _.setVariables = t2;
  7583. _.node = t3;
  7584. },
  7585. _EvaluateVisitor_visitEachRule__closure0: function _EvaluateVisitor_visitEachRule__closure0(t0, t1, t2) {
  7586. this.$this = t0;
  7587. this.setVariables = t1;
  7588. this.node = t2;
  7589. },
  7590. _EvaluateVisitor_visitEachRule___closure0: function _EvaluateVisitor_visitEachRule___closure0(t0) {
  7591. this.$this = t0;
  7592. },
  7593. _EvaluateVisitor_visitExtendRule_closure0: function _EvaluateVisitor_visitExtendRule_closure0(t0, t1) {
  7594. this.$this = t0;
  7595. this.targetText = t1;
  7596. },
  7597. _EvaluateVisitor_visitAtRule_closure1: function _EvaluateVisitor_visitAtRule_closure1(t0, t1) {
  7598. this.$this = t0;
  7599. this.node = t1;
  7600. },
  7601. _EvaluateVisitor_visitAtRule__closure0: function _EvaluateVisitor_visitAtRule__closure0(t0, t1) {
  7602. this.$this = t0;
  7603. this.node = t1;
  7604. },
  7605. _EvaluateVisitor_visitAtRule_closure2: function _EvaluateVisitor_visitAtRule_closure2() {
  7606. },
  7607. _EvaluateVisitor_visitForRule_closure4: function _EvaluateVisitor_visitForRule_closure4(t0, t1) {
  7608. this.$this = t0;
  7609. this.node = t1;
  7610. },
  7611. _EvaluateVisitor_visitForRule_closure5: function _EvaluateVisitor_visitForRule_closure5(t0, t1) {
  7612. this.$this = t0;
  7613. this.node = t1;
  7614. },
  7615. _EvaluateVisitor_visitForRule_closure6: function _EvaluateVisitor_visitForRule_closure6(t0, t1) {
  7616. this.fromNumber = t0;
  7617. this.toNumber = t1;
  7618. },
  7619. _EvaluateVisitor_visitForRule_closure7: function _EvaluateVisitor_visitForRule_closure7(t0) {
  7620. this.toNumber = t0;
  7621. },
  7622. _EvaluateVisitor_visitForRule_closure8: function _EvaluateVisitor_visitForRule_closure8(t0, t1, t2, t3, t4) {
  7623. var _ = this;
  7624. _._box_0 = t0;
  7625. _.$this = t1;
  7626. _.node = t2;
  7627. _.from = t3;
  7628. _.direction = t4;
  7629. },
  7630. _EvaluateVisitor_visitForRule__closure0: function _EvaluateVisitor_visitForRule__closure0(t0) {
  7631. this.$this = t0;
  7632. },
  7633. _EvaluateVisitor_visitForwardRule_closure0: function _EvaluateVisitor_visitForwardRule_closure0(t0, t1) {
  7634. this.$this = t0;
  7635. this.node = t1;
  7636. },
  7637. _EvaluateVisitor_visitIfRule_closure0: function _EvaluateVisitor_visitIfRule_closure0(t0, t1) {
  7638. this._box_0 = t0;
  7639. this.$this = t1;
  7640. },
  7641. _EvaluateVisitor_visitIfRule__closure0: function _EvaluateVisitor_visitIfRule__closure0(t0) {
  7642. this.$this = t0;
  7643. },
  7644. _EvaluateVisitor__visitDynamicImport_closure0: function _EvaluateVisitor__visitDynamicImport_closure0(t0, t1) {
  7645. this.$this = t0;
  7646. this.$import = t1;
  7647. },
  7648. _EvaluateVisitor__visitDynamicImport__closure1: function _EvaluateVisitor__visitDynamicImport__closure1(t0, t1, t2) {
  7649. this.$this = t0;
  7650. this.importer = t1;
  7651. this.stylesheet = t2;
  7652. },
  7653. _EvaluateVisitor__visitDynamicImport__closure2: function _EvaluateVisitor__visitDynamicImport__closure2(t0, t1, t2, t3) {
  7654. var _ = this;
  7655. _._box_0 = t0;
  7656. _.$this = t1;
  7657. _.importer = t2;
  7658. _.stylesheet = t3;
  7659. },
  7660. _EvaluateVisitor_visitIncludeRule_closure1: function _EvaluateVisitor_visitIncludeRule_closure1(t0, t1) {
  7661. this.$this = t0;
  7662. this.node = t1;
  7663. },
  7664. _EvaluateVisitor_visitIncludeRule_closure2: function _EvaluateVisitor_visitIncludeRule_closure2(t0, t1, t2, t3) {
  7665. var _ = this;
  7666. _.$this = t0;
  7667. _.contentCallable = t1;
  7668. _.mixin = t2;
  7669. _.node = t3;
  7670. },
  7671. _EvaluateVisitor_visitIncludeRule__closure0: function _EvaluateVisitor_visitIncludeRule__closure0(t0, t1, t2) {
  7672. this.$this = t0;
  7673. this.mixin = t1;
  7674. this.node = t2;
  7675. },
  7676. _EvaluateVisitor_visitIncludeRule___closure0: function _EvaluateVisitor_visitIncludeRule___closure0(t0, t1, t2) {
  7677. this.$this = t0;
  7678. this.mixin = t1;
  7679. this.node = t2;
  7680. },
  7681. _EvaluateVisitor_visitIncludeRule____closure0: function _EvaluateVisitor_visitIncludeRule____closure0(t0, t1) {
  7682. this.$this = t0;
  7683. this.statement = t1;
  7684. },
  7685. _EvaluateVisitor_visitMediaRule_closure1: function _EvaluateVisitor_visitMediaRule_closure1(t0, t1, t2, t3) {
  7686. var _ = this;
  7687. _.$this = t0;
  7688. _.mergedQueries = t1;
  7689. _.queries = t2;
  7690. _.node = t3;
  7691. },
  7692. _EvaluateVisitor_visitMediaRule__closure0: function _EvaluateVisitor_visitMediaRule__closure0(t0, t1) {
  7693. this.$this = t0;
  7694. this.node = t1;
  7695. },
  7696. _EvaluateVisitor_visitMediaRule___closure0: function _EvaluateVisitor_visitMediaRule___closure0(t0, t1) {
  7697. this.$this = t0;
  7698. this.node = t1;
  7699. },
  7700. _EvaluateVisitor_visitMediaRule_closure2: function _EvaluateVisitor_visitMediaRule_closure2(t0) {
  7701. this.mergedQueries = t0;
  7702. },
  7703. _EvaluateVisitor__visitMediaQueries_closure0: function _EvaluateVisitor__visitMediaQueries_closure0(t0, t1) {
  7704. this.$this = t0;
  7705. this.resolved = t1;
  7706. },
  7707. _EvaluateVisitor_visitStyleRule_closure6: function _EvaluateVisitor_visitStyleRule_closure6(t0, t1) {
  7708. this.$this = t0;
  7709. this.selectorText = t1;
  7710. },
  7711. _EvaluateVisitor_visitStyleRule_closure7: function _EvaluateVisitor_visitStyleRule_closure7(t0, t1) {
  7712. this.$this = t0;
  7713. this.node = t1;
  7714. },
  7715. _EvaluateVisitor_visitStyleRule_closure8: function _EvaluateVisitor_visitStyleRule_closure8() {
  7716. },
  7717. _EvaluateVisitor_visitStyleRule_closure9: function _EvaluateVisitor_visitStyleRule_closure9(t0, t1) {
  7718. this.$this = t0;
  7719. this.selectorText = t1;
  7720. },
  7721. _EvaluateVisitor_visitStyleRule_closure10: function _EvaluateVisitor_visitStyleRule_closure10(t0, t1) {
  7722. this._box_0 = t0;
  7723. this.$this = t1;
  7724. },
  7725. _EvaluateVisitor_visitStyleRule_closure11: function _EvaluateVisitor_visitStyleRule_closure11(t0, t1, t2) {
  7726. this.$this = t0;
  7727. this.rule = t1;
  7728. this.node = t2;
  7729. },
  7730. _EvaluateVisitor_visitStyleRule__closure0: function _EvaluateVisitor_visitStyleRule__closure0(t0, t1) {
  7731. this.$this = t0;
  7732. this.node = t1;
  7733. },
  7734. _EvaluateVisitor_visitStyleRule_closure12: function _EvaluateVisitor_visitStyleRule_closure12() {
  7735. },
  7736. _EvaluateVisitor_visitSupportsRule_closure1: function _EvaluateVisitor_visitSupportsRule_closure1(t0, t1) {
  7737. this.$this = t0;
  7738. this.node = t1;
  7739. },
  7740. _EvaluateVisitor_visitSupportsRule__closure0: function _EvaluateVisitor_visitSupportsRule__closure0(t0, t1) {
  7741. this.$this = t0;
  7742. this.node = t1;
  7743. },
  7744. _EvaluateVisitor_visitSupportsRule_closure2: function _EvaluateVisitor_visitSupportsRule_closure2() {
  7745. },
  7746. _EvaluateVisitor_visitVariableDeclaration_closure2: function _EvaluateVisitor_visitVariableDeclaration_closure2(t0, t1, t2) {
  7747. this.$this = t0;
  7748. this.node = t1;
  7749. this.override = t2;
  7750. },
  7751. _EvaluateVisitor_visitVariableDeclaration_closure3: function _EvaluateVisitor_visitVariableDeclaration_closure3(t0, t1) {
  7752. this.$this = t0;
  7753. this.node = t1;
  7754. },
  7755. _EvaluateVisitor_visitVariableDeclaration_closure4: function _EvaluateVisitor_visitVariableDeclaration_closure4(t0, t1, t2) {
  7756. this.$this = t0;
  7757. this.node = t1;
  7758. this.value = t2;
  7759. },
  7760. _EvaluateVisitor_visitUseRule_closure0: function _EvaluateVisitor_visitUseRule_closure0(t0, t1) {
  7761. this.$this = t0;
  7762. this.node = t1;
  7763. },
  7764. _EvaluateVisitor_visitWarnRule_closure0: function _EvaluateVisitor_visitWarnRule_closure0(t0, t1) {
  7765. this.$this = t0;
  7766. this.node = t1;
  7767. },
  7768. _EvaluateVisitor_visitWhileRule_closure0: function _EvaluateVisitor_visitWhileRule_closure0(t0, t1) {
  7769. this.$this = t0;
  7770. this.node = t1;
  7771. },
  7772. _EvaluateVisitor_visitWhileRule__closure0: function _EvaluateVisitor_visitWhileRule__closure0(t0) {
  7773. this.$this = t0;
  7774. },
  7775. _EvaluateVisitor_visitBinaryOperationExpression_closure0: function _EvaluateVisitor_visitBinaryOperationExpression_closure0(t0, t1) {
  7776. this.$this = t0;
  7777. this.node = t1;
  7778. },
  7779. _EvaluateVisitor_visitVariableExpression_closure0: function _EvaluateVisitor_visitVariableExpression_closure0(t0, t1) {
  7780. this.$this = t0;
  7781. this.node = t1;
  7782. },
  7783. _EvaluateVisitor_visitListExpression_closure0: function _EvaluateVisitor_visitListExpression_closure0(t0) {
  7784. this.$this = t0;
  7785. },
  7786. _EvaluateVisitor_visitFunctionExpression_closure1: function _EvaluateVisitor_visitFunctionExpression_closure1(t0, t1, t2) {
  7787. this.$this = t0;
  7788. this.node = t1;
  7789. this.plainName = t2;
  7790. },
  7791. _EvaluateVisitor_visitFunctionExpression_closure2: function _EvaluateVisitor_visitFunctionExpression_closure2(t0, t1, t2) {
  7792. this._box_0 = t0;
  7793. this.$this = t1;
  7794. this.node = t2;
  7795. },
  7796. _EvaluateVisitor__runUserDefinedCallable_closure0: function _EvaluateVisitor__runUserDefinedCallable_closure0(t0, t1, t2, t3, t4) {
  7797. var _ = this;
  7798. _.$this = t0;
  7799. _.callable = t1;
  7800. _.evaluated = t2;
  7801. _.nodeWithSpan = t3;
  7802. _.run = t4;
  7803. },
  7804. _EvaluateVisitor__runUserDefinedCallable__closure0: function _EvaluateVisitor__runUserDefinedCallable__closure0(t0, t1, t2, t3, t4) {
  7805. var _ = this;
  7806. _.$this = t0;
  7807. _.evaluated = t1;
  7808. _.callable = t2;
  7809. _.nodeWithSpan = t3;
  7810. _.run = t4;
  7811. },
  7812. _EvaluateVisitor__runUserDefinedCallable___closure0: function _EvaluateVisitor__runUserDefinedCallable___closure0(t0, t1, t2, t3, t4) {
  7813. var _ = this;
  7814. _.$this = t0;
  7815. _.evaluated = t1;
  7816. _.callable = t2;
  7817. _.nodeWithSpan = t3;
  7818. _.run = t4;
  7819. },
  7820. _EvaluateVisitor__runUserDefinedCallable____closure0: function _EvaluateVisitor__runUserDefinedCallable____closure0() {
  7821. },
  7822. _EvaluateVisitor__runFunctionCallable_closure0: function _EvaluateVisitor__runFunctionCallable_closure0(t0, t1) {
  7823. this.$this = t0;
  7824. this.callable = t1;
  7825. },
  7826. _EvaluateVisitor__runBuiltInCallable_closure1: function _EvaluateVisitor__runBuiltInCallable_closure1(t0, t1, t2) {
  7827. this.overload = t0;
  7828. this.evaluated = t1;
  7829. this.namedSet = t2;
  7830. },
  7831. _EvaluateVisitor__runBuiltInCallable_closure2: function _EvaluateVisitor__runBuiltInCallable_closure2() {
  7832. },
  7833. _EvaluateVisitor__evaluateArguments_closure2: function _EvaluateVisitor__evaluateArguments_closure2(t0) {
  7834. this.$this = t0;
  7835. },
  7836. _EvaluateVisitor__evaluateArguments_closure3: function _EvaluateVisitor__evaluateArguments_closure3(t0) {
  7837. this.$this = t0;
  7838. },
  7839. _EvaluateVisitor__evaluateArguments_closure4: function _EvaluateVisitor__evaluateArguments_closure4(t0, t1, t2) {
  7840. this.named = t0;
  7841. this.namedNodes = t1;
  7842. this.restNodeForSpan = t2;
  7843. },
  7844. _EvaluateVisitor__evaluateMacroArguments_closure3: function _EvaluateVisitor__evaluateMacroArguments_closure3() {
  7845. },
  7846. _EvaluateVisitor__evaluateMacroArguments_closure4: function _EvaluateVisitor__evaluateMacroArguments_closure4() {
  7847. },
  7848. _EvaluateVisitor__evaluateMacroArguments_closure5: function _EvaluateVisitor__evaluateMacroArguments_closure5(t0) {
  7849. this.named = t0;
  7850. },
  7851. _EvaluateVisitor__evaluateMacroArguments_closure6: function _EvaluateVisitor__evaluateMacroArguments_closure6() {
  7852. },
  7853. _EvaluateVisitor__addRestMap_closure1: function _EvaluateVisitor__addRestMap_closure1(t0) {
  7854. this.T = t0;
  7855. },
  7856. _EvaluateVisitor__addRestMap_closure2: function _EvaluateVisitor__addRestMap_closure2(t0, t1, t2, t3, t4) {
  7857. var _ = this;
  7858. _._box_0 = t0;
  7859. _.$this = t1;
  7860. _.values = t2;
  7861. _.map = t3;
  7862. _.nodeForSpan = t4;
  7863. },
  7864. _EvaluateVisitor__verifyArguments_closure0: function _EvaluateVisitor__verifyArguments_closure0(t0, t1, t2) {
  7865. this.$arguments = t0;
  7866. this.positional = t1;
  7867. this.named = t2;
  7868. },
  7869. _EvaluateVisitor_visitStringExpression_closure0: function _EvaluateVisitor_visitStringExpression_closure0(t0) {
  7870. this.$this = t0;
  7871. },
  7872. _EvaluateVisitor_visitCssAtRule_closure1: function _EvaluateVisitor_visitCssAtRule_closure1(t0, t1) {
  7873. this.$this = t0;
  7874. this.node = t1;
  7875. },
  7876. _EvaluateVisitor_visitCssAtRule_closure2: function _EvaluateVisitor_visitCssAtRule_closure2() {
  7877. },
  7878. _EvaluateVisitor_visitCssKeyframeBlock_closure1: function _EvaluateVisitor_visitCssKeyframeBlock_closure1(t0, t1) {
  7879. this.$this = t0;
  7880. this.node = t1;
  7881. },
  7882. _EvaluateVisitor_visitCssKeyframeBlock_closure2: function _EvaluateVisitor_visitCssKeyframeBlock_closure2() {
  7883. },
  7884. _EvaluateVisitor_visitCssMediaRule_closure1: function _EvaluateVisitor_visitCssMediaRule_closure1(t0, t1, t2) {
  7885. this.$this = t0;
  7886. this.mergedQueries = t1;
  7887. this.node = t2;
  7888. },
  7889. _EvaluateVisitor_visitCssMediaRule__closure0: function _EvaluateVisitor_visitCssMediaRule__closure0(t0, t1) {
  7890. this.$this = t0;
  7891. this.node = t1;
  7892. },
  7893. _EvaluateVisitor_visitCssMediaRule___closure0: function _EvaluateVisitor_visitCssMediaRule___closure0(t0, t1) {
  7894. this.$this = t0;
  7895. this.node = t1;
  7896. },
  7897. _EvaluateVisitor_visitCssMediaRule_closure2: function _EvaluateVisitor_visitCssMediaRule_closure2(t0) {
  7898. this.mergedQueries = t0;
  7899. },
  7900. _EvaluateVisitor_visitCssStyleRule_closure1: function _EvaluateVisitor_visitCssStyleRule_closure1(t0, t1, t2) {
  7901. this.$this = t0;
  7902. this.rule = t1;
  7903. this.node = t2;
  7904. },
  7905. _EvaluateVisitor_visitCssStyleRule__closure0: function _EvaluateVisitor_visitCssStyleRule__closure0(t0, t1) {
  7906. this.$this = t0;
  7907. this.node = t1;
  7908. },
  7909. _EvaluateVisitor_visitCssStyleRule_closure2: function _EvaluateVisitor_visitCssStyleRule_closure2() {
  7910. },
  7911. _EvaluateVisitor_visitCssSupportsRule_closure1: function _EvaluateVisitor_visitCssSupportsRule_closure1(t0, t1) {
  7912. this.$this = t0;
  7913. this.node = t1;
  7914. },
  7915. _EvaluateVisitor_visitCssSupportsRule__closure0: function _EvaluateVisitor_visitCssSupportsRule__closure0(t0, t1) {
  7916. this.$this = t0;
  7917. this.node = t1;
  7918. },
  7919. _EvaluateVisitor_visitCssSupportsRule_closure2: function _EvaluateVisitor_visitCssSupportsRule_closure2() {
  7920. },
  7921. _EvaluateVisitor__performInterpolation_closure0: function _EvaluateVisitor__performInterpolation_closure0(t0, t1) {
  7922. this.$this = t0;
  7923. this.warnForColor = t1;
  7924. },
  7925. _EvaluateVisitor__serialize_closure0: function _EvaluateVisitor__serialize_closure0(t0, t1) {
  7926. this.value = t0;
  7927. this.quote = t1;
  7928. },
  7929. _EvaluateVisitor__stackTrace_closure0: function _EvaluateVisitor__stackTrace_closure0(t0) {
  7930. this.$this = t0;
  7931. },
  7932. _ImportedCssVisitor0: function _ImportedCssVisitor0(t0) {
  7933. this._async_evaluate$_visitor = t0;
  7934. },
  7935. _ImportedCssVisitor_visitCssAtRule_closure0: function _ImportedCssVisitor_visitCssAtRule_closure0() {
  7936. },
  7937. _ImportedCssVisitor_visitCssMediaRule_closure0: function _ImportedCssVisitor_visitCssMediaRule_closure0(t0) {
  7938. this.hasBeenMerged = t0;
  7939. },
  7940. _ImportedCssVisitor_visitCssStyleRule_closure0: function _ImportedCssVisitor_visitCssStyleRule_closure0() {
  7941. },
  7942. _ImportedCssVisitor_visitCssSupportsRule_closure0: function _ImportedCssVisitor_visitCssSupportsRule_closure0() {
  7943. },
  7944. EvaluateResult: function EvaluateResult(t0, t1) {
  7945. this.stylesheet = t0;
  7946. this.includedFiles = t1;
  7947. },
  7948. _ArgumentResults0: function _ArgumentResults0(t0, t1, t2, t3, t4) {
  7949. var _ = this;
  7950. _.positional = t0;
  7951. _.positionalNodes = t1;
  7952. _.named = t2;
  7953. _.namedNodes = t3;
  7954. _.separator = t4;
  7955. },
  7956. _ConfiguredValue0: function _ConfiguredValue0(t0, t1, t2) {
  7957. this.value = t0;
  7958. this.configurationSpan = t1;
  7959. this.assignmentNode = t2;
  7960. },
  7961. StringScannerException$: function(message, span, source) {
  7962. return new E.StringScannerException(source, message, span);
  7963. },
  7964. StringScannerException: function StringScannerException(t0, t1, t2) {
  7965. this._span_exception$_source = t0;
  7966. this._span_exception$_message = t1;
  7967. this._span = t2;
  7968. },
  7969. WatchEvent: function WatchEvent(t0, t1) {
  7970. this.type = t0;
  7971. this.path = t1;
  7972. },
  7973. ChangeType: function ChangeType(t0) {
  7974. this._watch_event$_name = t0;
  7975. }
  7976. },
  7977. F = {ValueResult: function ValueResult(t0, t1) {
  7978. this.value = t0;
  7979. this.$ti = t1;
  7980. }, UrlStyle: function UrlStyle(t0, t1, t2, t3) {
  7981. var _ = this;
  7982. _.separatorPattern = t0;
  7983. _.needsSeparatorPattern = t1;
  7984. _.rootPattern = t2;
  7985. _.relativeRootPattern = t3;
  7986. },
  7987. CssMediaQuery$: function(type, features, modifier) {
  7988. return new F.CssMediaQuery(modifier, type, features == null ? C.List_empty : P.List_List$unmodifiable(features, P.String));
  7989. },
  7990. CssMediaQuery: function CssMediaQuery(t0, t1, t2) {
  7991. this.modifier = t0;
  7992. this.type = t1;
  7993. this.features = t2;
  7994. },
  7995. _SingletonCssMediaQueryMergeResult: function _SingletonCssMediaQueryMergeResult(t0) {
  7996. this._media_query$_name = t0;
  7997. },
  7998. MediaQuerySuccessfulMergeResult: function MediaQuerySuccessfulMergeResult(t0) {
  7999. this.query = t0;
  8000. },
  8001. ModifiableCssImport$: function(url, span, media, supports) {
  8002. return new F.ModifiableCssImport(url, supports, media == null ? null : P.List_List$unmodifiable(media, F.CssMediaQuery), span);
  8003. },
  8004. ModifiableCssImport: function ModifiableCssImport(t0, t1, t2, t3) {
  8005. var _ = this;
  8006. _.url = t0;
  8007. _.supports = t1;
  8008. _.media = t2;
  8009. _.span = t3;
  8010. _._indexInParent = _._parent = null;
  8011. _.isGroupEnd = false;
  8012. },
  8013. ModifiableCssValue: function ModifiableCssValue(t0, t1, t2) {
  8014. this.value = t0;
  8015. this.span = t1;
  8016. this.$ti = t2;
  8017. },
  8018. CssValue: function CssValue(t0, t1, t2) {
  8019. this.value = t0;
  8020. this.span = t1;
  8021. this.$ti = t2;
  8022. },
  8023. FunctionExpression: function FunctionExpression(t0, t1, t2, t3) {
  8024. var _ = this;
  8025. _.namespace = t0;
  8026. _.name = t1;
  8027. _.$arguments = t2;
  8028. _.span = t3;
  8029. },
  8030. ValueExpression: function ValueExpression(t0, t1) {
  8031. this.value = t0;
  8032. this.span = t1;
  8033. },
  8034. Import: function Import() {
  8035. },
  8036. TypeSelector: function TypeSelector(t0) {
  8037. this.name = t0;
  8038. },
  8039. main: function(args) {
  8040. return F.main$body(args);
  8041. },
  8042. main$body: function(args) {
  8043. var $async$goto = 0,
  8044. $async$completer = P._makeAsyncAwaitCompleter(-1),
  8045. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], printError, graph, source, destination, error, stackTrace, error0, stackTrace0, error1, error2, stackTrace1, buffer, options, t1, t2, t3, t4, exception, _box_0, $async$exception, $async$exception1, $async$temp1;
  8046. var $async$main = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  8047. if ($async$errorCode === 1) {
  8048. $async$currentError = $async$result;
  8049. $async$goto = $async$handler;
  8050. }
  8051. while (true)
  8052. switch ($async$goto) {
  8053. case 0:
  8054. // Function start
  8055. _box_0 = {};
  8056. _box_0.printedError = false;
  8057. printError = new F.main_printError(_box_0);
  8058. _box_0.options = null;
  8059. $async$handler = 4;
  8060. options = B.ExecutableOptions_ExecutableOptions$parse(args);
  8061. _box_0.options = options;
  8062. t1 = options._options;
  8063. $._glyphs = !(t1.wasParsed$1("unicode") ? H.boolTypeCast(t1.$index(0, "unicode")) : $._glyphs !== C.C_AsciiGlyphSet) ? C.C_AsciiGlyphSet : C.C_UnicodeGlyphSet;
  8064. $async$goto = H.boolTypeCast(_box_0.options._options.$index(0, "version")) ? 7 : 8;
  8065. break;
  8066. case 7:
  8067. // then
  8068. $async$temp1 = P;
  8069. $async$goto = 9;
  8070. return P._asyncAwait(F._loadVersion(), $async$main);
  8071. case 9:
  8072. // returning from await.
  8073. $async$temp1.print($async$result);
  8074. self.process.exitCode = 0;
  8075. // goto return
  8076. $async$goto = 1;
  8077. break;
  8078. case 8:
  8079. // join
  8080. $async$goto = _box_0.options.get$interactive() ? 10 : 11;
  8081. break;
  8082. case 10:
  8083. // then
  8084. $async$goto = 12;
  8085. return P._asyncAwait(Y.repl(_box_0.options), $async$main);
  8086. case 12:
  8087. // returning from await.
  8088. // goto return
  8089. $async$goto = 1;
  8090. break;
  8091. case 11:
  8092. // join
  8093. t1 = H.setRuntimeTypeInfo([], [M.Importer]);
  8094. t2 = H.subtypeCast(_box_0.options._options.$index(0, "load-path"), "$isList", [P.String], "$asList");
  8095. t3 = _box_0.options;
  8096. t4 = P.Uri;
  8097. graph = new M.StylesheetGraph(P.LinkedHashMap_LinkedHashMap$_empty(t4, M.StylesheetNode), R.ImportCache$(t1, t2, H.boolTypeCast(t3._options.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(t3.get$color())), P.LinkedHashMap_LinkedHashMap$_empty(t4, P.DateTime));
  8098. $async$goto = H.boolTypeCast(_box_0.options._options.$index(0, "watch")) ? 13 : 14;
  8099. break;
  8100. case 13:
  8101. // then
  8102. $async$goto = 15;
  8103. return P._asyncAwait(A.watch(_box_0.options, graph), $async$main);
  8104. case 15:
  8105. // returning from await.
  8106. // goto return
  8107. $async$goto = 1;
  8108. break;
  8109. case 14:
  8110. // join
  8111. t1 = _box_0.options, t1._ensureSources$0(), t1 = t1._sourcesToDestinations.get$keys(), t1 = t1.get$iterator(t1);
  8112. case 16:
  8113. // for condition
  8114. if (!t1.moveNext$0()) {
  8115. // goto after for
  8116. $async$goto = 17;
  8117. break;
  8118. }
  8119. source = t1.get$current(t1);
  8120. t2 = _box_0.options;
  8121. t2._ensureSources$0();
  8122. destination = t2._sourcesToDestinations.$index(0, source);
  8123. $async$handler = 19;
  8124. t2 = _box_0.options;
  8125. $async$goto = 22;
  8126. return P._asyncAwait(D.compileStylesheet(t2, graph, source, destination, H.boolTypeCast(t2._options.$index(0, "update"))), $async$main);
  8127. case 22:
  8128. // returning from await.
  8129. $async$handler = 4;
  8130. // goto after finally
  8131. $async$goto = 21;
  8132. break;
  8133. case 19:
  8134. // catch
  8135. $async$handler = 18;
  8136. $async$exception = $async$currentError;
  8137. t2 = H.unwrapException($async$exception);
  8138. t3 = J.getInterceptor$(t2);
  8139. if (!!t3.$isSassException) {
  8140. error = t2;
  8141. stackTrace = H.getTraceFromException($async$exception);
  8142. new F.main_closure0(_box_0, destination).call$0();
  8143. t2 = _box_0.options._options;
  8144. if (t2._parser.options._collection$_map.$index(0, "color") == null)
  8145. H.throwExpression(P.ArgumentError$('Could not find an option named "color".'));
  8146. if (t2._parsed.containsKey$1("color"))
  8147. t2 = H.boolTypeCast(t2.$index(0, "color"));
  8148. else {
  8149. t2 = self.process.stdout.isTTY;
  8150. if (t2 == null)
  8151. t2 = false;
  8152. }
  8153. t2 = J.toString$1$color$(error, t2);
  8154. t3 = H.boolTypeCast(_box_0.options._options.$index(0, "trace")) ? stackTrace : null;
  8155. printError.call$2(t2, t3);
  8156. if (!J.$eq$(self.process.exitCode, 66))
  8157. self.process.exitCode = 65;
  8158. if (H.boolTypeCast(_box_0.options._options.$index(0, "stop-on-error"))) {
  8159. // goto return
  8160. $async$goto = 1;
  8161. break;
  8162. }
  8163. } else if (!!t3.$isFileSystemException) {
  8164. error0 = t2;
  8165. stackTrace0 = H.getTraceFromException($async$exception);
  8166. t2 = error0.path;
  8167. t2 = "Error reading " + H.S($.$get$context().relative$2$from(t2, null)) + ": " + error0.message + ".";
  8168. t3 = H.boolTypeCast(_box_0.options._options.$index(0, "trace")) ? stackTrace0 : null;
  8169. printError.call$2(t2, t3);
  8170. self.process.exitCode = 66;
  8171. if (H.boolTypeCast(_box_0.options._options.$index(0, "stop-on-error"))) {
  8172. // goto return
  8173. $async$goto = 1;
  8174. break;
  8175. }
  8176. } else
  8177. throw $async$exception;
  8178. // goto after finally
  8179. $async$goto = 21;
  8180. break;
  8181. case 18:
  8182. // uncaught
  8183. // goto catch
  8184. $async$goto = 4;
  8185. break;
  8186. case 21:
  8187. // after finally
  8188. // goto for condition
  8189. $async$goto = 16;
  8190. break;
  8191. case 17:
  8192. // after for
  8193. $async$handler = 2;
  8194. // goto after finally
  8195. $async$goto = 6;
  8196. break;
  8197. case 4:
  8198. // catch
  8199. $async$handler = 3;
  8200. $async$exception1 = $async$currentError;
  8201. t1 = H.unwrapException($async$exception1);
  8202. if (t1 instanceof B.UsageException) {
  8203. error1 = t1;
  8204. P.print(H.S(error1.message) + "\n");
  8205. P.print("Usage: sass <input.scss> [output.css]\n sass <input.scss>:<output.css> <input/>:<output/> <dir/>\n");
  8206. t1 = $.$get$ExecutableOptions__parser();
  8207. P.print(new G.Usage(t1._optionsAndSeparators, t1.usageLineLength).generate$0());
  8208. self.process.exitCode = 64;
  8209. } else {
  8210. error2 = t1;
  8211. stackTrace1 = H.getTraceFromException($async$exception1);
  8212. buffer = new P.StringBuffer("");
  8213. t1 = _box_0.options;
  8214. if (t1 != null && t1.get$color())
  8215. buffer._contents += "\x1b[31m\x1b[1m";
  8216. buffer._contents += "Unexpected exception:";
  8217. t1 = _box_0.options;
  8218. if (t1 != null && t1.get$color())
  8219. buffer._contents += "\x1b[0m";
  8220. buffer._contents += "\n";
  8221. buffer._contents += H.S(error2) + "\n";
  8222. t1 = buffer._contents;
  8223. printError.call$2(t1.charCodeAt(0) == 0 ? t1 : t1, stackTrace1);
  8224. self.process.exitCode = 255;
  8225. }
  8226. // goto after finally
  8227. $async$goto = 6;
  8228. break;
  8229. case 3:
  8230. // uncaught
  8231. // goto rethrow
  8232. $async$goto = 2;
  8233. break;
  8234. case 6:
  8235. // after finally
  8236. case 1:
  8237. // return
  8238. return P._asyncReturn($async$returnValue, $async$completer);
  8239. case 2:
  8240. // rethrow
  8241. return P._asyncRethrow($async$currentError, $async$completer);
  8242. }
  8243. });
  8244. return P._asyncStartSync($async$main, $async$completer);
  8245. },
  8246. _loadVersion: function() {
  8247. var $async$goto = 0,
  8248. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  8249. $async$returnValue;
  8250. var $async$_loadVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  8251. if ($async$errorCode === 1)
  8252. return P._asyncRethrow($async$result, $async$completer);
  8253. while (true)
  8254. switch ($async$goto) {
  8255. case 0:
  8256. // Function start
  8257. $async$returnValue = "1.23.6 compiled with dart2js 2.6.1";
  8258. // goto return
  8259. $async$goto = 1;
  8260. break;
  8261. case 1:
  8262. // return
  8263. return P._asyncReturn($async$returnValue, $async$completer);
  8264. }
  8265. });
  8266. return P._asyncStartSync($async$_loadVersion, $async$completer);
  8267. },
  8268. main_printError: function main_printError(t0) {
  8269. this._box_0 = t0;
  8270. },
  8271. main_closure0: function main_closure0(t0, t1) {
  8272. this._box_0 = t0;
  8273. this.destination = t1;
  8274. },
  8275. Extender__extendOrReplace: function(selector, source, targets, mode) {
  8276. var t2, t3, t4, _i, complex, t5, t6, t7, _i0, extender, _null = null,
  8277. t1 = source.components,
  8278. map = P.LinkedHashMap_LinkedHashMap(_null, _null, _null, S.ComplexSelector, S.Extension);
  8279. P.MapBase__fillMapWithMappedIterable(map, t1, _null, new F.Extender__extendOrReplace_closure());
  8280. for (t1 = targets.components, t2 = t1.length, t3 = M.SimpleSelector, t4 = [P.Map, S.ComplexSelector, S.Extension], _i = 0; _i < t2; ++_i) {
  8281. complex = t1[_i];
  8282. t5 = complex.components;
  8283. if (t5.length !== 1)
  8284. throw H.wrapException(E.SassScriptException$("Can't extend complex selector " + H.S(complex) + "."));
  8285. t6 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
  8286. for (t5 = H.interceptedTypeCast(C.JSArray_methods.get$first(t5), "$isCompoundSelector").components, t7 = t5.length, _i0 = 0; _i0 < t7; ++_i0)
  8287. t6.$indexSet(0, t5[_i0], map);
  8288. extender = F.Extender$_mode(mode);
  8289. if (!selector.get$isInvisible())
  8290. extender._originals.addAll$1(0, selector.components);
  8291. selector = extender._extendList$3(selector, t6, _null);
  8292. }
  8293. return selector;
  8294. },
  8295. Extender$_mode: function(_mode) {
  8296. var t1 = M.SimpleSelector;
  8297. return new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.Set, [F.ModifiableCssValue, D.SelectorList]]), P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty([F.ModifiableCssValue, D.SelectorList], [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t1, P.int), new P._LinkedIdentityHashSet([S.ComplexSelector]), _mode);
  8298. },
  8299. Extender: function Extender(t0, t1, t2, t3, t4, t5, t6) {
  8300. var _ = this;
  8301. _._selectors = t0;
  8302. _._extensions = t1;
  8303. _._extensionsByExtender = t2;
  8304. _._mediaContexts = t3;
  8305. _._sourceSpecificity = t4;
  8306. _._originals = t5;
  8307. _._mode = t6;
  8308. },
  8309. Extender__extendOrReplace_closure: function Extender__extendOrReplace_closure() {
  8310. },
  8311. Extender_extensionsWhereTarget_closure: function Extender_extensionsWhereTarget_closure() {
  8312. },
  8313. Extender__registerSelector_closure: function Extender__registerSelector_closure() {
  8314. },
  8315. Extender_addExtension_closure: function Extender_addExtension_closure() {
  8316. },
  8317. Extender_addExtension_closure0: function Extender_addExtension_closure0() {
  8318. },
  8319. Extender_addExtension_closure1: function Extender_addExtension_closure1(t0) {
  8320. this.complex = t0;
  8321. },
  8322. Extender__extendExistingExtensions_closure: function Extender__extendExistingExtensions_closure() {
  8323. },
  8324. Extender__extendExistingExtensions_closure0: function Extender__extendExistingExtensions_closure0() {
  8325. },
  8326. Extender_addExtensions_closure: function Extender_addExtensions_closure(t0, t1, t2) {
  8327. this._box_0 = t0;
  8328. this.$this = t1;
  8329. this.extender = t2;
  8330. },
  8331. Extender_addExtensions__closure: function Extender_addExtensions__closure(t0, t1, t2, t3, t4) {
  8332. var _ = this;
  8333. _._box_0 = t0;
  8334. _.existingSources = t1;
  8335. _.extensionsForTarget = t2;
  8336. _.selectorsForTarget = t3;
  8337. _.target = t4;
  8338. },
  8339. Extender_addExtensions___closure: function Extender_addExtensions___closure() {
  8340. },
  8341. Extender_addExtensions___closure0: function Extender_addExtensions___closure0(t0) {
  8342. this.extension = t0;
  8343. },
  8344. Extender__extendList_closure: function Extender__extendList_closure() {
  8345. },
  8346. Extender__extendComplex_closure: function Extender__extendComplex_closure(t0) {
  8347. this.complex = t0;
  8348. },
  8349. Extender__extendComplex_closure0: function Extender__extendComplex_closure0(t0, t1, t2) {
  8350. this._box_0 = t0;
  8351. this.$this = t1;
  8352. this.complex = t2;
  8353. },
  8354. Extender__extendComplex__closure: function Extender__extendComplex__closure() {
  8355. },
  8356. Extender__extendComplex__closure0: function Extender__extendComplex__closure0(t0, t1, t2, t3) {
  8357. var _ = this;
  8358. _._box_0 = t0;
  8359. _.$this = t1;
  8360. _.complex = t2;
  8361. _.path = t3;
  8362. },
  8363. Extender__extendComplex___closure: function Extender__extendComplex___closure() {
  8364. },
  8365. Extender__extendCompound_closure: function Extender__extendCompound_closure(t0) {
  8366. this.mediaQueryContext = t0;
  8367. },
  8368. Extender__extendCompound_closure0: function Extender__extendCompound_closure0(t0, t1) {
  8369. this._box_1 = t0;
  8370. this.mediaQueryContext = t1;
  8371. },
  8372. Extender__extendCompound__closure: function Extender__extendCompound__closure() {
  8373. },
  8374. Extender__extendCompound__closure0: function Extender__extendCompound__closure0(t0) {
  8375. this._box_0 = t0;
  8376. },
  8377. Extender__extendCompound_closure1: function Extender__extendCompound_closure1() {
  8378. },
  8379. Extender__extendCompound_closure2: function Extender__extendCompound_closure2() {
  8380. },
  8381. Extender__extendSimple_withoutPseudo: function Extender__extendSimple_withoutPseudo(t0, t1, t2) {
  8382. this.$this = t0;
  8383. this.extensions = t1;
  8384. this.targetsUsed = t2;
  8385. },
  8386. Extender__extendSimple_closure: function Extender__extendSimple_closure(t0, t1) {
  8387. this.$this = t0;
  8388. this.withoutPseudo = t1;
  8389. },
  8390. Extender__extendPseudo_closure: function Extender__extendPseudo_closure() {
  8391. },
  8392. Extender__extendPseudo_closure0: function Extender__extendPseudo_closure0() {
  8393. },
  8394. Extender__extendPseudo_closure1: function Extender__extendPseudo_closure1() {
  8395. },
  8396. Extender__extendPseudo_closure2: function Extender__extendPseudo_closure2(t0) {
  8397. this.pseudo = t0;
  8398. },
  8399. Extender__extendPseudo_closure3: function Extender__extendPseudo_closure3(t0) {
  8400. this.pseudo = t0;
  8401. },
  8402. Extender__trim_closure: function Extender__trim_closure(t0, t1) {
  8403. this._box_0 = t0;
  8404. this.complex1 = t1;
  8405. },
  8406. Extender__trim_closure0: function Extender__trim_closure0(t0, t1) {
  8407. this._box_0 = t0;
  8408. this.complex1 = t1;
  8409. },
  8410. Extender_clone_closure: function Extender_clone_closure(t0, t1, t2, t3) {
  8411. var _ = this;
  8412. _.$this = t0;
  8413. _.newSelectors = t1;
  8414. _.oldToNewSelectors = t2;
  8415. _.newMediaContexts = t3;
  8416. },
  8417. FilesystemImporter: function FilesystemImporter(t0) {
  8418. this._loadPath = t0;
  8419. },
  8420. NodeImporter__addSassPath: function($async$includePaths) {
  8421. return P._makeSyncStarIterable(function() {
  8422. var includePaths = $async$includePaths;
  8423. var $async$goto = 0, $async$handler = 2, $async$currentError, sassPath;
  8424. return function $async$NodeImporter__addSassPath($async$errorCode, $async$result) {
  8425. if ($async$errorCode === 1) {
  8426. $async$currentError = $async$result;
  8427. $async$goto = $async$handler;
  8428. }
  8429. while (true)
  8430. switch ($async$goto) {
  8431. case 0:
  8432. // Function start
  8433. $async$goto = 3;
  8434. return P._IterationMarker_yieldStar(includePaths);
  8435. case 3:
  8436. // after yield
  8437. sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH);
  8438. if (sassPath == null) {
  8439. // goto return
  8440. $async$goto = 1;
  8441. break;
  8442. }
  8443. $async$goto = 4;
  8444. return P._IterationMarker_yieldStar(H.setRuntimeTypeInfo(sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":"), [P.String]));
  8445. case 4:
  8446. // after yield
  8447. case 1:
  8448. // return
  8449. return P._IterationMarker_endOfIteration();
  8450. case 2:
  8451. // rethrow
  8452. return P._IterationMarker_uncaughtError($async$currentError);
  8453. }
  8454. };
  8455. }, P.String);
  8456. },
  8457. NodeImporter: function NodeImporter(t0, t1, t2) {
  8458. this._implementation$_context = t0;
  8459. this._includePaths = t1;
  8460. this._implementation$_importers = t2;
  8461. },
  8462. realCasePath: function(path) {
  8463. var t1, basename, matches;
  8464. if (!(J.$eq$(J.get$platform$x(self.process), "win32") || J.$eq$(J.get$platform$x(self.process), "darwin")))
  8465. return path;
  8466. t1 = $.$get$context();
  8467. basename = X.ParsedPath_ParsedPath$parse(path, t1.style).get$basename();
  8468. matches = J.where$1$ax(B.listDir(t1.dirname$1(path), false), new F.realCasePath_closure(basename)).toList$0(0);
  8469. if (matches.length !== 1)
  8470. return path;
  8471. return C.JSArray_methods.get$first(matches);
  8472. },
  8473. realCasePath_closure: function realCasePath_closure(t0) {
  8474. this.basename = t0;
  8475. },
  8476. _QuietLogger: function _QuietLogger() {
  8477. },
  8478. JSFunction: function JSFunction() {
  8479. },
  8480. NodeImporterResult: function NodeImporterResult() {
  8481. },
  8482. MediaQueryParser: function MediaQueryParser(t0, t1) {
  8483. this.scanner = t0;
  8484. this.logger = t1;
  8485. },
  8486. MediaQueryParser_parse_closure: function MediaQueryParser_parse_closure(t0) {
  8487. this.$this = t0;
  8488. },
  8489. PrefixedMapView: function PrefixedMapView(t0, t1, t2) {
  8490. this._prefixed_map_view$_map = t0;
  8491. this._prefixed_map_view$_prefix = t1;
  8492. this.$ti = t2;
  8493. },
  8494. _PrefixedKeys: function _PrefixedKeys(t0) {
  8495. this._prefixed_map_view$_view = t0;
  8496. },
  8497. _PrefixedKeys_iterator_closure: function _PrefixedKeys_iterator_closure(t0) {
  8498. this.$this = t0;
  8499. },
  8500. Value: function Value() {
  8501. },
  8502. SassFunction: function SassFunction(t0) {
  8503. this.callable = t0;
  8504. },
  8505. unwrapValue: function(object) {
  8506. var value;
  8507. if (object != null) {
  8508. if (object instanceof F.Value)
  8509. return object;
  8510. value = object.dartValue;
  8511. if (value != null && value instanceof F.Value)
  8512. return value;
  8513. if (object instanceof self.Error)
  8514. throw H.wrapException(object);
  8515. }
  8516. throw H.wrapException(H.S(object) + " must be a Sass value type.");
  8517. },
  8518. wrapValue: function(value) {
  8519. var t1 = J.getInterceptor$(value);
  8520. if (!!t1.$isSassColor)
  8521. return P.callConstructor($.$get$colorConstructor(), [null, null, null, null, value]);
  8522. if (!!t1.$isSassList)
  8523. return P.callConstructor($.$get$listConstructor(), [null, null, value]);
  8524. if (!!t1.$isSassMap)
  8525. return P.callConstructor($.$get$mapConstructor(), [null, value]);
  8526. if (!!t1.$isSassNumber)
  8527. return P.callConstructor($.$get$numberConstructor(), [null, null, value]);
  8528. if (!!t1.$isSassString)
  8529. return P.callConstructor($.$get$stringConstructor(), [null, value]);
  8530. return value;
  8531. }
  8532. },
  8533. Y = {StreamCompleter: function StreamCompleter(t0, t1) {
  8534. this._stream_completer$_stream = t0;
  8535. this.$ti = t1;
  8536. }, _CompleterStream: function _CompleterStream(t0) {
  8537. this._sourceStream = this._stream_completer$_controller = null;
  8538. this.$ti = t0;
  8539. },
  8540. mapMap: function(map, key, value, K1, V1, K2, V2) {
  8541. var result, t1 = {};
  8542. t1.key = key;
  8543. t1.value = value;
  8544. if (key == null)
  8545. t1.key = new Y.mapMap_closure(K2, K1, V1);
  8546. if (value == null)
  8547. t1.value = new Y.mapMap_closure0(V2, K1, V1);
  8548. result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
  8549. map.forEach$1(0, new Y.mapMap_closure1(t1, result, K1, V1));
  8550. return result;
  8551. },
  8552. minBy: function(values, orderBy, $S, $T) {
  8553. var t1, minValue, minOrderBy, element, elementOrderBy,
  8554. compare = B.defaultCompare($T);
  8555. for (t1 = new H.MappedIterator(J.get$iterator$ax(values.__internal$_iterable), values._f), minValue = null, minOrderBy = null; t1.moveNext$0();) {
  8556. element = t1.__internal$_current;
  8557. elementOrderBy = orderBy.call$1(element);
  8558. if (minOrderBy == null || compare.call$2(elementOrderBy, minOrderBy) < 0) {
  8559. minOrderBy = elementOrderBy;
  8560. minValue = element;
  8561. }
  8562. }
  8563. return minValue;
  8564. },
  8565. mapMap_closure: function mapMap_closure(t0, t1, t2) {
  8566. this.K2 = t0;
  8567. this.K1 = t1;
  8568. this.V1 = t2;
  8569. },
  8570. mapMap_closure0: function mapMap_closure0(t0, t1, t2) {
  8571. this.V2 = t0;
  8572. this.K1 = t1;
  8573. this.V1 = t2;
  8574. },
  8575. mapMap_closure1: function mapMap_closure1(t0, t1, t2, t3) {
  8576. var _ = this;
  8577. _._box_0 = t0;
  8578. _.result = t1;
  8579. _.K1 = t2;
  8580. _.V1 = t3;
  8581. },
  8582. ContentBlock: function ContentBlock(t0, t1, t2, t3, t4) {
  8583. var _ = this;
  8584. _.name = t0;
  8585. _.$arguments = t1;
  8586. _.span = t2;
  8587. _.children = t3;
  8588. _.hasDeclarations = t4;
  8589. },
  8590. WarnRule: function WarnRule(t0, t1) {
  8591. this.expression = t0;
  8592. this.span = t1;
  8593. },
  8594. unifyComplex: function(complexes) {
  8595. var t2, unifiedBase, base, t3, t4, _i, complexesWithoutBases,
  8596. t1 = J.getInterceptor$asx(complexes);
  8597. if (t1.get$length(complexes) === 1)
  8598. return complexes;
  8599. for (t2 = t1.get$iterator(complexes), unifiedBase = null; t2.moveNext$0();) {
  8600. base = J.get$last$ax(t2.get$current(t2));
  8601. if (base instanceof X.CompoundSelector)
  8602. if (unifiedBase == null)
  8603. unifiedBase = base.components;
  8604. else
  8605. for (t3 = base.components, t4 = t3.length, _i = 0; _i < t4; ++_i) {
  8606. unifiedBase = t3[_i].unify$1(unifiedBase);
  8607. if (unifiedBase == null)
  8608. return;
  8609. }
  8610. else
  8611. return;
  8612. }
  8613. complexesWithoutBases = t1.map$1$1(complexes, new Y.unifyComplex_closure(), [P.List, S.ComplexSelectorComponent]).toList$0(0);
  8614. J.add$1$ax(C.JSArray_methods.get$last(complexesWithoutBases), X.CompoundSelector$(unifiedBase));
  8615. return Y.weave(complexesWithoutBases);
  8616. },
  8617. unifyCompound: function(compound1, compound2) {
  8618. var t1, result, _i;
  8619. for (t1 = compound1.length, result = compound2, _i = 0; _i < t1; ++_i) {
  8620. result = compound1[_i].unify$1(result);
  8621. if (result == null)
  8622. return;
  8623. }
  8624. return X.CompoundSelector$(result);
  8625. },
  8626. unifyUniversalAndElement: function(selector1, selector2) {
  8627. var namespace1, name1, t1, namespace2, name2, namespace, $name,
  8628. _s45_ = "must be a UniversalSelector or a TypeSelector";
  8629. if (!!selector1.$isUniversalSelector) {
  8630. namespace1 = selector1.namespace;
  8631. name1 = null;
  8632. } else if (!!selector1.$isTypeSelector) {
  8633. t1 = selector1.name;
  8634. namespace1 = t1.namespace;
  8635. name1 = t1.name;
  8636. } else
  8637. throw H.wrapException(P.ArgumentError$value(selector1, "selector1", _s45_));
  8638. t1 = J.getInterceptor$(selector2);
  8639. if (!!t1.$isUniversalSelector) {
  8640. namespace2 = selector2.namespace;
  8641. name2 = null;
  8642. } else if (!!t1.$isTypeSelector) {
  8643. t1 = selector2.name;
  8644. namespace2 = t1.namespace;
  8645. name2 = t1.name;
  8646. } else
  8647. throw H.wrapException(P.ArgumentError$value(selector2, "selector2", _s45_));
  8648. if (namespace1 == namespace2 || namespace2 === "*")
  8649. namespace = namespace1;
  8650. else {
  8651. if (namespace1 !== "*")
  8652. return;
  8653. namespace = namespace2;
  8654. }
  8655. if (name1 == name2 || name2 == null)
  8656. $name = name1;
  8657. else {
  8658. if (!(name1 == null || name1 === "*"))
  8659. return;
  8660. $name = name2;
  8661. }
  8662. return $name == null ? new N.UniversalSelector(namespace) : new F.TypeSelector(new D.QualifiedName($name, namespace));
  8663. },
  8664. weave: function(complexes) {
  8665. var t2, t3, t4, target, _i, parents, newPrefixes, parentPrefixes, t5,
  8666. t1 = [[P.List, S.ComplexSelectorComponent]],
  8667. prefixes = H.setRuntimeTypeInfo([J.toList$0$ax(C.JSArray_methods.get$first(complexes))], t1);
  8668. for (t2 = H.SubListIterable$(complexes, 1, null, H.getTypeArgumentByIndex(complexes, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  8669. t3 = t2.__internal$_current;
  8670. t4 = J.getInterceptor$asx(t3);
  8671. if (t4.get$isEmpty(t3))
  8672. continue;
  8673. target = t4.get$last(t3);
  8674. if (t4.get$length(t3) === 1) {
  8675. for (t3 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t3 || (0, H.throwConcurrentModificationError)(prefixes), ++_i)
  8676. J.add$1$ax(prefixes[_i], target);
  8677. continue;
  8678. }
  8679. parents = t4.take$1(t3, t4.get$length(t3) - 1).toList$0(0);
  8680. newPrefixes = H.setRuntimeTypeInfo([], t1);
  8681. for (t3 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t3 || (0, H.throwConcurrentModificationError)(prefixes), ++_i) {
  8682. parentPrefixes = Y._weaveParents(prefixes[_i], parents);
  8683. if (parentPrefixes == null)
  8684. continue;
  8685. for (t4 = parentPrefixes.get$iterator(parentPrefixes); t4.moveNext$0();) {
  8686. t5 = t4.get$current(t4);
  8687. J.add$1$ax(t5, target);
  8688. newPrefixes.push(t5);
  8689. }
  8690. }
  8691. prefixes = newPrefixes;
  8692. }
  8693. return prefixes;
  8694. },
  8695. _weaveParents: function(parents1, parents2) {
  8696. var finalCombinators, root1, root2, root, groups1, groups2, lcs, t2, t3, choices, t4, _i, group, t5,
  8697. t1 = S.ComplexSelectorComponent,
  8698. queue1 = P.ListQueue_ListQueue$of(parents1, t1),
  8699. queue2 = P.ListQueue_ListQueue$of(parents2, t1),
  8700. initialCombinators = Y._mergeInitialCombinators(queue1, queue2);
  8701. if (initialCombinators == null)
  8702. return;
  8703. finalCombinators = Y._mergeFinalCombinators(queue1, queue2, null);
  8704. if (finalCombinators == null)
  8705. return;
  8706. root1 = Y._firstIfRoot(queue1);
  8707. root2 = Y._firstIfRoot(queue2);
  8708. t1 = root1 != null;
  8709. if (t1 && root2 != null) {
  8710. root = Y.unifyCompound(root1.components, root2.components);
  8711. if (root == null)
  8712. return;
  8713. queue1.addFirst$1(root);
  8714. queue2.addFirst$1(root);
  8715. } else if (t1)
  8716. queue2.addFirst$1(root1);
  8717. else if (root2 != null)
  8718. queue1.addFirst$1(root2);
  8719. groups1 = Y._groupSelectors(queue1);
  8720. groups2 = Y._groupSelectors(queue2);
  8721. t1 = [P.List, S.ComplexSelectorComponent];
  8722. lcs = B.longestCommonSubsequence(groups2, groups1, new Y._weaveParents_closure(), t1);
  8723. t2 = [P.Iterable, S.ComplexSelectorComponent];
  8724. t3 = [t2];
  8725. choices = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([initialCombinators], t3)], [[P.List, [P.Iterable, S.ComplexSelectorComponent]]]);
  8726. for (t4 = lcs.length, _i = 0; _i < lcs.length; lcs.length === t4 || (0, H.throwConcurrentModificationError)(lcs), ++_i) {
  8727. group = lcs[_i];
  8728. t5 = Y._chunks(groups1, groups2, new Y._weaveParents_closure0(group), t1);
  8729. choices.push(new H.MappedListIterable(t5, new Y._weaveParents_closure1(), [H.getTypeArgumentByIndex(t5, 0), t2]).toList$0(0));
  8730. choices.push(H.setRuntimeTypeInfo([group], t3));
  8731. groups1.removeFirst$0();
  8732. groups2.removeFirst$0();
  8733. }
  8734. t3 = Y._chunks(groups1, groups2, new Y._weaveParents_closure2(), t1);
  8735. choices.push(new H.MappedListIterable(t3, new Y._weaveParents_closure3(), [H.getTypeArgumentByIndex(t3, 0), t2]).toList$0(0));
  8736. C.JSArray_methods.addAll$1(choices, finalCombinators);
  8737. return J.map$1$1$ax(Y.paths(new H.WhereIterable(choices, new Y._weaveParents_closure4(), [H.getTypeArgumentByIndex(choices, 0)]), t2), new Y._weaveParents_closure5(), t1);
  8738. },
  8739. _firstIfRoot: function(queue) {
  8740. var first;
  8741. if (queue._collection$_head === queue._collection$_tail)
  8742. return;
  8743. first = queue.get$first(queue);
  8744. if (first instanceof X.CompoundSelector) {
  8745. if (!Y._hasRoot(first))
  8746. return;
  8747. queue.removeFirst$0();
  8748. return first;
  8749. } else
  8750. return;
  8751. },
  8752. _mergeInitialCombinators: function(components1, components2) {
  8753. var t3, combinators2, lcs,
  8754. t1 = S.Combinator,
  8755. t2 = [t1],
  8756. combinators1 = H.setRuntimeTypeInfo([], t2);
  8757. while (true) {
  8758. if (!components1.get$isEmpty(components1)) {
  8759. t3 = components1._collection$_head;
  8760. if (t3 === components1._collection$_tail)
  8761. H.throwExpression(H.IterableElementError_noElement());
  8762. t3 = components1._collection$_table[t3] instanceof S.Combinator;
  8763. } else
  8764. t3 = false;
  8765. if (!t3)
  8766. break;
  8767. combinators1.push(H.interceptedTypeCast(components1.removeFirst$0(), "$isCombinator"));
  8768. }
  8769. combinators2 = H.setRuntimeTypeInfo([], t2);
  8770. while (true) {
  8771. if (!components2.get$isEmpty(components2)) {
  8772. t2 = components2._collection$_head;
  8773. if (t2 === components2._collection$_tail)
  8774. H.throwExpression(H.IterableElementError_noElement());
  8775. t2 = components2._collection$_table[t2] instanceof S.Combinator;
  8776. } else
  8777. t2 = false;
  8778. if (!t2)
  8779. break;
  8780. combinators2.push(H.interceptedTypeCast(components2.removeFirst$0(), "$isCombinator"));
  8781. }
  8782. lcs = B.longestCommonSubsequence(combinators1, combinators2, null, t1);
  8783. if (C.C_ListEquality.equals$2(lcs, combinators1))
  8784. return combinators2;
  8785. if (C.C_ListEquality.equals$2(lcs, combinators2))
  8786. return combinators1;
  8787. return;
  8788. },
  8789. _mergeFinalCombinators: function(components1, components2, result) {
  8790. var t1, t2, combinators1, combinators2, lcs, combinator1, combinator2, compound1, compound2, choices, unified, followingSiblingSelector, nextSiblingSelector, _null = null;
  8791. if (result == null)
  8792. result = Q.QueueList$(_null, [P.List, [P.List, S.ComplexSelectorComponent]]);
  8793. if (components1._collection$_head === components1._collection$_tail || !(components1.get$last(components1) instanceof S.Combinator))
  8794. t1 = components2._collection$_head === components2._collection$_tail || !(components2.get$last(components2) instanceof S.Combinator);
  8795. else
  8796. t1 = false;
  8797. if (t1)
  8798. return result;
  8799. t1 = S.Combinator;
  8800. t2 = [t1];
  8801. combinators1 = H.setRuntimeTypeInfo([], t2);
  8802. while (true) {
  8803. if (!(!components1.get$isEmpty(components1) && components1.get$last(components1) instanceof S.Combinator))
  8804. break;
  8805. combinators1.push(H.interceptedTypeCast(components1.removeLast$0(0), "$isCombinator"));
  8806. }
  8807. combinators2 = H.setRuntimeTypeInfo([], t2);
  8808. while (true) {
  8809. if (!(!components2.get$isEmpty(components2) && components2.get$last(components2) instanceof S.Combinator))
  8810. break;
  8811. combinators2.push(H.interceptedTypeCast(components2.removeLast$0(0), "$isCombinator"));
  8812. }
  8813. t2 = combinators1.length;
  8814. if (t2 > 1 || combinators2.length > 1) {
  8815. lcs = B.longestCommonSubsequence(combinators1, combinators2, _null, t1);
  8816. if (C.C_ListEquality.equals$2(lcs, combinators1))
  8817. result.addFirst$1(H.setRuntimeTypeInfo([P.List_List$from(new H.ReversedListIterable(combinators2, [H.getTypeArgumentByIndex(combinators2, 0)]), true, S.ComplexSelectorComponent)], [[P.List, S.ComplexSelectorComponent]]));
  8818. else if (C.C_ListEquality.equals$2(lcs, combinators2))
  8819. result.addFirst$1(H.setRuntimeTypeInfo([P.List_List$from(new H.ReversedListIterable(combinators1, [H.getTypeArgumentByIndex(combinators1, 0)]), true, S.ComplexSelectorComponent)], [[P.List, S.ComplexSelectorComponent]]));
  8820. else
  8821. return;
  8822. return result;
  8823. }
  8824. combinator1 = t2 === 0 ? _null : C.JSArray_methods.get$first(combinators1);
  8825. combinator2 = combinators2.length === 0 ? _null : C.JSArray_methods.get$first(combinators2);
  8826. t1 = combinator1 != null;
  8827. if (t1 && combinator2 != null) {
  8828. compound1 = H.interceptedTypeCast(components1.removeLast$0(0), "$isCompoundSelector");
  8829. compound2 = H.interceptedTypeCast(components2.removeLast$0(0), "$isCompoundSelector");
  8830. t1 = combinator1 === C.Combinator_CzM;
  8831. if (t1 && combinator2 === C.Combinator_CzM) {
  8832. compound1.toString;
  8833. if (Y.compoundIsSuperselector(compound1, compound2, _null))
  8834. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound2, C.Combinator_CzM], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8835. else {
  8836. compound2.toString;
  8837. t1 = [S.ComplexSelectorComponent];
  8838. t2 = [[P.List, S.ComplexSelectorComponent]];
  8839. if (Y.compoundIsSuperselector(compound2, compound1, _null))
  8840. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, C.Combinator_CzM], t1)], t2));
  8841. else {
  8842. choices = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, C.Combinator_CzM, compound2, C.Combinator_CzM], t1), H.setRuntimeTypeInfo([compound2, C.Combinator_CzM, compound1, C.Combinator_CzM], t1)], t2);
  8843. unified = Y.unifyCompound(compound1.components, compound2.components);
  8844. if (unified != null)
  8845. choices.push(H.setRuntimeTypeInfo([unified, C.Combinator_CzM], t1));
  8846. result.addFirst$1(choices);
  8847. }
  8848. }
  8849. } else {
  8850. if (!(t1 && combinator2 === C.Combinator_uzg))
  8851. t2 = combinator1 === C.Combinator_uzg && combinator2 === C.Combinator_CzM;
  8852. else
  8853. t2 = true;
  8854. if (t2) {
  8855. followingSiblingSelector = t1 ? compound1 : compound2;
  8856. nextSiblingSelector = t1 ? compound2 : compound1;
  8857. followingSiblingSelector.toString;
  8858. t1 = [S.ComplexSelectorComponent];
  8859. t2 = [[P.List, S.ComplexSelectorComponent]];
  8860. if (Y.compoundIsSuperselector(followingSiblingSelector, nextSiblingSelector, _null))
  8861. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([nextSiblingSelector, C.Combinator_uzg], t1)], t2));
  8862. else {
  8863. unified = Y.unifyCompound(compound1.components, compound2.components);
  8864. t2 = H.setRuntimeTypeInfo([], t2);
  8865. t2.push(H.setRuntimeTypeInfo([followingSiblingSelector, C.Combinator_CzM, nextSiblingSelector, C.Combinator_uzg], t1));
  8866. if (unified != null)
  8867. t2.push(H.setRuntimeTypeInfo([unified, C.Combinator_uzg], t1));
  8868. result.addFirst$1(t2);
  8869. }
  8870. } else {
  8871. if (combinator1 === C.Combinator_sgq)
  8872. t2 = combinator2 === C.Combinator_uzg || combinator2 === C.Combinator_CzM;
  8873. else
  8874. t2 = false;
  8875. if (t2) {
  8876. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound2, combinator2], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8877. components1._collection$_add$1(compound1);
  8878. components1._collection$_add$1(C.Combinator_sgq);
  8879. } else {
  8880. if (combinator2 === C.Combinator_sgq)
  8881. t1 = combinator1 === C.Combinator_uzg || t1;
  8882. else
  8883. t1 = false;
  8884. if (t1) {
  8885. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8886. components2._collection$_add$1(compound2);
  8887. components2._collection$_add$1(C.Combinator_sgq);
  8888. } else if (combinator1 === combinator2) {
  8889. unified = Y.unifyCompound(compound1.components, compound2.components);
  8890. if (unified == null)
  8891. return;
  8892. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([unified, combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8893. } else
  8894. return;
  8895. }
  8896. }
  8897. }
  8898. return Y._mergeFinalCombinators(components1, components2, result);
  8899. } else if (t1) {
  8900. if (combinator1 === C.Combinator_sgq)
  8901. if (!components2.get$isEmpty(components2)) {
  8902. t1 = H.interceptedTypeCast(components2.get$last(components2), "$isCompoundSelector");
  8903. t2 = H.interceptedTypeCast(components1.get$last(components1), "$isCompoundSelector");
  8904. t1.toString;
  8905. t2 = Y.compoundIsSuperselector(t1, t2, _null);
  8906. t1 = t2;
  8907. } else
  8908. t1 = false;
  8909. else
  8910. t1 = false;
  8911. if (t1)
  8912. components2.removeLast$0(0);
  8913. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([components1.removeLast$0(0), combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8914. return Y._mergeFinalCombinators(components1, components2, result);
  8915. } else {
  8916. if (combinator2 === C.Combinator_sgq)
  8917. if (!components1.get$isEmpty(components1)) {
  8918. t1 = H.interceptedTypeCast(components1.get$last(components1), "$isCompoundSelector");
  8919. t2 = H.interceptedTypeCast(components2.get$last(components2), "$isCompoundSelector");
  8920. t1.toString;
  8921. t2 = Y.compoundIsSuperselector(t1, t2, _null);
  8922. t1 = t2;
  8923. } else
  8924. t1 = false;
  8925. else
  8926. t1 = false;
  8927. if (t1)
  8928. components1.removeLast$0(0);
  8929. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([components2.removeLast$0(0), combinator2], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8930. return Y._mergeFinalCombinators(components1, components2, result);
  8931. }
  8932. },
  8933. _mustUnify: function(complex1, complex2) {
  8934. var t2, t3, t4,
  8935. t1 = P.LinkedHashSet_LinkedHashSet(M.SimpleSelector);
  8936. for (t2 = J.get$iterator$ax(complex1); t2.moveNext$0();) {
  8937. t3 = t2.get$current(t2);
  8938. if (t3 instanceof X.CompoundSelector)
  8939. for (t3 = C.JSArray_methods.get$iterator(t3.components), t4 = new H.WhereIterator(t3, Y.functions___isUnique$closure()); t4.moveNext$0();)
  8940. t1.add$1(0, t3.get$current(t3));
  8941. }
  8942. if (t1._collection$_length === 0)
  8943. return false;
  8944. return J.any$1$ax(complex2, new Y._mustUnify_closure(t1));
  8945. },
  8946. _isUnique: function(simple) {
  8947. var t1 = J.getInterceptor$(simple);
  8948. if (!t1.$isIDSelector)
  8949. t1 = !!t1.$isPseudoSelector && !simple.isClass;
  8950. else
  8951. t1 = true;
  8952. return t1;
  8953. },
  8954. _chunks: function(queue1, queue2, done, $T) {
  8955. var chunk2, t2, t3, _i,
  8956. t1 = [$T],
  8957. chunk1 = H.setRuntimeTypeInfo([], t1);
  8958. for (; !done.call$1(queue1);)
  8959. chunk1.push(queue1.removeFirst$0());
  8960. chunk2 = H.setRuntimeTypeInfo([], t1);
  8961. for (; !done.call$1(queue2);)
  8962. chunk2.push(queue2.removeFirst$0());
  8963. t2 = chunk1.length === 0;
  8964. if (t2 && chunk2.length === 0)
  8965. return H.setRuntimeTypeInfo([], [[P.List, $T]]);
  8966. if (t2)
  8967. return H.setRuntimeTypeInfo([chunk2], [[P.List, $T]]);
  8968. if (chunk2.length === 0)
  8969. return H.setRuntimeTypeInfo([chunk1], [[P.List, $T]]);
  8970. t2 = H.setRuntimeTypeInfo([], t1);
  8971. for (t3 = chunk1.length, _i = 0; _i < chunk1.length; chunk1.length === t3 || (0, H.throwConcurrentModificationError)(chunk1), ++_i)
  8972. t2.push(chunk1[_i]);
  8973. for (t3 = chunk2.length, _i = 0; _i < chunk2.length; chunk2.length === t3 || (0, H.throwConcurrentModificationError)(chunk2), ++_i)
  8974. t2.push(chunk2[_i]);
  8975. t1 = H.setRuntimeTypeInfo([], t1);
  8976. for (t3 = chunk2.length, _i = 0; _i < chunk2.length; chunk2.length === t3 || (0, H.throwConcurrentModificationError)(chunk2), ++_i)
  8977. t1.push(chunk2[_i]);
  8978. for (t3 = chunk1.length, _i = 0; _i < chunk1.length; chunk1.length === t3 || (0, H.throwConcurrentModificationError)(chunk1), ++_i)
  8979. t1.push(chunk1[_i]);
  8980. return H.setRuntimeTypeInfo([t2, t1], [[P.List, $T]]);
  8981. },
  8982. paths: function(choices, $T) {
  8983. return J.fold$2$ax(choices, H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([], [$T])], [[P.List, $T]]), new Y.paths_closure($T));
  8984. },
  8985. _groupSelectors: function(complex) {
  8986. var t1, group, t2,
  8987. groups = Q.QueueList$(null, [P.List, S.ComplexSelectorComponent]),
  8988. iterator = P._ListQueueIterator$(complex);
  8989. iterator.moveNext$0();
  8990. for (t1 = [S.ComplexSelectorComponent]; iterator._collection$_current != null;) {
  8991. group = H.setRuntimeTypeInfo([], t1);
  8992. do {
  8993. group.push(iterator._collection$_current);
  8994. if (iterator.moveNext$0())
  8995. t2 = iterator._collection$_current instanceof S.Combinator || C.JSArray_methods.get$last(group) instanceof S.Combinator;
  8996. else
  8997. t2 = false;
  8998. } while (t2);
  8999. groups._queue_list$_add$1(group);
  9000. }
  9001. return groups;
  9002. },
  9003. _hasRoot: function(compound) {
  9004. return C.JSArray_methods.any$1(compound.components, new Y._hasRoot_closure());
  9005. },
  9006. listIsSuperslector: function(list1, list2) {
  9007. return C.JSArray_methods.every$1(list2, new Y.listIsSuperslector_closure(list1));
  9008. },
  9009. complexIsParentSuperselector: function(complex1, complex2) {
  9010. var t2, base, t3, t4,
  9011. t1 = J.getInterceptor$ax(complex1);
  9012. if (t1.get$first(complex1) instanceof S.Combinator)
  9013. return false;
  9014. t2 = J.getInterceptor$ax(complex2);
  9015. if (t2.get$first(complex2) instanceof S.Combinator)
  9016. return false;
  9017. if (t1.get$length(complex1) > t2.get$length(complex2))
  9018. return false;
  9019. base = X.CompoundSelector$(H.setRuntimeTypeInfo([new N.PlaceholderSelector("<temp>")], [M.SimpleSelector]));
  9020. t3 = [S.ComplexSelectorComponent];
  9021. t4 = H.setRuntimeTypeInfo([], t3);
  9022. for (t1 = t1.get$iterator(complex1); t1.moveNext$0();)
  9023. t4.push(t1.get$current(t1));
  9024. t4.push(base);
  9025. t1 = H.setRuntimeTypeInfo([], t3);
  9026. for (t2 = t2.get$iterator(complex2); t2.moveNext$0();)
  9027. t1.push(t2.get$current(t2));
  9028. t1.push(base);
  9029. return Y.complexIsSuperselector(t4, t1);
  9030. },
  9031. complexIsSuperselector: function(complex1, complex2) {
  9032. var t1, i1, i2, remaining1, remaining2, t2, afterSuperselector, afterSuperselector0, t3, compound2, i10, combinator1, combinator2;
  9033. if (C.JSArray_methods.get$last(complex1) instanceof S.Combinator)
  9034. return false;
  9035. if (C.JSArray_methods.get$last(complex2) instanceof S.Combinator)
  9036. return false;
  9037. for (t1 = H.getTypeArgumentByIndex(complex2, 0), i1 = 0, i2 = 0; true;) {
  9038. remaining1 = complex1.length - i1;
  9039. remaining2 = complex2.length - i2;
  9040. if (remaining1 === 0 || remaining2 === 0)
  9041. return false;
  9042. if (remaining1 > remaining2)
  9043. return false;
  9044. t2 = complex1[i1];
  9045. if (t2 instanceof S.Combinator)
  9046. return false;
  9047. if (complex2[i2] instanceof S.Combinator)
  9048. return false;
  9049. H.interceptedTypeCast(t2, "$isCompoundSelector");
  9050. if (remaining1 === 1)
  9051. return Y.compoundIsSuperselector(t2, H.interceptedTypeCast(C.JSArray_methods.get$last(complex2), "$isCompoundSelector"), H.SubListIterable$(complex2, 0, complex2.length - 1, t1).skip$1(0, i2));
  9052. afterSuperselector = i2 + 1;
  9053. for (afterSuperselector0 = afterSuperselector; afterSuperselector0 < complex2.length; ++afterSuperselector0) {
  9054. t3 = afterSuperselector0 - 1;
  9055. compound2 = complex2[t3];
  9056. if (compound2 instanceof X.CompoundSelector)
  9057. if (Y.compoundIsSuperselector(t2, compound2, H.SubListIterable$(complex2, 0, t3, t1).skip$1(0, afterSuperselector)))
  9058. break;
  9059. }
  9060. if (afterSuperselector0 === complex2.length)
  9061. return false;
  9062. i10 = i1 + 1;
  9063. combinator1 = complex1[i10];
  9064. combinator2 = complex2[afterSuperselector0];
  9065. if (combinator1 instanceof S.Combinator) {
  9066. if (!(combinator2 instanceof S.Combinator))
  9067. return false;
  9068. if (combinator1 === C.Combinator_CzM) {
  9069. if (combinator2 === C.Combinator_sgq)
  9070. return false;
  9071. } else if (combinator2 !== combinator1)
  9072. return false;
  9073. if (remaining1 === 3 && remaining2 > 3)
  9074. return false;
  9075. i1 += 2;
  9076. i2 = afterSuperselector0 + 1;
  9077. } else {
  9078. if (combinator2 instanceof S.Combinator) {
  9079. if (combinator2 !== C.Combinator_sgq)
  9080. return false;
  9081. i2 = afterSuperselector0 + 1;
  9082. } else
  9083. i2 = afterSuperselector0;
  9084. i1 = i10;
  9085. }
  9086. }
  9087. },
  9088. compoundIsSuperselector: function(compound1, compound2, parents) {
  9089. var t1, t2, _i, simple1, simple2;
  9090. for (t1 = compound1.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  9091. simple1 = t1[_i];
  9092. if (simple1 instanceof D.PseudoSelector && simple1.selector != null) {
  9093. if (!Y._selectorPseudoIsSuperselector(simple1, compound2, parents))
  9094. return false;
  9095. } else if (!Y._simpleIsSuperselectorOfCompound(simple1, compound2))
  9096. return false;
  9097. }
  9098. for (t1 = compound2.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  9099. simple2 = t1[_i];
  9100. if (simple2 instanceof D.PseudoSelector && !simple2.isClass && simple2.selector == null && !Y._simpleIsSuperselectorOfCompound(simple2, compound1))
  9101. return false;
  9102. }
  9103. return true;
  9104. },
  9105. _simpleIsSuperselectorOfCompound: function(simple, compound) {
  9106. return C.JSArray_methods.any$1(compound.components, new Y._simpleIsSuperselectorOfCompound_closure(simple));
  9107. },
  9108. _selectorPseudoIsSuperselector: function(pseudo1, compound2, parents) {
  9109. switch (pseudo1.normalizedName) {
  9110. case "matches":
  9111. case "any":
  9112. return Y._selectorPseudosNamed(compound2, pseudo1.name, true).any$1(0, new Y._selectorPseudoIsSuperselector_closure(pseudo1)) || C.JSArray_methods.any$1(pseudo1.selector.components, new Y._selectorPseudoIsSuperselector_closure0(parents, compound2));
  9113. case "has":
  9114. case "host":
  9115. case "host-context":
  9116. return Y._selectorPseudosNamed(compound2, pseudo1.name, true).any$1(0, new Y._selectorPseudoIsSuperselector_closure1(pseudo1));
  9117. case "slotted":
  9118. return Y._selectorPseudosNamed(compound2, pseudo1.name, false).any$1(0, new Y._selectorPseudoIsSuperselector_closure2(pseudo1));
  9119. case "not":
  9120. return C.JSArray_methods.every$1(pseudo1.selector.components, new Y._selectorPseudoIsSuperselector_closure3(compound2, pseudo1));
  9121. case "current":
  9122. return Y._selectorPseudosNamed(compound2, pseudo1.name, true).any$1(0, new Y._selectorPseudoIsSuperselector_closure4(pseudo1));
  9123. case "nth-child":
  9124. case "nth-last-child":
  9125. return C.JSArray_methods.any$1(compound2.components, new Y._selectorPseudoIsSuperselector_closure5(pseudo1));
  9126. default:
  9127. throw H.wrapException("unreachable");
  9128. }
  9129. },
  9130. _selectorPseudosNamed: function(compound, $name, isClass) {
  9131. var t1 = D.PseudoSelector;
  9132. return new H.WhereIterable(new H.WhereTypeIterable(compound.components, [t1]), new Y._selectorPseudosNamed_closure(isClass, $name), [t1]);
  9133. },
  9134. unifyComplex_closure: function unifyComplex_closure() {
  9135. },
  9136. _weaveParents_closure: function _weaveParents_closure() {
  9137. },
  9138. _weaveParents_closure0: function _weaveParents_closure0(t0) {
  9139. this.group = t0;
  9140. },
  9141. _weaveParents_closure1: function _weaveParents_closure1() {
  9142. },
  9143. _weaveParents__closure1: function _weaveParents__closure1() {
  9144. },
  9145. _weaveParents_closure2: function _weaveParents_closure2() {
  9146. },
  9147. _weaveParents_closure3: function _weaveParents_closure3() {
  9148. },
  9149. _weaveParents__closure0: function _weaveParents__closure0() {
  9150. },
  9151. _weaveParents_closure4: function _weaveParents_closure4() {
  9152. },
  9153. _weaveParents_closure5: function _weaveParents_closure5() {
  9154. },
  9155. _weaveParents__closure: function _weaveParents__closure() {
  9156. },
  9157. _mustUnify_closure: function _mustUnify_closure(t0) {
  9158. this.uniqueSelectors = t0;
  9159. },
  9160. _mustUnify__closure: function _mustUnify__closure(t0) {
  9161. this.uniqueSelectors = t0;
  9162. },
  9163. paths_closure: function paths_closure(t0) {
  9164. this.T = t0;
  9165. },
  9166. paths__closure: function paths__closure(t0, t1) {
  9167. this.paths = t0;
  9168. this.T = t1;
  9169. },
  9170. paths___closure: function paths___closure(t0, t1) {
  9171. this.option = t0;
  9172. this.T = t1;
  9173. },
  9174. _hasRoot_closure: function _hasRoot_closure() {
  9175. },
  9176. listIsSuperslector_closure: function listIsSuperslector_closure(t0) {
  9177. this.list1 = t0;
  9178. },
  9179. listIsSuperslector__closure: function listIsSuperslector__closure(t0) {
  9180. this.complex1 = t0;
  9181. },
  9182. _simpleIsSuperselectorOfCompound_closure: function _simpleIsSuperselectorOfCompound_closure(t0) {
  9183. this.simple = t0;
  9184. },
  9185. _simpleIsSuperselectorOfCompound__closure: function _simpleIsSuperselectorOfCompound__closure(t0) {
  9186. this.simple = t0;
  9187. },
  9188. _selectorPseudoIsSuperselector_closure: function _selectorPseudoIsSuperselector_closure(t0) {
  9189. this.pseudo1 = t0;
  9190. },
  9191. _selectorPseudoIsSuperselector_closure0: function _selectorPseudoIsSuperselector_closure0(t0, t1) {
  9192. this.parents = t0;
  9193. this.compound2 = t1;
  9194. },
  9195. _selectorPseudoIsSuperselector_closure1: function _selectorPseudoIsSuperselector_closure1(t0) {
  9196. this.pseudo1 = t0;
  9197. },
  9198. _selectorPseudoIsSuperselector_closure2: function _selectorPseudoIsSuperselector_closure2(t0) {
  9199. this.pseudo1 = t0;
  9200. },
  9201. _selectorPseudoIsSuperselector_closure3: function _selectorPseudoIsSuperselector_closure3(t0, t1) {
  9202. this.compound2 = t0;
  9203. this.pseudo1 = t1;
  9204. },
  9205. _selectorPseudoIsSuperselector__closure: function _selectorPseudoIsSuperselector__closure(t0, t1) {
  9206. this.complex = t0;
  9207. this.pseudo1 = t1;
  9208. },
  9209. _selectorPseudoIsSuperselector___closure: function _selectorPseudoIsSuperselector___closure(t0) {
  9210. this.simple2 = t0;
  9211. },
  9212. _selectorPseudoIsSuperselector___closure0: function _selectorPseudoIsSuperselector___closure0(t0) {
  9213. this.simple2 = t0;
  9214. },
  9215. _selectorPseudoIsSuperselector_closure4: function _selectorPseudoIsSuperselector_closure4(t0) {
  9216. this.pseudo1 = t0;
  9217. },
  9218. _selectorPseudoIsSuperselector_closure5: function _selectorPseudoIsSuperselector_closure5(t0) {
  9219. this.pseudo1 = t0;
  9220. },
  9221. _selectorPseudosNamed_closure: function _selectorPseudosNamed_closure(t0, t1) {
  9222. this.isClass = t0;
  9223. this.name = t1;
  9224. },
  9225. closure: function closure() {
  9226. },
  9227. Chokidar: function Chokidar() {
  9228. },
  9229. ChokidarOptions: function ChokidarOptions() {
  9230. },
  9231. ChokidarWatcher: function ChokidarWatcher() {
  9232. },
  9233. SourceFile$decoded: function(decodedChars, url) {
  9234. var t1 = H.setRuntimeTypeInfo([0], [P.int]),
  9235. t2 = typeof url === "string" ? P.Uri_parse(url) : url;
  9236. t1 = new Y.SourceFile(t2, t1, new Uint32Array(H._ensureNativeList(J.toList$0$ax(decodedChars))));
  9237. t1.SourceFile$decoded$2$url(decodedChars, url);
  9238. return t1;
  9239. },
  9240. FileLocation$_: function(file, offset) {
  9241. if (offset < 0)
  9242. H.throwExpression(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  9243. else if (offset > file._decodedChars.length)
  9244. H.throwExpression(P.RangeError$("Offset " + H.S(offset) + " must not be greater than the number of characters in the file, " + file.get$length(file) + "."));
  9245. return new Y.FileLocation(file, offset);
  9246. },
  9247. _FileSpan$: function(file, _start, _end) {
  9248. if (_end < _start)
  9249. H.throwExpression(P.ArgumentError$("End " + H.S(_end) + " must come after start " + H.S(_start) + "."));
  9250. else if (_end > file._decodedChars.length)
  9251. H.throwExpression(P.RangeError$("End " + H.S(_end) + " must not be greater than the number of characters in the file, " + file.get$length(file) + "."));
  9252. else if (_start < 0)
  9253. H.throwExpression(P.RangeError$("Start may not be negative, was " + H.S(_start) + "."));
  9254. return new Y._FileSpan(file, _start, _end);
  9255. },
  9256. SourceFile: function SourceFile(t0, t1, t2) {
  9257. var _ = this;
  9258. _.url = t0;
  9259. _._lineStarts = t1;
  9260. _._decodedChars = t2;
  9261. _._cachedLine = null;
  9262. },
  9263. FileLocation: function FileLocation(t0, t1) {
  9264. this.file = t0;
  9265. this.offset = t1;
  9266. },
  9267. FileSpan: function FileSpan() {
  9268. },
  9269. _FileSpan: function _FileSpan(t0, t1, t2) {
  9270. this.file = t0;
  9271. this._start = t1;
  9272. this._file$_end = t2;
  9273. },
  9274. SourceSpanMixin: function SourceSpanMixin() {
  9275. },
  9276. Trace_Trace$from: function(trace) {
  9277. if (trace == null)
  9278. throw H.wrapException(P.ArgumentError$("Cannot create a Trace from null."));
  9279. if (!!trace.$isTrace)
  9280. return trace;
  9281. if (!!trace.$isChain)
  9282. return trace.toTrace$0();
  9283. return new T.LazyTrace(new Y.Trace_Trace$from_closure(trace));
  9284. },
  9285. Trace_Trace$parse: function(trace) {
  9286. var error, t1, exception;
  9287. try {
  9288. if (trace.length === 0) {
  9289. t1 = A.Frame;
  9290. t1 = P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [t1]), t1);
  9291. return new Y.Trace(t1, new P._StringStackTrace(null));
  9292. }
  9293. if (J.getInterceptor$asx(trace).contains$1(trace, $.$get$_v8Trace())) {
  9294. t1 = Y.Trace$parseV8(trace);
  9295. return t1;
  9296. }
  9297. if (C.JSString_methods.contains$1(trace, "\tat ")) {
  9298. t1 = Y.Trace$parseJSCore(trace);
  9299. return t1;
  9300. }
  9301. if (C.JSString_methods.contains$1(trace, $.$get$_firefoxSafariTrace())) {
  9302. t1 = Y.Trace$parseFirefox(trace);
  9303. return t1;
  9304. }
  9305. if (C.JSString_methods.contains$1(trace, "===== asynchronous gap ===========================\n")) {
  9306. t1 = U.Chain_Chain$parse(trace).toTrace$0();
  9307. return t1;
  9308. }
  9309. if (C.JSString_methods.contains$1(trace, $.$get$_friendlyTrace())) {
  9310. t1 = Y.Trace$parseFriendly(trace);
  9311. return t1;
  9312. }
  9313. t1 = P.List_List$unmodifiable(Y.Trace__parseVM(trace), A.Frame);
  9314. return new Y.Trace(t1, new P._StringStackTrace(trace));
  9315. } catch (exception) {
  9316. t1 = H.unwrapException(exception);
  9317. if (!!J.getInterceptor$(t1).$isFormatException) {
  9318. error = t1;
  9319. throw H.wrapException(P.FormatException$(H.S(J.get$message$x(error)) + "\nStack trace:\n" + H.S(trace), null, null));
  9320. } else
  9321. throw exception;
  9322. }
  9323. },
  9324. Trace__parseVM: function(trace) {
  9325. var $frames,
  9326. t1 = J.trim$0$s(trace),
  9327. lines = H.setRuntimeTypeInfo(H.stringReplaceAllUnchecked(t1, "<asynchronous suspension>\n", "").split("\n"), [P.String]);
  9328. t1 = H.SubListIterable$(lines, 0, lines.length - 1, H.getTypeArgumentByIndex(lines, 0));
  9329. $frames = new H.MappedListIterable(t1, new Y.Trace__parseVM_closure(), [H.getTypeArgumentByIndex(t1, 0), A.Frame]).toList$0(0);
  9330. if (!J.endsWith$1$s(C.JSArray_methods.get$last(lines), ".da"))
  9331. C.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(C.JSArray_methods.get$last(lines)));
  9332. return $frames;
  9333. },
  9334. Trace$parseV8: function(trace) {
  9335. var t2,
  9336. t1 = H.setRuntimeTypeInfo(trace.split("\n"), [P.String]);
  9337. t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)).super$Iterable$skipWhile(0, new Y.Trace$parseV8_closure());
  9338. t2 = A.Frame;
  9339. return new Y.Trace(P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseV8_closure0(), H.getTypeArgumentByIndex(t1, 0), t2), t2), new P._StringStackTrace(trace));
  9340. },
  9341. Trace$parseJSCore: function(trace) {
  9342. var t1 = H.setRuntimeTypeInfo(trace.split("\n"), [P.String]),
  9343. t2 = H.getTypeArgumentByIndex(t1, 0),
  9344. t3 = A.Frame;
  9345. return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseJSCore_closure(), [t2]), new Y.Trace$parseJSCore_closure0(), [t2, t3]), t3), new P._StringStackTrace(trace));
  9346. },
  9347. Trace$parseFirefox: function(trace) {
  9348. var t1 = H.setRuntimeTypeInfo(C.JSString_methods.trim$0(trace).split("\n"), [P.String]),
  9349. t2 = H.getTypeArgumentByIndex(t1, 0),
  9350. t3 = A.Frame;
  9351. return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseFirefox_closure(), [t2]), new Y.Trace$parseFirefox_closure0(), [t2, t3]), t3), new P._StringStackTrace(trace));
  9352. },
  9353. Trace$parseFriendly: function(trace) {
  9354. var t2, t3,
  9355. t1 = A.Frame;
  9356. if (trace.length === 0)
  9357. t2 = H.setRuntimeTypeInfo([], [t1]);
  9358. else {
  9359. t2 = H.setRuntimeTypeInfo(J.trim$0$s(trace).split("\n"), [P.String]);
  9360. t3 = H.getTypeArgumentByIndex(t2, 0);
  9361. t3 = new H.MappedIterable(new H.WhereIterable(t2, new Y.Trace$parseFriendly_closure(), [t3]), new Y.Trace$parseFriendly_closure0(), [t3, t1]);
  9362. t2 = t3;
  9363. }
  9364. return new Y.Trace(P.List_List$unmodifiable(t2, t1), new P._StringStackTrace(trace));
  9365. },
  9366. Trace: function Trace(t0, t1) {
  9367. this.frames = t0;
  9368. this.original = t1;
  9369. },
  9370. Trace_Trace$from_closure: function Trace_Trace$from_closure(t0) {
  9371. this.trace = t0;
  9372. },
  9373. Trace__parseVM_closure: function Trace__parseVM_closure() {
  9374. },
  9375. Trace$parseV8_closure: function Trace$parseV8_closure() {
  9376. },
  9377. Trace$parseV8_closure0: function Trace$parseV8_closure0() {
  9378. },
  9379. Trace$parseJSCore_closure: function Trace$parseJSCore_closure() {
  9380. },
  9381. Trace$parseJSCore_closure0: function Trace$parseJSCore_closure0() {
  9382. },
  9383. Trace$parseFirefox_closure: function Trace$parseFirefox_closure() {
  9384. },
  9385. Trace$parseFirefox_closure0: function Trace$parseFirefox_closure0() {
  9386. },
  9387. Trace$parseFriendly_closure: function Trace$parseFriendly_closure() {
  9388. },
  9389. Trace$parseFriendly_closure0: function Trace$parseFriendly_closure0() {
  9390. },
  9391. Trace_terse_closure: function Trace_terse_closure() {
  9392. },
  9393. Trace_foldFrames_closure: function Trace_foldFrames_closure(t0) {
  9394. this.oldPredicate = t0;
  9395. },
  9396. Trace_foldFrames_closure0: function Trace_foldFrames_closure0(t0) {
  9397. this._box_0 = t0;
  9398. },
  9399. Trace_toString_closure0: function Trace_toString_closure0() {
  9400. },
  9401. Trace_toString_closure: function Trace_toString_closure(t0) {
  9402. this.longest = t0;
  9403. },
  9404. repl: function(options) {
  9405. return Y.repl$body(options);
  9406. },
  9407. repl$body: function(options) {
  9408. var $async$goto = 0,
  9409. $async$completer = P._makeAsyncAwaitCompleter(-1),
  9410. $async$handler = 1, $async$currentError, $async$next = [], repl, logger, evaluator, line, declaration, error, stackTrace, t6, t7, t8, t9, line0, exception, t1, t2, t3, t4, t5, repl0;
  9411. var $async$repl = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  9412. if ($async$errorCode === 1) {
  9413. $async$currentError = $async$result;
  9414. $async$goto = $async$handler;
  9415. }
  9416. while (true)
  9417. switch ($async$goto) {
  9418. case 0:
  9419. // Function start
  9420. t1 = P.String;
  9421. t2 = [t1];
  9422. t3 = H.setRuntimeTypeInfo([], t2);
  9423. t4 = C.JSString_methods.$mul(" ", 3);
  9424. t5 = $.$get$alwaysValid();
  9425. repl0 = new Q.Repl(">> ", t4, t5, t3);
  9426. repl0._adapter = new B.ReplAdapter(repl0);
  9427. repl = repl0;
  9428. t3 = options._options;
  9429. logger = new T.TrackingLogger(H.boolTypeCast(t3.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color()));
  9430. t4 = D.absolute(".");
  9431. evaluator = new R.Evaluator(R._EvaluateVisitor$(null, R.ImportCache$(C.List_empty9, H.subtypeCast(t3.$index(0, "load-path"), "$isList", t2, "$asList"), logger), logger, null, false), new F.FilesystemImporter(t4));
  9432. t4 = P._StreamIterator$(repl._adapter.runAsync$0());
  9433. $async$handler = 2;
  9434. t2 = Z.VariableDeclaration, t3 = [P.int];
  9435. case 5:
  9436. // for condition
  9437. $async$goto = 7;
  9438. return P._asyncAwait(t4.moveNext$0(), $async$repl);
  9439. case 7:
  9440. // returning from await.
  9441. if (!$async$result) {
  9442. // goto after for
  9443. $async$goto = 6;
  9444. break;
  9445. }
  9446. line = t4.get$current(t4);
  9447. if (J.trim$0$s(line).length === 0) {
  9448. // goto for condition
  9449. $async$goto = 5;
  9450. break;
  9451. }
  9452. try {
  9453. if (J.startsWith$1$s(line, "@")) {
  9454. t5 = evaluator;
  9455. t6 = line;
  9456. t7 = logger;
  9457. t6.toString;
  9458. t8 = new H.CodeUnits(t6);
  9459. t9 = H.setRuntimeTypeInfo([0], t3);
  9460. t9 = new Y.SourceFile(null, t9, new Uint32Array(H._ensureNativeList(t8.toList$0(t8))));
  9461. t9.SourceFile$decoded$2$url(t8, null);
  9462. if (t7 == null)
  9463. t7 = C.StderrLogger_false;
  9464. t7 = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new S.SpanScanner(t9, null, t6), t7).parseUseRule$0();
  9465. t5._visitor.runStatement$2(t5._importer, t7);
  9466. // goto for condition
  9467. $async$goto = 5;
  9468. break;
  9469. }
  9470. t5 = line;
  9471. t5.toString;
  9472. t6 = new H.CodeUnits(t5);
  9473. t7 = H.setRuntimeTypeInfo([0], t3);
  9474. t7 = new Y.SourceFile(null, t7, new Uint32Array(H._ensureNativeList(t6.toList$0(t6))));
  9475. t7.SourceFile$decoded$2$url(t6, null);
  9476. if (new G.Parser(new S.SpanScanner(t7, null, t5), C.StderrLogger_false)._isVariableDeclarationLike$0()) {
  9477. t5 = line;
  9478. t6 = logger;
  9479. t5.toString;
  9480. t7 = new H.CodeUnits(t5);
  9481. t8 = H.setRuntimeTypeInfo([0], t3);
  9482. t8 = new Y.SourceFile(null, t8, new Uint32Array(H._ensureNativeList(t7.toList$0(t7))));
  9483. t8.SourceFile$decoded$2$url(t7, null);
  9484. if (t6 == null)
  9485. t6 = C.StderrLogger_false;
  9486. declaration = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new S.SpanScanner(t8, null, t5), t6).parseVariableDeclaration$0();
  9487. t6 = evaluator;
  9488. t6._visitor.runStatement$2(t6._importer, declaration);
  9489. t6 = evaluator;
  9490. t5 = declaration.name;
  9491. t8 = declaration.span;
  9492. t7 = declaration.namespace;
  9493. line0 = H.S(t6._visitor.runExpression$2(t6._importer, new S.VariableExpression(t7, t5, t8)));
  9494. t5 = $.printToZone;
  9495. if (t5 == null)
  9496. H.printString(line0);
  9497. else
  9498. t5.call$1(line0);
  9499. } else {
  9500. t5 = evaluator;
  9501. t6 = line;
  9502. t7 = logger;
  9503. t6.toString;
  9504. t8 = new H.CodeUnits(t6);
  9505. t9 = H.setRuntimeTypeInfo([0], t3);
  9506. t9 = new Y.SourceFile(null, t9, new Uint32Array(H._ensureNativeList(t8.toList$0(t8))));
  9507. t9.SourceFile$decoded$2$url(t8, null);
  9508. if (t7 == null)
  9509. t7 = C.StderrLogger_false;
  9510. t7 = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new S.SpanScanner(t9, null, t6), t7);
  9511. t7 = t7._parseSingleProduction$1(t7.get$expression());
  9512. line0 = H.S(t5._visitor.runExpression$2(t5._importer, t7));
  9513. t5 = $.printToZone;
  9514. if (t5 == null)
  9515. H.printString(line0);
  9516. else
  9517. t5.call$1(line0);
  9518. }
  9519. } catch (exception) {
  9520. t5 = H.unwrapException(exception);
  9521. if (t5 instanceof E.SassException) {
  9522. error = t5;
  9523. stackTrace = H.getTraceFromException(exception);
  9524. Y._logError(error, stackTrace, line, repl, options, logger);
  9525. } else
  9526. throw exception;
  9527. }
  9528. // goto for condition
  9529. $async$goto = 5;
  9530. break;
  9531. case 6:
  9532. // after for
  9533. $async$next.push(4);
  9534. // goto finally
  9535. $async$goto = 3;
  9536. break;
  9537. case 2:
  9538. // uncaught
  9539. $async$next = [1];
  9540. case 3:
  9541. // finally
  9542. $async$handler = 1;
  9543. $async$goto = 8;
  9544. return P._asyncAwait(t4.cancel$0(), $async$repl);
  9545. case 8:
  9546. // returning from await.
  9547. // goto the next finally handler
  9548. $async$goto = $async$next.pop();
  9549. break;
  9550. case 4:
  9551. // after finally
  9552. // implicit return
  9553. return P._asyncReturn(null, $async$completer);
  9554. case 1:
  9555. // rethrow
  9556. return P._asyncRethrow($async$currentError, $async$completer);
  9557. }
  9558. });
  9559. return P._asyncStartSync($async$repl, $async$completer);
  9560. },
  9561. _logError: function(error, stackTrace, line, repl, options, logger) {
  9562. var t1, t2, spacesBeforeError;
  9563. if (G.SourceSpanException.prototype.get$span.call(error).file.url == null)
  9564. if (!H.boolTypeCast(options._options.$index(0, "quiet")))
  9565. t1 = logger._emittedDebug || logger._emittedWarning;
  9566. else
  9567. t1 = false;
  9568. else
  9569. t1 = true;
  9570. if (t1) {
  9571. P.print(error.toString$1$color(0, options.get$color()));
  9572. return;
  9573. }
  9574. t1 = options.get$color() ? "\x1b[31m" : "";
  9575. t2 = G.SourceSpanException.prototype.get$span.call(error);
  9576. t2 = Y.FileLocation$_(t2.file, t2._start);
  9577. spacesBeforeError = repl.prompt.length + t2.file.getColumn$1(t2.offset);
  9578. if (options.get$color()) {
  9579. t2 = G.SourceSpanException.prototype.get$span.call(error);
  9580. t2 = Y.FileLocation$_(t2.file, t2._start);
  9581. t2 = t2.file.getColumn$1(t2.offset) < line.length;
  9582. } else
  9583. t2 = false;
  9584. if (t2) {
  9585. t1 += "\x1b[1F\x1b[" + spacesBeforeError + "C";
  9586. t2 = G.SourceSpanException.prototype.get$span.call(error);
  9587. t2 = t1 + (P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._start, t2._file$_end), 0, null) + "\n");
  9588. t1 = t2;
  9589. }
  9590. t1 += C.JSString_methods.$mul(" ", spacesBeforeError);
  9591. t2 = G.SourceSpanException.prototype.get$span.call(error);
  9592. t2 = t1 + (C.JSString_methods.$mul("^", Math.max(1, t2._file$_end - t2._start)) + "\n");
  9593. t1 = options.get$color() ? t2 + "\x1b[0m" : t2;
  9594. t1 += "Error: " + H.S(error._span_exception$_message) + "\n";
  9595. if (H.boolTypeCast(options._options.$index(0, "trace")))
  9596. t1 += Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0);
  9597. P.print(C.JSString_methods.trimRight$0(t1.charCodeAt(0) == 0 ? t1 : t1));
  9598. }
  9599. },
  9600. L = {StreamGroup: function StreamGroup(t0, t1, t2) {
  9601. var _ = this;
  9602. _._controller = null;
  9603. _._closed = false;
  9604. _._stream_group$_state = t0;
  9605. _._subscriptions = t1;
  9606. _.$ti = t2;
  9607. }, StreamGroup_add_closure: function StreamGroup_add_closure() {
  9608. }, StreamGroup_add_closure0: function StreamGroup_add_closure0(t0, t1) {
  9609. this.$this = t0;
  9610. this.stream = t1;
  9611. }, StreamGroup__onListen_closure: function StreamGroup__onListen_closure(t0) {
  9612. this.$this = t0;
  9613. }, StreamGroup__onCancel_closure: function StreamGroup__onCancel_closure() {
  9614. }, StreamGroup__onCancel_closure0: function StreamGroup__onCancel_closure0() {
  9615. }, StreamGroup__listenToStream_closure: function StreamGroup__listenToStream_closure(t0, t1) {
  9616. this.$this = t0;
  9617. this.stream = t1;
  9618. }, _StreamGroupState: function _StreamGroupState(t0) {
  9619. this.name = t0;
  9620. },
  9621. UnmodifiableSetMixin__throw: function() {
  9622. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable Set"));
  9623. },
  9624. UnmodifiableSetView: function UnmodifiableSetView(t0, t1) {
  9625. this._base = t0;
  9626. this.$ti = t1;
  9627. },
  9628. UnmodifiableSetMixin: function UnmodifiableSetMixin() {
  9629. },
  9630. _UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin: function _UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin() {
  9631. },
  9632. WindowsStyle: function WindowsStyle(t0, t1, t2, t3) {
  9633. var _ = this;
  9634. _.separatorPattern = t0;
  9635. _.needsSeparatorPattern = t1;
  9636. _.rootPattern = t2;
  9637. _.relativeRootPattern = t3;
  9638. },
  9639. WindowsStyle_absolutePathToUri_closure: function WindowsStyle_absolutePathToUri_closure() {
  9640. },
  9641. ModifiableCssDeclaration$: function($name, value, span, valueSpanForMap) {
  9642. return new L.ModifiableCssDeclaration($name, value, valueSpanForMap == null ? span : valueSpanForMap, span);
  9643. },
  9644. ModifiableCssDeclaration: function ModifiableCssDeclaration(t0, t1, t2, t3) {
  9645. var _ = this;
  9646. _.name = t0;
  9647. _.value = t1;
  9648. _.valueSpanForMap = t2;
  9649. _.span = t3;
  9650. _._indexInParent = _._parent = null;
  9651. _.isGroupEnd = false;
  9652. },
  9653. IfExpression: function IfExpression(t0, t1) {
  9654. this.$arguments = t0;
  9655. this.span = t1;
  9656. },
  9657. Declaration$: function($name, span, children, value) {
  9658. var t1;
  9659. children = children == null ? null : P.List_List$unmodifiable(children, O.Statement);
  9660. t1 = children == null ? null : C.JSArray_methods.any$1(children, new M.ParentStatement_closure());
  9661. return new L.Declaration($name, value, span, children, t1 === true);
  9662. },
  9663. Declaration: function Declaration(t0, t1, t2, t3, t4) {
  9664. var _ = this;
  9665. _.name = t0;
  9666. _.value = t1;
  9667. _.span = t2;
  9668. _.children = t3;
  9669. _.hasDeclarations = t4;
  9670. },
  9671. ForwardRule: function ForwardRule(t0, t1, t2, t3, t4, t5, t6) {
  9672. var _ = this;
  9673. _.url = t0;
  9674. _.shownMixinsAndFunctions = t1;
  9675. _.shownVariables = t2;
  9676. _.hiddenMixinsAndFunctions = t3;
  9677. _.hiddenVariables = t4;
  9678. _.prefix = t5;
  9679. _.span = t6;
  9680. },
  9681. ForwardRule__memberList_closure: function ForwardRule__memberList_closure() {
  9682. },
  9683. LoudComment: function LoudComment(t0) {
  9684. this.text = t0;
  9685. },
  9686. SupportsDeclaration: function SupportsDeclaration(t0, t1, t2) {
  9687. this.name = t0;
  9688. this.value = t1;
  9689. this.span = t2;
  9690. },
  9691. PlainCssCallable: function PlainCssCallable(t0) {
  9692. this.name = t0;
  9693. },
  9694. ExtendMode: function ExtendMode(t0) {
  9695. this.name = t0;
  9696. },
  9697. RenderContextOptions: function RenderContextOptions() {
  9698. },
  9699. ScssParser: function ScssParser(t0, t1, t2) {
  9700. var _ = this;
  9701. _._isUseAllowed = true;
  9702. _._stylesheet$_inMixin = false;
  9703. _._mixinHasContent = null;
  9704. _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false;
  9705. _._globalVariables = t0;
  9706. _.lastSilentComment = null;
  9707. _.scanner = t1;
  9708. _.logger = t2;
  9709. },
  9710. _FindImportsVisitor: function _FindImportsVisitor(t0) {
  9711. this._imports = t0;
  9712. },
  9713. Entry: function Entry(t0, t1, t2) {
  9714. this.source = t0;
  9715. this.target = t1;
  9716. this.identifierName = t2;
  9717. },
  9718. _StreamTransformer__defaultHandleError: function(error, stackTrace, sink) {
  9719. sink.addError$2(error, stackTrace);
  9720. },
  9721. _StreamTransformer: function _StreamTransformer(t0, t1, t2, t3) {
  9722. var _ = this;
  9723. _._from_handlers$_handleData = t0;
  9724. _._from_handlers$_handleDone = t1;
  9725. _._from_handlers$_handleError = t2;
  9726. _.$ti = t3;
  9727. },
  9728. _StreamTransformer_bind_closure: function _StreamTransformer_bind_closure(t0, t1, t2, t3) {
  9729. var _ = this;
  9730. _._box_1 = t0;
  9731. _.$this = t1;
  9732. _.values = t2;
  9733. _.controller = t3;
  9734. },
  9735. _StreamTransformer_bind__closure: function _StreamTransformer_bind__closure(t0, t1) {
  9736. this.$this = t0;
  9737. this.controller = t1;
  9738. },
  9739. _StreamTransformer_bind__closure1: function _StreamTransformer_bind__closure1(t0, t1) {
  9740. this.$this = t0;
  9741. this.controller = t1;
  9742. },
  9743. _StreamTransformer_bind__closure0: function _StreamTransformer_bind__closure0(t0, t1, t2) {
  9744. this._box_0 = t0;
  9745. this.$this = t1;
  9746. this.controller = t2;
  9747. },
  9748. _StreamTransformer_bind__closure2: function _StreamTransformer_bind__closure2(t0, t1) {
  9749. this._box_1 = t0;
  9750. this._box_0 = t1;
  9751. },
  9752. encodeVlq: function(value) {
  9753. var res, signBit, digit, t1;
  9754. if (value < $.$get$MIN_INT32() || value > $.$get$MAX_INT32())
  9755. throw H.wrapException(P.ArgumentError$("expected 32 bit int, got: " + value));
  9756. res = H.setRuntimeTypeInfo([], [P.String]);
  9757. if (value < 0) {
  9758. value = -value;
  9759. signBit = 1;
  9760. } else
  9761. signBit = 0;
  9762. value = value << 1 | signBit;
  9763. do {
  9764. digit = value & 31;
  9765. value = value >>> 5;
  9766. t1 = value > 0;
  9767. res.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[t1 ? digit | 32 : digit]);
  9768. } while (t1);
  9769. return res;
  9770. }
  9771. },
  9772. Q = {Repl: function Repl(t0, t1, t2, t3) {
  9773. var _ = this;
  9774. _.prompt = t0;
  9775. _.continuation = t1;
  9776. _.validator = t2;
  9777. _._adapter = null;
  9778. _.history = t3;
  9779. }, closure130: function closure130() {
  9780. },
  9781. QueueList$: function(initialCapacity, $E) {
  9782. var t1 = new Q.QueueList(0, 0, [$E]);
  9783. t1.QueueList$1(initialCapacity, $E);
  9784. return t1;
  9785. },
  9786. QueueList_QueueList$from: function(source, $E) {
  9787. var $length, queue,
  9788. t1 = J.getInterceptor$(source);
  9789. if (!!t1.$isList) {
  9790. $length = t1.get$length(source);
  9791. queue = Q.QueueList$($length + 1, $E);
  9792. J.setRange$4$ax(queue._table, 0, $length, source, 0);
  9793. queue._tail = $length;
  9794. return queue;
  9795. } else {
  9796. t1 = Q.QueueList$(null, $E);
  9797. t1.addAll$1(0, source);
  9798. return t1;
  9799. }
  9800. },
  9801. QueueList__nextPowerOf2: function(number) {
  9802. var nextNumber;
  9803. number = (number << 1 >>> 0) - 1;
  9804. for (; true; number = nextNumber) {
  9805. nextNumber = (number & number - 1) >>> 0;
  9806. if (nextNumber === 0)
  9807. return number;
  9808. }
  9809. },
  9810. QueueList: function QueueList(t0, t1, t2) {
  9811. var _ = this;
  9812. _._table = null;
  9813. _._head = t0;
  9814. _._tail = t1;
  9815. _.$ti = t2;
  9816. },
  9817. _CastQueueList: function _CastQueueList(t0, t1, t2, t3) {
  9818. var _ = this;
  9819. _._queue_list$_delegate = t0;
  9820. _._table = null;
  9821. _._head = t1;
  9822. _._tail = t2;
  9823. _.$ti = t3;
  9824. },
  9825. _QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() {
  9826. },
  9827. StaticImport: function StaticImport(t0, t1, t2, t3) {
  9828. var _ = this;
  9829. _.url = t0;
  9830. _.supports = t1;
  9831. _.media = t2;
  9832. _.span = t3;
  9833. },
  9834. ContentRule: function ContentRule(t0, t1) {
  9835. this.span = t0;
  9836. this.$arguments = t1;
  9837. },
  9838. DebugRule: function DebugRule(t0, t1) {
  9839. this.expression = t0;
  9840. this.span = t1;
  9841. },
  9842. AsyncEnvironment$: function(sourceMap) {
  9843. var _null = null,
  9844. t1 = P.String,
  9845. t2 = [G.Module, B.AsyncCallable],
  9846. t3 = H.setRuntimeTypeInfo([], [t2]),
  9847. t4 = H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, F.Value)], [[P.Map, P.String, F.Value]]),
  9848. t5 = sourceMap ? H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AstNode)], [[P.Map, P.String, B.AstNode]]) : _null,
  9849. t6 = P.int,
  9850. t7 = B.AsyncCallable,
  9851. t8 = [[P.Map, P.String, B.AsyncCallable]];
  9852. return new Q.AsyncEnvironment(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _null, _null, t3, t4, t5, P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t7)], t8), P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t7)], t8), P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), _null);
  9853. },
  9854. AsyncEnvironment$_: function(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
  9855. var t1 = P.String,
  9856. t2 = P.int;
  9857. return new Q.AsyncEnvironment(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
  9858. },
  9859. _EnvironmentModule__EnvironmentModule0: function(environment, css, extender, forwarded) {
  9860. var t1, t2, t3, t4, t5, t6;
  9861. if (forwarded == null)
  9862. forwarded = C.List_empty12;
  9863. t1 = Q._EnvironmentModule__makeModulesByVariable0(forwarded);
  9864. t2 = H.getTypeArgumentByIndex(forwarded, 0);
  9865. t3 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_variables), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure5(), [t2, [P.Map, P.String, F.Value]]), F.Value);
  9866. t4 = environment._async_environment$_variableNodes;
  9867. t4 = t4 == null ? null : Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(t4), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure6(), [t2, [P.Map, P.String, B.AstNode]]), B.AstNode);
  9868. t2 = [t2, [P.Map, P.String, B.AsyncCallable]];
  9869. t5 = B.AsyncCallable;
  9870. t6 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_functions), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure7(), t2), t5);
  9871. t5 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_mixins), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure8(), t2), t5);
  9872. t2 = J.get$isNotEmpty$asx(css.get$children()) || C.JSArray_methods.any$1(environment._async_environment$_allModules, new Q._EnvironmentModule__EnvironmentModule_closure9());
  9873. return Q._EnvironmentModule$_0(environment, css, extender, t1, t3, t4, t6, t5, t2, !extender.get$isEmpty(extender) || C.JSArray_methods.any$1(environment._async_environment$_allModules, new Q._EnvironmentModule__EnvironmentModule_closure10()));
  9874. },
  9875. _EnvironmentModule__makeModulesByVariable0: function(forwarded) {
  9876. var modulesByVariable, _i, module,
  9877. t1 = forwarded.length;
  9878. if (t1 === 0)
  9879. return C.Map_empty8;
  9880. modulesByVariable = P.LinkedHashMap_LinkedHashMap$_empty(P.String, [G.Module, B.AsyncCallable]);
  9881. for (_i = 0; _i < forwarded.length; forwarded.length === t1 || (0, H.throwConcurrentModificationError)(forwarded), ++_i) {
  9882. module = forwarded[_i];
  9883. B.setAll(modulesByVariable, module.variables.get$keys(), module);
  9884. }
  9885. return modulesByVariable;
  9886. },
  9887. _EnvironmentModule__memberMap0: function(localMap, otherMaps, $V) {
  9888. var t1, t2, t3;
  9889. localMap = new U.PublicMemberMapView(localMap, [$V]);
  9890. if (otherMaps.get$length(otherMaps) === 0)
  9891. return localMap;
  9892. t1 = H.setRuntimeTypeInfo([], [[P.Map, P.String, $V]]);
  9893. for (t2 = new H.ListIterator(otherMaps, otherMaps.get$length(otherMaps)); t2.moveNext$0();) {
  9894. t3 = t2.__internal$_current;
  9895. if (t3.get$isNotEmpty(t3))
  9896. t1.push(t3);
  9897. }
  9898. t1.push(localMap);
  9899. if (t1.length === 1)
  9900. return localMap;
  9901. return Z.MergedMapView$(t1, P.String, $V);
  9902. },
  9903. _EnvironmentModule$_0: function(_environment, css, extender, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
  9904. return new Q._EnvironmentModule0(_environment._async_environment$_allModules, variables, variableNodes, functions, mixins, extender, css, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
  9905. },
  9906. AsyncEnvironment: function AsyncEnvironment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  9907. var _ = this;
  9908. _._async_environment$_modules = t0;
  9909. _._async_environment$_globalModules = t1;
  9910. _._async_environment$_forwardedModules = t2;
  9911. _._async_environment$_allModules = t3;
  9912. _._async_environment$_variables = t4;
  9913. _._async_environment$_variableNodes = t5;
  9914. _._async_environment$_variableIndices = t6;
  9915. _._async_environment$_functions = t7;
  9916. _._async_environment$_functionIndices = t8;
  9917. _._async_environment$_mixins = t9;
  9918. _._async_environment$_mixinIndices = t10;
  9919. _._async_environment$_content = t11;
  9920. _._async_environment$_inMixin = false;
  9921. _._async_environment$_inSemiGlobalScope = true;
  9922. _._async_environment$_lastVariableIndex = _._async_environment$_lastVariableName = null;
  9923. },
  9924. AsyncEnvironment__getVariableFromGlobalModule_closure: function AsyncEnvironment__getVariableFromGlobalModule_closure(t0) {
  9925. this.name = t0;
  9926. },
  9927. AsyncEnvironment_setVariable_closure: function AsyncEnvironment_setVariable_closure(t0, t1) {
  9928. this.$this = t0;
  9929. this.name = t1;
  9930. },
  9931. AsyncEnvironment_setVariable_closure0: function AsyncEnvironment_setVariable_closure0(t0) {
  9932. this.name = t0;
  9933. },
  9934. AsyncEnvironment_setVariable_closure1: function AsyncEnvironment_setVariable_closure1(t0, t1) {
  9935. this.$this = t0;
  9936. this.name = t1;
  9937. },
  9938. AsyncEnvironment__getFunctionFromGlobalModule_closure: function AsyncEnvironment__getFunctionFromGlobalModule_closure(t0) {
  9939. this.name = t0;
  9940. },
  9941. AsyncEnvironment__getMixinFromGlobalModule_closure: function AsyncEnvironment__getMixinFromGlobalModule_closure(t0) {
  9942. this.name = t0;
  9943. },
  9944. AsyncEnvironment__fromOneModule_closure: function AsyncEnvironment__fromOneModule_closure(t0) {
  9945. this.callback = t0;
  9946. },
  9947. AsyncEnvironment__fromOneModule_closure0: function AsyncEnvironment__fromOneModule_closure0() {
  9948. },
  9949. _EnvironmentModule0: function _EnvironmentModule0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
  9950. var _ = this;
  9951. _.upstream = t0;
  9952. _.variables = t1;
  9953. _.variableNodes = t2;
  9954. _.functions = t3;
  9955. _.mixins = t4;
  9956. _.extender = t5;
  9957. _.css = t6;
  9958. _.transitivelyContainsCss = t7;
  9959. _.transitivelyContainsExtensions = t8;
  9960. _._async_environment$_environment = t9;
  9961. _._async_environment$_modulesByVariable = t10;
  9962. },
  9963. _EnvironmentModule__EnvironmentModule_closure5: function _EnvironmentModule__EnvironmentModule_closure5() {
  9964. },
  9965. _EnvironmentModule__EnvironmentModule_closure6: function _EnvironmentModule__EnvironmentModule_closure6() {
  9966. },
  9967. _EnvironmentModule__EnvironmentModule_closure7: function _EnvironmentModule__EnvironmentModule_closure7() {
  9968. },
  9969. _EnvironmentModule__EnvironmentModule_closure8: function _EnvironmentModule__EnvironmentModule_closure8() {
  9970. },
  9971. _EnvironmentModule__EnvironmentModule_closure9: function _EnvironmentModule__EnvironmentModule_closure9() {
  9972. },
  9973. _EnvironmentModule__EnvironmentModule_closure10: function _EnvironmentModule__EnvironmentModule_closure10() {
  9974. },
  9975. BuiltInCallable$: function($name, $arguments, callback) {
  9976. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse($arguments), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  9977. },
  9978. BuiltInCallable$parsed: function($name, $arguments, callback) {
  9979. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2($arguments, callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  9980. },
  9981. BuiltInCallable$overloaded: function($name, overloads) {
  9982. var t2, t3, t4, t5, t6, t7, t8, t9, t10,
  9983. t1 = H.setRuntimeTypeInfo([], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]);
  9984. for (t2 = overloads.get$entries(), t2 = t2.get$iterator(t2), t3 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}], t4 = P.String, t5 = Z.VariableDeclaration, t6 = [P.int]; t2.moveNext$0();) {
  9985. t7 = t2.get$current(t2);
  9986. t8 = "(" + H.S(t7.key) + ")";
  9987. t9 = new H.CodeUnits(t8);
  9988. t10 = H.setRuntimeTypeInfo([0], t6);
  9989. t10 = new Y.SourceFile(null, t10, new Uint32Array(H._ensureNativeList(t9.toList$0(t9))));
  9990. t10.SourceFile$decoded$2$url(t9, null);
  9991. t8 = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t4, t5), new S.SpanScanner(t10, null, t8), C.StderrLogger_false);
  9992. t1.push(new S.Tuple2(t8._parseSingleProduction$1(t8.get$_argumentDeclaration()), t7.value, t3));
  9993. }
  9994. return new Q.BuiltInCallable($name, t1);
  9995. },
  9996. BuiltInCallable: function BuiltInCallable(t0, t1) {
  9997. this.name = t0;
  9998. this._overloads = t1;
  9999. },
  10000. closure89: function closure89() {
  10001. },
  10002. closure90: function closure90() {
  10003. },
  10004. closure91: function closure91() {
  10005. },
  10006. closure92: function closure92() {
  10007. },
  10008. _closure12: function _closure12() {
  10009. },
  10010. BuiltInModule$: function($name, functions, mixins, $T) {
  10011. return new Q.BuiltInModule(P._Uri__Uri(null, $name, null, "sass"), Q.BuiltInModule__callableMap(functions, $T), Q.BuiltInModule__callableMap(mixins, $T), [$T]);
  10012. },
  10013. BuiltInModule__callableMap: function(callables, $T) {
  10014. var t2, t3, _i, callable,
  10015. t1 = P.String;
  10016. if (callables == null)
  10017. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, $T);
  10018. else {
  10019. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, $T);
  10020. for (t3 = callables.length, _i = 0; _i < callables.length; callables.length === t3 || (0, H.throwConcurrentModificationError)(callables), ++_i) {
  10021. callable = callables[_i];
  10022. t2.$indexSet(0, callable.get$name(), callable);
  10023. }
  10024. t2 = new P.UnmodifiableMapView(t2, [t1, $T]);
  10025. }
  10026. return new P.UnmodifiableMapView(t2, [t1, $T]);
  10027. },
  10028. BuiltInModule: function BuiltInModule(t0, t1, t2, t3) {
  10029. var _ = this;
  10030. _.url = t0;
  10031. _.functions = t1;
  10032. _.mixins = t2;
  10033. _.$ti = t3;
  10034. },
  10035. closure93: function closure93() {
  10036. },
  10037. CssParser: function CssParser(t0, t1, t2) {
  10038. var _ = this;
  10039. _._isUseAllowed = true;
  10040. _._stylesheet$_inMixin = false;
  10041. _._mixinHasContent = null;
  10042. _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false;
  10043. _._globalVariables = t0;
  10044. _.lastSilentComment = null;
  10045. _.scanner = t1;
  10046. _.logger = t2;
  10047. }
  10048. },
  10049. B = {ReplAdapter: function ReplAdapter(t0) {
  10050. this.repl = t0;
  10051. this.rl = null;
  10052. }, ReplAdapter_runAsync_closure: function ReplAdapter_runAsync_closure(t0) {
  10053. this.controller = t0;
  10054. }, Stdin: function Stdin() {
  10055. }, Stdout: function Stdout() {
  10056. }, ReadlineModule: function ReadlineModule() {
  10057. }, ReadlineOptions: function ReadlineOptions() {
  10058. }, ReadlineInterface: function ReadlineInterface() {
  10059. },
  10060. defaultCompare: function($T) {
  10061. return new B.defaultCompare_closure($T);
  10062. },
  10063. defaultCompare_closure: function defaultCompare_closure(t0) {
  10064. this.T = t0;
  10065. },
  10066. InternalStyle: function InternalStyle() {
  10067. },
  10068. ModifiableCssNode: function ModifiableCssNode() {
  10069. },
  10070. ModifiableCssParentNode: function ModifiableCssParentNode() {
  10071. },
  10072. ModifiableCssSupportsRule: function ModifiableCssSupportsRule(t0, t1, t2, t3) {
  10073. var _ = this;
  10074. _.condition = t0;
  10075. _.span = t1;
  10076. _.children = t2;
  10077. _._children = t3;
  10078. _._indexInParent = _._parent = null;
  10079. _.isGroupEnd = false;
  10080. },
  10081. CssNode: function CssNode() {
  10082. },
  10083. CssParentNode: function CssParentNode() {
  10084. },
  10085. AstNode: function AstNode() {
  10086. },
  10087. ArgumentDeclaration_ArgumentDeclaration$parse: function(contents) {
  10088. var t1 = S.SpanScanner$("(" + H.S(contents) + ")", null);
  10089. t1 = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false);
  10090. return t1._parseSingleProduction$1(t1.get$_argumentDeclaration());
  10091. },
  10092. ArgumentDeclaration: function ArgumentDeclaration(t0, t1, t2) {
  10093. this.$arguments = t0;
  10094. this.restArgument = t1;
  10095. this.span = t2;
  10096. },
  10097. ArgumentDeclaration_verify_closure: function ArgumentDeclaration_verify_closure() {
  10098. },
  10099. ArgumentDeclaration_verify_closure0: function ArgumentDeclaration_verify_closure0() {
  10100. },
  10101. DynamicImport: function DynamicImport(t0, t1) {
  10102. this.url = t0;
  10103. this.span = t1;
  10104. },
  10105. SassNode: function SassNode() {
  10106. },
  10107. ForRule: function ForRule(t0, t1, t2, t3, t4, t5, t6) {
  10108. var _ = this;
  10109. _.variable = t0;
  10110. _.from = t1;
  10111. _.to = t2;
  10112. _.isExclusive = t3;
  10113. _.span = t4;
  10114. _.children = t5;
  10115. _.hasDeclarations = t6;
  10116. },
  10117. ImportRule: function ImportRule(t0, t1) {
  10118. this.imports = t0;
  10119. this.span = t1;
  10120. },
  10121. ReturnRule: function ReturnRule(t0, t1) {
  10122. this.expression = t0;
  10123. this.span = t1;
  10124. },
  10125. SilentComment: function SilentComment(t0, t1) {
  10126. this.text = t0;
  10127. this.span = t1;
  10128. },
  10129. SupportsRule: function SupportsRule(t0, t1, t2, t3) {
  10130. var _ = this;
  10131. _.condition = t0;
  10132. _.span = t1;
  10133. _.children = t2;
  10134. _.hasDeclarations = t3;
  10135. },
  10136. AsyncCallable: function AsyncCallable() {
  10137. },
  10138. ExecutableOptions__separator: function(text) {
  10139. var t1 = $.$get$ExecutableOptions__separatorBar(),
  10140. t2 = C.JSString_methods.$mul(t1, 3) + " ",
  10141. t3 = self.process.stdout.isTTY;
  10142. t2 = t2 + ((t3 == null ? false : t3) ? "\x1b[1m" : "") + text;
  10143. t3 = self.process.stdout.isTTY;
  10144. return t2 + ((t3 == null ? false : t3) ? "\x1b[0m" : "") + " " + C.JSString_methods.$mul(t1, 35 - text.length);
  10145. },
  10146. ExecutableOptions__fail: function(message) {
  10147. return H.throwExpression(B.UsageException$(message));
  10148. },
  10149. ExecutableOptions_ExecutableOptions$parse: function(args) {
  10150. var options, error, t1, t2, exception;
  10151. try {
  10152. t1 = $.$get$ExecutableOptions__parser();
  10153. t1.toString;
  10154. t2 = H.setRuntimeTypeInfo(args.slice(0), [H.getTypeArgumentByIndex(args, 0)]);
  10155. t1 = G.Parser$0(null, t1, t2, null, null).parse$0();
  10156. if (t1.wasParsed$1("poll") && !H.boolTypeCast(t1.$index(0, "watch")))
  10157. B.ExecutableOptions__fail("--poll may not be passed without --watch.");
  10158. options = new B.ExecutableOptions(t1);
  10159. if (H.boolTypeCast(options._options.$index(0, "help")))
  10160. B.ExecutableOptions__fail("Compile Sass to CSS.");
  10161. return options;
  10162. } catch (exception) {
  10163. t1 = H.unwrapException(exception);
  10164. if (!!J.getInterceptor$(t1).$isFormatException) {
  10165. error = t1;
  10166. B.ExecutableOptions__fail(J.get$message$x(error));
  10167. } else
  10168. throw exception;
  10169. }
  10170. },
  10171. UsageException$: function(message) {
  10172. return new B.UsageException(message);
  10173. },
  10174. ExecutableOptions: function ExecutableOptions(t0) {
  10175. var _ = this;
  10176. _._options = t0;
  10177. _._sourceDirectoriesToDestinations = _._sourcesToDestinations = _._interactive = null;
  10178. },
  10179. ExecutableOptions_closure: function ExecutableOptions_closure() {
  10180. },
  10181. ExecutableOptions_emitErrorCss_closure: function ExecutableOptions_emitErrorCss_closure() {
  10182. },
  10183. UsageException: function UsageException(t0) {
  10184. this.message = t0;
  10185. },
  10186. AsyncImporter: function AsyncImporter() {
  10187. },
  10188. inUseRule: function(callback) {
  10189. var t1,
  10190. wasInUseRule = $._inUseRule;
  10191. $._inUseRule = true;
  10192. try {
  10193. t1 = callback.call$0();
  10194. return t1;
  10195. } finally {
  10196. $._inUseRule = wasInUseRule;
  10197. }
  10198. },
  10199. inUseRuleAsync: function(callback, $T) {
  10200. return B.inUseRuleAsync$body(callback, $T, $T);
  10201. },
  10202. inUseRuleAsync$body: function(callback, $T, $async$type) {
  10203. var $async$goto = 0,
  10204. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  10205. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], t1, wasInUseRule;
  10206. var $async$inUseRuleAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  10207. if ($async$errorCode === 1) {
  10208. $async$currentError = $async$result;
  10209. $async$goto = $async$handler;
  10210. }
  10211. while (true)
  10212. switch ($async$goto) {
  10213. case 0:
  10214. // Function start
  10215. wasInUseRule = $._inUseRule;
  10216. $._inUseRule = true;
  10217. $async$handler = 3;
  10218. $async$goto = 6;
  10219. return P._asyncAwait(callback.call$0(), $async$inUseRuleAsync);
  10220. case 6:
  10221. // returning from await.
  10222. t1 = $async$result;
  10223. $async$returnValue = t1;
  10224. $async$next = [1];
  10225. // goto finally
  10226. $async$goto = 4;
  10227. break;
  10228. $async$next.push(5);
  10229. // goto finally
  10230. $async$goto = 4;
  10231. break;
  10232. case 3:
  10233. // uncaught
  10234. $async$next = [2];
  10235. case 4:
  10236. // finally
  10237. $async$handler = 2;
  10238. $._inUseRule = wasInUseRule;
  10239. // goto the next finally handler
  10240. $async$goto = $async$next.pop();
  10241. break;
  10242. case 5:
  10243. // after finally
  10244. case 1:
  10245. // return
  10246. return P._asyncReturn($async$returnValue, $async$completer);
  10247. case 2:
  10248. // rethrow
  10249. return P._asyncRethrow($async$currentError, $async$completer);
  10250. }
  10251. });
  10252. return P._asyncStartSync($async$inUseRuleAsync, $async$completer);
  10253. },
  10254. resolveImportPath: function(path) {
  10255. var t1,
  10256. extension = X.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$0()[1];
  10257. if (extension === ".sass" || extension === ".scss" || extension === ".css") {
  10258. t1 = $._inUseRule ? null : new B.resolveImportPath_closure(path, extension).call$0();
  10259. return t1 == null ? B._exactlyOne(B._tryPath(path)) : t1;
  10260. }
  10261. t1 = $._inUseRule ? null : new B.resolveImportPath_closure0(path).call$0();
  10262. if (t1 == null)
  10263. t1 = B._exactlyOne(B._tryPathWithExtensions(path));
  10264. return t1 == null ? B._tryPathAsDirectory(path) : t1;
  10265. },
  10266. _tryPathWithExtensions: function(path) {
  10267. var result = B._tryPath(J.$add$ansx(path, ".sass"));
  10268. C.JSArray_methods.addAll$1(result, B._tryPath(path + ".scss"));
  10269. return result.length !== 0 ? result : B._tryPath(path + ".css");
  10270. },
  10271. _tryPath: function(path) {
  10272. var t1 = $.$get$context(),
  10273. partial = D.join(t1.dirname$1(path), "_" + H.S(X.ParsedPath_ParsedPath$parse(path, t1.style).get$basename()), null);
  10274. t1 = H.setRuntimeTypeInfo([], [P.String]);
  10275. if (B.fileExists(partial))
  10276. t1.push(partial);
  10277. if (B.fileExists(path))
  10278. t1.push(path);
  10279. return t1;
  10280. },
  10281. _tryPathAsDirectory: function(path) {
  10282. var t1;
  10283. if (!B.dirExists(path))
  10284. return;
  10285. t1 = $._inUseRule ? null : new B._tryPathAsDirectory_closure(path).call$0();
  10286. return t1 == null ? B._exactlyOne(B._tryPathWithExtensions(D.join(path, "index", null))) : t1;
  10287. },
  10288. _exactlyOne: function(paths) {
  10289. var t1 = paths.length;
  10290. if (t1 === 0)
  10291. return;
  10292. if (t1 === 1)
  10293. return C.JSArray_methods.get$first(paths);
  10294. throw H.wrapException("It's not clear which file to import. Found:\n" + C.JSArray_methods.map$1$1(paths, new B._exactlyOne_closure(), P.String).join$1(0, "\n"));
  10295. },
  10296. resolveImportPath_closure: function resolveImportPath_closure(t0, t1) {
  10297. this.path = t0;
  10298. this.extension = t1;
  10299. },
  10300. resolveImportPath_closure0: function resolveImportPath_closure0(t0) {
  10301. this.path = t0;
  10302. },
  10303. _tryPathAsDirectory_closure: function _tryPathAsDirectory_closure(t0) {
  10304. this.path = t0;
  10305. },
  10306. _exactlyOne_closure: function _exactlyOne_closure() {
  10307. },
  10308. readFile: function(path) {
  10309. var t1, t2, t3, sourceFile, i,
  10310. contents = H.stringTypeCast(B._readFile(path, "utf8"));
  10311. if (!J.getInterceptor$asx(contents).contains$1(contents, "\ufffd"))
  10312. return contents;
  10313. t1 = $.$get$context().toUri$1(path);
  10314. t2 = new H.CodeUnits(contents);
  10315. t3 = H.setRuntimeTypeInfo([0], [P.int]);
  10316. sourceFile = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2))));
  10317. sourceFile.SourceFile$decoded$2$url(t2, t1);
  10318. for (t1 = contents.length, i = 0; i < t1; ++i) {
  10319. if (C.JSString_methods._codeUnitAt$1(contents, i) !== 65533)
  10320. continue;
  10321. throw H.wrapException(E.SassException$("Invalid UTF-8.", Y.FileLocation$_(sourceFile, i).pointSpan$0()));
  10322. }
  10323. return contents;
  10324. },
  10325. _readFile: function(path, encoding) {
  10326. return B._systemErrorToFileSystemException(new B._readFile_closure(path, encoding));
  10327. },
  10328. writeFile: function(path, contents) {
  10329. return B._systemErrorToFileSystemException(new B.writeFile_closure(path, contents));
  10330. },
  10331. deleteFile: function(path) {
  10332. return B._systemErrorToFileSystemException(new B.deleteFile_closure(path));
  10333. },
  10334. readStdin: function() {
  10335. return B.readStdin$body();
  10336. },
  10337. readStdin$body: function() {
  10338. var $async$goto = 0,
  10339. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  10340. $async$returnValue, sink, t1, t2, t3, completer;
  10341. var $async$readStdin = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  10342. if ($async$errorCode === 1)
  10343. return P._asyncRethrow($async$result, $async$completer);
  10344. while (true)
  10345. switch ($async$goto) {
  10346. case 0:
  10347. // Function start
  10348. t1 = {};
  10349. t2 = P.String;
  10350. t3 = new P._Future($.Zone__current, [t2]);
  10351. completer = new P._AsyncCompleter(t3, [t2]);
  10352. t1.contents = null;
  10353. sink = new P.Utf8Decoder(false).startChunkedConversion$1(new P._StringCallbackSink(new B.readStdin_closure(t1, completer), new P.StringBuffer("")));
  10354. J.on$2$x(self.process.stdin, "data", P.allowInterop(new B.readStdin_closure0(sink)));
  10355. J.on$2$x(self.process.stdin, "end", P.allowInterop(new B.readStdin_closure1(sink)));
  10356. J.on$2$x(self.process.stdin, "error", P.allowInterop(new B.readStdin_closure2(completer)));
  10357. $async$returnValue = t3;
  10358. // goto return
  10359. $async$goto = 1;
  10360. break;
  10361. case 1:
  10362. // return
  10363. return P._asyncReturn($async$returnValue, $async$completer);
  10364. }
  10365. });
  10366. return P._asyncStartSync($async$readStdin, $async$completer);
  10367. },
  10368. fileExists: function(path) {
  10369. return B._systemErrorToFileSystemException(new B.fileExists_closure(path));
  10370. },
  10371. dirExists: function(path) {
  10372. return B._systemErrorToFileSystemException(new B.dirExists_closure(path));
  10373. },
  10374. ensureDir: function(path) {
  10375. return B._systemErrorToFileSystemException(new B.ensureDir_closure(path));
  10376. },
  10377. listDir: function(path, recursive) {
  10378. return B._systemErrorToFileSystemException(new B.listDir_closure(recursive, path));
  10379. },
  10380. modificationTime: function(path) {
  10381. return B._systemErrorToFileSystemException(new B.modificationTime_closure(path));
  10382. },
  10383. _systemErrorToFileSystemException: function(callback) {
  10384. var error, systemError, t1, exception, t2;
  10385. try {
  10386. t1 = callback.call$0();
  10387. return t1;
  10388. } catch (exception) {
  10389. error = H.unwrapException(exception);
  10390. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  10391. t1 = systemError;
  10392. t2 = J.getInterceptor$x(t1);
  10393. throw H.wrapException(new B.FileSystemException(J.substring$2$s(t2.get$message(t1), (H.S(t2.get$code(t1)) + ": ").length, J.get$length$asx(t2.get$message(t1)) - (", " + H.S(t2.get$syscall(t1)) + " '" + H.S(t2.get$path(t1)) + "'").length), J.get$path$x(systemError)));
  10394. }
  10395. },
  10396. isWindows: function() {
  10397. return J.$eq$(J.get$platform$x(self.process), "win32");
  10398. },
  10399. watchDir: function(path, poll) {
  10400. var t2, t3, t4, t1 = {},
  10401. watcher = J.watch$2$x(self.chokidar, path, {disableGlobbing: true, usePolling: poll});
  10402. t1.controller = null;
  10403. t2 = J.getInterceptor$x(watcher);
  10404. t2.on$2(watcher, "add", P.allowInterop(new B.watchDir_closure(t1)));
  10405. t2.on$2(watcher, "change", P.allowInterop(new B.watchDir_closure0(t1)));
  10406. t2.on$2(watcher, "unlink", P.allowInterop(new B.watchDir_closure1(t1)));
  10407. t2.on$2(watcher, "error", P.allowInterop(new B.watchDir_closure2(t1)));
  10408. t3 = [P.Stream, E.WatchEvent];
  10409. t4 = new P._Future($.Zone__current, [t3]);
  10410. t2.on$2(watcher, "ready", P.allowInterop(new B.watchDir_closure3(t1, watcher, new P._AsyncCompleter(t4, [t3]))));
  10411. return t4;
  10412. },
  10413. _FS: function _FS() {
  10414. },
  10415. _Stat: function _Stat() {
  10416. },
  10417. _Date: function _Date() {
  10418. },
  10419. _Stderr: function _Stderr() {
  10420. },
  10421. _Stdin: function _Stdin() {
  10422. },
  10423. _SystemError: function _SystemError() {
  10424. },
  10425. _Process: function _Process() {
  10426. },
  10427. FileSystemException: function FileSystemException(t0, t1) {
  10428. this.message = t0;
  10429. this.path = t1;
  10430. },
  10431. Stderr: function Stderr(t0) {
  10432. this._stderr = t0;
  10433. },
  10434. _readFile_closure: function _readFile_closure(t0, t1) {
  10435. this.path = t0;
  10436. this.encoding = t1;
  10437. },
  10438. writeFile_closure: function writeFile_closure(t0, t1) {
  10439. this.path = t0;
  10440. this.contents = t1;
  10441. },
  10442. deleteFile_closure: function deleteFile_closure(t0) {
  10443. this.path = t0;
  10444. },
  10445. readStdin_closure: function readStdin_closure(t0, t1) {
  10446. this._box_0 = t0;
  10447. this.completer = t1;
  10448. },
  10449. readStdin_closure0: function readStdin_closure0(t0) {
  10450. this.sink = t0;
  10451. },
  10452. readStdin_closure1: function readStdin_closure1(t0) {
  10453. this.sink = t0;
  10454. },
  10455. readStdin_closure2: function readStdin_closure2(t0) {
  10456. this.completer = t0;
  10457. },
  10458. fileExists_closure: function fileExists_closure(t0) {
  10459. this.path = t0;
  10460. },
  10461. dirExists_closure: function dirExists_closure(t0) {
  10462. this.path = t0;
  10463. },
  10464. ensureDir_closure: function ensureDir_closure(t0) {
  10465. this.path = t0;
  10466. },
  10467. listDir_closure: function listDir_closure(t0, t1) {
  10468. this.recursive = t0;
  10469. this.path = t1;
  10470. },
  10471. listDir__closure: function listDir__closure(t0) {
  10472. this.path = t0;
  10473. },
  10474. listDir__closure0: function listDir__closure0() {
  10475. },
  10476. listDir_closure_list: function listDir_closure_list() {
  10477. },
  10478. listDir__list_closure: function listDir__list_closure(t0, t1) {
  10479. this.parent = t0;
  10480. this.list = t1;
  10481. },
  10482. modificationTime_closure: function modificationTime_closure(t0) {
  10483. this.path = t0;
  10484. },
  10485. watchDir_closure: function watchDir_closure(t0) {
  10486. this._box_0 = t0;
  10487. },
  10488. watchDir_closure0: function watchDir_closure0(t0) {
  10489. this._box_0 = t0;
  10490. },
  10491. watchDir_closure1: function watchDir_closure1(t0) {
  10492. this._box_0 = t0;
  10493. },
  10494. watchDir_closure2: function watchDir_closure2(t0) {
  10495. this._box_0 = t0;
  10496. },
  10497. watchDir_closure3: function watchDir_closure3(t0, t1, t2) {
  10498. this._box_0 = t0;
  10499. this.watcher = t1;
  10500. this.completer = t2;
  10501. },
  10502. watchDir__closure: function watchDir__closure(t0) {
  10503. this.watcher = t0;
  10504. },
  10505. main0: function() {
  10506. J.set$run_$x(self.exports, P.allowInterop(new B.main_closure()));
  10507. J.set$render$x(self.exports, P.allowInterop(B.node___render$closure()));
  10508. J.set$renderSync$x(self.exports, P.allowInterop(B.node___renderSync$closure()));
  10509. J.set$info$x(self.exports, "dart-sass\t1.23.6\t(Sass Compiler)\t[Dart]\ndart2js\t2.6.1\t(Dart Compiler)\t[Dart]");
  10510. J.set$types$x(self.exports, {Boolean: $.$get$booleanConstructor(), Color: $.$get$colorConstructor(), List: $.$get$listConstructor(), Map: $.$get$mapConstructor(), Null: $.$get$nullConstructor(), Number: $.$get$numberConstructor(), String: $.$get$stringConstructor(), Error: self.Error});
  10511. },
  10512. _render: function(options, callback) {
  10513. var t1 = J.getInterceptor$x(options);
  10514. if (t1.get$fiber(options) != null)
  10515. J.run$0$x(t1.get$fiber(options).call$1(P.allowInterop(new B._render_closure(callback, options))));
  10516. else
  10517. B._renderAsync(options).then$1$2$onError(new B._render_closure0(callback), new B._render_closure1(callback), P.Null);
  10518. },
  10519. _renderAsync: function(options) {
  10520. var $async$goto = 0,
  10521. $async$completer = P._makeAsyncAwaitCompleter(U.RenderResult),
  10522. $async$returnValue, t2, t3, t4, t5, t6, t7, t8, t9, result, start, t1, file;
  10523. var $async$_renderAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  10524. if ($async$errorCode === 1)
  10525. return P._asyncRethrow($async$result, $async$completer);
  10526. while (true)
  10527. switch ($async$goto) {
  10528. case 0:
  10529. // Function start
  10530. start = new P.DateTime(Date.now(), false);
  10531. t1 = J.getInterceptor$x(options);
  10532. file = t1.get$file(options) == null ? null : D.absolute(t1.get$file(options));
  10533. $async$goto = t1.get$data(options) != null ? 3 : 5;
  10534. break;
  10535. case 3:
  10536. // then
  10537. t2 = t1.get$data(options);
  10538. t3 = B._parseImporter(options, start);
  10539. t4 = B._parseFunctions(options, true);
  10540. t5 = t1.get$indentedSyntax(options);
  10541. t5 = !J.$eq$(t5, false) && t5 != null ? C.Syntax_Sass : null;
  10542. t6 = B._parseOutputStyle(t1.get$outputStyle(options));
  10543. t7 = J.$eq$(t1.get$indentType(options), "tab");
  10544. t8 = B._parseIndentWidth(t1.get$indentWidth(options));
  10545. t9 = B._parseLineFeed(t1.get$linefeed(options));
  10546. t1 = t1.get$file(options) == null ? "stdin" : J.toString$0$($.$get$context().toUri$1(file));
  10547. $async$goto = 6;
  10548. return P._asyncAwait(X.compileStringAsync(t2, true, t4, null, null, t8, t9, null, t3, B._enableSourceMaps(options), t6, t5, t1, !t7), $async$_renderAsync);
  10549. case 6:
  10550. // returning from await.
  10551. result = $async$result;
  10552. // goto join
  10553. $async$goto = 4;
  10554. break;
  10555. case 5:
  10556. // else
  10557. $async$goto = t1.get$file(options) != null ? 7 : 9;
  10558. break;
  10559. case 7:
  10560. // then
  10561. t2 = B._parseImporter(options, start);
  10562. t3 = B._parseFunctions(options, true);
  10563. t4 = t1.get$indentedSyntax(options);
  10564. t4 = !J.$eq$(t4, false) && t4 != null ? C.Syntax_Sass : null;
  10565. t5 = B._parseOutputStyle(t1.get$outputStyle(options));
  10566. t6 = J.$eq$(t1.get$indentType(options), "tab");
  10567. $async$goto = 10;
  10568. return P._asyncAwait(X.compileAsync(file, true, t3, null, B._parseIndentWidth(t1.get$indentWidth(options)), B._parseLineFeed(t1.get$linefeed(options)), null, t2, B._enableSourceMaps(options), t5, t4, !t6), $async$_renderAsync);
  10569. case 10:
  10570. // returning from await.
  10571. result = $async$result;
  10572. // goto join
  10573. $async$goto = 8;
  10574. break;
  10575. case 9:
  10576. // else
  10577. throw H.wrapException(P.ArgumentError$("Either options.data or options.file must be set."));
  10578. case 8:
  10579. // join
  10580. case 4:
  10581. // join
  10582. $async$returnValue = B._newRenderResult(options, result, start);
  10583. // goto return
  10584. $async$goto = 1;
  10585. break;
  10586. case 1:
  10587. // return
  10588. return P._asyncReturn($async$returnValue, $async$completer);
  10589. }
  10590. });
  10591. return P._asyncStartSync($async$_renderAsync, $async$completer);
  10592. },
  10593. _renderSync: function(options) {
  10594. var start, file, result, error, error0, t1, t2, t3, t4, t5, t6, t7, t8, t9, exception, _null = null;
  10595. try {
  10596. start = new P.DateTime(Date.now(), false);
  10597. t1 = J.getInterceptor$x(options);
  10598. file = t1.get$file(options) == null ? _null : D.absolute(t1.get$file(options));
  10599. result = null;
  10600. if (t1.get$data(options) != null) {
  10601. t2 = t1.get$data(options);
  10602. t3 = B._parseImporter(options, start);
  10603. t4 = B._parseFunctions(options, false);
  10604. t5 = t1.get$indentedSyntax(options);
  10605. t5 = !J.$eq$(t5, false) && t5 != null ? C.Syntax_Sass : _null;
  10606. t6 = B._parseOutputStyle(t1.get$outputStyle(options));
  10607. t7 = J.$eq$(t1.get$indentType(options), "tab");
  10608. t8 = B._parseIndentWidth(t1.get$indentWidth(options));
  10609. t9 = B._parseLineFeed(t1.get$linefeed(options));
  10610. t1 = t1.get$file(options) == null ? "stdin" : J.toString$0$($.$get$context().toUri$1(file));
  10611. result = U.compileString(t2, true, new H.CastList(t4, [H.getTypeArgumentByIndex(t4, 0), D.Callable]), _null, _null, t8, t9, _null, t3, B._enableSourceMaps(options), t6, t5, t1, !t7);
  10612. } else if (t1.get$file(options) != null) {
  10613. t2 = B._parseImporter(options, start);
  10614. t3 = B._parseFunctions(options, false);
  10615. t4 = t1.get$indentedSyntax(options);
  10616. t4 = !J.$eq$(t4, false) && t4 != null ? C.Syntax_Sass : _null;
  10617. t5 = B._parseOutputStyle(t1.get$outputStyle(options));
  10618. t6 = J.$eq$(t1.get$indentType(options), "tab");
  10619. result = U.compile(file, true, new H.CastList(t3, [H.getTypeArgumentByIndex(t3, 0), D.Callable]), _null, B._parseIndentWidth(t1.get$indentWidth(options)), B._parseLineFeed(t1.get$linefeed(options)), _null, t2, B._enableSourceMaps(options), t5, t4, !t6);
  10620. } else {
  10621. t1 = P.ArgumentError$("Either options.data or options.file must be set.");
  10622. throw H.wrapException(t1);
  10623. }
  10624. t1 = B._newRenderResult(options, result, start);
  10625. return t1;
  10626. } catch (exception) {
  10627. t1 = H.unwrapException(exception);
  10628. if (t1 instanceof E.SassException) {
  10629. error = t1;
  10630. t1 = B._wrapException(error);
  10631. $.$get$_jsThrow().call$1(t1);
  10632. } else {
  10633. error0 = t1;
  10634. t1 = B._newRenderError(J.toString$0$(error0), _null, _null, _null, 3);
  10635. $.$get$_jsThrow().call$1(t1);
  10636. }
  10637. }
  10638. throw H.wrapException("unreachable");
  10639. },
  10640. _wrapException: function(exception) {
  10641. var t3, t4,
  10642. t1 = C.JSString_methods.replaceFirst$2(exception.toString$0(0), "Error: ", ""),
  10643. t2 = G.SourceSpanException.prototype.get$span.call(exception);
  10644. t2 = Y.FileLocation$_(t2.file, t2._start);
  10645. t2 = t2.file.getLine$1(t2.offset);
  10646. t3 = G.SourceSpanException.prototype.get$span.call(exception);
  10647. t3 = Y.FileLocation$_(t3.file, t3._start);
  10648. t3 = t3.file.getColumn$1(t3.offset);
  10649. if (G.SourceSpanException.prototype.get$span.call(exception).file.url == null)
  10650. t4 = "stdin";
  10651. else {
  10652. t4 = G.SourceSpanException.prototype.get$span.call(exception).file;
  10653. t4 = $.$get$context().style.pathFromUri$1(M._parseUri(t4.url));
  10654. }
  10655. return B._newRenderError(t1, t3 + 1, t4, t2 + 1, 1);
  10656. },
  10657. _parseFunctions: function(options, asynch) {
  10658. var result,
  10659. t1 = J.getInterceptor$x(options);
  10660. if (t1.get$functions(options) == null)
  10661. return C.List_empty10;
  10662. result = H.setRuntimeTypeInfo([], [B.AsyncCallable]);
  10663. B.jsForEach(t1.get$functions(options), new B._parseFunctions_closure(options, result, asynch));
  10664. return result;
  10665. },
  10666. _parseImporter: function(options, start) {
  10667. var importers, t2, t3, includePaths, t4, t5, t6, t7, _i, t8, t9, t10, context,
  10668. t1 = J.getInterceptor$x(options);
  10669. if (t1.get$importer(options) == null)
  10670. importers = H.setRuntimeTypeInfo([], [F.JSFunction]);
  10671. else {
  10672. t2 = F.JSFunction;
  10673. importers = !!J.getInterceptor$(t1.get$importer(options)).$isList ? J.cast$1$0$ax(H.subtypeCast(t1.get$importer(options), "$isList", [P.Object], "$asList"), t2) : H.setRuntimeTypeInfo([H.interceptedTypeCast(t1.get$importer(options), "$isJSFunction")], [t2]);
  10674. }
  10675. t2 = t1.get$includePaths(options);
  10676. if (t2 == null)
  10677. t2 = [];
  10678. t3 = P.String;
  10679. includePaths = P.List_List$from(t2, true, t3);
  10680. t2 = J.getInterceptor$asx(importers);
  10681. if (t2.get$isNotEmpty(importers)) {
  10682. t4 = t1.get$file(options);
  10683. t5 = t1.get$data(options);
  10684. t6 = H.setRuntimeTypeInfo([], [t3]);
  10685. t6.push(D.current());
  10686. for (t7 = includePaths.length, _i = 0; _i < includePaths.length; includePaths.length === t7 || (0, H.throwConcurrentModificationError)(includePaths), ++_i)
  10687. t6.push(includePaths[_i]);
  10688. t6 = C.JSArray_methods.join$1(t6, J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":");
  10689. t7 = J.$eq$(t1.get$indentType(options), "tab") ? 1 : 0;
  10690. t8 = B._parseIndentWidth(t1.get$indentWidth(options));
  10691. if (t8 == null)
  10692. t8 = 2;
  10693. t9 = B._parseLineFeed(t1.get$linefeed(options));
  10694. t10 = t1.get$file(options);
  10695. if (t10 == null)
  10696. t10 = "data";
  10697. context = {options: {file: t4, data: t5, includePaths: t6, precision: 10, style: 1, indentType: t7, indentWidth: t8, linefeed: t9.text, result: {stats: {entry: t10, start: start._value}}}};
  10698. J.set$context$x(J.get$options$x(context), context);
  10699. } else
  10700. context = null;
  10701. if (t1.get$fiber(options) != null)
  10702. importers = t2.map$1$1(importers, new B._parseImporter_closure(options), F.JSFunction).toList$0(0);
  10703. return new F.NodeImporter(context, P.List_List$unmodifiable(F.NodeImporter__addSassPath(includePaths), t3), P.List_List$unmodifiable(J.cast$1$0$ax(importers, null), F.JSFunction));
  10704. },
  10705. _parseOutputStyle: function(style) {
  10706. if (style == null || style === "expanded")
  10707. return C.OutputStyle_expanded;
  10708. if (style === "compressed")
  10709. return C.OutputStyle_compressed;
  10710. throw H.wrapException(P.ArgumentError$('Unsupported output style "' + H.S(style) + '".'));
  10711. },
  10712. _parseIndentWidth: function(width) {
  10713. if (width == null)
  10714. return;
  10715. return typeof width === "number" && Math.floor(width) === width ? width : P.int_parse(J.toString$0$(width), null, null);
  10716. },
  10717. _parseLineFeed: function(str) {
  10718. switch (str) {
  10719. case "cr":
  10720. return C.LineFeed_kMT;
  10721. case "crlf":
  10722. return C.LineFeed_Mss;
  10723. case "lfcr":
  10724. return C.LineFeed_a1Y;
  10725. default:
  10726. return C.LineFeed_D6m;
  10727. }
  10728. },
  10729. _newRenderResult: function(options, result, start) {
  10730. var t3, t4, sourceMapPath, sourceMapDir, sourceMapDirUrl, i, source, sourceMapBytes, buffer, indices, url, _null = null,
  10731. t1 = Date.now(),
  10732. t2 = result._serialize,
  10733. css = t2.css;
  10734. if (B._enableSourceMaps(options)) {
  10735. t3 = J.getInterceptor$x(options);
  10736. t4 = t3.get$sourceMap(options);
  10737. sourceMapPath = typeof t4 === "string" ? H.stringTypeCast(t3.get$sourceMap(options)) : J.$add$ansx(t3.get$outFile(options), ".map");
  10738. t4 = $.$get$context();
  10739. sourceMapDir = t4.dirname$1(sourceMapPath);
  10740. t2 = t2.sourceMap;
  10741. t2.sourceRoot = t3.get$sourceMapRoot(options);
  10742. if (t3.get$outFile(options) == null)
  10743. if (t3.get$file(options) == null)
  10744. t2.targetUrl = "stdin.css";
  10745. else
  10746. t2.targetUrl = J.toString$0$(t4.toUri$1(t4.withoutExtension$1(t3.get$file(options)) + ".css"));
  10747. else
  10748. t2.targetUrl = J.toString$0$(t4.toUri$1(t4.relative$2$from(t3.get$outFile(options), sourceMapDir)));
  10749. sourceMapDirUrl = J.toString$0$(t4.toUri$1(sourceMapDir));
  10750. for (t4 = t2.urls, i = 0; i < t4.length; ++i) {
  10751. source = t4[i];
  10752. if (source === "stdin")
  10753. continue;
  10754. t4[i] = $.$get$url().relative$2$from(source, sourceMapDirUrl);
  10755. }
  10756. t4 = t3.get$sourceMapContents(options);
  10757. t2 = C.C_JsonCodec.encode$2$toEncodable(t2.toJson$1$includeSourceContents(!J.$eq$(t4, false) && t4 != null), _null);
  10758. sourceMapBytes = self.Buffer.from(t2, "utf8");
  10759. t2 = t3.get$omitSourceMapUrl(options);
  10760. if (!(!J.$eq$(t2, false) && t2 != null)) {
  10761. t2 = t3.get$sourceMapEmbed(options);
  10762. if (!J.$eq$(t2, false) && t2 != null) {
  10763. buffer = new P.StringBuffer("");
  10764. indices = H.setRuntimeTypeInfo([-1], [P.int]);
  10765. P.UriData__writeUri("application/json", _null, _null, buffer, indices);
  10766. indices.push(buffer._contents.length);
  10767. t2 = buffer._contents += ";base64,";
  10768. indices.push(t2.length - 1);
  10769. C.C_Base64Encoder.startChunkedConversion$1(new P._StringSinkConversionSink(buffer)).addSlice$4(sourceMapBytes, 0, sourceMapBytes.length, true);
  10770. t2 = buffer._contents;
  10771. url = new P.UriData(t2.charCodeAt(0) == 0 ? t2 : t2, indices, _null).get$uri();
  10772. } else {
  10773. if (t3.get$outFile(options) == null)
  10774. t2 = sourceMapPath;
  10775. else {
  10776. t2 = t3.get$outFile(options);
  10777. t3 = $.$get$context();
  10778. t2 = t3.relative$2$from(sourceMapPath, t3.dirname$1(t2));
  10779. }
  10780. url = $.$get$context().toUri$1(t2);
  10781. }
  10782. css += "\n\n/*# sourceMappingURL=" + H.S(url) + " */";
  10783. }
  10784. } else
  10785. sourceMapBytes = _null;
  10786. t2 = self.Buffer.from(css, "utf8");
  10787. t3 = J.get$file$x(options);
  10788. if (t3 == null)
  10789. t3 = "data";
  10790. t4 = start._value;
  10791. t1 = new P.DateTime(t1, false)._value;
  10792. return {css: t2, map: sourceMapBytes, stats: {entry: t3, start: t4, end: t1, duration: C.JSInt_methods._tdivFast$1(P.Duration$(t1 - t4)._duration, 1000), includedFiles: result._evaluate.includedFiles.toList$0(0)}};
  10793. },
  10794. _enableSourceMaps: function(options) {
  10795. var t1 = J.getInterceptor$x(options),
  10796. t2 = t1.get$sourceMap(options);
  10797. if (typeof t2 !== "string") {
  10798. t2 = t1.get$sourceMap(options);
  10799. t1 = !J.$eq$(t2, false) && t2 != null && t1.get$outFile(options) != null;
  10800. } else
  10801. t1 = true;
  10802. return t1;
  10803. },
  10804. _newRenderError: function(message, column, file, line, $status) {
  10805. var error = new self.Error(message);
  10806. error.formatted = "Error: " + H.S(message);
  10807. if (line != null)
  10808. error.line = line;
  10809. if (column != null)
  10810. error.column = column;
  10811. if (file != null)
  10812. error.file = file;
  10813. error.status = $status;
  10814. return error;
  10815. },
  10816. main_closure: function main_closure() {
  10817. },
  10818. _render_closure: function _render_closure(t0, t1) {
  10819. this.callback = t0;
  10820. this.options = t1;
  10821. },
  10822. _render_closure0: function _render_closure0(t0) {
  10823. this.callback = t0;
  10824. },
  10825. _render_closure1: function _render_closure1(t0) {
  10826. this.callback = t0;
  10827. },
  10828. _parseFunctions_closure: function _parseFunctions_closure(t0, t1, t2) {
  10829. this.options = t0;
  10830. this.result = t1;
  10831. this.asynch = t2;
  10832. },
  10833. _parseFunctions__closure: function _parseFunctions__closure(t0, t1) {
  10834. this.options = t0;
  10835. this.callback = t1;
  10836. },
  10837. _parseFunctions___closure0: function _parseFunctions___closure0(t0) {
  10838. this.fiber = t0;
  10839. },
  10840. _parseFunctions____closure: function _parseFunctions____closure(t0, t1) {
  10841. this.fiber = t0;
  10842. this.result = t1;
  10843. },
  10844. _parseFunctions__closure0: function _parseFunctions__closure0(t0) {
  10845. this.callback = t0;
  10846. },
  10847. _parseFunctions__closure1: function _parseFunctions__closure1(t0) {
  10848. this.callback = t0;
  10849. },
  10850. _parseFunctions___closure: function _parseFunctions___closure(t0) {
  10851. this.completer = t0;
  10852. },
  10853. _parseImporter_closure: function _parseImporter_closure(t0) {
  10854. this.options = t0;
  10855. },
  10856. _parseImporter__closure: function _parseImporter__closure(t0, t1) {
  10857. this.options = t0;
  10858. this.importer = t1;
  10859. },
  10860. _parseImporter___closure: function _parseImporter___closure(t0) {
  10861. this.fiber = t0;
  10862. },
  10863. _parseImporter____closure: function _parseImporter____closure(t0, t1) {
  10864. this.fiber = t0;
  10865. this.result = t1;
  10866. },
  10867. forwardToString: function(klass) {
  10868. klass.prototype.toString = P.allowInteropCaptureThis(new B.forwardToString_closure());
  10869. },
  10870. jsForEach: function(object, callback) {
  10871. var t1, t2;
  10872. for (t1 = J.get$iterator$ax(self.Object.keys(object)); t1.moveNext$0();) {
  10873. t2 = t1.get$current(t1);
  10874. callback.call$2(t2, object[t2]);
  10875. }
  10876. },
  10877. createClass: function($constructor, methods) {
  10878. var klass = P.allowInteropCaptureThis($constructor);
  10879. methods.forEach$1(0, new B.createClass_closure(klass.prototype));
  10880. return klass;
  10881. },
  10882. injectSuperclass: function(object, $constructor) {
  10883. var t1,
  10884. $prototype = self.Object.getPrototypeOf(object),
  10885. $parent = self.Object.getPrototypeOf($prototype);
  10886. if ($parent != null) {
  10887. t1 = $constructor.prototype;
  10888. self.Object.setPrototypeOf(t1, $parent);
  10889. }
  10890. t1 = $constructor.prototype;
  10891. t1 = self.Object.create(t1);
  10892. self.Object.setPrototypeOf($prototype, t1);
  10893. },
  10894. forwardToString_closure: function forwardToString_closure() {
  10895. },
  10896. createClass_closure: function createClass_closure(t0) {
  10897. this.$prototype = t0;
  10898. },
  10899. toSentence: function(iter, conjunction) {
  10900. if (iter.get$length(iter) === 1)
  10901. return J.toString$0$(iter.get$first(iter));
  10902. return iter.take$1(0, iter.get$length(iter) - 1).join$1(0, ", ") + (" " + conjunction + " " + H.S(iter.get$last(iter)));
  10903. },
  10904. indent: function(string, indentation) {
  10905. var t1 = P.String,
  10906. t2 = H.setRuntimeTypeInfo(string.split("\n"), [t1]);
  10907. return new H.MappedListIterable(t2, new B.indent_closure(indentation), [H.getTypeArgumentByIndex(t2, 0), t1]).join$1(0, "\n");
  10908. },
  10909. pluralize: function($name, number, plural) {
  10910. if (number === 1)
  10911. return $name;
  10912. if (plural != null)
  10913. return plural;
  10914. return $name + "s";
  10915. },
  10916. bulletedList: function(bullets) {
  10917. return H.MappedIterable_MappedIterable(bullets, new B.bulletedList_closure(), H.getRuntimeTypeArgument(bullets, "Iterable", 0), P.String).join$1(0, "\n");
  10918. },
  10919. trimAscii: function(string, excludeEscape) {
  10920. var start = B._firstNonWhitespace(string);
  10921. return start == null ? "" : J.substring$2$s(string, start, B._lastNonWhitespace(string, true) + 1);
  10922. },
  10923. trimAsciiRight: function(string, excludeEscape) {
  10924. var end = B._lastNonWhitespace(string, excludeEscape);
  10925. return end == null ? "" : J.substring$2$s(string, 0, end + 1);
  10926. },
  10927. _firstNonWhitespace: function(string) {
  10928. var t1, i, t2;
  10929. for (t1 = string.length, i = 0; i < t1; ++i) {
  10930. t2 = C.JSString_methods._codeUnitAt$1(string, i);
  10931. if (!(t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12))
  10932. return i;
  10933. }
  10934. return;
  10935. },
  10936. _lastNonWhitespace: function(string, excludeEscape) {
  10937. var t1, i, t2, codeUnit;
  10938. for (t1 = string.length, i = t1 - 1, t2 = J.getInterceptor$s(string); i >= 0; --i) {
  10939. codeUnit = t2.codeUnitAt$1(string, i);
  10940. if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12))
  10941. if (excludeEscape && i !== 0 && i !== t1 && codeUnit === 92)
  10942. return i + 1;
  10943. else
  10944. return i;
  10945. }
  10946. return;
  10947. },
  10948. isPublic: function(member) {
  10949. var start = J._codeUnitAt$1$s(member, 0);
  10950. return start !== 45 && start !== 95;
  10951. },
  10952. flattenVertically: function(iterable, $T) {
  10953. var result,
  10954. queues = new H.MappedListIterable(iterable, new B.flattenVertically_closure($T), [H.getRuntimeTypeArgument(iterable, "ListIterable", 0), [Q.QueueList, $T]]).toList$0(0);
  10955. if (queues.length === 1)
  10956. return C.JSArray_methods.get$first(queues);
  10957. result = H.setRuntimeTypeInfo([], [$T]);
  10958. for (; queues.length !== 0;) {
  10959. if (!!queues.fixed$length)
  10960. H.throwExpression(P.UnsupportedError$("removeWhere"));
  10961. C.JSArray_methods._removeWhere$2(queues, new B.flattenVertically_closure0(result), true);
  10962. }
  10963. return result;
  10964. },
  10965. firstOrNull: function(iterable) {
  10966. var iterator = J.get$iterator$ax(iterable);
  10967. return iterator.moveNext$0() ? iterator.get$current(iterator) : null;
  10968. },
  10969. codepointIndexToCodeUnitIndex: function(string, codepointIndex) {
  10970. var t1, codeUnitIndex, i, codeUnitIndex0, t2;
  10971. for (t1 = J.getInterceptor$s(string), codeUnitIndex = 0, i = 0; i < codepointIndex; ++i) {
  10972. codeUnitIndex0 = codeUnitIndex + 1;
  10973. t2 = t1._codeUnitAt$1(string, codeUnitIndex);
  10974. codeUnitIndex = t2 >= 55296 && t2 <= 56319 ? codeUnitIndex0 + 1 : codeUnitIndex0;
  10975. }
  10976. return codeUnitIndex;
  10977. },
  10978. codeUnitIndexToCodepointIndex: function(string, codeUnitIndex) {
  10979. var t1, codepointIndex, i, t2;
  10980. for (t1 = J.getInterceptor$s(string), codepointIndex = 0, i = 0; i < codeUnitIndex; i = (t2 >= 55296 && t2 <= 56319 ? i + 1 : i) + 1) {
  10981. ++codepointIndex;
  10982. t2 = t1._codeUnitAt$1(string, i);
  10983. }
  10984. return codepointIndex;
  10985. },
  10986. frameForSpan: function(span, member, url) {
  10987. var t2, t3, t4,
  10988. t1 = url == null ? span.file.url : url;
  10989. if (t1 == null)
  10990. t1 = $.$get$_noSourceUrl();
  10991. t2 = span.file;
  10992. t3 = span._start;
  10993. t4 = Y.FileLocation$_(t2, t3);
  10994. t4 = t4.file.getLine$1(t4.offset);
  10995. t3 = Y.FileLocation$_(t2, t3);
  10996. return new A.Frame(t1, t4 + 1, t3.file.getColumn$1(t3.offset) + 1, member);
  10997. },
  10998. spanForList: function(nodes) {
  10999. var left, right;
  11000. if (nodes.length === 0)
  11001. return;
  11002. left = C.JSArray_methods.get$first(nodes).get$span();
  11003. if (left == null)
  11004. return;
  11005. right = C.JSArray_methods.get$last(nodes).get$span();
  11006. if (right == null)
  11007. return;
  11008. return left.expand$1(0, right);
  11009. },
  11010. declarationName: function(span) {
  11011. var text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, span._start, span._file$_end), 0, null);
  11012. return B.trimAsciiRight(C.JSString_methods.substring$2(text, 0, C.JSString_methods.indexOf$1(text, ":")), false);
  11013. },
  11014. unvendor: function($name) {
  11015. var i,
  11016. t1 = $name.length;
  11017. if (t1 < 2)
  11018. return $name;
  11019. if (J.getInterceptor$s($name)._codeUnitAt$1($name, 0) !== 45)
  11020. return $name;
  11021. if (C.JSString_methods._codeUnitAt$1($name, 1) === 45)
  11022. return $name;
  11023. for (i = 2; i < t1; ++i)
  11024. if (C.JSString_methods._codeUnitAt$1($name, i) === 45)
  11025. return C.JSString_methods.substring$1($name, i + 1);
  11026. return $name;
  11027. },
  11028. equalsIgnoreCase: function(string1, string2) {
  11029. var t1, i;
  11030. if (string1 == string2)
  11031. return true;
  11032. if (string1 == null || string2 == null)
  11033. return false;
  11034. t1 = string1.length;
  11035. if (t1 !== string2.length)
  11036. return false;
  11037. for (i = 0; i < t1; ++i)
  11038. if (!T.characterEqualsIgnoreCase(C.JSString_methods._codeUnitAt$1(string1, i), C.JSString_methods._codeUnitAt$1(string2, i)))
  11039. return false;
  11040. return true;
  11041. },
  11042. startsWithIgnoreCase: function(string, prefix) {
  11043. var t2, i,
  11044. t1 = prefix.length;
  11045. if (string.length < t1)
  11046. return false;
  11047. for (t2 = J.getInterceptor$s(string), i = 0; i < t1; ++i)
  11048. if (!T.characterEqualsIgnoreCase(t2._codeUnitAt$1(string, i), C.JSString_methods._codeUnitAt$1(prefix, i)))
  11049. return false;
  11050. return true;
  11051. },
  11052. mapInPlace: function(list, $function) {
  11053. var i;
  11054. for (i = 0; i < list.length; ++i)
  11055. list[i] = $function.call$1(list[i]);
  11056. },
  11057. longestCommonSubsequence: function(list1, list2, select, $T) {
  11058. var t1, lengths, selections, t2, i, i0, j, selection, t3, j0, t4, t5;
  11059. if (select == null)
  11060. select = new B.longestCommonSubsequence_closure($T);
  11061. t1 = J.getInterceptor$asx(list1);
  11062. lengths = P.List_List$generate(t1.get$length(list1) + 1, new B.longestCommonSubsequence_closure0(list2), false, [P.List, P.int]);
  11063. selections = P.List_List$generate(t1.get$length(list1), new B.longestCommonSubsequence_closure1(list2, $T), false, [P.List, $T]);
  11064. for (t2 = J.getInterceptor$asx(list2), i = 0; i < t1.get$length(list1); i = i0)
  11065. for (i0 = i + 1, j = 0; j < t2.get$length(list2); j = j0) {
  11066. selection = select.call$2(t1.$index(list1, i), t2.$index(list2, j));
  11067. J.$indexSet$ax(selections[i], j, selection);
  11068. t3 = lengths[i0];
  11069. j0 = j + 1;
  11070. if (selection == null) {
  11071. t4 = J.$index$asx(t3, j);
  11072. t5 = J.$index$asx(lengths[i], j0);
  11073. t5 = Math.max(H.checkNum(t4), H.checkNum(t5));
  11074. t4 = t5;
  11075. } else
  11076. t4 = J.$index$asx(lengths[i], j) + 1;
  11077. J.$indexSet$ax(t3, j0, t4);
  11078. }
  11079. return new B.longestCommonSubsequence_backtrack(selections, lengths, $T).call$2(t1.get$length(list1) - 1, t2.get$length(list2) - 1);
  11080. },
  11081. removeFirstWhere: function(list, test, orElse) {
  11082. var toRemove, element,
  11083. t1 = list.length,
  11084. _i = 0;
  11085. while (true) {
  11086. if (!(_i < list.length)) {
  11087. toRemove = null;
  11088. break;
  11089. }
  11090. c$0: {
  11091. element = list[_i];
  11092. if (!test.call$1(element))
  11093. break c$0;
  11094. toRemove = element;
  11095. break;
  11096. }
  11097. list.length === t1 || (0, H.throwConcurrentModificationError)(list);
  11098. ++_i;
  11099. }
  11100. if (toRemove == null)
  11101. return orElse.call$0();
  11102. else {
  11103. C.JSArray_methods.remove$1(list, toRemove);
  11104. return toRemove;
  11105. }
  11106. },
  11107. mapAddAll2: function(destination, source) {
  11108. source.forEach$1(0, new B.mapAddAll2_closure(destination));
  11109. },
  11110. setAll: function(map, keys, value) {
  11111. var t1;
  11112. for (t1 = J.get$iterator$ax(keys); t1.moveNext$0();)
  11113. map.$indexSet(0, t1.get$current(t1), value);
  11114. },
  11115. rotateSlice: function(list, start, end) {
  11116. var i, next,
  11117. element = list.$index(0, end - 1);
  11118. for (i = start; i < end; ++i, element = next) {
  11119. next = list.$index(0, i);
  11120. list.$indexSet(0, i, element);
  11121. }
  11122. },
  11123. mapAsync: function(iterable, callback, $E, $F) {
  11124. return B.mapAsync$body(iterable, callback, $E, $F, [P.Iterable, $F]);
  11125. },
  11126. mapAsync$body: function(iterable, callback, $E, $F, $async$type) {
  11127. var $async$goto = 0,
  11128. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  11129. $async$returnValue, t2, _i, t1, $async$temp1;
  11130. var $async$mapAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  11131. if ($async$errorCode === 1)
  11132. return P._asyncRethrow($async$result, $async$completer);
  11133. while (true)
  11134. switch ($async$goto) {
  11135. case 0:
  11136. // Function start
  11137. t1 = H.setRuntimeTypeInfo([], [$F]);
  11138. t2 = iterable.length, _i = 0;
  11139. case 3:
  11140. // for condition
  11141. if (!(_i < t2)) {
  11142. // goto after for
  11143. $async$goto = 5;
  11144. break;
  11145. }
  11146. $async$temp1 = t1;
  11147. $async$goto = 6;
  11148. return P._asyncAwait(callback.call$1(iterable[_i]), $async$mapAsync);
  11149. case 6:
  11150. // returning from await.
  11151. $async$temp1.push($async$result);
  11152. case 4:
  11153. // for update
  11154. ++_i;
  11155. // goto for condition
  11156. $async$goto = 3;
  11157. break;
  11158. case 5:
  11159. // after for
  11160. $async$returnValue = t1;
  11161. // goto return
  11162. $async$goto = 1;
  11163. break;
  11164. case 1:
  11165. // return
  11166. return P._asyncReturn($async$returnValue, $async$completer);
  11167. }
  11168. });
  11169. return P._asyncStartSync($async$mapAsync, $async$completer);
  11170. },
  11171. putIfAbsentAsync: function(map, key, ifAbsent, $K, $V) {
  11172. return B.putIfAbsentAsync$body(map, key, ifAbsent, $K, $V, $V);
  11173. },
  11174. putIfAbsentAsync$body: function(map, key, ifAbsent, $K, $V, $async$type) {
  11175. var $async$goto = 0,
  11176. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  11177. $async$returnValue, value;
  11178. var $async$putIfAbsentAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  11179. if ($async$errorCode === 1)
  11180. return P._asyncRethrow($async$result, $async$completer);
  11181. while (true)
  11182. switch ($async$goto) {
  11183. case 0:
  11184. // Function start
  11185. if (map.containsKey$1(key)) {
  11186. $async$returnValue = map.$index(0, key);
  11187. // goto return
  11188. $async$goto = 1;
  11189. break;
  11190. }
  11191. $async$goto = 3;
  11192. return P._asyncAwait(ifAbsent.call$0(), $async$putIfAbsentAsync);
  11193. case 3:
  11194. // returning from await.
  11195. value = $async$result;
  11196. map.$indexSet(0, key, value);
  11197. $async$returnValue = value;
  11198. // goto return
  11199. $async$goto = 1;
  11200. break;
  11201. case 1:
  11202. // return
  11203. return P._asyncReturn($async$returnValue, $async$completer);
  11204. }
  11205. });
  11206. return P._asyncStartSync($async$putIfAbsentAsync, $async$completer);
  11207. },
  11208. mapMapAsync: function(map, value, K1, V1, K2, V2) {
  11209. return B.mapMapAsync$body(map, value, K1, V1, K2, V2, [P.Map, K2, V2]);
  11210. },
  11211. mapMapAsync$body: function(map, value, K1, V1, K2, V2, $async$type) {
  11212. var $async$goto = 0,
  11213. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  11214. $async$returnValue, t1, mapKey, mapValue, key, result, $async$temp1, $async$temp2;
  11215. var $async$mapMapAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  11216. if ($async$errorCode === 1)
  11217. return P._asyncRethrow($async$result, $async$completer);
  11218. while (true)
  11219. switch ($async$goto) {
  11220. case 0:
  11221. // Function start
  11222. key = new B.mapMapAsync_closure(K2, K1, V1);
  11223. result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
  11224. t1 = map.get$keys(), t1 = t1.get$iterator(t1);
  11225. case 3:
  11226. // for condition
  11227. if (!t1.moveNext$0()) {
  11228. // goto after for
  11229. $async$goto = 4;
  11230. break;
  11231. }
  11232. mapKey = t1.get$current(t1);
  11233. mapValue = map.$index(0, mapKey);
  11234. $async$temp1 = result;
  11235. $async$goto = 5;
  11236. return P._asyncAwait(key.call$2(mapKey, mapValue), $async$mapMapAsync);
  11237. case 5:
  11238. // returning from await.
  11239. $async$temp2 = $async$result;
  11240. $async$goto = 6;
  11241. return P._asyncAwait(value.call$2(mapKey, mapValue), $async$mapMapAsync);
  11242. case 6:
  11243. // returning from await.
  11244. $async$temp1.$indexSet(0, $async$temp2, $async$result);
  11245. // goto for condition
  11246. $async$goto = 3;
  11247. break;
  11248. case 4:
  11249. // after for
  11250. $async$returnValue = result;
  11251. // goto return
  11252. $async$goto = 1;
  11253. break;
  11254. case 1:
  11255. // return
  11256. return P._asyncReturn($async$returnValue, $async$completer);
  11257. }
  11258. });
  11259. return P._asyncStartSync($async$mapMapAsync, $async$completer);
  11260. },
  11261. copyMapOfMap: function(map, K1, K2, $V) {
  11262. var t1 = [P.Map, K2, $V];
  11263. return Y.mapMap(map, null, new B.copyMapOfMap_closure(K2, $V), K1, t1, K1, t1);
  11264. },
  11265. copyMapOfList: function(map, $K, $E) {
  11266. var t1 = [P.List, $E];
  11267. return Y.mapMap(map, null, new B.copyMapOfList_closure(), $K, t1, $K, t1);
  11268. },
  11269. indent_closure: function indent_closure(t0) {
  11270. this.indentation = t0;
  11271. },
  11272. bulletedList_closure: function bulletedList_closure() {
  11273. },
  11274. flattenVertically_closure: function flattenVertically_closure(t0) {
  11275. this.T = t0;
  11276. },
  11277. flattenVertically_closure0: function flattenVertically_closure0(t0) {
  11278. this.result = t0;
  11279. },
  11280. longestCommonSubsequence_closure: function longestCommonSubsequence_closure(t0) {
  11281. this.T = t0;
  11282. },
  11283. longestCommonSubsequence_closure0: function longestCommonSubsequence_closure0(t0) {
  11284. this.list2 = t0;
  11285. },
  11286. longestCommonSubsequence_closure1: function longestCommonSubsequence_closure1(t0, t1) {
  11287. this.list2 = t0;
  11288. this.T = t1;
  11289. },
  11290. longestCommonSubsequence_backtrack: function longestCommonSubsequence_backtrack(t0, t1, t2) {
  11291. this.selections = t0;
  11292. this.lengths = t1;
  11293. this.T = t2;
  11294. },
  11295. mapAddAll2_closure: function mapAddAll2_closure(t0) {
  11296. this.destination = t0;
  11297. },
  11298. mapMapAsync_closure: function mapMapAsync_closure(t0, t1, t2) {
  11299. this.K2 = t0;
  11300. this.K1 = t1;
  11301. this.V1 = t2;
  11302. },
  11303. copyMapOfMap_closure: function copyMapOfMap_closure(t0, t1) {
  11304. this.K2 = t0;
  11305. this.V = t1;
  11306. },
  11307. copyMapOfList_closure: function copyMapOfList_closure() {
  11308. },
  11309. isAlphabetic: function(char) {
  11310. var t1;
  11311. if (!(char >= 65 && char <= 90))
  11312. t1 = char >= 97 && char <= 122;
  11313. else
  11314. t1 = true;
  11315. return t1;
  11316. },
  11317. isDriveLetter: function(path, index) {
  11318. var t1 = path.length,
  11319. t2 = index + 2;
  11320. if (t1 < t2)
  11321. return false;
  11322. if (!B.isAlphabetic(C.JSString_methods.codeUnitAt$1(path, index)))
  11323. return false;
  11324. if (C.JSString_methods.codeUnitAt$1(path, index + 1) !== 58)
  11325. return false;
  11326. if (t1 === t2)
  11327. return true;
  11328. return C.JSString_methods.codeUnitAt$1(path, t2) === 47;
  11329. },
  11330. countCodeUnits: function(string, codeUnit) {
  11331. var t1, count;
  11332. for (t1 = new H.CodeUnits(string), t1 = new H.ListIterator(t1, t1.get$length(t1)), count = 0; t1.moveNext$0();)
  11333. if (t1.__internal$_current === codeUnit)
  11334. ++count;
  11335. return count;
  11336. },
  11337. findLineStart: function(context, text, column) {
  11338. var beginningOfLine, index, lineStart;
  11339. if (text.length === 0)
  11340. for (beginningOfLine = 0; true;) {
  11341. index = C.JSString_methods.indexOf$2(context, "\n", beginningOfLine);
  11342. if (index === -1)
  11343. return context.length - beginningOfLine >= column ? beginningOfLine : null;
  11344. if (index - beginningOfLine >= column)
  11345. return beginningOfLine;
  11346. beginningOfLine = index + 1;
  11347. }
  11348. index = C.JSString_methods.indexOf$1(context, text);
  11349. for (; index !== -1;) {
  11350. lineStart = index === 0 ? 0 : C.JSString_methods.lastIndexOf$2(context, "\n", index - 1) + 1;
  11351. if (column === index - lineStart)
  11352. return lineStart;
  11353. index = C.JSString_methods.indexOf$2(context, text, index + 1);
  11354. }
  11355. return;
  11356. },
  11357. validateErrorArgs: function(string, match, position, $length) {
  11358. var t2,
  11359. t1 = position != null;
  11360. if (t1)
  11361. if (position < 0)
  11362. throw H.wrapException(P.RangeError$("position must be greater than or equal to 0."));
  11363. else if (position > string.length)
  11364. throw H.wrapException(P.RangeError$("position must be less than or equal to the string length."));
  11365. t2 = $length != null;
  11366. if (t2 && $length < 0)
  11367. throw H.wrapException(P.RangeError$("length must be greater than or equal to 0."));
  11368. if (t1 && t2 && position + $length > string.length)
  11369. throw H.wrapException(P.RangeError$("position plus length must not go beyond the end of the string."));
  11370. }
  11371. },
  11372. O = {
  11373. EmptyUnmodifiableSet__throw: function() {
  11374. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable Set"));
  11375. },
  11376. EmptyUnmodifiableSet: function EmptyUnmodifiableSet(t0) {
  11377. this.$ti = t0;
  11378. },
  11379. Style__getPlatformStyle: function() {
  11380. if (P.Uri_base().get$scheme() !== "file")
  11381. return $.$get$Style_url();
  11382. var t1 = P.Uri_base();
  11383. if (!C.JSString_methods.endsWith$1(t1.get$path(t1), "/"))
  11384. return $.$get$Style_url();
  11385. if (P._Uri__Uri(null, "a/b", null, null).toFilePath$0() === "a\\b")
  11386. return $.$get$Style_windows();
  11387. return $.$get$Style_posix();
  11388. },
  11389. Style: function Style() {
  11390. },
  11391. NullExpression: function NullExpression(t0) {
  11392. this.span = t0;
  11393. },
  11394. Statement: function Statement() {
  11395. },
  11396. AsyncImportCache$none: function(logger) {
  11397. var t1 = logger == null ? C.StderrLogger_false : logger,
  11398. t2 = P.Uri;
  11399. return new O.AsyncImportCache(C.List_empty13, t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t2, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t2, E.ImporterResult));
  11400. },
  11401. AsyncImportCache__toImporters: function(importers, loadPaths, packageResolver) {
  11402. var _i, t2, t3, path, _null = null,
  11403. sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH),
  11404. t1 = H.setRuntimeTypeInfo([], [B.AsyncImporter]);
  11405. for (_i = 0; false; ++_i)
  11406. t1.push(importers[_i]);
  11407. if (loadPaths != null)
  11408. for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
  11409. t3 = t2.get$current(t2);
  11410. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(t3, _null, _null, _null, _null, _null, _null)));
  11411. }
  11412. if (sassPath != null) {
  11413. t2 = sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":");
  11414. t3 = t2.length;
  11415. _i = 0;
  11416. for (; _i < t3; ++_i) {
  11417. path = t2[_i];
  11418. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(path, _null, _null, _null, _null, _null, _null)));
  11419. }
  11420. }
  11421. return t1;
  11422. },
  11423. AsyncImportCache: function AsyncImportCache(t0, t1, t2, t3, t4) {
  11424. var _ = this;
  11425. _._async_import_cache$_importers = t0;
  11426. _._async_import_cache$_logger = t1;
  11427. _._async_import_cache$_canonicalizeCache = t2;
  11428. _._async_import_cache$_importCache = t3;
  11429. _._async_import_cache$_resultsCache = t4;
  11430. },
  11431. AsyncImportCache_canonicalize_closure: function AsyncImportCache_canonicalize_closure(t0, t1) {
  11432. this.$this = t0;
  11433. this.url = t1;
  11434. },
  11435. AsyncImportCache_importCanonical_closure: function AsyncImportCache_importCanonical_closure(t0, t1, t2, t3) {
  11436. var _ = this;
  11437. _.$this = t0;
  11438. _.importer = t1;
  11439. _.canonicalUrl = t2;
  11440. _.originalUrl = t3;
  11441. },
  11442. AsyncImportCache_humanize_closure: function AsyncImportCache_humanize_closure(t0) {
  11443. this.canonicalUrl = t0;
  11444. },
  11445. AsyncImportCache_humanize_closure0: function AsyncImportCache_humanize_closure0() {
  11446. },
  11447. AsyncImportCache_humanize_closure1: function AsyncImportCache_humanize_closure1() {
  11448. },
  11449. Environment$: function(sourceMap) {
  11450. var _null = null,
  11451. t1 = P.String,
  11452. t2 = [G.Module, D.Callable],
  11453. t3 = H.setRuntimeTypeInfo([], [t2]),
  11454. t4 = H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, F.Value)], [[P.Map, P.String, F.Value]]),
  11455. t5 = sourceMap ? H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AstNode)], [[P.Map, P.String, B.AstNode]]) : _null,
  11456. t6 = P.int,
  11457. t7 = D.Callable,
  11458. t8 = [[P.Map, P.String, D.Callable]];
  11459. return new O.Environment(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _null, _null, t3, t4, t5, P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t7)], t8), P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t7)], t8), P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), _null);
  11460. },
  11461. Environment$_: function(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
  11462. var t1 = P.String,
  11463. t2 = P.int;
  11464. return new O.Environment(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
  11465. },
  11466. _EnvironmentModule__EnvironmentModule: function(environment, css, extender, forwarded) {
  11467. var t1, t2, t3, t4, t5, t6;
  11468. if (forwarded == null)
  11469. forwarded = C.List_empty0;
  11470. t1 = O._EnvironmentModule__makeModulesByVariable(forwarded);
  11471. t2 = H.getTypeArgumentByIndex(forwarded, 0);
  11472. t3 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._variables), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure(), [t2, [P.Map, P.String, F.Value]]), F.Value);
  11473. t4 = environment._variableNodes;
  11474. t4 = t4 == null ? null : O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(t4), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure0(), [t2, [P.Map, P.String, B.AstNode]]), B.AstNode);
  11475. t2 = [t2, [P.Map, P.String, D.Callable]];
  11476. t5 = D.Callable;
  11477. t6 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._functions), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure1(), t2), t5);
  11478. t5 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._mixins), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure2(), t2), t5);
  11479. t2 = J.get$isNotEmpty$asx(css.get$children()) || C.JSArray_methods.any$1(environment._allModules, new O._EnvironmentModule__EnvironmentModule_closure3());
  11480. return O._EnvironmentModule$_(environment, css, extender, t1, t3, t4, t6, t5, t2, !extender.get$isEmpty(extender) || C.JSArray_methods.any$1(environment._allModules, new O._EnvironmentModule__EnvironmentModule_closure4()));
  11481. },
  11482. _EnvironmentModule__makeModulesByVariable: function(forwarded) {
  11483. var modulesByVariable, _i, module,
  11484. t1 = forwarded.length;
  11485. if (t1 === 0)
  11486. return C.Map_empty0;
  11487. modulesByVariable = P.LinkedHashMap_LinkedHashMap$_empty(P.String, [G.Module, D.Callable]);
  11488. for (_i = 0; _i < forwarded.length; forwarded.length === t1 || (0, H.throwConcurrentModificationError)(forwarded), ++_i) {
  11489. module = forwarded[_i];
  11490. B.setAll(modulesByVariable, module.variables.get$keys(), module);
  11491. }
  11492. return modulesByVariable;
  11493. },
  11494. _EnvironmentModule__memberMap: function(localMap, otherMaps, $V) {
  11495. var t1, t2, t3;
  11496. localMap = new U.PublicMemberMapView(localMap, [$V]);
  11497. if (otherMaps.get$length(otherMaps) === 0)
  11498. return localMap;
  11499. t1 = H.setRuntimeTypeInfo([], [[P.Map, P.String, $V]]);
  11500. for (t2 = new H.ListIterator(otherMaps, otherMaps.get$length(otherMaps)); t2.moveNext$0();) {
  11501. t3 = t2.__internal$_current;
  11502. if (t3.get$isNotEmpty(t3))
  11503. t1.push(t3);
  11504. }
  11505. t1.push(localMap);
  11506. if (t1.length === 1)
  11507. return localMap;
  11508. return Z.MergedMapView$(t1, P.String, $V);
  11509. },
  11510. _EnvironmentModule$_: function(_environment, css, extender, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
  11511. return new O._EnvironmentModule(_environment._allModules, variables, variableNodes, functions, mixins, extender, css, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
  11512. },
  11513. Environment: function Environment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  11514. var _ = this;
  11515. _._environment$_modules = t0;
  11516. _._globalModules = t1;
  11517. _._forwardedModules = t2;
  11518. _._allModules = t3;
  11519. _._variables = t4;
  11520. _._variableNodes = t5;
  11521. _._variableIndices = t6;
  11522. _._functions = t7;
  11523. _._functionIndices = t8;
  11524. _._mixins = t9;
  11525. _._mixinIndices = t10;
  11526. _._content = t11;
  11527. _._inMixin = false;
  11528. _._inSemiGlobalScope = true;
  11529. _._lastVariableIndex = _._lastVariableName = null;
  11530. },
  11531. Environment__getVariableFromGlobalModule_closure: function Environment__getVariableFromGlobalModule_closure(t0) {
  11532. this.name = t0;
  11533. },
  11534. Environment_setVariable_closure: function Environment_setVariable_closure(t0, t1) {
  11535. this.$this = t0;
  11536. this.name = t1;
  11537. },
  11538. Environment_setVariable_closure0: function Environment_setVariable_closure0(t0) {
  11539. this.name = t0;
  11540. },
  11541. Environment_setVariable_closure1: function Environment_setVariable_closure1(t0, t1) {
  11542. this.$this = t0;
  11543. this.name = t1;
  11544. },
  11545. Environment__getFunctionFromGlobalModule_closure: function Environment__getFunctionFromGlobalModule_closure(t0) {
  11546. this.name = t0;
  11547. },
  11548. Environment__getMixinFromGlobalModule_closure: function Environment__getMixinFromGlobalModule_closure(t0) {
  11549. this.name = t0;
  11550. },
  11551. Environment__fromOneModule_closure: function Environment__fromOneModule_closure(t0) {
  11552. this.callback = t0;
  11553. },
  11554. Environment__fromOneModule_closure0: function Environment__fromOneModule_closure0() {
  11555. },
  11556. _EnvironmentModule: function _EnvironmentModule(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
  11557. var _ = this;
  11558. _.upstream = t0;
  11559. _.variables = t1;
  11560. _.variableNodes = t2;
  11561. _.functions = t3;
  11562. _.mixins = t4;
  11563. _.extender = t5;
  11564. _.css = t6;
  11565. _.transitivelyContainsCss = t7;
  11566. _.transitivelyContainsExtensions = t8;
  11567. _._environment = t9;
  11568. _._modulesByVariable = t10;
  11569. },
  11570. _EnvironmentModule__EnvironmentModule_closure: function _EnvironmentModule__EnvironmentModule_closure() {
  11571. },
  11572. _EnvironmentModule__EnvironmentModule_closure0: function _EnvironmentModule__EnvironmentModule_closure0() {
  11573. },
  11574. _EnvironmentModule__EnvironmentModule_closure1: function _EnvironmentModule__EnvironmentModule_closure1() {
  11575. },
  11576. _EnvironmentModule__EnvironmentModule_closure2: function _EnvironmentModule__EnvironmentModule_closure2() {
  11577. },
  11578. _EnvironmentModule__EnvironmentModule_closure3: function _EnvironmentModule__EnvironmentModule_closure3() {
  11579. },
  11580. _EnvironmentModule__EnvironmentModule_closure4: function _EnvironmentModule__EnvironmentModule_closure4() {
  11581. },
  11582. closure104: function closure104() {
  11583. },
  11584. _closure13: function _closure13() {
  11585. },
  11586. _closure14: function _closure14() {
  11587. },
  11588. SassNull: function SassNull() {
  11589. }
  11590. },
  11591. U = {DefaultEquality: function DefaultEquality() {
  11592. }, ListEquality: function ListEquality() {
  11593. }, _MapEntry: function _MapEntry(t0, t1, t2) {
  11594. this.equality = t0;
  11595. this.key = t1;
  11596. this.value = t2;
  11597. }, MapEquality: function MapEquality() {
  11598. }, ModifiableCssAtRule: function ModifiableCssAtRule(t0, t1, t2, t3, t4, t5) {
  11599. var _ = this;
  11600. _.name = t0;
  11601. _.value = t1;
  11602. _.isChildless = t2;
  11603. _.span = t3;
  11604. _.children = t4;
  11605. _._children = t5;
  11606. _._indexInParent = _._parent = null;
  11607. _.isGroupEnd = false;
  11608. }, ModifiableCssKeyframeBlock: function ModifiableCssKeyframeBlock(t0, t1, t2, t3) {
  11609. var _ = this;
  11610. _.selector = t0;
  11611. _.span = t1;
  11612. _.children = t2;
  11613. _._children = t3;
  11614. _._indexInParent = _._parent = null;
  11615. _.isGroupEnd = false;
  11616. },
  11617. AtRule$: function($name, span, children, value) {
  11618. var t1 = children == null ? null : P.List_List$unmodifiable(children, O.Statement),
  11619. t2 = t1 == null ? null : C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  11620. return new U.AtRule($name, value, span, t1, t2 === true);
  11621. },
  11622. AtRule: function AtRule(t0, t1, t2, t3, t4) {
  11623. var _ = this;
  11624. _.name = t0;
  11625. _.value = t1;
  11626. _.span = t2;
  11627. _.children = t3;
  11628. _.hasDeclarations = t4;
  11629. },
  11630. SupportsOperation: function SupportsOperation(t0, t1, t2, t3) {
  11631. var _ = this;
  11632. _.left = t0;
  11633. _.right = t1;
  11634. _.operator = t2;
  11635. _.span = t3;
  11636. },
  11637. compile: function(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces) {
  11638. var t1, t2, stylesheet;
  11639. if (nodeImporter == null)
  11640. t1 = syntax == null || syntax === M.Syntax_forPath(path);
  11641. else
  11642. t1 = false;
  11643. if (t1) {
  11644. if (importCache == null)
  11645. importCache = R.ImportCache$none(logger);
  11646. t1 = D.absolute(".");
  11647. t2 = $.$get$context();
  11648. stylesheet = importCache.importCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path));
  11649. } else {
  11650. t1 = B.readFile(path);
  11651. t2 = syntax == null ? M.Syntax_forPath(path) : syntax;
  11652. stylesheet = V.Stylesheet_Stylesheet$parse(t1, t2, logger, $.$get$context().toUri$1(path));
  11653. }
  11654. return U._compileStylesheet(stylesheet, logger, importCache, nodeImporter, new F.FilesystemImporter(D.absolute(".")), functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset);
  11655. },
  11656. compileString: function(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces) {
  11657. var stylesheet = V.Stylesheet_Stylesheet$parse(source, syntax == null ? C.Syntax_SCSS : syntax, logger, url);
  11658. return U._compileStylesheet(stylesheet, logger, importCache, nodeImporter, importer == null ? new F.FilesystemImporter(D.absolute(".")) : importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset);
  11659. },
  11660. _compileStylesheet: function(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset) {
  11661. var evaluateResult = R._EvaluateVisitor$(functions, importCache, logger, nodeImporter, sourceMap).run$2(0, importer, stylesheet),
  11662. serializeResult = N.serialize(evaluateResult.stylesheet, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces),
  11663. t1 = serializeResult.sourceMap;
  11664. if (t1 != null && importCache != null)
  11665. B.mapInPlace(t1.urls, new U._compileStylesheet_closure(stylesheet, importCache));
  11666. return new X.CompileResult(evaluateResult, serializeResult);
  11667. },
  11668. _compileStylesheet_closure: function _compileStylesheet_closure(t0, t1) {
  11669. this.stylesheet = t0;
  11670. this.importCache = t1;
  11671. },
  11672. RenderResult: function RenderResult() {
  11673. },
  11674. RenderResultStats: function RenderResultStats() {
  11675. },
  11676. SassParser: function SassParser(t0, t1, t2) {
  11677. var _ = this;
  11678. _._currentIndentation = 0;
  11679. _._spaces = _._nextIndentationEnd = _._nextIndentation = null;
  11680. _._isUseAllowed = true;
  11681. _._stylesheet$_inMixin = false;
  11682. _._mixinHasContent = null;
  11683. _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false;
  11684. _._globalVariables = t0;
  11685. _.lastSilentComment = null;
  11686. _.scanner = t1;
  11687. _.logger = t2;
  11688. },
  11689. SassParser_children_closure: function SassParser_children_closure(t0, t1, t2) {
  11690. this.$this = t0;
  11691. this.children = t1;
  11692. this.child = t2;
  11693. },
  11694. MultiDirWatcher: function MultiDirWatcher(t0, t1, t2) {
  11695. this._watchers = t0;
  11696. this._group = t1;
  11697. this._poll = t2;
  11698. },
  11699. PublicMemberMapView: function PublicMemberMapView(t0, t1) {
  11700. this._inner = t0;
  11701. this.$ti = t1;
  11702. },
  11703. Highlighter__normalizeNewlines: function(span) {
  11704. var endOffset, t1, i, t2, t3, t4,
  11705. text = span.get$text();
  11706. if (!C.JSString_methods.contains$1(text, "\r\n"))
  11707. return span;
  11708. endOffset = span.get$end(span).get$offset();
  11709. for (t1 = text.length - 1, i = 0; i < t1; ++i)
  11710. if (C.JSString_methods._codeUnitAt$1(text, i) === 13 && C.JSString_methods._codeUnitAt$1(text, i + 1) === 10)
  11711. --endOffset;
  11712. t1 = span.get$start(span);
  11713. t2 = span.get$sourceUrl();
  11714. t3 = span.get$end(span).get$line();
  11715. t2 = V.SourceLocation$(endOffset, span.get$end(span).get$column(), t3, t2);
  11716. t3 = H.stringReplaceAllUnchecked(text, "\r\n", "\n");
  11717. t4 = span.get$context(span);
  11718. return X.SourceSpanWithContext$(t1, t2, t3, H.stringReplaceAllUnchecked(t4, "\r\n", "\n"));
  11719. },
  11720. Highlighter__normalizeTrailingNewline: function(span) {
  11721. var context, text, start, end, t1, t2, t3;
  11722. if (!C.JSString_methods.endsWith$1(span.get$context(span), "\n"))
  11723. return span;
  11724. if (C.JSString_methods.endsWith$1(span.get$text(), "\n\n"))
  11725. return span;
  11726. context = C.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1);
  11727. text = span.get$text();
  11728. start = span.get$start(span);
  11729. end = span.get$end(span);
  11730. if (C.JSString_methods.endsWith$1(span.get$text(), "\n") && B.findLineStart(span.get$context(span), span.get$text(), span.get$start(span).get$column()) + span.get$start(span).get$column() + span.get$length(span) === span.get$context(span).length) {
  11731. text = C.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1);
  11732. t1 = span.get$end(span).get$offset();
  11733. t2 = span.get$sourceUrl();
  11734. t3 = span.get$end(span).get$line();
  11735. end = V.SourceLocation$(t1 - 1, U.Highlighter__lastLineLength(text), t3 - 1, t2);
  11736. start = span.get$start(span).get$offset() == span.get$end(span).get$offset() ? end : span.get$start(span);
  11737. }
  11738. return X.SourceSpanWithContext$(start, end, text, context);
  11739. },
  11740. Highlighter__normalizeEndOfLine: function(span) {
  11741. var text, t1, t2, t3, t4;
  11742. if (span.get$end(span).get$column() !== 0)
  11743. return span;
  11744. if (span.get$end(span).get$line() == span.get$start(span).get$line())
  11745. return span;
  11746. text = C.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1);
  11747. t1 = span.get$start(span);
  11748. t2 = span.get$end(span).get$offset();
  11749. t3 = span.get$sourceUrl();
  11750. t4 = span.get$end(span).get$line();
  11751. return X.SourceSpanWithContext$(t1, V.SourceLocation$(t2 - 1, U.Highlighter__lastLineLength(text), t4 - 1, t3), text, span.get$context(span));
  11752. },
  11753. Highlighter__lastLineLength: function(text) {
  11754. var t1 = text.length;
  11755. if (t1 === 0)
  11756. return 0;
  11757. if (C.JSString_methods.codeUnitAt$1(text, t1 - 1) === 10)
  11758. return t1 === 1 ? 0 : t1 - C.JSString_methods.lastIndexOf$2(text, "\n", t1 - 2) - 1;
  11759. else
  11760. return t1 - C.JSString_methods.lastIndexOf$1(text, "\n") - 1;
  11761. },
  11762. Highlighter: function Highlighter(t0, t1, t2, t3, t4) {
  11763. var _ = this;
  11764. _._highlighter$_span = t0;
  11765. _._color = t1;
  11766. _._multiline = t2;
  11767. _._paddingBeforeSidebar = t3;
  11768. _._highlighter$_buffer = t4;
  11769. },
  11770. Highlighter__writeFirstLine_closure: function Highlighter__writeFirstLine_closure(t0, t1) {
  11771. this.$this = t0;
  11772. this.line = t1;
  11773. },
  11774. Highlighter__writeFirstLine_closure0: function Highlighter__writeFirstLine_closure0(t0, t1) {
  11775. this.$this = t0;
  11776. this.textInside = t1;
  11777. },
  11778. Highlighter__writeFirstLine_closure1: function Highlighter__writeFirstLine_closure1(t0, t1) {
  11779. this._box_0 = t0;
  11780. this.$this = t1;
  11781. },
  11782. Highlighter__writeFirstLine_closure2: function Highlighter__writeFirstLine_closure2(t0, t1) {
  11783. this._box_0 = t0;
  11784. this.$this = t1;
  11785. },
  11786. Highlighter__writeIntermediateLines_closure: function Highlighter__writeIntermediateLines_closure(t0, t1) {
  11787. this.$this = t0;
  11788. this.line = t1;
  11789. },
  11790. Highlighter__writeLastLine_closure: function Highlighter__writeLastLine_closure(t0, t1) {
  11791. this.$this = t0;
  11792. this.line = t1;
  11793. },
  11794. Highlighter__writeLastLine_closure0: function Highlighter__writeLastLine_closure0(t0, t1) {
  11795. this.$this = t0;
  11796. this.textInside = t1;
  11797. },
  11798. Highlighter__writeLastLine_closure1: function Highlighter__writeLastLine_closure1(t0, t1) {
  11799. this._box_0 = t0;
  11800. this.$this = t1;
  11801. },
  11802. Highlighter__writeSidebar_closure: function Highlighter__writeSidebar_closure(t0, t1, t2) {
  11803. this.$this = t0;
  11804. this.line = t1;
  11805. this.end = t2;
  11806. },
  11807. Chain_Chain$parse: function(chain) {
  11808. var t1, t2,
  11809. _s26_ = "<asynchronous suspension>\n",
  11810. _s51_ = "===== asynchronous gap ===========================\n";
  11811. if (chain.length === 0) {
  11812. t1 = Y.Trace;
  11813. return new U.Chain(P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [t1]), t1));
  11814. }
  11815. if (C.JSString_methods.contains$1(chain, _s26_)) {
  11816. t1 = H.setRuntimeTypeInfo(chain.split(_s26_), [P.String]);
  11817. t2 = Y.Trace;
  11818. return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(t1, new U.Chain_Chain$parse_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2));
  11819. }
  11820. if (!C.JSString_methods.contains$1(chain, _s51_)) {
  11821. t1 = Y.Trace;
  11822. return new U.Chain(P.List_List$unmodifiable(H.setRuntimeTypeInfo([Y.Trace_Trace$parse(chain)], [t1]), t1));
  11823. }
  11824. t1 = H.setRuntimeTypeInfo(chain.split(_s51_), [P.String]);
  11825. t2 = Y.Trace;
  11826. return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(t1, new U.Chain_Chain$parse_closure0(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2));
  11827. },
  11828. Chain: function Chain(t0) {
  11829. this.traces = t0;
  11830. },
  11831. Chain_Chain$parse_closure: function Chain_Chain$parse_closure() {
  11832. },
  11833. Chain_Chain$parse_closure0: function Chain_Chain$parse_closure0() {
  11834. },
  11835. Chain_toTrace_closure: function Chain_toTrace_closure() {
  11836. },
  11837. Chain_toString_closure0: function Chain_toString_closure0() {
  11838. },
  11839. Chain_toString__closure0: function Chain_toString__closure0() {
  11840. },
  11841. Chain_toString_closure: function Chain_toString_closure(t0) {
  11842. this.longest = t0;
  11843. },
  11844. Chain_toString__closure: function Chain_toString__closure(t0) {
  11845. this.longest = t0;
  11846. }
  11847. },
  11848. M = {_DelegatingIterableBase: function _DelegatingIterableBase() {
  11849. }, DelegatingIterable: function DelegatingIterable() {
  11850. }, DelegatingSet: function DelegatingSet(t0, t1) {
  11851. this._base = t0;
  11852. this.$ti = t1;
  11853. }, MapKeySet: function MapKeySet(t0, t1) {
  11854. this._baseMap = t0;
  11855. this.$ti = t1;
  11856. }, _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin: function _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin() {
  11857. },
  11858. Context_Context: function(style) {
  11859. var current = style == null ? D.current() : ".";
  11860. if (style == null)
  11861. style = $.$get$Style_platform();
  11862. return new M.Context(style, current);
  11863. },
  11864. _parseUri: function(uri) {
  11865. if (typeof uri === "string")
  11866. return P.Uri_parse(uri);
  11867. if (!!J.getInterceptor$(uri).$isUri)
  11868. return uri;
  11869. throw H.wrapException(P.ArgumentError$value(uri, "uri", "Value must be a String or a Uri"));
  11870. },
  11871. _validateArgList: function(method, args) {
  11872. var numArgs, i, numArgs0, message, t1, t2;
  11873. for (numArgs = args.length, i = 1; i < numArgs; ++i) {
  11874. if (args[i] == null || args[i - 1] != null)
  11875. continue;
  11876. for (; numArgs >= 1; numArgs = numArgs0) {
  11877. numArgs0 = numArgs - 1;
  11878. if (args[numArgs0] != null)
  11879. break;
  11880. }
  11881. message = new P.StringBuffer("");
  11882. t1 = method + "(";
  11883. message._contents = t1;
  11884. t2 = H.SubListIterable$(args, 0, numArgs, H.getTypeArgumentByIndex(args, 0));
  11885. t2 = t1 + new H.MappedListIterable(t2, new M._validateArgList_closure(), [H.getTypeArgumentByIndex(t2, 0), P.String]).join$1(0, ", ");
  11886. message._contents = t2;
  11887. message._contents = t2 + ("): part " + (i - 1) + " was null, but part " + i + " was not.");
  11888. throw H.wrapException(P.ArgumentError$(message.toString$0(0)));
  11889. }
  11890. },
  11891. Context: function Context(t0, t1) {
  11892. this.style = t0;
  11893. this._context$_current = t1;
  11894. },
  11895. Context_join_closure: function Context_join_closure() {
  11896. },
  11897. Context_joinAll_closure: function Context_joinAll_closure() {
  11898. },
  11899. Context_split_closure: function Context_split_closure() {
  11900. },
  11901. _validateArgList_closure: function _validateArgList_closure() {
  11902. },
  11903. _PathDirection: function _PathDirection(t0) {
  11904. this.name = t0;
  11905. },
  11906. _PathRelation: function _PathRelation(t0) {
  11907. this.name = t0;
  11908. },
  11909. CallableDeclaration: function CallableDeclaration() {
  11910. },
  11911. FunctionRule: function FunctionRule(t0, t1, t2, t3, t4) {
  11912. var _ = this;
  11913. _.name = t0;
  11914. _.$arguments = t1;
  11915. _.span = t2;
  11916. _.children = t3;
  11917. _.hasDeclarations = t4;
  11918. },
  11919. ParentStatement: function ParentStatement() {
  11920. },
  11921. ParentStatement_closure: function ParentStatement_closure() {
  11922. },
  11923. SupportsNegation: function SupportsNegation(t0, t1) {
  11924. this.condition = t0;
  11925. this.span = t1;
  11926. },
  11927. ParentSelector: function ParentSelector(t0) {
  11928. this.suffix = t0;
  11929. },
  11930. SimpleSelector: function SimpleSelector() {
  11931. },
  11932. Importer: function Importer() {
  11933. },
  11934. StylesheetNode$_: function(_stylesheet, importer, canonicalUrl, _upstream) {
  11935. var t1 = new M.StylesheetNode(importer, canonicalUrl, _upstream, P.LinkedHashSet_LinkedHashSet(M.StylesheetNode));
  11936. t1.StylesheetNode$_$4(_stylesheet, importer, canonicalUrl, _upstream);
  11937. return t1;
  11938. },
  11939. StylesheetGraph: function StylesheetGraph(t0, t1, t2) {
  11940. this._nodes = t0;
  11941. this.importCache = t1;
  11942. this._transitiveModificationTimes = t2;
  11943. },
  11944. StylesheetGraph_modifiedSince_transitiveModificationTime: function StylesheetGraph_modifiedSince_transitiveModificationTime(t0) {
  11945. this.$this = t0;
  11946. },
  11947. StylesheetGraph_modifiedSince_transitiveModificationTime_closure: function StylesheetGraph_modifiedSince_transitiveModificationTime_closure(t0, t1) {
  11948. this.node = t0;
  11949. this.transitiveModificationTime = t1;
  11950. },
  11951. StylesheetGraph__add_closure: function StylesheetGraph__add_closure(t0, t1, t2, t3) {
  11952. var _ = this;
  11953. _.$this = t0;
  11954. _.url = t1;
  11955. _.baseImporter = t2;
  11956. _.baseUrl = t3;
  11957. },
  11958. StylesheetGraph_addCanonical_closure: function StylesheetGraph_addCanonical_closure(t0, t1, t2, t3) {
  11959. var _ = this;
  11960. _.$this = t0;
  11961. _.importer = t1;
  11962. _.canonicalUrl = t2;
  11963. _.originalUrl = t3;
  11964. },
  11965. StylesheetGraph_addCanonical_closure0: function StylesheetGraph_addCanonical_closure0(t0, t1, t2, t3) {
  11966. var _ = this;
  11967. _.$this = t0;
  11968. _.stylesheet = t1;
  11969. _.importer = t2;
  11970. _.canonicalUrl = t3;
  11971. },
  11972. StylesheetGraph__upstreamNodes_closure: function StylesheetGraph__upstreamNodes_closure() {
  11973. },
  11974. StylesheetGraph_reload_closure: function StylesheetGraph_reload_closure(t0, t1, t2) {
  11975. this.$this = t0;
  11976. this.node = t1;
  11977. this.canonicalUrl = t2;
  11978. },
  11979. StylesheetGraph__nodeFor_closure: function StylesheetGraph__nodeFor_closure(t0, t1, t2, t3) {
  11980. var _ = this;
  11981. _.$this = t0;
  11982. _.url = t1;
  11983. _.baseImporter = t2;
  11984. _.baseUrl = t3;
  11985. },
  11986. StylesheetGraph__nodeFor_closure0: function StylesheetGraph__nodeFor_closure0(t0, t1, t2, t3) {
  11987. var _ = this;
  11988. _.$this = t0;
  11989. _.importer = t1;
  11990. _.canonicalUrl = t2;
  11991. _.resolvedUrl = t3;
  11992. },
  11993. StylesheetNode: function StylesheetNode(t0, t1, t2, t3) {
  11994. var _ = this;
  11995. _.importer = t0;
  11996. _.canonicalUrl = t1;
  11997. _._upstream = t2;
  11998. _._downstream = t3;
  11999. },
  12000. Syntax_forPath: function(path) {
  12001. switch (X.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$0()[1]) {
  12002. case ".sass":
  12003. return C.Syntax_Sass;
  12004. case ".css":
  12005. return C.Syntax_CSS;
  12006. default:
  12007. return C.Syntax_SCSS;
  12008. }
  12009. },
  12010. Syntax: function Syntax(t0) {
  12011. this._name = t0;
  12012. }
  12013. },
  12014. X = {
  12015. ParsedPath_ParsedPath$parse: function(path, style) {
  12016. var t1, parts, separators, start, i,
  12017. root = style.getRoot$1(path),
  12018. isRootRelative = style.isRootRelative$1(path);
  12019. if (root != null)
  12020. path = J.substring$1$s(path, root.length);
  12021. t1 = [P.String];
  12022. parts = H.setRuntimeTypeInfo([], t1);
  12023. separators = H.setRuntimeTypeInfo([], t1);
  12024. t1 = path.length;
  12025. if (t1 !== 0 && style.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, 0))) {
  12026. separators.push(path[0]);
  12027. start = 1;
  12028. } else {
  12029. separators.push("");
  12030. start = 0;
  12031. }
  12032. for (i = start; i < t1; ++i)
  12033. if (style.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, i))) {
  12034. parts.push(C.JSString_methods.substring$2(path, start, i));
  12035. separators.push(path[i]);
  12036. start = i + 1;
  12037. }
  12038. if (start < t1) {
  12039. parts.push(C.JSString_methods.substring$1(path, start));
  12040. separators.push("");
  12041. }
  12042. return new X.ParsedPath(style, root, isRootRelative, parts, separators);
  12043. },
  12044. ParsedPath: function ParsedPath(t0, t1, t2, t3, t4) {
  12045. var _ = this;
  12046. _.style = t0;
  12047. _.root = t1;
  12048. _.isRootRelative = t2;
  12049. _.parts = t3;
  12050. _.separators = t4;
  12051. },
  12052. ParsedPath_normalize_closure: function ParsedPath_normalize_closure(t0) {
  12053. this.$this = t0;
  12054. },
  12055. ParsedPath__splitExtension_closure: function ParsedPath__splitExtension_closure() {
  12056. },
  12057. ParsedPath__splitExtension_closure0: function ParsedPath__splitExtension_closure0() {
  12058. },
  12059. PathException$: function(message) {
  12060. return new X.PathException(message);
  12061. },
  12062. PathException: function PathException(t0) {
  12063. this.message = t0;
  12064. },
  12065. ModifiableCssStyleRule$: function(selector, span, originalSelector) {
  12066. var t1 = originalSelector == null ? selector.value : originalSelector,
  12067. t2 = B.ModifiableCssNode,
  12068. t3 = H.setRuntimeTypeInfo([], [t2]);
  12069. return new X.ModifiableCssStyleRule(selector, t1, span, new P.UnmodifiableListView(t3, [t2]), t3);
  12070. },
  12071. ModifiableCssStyleRule: function ModifiableCssStyleRule(t0, t1, t2, t3, t4) {
  12072. var _ = this;
  12073. _.selector = t0;
  12074. _.originalSelector = t1;
  12075. _.span = t2;
  12076. _.children = t3;
  12077. _._children = t4;
  12078. _._indexInParent = _._parent = null;
  12079. _.isGroupEnd = false;
  12080. },
  12081. ArgumentInvocation$: function(positional, named, span, keywordRest, rest) {
  12082. var t1 = T.Expression;
  12083. return new X.ArgumentInvocation(P.List_List$unmodifiable(positional, t1), H.ConstantMap_ConstantMap$from(named, P.String, t1), rest, keywordRest, span);
  12084. },
  12085. ArgumentInvocation: function ArgumentInvocation(t0, t1, t2, t3, t4) {
  12086. var _ = this;
  12087. _.positional = t0;
  12088. _.named = t1;
  12089. _.rest = t2;
  12090. _.keywordRest = t3;
  12091. _.span = t4;
  12092. },
  12093. UnaryOperationExpression: function UnaryOperationExpression(t0, t1, t2) {
  12094. this.operator = t0;
  12095. this.operand = t1;
  12096. this.span = t2;
  12097. },
  12098. UnaryOperator: function UnaryOperator(t0, t1) {
  12099. this.name = t0;
  12100. this.operator = t1;
  12101. },
  12102. Interpolation$: function(contents, span) {
  12103. var t1 = new X.Interpolation(P.List_List$unmodifiable(contents, P.Object), span);
  12104. t1.Interpolation$2(contents, span);
  12105. return t1;
  12106. },
  12107. Interpolation: function Interpolation(t0, t1) {
  12108. this.contents = t0;
  12109. this.span = t1;
  12110. },
  12111. Interpolation_toString_closure: function Interpolation_toString_closure() {
  12112. },
  12113. ExtendRule: function ExtendRule(t0, t1, t2) {
  12114. this.selector = t0;
  12115. this.isOptional = t1;
  12116. this.span = t2;
  12117. },
  12118. StyleRule: function StyleRule(t0, t1, t2, t3) {
  12119. var _ = this;
  12120. _.selector = t0;
  12121. _.span = t1;
  12122. _.children = t2;
  12123. _.hasDeclarations = t3;
  12124. },
  12125. SupportsInterpolation: function SupportsInterpolation(t0, t1) {
  12126. this.expression = t0;
  12127. this.span = t1;
  12128. },
  12129. ClassSelector: function ClassSelector(t0) {
  12130. this.name = t0;
  12131. },
  12132. CompoundSelector$: function(components) {
  12133. var t1 = P.List_List$unmodifiable(components, M.SimpleSelector);
  12134. if (t1.length === 0)
  12135. H.throwExpression(P.ArgumentError$("components may not be empty."));
  12136. return new X.CompoundSelector(t1);
  12137. },
  12138. CompoundSelector: function CompoundSelector(t0) {
  12139. this.components = t0;
  12140. this._compound$_maxSpecificity = this._compound$_minSpecificity = null;
  12141. },
  12142. CompoundSelector_isInvisible_closure: function CompoundSelector_isInvisible_closure() {
  12143. },
  12144. compileAsync: function(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces) {
  12145. var $async$goto = 0,
  12146. $async$completer = P._makeAsyncAwaitCompleter(X.CompileResult),
  12147. $async$returnValue, t1, t2, stylesheet;
  12148. var $async$compileAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  12149. if ($async$errorCode === 1)
  12150. return P._asyncRethrow($async$result, $async$completer);
  12151. while (true)
  12152. switch ($async$goto) {
  12153. case 0:
  12154. // Function start
  12155. if (nodeImporter == null)
  12156. t1 = syntax == null || syntax === M.Syntax_forPath(path);
  12157. else
  12158. t1 = false;
  12159. $async$goto = t1 ? 3 : 5;
  12160. break;
  12161. case 3:
  12162. // then
  12163. if (importCache == null)
  12164. importCache = O.AsyncImportCache$none(logger);
  12165. t1 = D.absolute(".");
  12166. t2 = $.$get$context();
  12167. $async$goto = 6;
  12168. return P._asyncAwait(importCache.importCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path)), $async$compileAsync);
  12169. case 6:
  12170. // returning from await.
  12171. stylesheet = $async$result;
  12172. // goto join
  12173. $async$goto = 4;
  12174. break;
  12175. case 5:
  12176. // else
  12177. t1 = B.readFile(path);
  12178. t2 = syntax == null ? M.Syntax_forPath(path) : syntax;
  12179. stylesheet = V.Stylesheet_Stylesheet$parse(t1, t2, logger, $.$get$context().toUri$1(path));
  12180. case 4:
  12181. // join
  12182. $async$goto = 7;
  12183. return P._asyncAwait(X._compileStylesheet0(stylesheet, logger, importCache, nodeImporter, new F.FilesystemImporter(D.absolute(".")), functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset), $async$compileAsync);
  12184. case 7:
  12185. // returning from await.
  12186. $async$returnValue = $async$result;
  12187. // goto return
  12188. $async$goto = 1;
  12189. break;
  12190. case 1:
  12191. // return
  12192. return P._asyncReturn($async$returnValue, $async$completer);
  12193. }
  12194. });
  12195. return P._asyncStartSync($async$compileAsync, $async$completer);
  12196. },
  12197. compileStringAsync: function(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces) {
  12198. var $async$goto = 0,
  12199. $async$completer = P._makeAsyncAwaitCompleter(X.CompileResult),
  12200. $async$returnValue, stylesheet;
  12201. var $async$compileStringAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  12202. if ($async$errorCode === 1)
  12203. return P._asyncRethrow($async$result, $async$completer);
  12204. while (true)
  12205. switch ($async$goto) {
  12206. case 0:
  12207. // Function start
  12208. stylesheet = V.Stylesheet_Stylesheet$parse(source, syntax == null ? C.Syntax_SCSS : syntax, logger, url);
  12209. $async$returnValue = X._compileStylesheet0(stylesheet, logger, importCache, nodeImporter, importer == null ? new F.FilesystemImporter(D.absolute(".")) : importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset);
  12210. // goto return
  12211. $async$goto = 1;
  12212. break;
  12213. case 1:
  12214. // return
  12215. return P._asyncReturn($async$returnValue, $async$completer);
  12216. }
  12217. });
  12218. return P._asyncStartSync($async$compileStringAsync, $async$completer);
  12219. },
  12220. _compileStylesheet0: function(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset) {
  12221. var $async$goto = 0,
  12222. $async$completer = P._makeAsyncAwaitCompleter(X.CompileResult),
  12223. $async$returnValue, evaluateResult, serializeResult, t1;
  12224. var $async$_compileStylesheet0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  12225. if ($async$errorCode === 1)
  12226. return P._asyncRethrow($async$result, $async$completer);
  12227. while (true)
  12228. switch ($async$goto) {
  12229. case 0:
  12230. // Function start
  12231. $async$goto = 3;
  12232. return P._asyncAwait(E._EvaluateVisitor$0(functions, importCache, logger, nodeImporter, sourceMap).run$2(0, importer, stylesheet), $async$_compileStylesheet0);
  12233. case 3:
  12234. // returning from await.
  12235. evaluateResult = $async$result;
  12236. serializeResult = N.serialize(evaluateResult.stylesheet, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces);
  12237. t1 = serializeResult.sourceMap;
  12238. if (t1 != null && importCache != null)
  12239. B.mapInPlace(t1.urls, new X._compileStylesheet_closure0(stylesheet, importCache));
  12240. $async$returnValue = new X.CompileResult(evaluateResult, serializeResult);
  12241. // goto return
  12242. $async$goto = 1;
  12243. break;
  12244. case 1:
  12245. // return
  12246. return P._asyncReturn($async$returnValue, $async$completer);
  12247. }
  12248. });
  12249. return P._asyncStartSync($async$_compileStylesheet0, $async$completer);
  12250. },
  12251. _compileStylesheet_closure0: function _compileStylesheet_closure0(t0, t1) {
  12252. this.stylesheet = t0;
  12253. this.importCache = t1;
  12254. },
  12255. CompileResult: function CompileResult(t0, t1) {
  12256. this._evaluate = t0;
  12257. this._serialize = t1;
  12258. },
  12259. closure32: function closure32() {
  12260. },
  12261. closure33: function closure33() {
  12262. },
  12263. SourceSpanWithContext$: function(start, end, text, _context) {
  12264. var t1 = new X.SourceSpanWithContext(_context, start, end, text);
  12265. t1.SourceSpanBase$3(start, end, text);
  12266. if (!C.JSString_methods.contains$1(_context, text))
  12267. H.throwExpression(P.ArgumentError$('The context line "' + _context + '" must contain "' + text + '".'));
  12268. if (B.findLineStart(_context, text, start.get$column()) == null)
  12269. H.throwExpression(P.ArgumentError$('The span text "' + text + '" must start at column ' + (start.get$column() + 1) + ' in a line within "' + _context + '".'));
  12270. return t1;
  12271. },
  12272. SourceSpanWithContext: function SourceSpanWithContext(t0, t1, t2, t3) {
  12273. var _ = this;
  12274. _._context = t0;
  12275. _.start = t1;
  12276. _.end = t2;
  12277. _.text = t3;
  12278. },
  12279. StringScanner$: function(string, position, sourceUrl) {
  12280. var t1 = typeof sourceUrl === "string" ? P.Uri_parse(sourceUrl) : H.interceptedTypeCast(sourceUrl, "$isUri");
  12281. return new X.StringScanner(t1, string);
  12282. },
  12283. StringScanner: function StringScanner(t0, t1) {
  12284. var _ = this;
  12285. _.sourceUrl = t0;
  12286. _.string = t1;
  12287. _._string_scanner$_position = 0;
  12288. _._lastMatchPosition = _._lastMatch = null;
  12289. },
  12290. _combine: function(hash, value) {
  12291. hash = 536870911 & hash + value;
  12292. hash = 536870911 & hash + ((524287 & hash) << 10);
  12293. return hash ^ hash >>> 6;
  12294. },
  12295. _finish: function(hash) {
  12296. hash = 536870911 & hash + ((67108863 & hash) << 3);
  12297. hash ^= hash >>> 11;
  12298. return 536870911 & hash + ((16383 & hash) << 15);
  12299. }
  12300. },
  12301. K = {
  12302. PathMap__create: function(context, $V) {
  12303. var t1 = {};
  12304. t1.context = context;
  12305. t1.context = $.$get$context();
  12306. return P.LinkedHashMap_LinkedHashMap(new K.PathMap__create_closure(t1), new K.PathMap__create_closure0(t1), new K.PathMap__create_closure1(), P.String, $V);
  12307. },
  12308. PathMap: function PathMap(t0, t1) {
  12309. this._collection$_map = t0;
  12310. this.$ti = t1;
  12311. },
  12312. PathMap__create_closure: function PathMap__create_closure(t0) {
  12313. this._box_0 = t0;
  12314. },
  12315. PathMap__create_closure0: function PathMap__create_closure0(t0) {
  12316. this._box_0 = t0;
  12317. },
  12318. PathMap__create_closure1: function PathMap__create_closure1() {
  12319. },
  12320. ColorExpression: function ColorExpression(t0) {
  12321. this.value = t0;
  12322. },
  12323. _functionString: function($name, $arguments) {
  12324. return new D.SassString($name + "(" + J.map$1$1$ax($arguments, new K._functionString_closure(), P.String).join$1(0, ", ") + ")", false);
  12325. },
  12326. _removedColorFunction: function($name, argument, negative) {
  12327. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$color, $amount"), new K._removedColorFunction_closure($name, argument, negative), [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  12328. },
  12329. _rgb: function($name, $arguments) {
  12330. var t2, red, green, blue, t3, _null = null,
  12331. t1 = J.getInterceptor$asx($arguments),
  12332. alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : _null;
  12333. if (!t1.$index($arguments, 0).get$isSpecialNumber())
  12334. if (!t1.$index($arguments, 1).get$isSpecialNumber())
  12335. if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
  12336. t2 = alpha == null ? _null : alpha.get$isSpecialNumber();
  12337. t2 = t2 === true;
  12338. } else
  12339. t2 = true;
  12340. else
  12341. t2 = true;
  12342. else
  12343. t2 = true;
  12344. if (t2)
  12345. return K._functionString($name, $arguments);
  12346. red = t1.$index($arguments, 0).assertNumber$1("red");
  12347. green = t1.$index($arguments, 1).assertNumber$1("green");
  12348. blue = t1.$index($arguments, 2).assertNumber$1("blue");
  12349. t1 = T.fuzzyRound(K._percentageOrUnitless(red, 255, "red"));
  12350. t2 = T.fuzzyRound(K._percentageOrUnitless(green, 255, "green"));
  12351. t3 = T.fuzzyRound(K._percentageOrUnitless(blue, 255, "blue"));
  12352. return K.SassColor$rgb(t1, t2, t3, alpha == null ? _null : K._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"), _null);
  12353. },
  12354. _rgbTwoArg: function($name, $arguments) {
  12355. var first, t2, color,
  12356. t1 = J.getInterceptor$asx($arguments);
  12357. if (t1.$index($arguments, 0).get$isVar())
  12358. return K._functionString($name, $arguments);
  12359. else if (t1.$index($arguments, 1).get$isVar()) {
  12360. first = t1.$index($arguments, 0);
  12361. if (first instanceof K.SassColor) {
  12362. t2 = $name + "(" + H.S(first.get$red()) + ", " + H.S(first.get$green()) + ", " + H.S(first.get$blue()) + ", ";
  12363. t1 = t1.$index($arguments, 1);
  12364. t1.toString;
  12365. return new D.SassString(t2 + N.serializeValue(t1, false, true) + ")", false);
  12366. } else
  12367. return K._functionString($name, $arguments);
  12368. } else if (t1.$index($arguments, 1).get$isSpecialNumber()) {
  12369. color = t1.$index($arguments, 0).assertColor$1("color");
  12370. t2 = $name + "(" + H.S(color.get$red()) + ", " + H.S(color.get$green()) + ", " + H.S(color.get$blue()) + ", ";
  12371. t1 = t1.$index($arguments, 1);
  12372. t1.toString;
  12373. return new D.SassString(t2 + N.serializeValue(t1, false, true) + ")", false);
  12374. }
  12375. return t1.$index($arguments, 0).assertColor$1("color").changeAlpha$1(K._percentageOrUnitless(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha"));
  12376. },
  12377. _hsl: function($name, $arguments) {
  12378. var t2, hue, saturation, lightness, t3,
  12379. t1 = J.getInterceptor$asx($arguments),
  12380. alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null;
  12381. if (!t1.$index($arguments, 0).get$isSpecialNumber())
  12382. if (!t1.$index($arguments, 1).get$isSpecialNumber())
  12383. if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
  12384. t2 = alpha == null ? null : alpha.get$isSpecialNumber();
  12385. t2 = t2 === true;
  12386. } else
  12387. t2 = true;
  12388. else
  12389. t2 = true;
  12390. else
  12391. t2 = true;
  12392. if (t2)
  12393. return K._functionString($name, $arguments);
  12394. hue = t1.$index($arguments, 0).assertNumber$1("hue");
  12395. saturation = t1.$index($arguments, 1).assertNumber$1("saturation");
  12396. lightness = t1.$index($arguments, 2).assertNumber$1("lightness");
  12397. t1 = J.clamp$2$n(saturation.value, 0, 100);
  12398. t2 = J.clamp$2$n(lightness.value, 0, 100);
  12399. t3 = alpha == null ? null : K._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha");
  12400. return K.SassColor$hsl(hue.value, t1, t2, t3);
  12401. },
  12402. _parseChannels: function($name, argumentNames, channels) {
  12403. var isCommaSeparated, isBracketed, buffer, t1, list, maybeSlashSeparated, t2, t3,
  12404. _s17_ = "$channels must be",
  12405. _s32_ = "$channels must be an unbracketed";
  12406. if (channels.get$isVar())
  12407. return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value]));
  12408. isCommaSeparated = channels.get$separator() === C.ListSeparator_comma;
  12409. isBracketed = channels.get$hasBrackets();
  12410. if (isCommaSeparated || isBracketed) {
  12411. buffer = new P.StringBuffer(_s17_);
  12412. if (isBracketed) {
  12413. buffer._contents = _s32_;
  12414. t1 = _s32_;
  12415. } else
  12416. t1 = _s17_;
  12417. if (isCommaSeparated) {
  12418. t1 += isBracketed ? "," : " a";
  12419. buffer._contents = t1;
  12420. t1 = buffer._contents = t1 + " space-separated";
  12421. }
  12422. buffer._contents = t1 + " list.";
  12423. throw H.wrapException(E.SassScriptException$(buffer.toString$0(0)));
  12424. }
  12425. list = channels.get$asList();
  12426. t1 = list.length;
  12427. if (t1 > 3)
  12428. throw H.wrapException(E.SassScriptException$("Only 3 elements allowed, but " + t1 + " were passed."));
  12429. else if (t1 < 3) {
  12430. if (!C.JSArray_methods.any$1(list, new K._parseChannels_closure()))
  12431. if (list.length !== 0) {
  12432. t1 = C.JSArray_methods.get$last(list);
  12433. if (t1 instanceof D.SassString)
  12434. if (t1.hasQuotes) {
  12435. t1 = t1.text;
  12436. t1 = B.startsWithIgnoreCase(t1, "var(") && J.contains$1$asx(t1, "/");
  12437. } else
  12438. t1 = false;
  12439. else
  12440. t1 = false;
  12441. } else
  12442. t1 = false;
  12443. else
  12444. t1 = true;
  12445. if (t1)
  12446. return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value]));
  12447. else
  12448. throw H.wrapException(E.SassScriptException$("Missing element " + argumentNames[list.length] + "."));
  12449. }
  12450. maybeSlashSeparated = list[2];
  12451. t1 = J.getInterceptor$(maybeSlashSeparated);
  12452. if (!!t1.$isSassNumber && maybeSlashSeparated.asSlash != null) {
  12453. t1 = list[0];
  12454. t2 = list[1];
  12455. t3 = maybeSlashSeparated.asSlash;
  12456. return H.setRuntimeTypeInfo([t1, t2, t3.item1, t3.item2], [F.Value]);
  12457. } else if (!!t1.$isSassString && !maybeSlashSeparated.hasQuotes && J.contains$1$asx(maybeSlashSeparated.text, "/"))
  12458. return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value]));
  12459. else
  12460. return list;
  12461. },
  12462. _percentageOrUnitless: function(number, max, $name) {
  12463. var value;
  12464. if (!(number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0))
  12465. value = number.value;
  12466. else if (number.hasUnit$1("%"))
  12467. value = max * number.value / 100;
  12468. else
  12469. throw H.wrapException(E.SassScriptException$("$" + $name + ": Expected " + number.toString$0(0) + ' to have no units or "%".'));
  12470. return J.clamp$2$n(value, 0, max);
  12471. },
  12472. _mixColors: function(color1, color2, weight) {
  12473. var weightScale = weight.valueInRange$3(0, 100, "weight") / 100,
  12474. normalizedWeight = weightScale * 2 - 1,
  12475. t1 = color1.alpha,
  12476. t2 = color2.alpha,
  12477. alphaDistance = t1 - t2,
  12478. t3 = normalizedWeight * alphaDistance,
  12479. weight1 = ((t3 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t3)) + 1) / 2,
  12480. weight2 = 1 - weight1;
  12481. return K.SassColor$rgb(T.fuzzyRound(color1.get$red() * weight1 + color2.get$red() * weight2), T.fuzzyRound(color1.get$green() * weight1 + color2.get$green() * weight2), T.fuzzyRound(color1.get$blue() * weight1 + color2.get$blue() * weight2), t1 * weightScale + t2 * (1 - weightScale), null);
  12482. },
  12483. _opacify: function($arguments) {
  12484. var t1 = J.getInterceptor$asx($arguments),
  12485. color = t1.$index($arguments, 0).assertColor$1("color");
  12486. return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha + t1.$index($arguments, 1).assertNumber$1("amount").valueInRange$3(0, 1, "amount"), 0, 1));
  12487. },
  12488. _transparentize: function($arguments) {
  12489. var t1 = J.getInterceptor$asx($arguments),
  12490. color = t1.$index($arguments, 0).assertColor$1("color");
  12491. return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha - t1.$index($arguments, 1).assertNumber$1("amount").valueInRange$3(0, 1, "amount"), 0, 1));
  12492. },
  12493. closure45: function closure45() {
  12494. },
  12495. closure46: function closure46() {
  12496. },
  12497. closure47: function closure47() {
  12498. },
  12499. closure48: function closure48() {
  12500. },
  12501. closure49: function closure49() {
  12502. },
  12503. closure50: function closure50() {
  12504. },
  12505. closure51: function closure51() {
  12506. },
  12507. closure52: function closure52() {
  12508. },
  12509. closure53: function closure53() {
  12510. },
  12511. closure54: function closure54() {
  12512. },
  12513. closure55: function closure55() {
  12514. },
  12515. closure56: function closure56() {
  12516. },
  12517. closure57: function closure57() {
  12518. },
  12519. closure58: function closure58() {
  12520. },
  12521. closure59: function closure59() {
  12522. },
  12523. closure60: function closure60() {
  12524. },
  12525. closure61: function closure61() {
  12526. },
  12527. closure62: function closure62() {
  12528. },
  12529. closure63: function closure63() {
  12530. },
  12531. closure64: function closure64() {
  12532. },
  12533. closure65: function closure65() {
  12534. },
  12535. closure66: function closure66() {
  12536. },
  12537. closure67: function closure67() {
  12538. },
  12539. closure68: function closure68() {
  12540. },
  12541. closure69: function closure69() {
  12542. },
  12543. closure70: function closure70() {
  12544. },
  12545. _closure10: function _closure10() {
  12546. },
  12547. closure71: function closure71() {
  12548. },
  12549. closure84: function closure84() {
  12550. },
  12551. closure85: function closure85() {
  12552. },
  12553. closure86: function closure86() {
  12554. },
  12555. closure87: function closure87() {
  12556. },
  12557. _closure11: function _closure11() {
  12558. },
  12559. closure88: function closure88() {
  12560. },
  12561. closure83: function closure83() {
  12562. },
  12563. closure82: function closure82() {
  12564. },
  12565. closure81: function closure81() {
  12566. },
  12567. closure80: function closure80() {
  12568. },
  12569. closure79: function closure79() {
  12570. },
  12571. closure78: function closure78() {
  12572. },
  12573. closure77: function closure77() {
  12574. },
  12575. closure76: function closure76() {
  12576. },
  12577. closure74: function closure74() {
  12578. },
  12579. closure_getInRange0: function closure_getInRange0(t0) {
  12580. this.keywords = t0;
  12581. },
  12582. _closure9: function _closure9() {
  12583. },
  12584. closure73: function closure73() {
  12585. },
  12586. closure_getScale: function closure_getScale(t0) {
  12587. this.keywords = t0;
  12588. },
  12589. closure_scaleValue: function closure_scaleValue() {
  12590. },
  12591. _closure8: function _closure8() {
  12592. },
  12593. closure72: function closure72() {
  12594. },
  12595. closure_getInRange: function closure_getInRange(t0) {
  12596. this.keywords = t0;
  12597. },
  12598. _closure7: function _closure7() {
  12599. },
  12600. closure75: function closure75() {
  12601. },
  12602. closure_hexString: function closure_hexString() {
  12603. },
  12604. _functionString_closure: function _functionString_closure() {
  12605. },
  12606. _removedColorFunction_closure: function _removedColorFunction_closure(t0, t1, t2) {
  12607. this.name = t0;
  12608. this.argument = t1;
  12609. this.negative = t2;
  12610. },
  12611. _parseChannels_closure: function _parseChannels_closure() {
  12612. },
  12613. _numberFunction: function($name, transform) {
  12614. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$number"), new K._numberFunction_closure(transform), [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  12615. },
  12616. closure19: function closure19() {
  12617. },
  12618. closure26: function closure26() {
  12619. },
  12620. closure25: function closure25() {
  12621. },
  12622. closure24: function closure24() {
  12623. },
  12624. closure23: function closure23() {
  12625. },
  12626. closure22: function closure22() {
  12627. },
  12628. closure21: function closure21() {
  12629. },
  12630. closure20: function closure20() {
  12631. },
  12632. closure18: function closure18() {
  12633. },
  12634. closure17: function closure17() {
  12635. },
  12636. _numberFunction_closure: function _numberFunction_closure(t0) {
  12637. this.transform = t0;
  12638. },
  12639. _NodeSassColor: function _NodeSassColor() {
  12640. },
  12641. closure119: function closure119() {
  12642. },
  12643. closure120: function closure120() {
  12644. },
  12645. closure121: function closure121() {
  12646. },
  12647. closure122: function closure122() {
  12648. },
  12649. closure123: function closure123() {
  12650. },
  12651. closure124: function closure124() {
  12652. },
  12653. closure125: function closure125() {
  12654. },
  12655. closure126: function closure126() {
  12656. },
  12657. closure127: function closure127() {
  12658. },
  12659. closure128: function closure128() {
  12660. },
  12661. LimitedMapView$whitelist: function(_map, whitelist, $K, $V) {
  12662. return new K.LimitedMapView(_map, whitelist._base.intersection$1(new M.MapKeySet(_map, [P.Object])), [$K, $V]);
  12663. },
  12664. LimitedMapView$blacklist: function(_map, blacklist, $K, $V) {
  12665. var t2, key,
  12666. t1 = P.LinkedHashSet_LinkedHashSet($K);
  12667. for (t2 = J.get$iterator$ax(_map.get$keys()); t2.moveNext$0();) {
  12668. key = t2.get$current(t2);
  12669. if (!blacklist._base.contains$1(0, key))
  12670. t1.add$1(0, key);
  12671. }
  12672. return new K.LimitedMapView(_map, t1, [$K, $V]);
  12673. },
  12674. LimitedMapView: function LimitedMapView(t0, t1, t2) {
  12675. this._limited_map_view$_map = t0;
  12676. this._limited_map_view$_keys = t1;
  12677. this.$ti = t2;
  12678. },
  12679. SassColor$rgb: function(_red, _green, _blue, alpha, originalSpan) {
  12680. var t1 = new K.SassColor(_red, _green, _blue, null, null, null, alpha == null ? 1 : T.fuzzyAssertRange(alpha, 0, 1, "alpha"), originalSpan);
  12681. P.RangeError_checkValueInInterval(t1.get$red(), 0, 255, "red");
  12682. P.RangeError_checkValueInInterval(t1.get$green(), 0, 255, "green");
  12683. P.RangeError_checkValueInInterval(t1.get$blue(), 0, 255, "blue");
  12684. return t1;
  12685. },
  12686. SassColor$hsl: function(hue, saturation, lightness, alpha) {
  12687. var _null = null,
  12688. t1 = C.JSNumber_methods.$mod(hue, 360),
  12689. t2 = T.fuzzyAssertRange(saturation, 0, 100, "saturation"),
  12690. t3 = T.fuzzyAssertRange(lightness, 0, 100, "lightness");
  12691. return new K.SassColor(_null, _null, _null, t1, t2, t3, alpha == null ? 1 : T.fuzzyAssertRange(alpha, 0, 1, "alpha"), _null);
  12692. },
  12693. SassColor: function SassColor(t0, t1, t2, t3, t4, t5, t6, t7) {
  12694. var _ = this;
  12695. _._red = t0;
  12696. _._green = t1;
  12697. _._blue = t2;
  12698. _._hue = t3;
  12699. _._saturation = t4;
  12700. _._lightness = t5;
  12701. _.alpha = t6;
  12702. _.originalSpan = t7;
  12703. },
  12704. UnicodeGlyphSet: function UnicodeGlyphSet() {
  12705. }
  12706. },
  12707. R = {ModifiableCssComment: function ModifiableCssComment(t0, t1) {
  12708. var _ = this;
  12709. _.text = t0;
  12710. _.span = t1;
  12711. _._indexInParent = _._parent = null;
  12712. _.isGroupEnd = false;
  12713. },
  12714. ImportCache$: function(importers, loadPaths, logger) {
  12715. var t1 = R.ImportCache__toImporters(importers, loadPaths, null),
  12716. t2 = logger == null ? C.StderrLogger_false : logger,
  12717. t3 = P.Uri;
  12718. return new R.ImportCache(t1, t2, P.LinkedHashMap_LinkedHashMap$_empty(t3, [S.Tuple3, M.Importer, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t3, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t3, E.ImporterResult));
  12719. },
  12720. ImportCache$none: function(logger) {
  12721. var t1 = logger == null ? C.StderrLogger_false : logger,
  12722. t2 = P.Uri;
  12723. return new R.ImportCache(C.List_empty9, t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, [S.Tuple3, M.Importer, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t2, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t2, E.ImporterResult));
  12724. },
  12725. ImportCache__toImporters: function(importers, loadPaths, packageResolver) {
  12726. var _i, t2, t3, path, _null = null,
  12727. sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH),
  12728. t1 = H.setRuntimeTypeInfo([], [M.Importer]);
  12729. for (_i = 0; false; ++_i)
  12730. t1.push(importers[_i]);
  12731. if (loadPaths != null)
  12732. for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
  12733. t3 = t2.get$current(t2);
  12734. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(t3, _null, _null, _null, _null, _null, _null)));
  12735. }
  12736. if (sassPath != null) {
  12737. t2 = sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":");
  12738. t3 = t2.length;
  12739. _i = 0;
  12740. for (; _i < t3; ++_i) {
  12741. path = t2[_i];
  12742. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(path, _null, _null, _null, _null, _null, _null)));
  12743. }
  12744. }
  12745. return t1;
  12746. },
  12747. ImportCache: function ImportCache(t0, t1, t2, t3, t4) {
  12748. var _ = this;
  12749. _._importers = t0;
  12750. _._import_cache$_logger = t1;
  12751. _._canonicalizeCache = t2;
  12752. _._import_cache$_importCache = t3;
  12753. _._resultsCache = t4;
  12754. },
  12755. ImportCache_canonicalize_closure: function ImportCache_canonicalize_closure(t0, t1) {
  12756. this.$this = t0;
  12757. this.url = t1;
  12758. },
  12759. ImportCache_importCanonical_closure: function ImportCache_importCanonical_closure(t0, t1, t2, t3) {
  12760. var _ = this;
  12761. _.$this = t0;
  12762. _.importer = t1;
  12763. _.canonicalUrl = t2;
  12764. _.originalUrl = t3;
  12765. },
  12766. ImportCache_humanize_closure: function ImportCache_humanize_closure(t0) {
  12767. this.canonicalUrl = t0;
  12768. },
  12769. ImportCache_humanize_closure0: function ImportCache_humanize_closure0() {
  12770. },
  12771. ImportCache_humanize_closure1: function ImportCache_humanize_closure1() {
  12772. },
  12773. ForwardedModuleView$: function(_inner, _rule, $T) {
  12774. var t5,
  12775. t1 = _rule.prefix,
  12776. t2 = _rule.shownVariables,
  12777. t3 = _rule.hiddenVariables,
  12778. t4 = R.ForwardedModuleView__forwardedMap(_inner.get$variables(), t1, t2, t3, F.Value);
  12779. t2 = _inner.get$variableNodes() == null ? null : R.ForwardedModuleView__forwardedMap(_inner.get$variableNodes(), t1, t2, t3, B.AstNode);
  12780. t3 = _rule.shownMixinsAndFunctions;
  12781. t5 = _rule.hiddenMixinsAndFunctions;
  12782. return new R.ForwardedModuleView(_inner, _rule, t4, t2, R.ForwardedModuleView__forwardedMap(_inner.get$functions(_inner), t1, t3, t5, $T), R.ForwardedModuleView__forwardedMap(_inner.get$mixins(), t1, t3, t5, $T), [$T]);
  12783. },
  12784. ForwardedModuleView__forwardedMap: function(map, prefix, whitelist, blacklist, $V) {
  12785. var t2,
  12786. t1 = prefix == null;
  12787. if (t1)
  12788. if (whitelist == null)
  12789. if (blacklist != null) {
  12790. t2 = blacklist._base;
  12791. t2 = t2.get$isEmpty(t2);
  12792. } else
  12793. t2 = true;
  12794. else
  12795. t2 = false;
  12796. else
  12797. t2 = false;
  12798. if (t2)
  12799. return map;
  12800. if (!t1)
  12801. map = new F.PrefixedMapView(map, prefix, [$V]);
  12802. if (whitelist != null)
  12803. map = K.LimitedMapView$whitelist(map, whitelist, P.String, $V);
  12804. else {
  12805. if (blacklist != null) {
  12806. t1 = blacklist._base;
  12807. t1 = t1.get$isNotEmpty(t1);
  12808. } else
  12809. t1 = false;
  12810. if (t1)
  12811. map = K.LimitedMapView$blacklist(map, blacklist, P.String, $V);
  12812. }
  12813. return map;
  12814. },
  12815. ForwardedModuleView: function ForwardedModuleView(t0, t1, t2, t3, t4, t5, t6) {
  12816. var _ = this;
  12817. _._forwarded_view$_inner = t0;
  12818. _._rule = t1;
  12819. _.variables = t2;
  12820. _.variableNodes = t3;
  12821. _.functions = t4;
  12822. _.mixins = t5;
  12823. _.$ti = t6;
  12824. },
  12825. RenderOptions: function RenderOptions() {
  12826. },
  12827. UnprefixedMapView: function UnprefixedMapView(t0, t1, t2) {
  12828. this._unprefixed_map_view$_map = t0;
  12829. this._prefix = t1;
  12830. this.$ti = t2;
  12831. },
  12832. _UnprefixedKeys: function _UnprefixedKeys(t0) {
  12833. this._view = t0;
  12834. },
  12835. _UnprefixedKeys_iterator_closure: function _UnprefixedKeys_iterator_closure(t0) {
  12836. this.$this = t0;
  12837. },
  12838. _UnprefixedKeys_iterator_closure0: function _UnprefixedKeys_iterator_closure0(t0) {
  12839. this.$this = t0;
  12840. },
  12841. _EvaluateVisitor$: function(functions, importCache, logger, nodeImporter, sourceMap) {
  12842. var t7, t8,
  12843. t1 = P.String,
  12844. t2 = P.Uri,
  12845. t3 = [G.Module, D.Callable],
  12846. t4 = P.LinkedHashSet_LinkedHashSet(t1),
  12847. t5 = P.LinkedHashSet_LinkedHashSet(t2),
  12848. t6 = H.setRuntimeTypeInfo([], [[S.Tuple2, P.String, B.AstNode]]);
  12849. if (nodeImporter == null)
  12850. t7 = importCache == null ? R.ImportCache$none(logger) : importCache;
  12851. else
  12852. t7 = null;
  12853. t8 = logger == null ? C.StderrLogger_false : logger;
  12854. t6 = new R._EvaluateVisitor(t7, nodeImporter, P.LinkedHashMap_LinkedHashMap$_empty(t1, D.Callable), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), t8, sourceMap, O.Environment$(sourceMap), t4, t5, t6, C.Map_empty1);
  12855. t6._EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap(functions, importCache, logger, nodeImporter, sourceMap);
  12856. return t6;
  12857. },
  12858. _ArgumentResults$: function(positional, named, separator, namedNodes, positionalNodes) {
  12859. return new R._ArgumentResults(positional, positionalNodes, named, namedNodes, separator);
  12860. },
  12861. Evaluator: function Evaluator(t0, t1) {
  12862. this._visitor = t0;
  12863. this._importer = t1;
  12864. },
  12865. _EvaluateVisitor: function _EvaluateVisitor(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  12866. var _ = this;
  12867. _._importCache = t0;
  12868. _._nodeImporter = t1;
  12869. _._builtInFunctions = t2;
  12870. _._builtInModules = t3;
  12871. _._modules = t4;
  12872. _._logger = t5;
  12873. _._sourceMap = t6;
  12874. _._evaluate$_environment = t7;
  12875. _._declarationName = _._evaluate$_parent = _._mediaQueries = _._styleRule = null;
  12876. _._member = "root stylesheet";
  12877. _._importSpan = _._callableNode = null;
  12878. _._inKeyframes = _._atRootExcludingStyleRule = _._inUnknownAtRule = _._inFunction = false;
  12879. _._includedFiles = t8;
  12880. _._activeModules = t9;
  12881. _._stack = t10;
  12882. _._extender = _._outOfOrderImports = _._endOfImports = _._root = _._stylesheet = _._importer = null;
  12883. _._configuration = t11;
  12884. },
  12885. _EvaluateVisitor_closure: function _EvaluateVisitor_closure(t0) {
  12886. this.$this = t0;
  12887. },
  12888. _EvaluateVisitor_closure0: function _EvaluateVisitor_closure0(t0) {
  12889. this.$this = t0;
  12890. },
  12891. _EvaluateVisitor_closure1: function _EvaluateVisitor_closure1(t0) {
  12892. this.$this = t0;
  12893. },
  12894. _EvaluateVisitor_closure2: function _EvaluateVisitor_closure2(t0) {
  12895. this.$this = t0;
  12896. },
  12897. _EvaluateVisitor_closure3: function _EvaluateVisitor_closure3(t0) {
  12898. this.$this = t0;
  12899. },
  12900. _EvaluateVisitor_closure4: function _EvaluateVisitor_closure4(t0) {
  12901. this.$this = t0;
  12902. },
  12903. _EvaluateVisitor_closure5: function _EvaluateVisitor_closure5(t0) {
  12904. this.$this = t0;
  12905. },
  12906. _EvaluateVisitor_closure6: function _EvaluateVisitor_closure6(t0) {
  12907. this.$this = t0;
  12908. },
  12909. _EvaluateVisitor__closure3: function _EvaluateVisitor__closure3(t0, t1, t2) {
  12910. this.$this = t0;
  12911. this.name = t1;
  12912. this.module = t2;
  12913. },
  12914. _EvaluateVisitor_closure7: function _EvaluateVisitor_closure7(t0) {
  12915. this.$this = t0;
  12916. },
  12917. _EvaluateVisitor__closure1: function _EvaluateVisitor__closure1() {
  12918. },
  12919. _EvaluateVisitor__closure2: function _EvaluateVisitor__closure2() {
  12920. },
  12921. _EvaluateVisitor_closure8: function _EvaluateVisitor_closure8(t0) {
  12922. this.$this = t0;
  12923. },
  12924. _EvaluateVisitor__closure: function _EvaluateVisitor__closure(t0, t1) {
  12925. this._box_0 = t0;
  12926. this.span = t1;
  12927. },
  12928. _EvaluateVisitor__closure0: function _EvaluateVisitor__closure0(t0) {
  12929. this.$this = t0;
  12930. },
  12931. _EvaluateVisitor_run_closure: function _EvaluateVisitor_run_closure(t0, t1, t2) {
  12932. this.$this = t0;
  12933. this.node = t1;
  12934. this.importer = t2;
  12935. },
  12936. _EvaluateVisitor_runExpression_closure: function _EvaluateVisitor_runExpression_closure(t0, t1, t2) {
  12937. this.$this = t0;
  12938. this.importer = t1;
  12939. this.expression = t2;
  12940. },
  12941. _EvaluateVisitor_runExpression__closure: function _EvaluateVisitor_runExpression__closure(t0, t1) {
  12942. this.$this = t0;
  12943. this.expression = t1;
  12944. },
  12945. _EvaluateVisitor_runStatement_closure: function _EvaluateVisitor_runStatement_closure(t0, t1, t2) {
  12946. this.$this = t0;
  12947. this.importer = t1;
  12948. this.statement = t2;
  12949. },
  12950. _EvaluateVisitor_runStatement__closure: function _EvaluateVisitor_runStatement__closure(t0, t1) {
  12951. this.$this = t0;
  12952. this.statement = t1;
  12953. },
  12954. _EvaluateVisitor__withWarnCallback_closure: function _EvaluateVisitor__withWarnCallback_closure(t0) {
  12955. this.$this = t0;
  12956. },
  12957. _EvaluateVisitor__loadModule_closure: function _EvaluateVisitor__loadModule_closure(t0, t1, t2, t3, t4, t5, t6) {
  12958. var _ = this;
  12959. _.$this = t0;
  12960. _.url = t1;
  12961. _.nodeForSpan = t2;
  12962. _.baseUrl = t3;
  12963. _.namesInErrors = t4;
  12964. _.configuration = t5;
  12965. _.callback = t6;
  12966. },
  12967. _EvaluateVisitor__loadModule__closure: function _EvaluateVisitor__loadModule__closure(t0, t1, t2, t3) {
  12968. var _ = this;
  12969. _.$this = t0;
  12970. _.url = t1;
  12971. _.nodeForSpan = t2;
  12972. _.baseUrl = t3;
  12973. },
  12974. _EvaluateVisitor__execute_closure: function _EvaluateVisitor__execute_closure(t0, t1, t2, t3, t4, t5, t6) {
  12975. var _ = this;
  12976. _._box_0 = t0;
  12977. _.$this = t1;
  12978. _.importer = t2;
  12979. _.stylesheet = t3;
  12980. _.extender = t4;
  12981. _.configuration = t5;
  12982. _.namesInErrors = t6;
  12983. },
  12984. _EvaluateVisitor__combineCss_closure: function _EvaluateVisitor__combineCss_closure() {
  12985. },
  12986. _EvaluateVisitor__combineCss_closure0: function _EvaluateVisitor__combineCss_closure0(t0) {
  12987. this.selectors = t0;
  12988. },
  12989. _EvaluateVisitor__combineCss_closure1: function _EvaluateVisitor__combineCss_closure1() {
  12990. },
  12991. _EvaluateVisitor__extendModules_closure: function _EvaluateVisitor__extendModules_closure(t0) {
  12992. this.originalSelectors = t0;
  12993. },
  12994. _EvaluateVisitor__extendModules_closure0: function _EvaluateVisitor__extendModules_closure0() {
  12995. },
  12996. _EvaluateVisitor__topologicalModules_visitModule: function _EvaluateVisitor__topologicalModules_visitModule(t0, t1) {
  12997. this.seen = t0;
  12998. this.sorted = t1;
  12999. },
  13000. _EvaluateVisitor_visitAtRootRule_closure: function _EvaluateVisitor_visitAtRootRule_closure(t0, t1) {
  13001. this.$this = t0;
  13002. this.resolved = t1;
  13003. },
  13004. _EvaluateVisitor_visitAtRootRule_closure0: function _EvaluateVisitor_visitAtRootRule_closure0(t0, t1) {
  13005. this.$this = t0;
  13006. this.node = t1;
  13007. },
  13008. _EvaluateVisitor_visitAtRootRule_closure1: function _EvaluateVisitor_visitAtRootRule_closure1(t0, t1) {
  13009. this.$this = t0;
  13010. this.node = t1;
  13011. },
  13012. _EvaluateVisitor__scopeForAtRoot_closure: function _EvaluateVisitor__scopeForAtRoot_closure(t0, t1, t2) {
  13013. this.$this = t0;
  13014. this.newParent = t1;
  13015. this.node = t2;
  13016. },
  13017. _EvaluateVisitor__scopeForAtRoot_closure0: function _EvaluateVisitor__scopeForAtRoot_closure0(t0, t1) {
  13018. this.$this = t0;
  13019. this.innerScope = t1;
  13020. },
  13021. _EvaluateVisitor__scopeForAtRoot_closure1: function _EvaluateVisitor__scopeForAtRoot_closure1(t0, t1) {
  13022. this.$this = t0;
  13023. this.innerScope = t1;
  13024. },
  13025. _EvaluateVisitor__scopeForAtRoot__closure: function _EvaluateVisitor__scopeForAtRoot__closure(t0, t1) {
  13026. this.innerScope = t0;
  13027. this.callback = t1;
  13028. },
  13029. _EvaluateVisitor__scopeForAtRoot_closure2: function _EvaluateVisitor__scopeForAtRoot_closure2(t0, t1) {
  13030. this.$this = t0;
  13031. this.innerScope = t1;
  13032. },
  13033. _EvaluateVisitor__scopeForAtRoot_closure3: function _EvaluateVisitor__scopeForAtRoot_closure3() {
  13034. },
  13035. _EvaluateVisitor__scopeForAtRoot_closure4: function _EvaluateVisitor__scopeForAtRoot_closure4(t0, t1) {
  13036. this.$this = t0;
  13037. this.innerScope = t1;
  13038. },
  13039. _EvaluateVisitor_visitContentRule_closure: function _EvaluateVisitor_visitContentRule_closure(t0, t1) {
  13040. this.$this = t0;
  13041. this.content = t1;
  13042. },
  13043. _EvaluateVisitor_visitDeclaration_closure: function _EvaluateVisitor_visitDeclaration_closure(t0, t1) {
  13044. this.$this = t0;
  13045. this.node = t1;
  13046. },
  13047. _EvaluateVisitor_visitEachRule_closure: function _EvaluateVisitor_visitEachRule_closure(t0, t1, t2) {
  13048. this.$this = t0;
  13049. this.node = t1;
  13050. this.nodeForSpan = t2;
  13051. },
  13052. _EvaluateVisitor_visitEachRule_closure0: function _EvaluateVisitor_visitEachRule_closure0(t0, t1, t2) {
  13053. this.$this = t0;
  13054. this.node = t1;
  13055. this.nodeForSpan = t2;
  13056. },
  13057. _EvaluateVisitor_visitEachRule_closure1: function _EvaluateVisitor_visitEachRule_closure1(t0, t1, t2, t3) {
  13058. var _ = this;
  13059. _.$this = t0;
  13060. _.list = t1;
  13061. _.setVariables = t2;
  13062. _.node = t3;
  13063. },
  13064. _EvaluateVisitor_visitEachRule__closure: function _EvaluateVisitor_visitEachRule__closure(t0, t1, t2) {
  13065. this.$this = t0;
  13066. this.setVariables = t1;
  13067. this.node = t2;
  13068. },
  13069. _EvaluateVisitor_visitEachRule___closure: function _EvaluateVisitor_visitEachRule___closure(t0) {
  13070. this.$this = t0;
  13071. },
  13072. _EvaluateVisitor_visitExtendRule_closure: function _EvaluateVisitor_visitExtendRule_closure(t0, t1) {
  13073. this.$this = t0;
  13074. this.targetText = t1;
  13075. },
  13076. _EvaluateVisitor_visitAtRule_closure: function _EvaluateVisitor_visitAtRule_closure(t0, t1) {
  13077. this.$this = t0;
  13078. this.node = t1;
  13079. },
  13080. _EvaluateVisitor_visitAtRule__closure: function _EvaluateVisitor_visitAtRule__closure(t0, t1) {
  13081. this.$this = t0;
  13082. this.node = t1;
  13083. },
  13084. _EvaluateVisitor_visitAtRule_closure0: function _EvaluateVisitor_visitAtRule_closure0() {
  13085. },
  13086. _EvaluateVisitor_visitForRule_closure: function _EvaluateVisitor_visitForRule_closure(t0, t1) {
  13087. this.$this = t0;
  13088. this.node = t1;
  13089. },
  13090. _EvaluateVisitor_visitForRule_closure0: function _EvaluateVisitor_visitForRule_closure0(t0, t1) {
  13091. this.$this = t0;
  13092. this.node = t1;
  13093. },
  13094. _EvaluateVisitor_visitForRule_closure1: function _EvaluateVisitor_visitForRule_closure1(t0, t1) {
  13095. this.fromNumber = t0;
  13096. this.toNumber = t1;
  13097. },
  13098. _EvaluateVisitor_visitForRule_closure2: function _EvaluateVisitor_visitForRule_closure2(t0) {
  13099. this.toNumber = t0;
  13100. },
  13101. _EvaluateVisitor_visitForRule_closure3: function _EvaluateVisitor_visitForRule_closure3(t0, t1, t2, t3, t4) {
  13102. var _ = this;
  13103. _._box_0 = t0;
  13104. _.$this = t1;
  13105. _.node = t2;
  13106. _.from = t3;
  13107. _.direction = t4;
  13108. },
  13109. _EvaluateVisitor_visitForRule__closure: function _EvaluateVisitor_visitForRule__closure(t0) {
  13110. this.$this = t0;
  13111. },
  13112. _EvaluateVisitor_visitForwardRule_closure: function _EvaluateVisitor_visitForwardRule_closure(t0, t1) {
  13113. this.$this = t0;
  13114. this.node = t1;
  13115. },
  13116. _EvaluateVisitor_visitIfRule_closure: function _EvaluateVisitor_visitIfRule_closure(t0, t1) {
  13117. this._box_0 = t0;
  13118. this.$this = t1;
  13119. },
  13120. _EvaluateVisitor_visitIfRule__closure: function _EvaluateVisitor_visitIfRule__closure(t0) {
  13121. this.$this = t0;
  13122. },
  13123. _EvaluateVisitor__visitDynamicImport_closure: function _EvaluateVisitor__visitDynamicImport_closure(t0, t1) {
  13124. this.$this = t0;
  13125. this.$import = t1;
  13126. },
  13127. _EvaluateVisitor__visitDynamicImport__closure: function _EvaluateVisitor__visitDynamicImport__closure(t0, t1, t2) {
  13128. this.$this = t0;
  13129. this.importer = t1;
  13130. this.stylesheet = t2;
  13131. },
  13132. _EvaluateVisitor__visitDynamicImport__closure0: function _EvaluateVisitor__visitDynamicImport__closure0(t0, t1, t2, t3) {
  13133. var _ = this;
  13134. _._box_0 = t0;
  13135. _.$this = t1;
  13136. _.importer = t2;
  13137. _.stylesheet = t3;
  13138. },
  13139. _EvaluateVisitor_visitIncludeRule_closure: function _EvaluateVisitor_visitIncludeRule_closure(t0, t1) {
  13140. this.$this = t0;
  13141. this.node = t1;
  13142. },
  13143. _EvaluateVisitor_visitIncludeRule_closure0: function _EvaluateVisitor_visitIncludeRule_closure0(t0, t1, t2, t3) {
  13144. var _ = this;
  13145. _.$this = t0;
  13146. _.contentCallable = t1;
  13147. _.mixin = t2;
  13148. _.node = t3;
  13149. },
  13150. _EvaluateVisitor_visitIncludeRule__closure: function _EvaluateVisitor_visitIncludeRule__closure(t0, t1, t2) {
  13151. this.$this = t0;
  13152. this.mixin = t1;
  13153. this.node = t2;
  13154. },
  13155. _EvaluateVisitor_visitIncludeRule___closure: function _EvaluateVisitor_visitIncludeRule___closure(t0, t1, t2) {
  13156. this.$this = t0;
  13157. this.mixin = t1;
  13158. this.node = t2;
  13159. },
  13160. _EvaluateVisitor_visitIncludeRule____closure: function _EvaluateVisitor_visitIncludeRule____closure(t0, t1) {
  13161. this.$this = t0;
  13162. this.statement = t1;
  13163. },
  13164. _EvaluateVisitor_visitMediaRule_closure: function _EvaluateVisitor_visitMediaRule_closure(t0, t1, t2, t3) {
  13165. var _ = this;
  13166. _.$this = t0;
  13167. _.mergedQueries = t1;
  13168. _.queries = t2;
  13169. _.node = t3;
  13170. },
  13171. _EvaluateVisitor_visitMediaRule__closure: function _EvaluateVisitor_visitMediaRule__closure(t0, t1) {
  13172. this.$this = t0;
  13173. this.node = t1;
  13174. },
  13175. _EvaluateVisitor_visitMediaRule___closure: function _EvaluateVisitor_visitMediaRule___closure(t0, t1) {
  13176. this.$this = t0;
  13177. this.node = t1;
  13178. },
  13179. _EvaluateVisitor_visitMediaRule_closure0: function _EvaluateVisitor_visitMediaRule_closure0(t0) {
  13180. this.mergedQueries = t0;
  13181. },
  13182. _EvaluateVisitor__visitMediaQueries_closure: function _EvaluateVisitor__visitMediaQueries_closure(t0, t1) {
  13183. this.$this = t0;
  13184. this.resolved = t1;
  13185. },
  13186. _EvaluateVisitor_visitStyleRule_closure: function _EvaluateVisitor_visitStyleRule_closure(t0, t1) {
  13187. this.$this = t0;
  13188. this.selectorText = t1;
  13189. },
  13190. _EvaluateVisitor_visitStyleRule_closure0: function _EvaluateVisitor_visitStyleRule_closure0(t0, t1) {
  13191. this.$this = t0;
  13192. this.node = t1;
  13193. },
  13194. _EvaluateVisitor_visitStyleRule_closure1: function _EvaluateVisitor_visitStyleRule_closure1() {
  13195. },
  13196. _EvaluateVisitor_visitStyleRule_closure2: function _EvaluateVisitor_visitStyleRule_closure2(t0, t1) {
  13197. this.$this = t0;
  13198. this.selectorText = t1;
  13199. },
  13200. _EvaluateVisitor_visitStyleRule_closure3: function _EvaluateVisitor_visitStyleRule_closure3(t0, t1) {
  13201. this._box_0 = t0;
  13202. this.$this = t1;
  13203. },
  13204. _EvaluateVisitor_visitStyleRule_closure4: function _EvaluateVisitor_visitStyleRule_closure4(t0, t1, t2) {
  13205. this.$this = t0;
  13206. this.rule = t1;
  13207. this.node = t2;
  13208. },
  13209. _EvaluateVisitor_visitStyleRule__closure: function _EvaluateVisitor_visitStyleRule__closure(t0, t1) {
  13210. this.$this = t0;
  13211. this.node = t1;
  13212. },
  13213. _EvaluateVisitor_visitStyleRule_closure5: function _EvaluateVisitor_visitStyleRule_closure5() {
  13214. },
  13215. _EvaluateVisitor_visitSupportsRule_closure: function _EvaluateVisitor_visitSupportsRule_closure(t0, t1) {
  13216. this.$this = t0;
  13217. this.node = t1;
  13218. },
  13219. _EvaluateVisitor_visitSupportsRule__closure: function _EvaluateVisitor_visitSupportsRule__closure(t0, t1) {
  13220. this.$this = t0;
  13221. this.node = t1;
  13222. },
  13223. _EvaluateVisitor_visitSupportsRule_closure0: function _EvaluateVisitor_visitSupportsRule_closure0() {
  13224. },
  13225. _EvaluateVisitor_visitVariableDeclaration_closure: function _EvaluateVisitor_visitVariableDeclaration_closure(t0, t1, t2) {
  13226. this.$this = t0;
  13227. this.node = t1;
  13228. this.override = t2;
  13229. },
  13230. _EvaluateVisitor_visitVariableDeclaration_closure0: function _EvaluateVisitor_visitVariableDeclaration_closure0(t0, t1) {
  13231. this.$this = t0;
  13232. this.node = t1;
  13233. },
  13234. _EvaluateVisitor_visitVariableDeclaration_closure1: function _EvaluateVisitor_visitVariableDeclaration_closure1(t0, t1, t2) {
  13235. this.$this = t0;
  13236. this.node = t1;
  13237. this.value = t2;
  13238. },
  13239. _EvaluateVisitor_visitUseRule_closure: function _EvaluateVisitor_visitUseRule_closure(t0, t1) {
  13240. this.$this = t0;
  13241. this.node = t1;
  13242. },
  13243. _EvaluateVisitor_visitWarnRule_closure: function _EvaluateVisitor_visitWarnRule_closure(t0, t1) {
  13244. this.$this = t0;
  13245. this.node = t1;
  13246. },
  13247. _EvaluateVisitor_visitWhileRule_closure: function _EvaluateVisitor_visitWhileRule_closure(t0, t1) {
  13248. this.$this = t0;
  13249. this.node = t1;
  13250. },
  13251. _EvaluateVisitor_visitWhileRule__closure: function _EvaluateVisitor_visitWhileRule__closure(t0) {
  13252. this.$this = t0;
  13253. },
  13254. _EvaluateVisitor_visitBinaryOperationExpression_closure: function _EvaluateVisitor_visitBinaryOperationExpression_closure(t0, t1) {
  13255. this.$this = t0;
  13256. this.node = t1;
  13257. },
  13258. _EvaluateVisitor_visitVariableExpression_closure: function _EvaluateVisitor_visitVariableExpression_closure(t0, t1) {
  13259. this.$this = t0;
  13260. this.node = t1;
  13261. },
  13262. _EvaluateVisitor_visitListExpression_closure: function _EvaluateVisitor_visitListExpression_closure(t0) {
  13263. this.$this = t0;
  13264. },
  13265. _EvaluateVisitor_visitFunctionExpression_closure: function _EvaluateVisitor_visitFunctionExpression_closure(t0, t1, t2) {
  13266. this.$this = t0;
  13267. this.node = t1;
  13268. this.plainName = t2;
  13269. },
  13270. _EvaluateVisitor_visitFunctionExpression_closure0: function _EvaluateVisitor_visitFunctionExpression_closure0(t0, t1, t2) {
  13271. this._box_0 = t0;
  13272. this.$this = t1;
  13273. this.node = t2;
  13274. },
  13275. _EvaluateVisitor__runUserDefinedCallable_closure: function _EvaluateVisitor__runUserDefinedCallable_closure(t0, t1, t2, t3, t4) {
  13276. var _ = this;
  13277. _.$this = t0;
  13278. _.callable = t1;
  13279. _.evaluated = t2;
  13280. _.nodeWithSpan = t3;
  13281. _.run = t4;
  13282. },
  13283. _EvaluateVisitor__runUserDefinedCallable__closure: function _EvaluateVisitor__runUserDefinedCallable__closure(t0, t1, t2, t3, t4) {
  13284. var _ = this;
  13285. _.$this = t0;
  13286. _.evaluated = t1;
  13287. _.callable = t2;
  13288. _.nodeWithSpan = t3;
  13289. _.run = t4;
  13290. },
  13291. _EvaluateVisitor__runUserDefinedCallable___closure: function _EvaluateVisitor__runUserDefinedCallable___closure(t0, t1, t2, t3, t4) {
  13292. var _ = this;
  13293. _.$this = t0;
  13294. _.evaluated = t1;
  13295. _.callable = t2;
  13296. _.nodeWithSpan = t3;
  13297. _.run = t4;
  13298. },
  13299. _EvaluateVisitor__runUserDefinedCallable____closure: function _EvaluateVisitor__runUserDefinedCallable____closure() {
  13300. },
  13301. _EvaluateVisitor__runFunctionCallable_closure: function _EvaluateVisitor__runFunctionCallable_closure(t0, t1) {
  13302. this.$this = t0;
  13303. this.callable = t1;
  13304. },
  13305. _EvaluateVisitor__runBuiltInCallable_closure: function _EvaluateVisitor__runBuiltInCallable_closure(t0, t1, t2) {
  13306. this.overload = t0;
  13307. this.evaluated = t1;
  13308. this.namedSet = t2;
  13309. },
  13310. _EvaluateVisitor__runBuiltInCallable_closure0: function _EvaluateVisitor__runBuiltInCallable_closure0() {
  13311. },
  13312. _EvaluateVisitor__evaluateArguments_closure: function _EvaluateVisitor__evaluateArguments_closure(t0) {
  13313. this.$this = t0;
  13314. },
  13315. _EvaluateVisitor__evaluateArguments_closure0: function _EvaluateVisitor__evaluateArguments_closure0(t0) {
  13316. this.$this = t0;
  13317. },
  13318. _EvaluateVisitor__evaluateArguments_closure1: function _EvaluateVisitor__evaluateArguments_closure1(t0, t1, t2) {
  13319. this.named = t0;
  13320. this.namedNodes = t1;
  13321. this.restNodeForSpan = t2;
  13322. },
  13323. _EvaluateVisitor__evaluateMacroArguments_closure: function _EvaluateVisitor__evaluateMacroArguments_closure() {
  13324. },
  13325. _EvaluateVisitor__evaluateMacroArguments_closure0: function _EvaluateVisitor__evaluateMacroArguments_closure0() {
  13326. },
  13327. _EvaluateVisitor__evaluateMacroArguments_closure1: function _EvaluateVisitor__evaluateMacroArguments_closure1(t0) {
  13328. this.named = t0;
  13329. },
  13330. _EvaluateVisitor__evaluateMacroArguments_closure2: function _EvaluateVisitor__evaluateMacroArguments_closure2() {
  13331. },
  13332. _EvaluateVisitor__addRestMap_closure: function _EvaluateVisitor__addRestMap_closure(t0) {
  13333. this.T = t0;
  13334. },
  13335. _EvaluateVisitor__addRestMap_closure0: function _EvaluateVisitor__addRestMap_closure0(t0, t1, t2, t3, t4) {
  13336. var _ = this;
  13337. _._box_0 = t0;
  13338. _.$this = t1;
  13339. _.values = t2;
  13340. _.map = t3;
  13341. _.nodeForSpan = t4;
  13342. },
  13343. _EvaluateVisitor__verifyArguments_closure: function _EvaluateVisitor__verifyArguments_closure(t0, t1, t2) {
  13344. this.$arguments = t0;
  13345. this.positional = t1;
  13346. this.named = t2;
  13347. },
  13348. _EvaluateVisitor_visitStringExpression_closure: function _EvaluateVisitor_visitStringExpression_closure(t0) {
  13349. this.$this = t0;
  13350. },
  13351. _EvaluateVisitor_visitCssAtRule_closure: function _EvaluateVisitor_visitCssAtRule_closure(t0, t1) {
  13352. this.$this = t0;
  13353. this.node = t1;
  13354. },
  13355. _EvaluateVisitor_visitCssAtRule_closure0: function _EvaluateVisitor_visitCssAtRule_closure0() {
  13356. },
  13357. _EvaluateVisitor_visitCssKeyframeBlock_closure: function _EvaluateVisitor_visitCssKeyframeBlock_closure(t0, t1) {
  13358. this.$this = t0;
  13359. this.node = t1;
  13360. },
  13361. _EvaluateVisitor_visitCssKeyframeBlock_closure0: function _EvaluateVisitor_visitCssKeyframeBlock_closure0() {
  13362. },
  13363. _EvaluateVisitor_visitCssMediaRule_closure: function _EvaluateVisitor_visitCssMediaRule_closure(t0, t1, t2) {
  13364. this.$this = t0;
  13365. this.mergedQueries = t1;
  13366. this.node = t2;
  13367. },
  13368. _EvaluateVisitor_visitCssMediaRule__closure: function _EvaluateVisitor_visitCssMediaRule__closure(t0, t1) {
  13369. this.$this = t0;
  13370. this.node = t1;
  13371. },
  13372. _EvaluateVisitor_visitCssMediaRule___closure: function _EvaluateVisitor_visitCssMediaRule___closure(t0, t1) {
  13373. this.$this = t0;
  13374. this.node = t1;
  13375. },
  13376. _EvaluateVisitor_visitCssMediaRule_closure0: function _EvaluateVisitor_visitCssMediaRule_closure0(t0) {
  13377. this.mergedQueries = t0;
  13378. },
  13379. _EvaluateVisitor_visitCssStyleRule_closure: function _EvaluateVisitor_visitCssStyleRule_closure(t0, t1, t2) {
  13380. this.$this = t0;
  13381. this.rule = t1;
  13382. this.node = t2;
  13383. },
  13384. _EvaluateVisitor_visitCssStyleRule__closure: function _EvaluateVisitor_visitCssStyleRule__closure(t0, t1) {
  13385. this.$this = t0;
  13386. this.node = t1;
  13387. },
  13388. _EvaluateVisitor_visitCssStyleRule_closure0: function _EvaluateVisitor_visitCssStyleRule_closure0() {
  13389. },
  13390. _EvaluateVisitor_visitCssSupportsRule_closure: function _EvaluateVisitor_visitCssSupportsRule_closure(t0, t1) {
  13391. this.$this = t0;
  13392. this.node = t1;
  13393. },
  13394. _EvaluateVisitor_visitCssSupportsRule__closure: function _EvaluateVisitor_visitCssSupportsRule__closure(t0, t1) {
  13395. this.$this = t0;
  13396. this.node = t1;
  13397. },
  13398. _EvaluateVisitor_visitCssSupportsRule_closure0: function _EvaluateVisitor_visitCssSupportsRule_closure0() {
  13399. },
  13400. _EvaluateVisitor__performInterpolation_closure: function _EvaluateVisitor__performInterpolation_closure(t0, t1) {
  13401. this.$this = t0;
  13402. this.warnForColor = t1;
  13403. },
  13404. _EvaluateVisitor__serialize_closure: function _EvaluateVisitor__serialize_closure(t0, t1) {
  13405. this.value = t0;
  13406. this.quote = t1;
  13407. },
  13408. _EvaluateVisitor__stackTrace_closure: function _EvaluateVisitor__stackTrace_closure(t0) {
  13409. this.$this = t0;
  13410. },
  13411. _ImportedCssVisitor: function _ImportedCssVisitor(t0) {
  13412. this._visitor = t0;
  13413. },
  13414. _ImportedCssVisitor_visitCssAtRule_closure: function _ImportedCssVisitor_visitCssAtRule_closure() {
  13415. },
  13416. _ImportedCssVisitor_visitCssMediaRule_closure: function _ImportedCssVisitor_visitCssMediaRule_closure(t0) {
  13417. this.hasBeenMerged = t0;
  13418. },
  13419. _ImportedCssVisitor_visitCssStyleRule_closure: function _ImportedCssVisitor_visitCssStyleRule_closure() {
  13420. },
  13421. _ImportedCssVisitor_visitCssSupportsRule_closure: function _ImportedCssVisitor_visitCssSupportsRule_closure() {
  13422. },
  13423. _ArgumentResults: function _ArgumentResults(t0, t1, t2, t3, t4) {
  13424. var _ = this;
  13425. _.positional = t0;
  13426. _.positionalNodes = t1;
  13427. _.named = t2;
  13428. _.namedNodes = t3;
  13429. _.separator = t4;
  13430. },
  13431. _ConfiguredValue: function _ConfiguredValue(t0, t1, t2) {
  13432. this.value = t0;
  13433. this.configurationSpan = t1;
  13434. this.assignmentNode = t2;
  13435. },
  13436. _collectToList: function(element, soFar, $T) {
  13437. if (soFar == null)
  13438. soFar = H.setRuntimeTypeInfo([], [$T]);
  13439. J.add$1$ax(soFar, element);
  13440. return soFar;
  13441. },
  13442. _debounceAggregate: function(duration, collect, $T, $R) {
  13443. var t1 = {};
  13444. t1.soFar = t1.timer = null;
  13445. t1.shouldClose = false;
  13446. return new L._StreamTransformer(new R._debounceAggregate_closure(t1, duration, collect), new R._debounceAggregate_closure0(t1), H.instantiate1(L.from_handlers__StreamTransformer__defaultHandleError$closure(), $R), [$T, $R]);
  13447. },
  13448. _debounceAggregate_closure: function _debounceAggregate_closure(t0, t1, t2) {
  13449. this._box_0 = t0;
  13450. this.duration = t1;
  13451. this.collect = t2;
  13452. },
  13453. _debounceAggregate__closure: function _debounceAggregate__closure(t0, t1) {
  13454. this._box_0 = t0;
  13455. this.sink = t1;
  13456. },
  13457. _debounceAggregate_closure0: function _debounceAggregate_closure0(t0) {
  13458. this._box_0 = t0;
  13459. }
  13460. },
  13461. T = {Expression: function Expression() {
  13462. }, NumberExpression: function NumberExpression(t0, t1, t2) {
  13463. this.value = t0;
  13464. this.unit = t1;
  13465. this.span = t2;
  13466. }, ParenthesizedExpression: function ParenthesizedExpression(t0, t1) {
  13467. this.expression = t0;
  13468. this.span = t1;
  13469. }, SelectorExpression: function SelectorExpression(t0) {
  13470. this.span = t0;
  13471. }, MixinRule: function MixinRule(t0, t1, t2, t3, t4, t5) {
  13472. var _ = this;
  13473. _.hasContent = t0;
  13474. _.name = t1;
  13475. _.$arguments = t2;
  13476. _.span = t3;
  13477. _.children = t4;
  13478. _.hasDeclarations = t5;
  13479. }, UseRule: function UseRule(t0, t1, t2, t3) {
  13480. var _ = this;
  13481. _.url = t0;
  13482. _.namespace = t1;
  13483. _.configuration = t2;
  13484. _.span = t3;
  13485. }, UseRule_toString_closure: function UseRule_toString_closure() {
  13486. }, Selector: function Selector() {
  13487. }, EmptyExtender: function EmptyExtender() {
  13488. },
  13489. _prependParent: function(compound) {
  13490. var t3, _i,
  13491. t1 = compound.components,
  13492. first = C.JSArray_methods.get$first(t1),
  13493. t2 = J.getInterceptor$(first);
  13494. if (!!t2.$isUniversalSelector)
  13495. return;
  13496. if (!!t2.$isTypeSelector) {
  13497. t2 = first.name;
  13498. if (t2.namespace != null)
  13499. return;
  13500. t3 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  13501. t3.push(new M.ParentSelector(t2.name));
  13502. for (t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  13503. t3.push(t1.__internal$_current);
  13504. return X.CompoundSelector$(t3);
  13505. } else {
  13506. t2 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  13507. t2.push(new M.ParentSelector(null));
  13508. for (t3 = t1.length, _i = 0; _i < t3; ++_i)
  13509. t2.push(t1[_i]);
  13510. return X.CompoundSelector$(t2);
  13511. }
  13512. },
  13513. closure13: function closure13() {
  13514. },
  13515. _closure1: function _closure1() {
  13516. },
  13517. _closure2: function _closure2() {
  13518. },
  13519. closure12: function closure12() {
  13520. },
  13521. _closure: function _closure() {
  13522. },
  13523. _closure0: function _closure0() {
  13524. },
  13525. __closure: function __closure(t0) {
  13526. this.parent = t0;
  13527. },
  13528. closure11: function closure11() {
  13529. },
  13530. closure10: function closure10() {
  13531. },
  13532. closure9: function closure9() {
  13533. },
  13534. closure16: function closure16() {
  13535. },
  13536. closure15: function closure15() {
  13537. },
  13538. _closure3: function _closure3() {
  13539. },
  13540. closure14: function closure14() {
  13541. },
  13542. TrackingLogger: function TrackingLogger(t0) {
  13543. this._tracking$_logger = t0;
  13544. this._emittedDebug = this._emittedWarning = false;
  13545. },
  13546. _parseNumber: function(value, unit) {
  13547. var t1, t2, invalidUnit, operands, numerator, denominator, numeratorUnits, denominatorUnits;
  13548. if (unit == null || unit.length === 0)
  13549. return new T.SassNumber(value, C.List_empty, C.List_empty, null);
  13550. if (!J.contains$1$asx(unit, "*") && !C.JSString_methods.contains$1(unit, "/")) {
  13551. t1 = P.String;
  13552. t2 = H.setRuntimeTypeInfo([unit], [t1]);
  13553. t1 = P.List_List$unmodifiable(t2, t1);
  13554. return new T.SassNumber(value, t1, C.List_empty, null);
  13555. }
  13556. invalidUnit = new P.ArgumentError(true, unit, "unit", "is invalid.");
  13557. operands = unit.split("/");
  13558. t1 = operands.length;
  13559. if (t1 > 2)
  13560. throw H.wrapException(invalidUnit);
  13561. numerator = operands[0];
  13562. denominator = t1 === 1 ? null : operands[1];
  13563. t1 = P.String;
  13564. numeratorUnits = numerator.length === 0 ? H.setRuntimeTypeInfo([], [t1]) : H.setRuntimeTypeInfo(numerator.split("*"), [t1]);
  13565. if (C.JSArray_methods.any$1(numeratorUnits, new T._parseNumber_closure()))
  13566. throw H.wrapException(invalidUnit);
  13567. denominatorUnits = denominator == null ? H.setRuntimeTypeInfo([], [t1]) : H.setRuntimeTypeInfo(denominator.split("*"), [t1]);
  13568. if (C.JSArray_methods.any$1(denominatorUnits, new T._parseNumber_closure0()))
  13569. throw H.wrapException(invalidUnit);
  13570. return T.SassNumber$withUnits(value, denominatorUnits, numeratorUnits);
  13571. },
  13572. _NodeSassNumber: function _NodeSassNumber() {
  13573. },
  13574. closure98: function closure98() {
  13575. },
  13576. closure99: function closure99() {
  13577. },
  13578. closure100: function closure100() {
  13579. },
  13580. closure101: function closure101() {
  13581. },
  13582. closure102: function closure102() {
  13583. },
  13584. closure103: function closure103() {
  13585. },
  13586. _parseNumber_closure: function _parseNumber_closure() {
  13587. },
  13588. _parseNumber_closure0: function _parseNumber_closure0() {
  13589. },
  13590. SelectorParser: function SelectorParser(t0, t1, t2, t3) {
  13591. var _ = this;
  13592. _._allowParent = t0;
  13593. _._allowPlaceholder = t1;
  13594. _.scanner = t2;
  13595. _.logger = t3;
  13596. },
  13597. SelectorParser_parse_closure: function SelectorParser_parse_closure(t0) {
  13598. this.$this = t0;
  13599. },
  13600. SelectorParser_parseCompoundSelector_closure: function SelectorParser_parseCompoundSelector_closure(t0) {
  13601. this.$this = t0;
  13602. },
  13603. SassNumber$withUnits: function(value, denominatorUnits, numeratorUnits) {
  13604. var t1 = numeratorUnits == null ? C.List_empty : P.List_List$unmodifiable(numeratorUnits, P.String);
  13605. return new T.SassNumber(value, t1, denominatorUnits == null ? C.List_empty : P.List_List$unmodifiable(denominatorUnits, P.String), null);
  13606. },
  13607. SassNumber: function SassNumber(t0, t1, t2, t3) {
  13608. var _ = this;
  13609. _.value = t0;
  13610. _.numeratorUnits = t1;
  13611. _.denominatorUnits = t2;
  13612. _.asSlash = t3;
  13613. },
  13614. SassNumber_valueInUnits_closure: function SassNumber_valueInUnits_closure(t0, t1, t2) {
  13615. this._box_0 = t0;
  13616. this.$this = t1;
  13617. this.newNumerator = t2;
  13618. },
  13619. SassNumber_valueInUnits_closure0: function SassNumber_valueInUnits_closure0(t0, t1, t2) {
  13620. this.$this = t0;
  13621. this.newNumerators = t1;
  13622. this.newDenominators = t2;
  13623. },
  13624. SassNumber_valueInUnits_closure1: function SassNumber_valueInUnits_closure1(t0, t1, t2) {
  13625. this._box_0 = t0;
  13626. this.$this = t1;
  13627. this.newDenominator = t2;
  13628. },
  13629. SassNumber_valueInUnits_closure2: function SassNumber_valueInUnits_closure2(t0, t1, t2) {
  13630. this.$this = t0;
  13631. this.newNumerators = t1;
  13632. this.newDenominators = t2;
  13633. },
  13634. SassNumber_modulo_closure: function SassNumber_modulo_closure() {
  13635. },
  13636. SassNumber_plus_closure: function SassNumber_plus_closure() {
  13637. },
  13638. SassNumber_minus_closure: function SassNumber_minus_closure() {
  13639. },
  13640. SassNumber__multiplyUnits_closure: function SassNumber__multiplyUnits_closure(t0, t1, t2) {
  13641. this._box_0 = t0;
  13642. this.$this = t1;
  13643. this.numerator = t2;
  13644. },
  13645. SassNumber__multiplyUnits_closure0: function SassNumber__multiplyUnits_closure0(t0, t1) {
  13646. this.newNumerators = t0;
  13647. this.numerator = t1;
  13648. },
  13649. SassNumber__multiplyUnits_closure1: function SassNumber__multiplyUnits_closure1(t0, t1, t2) {
  13650. this._box_0 = t0;
  13651. this.$this = t1;
  13652. this.numerator = t2;
  13653. },
  13654. SassNumber__multiplyUnits_closure2: function SassNumber__multiplyUnits_closure2(t0, t1) {
  13655. this.newNumerators = t0;
  13656. this.numerator = t1;
  13657. },
  13658. SassNumber__areAnyConvertible_closure: function SassNumber__areAnyConvertible_closure(t0, t1) {
  13659. this.$this = t0;
  13660. this.units2 = t1;
  13661. },
  13662. SassNumber__canonicalMultiplier_closure: function SassNumber__canonicalMultiplier_closure() {
  13663. },
  13664. SingleMapping_SingleMapping$fromEntries: function(entries) {
  13665. var lines, t1, t2, urls, t3, files, t4, t5, targetEntries, lineNum, _i, sourceEntry, sourceUrl, t6, urlId, _null = null,
  13666. sourceEntries = P.List_List$from(entries, true, _null);
  13667. C.JSArray_methods.sort$0(sourceEntries);
  13668. lines = H.setRuntimeTypeInfo([], [T.TargetLineEntry]);
  13669. t1 = P.String;
  13670. t2 = P.int;
  13671. urls = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
  13672. t3 = Y.SourceFile;
  13673. files = P.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
  13674. for (t4 = sourceEntries.length, t5 = [T.TargetEntry], targetEntries = _null, lineNum = targetEntries, _i = 0; _i < sourceEntries.length; sourceEntries.length === t4 || (0, H.throwConcurrentModificationError)(sourceEntries), ++_i) {
  13675. sourceEntry = sourceEntries[_i];
  13676. if (lineNum == null || sourceEntry.get$target().get$line() > lineNum) {
  13677. lineNum = sourceEntry.get$target().get$line();
  13678. targetEntries = H.setRuntimeTypeInfo([], t5);
  13679. lines.push(new T.TargetLineEntry(lineNum, targetEntries));
  13680. }
  13681. if (sourceEntry.get$source() == null)
  13682. targetEntries.push(new T.TargetEntry(sourceEntry.get$target().get$column(), _null, _null, _null, _null));
  13683. else {
  13684. sourceUrl = sourceEntry.get$source().get$sourceUrl();
  13685. t6 = sourceUrl == null ? "" : sourceUrl.toString$0(0);
  13686. urlId = urls.putIfAbsent$2(t6, new T.SingleMapping_SingleMapping$fromEntries_closure(urls));
  13687. if (sourceEntry.get$source() instanceof Y.FileLocation)
  13688. files.putIfAbsent$2(urlId, new T.SingleMapping_SingleMapping$fromEntries_closure0(sourceEntry));
  13689. sourceEntry.get$identifierName();
  13690. targetEntries.push(new T.TargetEntry(sourceEntry.get$target().get$column(), urlId, sourceEntry.get$source().get$line(), sourceEntry.get$source().get$column(), _null));
  13691. }
  13692. }
  13693. t4 = urls.get$values();
  13694. t3 = H.MappedIterable_MappedIterable(t4, new T.SingleMapping_SingleMapping$fromEntries_closure1(files), H.getRuntimeTypeArgument(t4, "Iterable", 0), t3);
  13695. t3 = P.List_List$from(t3, true, H.getRuntimeTypeArgument(t3, "Iterable", 0));
  13696. t4 = urls.get$keys();
  13697. t4 = P.List_List$from(t4, true, H.getRuntimeTypeArgument(t4, "Iterable", 0));
  13698. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2).get$keys();
  13699. return new T.SingleMapping(t4, P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "Iterable", 0)), t3, lines, _null, P.LinkedHashMap_LinkedHashMap$_empty(t1, _null));
  13700. },
  13701. Mapping: function Mapping() {
  13702. },
  13703. SingleMapping: function SingleMapping(t0, t1, t2, t3, t4, t5) {
  13704. var _ = this;
  13705. _.urls = t0;
  13706. _.names = t1;
  13707. _.files = t2;
  13708. _.lines = t3;
  13709. _.targetUrl = t4;
  13710. _.sourceRoot = null;
  13711. _.extensions = t5;
  13712. },
  13713. SingleMapping_SingleMapping$fromEntries_closure: function SingleMapping_SingleMapping$fromEntries_closure(t0) {
  13714. this.urls = t0;
  13715. },
  13716. SingleMapping_SingleMapping$fromEntries_closure0: function SingleMapping_SingleMapping$fromEntries_closure0(t0) {
  13717. this.sourceEntry = t0;
  13718. },
  13719. SingleMapping_SingleMapping$fromEntries_closure1: function SingleMapping_SingleMapping$fromEntries_closure1(t0) {
  13720. this.files = t0;
  13721. },
  13722. SingleMapping_toJson_closure: function SingleMapping_toJson_closure() {
  13723. },
  13724. SingleMapping_toJson_closure0: function SingleMapping_toJson_closure0(t0) {
  13725. this.result = t0;
  13726. },
  13727. TargetLineEntry: function TargetLineEntry(t0, t1) {
  13728. this.line = t0;
  13729. this.entries = t1;
  13730. },
  13731. TargetEntry: function TargetEntry(t0, t1, t2, t3, t4) {
  13732. var _ = this;
  13733. _.column = t0;
  13734. _.sourceUrlId = t1;
  13735. _.sourceLine = t2;
  13736. _.sourceColumn = t3;
  13737. _.sourceNameId = t4;
  13738. },
  13739. LazyTrace: function LazyTrace(t0) {
  13740. this._thunk = t0;
  13741. this._lazy_trace$_inner = null;
  13742. },
  13743. LazyTrace_terse_closure: function LazyTrace_terse_closure(t0) {
  13744. this.$this = t0;
  13745. },
  13746. isWhitespace: function(character) {
  13747. return character === 32 || character === 9 || T.isNewline(character);
  13748. },
  13749. isNewline: function(character) {
  13750. return character === 10 || character === 13 || character === 12;
  13751. },
  13752. isAlphabetic0: function(character) {
  13753. var t1;
  13754. if (!(character >= 97 && character <= 122))
  13755. t1 = character >= 65 && character <= 90;
  13756. else
  13757. t1 = true;
  13758. return t1;
  13759. },
  13760. isDigit: function(character) {
  13761. return character != null && character >= 48 && character <= 57;
  13762. },
  13763. isHex: function(character) {
  13764. if (character == null)
  13765. return false;
  13766. if (T.isDigit(character))
  13767. return true;
  13768. if (character >= 97 && character <= 102)
  13769. return true;
  13770. if (character >= 65 && character <= 70)
  13771. return true;
  13772. return false;
  13773. },
  13774. isPrivate: function(identifier) {
  13775. var first = C.JSString_methods._codeUnitAt$1(identifier, 0);
  13776. return first === 45 || first === 95;
  13777. },
  13778. asHex: function(character) {
  13779. if (character <= 57)
  13780. return character - 48;
  13781. if (character <= 70)
  13782. return 10 + character - 65;
  13783. return 10 + character - 97;
  13784. },
  13785. hexCharFor: function(number) {
  13786. return number < 10 ? 48 + number : 87 + number;
  13787. },
  13788. opposite: function(character) {
  13789. switch (character) {
  13790. case 40:
  13791. return 41;
  13792. case 123:
  13793. return 125;
  13794. case 91:
  13795. return 93;
  13796. default:
  13797. return;
  13798. }
  13799. },
  13800. characterEqualsIgnoreCase: function(character1, character2) {
  13801. var upperCase1;
  13802. if (character1 === character2)
  13803. return true;
  13804. if ((character1 ^ character2) !== 32)
  13805. return false;
  13806. upperCase1 = character1 & 4294967263;
  13807. return upperCase1 >= 65 && upperCase1 <= 90;
  13808. },
  13809. fuzzyEquals: function(number1, number2) {
  13810. return Math.abs(number1 - number2) < $.$get$epsilon();
  13811. },
  13812. fuzzyLessThan: function(number1, number2) {
  13813. return number1 < number2 && !(Math.abs(number1 - number2) < $.$get$epsilon());
  13814. },
  13815. fuzzyLessThanOrEquals: function(number1, number2) {
  13816. return number1 < number2 || Math.abs(number1 - number2) < $.$get$epsilon();
  13817. },
  13818. fuzzyGreaterThan: function(number1, number2) {
  13819. return number1 > number2 && !(Math.abs(number1 - number2) < $.$get$epsilon());
  13820. },
  13821. fuzzyGreaterThanOrEquals: function(number1, number2) {
  13822. return number1 > number2 || Math.abs(number1 - number2) < $.$get$epsilon();
  13823. },
  13824. fuzzyIsInt: function(number) {
  13825. if (typeof number === "number" && Math.floor(number) === number)
  13826. return true;
  13827. return Math.abs(C.JSNumber_methods.$mod(Math.abs(number - 0.5), 1) - 0.5) < $.$get$epsilon();
  13828. },
  13829. fuzzyRound: function(number) {
  13830. var t1;
  13831. if (number > 0) {
  13832. t1 = C.JSNumber_methods.$mod(number, 1);
  13833. return t1 < 0.5 && !(Math.abs(t1 - 0.5) < $.$get$epsilon()) ? C.JSNumber_methods.floor$0(number) : C.JSNumber_methods.ceil$0(number);
  13834. } else {
  13835. t1 = C.JSNumber_methods.$mod(number, 1);
  13836. return t1 < 0.5 || Math.abs(t1 - 0.5) < $.$get$epsilon() ? C.JSNumber_methods.floor$0(number) : C.JSNumber_methods.ceil$0(number);
  13837. }
  13838. },
  13839. fuzzyCheckRange: function(number, min, max) {
  13840. var t1 = $.$get$epsilon();
  13841. if (Math.abs(number - min) < t1)
  13842. return min;
  13843. if (Math.abs(number - max) < t1)
  13844. return max;
  13845. if (number > min && number < max)
  13846. return number;
  13847. return;
  13848. },
  13849. fuzzyAssertRange: function(number, min, max, $name) {
  13850. var result = T.fuzzyCheckRange(number, min, max);
  13851. if (result != null)
  13852. return result;
  13853. throw H.wrapException(P.RangeError$value(number, $name, "must be between " + min + " and " + max + "."));
  13854. }
  13855. },
  13856. D = {ListExpression: function ListExpression(t0, t1, t2, t3) {
  13857. var _ = this;
  13858. _.contents = t0;
  13859. _.separator = t1;
  13860. _.hasBrackets = t2;
  13861. _.span = t3;
  13862. }, ListExpression_toString_closure: function ListExpression_toString_closure(t0) {
  13863. this.$this = t0;
  13864. }, StringExpression: function StringExpression(t0, t1) {
  13865. this.text = t0;
  13866. this.hasQuotes = t1;
  13867. }, ErrorRule: function ErrorRule(t0, t1) {
  13868. this.expression = t0;
  13869. this.span = t1;
  13870. },
  13871. SelectorList$: function(components) {
  13872. var t1 = P.List_List$unmodifiable(components, S.ComplexSelector);
  13873. if (t1.length === 0)
  13874. H.throwExpression(P.ArgumentError$("components may not be empty."));
  13875. return new D.SelectorList(t1);
  13876. },
  13877. SelectorList_SelectorList$parse: function(contents, allowParent, allowPlaceholder, logger) {
  13878. var t1 = S.SpanScanner$(contents, null);
  13879. return new T.SelectorParser(allowParent, allowPlaceholder, t1, logger == null ? C.StderrLogger_false : logger).parse$0();
  13880. },
  13881. SelectorList: function SelectorList(t0) {
  13882. this.components = t0;
  13883. },
  13884. SelectorList_isInvisible_closure: function SelectorList_isInvisible_closure() {
  13885. },
  13886. SelectorList_asSassList_closure: function SelectorList_asSassList_closure() {
  13887. },
  13888. SelectorList_asSassList__closure: function SelectorList_asSassList__closure() {
  13889. },
  13890. SelectorList_unify_closure: function SelectorList_unify_closure(t0) {
  13891. this.other = t0;
  13892. },
  13893. SelectorList_unify__closure: function SelectorList_unify__closure(t0) {
  13894. this.complex1 = t0;
  13895. },
  13896. SelectorList_unify___closure: function SelectorList_unify___closure() {
  13897. },
  13898. SelectorList_resolveParentSelectors_closure: function SelectorList_resolveParentSelectors_closure(t0, t1, t2) {
  13899. this.$this = t0;
  13900. this.implicitParent = t1;
  13901. this.parent = t2;
  13902. },
  13903. SelectorList_resolveParentSelectors__closure: function SelectorList_resolveParentSelectors__closure(t0) {
  13904. this.complex = t0;
  13905. },
  13906. SelectorList_resolveParentSelectors__closure0: function SelectorList_resolveParentSelectors__closure0(t0) {
  13907. this._box_0 = t0;
  13908. },
  13909. SelectorList__complexContainsParentSelector_closure: function SelectorList__complexContainsParentSelector_closure() {
  13910. },
  13911. SelectorList__complexContainsParentSelector__closure: function SelectorList__complexContainsParentSelector__closure() {
  13912. },
  13913. SelectorList__resolveParentSelectorsCompound_closure: function SelectorList__resolveParentSelectorsCompound_closure() {
  13914. },
  13915. SelectorList__resolveParentSelectorsCompound_closure0: function SelectorList__resolveParentSelectorsCompound_closure0(t0) {
  13916. this.parent = t0;
  13917. },
  13918. SelectorList__resolveParentSelectorsCompound_closure1: function SelectorList__resolveParentSelectorsCompound_closure1(t0, t1) {
  13919. this.compound = t0;
  13920. this.resolvedMembers = t1;
  13921. },
  13922. PseudoSelector$: function($name, argument, element, selector) {
  13923. var t1 = !element,
  13924. t2 = t1 && !D.PseudoSelector__isFakePseudoElement($name);
  13925. return new D.PseudoSelector($name, B.unvendor($name), t2, t1, argument, selector);
  13926. },
  13927. PseudoSelector__isFakePseudoElement: function($name) {
  13928. switch (C.JSString_methods._codeUnitAt$1($name, 0)) {
  13929. case 97:
  13930. case 65:
  13931. return B.equalsIgnoreCase($name, "after");
  13932. case 98:
  13933. case 66:
  13934. return B.equalsIgnoreCase($name, "before");
  13935. case 102:
  13936. case 70:
  13937. return B.equalsIgnoreCase($name, "first-line") || B.equalsIgnoreCase($name, "first-letter");
  13938. default:
  13939. return false;
  13940. }
  13941. },
  13942. PseudoSelector: function PseudoSelector(t0, t1, t2, t3, t4, t5) {
  13943. var _ = this;
  13944. _.name = t0;
  13945. _.normalizedName = t1;
  13946. _.isClass = t2;
  13947. _.isSyntacticClass = t3;
  13948. _.argument = t4;
  13949. _.selector = t5;
  13950. _._pseudo$_maxSpecificity = _._pseudo$_minSpecificity = null;
  13951. },
  13952. QualifiedName: function QualifiedName(t0, t1) {
  13953. this.name = t0;
  13954. this.namespace = t1;
  13955. },
  13956. Callable: function Callable() {
  13957. },
  13958. compileStylesheet: function(options, graph, source, destination, ifModified) {
  13959. return D.compileStylesheet$body(options, graph, source, destination, ifModified);
  13960. },
  13961. compileStylesheet$body: function(options, graph, source, destination, ifModified) {
  13962. var $async$goto = 0,
  13963. $async$completer = P._makeAsyncAwaitCompleter(-1),
  13964. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], syntax, result, importCache, error, exception, t1, t2, t3, t4, t5, t6, t7, result0, css, buffer, sourceName, destinationName, importer, $async$exception;
  13965. var $async$compileStylesheet = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  13966. if ($async$errorCode === 1) {
  13967. $async$currentError = $async$result;
  13968. $async$goto = $async$handler;
  13969. }
  13970. while (true)
  13971. switch ($async$goto) {
  13972. case 0:
  13973. // Function start
  13974. importer = new F.FilesystemImporter(D.absolute("."));
  13975. if (ifModified)
  13976. try {
  13977. if (source != null && destination != null && !graph.modifiedSince$3($.$get$context().toUri$1(source), B.modificationTime(destination), importer)) {
  13978. // goto return
  13979. $async$goto = 1;
  13980. break;
  13981. }
  13982. } catch (exception) {
  13983. if (!(H.unwrapException(exception) instanceof B.FileSystemException))
  13984. throw exception;
  13985. }
  13986. syntax = null;
  13987. if (H.boolTypeCast(options._ifParsed$1("indented")) === true)
  13988. syntax = C.Syntax_Sass;
  13989. else if (source != null)
  13990. syntax = M.Syntax_forPath(source);
  13991. else
  13992. syntax = C.Syntax_SCSS;
  13993. result = null;
  13994. $async$handler = 4;
  13995. t1 = options._options;
  13996. $async$goto = H.boolTypeCast(t1.$index(0, "async")) ? 7 : 9;
  13997. break;
  13998. case 7:
  13999. // then
  14000. t2 = H.setRuntimeTypeInfo([], [B.AsyncImporter]);
  14001. t3 = H.subtypeCast(t1.$index(0, "load-path"), "$isList", [P.String], "$asList");
  14002. t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  14003. t3 = O.AsyncImportCache__toImporters(t2, t3, null);
  14004. t2 = t4 == null ? C.StderrLogger_false : t4;
  14005. t4 = P.Uri;
  14006. importCache = new O.AsyncImportCache(t3, t2, P.LinkedHashMap_LinkedHashMap$_empty(t4, [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t4, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t4, E.ImporterResult));
  14007. $async$goto = source == null ? 10 : 12;
  14008. break;
  14009. case 10:
  14010. // then
  14011. $async$goto = 13;
  14012. return P._asyncAwait(B.readStdin(), $async$compileStylesheet);
  14013. case 13:
  14014. // returning from await.
  14015. t2 = $async$result;
  14016. t3 = syntax;
  14017. t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  14018. t5 = D.absolute(".");
  14019. t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  14020. t7 = options.get$emitSourceMap();
  14021. $async$goto = 14;
  14022. return P._asyncAwait(X.compileStringAsync(t2, H.boolTypeCast(t1.$index(0, "charset")), null, importCache, new F.FilesystemImporter(t5), null, null, t4, null, t7, t6, t3, null, true), $async$compileStylesheet);
  14023. case 14:
  14024. // returning from await.
  14025. result0 = $async$result;
  14026. // goto join
  14027. $async$goto = 11;
  14028. break;
  14029. case 12:
  14030. // else
  14031. t2 = syntax;
  14032. t3 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  14033. t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  14034. t5 = options.get$emitSourceMap();
  14035. $async$goto = 15;
  14036. return P._asyncAwait(X.compileAsync(source, H.boolTypeCast(t1.$index(0, "charset")), null, importCache, null, null, t3, null, t5, t4, t2, true), $async$compileStylesheet);
  14037. case 15:
  14038. // returning from await.
  14039. result0 = $async$result;
  14040. case 11:
  14041. // join
  14042. result = result0;
  14043. // goto join
  14044. $async$goto = 8;
  14045. break;
  14046. case 9:
  14047. // else
  14048. $async$goto = source == null ? 16 : 18;
  14049. break;
  14050. case 16:
  14051. // then
  14052. $async$goto = 19;
  14053. return P._asyncAwait(B.readStdin(), $async$compileStylesheet);
  14054. case 19:
  14055. // returning from await.
  14056. t2 = $async$result;
  14057. t3 = syntax;
  14058. t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  14059. t5 = D.absolute(".");
  14060. t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  14061. t7 = options.get$emitSourceMap();
  14062. result0 = U.compileString(t2, H.boolTypeCast(t1.$index(0, "charset")), null, graph.importCache, new F.FilesystemImporter(t5), null, null, t4, null, t7, t6, t3, null, true);
  14063. // goto join
  14064. $async$goto = 17;
  14065. break;
  14066. case 18:
  14067. // else
  14068. t2 = syntax;
  14069. t3 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  14070. t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  14071. t5 = options.get$emitSourceMap();
  14072. result0 = U.compile(source, H.boolTypeCast(t1.$index(0, "charset")), null, graph.importCache, null, null, t3, null, t5, t4, t2, true);
  14073. case 17:
  14074. // join
  14075. result = result0;
  14076. case 8:
  14077. // join
  14078. $async$handler = 2;
  14079. // goto after finally
  14080. $async$goto = 6;
  14081. break;
  14082. case 4:
  14083. // catch
  14084. $async$handler = 3;
  14085. $async$exception = $async$currentError;
  14086. t1 = H.unwrapException($async$exception);
  14087. if (t1 instanceof E.SassException) {
  14088. error = t1;
  14089. if (options.get$emitErrorCss())
  14090. if (destination == null)
  14091. P.print(error.toCssString$0());
  14092. else {
  14093. B.ensureDir($.$get$context().dirname$1(destination));
  14094. B.writeFile(destination, error.toCssString$0() + "\n");
  14095. }
  14096. throw $async$exception;
  14097. } else
  14098. throw $async$exception;
  14099. // goto after finally
  14100. $async$goto = 6;
  14101. break;
  14102. case 3:
  14103. // uncaught
  14104. // goto rethrow
  14105. $async$goto = 2;
  14106. break;
  14107. case 6:
  14108. // after finally
  14109. css = result._serialize.css + D._writeSourceMap(options, result._serialize.sourceMap, destination);
  14110. if (destination == null) {
  14111. if (css.length !== 0)
  14112. P.print(css);
  14113. } else {
  14114. B.ensureDir($.$get$context().dirname$1(destination));
  14115. B.writeFile(destination, css + "\n");
  14116. }
  14117. t1 = options._options;
  14118. if (!H.boolTypeCast(t1.$index(0, "quiet")))
  14119. t1 = !H.boolTypeCast(t1.$index(0, "update")) && !H.boolTypeCast(t1.$index(0, "watch"));
  14120. else
  14121. t1 = true;
  14122. if (t1) {
  14123. // goto return
  14124. $async$goto = 1;
  14125. break;
  14126. }
  14127. buffer = new P.StringBuffer("");
  14128. t1 = options.get$color() ? buffer._contents = "\x1b[32m" : "";
  14129. if (source == null)
  14130. sourceName = "stdin";
  14131. else {
  14132. t2 = $.$get$context();
  14133. sourceName = t2.prettyUri$1(t2.toUri$1(source));
  14134. }
  14135. t2 = $.$get$context();
  14136. destinationName = t2.prettyUri$1(t2.toUri$1(destination));
  14137. t1 += "Compiled " + H.S(sourceName) + " to " + H.S(destinationName) + ".";
  14138. buffer._contents = t1;
  14139. if (options.get$color())
  14140. buffer._contents = t1 + "\x1b[0m";
  14141. P.print(buffer);
  14142. case 1:
  14143. // return
  14144. return P._asyncReturn($async$returnValue, $async$completer);
  14145. case 2:
  14146. // rethrow
  14147. return P._asyncRethrow($async$currentError, $async$completer);
  14148. }
  14149. });
  14150. return P._asyncStartSync($async$compileStylesheet, $async$completer);
  14151. },
  14152. _writeSourceMap: function(options, sourceMap, destination) {
  14153. var t1, sourceMapText, url, sourceMapPath, t2;
  14154. if (sourceMap == null)
  14155. return "";
  14156. if (destination != null) {
  14157. t1 = $.$get$context();
  14158. sourceMap.targetUrl = J.toString$0$(t1.toUri$1(X.ParsedPath_ParsedPath$parse(destination, t1.style).get$basename()));
  14159. }
  14160. B.mapInPlace(sourceMap.urls, new D._writeSourceMap_closure(options, destination));
  14161. t1 = options._options;
  14162. sourceMapText = C.C_JsonCodec.encode$2$toEncodable(sourceMap.toJson$1$includeSourceContents(H.boolTypeCast(t1.$index(0, "embed-sources"))), null);
  14163. if (H.boolTypeCast(t1.$index(0, "embed-source-map")))
  14164. url = P.Uri_Uri$dataFromString(sourceMapText, C.C_Utf8Codec, "application/json");
  14165. else {
  14166. sourceMapPath = J.$add$ansx(destination, ".map");
  14167. t2 = $.$get$context();
  14168. B.ensureDir(t2.dirname$1(sourceMapPath));
  14169. B.writeFile(sourceMapPath, sourceMapText);
  14170. url = t2.toUri$1(t2.relative$2$from(sourceMapPath, t2.dirname$1(destination)));
  14171. }
  14172. t1 = (J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded) === C.OutputStyle_compressed ? "" : "\n\n";
  14173. return t1 + ("/*# sourceMappingURL=" + H.S(url) + " */");
  14174. },
  14175. _writeSourceMap_closure: function _writeSourceMap_closure(t0, t1) {
  14176. this.options = t0;
  14177. this.destination = t1;
  14178. },
  14179. closure44: function closure44() {
  14180. },
  14181. closure43: function closure43() {
  14182. },
  14183. closure42: function closure42() {
  14184. },
  14185. closure41: function closure41() {
  14186. },
  14187. closure40: function closure40() {
  14188. },
  14189. closure39: function closure39() {
  14190. },
  14191. _closure4: function _closure4() {
  14192. },
  14193. _closure5: function _closure5(t0) {
  14194. this._box_0 = t0;
  14195. },
  14196. _closure6: function _closure6(t0) {
  14197. this._box_0 = t0;
  14198. },
  14199. closure38: function closure38() {
  14200. },
  14201. closure36: function closure36() {
  14202. },
  14203. closure37: function closure37() {
  14204. },
  14205. _codepointForIndex: function(index, lengthInCodepoints, allowNegative) {
  14206. var result;
  14207. if (index === 0)
  14208. return 0;
  14209. if (index > 0)
  14210. return Math.min(index - 1, H.checkNum(lengthInCodepoints));
  14211. result = lengthInCodepoints + index;
  14212. if (result < 0 && !allowNegative)
  14213. return 0;
  14214. return result;
  14215. },
  14216. closure8: function closure8() {
  14217. },
  14218. closure7: function closure7() {
  14219. },
  14220. closure3: function closure3() {
  14221. },
  14222. closure2: function closure2() {
  14223. },
  14224. closure1: function closure1() {
  14225. },
  14226. closure0: function closure0() {
  14227. },
  14228. closure6: function closure6() {
  14229. },
  14230. closure5: function closure5() {
  14231. },
  14232. closure4: function closure4() {
  14233. },
  14234. Exports: function Exports() {
  14235. },
  14236. _NodeSassList: function _NodeSassList() {
  14237. },
  14238. closure112: function closure112() {
  14239. },
  14240. _closure17: function _closure17() {
  14241. },
  14242. closure113: function closure113() {
  14243. },
  14244. closure114: function closure114() {
  14245. },
  14246. closure115: function closure115() {
  14247. },
  14248. closure116: function closure116() {
  14249. },
  14250. closure117: function closure117() {
  14251. },
  14252. closure118: function closure118() {
  14253. },
  14254. _NodeSassString: function _NodeSassString() {
  14255. },
  14256. closure94: function closure94() {
  14257. },
  14258. closure95: function closure95() {
  14259. },
  14260. closure96: function closure96() {
  14261. },
  14262. closure97: function closure97() {
  14263. },
  14264. SourceMapBuffer: function SourceMapBuffer(t0, t1, t2) {
  14265. var _ = this;
  14266. _._source_map_buffer$_buffer = t0;
  14267. _._entries = t1;
  14268. _._sourceFiles = t2;
  14269. _._column = _._line = 0;
  14270. _._inSpan = false;
  14271. },
  14272. SourceMapBuffer_sourceFiles_closure: function SourceMapBuffer_sourceFiles_closure() {
  14273. },
  14274. SourceMapBuffer__addEntry_closure: function SourceMapBuffer__addEntry_closure(t0) {
  14275. this.source = t0;
  14276. },
  14277. SourceMapBuffer_buildSourceMap_closure: function SourceMapBuffer_buildSourceMap_closure(t0, t1) {
  14278. this._box_0 = t0;
  14279. this.prefixLength = t1;
  14280. },
  14281. SassArgumentList: function SassArgumentList(t0, t1, t2, t3) {
  14282. var _ = this;
  14283. _._keywords = t0;
  14284. _._wereKeywordsAccessed = false;
  14285. _._list$_contents = t1;
  14286. _.separator = t2;
  14287. _.hasBrackets = t3;
  14288. },
  14289. SassList$: function(contents, separator, brackets) {
  14290. var t1 = new D.SassList(P.List_List$unmodifiable(contents, F.Value), separator, brackets);
  14291. t1.SassList$3$brackets(contents, separator, brackets);
  14292. return t1;
  14293. },
  14294. SassList: function SassList(t0, t1, t2) {
  14295. this._list$_contents = t0;
  14296. this.separator = t1;
  14297. this.hasBrackets = t2;
  14298. },
  14299. SassList_isBlank_closure: function SassList_isBlank_closure() {
  14300. },
  14301. ListSeparator: function ListSeparator(t0) {
  14302. this._list$_name = t0;
  14303. },
  14304. SassString$: function(text, quotes) {
  14305. return new D.SassString(text, quotes);
  14306. },
  14307. SassString: function SassString(t0, t1) {
  14308. this.text = t0;
  14309. this.hasQuotes = t1;
  14310. this._sassLength = null;
  14311. },
  14312. RecursiveStatementVisitor: function RecursiveStatementVisitor() {
  14313. },
  14314. SourceLocationMixin: function SourceLocationMixin() {
  14315. },
  14316. current: function() {
  14317. var exception, t1, path, lastIndex, uri = null;
  14318. try {
  14319. uri = P.Uri_base();
  14320. } catch (exception) {
  14321. if (!!J.getInterceptor$(H.unwrapException(exception)).$isException) {
  14322. t1 = $._current;
  14323. if (t1 != null)
  14324. return t1;
  14325. throw exception;
  14326. } else
  14327. throw exception;
  14328. }
  14329. if (J.$eq$(uri, $._currentUriBase))
  14330. return $._current;
  14331. $._currentUriBase = uri;
  14332. if ($.$get$Style_platform() == $.$get$Style_url())
  14333. return $._current = uri.resolve$1(".").toString$0(0);
  14334. else {
  14335. path = uri.toFilePath$0();
  14336. lastIndex = path.length - 1;
  14337. return $._current = lastIndex === 0 ? path : C.JSString_methods.substring$2(path, 0, lastIndex);
  14338. }
  14339. },
  14340. absolute: function(part1) {
  14341. var _null = null;
  14342. return $.$get$context().absolute$7(part1, _null, _null, _null, _null, _null, _null);
  14343. },
  14344. dirname: function(path) {
  14345. return $.$get$context().dirname$1(path);
  14346. },
  14347. join: function(part1, part2, part3) {
  14348. var _null = null;
  14349. return $.$get$context().join$8(0, part1, part2, part3, _null, _null, _null, _null, _null);
  14350. },
  14351. prettyUri: function(uri) {
  14352. return $.$get$context().prettyUri$1(uri);
  14353. }
  14354. },
  14355. A = {MapExpression: function MapExpression(t0, t1) {
  14356. this.pairs = t0;
  14357. this.span = t1;
  14358. }, MapExpression_toString_closure: function MapExpression_toString_closure() {
  14359. }, IncludeRule: function IncludeRule(t0, t1, t2, t3, t4) {
  14360. var _ = this;
  14361. _.namespace = t0;
  14362. _.name = t1;
  14363. _.$arguments = t2;
  14364. _.content = t3;
  14365. _.span = t4;
  14366. },
  14367. watch: function(options, graph) {
  14368. var $async$goto = 0,
  14369. $async$completer = P._makeAsyncAwaitCompleter(-1),
  14370. $async$returnValue, t4, t5, t6, t7, dirWatcher, watcher, destination, t1, t2, t3;
  14371. var $async$watch = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  14372. if ($async$errorCode === 1)
  14373. return P._asyncRethrow($async$result, $async$completer);
  14374. while (true)
  14375. switch ($async$goto) {
  14376. case 0:
  14377. // Function start
  14378. t1 = P.String;
  14379. t2 = [t1];
  14380. t3 = H.setRuntimeTypeInfo([], t2);
  14381. for (options._ensureSources$0(), t4 = options._sourceDirectoriesToDestinations.get$keys(), t4 = t4.get$iterator(t4); t4.moveNext$0();)
  14382. t3.push(t4.get$current(t4));
  14383. for (options._ensureSources$0(), t4 = options._sourcesToDestinations.get$keys(), t4 = H.MappedIterable_MappedIterable(t4, D.path__dirname$closure(), H.getRuntimeTypeArgument(t4, "Iterable", 0), t1), t4 = new H.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f); t4.moveNext$0();)
  14384. t3.push(t4.__internal$_current);
  14385. for (t4 = options._options, t2 = J.get$iterator$ax(H.subtypeCast(t4.$index(0, "load-path"), "$isList", t2, "$asList")); t2.moveNext$0();)
  14386. t3.push(t2.get$current(t2));
  14387. t2 = H.boolTypeCast(t4.$index(0, "poll"));
  14388. t5 = [P.Stream, E.WatchEvent];
  14389. t6 = E.WatchEvent;
  14390. t7 = new L.StreamGroup(C._StreamGroupState_dormant, new H.JsLinkedHashMap([t5, [P.StreamSubscription, E.WatchEvent]]), [t6]);
  14391. t7._controller = P.StreamController_StreamController(t7.get$_onCancel(), t7.get$_onListen(), t7.get$_onPause(), t7.get$_onResume(), true, t6);
  14392. dirWatcher = new U.MultiDirWatcher(P.LinkedHashMap_LinkedHashMap$_empty(t1, t5), t7, t2);
  14393. $async$goto = 3;
  14394. return P._asyncAwait(P.Future_wait(new H.MappedListIterable(t3, new A.watch_closure(dirWatcher), [H.getTypeArgumentByIndex(t3, 0), [P.Future, -1]]), -1), $async$watch);
  14395. case 3:
  14396. // returning from await.
  14397. watcher = new A._Watcher(options, graph);
  14398. options._ensureSources$0(), t1 = options._sourcesToDestinations.get$keys(), t1 = t1.get$iterator(t1);
  14399. case 4:
  14400. // for condition
  14401. if (!t1.moveNext$0()) {
  14402. // goto after for
  14403. $async$goto = 5;
  14404. break;
  14405. }
  14406. t2 = t1.get$current(t1);
  14407. options._ensureSources$0();
  14408. destination = options._sourcesToDestinations.$index(0, t2);
  14409. t3 = $.$get$context();
  14410. graph.addCanonical$3(new F.FilesystemImporter(t3.absolute$7(".", null, null, null, null, null, null)), t3.toUri$1(t3.canonicalize$1(t2)), t3.toUri$1(t2));
  14411. $async$goto = 6;
  14412. return P._asyncAwait(watcher.compile$3$ifModified(t2, destination, true), $async$watch);
  14413. case 6:
  14414. // returning from await.
  14415. if (!$async$result && H.boolTypeCast(t4.$index(0, "stop-on-error"))) {
  14416. dirWatcher._group._controller._subscribe$4(null, null, null, false).cancel$0();
  14417. // goto return
  14418. $async$goto = 1;
  14419. break;
  14420. }
  14421. // goto for condition
  14422. $async$goto = 4;
  14423. break;
  14424. case 5:
  14425. // after for
  14426. P.print("Sass is watching for changes. Press Ctrl-C to stop.\n");
  14427. $async$goto = 7;
  14428. return P._asyncAwait(watcher.watch$1(0, dirWatcher), $async$watch);
  14429. case 7:
  14430. // returning from await.
  14431. case 1:
  14432. // return
  14433. return P._asyncReturn($async$returnValue, $async$completer);
  14434. }
  14435. });
  14436. return P._asyncStartSync($async$watch, $async$completer);
  14437. },
  14438. watch_closure: function watch_closure(t0) {
  14439. this.dirWatcher = t0;
  14440. },
  14441. _Watcher: function _Watcher(t0, t1) {
  14442. this._watch$_options = t0;
  14443. this._graph = t1;
  14444. },
  14445. _Watcher__debounceEvents_closure: function _Watcher__debounceEvents_closure() {
  14446. },
  14447. _Watcher__debounceEvents__closure: function _Watcher__debounceEvents__closure(t0) {
  14448. this.typeForPath = t0;
  14449. },
  14450. MergedExtension_merge: function(left, right) {
  14451. var t2, t3, t4,
  14452. t1 = left.extender;
  14453. if (!J.$eq$(t1, right.extender) || !J.$eq$(left.target, right.target))
  14454. throw H.wrapException(P.ArgumentError$(left.toString$0(0) + " and " + right.toString$0(0) + " aren't the same extension."));
  14455. t2 = left.mediaContext;
  14456. t3 = t2 == null;
  14457. if (!t3) {
  14458. t4 = right.mediaContext;
  14459. t4 = t4 != null && !C.C_ListEquality.equals$2(t2, t4);
  14460. } else
  14461. t4 = false;
  14462. if (t4)
  14463. throw H.wrapException(E.SassException$("From " + left.span.message$1(0, "") + "\nYou may not @extend the same selector from within different media queries.", right.span));
  14464. if (right.isOptional && right.mediaContext == null)
  14465. return left;
  14466. if (left.isOptional && t3)
  14467. return right;
  14468. if (t3)
  14469. t2 = right.mediaContext;
  14470. t3 = left.specificity;
  14471. if (t3 == null)
  14472. t3 = t1.get$maxSpecificity();
  14473. return new A.MergedExtension(left, right, t1, left.target, t3, true, false, t2, left.extenderSpan, left.span);
  14474. },
  14475. MergedExtension: function MergedExtension(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
  14476. var _ = this;
  14477. _.left = t0;
  14478. _.right = t1;
  14479. _.extender = t2;
  14480. _.target = t3;
  14481. _.specificity = t4;
  14482. _.isOptional = t5;
  14483. _.isOriginal = t6;
  14484. _.mediaContext = t7;
  14485. _.extenderSpan = t8;
  14486. _.span = t9;
  14487. },
  14488. closure35: function closure35() {
  14489. },
  14490. closure34: function closure34() {
  14491. },
  14492. closure30: function closure30() {
  14493. },
  14494. closure31: function closure31() {
  14495. },
  14496. closure29: function closure29() {
  14497. },
  14498. closure28: function closure28() {
  14499. },
  14500. closure27: function closure27() {
  14501. },
  14502. _NodeSassMap: function _NodeSassMap() {
  14503. },
  14504. closure105: function closure105() {
  14505. },
  14506. _closure15: function _closure15() {
  14507. },
  14508. _closure16: function _closure16() {
  14509. },
  14510. closure106: function closure106() {
  14511. },
  14512. closure107: function closure107() {
  14513. },
  14514. closure108: function closure108() {
  14515. },
  14516. closure109: function closure109() {
  14517. },
  14518. closure110: function closure110() {
  14519. },
  14520. closure111: function closure111() {
  14521. },
  14522. SassMap: function SassMap(t0) {
  14523. this.contents = t0;
  14524. },
  14525. SassMap_asList_closure: function SassMap_asList_closure(t0) {
  14526. this.result = t0;
  14527. },
  14528. Frame_Frame$parseVM: function(frame) {
  14529. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseVM_closure(frame));
  14530. },
  14531. Frame_Frame$parseV8: function(frame) {
  14532. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseV8_closure(frame));
  14533. },
  14534. Frame_Frame$parseFirefox: function(frame) {
  14535. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFirefox_closure(frame));
  14536. },
  14537. Frame_Frame$parseFriendly: function(frame) {
  14538. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFriendly_closure(frame));
  14539. },
  14540. Frame__uriOrPathToUri: function(uriOrPath) {
  14541. if (J.getInterceptor$asx(uriOrPath).contains$1(uriOrPath, $.$get$Frame__uriRegExp()))
  14542. return P.Uri_parse(uriOrPath);
  14543. else if (C.JSString_methods.contains$1(uriOrPath, $.$get$Frame__windowsRegExp()))
  14544. return P._Uri__Uri$file(uriOrPath, true);
  14545. else if (C.JSString_methods.startsWith$1(uriOrPath, "/"))
  14546. return P._Uri__Uri$file(uriOrPath, false);
  14547. if (C.JSString_methods.contains$1(uriOrPath, "\\"))
  14548. return $.$get$windows().toUri$1(uriOrPath);
  14549. return P.Uri_parse(uriOrPath);
  14550. },
  14551. Frame__catchFormatException: function(text, body) {
  14552. var t1, exception;
  14553. try {
  14554. t1 = body.call$0();
  14555. return t1;
  14556. } catch (exception) {
  14557. if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException)
  14558. return new N.UnparsedFrame(P._Uri__Uri(null, "unparsed", null, null), text);
  14559. else
  14560. throw exception;
  14561. }
  14562. },
  14563. Frame: function Frame(t0, t1, t2, t3) {
  14564. var _ = this;
  14565. _.uri = t0;
  14566. _.line = t1;
  14567. _.column = t2;
  14568. _.member = t3;
  14569. },
  14570. Frame_Frame$parseVM_closure: function Frame_Frame$parseVM_closure(t0) {
  14571. this.frame = t0;
  14572. },
  14573. Frame_Frame$parseV8_closure: function Frame_Frame$parseV8_closure(t0) {
  14574. this.frame = t0;
  14575. },
  14576. Frame_Frame$parseV8_closure_parseLocation: function Frame_Frame$parseV8_closure_parseLocation(t0) {
  14577. this.frame = t0;
  14578. },
  14579. Frame_Frame$parseFirefox_closure: function Frame_Frame$parseFirefox_closure(t0) {
  14580. this.frame = t0;
  14581. },
  14582. Frame_Frame$parseFriendly_closure: function Frame_Frame$parseFriendly_closure(t0) {
  14583. this.frame = t0;
  14584. },
  14585. AsciiGlyphSet: function AsciiGlyphSet() {
  14586. }
  14587. },
  14588. S = {VariableExpression: function VariableExpression(t0, t1, t2) {
  14589. this.namespace = t0;
  14590. this.name = t1;
  14591. this.span = t2;
  14592. },
  14593. ComplexSelector$: function(components, lineBreak) {
  14594. var t1 = P.List_List$unmodifiable(components, S.ComplexSelectorComponent);
  14595. if (t1.length === 0)
  14596. H.throwExpression(P.ArgumentError$("components may not be empty."));
  14597. return new S.ComplexSelector(t1, lineBreak);
  14598. },
  14599. ComplexSelector: function ComplexSelector(t0, t1) {
  14600. var _ = this;
  14601. _.components = t0;
  14602. _.lineBreak = t1;
  14603. _._complex$_isInvisible = _._maxSpecificity = _._minSpecificity = null;
  14604. },
  14605. ComplexSelector_isInvisible_closure: function ComplexSelector_isInvisible_closure() {
  14606. },
  14607. ComplexSelectorComponent: function ComplexSelectorComponent() {
  14608. },
  14609. Combinator: function Combinator(t0) {
  14610. this._complex$_text = t0;
  14611. },
  14612. AsyncBuiltInCallable$parsed: function($name, $arguments, callback) {
  14613. var t1 = H.setRuntimeTypeInfo([], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]]);
  14614. t1.push(new S.Tuple2($arguments, callback, [B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]));
  14615. return new S.AsyncBuiltInCallable($name, t1);
  14616. },
  14617. AsyncBuiltInCallable: function AsyncBuiltInCallable(t0, t1) {
  14618. this.name = t0;
  14619. this._async_built_in$_overloads = t1;
  14620. },
  14621. Extension$oneOff: function(extender, isOriginal, specificity) {
  14622. var _null = null;
  14623. return new S.Extension(extender, _null, specificity == null ? extender.get$maxSpecificity() : specificity, true, isOriginal, _null, _null, _null);
  14624. },
  14625. Extension: function Extension(t0, t1, t2, t3, t4, t5, t6, t7) {
  14626. var _ = this;
  14627. _.extender = t0;
  14628. _.target = t1;
  14629. _.specificity = t2;
  14630. _.isOptional = t3;
  14631. _.isOriginal = t4;
  14632. _.mediaContext = t5;
  14633. _.extenderSpan = t6;
  14634. _.span = t7;
  14635. },
  14636. StderrLogger: function StderrLogger(t0) {
  14637. this.color = t0;
  14638. },
  14639. SpanScanner$: function(string, sourceUrl) {
  14640. var t1, t2, t3, t4;
  14641. string.toString;
  14642. t1 = new H.CodeUnits(string);
  14643. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  14644. t3 = typeof sourceUrl === "string";
  14645. t4 = t3 ? P.Uri_parse(sourceUrl) : sourceUrl;
  14646. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  14647. t2.SourceFile$decoded$2$url(t1, sourceUrl);
  14648. t1 = t3 ? P.Uri_parse(sourceUrl) : H.interceptedTypeCast(sourceUrl, "$isUri");
  14649. return new S.SpanScanner(t2, t1, string);
  14650. },
  14651. SpanScanner: function SpanScanner(t0, t1, t2) {
  14652. var _ = this;
  14653. _._sourceFile = t0;
  14654. _.sourceUrl = t1;
  14655. _.string = t2;
  14656. _._string_scanner$_position = 0;
  14657. _._lastMatchPosition = _._lastMatch = null;
  14658. },
  14659. _SpanScannerState: function _SpanScannerState(t0, t1) {
  14660. this._scanner = t0;
  14661. this.position = t1;
  14662. },
  14663. Tuple2: function Tuple2(t0, t1, t2) {
  14664. this.item1 = t0;
  14665. this.item2 = t1;
  14666. this.$ti = t2;
  14667. },
  14668. Tuple3: function Tuple3(t0, t1, t2, t3) {
  14669. var _ = this;
  14670. _.item1 = t0;
  14671. _.item2 = t1;
  14672. _.item3 = t2;
  14673. _.$ti = t3;
  14674. }
  14675. };
  14676. var holders = [C, H, J, P, N, Z, V, G, E, F, Y, L, Q, B, O, U, M, X, K, R, T, D, A, S];
  14677. hunkHelpers.setFunctionNamesIfNecessary(holders);
  14678. var $ = {};
  14679. H.JS_CONST.prototype = {};
  14680. J.Interceptor.prototype = {
  14681. $eq: function(receiver, other) {
  14682. return receiver === other;
  14683. },
  14684. get$hashCode: function(receiver) {
  14685. return H.Primitives_objectHashCode(receiver);
  14686. },
  14687. toString$0: function(receiver) {
  14688. return "Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'";
  14689. },
  14690. noSuchMethod$1: function(receiver, invocation) {
  14691. throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
  14692. }
  14693. };
  14694. J.JSBool.prototype = {
  14695. toString$0: function(receiver) {
  14696. return String(receiver);
  14697. },
  14698. get$hashCode: function(receiver) {
  14699. return receiver ? 519018 : 218159;
  14700. },
  14701. $isbool: 1
  14702. };
  14703. J.JSNull.prototype = {
  14704. $eq: function(receiver, other) {
  14705. return null == other;
  14706. },
  14707. toString$0: function(receiver) {
  14708. return "null";
  14709. },
  14710. get$hashCode: function(receiver) {
  14711. return 0;
  14712. },
  14713. noSuchMethod$1: function(receiver, invocation) {
  14714. return this.super$Interceptor$noSuchMethod(receiver, invocation);
  14715. },
  14716. $isNull: 1
  14717. };
  14718. J.JavaScriptObject.prototype = {
  14719. get$hashCode: function(receiver) {
  14720. return 0;
  14721. },
  14722. toString$0: function(receiver) {
  14723. return String(receiver);
  14724. },
  14725. $is_SystemError: 1,
  14726. $isJSError: 1,
  14727. $isFunction: 1,
  14728. $isJSFunction: 1,
  14729. $isNodeImporterResult: 1,
  14730. $isRenderOptions: 1,
  14731. $isRenderResult: 1,
  14732. $is_NodeSassColor: 1,
  14733. $is_NodeSassList: 1,
  14734. $is_NodeSassMap: 1,
  14735. $is_NodeSassNumber: 1,
  14736. $is_NodeSassString: 1,
  14737. get$isTTY: function(obj) {
  14738. return obj.isTTY;
  14739. },
  14740. get$write: function(obj) {
  14741. return obj.write;
  14742. },
  14743. write$1: function(receiver, p0) {
  14744. return receiver.write(p0);
  14745. },
  14746. createInterface$1: function(receiver, p0) {
  14747. return receiver.createInterface(p0);
  14748. },
  14749. on$2: function(receiver, p0, p1) {
  14750. return receiver.on(p0, p1);
  14751. },
  14752. get$close: function(obj) {
  14753. return obj.close;
  14754. },
  14755. close$0: function(receiver) {
  14756. return receiver.close();
  14757. },
  14758. setPrompt$1: function(receiver, p0) {
  14759. return receiver.setPrompt(p0);
  14760. },
  14761. readFileSync$2: function(receiver, p0, p1) {
  14762. return receiver.readFileSync(p0, p1);
  14763. },
  14764. writeFileSync$2: function(receiver, p0, p1) {
  14765. return receiver.writeFileSync(p0, p1);
  14766. },
  14767. existsSync$1: function(receiver, p0) {
  14768. return receiver.existsSync(p0);
  14769. },
  14770. mkdirSync$1: function(receiver, p0) {
  14771. return receiver.mkdirSync(p0);
  14772. },
  14773. statSync$1: function(receiver, p0) {
  14774. return receiver.statSync(p0);
  14775. },
  14776. unlinkSync$1: function(receiver, p0) {
  14777. return receiver.unlinkSync(p0);
  14778. },
  14779. readdirSync$1: function(receiver, p0) {
  14780. return receiver.readdirSync(p0);
  14781. },
  14782. isFile$0: function(receiver) {
  14783. return receiver.isFile();
  14784. },
  14785. isDirectory$0: function(receiver) {
  14786. return receiver.isDirectory();
  14787. },
  14788. get$mtime: function(obj) {
  14789. return obj.mtime;
  14790. },
  14791. getTime$0: function(receiver) {
  14792. return receiver.getTime();
  14793. },
  14794. get$message: function(obj) {
  14795. return obj.message;
  14796. },
  14797. message$1: function(receiver, p0) {
  14798. return receiver.message(p0);
  14799. },
  14800. get$code: function(obj) {
  14801. return obj.code;
  14802. },
  14803. get$syscall: function(obj) {
  14804. return obj.syscall;
  14805. },
  14806. get$path: function(obj) {
  14807. return obj.path;
  14808. },
  14809. get$platform: function(obj) {
  14810. return obj.platform;
  14811. },
  14812. get$env: function(obj) {
  14813. return obj.env;
  14814. },
  14815. watch$2: function(receiver, p0, p1) {
  14816. return receiver.watch(p0, p1);
  14817. },
  14818. set$run_: function(obj, v) {
  14819. return obj.run_ = v;
  14820. },
  14821. set$render: function(obj, v) {
  14822. return obj.render = v;
  14823. },
  14824. set$renderSync: function(obj, v) {
  14825. return obj.renderSync = v;
  14826. },
  14827. set$info: function(obj, v) {
  14828. return obj.info = v;
  14829. },
  14830. set$types: function(obj, v) {
  14831. return obj.types = v;
  14832. },
  14833. call$1: function(receiver, p0) {
  14834. return receiver.call(p0);
  14835. },
  14836. call$1$1: function(receiver, p0) {
  14837. return receiver.call(p0);
  14838. },
  14839. get$current: function(obj) {
  14840. return obj.current;
  14841. },
  14842. yield$0: function(receiver) {
  14843. return receiver.yield();
  14844. },
  14845. run$1: function(receiver, p0) {
  14846. return receiver.run(p0);
  14847. },
  14848. run$0: function(receiver) {
  14849. return receiver.run();
  14850. },
  14851. call$0: function(receiver) {
  14852. return receiver.call();
  14853. },
  14854. call$2: function(receiver, p0, p1) {
  14855. return receiver.call(p0, p1);
  14856. },
  14857. call$3: function(receiver, p0, p1, p2) {
  14858. return receiver.call(p0, p1, p2);
  14859. },
  14860. call$1$3: function(receiver, p0, p1, p2) {
  14861. return receiver.call(p0, p1, p2);
  14862. },
  14863. call$2$2: function(receiver, p0, p1) {
  14864. return receiver.call(p0, p1);
  14865. },
  14866. call$1$0: function(receiver) {
  14867. return receiver.call();
  14868. },
  14869. apply$2: function(receiver, p0, p1) {
  14870. return receiver.apply(p0, p1);
  14871. },
  14872. get$file: function(obj) {
  14873. return obj.file;
  14874. },
  14875. get$contents: function(obj) {
  14876. return obj.contents;
  14877. },
  14878. get$options: function(obj) {
  14879. return obj.options;
  14880. },
  14881. get$data: function(obj) {
  14882. return obj.data;
  14883. },
  14884. get$includePaths: function(obj) {
  14885. return obj.includePaths;
  14886. },
  14887. get$indentType: function(obj) {
  14888. return obj.indentType;
  14889. },
  14890. get$indentWidth: function(obj) {
  14891. return obj.indentWidth;
  14892. },
  14893. get$linefeed: function(obj) {
  14894. return obj.linefeed;
  14895. },
  14896. set$context: function(obj, v) {
  14897. return obj.context = v;
  14898. },
  14899. get$importer: function(obj) {
  14900. return obj.importer;
  14901. },
  14902. get$functions: function(obj) {
  14903. return obj.functions;
  14904. },
  14905. get$indentedSyntax: function(obj) {
  14906. return obj.indentedSyntax;
  14907. },
  14908. get$omitSourceMapUrl: function(obj) {
  14909. return obj.omitSourceMapUrl;
  14910. },
  14911. get$outFile: function(obj) {
  14912. return obj.outFile;
  14913. },
  14914. get$outputStyle: function(obj) {
  14915. return obj.outputStyle;
  14916. },
  14917. get$fiber: function(obj) {
  14918. return obj.fiber;
  14919. },
  14920. get$sourceMap: function(obj) {
  14921. return obj.sourceMap;
  14922. },
  14923. get$sourceMapContents: function(obj) {
  14924. return obj.sourceMapContents;
  14925. },
  14926. get$sourceMapEmbed: function(obj) {
  14927. return obj.sourceMapEmbed;
  14928. },
  14929. get$sourceMapRoot: function(obj) {
  14930. return obj.sourceMapRoot;
  14931. },
  14932. map$1$1: function(receiver, p0) {
  14933. return receiver.map(p0);
  14934. },
  14935. map$1: function(receiver, p0) {
  14936. return receiver.map(p0);
  14937. },
  14938. get$start: function(obj) {
  14939. return obj.start;
  14940. },
  14941. get$end: function(obj) {
  14942. return obj.end;
  14943. },
  14944. get$dartValue: function(obj) {
  14945. return obj.dartValue;
  14946. },
  14947. set$dartValue: function(obj, v) {
  14948. return obj.dartValue = v;
  14949. }
  14950. };
  14951. J.PlainJavaScriptObject.prototype = {};
  14952. J.UnknownJavaScriptObject.prototype = {};
  14953. J.JavaScriptFunction.prototype = {
  14954. toString$0: function(receiver) {
  14955. var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()];
  14956. if (dartClosure == null)
  14957. return this.super$JavaScriptObject$toString(receiver);
  14958. return "JavaScript function for " + H.S(J.toString$0$(dartClosure));
  14959. },
  14960. $signature: function() {
  14961. return {func: 1, opt: [,,,,,,,,,,,,,,,,]};
  14962. },
  14963. $isFunction: 1
  14964. };
  14965. J.JSArray.prototype = {
  14966. cast$1$0: function(receiver, $R) {
  14967. return new H.CastList(receiver, [H.getTypeArgumentByIndex(receiver, 0), $R]);
  14968. },
  14969. add$1: function(receiver, value) {
  14970. if (!!receiver.fixed$length)
  14971. H.throwExpression(P.UnsupportedError$("add"));
  14972. receiver.push(value);
  14973. },
  14974. removeAt$1: function(receiver, index) {
  14975. var t1;
  14976. if (!!receiver.fixed$length)
  14977. H.throwExpression(P.UnsupportedError$("removeAt"));
  14978. t1 = receiver.length;
  14979. if (index >= t1)
  14980. throw H.wrapException(P.RangeError$value(index, null, null));
  14981. return receiver.splice(index, 1)[0];
  14982. },
  14983. insert$2: function(receiver, index, value) {
  14984. var t1;
  14985. if (!!receiver.fixed$length)
  14986. H.throwExpression(P.UnsupportedError$("insert"));
  14987. t1 = receiver.length;
  14988. if (index > t1)
  14989. throw H.wrapException(P.RangeError$value(index, null, null));
  14990. receiver.splice(index, 0, value);
  14991. },
  14992. insertAll$2: function(receiver, index, iterable) {
  14993. var t1, insertionLength, end;
  14994. if (!!receiver.fixed$length)
  14995. H.throwExpression(P.UnsupportedError$("insertAll"));
  14996. P.RangeError_checkValueInInterval(index, 0, receiver.length, "index");
  14997. t1 = J.getInterceptor$(iterable);
  14998. if (!t1.$isEfficientLengthIterable)
  14999. iterable = t1.toList$0(iterable);
  15000. insertionLength = J.get$length$asx(iterable);
  15001. this.set$length(receiver, receiver.length + insertionLength);
  15002. end = index + insertionLength;
  15003. this.setRange$4(receiver, end, receiver.length, receiver, index);
  15004. this.setRange$3(receiver, index, end, iterable);
  15005. },
  15006. setAll$2: function(receiver, index, iterable) {
  15007. var t1, index0;
  15008. if (!!receiver.immutable$list)
  15009. H.throwExpression(P.UnsupportedError$("setAll"));
  15010. P.RangeError_checkValueInInterval(index, 0, receiver.length, "index");
  15011. for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0(); index = index0) {
  15012. index0 = index + 1;
  15013. this.$indexSet(receiver, index, t1.get$current(t1));
  15014. }
  15015. },
  15016. removeLast$0: function(receiver) {
  15017. if (!!receiver.fixed$length)
  15018. H.throwExpression(P.UnsupportedError$("removeLast"));
  15019. if (receiver.length === 0)
  15020. throw H.wrapException(H.diagnoseIndexError(receiver, -1));
  15021. return receiver.pop();
  15022. },
  15023. remove$1: function(receiver, element) {
  15024. var i;
  15025. if (!!receiver.fixed$length)
  15026. H.throwExpression(P.UnsupportedError$("remove"));
  15027. for (i = 0; i < receiver.length; ++i)
  15028. if (J.$eq$(receiver[i], element)) {
  15029. receiver.splice(i, 1);
  15030. return true;
  15031. }
  15032. return false;
  15033. },
  15034. _removeWhere$2: function(receiver, test, removeMatching) {
  15035. var i, element, t1, retained = [],
  15036. end = receiver.length;
  15037. for (i = 0; i < end; ++i) {
  15038. element = receiver[i];
  15039. if (!test.call$1(element))
  15040. retained.push(element);
  15041. if (receiver.length !== end)
  15042. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15043. }
  15044. t1 = retained.length;
  15045. if (t1 === end)
  15046. return;
  15047. this.set$length(receiver, t1);
  15048. for (i = 0; i < retained.length; ++i)
  15049. receiver[i] = retained[i];
  15050. },
  15051. where$1: function(receiver, f) {
  15052. return new H.WhereIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0)]);
  15053. },
  15054. expand$1$1: function(receiver, f, $T) {
  15055. return new H.ExpandIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0), $T]);
  15056. },
  15057. addAll$1: function(receiver, collection) {
  15058. var t1;
  15059. if (!!receiver.fixed$length)
  15060. H.throwExpression(P.UnsupportedError$("addAll"));
  15061. for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();)
  15062. receiver.push(t1.get$current(t1));
  15063. },
  15064. forEach$1: function(receiver, f) {
  15065. var i,
  15066. end = receiver.length;
  15067. for (i = 0; i < end; ++i) {
  15068. f.call$1(receiver[i]);
  15069. if (receiver.length !== end)
  15070. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15071. }
  15072. },
  15073. map$1$1: function(receiver, f, $T) {
  15074. return new H.MappedListIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0), $T]);
  15075. },
  15076. map$1: function($receiver, f) {
  15077. return this.map$1$1($receiver, f, null);
  15078. },
  15079. join$1: function(receiver, separator) {
  15080. var i,
  15081. list = new Array(receiver.length);
  15082. list.fixed$length = Array;
  15083. for (i = 0; i < receiver.length; ++i)
  15084. list[i] = H.S(receiver[i]);
  15085. return list.join(separator);
  15086. },
  15087. join$0: function($receiver) {
  15088. return this.join$1($receiver, "");
  15089. },
  15090. take$1: function(receiver, n) {
  15091. return H.SubListIterable$(receiver, 0, n, H.getTypeArgumentByIndex(receiver, 0));
  15092. },
  15093. skip$1: function(receiver, n) {
  15094. return H.SubListIterable$(receiver, n, null, H.getTypeArgumentByIndex(receiver, 0));
  15095. },
  15096. fold$1$2: function(receiver, initialValue, combine) {
  15097. var value, i,
  15098. $length = receiver.length;
  15099. for (value = initialValue, i = 0; i < $length; ++i) {
  15100. value = combine.call$2(value, receiver[i]);
  15101. if (receiver.length !== $length)
  15102. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15103. }
  15104. return value;
  15105. },
  15106. fold$2: function($receiver, initialValue, combine) {
  15107. return this.fold$1$2($receiver, initialValue, combine, null);
  15108. },
  15109. lastWhere$2$orElse: function(receiver, test, orElse) {
  15110. var i, element,
  15111. $length = receiver.length;
  15112. for (i = $length - 1; i >= 0; --i) {
  15113. element = receiver[i];
  15114. if (test.call$1(element))
  15115. return element;
  15116. if ($length !== receiver.length)
  15117. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15118. }
  15119. if (orElse != null)
  15120. return orElse.call$0();
  15121. throw H.wrapException(H.IterableElementError_noElement());
  15122. },
  15123. elementAt$1: function(receiver, index) {
  15124. return receiver[index];
  15125. },
  15126. sublist$2: function(receiver, start, end) {
  15127. if (start < 0 || start > receiver.length)
  15128. throw H.wrapException(P.RangeError$range(start, 0, receiver.length, "start", null));
  15129. if (end == null)
  15130. end = receiver.length;
  15131. else if (end < start || end > receiver.length)
  15132. throw H.wrapException(P.RangeError$range(end, start, receiver.length, "end", null));
  15133. if (start === end)
  15134. return H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)]);
  15135. return H.setRuntimeTypeInfo(receiver.slice(start, end), [H.getTypeArgumentByIndex(receiver, 0)]);
  15136. },
  15137. sublist$1: function($receiver, start) {
  15138. return this.sublist$2($receiver, start, null);
  15139. },
  15140. getRange$2: function(receiver, start, end) {
  15141. P.RangeError_checkValidRange(start, end, receiver.length);
  15142. return H.SubListIterable$(receiver, start, end, H.getTypeArgumentByIndex(receiver, 0));
  15143. },
  15144. get$first: function(receiver) {
  15145. if (receiver.length > 0)
  15146. return receiver[0];
  15147. throw H.wrapException(H.IterableElementError_noElement());
  15148. },
  15149. get$last: function(receiver) {
  15150. var t1 = receiver.length;
  15151. if (t1 > 0)
  15152. return receiver[t1 - 1];
  15153. throw H.wrapException(H.IterableElementError_noElement());
  15154. },
  15155. get$single: function(receiver) {
  15156. var t1 = receiver.length;
  15157. if (t1 === 1)
  15158. return receiver[0];
  15159. if (t1 === 0)
  15160. throw H.wrapException(H.IterableElementError_noElement());
  15161. throw H.wrapException(H.IterableElementError_tooMany());
  15162. },
  15163. removeRange$2: function(receiver, start, end) {
  15164. if (!!receiver.fixed$length)
  15165. H.throwExpression(P.UnsupportedError$("removeRange"));
  15166. P.RangeError_checkValidRange(start, end, receiver.length);
  15167. receiver.splice(start, end - start);
  15168. },
  15169. setRange$4: function(receiver, start, end, iterable, skipCount) {
  15170. var $length, t1, otherStart, otherList, i;
  15171. if (!!receiver.immutable$list)
  15172. H.throwExpression(P.UnsupportedError$("setRange"));
  15173. P.RangeError_checkValidRange(start, end, receiver.length);
  15174. $length = end - start;
  15175. if ($length === 0)
  15176. return;
  15177. P.RangeError_checkNotNegative(skipCount, "skipCount");
  15178. t1 = J.getInterceptor$(iterable);
  15179. if (!!t1.$isList) {
  15180. otherStart = skipCount;
  15181. otherList = iterable;
  15182. } else {
  15183. otherList = t1.skip$1(iterable, skipCount).toList$1$growable(0, false);
  15184. otherStart = 0;
  15185. }
  15186. t1 = J.getInterceptor$asx(otherList);
  15187. if (otherStart + $length > t1.get$length(otherList))
  15188. throw H.wrapException(H.IterableElementError_tooFew());
  15189. if (otherStart < start)
  15190. for (i = $length - 1; i >= 0; --i)
  15191. receiver[start + i] = t1.$index(otherList, otherStart + i);
  15192. else
  15193. for (i = 0; i < $length; ++i)
  15194. receiver[start + i] = t1.$index(otherList, otherStart + i);
  15195. },
  15196. setRange$3: function($receiver, start, end, iterable) {
  15197. return this.setRange$4($receiver, start, end, iterable, 0);
  15198. },
  15199. fillRange$3: function(receiver, start, end, fillValue) {
  15200. var i;
  15201. if (!!receiver.immutable$list)
  15202. H.throwExpression(P.UnsupportedError$("fill range"));
  15203. P.RangeError_checkValidRange(start, end, receiver.length);
  15204. for (i = start; i < end; ++i)
  15205. receiver[i] = fillValue;
  15206. },
  15207. any$1: function(receiver, test) {
  15208. var i,
  15209. end = receiver.length;
  15210. for (i = 0; i < end; ++i) {
  15211. if (test.call$1(receiver[i]))
  15212. return true;
  15213. if (receiver.length !== end)
  15214. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15215. }
  15216. return false;
  15217. },
  15218. every$1: function(receiver, test) {
  15219. var i,
  15220. end = receiver.length;
  15221. for (i = 0; i < end; ++i) {
  15222. if (!test.call$1(receiver[i]))
  15223. return false;
  15224. if (receiver.length !== end)
  15225. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15226. }
  15227. return true;
  15228. },
  15229. get$reversed: function(receiver) {
  15230. return new H.ReversedListIterable(receiver, [H.getTypeArgumentByIndex(receiver, 0)]);
  15231. },
  15232. sort$1: function(receiver, compare) {
  15233. if (!!receiver.immutable$list)
  15234. H.throwExpression(P.UnsupportedError$("sort"));
  15235. H.Sort_sort(receiver, compare == null ? J._interceptors_JSArray__compareAny$closure() : compare);
  15236. },
  15237. sort$0: function($receiver) {
  15238. return this.sort$1($receiver, null);
  15239. },
  15240. indexOf$1: function(receiver, element) {
  15241. var i;
  15242. if (0 >= receiver.length)
  15243. return -1;
  15244. for (i = 0; i < receiver.length; ++i)
  15245. if (J.$eq$(receiver[i], element))
  15246. return i;
  15247. return -1;
  15248. },
  15249. contains$1: function(receiver, other) {
  15250. var i;
  15251. for (i = 0; i < receiver.length; ++i)
  15252. if (J.$eq$(receiver[i], other))
  15253. return true;
  15254. return false;
  15255. },
  15256. get$isEmpty: function(receiver) {
  15257. return receiver.length === 0;
  15258. },
  15259. get$isNotEmpty: function(receiver) {
  15260. return receiver.length !== 0;
  15261. },
  15262. toString$0: function(receiver) {
  15263. return P.IterableBase_iterableToFullString(receiver, "[", "]");
  15264. },
  15265. toList$1$growable: function(receiver, growable) {
  15266. var t1 = H.setRuntimeTypeInfo(receiver.slice(0), [H.getTypeArgumentByIndex(receiver, 0)]);
  15267. return t1;
  15268. },
  15269. toList$0: function($receiver) {
  15270. return this.toList$1$growable($receiver, true);
  15271. },
  15272. toSet$0: function(receiver) {
  15273. return P.LinkedHashSet_LinkedHashSet$from(receiver, H.getTypeArgumentByIndex(receiver, 0));
  15274. },
  15275. get$iterator: function(receiver) {
  15276. return new J.ArrayIterator(receiver, receiver.length);
  15277. },
  15278. get$hashCode: function(receiver) {
  15279. return H.Primitives_objectHashCode(receiver);
  15280. },
  15281. get$length: function(receiver) {
  15282. return receiver.length;
  15283. },
  15284. set$length: function(receiver, newLength) {
  15285. if (!!receiver.fixed$length)
  15286. H.throwExpression(P.UnsupportedError$("set length"));
  15287. if (newLength < 0)
  15288. throw H.wrapException(P.RangeError$range(newLength, 0, null, "newLength", null));
  15289. receiver.length = newLength;
  15290. },
  15291. $index: function(receiver, index) {
  15292. if (typeof index !== "number" || Math.floor(index) !== index)
  15293. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15294. if (index >= receiver.length || index < 0)
  15295. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15296. return receiver[index];
  15297. },
  15298. $indexSet: function(receiver, index, value) {
  15299. if (!!receiver.immutable$list)
  15300. H.throwExpression(P.UnsupportedError$("indexed set"));
  15301. if (typeof index !== "number" || Math.floor(index) !== index)
  15302. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15303. if (index >= receiver.length || index < 0)
  15304. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15305. receiver[index] = value;
  15306. },
  15307. $add: function(receiver, other) {
  15308. var totalLength = receiver.length + other.length,
  15309. t1 = H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)]);
  15310. this.set$length(t1, totalLength);
  15311. this.setRange$3(t1, 0, receiver.length, receiver);
  15312. this.setRange$3(t1, receiver.length, totalLength, other);
  15313. return t1;
  15314. },
  15315. $isEfficientLengthIterable: 1,
  15316. $isIterable: 1,
  15317. $isList: 1
  15318. };
  15319. J.JSUnmodifiableArray.prototype = {};
  15320. J.ArrayIterator.prototype = {
  15321. get$current: function(_) {
  15322. return this._current;
  15323. },
  15324. moveNext$0: function() {
  15325. var t2, _this = this,
  15326. t1 = _this._iterable,
  15327. $length = t1.length;
  15328. if (_this._length !== $length)
  15329. throw H.wrapException(H.throwConcurrentModificationError(t1));
  15330. t2 = _this._index;
  15331. if (t2 >= $length) {
  15332. _this._current = null;
  15333. return false;
  15334. }
  15335. _this._current = t1[t2];
  15336. _this._index = t2 + 1;
  15337. return true;
  15338. }
  15339. };
  15340. J.JSNumber.prototype = {
  15341. compareTo$1: function(receiver, b) {
  15342. var bIsNegative;
  15343. if (typeof b !== "number")
  15344. throw H.wrapException(H.argumentErrorValue(b));
  15345. if (receiver < b)
  15346. return -1;
  15347. else if (receiver > b)
  15348. return 1;
  15349. else if (receiver === b) {
  15350. if (receiver === 0) {
  15351. bIsNegative = this.get$isNegative(b);
  15352. if (this.get$isNegative(receiver) === bIsNegative)
  15353. return 0;
  15354. if (this.get$isNegative(receiver))
  15355. return -1;
  15356. return 1;
  15357. }
  15358. return 0;
  15359. } else if (isNaN(receiver)) {
  15360. if (isNaN(b))
  15361. return 0;
  15362. return 1;
  15363. } else
  15364. return -1;
  15365. },
  15366. get$isNegative: function(receiver) {
  15367. return receiver === 0 ? 1 / receiver < 0 : receiver < 0;
  15368. },
  15369. ceil$0: function(receiver) {
  15370. var truncated, d;
  15371. if (receiver >= 0) {
  15372. if (receiver <= 2147483647) {
  15373. truncated = receiver | 0;
  15374. return receiver === truncated ? truncated : truncated + 1;
  15375. }
  15376. } else if (receiver >= -2147483648)
  15377. return receiver | 0;
  15378. d = Math.ceil(receiver);
  15379. if (isFinite(d))
  15380. return d;
  15381. throw H.wrapException(P.UnsupportedError$("" + receiver + ".ceil()"));
  15382. },
  15383. floor$0: function(receiver) {
  15384. var truncated, d;
  15385. if (receiver >= 0) {
  15386. if (receiver <= 2147483647)
  15387. return receiver | 0;
  15388. } else if (receiver >= -2147483648) {
  15389. truncated = receiver | 0;
  15390. return receiver === truncated ? truncated : truncated - 1;
  15391. }
  15392. d = Math.floor(receiver);
  15393. if (isFinite(d))
  15394. return d;
  15395. throw H.wrapException(P.UnsupportedError$("" + receiver + ".floor()"));
  15396. },
  15397. round$0: function(receiver) {
  15398. if (receiver > 0) {
  15399. if (receiver !== 1 / 0)
  15400. return Math.round(receiver);
  15401. } else if (receiver > -1 / 0)
  15402. return 0 - Math.round(0 - receiver);
  15403. throw H.wrapException(P.UnsupportedError$("" + receiver + ".round()"));
  15404. },
  15405. clamp$2: function(receiver, lowerLimit, upperLimit) {
  15406. if (C.JSInt_methods.compareTo$1(lowerLimit, upperLimit) > 0)
  15407. throw H.wrapException(H.argumentErrorValue(lowerLimit));
  15408. if (this.compareTo$1(receiver, lowerLimit) < 0)
  15409. return lowerLimit;
  15410. if (this.compareTo$1(receiver, upperLimit) > 0)
  15411. return upperLimit;
  15412. return receiver;
  15413. },
  15414. toRadixString$1: function(receiver, radix) {
  15415. var result, match, exponent, t1;
  15416. if (radix < 2 || radix > 36)
  15417. throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
  15418. result = receiver.toString(radix);
  15419. if (C.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41)
  15420. return result;
  15421. match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
  15422. if (match == null)
  15423. H.throwExpression(P.UnsupportedError$("Unexpected toString result: " + result));
  15424. result = match[1];
  15425. exponent = +match[3];
  15426. t1 = match[2];
  15427. if (t1 != null) {
  15428. result += t1;
  15429. exponent -= t1.length;
  15430. }
  15431. return result + C.JSString_methods.$mul("0", exponent);
  15432. },
  15433. toString$0: function(receiver) {
  15434. if (receiver === 0 && 1 / receiver < 0)
  15435. return "-0.0";
  15436. else
  15437. return "" + receiver;
  15438. },
  15439. get$hashCode: function(receiver) {
  15440. var absolute, floorLog2, factor, scaled,
  15441. intValue = receiver | 0;
  15442. if (receiver === intValue)
  15443. return 536870911 & intValue;
  15444. absolute = Math.abs(receiver);
  15445. floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0;
  15446. factor = Math.pow(2, floorLog2);
  15447. scaled = absolute < 1 ? absolute / factor : factor / absolute;
  15448. return 536870911 & ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259;
  15449. },
  15450. $add: function(receiver, other) {
  15451. if (typeof other !== "number")
  15452. throw H.wrapException(H.argumentErrorValue(other));
  15453. return receiver + other;
  15454. },
  15455. $mod: function(receiver, other) {
  15456. var result = receiver % other;
  15457. if (result === 0)
  15458. return 0;
  15459. if (result > 0)
  15460. return result;
  15461. if (other < 0)
  15462. return result - other;
  15463. else
  15464. return result + other;
  15465. },
  15466. $tdiv: function(receiver, other) {
  15467. if ((receiver | 0) === receiver)
  15468. if (other >= 1 || other < -1)
  15469. return receiver / other | 0;
  15470. return this._tdivSlow$1(receiver, other);
  15471. },
  15472. _tdivFast$1: function(receiver, other) {
  15473. return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other);
  15474. },
  15475. _tdivSlow$1: function(receiver, other) {
  15476. var quotient = receiver / other;
  15477. if (quotient >= -2147483648 && quotient <= 2147483647)
  15478. return quotient | 0;
  15479. if (quotient > 0) {
  15480. if (quotient !== 1 / 0)
  15481. return Math.floor(quotient);
  15482. } else if (quotient > -1 / 0)
  15483. return Math.ceil(quotient);
  15484. throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other));
  15485. },
  15486. _shrOtherPositive$1: function(receiver, other) {
  15487. var t1;
  15488. if (receiver > 0)
  15489. t1 = this._shrBothPositive$1(receiver, other);
  15490. else {
  15491. t1 = other > 31 ? 31 : other;
  15492. t1 = receiver >> t1 >>> 0;
  15493. }
  15494. return t1;
  15495. },
  15496. _shrReceiverPositive$1: function(receiver, other) {
  15497. if (other < 0)
  15498. throw H.wrapException(H.argumentErrorValue(other));
  15499. return this._shrBothPositive$1(receiver, other);
  15500. },
  15501. _shrBothPositive$1: function(receiver, other) {
  15502. return other > 31 ? 0 : receiver >>> other;
  15503. },
  15504. $isComparable: 1,
  15505. $asComparable: function() {
  15506. return [P.num];
  15507. },
  15508. $isdouble: 1,
  15509. $isnum: 1
  15510. };
  15511. J.JSInt.prototype = {$isint: 1};
  15512. J.JSDouble.prototype = {};
  15513. J.JSString.prototype = {
  15514. codeUnitAt$1: function(receiver, index) {
  15515. if (typeof index !== "number" || Math.floor(index) !== index)
  15516. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15517. if (index < 0)
  15518. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15519. if (index >= receiver.length)
  15520. H.throwExpression(H.diagnoseIndexError(receiver, index));
  15521. return receiver.charCodeAt(index);
  15522. },
  15523. _codeUnitAt$1: function(receiver, index) {
  15524. if (index >= receiver.length)
  15525. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15526. return receiver.charCodeAt(index);
  15527. },
  15528. allMatches$2: function(receiver, string, start) {
  15529. var t1;
  15530. if (typeof string !== "string")
  15531. H.throwExpression(H.argumentErrorValue(string));
  15532. t1 = string.length;
  15533. if (start > t1)
  15534. throw H.wrapException(P.RangeError$range(start, 0, t1, null, null));
  15535. return new H._StringAllMatchesIterable(string, receiver, start);
  15536. },
  15537. allMatches$1: function($receiver, string) {
  15538. return this.allMatches$2($receiver, string, 0);
  15539. },
  15540. matchAsPrefix$2: function(receiver, string, start) {
  15541. var t1, t2, i;
  15542. if (start < 0 || start > string.length)
  15543. throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
  15544. t1 = receiver.length;
  15545. if (start + t1 > string.length)
  15546. return;
  15547. for (t2 = J.getInterceptor$s(string), i = 0; i < t1; ++i)
  15548. if (t2.codeUnitAt$1(string, start + i) !== this._codeUnitAt$1(receiver, i))
  15549. return;
  15550. return new H.StringMatch(start, receiver);
  15551. },
  15552. $add: function(receiver, other) {
  15553. if (typeof other !== "string")
  15554. throw H.wrapException(P.ArgumentError$value(other, null, null));
  15555. return receiver + other;
  15556. },
  15557. endsWith$1: function(receiver, other) {
  15558. var otherLength = other.length,
  15559. t1 = receiver.length;
  15560. if (otherLength > t1)
  15561. return false;
  15562. return other === this.substring$1(receiver, t1 - otherLength);
  15563. },
  15564. replaceFirst$2: function(receiver, from, to) {
  15565. P.RangeError_checkValueInInterval(0, 0, receiver.length, "startIndex");
  15566. return H.stringReplaceFirstUnchecked(receiver, from, to, 0);
  15567. },
  15568. replaceRange$3: function(receiver, start, end, replacement) {
  15569. if (typeof replacement !== "string")
  15570. H.throwExpression(H.argumentErrorValue(replacement));
  15571. if (typeof start !== "number" || Math.floor(start) !== start)
  15572. H.throwExpression(H.argumentErrorValue(start));
  15573. end = P.RangeError_checkValidRange(start, end, receiver.length);
  15574. return H.stringReplaceRangeUnchecked(receiver, start, end, replacement);
  15575. },
  15576. startsWith$2: function(receiver, pattern, index) {
  15577. var endIndex;
  15578. if (typeof index !== "number" || Math.floor(index) !== index)
  15579. H.throwExpression(H.argumentErrorValue(index));
  15580. if (index < 0 || index > receiver.length)
  15581. throw H.wrapException(P.RangeError$range(index, 0, receiver.length, null, null));
  15582. if (typeof pattern === "string") {
  15583. endIndex = index + pattern.length;
  15584. if (endIndex > receiver.length)
  15585. return false;
  15586. return pattern === receiver.substring(index, endIndex);
  15587. }
  15588. return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
  15589. },
  15590. startsWith$1: function($receiver, pattern) {
  15591. return this.startsWith$2($receiver, pattern, 0);
  15592. },
  15593. substring$2: function(receiver, startIndex, endIndex) {
  15594. var _null = null;
  15595. if (typeof startIndex !== "number" || Math.floor(startIndex) !== startIndex)
  15596. H.throwExpression(H.argumentErrorValue(startIndex));
  15597. if (endIndex == null)
  15598. endIndex = receiver.length;
  15599. if (startIndex < 0)
  15600. throw H.wrapException(P.RangeError$value(startIndex, _null, _null));
  15601. if (startIndex > endIndex)
  15602. throw H.wrapException(P.RangeError$value(startIndex, _null, _null));
  15603. if (endIndex > receiver.length)
  15604. throw H.wrapException(P.RangeError$value(endIndex, _null, _null));
  15605. return receiver.substring(startIndex, endIndex);
  15606. },
  15607. substring$1: function($receiver, startIndex) {
  15608. return this.substring$2($receiver, startIndex, null);
  15609. },
  15610. trim$0: function(receiver) {
  15611. var startIndex, t1, endIndex0,
  15612. result = receiver.trim(),
  15613. endIndex = result.length;
  15614. if (endIndex === 0)
  15615. return result;
  15616. if (this._codeUnitAt$1(result, 0) === 133) {
  15617. startIndex = J.JSString__skipLeadingWhitespace(result, 1);
  15618. if (startIndex === endIndex)
  15619. return "";
  15620. } else
  15621. startIndex = 0;
  15622. t1 = endIndex - 1;
  15623. endIndex0 = this.codeUnitAt$1(result, t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex;
  15624. if (startIndex === 0 && endIndex0 === endIndex)
  15625. return result;
  15626. return result.substring(startIndex, endIndex0);
  15627. },
  15628. trimRight$0: function(receiver) {
  15629. var result, endIndex, t1;
  15630. if (typeof receiver.trimRight != "undefined") {
  15631. result = receiver.trimRight();
  15632. endIndex = result.length;
  15633. if (endIndex === 0)
  15634. return result;
  15635. t1 = endIndex - 1;
  15636. if (this.codeUnitAt$1(result, t1) === 133)
  15637. endIndex = J.JSString__skipTrailingWhitespace(result, t1);
  15638. } else {
  15639. endIndex = J.JSString__skipTrailingWhitespace(receiver, receiver.length);
  15640. result = receiver;
  15641. }
  15642. if (endIndex === result.length)
  15643. return result;
  15644. if (endIndex === 0)
  15645. return "";
  15646. return result.substring(0, endIndex);
  15647. },
  15648. $mul: function(receiver, times) {
  15649. var s, result;
  15650. if (0 >= times)
  15651. return "";
  15652. if (times === 1 || receiver.length === 0)
  15653. return receiver;
  15654. if (times !== times >>> 0)
  15655. throw H.wrapException(C.C_OutOfMemoryError);
  15656. for (s = receiver, result = ""; true;) {
  15657. if ((times & 1) === 1)
  15658. result = s + result;
  15659. times = times >>> 1;
  15660. if (times === 0)
  15661. break;
  15662. s += s;
  15663. }
  15664. return result;
  15665. },
  15666. padLeft$2: function(receiver, width, padding) {
  15667. var delta = width - receiver.length;
  15668. if (delta <= 0)
  15669. return receiver;
  15670. return this.$mul(padding, delta) + receiver;
  15671. },
  15672. padRight$1: function(receiver, width) {
  15673. var delta = width - receiver.length;
  15674. if (delta <= 0)
  15675. return receiver;
  15676. return receiver + this.$mul(" ", delta);
  15677. },
  15678. indexOf$2: function(receiver, pattern, start) {
  15679. var t1, t2, i;
  15680. if (pattern == null)
  15681. H.throwExpression(H.argumentErrorValue(pattern));
  15682. if (start < 0 || start > receiver.length)
  15683. throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
  15684. if (typeof pattern === "string")
  15685. return receiver.indexOf(pattern, start);
  15686. for (t1 = receiver.length, t2 = J.getInterceptor$s(pattern), i = start; i <= t1; ++i)
  15687. if (t2.matchAsPrefix$2(pattern, receiver, i) != null)
  15688. return i;
  15689. return -1;
  15690. },
  15691. indexOf$1: function($receiver, pattern) {
  15692. return this.indexOf$2($receiver, pattern, 0);
  15693. },
  15694. lastIndexOf$2: function(receiver, pattern, start) {
  15695. var t1, t2, i;
  15696. if (pattern == null)
  15697. H.throwExpression(H.argumentErrorValue(pattern));
  15698. if (start == null)
  15699. start = receiver.length;
  15700. else if (start < 0 || start > receiver.length)
  15701. throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
  15702. if (typeof pattern === "string") {
  15703. t1 = pattern.length;
  15704. t2 = receiver.length;
  15705. if (start + t1 > t2)
  15706. start = t2 - t1;
  15707. return receiver.lastIndexOf(pattern, start);
  15708. }
  15709. for (t1 = J.getInterceptor$s(pattern), i = start; i >= 0; --i)
  15710. if (t1.matchAsPrefix$2(pattern, receiver, i) != null)
  15711. return i;
  15712. return -1;
  15713. },
  15714. lastIndexOf$1: function($receiver, pattern) {
  15715. return this.lastIndexOf$2($receiver, pattern, null);
  15716. },
  15717. contains$2: function(receiver, other, startIndex) {
  15718. var t1;
  15719. if (other == null)
  15720. H.throwExpression(H.argumentErrorValue(other));
  15721. t1 = receiver.length;
  15722. if (startIndex > t1)
  15723. throw H.wrapException(P.RangeError$range(startIndex, 0, t1, null, null));
  15724. return H.stringContainsUnchecked(receiver, other, startIndex);
  15725. },
  15726. contains$1: function($receiver, other) {
  15727. return this.contains$2($receiver, other, 0);
  15728. },
  15729. get$isNotEmpty: function(receiver) {
  15730. return receiver.length !== 0;
  15731. },
  15732. compareTo$1: function(receiver, other) {
  15733. var t1;
  15734. if (typeof other !== "string")
  15735. throw H.wrapException(H.argumentErrorValue(other));
  15736. if (receiver === other)
  15737. t1 = 0;
  15738. else
  15739. t1 = receiver < other ? -1 : 1;
  15740. return t1;
  15741. },
  15742. toString$0: function(receiver) {
  15743. return receiver;
  15744. },
  15745. get$hashCode: function(receiver) {
  15746. var t1, hash, i;
  15747. for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
  15748. hash = 536870911 & hash + receiver.charCodeAt(i);
  15749. hash = 536870911 & hash + ((524287 & hash) << 10);
  15750. hash ^= hash >> 6;
  15751. }
  15752. hash = 536870911 & hash + ((67108863 & hash) << 3);
  15753. hash ^= hash >> 11;
  15754. return 536870911 & hash + ((16383 & hash) << 15);
  15755. },
  15756. get$length: function(receiver) {
  15757. return receiver.length;
  15758. },
  15759. $isComparable: 1,
  15760. $asComparable: function() {
  15761. return [P.String];
  15762. },
  15763. $isString: 1
  15764. };
  15765. H._CastIterableBase.prototype = {
  15766. get$iterator: function(_) {
  15767. return new H.CastIterator(J.get$iterator$ax(this.get$_source()), this.$ti);
  15768. },
  15769. get$length: function(_) {
  15770. return J.get$length$asx(this.get$_source());
  15771. },
  15772. get$isEmpty: function(_) {
  15773. return J.get$isEmpty$asx(this.get$_source());
  15774. },
  15775. get$isNotEmpty: function(_) {
  15776. return J.get$isNotEmpty$asx(this.get$_source());
  15777. },
  15778. skip$1: function(_, count) {
  15779. return H.CastIterable_CastIterable(J.skip$1$ax(this.get$_source(), count), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1));
  15780. },
  15781. take$1: function(_, count) {
  15782. return H.CastIterable_CastIterable(J.take$1$ax(this.get$_source(), count), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1));
  15783. },
  15784. elementAt$1: function(_, index) {
  15785. return H.subtypeOfRuntimeTypeCast(J.elementAt$1$ax(this.get$_source(), index), H.getTypeArgumentByIndex(this, 1));
  15786. },
  15787. get$first: function(_) {
  15788. return H.subtypeOfRuntimeTypeCast(J.get$first$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1));
  15789. },
  15790. get$last: function(_) {
  15791. return H.subtypeOfRuntimeTypeCast(J.get$last$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1));
  15792. },
  15793. get$single: function(_) {
  15794. return H.subtypeOfRuntimeTypeCast(J.get$single$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1));
  15795. },
  15796. contains$1: function(_, other) {
  15797. return J.contains$1$asx(this.get$_source(), other);
  15798. },
  15799. toString$0: function(_) {
  15800. return J.toString$0$(this.get$_source());
  15801. },
  15802. $asIterable: function($S, $T) {
  15803. return [$T];
  15804. }
  15805. };
  15806. H.CastIterator.prototype = {
  15807. moveNext$0: function() {
  15808. return this._source.moveNext$0();
  15809. },
  15810. get$current: function(_) {
  15811. var t1 = this._source;
  15812. return H.subtypeOfRuntimeTypeCast(t1.get$current(t1), H.getTypeArgumentByIndex(this, 1));
  15813. }
  15814. };
  15815. H.CastIterable.prototype = {
  15816. cast$1$0: function(_, $R) {
  15817. return H.CastIterable_CastIterable(this._source, H.getTypeArgumentByIndex(this, 0), $R);
  15818. },
  15819. get$_source: function() {
  15820. return this._source;
  15821. }
  15822. };
  15823. H._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1,
  15824. $asEfficientLengthIterable: function($S, $T) {
  15825. return [$T];
  15826. }
  15827. };
  15828. H._CastListBase.prototype = {
  15829. $index: function(_, index) {
  15830. return H.subtypeOfRuntimeTypeCast(J.$index$asx(this._source, index), H.getTypeArgumentByIndex(this, 1));
  15831. },
  15832. $indexSet: function(_, index, value) {
  15833. J.$indexSet$ax(this._source, index, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15834. },
  15835. set$length: function(_, $length) {
  15836. J.set$length$asx(this._source, $length);
  15837. },
  15838. add$1: function(_, value) {
  15839. J.add$1$ax(this._source, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15840. },
  15841. setRange$4: function(_, start, end, iterable, skipCount) {
  15842. J.setRange$4$ax(this._source, start, end, H.CastIterable_CastIterable(iterable, H.getTypeArgumentByIndex(this, 1), H.getTypeArgumentByIndex(this, 0)), skipCount);
  15843. },
  15844. fillRange$3: function(_, start, end, fillValue) {
  15845. J.fillRange$3$ax(this._source, start, end, H.subtypeOfRuntimeTypeCast(fillValue, H.getTypeArgumentByIndex(this, 0)));
  15846. },
  15847. $isEfficientLengthIterable: 1,
  15848. $asEfficientLengthIterable: function($S, $T) {
  15849. return [$T];
  15850. },
  15851. $asListMixin: function($S, $T) {
  15852. return [$T];
  15853. },
  15854. $isList: 1,
  15855. $asList: function($S, $T) {
  15856. return [$T];
  15857. }
  15858. };
  15859. H.CastList.prototype = {
  15860. cast$1$0: function(_, $R) {
  15861. return new H.CastList(this._source, [H.getTypeArgumentByIndex(this, 0), $R]);
  15862. },
  15863. get$_source: function() {
  15864. return this._source;
  15865. }
  15866. };
  15867. H.CastSet.prototype = {
  15868. cast$1$0: function(_, $R) {
  15869. return new H.CastSet(this._source, this._emptySet, [H.getTypeArgumentByIndex(this, 0), $R]);
  15870. },
  15871. add$1: function(_, value) {
  15872. return this._source.add$1(0, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15873. },
  15874. addAll$1: function(_, elements) {
  15875. this._source.addAll$1(0, H.CastIterable_CastIterable(elements, H.getTypeArgumentByIndex(this, 1), H.getTypeArgumentByIndex(this, 0)));
  15876. },
  15877. toSet$0: function(_) {
  15878. var t1 = this._emptySet,
  15879. result = t1 == null ? P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 1)) : t1.call$0();
  15880. result.addAll$1(0, this);
  15881. return result;
  15882. },
  15883. $isEfficientLengthIterable: 1,
  15884. $asEfficientLengthIterable: function($S, $T) {
  15885. return [$T];
  15886. },
  15887. $isSet: 1,
  15888. $asSet: function($S, $T) {
  15889. return [$T];
  15890. },
  15891. get$_source: function() {
  15892. return this._source;
  15893. }
  15894. };
  15895. H.CastQueue.prototype = {
  15896. cast$1$0: function(_, $R) {
  15897. return new H.CastQueue(this._source, [H.getTypeArgumentByIndex(this, 0), $R]);
  15898. },
  15899. add$1: function(_, value) {
  15900. this._source._collection$_add$1(H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15901. },
  15902. $isEfficientLengthIterable: 1,
  15903. $asEfficientLengthIterable: function($S, $T) {
  15904. return [$T];
  15905. },
  15906. $isQueue: 1,
  15907. $asQueue: function($S, $T) {
  15908. return [$T];
  15909. },
  15910. get$_source: function() {
  15911. return this._source;
  15912. }
  15913. };
  15914. H.CodeUnits.prototype = {
  15915. get$length: function(_) {
  15916. return this.__internal$_string.length;
  15917. },
  15918. $index: function(_, i) {
  15919. return C.JSString_methods.codeUnitAt$1(this.__internal$_string, i);
  15920. },
  15921. $asEfficientLengthIterable: function() {
  15922. return [P.int];
  15923. },
  15924. $asListMixin: function() {
  15925. return [P.int];
  15926. },
  15927. $asIterable: function() {
  15928. return [P.int];
  15929. },
  15930. $asList: function() {
  15931. return [P.int];
  15932. }
  15933. };
  15934. H.EfficientLengthIterable.prototype = {};
  15935. H.ListIterable.prototype = {
  15936. get$iterator: function(_) {
  15937. return new H.ListIterator(this, this.get$length(this));
  15938. },
  15939. get$isEmpty: function(_) {
  15940. return this.get$length(this) === 0;
  15941. },
  15942. get$first: function(_) {
  15943. if (this.get$length(this) === 0)
  15944. throw H.wrapException(H.IterableElementError_noElement());
  15945. return this.elementAt$1(0, 0);
  15946. },
  15947. get$last: function(_) {
  15948. var _this = this;
  15949. if (_this.get$length(_this) === 0)
  15950. throw H.wrapException(H.IterableElementError_noElement());
  15951. return _this.elementAt$1(0, _this.get$length(_this) - 1);
  15952. },
  15953. get$single: function(_) {
  15954. var _this = this;
  15955. if (_this.get$length(_this) === 0)
  15956. throw H.wrapException(H.IterableElementError_noElement());
  15957. if (_this.get$length(_this) > 1)
  15958. throw H.wrapException(H.IterableElementError_tooMany());
  15959. return _this.elementAt$1(0, 0);
  15960. },
  15961. contains$1: function(_, element) {
  15962. var i, _this = this,
  15963. $length = _this.get$length(_this);
  15964. for (i = 0; i < $length; ++i) {
  15965. if (J.$eq$(_this.elementAt$1(0, i), element))
  15966. return true;
  15967. if ($length !== _this.get$length(_this))
  15968. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15969. }
  15970. return false;
  15971. },
  15972. any$1: function(_, test) {
  15973. var i, _this = this,
  15974. $length = _this.get$length(_this);
  15975. for (i = 0; i < $length; ++i) {
  15976. if (test.call$1(_this.elementAt$1(0, i)))
  15977. return true;
  15978. if ($length !== _this.get$length(_this))
  15979. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15980. }
  15981. return false;
  15982. },
  15983. join$1: function(_, separator) {
  15984. var first, t1, i, _this = this,
  15985. $length = _this.get$length(_this);
  15986. if (separator.length !== 0) {
  15987. if ($length === 0)
  15988. return "";
  15989. first = H.S(_this.elementAt$1(0, 0));
  15990. if ($length !== _this.get$length(_this))
  15991. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15992. for (t1 = first, i = 1; i < $length; ++i) {
  15993. t1 = t1 + separator + H.S(_this.elementAt$1(0, i));
  15994. if ($length !== _this.get$length(_this))
  15995. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15996. }
  15997. return t1.charCodeAt(0) == 0 ? t1 : t1;
  15998. } else {
  15999. for (i = 0, t1 = ""; i < $length; ++i) {
  16000. t1 += H.S(_this.elementAt$1(0, i));
  16001. if ($length !== _this.get$length(_this))
  16002. throw H.wrapException(P.ConcurrentModificationError$(_this));
  16003. }
  16004. return t1.charCodeAt(0) == 0 ? t1 : t1;
  16005. }
  16006. },
  16007. join$0: function($receiver) {
  16008. return this.join$1($receiver, "");
  16009. },
  16010. where$1: function(_, test) {
  16011. return this.super$Iterable$where(0, test);
  16012. },
  16013. map$1$1: function(_, f, $T) {
  16014. return new H.MappedListIterable(this, f, [H.getRuntimeTypeArgument(this, "ListIterable", 0), $T]);
  16015. },
  16016. reduce$1: function(_, combine) {
  16017. var value, i, _this = this,
  16018. $length = _this.get$length(_this);
  16019. if ($length === 0)
  16020. throw H.wrapException(H.IterableElementError_noElement());
  16021. value = _this.elementAt$1(0, 0);
  16022. for (i = 1; i < $length; ++i) {
  16023. value = combine.call$2(value, _this.elementAt$1(0, i));
  16024. if ($length !== _this.get$length(_this))
  16025. throw H.wrapException(P.ConcurrentModificationError$(_this));
  16026. }
  16027. return value;
  16028. },
  16029. fold$1$2: function(_, initialValue, combine) {
  16030. var value, i, _this = this,
  16031. $length = _this.get$length(_this);
  16032. for (value = initialValue, i = 0; i < $length; ++i) {
  16033. value = combine.call$2(value, _this.elementAt$1(0, i));
  16034. if ($length !== _this.get$length(_this))
  16035. throw H.wrapException(P.ConcurrentModificationError$(_this));
  16036. }
  16037. return value;
  16038. },
  16039. fold$2: function($receiver, initialValue, combine) {
  16040. return this.fold$1$2($receiver, initialValue, combine, null);
  16041. },
  16042. skip$1: function(_, count) {
  16043. return H.SubListIterable$(this, count, null, H.getRuntimeTypeArgument(this, "ListIterable", 0));
  16044. },
  16045. take$1: function(_, count) {
  16046. return H.SubListIterable$(this, 0, count, H.getRuntimeTypeArgument(this, "ListIterable", 0));
  16047. },
  16048. toList$1$growable: function(_, growable) {
  16049. var i, _this = this,
  16050. result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgument(_this, "ListIterable", 0)]);
  16051. C.JSArray_methods.set$length(result, _this.get$length(_this));
  16052. for (i = 0; i < _this.get$length(_this); ++i)
  16053. result[i] = _this.elementAt$1(0, i);
  16054. return result;
  16055. },
  16056. toList$0: function($receiver) {
  16057. return this.toList$1$growable($receiver, true);
  16058. },
  16059. toSet$0: function(_) {
  16060. var i, _this = this,
  16061. result = P.LinkedHashSet_LinkedHashSet(H.getRuntimeTypeArgument(_this, "ListIterable", 0));
  16062. for (i = 0; i < _this.get$length(_this); ++i)
  16063. result.add$1(0, _this.elementAt$1(0, i));
  16064. return result;
  16065. }
  16066. };
  16067. H.SubListIterable.prototype = {
  16068. get$_endIndex: function() {
  16069. var $length = J.get$length$asx(this.__internal$_iterable),
  16070. t1 = this._endOrLength;
  16071. if (t1 == null || t1 > $length)
  16072. return $length;
  16073. return t1;
  16074. },
  16075. get$_startIndex: function() {
  16076. var $length = J.get$length$asx(this.__internal$_iterable),
  16077. t1 = this.__internal$_start;
  16078. if (t1 > $length)
  16079. return $length;
  16080. return t1;
  16081. },
  16082. get$length: function(_) {
  16083. var t2,
  16084. $length = J.get$length$asx(this.__internal$_iterable),
  16085. t1 = this.__internal$_start;
  16086. if (t1 >= $length)
  16087. return 0;
  16088. t2 = this._endOrLength;
  16089. if (t2 == null || t2 >= $length)
  16090. return $length - t1;
  16091. return t2 - t1;
  16092. },
  16093. elementAt$1: function(_, index) {
  16094. var _this = this,
  16095. realIndex = _this.get$_startIndex() + index;
  16096. if (index < 0 || realIndex >= _this.get$_endIndex())
  16097. throw H.wrapException(P.IndexError$(index, _this, "index", null, null));
  16098. return J.elementAt$1$ax(_this.__internal$_iterable, realIndex);
  16099. },
  16100. skip$1: function(_, count) {
  16101. var newStart, t1, _this = this;
  16102. P.RangeError_checkNotNegative(count, "count");
  16103. newStart = _this.__internal$_start + count;
  16104. t1 = _this._endOrLength;
  16105. if (t1 != null && newStart >= t1)
  16106. return new H.EmptyIterable(_this.$ti);
  16107. return H.SubListIterable$(_this.__internal$_iterable, newStart, t1, H.getTypeArgumentByIndex(_this, 0));
  16108. },
  16109. take$1: function(_, count) {
  16110. var t1, t2, newEnd, _this = this;
  16111. P.RangeError_checkNotNegative(count, "count");
  16112. t1 = _this._endOrLength;
  16113. t2 = _this.__internal$_start;
  16114. if (t1 == null)
  16115. return H.SubListIterable$(_this.__internal$_iterable, t2, t2 + count, H.getTypeArgumentByIndex(_this, 0));
  16116. else {
  16117. newEnd = t2 + count;
  16118. if (t1 < newEnd)
  16119. return _this;
  16120. return H.SubListIterable$(_this.__internal$_iterable, t2, newEnd, H.getTypeArgumentByIndex(_this, 0));
  16121. }
  16122. },
  16123. toList$1$growable: function(_, growable) {
  16124. var $length, t3, result, t4, i, _this = this,
  16125. start = _this.__internal$_start,
  16126. t1 = _this.__internal$_iterable,
  16127. t2 = J.getInterceptor$asx(t1),
  16128. end = t2.get$length(t1),
  16129. end0 = _this._endOrLength;
  16130. if (end0 != null && end0 < end)
  16131. end = end0;
  16132. $length = end - start;
  16133. if ($length < 0)
  16134. $length = 0;
  16135. t3 = _this.$ti;
  16136. if (growable) {
  16137. result = H.setRuntimeTypeInfo([], t3);
  16138. C.JSArray_methods.set$length(result, $length);
  16139. } else {
  16140. t4 = new Array($length);
  16141. t4.fixed$length = Array;
  16142. result = H.setRuntimeTypeInfo(t4, t3);
  16143. }
  16144. for (i = 0; i < $length; ++i) {
  16145. result[i] = t2.elementAt$1(t1, start + i);
  16146. if (t2.get$length(t1) < end)
  16147. throw H.wrapException(P.ConcurrentModificationError$(_this));
  16148. }
  16149. return result;
  16150. },
  16151. toList$0: function($receiver) {
  16152. return this.toList$1$growable($receiver, true);
  16153. }
  16154. };
  16155. H.ListIterator.prototype = {
  16156. get$current: function(_) {
  16157. return this.__internal$_current;
  16158. },
  16159. moveNext$0: function() {
  16160. var t3, _this = this,
  16161. t1 = _this.__internal$_iterable,
  16162. t2 = J.getInterceptor$asx(t1),
  16163. $length = t2.get$length(t1);
  16164. if (_this.__internal$_length !== $length)
  16165. throw H.wrapException(P.ConcurrentModificationError$(t1));
  16166. t3 = _this.__internal$_index;
  16167. if (t3 >= $length) {
  16168. _this.__internal$_current = null;
  16169. return false;
  16170. }
  16171. _this.__internal$_current = t2.elementAt$1(t1, t3);
  16172. ++_this.__internal$_index;
  16173. return true;
  16174. }
  16175. };
  16176. H.MappedIterable.prototype = {
  16177. get$iterator: function(_) {
  16178. return new H.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f);
  16179. },
  16180. get$length: function(_) {
  16181. return J.get$length$asx(this.__internal$_iterable);
  16182. },
  16183. get$isEmpty: function(_) {
  16184. return J.get$isEmpty$asx(this.__internal$_iterable);
  16185. },
  16186. get$first: function(_) {
  16187. return this._f.call$1(J.get$first$ax(this.__internal$_iterable));
  16188. },
  16189. get$last: function(_) {
  16190. return this._f.call$1(J.get$last$ax(this.__internal$_iterable));
  16191. },
  16192. get$single: function(_) {
  16193. return this._f.call$1(J.get$single$ax(this.__internal$_iterable));
  16194. },
  16195. elementAt$1: function(_, index) {
  16196. return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index));
  16197. },
  16198. $asIterable: function($S, $T) {
  16199. return [$T];
  16200. }
  16201. };
  16202. H.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1,
  16203. $asEfficientLengthIterable: function($S, $T) {
  16204. return [$T];
  16205. }
  16206. };
  16207. H.MappedIterator.prototype = {
  16208. moveNext$0: function() {
  16209. var _this = this,
  16210. t1 = _this._iterator;
  16211. if (t1.moveNext$0()) {
  16212. _this.__internal$_current = _this._f.call$1(t1.get$current(t1));
  16213. return true;
  16214. }
  16215. _this.__internal$_current = null;
  16216. return false;
  16217. },
  16218. get$current: function(_) {
  16219. return this.__internal$_current;
  16220. }
  16221. };
  16222. H.MappedListIterable.prototype = {
  16223. get$length: function(_) {
  16224. return J.get$length$asx(this._source);
  16225. },
  16226. elementAt$1: function(_, index) {
  16227. return this._f.call$1(J.elementAt$1$ax(this._source, index));
  16228. },
  16229. $asEfficientLengthIterable: function($S, $T) {
  16230. return [$T];
  16231. },
  16232. $asListIterable: function($S, $T) {
  16233. return [$T];
  16234. },
  16235. $asIterable: function($S, $T) {
  16236. return [$T];
  16237. }
  16238. };
  16239. H.WhereIterable.prototype = {
  16240. get$iterator: function(_) {
  16241. return new H.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f);
  16242. },
  16243. map$1$1: function(_, f, $T) {
  16244. return new H.MappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), $T]);
  16245. }
  16246. };
  16247. H.WhereIterator.prototype = {
  16248. moveNext$0: function() {
  16249. var t1, t2;
  16250. for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();)
  16251. if (t2.call$1(t1.get$current(t1)))
  16252. return true;
  16253. return false;
  16254. },
  16255. get$current: function(_) {
  16256. var t1 = this._iterator;
  16257. return t1.get$current(t1);
  16258. }
  16259. };
  16260. H.ExpandIterable.prototype = {
  16261. get$iterator: function(_) {
  16262. return new H.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, C.C_EmptyIterator);
  16263. },
  16264. $asIterable: function($S, $T) {
  16265. return [$T];
  16266. }
  16267. };
  16268. H.ExpandIterator.prototype = {
  16269. get$current: function(_) {
  16270. return this.__internal$_current;
  16271. },
  16272. moveNext$0: function() {
  16273. var t2, t3, _this = this,
  16274. t1 = _this._currentExpansion;
  16275. if (t1 == null)
  16276. return false;
  16277. for (t2 = _this._iterator, t3 = _this._f; !t1.moveNext$0();) {
  16278. _this.__internal$_current = null;
  16279. if (t2.moveNext$0()) {
  16280. _this._currentExpansion = null;
  16281. t1 = J.get$iterator$ax(t3.call$1(t2.get$current(t2)));
  16282. _this._currentExpansion = t1;
  16283. } else
  16284. return false;
  16285. }
  16286. t1 = _this._currentExpansion;
  16287. _this.__internal$_current = t1.get$current(t1);
  16288. return true;
  16289. }
  16290. };
  16291. H.TakeIterable.prototype = {
  16292. get$iterator: function(_) {
  16293. return new H.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount);
  16294. }
  16295. };
  16296. H.EfficientLengthTakeIterable.prototype = {
  16297. get$length: function(_) {
  16298. var iterableLength = J.get$length$asx(this.__internal$_iterable),
  16299. t1 = this._takeCount;
  16300. if (iterableLength > t1)
  16301. return t1;
  16302. return iterableLength;
  16303. },
  16304. $isEfficientLengthIterable: 1
  16305. };
  16306. H.TakeIterator.prototype = {
  16307. moveNext$0: function() {
  16308. if (--this._remaining >= 0)
  16309. return this._iterator.moveNext$0();
  16310. this._remaining = -1;
  16311. return false;
  16312. },
  16313. get$current: function(_) {
  16314. var t1;
  16315. if (this._remaining < 0)
  16316. return;
  16317. t1 = this._iterator;
  16318. return t1.get$current(t1);
  16319. }
  16320. };
  16321. H.SkipIterable.prototype = {
  16322. skip$1: function(_, count) {
  16323. if (count == null)
  16324. H.throwExpression(P.ArgumentError$notNull("count"));
  16325. P.RangeError_checkNotNegative(count, "count");
  16326. return new H.SkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
  16327. },
  16328. get$iterator: function(_) {
  16329. return new H.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount);
  16330. }
  16331. };
  16332. H.EfficientLengthSkipIterable.prototype = {
  16333. get$length: function(_) {
  16334. var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount;
  16335. if ($length >= 0)
  16336. return $length;
  16337. return 0;
  16338. },
  16339. skip$1: function(_, count) {
  16340. if (count == null)
  16341. H.throwExpression(P.ArgumentError$notNull("count"));
  16342. P.RangeError_checkNotNegative(count, "count");
  16343. return new H.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
  16344. },
  16345. $isEfficientLengthIterable: 1
  16346. };
  16347. H.SkipIterator.prototype = {
  16348. moveNext$0: function() {
  16349. var t1, i;
  16350. for (t1 = this._iterator, i = 0; i < this._skipCount; ++i)
  16351. t1.moveNext$0();
  16352. this._skipCount = 0;
  16353. return t1.moveNext$0();
  16354. },
  16355. get$current: function(_) {
  16356. var t1 = this._iterator;
  16357. return t1.get$current(t1);
  16358. }
  16359. };
  16360. H.SkipWhileIterable.prototype = {
  16361. get$iterator: function(_) {
  16362. return new H.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f);
  16363. }
  16364. };
  16365. H.SkipWhileIterator.prototype = {
  16366. moveNext$0: function() {
  16367. var t1, t2, _this = this;
  16368. if (!_this._hasSkipped) {
  16369. _this._hasSkipped = true;
  16370. for (t1 = _this._iterator, t2 = _this._f; t1.moveNext$0();)
  16371. if (!t2.call$1(t1.get$current(t1)))
  16372. return true;
  16373. }
  16374. return _this._iterator.moveNext$0();
  16375. },
  16376. get$current: function(_) {
  16377. var t1 = this._iterator;
  16378. return t1.get$current(t1);
  16379. }
  16380. };
  16381. H.EmptyIterable.prototype = {
  16382. get$iterator: function(_) {
  16383. return C.C_EmptyIterator;
  16384. },
  16385. get$isEmpty: function(_) {
  16386. return true;
  16387. },
  16388. get$length: function(_) {
  16389. return 0;
  16390. },
  16391. get$first: function(_) {
  16392. throw H.wrapException(H.IterableElementError_noElement());
  16393. },
  16394. get$last: function(_) {
  16395. throw H.wrapException(H.IterableElementError_noElement());
  16396. },
  16397. get$single: function(_) {
  16398. throw H.wrapException(H.IterableElementError_noElement());
  16399. },
  16400. elementAt$1: function(_, index) {
  16401. throw H.wrapException(P.RangeError$range(index, 0, 0, "index", null));
  16402. },
  16403. contains$1: function(_, element) {
  16404. return false;
  16405. },
  16406. join$1: function(_, separator) {
  16407. return "";
  16408. },
  16409. join$0: function($receiver) {
  16410. return this.join$1($receiver, "");
  16411. },
  16412. where$1: function(_, test) {
  16413. return this;
  16414. },
  16415. map$1$1: function(_, f, $T) {
  16416. return new H.EmptyIterable([$T]);
  16417. },
  16418. skip$1: function(_, count) {
  16419. P.RangeError_checkNotNegative(count, "count");
  16420. return this;
  16421. },
  16422. take$1: function(_, count) {
  16423. P.RangeError_checkNotNegative(count, "count");
  16424. return this;
  16425. },
  16426. toList$1$growable: function(_, growable) {
  16427. var t1 = H.setRuntimeTypeInfo([], this.$ti);
  16428. return t1;
  16429. },
  16430. toList$0: function($receiver) {
  16431. return this.toList$1$growable($receiver, true);
  16432. },
  16433. toSet$0: function(_) {
  16434. return P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 0));
  16435. }
  16436. };
  16437. H.EmptyIterator.prototype = {
  16438. moveNext$0: function() {
  16439. return false;
  16440. },
  16441. get$current: function(_) {
  16442. return;
  16443. }
  16444. };
  16445. H.FollowedByIterable.prototype = {
  16446. get$iterator: function(_) {
  16447. return new H.FollowedByIterator(J.get$iterator$ax(this.__internal$_first), this._second);
  16448. },
  16449. get$length: function(_) {
  16450. var t1 = this._second;
  16451. return J.get$length$asx(this.__internal$_first) + t1.get$length(t1);
  16452. },
  16453. get$isEmpty: function(_) {
  16454. var t1;
  16455. if (J.get$isEmpty$asx(this.__internal$_first)) {
  16456. t1 = this._second;
  16457. t1 = t1.get$isEmpty(t1);
  16458. } else
  16459. t1 = false;
  16460. return t1;
  16461. },
  16462. get$isNotEmpty: function(_) {
  16463. var t1;
  16464. if (!J.get$isNotEmpty$asx(this.__internal$_first)) {
  16465. t1 = this._second;
  16466. t1 = t1.get$isNotEmpty(t1);
  16467. } else
  16468. t1 = true;
  16469. return t1;
  16470. },
  16471. contains$1: function(_, value) {
  16472. var t1;
  16473. if (!J.contains$1$asx(this.__internal$_first, value)) {
  16474. t1 = this._second;
  16475. t1 = t1.contains$1(t1, value);
  16476. } else
  16477. t1 = true;
  16478. return t1;
  16479. },
  16480. get$first: function(_) {
  16481. var t1,
  16482. iterator = J.get$iterator$ax(this.__internal$_first);
  16483. if (iterator.moveNext$0())
  16484. return iterator.get$current(iterator);
  16485. t1 = this._second;
  16486. return t1.get$first(t1);
  16487. },
  16488. get$last: function(_) {
  16489. var last,
  16490. t1 = this._second,
  16491. iterator = t1.get$iterator(t1);
  16492. if (iterator.moveNext$0()) {
  16493. last = iterator.get$current(iterator);
  16494. for (; iterator.moveNext$0();)
  16495. last = iterator.get$current(iterator);
  16496. return last;
  16497. }
  16498. return J.get$last$ax(this.__internal$_first);
  16499. }
  16500. };
  16501. H.EfficientLengthFollowedByIterable.prototype = {
  16502. skip$1: function(_, count) {
  16503. var _this = this,
  16504. t1 = _this.__internal$_first,
  16505. t2 = J.getInterceptor$asx(t1),
  16506. firstLength = t2.get$length(t1);
  16507. if (count >= firstLength) {
  16508. t1 = _this._second;
  16509. return t1.skip$1(t1, count - firstLength);
  16510. }
  16511. return new H.EfficientLengthFollowedByIterable(t2.skip$1(t1, count), _this._second, _this.$ti);
  16512. },
  16513. take$1: function(_, count) {
  16514. var t1 = this.__internal$_first,
  16515. t2 = J.getInterceptor$asx(t1),
  16516. firstLength = t2.get$length(t1);
  16517. if (count <= firstLength)
  16518. return t2.take$1(t1, count);
  16519. t2 = this._second;
  16520. return new H.EfficientLengthFollowedByIterable(t1, t2.take$1(t2, count - firstLength), this.$ti);
  16521. },
  16522. elementAt$1: function(_, index) {
  16523. var t1 = this.__internal$_first,
  16524. t2 = J.getInterceptor$asx(t1),
  16525. firstLength = t2.get$length(t1);
  16526. if (index < firstLength)
  16527. return t2.elementAt$1(t1, index);
  16528. t1 = this._second;
  16529. return t1.elementAt$1(t1, index - firstLength);
  16530. },
  16531. get$first: function(_) {
  16532. var t1 = this.__internal$_first,
  16533. t2 = J.getInterceptor$asx(t1);
  16534. if (t2.get$isNotEmpty(t1))
  16535. return t2.get$first(t1);
  16536. t1 = this._second;
  16537. return t1.get$first(t1);
  16538. },
  16539. get$last: function(_) {
  16540. var t1 = this._second;
  16541. if (t1.get$isNotEmpty(t1))
  16542. return t1.get$last(t1);
  16543. return J.get$last$ax(this.__internal$_first);
  16544. },
  16545. $isEfficientLengthIterable: 1
  16546. };
  16547. H.FollowedByIterator.prototype = {
  16548. moveNext$0: function() {
  16549. var t1, _this = this;
  16550. if (_this._currentIterator.moveNext$0())
  16551. return true;
  16552. t1 = _this._nextIterable;
  16553. if (t1 != null) {
  16554. t1 = t1.get$iterator(t1);
  16555. _this._currentIterator = t1;
  16556. _this._nextIterable = null;
  16557. return t1.moveNext$0();
  16558. }
  16559. return false;
  16560. },
  16561. get$current: function(_) {
  16562. var t1 = this._currentIterator;
  16563. return t1.get$current(t1);
  16564. }
  16565. };
  16566. H.WhereTypeIterable.prototype = {
  16567. get$iterator: function(_) {
  16568. return new H.WhereTypeIterator(J.get$iterator$ax(this._source), this.$ti);
  16569. }
  16570. };
  16571. H.WhereTypeIterator.prototype = {
  16572. moveNext$0: function() {
  16573. var t1, t2, t3;
  16574. for (t1 = this._source, t2 = H.getTypeArgumentByIndex(this, 0); t1.moveNext$0();) {
  16575. t3 = t1.get$current(t1);
  16576. if (H.checkSubtypeOfRuntimeType(t3, t2))
  16577. return true;
  16578. }
  16579. return false;
  16580. },
  16581. get$current: function(_) {
  16582. var t1 = this._source;
  16583. return t1.get$current(t1);
  16584. }
  16585. };
  16586. H.FixedLengthListMixin.prototype = {
  16587. set$length: function(receiver, newLength) {
  16588. throw H.wrapException(P.UnsupportedError$("Cannot change the length of a fixed-length list"));
  16589. },
  16590. add$1: function(receiver, value) {
  16591. throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list"));
  16592. }
  16593. };
  16594. H.UnmodifiableListMixin.prototype = {
  16595. $indexSet: function(_, index, value) {
  16596. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
  16597. },
  16598. set$length: function(_, newLength) {
  16599. throw H.wrapException(P.UnsupportedError$("Cannot change the length of an unmodifiable list"));
  16600. },
  16601. add$1: function(_, value) {
  16602. throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list"));
  16603. },
  16604. setRange$4: function(_, start, end, iterable, skipCount) {
  16605. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
  16606. },
  16607. fillRange$3: function(_, start, end, fillValue) {
  16608. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
  16609. }
  16610. };
  16611. H.UnmodifiableListBase.prototype = {};
  16612. H.ReversedListIterable.prototype = {
  16613. get$length: function(_) {
  16614. return J.get$length$asx(this._source);
  16615. },
  16616. elementAt$1: function(_, index) {
  16617. var t1 = this._source,
  16618. t2 = J.getInterceptor$asx(t1);
  16619. return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index);
  16620. }
  16621. };
  16622. H.Symbol.prototype = {
  16623. get$hashCode: function(_) {
  16624. var hash = this._hashCode;
  16625. if (hash != null)
  16626. return hash;
  16627. hash = 536870911 & 664597 * J.get$hashCode$(this.__internal$_name);
  16628. this._hashCode = hash;
  16629. return hash;
  16630. },
  16631. toString$0: function(_) {
  16632. return 'Symbol("' + H.S(this.__internal$_name) + '")';
  16633. },
  16634. $eq: function(_, other) {
  16635. if (other == null)
  16636. return false;
  16637. return other instanceof H.Symbol && this.__internal$_name == other.__internal$_name;
  16638. },
  16639. $isSymbol0: 1
  16640. };
  16641. H.__CastListBase__CastIterableBase_ListMixin.prototype = {};
  16642. H.ConstantMapView.prototype = {};
  16643. H.ConstantMap.prototype = {
  16644. get$isEmpty: function(_) {
  16645. return this.get$length(this) === 0;
  16646. },
  16647. get$isNotEmpty: function(_) {
  16648. return this.get$length(this) !== 0;
  16649. },
  16650. toString$0: function(_) {
  16651. return P.MapBase_mapToString(this);
  16652. },
  16653. $indexSet: function(_, key, val) {
  16654. return H.ConstantMap__throwUnmodifiable();
  16655. },
  16656. putIfAbsent$2: function(key, ifAbsent) {
  16657. return H.ConstantMap__throwUnmodifiable();
  16658. },
  16659. remove$1: function(_, key) {
  16660. return H.ConstantMap__throwUnmodifiable();
  16661. },
  16662. addAll$1: function(_, other) {
  16663. return H.ConstantMap__throwUnmodifiable();
  16664. },
  16665. get$entries: function() {
  16666. return this.entries$body$ConstantMap([P.MapEntry, H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1)]);
  16667. },
  16668. entries$body$ConstantMap: function($async$type) {
  16669. var $async$self = this;
  16670. return P._makeSyncStarIterable(function() {
  16671. var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, key;
  16672. return function $async$get$entries($async$errorCode, $async$result) {
  16673. if ($async$errorCode === 1) {
  16674. $async$currentError = $async$result;
  16675. $async$goto = $async$handler;
  16676. }
  16677. while (true)
  16678. switch ($async$goto) {
  16679. case 0:
  16680. // Function start
  16681. t1 = $async$self.get$keys(), t1 = t1.get$iterator(t1), t2 = $async$self.$ti;
  16682. case 2:
  16683. // for condition
  16684. if (!t1.moveNext$0()) {
  16685. // goto after for
  16686. $async$goto = 3;
  16687. break;
  16688. }
  16689. key = t1.get$current(t1);
  16690. $async$goto = 4;
  16691. return new P.MapEntry(key, $async$self.$index(0, key), t2);
  16692. case 4:
  16693. // after yield
  16694. // goto for condition
  16695. $async$goto = 2;
  16696. break;
  16697. case 3:
  16698. // after for
  16699. // implicit return
  16700. return P._IterationMarker_endOfIteration();
  16701. case 1:
  16702. // rethrow
  16703. return P._IterationMarker_uncaughtError($async$currentError);
  16704. }
  16705. };
  16706. }, $async$type);
  16707. },
  16708. $isMap: 1
  16709. };
  16710. H.ConstantStringMap.prototype = {
  16711. get$length: function(_) {
  16712. return this.__js_helper$_length;
  16713. },
  16714. containsKey$1: function(key) {
  16715. if (typeof key !== "string")
  16716. return false;
  16717. if ("__proto__" === key)
  16718. return false;
  16719. return this._jsObject.hasOwnProperty(key);
  16720. },
  16721. $index: function(_, key) {
  16722. if (!this.containsKey$1(key))
  16723. return;
  16724. return this._fetch$1(key);
  16725. },
  16726. _fetch$1: function(key) {
  16727. return this._jsObject[key];
  16728. },
  16729. forEach$1: function(_, f) {
  16730. var t1, i, key,
  16731. keys = this._keys;
  16732. for (t1 = keys.length, i = 0; i < t1; ++i) {
  16733. key = keys[i];
  16734. f.call$2(key, this._fetch$1(key));
  16735. }
  16736. },
  16737. get$keys: function() {
  16738. return new H._ConstantMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]);
  16739. },
  16740. get$values: function() {
  16741. var _this = this;
  16742. return H.MappedIterable_MappedIterable(_this._keys, new H.ConstantStringMap_values_closure(_this), H.getTypeArgumentByIndex(_this, 0), H.getTypeArgumentByIndex(_this, 1));
  16743. }
  16744. };
  16745. H.ConstantStringMap_values_closure.prototype = {
  16746. call$1: function(key) {
  16747. return this.$this._fetch$1(key);
  16748. },
  16749. $signature: function() {
  16750. var t1 = this.$this;
  16751. return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]};
  16752. }
  16753. };
  16754. H.ConstantProtoMap.prototype = {
  16755. containsKey$1: function(key) {
  16756. if (typeof key !== "string")
  16757. return false;
  16758. if ("__proto__" === key)
  16759. return true;
  16760. return this._jsObject.hasOwnProperty(key);
  16761. },
  16762. _fetch$1: function(key) {
  16763. return "__proto__" === key ? this._protoValue : this._jsObject[key];
  16764. }
  16765. };
  16766. H._ConstantMapKeyIterable.prototype = {
  16767. get$iterator: function(_) {
  16768. var t1 = this._map._keys;
  16769. return new J.ArrayIterator(t1, t1.length);
  16770. },
  16771. get$length: function(_) {
  16772. return this._map._keys.length;
  16773. }
  16774. };
  16775. H.Instantiation.prototype = {
  16776. Instantiation$1: function(_genericClosure) {
  16777. if (false)
  16778. H.instantiatedGenericFunctionType(0, 0);
  16779. },
  16780. toString$0: function(_) {
  16781. var types = "<" + C.JSArray_methods.join$1(this.get$_types(), ", ") + ">";
  16782. return H.S(this._genericClosure) + " with " + types;
  16783. }
  16784. };
  16785. H.Instantiation1.prototype = {
  16786. get$_types: function() {
  16787. return [new H.TypeImpl(H.getTypeArgumentByIndex(this, 0))];
  16788. },
  16789. call$0: function() {
  16790. return this._genericClosure.call$1$0(this.$ti[0]);
  16791. },
  16792. call$2: function(a0, a1) {
  16793. return this._genericClosure.call$1$2(a0, a1, this.$ti[0]);
  16794. },
  16795. call$3: function(a0, a1, a2) {
  16796. return this._genericClosure.call$1$3(a0, a1, a2, this.$ti[0]);
  16797. },
  16798. call$4: function(a0, a1, a2, a3) {
  16799. return this._genericClosure.call$1$4(a0, a1, a2, a3, this.$ti[0]);
  16800. },
  16801. $signature: function() {
  16802. return H.instantiatedGenericFunctionType(H.extractFunctionTypeObjectFromInternal(this._genericClosure), this.$ti);
  16803. }
  16804. };
  16805. H.JSInvocationMirror.prototype = {
  16806. get$memberName: function() {
  16807. var t1 = this.__js_helper$_memberName;
  16808. return t1;
  16809. },
  16810. get$positionalArguments: function() {
  16811. var t1, argumentCount, list, index, _this = this;
  16812. if (_this._kind === 1)
  16813. return C.List_empty11;
  16814. t1 = _this._arguments;
  16815. argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount;
  16816. if (argumentCount === 0)
  16817. return C.List_empty11;
  16818. list = [];
  16819. for (index = 0; index < argumentCount; ++index)
  16820. list.push(t1[index]);
  16821. return J.JSArray_markUnmodifiableList(list);
  16822. },
  16823. get$namedArguments: function() {
  16824. var t1, namedArgumentCount, t2, namedArgumentsStartIndex, t3, map, i, _this = this;
  16825. if (_this._kind !== 0)
  16826. return C.Map_empty6;
  16827. t1 = _this._namedArgumentNames;
  16828. namedArgumentCount = t1.length;
  16829. t2 = _this._arguments;
  16830. namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
  16831. if (namedArgumentCount === 0)
  16832. return C.Map_empty6;
  16833. t3 = P.Symbol0;
  16834. map = new H.JsLinkedHashMap([t3, null]);
  16835. for (i = 0; i < namedArgumentCount; ++i)
  16836. map.$indexSet(0, new H.Symbol(t1[i]), t2[namedArgumentsStartIndex + i]);
  16837. return new H.ConstantMapView(map, [t3, null]);
  16838. }
  16839. };
  16840. H.Primitives_functionNoSuchMethod_closure.prototype = {
  16841. call$2: function($name, argument) {
  16842. var t1 = this._box_0;
  16843. t1.names = t1.names + "$" + H.S($name);
  16844. this.namedArgumentList.push($name);
  16845. this.$arguments.push(argument);
  16846. ++t1.argumentCount;
  16847. }
  16848. };
  16849. H.TypeErrorDecoder.prototype = {
  16850. matchTypeError$1: function(message) {
  16851. var result, t1, _this = this,
  16852. match = new RegExp(_this._pattern).exec(message);
  16853. if (match == null)
  16854. return;
  16855. result = Object.create(null);
  16856. t1 = _this._arguments;
  16857. if (t1 !== -1)
  16858. result.arguments = match[t1 + 1];
  16859. t1 = _this._argumentsExpr;
  16860. if (t1 !== -1)
  16861. result.argumentsExpr = match[t1 + 1];
  16862. t1 = _this._expr;
  16863. if (t1 !== -1)
  16864. result.expr = match[t1 + 1];
  16865. t1 = _this._method;
  16866. if (t1 !== -1)
  16867. result.method = match[t1 + 1];
  16868. t1 = _this._receiver;
  16869. if (t1 !== -1)
  16870. result.receiver = match[t1 + 1];
  16871. return result;
  16872. }
  16873. };
  16874. H.NullError.prototype = {
  16875. toString$0: function(_) {
  16876. var t1 = this._method;
  16877. if (t1 == null)
  16878. return "NoSuchMethodError: " + H.S(this._message);
  16879. return "NoSuchMethodError: method not found: '" + t1 + "' on null";
  16880. }
  16881. };
  16882. H.JsNoSuchMethodError.prototype = {
  16883. toString$0: function(_) {
  16884. var t2, _this = this,
  16885. _s38_ = "NoSuchMethodError: method not found: '",
  16886. t1 = _this._method;
  16887. if (t1 == null)
  16888. return "NoSuchMethodError: " + H.S(_this._message);
  16889. t2 = _this._receiver;
  16890. if (t2 == null)
  16891. return _s38_ + t1 + "' (" + H.S(_this._message) + ")";
  16892. return _s38_ + t1 + "' on '" + t2 + "' (" + H.S(_this._message) + ")";
  16893. }
  16894. };
  16895. H.UnknownJsTypeError.prototype = {
  16896. toString$0: function(_) {
  16897. var t1 = this._message;
  16898. return t1.length === 0 ? "Error" : "Error: " + t1;
  16899. }
  16900. };
  16901. H.ExceptionAndStackTrace.prototype = {};
  16902. H.unwrapException_saveStackTrace.prototype = {
  16903. call$1: function(error) {
  16904. if (!!J.getInterceptor$(error).$isError)
  16905. if (error.$thrownJsError == null)
  16906. error.$thrownJsError = this.ex;
  16907. return error;
  16908. },
  16909. $signature: 12
  16910. };
  16911. H._StackTrace.prototype = {
  16912. toString$0: function(_) {
  16913. var trace,
  16914. t1 = this._trace;
  16915. if (t1 != null)
  16916. return t1;
  16917. t1 = this._exception;
  16918. trace = t1 !== null && typeof t1 === "object" ? t1.stack : null;
  16919. return this._trace = trace == null ? "" : trace;
  16920. },
  16921. $isStackTrace: 1
  16922. };
  16923. H.Closure.prototype = {
  16924. toString$0: function(_) {
  16925. var $name = H.Primitives_objectTypeName(this).trim();
  16926. return "Closure '" + $name + "'";
  16927. },
  16928. $isFunction: 1,
  16929. get$$call: function() {
  16930. return this;
  16931. },
  16932. "call*": "call$1",
  16933. $requiredArgCount: 1,
  16934. $defaultValues: null
  16935. };
  16936. H.TearOffClosure.prototype = {};
  16937. H.StaticClosure.prototype = {
  16938. toString$0: function(_) {
  16939. var $name = this.$static_name;
  16940. if ($name == null)
  16941. return "Closure of unknown static method";
  16942. return "Closure '" + H.unminifyOrTag($name) + "'";
  16943. }
  16944. };
  16945. H.BoundClosure.prototype = {
  16946. $eq: function(_, other) {
  16947. var _this = this;
  16948. if (other == null)
  16949. return false;
  16950. if (_this === other)
  16951. return true;
  16952. if (!(other instanceof H.BoundClosure))
  16953. return false;
  16954. return _this._self === other._self && _this._target === other._target && _this._receiver === other._receiver;
  16955. },
  16956. get$hashCode: function(_) {
  16957. var receiverHashCode,
  16958. t1 = this._receiver;
  16959. if (t1 == null)
  16960. receiverHashCode = H.Primitives_objectHashCode(this._self);
  16961. else
  16962. receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
  16963. return (receiverHashCode ^ H.Primitives_objectHashCode(this._target)) >>> 0;
  16964. },
  16965. toString$0: function(_) {
  16966. var receiver = this._receiver;
  16967. if (receiver == null)
  16968. receiver = this._self;
  16969. return "Closure '" + H.S(this.__js_helper$_name) + "' of " + ("Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'");
  16970. }
  16971. };
  16972. H.CastErrorImplementation.prototype = {
  16973. toString$0: function(_) {
  16974. return this.message;
  16975. },
  16976. get$message: function(receiver) {
  16977. return this.message;
  16978. }
  16979. };
  16980. H.RuntimeError.prototype = {
  16981. toString$0: function(_) {
  16982. return "RuntimeError: " + H.S(this.message);
  16983. },
  16984. get$message: function(receiver) {
  16985. return this.message;
  16986. }
  16987. };
  16988. H.TypeImpl.prototype = {
  16989. get$_typeName: function() {
  16990. var t1 = this.__typeName;
  16991. return t1 == null ? this.__typeName = H.runtimeTypeToString(this._rti) : t1;
  16992. },
  16993. toString$0: function(_) {
  16994. return this.get$_typeName();
  16995. },
  16996. get$hashCode: function(_) {
  16997. var t1 = this._hashCode;
  16998. return t1 == null ? this._hashCode = C.JSString_methods.get$hashCode(this.get$_typeName()) : t1;
  16999. },
  17000. $eq: function(_, other) {
  17001. if (other == null)
  17002. return false;
  17003. return other instanceof H.TypeImpl && this.get$_typeName() === other.get$_typeName();
  17004. }
  17005. };
  17006. H.JsLinkedHashMap.prototype = {
  17007. get$length: function(_) {
  17008. return this.__js_helper$_length;
  17009. },
  17010. get$isEmpty: function(_) {
  17011. return this.__js_helper$_length === 0;
  17012. },
  17013. get$isNotEmpty: function(_) {
  17014. return !this.get$isEmpty(this);
  17015. },
  17016. get$keys: function() {
  17017. return new H.LinkedHashMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]);
  17018. },
  17019. get$values: function() {
  17020. var _this = this;
  17021. return H.MappedIterable_MappedIterable(_this.get$keys(), new H.JsLinkedHashMap_values_closure(_this), H.getTypeArgumentByIndex(_this, 0), H.getTypeArgumentByIndex(_this, 1));
  17022. },
  17023. containsKey$1: function(key) {
  17024. var strings, nums, _this = this;
  17025. if (typeof key === "string") {
  17026. strings = _this._strings;
  17027. if (strings == null)
  17028. return false;
  17029. return _this._containsTableEntry$2(strings, key);
  17030. } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
  17031. nums = _this._nums;
  17032. if (nums == null)
  17033. return false;
  17034. return _this._containsTableEntry$2(nums, key);
  17035. } else
  17036. return _this.internalContainsKey$1(key);
  17037. },
  17038. internalContainsKey$1: function(key) {
  17039. var _this = this,
  17040. rest = _this._rest;
  17041. if (rest == null)
  17042. return false;
  17043. return _this.internalFindBucketIndex$2(_this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)), key) >= 0;
  17044. },
  17045. addAll$1: function(_, other) {
  17046. other.forEach$1(0, new H.JsLinkedHashMap_addAll_closure(this));
  17047. },
  17048. $index: function(_, key) {
  17049. var strings, cell, t1, nums, _this = this;
  17050. if (typeof key === "string") {
  17051. strings = _this._strings;
  17052. if (strings == null)
  17053. return;
  17054. cell = _this._getTableCell$2(strings, key);
  17055. t1 = cell == null ? null : cell.hashMapCellValue;
  17056. return t1;
  17057. } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
  17058. nums = _this._nums;
  17059. if (nums == null)
  17060. return;
  17061. cell = _this._getTableCell$2(nums, key);
  17062. t1 = cell == null ? null : cell.hashMapCellValue;
  17063. return t1;
  17064. } else
  17065. return _this.internalGet$1(key);
  17066. },
  17067. internalGet$1: function(key) {
  17068. var bucket, index, _this = this,
  17069. rest = _this._rest;
  17070. if (rest == null)
  17071. return;
  17072. bucket = _this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key));
  17073. index = _this.internalFindBucketIndex$2(bucket, key);
  17074. if (index < 0)
  17075. return;
  17076. return bucket[index].hashMapCellValue;
  17077. },
  17078. $indexSet: function(_, key, value) {
  17079. var strings, nums, _this = this;
  17080. if (typeof key === "string") {
  17081. strings = _this._strings;
  17082. _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value);
  17083. } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
  17084. nums = _this._nums;
  17085. _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value);
  17086. } else
  17087. _this.internalSet$2(key, value);
  17088. },
  17089. internalSet$2: function(key, value) {
  17090. var hash, bucket, index, _this = this,
  17091. rest = _this._rest;
  17092. if (rest == null)
  17093. rest = _this._rest = _this._newHashTable$0();
  17094. hash = _this.internalComputeHashCode$1(key);
  17095. bucket = _this._getTableBucket$2(rest, hash);
  17096. if (bucket == null)
  17097. _this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]);
  17098. else {
  17099. index = _this.internalFindBucketIndex$2(bucket, key);
  17100. if (index >= 0)
  17101. bucket[index].hashMapCellValue = value;
  17102. else
  17103. bucket.push(_this._newLinkedCell$2(key, value));
  17104. }
  17105. },
  17106. putIfAbsent$2: function(key, ifAbsent) {
  17107. var value;
  17108. if (this.containsKey$1(key))
  17109. return this.$index(0, key);
  17110. value = ifAbsent.call$0();
  17111. this.$indexSet(0, key, value);
  17112. return value;
  17113. },
  17114. remove$1: function(_, key) {
  17115. var _this = this;
  17116. if (typeof key === "string")
  17117. return _this.__js_helper$_removeHashTableEntry$2(_this._strings, key);
  17118. else if (typeof key === "number" && (key & 0x3ffffff) === key)
  17119. return _this.__js_helper$_removeHashTableEntry$2(_this._nums, key);
  17120. else
  17121. return _this.internalRemove$1(key);
  17122. },
  17123. internalRemove$1: function(key) {
  17124. var hash, bucket, index, cell, _this = this,
  17125. rest = _this._rest;
  17126. if (rest == null)
  17127. return;
  17128. hash = _this.internalComputeHashCode$1(key);
  17129. bucket = _this._getTableBucket$2(rest, hash);
  17130. index = _this.internalFindBucketIndex$2(bucket, key);
  17131. if (index < 0)
  17132. return;
  17133. cell = bucket.splice(index, 1)[0];
  17134. _this.__js_helper$_unlinkCell$1(cell);
  17135. if (bucket.length === 0)
  17136. _this._deleteTableEntry$2(rest, hash);
  17137. return cell.hashMapCellValue;
  17138. },
  17139. clear$0: function(_) {
  17140. var _this = this;
  17141. if (_this.__js_helper$_length > 0) {
  17142. _this._strings = _this._nums = _this._rest = _this._first = _this._last = null;
  17143. _this.__js_helper$_length = 0;
  17144. _this._modified$0();
  17145. }
  17146. },
  17147. forEach$1: function(_, action) {
  17148. var _this = this,
  17149. cell = _this._first,
  17150. modifications = _this._modifications;
  17151. for (; cell != null;) {
  17152. action.call$2(cell.hashMapCellKey, cell.hashMapCellValue);
  17153. if (modifications !== _this._modifications)
  17154. throw H.wrapException(P.ConcurrentModificationError$(_this));
  17155. cell = cell._next;
  17156. }
  17157. },
  17158. _addHashTableEntry$3: function(table, key, value) {
  17159. var cell = this._getTableCell$2(table, key);
  17160. if (cell == null)
  17161. this._setTableEntry$3(table, key, this._newLinkedCell$2(key, value));
  17162. else
  17163. cell.hashMapCellValue = value;
  17164. },
  17165. __js_helper$_removeHashTableEntry$2: function(table, key) {
  17166. var cell;
  17167. if (table == null)
  17168. return;
  17169. cell = this._getTableCell$2(table, key);
  17170. if (cell == null)
  17171. return;
  17172. this.__js_helper$_unlinkCell$1(cell);
  17173. this._deleteTableEntry$2(table, key);
  17174. return cell.hashMapCellValue;
  17175. },
  17176. _modified$0: function() {
  17177. this._modifications = this._modifications + 1 & 67108863;
  17178. },
  17179. _newLinkedCell$2: function(key, value) {
  17180. var last, _this = this,
  17181. cell = new H.LinkedHashMapCell(key, value);
  17182. if (_this._first == null)
  17183. _this._first = _this._last = cell;
  17184. else {
  17185. last = _this._last;
  17186. cell._previous = last;
  17187. _this._last = last._next = cell;
  17188. }
  17189. ++_this.__js_helper$_length;
  17190. _this._modified$0();
  17191. return cell;
  17192. },
  17193. __js_helper$_unlinkCell$1: function(cell) {
  17194. var _this = this,
  17195. previous = cell._previous,
  17196. next = cell._next;
  17197. if (previous == null)
  17198. _this._first = next;
  17199. else
  17200. previous._next = next;
  17201. if (next == null)
  17202. _this._last = previous;
  17203. else
  17204. next._previous = previous;
  17205. --_this.__js_helper$_length;
  17206. _this._modified$0();
  17207. },
  17208. internalComputeHashCode$1: function(key) {
  17209. return J.get$hashCode$(key) & 0x3ffffff;
  17210. },
  17211. internalFindBucketIndex$2: function(bucket, key) {
  17212. var $length, i;
  17213. if (bucket == null)
  17214. return -1;
  17215. $length = bucket.length;
  17216. for (i = 0; i < $length; ++i)
  17217. if (J.$eq$(bucket[i].hashMapCellKey, key))
  17218. return i;
  17219. return -1;
  17220. },
  17221. toString$0: function(_) {
  17222. return P.MapBase_mapToString(this);
  17223. },
  17224. _getTableCell$2: function(table, key) {
  17225. return table[key];
  17226. },
  17227. _getTableBucket$2: function(table, key) {
  17228. return table[key];
  17229. },
  17230. _setTableEntry$3: function(table, key, value) {
  17231. table[key] = value;
  17232. },
  17233. _deleteTableEntry$2: function(table, key) {
  17234. delete table[key];
  17235. },
  17236. _containsTableEntry$2: function(table, key) {
  17237. return this._getTableCell$2(table, key) != null;
  17238. },
  17239. _newHashTable$0: function() {
  17240. var _s20_ = "<non-identifier-key>",
  17241. table = Object.create(null);
  17242. this._setTableEntry$3(table, _s20_, table);
  17243. this._deleteTableEntry$2(table, _s20_);
  17244. return table;
  17245. }
  17246. };
  17247. H.JsLinkedHashMap_values_closure.prototype = {
  17248. call$1: function(each) {
  17249. return this.$this.$index(0, each);
  17250. },
  17251. $signature: function() {
  17252. var t1 = this.$this;
  17253. return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]};
  17254. }
  17255. };
  17256. H.JsLinkedHashMap_addAll_closure.prototype = {
  17257. call$2: function(key, value) {
  17258. this.$this.$indexSet(0, key, value);
  17259. },
  17260. $signature: function() {
  17261. var t1 = this.$this;
  17262. return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(t1, 0), H.getTypeArgumentByIndex(t1, 1)]};
  17263. }
  17264. };
  17265. H.LinkedHashMapCell.prototype = {};
  17266. H.LinkedHashMapKeyIterable.prototype = {
  17267. get$length: function(_) {
  17268. return this._map.__js_helper$_length;
  17269. },
  17270. get$isEmpty: function(_) {
  17271. return this._map.__js_helper$_length === 0;
  17272. },
  17273. get$iterator: function(_) {
  17274. var t1 = this._map,
  17275. t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications);
  17276. t2._cell = t1._first;
  17277. return t2;
  17278. },
  17279. contains$1: function(_, element) {
  17280. return this._map.containsKey$1(element);
  17281. }
  17282. };
  17283. H.LinkedHashMapKeyIterator.prototype = {
  17284. get$current: function(_) {
  17285. return this.__js_helper$_current;
  17286. },
  17287. moveNext$0: function() {
  17288. var _this = this,
  17289. t1 = _this._map;
  17290. if (_this._modifications !== t1._modifications)
  17291. throw H.wrapException(P.ConcurrentModificationError$(t1));
  17292. else {
  17293. t1 = _this._cell;
  17294. if (t1 == null) {
  17295. _this.__js_helper$_current = null;
  17296. return false;
  17297. } else {
  17298. _this.__js_helper$_current = t1.hashMapCellKey;
  17299. _this._cell = t1._next;
  17300. return true;
  17301. }
  17302. }
  17303. }
  17304. };
  17305. H.initHooks_closure.prototype = {
  17306. call$1: function(o) {
  17307. return this.getTag(o);
  17308. },
  17309. $signature: 12
  17310. };
  17311. H.initHooks_closure0.prototype = {
  17312. call$2: function(o, tag) {
  17313. return this.getUnknownTag(o, tag);
  17314. }
  17315. };
  17316. H.initHooks_closure1.prototype = {
  17317. call$1: function(tag) {
  17318. return this.prototypeForTag(tag);
  17319. }
  17320. };
  17321. H.JSSyntaxRegExp.prototype = {
  17322. toString$0: function(_) {
  17323. return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags;
  17324. },
  17325. get$_nativeGlobalVersion: function() {
  17326. var _this = this,
  17327. t1 = _this._nativeGlobalRegExp;
  17328. if (t1 != null)
  17329. return t1;
  17330. t1 = _this._nativeRegExp;
  17331. return _this._nativeGlobalRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
  17332. },
  17333. get$_nativeAnchoredVersion: function() {
  17334. var _this = this,
  17335. t1 = _this._nativeAnchoredRegExp;
  17336. if (t1 != null)
  17337. return t1;
  17338. t1 = _this._nativeRegExp;
  17339. return _this._nativeAnchoredRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern + "|()", t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
  17340. },
  17341. firstMatch$1: function(string) {
  17342. var m;
  17343. if (typeof string !== "string")
  17344. H.throwExpression(H.argumentErrorValue(string));
  17345. m = this._nativeRegExp.exec(string);
  17346. if (m == null)
  17347. return;
  17348. return new H._MatchImplementation(m);
  17349. },
  17350. allMatches$2: function(_, string, start) {
  17351. var t1 = string.length;
  17352. if (start > t1)
  17353. throw H.wrapException(P.RangeError$range(start, 0, t1, null, null));
  17354. return new H._AllMatchesIterable(this, string, start);
  17355. },
  17356. allMatches$1: function($receiver, string) {
  17357. return this.allMatches$2($receiver, string, 0);
  17358. },
  17359. _execGlobal$2: function(string, start) {
  17360. var match,
  17361. regexp = this.get$_nativeGlobalVersion();
  17362. regexp.lastIndex = start;
  17363. match = regexp.exec(string);
  17364. if (match == null)
  17365. return;
  17366. return new H._MatchImplementation(match);
  17367. },
  17368. _execAnchored$2: function(string, start) {
  17369. var match,
  17370. regexp = this.get$_nativeAnchoredVersion();
  17371. regexp.lastIndex = start;
  17372. match = regexp.exec(string);
  17373. if (match == null)
  17374. return;
  17375. if (match.pop() != null)
  17376. return;
  17377. return new H._MatchImplementation(match);
  17378. },
  17379. matchAsPrefix$2: function(_, string, start) {
  17380. if (start < 0 || start > string.length)
  17381. throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
  17382. return this._execAnchored$2(string, start);
  17383. }
  17384. };
  17385. H._MatchImplementation.prototype = {
  17386. get$start: function(_) {
  17387. return this._match.index;
  17388. },
  17389. get$end: function(_) {
  17390. var t1 = this._match;
  17391. return t1.index + t1[0].length;
  17392. },
  17393. $isMatch: 1,
  17394. $isRegExpMatch: 1
  17395. };
  17396. H._AllMatchesIterable.prototype = {
  17397. get$iterator: function(_) {
  17398. return new H._AllMatchesIterator(this._re, this._string, this.__js_helper$_start);
  17399. },
  17400. $asIterable: function() {
  17401. return [P.RegExpMatch];
  17402. }
  17403. };
  17404. H._AllMatchesIterator.prototype = {
  17405. get$current: function(_) {
  17406. return this.__js_helper$_current;
  17407. },
  17408. moveNext$0: function() {
  17409. var t2, t3, match, nextIndex, _this = this,
  17410. t1 = _this._string;
  17411. if (t1 == null)
  17412. return false;
  17413. t2 = _this._nextIndex;
  17414. if (t2 <= t1.length) {
  17415. t3 = _this._regExp;
  17416. match = t3._execGlobal$2(t1, t2);
  17417. if (match != null) {
  17418. _this.__js_helper$_current = match;
  17419. nextIndex = match.get$end(match);
  17420. if (match._match.index === nextIndex) {
  17421. if (t3._nativeRegExp.unicode) {
  17422. t1 = _this._nextIndex;
  17423. t2 = t1 + 1;
  17424. t3 = _this._string;
  17425. if (t2 < t3.length) {
  17426. t1 = J.getInterceptor$s(t3).codeUnitAt$1(t3, t1);
  17427. if (t1 >= 55296 && t1 <= 56319) {
  17428. t1 = C.JSString_methods.codeUnitAt$1(t3, t2);
  17429. t1 = t1 >= 56320 && t1 <= 57343;
  17430. } else
  17431. t1 = false;
  17432. } else
  17433. t1 = false;
  17434. } else
  17435. t1 = false;
  17436. nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1;
  17437. }
  17438. _this._nextIndex = nextIndex;
  17439. return true;
  17440. }
  17441. }
  17442. _this._string = _this.__js_helper$_current = null;
  17443. return false;
  17444. }
  17445. };
  17446. H.StringMatch.prototype = {
  17447. get$end: function(_) {
  17448. return this.start + this.pattern.length;
  17449. },
  17450. group$1: function(group_) {
  17451. if (group_ !== 0)
  17452. throw H.wrapException(P.RangeError$value(group_, null, null));
  17453. return this.pattern;
  17454. },
  17455. $isMatch: 1,
  17456. get$start: function(receiver) {
  17457. return this.start;
  17458. }
  17459. };
  17460. H._StringAllMatchesIterable.prototype = {
  17461. get$iterator: function(_) {
  17462. return new H._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index);
  17463. },
  17464. get$first: function(_) {
  17465. var t1 = this._pattern,
  17466. index = this._input.indexOf(t1, this.__js_helper$_index);
  17467. if (index >= 0)
  17468. return new H.StringMatch(index, t1);
  17469. throw H.wrapException(H.IterableElementError_noElement());
  17470. },
  17471. $asIterable: function() {
  17472. return [P.Match];
  17473. }
  17474. };
  17475. H._StringAllMatchesIterator.prototype = {
  17476. moveNext$0: function() {
  17477. var index, end, _this = this,
  17478. t1 = _this.__js_helper$_index,
  17479. t2 = _this._pattern,
  17480. t3 = t2.length,
  17481. t4 = _this._input,
  17482. t5 = t4.length;
  17483. if (t1 + t3 > t5) {
  17484. _this.__js_helper$_current = null;
  17485. return false;
  17486. }
  17487. index = t4.indexOf(t2, t1);
  17488. if (index < 0) {
  17489. _this.__js_helper$_index = t5 + 1;
  17490. _this.__js_helper$_current = null;
  17491. return false;
  17492. }
  17493. end = index + t3;
  17494. _this.__js_helper$_current = new H.StringMatch(index, t2);
  17495. _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end;
  17496. return true;
  17497. },
  17498. get$current: function(_) {
  17499. return this.__js_helper$_current;
  17500. }
  17501. };
  17502. H.NativeTypedData.prototype = {
  17503. _invalidPosition$3: function(receiver, position, $length, $name) {
  17504. if (typeof position !== "number" || Math.floor(position) !== position)
  17505. throw H.wrapException(P.ArgumentError$value(position, $name, "Invalid list position"));
  17506. else
  17507. throw H.wrapException(P.RangeError$range(position, 0, $length, $name, null));
  17508. },
  17509. _checkPosition$3: function(receiver, position, $length, $name) {
  17510. if (position >>> 0 !== position || position > $length)
  17511. this._invalidPosition$3(receiver, position, $length, $name);
  17512. }
  17513. };
  17514. H.NativeTypedArray.prototype = {
  17515. get$length: function(receiver) {
  17516. return receiver.length;
  17517. },
  17518. _setRangeFast$4: function(receiver, start, end, source, skipCount) {
  17519. var count, sourceLength,
  17520. targetLength = receiver.length;
  17521. this._checkPosition$3(receiver, start, targetLength, "start");
  17522. this._checkPosition$3(receiver, end, targetLength, "end");
  17523. if (start > end)
  17524. throw H.wrapException(P.RangeError$range(start, 0, end, null, null));
  17525. count = end - start;
  17526. if (skipCount < 0)
  17527. throw H.wrapException(P.ArgumentError$(skipCount));
  17528. sourceLength = source.length;
  17529. if (sourceLength - skipCount < count)
  17530. throw H.wrapException(P.StateError$("Not enough elements"));
  17531. if (skipCount !== 0 || sourceLength !== count)
  17532. source = source.subarray(skipCount, skipCount + count);
  17533. receiver.set(source, start);
  17534. },
  17535. $isJavaScriptIndexingBehavior: 1,
  17536. $asJavaScriptIndexingBehavior: function() {
  17537. }
  17538. };
  17539. H.NativeTypedArrayOfDouble.prototype = {
  17540. $index: function(receiver, index) {
  17541. H._checkValidIndex(index, receiver, receiver.length);
  17542. return receiver[index];
  17543. },
  17544. $indexSet: function(receiver, index, value) {
  17545. H._checkValidIndex(index, receiver, receiver.length);
  17546. receiver[index] = value;
  17547. },
  17548. setRange$4: function(receiver, start, end, iterable, skipCount) {
  17549. if (!!J.getInterceptor$(iterable).$isNativeTypedArrayOfDouble) {
  17550. this._setRangeFast$4(receiver, start, end, iterable, skipCount);
  17551. return;
  17552. }
  17553. this.super$ListMixin$setRange(receiver, start, end, iterable, skipCount);
  17554. },
  17555. $isEfficientLengthIterable: 1,
  17556. $asEfficientLengthIterable: function() {
  17557. return [P.double];
  17558. },
  17559. $asListMixin: function() {
  17560. return [P.double];
  17561. },
  17562. $isIterable: 1,
  17563. $asIterable: function() {
  17564. return [P.double];
  17565. },
  17566. $isList: 1,
  17567. $asList: function() {
  17568. return [P.double];
  17569. }
  17570. };
  17571. H.NativeTypedArrayOfInt.prototype = {
  17572. $indexSet: function(receiver, index, value) {
  17573. H._checkValidIndex(index, receiver, receiver.length);
  17574. receiver[index] = value;
  17575. },
  17576. setRange$4: function(receiver, start, end, iterable, skipCount) {
  17577. if (!!J.getInterceptor$(iterable).$isNativeTypedArrayOfInt) {
  17578. this._setRangeFast$4(receiver, start, end, iterable, skipCount);
  17579. return;
  17580. }
  17581. this.super$ListMixin$setRange(receiver, start, end, iterable, skipCount);
  17582. },
  17583. $isEfficientLengthIterable: 1,
  17584. $asEfficientLengthIterable: function() {
  17585. return [P.int];
  17586. },
  17587. $asListMixin: function() {
  17588. return [P.int];
  17589. },
  17590. $isIterable: 1,
  17591. $asIterable: function() {
  17592. return [P.int];
  17593. },
  17594. $isList: 1,
  17595. $asList: function() {
  17596. return [P.int];
  17597. }
  17598. };
  17599. H.NativeFloat32List.prototype = {
  17600. sublist$2: function(receiver, start, end) {
  17601. return new Float32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17602. }
  17603. };
  17604. H.NativeFloat64List.prototype = {
  17605. sublist$2: function(receiver, start, end) {
  17606. return new Float64Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17607. }
  17608. };
  17609. H.NativeInt16List.prototype = {
  17610. $index: function(receiver, index) {
  17611. H._checkValidIndex(index, receiver, receiver.length);
  17612. return receiver[index];
  17613. },
  17614. sublist$2: function(receiver, start, end) {
  17615. return new Int16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17616. }
  17617. };
  17618. H.NativeInt32List.prototype = {
  17619. $index: function(receiver, index) {
  17620. H._checkValidIndex(index, receiver, receiver.length);
  17621. return receiver[index];
  17622. },
  17623. sublist$2: function(receiver, start, end) {
  17624. return new Int32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17625. }
  17626. };
  17627. H.NativeInt8List.prototype = {
  17628. $index: function(receiver, index) {
  17629. H._checkValidIndex(index, receiver, receiver.length);
  17630. return receiver[index];
  17631. },
  17632. sublist$2: function(receiver, start, end) {
  17633. return new Int8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17634. }
  17635. };
  17636. H.NativeUint16List.prototype = {
  17637. $index: function(receiver, index) {
  17638. H._checkValidIndex(index, receiver, receiver.length);
  17639. return receiver[index];
  17640. },
  17641. sublist$2: function(receiver, start, end) {
  17642. return new Uint16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17643. }
  17644. };
  17645. H.NativeUint32List.prototype = {
  17646. $index: function(receiver, index) {
  17647. H._checkValidIndex(index, receiver, receiver.length);
  17648. return receiver[index];
  17649. },
  17650. sublist$2: function(receiver, start, end) {
  17651. return new Uint32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17652. }
  17653. };
  17654. H.NativeUint8ClampedList.prototype = {
  17655. get$length: function(receiver) {
  17656. return receiver.length;
  17657. },
  17658. $index: function(receiver, index) {
  17659. H._checkValidIndex(index, receiver, receiver.length);
  17660. return receiver[index];
  17661. },
  17662. sublist$2: function(receiver, start, end) {
  17663. return new Uint8ClampedArray(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17664. }
  17665. };
  17666. H.NativeUint8List.prototype = {
  17667. get$length: function(receiver) {
  17668. return receiver.length;
  17669. },
  17670. $index: function(receiver, index) {
  17671. H._checkValidIndex(index, receiver, receiver.length);
  17672. return receiver[index];
  17673. },
  17674. sublist$2: function(receiver, start, end) {
  17675. return new Uint8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17676. },
  17677. $isNativeUint8List: 1,
  17678. $isUint8List: 1
  17679. };
  17680. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {};
  17681. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
  17682. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {};
  17683. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
  17684. P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
  17685. call$1: function(_) {
  17686. var t1 = this._box_0,
  17687. f = t1.storedCallback;
  17688. t1.storedCallback = null;
  17689. f.call$0();
  17690. },
  17691. $signature: 24
  17692. };
  17693. P._AsyncRun__initializeScheduleImmediate_closure.prototype = {
  17694. call$1: function(callback) {
  17695. var t1, t2;
  17696. this._box_0.storedCallback = callback;
  17697. t1 = this.div;
  17698. t2 = this.span;
  17699. t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
  17700. }
  17701. };
  17702. P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
  17703. call$0: function() {
  17704. this.callback.call$0();
  17705. },
  17706. "call*": "call$0",
  17707. $requiredArgCount: 0
  17708. };
  17709. P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
  17710. call$0: function() {
  17711. this.callback.call$0();
  17712. },
  17713. "call*": "call$0",
  17714. $requiredArgCount: 0
  17715. };
  17716. P._TimerImpl.prototype = {
  17717. _TimerImpl$2: function(milliseconds, callback) {
  17718. if (self.setTimeout != null)
  17719. this._handle = self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds);
  17720. else
  17721. throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found."));
  17722. },
  17723. _TimerImpl$periodic$2: function(milliseconds, callback) {
  17724. if (self.setTimeout != null)
  17725. this._handle = self.setInterval(H.convertDartClosureToJS(new P._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds);
  17726. else
  17727. throw H.wrapException(P.UnsupportedError$("Periodic timer."));
  17728. },
  17729. cancel$0: function() {
  17730. if (self.setTimeout != null) {
  17731. var t1 = this._handle;
  17732. if (t1 == null)
  17733. return;
  17734. if (this._once)
  17735. self.clearTimeout(t1);
  17736. else
  17737. self.clearInterval(t1);
  17738. this._handle = null;
  17739. } else
  17740. throw H.wrapException(P.UnsupportedError$("Canceling a timer."));
  17741. }
  17742. };
  17743. P._TimerImpl_internalCallback.prototype = {
  17744. call$0: function() {
  17745. var t1 = this.$this;
  17746. t1._handle = null;
  17747. t1._tick = 1;
  17748. this.callback.call$0();
  17749. },
  17750. "call*": "call$0",
  17751. $requiredArgCount: 0
  17752. };
  17753. P._TimerImpl$periodic_closure.prototype = {
  17754. call$0: function() {
  17755. var duration, _this = this,
  17756. t1 = _this.$this,
  17757. tick = t1._tick + 1,
  17758. t2 = _this.milliseconds;
  17759. if (t2 > 0) {
  17760. duration = Date.now() - _this.start;
  17761. if (duration > (tick + 1) * t2)
  17762. tick = C.JSInt_methods.$tdiv(duration, t2);
  17763. }
  17764. t1._tick = tick;
  17765. _this.callback.call$1(t1);
  17766. },
  17767. "call*": "call$0",
  17768. $requiredArgCount: 0
  17769. };
  17770. P._AsyncAwaitCompleter.prototype = {
  17771. complete$1: function(value) {
  17772. var t1 = !this.isSync || H.checkSubtype(value, "$isFuture", this.$ti, "$asFuture"),
  17773. t2 = this._future;
  17774. if (t1)
  17775. t2._asyncComplete$1(value);
  17776. else
  17777. t2._completeWithValue$1(value);
  17778. },
  17779. completeError$2: function(e, st) {
  17780. var t1 = this._future;
  17781. if (this.isSync)
  17782. t1._completeError$2(e, st);
  17783. else
  17784. t1._asyncCompleteError$2(e, st);
  17785. }
  17786. };
  17787. P._awaitOnObject_closure.prototype = {
  17788. call$1: function(result) {
  17789. return this.bodyFunction.call$2(0, result);
  17790. },
  17791. $signature: 44
  17792. };
  17793. P._awaitOnObject_closure0.prototype = {
  17794. call$2: function(error, stackTrace) {
  17795. this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, stackTrace));
  17796. },
  17797. "call*": "call$2",
  17798. $requiredArgCount: 2,
  17799. $signature: 15
  17800. };
  17801. P._wrapJsFunctionForAsync_closure.prototype = {
  17802. call$2: function(errorCode, result) {
  17803. this.$protected(errorCode, result);
  17804. },
  17805. "call*": "call$2",
  17806. $requiredArgCount: 2
  17807. };
  17808. P._asyncStarHelper_closure.prototype = {
  17809. call$0: function() {
  17810. var t1 = this.controller,
  17811. t2 = t1.controller,
  17812. t3 = t2._async$_state;
  17813. if ((t3 & 1) !== 0 ? (t2.get$_subscription()._async$_state & 4) !== 0 : (t3 & 2) === 0) {
  17814. t1.isSuspended = true;
  17815. return;
  17816. }
  17817. this.bodyFunctionOrErrorCode.call$2(null, 0);
  17818. },
  17819. "call*": "call$0",
  17820. $requiredArgCount: 0
  17821. };
  17822. P._asyncStarHelper_closure0.prototype = {
  17823. call$1: function(_) {
  17824. var errorCode = this.controller.cancelationFuture != null ? 2 : 0;
  17825. this.bodyFunctionOrErrorCode.call$2(errorCode, null);
  17826. },
  17827. $signature: 24
  17828. };
  17829. P._AsyncStarStreamController.prototype = {
  17830. add$1: function(_, $event) {
  17831. return this.controller.add$1(0, $event);
  17832. },
  17833. _AsyncStarStreamController$1: function(body, $T) {
  17834. var t1 = new P._AsyncStarStreamController__resumeBody(body);
  17835. this.controller = P.StreamController_StreamController(new P._AsyncStarStreamController_closure(this, body), new P._AsyncStarStreamController_closure0(t1), null, new P._AsyncStarStreamController_closure1(this, t1), false, $T);
  17836. }
  17837. };
  17838. P._AsyncStarStreamController__resumeBody.prototype = {
  17839. call$0: function() {
  17840. P.scheduleMicrotask(new P._AsyncStarStreamController__resumeBody_closure(this.body));
  17841. }
  17842. };
  17843. P._AsyncStarStreamController__resumeBody_closure.prototype = {
  17844. call$0: function() {
  17845. this.body.call$2(0, null);
  17846. },
  17847. "call*": "call$0",
  17848. $requiredArgCount: 0
  17849. };
  17850. P._AsyncStarStreamController_closure0.prototype = {
  17851. call$0: function() {
  17852. this._resumeBody.call$0();
  17853. }
  17854. };
  17855. P._AsyncStarStreamController_closure1.prototype = {
  17856. call$0: function() {
  17857. var t1 = this.$this;
  17858. if (t1.isSuspended) {
  17859. t1.isSuspended = false;
  17860. this._resumeBody.call$0();
  17861. }
  17862. }
  17863. };
  17864. P._AsyncStarStreamController_closure.prototype = {
  17865. call$0: function() {
  17866. var t1 = this.$this;
  17867. if ((t1.controller._async$_state & 4) === 0) {
  17868. t1.cancelationFuture = new P._Future($.Zone__current, [null]);
  17869. if (t1.isSuspended) {
  17870. t1.isSuspended = false;
  17871. P.scheduleMicrotask(new P._AsyncStarStreamController__closure(this.body));
  17872. }
  17873. return t1.cancelationFuture;
  17874. }
  17875. },
  17876. "call*": "call$0",
  17877. $requiredArgCount: 0
  17878. };
  17879. P._AsyncStarStreamController__closure.prototype = {
  17880. call$0: function() {
  17881. this.body.call$2(2, null);
  17882. },
  17883. "call*": "call$0",
  17884. $requiredArgCount: 0
  17885. };
  17886. P._IterationMarker.prototype = {
  17887. toString$0: function(_) {
  17888. return "IterationMarker(" + this.state + ", " + H.S(this.value) + ")";
  17889. }
  17890. };
  17891. P._SyncStarIterator.prototype = {
  17892. get$current: function(_) {
  17893. var t1 = this._nestedIterator;
  17894. if (t1 == null)
  17895. return this._async$_current;
  17896. return t1.get$current(t1);
  17897. },
  17898. moveNext$0: function() {
  17899. var t1, value, state, inner, _this = this;
  17900. for (; true;) {
  17901. t1 = _this._nestedIterator;
  17902. if (t1 != null)
  17903. if (t1.moveNext$0())
  17904. return true;
  17905. else
  17906. _this._nestedIterator = null;
  17907. value = function(body, SUCCESS, ERROR) {
  17908. var errorValue,
  17909. errorCode = SUCCESS;
  17910. while (true)
  17911. try {
  17912. return body(errorCode, errorValue);
  17913. } catch (error) {
  17914. errorValue = error;
  17915. errorCode = ERROR;
  17916. }
  17917. }(_this._body, 0, 1);
  17918. if (value instanceof P._IterationMarker) {
  17919. state = value.state;
  17920. if (state === 2) {
  17921. t1 = _this._suspendedBodies;
  17922. if (t1 == null || t1.length === 0) {
  17923. _this._async$_current = null;
  17924. return false;
  17925. }
  17926. _this._body = t1.pop();
  17927. continue;
  17928. } else {
  17929. t1 = value.value;
  17930. if (state === 3)
  17931. throw t1;
  17932. else {
  17933. inner = J.get$iterator$ax(t1);
  17934. if (!!inner.$is_SyncStarIterator) {
  17935. t1 = _this._suspendedBodies;
  17936. if (t1 == null)
  17937. t1 = _this._suspendedBodies = [];
  17938. t1.push(_this._body);
  17939. _this._body = inner._body;
  17940. continue;
  17941. } else {
  17942. _this._nestedIterator = inner;
  17943. continue;
  17944. }
  17945. }
  17946. }
  17947. } else {
  17948. _this._async$_current = value;
  17949. return true;
  17950. }
  17951. }
  17952. return false;
  17953. }
  17954. };
  17955. P._SyncStarIterable.prototype = {
  17956. get$iterator: function(_) {
  17957. return new P._SyncStarIterator(this._outerHelper());
  17958. }
  17959. };
  17960. P._BroadcastStream.prototype = {
  17961. get$isBroadcast: function() {
  17962. return true;
  17963. }
  17964. };
  17965. P._BroadcastSubscription.prototype = {
  17966. _async$_onPause$0: function() {
  17967. },
  17968. _async$_onResume$0: function() {
  17969. }
  17970. };
  17971. P._BroadcastStreamController.prototype = {
  17972. set$onPause: function(onPauseHandler) {
  17973. throw H.wrapException(P.UnsupportedError$("Broadcast stream controllers do not support pause callbacks"));
  17974. },
  17975. set$onResume: function(onResumeHandler) {
  17976. throw H.wrapException(P.UnsupportedError$("Broadcast stream controllers do not support pause callbacks"));
  17977. },
  17978. get$stream: function() {
  17979. return new P._BroadcastStream(this, this.$ti);
  17980. },
  17981. get$_mayAddEvent: function() {
  17982. return this._async$_state < 4;
  17983. },
  17984. _ensureDoneFuture$0: function() {
  17985. var t1 = this._doneFuture;
  17986. if (t1 != null)
  17987. return t1;
  17988. return this._doneFuture = new P._Future($.Zone__current, [null]);
  17989. },
  17990. _removeListener$1: function(subscription) {
  17991. var previous = subscription._async$_previous,
  17992. next = subscription._async$_next;
  17993. if (previous == null)
  17994. this._firstSubscription = next;
  17995. else
  17996. previous._async$_next = next;
  17997. if (next == null)
  17998. this._lastSubscription = previous;
  17999. else
  18000. next._async$_previous = previous;
  18001. subscription._async$_previous = subscription;
  18002. subscription._async$_next = subscription;
  18003. },
  18004. _subscribe$4: function(onData, onError, onDone, cancelOnError) {
  18005. var t1, t2, subscription, oldLast, _this = this;
  18006. if ((_this._async$_state & 4) !== 0) {
  18007. if (onDone == null)
  18008. onDone = P.async___nullDoneHandler$closure();
  18009. t1 = new P._DoneStreamSubscription($.Zone__current, onDone, _this.$ti);
  18010. t1._schedule$0();
  18011. return t1;
  18012. }
  18013. t1 = $.Zone__current;
  18014. t2 = cancelOnError ? 1 : 0;
  18015. subscription = new P._BroadcastSubscription(_this, t1, t2, _this.$ti);
  18016. subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 0));
  18017. subscription._async$_previous = subscription;
  18018. subscription._async$_next = subscription;
  18019. subscription._eventState = _this._async$_state & 1;
  18020. oldLast = _this._lastSubscription;
  18021. _this._lastSubscription = subscription;
  18022. subscription._async$_next = null;
  18023. subscription._async$_previous = oldLast;
  18024. if (oldLast == null)
  18025. _this._firstSubscription = subscription;
  18026. else
  18027. oldLast._async$_next = subscription;
  18028. if (_this._firstSubscription === subscription)
  18029. P._runGuarded(_this.onListen);
  18030. return subscription;
  18031. },
  18032. _recordCancel$1: function(sub) {
  18033. var t1, _this = this;
  18034. if (sub._async$_next === sub)
  18035. return;
  18036. t1 = sub._eventState;
  18037. if ((t1 & 2) !== 0)
  18038. sub._eventState = t1 | 4;
  18039. else {
  18040. _this._removeListener$1(sub);
  18041. if ((_this._async$_state & 2) === 0 && _this._firstSubscription == null)
  18042. _this._callOnCancel$0();
  18043. }
  18044. return;
  18045. },
  18046. _recordPause$1: function(subscription) {
  18047. },
  18048. _recordResume$1: function(subscription) {
  18049. },
  18050. _addEventError$0: function() {
  18051. if ((this._async$_state & 4) !== 0)
  18052. return new P.StateError("Cannot add new events after calling close");
  18053. return new P.StateError("Cannot add new events while doing an addStream");
  18054. },
  18055. add$1: function(_, data) {
  18056. if (!this.get$_mayAddEvent())
  18057. throw H.wrapException(this._addEventError$0());
  18058. this._sendData$1(data);
  18059. },
  18060. addError$2: function(error, stackTrace) {
  18061. var replacement;
  18062. if (error == null)
  18063. error = new P.NullThrownError();
  18064. if (!this.get$_mayAddEvent())
  18065. throw H.wrapException(this._addEventError$0());
  18066. replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  18067. if (replacement != null) {
  18068. error = replacement.error;
  18069. if (error == null)
  18070. error = new P.NullThrownError();
  18071. stackTrace = replacement.stackTrace;
  18072. }
  18073. this._sendError$2(error, stackTrace);
  18074. },
  18075. close$0: function(_) {
  18076. var doneFuture, _this = this;
  18077. if ((_this._async$_state & 4) !== 0)
  18078. return _this._doneFuture;
  18079. if (!_this.get$_mayAddEvent())
  18080. throw H.wrapException(_this._addEventError$0());
  18081. _this._async$_state |= 4;
  18082. doneFuture = _this._ensureDoneFuture$0();
  18083. _this._sendDone$0();
  18084. return doneFuture;
  18085. },
  18086. _forEachListener$1: function(action) {
  18087. var subscription, id, next, _this = this,
  18088. t1 = _this._async$_state;
  18089. if ((t1 & 2) !== 0)
  18090. throw H.wrapException(P.StateError$("Cannot fire new event. Controller is already firing an event"));
  18091. subscription = _this._firstSubscription;
  18092. if (subscription == null)
  18093. return;
  18094. id = t1 & 1;
  18095. _this._async$_state = t1 ^ 3;
  18096. for (; subscription != null;) {
  18097. t1 = subscription._eventState;
  18098. if ((t1 & 1) === id) {
  18099. subscription._eventState = t1 | 2;
  18100. action.call$1(subscription);
  18101. t1 = subscription._eventState ^= 1;
  18102. next = subscription._async$_next;
  18103. if ((t1 & 4) !== 0)
  18104. _this._removeListener$1(subscription);
  18105. subscription._eventState &= 4294967293;
  18106. subscription = next;
  18107. } else
  18108. subscription = subscription._async$_next;
  18109. }
  18110. _this._async$_state &= 4294967293;
  18111. if (_this._firstSubscription == null)
  18112. _this._callOnCancel$0();
  18113. },
  18114. _callOnCancel$0: function() {
  18115. var _this = this;
  18116. if ((_this._async$_state & 4) !== 0 && _this._doneFuture._async$_state === 0)
  18117. _this._doneFuture._asyncComplete$1(null);
  18118. P._runGuarded(_this.onCancel);
  18119. },
  18120. $isEventSink: 1,
  18121. set$onListen: function(val) {
  18122. return this.onListen = val;
  18123. },
  18124. set$onCancel: function(val) {
  18125. return this.onCancel = val;
  18126. }
  18127. };
  18128. P._SyncBroadcastStreamController.prototype = {
  18129. get$_mayAddEvent: function() {
  18130. return P._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._async$_state & 2) === 0;
  18131. },
  18132. _addEventError$0: function() {
  18133. if ((this._async$_state & 2) !== 0)
  18134. return new P.StateError("Cannot fire new event. Controller is already firing an event");
  18135. return this.super$_BroadcastStreamController$_addEventError();
  18136. },
  18137. _sendData$1: function(data) {
  18138. var _this = this,
  18139. t1 = _this._firstSubscription;
  18140. if (t1 == null)
  18141. return;
  18142. if (t1 === _this._lastSubscription) {
  18143. _this._async$_state |= 2;
  18144. t1._async$_add$1(data);
  18145. _this._async$_state &= 4294967293;
  18146. if (_this._firstSubscription == null)
  18147. _this._callOnCancel$0();
  18148. return;
  18149. }
  18150. _this._forEachListener$1(new P._SyncBroadcastStreamController__sendData_closure(data));
  18151. },
  18152. _sendError$2: function(error, stackTrace) {
  18153. if (this._firstSubscription == null)
  18154. return;
  18155. this._forEachListener$1(new P._SyncBroadcastStreamController__sendError_closure(error, stackTrace));
  18156. },
  18157. _sendDone$0: function() {
  18158. if (this._firstSubscription != null)
  18159. this._forEachListener$1(new P._SyncBroadcastStreamController__sendDone_closure());
  18160. else
  18161. this._doneFuture._asyncComplete$1(null);
  18162. }
  18163. };
  18164. P._SyncBroadcastStreamController__sendData_closure.prototype = {
  18165. call$1: function(subscription) {
  18166. subscription._async$_add$1(this.data);
  18167. }
  18168. };
  18169. P._SyncBroadcastStreamController__sendError_closure.prototype = {
  18170. call$1: function(subscription) {
  18171. subscription._addError$2(this.error, this.stackTrace);
  18172. }
  18173. };
  18174. P._SyncBroadcastStreamController__sendDone_closure.prototype = {
  18175. call$1: function(subscription) {
  18176. subscription._close$0();
  18177. }
  18178. };
  18179. P.Future.prototype = {};
  18180. P.Future_wait_handleError.prototype = {
  18181. call$2: function(theError, theStackTrace) {
  18182. var _this = this,
  18183. t1 = _this._box_0,
  18184. t2 = --t1.remaining;
  18185. if (t1.values != null) {
  18186. t1.values = null;
  18187. if (t1.remaining === 0 || _this.eagerError)
  18188. _this.result._completeError$2(theError, theStackTrace);
  18189. else {
  18190. t1.error = theError;
  18191. t1.stackTrace = theStackTrace;
  18192. }
  18193. } else if (t2 === 0 && !_this.eagerError)
  18194. _this.result._completeError$2(t1.error, t1.stackTrace);
  18195. },
  18196. "call*": "call$2",
  18197. $requiredArgCount: 2,
  18198. $signature: 15
  18199. };
  18200. P.Future_wait_closure.prototype = {
  18201. call$1: function(value) {
  18202. var _this = this,
  18203. t1 = _this._box_0,
  18204. t2 = --t1.remaining,
  18205. t3 = t1.values;
  18206. if (t3 != null) {
  18207. t3[_this.pos] = value;
  18208. if (t2 === 0)
  18209. _this.result._completeWithValue$1(t3);
  18210. } else if (t1.remaining === 0 && !_this.eagerError)
  18211. _this.result._completeError$2(t1.error, t1.stackTrace);
  18212. },
  18213. $signature: function() {
  18214. return {func: 1, ret: P.Null, args: [this.T]};
  18215. }
  18216. };
  18217. P._Completer.prototype = {
  18218. completeError$2: function(error, stackTrace) {
  18219. var t1, replacement;
  18220. if (error == null)
  18221. error = new P.NullThrownError();
  18222. t1 = this.future;
  18223. if (t1._async$_state !== 0)
  18224. throw H.wrapException(P.StateError$("Future already completed"));
  18225. replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  18226. if (replacement != null) {
  18227. error = replacement.error;
  18228. if (error == null)
  18229. error = new P.NullThrownError();
  18230. stackTrace = replacement.stackTrace;
  18231. }
  18232. t1._asyncCompleteError$2(error, stackTrace);
  18233. },
  18234. completeError$1: function(error) {
  18235. return this.completeError$2(error, null);
  18236. }
  18237. };
  18238. P._AsyncCompleter.prototype = {
  18239. complete$1: function(value) {
  18240. var t1 = this.future;
  18241. if (t1._async$_state !== 0)
  18242. throw H.wrapException(P.StateError$("Future already completed"));
  18243. t1._asyncComplete$1(value);
  18244. },
  18245. complete$0: function() {
  18246. return this.complete$1(null);
  18247. }
  18248. };
  18249. P._FutureListener.prototype = {
  18250. matchesErrorTest$1: function(asyncError) {
  18251. if ((this.state & 15) !== 6)
  18252. return true;
  18253. return this.result._zone.runUnary$2(this.callback, asyncError.error);
  18254. },
  18255. handleError$1: function(asyncError) {
  18256. var errorCallback = this.errorCallback,
  18257. t1 = this.result._zone;
  18258. if (H.functionTypeTest(errorCallback, {func: 1, args: [P.Object, P.StackTrace]}))
  18259. return t1.runBinary$3(errorCallback, asyncError.error, asyncError.stackTrace);
  18260. else
  18261. return t1.runUnary$2(errorCallback, asyncError.error);
  18262. }
  18263. };
  18264. P._Future.prototype = {
  18265. then$1$2$onError: function(f, onError, $R) {
  18266. var result,
  18267. currentZone = $.Zone__current;
  18268. if (currentZone !== C.C__RootZone) {
  18269. f = currentZone.registerUnaryCallback$1(f);
  18270. if (onError != null)
  18271. onError = P._registerErrorHandler(onError, currentZone);
  18272. }
  18273. result = new P._Future($.Zone__current, [$R]);
  18274. this._addListener$1(new P._FutureListener(result, onError == null ? 1 : 3, f, onError));
  18275. return result;
  18276. },
  18277. then$1$1: function(f, $R) {
  18278. return this.then$1$2$onError(f, null, $R);
  18279. },
  18280. then$1: function(f) {
  18281. return this.then$1$2$onError(f, null, null);
  18282. },
  18283. _thenAwait$1$2: function(f, onError, $E) {
  18284. var result = new P._Future($.Zone__current, [$E]);
  18285. this._addListener$1(new P._FutureListener(result, (onError == null ? 1 : 3) | 16, f, onError));
  18286. return result;
  18287. },
  18288. whenComplete$1: function(action) {
  18289. var t1 = $.Zone__current,
  18290. result = new P._Future(t1, this.$ti);
  18291. this._addListener$1(new P._FutureListener(result, 8, t1 !== C.C__RootZone ? t1.registerCallback$1(action) : action, null));
  18292. return result;
  18293. },
  18294. _addListener$1: function(listener) {
  18295. var t2, _this = this,
  18296. t1 = _this._async$_state;
  18297. if (t1 <= 1) {
  18298. listener._nextListener = _this._resultOrListeners;
  18299. _this._resultOrListeners = listener;
  18300. } else {
  18301. if (t1 === 2) {
  18302. t1 = _this._resultOrListeners;
  18303. t2 = t1._async$_state;
  18304. if (t2 < 4) {
  18305. t1._addListener$1(listener);
  18306. return;
  18307. }
  18308. _this._async$_state = t2;
  18309. _this._resultOrListeners = t1._resultOrListeners;
  18310. }
  18311. _this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(_this, listener));
  18312. }
  18313. },
  18314. _prependListeners$1: function(listeners) {
  18315. var t1, existingListeners, cursor, cursor0, t2, _this = this, _box_0 = {};
  18316. _box_0.listeners = listeners;
  18317. if (listeners == null)
  18318. return;
  18319. t1 = _this._async$_state;
  18320. if (t1 <= 1) {
  18321. existingListeners = _this._resultOrListeners;
  18322. cursor = _this._resultOrListeners = listeners;
  18323. if (existingListeners != null) {
  18324. for (; cursor0 = cursor._nextListener, cursor0 != null; cursor = cursor0)
  18325. ;
  18326. cursor._nextListener = existingListeners;
  18327. }
  18328. } else {
  18329. if (t1 === 2) {
  18330. t1 = _this._resultOrListeners;
  18331. t2 = t1._async$_state;
  18332. if (t2 < 4) {
  18333. t1._prependListeners$1(listeners);
  18334. return;
  18335. }
  18336. _this._async$_state = t2;
  18337. _this._resultOrListeners = t1._resultOrListeners;
  18338. }
  18339. _box_0.listeners = _this._reverseListeners$1(listeners);
  18340. _this._zone.scheduleMicrotask$1(new P._Future__prependListeners_closure(_box_0, _this));
  18341. }
  18342. },
  18343. _removeListeners$0: function() {
  18344. var current = this._resultOrListeners;
  18345. this._resultOrListeners = null;
  18346. return this._reverseListeners$1(current);
  18347. },
  18348. _reverseListeners$1: function(listeners) {
  18349. var current, prev, next;
  18350. for (current = listeners, prev = null; current != null; prev = current, current = next) {
  18351. next = current._nextListener;
  18352. current._nextListener = prev;
  18353. }
  18354. return prev;
  18355. },
  18356. _complete$1: function(value) {
  18357. var listeners, _this = this,
  18358. t1 = _this.$ti;
  18359. if (H.checkSubtype(value, "$isFuture", t1, "$asFuture"))
  18360. if (H.checkSubtype(value, "$is_Future", t1, null))
  18361. P._Future__chainCoreFuture(value, _this);
  18362. else
  18363. P._Future__chainForeignFuture(value, _this);
  18364. else {
  18365. listeners = _this._removeListeners$0();
  18366. _this._async$_state = 4;
  18367. _this._resultOrListeners = value;
  18368. P._Future__propagateToListeners(_this, listeners);
  18369. }
  18370. },
  18371. _completeWithValue$1: function(value) {
  18372. var _this = this,
  18373. listeners = _this._removeListeners$0();
  18374. _this._async$_state = 4;
  18375. _this._resultOrListeners = value;
  18376. P._Future__propagateToListeners(_this, listeners);
  18377. },
  18378. _completeError$2: function(error, stackTrace) {
  18379. var _this = this,
  18380. listeners = _this._removeListeners$0();
  18381. _this._async$_state = 8;
  18382. _this._resultOrListeners = new P.AsyncError(error, stackTrace);
  18383. P._Future__propagateToListeners(_this, listeners);
  18384. },
  18385. _completeError$1: function(error) {
  18386. return this._completeError$2(error, null);
  18387. },
  18388. _asyncComplete$1: function(value) {
  18389. var _this = this;
  18390. if (H.checkSubtype(value, "$isFuture", _this.$ti, "$asFuture")) {
  18391. _this._chainFuture$1(value);
  18392. return;
  18393. }
  18394. _this._async$_state = 1;
  18395. _this._zone.scheduleMicrotask$1(new P._Future__asyncComplete_closure(_this, value));
  18396. },
  18397. _chainFuture$1: function(value) {
  18398. var _this = this;
  18399. if (H.checkSubtype(value, "$is_Future", _this.$ti, null)) {
  18400. if (value._async$_state === 8) {
  18401. _this._async$_state = 1;
  18402. _this._zone.scheduleMicrotask$1(new P._Future__chainFuture_closure(_this, value));
  18403. } else
  18404. P._Future__chainCoreFuture(value, _this);
  18405. return;
  18406. }
  18407. P._Future__chainForeignFuture(value, _this);
  18408. },
  18409. _asyncCompleteError$2: function(error, stackTrace) {
  18410. this._async$_state = 1;
  18411. this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace));
  18412. },
  18413. $isFuture: 1
  18414. };
  18415. P._Future__addListener_closure.prototype = {
  18416. call$0: function() {
  18417. P._Future__propagateToListeners(this.$this, this.listener);
  18418. },
  18419. "call*": "call$0",
  18420. $requiredArgCount: 0
  18421. };
  18422. P._Future__prependListeners_closure.prototype = {
  18423. call$0: function() {
  18424. P._Future__propagateToListeners(this.$this, this._box_0.listeners);
  18425. },
  18426. "call*": "call$0",
  18427. $requiredArgCount: 0
  18428. };
  18429. P._Future__chainForeignFuture_closure.prototype = {
  18430. call$1: function(value) {
  18431. var t1 = this.target;
  18432. t1._async$_state = 0;
  18433. t1._complete$1(value);
  18434. },
  18435. $signature: 24
  18436. };
  18437. P._Future__chainForeignFuture_closure0.prototype = {
  18438. call$2: function(error, stackTrace) {
  18439. this.target._completeError$2(error, stackTrace);
  18440. },
  18441. call$1: function(error) {
  18442. return this.call$2(error, null);
  18443. },
  18444. "call*": "call$2",
  18445. $defaultValues: function() {
  18446. return [null];
  18447. },
  18448. $signature: 60
  18449. };
  18450. P._Future__chainForeignFuture_closure1.prototype = {
  18451. call$0: function() {
  18452. this.target._completeError$2(this.e, this.s);
  18453. },
  18454. "call*": "call$0",
  18455. $requiredArgCount: 0
  18456. };
  18457. P._Future__asyncComplete_closure.prototype = {
  18458. call$0: function() {
  18459. this.$this._completeWithValue$1(this.value);
  18460. },
  18461. "call*": "call$0",
  18462. $requiredArgCount: 0
  18463. };
  18464. P._Future__chainFuture_closure.prototype = {
  18465. call$0: function() {
  18466. P._Future__chainCoreFuture(this.value, this.$this);
  18467. },
  18468. "call*": "call$0",
  18469. $requiredArgCount: 0
  18470. };
  18471. P._Future__asyncCompleteError_closure.prototype = {
  18472. call$0: function() {
  18473. this.$this._completeError$2(this.error, this.stackTrace);
  18474. },
  18475. "call*": "call$0",
  18476. $requiredArgCount: 0
  18477. };
  18478. P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
  18479. call$0: function() {
  18480. var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
  18481. try {
  18482. t1 = _this.listener;
  18483. completeResult = t1.result._zone.run$1(0, t1.callback);
  18484. } catch (exception) {
  18485. e = H.unwrapException(exception);
  18486. s = H.getTraceFromException(exception);
  18487. if (_this.hasError) {
  18488. t1 = _this._box_1.source._resultOrListeners.error;
  18489. t2 = e;
  18490. t2 = t1 == null ? t2 == null : t1 === t2;
  18491. t1 = t2;
  18492. } else
  18493. t1 = false;
  18494. t2 = _this._box_0;
  18495. if (t1)
  18496. t2.listenerValueOrError = _this._box_1.source._resultOrListeners;
  18497. else
  18498. t2.listenerValueOrError = new P.AsyncError(e, s);
  18499. t2.listenerHasError = true;
  18500. return;
  18501. }
  18502. if (!!J.getInterceptor$(completeResult).$isFuture) {
  18503. if (completeResult instanceof P._Future && completeResult._async$_state >= 4) {
  18504. if (completeResult._async$_state === 8) {
  18505. t1 = _this._box_0;
  18506. t1.listenerValueOrError = completeResult._resultOrListeners;
  18507. t1.listenerHasError = true;
  18508. }
  18509. return;
  18510. }
  18511. originalSource = _this._box_1.source;
  18512. t1 = _this._box_0;
  18513. t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), null);
  18514. t1.listenerHasError = false;
  18515. }
  18516. }
  18517. };
  18518. P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
  18519. call$1: function(_) {
  18520. return this.originalSource;
  18521. },
  18522. $signature: 62
  18523. };
  18524. P._Future__propagateToListeners_handleValueCallback.prototype = {
  18525. call$0: function() {
  18526. var e, s, t1, exception, _this = this;
  18527. try {
  18528. t1 = _this.listener;
  18529. _this._box_0.listenerValueOrError = t1.result._zone.runUnary$2(t1.callback, _this.sourceResult);
  18530. } catch (exception) {
  18531. e = H.unwrapException(exception);
  18532. s = H.getTraceFromException(exception);
  18533. t1 = _this._box_0;
  18534. t1.listenerValueOrError = new P.AsyncError(e, s);
  18535. t1.listenerHasError = true;
  18536. }
  18537. }
  18538. };
  18539. P._Future__propagateToListeners_handleError.prototype = {
  18540. call$0: function() {
  18541. var asyncError, e, s, t1, t2, exception, t3, t4, _this = this;
  18542. try {
  18543. asyncError = _this._box_1.source._resultOrListeners;
  18544. t1 = _this.listener;
  18545. if (t1.matchesErrorTest$1(asyncError) && t1.errorCallback != null) {
  18546. t2 = _this._box_0;
  18547. t2.listenerValueOrError = t1.handleError$1(asyncError);
  18548. t2.listenerHasError = false;
  18549. }
  18550. } catch (exception) {
  18551. e = H.unwrapException(exception);
  18552. s = H.getTraceFromException(exception);
  18553. t1 = _this._box_1.source._resultOrListeners;
  18554. t2 = t1.error;
  18555. t3 = e;
  18556. t4 = _this._box_0;
  18557. if (t2 == null ? t3 == null : t2 === t3)
  18558. t4.listenerValueOrError = t1;
  18559. else
  18560. t4.listenerValueOrError = new P.AsyncError(e, s);
  18561. t4.listenerHasError = true;
  18562. }
  18563. }
  18564. };
  18565. P._AsyncCallbackEntry.prototype = {};
  18566. P.Stream.prototype = {
  18567. get$isBroadcast: function() {
  18568. return false;
  18569. },
  18570. get$length: function(_) {
  18571. var t1 = {},
  18572. future = new P._Future($.Zone__current, [P.int]);
  18573. t1.count = 0;
  18574. this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1, this), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
  18575. return future;
  18576. }
  18577. };
  18578. P.Stream_Stream$fromFuture_closure.prototype = {
  18579. call$1: function(value) {
  18580. var t1 = this.controller;
  18581. t1._async$_add$1(value);
  18582. t1._closeUnchecked$0();
  18583. },
  18584. $signature: function() {
  18585. return {func: 1, ret: P.Null, args: [this.T]};
  18586. }
  18587. };
  18588. P.Stream_Stream$fromFuture_closure0.prototype = {
  18589. call$2: function(error, stackTrace) {
  18590. var t1 = this.controller;
  18591. t1._addError$2(error, stackTrace);
  18592. t1._closeUnchecked$0();
  18593. },
  18594. "call*": "call$2",
  18595. $requiredArgCount: 2,
  18596. $signature: 14
  18597. };
  18598. P.Stream_length_closure.prototype = {
  18599. call$1: function(_) {
  18600. ++this._box_0.count;
  18601. },
  18602. $signature: function() {
  18603. return {func: 1, ret: P.Null, args: [H.getRuntimeTypeArgument(this.$this, "Stream", 0)]};
  18604. }
  18605. };
  18606. P.Stream_length_closure0.prototype = {
  18607. call$0: function() {
  18608. this.future._complete$1(this._box_0.count);
  18609. },
  18610. "call*": "call$0",
  18611. $requiredArgCount: 0
  18612. };
  18613. P.StreamSubscription.prototype = {};
  18614. P.EventSink.prototype = {};
  18615. P.StreamTransformerBase.prototype = {};
  18616. P._StreamController.prototype = {
  18617. get$stream: function() {
  18618. return new P._ControllerStream(this, this.$ti);
  18619. },
  18620. get$_pendingEvents: function() {
  18621. if ((this._async$_state & 8) === 0)
  18622. return this._varData;
  18623. return this._varData.varData;
  18624. },
  18625. _ensurePendingEvents$0: function() {
  18626. var t1, state, _this = this;
  18627. if ((_this._async$_state & 8) === 0) {
  18628. t1 = _this._varData;
  18629. return t1 == null ? _this._varData = new P._StreamImplEvents() : t1;
  18630. }
  18631. state = _this._varData;
  18632. t1 = state.varData;
  18633. return t1 == null ? state.varData = new P._StreamImplEvents() : t1;
  18634. },
  18635. get$_subscription: function() {
  18636. if ((this._async$_state & 8) !== 0)
  18637. return this._varData.varData;
  18638. return this._varData;
  18639. },
  18640. _badEventState$0: function() {
  18641. if ((this._async$_state & 4) !== 0)
  18642. return new P.StateError("Cannot add event after closing");
  18643. return new P.StateError("Cannot add event while adding a stream");
  18644. },
  18645. addStream$2$cancelOnError: function(source, cancelOnError) {
  18646. var t2, t3, t4, _this = this,
  18647. t1 = _this._async$_state;
  18648. if (t1 >= 4)
  18649. throw H.wrapException(_this._badEventState$0());
  18650. if ((t1 & 2) !== 0) {
  18651. t1 = new P._Future($.Zone__current, [null]);
  18652. t1._asyncComplete$1(null);
  18653. return t1;
  18654. }
  18655. t1 = _this._varData;
  18656. t2 = new P._Future($.Zone__current, [null]);
  18657. t3 = source.listen$4$cancelOnError$onDone$onError(_this.get$_async$_add(), false, _this.get$_close(), _this.get$_addError());
  18658. t4 = _this._async$_state;
  18659. if ((t4 & 1) !== 0 ? (_this.get$_subscription()._async$_state & 4) !== 0 : (t4 & 2) === 0)
  18660. t3.pause$0(0);
  18661. _this._varData = new P._StreamControllerAddStreamState(t1, t2, t3);
  18662. _this._async$_state |= 8;
  18663. return t2;
  18664. },
  18665. _ensureDoneFuture$0: function() {
  18666. var t1 = this._doneFuture;
  18667. if (t1 == null)
  18668. t1 = this._doneFuture = (this._async$_state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future($.Zone__current, [null]);
  18669. return t1;
  18670. },
  18671. add$1: function(_, value) {
  18672. if (this._async$_state >= 4)
  18673. throw H.wrapException(this._badEventState$0());
  18674. this._async$_add$1(value);
  18675. },
  18676. addError$2: function(error, stackTrace) {
  18677. var replacement;
  18678. if (this._async$_state >= 4)
  18679. throw H.wrapException(this._badEventState$0());
  18680. if (error == null)
  18681. error = new P.NullThrownError();
  18682. replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  18683. if (replacement != null) {
  18684. error = replacement.error;
  18685. if (error == null)
  18686. error = new P.NullThrownError();
  18687. stackTrace = replacement.stackTrace;
  18688. }
  18689. this._addError$2(error, stackTrace);
  18690. },
  18691. addError$1: function(error) {
  18692. return this.addError$2(error, null);
  18693. },
  18694. close$0: function(_) {
  18695. var _this = this,
  18696. t1 = _this._async$_state;
  18697. if ((t1 & 4) !== 0)
  18698. return _this._ensureDoneFuture$0();
  18699. if (t1 >= 4)
  18700. throw H.wrapException(_this._badEventState$0());
  18701. _this._closeUnchecked$0();
  18702. return _this._ensureDoneFuture$0();
  18703. },
  18704. _closeUnchecked$0: function() {
  18705. var t1 = this._async$_state |= 4;
  18706. if ((t1 & 1) !== 0)
  18707. this._sendDone$0();
  18708. else if ((t1 & 3) === 0)
  18709. this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone);
  18710. },
  18711. _async$_add$1: function(value) {
  18712. var t1 = this._async$_state;
  18713. if ((t1 & 1) !== 0)
  18714. this._sendData$1(value);
  18715. else if ((t1 & 3) === 0)
  18716. this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value));
  18717. },
  18718. _addError$2: function(error, stackTrace) {
  18719. var t1 = this._async$_state;
  18720. if ((t1 & 1) !== 0)
  18721. this._sendError$2(error, stackTrace);
  18722. else if ((t1 & 3) === 0)
  18723. this._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace));
  18724. },
  18725. _close$0: function() {
  18726. var addState = this._varData;
  18727. this._varData = addState.varData;
  18728. this._async$_state &= 4294967287;
  18729. addState.addStreamFuture._asyncComplete$1(null);
  18730. },
  18731. _subscribe$4: function(onData, onError, onDone, cancelOnError) {
  18732. var t1, t2, subscription, pendingEvents, addState, _this = this;
  18733. if ((_this._async$_state & 3) !== 0)
  18734. throw H.wrapException(P.StateError$("Stream has already been listened to."));
  18735. t1 = $.Zone__current;
  18736. t2 = cancelOnError ? 1 : 0;
  18737. subscription = new P._ControllerSubscription(_this, t1, t2, _this.$ti);
  18738. subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 0));
  18739. pendingEvents = _this.get$_pendingEvents();
  18740. t2 = _this._async$_state |= 1;
  18741. if ((t2 & 8) !== 0) {
  18742. addState = _this._varData;
  18743. addState.varData = subscription;
  18744. addState.addSubscription.resume$0();
  18745. } else
  18746. _this._varData = subscription;
  18747. subscription._setPendingEvents$1(pendingEvents);
  18748. subscription._guardCallback$1(new P._StreamController__subscribe_closure(_this));
  18749. return subscription;
  18750. },
  18751. _recordCancel$1: function(subscription) {
  18752. var e, s, t1, exception, result0, _this = this, result = null;
  18753. if ((_this._async$_state & 8) !== 0)
  18754. result = _this._varData.cancel$0();
  18755. _this._varData = null;
  18756. _this._async$_state = _this._async$_state & 4294967286 | 2;
  18757. t1 = _this.onCancel;
  18758. if (t1 != null)
  18759. if (result == null)
  18760. try {
  18761. result = t1.call$0();
  18762. } catch (exception) {
  18763. e = H.unwrapException(exception);
  18764. s = H.getTraceFromException(exception);
  18765. result0 = new P._Future($.Zone__current, [null]);
  18766. result0._asyncCompleteError$2(e, s);
  18767. result = result0;
  18768. }
  18769. else
  18770. result = result.whenComplete$1(t1);
  18771. t1 = new P._StreamController__recordCancel_complete(_this);
  18772. if (result != null)
  18773. result = result.whenComplete$1(t1);
  18774. else
  18775. t1.call$0();
  18776. return result;
  18777. },
  18778. _recordPause$1: function(subscription) {
  18779. if ((this._async$_state & 8) !== 0)
  18780. this._varData.addSubscription.pause$0(0);
  18781. P._runGuarded(this.onPause);
  18782. },
  18783. _recordResume$1: function(subscription) {
  18784. if ((this._async$_state & 8) !== 0)
  18785. this._varData.addSubscription.resume$0();
  18786. P._runGuarded(this.onResume);
  18787. },
  18788. $isEventSink: 1,
  18789. set$onListen: function(val) {
  18790. return this.onListen = val;
  18791. },
  18792. set$onPause: function(val) {
  18793. return this.onPause = val;
  18794. },
  18795. set$onResume: function(val) {
  18796. return this.onResume = val;
  18797. },
  18798. set$onCancel: function(val) {
  18799. return this.onCancel = val;
  18800. }
  18801. };
  18802. P._StreamController__subscribe_closure.prototype = {
  18803. call$0: function() {
  18804. P._runGuarded(this.$this.onListen);
  18805. }
  18806. };
  18807. P._StreamController__recordCancel_complete.prototype = {
  18808. call$0: function() {
  18809. var t1 = this.$this._doneFuture;
  18810. if (t1 != null && t1._async$_state === 0)
  18811. t1._asyncComplete$1(null);
  18812. },
  18813. "call*": "call$0",
  18814. $requiredArgCount: 0
  18815. };
  18816. P._SyncStreamControllerDispatch.prototype = {
  18817. _sendData$1: function(data) {
  18818. this.get$_subscription()._async$_add$1(data);
  18819. },
  18820. _sendError$2: function(error, stackTrace) {
  18821. this.get$_subscription()._addError$2(error, stackTrace);
  18822. },
  18823. _sendDone$0: function() {
  18824. this.get$_subscription()._close$0();
  18825. }
  18826. };
  18827. P._AsyncStreamControllerDispatch.prototype = {
  18828. _sendData$1: function(data) {
  18829. this.get$_subscription()._addPending$1(new P._DelayedData(data));
  18830. },
  18831. _sendError$2: function(error, stackTrace) {
  18832. this.get$_subscription()._addPending$1(new P._DelayedError(error, stackTrace));
  18833. },
  18834. _sendDone$0: function() {
  18835. this.get$_subscription()._addPending$1(C.C__DelayedDone);
  18836. }
  18837. };
  18838. P._AsyncStreamController.prototype = {};
  18839. P._SyncStreamController.prototype = {};
  18840. P._ControllerStream.prototype = {
  18841. get$hashCode: function(_) {
  18842. return (H.Primitives_objectHashCode(this._async$_controller) ^ 892482866) >>> 0;
  18843. },
  18844. $eq: function(_, other) {
  18845. if (other == null)
  18846. return false;
  18847. if (this === other)
  18848. return true;
  18849. return other instanceof P._ControllerStream && other._async$_controller === this._async$_controller;
  18850. }
  18851. };
  18852. P._ControllerSubscription.prototype = {
  18853. _async$_onCancel$0: function() {
  18854. return this._async$_controller._recordCancel$1(this);
  18855. },
  18856. _async$_onPause$0: function() {
  18857. this._async$_controller._recordPause$1(this);
  18858. },
  18859. _async$_onResume$0: function() {
  18860. this._async$_controller._recordResume$1(this);
  18861. }
  18862. };
  18863. P._AddStreamState.prototype = {
  18864. cancel$0: function() {
  18865. var cancel = this.addSubscription.cancel$0();
  18866. if (cancel == null) {
  18867. this.addStreamFuture._asyncComplete$1(null);
  18868. return;
  18869. }
  18870. return cancel.whenComplete$1(new P._AddStreamState_cancel_closure(this));
  18871. }
  18872. };
  18873. P._AddStreamState_cancel_closure.prototype = {
  18874. call$0: function() {
  18875. this.$this.addStreamFuture._asyncComplete$1(null);
  18876. },
  18877. "call*": "call$0",
  18878. $requiredArgCount: 0
  18879. };
  18880. P._StreamControllerAddStreamState.prototype = {};
  18881. P._BufferingStreamSubscription.prototype = {
  18882. _BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOnError, $T) {
  18883. var handleError, _this = this,
  18884. handleData = onData == null ? P.async___nullDataHandler$closure() : onData,
  18885. t1 = _this._zone;
  18886. _this._onData = t1.registerUnaryCallback$1(handleData);
  18887. handleError = onError == null ? P.async___nullErrorHandler$closure() : onError;
  18888. if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]}))
  18889. _this._onError = t1.registerBinaryCallback$1(handleError);
  18890. else if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object]}))
  18891. _this._onError = t1.registerUnaryCallback$1(handleError);
  18892. else
  18893. H.throwExpression(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace."));
  18894. _this._onDone = t1.registerCallback$1(onDone == null ? P.async___nullDoneHandler$closure() : onDone);
  18895. },
  18896. _setPendingEvents$1: function(pendingEvents) {
  18897. var _this = this;
  18898. if (pendingEvents == null)
  18899. return;
  18900. _this._pending = pendingEvents;
  18901. if (pendingEvents.lastPendingEvent != null) {
  18902. _this._async$_state = (_this._async$_state | 64) >>> 0;
  18903. pendingEvents.schedule$1(_this);
  18904. }
  18905. },
  18906. pause$1: function(_, resumeSignal) {
  18907. var t2, t3, _this = this,
  18908. t1 = _this._async$_state;
  18909. if ((t1 & 8) !== 0)
  18910. return;
  18911. t2 = (t1 + 128 | 4) >>> 0;
  18912. _this._async$_state = t2;
  18913. if (t1 < 128 && _this._pending != null) {
  18914. t3 = _this._pending;
  18915. if (t3._async$_state === 1)
  18916. t3._async$_state = 3;
  18917. }
  18918. if ((t1 & 4) === 0 && (t2 & 32) === 0)
  18919. _this._guardCallback$1(_this.get$_async$_onPause());
  18920. },
  18921. pause$0: function($receiver) {
  18922. return this.pause$1($receiver, null);
  18923. },
  18924. resume$0: function() {
  18925. var _this = this,
  18926. t1 = _this._async$_state;
  18927. if ((t1 & 8) !== 0)
  18928. return;
  18929. if (t1 >= 128) {
  18930. t1 = _this._async$_state = t1 - 128;
  18931. if (t1 < 128)
  18932. if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent != null)
  18933. _this._pending.schedule$1(_this);
  18934. else {
  18935. t1 = (t1 & 4294967291) >>> 0;
  18936. _this._async$_state = t1;
  18937. if ((t1 & 32) === 0)
  18938. _this._guardCallback$1(_this.get$_async$_onResume());
  18939. }
  18940. }
  18941. },
  18942. cancel$0: function() {
  18943. var _this = this,
  18944. t1 = (_this._async$_state & 4294967279) >>> 0;
  18945. _this._async$_state = t1;
  18946. if ((t1 & 8) === 0)
  18947. _this._cancel$0();
  18948. t1 = _this._cancelFuture;
  18949. return t1 == null ? $.$get$Future__nullFuture() : t1;
  18950. },
  18951. _cancel$0: function() {
  18952. var t2, _this = this,
  18953. t1 = _this._async$_state = (_this._async$_state | 8) >>> 0;
  18954. if ((t1 & 64) !== 0) {
  18955. t2 = _this._pending;
  18956. if (t2._async$_state === 1)
  18957. t2._async$_state = 3;
  18958. }
  18959. if ((t1 & 32) === 0)
  18960. _this._pending = null;
  18961. _this._cancelFuture = _this._async$_onCancel$0();
  18962. },
  18963. _async$_add$1: function(data) {
  18964. var t1 = this._async$_state;
  18965. if ((t1 & 8) !== 0)
  18966. return;
  18967. if (t1 < 32)
  18968. this._sendData$1(data);
  18969. else
  18970. this._addPending$1(new P._DelayedData(data));
  18971. },
  18972. _addError$2: function(error, stackTrace) {
  18973. var t1 = this._async$_state;
  18974. if ((t1 & 8) !== 0)
  18975. return;
  18976. if (t1 < 32)
  18977. this._sendError$2(error, stackTrace);
  18978. else
  18979. this._addPending$1(new P._DelayedError(error, stackTrace));
  18980. },
  18981. _close$0: function() {
  18982. var _this = this,
  18983. t1 = _this._async$_state;
  18984. if ((t1 & 8) !== 0)
  18985. return;
  18986. t1 = (t1 | 2) >>> 0;
  18987. _this._async$_state = t1;
  18988. if (t1 < 32)
  18989. _this._sendDone$0();
  18990. else
  18991. _this._addPending$1(C.C__DelayedDone);
  18992. },
  18993. _async$_onPause$0: function() {
  18994. },
  18995. _async$_onResume$0: function() {
  18996. },
  18997. _async$_onCancel$0: function() {
  18998. return;
  18999. },
  19000. _addPending$1: function($event) {
  19001. var t1, _this = this,
  19002. pending = _this._pending;
  19003. (pending == null ? _this._pending = new P._StreamImplEvents() : pending).add$1(0, $event);
  19004. t1 = _this._async$_state;
  19005. if ((t1 & 64) === 0) {
  19006. t1 = (t1 | 64) >>> 0;
  19007. _this._async$_state = t1;
  19008. if (t1 < 128)
  19009. _this._pending.schedule$1(_this);
  19010. }
  19011. },
  19012. _sendData$1: function(data) {
  19013. var _this = this,
  19014. t1 = _this._async$_state;
  19015. _this._async$_state = (t1 | 32) >>> 0;
  19016. _this._zone.runUnaryGuarded$2(_this._onData, data);
  19017. _this._async$_state = (_this._async$_state & 4294967263) >>> 0;
  19018. _this._checkState$1((t1 & 4) !== 0);
  19019. },
  19020. _sendError$2: function(error, stackTrace) {
  19021. var _this = this,
  19022. t1 = _this._async$_state,
  19023. t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace);
  19024. if ((t1 & 1) !== 0) {
  19025. _this._async$_state = (t1 | 16) >>> 0;
  19026. _this._cancel$0();
  19027. t1 = _this._cancelFuture;
  19028. if (t1 != null && t1 !== $.$get$Future__nullFuture())
  19029. t1.whenComplete$1(t2);
  19030. else
  19031. t2.call$0();
  19032. } else {
  19033. t2.call$0();
  19034. _this._checkState$1((t1 & 4) !== 0);
  19035. }
  19036. },
  19037. _sendDone$0: function() {
  19038. var t2, _this = this,
  19039. t1 = new P._BufferingStreamSubscription__sendDone_sendDone(_this);
  19040. _this._cancel$0();
  19041. _this._async$_state = (_this._async$_state | 16) >>> 0;
  19042. t2 = _this._cancelFuture;
  19043. if (t2 != null && t2 !== $.$get$Future__nullFuture())
  19044. t2.whenComplete$1(t1);
  19045. else
  19046. t1.call$0();
  19047. },
  19048. _guardCallback$1: function(callback) {
  19049. var _this = this,
  19050. t1 = _this._async$_state;
  19051. _this._async$_state = (t1 | 32) >>> 0;
  19052. callback.call$0();
  19053. _this._async$_state = (_this._async$_state & 4294967263) >>> 0;
  19054. _this._checkState$1((t1 & 4) !== 0);
  19055. },
  19056. _checkState$1: function(wasInputPaused) {
  19057. var t2, isInputPaused, _this = this,
  19058. t1 = _this._async$_state;
  19059. if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) {
  19060. t1 = _this._async$_state = (t1 & 4294967231) >>> 0;
  19061. if ((t1 & 4) !== 0)
  19062. if (t1 < 128) {
  19063. t2 = _this._pending;
  19064. t2 = t2 == null || t2.lastPendingEvent == null;
  19065. } else
  19066. t2 = false;
  19067. else
  19068. t2 = false;
  19069. if (t2) {
  19070. t1 = (t1 & 4294967291) >>> 0;
  19071. _this._async$_state = t1;
  19072. }
  19073. }
  19074. for (; true; wasInputPaused = isInputPaused) {
  19075. if ((t1 & 8) !== 0)
  19076. return _this._pending = null;
  19077. isInputPaused = (t1 & 4) !== 0;
  19078. if (wasInputPaused === isInputPaused)
  19079. break;
  19080. _this._async$_state = (t1 ^ 32) >>> 0;
  19081. if (isInputPaused)
  19082. _this._async$_onPause$0();
  19083. else
  19084. _this._async$_onResume$0();
  19085. t1 = (_this._async$_state & 4294967263) >>> 0;
  19086. _this._async$_state = t1;
  19087. }
  19088. if ((t1 & 64) !== 0 && t1 < 128)
  19089. _this._pending.schedule$1(_this);
  19090. },
  19091. $isStreamSubscription: 1
  19092. };
  19093. P._BufferingStreamSubscription__sendError_sendError.prototype = {
  19094. call$0: function() {
  19095. var onError, t3,
  19096. t1 = this.$this,
  19097. t2 = t1._async$_state;
  19098. if ((t2 & 8) !== 0 && (t2 & 16) === 0)
  19099. return;
  19100. t1._async$_state = (t2 | 32) >>> 0;
  19101. onError = t1._onError;
  19102. t2 = this.error;
  19103. t3 = t1._zone;
  19104. if (H.functionTypeTest(onError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]}))
  19105. t3.runBinaryGuarded$3(onError, t2, this.stackTrace);
  19106. else
  19107. t3.runUnaryGuarded$2(t1._onError, t2);
  19108. t1._async$_state = (t1._async$_state & 4294967263) >>> 0;
  19109. },
  19110. "call*": "call$0",
  19111. $requiredArgCount: 0
  19112. };
  19113. P._BufferingStreamSubscription__sendDone_sendDone.prototype = {
  19114. call$0: function() {
  19115. var t1 = this.$this,
  19116. t2 = t1._async$_state;
  19117. if ((t2 & 16) === 0)
  19118. return;
  19119. t1._async$_state = (t2 | 42) >>> 0;
  19120. t1._zone.runGuarded$1(t1._onDone);
  19121. t1._async$_state = (t1._async$_state & 4294967263) >>> 0;
  19122. },
  19123. "call*": "call$0",
  19124. $requiredArgCount: 0
  19125. };
  19126. P._StreamImpl.prototype = {
  19127. listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
  19128. return this._async$_controller._subscribe$4(onData, onError, onDone, true === cancelOnError);
  19129. },
  19130. listen$3$onDone$onError: function(onData, onDone, onError) {
  19131. return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
  19132. }
  19133. };
  19134. P._DelayedEvent.prototype = {
  19135. get$next: function() {
  19136. return this.next;
  19137. },
  19138. set$next: function(val) {
  19139. return this.next = val;
  19140. }
  19141. };
  19142. P._DelayedData.prototype = {
  19143. perform$1: function(dispatch) {
  19144. dispatch._sendData$1(this.value);
  19145. }
  19146. };
  19147. P._DelayedError.prototype = {
  19148. perform$1: function(dispatch) {
  19149. dispatch._sendError$2(this.error, this.stackTrace);
  19150. }
  19151. };
  19152. P._DelayedDone.prototype = {
  19153. perform$1: function(dispatch) {
  19154. dispatch._sendDone$0();
  19155. },
  19156. get$next: function() {
  19157. return;
  19158. },
  19159. set$next: function(_) {
  19160. throw H.wrapException(P.StateError$("No events after a done."));
  19161. }
  19162. };
  19163. P._PendingEvents.prototype = {
  19164. schedule$1: function(dispatch) {
  19165. var _this = this,
  19166. t1 = _this._async$_state;
  19167. if (t1 === 1)
  19168. return;
  19169. if (t1 >= 1) {
  19170. _this._async$_state = 1;
  19171. return;
  19172. }
  19173. P.scheduleMicrotask(new P._PendingEvents_schedule_closure(_this, dispatch));
  19174. _this._async$_state = 1;
  19175. }
  19176. };
  19177. P._PendingEvents_schedule_closure.prototype = {
  19178. call$0: function() {
  19179. var $event, t2,
  19180. t1 = this.$this,
  19181. oldState = t1._async$_state;
  19182. t1._async$_state = 0;
  19183. if (oldState === 3)
  19184. return;
  19185. $event = t1.firstPendingEvent;
  19186. t2 = $event.get$next();
  19187. t1.firstPendingEvent = t2;
  19188. if (t2 == null)
  19189. t1.lastPendingEvent = null;
  19190. $event.perform$1(this.dispatch);
  19191. },
  19192. "call*": "call$0",
  19193. $requiredArgCount: 0
  19194. };
  19195. P._StreamImplEvents.prototype = {
  19196. add$1: function(_, $event) {
  19197. var _this = this,
  19198. t1 = _this.lastPendingEvent;
  19199. if (t1 == null)
  19200. _this.firstPendingEvent = _this.lastPendingEvent = $event;
  19201. else {
  19202. t1.set$next($event);
  19203. _this.lastPendingEvent = $event;
  19204. }
  19205. }
  19206. };
  19207. P._DoneStreamSubscription.prototype = {
  19208. _schedule$0: function() {
  19209. var _this = this;
  19210. if ((_this._async$_state & 2) !== 0)
  19211. return;
  19212. _this._zone.scheduleMicrotask$1(_this.get$_sendDone());
  19213. _this._async$_state = (_this._async$_state | 2) >>> 0;
  19214. },
  19215. pause$1: function(_, resumeSignal) {
  19216. this._async$_state += 4;
  19217. },
  19218. pause$0: function($receiver) {
  19219. return this.pause$1($receiver, null);
  19220. },
  19221. resume$0: function() {
  19222. var t1 = this._async$_state;
  19223. if (t1 >= 4) {
  19224. t1 = this._async$_state = t1 - 4;
  19225. if (t1 < 4 && (t1 & 1) === 0)
  19226. this._schedule$0();
  19227. }
  19228. },
  19229. cancel$0: function() {
  19230. return $.$get$Future__nullFuture();
  19231. },
  19232. _sendDone$0: function() {
  19233. var _this = this,
  19234. t1 = _this._async$_state = (_this._async$_state & 4294967293) >>> 0;
  19235. if (t1 >= 4)
  19236. return;
  19237. _this._async$_state = (t1 | 1) >>> 0;
  19238. _this._zone.runGuarded$1(_this._onDone);
  19239. },
  19240. $isStreamSubscription: 1
  19241. };
  19242. P._StreamIterator.prototype = {
  19243. get$current: function(_) {
  19244. if (this._subscription != null && this._isPaused)
  19245. return this._stateData;
  19246. return;
  19247. },
  19248. moveNext$0: function() {
  19249. var future, _this = this,
  19250. t1 = _this._subscription;
  19251. if (t1 != null) {
  19252. if (_this._isPaused) {
  19253. future = new P._Future($.Zone__current, [P.bool]);
  19254. _this._stateData = future;
  19255. _this._isPaused = false;
  19256. t1.resume$0();
  19257. return future;
  19258. }
  19259. throw H.wrapException(P.StateError$("Already waiting for next."));
  19260. }
  19261. return _this._initializeOrDone$0();
  19262. },
  19263. _initializeOrDone$0: function() {
  19264. var _this = this,
  19265. stateData = _this._stateData;
  19266. if (stateData != null) {
  19267. _this._subscription = stateData.listen$4$cancelOnError$onDone$onError(_this.get$_onData(), true, _this.get$_onDone(), _this.get$_onError());
  19268. return _this._stateData = new P._Future($.Zone__current, [P.bool]);
  19269. }
  19270. return $.$get$Future__falseFuture();
  19271. },
  19272. cancel$0: function() {
  19273. var _this = this,
  19274. subscription = _this._subscription,
  19275. stateData = _this._stateData;
  19276. _this._stateData = null;
  19277. if (subscription != null) {
  19278. _this._subscription = null;
  19279. if (!_this._isPaused)
  19280. stateData._asyncComplete$1(false);
  19281. return subscription.cancel$0();
  19282. }
  19283. return $.$get$Future__nullFuture();
  19284. },
  19285. _onData$1: function(data) {
  19286. var t1, _this = this,
  19287. moveNextFuture = _this._stateData;
  19288. _this._stateData = data;
  19289. _this._isPaused = true;
  19290. moveNextFuture._complete$1(true);
  19291. t1 = _this._subscription;
  19292. if (t1 != null && _this._isPaused)
  19293. t1.pause$0(0);
  19294. },
  19295. _onError$2: function(error, stackTrace) {
  19296. var moveNextFuture = this._stateData;
  19297. this._stateData = this._subscription = null;
  19298. moveNextFuture._completeError$2(error, stackTrace);
  19299. },
  19300. _onError$1: function(error) {
  19301. return this._onError$2(error, null);
  19302. },
  19303. _onDone$0: function() {
  19304. var moveNextFuture = this._stateData;
  19305. this._stateData = this._subscription = null;
  19306. moveNextFuture._complete$1(false);
  19307. }
  19308. };
  19309. P._ForwardingStream.prototype = {
  19310. get$isBroadcast: function() {
  19311. return this._async$_source.get$isBroadcast();
  19312. },
  19313. listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
  19314. var t1, t2, _this = this;
  19315. cancelOnError = true === cancelOnError;
  19316. t1 = $.Zone__current;
  19317. t2 = cancelOnError ? 1 : 0;
  19318. t2 = new P._ForwardingStreamSubscription(_this, t1, t2, _this.$ti);
  19319. t2._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 1));
  19320. t2._subscription = _this._async$_source.listen$3$onDone$onError(t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError());
  19321. return t2;
  19322. },
  19323. listen$3$onDone$onError: function(onData, onDone, onError) {
  19324. return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
  19325. },
  19326. _handleData$2: function(data, sink) {
  19327. sink._async$_add$1(data);
  19328. },
  19329. $asStream: function($S, $T) {
  19330. return [$T];
  19331. }
  19332. };
  19333. P._ForwardingStreamSubscription.prototype = {
  19334. _async$_add$1: function(data) {
  19335. if ((this._async$_state & 2) !== 0)
  19336. return;
  19337. this.super$_BufferingStreamSubscription$_add(data);
  19338. },
  19339. _addError$2: function(error, stackTrace) {
  19340. if ((this._async$_state & 2) !== 0)
  19341. return;
  19342. this.super$_BufferingStreamSubscription$_addError(error, stackTrace);
  19343. },
  19344. _async$_onPause$0: function() {
  19345. var t1 = this._subscription;
  19346. if (t1 == null)
  19347. return;
  19348. t1.pause$0(0);
  19349. },
  19350. _async$_onResume$0: function() {
  19351. var t1 = this._subscription;
  19352. if (t1 == null)
  19353. return;
  19354. t1.resume$0();
  19355. },
  19356. _async$_onCancel$0: function() {
  19357. var t1 = this._subscription;
  19358. if (t1 != null) {
  19359. this._subscription = null;
  19360. return t1.cancel$0();
  19361. }
  19362. return;
  19363. },
  19364. _handleData$1: function(data) {
  19365. this._stream._handleData$2(data, this);
  19366. },
  19367. _handleError$2: function(error, stackTrace) {
  19368. this._addError$2(error, stackTrace);
  19369. },
  19370. _handleDone$0: function() {
  19371. this._close$0();
  19372. },
  19373. $asStreamSubscription: function($S, $T) {
  19374. return [$T];
  19375. },
  19376. $as_BufferingStreamSubscription: function($S, $T) {
  19377. return [$T];
  19378. }
  19379. };
  19380. P._ExpandStream.prototype = {
  19381. _handleData$2: function(inputEvent, sink) {
  19382. var value, e, s, t1, exception;
  19383. try {
  19384. for (t1 = J.get$iterator$ax(this._expand.call$1(inputEvent)); t1.moveNext$0();) {
  19385. value = t1.get$current(t1);
  19386. sink._async$_add$1(value);
  19387. }
  19388. } catch (exception) {
  19389. e = H.unwrapException(exception);
  19390. s = H.getTraceFromException(exception);
  19391. P._addErrorWithReplacement(sink, e, s);
  19392. }
  19393. }
  19394. };
  19395. P.Timer.prototype = {};
  19396. P.AsyncError.prototype = {
  19397. toString$0: function(_) {
  19398. return H.S(this.error);
  19399. },
  19400. $isError: 1
  19401. };
  19402. P._ZoneFunction.prototype = {};
  19403. P.ZoneSpecification.prototype = {};
  19404. P._ZoneSpecification.prototype = {$isZoneSpecification: 1};
  19405. P.ZoneDelegate.prototype = {};
  19406. P.Zone.prototype = {};
  19407. P._ZoneDelegate.prototype = {$isZoneDelegate: 1};
  19408. P._Zone.prototype = {$isZone: 1};
  19409. P._CustomZone.prototype = {
  19410. get$_delegate: function() {
  19411. var t1 = this._delegateCache;
  19412. if (t1 != null)
  19413. return t1;
  19414. return this._delegateCache = new P._ZoneDelegate(this);
  19415. },
  19416. get$errorZone: function() {
  19417. return this._handleUncaughtError.zone;
  19418. },
  19419. runGuarded$1: function(f) {
  19420. var e, s, exception;
  19421. try {
  19422. this.run$1(0, f);
  19423. } catch (exception) {
  19424. e = H.unwrapException(exception);
  19425. s = H.getTraceFromException(exception);
  19426. this.handleUncaughtError$2(e, s);
  19427. }
  19428. },
  19429. runUnaryGuarded$1$2: function(f, arg) {
  19430. var e, s, exception;
  19431. try {
  19432. this.runUnary$2(f, arg);
  19433. } catch (exception) {
  19434. e = H.unwrapException(exception);
  19435. s = H.getTraceFromException(exception);
  19436. this.handleUncaughtError$2(e, s);
  19437. }
  19438. },
  19439. runUnaryGuarded$2: function(f, arg) {
  19440. return this.runUnaryGuarded$1$2(f, arg, null);
  19441. },
  19442. runBinaryGuarded$2$3: function(f, arg1, arg2) {
  19443. var e, s, exception;
  19444. try {
  19445. this.runBinary$3(f, arg1, arg2);
  19446. } catch (exception) {
  19447. e = H.unwrapException(exception);
  19448. s = H.getTraceFromException(exception);
  19449. this.handleUncaughtError$2(e, s);
  19450. }
  19451. },
  19452. runBinaryGuarded$3: function(f, arg1, arg2) {
  19453. return this.runBinaryGuarded$2$3(f, arg1, arg2, null, null);
  19454. },
  19455. bindCallback$1$1: function(f) {
  19456. return new P._CustomZone_bindCallback_closure(this, this.registerCallback$1(f));
  19457. },
  19458. bindCallback$1: function(f) {
  19459. return this.bindCallback$1$1(f, null);
  19460. },
  19461. bindUnaryCallback$2$1: function(f, $R, $T) {
  19462. return new P._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$1(f), $T, $R);
  19463. },
  19464. bindCallbackGuarded$1: function(f) {
  19465. return new P._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1(f));
  19466. },
  19467. $index: function(_, key) {
  19468. var value,
  19469. t1 = this._async$_map,
  19470. result = t1.$index(0, key);
  19471. if (result != null || t1.containsKey$1(key))
  19472. return result;
  19473. value = this.parent.$index(0, key);
  19474. if (value != null)
  19475. t1.$indexSet(0, key, value);
  19476. return value;
  19477. },
  19478. handleUncaughtError$2: function(error, stackTrace) {
  19479. var implementation = this._handleUncaughtError,
  19480. t1 = implementation.zone,
  19481. parentDelegate = P._parentDelegate(t1);
  19482. return implementation.$function.call$5(t1, parentDelegate, this, error, stackTrace);
  19483. },
  19484. fork$2$specification$zoneValues: function(specification, zoneValues) {
  19485. var implementation = this._fork,
  19486. t1 = implementation.zone,
  19487. parentDelegate = P._parentDelegate(t1);
  19488. return implementation.$function.call$5(t1, parentDelegate, this, specification, zoneValues);
  19489. },
  19490. run$1$1: function(_, f) {
  19491. var implementation = this._run,
  19492. t1 = implementation.zone,
  19493. parentDelegate = P._parentDelegate(t1);
  19494. return implementation.$function.call$4(t1, parentDelegate, this, f);
  19495. },
  19496. run$1: function($receiver, f) {
  19497. return this.run$1$1($receiver, f, null);
  19498. },
  19499. runUnary$2$2: function(f, arg) {
  19500. var implementation = this._runUnary,
  19501. t1 = implementation.zone,
  19502. parentDelegate = P._parentDelegate(t1);
  19503. return implementation.$function.call$5(t1, parentDelegate, this, f, arg);
  19504. },
  19505. runUnary$2: function(f, arg) {
  19506. return this.runUnary$2$2(f, arg, null, null);
  19507. },
  19508. runBinary$3$3: function(f, arg1, arg2) {
  19509. var implementation = this._runBinary,
  19510. t1 = implementation.zone,
  19511. parentDelegate = P._parentDelegate(t1);
  19512. return implementation.$function.call$6(t1, parentDelegate, this, f, arg1, arg2);
  19513. },
  19514. runBinary$3: function(f, arg1, arg2) {
  19515. return this.runBinary$3$3(f, arg1, arg2, null, null, null);
  19516. },
  19517. registerCallback$1$1: function(callback) {
  19518. var implementation = this._registerCallback,
  19519. t1 = implementation.zone,
  19520. parentDelegate = P._parentDelegate(t1);
  19521. return implementation.$function.call$4(t1, parentDelegate, this, callback);
  19522. },
  19523. registerCallback$1: function(callback) {
  19524. return this.registerCallback$1$1(callback, null);
  19525. },
  19526. registerUnaryCallback$2$1: function(callback) {
  19527. var implementation = this._registerUnaryCallback,
  19528. t1 = implementation.zone,
  19529. parentDelegate = P._parentDelegate(t1);
  19530. return implementation.$function.call$4(t1, parentDelegate, this, callback);
  19531. },
  19532. registerUnaryCallback$1: function(callback) {
  19533. return this.registerUnaryCallback$2$1(callback, null, null);
  19534. },
  19535. registerBinaryCallback$3$1: function(callback) {
  19536. var implementation = this._registerBinaryCallback,
  19537. t1 = implementation.zone,
  19538. parentDelegate = P._parentDelegate(t1);
  19539. return implementation.$function.call$4(t1, parentDelegate, this, callback);
  19540. },
  19541. registerBinaryCallback$1: function(callback) {
  19542. return this.registerBinaryCallback$3$1(callback, null, null, null);
  19543. },
  19544. errorCallback$2: function(error, stackTrace) {
  19545. var parentDelegate,
  19546. implementation = this._errorCallback,
  19547. implementationZone = implementation.zone;
  19548. if (implementationZone === C.C__RootZone)
  19549. return;
  19550. parentDelegate = P._parentDelegate(implementationZone);
  19551. return implementation.$function.call$5(implementationZone, parentDelegate, this, error, stackTrace);
  19552. },
  19553. scheduleMicrotask$1: function(f) {
  19554. var implementation = this._scheduleMicrotask,
  19555. t1 = implementation.zone,
  19556. parentDelegate = P._parentDelegate(t1);
  19557. return implementation.$function.call$4(t1, parentDelegate, this, f);
  19558. },
  19559. createTimer$2: function(duration, f) {
  19560. var implementation = this._createTimer,
  19561. t1 = implementation.zone,
  19562. parentDelegate = P._parentDelegate(t1);
  19563. return implementation.$function.call$5(t1, parentDelegate, this, duration, f);
  19564. },
  19565. print$1: function(line) {
  19566. var implementation = this._print,
  19567. t1 = implementation.zone,
  19568. parentDelegate = P._parentDelegate(t1);
  19569. return implementation.$function.call$4(t1, parentDelegate, this, line);
  19570. },
  19571. get$_run: function() {
  19572. return this._run;
  19573. },
  19574. get$_runUnary: function() {
  19575. return this._runUnary;
  19576. },
  19577. get$_runBinary: function() {
  19578. return this._runBinary;
  19579. },
  19580. get$_registerCallback: function() {
  19581. return this._registerCallback;
  19582. },
  19583. get$_registerUnaryCallback: function() {
  19584. return this._registerUnaryCallback;
  19585. },
  19586. get$_registerBinaryCallback: function() {
  19587. return this._registerBinaryCallback;
  19588. },
  19589. get$_errorCallback: function() {
  19590. return this._errorCallback;
  19591. },
  19592. get$_scheduleMicrotask: function() {
  19593. return this._scheduleMicrotask;
  19594. },
  19595. get$_createTimer: function() {
  19596. return this._createTimer;
  19597. },
  19598. get$_createPeriodicTimer: function() {
  19599. return this._createPeriodicTimer;
  19600. },
  19601. get$_print: function() {
  19602. return this._print;
  19603. },
  19604. get$_fork: function() {
  19605. return this._fork;
  19606. },
  19607. get$_handleUncaughtError: function() {
  19608. return this._handleUncaughtError;
  19609. },
  19610. get$parent: function() {
  19611. return this.parent;
  19612. },
  19613. get$_async$_map: function() {
  19614. return this._async$_map;
  19615. }
  19616. };
  19617. P._CustomZone_bindCallback_closure.prototype = {
  19618. call$0: function() {
  19619. return this.$this.run$1(0, this.registered);
  19620. }
  19621. };
  19622. P._CustomZone_bindUnaryCallback_closure.prototype = {
  19623. call$1: function(arg) {
  19624. return this.$this.runUnary$2(this.registered, arg);
  19625. },
  19626. $signature: function() {
  19627. return {func: 1, ret: this.R, args: [this.T]};
  19628. }
  19629. };
  19630. P._CustomZone_bindCallbackGuarded_closure.prototype = {
  19631. call$0: function() {
  19632. return this.$this.runGuarded$1(this.registered);
  19633. },
  19634. "call*": "call$0",
  19635. $requiredArgCount: 0
  19636. };
  19637. P._rootHandleUncaughtError_closure.prototype = {
  19638. call$0: function() {
  19639. var error,
  19640. t1 = this._box_0,
  19641. t2 = t1.error;
  19642. t1 = t2 == null ? t1.error = new P.NullThrownError() : t2;
  19643. t2 = this.stackTrace;
  19644. if (t2 == null)
  19645. throw H.wrapException(t1);
  19646. error = H.wrapException(t1);
  19647. error.stack = t2.toString$0(0);
  19648. throw error;
  19649. }
  19650. };
  19651. P._RootZone.prototype = {
  19652. get$_run: function() {
  19653. return C._ZoneFunction__RootZone__rootRun;
  19654. },
  19655. get$_runUnary: function() {
  19656. return C._ZoneFunction__RootZone__rootRunUnary;
  19657. },
  19658. get$_runBinary: function() {
  19659. return C._ZoneFunction__RootZone__rootRunBinary;
  19660. },
  19661. get$_registerCallback: function() {
  19662. return C._ZoneFunction__RootZone__rootRegisterCallback;
  19663. },
  19664. get$_registerUnaryCallback: function() {
  19665. return C._ZoneFunction_Eeh;
  19666. },
  19667. get$_registerBinaryCallback: function() {
  19668. return C._ZoneFunction_7G2;
  19669. },
  19670. get$_errorCallback: function() {
  19671. return C._ZoneFunction__RootZone__rootErrorCallback;
  19672. },
  19673. get$_scheduleMicrotask: function() {
  19674. return C._ZoneFunction__RootZone__rootScheduleMicrotask;
  19675. },
  19676. get$_createTimer: function() {
  19677. return C._ZoneFunction__RootZone__rootCreateTimer;
  19678. },
  19679. get$_createPeriodicTimer: function() {
  19680. return C._ZoneFunction_3bB;
  19681. },
  19682. get$_print: function() {
  19683. return C._ZoneFunction__RootZone__rootPrint;
  19684. },
  19685. get$_fork: function() {
  19686. return C._ZoneFunction__RootZone__rootFork;
  19687. },
  19688. get$_handleUncaughtError: function() {
  19689. return C._ZoneFunction_NMc;
  19690. },
  19691. get$parent: function() {
  19692. return;
  19693. },
  19694. get$_async$_map: function() {
  19695. return $.$get$_RootZone__rootMap();
  19696. },
  19697. get$_delegate: function() {
  19698. var t1 = $._RootZone__rootDelegate;
  19699. if (t1 != null)
  19700. return t1;
  19701. return $._RootZone__rootDelegate = new P._ZoneDelegate(this);
  19702. },
  19703. get$errorZone: function() {
  19704. return this;
  19705. },
  19706. runGuarded$1: function(f) {
  19707. var e, s, exception, _null = null;
  19708. try {
  19709. if (C.C__RootZone === $.Zone__current) {
  19710. f.call$0();
  19711. return;
  19712. }
  19713. P._rootRun(_null, _null, this, f);
  19714. } catch (exception) {
  19715. e = H.unwrapException(exception);
  19716. s = H.getTraceFromException(exception);
  19717. P._rootHandleUncaughtError(_null, _null, this, e, s);
  19718. }
  19719. },
  19720. runUnaryGuarded$1$2: function(f, arg) {
  19721. var e, s, exception, _null = null;
  19722. try {
  19723. if (C.C__RootZone === $.Zone__current) {
  19724. f.call$1(arg);
  19725. return;
  19726. }
  19727. P._rootRunUnary(_null, _null, this, f, arg);
  19728. } catch (exception) {
  19729. e = H.unwrapException(exception);
  19730. s = H.getTraceFromException(exception);
  19731. P._rootHandleUncaughtError(_null, _null, this, e, s);
  19732. }
  19733. },
  19734. runUnaryGuarded$2: function(f, arg) {
  19735. return this.runUnaryGuarded$1$2(f, arg, null);
  19736. },
  19737. runBinaryGuarded$2$3: function(f, arg1, arg2) {
  19738. var e, s, exception, _null = null;
  19739. try {
  19740. if (C.C__RootZone === $.Zone__current) {
  19741. f.call$2(arg1, arg2);
  19742. return;
  19743. }
  19744. P._rootRunBinary(_null, _null, this, f, arg1, arg2);
  19745. } catch (exception) {
  19746. e = H.unwrapException(exception);
  19747. s = H.getTraceFromException(exception);
  19748. P._rootHandleUncaughtError(_null, _null, this, e, s);
  19749. }
  19750. },
  19751. runBinaryGuarded$3: function(f, arg1, arg2) {
  19752. return this.runBinaryGuarded$2$3(f, arg1, arg2, null, null);
  19753. },
  19754. bindCallback$1$1: function(f) {
  19755. return new P._RootZone_bindCallback_closure(this, f);
  19756. },
  19757. bindCallback$1: function(f) {
  19758. return this.bindCallback$1$1(f, null);
  19759. },
  19760. bindCallbackGuarded$1: function(f) {
  19761. return new P._RootZone_bindCallbackGuarded_closure(this, f);
  19762. },
  19763. $index: function(_, key) {
  19764. return;
  19765. },
  19766. handleUncaughtError$2: function(error, stackTrace) {
  19767. P._rootHandleUncaughtError(null, null, this, error, stackTrace);
  19768. },
  19769. fork$2$specification$zoneValues: function(specification, zoneValues) {
  19770. return P._rootFork(null, null, this, specification, zoneValues);
  19771. },
  19772. run$1$1: function(_, f) {
  19773. if ($.Zone__current === C.C__RootZone)
  19774. return f.call$0();
  19775. return P._rootRun(null, null, this, f);
  19776. },
  19777. run$1: function($receiver, f) {
  19778. return this.run$1$1($receiver, f, null);
  19779. },
  19780. runUnary$2$2: function(f, arg) {
  19781. if ($.Zone__current === C.C__RootZone)
  19782. return f.call$1(arg);
  19783. return P._rootRunUnary(null, null, this, f, arg);
  19784. },
  19785. runUnary$2: function(f, arg) {
  19786. return this.runUnary$2$2(f, arg, null, null);
  19787. },
  19788. runBinary$3$3: function(f, arg1, arg2) {
  19789. if ($.Zone__current === C.C__RootZone)
  19790. return f.call$2(arg1, arg2);
  19791. return P._rootRunBinary(null, null, this, f, arg1, arg2);
  19792. },
  19793. runBinary$3: function(f, arg1, arg2) {
  19794. return this.runBinary$3$3(f, arg1, arg2, null, null, null);
  19795. },
  19796. registerCallback$1$1: function(f) {
  19797. return f;
  19798. },
  19799. registerCallback$1: function(f) {
  19800. return this.registerCallback$1$1(f, null);
  19801. },
  19802. registerUnaryCallback$2$1: function(f) {
  19803. return f;
  19804. },
  19805. registerUnaryCallback$1: function(f) {
  19806. return this.registerUnaryCallback$2$1(f, null, null);
  19807. },
  19808. registerBinaryCallback$3$1: function(f) {
  19809. return f;
  19810. },
  19811. registerBinaryCallback$1: function(f) {
  19812. return this.registerBinaryCallback$3$1(f, null, null, null);
  19813. },
  19814. errorCallback$2: function(error, stackTrace) {
  19815. return;
  19816. },
  19817. scheduleMicrotask$1: function(f) {
  19818. P._rootScheduleMicrotask(null, null, this, f);
  19819. },
  19820. createTimer$2: function(duration, f) {
  19821. return P.Timer__createTimer(duration, f);
  19822. },
  19823. print$1: function(line) {
  19824. H.printString(line);
  19825. }
  19826. };
  19827. P._RootZone_bindCallback_closure.prototype = {
  19828. call$0: function() {
  19829. return this.$this.run$1(0, this.f);
  19830. }
  19831. };
  19832. P._RootZone_bindCallbackGuarded_closure.prototype = {
  19833. call$0: function() {
  19834. return this.$this.runGuarded$1(this.f);
  19835. },
  19836. "call*": "call$0",
  19837. $requiredArgCount: 0
  19838. };
  19839. P._HashMap.prototype = {
  19840. get$length: function(_) {
  19841. return this._collection$_length;
  19842. },
  19843. get$isEmpty: function(_) {
  19844. return this._collection$_length === 0;
  19845. },
  19846. get$isNotEmpty: function(_) {
  19847. return this._collection$_length !== 0;
  19848. },
  19849. get$keys: function() {
  19850. return new P._HashMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]);
  19851. },
  19852. get$values: function() {
  19853. var _this = this,
  19854. t1 = H.getTypeArgumentByIndex(_this, 0);
  19855. return H.MappedIterable_MappedIterable(new P._HashMapKeyIterable(_this, [t1]), new P._HashMap_values_closure(_this), t1, H.getTypeArgumentByIndex(_this, 1));
  19856. },
  19857. containsKey$1: function(key) {
  19858. var strings, nums;
  19859. if (typeof key === "string" && key !== "__proto__") {
  19860. strings = this._collection$_strings;
  19861. return strings == null ? false : strings[key] != null;
  19862. } else if (typeof key === "number" && (key & 1073741823) === key) {
  19863. nums = this._collection$_nums;
  19864. return nums == null ? false : nums[key] != null;
  19865. } else
  19866. return this._containsKey$1(key);
  19867. },
  19868. _containsKey$1: function(key) {
  19869. var rest = this._collection$_rest;
  19870. if (rest == null)
  19871. return false;
  19872. return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0;
  19873. },
  19874. addAll$1: function(_, other) {
  19875. other.forEach$1(0, new P._HashMap_addAll_closure(this));
  19876. },
  19877. $index: function(_, key) {
  19878. var strings, t1, nums;
  19879. if (typeof key === "string" && key !== "__proto__") {
  19880. strings = this._collection$_strings;
  19881. t1 = strings == null ? null : P._HashMap__getTableEntry(strings, key);
  19882. return t1;
  19883. } else if (typeof key === "number" && (key & 1073741823) === key) {
  19884. nums = this._collection$_nums;
  19885. t1 = nums == null ? null : P._HashMap__getTableEntry(nums, key);
  19886. return t1;
  19887. } else
  19888. return this._get$1(key);
  19889. },
  19890. _get$1: function(key) {
  19891. var bucket, index,
  19892. rest = this._collection$_rest;
  19893. if (rest == null)
  19894. return;
  19895. bucket = this._getBucket$2(rest, key);
  19896. index = this._findBucketIndex$2(bucket, key);
  19897. return index < 0 ? null : bucket[index + 1];
  19898. },
  19899. $indexSet: function(_, key, value) {
  19900. var strings, nums, _this = this;
  19901. if (typeof key === "string" && key !== "__proto__") {
  19902. strings = _this._collection$_strings;
  19903. _this._collection$_addHashTableEntry$3(strings == null ? _this._collection$_strings = P._HashMap__newHashTable() : strings, key, value);
  19904. } else if (typeof key === "number" && (key & 1073741823) === key) {
  19905. nums = _this._collection$_nums;
  19906. _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = P._HashMap__newHashTable() : nums, key, value);
  19907. } else
  19908. _this._set$2(key, value);
  19909. },
  19910. _set$2: function(key, value) {
  19911. var hash, bucket, index, _this = this,
  19912. rest = _this._collection$_rest;
  19913. if (rest == null)
  19914. rest = _this._collection$_rest = P._HashMap__newHashTable();
  19915. hash = _this._computeHashCode$1(key);
  19916. bucket = rest[hash];
  19917. if (bucket == null) {
  19918. P._HashMap__setTableEntry(rest, hash, [key, value]);
  19919. ++_this._collection$_length;
  19920. _this._collection$_keys = null;
  19921. } else {
  19922. index = _this._findBucketIndex$2(bucket, key);
  19923. if (index >= 0)
  19924. bucket[index + 1] = value;
  19925. else {
  19926. bucket.push(key, value);
  19927. ++_this._collection$_length;
  19928. _this._collection$_keys = null;
  19929. }
  19930. }
  19931. },
  19932. putIfAbsent$2: function(key, ifAbsent) {
  19933. var value;
  19934. if (this.containsKey$1(key))
  19935. return this.$index(0, key);
  19936. value = ifAbsent.call$0();
  19937. this.$indexSet(0, key, value);
  19938. return value;
  19939. },
  19940. remove$1: function(_, key) {
  19941. var t1;
  19942. if (typeof key === "string" && key !== "__proto__")
  19943. return this._removeHashTableEntry$2(this._collection$_strings, key);
  19944. else {
  19945. t1 = this._remove$1(key);
  19946. return t1;
  19947. }
  19948. },
  19949. _remove$1: function(key) {
  19950. var bucket, index, _this = this,
  19951. rest = _this._collection$_rest;
  19952. if (rest == null)
  19953. return;
  19954. bucket = _this._getBucket$2(rest, key);
  19955. index = _this._findBucketIndex$2(bucket, key);
  19956. if (index < 0)
  19957. return;
  19958. --_this._collection$_length;
  19959. _this._collection$_keys = null;
  19960. return bucket.splice(index, 2)[1];
  19961. },
  19962. forEach$1: function(_, action) {
  19963. var $length, i, key, _this = this,
  19964. keys = _this._computeKeys$0();
  19965. for ($length = keys.length, i = 0; i < $length; ++i) {
  19966. key = keys[i];
  19967. action.call$2(key, _this.$index(0, key));
  19968. if (keys !== _this._collection$_keys)
  19969. throw H.wrapException(P.ConcurrentModificationError$(_this));
  19970. }
  19971. },
  19972. _computeKeys$0: function() {
  19973. var result, strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
  19974. t1 = _this._collection$_keys;
  19975. if (t1 != null)
  19976. return t1;
  19977. result = new Array(_this._collection$_length);
  19978. result.fixed$length = Array;
  19979. strings = _this._collection$_strings;
  19980. if (strings != null) {
  19981. names = Object.getOwnPropertyNames(strings);
  19982. entries = names.length;
  19983. for (index = 0, i = 0; i < entries; ++i) {
  19984. result[index] = names[i];
  19985. ++index;
  19986. }
  19987. } else
  19988. index = 0;
  19989. nums = _this._collection$_nums;
  19990. if (nums != null) {
  19991. names = Object.getOwnPropertyNames(nums);
  19992. entries = names.length;
  19993. for (i = 0; i < entries; ++i) {
  19994. result[index] = +names[i];
  19995. ++index;
  19996. }
  19997. }
  19998. rest = _this._collection$_rest;
  19999. if (rest != null) {
  20000. names = Object.getOwnPropertyNames(rest);
  20001. entries = names.length;
  20002. for (i = 0; i < entries; ++i) {
  20003. bucket = rest[names[i]];
  20004. $length = bucket.length;
  20005. for (i0 = 0; i0 < $length; i0 += 2) {
  20006. result[index] = bucket[i0];
  20007. ++index;
  20008. }
  20009. }
  20010. }
  20011. return _this._collection$_keys = result;
  20012. },
  20013. _collection$_addHashTableEntry$3: function(table, key, value) {
  20014. if (table[key] == null) {
  20015. ++this._collection$_length;
  20016. this._collection$_keys = null;
  20017. }
  20018. P._HashMap__setTableEntry(table, key, value);
  20019. },
  20020. _removeHashTableEntry$2: function(table, key) {
  20021. var value;
  20022. if (table != null && table[key] != null) {
  20023. value = P._HashMap__getTableEntry(table, key);
  20024. delete table[key];
  20025. --this._collection$_length;
  20026. this._collection$_keys = null;
  20027. return value;
  20028. } else
  20029. return;
  20030. },
  20031. _computeHashCode$1: function(key) {
  20032. return J.get$hashCode$(key) & 1073741823;
  20033. },
  20034. _getBucket$2: function(table, key) {
  20035. return table[this._computeHashCode$1(key)];
  20036. },
  20037. _findBucketIndex$2: function(bucket, key) {
  20038. var $length, i;
  20039. if (bucket == null)
  20040. return -1;
  20041. $length = bucket.length;
  20042. for (i = 0; i < $length; i += 2)
  20043. if (J.$eq$(bucket[i], key))
  20044. return i;
  20045. return -1;
  20046. }
  20047. };
  20048. P._HashMap_values_closure.prototype = {
  20049. call$1: function(each) {
  20050. return this.$this.$index(0, each);
  20051. },
  20052. $signature: function() {
  20053. var t1 = this.$this;
  20054. return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]};
  20055. }
  20056. };
  20057. P._HashMap_addAll_closure.prototype = {
  20058. call$2: function(key, value) {
  20059. this.$this.$indexSet(0, key, value);
  20060. },
  20061. $signature: function() {
  20062. var t1 = this.$this;
  20063. return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(t1, 0), H.getTypeArgumentByIndex(t1, 1)]};
  20064. }
  20065. };
  20066. P._HashMapKeyIterable.prototype = {
  20067. get$length: function(_) {
  20068. return this._collection$_map._collection$_length;
  20069. },
  20070. get$isEmpty: function(_) {
  20071. return this._collection$_map._collection$_length === 0;
  20072. },
  20073. get$iterator: function(_) {
  20074. var t1 = this._collection$_map;
  20075. return new P._HashMapKeyIterator(t1, t1._computeKeys$0());
  20076. },
  20077. contains$1: function(_, element) {
  20078. return this._collection$_map.containsKey$1(element);
  20079. }
  20080. };
  20081. P._HashMapKeyIterator.prototype = {
  20082. get$current: function(_) {
  20083. return this._collection$_current;
  20084. },
  20085. moveNext$0: function() {
  20086. var _this = this,
  20087. keys = _this._collection$_keys,
  20088. offset = _this._offset,
  20089. t1 = _this._collection$_map;
  20090. if (keys !== t1._collection$_keys)
  20091. throw H.wrapException(P.ConcurrentModificationError$(t1));
  20092. else if (offset >= keys.length) {
  20093. _this._collection$_current = null;
  20094. return false;
  20095. } else {
  20096. _this._collection$_current = keys[offset];
  20097. _this._offset = offset + 1;
  20098. return true;
  20099. }
  20100. }
  20101. };
  20102. P._LinkedIdentityHashMap.prototype = {
  20103. internalComputeHashCode$1: function(key) {
  20104. return H.objectHashCode(key) & 1073741823;
  20105. },
  20106. internalFindBucketIndex$2: function(bucket, key) {
  20107. var $length, i, t1;
  20108. if (bucket == null)
  20109. return -1;
  20110. $length = bucket.length;
  20111. for (i = 0; i < $length; ++i) {
  20112. t1 = bucket[i].hashMapCellKey;
  20113. if (t1 == null ? key == null : t1 === key)
  20114. return i;
  20115. }
  20116. return -1;
  20117. }
  20118. };
  20119. P._LinkedCustomHashMap.prototype = {
  20120. $index: function(_, key) {
  20121. if (!this._validKey.call$1(key))
  20122. return;
  20123. return this.super$JsLinkedHashMap$internalGet(key);
  20124. },
  20125. $indexSet: function(_, key, value) {
  20126. this.super$JsLinkedHashMap$internalSet(key, value);
  20127. },
  20128. containsKey$1: function(key) {
  20129. if (!this._validKey.call$1(key))
  20130. return false;
  20131. return this.super$JsLinkedHashMap$internalContainsKey(key);
  20132. },
  20133. remove$1: function(_, key) {
  20134. if (!this._validKey.call$1(key))
  20135. return;
  20136. return this.super$JsLinkedHashMap$internalRemove(key);
  20137. },
  20138. internalComputeHashCode$1: function(key) {
  20139. return this._collection$_hashCode.call$1(key) & 1073741823;
  20140. },
  20141. internalFindBucketIndex$2: function(bucket, key) {
  20142. var $length, t1, i;
  20143. if (bucket == null)
  20144. return -1;
  20145. $length = bucket.length;
  20146. for (t1 = this._equals, i = 0; i < $length; ++i)
  20147. if (t1.call$2(bucket[i].hashMapCellKey, key))
  20148. return i;
  20149. return -1;
  20150. }
  20151. };
  20152. P._LinkedCustomHashMap_closure.prototype = {
  20153. call$1: function(v) {
  20154. return H.checkSubtypeOfRuntimeType(v, this.K);
  20155. },
  20156. $signature: 19
  20157. };
  20158. P._LinkedHashSet.prototype = {
  20159. _newSet$0: function() {
  20160. return new P._LinkedHashSet(this.$ti);
  20161. },
  20162. _newSimilarSet$1$0: function($R) {
  20163. return new P._LinkedHashSet([$R]);
  20164. },
  20165. _newSimilarSet$0: function() {
  20166. return this._newSimilarSet$1$0(null);
  20167. },
  20168. get$iterator: function(_) {
  20169. var t1 = new P._LinkedHashSetIterator(this, this._collection$_modifications);
  20170. t1._collection$_cell = this._collection$_first;
  20171. return t1;
  20172. },
  20173. get$length: function(_) {
  20174. return this._collection$_length;
  20175. },
  20176. get$isEmpty: function(_) {
  20177. return this._collection$_length === 0;
  20178. },
  20179. get$isNotEmpty: function(_) {
  20180. return this._collection$_length !== 0;
  20181. },
  20182. contains$1: function(_, object) {
  20183. var strings, nums;
  20184. if (typeof object === "string" && object !== "__proto__") {
  20185. strings = this._collection$_strings;
  20186. if (strings == null)
  20187. return false;
  20188. return strings[object] != null;
  20189. } else if (typeof object === "number" && (object & 1073741823) === object) {
  20190. nums = this._collection$_nums;
  20191. if (nums == null)
  20192. return false;
  20193. return nums[object] != null;
  20194. } else
  20195. return this._contains$1(object);
  20196. },
  20197. _contains$1: function(object) {
  20198. var rest = this._collection$_rest;
  20199. if (rest == null)
  20200. return false;
  20201. return this._findBucketIndex$2(this._getBucket$2(rest, object), object) >= 0;
  20202. },
  20203. get$first: function(_) {
  20204. var t1 = this._collection$_first;
  20205. if (t1 == null)
  20206. throw H.wrapException(P.StateError$("No elements"));
  20207. return t1._element;
  20208. },
  20209. get$last: function(_) {
  20210. var t1 = this._collection$_last;
  20211. if (t1 == null)
  20212. throw H.wrapException(P.StateError$("No elements"));
  20213. return t1._element;
  20214. },
  20215. add$1: function(_, element) {
  20216. var strings, nums, _this = this;
  20217. if (typeof element === "string" && element !== "__proto__") {
  20218. strings = _this._collection$_strings;
  20219. return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = P._LinkedHashSet__newHashTable() : strings, element);
  20220. } else if (typeof element === "number" && (element & 1073741823) === element) {
  20221. nums = _this._collection$_nums;
  20222. return _this._collection$_addHashTableEntry$2(nums == null ? _this._collection$_nums = P._LinkedHashSet__newHashTable() : nums, element);
  20223. } else
  20224. return _this._collection$_add$1(element);
  20225. },
  20226. _collection$_add$1: function(element) {
  20227. var hash, bucket, _this = this,
  20228. rest = _this._collection$_rest;
  20229. if (rest == null)
  20230. rest = _this._collection$_rest = P._LinkedHashSet__newHashTable();
  20231. hash = _this._computeHashCode$1(element);
  20232. bucket = rest[hash];
  20233. if (bucket == null)
  20234. rest[hash] = [_this._collection$_newLinkedCell$1(element)];
  20235. else {
  20236. if (_this._findBucketIndex$2(bucket, element) >= 0)
  20237. return false;
  20238. bucket.push(_this._collection$_newLinkedCell$1(element));
  20239. }
  20240. return true;
  20241. },
  20242. remove$1: function(_, object) {
  20243. var _this = this;
  20244. if (typeof object === "string" && object !== "__proto__")
  20245. return _this._removeHashTableEntry$2(_this._collection$_strings, object);
  20246. else if (typeof object === "number" && (object & 1073741823) === object)
  20247. return _this._removeHashTableEntry$2(_this._collection$_nums, object);
  20248. else
  20249. return _this._remove$1(object);
  20250. },
  20251. _remove$1: function(object) {
  20252. var bucket, index, _this = this,
  20253. rest = _this._collection$_rest;
  20254. if (rest == null)
  20255. return false;
  20256. bucket = _this._getBucket$2(rest, object);
  20257. index = _this._findBucketIndex$2(bucket, object);
  20258. if (index < 0)
  20259. return false;
  20260. _this._unlinkCell$1(bucket.splice(index, 1)[0]);
  20261. return true;
  20262. },
  20263. _collection$_addHashTableEntry$2: function(table, element) {
  20264. if (table[element] != null)
  20265. return false;
  20266. table[element] = this._collection$_newLinkedCell$1(element);
  20267. return true;
  20268. },
  20269. _removeHashTableEntry$2: function(table, element) {
  20270. var cell;
  20271. if (table == null)
  20272. return false;
  20273. cell = table[element];
  20274. if (cell == null)
  20275. return false;
  20276. this._unlinkCell$1(cell);
  20277. delete table[element];
  20278. return true;
  20279. },
  20280. _collection$_modified$0: function() {
  20281. this._collection$_modifications = 1073741823 & this._collection$_modifications + 1;
  20282. },
  20283. _collection$_newLinkedCell$1: function(element) {
  20284. var last, _this = this,
  20285. cell = new P._LinkedHashSetCell(element);
  20286. if (_this._collection$_first == null)
  20287. _this._collection$_first = _this._collection$_last = cell;
  20288. else {
  20289. last = _this._collection$_last;
  20290. cell._collection$_previous = last;
  20291. _this._collection$_last = last._collection$_next = cell;
  20292. }
  20293. ++_this._collection$_length;
  20294. _this._collection$_modified$0();
  20295. return cell;
  20296. },
  20297. _unlinkCell$1: function(cell) {
  20298. var _this = this,
  20299. previous = cell._collection$_previous,
  20300. next = cell._collection$_next;
  20301. if (previous == null)
  20302. _this._collection$_first = next;
  20303. else
  20304. previous._collection$_next = next;
  20305. if (next == null)
  20306. _this._collection$_last = previous;
  20307. else
  20308. next._collection$_previous = previous;
  20309. --_this._collection$_length;
  20310. _this._collection$_modified$0();
  20311. },
  20312. _computeHashCode$1: function(element) {
  20313. return J.get$hashCode$(element) & 1073741823;
  20314. },
  20315. _getBucket$2: function(table, element) {
  20316. return table[this._computeHashCode$1(element)];
  20317. },
  20318. _findBucketIndex$2: function(bucket, element) {
  20319. var $length, i;
  20320. if (bucket == null)
  20321. return -1;
  20322. $length = bucket.length;
  20323. for (i = 0; i < $length; ++i)
  20324. if (J.$eq$(bucket[i]._element, element))
  20325. return i;
  20326. return -1;
  20327. }
  20328. };
  20329. P._LinkedIdentityHashSet.prototype = {
  20330. _newSet$0: function() {
  20331. return new P._LinkedIdentityHashSet(this.$ti);
  20332. },
  20333. _newSimilarSet$1$0: function($R) {
  20334. return new P._LinkedIdentityHashSet([$R]);
  20335. },
  20336. _newSimilarSet$0: function() {
  20337. return this._newSimilarSet$1$0(null);
  20338. },
  20339. _computeHashCode$1: function(key) {
  20340. return H.objectHashCode(key) & 1073741823;
  20341. },
  20342. _findBucketIndex$2: function(bucket, element) {
  20343. var $length, i, t1;
  20344. if (bucket == null)
  20345. return -1;
  20346. $length = bucket.length;
  20347. for (i = 0; i < $length; ++i) {
  20348. t1 = bucket[i]._element;
  20349. if (t1 == null ? element == null : t1 === element)
  20350. return i;
  20351. }
  20352. return -1;
  20353. }
  20354. };
  20355. P._LinkedHashSetCell.prototype = {};
  20356. P._LinkedHashSetIterator.prototype = {
  20357. get$current: function(_) {
  20358. return this._collection$_current;
  20359. },
  20360. moveNext$0: function() {
  20361. var _this = this,
  20362. t1 = _this._set;
  20363. if (_this._collection$_modifications !== t1._collection$_modifications)
  20364. throw H.wrapException(P.ConcurrentModificationError$(t1));
  20365. else {
  20366. t1 = _this._collection$_cell;
  20367. if (t1 == null) {
  20368. _this._collection$_current = null;
  20369. return false;
  20370. } else {
  20371. _this._collection$_current = t1._element;
  20372. _this._collection$_cell = t1._collection$_next;
  20373. return true;
  20374. }
  20375. }
  20376. }
  20377. };
  20378. P.UnmodifiableListView.prototype = {
  20379. cast$1$0: function(_, $R) {
  20380. return new P.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), [$R]);
  20381. },
  20382. get$length: function(_) {
  20383. return J.get$length$asx(this._collection$_source);
  20384. },
  20385. $index: function(_, index) {
  20386. return J.elementAt$1$ax(this._collection$_source, index);
  20387. }
  20388. };
  20389. P.HashMap_HashMap$from_closure.prototype = {
  20390. call$2: function(k, v) {
  20391. this.result.$indexSet(0, k, v);
  20392. },
  20393. $signature: 14
  20394. };
  20395. P.IterableBase.prototype = {};
  20396. P.LinkedHashMap_LinkedHashMap$from_closure.prototype = {
  20397. call$2: function(k, v) {
  20398. this.result.$indexSet(0, k, v);
  20399. },
  20400. $signature: 14
  20401. };
  20402. P.ListBase.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
  20403. P.ListMixin.prototype = {
  20404. get$iterator: function(receiver) {
  20405. return new H.ListIterator(receiver, this.get$length(receiver));
  20406. },
  20407. elementAt$1: function(receiver, index) {
  20408. return this.$index(receiver, index);
  20409. },
  20410. get$isEmpty: function(receiver) {
  20411. return this.get$length(receiver) === 0;
  20412. },
  20413. get$isNotEmpty: function(receiver) {
  20414. return !this.get$isEmpty(receiver);
  20415. },
  20416. get$first: function(receiver) {
  20417. if (this.get$length(receiver) === 0)
  20418. throw H.wrapException(H.IterableElementError_noElement());
  20419. return this.$index(receiver, 0);
  20420. },
  20421. get$last: function(receiver) {
  20422. if (this.get$length(receiver) === 0)
  20423. throw H.wrapException(H.IterableElementError_noElement());
  20424. return this.$index(receiver, this.get$length(receiver) - 1);
  20425. },
  20426. get$single: function(receiver) {
  20427. if (this.get$length(receiver) === 0)
  20428. throw H.wrapException(H.IterableElementError_noElement());
  20429. if (this.get$length(receiver) > 1)
  20430. throw H.wrapException(H.IterableElementError_tooMany());
  20431. return this.$index(receiver, 0);
  20432. },
  20433. contains$1: function(receiver, element) {
  20434. var i,
  20435. $length = this.get$length(receiver);
  20436. for (i = 0; i < $length; ++i) {
  20437. if (J.$eq$(this.$index(receiver, i), element))
  20438. return true;
  20439. if ($length !== this.get$length(receiver))
  20440. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  20441. }
  20442. return false;
  20443. },
  20444. every$1: function(receiver, test) {
  20445. var i,
  20446. $length = this.get$length(receiver);
  20447. for (i = 0; i < $length; ++i) {
  20448. if (!test.call$1(this.$index(receiver, i)))
  20449. return false;
  20450. if ($length !== this.get$length(receiver))
  20451. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  20452. }
  20453. return true;
  20454. },
  20455. any$1: function(receiver, test) {
  20456. var i,
  20457. $length = this.get$length(receiver);
  20458. for (i = 0; i < $length; ++i) {
  20459. if (test.call$1(this.$index(receiver, i)))
  20460. return true;
  20461. if ($length !== this.get$length(receiver))
  20462. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  20463. }
  20464. return false;
  20465. },
  20466. join$1: function(receiver, separator) {
  20467. var t1;
  20468. if (this.get$length(receiver) === 0)
  20469. return "";
  20470. t1 = P.StringBuffer__writeAll("", receiver, separator);
  20471. return t1.charCodeAt(0) == 0 ? t1 : t1;
  20472. },
  20473. join$0: function($receiver) {
  20474. return this.join$1($receiver, "");
  20475. },
  20476. where$1: function(receiver, test) {
  20477. return new H.WhereIterable(receiver, test, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]);
  20478. },
  20479. map$1$1: function(receiver, f, $T) {
  20480. return new H.MappedListIterable(receiver, f, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $T]);
  20481. },
  20482. expand$1$1: function(receiver, f, $T) {
  20483. return new H.ExpandIterable(receiver, f, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $T]);
  20484. },
  20485. skip$1: function(receiver, count) {
  20486. return H.SubListIterable$(receiver, count, null, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20487. },
  20488. take$1: function(receiver, count) {
  20489. return H.SubListIterable$(receiver, 0, count, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20490. },
  20491. toList$1$growable: function(receiver, growable) {
  20492. var i, _this = this,
  20493. result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgumentIntercepted(_this, receiver, "ListMixin", 0)]);
  20494. C.JSArray_methods.set$length(result, _this.get$length(receiver));
  20495. for (i = 0; i < _this.get$length(receiver); ++i)
  20496. result[i] = _this.$index(receiver, i);
  20497. return result;
  20498. },
  20499. toList$0: function($receiver) {
  20500. return this.toList$1$growable($receiver, true);
  20501. },
  20502. toSet$0: function(receiver) {
  20503. var i,
  20504. result = P.LinkedHashSet_LinkedHashSet(H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20505. for (i = 0; i < this.get$length(receiver); ++i)
  20506. result.add$1(0, this.$index(receiver, i));
  20507. return result;
  20508. },
  20509. add$1: function(receiver, element) {
  20510. var t1 = this.get$length(receiver);
  20511. this.set$length(receiver, t1 + 1);
  20512. this.$indexSet(receiver, t1, element);
  20513. },
  20514. cast$1$0: function(receiver, $R) {
  20515. return new H.CastList(receiver, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $R]);
  20516. },
  20517. sublist$2: function(receiver, start, end) {
  20518. var $length, result, i,
  20519. listLength = this.get$length(receiver);
  20520. P.RangeError_checkValidRange(start, end, listLength);
  20521. $length = end - start;
  20522. result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]);
  20523. C.JSArray_methods.set$length(result, $length);
  20524. for (i = 0; i < $length; ++i)
  20525. result[i] = this.$index(receiver, start + i);
  20526. return result;
  20527. },
  20528. getRange$2: function(receiver, start, end) {
  20529. P.RangeError_checkValidRange(start, end, this.get$length(receiver));
  20530. return H.SubListIterable$(receiver, start, end, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20531. },
  20532. fillRange$3: function(receiver, start, end, fill) {
  20533. var i;
  20534. P.RangeError_checkValidRange(start, end, this.get$length(receiver));
  20535. for (i = start; i < end; ++i)
  20536. this.$indexSet(receiver, i, fill);
  20537. },
  20538. setRange$4: function(receiver, start, end, iterable, skipCount) {
  20539. var $length, otherStart, otherList, t1, i, _this = this;
  20540. P.RangeError_checkValidRange(start, end, _this.get$length(receiver));
  20541. $length = end - start;
  20542. if ($length === 0)
  20543. return;
  20544. P.RangeError_checkNotNegative(skipCount, "skipCount");
  20545. if (H.checkSubtype(iterable, "$isList", [H.getRuntimeTypeArgumentIntercepted(_this, receiver, "ListMixin", 0)], "$asList")) {
  20546. otherStart = skipCount;
  20547. otherList = iterable;
  20548. } else {
  20549. otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false);
  20550. otherStart = 0;
  20551. }
  20552. t1 = J.getInterceptor$asx(otherList);
  20553. if (otherStart + $length > t1.get$length(otherList))
  20554. throw H.wrapException(H.IterableElementError_tooFew());
  20555. if (otherStart < start)
  20556. for (i = $length - 1; i >= 0; --i)
  20557. _this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i));
  20558. else
  20559. for (i = 0; i < $length; ++i)
  20560. _this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i));
  20561. },
  20562. get$reversed: function(receiver) {
  20563. return new H.ReversedListIterable(receiver, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]);
  20564. },
  20565. toString$0: function(receiver) {
  20566. return P.IterableBase_iterableToFullString(receiver, "[", "]");
  20567. }
  20568. };
  20569. P.MapBase.prototype = {};
  20570. P.MapBase_mapToString_closure.prototype = {
  20571. call$2: function(k, v) {
  20572. var t2,
  20573. t1 = this._box_0;
  20574. if (!t1.first)
  20575. this.result._contents += ", ";
  20576. t1.first = false;
  20577. t1 = this.result;
  20578. t2 = t1._contents += H.S(k);
  20579. t1._contents = t2 + ": ";
  20580. t1._contents += H.S(v);
  20581. },
  20582. $signature: 14
  20583. };
  20584. P.MapMixin.prototype = {
  20585. forEach$1: function(_, action) {
  20586. var t1, key;
  20587. for (t1 = J.get$iterator$ax(this.get$keys()); t1.moveNext$0();) {
  20588. key = t1.get$current(t1);
  20589. action.call$2(key, this.$index(0, key));
  20590. }
  20591. },
  20592. addAll$1: function(_, other) {
  20593. var t1, key;
  20594. for (t1 = J.get$iterator$ax(other.get$keys()); t1.moveNext$0();) {
  20595. key = t1.get$current(t1);
  20596. this.$indexSet(0, key, other.$index(0, key));
  20597. }
  20598. },
  20599. putIfAbsent$2: function(key, ifAbsent) {
  20600. var t1;
  20601. if (this.containsKey$1(key))
  20602. return this.$index(0, key);
  20603. t1 = ifAbsent.call$0();
  20604. this.$indexSet(0, key, t1);
  20605. return t1;
  20606. },
  20607. get$entries: function() {
  20608. var _this = this;
  20609. return J.map$1$1$ax(_this.get$keys(), new P.MapMixin_entries_closure(_this), [P.MapEntry, H.getRuntimeTypeArgument(_this, "MapMixin", 0), H.getRuntimeTypeArgument(_this, "MapMixin", 1)]);
  20610. },
  20611. containsKey$1: function(key) {
  20612. return J.contains$1$asx(this.get$keys(), key);
  20613. },
  20614. get$length: function(_) {
  20615. return J.get$length$asx(this.get$keys());
  20616. },
  20617. get$isEmpty: function(_) {
  20618. return J.get$isEmpty$asx(this.get$keys());
  20619. },
  20620. get$isNotEmpty: function(_) {
  20621. return J.get$isNotEmpty$asx(this.get$keys());
  20622. },
  20623. get$values: function() {
  20624. return new P._MapBaseValueIterable(this, [H.getRuntimeTypeArgument(this, "MapMixin", 0), H.getRuntimeTypeArgument(this, "MapMixin", 1)]);
  20625. },
  20626. toString$0: function(_) {
  20627. return P.MapBase_mapToString(this);
  20628. },
  20629. $isMap: 1
  20630. };
  20631. P.MapMixin_entries_closure.prototype = {
  20632. call$1: function(key) {
  20633. var t1 = this.$this;
  20634. return new P.MapEntry(key, t1.$index(0, key), [H.getRuntimeTypeArgument(t1, "MapMixin", 0), H.getRuntimeTypeArgument(t1, "MapMixin", 1)]);
  20635. },
  20636. $signature: function() {
  20637. var t1 = this.$this,
  20638. t2 = H.getRuntimeTypeArgument(t1, "MapMixin", 0);
  20639. return {func: 1, ret: [P.MapEntry, t2, H.getRuntimeTypeArgument(t1, "MapMixin", 1)], args: [t2]};
  20640. }
  20641. };
  20642. P.UnmodifiableMapBase.prototype = {};
  20643. P._MapBaseValueIterable.prototype = {
  20644. get$length: function(_) {
  20645. var t1 = this._collection$_map;
  20646. return t1.get$length(t1);
  20647. },
  20648. get$isEmpty: function(_) {
  20649. var t1 = this._collection$_map;
  20650. return t1.get$isEmpty(t1);
  20651. },
  20652. get$isNotEmpty: function(_) {
  20653. var t1 = this._collection$_map;
  20654. return t1.get$isNotEmpty(t1);
  20655. },
  20656. get$first: function(_) {
  20657. var t1 = this._collection$_map;
  20658. return t1.$index(0, J.get$first$ax(t1.get$keys()));
  20659. },
  20660. get$single: function(_) {
  20661. var t1 = this._collection$_map;
  20662. return t1.$index(0, J.get$single$ax(t1.get$keys()));
  20663. },
  20664. get$last: function(_) {
  20665. var t1 = this._collection$_map;
  20666. return t1.$index(0, J.get$last$ax(t1.get$keys()));
  20667. },
  20668. get$iterator: function(_) {
  20669. var t1 = this._collection$_map;
  20670. return new P._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys()), t1);
  20671. },
  20672. $asEfficientLengthIterable: function($K, $V) {
  20673. return [$V];
  20674. },
  20675. $asIterable: function($K, $V) {
  20676. return [$V];
  20677. }
  20678. };
  20679. P._MapBaseValueIterator.prototype = {
  20680. moveNext$0: function() {
  20681. var _this = this,
  20682. t1 = _this._collection$_keys;
  20683. if (t1.moveNext$0()) {
  20684. _this._collection$_current = _this._collection$_map.$index(0, t1.get$current(t1));
  20685. return true;
  20686. }
  20687. _this._collection$_current = null;
  20688. return false;
  20689. },
  20690. get$current: function(_) {
  20691. return this._collection$_current;
  20692. }
  20693. };
  20694. P._UnmodifiableMapMixin.prototype = {
  20695. $indexSet: function(_, key, value) {
  20696. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20697. },
  20698. addAll$1: function(_, other) {
  20699. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20700. },
  20701. remove$1: function(_, key) {
  20702. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20703. },
  20704. putIfAbsent$2: function(key, ifAbsent) {
  20705. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20706. }
  20707. };
  20708. P.MapView.prototype = {
  20709. $index: function(_, key) {
  20710. return this._collection$_map.$index(0, key);
  20711. },
  20712. $indexSet: function(_, key, value) {
  20713. this._collection$_map.$indexSet(0, key, value);
  20714. },
  20715. addAll$1: function(_, other) {
  20716. this._collection$_map.addAll$1(0, other);
  20717. },
  20718. putIfAbsent$2: function(key, ifAbsent) {
  20719. return this._collection$_map.putIfAbsent$2(key, ifAbsent);
  20720. },
  20721. containsKey$1: function(key) {
  20722. return this._collection$_map.containsKey$1(key);
  20723. },
  20724. forEach$1: function(_, action) {
  20725. this._collection$_map.forEach$1(0, action);
  20726. },
  20727. get$isEmpty: function(_) {
  20728. var t1 = this._collection$_map;
  20729. return t1.get$isEmpty(t1);
  20730. },
  20731. get$isNotEmpty: function(_) {
  20732. var t1 = this._collection$_map;
  20733. return t1.get$isNotEmpty(t1);
  20734. },
  20735. get$length: function(_) {
  20736. var t1 = this._collection$_map;
  20737. return t1.get$length(t1);
  20738. },
  20739. get$keys: function() {
  20740. return this._collection$_map.get$keys();
  20741. },
  20742. remove$1: function(_, key) {
  20743. return this._collection$_map.remove$1(0, key);
  20744. },
  20745. toString$0: function(_) {
  20746. return this._collection$_map.toString$0(0);
  20747. },
  20748. get$values: function() {
  20749. return this._collection$_map.get$values();
  20750. },
  20751. get$entries: function() {
  20752. return this._collection$_map.get$entries();
  20753. },
  20754. $isMap: 1
  20755. };
  20756. P.UnmodifiableMapView.prototype = {};
  20757. P.Queue.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1};
  20758. P.ListQueue.prototype = {
  20759. cast$1$0: function(_, $R) {
  20760. return new H.CastQueue(this, [H.getTypeArgumentByIndex(this, 0), $R]);
  20761. },
  20762. get$iterator: function(_) {
  20763. var _this = this;
  20764. return new P._ListQueueIterator(_this, _this._collection$_tail, _this._modificationCount, _this._collection$_head);
  20765. },
  20766. get$isEmpty: function(_) {
  20767. return this._collection$_head === this._collection$_tail;
  20768. },
  20769. get$length: function(_) {
  20770. return (this._collection$_tail - this._collection$_head & this._collection$_table.length - 1) >>> 0;
  20771. },
  20772. get$first: function(_) {
  20773. var t1 = this._collection$_head;
  20774. if (t1 === this._collection$_tail)
  20775. throw H.wrapException(H.IterableElementError_noElement());
  20776. return this._collection$_table[t1];
  20777. },
  20778. get$last: function(_) {
  20779. var t1 = this._collection$_head,
  20780. t2 = this._collection$_tail;
  20781. if (t1 === t2)
  20782. throw H.wrapException(H.IterableElementError_noElement());
  20783. t1 = this._collection$_table;
  20784. return t1[(t2 - 1 & t1.length - 1) >>> 0];
  20785. },
  20786. get$single: function(_) {
  20787. var _this = this;
  20788. if (_this._collection$_head === _this._collection$_tail)
  20789. throw H.wrapException(H.IterableElementError_noElement());
  20790. if (_this.get$length(_this) > 1)
  20791. throw H.wrapException(H.IterableElementError_tooMany());
  20792. return _this._collection$_table[_this._collection$_head];
  20793. },
  20794. elementAt$1: function(_, index) {
  20795. var t1;
  20796. P.RangeError_checkValidIndex(index, this, null);
  20797. t1 = this._collection$_table;
  20798. return t1[(this._collection$_head + index & t1.length - 1) >>> 0];
  20799. },
  20800. add$1: function(_, value) {
  20801. this._collection$_add$1(value);
  20802. },
  20803. addAll$1: function(_, elements) {
  20804. var addCount, $length, t2, t3, t4, newTable, endSpace, preSpace, _this = this,
  20805. t1 = _this.$ti;
  20806. if (H.checkSubtype(elements, "$isList", t1, "$asList")) {
  20807. addCount = J.get$length$asx(elements);
  20808. $length = _this.get$length(_this);
  20809. t2 = $length + addCount;
  20810. t3 = _this._collection$_table;
  20811. t4 = t3.length;
  20812. if (t2 >= t4) {
  20813. t3 = new Array(P.ListQueue__nextPowerOf2(t2 + C.JSInt_methods._shrOtherPositive$1(t2, 1)));
  20814. t3.fixed$length = Array;
  20815. newTable = H.setRuntimeTypeInfo(t3, t1);
  20816. _this._collection$_tail = _this._collection$_writeToList$1(newTable);
  20817. _this._collection$_table = newTable;
  20818. _this._collection$_head = 0;
  20819. C.JSArray_methods.setRange$4(newTable, $length, t2, elements, 0);
  20820. _this._collection$_tail += addCount;
  20821. } else {
  20822. t1 = _this._collection$_tail;
  20823. endSpace = t4 - t1;
  20824. if (addCount < endSpace) {
  20825. C.JSArray_methods.setRange$4(t3, t1, t1 + addCount, elements, 0);
  20826. _this._collection$_tail += addCount;
  20827. } else {
  20828. preSpace = addCount - endSpace;
  20829. C.JSArray_methods.setRange$4(t3, t1, t1 + endSpace, elements, 0);
  20830. C.JSArray_methods.setRange$4(_this._collection$_table, 0, preSpace, elements, endSpace);
  20831. _this._collection$_tail = preSpace;
  20832. }
  20833. }
  20834. ++_this._modificationCount;
  20835. } else
  20836. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  20837. _this._collection$_add$1(t1.get$current(t1));
  20838. },
  20839. toString$0: function(_) {
  20840. return P.IterableBase_iterableToFullString(this, "{", "}");
  20841. },
  20842. addFirst$1: function(value) {
  20843. var _this = this,
  20844. t1 = _this._collection$_head,
  20845. t2 = _this._collection$_table;
  20846. t1 = _this._collection$_head = (t1 - 1 & t2.length - 1) >>> 0;
  20847. t2[t1] = value;
  20848. if (t1 === _this._collection$_tail)
  20849. _this._collection$_grow$0();
  20850. ++_this._modificationCount;
  20851. },
  20852. removeFirst$0: function() {
  20853. var t2, result, _this = this,
  20854. t1 = _this._collection$_head;
  20855. if (t1 === _this._collection$_tail)
  20856. throw H.wrapException(H.IterableElementError_noElement());
  20857. ++_this._modificationCount;
  20858. t2 = _this._collection$_table;
  20859. result = t2[t1];
  20860. t2[t1] = null;
  20861. _this._collection$_head = (t1 + 1 & t2.length - 1) >>> 0;
  20862. return result;
  20863. },
  20864. removeLast$0: function(_) {
  20865. var result, _this = this,
  20866. t1 = _this._collection$_head,
  20867. t2 = _this._collection$_tail;
  20868. if (t1 === t2)
  20869. throw H.wrapException(H.IterableElementError_noElement());
  20870. ++_this._modificationCount;
  20871. t1 = _this._collection$_table;
  20872. t2 = _this._collection$_tail = (t2 - 1 & t1.length - 1) >>> 0;
  20873. result = t1[t2];
  20874. t1[t2] = null;
  20875. return result;
  20876. },
  20877. _collection$_add$1: function(element) {
  20878. var _this = this,
  20879. t1 = _this._collection$_table,
  20880. t2 = _this._collection$_tail;
  20881. t1[t2] = element;
  20882. t1 = (t2 + 1 & t1.length - 1) >>> 0;
  20883. _this._collection$_tail = t1;
  20884. if (_this._collection$_head === t1)
  20885. _this._collection$_grow$0();
  20886. ++_this._modificationCount;
  20887. },
  20888. _collection$_grow$0: function() {
  20889. var newTable, t2, split, _this = this,
  20890. t1 = new Array(_this._collection$_table.length * 2);
  20891. t1.fixed$length = Array;
  20892. newTable = H.setRuntimeTypeInfo(t1, _this.$ti);
  20893. t1 = _this._collection$_table;
  20894. t2 = _this._collection$_head;
  20895. split = t1.length - t2;
  20896. C.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
  20897. C.JSArray_methods.setRange$4(newTable, split, split + _this._collection$_head, _this._collection$_table, 0);
  20898. _this._collection$_head = 0;
  20899. _this._collection$_tail = _this._collection$_table.length;
  20900. _this._collection$_table = newTable;
  20901. },
  20902. _collection$_writeToList$1: function(target) {
  20903. var $length, firstPartSize, _this = this,
  20904. t1 = _this._collection$_head,
  20905. t2 = _this._collection$_tail,
  20906. t3 = _this._collection$_table;
  20907. if (t1 <= t2) {
  20908. $length = t2 - t1;
  20909. C.JSArray_methods.setRange$4(target, 0, $length, t3, t1);
  20910. return $length;
  20911. } else {
  20912. firstPartSize = t3.length - t1;
  20913. C.JSArray_methods.setRange$4(target, 0, firstPartSize, t3, t1);
  20914. C.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this._collection$_tail, _this._collection$_table, 0);
  20915. return _this._collection$_tail + firstPartSize;
  20916. }
  20917. },
  20918. $isQueue: 1
  20919. };
  20920. P._ListQueueIterator.prototype = {
  20921. get$current: function(_) {
  20922. return this._collection$_current;
  20923. },
  20924. moveNext$0: function() {
  20925. var t2, _this = this,
  20926. t1 = _this._queue;
  20927. if (_this._modificationCount !== t1._modificationCount)
  20928. H.throwExpression(P.ConcurrentModificationError$(t1));
  20929. t2 = _this._position;
  20930. if (t2 === _this._end) {
  20931. _this._collection$_current = null;
  20932. return false;
  20933. }
  20934. t1 = t1._collection$_table;
  20935. _this._collection$_current = t1[t2];
  20936. _this._position = (t2 + 1 & t1.length - 1) >>> 0;
  20937. return true;
  20938. }
  20939. };
  20940. P._SetBase.prototype = {
  20941. cast$1$0: function(_, $R) {
  20942. return P.Set_castFrom(this, this.get$_newSimilarSet(), H.getTypeArgumentByIndex(this, 0), $R);
  20943. },
  20944. difference$1: function(other) {
  20945. var t1, element,
  20946. result = this._newSet$0();
  20947. for (t1 = P._LinkedHashSetIterator$(this, this._collection$_modifications); t1.moveNext$0();) {
  20948. element = t1._collection$_current;
  20949. if (!other.contains$1(0, element))
  20950. result.add$1(0, element);
  20951. }
  20952. return result;
  20953. },
  20954. intersection$1: function(other) {
  20955. var t1, t2, element,
  20956. result = this._newSet$0();
  20957. for (t1 = P._LinkedHashSetIterator$(this, this._collection$_modifications), t2 = other._baseMap; t1.moveNext$0();) {
  20958. element = t1._collection$_current;
  20959. if (t2.containsKey$1(element))
  20960. result.add$1(0, element);
  20961. }
  20962. return result;
  20963. },
  20964. toSet$0: function(_) {
  20965. var t1 = this._newSet$0();
  20966. t1.addAll$1(0, this);
  20967. return t1;
  20968. },
  20969. get$isEmpty: function(_) {
  20970. return this._collection$_length === 0;
  20971. },
  20972. get$isNotEmpty: function(_) {
  20973. return this._collection$_length !== 0;
  20974. },
  20975. followedBy$1: function(_, other) {
  20976. return H.FollowedByIterable_FollowedByIterable$firstEfficient(this, other, H.getTypeArgumentByIndex(this, 0));
  20977. },
  20978. addAll$1: function(_, elements) {
  20979. var t1;
  20980. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  20981. this.add$1(0, t1.get$current(t1));
  20982. },
  20983. removeAll$1: function(elements) {
  20984. var t1;
  20985. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  20986. this.remove$1(0, t1.get$current(t1));
  20987. },
  20988. toList$1$growable: function(_, growable) {
  20989. var t1, i, i0, _this = this,
  20990. result = H.setRuntimeTypeInfo([], _this.$ti);
  20991. C.JSArray_methods.set$length(result, _this._collection$_length);
  20992. for (t1 = P._LinkedHashSetIterator$(_this, _this._collection$_modifications), i = 0; t1.moveNext$0(); i = i0) {
  20993. i0 = i + 1;
  20994. result[i] = t1._collection$_current;
  20995. }
  20996. return result;
  20997. },
  20998. toList$0: function($receiver) {
  20999. return this.toList$1$growable($receiver, true);
  21000. },
  21001. map$1$1: function(_, f, $T) {
  21002. return new H.EfficientLengthMappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), $T]);
  21003. },
  21004. get$single: function(_) {
  21005. var it;
  21006. if (this._collection$_length > 1)
  21007. throw H.wrapException(H.IterableElementError_tooMany());
  21008. it = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  21009. if (!it.moveNext$0())
  21010. throw H.wrapException(H.IterableElementError_noElement());
  21011. return it._collection$_current;
  21012. },
  21013. toString$0: function(_) {
  21014. return P.IterableBase_iterableToFullString(this, "{", "}");
  21015. },
  21016. where$1: function(_, f) {
  21017. return new H.WhereIterable(this, f, this.$ti);
  21018. },
  21019. join$1: function(_, separator) {
  21020. var t1,
  21021. iterator = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  21022. if (!iterator.moveNext$0())
  21023. return "";
  21024. if (separator === "") {
  21025. t1 = "";
  21026. do
  21027. t1 += H.S(iterator._collection$_current);
  21028. while (iterator.moveNext$0());
  21029. } else {
  21030. t1 = H.S(iterator._collection$_current);
  21031. for (; iterator.moveNext$0();)
  21032. t1 = t1 + separator + H.S(iterator._collection$_current);
  21033. }
  21034. return t1.charCodeAt(0) == 0 ? t1 : t1;
  21035. },
  21036. join$0: function($receiver) {
  21037. return this.join$1($receiver, "");
  21038. },
  21039. take$1: function(_, n) {
  21040. return H.TakeIterable_TakeIterable(this, n, H.getTypeArgumentByIndex(this, 0));
  21041. },
  21042. skip$1: function(_, n) {
  21043. return H.SkipIterable_SkipIterable(this, n, H.getTypeArgumentByIndex(this, 0));
  21044. },
  21045. get$first: function(_) {
  21046. var it = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  21047. if (!it.moveNext$0())
  21048. throw H.wrapException(H.IterableElementError_noElement());
  21049. return it._collection$_current;
  21050. },
  21051. get$last: function(_) {
  21052. var result,
  21053. it = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  21054. if (!it.moveNext$0())
  21055. throw H.wrapException(H.IterableElementError_noElement());
  21056. do
  21057. result = it._collection$_current;
  21058. while (it.moveNext$0());
  21059. return result;
  21060. },
  21061. elementAt$1: function(_, index) {
  21062. var t1, elementIndex, element, _s5_ = "index";
  21063. if (index == null)
  21064. H.throwExpression(P.ArgumentError$notNull(_s5_));
  21065. P.RangeError_checkNotNegative(index, _s5_);
  21066. for (t1 = P._LinkedHashSetIterator$(this, this._collection$_modifications), elementIndex = 0; t1.moveNext$0();) {
  21067. element = t1._collection$_current;
  21068. if (index === elementIndex)
  21069. return element;
  21070. ++elementIndex;
  21071. }
  21072. throw H.wrapException(P.IndexError$(index, this, _s5_, null, elementIndex));
  21073. },
  21074. $isEfficientLengthIterable: 1,
  21075. $isIterable: 1,
  21076. $isSet: 1
  21077. };
  21078. P._ListBase_Object_ListMixin.prototype = {};
  21079. P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
  21080. P.AsciiCodec.prototype = {
  21081. encode$1: function(source) {
  21082. return C.AsciiEncoder_127.convert$1(source);
  21083. },
  21084. get$encoder: function() {
  21085. return C.AsciiEncoder_127;
  21086. }
  21087. };
  21088. P._UnicodeSubsetEncoder.prototype = {
  21089. convert$1: function(string) {
  21090. var t1, t2, i, codeUnit,
  21091. $length = P.RangeError_checkValidRange(0, null, string.length) - 0,
  21092. result = new Uint8Array($length);
  21093. for (t1 = ~this._subsetMask, t2 = J.getInterceptor$s(string), i = 0; i < $length; ++i) {
  21094. codeUnit = t2._codeUnitAt$1(string, i);
  21095. if ((codeUnit & t1) !== 0)
  21096. throw H.wrapException(P.ArgumentError$value(string, "string", "Contains invalid characters."));
  21097. result[i] = codeUnit;
  21098. }
  21099. return result;
  21100. },
  21101. $asConverter: function() {
  21102. return [P.String, [P.List, P.int]];
  21103. }
  21104. };
  21105. P.AsciiEncoder.prototype = {};
  21106. P.Base64Codec.prototype = {
  21107. get$encoder: function() {
  21108. return C.C_Base64Encoder;
  21109. },
  21110. normalize$3: function(source, start, end) {
  21111. var inverseAlphabet, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, digit2, char0, value, t1, t2, endLength, $length,
  21112. _s31_ = "Invalid base64 encoding length ";
  21113. end = P.RangeError_checkValidRange(start, end, source.length);
  21114. inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
  21115. for (i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) {
  21116. i0 = i + 1;
  21117. char = C.JSString_methods._codeUnitAt$1(source, i);
  21118. if (char === 37) {
  21119. i1 = i0 + 2;
  21120. if (i1 <= end) {
  21121. digit1 = H.hexDigitValue(C.JSString_methods._codeUnitAt$1(source, i0));
  21122. digit2 = H.hexDigitValue(C.JSString_methods._codeUnitAt$1(source, i0 + 1));
  21123. char0 = digit1 * 16 + digit2 - (digit2 & 256);
  21124. if (char0 === 37)
  21125. char0 = -1;
  21126. i0 = i1;
  21127. } else
  21128. char0 = -1;
  21129. } else
  21130. char0 = char;
  21131. if (0 <= char0 && char0 <= 127) {
  21132. value = inverseAlphabet[char0];
  21133. if (value >= 0) {
  21134. char0 = C.JSString_methods.codeUnitAt$1("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", value);
  21135. if (char0 === char)
  21136. continue;
  21137. char = char0;
  21138. } else {
  21139. if (value === -1) {
  21140. if (firstPadding < 0) {
  21141. t1 = buffer == null ? null : buffer._contents.length;
  21142. if (t1 == null)
  21143. t1 = 0;
  21144. firstPadding = t1 + (i - sliceStart);
  21145. firstPaddingSourceIndex = i;
  21146. }
  21147. ++paddingCount;
  21148. if (char === 61)
  21149. continue;
  21150. }
  21151. char = char0;
  21152. }
  21153. if (value !== -2) {
  21154. if (buffer == null)
  21155. buffer = new P.StringBuffer("");
  21156. buffer._contents += C.JSString_methods.substring$2(source, sliceStart, i);
  21157. buffer._contents += H.Primitives_stringFromCharCode(char);
  21158. sliceStart = i0;
  21159. continue;
  21160. }
  21161. }
  21162. throw H.wrapException(P.FormatException$("Invalid base64 data", source, i));
  21163. }
  21164. if (buffer != null) {
  21165. t1 = buffer._contents += C.JSString_methods.substring$2(source, sliceStart, end);
  21166. t2 = t1.length;
  21167. if (firstPadding >= 0)
  21168. P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2);
  21169. else {
  21170. endLength = C.JSInt_methods.$mod(t2 - 1, 4) + 1;
  21171. if (endLength === 1)
  21172. throw H.wrapException(P.FormatException$(_s31_, source, end));
  21173. for (; endLength < 4;) {
  21174. t1 += "=";
  21175. buffer._contents = t1;
  21176. ++endLength;
  21177. }
  21178. }
  21179. t1 = buffer._contents;
  21180. return C.JSString_methods.replaceRange$3(source, start, end, t1.charCodeAt(0) == 0 ? t1 : t1);
  21181. }
  21182. $length = end - start;
  21183. if (firstPadding >= 0)
  21184. P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, $length);
  21185. else {
  21186. endLength = C.JSInt_methods.$mod($length, 4);
  21187. if (endLength === 1)
  21188. throw H.wrapException(P.FormatException$(_s31_, source, end));
  21189. if (endLength > 1)
  21190. source = C.JSString_methods.replaceRange$3(source, end, end, endLength === 2 ? "==" : "=");
  21191. }
  21192. return source;
  21193. },
  21194. $asCodec: function() {
  21195. return [[P.List, P.int], P.String];
  21196. }
  21197. };
  21198. P.Base64Encoder.prototype = {
  21199. convert$1: function(input) {
  21200. var t1 = J.getInterceptor$asx(input);
  21201. if (t1.get$isEmpty(input))
  21202. return "";
  21203. return P.String_String$fromCharCodes(new P._Base64Encoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").encode$4(input, 0, t1.get$length(input), true), 0, null);
  21204. },
  21205. startChunkedConversion$1: function(sink) {
  21206. var t1,
  21207. _s64_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  21208. if (!!sink.$isStringConversionSink) {
  21209. t1 = sink.asUtf8Sink$1(false);
  21210. return new P._Utf8Base64EncoderSink(t1, new P._Base64Encoder(_s64_));
  21211. }
  21212. return new P._AsciiBase64EncoderSink(sink, new P._BufferCachingBase64Encoder(_s64_));
  21213. },
  21214. $asConverter: function() {
  21215. return [[P.List, P.int], P.String];
  21216. }
  21217. };
  21218. P._Base64Encoder.prototype = {
  21219. createBuffer$1: function(bufferLength) {
  21220. return new Uint8Array(bufferLength);
  21221. },
  21222. encode$4: function(bytes, start, end, isLast) {
  21223. var output, _this = this,
  21224. byteCount = (_this._state & 3) + (end - start),
  21225. fullChunks = C.JSInt_methods._tdivFast$1(byteCount, 3),
  21226. bufferLength = fullChunks * 4;
  21227. if (isLast && byteCount - fullChunks * 3 > 0)
  21228. bufferLength += 4;
  21229. output = _this.createBuffer$1(bufferLength);
  21230. _this._state = P._Base64Encoder_encodeChunk(_this._alphabet, bytes, start, end, isLast, output, 0, _this._state);
  21231. if (bufferLength > 0)
  21232. return output;
  21233. return;
  21234. }
  21235. };
  21236. P._BufferCachingBase64Encoder.prototype = {
  21237. createBuffer$1: function(bufferLength) {
  21238. var t1 = this.bufferCache;
  21239. if (t1 == null || t1.length < bufferLength)
  21240. t1 = this.bufferCache = new Uint8Array(bufferLength);
  21241. t1 = t1.buffer;
  21242. t1.toString;
  21243. return H.NativeUint8List_NativeUint8List$view(t1, 0, bufferLength);
  21244. }
  21245. };
  21246. P._Base64EncoderSink.prototype = {
  21247. add$1: function(_, source) {
  21248. this._add$4(source, 0, J.get$length$asx(source), false);
  21249. },
  21250. close$0: function(_) {
  21251. this._add$4(null, 0, 0, true);
  21252. },
  21253. addSlice$4: function(source, start, end, isLast) {
  21254. P.RangeError_checkValidRange(start, end, source.length);
  21255. this._add$4(source, start, end, isLast);
  21256. }
  21257. };
  21258. P._AsciiBase64EncoderSink.prototype = {
  21259. _add$4: function(source, start, end, isLast) {
  21260. var buffer = this._encoder.encode$4(source, start, end, isLast);
  21261. if (buffer != null)
  21262. this._sink.add$1(0, P.String_String$fromCharCodes(buffer, 0, null));
  21263. if (isLast)
  21264. this._sink.close$0(0);
  21265. }
  21266. };
  21267. P._Utf8Base64EncoderSink.prototype = {
  21268. _add$4: function(source, start, end, isLast) {
  21269. var buffer = this._encoder.encode$4(source, start, end, isLast);
  21270. if (buffer != null)
  21271. this._sink.addSlice$4(buffer, 0, buffer.length, isLast);
  21272. }
  21273. };
  21274. P.ByteConversionSink.prototype = {};
  21275. P.ByteConversionSinkBase.prototype = {};
  21276. P.ChunkedConversionSink.prototype = {};
  21277. P.Codec.prototype = {
  21278. encode$1: function(input) {
  21279. return this.get$encoder().convert$1(input);
  21280. }
  21281. };
  21282. P.Converter.prototype = {};
  21283. P.Encoding.prototype = {
  21284. $asCodec: function() {
  21285. return [P.String, [P.List, P.int]];
  21286. }
  21287. };
  21288. P.JsonUnsupportedObjectError.prototype = {
  21289. toString$0: function(_) {
  21290. var safeString = P.Error_safeToString(this.unsupportedObject);
  21291. return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
  21292. }
  21293. };
  21294. P.JsonCyclicError.prototype = {
  21295. toString$0: function(_) {
  21296. return "Cyclic error in JSON stringify";
  21297. }
  21298. };
  21299. P.JsonCodec.prototype = {
  21300. encode$2$toEncodable: function(value, toEncodable) {
  21301. var t1 = P._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null);
  21302. return t1;
  21303. },
  21304. get$encoder: function() {
  21305. return C.JsonEncoder_null;
  21306. },
  21307. $asCodec: function() {
  21308. return [P.Object, P.String];
  21309. }
  21310. };
  21311. P.JsonEncoder.prototype = {
  21312. convert$1: function(object) {
  21313. var t1,
  21314. output = new P.StringBuffer("");
  21315. P._JsonStringStringifier_printOn(object, output, this._toEncodable, null);
  21316. t1 = output._contents;
  21317. return t1.charCodeAt(0) == 0 ? t1 : t1;
  21318. },
  21319. $asConverter: function() {
  21320. return [P.Object, P.String];
  21321. }
  21322. };
  21323. P._JsonStringifier.prototype = {
  21324. writeStringContent$1: function(s) {
  21325. var t1, offset, i, charCode, t2, _this = this,
  21326. $length = s.length;
  21327. for (t1 = J.getInterceptor$s(s), offset = 0, i = 0; i < $length; ++i) {
  21328. charCode = t1._codeUnitAt$1(s, i);
  21329. if (charCode > 92)
  21330. continue;
  21331. if (charCode < 32) {
  21332. if (i > offset)
  21333. _this.writeStringSlice$3(s, offset, i);
  21334. offset = i + 1;
  21335. _this.writeCharCode$1(92);
  21336. switch (charCode) {
  21337. case 8:
  21338. _this.writeCharCode$1(98);
  21339. break;
  21340. case 9:
  21341. _this.writeCharCode$1(116);
  21342. break;
  21343. case 10:
  21344. _this.writeCharCode$1(110);
  21345. break;
  21346. case 12:
  21347. _this.writeCharCode$1(102);
  21348. break;
  21349. case 13:
  21350. _this.writeCharCode$1(114);
  21351. break;
  21352. default:
  21353. _this.writeCharCode$1(117);
  21354. _this.writeCharCode$1(48);
  21355. _this.writeCharCode$1(48);
  21356. t2 = charCode >>> 4 & 15;
  21357. _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  21358. t2 = charCode & 15;
  21359. _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  21360. break;
  21361. }
  21362. } else if (charCode === 34 || charCode === 92) {
  21363. if (i > offset)
  21364. _this.writeStringSlice$3(s, offset, i);
  21365. offset = i + 1;
  21366. _this.writeCharCode$1(92);
  21367. _this.writeCharCode$1(charCode);
  21368. }
  21369. }
  21370. if (offset === 0)
  21371. _this.writeString$1(s);
  21372. else if (offset < $length)
  21373. _this.writeStringSlice$3(s, offset, $length);
  21374. },
  21375. _checkCycle$1: function(object) {
  21376. var t1, t2, i, t3;
  21377. for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
  21378. t3 = t1[i];
  21379. if (object == null ? t3 == null : object === t3)
  21380. throw H.wrapException(new P.JsonCyclicError(object, null));
  21381. }
  21382. t1.push(object);
  21383. },
  21384. writeObject$1: function(object) {
  21385. var customJson, e, t1, exception, _this = this;
  21386. if (_this.writeJsonValue$1(object))
  21387. return;
  21388. _this._checkCycle$1(object);
  21389. try {
  21390. customJson = _this._toEncodable.call$1(object);
  21391. if (!_this.writeJsonValue$1(customJson)) {
  21392. t1 = P.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult());
  21393. throw H.wrapException(t1);
  21394. }
  21395. _this._seen.pop();
  21396. } catch (exception) {
  21397. e = H.unwrapException(exception);
  21398. t1 = P.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult());
  21399. throw H.wrapException(t1);
  21400. }
  21401. },
  21402. writeJsonValue$1: function(object) {
  21403. var t1, success, _this = this;
  21404. if (typeof object === "number") {
  21405. if (!isFinite(object))
  21406. return false;
  21407. _this.writeNumber$1(object);
  21408. return true;
  21409. } else if (object === true) {
  21410. _this.writeString$1("true");
  21411. return true;
  21412. } else if (object === false) {
  21413. _this.writeString$1("false");
  21414. return true;
  21415. } else if (object == null) {
  21416. _this.writeString$1("null");
  21417. return true;
  21418. } else if (typeof object === "string") {
  21419. _this.writeString$1('"');
  21420. _this.writeStringContent$1(object);
  21421. _this.writeString$1('"');
  21422. return true;
  21423. } else {
  21424. t1 = J.getInterceptor$(object);
  21425. if (!!t1.$isList) {
  21426. _this._checkCycle$1(object);
  21427. _this.writeList$1(object);
  21428. _this._seen.pop();
  21429. return true;
  21430. } else if (!!t1.$isMap) {
  21431. _this._checkCycle$1(object);
  21432. success = _this.writeMap$1(object);
  21433. _this._seen.pop();
  21434. return success;
  21435. } else
  21436. return false;
  21437. }
  21438. },
  21439. writeList$1: function(list) {
  21440. var t1, i, _this = this;
  21441. _this.writeString$1("[");
  21442. t1 = J.getInterceptor$asx(list);
  21443. if (t1.get$isNotEmpty(list)) {
  21444. _this.writeObject$1(t1.$index(list, 0));
  21445. for (i = 1; i < t1.get$length(list); ++i) {
  21446. _this.writeString$1(",");
  21447. _this.writeObject$1(t1.$index(list, i));
  21448. }
  21449. }
  21450. _this.writeString$1("]");
  21451. },
  21452. writeMap$1: function(map) {
  21453. var t1, keyValueList, i, separator, _this = this, _box_0 = {};
  21454. if (map.get$isEmpty(map)) {
  21455. _this.writeString$1("{}");
  21456. return true;
  21457. }
  21458. t1 = map.get$length(map) * 2;
  21459. keyValueList = new Array(t1);
  21460. keyValueList.fixed$length = Array;
  21461. i = _box_0.i = 0;
  21462. _box_0.allStringKeys = true;
  21463. map.forEach$1(0, new P._JsonStringifier_writeMap_closure(_box_0, keyValueList));
  21464. if (!_box_0.allStringKeys)
  21465. return false;
  21466. _this.writeString$1("{");
  21467. for (separator = '"'; i < t1; i += 2, separator = ',"') {
  21468. _this.writeString$1(separator);
  21469. _this.writeStringContent$1(keyValueList[i]);
  21470. _this.writeString$1('":');
  21471. _this.writeObject$1(keyValueList[i + 1]);
  21472. }
  21473. _this.writeString$1("}");
  21474. return true;
  21475. }
  21476. };
  21477. P._JsonStringifier_writeMap_closure.prototype = {
  21478. call$2: function(key, value) {
  21479. var t1, t2, t3, i;
  21480. if (typeof key !== "string")
  21481. this._box_0.allStringKeys = false;
  21482. t1 = this.keyValueList;
  21483. t2 = this._box_0;
  21484. t3 = t2.i;
  21485. i = t2.i = t3 + 1;
  21486. t1[t3] = key;
  21487. t2.i = i + 1;
  21488. t1[i] = value;
  21489. },
  21490. $signature: 14
  21491. };
  21492. P._JsonStringStringifier.prototype = {
  21493. get$_partialResult: function() {
  21494. var t1 = this._sink;
  21495. return !!t1.$isStringBuffer ? t1.toString$0(0) : null;
  21496. },
  21497. writeNumber$1: function(number) {
  21498. this._sink.write$1(0, C.JSNumber_methods.toString$0(number));
  21499. },
  21500. writeString$1: function(string) {
  21501. this._sink.write$1(0, string);
  21502. },
  21503. writeStringSlice$3: function(string, start, end) {
  21504. this._sink.write$1(0, C.JSString_methods.substring$2(string, start, end));
  21505. },
  21506. writeCharCode$1: function(charCode) {
  21507. this._sink.writeCharCode$1(charCode);
  21508. }
  21509. };
  21510. P.StringConversionSinkBase.prototype = {};
  21511. P.StringConversionSinkMixin.prototype = {
  21512. add$1: function(_, str) {
  21513. this.addSlice$4(str, 0, str.length, false);
  21514. },
  21515. asUtf8Sink$1: function(allowMalformed) {
  21516. var t1 = new P.StringBuffer("");
  21517. return new P._Utf8ConversionSink(new P._Utf8Decoder(false, t1), this, t1);
  21518. },
  21519. $isStringConversionSink: 1
  21520. };
  21521. P._StringSinkConversionSink.prototype = {
  21522. close$0: function(_) {
  21523. },
  21524. addSlice$4: function(str, start, end, isLast) {
  21525. var t1, t2, i;
  21526. if (start !== 0 || end !== str.length)
  21527. for (t1 = this._stringSink, t2 = J.getInterceptor$s(str), i = start; i < end; ++i)
  21528. t1._contents += H.Primitives_stringFromCharCode(t2._codeUnitAt$1(str, i));
  21529. else
  21530. this._stringSink._contents += H.S(str);
  21531. if (isLast)
  21532. this.close$0(0);
  21533. },
  21534. add$1: function(_, str) {
  21535. this._stringSink._contents += H.S(str);
  21536. },
  21537. asUtf8Sink$1: function(allowMalformed) {
  21538. return new P._Utf8StringSinkAdapter(new P._Utf8Decoder(false, this._stringSink), this);
  21539. }
  21540. };
  21541. P._StringCallbackSink.prototype = {
  21542. close$0: function(_) {
  21543. var t1 = this._stringSink,
  21544. t2 = t1._contents;
  21545. t1._contents = "";
  21546. this._callback.call$1(t2.charCodeAt(0) == 0 ? t2 : t2);
  21547. },
  21548. asUtf8Sink$1: function(allowMalformed) {
  21549. return new P._Utf8StringSinkAdapter(new P._Utf8Decoder(false, this._stringSink), this);
  21550. }
  21551. };
  21552. P._StringAdapterSink.prototype = {
  21553. add$1: function(_, str) {
  21554. this._sink.add$1(0, str);
  21555. },
  21556. addSlice$4: function(str, start, end, isLast) {
  21557. var t1 = start === 0 && end === str.length,
  21558. t2 = this._sink;
  21559. if (t1)
  21560. t2.add$1(0, str);
  21561. else
  21562. t2.add$1(0, J.substring$2$s(str, start, end));
  21563. if (isLast)
  21564. t2.close$0(0);
  21565. },
  21566. close$0: function(_) {
  21567. this._sink.close$0(0);
  21568. }
  21569. };
  21570. P._Utf8StringSinkAdapter.prototype = {
  21571. close$0: function(_) {
  21572. this._decoder.flush$0();
  21573. this._sink.close$0(0);
  21574. },
  21575. add$1: function(_, chunk) {
  21576. this._decoder.convert$3(chunk, 0, J.get$length$asx(chunk));
  21577. },
  21578. addSlice$4: function(codeUnits, startIndex, endIndex, isLast) {
  21579. this._decoder.convert$3(codeUnits, startIndex, endIndex);
  21580. if (isLast)
  21581. this.close$0(0);
  21582. }
  21583. };
  21584. P._Utf8ConversionSink.prototype = {
  21585. close$0: function(_) {
  21586. var t1, t2, t3, accumulated;
  21587. this._decoder.flush$0();
  21588. t1 = this._buffer;
  21589. t2 = t1._contents;
  21590. t3 = this._chunkedSink;
  21591. if (t2.length !== 0) {
  21592. accumulated = t2.charCodeAt(0) == 0 ? t2 : t2;
  21593. t1._contents = "";
  21594. t3.addSlice$4(accumulated, 0, accumulated.length, true);
  21595. } else
  21596. t3.close$0(0);
  21597. },
  21598. add$1: function(_, chunk) {
  21599. this.addSlice$4(chunk, 0, J.get$length$asx(chunk), false);
  21600. },
  21601. addSlice$4: function(chunk, startIndex, endIndex, isLast) {
  21602. var t1, t2, accumulated, _this = this;
  21603. _this._decoder.convert$3(chunk, startIndex, endIndex);
  21604. t1 = _this._buffer;
  21605. t2 = t1._contents;
  21606. if (t2.length !== 0) {
  21607. accumulated = t2.charCodeAt(0) == 0 ? t2 : t2;
  21608. _this._chunkedSink.addSlice$4(accumulated, 0, accumulated.length, isLast);
  21609. t1._contents = "";
  21610. return;
  21611. }
  21612. if (isLast)
  21613. _this.close$0(0);
  21614. }
  21615. };
  21616. P.Utf8Codec.prototype = {
  21617. get$encoder: function() {
  21618. return C.C_Utf8Encoder;
  21619. }
  21620. };
  21621. P.Utf8Encoder.prototype = {
  21622. convert$1: function(string) {
  21623. var t1, encoder,
  21624. end = P.RangeError_checkValidRange(0, null, string.length),
  21625. $length = end - 0;
  21626. if ($length === 0)
  21627. return new Uint8Array(0);
  21628. t1 = new Uint8Array($length * 3);
  21629. encoder = new P._Utf8Encoder(t1);
  21630. if (encoder._fillBuffer$3(string, 0, end) !== end)
  21631. encoder._writeSurrogate$2(J.codeUnitAt$1$s(string, end - 1), 0);
  21632. return C.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex);
  21633. },
  21634. $asConverter: function() {
  21635. return [P.String, [P.List, P.int]];
  21636. }
  21637. };
  21638. P._Utf8Encoder.prototype = {
  21639. _writeSurrogate$2: function(leadingSurrogate, nextCodeUnit) {
  21640. var rune, _this = this,
  21641. t1 = _this._buffer,
  21642. t2 = _this._bufferIndex,
  21643. t3 = t2 + 1;
  21644. if ((nextCodeUnit & 64512) === 56320) {
  21645. rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023;
  21646. _this._bufferIndex = t3;
  21647. t1[t2] = 240 | rune >>> 18;
  21648. t2 = _this._bufferIndex = t3 + 1;
  21649. t1[t3] = 128 | rune >>> 12 & 63;
  21650. t3 = _this._bufferIndex = t2 + 1;
  21651. t1[t2] = 128 | rune >>> 6 & 63;
  21652. _this._bufferIndex = t3 + 1;
  21653. t1[t3] = 128 | rune & 63;
  21654. return true;
  21655. } else {
  21656. _this._bufferIndex = t3;
  21657. t1[t2] = 224 | leadingSurrogate >>> 12;
  21658. t2 = _this._bufferIndex = t3 + 1;
  21659. t1[t3] = 128 | leadingSurrogate >>> 6 & 63;
  21660. _this._bufferIndex = t2 + 1;
  21661. t1[t2] = 128 | leadingSurrogate & 63;
  21662. return false;
  21663. }
  21664. },
  21665. _fillBuffer$3: function(str, start, end) {
  21666. var t1, t2, t3, stringIndex, codeUnit, t4, stringIndex0, t5, _this = this;
  21667. if (start !== end && (J.codeUnitAt$1$s(str, end - 1) & 64512) === 55296)
  21668. --end;
  21669. for (t1 = _this._buffer, t2 = t1.length, t3 = J.getInterceptor$s(str), stringIndex = start; stringIndex < end; ++stringIndex) {
  21670. codeUnit = t3._codeUnitAt$1(str, stringIndex);
  21671. if (codeUnit <= 127) {
  21672. t4 = _this._bufferIndex;
  21673. if (t4 >= t2)
  21674. break;
  21675. _this._bufferIndex = t4 + 1;
  21676. t1[t4] = codeUnit;
  21677. } else if ((codeUnit & 64512) === 55296) {
  21678. if (_this._bufferIndex + 3 >= t2)
  21679. break;
  21680. stringIndex0 = stringIndex + 1;
  21681. if (_this._writeSurrogate$2(codeUnit, C.JSString_methods._codeUnitAt$1(str, stringIndex0)))
  21682. stringIndex = stringIndex0;
  21683. } else if (codeUnit <= 2047) {
  21684. t4 = _this._bufferIndex;
  21685. t5 = t4 + 1;
  21686. if (t5 >= t2)
  21687. break;
  21688. _this._bufferIndex = t5;
  21689. t1[t4] = 192 | codeUnit >>> 6;
  21690. _this._bufferIndex = t5 + 1;
  21691. t1[t5] = 128 | codeUnit & 63;
  21692. } else {
  21693. t4 = _this._bufferIndex;
  21694. if (t4 + 2 >= t2)
  21695. break;
  21696. t5 = _this._bufferIndex = t4 + 1;
  21697. t1[t4] = 224 | codeUnit >>> 12;
  21698. t4 = _this._bufferIndex = t5 + 1;
  21699. t1[t5] = 128 | codeUnit >>> 6 & 63;
  21700. _this._bufferIndex = t4 + 1;
  21701. t1[t4] = 128 | codeUnit & 63;
  21702. }
  21703. }
  21704. return stringIndex;
  21705. }
  21706. };
  21707. P.Utf8Decoder.prototype = {
  21708. convert$1: function(codeUnits) {
  21709. var end, oneBytes, firstPart, buffer, start, isFirstCharacter, decoder, t1,
  21710. result = P.Utf8Decoder__convertIntercepted(false, codeUnits, 0, null);
  21711. if (result != null)
  21712. return result;
  21713. end = P.RangeError_checkValidRange(0, null, J.get$length$asx(codeUnits));
  21714. oneBytes = P._scanOneByteCharacters(codeUnits, 0, end);
  21715. if (oneBytes > 0) {
  21716. firstPart = P.String_String$fromCharCodes(codeUnits, 0, oneBytes);
  21717. if (oneBytes === end)
  21718. return firstPart;
  21719. buffer = new P.StringBuffer(firstPart);
  21720. start = oneBytes;
  21721. isFirstCharacter = false;
  21722. } else {
  21723. start = 0;
  21724. buffer = null;
  21725. isFirstCharacter = true;
  21726. }
  21727. if (buffer == null)
  21728. buffer = new P.StringBuffer("");
  21729. decoder = new P._Utf8Decoder(false, buffer);
  21730. decoder._isFirstCharacter = isFirstCharacter;
  21731. decoder.convert$3(codeUnits, start, end);
  21732. decoder.flush$2(codeUnits, end);
  21733. t1 = buffer._contents;
  21734. return t1.charCodeAt(0) == 0 ? t1 : t1;
  21735. },
  21736. startChunkedConversion$1: function(sink) {
  21737. return (!!sink.$isStringConversionSink ? sink : new P._StringAdapterSink(sink)).asUtf8Sink$1(false);
  21738. },
  21739. $asConverter: function() {
  21740. return [[P.List, P.int], P.String];
  21741. }
  21742. };
  21743. P._Utf8Decoder.prototype = {
  21744. flush$2: function(source, offset) {
  21745. var t1;
  21746. if (this._expectedUnits > 0) {
  21747. t1 = P.FormatException$("Unfinished UTF-8 octet sequence", source, offset);
  21748. throw H.wrapException(t1);
  21749. }
  21750. },
  21751. flush$0: function() {
  21752. return this.flush$2(null, null);
  21753. },
  21754. convert$3: function(codeUnits, startIndex, endIndex) {
  21755. var t1, t2, i, unit, t3, oneBytes, i0, i1, t4, _this = this,
  21756. _s21_ = "Bad UTF-8 encoding 0x",
  21757. value = _this._convert$_value,
  21758. expectedUnits = _this._expectedUnits,
  21759. extraUnits = _this._extraUnits;
  21760. _this._extraUnits = _this._expectedUnits = _this._convert$_value = 0;
  21761. $label0$0:
  21762. for (t1 = J.getInterceptor$asx(codeUnits), t2 = _this._stringSink, i = startIndex; true; i = i1) {
  21763. $label1$1:
  21764. if (expectedUnits > 0) {
  21765. do {
  21766. if (i === endIndex)
  21767. break $label0$0;
  21768. unit = t1.$index(codeUnits, i);
  21769. if ((unit & 192) !== 128) {
  21770. t3 = P.FormatException$(_s21_ + C.JSInt_methods.toRadixString$1(unit, 16), codeUnits, i);
  21771. throw H.wrapException(t3);
  21772. } else {
  21773. value = (value << 6 | unit & 63) >>> 0;
  21774. --expectedUnits;
  21775. ++i;
  21776. }
  21777. } while (expectedUnits > 0);
  21778. if (value <= C.List_127_2047_65535_1114111[extraUnits - 1]) {
  21779. t3 = P.FormatException$("Overlong encoding of 0x" + C.JSInt_methods.toRadixString$1(value, 16), codeUnits, i - extraUnits - 1);
  21780. throw H.wrapException(t3);
  21781. }
  21782. if (value > 1114111) {
  21783. t3 = P.FormatException$("Character outside valid Unicode range: 0x" + C.JSInt_methods.toRadixString$1(value, 16), codeUnits, i - extraUnits - 1);
  21784. throw H.wrapException(t3);
  21785. }
  21786. if (!_this._isFirstCharacter || value !== 65279)
  21787. t2._contents += H.Primitives_stringFromCharCode(value);
  21788. _this._isFirstCharacter = false;
  21789. }
  21790. for (t3 = i < endIndex; t3;) {
  21791. oneBytes = P._scanOneByteCharacters(codeUnits, i, endIndex);
  21792. if (oneBytes > 0) {
  21793. _this._isFirstCharacter = false;
  21794. i0 = i + oneBytes;
  21795. t2._contents += P.String_String$fromCharCodes(codeUnits, i, i0);
  21796. if (i0 === endIndex)
  21797. break;
  21798. } else
  21799. i0 = i;
  21800. i1 = i0 + 1;
  21801. unit = t1.$index(codeUnits, i0);
  21802. if (unit < 0) {
  21803. t4 = P.FormatException$("Negative UTF-8 code unit: -0x" + C.JSInt_methods.toRadixString$1(-unit, 16), codeUnits, i1 - 1);
  21804. throw H.wrapException(t4);
  21805. } else {
  21806. if ((unit & 224) === 192) {
  21807. value = unit & 31;
  21808. expectedUnits = 1;
  21809. extraUnits = 1;
  21810. continue $label0$0;
  21811. }
  21812. if ((unit & 240) === 224) {
  21813. value = unit & 15;
  21814. expectedUnits = 2;
  21815. extraUnits = 2;
  21816. continue $label0$0;
  21817. }
  21818. if ((unit & 248) === 240 && unit < 245) {
  21819. value = unit & 7;
  21820. expectedUnits = 3;
  21821. extraUnits = 3;
  21822. continue $label0$0;
  21823. }
  21824. t4 = P.FormatException$(_s21_ + C.JSInt_methods.toRadixString$1(unit, 16), codeUnits, i1 - 1);
  21825. throw H.wrapException(t4);
  21826. }
  21827. }
  21828. break $label0$0;
  21829. }
  21830. if (expectedUnits > 0) {
  21831. _this._convert$_value = value;
  21832. _this._expectedUnits = expectedUnits;
  21833. _this._extraUnits = extraUnits;
  21834. }
  21835. }
  21836. };
  21837. P.NoSuchMethodError_toString_closure.prototype = {
  21838. call$2: function(key, value) {
  21839. var t3,
  21840. t1 = this.sb,
  21841. t2 = this._box_0;
  21842. t1._contents += t2.comma;
  21843. t3 = t1._contents += H.S(key.__internal$_name);
  21844. t1._contents = t3 + ": ";
  21845. t1._contents += P.Error_safeToString(value);
  21846. t2.comma = ", ";
  21847. }
  21848. };
  21849. P.bool.prototype = {};
  21850. P.DateTime.prototype = {
  21851. add$1: function(_, duration) {
  21852. return P.DateTime$_withValue(C.JSInt_methods.$add(this._value, duration.get$inMilliseconds()), false);
  21853. },
  21854. $eq: function(_, other) {
  21855. if (other == null)
  21856. return false;
  21857. return other instanceof P.DateTime && this._value === other._value && true;
  21858. },
  21859. compareTo$1: function(_, other) {
  21860. return C.JSInt_methods.compareTo$1(this._value, other._value);
  21861. },
  21862. get$hashCode: function(_) {
  21863. var t1 = this._value;
  21864. return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
  21865. },
  21866. toString$0: function(_) {
  21867. var _this = this,
  21868. y = P.DateTime__fourDigits(H.Primitives_getYear(_this)),
  21869. m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)),
  21870. d = P.DateTime__twoDigits(H.Primitives_getDay(_this)),
  21871. h = P.DateTime__twoDigits(H.Primitives_getHours(_this)),
  21872. min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)),
  21873. sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)),
  21874. ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this)),
  21875. t1 = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
  21876. return t1;
  21877. },
  21878. $isComparable: 1,
  21879. $asComparable: function() {
  21880. return [P.DateTime];
  21881. }
  21882. };
  21883. P.double.prototype = {};
  21884. P.Duration.prototype = {
  21885. $eq: function(_, other) {
  21886. if (other == null)
  21887. return false;
  21888. return other instanceof P.Duration && this._duration === other._duration;
  21889. },
  21890. get$hashCode: function(_) {
  21891. return C.JSInt_methods.get$hashCode(this._duration);
  21892. },
  21893. compareTo$1: function(_, other) {
  21894. return C.JSInt_methods.compareTo$1(this._duration, other._duration);
  21895. },
  21896. toString$0: function(_) {
  21897. var twoDigitMinutes, twoDigitSeconds, sixDigitUs,
  21898. t1 = new P.Duration_toString_twoDigits(),
  21899. t2 = this._duration;
  21900. if (t2 < 0)
  21901. return "-" + new P.Duration(0 - t2).toString$0(0);
  21902. twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60);
  21903. twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60);
  21904. sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000);
  21905. return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
  21906. },
  21907. $isComparable: 1,
  21908. $asComparable: function() {
  21909. return [P.Duration];
  21910. }
  21911. };
  21912. P.Duration_toString_sixDigits.prototype = {
  21913. call$1: function(n) {
  21914. if (n >= 100000)
  21915. return "" + n;
  21916. if (n >= 10000)
  21917. return "0" + n;
  21918. if (n >= 1000)
  21919. return "00" + n;
  21920. if (n >= 100)
  21921. return "000" + n;
  21922. if (n >= 10)
  21923. return "0000" + n;
  21924. return "00000" + n;
  21925. },
  21926. $signature: 17
  21927. };
  21928. P.Duration_toString_twoDigits.prototype = {
  21929. call$1: function(n) {
  21930. if (n >= 10)
  21931. return "" + n;
  21932. return "0" + n;
  21933. },
  21934. $signature: 17
  21935. };
  21936. P.Error.prototype = {};
  21937. P.NullThrownError.prototype = {
  21938. toString$0: function(_) {
  21939. return "Throw of null.";
  21940. }
  21941. };
  21942. P.ArgumentError.prototype = {
  21943. get$_errorName: function() {
  21944. return "Invalid argument" + (!this._hasValue ? "(s)" : "");
  21945. },
  21946. get$_errorExplanation: function() {
  21947. return "";
  21948. },
  21949. toString$0: function(_) {
  21950. var message, prefix, explanation, errorValue, _this = this,
  21951. t1 = _this.name,
  21952. nameString = t1 != null ? " (" + t1 + ")" : "";
  21953. t1 = _this.message;
  21954. message = t1 == null ? "" : ": " + H.S(t1);
  21955. prefix = _this.get$_errorName() + nameString + message;
  21956. if (!_this._hasValue)
  21957. return prefix;
  21958. explanation = _this.get$_errorExplanation();
  21959. errorValue = P.Error_safeToString(_this.invalidValue);
  21960. return prefix + explanation + ": " + errorValue;
  21961. },
  21962. get$message: function(receiver) {
  21963. return this.message;
  21964. }
  21965. };
  21966. P.RangeError.prototype = {
  21967. get$_errorName: function() {
  21968. return "RangeError";
  21969. },
  21970. get$_errorExplanation: function() {
  21971. var explanation, t2,
  21972. t1 = this.start;
  21973. if (t1 == null) {
  21974. t1 = this.end;
  21975. explanation = t1 != null ? ": Not less than or equal to " + H.S(t1) : "";
  21976. } else {
  21977. t2 = this.end;
  21978. if (t2 == null)
  21979. explanation = ": Not greater than or equal to " + H.S(t1);
  21980. else if (t2 > t1)
  21981. explanation = ": Not in range " + H.S(t1) + ".." + H.S(t2) + ", inclusive";
  21982. else
  21983. explanation = t2 < t1 ? ": Valid value range is empty" : ": Only valid value is " + H.S(t1);
  21984. }
  21985. return explanation;
  21986. }
  21987. };
  21988. P.IndexError.prototype = {
  21989. get$_errorName: function() {
  21990. return "RangeError";
  21991. },
  21992. get$_errorExplanation: function() {
  21993. if (this.invalidValue < 0)
  21994. return ": index must not be negative";
  21995. var t1 = this.length;
  21996. if (t1 === 0)
  21997. return ": no indices are valid";
  21998. return ": index should be less than " + t1;
  21999. },
  22000. get$length: function(receiver) {
  22001. return this.length;
  22002. }
  22003. };
  22004. P.NoSuchMethodError.prototype = {
  22005. toString$0: function(_) {
  22006. var t1, t2, _i, t3, t4, argument, receiverText, actualParameters, _this = this, _box_0 = {},
  22007. sb = new P.StringBuffer("");
  22008. _box_0.comma = "";
  22009. for (t1 = _this._core$_arguments, t2 = t1.length, _i = 0, t3 = "", t4 = ""; _i < t2; ++_i, t4 = ", ") {
  22010. argument = t1[_i];
  22011. sb._contents = t3 + t4;
  22012. t3 = sb._contents += P.Error_safeToString(argument);
  22013. _box_0.comma = ", ";
  22014. }
  22015. _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb));
  22016. receiverText = P.Error_safeToString(_this._core$_receiver);
  22017. actualParameters = sb.toString$0(0);
  22018. t1 = "NoSuchMethodError: method not found: '" + H.S(_this._memberName.__internal$_name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
  22019. return t1;
  22020. }
  22021. };
  22022. P.UnsupportedError.prototype = {
  22023. toString$0: function(_) {
  22024. return "Unsupported operation: " + this.message;
  22025. },
  22026. get$message: function(receiver) {
  22027. return this.message;
  22028. }
  22029. };
  22030. P.UnimplementedError.prototype = {
  22031. toString$0: function(_) {
  22032. var t1 = this.message;
  22033. return t1 != null ? "UnimplementedError: " + t1 : "UnimplementedError";
  22034. },
  22035. get$message: function(receiver) {
  22036. return this.message;
  22037. }
  22038. };
  22039. P.StateError.prototype = {
  22040. toString$0: function(_) {
  22041. return "Bad state: " + this.message;
  22042. },
  22043. get$message: function(receiver) {
  22044. return this.message;
  22045. }
  22046. };
  22047. P.ConcurrentModificationError.prototype = {
  22048. toString$0: function(_) {
  22049. var t1 = this.modifiedObject;
  22050. if (t1 == null)
  22051. return "Concurrent modification during iteration.";
  22052. return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + ".";
  22053. }
  22054. };
  22055. P.OutOfMemoryError.prototype = {
  22056. toString$0: function(_) {
  22057. return "Out of Memory";
  22058. },
  22059. $isError: 1
  22060. };
  22061. P.StackOverflowError.prototype = {
  22062. toString$0: function(_) {
  22063. return "Stack Overflow";
  22064. },
  22065. $isError: 1
  22066. };
  22067. P.CyclicInitializationError.prototype = {
  22068. toString$0: function(_) {
  22069. var t1 = this.variableName;
  22070. return t1 == null ? "Reading static variable during its initialization" : "Reading static variable '" + t1 + "' during its initialization";
  22071. }
  22072. };
  22073. P._Exception.prototype = {
  22074. toString$0: function(_) {
  22075. return "Exception: " + this.message;
  22076. },
  22077. $isException: 1,
  22078. get$message: function(receiver) {
  22079. return this.message;
  22080. }
  22081. };
  22082. P.FormatException.prototype = {
  22083. toString$0: function(_) {
  22084. var source, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, slice,
  22085. t1 = this.message,
  22086. report = t1 != null && "" !== t1 ? "FormatException: " + H.S(t1) : "FormatException",
  22087. offset = this.offset,
  22088. objectSource = this.source;
  22089. if (typeof objectSource === "string") {
  22090. if (offset != null)
  22091. t1 = offset < 0 || offset > objectSource.length;
  22092. else
  22093. t1 = false;
  22094. if (t1)
  22095. offset = null;
  22096. if (offset == null) {
  22097. source = objectSource.length > 78 ? C.JSString_methods.substring$2(objectSource, 0, 75) + "..." : objectSource;
  22098. return report + "\n" + source;
  22099. }
  22100. for (lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) {
  22101. char = C.JSString_methods._codeUnitAt$1(objectSource, i);
  22102. if (char === 10) {
  22103. if (lineStart !== i || !previousCharWasCR)
  22104. ++lineNum;
  22105. lineStart = i + 1;
  22106. previousCharWasCR = false;
  22107. } else if (char === 13) {
  22108. ++lineNum;
  22109. lineStart = i + 1;
  22110. previousCharWasCR = true;
  22111. }
  22112. }
  22113. report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n");
  22114. lineEnd = objectSource.length;
  22115. for (i = offset; i < lineEnd; ++i) {
  22116. char = C.JSString_methods.codeUnitAt$1(objectSource, i);
  22117. if (char === 10 || char === 13) {
  22118. lineEnd = i;
  22119. break;
  22120. }
  22121. }
  22122. if (lineEnd - lineStart > 78)
  22123. if (offset - lineStart < 75) {
  22124. end = lineStart + 75;
  22125. start = lineStart;
  22126. prefix = "";
  22127. postfix = "...";
  22128. } else {
  22129. if (lineEnd - offset < 75) {
  22130. start = lineEnd - 75;
  22131. end = lineEnd;
  22132. postfix = "";
  22133. } else {
  22134. start = offset - 36;
  22135. end = offset + 36;
  22136. postfix = "...";
  22137. }
  22138. prefix = "...";
  22139. }
  22140. else {
  22141. end = lineEnd;
  22142. start = lineStart;
  22143. prefix = "";
  22144. postfix = "";
  22145. }
  22146. slice = C.JSString_methods.substring$2(objectSource, start, end);
  22147. return report + prefix + slice + postfix + "\n" + C.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n";
  22148. } else
  22149. return offset != null ? report + (" (at offset " + H.S(offset) + ")") : report;
  22150. },
  22151. $isException: 1,
  22152. get$message: function(receiver) {
  22153. return this.message;
  22154. },
  22155. get$source: function() {
  22156. return this.source;
  22157. }
  22158. };
  22159. P.Function.prototype = {};
  22160. P.int.prototype = {};
  22161. P.Iterable.prototype = {
  22162. cast$1$0: function(_, $R) {
  22163. return H.CastIterable_CastIterable(this, H.getRuntimeTypeArgument(this, "Iterable", 0), $R);
  22164. },
  22165. map$1$1: function(_, f, $T) {
  22166. return H.MappedIterable_MappedIterable(this, f, H.getRuntimeTypeArgument(this, "Iterable", 0), $T);
  22167. },
  22168. where$1: function(_, test) {
  22169. return new H.WhereIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]);
  22170. },
  22171. expand$1$1: function(_, f, $T) {
  22172. return new H.ExpandIterable(this, f, [H.getRuntimeTypeArgument(this, "Iterable", 0), $T]);
  22173. },
  22174. contains$1: function(_, element) {
  22175. var t1;
  22176. for (t1 = this.get$iterator(this); t1.moveNext$0();)
  22177. if (J.$eq$(t1.get$current(t1), element))
  22178. return true;
  22179. return false;
  22180. },
  22181. fold$1$2: function(_, initialValue, combine) {
  22182. var t1, value;
  22183. for (t1 = this.get$iterator(this), value = initialValue; t1.moveNext$0();)
  22184. value = combine.call$2(value, t1.get$current(t1));
  22185. return value;
  22186. },
  22187. fold$2: function($receiver, initialValue, combine) {
  22188. return this.fold$1$2($receiver, initialValue, combine, null);
  22189. },
  22190. join$1: function(_, separator) {
  22191. var t1,
  22192. iterator = this.get$iterator(this);
  22193. if (!iterator.moveNext$0())
  22194. return "";
  22195. if (separator === "") {
  22196. t1 = "";
  22197. do
  22198. t1 += H.S(iterator.get$current(iterator));
  22199. while (iterator.moveNext$0());
  22200. } else {
  22201. t1 = H.S(iterator.get$current(iterator));
  22202. for (; iterator.moveNext$0();)
  22203. t1 = t1 + separator + H.S(iterator.get$current(iterator));
  22204. }
  22205. return t1.charCodeAt(0) == 0 ? t1 : t1;
  22206. },
  22207. join$0: function($receiver) {
  22208. return this.join$1($receiver, "");
  22209. },
  22210. any$1: function(_, test) {
  22211. var t1;
  22212. for (t1 = this.get$iterator(this); t1.moveNext$0();)
  22213. if (test.call$1(t1.get$current(t1)))
  22214. return true;
  22215. return false;
  22216. },
  22217. toList$1$growable: function(_, growable) {
  22218. return P.List_List$from(this, growable, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22219. },
  22220. toList$0: function($receiver) {
  22221. return this.toList$1$growable($receiver, true);
  22222. },
  22223. toSet$0: function(_) {
  22224. return P.LinkedHashSet_LinkedHashSet$from(this, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22225. },
  22226. get$length: function(_) {
  22227. var count,
  22228. it = this.get$iterator(this);
  22229. for (count = 0; it.moveNext$0();)
  22230. ++count;
  22231. return count;
  22232. },
  22233. get$isEmpty: function(_) {
  22234. return !this.get$iterator(this).moveNext$0();
  22235. },
  22236. get$isNotEmpty: function(_) {
  22237. return !this.get$isEmpty(this);
  22238. },
  22239. take$1: function(_, count) {
  22240. return H.TakeIterable_TakeIterable(this, count, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22241. },
  22242. skip$1: function(_, count) {
  22243. return H.SkipIterable_SkipIterable(this, count, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22244. },
  22245. skipWhile$1: function(_, test) {
  22246. return new H.SkipWhileIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]);
  22247. },
  22248. get$first: function(_) {
  22249. var it = this.get$iterator(this);
  22250. if (!it.moveNext$0())
  22251. throw H.wrapException(H.IterableElementError_noElement());
  22252. return it.get$current(it);
  22253. },
  22254. get$last: function(_) {
  22255. var result,
  22256. it = this.get$iterator(this);
  22257. if (!it.moveNext$0())
  22258. throw H.wrapException(H.IterableElementError_noElement());
  22259. do
  22260. result = it.get$current(it);
  22261. while (it.moveNext$0());
  22262. return result;
  22263. },
  22264. get$single: function(_) {
  22265. var result,
  22266. it = this.get$iterator(this);
  22267. if (!it.moveNext$0())
  22268. throw H.wrapException(H.IterableElementError_noElement());
  22269. result = it.get$current(it);
  22270. if (it.moveNext$0())
  22271. throw H.wrapException(H.IterableElementError_tooMany());
  22272. return result;
  22273. },
  22274. firstWhere$2$orElse: function(_, test, orElse) {
  22275. var t1, element;
  22276. for (t1 = this.get$iterator(this); t1.moveNext$0();) {
  22277. element = t1.get$current(t1);
  22278. if (test.call$1(element))
  22279. return element;
  22280. }
  22281. return orElse.call$0();
  22282. },
  22283. elementAt$1: function(_, index) {
  22284. var t1, elementIndex, element, _s5_ = "index";
  22285. if (index == null)
  22286. H.throwExpression(P.ArgumentError$notNull(_s5_));
  22287. P.RangeError_checkNotNegative(index, _s5_);
  22288. for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
  22289. element = t1.get$current(t1);
  22290. if (index === elementIndex)
  22291. return element;
  22292. ++elementIndex;
  22293. }
  22294. throw H.wrapException(P.IndexError$(index, this, _s5_, null, elementIndex));
  22295. },
  22296. toString$0: function(_) {
  22297. return P.IterableBase_iterableToShortString(this, "(", ")");
  22298. }
  22299. };
  22300. P._GeneratorIterable.prototype = {
  22301. elementAt$1: function(_, index) {
  22302. P.RangeError_checkValidIndex(index, this, null);
  22303. return this._generator.call$1(index);
  22304. },
  22305. get$length: function(receiver) {
  22306. return this.length;
  22307. }
  22308. };
  22309. P.Iterator.prototype = {};
  22310. P.List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1};
  22311. P.Map.prototype = {};
  22312. P.MapEntry.prototype = {
  22313. toString$0: function(_) {
  22314. return "MapEntry(" + H.S(this.key) + ": " + H.S(this.value) + ")";
  22315. }
  22316. };
  22317. P.Null.prototype = {
  22318. get$hashCode: function(_) {
  22319. return P.Object.prototype.get$hashCode.call(this, this);
  22320. },
  22321. toString$0: function(_) {
  22322. return "null";
  22323. }
  22324. };
  22325. P.num.prototype = {$isComparable: 1,
  22326. $asComparable: function() {
  22327. return [P.num];
  22328. }
  22329. };
  22330. P.Object.prototype = {constructor: P.Object, $isObject: 1,
  22331. $eq: function(_, other) {
  22332. return this === other;
  22333. },
  22334. get$hashCode: function(_) {
  22335. return H.Primitives_objectHashCode(this);
  22336. },
  22337. toString$0: function(_) {
  22338. return "Instance of '" + H.S(H.Primitives_objectTypeName(this)) + "'";
  22339. },
  22340. noSuchMethod$1: function(_, invocation) {
  22341. throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
  22342. },
  22343. toString: function() {
  22344. return this.toString$0(this);
  22345. }
  22346. };
  22347. P.Match.prototype = {};
  22348. P.RegExpMatch.prototype = {$isMatch: 1};
  22349. P.Set.prototype = {};
  22350. P.StackTrace.prototype = {};
  22351. P._StringStackTrace.prototype = {
  22352. toString$0: function(_) {
  22353. return this._core$_stackTrace;
  22354. },
  22355. $isStackTrace: 1
  22356. };
  22357. P.String.prototype = {$isComparable: 1,
  22358. $asComparable: function() {
  22359. return [P.String];
  22360. }
  22361. };
  22362. P.Runes.prototype = {
  22363. get$iterator: function(_) {
  22364. return new P.RuneIterator(this.string);
  22365. },
  22366. get$last: function(_) {
  22367. var code, previousCode,
  22368. t1 = this.string,
  22369. t2 = t1.length;
  22370. if (t2 === 0)
  22371. throw H.wrapException(P.StateError$("No elements."));
  22372. code = C.JSString_methods.codeUnitAt$1(t1, t2 - 1);
  22373. if ((code & 64512) === 56320 && t2 > 1) {
  22374. previousCode = C.JSString_methods.codeUnitAt$1(t1, t2 - 2);
  22375. if ((previousCode & 64512) === 55296)
  22376. return P._combineSurrogatePair(previousCode, code);
  22377. }
  22378. return code;
  22379. },
  22380. $asIterable: function() {
  22381. return [P.int];
  22382. }
  22383. };
  22384. P.RuneIterator.prototype = {
  22385. get$current: function(_) {
  22386. return this._currentCodePoint;
  22387. },
  22388. moveNext$0: function() {
  22389. var codeUnit, nextPosition, nextCodeUnit, _this = this,
  22390. t1 = _this._core$_position = _this._nextPosition,
  22391. t2 = _this.string,
  22392. t3 = t2.length;
  22393. if (t1 === t3) {
  22394. _this._currentCodePoint = null;
  22395. return false;
  22396. }
  22397. codeUnit = C.JSString_methods._codeUnitAt$1(t2, t1);
  22398. nextPosition = t1 + 1;
  22399. if ((codeUnit & 64512) === 55296 && nextPosition < t3) {
  22400. nextCodeUnit = C.JSString_methods._codeUnitAt$1(t2, nextPosition);
  22401. if ((nextCodeUnit & 64512) === 56320) {
  22402. _this._nextPosition = nextPosition + 1;
  22403. _this._currentCodePoint = P._combineSurrogatePair(codeUnit, nextCodeUnit);
  22404. return true;
  22405. }
  22406. }
  22407. _this._nextPosition = nextPosition;
  22408. _this._currentCodePoint = codeUnit;
  22409. return true;
  22410. }
  22411. };
  22412. P.StringBuffer.prototype = {
  22413. get$length: function(_) {
  22414. return this._contents.length;
  22415. },
  22416. write$1: function(_, obj) {
  22417. this._contents += H.S(obj);
  22418. },
  22419. writeCharCode$1: function(charCode) {
  22420. this._contents += H.Primitives_stringFromCharCode(charCode);
  22421. },
  22422. toString$0: function(_) {
  22423. var t1 = this._contents;
  22424. return t1.charCodeAt(0) == 0 ? t1 : t1;
  22425. }
  22426. };
  22427. P.StringSink.prototype = {};
  22428. P.Symbol0.prototype = {};
  22429. P.Uri.prototype = {};
  22430. P.Uri__parseIPv4Address_error.prototype = {
  22431. call$2: function(msg, position) {
  22432. throw H.wrapException(P.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
  22433. }
  22434. };
  22435. P.Uri_parseIPv6Address_error.prototype = {
  22436. call$2: function(msg, position) {
  22437. throw H.wrapException(P.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
  22438. },
  22439. call$1: function(msg) {
  22440. return this.call$2(msg, null);
  22441. }
  22442. };
  22443. P.Uri_parseIPv6Address_parseHex.prototype = {
  22444. call$2: function(start, end) {
  22445. var value;
  22446. if (end - start > 4)
  22447. this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start);
  22448. value = P.int_parse(C.JSString_methods.substring$2(this.host, start, end), null, 16);
  22449. if (value < 0 || value > 65535)
  22450. this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
  22451. return value;
  22452. }
  22453. };
  22454. P._Uri.prototype = {
  22455. get$userInfo: function() {
  22456. return this._userInfo;
  22457. },
  22458. get$host: function() {
  22459. var t1 = this._host;
  22460. if (t1 == null)
  22461. return "";
  22462. if (C.JSString_methods.startsWith$1(t1, "["))
  22463. return C.JSString_methods.substring$2(t1, 1, t1.length - 1);
  22464. return t1;
  22465. },
  22466. get$port: function() {
  22467. var t1 = this._port;
  22468. if (t1 == null)
  22469. return P._Uri__defaultPort(this.scheme);
  22470. return t1;
  22471. },
  22472. get$query: function() {
  22473. var t1 = this._query;
  22474. return t1 == null ? "" : t1;
  22475. },
  22476. get$fragment: function() {
  22477. var t1 = this._fragment;
  22478. return t1 == null ? "" : t1;
  22479. },
  22480. get$pathSegments: function() {
  22481. var pathToSplit, t1, t2,
  22482. result = this._pathSegments;
  22483. if (result != null)
  22484. return result;
  22485. pathToSplit = this.path;
  22486. if (pathToSplit.length !== 0 && C.JSString_methods._codeUnitAt$1(pathToSplit, 0) === 47)
  22487. pathToSplit = C.JSString_methods.substring$1(pathToSplit, 1);
  22488. if (pathToSplit === "")
  22489. result = C.List_empty;
  22490. else {
  22491. t1 = P.String;
  22492. t2 = H.setRuntimeTypeInfo(pathToSplit.split("/"), [t1]);
  22493. result = P.List_List$unmodifiable(new H.MappedListIterable(t2, P.core_Uri_decodeComponent$closure(), [H.getTypeArgumentByIndex(t2, 0), null]), t1);
  22494. }
  22495. return this._pathSegments = result;
  22496. },
  22497. _mergePaths$2: function(base, reference) {
  22498. var backCount, refStart, baseEnd, newEnd, delta, t1;
  22499. for (backCount = 0, refStart = 0; C.JSString_methods.startsWith$2(reference, "../", refStart);) {
  22500. refStart += 3;
  22501. ++backCount;
  22502. }
  22503. baseEnd = C.JSString_methods.lastIndexOf$1(base, "/");
  22504. while (true) {
  22505. if (!(baseEnd > 0 && backCount > 0))
  22506. break;
  22507. newEnd = C.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1);
  22508. if (newEnd < 0)
  22509. break;
  22510. delta = baseEnd - newEnd;
  22511. t1 = delta !== 2;
  22512. if (!t1 || delta === 3)
  22513. if (C.JSString_methods.codeUnitAt$1(base, newEnd + 1) === 46)
  22514. t1 = !t1 || C.JSString_methods.codeUnitAt$1(base, newEnd + 2) === 46;
  22515. else
  22516. t1 = false;
  22517. else
  22518. t1 = false;
  22519. if (t1)
  22520. break;
  22521. --backCount;
  22522. baseEnd = newEnd;
  22523. }
  22524. return C.JSString_methods.replaceRange$3(base, baseEnd + 1, null, C.JSString_methods.substring$1(reference, refStart - 3 * backCount));
  22525. },
  22526. resolve$1: function(reference) {
  22527. return this.resolveUri$1(P.Uri_parse(reference));
  22528. },
  22529. resolveUri$1: function(reference) {
  22530. var targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, t1, mergedPath, t2, _this = this, _null = null;
  22531. if (reference.get$scheme().length !== 0) {
  22532. targetScheme = reference.get$scheme();
  22533. if (reference.get$hasAuthority()) {
  22534. targetUserInfo = reference.get$userInfo();
  22535. targetHost = reference.get$host();
  22536. targetPort = reference.get$hasPort() ? reference.get$port() : _null;
  22537. } else {
  22538. targetPort = _null;
  22539. targetHost = targetPort;
  22540. targetUserInfo = "";
  22541. }
  22542. targetPath = P._Uri__removeDotSegments(reference.get$path(reference));
  22543. targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
  22544. } else {
  22545. targetScheme = _this.scheme;
  22546. if (reference.get$hasAuthority()) {
  22547. targetUserInfo = reference.get$userInfo();
  22548. targetHost = reference.get$host();
  22549. targetPort = P._Uri__makePort(reference.get$hasPort() ? reference.get$port() : _null, targetScheme);
  22550. targetPath = P._Uri__removeDotSegments(reference.get$path(reference));
  22551. targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
  22552. } else {
  22553. targetUserInfo = _this._userInfo;
  22554. targetHost = _this._host;
  22555. targetPort = _this._port;
  22556. if (reference.get$path(reference) === "") {
  22557. targetPath = _this.path;
  22558. targetQuery = reference.get$hasQuery() ? reference.get$query() : _this._query;
  22559. } else {
  22560. if (reference.get$hasAbsolutePath())
  22561. targetPath = P._Uri__removeDotSegments(reference.get$path(reference));
  22562. else {
  22563. t1 = _this.path;
  22564. if (t1.length === 0)
  22565. if (targetHost == null)
  22566. targetPath = targetScheme.length === 0 ? reference.get$path(reference) : P._Uri__removeDotSegments(reference.get$path(reference));
  22567. else
  22568. targetPath = P._Uri__removeDotSegments("/" + reference.get$path(reference));
  22569. else {
  22570. mergedPath = _this._mergePaths$2(t1, reference.get$path(reference));
  22571. t2 = targetScheme.length === 0;
  22572. if (!t2 || targetHost != null || C.JSString_methods.startsWith$1(t1, "/"))
  22573. targetPath = P._Uri__removeDotSegments(mergedPath);
  22574. else
  22575. targetPath = P._Uri__normalizeRelativePath(mergedPath, !t2 || targetHost != null);
  22576. }
  22577. }
  22578. targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
  22579. }
  22580. }
  22581. }
  22582. return new P._Uri(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, reference.get$hasFragment() ? reference.get$fragment() : _null);
  22583. },
  22584. get$hasAuthority: function() {
  22585. return this._host != null;
  22586. },
  22587. get$hasPort: function() {
  22588. return this._port != null;
  22589. },
  22590. get$hasQuery: function() {
  22591. return this._query != null;
  22592. },
  22593. get$hasFragment: function() {
  22594. return this._fragment != null;
  22595. },
  22596. get$hasAbsolutePath: function() {
  22597. return C.JSString_methods.startsWith$1(this.path, "/");
  22598. },
  22599. toFilePath$0: function() {
  22600. var windows, pathSegments, _this = this,
  22601. t1 = _this.scheme;
  22602. if (t1 !== "" && t1 !== "file")
  22603. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + H.S(t1) + " URI"));
  22604. t1 = _this._query;
  22605. if ((t1 == null ? "" : t1) !== "")
  22606. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a query component"));
  22607. t1 = _this._fragment;
  22608. if ((t1 == null ? "" : t1) !== "")
  22609. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a fragment component"));
  22610. windows = $.$get$_Uri__isWindowsCached();
  22611. if (windows)
  22612. t1 = P._Uri__toWindowsFilePath(_this);
  22613. else {
  22614. if (_this._host != null && _this.get$host() !== "")
  22615. H.throwExpression(P.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority"));
  22616. pathSegments = _this.get$pathSegments();
  22617. P._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false);
  22618. t1 = P.StringBuffer__writeAll(C.JSString_methods.startsWith$1(_this.path, "/") ? "/" : "", pathSegments, "/");
  22619. t1 = t1.charCodeAt(0) == 0 ? t1 : t1;
  22620. }
  22621. return t1;
  22622. },
  22623. toString$0: function(_) {
  22624. var t2, t3, t4, _this = this,
  22625. t1 = _this._text;
  22626. if (t1 == null) {
  22627. t1 = _this.scheme;
  22628. t2 = t1.length !== 0 ? H.S(t1) + ":" : "";
  22629. t3 = _this._host;
  22630. t4 = t3 == null;
  22631. if (!t4 || t1 === "file") {
  22632. t1 = t2 + "//";
  22633. t2 = _this._userInfo;
  22634. if (t2.length !== 0)
  22635. t1 = t1 + H.S(t2) + "@";
  22636. if (!t4)
  22637. t1 += t3;
  22638. t2 = _this._port;
  22639. if (t2 != null)
  22640. t1 = t1 + ":" + H.S(t2);
  22641. } else
  22642. t1 = t2;
  22643. t1 += _this.path;
  22644. t2 = _this._query;
  22645. if (t2 != null)
  22646. t1 = t1 + "?" + t2;
  22647. t2 = _this._fragment;
  22648. if (t2 != null)
  22649. t1 = t1 + "#" + t2;
  22650. t1 = _this._text = t1.charCodeAt(0) == 0 ? t1 : t1;
  22651. }
  22652. return t1;
  22653. },
  22654. $eq: function(_, other) {
  22655. var t1, t2, _this = this;
  22656. if (other == null)
  22657. return false;
  22658. if (_this === other)
  22659. return true;
  22660. if (!!J.getInterceptor$(other).$isUri)
  22661. if (_this.scheme == other.get$scheme())
  22662. if (_this._host != null === other.get$hasAuthority())
  22663. if (_this._userInfo == other.get$userInfo())
  22664. if (_this.get$host() == other.get$host())
  22665. if (_this.get$port() == other.get$port())
  22666. if (_this.path === other.get$path(other)) {
  22667. t1 = _this._query;
  22668. t2 = t1 == null;
  22669. if (!t2 === other.get$hasQuery()) {
  22670. if (t2)
  22671. t1 = "";
  22672. if (t1 === other.get$query()) {
  22673. t1 = _this._fragment;
  22674. t2 = t1 == null;
  22675. if (!t2 === other.get$hasFragment()) {
  22676. if (t2)
  22677. t1 = "";
  22678. t1 = t1 === other.get$fragment();
  22679. } else
  22680. t1 = false;
  22681. } else
  22682. t1 = false;
  22683. } else
  22684. t1 = false;
  22685. } else
  22686. t1 = false;
  22687. else
  22688. t1 = false;
  22689. else
  22690. t1 = false;
  22691. else
  22692. t1 = false;
  22693. else
  22694. t1 = false;
  22695. else
  22696. t1 = false;
  22697. else
  22698. t1 = false;
  22699. return t1;
  22700. },
  22701. get$hashCode: function(_) {
  22702. var t1 = this._hashCodeCache;
  22703. return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this.toString$0(0)) : t1;
  22704. },
  22705. $isUri: 1,
  22706. get$scheme: function() {
  22707. return this.scheme;
  22708. },
  22709. get$path: function(receiver) {
  22710. return this.path;
  22711. }
  22712. };
  22713. P._Uri__Uri$notSimple_closure.prototype = {
  22714. call$1: function(_) {
  22715. throw H.wrapException(P.FormatException$("Invalid port", this.uri, this.portStart + 1));
  22716. }
  22717. };
  22718. P._Uri__checkNonWindowsPathReservedCharacters_closure.prototype = {
  22719. call$1: function(segment) {
  22720. var _s23_ = "Illegal path character ";
  22721. if (J.contains$1$asx(segment, "/"))
  22722. if (this.argumentError)
  22723. throw H.wrapException(P.ArgumentError$(_s23_ + segment));
  22724. else
  22725. throw H.wrapException(P.UnsupportedError$(_s23_ + segment));
  22726. }
  22727. };
  22728. P._Uri__makePath_closure.prototype = {
  22729. call$1: function(s) {
  22730. return P._Uri__uriEncode(C.List_qg40, s, C.C_Utf8Codec, false);
  22731. }
  22732. };
  22733. P.UriData.prototype = {
  22734. get$uri: function() {
  22735. var t2, queryIndex, end, query, _this = this, _null = null,
  22736. t1 = _this._uriCache;
  22737. if (t1 != null)
  22738. return t1;
  22739. t1 = _this._text;
  22740. t2 = _this._separatorIndices[0] + 1;
  22741. queryIndex = C.JSString_methods.indexOf$2(t1, "?", t2);
  22742. end = t1.length;
  22743. if (queryIndex >= 0) {
  22744. query = P._Uri__normalizeOrSubstring(t1, queryIndex + 1, end, C.List_CVk, false);
  22745. end = queryIndex;
  22746. } else
  22747. query = _null;
  22748. return _this._uriCache = new P._DataUri("data", _null, _null, _null, P._Uri__normalizeOrSubstring(t1, t2, end, C.List_qg4, false), query, _null);
  22749. },
  22750. toString$0: function(_) {
  22751. var t1 = this._text;
  22752. return this._separatorIndices[0] === -1 ? "data:" + t1 : t1;
  22753. }
  22754. };
  22755. P._createTables_closure.prototype = {
  22756. call$1: function(_) {
  22757. return new Uint8Array(96);
  22758. },
  22759. $signature: 48
  22760. };
  22761. P._createTables_build.prototype = {
  22762. call$2: function(state, defaultTransition) {
  22763. var t1 = this.tables[state];
  22764. J.fillRange$3$ax(t1, 0, 96, defaultTransition);
  22765. return t1;
  22766. },
  22767. $signature: 52
  22768. };
  22769. P._createTables_setChars.prototype = {
  22770. call$3: function(target, chars, transition) {
  22771. var t1, i;
  22772. for (t1 = chars.length, i = 0; i < t1; ++i)
  22773. target[C.JSString_methods._codeUnitAt$1(chars, i) ^ 96] = transition;
  22774. }
  22775. };
  22776. P._createTables_setRange.prototype = {
  22777. call$3: function(target, range, transition) {
  22778. var i, n;
  22779. for (i = C.JSString_methods._codeUnitAt$1(range, 0), n = C.JSString_methods._codeUnitAt$1(range, 1); i <= n; ++i)
  22780. target[(i ^ 96) >>> 0] = transition;
  22781. }
  22782. };
  22783. P._SimpleUri.prototype = {
  22784. get$hasAuthority: function() {
  22785. return this._hostStart > 0;
  22786. },
  22787. get$hasPort: function() {
  22788. return this._hostStart > 0 && this._portStart + 1 < this._pathStart;
  22789. },
  22790. get$hasQuery: function() {
  22791. return this._queryStart < this._fragmentStart;
  22792. },
  22793. get$hasFragment: function() {
  22794. return this._fragmentStart < this._uri.length;
  22795. },
  22796. get$_isFile: function() {
  22797. return this._schemeEnd === 4 && C.JSString_methods.startsWith$1(this._uri, "file");
  22798. },
  22799. get$_isHttp: function() {
  22800. return this._schemeEnd === 4 && C.JSString_methods.startsWith$1(this._uri, "http");
  22801. },
  22802. get$_isHttps: function() {
  22803. return this._schemeEnd === 5 && C.JSString_methods.startsWith$1(this._uri, "https");
  22804. },
  22805. get$hasAbsolutePath: function() {
  22806. return C.JSString_methods.startsWith$2(this._uri, "/", this._pathStart);
  22807. },
  22808. get$scheme: function() {
  22809. var t2, _this = this,
  22810. _s7_ = "package",
  22811. t1 = _this._schemeEnd;
  22812. if (t1 <= 0)
  22813. return "";
  22814. t2 = _this._schemeCache;
  22815. if (t2 != null)
  22816. return t2;
  22817. if (_this.get$_isHttp())
  22818. t1 = _this._schemeCache = "http";
  22819. else if (_this.get$_isHttps()) {
  22820. _this._schemeCache = "https";
  22821. t1 = "https";
  22822. } else if (_this.get$_isFile()) {
  22823. _this._schemeCache = "file";
  22824. t1 = "file";
  22825. } else if (t1 === 7 && C.JSString_methods.startsWith$1(_this._uri, _s7_)) {
  22826. _this._schemeCache = _s7_;
  22827. t1 = _s7_;
  22828. } else {
  22829. t1 = C.JSString_methods.substring$2(_this._uri, 0, t1);
  22830. _this._schemeCache = t1;
  22831. }
  22832. return t1;
  22833. },
  22834. get$userInfo: function() {
  22835. var t1 = this._hostStart,
  22836. t2 = this._schemeEnd + 3;
  22837. return t1 > t2 ? C.JSString_methods.substring$2(this._uri, t2, t1 - 1) : "";
  22838. },
  22839. get$host: function() {
  22840. var t1 = this._hostStart;
  22841. return t1 > 0 ? C.JSString_methods.substring$2(this._uri, t1, this._portStart) : "";
  22842. },
  22843. get$port: function() {
  22844. var _this = this;
  22845. if (_this.get$hasPort())
  22846. return P.int_parse(C.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null, null);
  22847. if (_this.get$_isHttp())
  22848. return 80;
  22849. if (_this.get$_isHttps())
  22850. return 443;
  22851. return 0;
  22852. },
  22853. get$path: function(_) {
  22854. return C.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart);
  22855. },
  22856. get$query: function() {
  22857. var t1 = this._queryStart,
  22858. t2 = this._fragmentStart;
  22859. return t1 < t2 ? C.JSString_methods.substring$2(this._uri, t1 + 1, t2) : "";
  22860. },
  22861. get$fragment: function() {
  22862. var t1 = this._fragmentStart,
  22863. t2 = this._uri;
  22864. return t1 < t2.length ? C.JSString_methods.substring$1(t2, t1 + 1) : "";
  22865. },
  22866. get$pathSegments: function() {
  22867. var t2, parts, i,
  22868. start = this._pathStart,
  22869. end = this._queryStart,
  22870. t1 = this._uri;
  22871. if (C.JSString_methods.startsWith$2(t1, "/", start))
  22872. ++start;
  22873. if (start == end)
  22874. return C.List_empty;
  22875. t2 = P.String;
  22876. parts = H.setRuntimeTypeInfo([], [t2]);
  22877. for (i = start; i < end; ++i)
  22878. if (C.JSString_methods.codeUnitAt$1(t1, i) === 47) {
  22879. parts.push(C.JSString_methods.substring$2(t1, start, i));
  22880. start = i + 1;
  22881. }
  22882. parts.push(C.JSString_methods.substring$2(t1, start, end));
  22883. return P.List_List$unmodifiable(parts, t2);
  22884. },
  22885. _isPort$1: function(port) {
  22886. var portDigitStart = this._portStart + 1;
  22887. return portDigitStart + port.length === this._pathStart && C.JSString_methods.startsWith$2(this._uri, port, portDigitStart);
  22888. },
  22889. removeFragment$0: function() {
  22890. var _this = this,
  22891. t1 = _this._fragmentStart,
  22892. t2 = _this._uri;
  22893. if (t1 >= t2.length)
  22894. return _this;
  22895. return new P._SimpleUri(C.JSString_methods.substring$2(t2, 0, t1), _this._schemeEnd, _this._hostStart, _this._portStart, _this._pathStart, _this._queryStart, t1, _this._schemeCache);
  22896. },
  22897. resolve$1: function(reference) {
  22898. return this.resolveUri$1(P.Uri_parse(reference));
  22899. },
  22900. resolveUri$1: function(reference) {
  22901. if (reference instanceof P._SimpleUri)
  22902. return this._simpleMerge$2(this, reference);
  22903. return this._toNonSimple$0().resolveUri$1(reference);
  22904. },
  22905. _simpleMerge$2: function(base, ref) {
  22906. var t2, t3, isSimple, delta, refStart, baseStart, baseEnd, baseUri, baseStart0, backCount, refStart0, insert,
  22907. t1 = ref._schemeEnd;
  22908. if (t1 > 0)
  22909. return ref;
  22910. t2 = ref._hostStart;
  22911. if (t2 > 0) {
  22912. t3 = base._schemeEnd;
  22913. if (t3 <= 0)
  22914. return ref;
  22915. if (base.get$_isFile())
  22916. isSimple = ref._pathStart != ref._queryStart;
  22917. else if (base.get$_isHttp())
  22918. isSimple = !ref._isPort$1("80");
  22919. else
  22920. isSimple = !base.get$_isHttps() || !ref._isPort$1("443");
  22921. if (isSimple) {
  22922. delta = t3 + 1;
  22923. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, delta) + C.JSString_methods.substring$1(ref._uri, t1 + 1), t3, t2 + delta, ref._portStart + delta, ref._pathStart + delta, ref._queryStart + delta, ref._fragmentStart + delta, base._schemeCache);
  22924. } else
  22925. return this._toNonSimple$0().resolveUri$1(ref);
  22926. }
  22927. refStart = ref._pathStart;
  22928. t1 = ref._queryStart;
  22929. if (refStart == t1) {
  22930. t2 = ref._fragmentStart;
  22931. if (t1 < t2) {
  22932. t3 = base._queryStart;
  22933. delta = t3 - t1;
  22934. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(ref._uri, t1), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, t1 + delta, t2 + delta, base._schemeCache);
  22935. }
  22936. t1 = ref._uri;
  22937. if (t2 < t1.length) {
  22938. t3 = base._fragmentStart;
  22939. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(t1, t2), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, base._queryStart, t2 + (t3 - t2), base._schemeCache);
  22940. }
  22941. return base.removeFragment$0();
  22942. }
  22943. t2 = ref._uri;
  22944. if (C.JSString_methods.startsWith$2(t2, "/", refStart)) {
  22945. t3 = base._pathStart;
  22946. delta = t3 - refStart;
  22947. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, t3, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
  22948. }
  22949. baseStart = base._pathStart;
  22950. baseEnd = base._queryStart;
  22951. if (baseStart == baseEnd && base._hostStart > 0) {
  22952. for (; C.JSString_methods.startsWith$2(t2, "../", refStart);)
  22953. refStart += 3;
  22954. delta = baseStart - refStart + 1;
  22955. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, baseStart) + "/" + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
  22956. }
  22957. baseUri = base._uri;
  22958. for (baseStart0 = baseStart; C.JSString_methods.startsWith$2(baseUri, "../", baseStart0);)
  22959. baseStart0 += 3;
  22960. backCount = 0;
  22961. while (true) {
  22962. refStart0 = refStart + 3;
  22963. if (!(refStart0 <= t1 && C.JSString_methods.startsWith$2(t2, "../", refStart)))
  22964. break;
  22965. ++backCount;
  22966. refStart = refStart0;
  22967. }
  22968. for (insert = ""; baseEnd > baseStart0;) {
  22969. --baseEnd;
  22970. if (C.JSString_methods.codeUnitAt$1(baseUri, baseEnd) === 47) {
  22971. if (backCount === 0) {
  22972. insert = "/";
  22973. break;
  22974. }
  22975. --backCount;
  22976. insert = "/";
  22977. }
  22978. }
  22979. if (baseEnd === baseStart0 && base._schemeEnd <= 0 && !C.JSString_methods.startsWith$2(baseUri, "/", baseStart)) {
  22980. refStart -= backCount * 3;
  22981. insert = "";
  22982. }
  22983. delta = baseEnd - refStart + insert.length;
  22984. return new P._SimpleUri(C.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
  22985. },
  22986. toFilePath$0: function() {
  22987. var t1, t2, windows, _this = this;
  22988. if (_this._schemeEnd >= 0 && !_this.get$_isFile())
  22989. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + H.S(_this.get$scheme()) + " URI"));
  22990. t1 = _this._queryStart;
  22991. t2 = _this._uri;
  22992. if (t1 < t2.length) {
  22993. if (t1 < _this._fragmentStart)
  22994. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a query component"));
  22995. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a fragment component"));
  22996. }
  22997. windows = $.$get$_Uri__isWindowsCached();
  22998. if (windows)
  22999. t1 = P._Uri__toWindowsFilePath(_this);
  23000. else {
  23001. if (_this._hostStart < _this._portStart)
  23002. H.throwExpression(P.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority"));
  23003. t1 = C.JSString_methods.substring$2(t2, _this._pathStart, t1);
  23004. }
  23005. return t1;
  23006. },
  23007. get$hashCode: function(_) {
  23008. var t1 = this._hashCodeCache;
  23009. return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this._uri) : t1;
  23010. },
  23011. $eq: function(_, other) {
  23012. if (other == null)
  23013. return false;
  23014. if (this === other)
  23015. return true;
  23016. return !!J.getInterceptor$(other).$isUri && this._uri === other.toString$0(0);
  23017. },
  23018. _toNonSimple$0: function() {
  23019. var _this = this, _null = null,
  23020. t1 = _this.get$scheme(),
  23021. t2 = _this.get$userInfo(),
  23022. t3 = _this._hostStart > 0 ? _this.get$host() : _null,
  23023. t4 = _this.get$hasPort() ? _this.get$port() : _null,
  23024. t5 = _this._uri,
  23025. t6 = _this._queryStart,
  23026. t7 = C.JSString_methods.substring$2(t5, _this._pathStart, t6),
  23027. t8 = _this._fragmentStart;
  23028. t6 = t6 < t8 ? _this.get$query() : _null;
  23029. return new P._Uri(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null);
  23030. },
  23031. toString$0: function(_) {
  23032. return this._uri;
  23033. },
  23034. $isUri: 1
  23035. };
  23036. P._DataUri.prototype = {};
  23037. P._JSRandom.prototype = {
  23038. nextInt$1: function(max) {
  23039. if (max <= 0 || max > 4294967296)
  23040. throw H.wrapException(P.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
  23041. return Math.random() * max >>> 0;
  23042. },
  23043. nextDouble$0: function() {
  23044. return Math.random();
  23045. }
  23046. };
  23047. P.Uint8List.prototype = {$isEfficientLengthIterable: 1,
  23048. $asEfficientLengthIterable: function() {
  23049. return [P.int];
  23050. },
  23051. $isIterable: 1,
  23052. $asIterable: function() {
  23053. return [P.int];
  23054. },
  23055. $isList: 1,
  23056. $asList: function() {
  23057. return [P.int];
  23058. }
  23059. };
  23060. N.ArgParser.prototype = {
  23061. addFlag$6$abbr$defaultsTo$help$hide$negatable: function($name, abbr, defaultsTo, help, hide, negatable) {
  23062. var _null = null;
  23063. this._addOption$11$hide$negatable($name, abbr, help, _null, _null, _null, defaultsTo, _null, C.OptionType_nMZ, hide, negatable);
  23064. },
  23065. addFlag$2$hide: function($name, hide) {
  23066. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, null, hide, true);
  23067. },
  23068. addFlag$2$help: function($name, help) {
  23069. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, true);
  23070. },
  23071. addFlag$3$defaultsTo$help: function($name, defaultsTo, help) {
  23072. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, defaultsTo, help, false, true);
  23073. },
  23074. addFlag$3$help$negatable: function($name, help, negatable) {
  23075. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, negatable);
  23076. },
  23077. addFlag$4$abbr$help$negatable: function($name, abbr, help, negatable) {
  23078. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, negatable);
  23079. },
  23080. addFlag$3$abbr$help: function($name, abbr, help) {
  23081. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, true);
  23082. },
  23083. addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp: function($name, abbr, allowed, defaultsTo, help, hide, valueHelp) {
  23084. this._addOption$11$hide$splitCommas($name, abbr, help, valueHelp, allowed, null, defaultsTo, null, C.OptionType_YwU, hide, null);
  23085. },
  23086. addOption$2$hide: function($name, hide) {
  23087. return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, null, null, null, null, hide, null);
  23088. },
  23089. addOption$6$abbr$allowed$defaultsTo$help$valueHelp: function($name, abbr, allowed, defaultsTo, help, valueHelp) {
  23090. return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, abbr, allowed, defaultsTo, help, false, valueHelp);
  23091. },
  23092. addOption$4$allowed$defaultsTo$help: function($name, allowed, defaultsTo, help) {
  23093. return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, null, allowed, defaultsTo, help, false, null);
  23094. },
  23095. addMultiOption$5$abbr$help$splitCommas$valueHelp: function($name, abbr, help, splitCommas, valueHelp) {
  23096. var t1 = H.setRuntimeTypeInfo([], [P.String]);
  23097. this._addOption$11$hide$splitCommas($name, abbr, help, valueHelp, null, null, t1, null, C.OptionType_qyr, false, false);
  23098. },
  23099. _addOption$12$hide$negatable$splitCommas: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable, splitCommas) {
  23100. var t2, existing, t3, option,
  23101. t1 = this._arg_parser$_options;
  23102. if (t1.containsKey$1($name))
  23103. throw H.wrapException(P.ArgumentError$('Duplicate option "' + $name + '".'));
  23104. t2 = abbr != null;
  23105. if (t2) {
  23106. existing = this.findByAbbreviation$1(abbr);
  23107. if (existing != null)
  23108. throw H.wrapException(P.ArgumentError$('Abbreviation "' + abbr + '" is already used by "' + existing.name + '".'));
  23109. }
  23110. t3 = allowed == null ? null : P.List_List$unmodifiable(allowed, P.String);
  23111. option = new G.Option($name, abbr, help, valueHelp, t3, null, defaultsTo, negatable, callback, type, splitCommas == null ? type === C.OptionType_qyr : splitCommas, hide);
  23112. if ($name.length === 0)
  23113. H.throwExpression(P.ArgumentError$("Name cannot be empty."));
  23114. else if (C.JSString_methods.startsWith$1($name, "-"))
  23115. H.throwExpression(P.ArgumentError$("Name " + $name + ' cannot start with "-".'));
  23116. t3 = $.$get$Option__invalidChars()._nativeRegExp;
  23117. if (t3.test($name))
  23118. H.throwExpression(P.ArgumentError$('Name "' + $name + '" contains invalid characters.'));
  23119. if (t2) {
  23120. if (abbr.length !== 1)
  23121. H.throwExpression(P.ArgumentError$("Abbreviation must be null or have length 1."));
  23122. else if (abbr === "-")
  23123. H.throwExpression(P.ArgumentError$('Abbreviation cannot be "-".'));
  23124. if (t3.test(abbr))
  23125. H.throwExpression(P.ArgumentError$("Abbreviation is an invalid character."));
  23126. }
  23127. t1.$indexSet(0, $name, option);
  23128. this._optionsAndSeparators.push(option);
  23129. },
  23130. _addOption$11$hide$splitCommas: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, splitCommas) {
  23131. return this._addOption$12$hide$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, false, splitCommas);
  23132. },
  23133. _addOption$11$hide$negatable: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable) {
  23134. return this._addOption$12$hide$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable, null);
  23135. },
  23136. findByAbbreviation$1: function(abbr) {
  23137. return this.options._collection$_map.get$values().firstWhere$2$orElse(0, new N.ArgParser_findByAbbreviation_closure(abbr), new N.ArgParser_findByAbbreviation_closure0());
  23138. }
  23139. };
  23140. N.ArgParser_findByAbbreviation_closure.prototype = {
  23141. call$1: function(option) {
  23142. return option.abbr == this.abbr;
  23143. }
  23144. };
  23145. N.ArgParser_findByAbbreviation_closure0.prototype = {
  23146. call$0: function() {
  23147. return;
  23148. }
  23149. };
  23150. Z.ArgParserException.prototype = {};
  23151. V.ArgResults.prototype = {
  23152. $index: function(_, $name) {
  23153. var t1 = this._parser.options._collection$_map;
  23154. if (!t1.containsKey$1($name))
  23155. throw H.wrapException(P.ArgumentError$('Could not find an option named "' + $name + '".'));
  23156. return t1.$index(0, $name).getOrDefault$1(this._parsed.$index(0, $name));
  23157. },
  23158. wasParsed$1: function($name) {
  23159. if (this._parser.options._collection$_map.$index(0, $name) == null)
  23160. throw H.wrapException(P.ArgumentError$('Could not find an option named "' + H.S($name) + '".'));
  23161. return this._parsed.containsKey$1($name);
  23162. }
  23163. };
  23164. G.Option.prototype = {
  23165. getOrDefault$1: function(value) {
  23166. var t1;
  23167. if (value != null)
  23168. return value;
  23169. if (this.type === C.OptionType_qyr) {
  23170. t1 = this.defaultsTo;
  23171. return t1 == null ? H.setRuntimeTypeInfo([], [P.String]) : t1;
  23172. }
  23173. return this.defaultsTo;
  23174. }
  23175. };
  23176. G.OptionType.prototype = {};
  23177. G.Parser0.prototype = {
  23178. parse$0: function() {
  23179. var commandName, commandParser, error, t3, t4, t5, t6, t7, command, exception, _this = this,
  23180. t1 = _this.args,
  23181. t2 = H.setRuntimeTypeInfo(t1.slice(0), [H.getTypeArgumentByIndex(t1, 0)]),
  23182. commandResults = null;
  23183. for (t3 = _this.rest, t4 = _this.grammar, t5 = !t4.allowTrailingOptions, t6 = t4.commands._collection$_map; t1.length !== 0;) {
  23184. t7 = t1[0];
  23185. if (t7 === "--") {
  23186. C.JSArray_methods.removeAt$1(t1, 0);
  23187. break;
  23188. }
  23189. command = t6.$index(0, t7);
  23190. if (command != null) {
  23191. if (t3.length !== 0)
  23192. H.throwExpression(Z.ArgParserException$("Cannot specify arguments before a command.", null));
  23193. commandName = C.JSArray_methods.removeAt$1(t1, 0);
  23194. t5 = P.String;
  23195. t6 = [t5];
  23196. t7 = H.setRuntimeTypeInfo([], t6);
  23197. C.JSArray_methods.addAll$1(t7, t3);
  23198. commandParser = new G.Parser0(commandName, _this, command, t1, t7, P.LinkedHashMap_LinkedHashMap$_empty(t5, null));
  23199. try {
  23200. commandResults = commandParser.parse$0();
  23201. } catch (exception) {
  23202. t1 = H.unwrapException(exception);
  23203. if (t1 instanceof Z.ArgParserException) {
  23204. error = t1;
  23205. if (commandName == null)
  23206. throw exception;
  23207. t1 = error.message;
  23208. t6 = H.setRuntimeTypeInfo([commandName], t6);
  23209. C.JSArray_methods.addAll$1(t6, error.commands);
  23210. throw H.wrapException(Z.ArgParserException$(t1, t6));
  23211. } else
  23212. throw exception;
  23213. }
  23214. C.JSArray_methods.set$length(t3, 0);
  23215. break;
  23216. }
  23217. if (_this.parseSoloOption$0())
  23218. continue;
  23219. if (_this.parseAbbreviation$1(_this))
  23220. continue;
  23221. if (_this.parseLongOption$0())
  23222. continue;
  23223. if (t5)
  23224. break;
  23225. t3.push(C.JSArray_methods.removeAt$1(t1, 0));
  23226. }
  23227. t4.options._collection$_map.forEach$1(0, new G.Parser_parse_closure(_this));
  23228. C.JSArray_methods.addAll$1(t3, t1);
  23229. C.JSArray_methods.set$length(t1, 0);
  23230. return V.ArgResults$_(t4, _this.results, _this.commandName, commandResults, t3, t2);
  23231. },
  23232. readNextArgAsValue$1: function(option) {
  23233. var t1 = this.args,
  23234. t2 = t1.length,
  23235. t3 = 'Missing argument for "' + option.name + '".';
  23236. if (t2 === 0)
  23237. H.throwExpression(Z.ArgParserException$(t3, null));
  23238. this.setOption$3(this.results, option, t1[0]);
  23239. C.JSArray_methods.removeAt$1(t1, 0);
  23240. },
  23241. parseSoloOption$0: function() {
  23242. var t2, option, _this = this,
  23243. t1 = _this.args,
  23244. soloOpt = $.$get$_soloOpt().firstMatch$1(t1[0]);
  23245. if (soloOpt == null)
  23246. return false;
  23247. t2 = soloOpt._match;
  23248. option = _this.grammar.findByAbbreviation$1(t2[1]);
  23249. if (option == null) {
  23250. t1 = _this.parent;
  23251. t2 = 'Could not find an option or flag "-' + H.S(t2[1]) + '".';
  23252. if (t1 == null)
  23253. H.throwExpression(Z.ArgParserException$(t2, null));
  23254. return t1.parseSoloOption$0();
  23255. }
  23256. C.JSArray_methods.removeAt$1(t1, 0);
  23257. if (option.type === C.OptionType_nMZ)
  23258. _this.results.$indexSet(0, option.name, true);
  23259. else
  23260. _this.readNextArgAsValue$1(option);
  23261. return true;
  23262. },
  23263. parseAbbreviation$1: function(innermostCommand) {
  23264. var t2, c, first, t3, t4, i, i0, _this = this,
  23265. t1 = _this.args,
  23266. abbrOpt = $.$get$_abbrOpt().firstMatch$1(t1[0]);
  23267. if (abbrOpt == null)
  23268. return false;
  23269. t2 = abbrOpt._match;
  23270. c = J.substring$2$s(t2[1], 0, 1);
  23271. first = _this.grammar.findByAbbreviation$1(c);
  23272. if (first == null) {
  23273. t1 = _this.parent;
  23274. t2 = 'Could not find an option with short name "-' + c + '".';
  23275. if (t1 == null)
  23276. H.throwExpression(Z.ArgParserException$(t2, null));
  23277. return t1.parseAbbreviation$1(innermostCommand);
  23278. } else if (first.type !== C.OptionType_nMZ)
  23279. _this.setOption$3(_this.results, first, J.substring$1$s(t2[1], 1) + H.S(t2[2]));
  23280. else {
  23281. t3 = t2[2];
  23282. t4 = 'Option "-' + c + '" is a flag and cannot handle value "' + J.substring$1$s(t2[1], 1) + H.S(t3) + '".';
  23283. if (t3 !== "")
  23284. H.throwExpression(Z.ArgParserException$(t4, null));
  23285. for (i = 0; t3 = t2[1], i < t3.length; i = i0) {
  23286. i0 = i + 1;
  23287. innermostCommand.parseShortFlag$1(J.substring$2$s(t3, i, i0));
  23288. }
  23289. }
  23290. C.JSArray_methods.removeAt$1(t1, 0);
  23291. return true;
  23292. },
  23293. parseShortFlag$1: function(c) {
  23294. var t1, t2,
  23295. option = this.grammar.findByAbbreviation$1(c);
  23296. if (option == null) {
  23297. t1 = this.parent;
  23298. t2 = 'Could not find an option with short name "-' + c + '".';
  23299. if (t1 == null)
  23300. H.throwExpression(Z.ArgParserException$(t2, null));
  23301. t1.parseShortFlag$1(c);
  23302. return;
  23303. }
  23304. t1 = option.type;
  23305. t2 = 'Option "-' + c + '" must be a flag to be in a collapsed "-".';
  23306. if (t1 !== C.OptionType_nMZ)
  23307. H.throwExpression(Z.ArgParserException$(t2, null));
  23308. this.results.$indexSet(0, option.name, true);
  23309. },
  23310. parseLongOption$0: function() {
  23311. var t2, $name, t3, option, _this = this, _null = null,
  23312. _s32_ = 'Could not find an option named "',
  23313. t1 = _this.args,
  23314. longOpt = $.$get$_longOpt().firstMatch$1(t1[0]);
  23315. if (longOpt == null)
  23316. return false;
  23317. t2 = longOpt._match;
  23318. $name = t2[1];
  23319. t3 = _this.grammar.options._collection$_map;
  23320. option = t3.$index(0, $name);
  23321. if (option != null) {
  23322. C.JSArray_methods.removeAt$1(t1, 0);
  23323. if (option.type === C.OptionType_nMZ) {
  23324. t1 = t2[3];
  23325. t2 = 'Flag option "' + H.S($name) + '" should not be given a value.';
  23326. if (t1 != null)
  23327. H.throwExpression(Z.ArgParserException$(t2, _null));
  23328. _this.results.$indexSet(0, option.name, true);
  23329. } else {
  23330. t1 = t2[3];
  23331. if (t1 != null)
  23332. _this.setOption$3(_this.results, option, t1);
  23333. else
  23334. _this.readNextArgAsValue$1(option);
  23335. }
  23336. } else if (J.getInterceptor$s($name).startsWith$1($name, "no-")) {
  23337. $name = C.JSString_methods.substring$1($name, 3);
  23338. option = t3.$index(0, $name);
  23339. if (option == null) {
  23340. t1 = _this.parent;
  23341. t2 = _s32_ + $name + '".';
  23342. if (t1 == null)
  23343. H.throwExpression(Z.ArgParserException$(t2, _null));
  23344. return t1.parseLongOption$0();
  23345. }
  23346. C.JSArray_methods.removeAt$1(t1, 0);
  23347. t1 = option.type;
  23348. t2 = 'Cannot negate non-flag option "' + $name + '".';
  23349. if (t1 !== C.OptionType_nMZ)
  23350. H.throwExpression(Z.ArgParserException$(t2, _null));
  23351. t1 = option.negatable;
  23352. t2 = 'Cannot negate option "' + $name + '".';
  23353. if (!t1)
  23354. H.throwExpression(Z.ArgParserException$(t2, _null));
  23355. _this.results.$indexSet(0, option.name, false);
  23356. } else {
  23357. t1 = _this.parent;
  23358. t2 = _s32_ + $name + '".';
  23359. if (t1 == null)
  23360. H.throwExpression(Z.ArgParserException$(t2, _null));
  23361. return t1.parseLongOption$0();
  23362. }
  23363. return true;
  23364. },
  23365. setOption$3: function(results, option, value) {
  23366. var list, t1, t2, t3, _i, element;
  23367. if (option.type !== C.OptionType_qyr) {
  23368. this._validateAllowed$2(option, value);
  23369. results.$indexSet(0, option.name, value);
  23370. return;
  23371. }
  23372. list = results.putIfAbsent$2(option.name, new G.Parser_setOption_closure());
  23373. if (option.splitCommas)
  23374. for (t1 = value.split(","), t2 = t1.length, t3 = J.getInterceptor$ax(list), _i = 0; _i < t2; ++_i) {
  23375. element = t1[_i];
  23376. this._validateAllowed$2(option, element);
  23377. t3.add$1(list, element);
  23378. }
  23379. else {
  23380. this._validateAllowed$2(option, value);
  23381. J.add$1$ax(list, value);
  23382. }
  23383. },
  23384. _validateAllowed$2: function(option, value) {
  23385. var t2,
  23386. t1 = option.allowed;
  23387. if (t1 == null)
  23388. return;
  23389. t1 = C.JSArray_methods.contains$1(t1, value);
  23390. t2 = '"' + H.S(value) + '" is not an allowed value for option "' + option.name + '".';
  23391. if (!t1)
  23392. H.throwExpression(Z.ArgParserException$(t2, null));
  23393. }
  23394. };
  23395. G.Parser_parse_closure.prototype = {
  23396. call$2: function($name, option) {
  23397. var t1 = option.callback;
  23398. if (t1 == null)
  23399. return;
  23400. t1.call$1(option.getOrDefault$1(this.$this.results.$index(0, $name)));
  23401. }
  23402. };
  23403. G.Parser_setOption_closure.prototype = {
  23404. call$0: function() {
  23405. return H.setRuntimeTypeInfo([], [P.String]);
  23406. }
  23407. };
  23408. G.Usage.prototype = {
  23409. generate$0: function() {
  23410. var t1, t2, _i, optionOrSeparator, t3, t4, allowedNames, t5, t6, _i0, $name, isDefault, t7, _this = this;
  23411. _this.buffer = new P.StringBuffer("");
  23412. _this.calculateColumnWidths$0();
  23413. for (t1 = _this.optionsAndSeparators, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  23414. optionOrSeparator = t1[_i];
  23415. if (typeof optionOrSeparator === "string") {
  23416. t3 = _this.buffer;
  23417. t4 = t3._contents;
  23418. t3._contents = (t4.length !== 0 ? t3._contents = t4 + "\n\n" : t4) + optionOrSeparator;
  23419. _this.newlinesNeeded = 1;
  23420. continue;
  23421. }
  23422. H.interceptedTypeCast(optionOrSeparator, "$isOption");
  23423. if (optionOrSeparator.hide)
  23424. continue;
  23425. t3 = optionOrSeparator.abbr;
  23426. _this.write$2(0, 0, t3 == null ? "" : "-" + t3 + ", ");
  23427. _this.write$2(0, 1, _this.getLongOption$1(optionOrSeparator));
  23428. t3 = optionOrSeparator.help;
  23429. if (t3 != null)
  23430. _this.write$2(0, 2, t3);
  23431. t3 = optionOrSeparator.allowedHelp;
  23432. if (t3 != null) {
  23433. t4 = t3.get$keys();
  23434. allowedNames = P.List_List$from(t4, false, H.getRuntimeTypeArgument(t4, "Iterable", 0));
  23435. if (!!allowedNames.immutable$list)
  23436. H.throwExpression(P.UnsupportedError$("sort"));
  23437. t4 = allowedNames.length - 1;
  23438. if (t4 - 0 <= 32)
  23439. H.Sort__insertionSort(allowedNames, 0, t4, J._interceptors_JSArray__compareAny$closure());
  23440. else
  23441. H.Sort__dualPivotQuicksort(allowedNames, 0, t4, J._interceptors_JSArray__compareAny$closure());
  23442. ++_this.newlinesNeeded;
  23443. _this.numHelpLines = _this.currentColumn = 0;
  23444. for (t4 = allowedNames.length, t5 = optionOrSeparator.defaultsTo, t6 = !!J.getInterceptor$(t5).$isList, _i0 = 0; _i0 < allowedNames.length; allowedNames.length === t4 || (0, H.throwConcurrentModificationError)(allowedNames), ++_i0) {
  23445. $name = allowedNames[_i0];
  23446. isDefault = t6 ? C.JSArray_methods.contains$1(t5, $name) : t5 == null ? $name == null : t5 === $name;
  23447. t7 = " [" + H.S($name) + "]";
  23448. _this.write$2(0, 1, t7 + (isDefault ? " (default)" : ""));
  23449. _this.write$2(0, 2, t3.$index(0, $name));
  23450. }
  23451. ++_this.newlinesNeeded;
  23452. _this.numHelpLines = _this.currentColumn = 0;
  23453. } else if (optionOrSeparator.allowed != null)
  23454. _this.write$2(0, 2, _this.buildAllowedList$1(optionOrSeparator));
  23455. else {
  23456. t3 = optionOrSeparator.type;
  23457. if (t3 === C.OptionType_nMZ) {
  23458. if (optionOrSeparator.defaultsTo === true)
  23459. _this.write$2(0, 2, "(defaults to on)");
  23460. } else if (t3 === C.OptionType_qyr) {
  23461. t3 = optionOrSeparator.defaultsTo;
  23462. if (t3 != null && J.get$isNotEmpty$asx(t3))
  23463. _this.write$2(0, 2, "(defaults to " + J.map$1$ax(t3, new G.Usage_generate_closure()).join$1(0, ", ") + ")");
  23464. } else {
  23465. t3 = optionOrSeparator.defaultsTo;
  23466. if (t3 != null)
  23467. _this.write$2(0, 2, '(defaults to "' + H.S(t3) + '")');
  23468. }
  23469. }
  23470. if (_this.numHelpLines > 1) {
  23471. ++_this.newlinesNeeded;
  23472. _this.numHelpLines = _this.currentColumn = 0;
  23473. }
  23474. }
  23475. return J.toString$0$(_this.buffer);
  23476. },
  23477. getLongOption$1: function(option) {
  23478. var t1 = option.name,
  23479. result = option.negatable ? "--[no-]" + t1 : "--" + t1;
  23480. t1 = option.valueHelp;
  23481. return t1 != null ? result + ("=<" + t1 + ">") : result;
  23482. },
  23483. calculateColumnWidths$0: function() {
  23484. var t1, t2, abbr, title, _i, option, t3, t4, t5, allowed, isDefault, t6;
  23485. for (t1 = this.optionsAndSeparators, t2 = t1.length, abbr = 0, title = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  23486. option = t1[_i];
  23487. if (!(option instanceof G.Option))
  23488. continue;
  23489. if (option.hide)
  23490. continue;
  23491. t3 = option.abbr;
  23492. abbr = Math.max(abbr, (t3 == null ? "" : "-" + t3 + ", ").length);
  23493. title = Math.max(title, this.getLongOption$1(option).length);
  23494. t3 = option.allowedHelp;
  23495. if (t3 != null)
  23496. for (t3 = t3.get$keys(), t3 = t3.get$iterator(t3), t4 = option.defaultsTo, t5 = !!J.getInterceptor$(t4).$isList; t3.moveNext$0();) {
  23497. allowed = t3.get$current(t3);
  23498. isDefault = t5 ? C.JSArray_methods.contains$1(t4, allowed) : t4 == null ? allowed == null : t4 === allowed;
  23499. t6 = " [" + H.S(allowed) + "]";
  23500. title = Math.max(title, (t6 + (isDefault ? " (default)" : "")).length);
  23501. }
  23502. }
  23503. this.columnWidths = H.setRuntimeTypeInfo([abbr, title + 4], [P.int]);
  23504. },
  23505. write$2: function(_, column, text) {
  23506. var t1, _i,
  23507. lines = H.setRuntimeTypeInfo(text.split("\n"), [P.String]);
  23508. this.columnWidths.length;
  23509. while (true) {
  23510. if (!(lines.length !== 0 && J.trim$0$s(lines[0]) === ""))
  23511. break;
  23512. if (!!lines.fixed$length)
  23513. H.throwExpression(P.UnsupportedError$("removeRange"));
  23514. P.RangeError_checkValidRange(0, 1, lines.length);
  23515. lines.splice(0, 1);
  23516. }
  23517. while (true) {
  23518. t1 = lines.length;
  23519. if (!(t1 !== 0 && J.trim$0$s(lines[t1 - 1]) === ""))
  23520. break;
  23521. lines.pop();
  23522. }
  23523. for (t1 = lines.length, _i = 0; _i < lines.length; lines.length === t1 || (0, H.throwConcurrentModificationError)(lines), ++_i)
  23524. this.writeLine$2(column, lines[_i]);
  23525. },
  23526. writeLine$2: function(column, text) {
  23527. var t1, t2, _this = this;
  23528. for (; t1 = _this.newlinesNeeded, t1 > 0;) {
  23529. _this.buffer._contents += "\n";
  23530. _this.newlinesNeeded = t1 - 1;
  23531. }
  23532. for (; t1 = _this.currentColumn, t1 !== column;) {
  23533. t2 = _this.buffer;
  23534. if (t1 < 2)
  23535. t2._contents += C.JSString_methods.$mul(" ", _this.columnWidths[t1]);
  23536. else
  23537. t2._contents += "\n";
  23538. _this.currentColumn = (_this.currentColumn + 1) % 3;
  23539. }
  23540. t1 = _this.columnWidths;
  23541. t1.length;
  23542. t2 = _this.buffer;
  23543. if (column < 2)
  23544. t2._contents += J.padRight$1$s(text, t1[column]);
  23545. else {
  23546. t2.toString;
  23547. t2._contents += H.S(text);
  23548. }
  23549. _this.currentColumn = (_this.currentColumn + 1) % 3;
  23550. t1 = column === 2;
  23551. if (t1)
  23552. ++_this.newlinesNeeded;
  23553. if (t1)
  23554. ++_this.numHelpLines;
  23555. else
  23556. _this.numHelpLines = 0;
  23557. },
  23558. buildAllowedList$1: function(option) {
  23559. var t2, first, _i, t3, allowed,
  23560. t1 = option.defaultsTo,
  23561. isDefault = !!J.getInterceptor$(t1).$isList ? C.JSArray_methods.get$contains(t1) : new G.Usage_buildAllowedList_closure(option);
  23562. for (t1 = option.allowed, t2 = t1.length, first = true, _i = 0, t3 = "["; _i < t2; ++_i, first = false) {
  23563. allowed = t1[_i];
  23564. if (!first)
  23565. t3 += ", ";
  23566. t3 += H.S(allowed);
  23567. if (isDefault.call$1(allowed))
  23568. t3 += " (default)";
  23569. }
  23570. t1 = t3 + "]";
  23571. return t1.charCodeAt(0) == 0 ? t1 : t1;
  23572. }
  23573. };
  23574. G.Usage_generate_closure.prototype = {
  23575. call$1: function(value) {
  23576. return '"' + H.S(value) + '"';
  23577. },
  23578. $signature: 55
  23579. };
  23580. G.Usage_buildAllowedList_closure.prototype = {
  23581. call$1: function(value) {
  23582. var t1 = this.option.defaultsTo;
  23583. return value == null ? t1 == null : value === t1;
  23584. },
  23585. $signature: 19
  23586. };
  23587. V.ErrorResult.prototype = {
  23588. complete$1: function(completer) {
  23589. completer.completeError$2(this.error, this.stackTrace);
  23590. },
  23591. get$hashCode: function(_) {
  23592. return (J.get$hashCode$(this.error) ^ J.get$hashCode$(this.stackTrace) ^ 492929599) >>> 0;
  23593. },
  23594. $eq: function(_, other) {
  23595. if (other == null)
  23596. return false;
  23597. return other instanceof V.ErrorResult && J.$eq$(this.error, other.error) && this.stackTrace == other.stackTrace;
  23598. },
  23599. $isResult: 1,
  23600. $asResult: function() {
  23601. return [P.Null];
  23602. }
  23603. };
  23604. E.Result.prototype = {};
  23605. F.ValueResult.prototype = {
  23606. complete$1: function(completer) {
  23607. completer.complete$1(this.value);
  23608. },
  23609. get$hashCode: function(_) {
  23610. return (J.get$hashCode$(this.value) ^ 842997089) >>> 0;
  23611. },
  23612. $eq: function(_, other) {
  23613. if (other == null)
  23614. return false;
  23615. return other instanceof F.ValueResult && J.$eq$(this.value, other.value);
  23616. },
  23617. $isResult: 1
  23618. };
  23619. Y.StreamCompleter.prototype = {
  23620. setSourceStream$1: function(sourceStream) {
  23621. var t1 = this._stream_completer$_stream;
  23622. if (t1._sourceStream != null)
  23623. throw H.wrapException(P.StateError$("Source stream already set"));
  23624. t1._sourceStream = sourceStream;
  23625. if (t1._stream_completer$_controller != null)
  23626. t1._linkStreamToController$0();
  23627. },
  23628. setError$2: function(error, stackTrace) {
  23629. var t1 = H.getTypeArgumentByIndex(this, 0);
  23630. this.setSourceStream$1(P.Stream_Stream$fromFuture(P.Future_Future$error(error, stackTrace, t1), t1));
  23631. },
  23632. setError$1: function(error) {
  23633. return this.setError$2(error, null);
  23634. }
  23635. };
  23636. Y._CompleterStream.prototype = {
  23637. listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
  23638. var t1, _this = this, _null = null;
  23639. if (_this._stream_completer$_controller == null) {
  23640. t1 = _this._sourceStream;
  23641. if (t1 != null && !t1.get$isBroadcast())
  23642. return _this._sourceStream.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
  23643. _this._stream_completer$_controller = P.StreamController_StreamController(_null, _null, _null, _null, true, H.getTypeArgumentByIndex(_this, 0));
  23644. if (_this._sourceStream != null)
  23645. _this._linkStreamToController$0();
  23646. }
  23647. t1 = _this._stream_completer$_controller;
  23648. t1.toString;
  23649. return new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
  23650. },
  23651. listen$3$onDone$onError: function(onData, onDone, onError) {
  23652. return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
  23653. },
  23654. listen$1: function(onData) {
  23655. return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
  23656. },
  23657. _linkStreamToController$0: function() {
  23658. var t1 = this._stream_completer$_controller.addStream$2$cancelOnError(this._sourceStream, false),
  23659. t2 = this._stream_completer$_controller;
  23660. t1.whenComplete$1(t2.get$close(t2));
  23661. }
  23662. };
  23663. L.StreamGroup.prototype = {
  23664. add$1: function(_, stream) {
  23665. var t1, _this = this;
  23666. if (_this._closed)
  23667. throw H.wrapException(P.StateError$("Can't add a Stream to a closed StreamGroup."));
  23668. t1 = _this._stream_group$_state;
  23669. if (t1 === C._StreamGroupState_dormant)
  23670. _this._subscriptions.putIfAbsent$2(stream, new L.StreamGroup_add_closure());
  23671. else if (t1 === C._StreamGroupState_canceled)
  23672. return stream.listen$1(null).cancel$0();
  23673. else
  23674. _this._subscriptions.putIfAbsent$2(stream, new L.StreamGroup_add_closure0(_this, stream));
  23675. return;
  23676. },
  23677. remove$1: function(_, stream) {
  23678. var t1 = this._subscriptions,
  23679. subscription = t1.remove$1(0, stream),
  23680. future = subscription == null ? null : subscription.cancel$0();
  23681. if (this._closed && t1.get$isEmpty(t1))
  23682. this._controller.close$0(0);
  23683. return future;
  23684. },
  23685. _onListen$0: function() {
  23686. this._stream_group$_state = C._StreamGroupState_listening;
  23687. this._subscriptions.forEach$1(0, new L.StreamGroup__onListen_closure(this));
  23688. },
  23689. _onPause$0: function() {
  23690. this._stream_group$_state = C._StreamGroupState_paused;
  23691. for (var t1 = this._subscriptions.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  23692. t1.get$current(t1).pause$0(0);
  23693. },
  23694. _onResume$0: function() {
  23695. this._stream_group$_state = C._StreamGroupState_listening;
  23696. for (var t1 = this._subscriptions.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  23697. t1.get$current(t1).resume$0();
  23698. },
  23699. _onCancel$0: function() {
  23700. var t1, t2, t3, futures;
  23701. this._stream_group$_state = C._StreamGroupState_canceled;
  23702. t1 = this._subscriptions;
  23703. t2 = t1.get$values();
  23704. t2 = H.MappedIterable_MappedIterable(t2, new L.StreamGroup__onCancel_closure(), H.getRuntimeTypeArgument(t2, "Iterable", 0), [P.Future,,]);
  23705. t3 = H.getRuntimeTypeArgument(t2, "Iterable", 0);
  23706. futures = P.List_List$from(new H.WhereIterable(t2, new L.StreamGroup__onCancel_closure0(), [t3]), true, t3);
  23707. t1.clear$0(0);
  23708. return futures.length === 0 ? null : P.Future_wait(futures, null);
  23709. },
  23710. _listenToStream$1: function(stream) {
  23711. var t1 = this._controller,
  23712. subscription = stream.listen$3$onDone$onError(t1.get$add(t1), new L.StreamGroup__listenToStream_closure(this, stream), t1.get$addError());
  23713. if (this._stream_group$_state === C._StreamGroupState_paused)
  23714. subscription.pause$0(0);
  23715. return subscription;
  23716. }
  23717. };
  23718. L.StreamGroup_add_closure.prototype = {
  23719. call$0: function() {
  23720. return;
  23721. }
  23722. };
  23723. L.StreamGroup_add_closure0.prototype = {
  23724. call$0: function() {
  23725. return this.$this._listenToStream$1(this.stream);
  23726. }
  23727. };
  23728. L.StreamGroup__onListen_closure.prototype = {
  23729. call$2: function(stream, subscription) {
  23730. var t1;
  23731. if (subscription != null)
  23732. return;
  23733. t1 = this.$this;
  23734. t1._subscriptions.$indexSet(0, stream, t1._listenToStream$1(stream));
  23735. }
  23736. };
  23737. L.StreamGroup__onCancel_closure.prototype = {
  23738. call$1: function(subscription) {
  23739. return subscription.cancel$0();
  23740. }
  23741. };
  23742. L.StreamGroup__onCancel_closure0.prototype = {
  23743. call$1: function(future) {
  23744. return future != null;
  23745. }
  23746. };
  23747. L.StreamGroup__listenToStream_closure.prototype = {
  23748. call$0: function() {
  23749. return this.$this.remove$1(0, this.stream);
  23750. },
  23751. "call*": "call$0",
  23752. $requiredArgCount: 0
  23753. };
  23754. L._StreamGroupState.prototype = {
  23755. toString$0: function(_) {
  23756. return this.name;
  23757. }
  23758. };
  23759. G.StreamQueue.prototype = {
  23760. get$next: function() {
  23761. var t1 = this.$ti,
  23762. t2 = new P._Future($.Zone__current, t1);
  23763. this._addRequest$1(new G._NextRequest(new P._AsyncCompleter(t2, t1), t1));
  23764. return t2;
  23765. },
  23766. _updateRequests$0: function() {
  23767. var t1, t2, t3, _this = this;
  23768. for (t1 = _this._requestQueue, t2 = _this._eventQueue; !t1.get$isEmpty(t1);) {
  23769. t3 = t1._collection$_head;
  23770. if (t3 === t1._collection$_tail)
  23771. H.throwExpression(H.IterableElementError_noElement());
  23772. if (t1._collection$_table[t3].update$2(t2, _this._isDone))
  23773. t1.removeFirst$0();
  23774. else
  23775. return;
  23776. }
  23777. if (!_this._isDone)
  23778. _this._stream_queue$_subscription.pause$0(0);
  23779. },
  23780. _ensureListening$0: function() {
  23781. var t1, _this = this;
  23782. if (_this._isDone)
  23783. return;
  23784. t1 = _this._stream_queue$_subscription;
  23785. if (t1 == null)
  23786. _this._stream_queue$_subscription = _this._stream_queue$_source.listen$3$onDone$onError(new G.StreamQueue__ensureListening_closure(_this), new G.StreamQueue__ensureListening_closure0(_this), new G.StreamQueue__ensureListening_closure1(_this));
  23787. else
  23788. t1.resume$0();
  23789. },
  23790. _addResult$1: function(result) {
  23791. ++this._eventsReceived;
  23792. this._eventQueue._queue_list$_add$1(result);
  23793. this._updateRequests$0();
  23794. },
  23795. _addRequest$1: function(request) {
  23796. var _this = this,
  23797. t1 = _this._requestQueue;
  23798. if (t1._collection$_head === t1._collection$_tail) {
  23799. if (request.update$2(_this._eventQueue, _this._isDone))
  23800. return;
  23801. _this._ensureListening$0();
  23802. }
  23803. t1._collection$_add$1(request);
  23804. }
  23805. };
  23806. G.StreamQueue__ensureListening_closure.prototype = {
  23807. call$1: function(data) {
  23808. var t1 = this.$this;
  23809. t1._addResult$1(new F.ValueResult(data, [H.getTypeArgumentByIndex(t1, 0)]));
  23810. },
  23811. $signature: function() {
  23812. return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(this.$this, 0)]};
  23813. }
  23814. };
  23815. G.StreamQueue__ensureListening_closure1.prototype = {
  23816. call$2: function(error, stackTrace) {
  23817. this.$this._addResult$1(new V.ErrorResult(error, stackTrace));
  23818. },
  23819. "call*": "call$2",
  23820. $requiredArgCount: 2,
  23821. $signature: 15
  23822. };
  23823. G.StreamQueue__ensureListening_closure0.prototype = {
  23824. call$0: function() {
  23825. var t1 = this.$this;
  23826. t1._stream_queue$_subscription = null;
  23827. t1._isDone = true;
  23828. t1._updateRequests$0();
  23829. },
  23830. "call*": "call$0",
  23831. $requiredArgCount: 0
  23832. };
  23833. G._EventRequest.prototype = {};
  23834. G._NextRequest.prototype = {
  23835. update$2: function(events, isDone) {
  23836. if (!events.get$isEmpty(events)) {
  23837. events.removeFirst$0().complete$1(this._completer);
  23838. return true;
  23839. }
  23840. if (isDone) {
  23841. this._completer.completeError$2(new P.StateError("No elements"), P.StackTrace_current());
  23842. return true;
  23843. }
  23844. return false;
  23845. },
  23846. $is_EventRequest: 1
  23847. };
  23848. Q.Repl.prototype = {};
  23849. Q.closure130.prototype = {
  23850. call$1: function(text) {
  23851. return true;
  23852. }
  23853. };
  23854. B.ReplAdapter.prototype = {
  23855. runAsync$0: function() {
  23856. var $async$runAsync$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  23857. switch ($async$errorCode) {
  23858. case 2:
  23859. $async$next = $async$nextWhenCanceled;
  23860. $async$goto = $async$next.pop();
  23861. break;
  23862. case 1:
  23863. $async$currentError = $async$result;
  23864. $async$goto = $async$handler;
  23865. }
  23866. while (true)
  23867. switch ($async$goto) {
  23868. case 0:
  23869. // Function start
  23870. t1 = J.get$isTTY$x(self.process.stdin);
  23871. output = (t1 == null ? false : t1) ? self.process.stdout : null;
  23872. t1 = $async$self.repl;
  23873. $prompt = t1.prompt;
  23874. $async$self.rl = J.createInterface$1$x($.$get$readline(), {input: self.process.stdin, output: output, prompt: $prompt});
  23875. t2 = P.String;
  23876. controller = P.StreamController_StreamController(null, null, null, null, false, t2);
  23877. queue = new G.StreamQueue(new P._ControllerStream(controller, [H.getTypeArgumentByIndex(controller, 0)]), Q.QueueList$(null, [E.Result, t2]), P.ListQueue$([G._EventRequest,,]), [t2]);
  23878. J.on$2$x($async$self.rl, "line", P.allowInterop(new B.ReplAdapter_runAsync_closure(controller)));
  23879. prompt0 = t1.continuation, prompt1 = $prompt, statement = "";
  23880. case 3:
  23881. // for condition
  23882. // trivial condition
  23883. t2 = J.get$isTTY$x(self.process.stdin);
  23884. if (t2 == null ? false : t2)
  23885. J.write$1$x(self.process.stdout, prompt1);
  23886. $async$goto = 5;
  23887. return P._asyncStarHelper(queue.get$next(), $async$runAsync$0, $async$controller);
  23888. case 5:
  23889. // returning from await.
  23890. line = $async$result;
  23891. t2 = J.get$isTTY$x(self.process.stdin);
  23892. if (!(t2 == null ? false : t2)) {
  23893. line0 = prompt1 + H.S(line);
  23894. t2 = $.printToZone;
  23895. if (t2 == null)
  23896. H.printString(line0);
  23897. else
  23898. t2.call$1(line0);
  23899. }
  23900. statement = C.JSString_methods.$add(statement, line);
  23901. $async$goto = t1.validator.call$1(statement) ? 6 : 8;
  23902. break;
  23903. case 6:
  23904. // then
  23905. $async$goto = 9;
  23906. $async$nextWhenCanceled = [1];
  23907. return P._asyncStarHelper(P._IterationMarker_yieldSingle(statement), $async$runAsync$0, $async$controller);
  23908. case 9:
  23909. // after yield
  23910. J.setPrompt$1$x($async$self.rl, $prompt);
  23911. prompt1 = $prompt;
  23912. statement = "";
  23913. // goto join
  23914. $async$goto = 7;
  23915. break;
  23916. case 8:
  23917. // else
  23918. statement += "\n";
  23919. J.setPrompt$1$x($async$self.rl, prompt0);
  23920. prompt1 = prompt0;
  23921. case 7:
  23922. // join
  23923. // goto for condition
  23924. $async$goto = 3;
  23925. break;
  23926. case 4:
  23927. // after for
  23928. case 1:
  23929. // return
  23930. return P._asyncStarHelper(null, 0, $async$controller);
  23931. case 2:
  23932. // rethrow
  23933. return P._asyncStarHelper($async$currentError, 1, $async$controller);
  23934. }
  23935. });
  23936. var $async$goto = 0,
  23937. $async$controller = P._makeAsyncStarStreamController($async$runAsync$0, P.String),
  23938. $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, $prompt, t2, controller, queue, prompt0, prompt1, statement, line, line0, t1, output;
  23939. return P._streamOfController($async$controller);
  23940. }
  23941. };
  23942. B.ReplAdapter_runAsync_closure.prototype = {
  23943. call$1: function(value) {
  23944. this.controller.add$1(0, value);
  23945. },
  23946. call$0: function() {
  23947. return this.call$1(null);
  23948. },
  23949. "call*": "call$1",
  23950. $requiredArgCount: 0,
  23951. $defaultValues: function() {
  23952. return [null];
  23953. },
  23954. $signature: 21
  23955. };
  23956. B.Stdin.prototype = {};
  23957. B.Stdout.prototype = {};
  23958. B.ReadlineModule.prototype = {};
  23959. B.ReadlineOptions.prototype = {};
  23960. B.ReadlineInterface.prototype = {};
  23961. O.EmptyUnmodifiableSet.prototype = {
  23962. get$iterator: function(_) {
  23963. return C.C_EmptyIterator;
  23964. },
  23965. get$length: function(_) {
  23966. return 0;
  23967. },
  23968. cast$1$0: function(_, $T) {
  23969. return new O.EmptyUnmodifiableSet([$T]);
  23970. },
  23971. contains$1: function(_, element) {
  23972. return false;
  23973. },
  23974. toSet$0: function(_) {
  23975. return P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 0));
  23976. },
  23977. add$1: function(_, value) {
  23978. return O.EmptyUnmodifiableSet__throw();
  23979. },
  23980. addAll$1: function(_, elements) {
  23981. return O.EmptyUnmodifiableSet__throw();
  23982. },
  23983. $isEfficientLengthIterable: 1,
  23984. $isSet: 1
  23985. };
  23986. U.DefaultEquality.prototype = {};
  23987. U.ListEquality.prototype = {
  23988. equals$2: function(list1, list2) {
  23989. var t1, $length, t2, i;
  23990. if (list1 == null ? list2 == null : list1 === list2)
  23991. return true;
  23992. if (list1 == null || list2 == null)
  23993. return false;
  23994. t1 = J.getInterceptor$asx(list1);
  23995. $length = t1.get$length(list1);
  23996. t2 = J.getInterceptor$asx(list2);
  23997. if ($length !== t2.get$length(list2))
  23998. return false;
  23999. for (i = 0; i < $length; ++i)
  24000. if (!J.$eq$(t1.$index(list1, i), t2.$index(list2, i)))
  24001. return false;
  24002. return true;
  24003. },
  24004. hash$1: function(list) {
  24005. var t1, hash, i;
  24006. for (t1 = list.length, hash = 0, i = 0; i < t1; ++i) {
  24007. hash = hash + J.get$hashCode$(list[i]) & 2147483647;
  24008. hash = hash + (hash << 10 >>> 0) & 2147483647;
  24009. hash ^= hash >>> 6;
  24010. }
  24011. hash = hash + (hash << 3 >>> 0) & 2147483647;
  24012. hash ^= hash >>> 11;
  24013. return hash + (hash << 15 >>> 0) & 2147483647;
  24014. }
  24015. };
  24016. U._MapEntry.prototype = {
  24017. get$hashCode: function(_) {
  24018. return 3 * J.get$hashCode$(this.key) + 7 * J.get$hashCode$(this.value) & 2147483647;
  24019. },
  24020. $eq: function(_, other) {
  24021. if (other == null)
  24022. return false;
  24023. return other instanceof U._MapEntry && J.$eq$(this.key, other.key) && J.$eq$(this.value, other.value);
  24024. }
  24025. };
  24026. U.MapEquality.prototype = {
  24027. equals$2: function(map1, map2) {
  24028. var equalElementCounts, t1, key, entry, count;
  24029. if (map1 === map2)
  24030. return true;
  24031. if (map1.get$length(map1) !== map2.get$length(map2))
  24032. return false;
  24033. equalElementCounts = P.HashMap_HashMap(U._MapEntry, P.int);
  24034. for (t1 = map1.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  24035. key = t1.get$current(t1);
  24036. entry = new U._MapEntry(this, key, map1.$index(0, key));
  24037. count = equalElementCounts.$index(0, entry);
  24038. equalElementCounts.$indexSet(0, entry, (count == null ? 0 : count) + 1);
  24039. }
  24040. for (t1 = map2.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  24041. key = t1.get$current(t1);
  24042. entry = new U._MapEntry(this, key, map2.$index(0, key));
  24043. count = equalElementCounts.$index(0, entry);
  24044. if (count == null || count === 0)
  24045. return false;
  24046. equalElementCounts.$indexSet(0, entry, count - 1);
  24047. }
  24048. return true;
  24049. },
  24050. hash$1: function(map) {
  24051. var t1, hash, key;
  24052. for (t1 = map.get$keys(), t1 = t1.get$iterator(t1), hash = 0; t1.moveNext$0();) {
  24053. key = t1.get$current(t1);
  24054. hash = hash + 3 * J.get$hashCode$(key) + 7 * J.get$hashCode$(map.$index(0, key)) & 2147483647;
  24055. }
  24056. hash = hash + (hash << 3 >>> 0) & 2147483647;
  24057. hash ^= hash >>> 11;
  24058. return hash + (hash << 15 >>> 0) & 2147483647;
  24059. }
  24060. };
  24061. Y.mapMap_closure.prototype = {
  24062. call$2: function(mapKey, _) {
  24063. return H.subtypeOfRuntimeTypeCast(mapKey, this.K2);
  24064. },
  24065. $signature: function() {
  24066. return {func: 1, ret: this.K2, args: [this.K1, this.V1]};
  24067. }
  24068. };
  24069. Y.mapMap_closure0.prototype = {
  24070. call$2: function(_, mapValue) {
  24071. return H.subtypeOfRuntimeTypeCast(mapValue, this.V2);
  24072. },
  24073. $signature: function() {
  24074. return {func: 1, ret: this.V2, args: [this.K1, this.V1]};
  24075. }
  24076. };
  24077. Y.mapMap_closure1.prototype = {
  24078. call$2: function(mapKey, mapValue) {
  24079. var t1 = this._box_0;
  24080. this.result.$indexSet(0, t1.key.call$2(mapKey, mapValue), t1.value.call$2(mapKey, mapValue));
  24081. },
  24082. $signature: function() {
  24083. return {func: 1, ret: P.Null, args: [this.K1, this.V1]};
  24084. }
  24085. };
  24086. Q.QueueList.prototype = {
  24087. QueueList$1: function(initialCapacity, $E) {
  24088. var t1;
  24089. if (initialCapacity == null || initialCapacity < 8)
  24090. initialCapacity = 8;
  24091. else if ((initialCapacity & initialCapacity - 1) >>> 0 !== 0)
  24092. initialCapacity = Q.QueueList__nextPowerOf2(initialCapacity);
  24093. t1 = new Array(initialCapacity);
  24094. t1.fixed$length = Array;
  24095. this._table = H.setRuntimeTypeInfo(t1, [$E]);
  24096. },
  24097. add$1: function(_, element) {
  24098. this._queue_list$_add$1(element);
  24099. },
  24100. addAll$1: function(_, iterable) {
  24101. var addCount, $length, endSpace, preSpace, _this = this,
  24102. t1 = J.getInterceptor$(iterable);
  24103. if (!!t1.$isList) {
  24104. addCount = t1.get$length(iterable);
  24105. $length = _this.get$length(_this);
  24106. t1 = $length + addCount;
  24107. if (t1 >= J.get$length$asx(_this._table)) {
  24108. _this._preGrow$1(t1);
  24109. J.setRange$4$ax(_this._table, $length, t1, iterable, 0);
  24110. _this.set$_tail(_this.get$_tail() + addCount);
  24111. } else {
  24112. endSpace = J.get$length$asx(_this._table) - _this.get$_tail();
  24113. t1 = _this._table;
  24114. if (addCount < endSpace) {
  24115. J.setRange$4$ax(t1, _this.get$_tail(), _this.get$_tail() + addCount, iterable, 0);
  24116. _this.set$_tail(_this.get$_tail() + addCount);
  24117. } else {
  24118. preSpace = addCount - endSpace;
  24119. J.setRange$4$ax(t1, _this.get$_tail(), _this.get$_tail() + endSpace, iterable, 0);
  24120. J.setRange$4$ax(_this._table, 0, preSpace, iterable, endSpace);
  24121. _this.set$_tail(preSpace);
  24122. }
  24123. }
  24124. } else
  24125. for (t1 = t1.get$iterator(iterable); t1.moveNext$0();)
  24126. _this._queue_list$_add$1(t1.get$current(t1));
  24127. },
  24128. cast$1$0: function(_, $T) {
  24129. var t1 = new Q._CastQueueList(this, null, null, [H.getRuntimeTypeArgument(this, "QueueList", 0), $T]);
  24130. t1._table = J.cast$1$0$ax(this._table, $T);
  24131. return t1;
  24132. },
  24133. toString$0: function(_) {
  24134. return P.IterableBase_iterableToFullString(this, "{", "}");
  24135. },
  24136. addFirst$1: function(element) {
  24137. var _this = this;
  24138. _this.set$_head((_this.get$_head() - 1 & J.get$length$asx(_this._table) - 1) >>> 0);
  24139. J.$indexSet$ax(_this._table, _this.get$_head(), element);
  24140. if (_this.get$_head() == _this.get$_tail())
  24141. _this._grow$0();
  24142. },
  24143. removeFirst$0: function() {
  24144. var result, _this = this;
  24145. if (_this.get$_head() == _this.get$_tail())
  24146. throw H.wrapException(P.StateError$("No element"));
  24147. result = J.$index$asx(_this._table, _this.get$_head());
  24148. J.$indexSet$ax(_this._table, _this.get$_head(), null);
  24149. _this.set$_head((_this.get$_head() + 1 & J.get$length$asx(_this._table) - 1) >>> 0);
  24150. return result;
  24151. },
  24152. get$length: function(_) {
  24153. return (this.get$_tail() - this.get$_head() & J.get$length$asx(this._table) - 1) >>> 0;
  24154. },
  24155. set$length: function(_, value) {
  24156. var delta, newTail, t1, t2, _this = this;
  24157. if (value < 0)
  24158. throw H.wrapException(P.RangeError$("Length " + value + " may not be negative."));
  24159. delta = value - _this.get$length(_this);
  24160. if (delta >= 0) {
  24161. if (J.get$length$asx(_this._table) <= value)
  24162. _this._preGrow$1(value);
  24163. _this.set$_tail((_this.get$_tail() + delta & J.get$length$asx(_this._table) - 1) >>> 0);
  24164. return;
  24165. }
  24166. newTail = _this.get$_tail() + delta;
  24167. t1 = _this._table;
  24168. if (newTail >= 0)
  24169. J.fillRange$3$ax(t1, newTail, _this.get$_tail(), null);
  24170. else {
  24171. newTail += J.get$length$asx(t1);
  24172. J.fillRange$3$ax(_this._table, 0, _this.get$_tail(), null);
  24173. t1 = _this._table;
  24174. t2 = J.getInterceptor$asx(t1);
  24175. t2.fillRange$3(t1, newTail, t2.get$length(t1), null);
  24176. }
  24177. _this.set$_tail(newTail);
  24178. },
  24179. $index: function(_, index) {
  24180. var _this = this;
  24181. if (index < 0 || index >= _this.get$length(_this))
  24182. throw H.wrapException(P.RangeError$("Index " + H.S(index) + " must be in the range [0.." + _this.get$length(_this) + ")."));
  24183. return J.$index$asx(_this._table, (_this.get$_head() + index & J.get$length$asx(_this._table) - 1) >>> 0);
  24184. },
  24185. $indexSet: function(_, index, value) {
  24186. var _this = this;
  24187. if (index < 0 || index >= _this.get$length(_this))
  24188. throw H.wrapException(P.RangeError$("Index " + H.S(index) + " must be in the range [0.." + _this.get$length(_this) + ")."));
  24189. J.$indexSet$ax(_this._table, (_this.get$_head() + index & J.get$length$asx(_this._table) - 1) >>> 0, value);
  24190. },
  24191. _queue_list$_add$1: function(element) {
  24192. var _this = this;
  24193. J.$indexSet$ax(_this._table, _this.get$_tail(), element);
  24194. _this.set$_tail((_this.get$_tail() + 1 & J.get$length$asx(_this._table) - 1) >>> 0);
  24195. if (_this.get$_head() == _this.get$_tail())
  24196. _this._grow$0();
  24197. },
  24198. _grow$0: function() {
  24199. var newTable, split, _this = this,
  24200. t1 = new Array(J.get$length$asx(_this._table) * 2);
  24201. t1.fixed$length = Array;
  24202. newTable = H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(_this, "QueueList", 0)]);
  24203. split = J.get$length$asx(_this._table) - _this.get$_head();
  24204. C.JSArray_methods.setRange$4(newTable, 0, split, _this._table, _this.get$_head());
  24205. C.JSArray_methods.setRange$4(newTable, split, split + _this.get$_head(), _this._table, 0);
  24206. _this.set$_head(0);
  24207. _this.set$_tail(J.get$length$asx(_this._table));
  24208. _this._table = newTable;
  24209. },
  24210. _writeToList$1: function(target) {
  24211. var $length, firstPartSize, _this = this;
  24212. if (_this.get$_head() <= _this.get$_tail()) {
  24213. $length = _this.get$_tail() - _this.get$_head();
  24214. C.JSArray_methods.setRange$4(target, 0, $length, _this._table, _this.get$_head());
  24215. return $length;
  24216. } else {
  24217. firstPartSize = J.get$length$asx(_this._table) - _this.get$_head();
  24218. C.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._table, _this.get$_head());
  24219. C.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this.get$_tail(), _this._table, 0);
  24220. return _this.get$_tail() + firstPartSize;
  24221. }
  24222. },
  24223. _preGrow$1: function(newElementCount) {
  24224. var newTable, _this = this,
  24225. t1 = new Array(Q.QueueList__nextPowerOf2(newElementCount + C.JSInt_methods._shrOtherPositive$1(newElementCount, 1)));
  24226. t1.fixed$length = Array;
  24227. newTable = H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(_this, "QueueList", 0)]);
  24228. _this.set$_tail(_this._writeToList$1(newTable));
  24229. _this._table = newTable;
  24230. _this.set$_head(0);
  24231. },
  24232. $isEfficientLengthIterable: 1,
  24233. $isQueue: 1,
  24234. $isIterable: 1,
  24235. $isList: 1,
  24236. get$_head: function() {
  24237. return this._head;
  24238. },
  24239. get$_tail: function() {
  24240. return this._tail;
  24241. },
  24242. set$_head: function(val) {
  24243. return this._head = val;
  24244. },
  24245. set$_tail: function(val) {
  24246. return this._tail = val;
  24247. }
  24248. };
  24249. Q._CastQueueList.prototype = {
  24250. get$_head: function() {
  24251. return this._queue_list$_delegate.get$_head();
  24252. },
  24253. set$_head: function(value) {
  24254. this._queue_list$_delegate.set$_head(value);
  24255. },
  24256. get$_tail: function() {
  24257. return this._queue_list$_delegate.get$_tail();
  24258. },
  24259. set$_tail: function(value) {
  24260. this._queue_list$_delegate.set$_tail(value);
  24261. },
  24262. $asEfficientLengthIterable: function($S, $T) {
  24263. return [$T];
  24264. },
  24265. $asListMixin: function($S, $T) {
  24266. return [$T];
  24267. },
  24268. $asQueue: function($S, $T) {
  24269. return [$T];
  24270. },
  24271. $asIterable: function($S, $T) {
  24272. return [$T];
  24273. },
  24274. $asList: function($S, $T) {
  24275. return [$T];
  24276. },
  24277. $asQueueList: function($S, $T) {
  24278. return [$T];
  24279. }
  24280. };
  24281. Q._QueueList_Object_ListMixin.prototype = {};
  24282. L.UnmodifiableSetView.prototype = {};
  24283. L.UnmodifiableSetMixin.prototype = {
  24284. add$1: function(_, value) {
  24285. return L.UnmodifiableSetMixin__throw();
  24286. },
  24287. addAll$1: function(_, elements) {
  24288. return L.UnmodifiableSetMixin__throw();
  24289. }
  24290. };
  24291. L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin.prototype = {};
  24292. B.defaultCompare_closure.prototype = {
  24293. call$2: function(value1, value2) {
  24294. return J.compareTo$1$ns(H.numberOrStringSuperNativeTypeCast(value1, "$isComparable"), value2);
  24295. },
  24296. $signature: function() {
  24297. var t1 = this.T;
  24298. return {func: 1, ret: P.int, args: [t1, t1]};
  24299. }
  24300. };
  24301. M._DelegatingIterableBase.prototype = {
  24302. cast$1$0: function(_, $T) {
  24303. return J.cast$1$0$ax(this.get$_base(), $T);
  24304. },
  24305. contains$1: function(_, element) {
  24306. return J.contains$1$asx(this.get$_base(), element);
  24307. },
  24308. elementAt$1: function(_, index) {
  24309. return J.elementAt$1$ax(this.get$_base(), index);
  24310. },
  24311. get$first: function(_) {
  24312. return J.get$first$ax(this.get$_base());
  24313. },
  24314. get$isEmpty: function(_) {
  24315. return J.get$isEmpty$asx(this.get$_base());
  24316. },
  24317. get$isNotEmpty: function(_) {
  24318. return J.get$isNotEmpty$asx(this.get$_base());
  24319. },
  24320. get$iterator: function(_) {
  24321. return J.get$iterator$ax(this.get$_base());
  24322. },
  24323. join$1: function(_, separator) {
  24324. return J.join$1$ax(this.get$_base(), separator);
  24325. },
  24326. join$0: function($receiver) {
  24327. return this.join$1($receiver, "");
  24328. },
  24329. get$last: function(_) {
  24330. return J.get$last$ax(this.get$_base());
  24331. },
  24332. get$length: function(_) {
  24333. return J.get$length$asx(this.get$_base());
  24334. },
  24335. map$1$1: function(_, f, $T) {
  24336. return J.map$1$1$ax(this.get$_base(), f, $T);
  24337. },
  24338. get$single: function(_) {
  24339. return J.get$single$ax(this.get$_base());
  24340. },
  24341. skip$1: function(_, n) {
  24342. return J.skip$1$ax(this.get$_base(), n);
  24343. },
  24344. take$1: function(_, n) {
  24345. return J.take$1$ax(this.get$_base(), n);
  24346. },
  24347. toSet$0: function(_) {
  24348. return J.toSet$0$ax(this.get$_base());
  24349. },
  24350. where$1: function(_, test) {
  24351. return J.where$1$ax(this.get$_base(), test);
  24352. },
  24353. toString$0: function(_) {
  24354. return J.toString$0$(this.get$_base());
  24355. },
  24356. $isIterable: 1
  24357. };
  24358. M.DelegatingIterable.prototype = {
  24359. get$_base: function() {
  24360. return this._base;
  24361. }
  24362. };
  24363. M.DelegatingSet.prototype = {
  24364. add$1: function(_, value) {
  24365. return this._base.add$1(0, value);
  24366. },
  24367. addAll$1: function(_, elements) {
  24368. this._base.addAll$1(0, elements);
  24369. },
  24370. cast$1$0: function(_, $T) {
  24371. var t1 = this._base;
  24372. return P.Set_castFrom(t1, t1.get$_newSimilarSet(), H.getTypeArgumentByIndex(t1, 0), $T);
  24373. },
  24374. toSet$0: function(_) {
  24375. return new M.DelegatingSet(this._base.toSet$0(0), this.$ti);
  24376. },
  24377. $isEfficientLengthIterable: 1,
  24378. $isSet: 1
  24379. };
  24380. M.MapKeySet.prototype = {
  24381. get$_base: function() {
  24382. return this._baseMap.get$keys();
  24383. },
  24384. cast$1$0: function(_, $T) {
  24385. var _this = this,
  24386. t1 = [$T];
  24387. if (H.checkSubtype(_this, "$isMapKeySet", t1, null))
  24388. return H.subtypeCast(_this, "$isMapKeySet", t1, "$asMapKeySet");
  24389. return P.Set_castFrom(_this, null, H.getTypeArgumentByIndex(_this, 0), $T);
  24390. },
  24391. contains$1: function(_, element) {
  24392. return this._baseMap.containsKey$1(element);
  24393. },
  24394. get$isEmpty: function(_) {
  24395. var t1 = this._baseMap;
  24396. return t1.get$isEmpty(t1);
  24397. },
  24398. get$isNotEmpty: function(_) {
  24399. var t1 = this._baseMap;
  24400. return t1.get$isNotEmpty(t1);
  24401. },
  24402. get$length: function(_) {
  24403. var t1 = this._baseMap;
  24404. return t1.get$length(t1);
  24405. },
  24406. toString$0: function(_) {
  24407. return "{" + J.join$1$ax(this._baseMap.get$keys(), ", ") + "}";
  24408. },
  24409. $isEfficientLengthIterable: 1,
  24410. $isSet: 1
  24411. };
  24412. M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin.prototype = {};
  24413. M.Context.prototype = {
  24414. absolute$7: function(part1, part2, part3, part4, part5, part6, part7) {
  24415. var t1;
  24416. M._validateArgList("absolute", H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, part6, part7], [P.String]));
  24417. t1 = this.style;
  24418. t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1);
  24419. if (t1)
  24420. return part1;
  24421. t1 = this._context$_current;
  24422. return this.join$8(0, t1 != null ? t1 : D.current(), part1, part2, part3, part4, part5, part6, part7);
  24423. },
  24424. absolute$1: function(part1) {
  24425. return this.absolute$7(part1, null, null, null, null, null, null);
  24426. },
  24427. dirname$1: function(path) {
  24428. var t1, t2,
  24429. parsed = X.ParsedPath_ParsedPath$parse(path, this.style);
  24430. parsed.removeTrailingSeparators$0();
  24431. t1 = parsed.parts;
  24432. t2 = t1.length;
  24433. if (t2 === 0) {
  24434. t1 = parsed.root;
  24435. return t1 == null ? "." : t1;
  24436. }
  24437. if (t2 === 1) {
  24438. t1 = parsed.root;
  24439. return t1 == null ? "." : t1;
  24440. }
  24441. C.JSArray_methods.removeLast$0(t1);
  24442. C.JSArray_methods.removeLast$0(parsed.separators);
  24443. parsed.removeTrailingSeparators$0();
  24444. return parsed.toString$0(0);
  24445. },
  24446. join$8: function(_, part1, part2, part3, part4, part5, part6, part7, part8) {
  24447. var parts = H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, part6, part7, part8], [P.String]);
  24448. M._validateArgList("join", parts);
  24449. return this.joinAll$1(new H.WhereIterable(parts, new M.Context_join_closure(), [H.getTypeArgumentByIndex(parts, 0)]));
  24450. },
  24451. join$2: function($receiver, part1, part2) {
  24452. return this.join$8($receiver, part1, part2, null, null, null, null, null, null);
  24453. },
  24454. joinAll$1: function(parts) {
  24455. var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path;
  24456. for (t1 = parts.get$iterator(parts), t2 = new H.WhereIterator(t1, new M.Context_joinAll_closure()), t3 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t2.moveNext$0();) {
  24457. t5 = t1.get$current(t1);
  24458. if (t3.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) {
  24459. parsed = X.ParsedPath_ParsedPath$parse(t5, t3);
  24460. path = t4.charCodeAt(0) == 0 ? t4 : t4;
  24461. t4 = C.JSString_methods.substring$2(path, 0, t3.rootLength$2$withDrive(path, true));
  24462. parsed.root = t4;
  24463. if (t3.needsSeparator$1(t4))
  24464. parsed.separators[0] = t3.get$separator();
  24465. t4 = parsed.toString$0(0);
  24466. } else if (t3.rootLength$1(t5) > 0) {
  24467. isAbsoluteAndNotRootRelative = !t3.isRootRelative$1(t5);
  24468. t4 = H.S(t5);
  24469. } else {
  24470. if (!(t5.length !== 0 && t3.containsSeparator$1(t5[0])))
  24471. if (needsSeparator)
  24472. t4 += t3.get$separator();
  24473. t4 += H.S(t5);
  24474. }
  24475. needsSeparator = t3.needsSeparator$1(t5);
  24476. }
  24477. return t4.charCodeAt(0) == 0 ? t4 : t4;
  24478. },
  24479. split$1: function(_, path) {
  24480. var parsed = X.ParsedPath_ParsedPath$parse(path, this.style),
  24481. t1 = parsed.parts,
  24482. t2 = H.getTypeArgumentByIndex(t1, 0);
  24483. t2 = P.List_List$from(new H.WhereIterable(t1, new M.Context_split_closure(), [t2]), true, t2);
  24484. parsed.parts = t2;
  24485. t1 = parsed.root;
  24486. if (t1 != null)
  24487. C.JSArray_methods.insert$2(t2, 0, t1);
  24488. return parsed.parts;
  24489. },
  24490. canonicalize$1: function(path) {
  24491. var t1, parsed;
  24492. path = this.absolute$1(path);
  24493. t1 = this.style;
  24494. if (t1 != $.$get$Style_windows() && !this._needsNormalization$1(path))
  24495. return path;
  24496. parsed = X.ParsedPath_ParsedPath$parse(path, t1);
  24497. parsed.normalize$1$canonicalize(true);
  24498. return parsed.toString$0(0);
  24499. },
  24500. normalize$1: function(path) {
  24501. var parsed;
  24502. if (!this._needsNormalization$1(path))
  24503. return path;
  24504. parsed = X.ParsedPath_ParsedPath$parse(path, this.style);
  24505. parsed.normalize$0();
  24506. return parsed.toString$0(0);
  24507. },
  24508. _needsNormalization$1: function(path) {
  24509. var t1, root, t2, i, start, previous, t3, previousPrevious, codeUnit, t4;
  24510. path.toString;
  24511. t1 = this.style;
  24512. root = t1.rootLength$1(path);
  24513. if (root !== 0) {
  24514. if (t1 === $.$get$Style_windows())
  24515. for (t2 = J.getInterceptor$s(path), i = 0; i < root; ++i)
  24516. if (t2._codeUnitAt$1(path, i) === 47)
  24517. return true;
  24518. start = root;
  24519. previous = 47;
  24520. } else {
  24521. start = 0;
  24522. previous = null;
  24523. }
  24524. for (t2 = new H.CodeUnits(path).__internal$_string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) {
  24525. codeUnit = C.JSString_methods.codeUnitAt$1(t2, i);
  24526. if (t1.isSeparator$1(codeUnit)) {
  24527. if (t1 === $.$get$Style_windows() && codeUnit === 47)
  24528. return true;
  24529. if (previous != null && t1.isSeparator$1(previous))
  24530. return true;
  24531. if (previous === 46)
  24532. t4 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious);
  24533. else
  24534. t4 = false;
  24535. if (t4)
  24536. return true;
  24537. }
  24538. }
  24539. if (previous == null)
  24540. return true;
  24541. if (t1.isSeparator$1(previous))
  24542. return true;
  24543. if (previous === 46)
  24544. t1 = previousPrevious == null || t1.isSeparator$1(previousPrevious) || previousPrevious === 46;
  24545. else
  24546. t1 = false;
  24547. if (t1)
  24548. return true;
  24549. return false;
  24550. },
  24551. relative$2$from: function(path, from) {
  24552. var fromParsed, pathParsed, t2, t3, _this = this,
  24553. _s26_ = 'Unable to find a path to "',
  24554. t1 = from == null;
  24555. if (t1 && _this.style.rootLength$1(path) <= 0)
  24556. return _this.normalize$1(path);
  24557. if (t1) {
  24558. t1 = _this._context$_current;
  24559. from = t1 != null ? t1 : D.current();
  24560. } else
  24561. from = _this.absolute$1(from);
  24562. t1 = _this.style;
  24563. if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0)
  24564. return _this.normalize$1(path);
  24565. if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path))
  24566. path = _this.absolute$1(path);
  24567. if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0)
  24568. throw H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".'));
  24569. fromParsed = X.ParsedPath_ParsedPath$parse(from, t1);
  24570. fromParsed.normalize$0();
  24571. pathParsed = X.ParsedPath_ParsedPath$parse(path, t1);
  24572. pathParsed.normalize$0();
  24573. t2 = fromParsed.parts;
  24574. if (t2.length !== 0 && J.$eq$(t2[0], "."))
  24575. return pathParsed.toString$0(0);
  24576. t2 = fromParsed.root;
  24577. t3 = pathParsed.root;
  24578. if (t2 != t3)
  24579. t2 = t2 == null || t3 == null || !t1.pathsEqual$2(t2, t3);
  24580. else
  24581. t2 = false;
  24582. if (t2)
  24583. return pathParsed.toString$0(0);
  24584. while (true) {
  24585. t2 = fromParsed.parts;
  24586. if (t2.length !== 0) {
  24587. t3 = pathParsed.parts;
  24588. t2 = t3.length !== 0 && t1.pathsEqual$2(t2[0], t3[0]);
  24589. } else
  24590. t2 = false;
  24591. if (!t2)
  24592. break;
  24593. C.JSArray_methods.removeAt$1(fromParsed.parts, 0);
  24594. C.JSArray_methods.removeAt$1(fromParsed.separators, 1);
  24595. C.JSArray_methods.removeAt$1(pathParsed.parts, 0);
  24596. C.JSArray_methods.removeAt$1(pathParsed.separators, 1);
  24597. }
  24598. t2 = fromParsed.parts;
  24599. if (t2.length !== 0 && J.$eq$(t2[0], ".."))
  24600. throw H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".'));
  24601. t2 = P.String;
  24602. C.JSArray_methods.insertAll$2(pathParsed.parts, 0, P.List_List$filled(fromParsed.parts.length, "..", t2));
  24603. t3 = pathParsed.separators;
  24604. t3[0] = "";
  24605. C.JSArray_methods.insertAll$2(t3, 1, P.List_List$filled(fromParsed.parts.length, t1.get$separator(), t2));
  24606. t1 = pathParsed.parts;
  24607. t2 = t1.length;
  24608. if (t2 === 0)
  24609. return ".";
  24610. if (t2 > 1 && J.$eq$(C.JSArray_methods.get$last(t1), ".")) {
  24611. C.JSArray_methods.removeLast$0(pathParsed.parts);
  24612. t1 = pathParsed.separators;
  24613. C.JSArray_methods.removeLast$0(t1);
  24614. C.JSArray_methods.removeLast$0(t1);
  24615. C.JSArray_methods.add$1(t1, "");
  24616. }
  24617. pathParsed.root = "";
  24618. pathParsed.removeTrailingSeparators$0();
  24619. return pathParsed.toString$0(0);
  24620. },
  24621. relative$1: function(path) {
  24622. return this.relative$2$from(path, null);
  24623. },
  24624. _isWithinOrEquals$2: function($parent, child) {
  24625. var relative, childIsRootRelative, parentIsRootRelative, result, exception, _this = this,
  24626. t1 = _this.style,
  24627. parentIsAbsolute = t1.rootLength$1($parent) > 0,
  24628. childIsAbsolute = t1.rootLength$1(child) > 0;
  24629. if (parentIsAbsolute && !childIsAbsolute) {
  24630. child = _this.absolute$1(child);
  24631. if (t1.isRootRelative$1($parent))
  24632. $parent = _this.absolute$1($parent);
  24633. } else if (childIsAbsolute && !parentIsAbsolute) {
  24634. $parent = _this.absolute$1($parent);
  24635. if (t1.isRootRelative$1(child))
  24636. child = _this.absolute$1(child);
  24637. } else if (childIsAbsolute && parentIsAbsolute) {
  24638. childIsRootRelative = t1.isRootRelative$1(child);
  24639. parentIsRootRelative = t1.isRootRelative$1($parent);
  24640. if (childIsRootRelative && !parentIsRootRelative)
  24641. child = _this.absolute$1(child);
  24642. else if (parentIsRootRelative && !childIsRootRelative)
  24643. $parent = _this.absolute$1($parent);
  24644. }
  24645. result = _this._isWithinOrEqualsFast$2($parent, child);
  24646. if (result !== C._PathRelation_inconclusive)
  24647. return result;
  24648. relative = null;
  24649. try {
  24650. relative = _this.relative$2$from(child, $parent);
  24651. } catch (exception) {
  24652. if (H.unwrapException(exception) instanceof X.PathException)
  24653. return C._PathRelation_different;
  24654. else
  24655. throw exception;
  24656. }
  24657. if (t1.rootLength$1(relative) > 0)
  24658. return C._PathRelation_different;
  24659. if (J.$eq$(relative, "."))
  24660. return C._PathRelation_equal;
  24661. if (J.$eq$(relative, ".."))
  24662. return C._PathRelation_different;
  24663. return J.get$length$asx(relative) >= 3 && J.startsWith$1$s(relative, "..") && t1.isSeparator$1(J.codeUnitAt$1$s(relative, 2)) ? C._PathRelation_different : C._PathRelation_within;
  24664. },
  24665. _isWithinOrEqualsFast$2: function($parent, child) {
  24666. var t1, parentRootLength, childRootLength, t2, t3, i, childIndex, parentIndex, lastCodeUnit, lastParentSeparator, parentCodeUnit, childCodeUnit, parentIndex0, t4, direction, _this = this;
  24667. if ($parent === ".")
  24668. $parent = "";
  24669. t1 = _this.style;
  24670. parentRootLength = t1.rootLength$1($parent);
  24671. childRootLength = t1.rootLength$1(child);
  24672. if (parentRootLength !== childRootLength)
  24673. return C._PathRelation_different;
  24674. for (t2 = J.getInterceptor$s($parent), t3 = J.getInterceptor$s(child), i = 0; i < parentRootLength; ++i)
  24675. if (!t1.codeUnitsEqual$2(t2._codeUnitAt$1($parent, i), t3._codeUnitAt$1(child, i)))
  24676. return C._PathRelation_different;
  24677. t2 = $parent.length;
  24678. childIndex = childRootLength;
  24679. parentIndex = parentRootLength;
  24680. lastCodeUnit = 47;
  24681. lastParentSeparator = null;
  24682. while (true) {
  24683. if (!(parentIndex < t2 && childIndex < child.length))
  24684. break;
  24685. c$0: {
  24686. parentCodeUnit = C.JSString_methods.codeUnitAt$1($parent, parentIndex);
  24687. childCodeUnit = t3.codeUnitAt$1(child, childIndex);
  24688. if (t1.codeUnitsEqual$2(parentCodeUnit, childCodeUnit)) {
  24689. if (t1.isSeparator$1(parentCodeUnit))
  24690. lastParentSeparator = parentIndex;
  24691. ++parentIndex;
  24692. ++childIndex;
  24693. lastCodeUnit = parentCodeUnit;
  24694. break c$0;
  24695. }
  24696. if (t1.isSeparator$1(parentCodeUnit) && t1.isSeparator$1(lastCodeUnit)) {
  24697. parentIndex0 = parentIndex + 1;
  24698. lastParentSeparator = parentIndex;
  24699. parentIndex = parentIndex0;
  24700. break c$0;
  24701. } else if (t1.isSeparator$1(childCodeUnit) && t1.isSeparator$1(lastCodeUnit)) {
  24702. ++childIndex;
  24703. break c$0;
  24704. }
  24705. if (parentCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) {
  24706. ++parentIndex;
  24707. if (parentIndex === t2)
  24708. break;
  24709. parentCodeUnit = C.JSString_methods.codeUnitAt$1($parent, parentIndex);
  24710. if (t1.isSeparator$1(parentCodeUnit)) {
  24711. parentIndex0 = parentIndex + 1;
  24712. lastParentSeparator = parentIndex;
  24713. parentIndex = parentIndex0;
  24714. break c$0;
  24715. }
  24716. if (parentCodeUnit === 46) {
  24717. ++parentIndex;
  24718. if (parentIndex === t2 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1($parent, parentIndex)))
  24719. return C._PathRelation_inconclusive;
  24720. }
  24721. }
  24722. if (childCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) {
  24723. ++childIndex;
  24724. t4 = child.length;
  24725. if (childIndex === t4)
  24726. break;
  24727. childCodeUnit = C.JSString_methods.codeUnitAt$1(child, childIndex);
  24728. if (t1.isSeparator$1(childCodeUnit)) {
  24729. ++childIndex;
  24730. break c$0;
  24731. }
  24732. if (childCodeUnit === 46) {
  24733. ++childIndex;
  24734. if (childIndex === t4 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1(child, childIndex)))
  24735. return C._PathRelation_inconclusive;
  24736. }
  24737. }
  24738. if (_this._pathDirection$2(child, childIndex) !== C._PathDirection_988)
  24739. return C._PathRelation_inconclusive;
  24740. if (_this._pathDirection$2($parent, parentIndex) !== C._PathDirection_988)
  24741. return C._PathRelation_inconclusive;
  24742. return C._PathRelation_different;
  24743. }
  24744. }
  24745. if (childIndex === child.length) {
  24746. if (parentIndex === t2 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1($parent, parentIndex)))
  24747. lastParentSeparator = parentIndex;
  24748. else if (lastParentSeparator == null)
  24749. lastParentSeparator = Math.max(0, parentRootLength - 1);
  24750. direction = _this._pathDirection$2($parent, lastParentSeparator);
  24751. if (direction === C._PathDirection_8Gl)
  24752. return C._PathRelation_equal;
  24753. return direction === C._PathDirection_ZGD ? C._PathRelation_inconclusive : C._PathRelation_different;
  24754. }
  24755. direction = _this._pathDirection$2(child, childIndex);
  24756. if (direction === C._PathDirection_8Gl)
  24757. return C._PathRelation_equal;
  24758. if (direction === C._PathDirection_ZGD)
  24759. return C._PathRelation_inconclusive;
  24760. return t1.isSeparator$1(C.JSString_methods.codeUnitAt$1(child, childIndex)) || t1.isSeparator$1(lastCodeUnit) ? C._PathRelation_within : C._PathRelation_different;
  24761. },
  24762. _pathDirection$2: function(path, index) {
  24763. var t1, t2, i, depth, reachedRoot, i0, t3;
  24764. for (t1 = path.length, t2 = this.style, i = index, depth = 0, reachedRoot = false; i < t1;) {
  24765. while (true) {
  24766. if (!(i < t1 && t2.isSeparator$1(C.JSString_methods.codeUnitAt$1(path, i))))
  24767. break;
  24768. ++i;
  24769. }
  24770. if (i === t1)
  24771. break;
  24772. i0 = i;
  24773. while (true) {
  24774. if (!(i0 < t1 && !t2.isSeparator$1(C.JSString_methods.codeUnitAt$1(path, i0))))
  24775. break;
  24776. ++i0;
  24777. }
  24778. t3 = i0 - i;
  24779. if (!(t3 === 1 && C.JSString_methods.codeUnitAt$1(path, i) === 46))
  24780. if (t3 === 2 && C.JSString_methods.codeUnitAt$1(path, i) === 46 && C.JSString_methods.codeUnitAt$1(path, i + 1) === 46) {
  24781. --depth;
  24782. if (depth < 0)
  24783. break;
  24784. if (depth === 0)
  24785. reachedRoot = true;
  24786. } else
  24787. ++depth;
  24788. if (i0 === t1)
  24789. break;
  24790. i = i0 + 1;
  24791. }
  24792. if (depth < 0)
  24793. return C._PathDirection_ZGD;
  24794. if (depth === 0)
  24795. return C._PathDirection_8Gl;
  24796. if (reachedRoot)
  24797. return C._PathDirection_FIw;
  24798. return C._PathDirection_988;
  24799. },
  24800. hash$1: function(path) {
  24801. var result, parsed, _this = this;
  24802. path = _this.absolute$1(path);
  24803. result = _this._hashFast$1(path);
  24804. if (result != null)
  24805. return result;
  24806. parsed = X.ParsedPath_ParsedPath$parse(path, _this.style);
  24807. parsed.normalize$0();
  24808. return _this._hashFast$1(parsed.toString$0(0));
  24809. },
  24810. _hashFast$1: function(path) {
  24811. var t1, t2, hash, beginning, wasSeparator, i, codeUnit, t3, next;
  24812. for (t1 = path.length, t2 = this.style, hash = 4603, beginning = true, wasSeparator = true, i = 0; i < t1; ++i) {
  24813. codeUnit = t2.canonicalizeCodeUnit$1(C.JSString_methods._codeUnitAt$1(path, i));
  24814. if (t2.isSeparator$1(codeUnit)) {
  24815. wasSeparator = true;
  24816. continue;
  24817. }
  24818. if (codeUnit === 46 && wasSeparator) {
  24819. t3 = i + 1;
  24820. if (t3 === t1)
  24821. break;
  24822. next = C.JSString_methods._codeUnitAt$1(path, t3);
  24823. if (t2.isSeparator$1(next))
  24824. continue;
  24825. if (!beginning)
  24826. if (next === 46) {
  24827. t3 = i + 2;
  24828. t3 = t3 === t1 || t2.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, t3));
  24829. } else
  24830. t3 = false;
  24831. else
  24832. t3 = false;
  24833. if (t3)
  24834. return;
  24835. }
  24836. hash = ((hash & 67108863) * 33 ^ codeUnit) >>> 0;
  24837. beginning = false;
  24838. wasSeparator = false;
  24839. }
  24840. return hash;
  24841. },
  24842. withoutExtension$1: function(path) {
  24843. var i,
  24844. parsed = X.ParsedPath_ParsedPath$parse(path, this.style);
  24845. for (i = parsed.parts.length - 1; i >= 0; --i)
  24846. if (J.get$length$asx(parsed.parts[i]) !== 0) {
  24847. parsed.parts[i] = parsed._splitExtension$0()[0];
  24848. break;
  24849. }
  24850. return parsed.toString$0(0);
  24851. },
  24852. toUri$1: function(path) {
  24853. var t2,
  24854. t1 = this.style;
  24855. if (t1.rootLength$1(path) <= 0)
  24856. return t1.relativePathToUri$1(path);
  24857. else {
  24858. t2 = this._context$_current;
  24859. return t1.absolutePathToUri$1(this.join$2(0, t2 != null ? t2 : D.current(), path));
  24860. }
  24861. },
  24862. prettyUri$1: function(uri) {
  24863. var path, rel, _this = this,
  24864. typedUri = M._parseUri(uri);
  24865. if (typedUri.get$scheme() === "file" && _this.style == $.$get$Style_url())
  24866. return typedUri.toString$0(0);
  24867. else if (typedUri.get$scheme() !== "file" && typedUri.get$scheme() !== "" && _this.style != $.$get$Style_url())
  24868. return typedUri.toString$0(0);
  24869. path = _this.normalize$1(_this.style.pathFromUri$1(M._parseUri(typedUri)));
  24870. rel = _this.relative$1(path);
  24871. return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel;
  24872. }
  24873. };
  24874. M.Context_join_closure.prototype = {
  24875. call$1: function(part) {
  24876. return part != null;
  24877. }
  24878. };
  24879. M.Context_joinAll_closure.prototype = {
  24880. call$1: function(part) {
  24881. return part !== "";
  24882. }
  24883. };
  24884. M.Context_split_closure.prototype = {
  24885. call$1: function(part) {
  24886. return part.length !== 0;
  24887. }
  24888. };
  24889. M._validateArgList_closure.prototype = {
  24890. call$1: function(arg) {
  24891. return arg == null ? "null" : '"' + arg + '"';
  24892. }
  24893. };
  24894. M._PathDirection.prototype = {
  24895. toString$0: function(_) {
  24896. return this.name;
  24897. }
  24898. };
  24899. M._PathRelation.prototype = {
  24900. toString$0: function(_) {
  24901. return this.name;
  24902. }
  24903. };
  24904. B.InternalStyle.prototype = {
  24905. getRoot$1: function(path) {
  24906. var $length = this.rootLength$1(path);
  24907. if ($length > 0)
  24908. return J.substring$2$s(path, 0, $length);
  24909. return this.isRootRelative$1(path) ? path[0] : null;
  24910. },
  24911. relativePathToUri$1: function(path) {
  24912. var segments = M.Context_Context(this).split$1(0, path);
  24913. if (this.isSeparator$1(J.codeUnitAt$1$s(path, path.length - 1)))
  24914. C.JSArray_methods.add$1(segments, "");
  24915. return P._Uri__Uri(null, null, segments, null);
  24916. },
  24917. codeUnitsEqual$2: function(codeUnit1, codeUnit2) {
  24918. return codeUnit1 === codeUnit2;
  24919. },
  24920. pathsEqual$2: function(path1, path2) {
  24921. return path1 == path2;
  24922. },
  24923. canonicalizeCodeUnit$1: function(codeUnit) {
  24924. return codeUnit;
  24925. },
  24926. canonicalizePart$1: function(part) {
  24927. return part;
  24928. }
  24929. };
  24930. X.ParsedPath.prototype = {
  24931. get$basename: function() {
  24932. var _this = this,
  24933. t1 = P.String,
  24934. copy = new X.ParsedPath(_this.style, _this.root, _this.isRootRelative, P.List_List$from(_this.parts, true, t1), P.List_List$from(_this.separators, true, t1));
  24935. copy.removeTrailingSeparators$0();
  24936. t1 = copy.parts;
  24937. if (t1.length === 0) {
  24938. t1 = _this.root;
  24939. return t1 == null ? "" : t1;
  24940. }
  24941. return C.JSArray_methods.get$last(t1);
  24942. },
  24943. get$hasTrailingSeparator: function() {
  24944. var t1 = this.parts;
  24945. if (t1.length !== 0)
  24946. t1 = J.$eq$(C.JSArray_methods.get$last(t1), "") || !J.$eq$(C.JSArray_methods.get$last(this.separators), "");
  24947. else
  24948. t1 = false;
  24949. return t1;
  24950. },
  24951. removeTrailingSeparators$0: function() {
  24952. var t1, t2, _this = this;
  24953. while (true) {
  24954. t1 = _this.parts;
  24955. if (!(t1.length !== 0 && J.$eq$(C.JSArray_methods.get$last(t1), "")))
  24956. break;
  24957. C.JSArray_methods.removeLast$0(_this.parts);
  24958. C.JSArray_methods.removeLast$0(_this.separators);
  24959. }
  24960. t1 = _this.separators;
  24961. t2 = t1.length;
  24962. if (t2 !== 0)
  24963. t1[t2 - 1] = "";
  24964. },
  24965. normalize$1$canonicalize: function(canonicalize) {
  24966. var t2, t3, t4, leadingDoubles, _i, part, t5, newSeparators, _this = this,
  24967. t1 = P.String,
  24968. newParts = H.setRuntimeTypeInfo([], [t1]);
  24969. for (t2 = _this.parts, t3 = t2.length, t4 = _this.style, leadingDoubles = 0, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
  24970. part = t2[_i];
  24971. t5 = J.getInterceptor$(part);
  24972. if (!(t5.$eq(part, ".") || t5.$eq(part, "")))
  24973. if (t5.$eq(part, ".."))
  24974. if (newParts.length !== 0)
  24975. newParts.pop();
  24976. else
  24977. ++leadingDoubles;
  24978. else
  24979. newParts.push(canonicalize ? t4.canonicalizePart$1(part) : part);
  24980. }
  24981. if (_this.root == null)
  24982. C.JSArray_methods.insertAll$2(newParts, 0, P.List_List$filled(leadingDoubles, "..", t1));
  24983. if (newParts.length === 0 && _this.root == null)
  24984. newParts.push(".");
  24985. newSeparators = P.List_List$generate(newParts.length, new X.ParsedPath_normalize_closure(_this), true, t1);
  24986. t1 = _this.root;
  24987. C.JSArray_methods.insert$2(newSeparators, 0, t1 != null && newParts.length !== 0 && t4.needsSeparator$1(t1) ? t4.get$separator() : "");
  24988. _this.parts = newParts;
  24989. _this.separators = newSeparators;
  24990. t1 = _this.root;
  24991. if (t1 != null && t4 === $.$get$Style_windows()) {
  24992. if (canonicalize)
  24993. t1 = _this.root = t1.toLowerCase();
  24994. t1.toString;
  24995. _this.root = H.stringReplaceAllUnchecked(t1, "/", "\\");
  24996. }
  24997. _this.removeTrailingSeparators$0();
  24998. },
  24999. normalize$0: function() {
  25000. return this.normalize$1$canonicalize(false);
  25001. },
  25002. toString$0: function(_) {
  25003. var i, _this = this,
  25004. t1 = _this.root;
  25005. t1 = t1 != null ? t1 : "";
  25006. for (i = 0; i < _this.parts.length; ++i)
  25007. t1 = t1 + H.S(_this.separators[i]) + H.S(_this.parts[i]);
  25008. t1 += H.S(C.JSArray_methods.get$last(_this.separators));
  25009. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25010. },
  25011. _splitExtension$0: function() {
  25012. var lastDot,
  25013. file = C.JSArray_methods.lastWhere$2$orElse(this.parts, new X.ParsedPath__splitExtension_closure(), new X.ParsedPath__splitExtension_closure0());
  25014. if (file == null)
  25015. return H.setRuntimeTypeInfo(["", ""], [P.String]);
  25016. if (file === "..")
  25017. return H.setRuntimeTypeInfo(["..", ""], [P.String]);
  25018. lastDot = C.JSString_methods.lastIndexOf$1(file, ".");
  25019. if (lastDot <= 0)
  25020. return H.setRuntimeTypeInfo([file, ""], [P.String]);
  25021. return H.setRuntimeTypeInfo([C.JSString_methods.substring$2(file, 0, lastDot), C.JSString_methods.substring$1(file, lastDot)], [P.String]);
  25022. }
  25023. };
  25024. X.ParsedPath_normalize_closure.prototype = {
  25025. call$1: function(_) {
  25026. return this.$this.style.get$separator();
  25027. },
  25028. $signature: 17
  25029. };
  25030. X.ParsedPath__splitExtension_closure.prototype = {
  25031. call$1: function(p) {
  25032. return p !== "";
  25033. }
  25034. };
  25035. X.ParsedPath__splitExtension_closure0.prototype = {
  25036. call$0: function() {
  25037. return;
  25038. }
  25039. };
  25040. X.PathException.prototype = {
  25041. toString$0: function(_) {
  25042. return "PathException: " + this.message;
  25043. },
  25044. $isException: 1,
  25045. get$message: function(receiver) {
  25046. return this.message;
  25047. }
  25048. };
  25049. K.PathMap.prototype = {
  25050. $asMap: function($V) {
  25051. return [P.String, $V];
  25052. }
  25053. };
  25054. K.PathMap__create_closure.prototype = {
  25055. call$2: function(path1, path2) {
  25056. if (path1 == null)
  25057. return path2 == null;
  25058. if (path2 == null)
  25059. return false;
  25060. return this._box_0.context._isWithinOrEquals$2(path1, path2) === C._PathRelation_equal;
  25061. },
  25062. "call*": "call$2",
  25063. $requiredArgCount: 2
  25064. };
  25065. K.PathMap__create_closure0.prototype = {
  25066. call$1: function(path) {
  25067. return path == null ? 0 : this._box_0.context.hash$1(path);
  25068. }
  25069. };
  25070. K.PathMap__create_closure1.prototype = {
  25071. call$1: function(path) {
  25072. return typeof path === "string" || path == null;
  25073. },
  25074. $signature: 19
  25075. };
  25076. O.Style.prototype = {
  25077. toString$0: function(_) {
  25078. return this.get$name();
  25079. }
  25080. };
  25081. E.PosixStyle.prototype = {
  25082. containsSeparator$1: function(path) {
  25083. return C.JSString_methods.contains$1(path, "/");
  25084. },
  25085. isSeparator$1: function(codeUnit) {
  25086. return codeUnit === 47;
  25087. },
  25088. needsSeparator$1: function(path) {
  25089. var t1 = path.length;
  25090. return t1 !== 0 && J.codeUnitAt$1$s(path, t1 - 1) !== 47;
  25091. },
  25092. rootLength$2$withDrive: function(path, withDrive) {
  25093. if (path.length !== 0 && J._codeUnitAt$1$s(path, 0) === 47)
  25094. return 1;
  25095. return 0;
  25096. },
  25097. rootLength$1: function(path) {
  25098. return this.rootLength$2$withDrive(path, false);
  25099. },
  25100. isRootRelative$1: function(path) {
  25101. return false;
  25102. },
  25103. pathFromUri$1: function(uri) {
  25104. var t1;
  25105. if (uri.get$scheme() === "" || uri.get$scheme() === "file") {
  25106. t1 = uri.get$path(uri);
  25107. return P._Uri__uriDecode(t1, 0, t1.length, C.C_Utf8Codec, false);
  25108. }
  25109. throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
  25110. },
  25111. absolutePathToUri$1: function(path) {
  25112. var parsed = X.ParsedPath_ParsedPath$parse(path, this),
  25113. t1 = parsed.parts;
  25114. if (t1.length === 0)
  25115. C.JSArray_methods.addAll$1(t1, H.setRuntimeTypeInfo(["", ""], [P.String]));
  25116. else if (parsed.get$hasTrailingSeparator())
  25117. C.JSArray_methods.add$1(parsed.parts, "");
  25118. return P._Uri__Uri(null, null, parsed.parts, "file");
  25119. },
  25120. get$name: function() {
  25121. return "posix";
  25122. },
  25123. get$separator: function() {
  25124. return "/";
  25125. }
  25126. };
  25127. F.UrlStyle.prototype = {
  25128. containsSeparator$1: function(path) {
  25129. return C.JSString_methods.contains$1(path, "/");
  25130. },
  25131. isSeparator$1: function(codeUnit) {
  25132. return codeUnit === 47;
  25133. },
  25134. needsSeparator$1: function(path) {
  25135. var t1 = path.length;
  25136. if (t1 === 0)
  25137. return false;
  25138. if (J.getInterceptor$s(path).codeUnitAt$1(path, t1 - 1) !== 47)
  25139. return true;
  25140. return C.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1;
  25141. },
  25142. rootLength$2$withDrive: function(path, withDrive) {
  25143. var i, codeUnit, index, t2,
  25144. t1 = path.length;
  25145. if (t1 === 0)
  25146. return 0;
  25147. if (J.getInterceptor$s(path)._codeUnitAt$1(path, 0) === 47)
  25148. return 1;
  25149. for (i = 0; i < t1; ++i) {
  25150. codeUnit = C.JSString_methods._codeUnitAt$1(path, i);
  25151. if (codeUnit === 47)
  25152. return 0;
  25153. if (codeUnit === 58) {
  25154. if (i === 0)
  25155. return 0;
  25156. index = C.JSString_methods.indexOf$2(path, "/", C.JSString_methods.startsWith$2(path, "//", i + 1) ? i + 3 : i);
  25157. if (index <= 0)
  25158. return t1;
  25159. if (!withDrive || t1 < index + 3)
  25160. return index;
  25161. if (!C.JSString_methods.startsWith$1(path, "file://"))
  25162. return index;
  25163. if (!B.isDriveLetter(path, index + 1))
  25164. return index;
  25165. t2 = index + 3;
  25166. return t1 === t2 ? t2 : index + 4;
  25167. }
  25168. }
  25169. return 0;
  25170. },
  25171. rootLength$1: function(path) {
  25172. return this.rootLength$2$withDrive(path, false);
  25173. },
  25174. isRootRelative$1: function(path) {
  25175. return path.length !== 0 && J._codeUnitAt$1$s(path, 0) === 47;
  25176. },
  25177. pathFromUri$1: function(uri) {
  25178. return J.toString$0$(uri);
  25179. },
  25180. relativePathToUri$1: function(path) {
  25181. return P.Uri_parse(path);
  25182. },
  25183. absolutePathToUri$1: function(path) {
  25184. return P.Uri_parse(path);
  25185. },
  25186. get$name: function() {
  25187. return "url";
  25188. },
  25189. get$separator: function() {
  25190. return "/";
  25191. }
  25192. };
  25193. L.WindowsStyle.prototype = {
  25194. containsSeparator$1: function(path) {
  25195. return C.JSString_methods.contains$1(path, "/");
  25196. },
  25197. isSeparator$1: function(codeUnit) {
  25198. return codeUnit === 47 || codeUnit === 92;
  25199. },
  25200. needsSeparator$1: function(path) {
  25201. var t1 = path.length;
  25202. if (t1 === 0)
  25203. return false;
  25204. t1 = J.codeUnitAt$1$s(path, t1 - 1);
  25205. return !(t1 === 47 || t1 === 92);
  25206. },
  25207. rootLength$2$withDrive: function(path, withDrive) {
  25208. var t2, index,
  25209. t1 = path.length;
  25210. if (t1 === 0)
  25211. return 0;
  25212. t2 = J.getInterceptor$s(path)._codeUnitAt$1(path, 0);
  25213. if (t2 === 47)
  25214. return 1;
  25215. if (t2 === 92) {
  25216. if (t1 < 2 || C.JSString_methods._codeUnitAt$1(path, 1) !== 92)
  25217. return 1;
  25218. index = C.JSString_methods.indexOf$2(path, "\\", 2);
  25219. if (index > 0) {
  25220. index = C.JSString_methods.indexOf$2(path, "\\", index + 1);
  25221. if (index > 0)
  25222. return index;
  25223. }
  25224. return t1;
  25225. }
  25226. if (t1 < 3)
  25227. return 0;
  25228. if (!B.isAlphabetic(t2))
  25229. return 0;
  25230. if (C.JSString_methods._codeUnitAt$1(path, 1) !== 58)
  25231. return 0;
  25232. t1 = C.JSString_methods._codeUnitAt$1(path, 2);
  25233. if (!(t1 === 47 || t1 === 92))
  25234. return 0;
  25235. return 3;
  25236. },
  25237. rootLength$1: function(path) {
  25238. return this.rootLength$2$withDrive(path, false);
  25239. },
  25240. isRootRelative$1: function(path) {
  25241. return this.rootLength$1(path) === 1;
  25242. },
  25243. pathFromUri$1: function(uri) {
  25244. var path, t1;
  25245. if (uri.get$scheme() !== "" && uri.get$scheme() !== "file")
  25246. throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
  25247. path = uri.get$path(uri);
  25248. if (uri.get$host() === "") {
  25249. if (path.length >= 3 && C.JSString_methods.startsWith$1(path, "/") && B.isDriveLetter(path, 1))
  25250. path = C.JSString_methods.replaceFirst$2(path, "/", "");
  25251. } else
  25252. path = "\\\\" + H.S(uri.get$host()) + path;
  25253. t1 = H.stringReplaceAllUnchecked(path, "/", "\\");
  25254. return P._Uri__uriDecode(t1, 0, t1.length, C.C_Utf8Codec, false);
  25255. },
  25256. absolutePathToUri$1: function(path) {
  25257. var rootParts, t2,
  25258. parsed = X.ParsedPath_ParsedPath$parse(path, this),
  25259. t1 = parsed.root;
  25260. if (J.startsWith$1$s(t1, "\\\\")) {
  25261. t1 = H.setRuntimeTypeInfo(t1.split("\\"), [P.String]);
  25262. rootParts = new H.WhereIterable(t1, new L.WindowsStyle_absolutePathToUri_closure(), [H.getTypeArgumentByIndex(t1, 0)]);
  25263. C.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts));
  25264. if (parsed.get$hasTrailingSeparator())
  25265. C.JSArray_methods.add$1(parsed.parts, "");
  25266. return P._Uri__Uri(rootParts.get$first(rootParts), null, parsed.parts, "file");
  25267. } else {
  25268. if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator())
  25269. C.JSArray_methods.add$1(parsed.parts, "");
  25270. t1 = parsed.parts;
  25271. t2 = parsed.root;
  25272. t2.toString;
  25273. t2 = H.stringReplaceAllUnchecked(t2, "/", "");
  25274. C.JSArray_methods.insert$2(t1, 0, H.stringReplaceAllUnchecked(t2, "\\", ""));
  25275. return P._Uri__Uri(null, null, parsed.parts, "file");
  25276. }
  25277. },
  25278. codeUnitsEqual$2: function(codeUnit1, codeUnit2) {
  25279. var upperCase1;
  25280. if (codeUnit1 === codeUnit2)
  25281. return true;
  25282. if (codeUnit1 === 47)
  25283. return codeUnit2 === 92;
  25284. if (codeUnit1 === 92)
  25285. return codeUnit2 === 47;
  25286. if ((codeUnit1 ^ codeUnit2) !== 32)
  25287. return false;
  25288. upperCase1 = codeUnit1 | 32;
  25289. return upperCase1 >= 97 && upperCase1 <= 122;
  25290. },
  25291. pathsEqual$2: function(path1, path2) {
  25292. var t1, t2, i;
  25293. if (path1 == path2)
  25294. return true;
  25295. t1 = path1.length;
  25296. if (t1 !== path2.length)
  25297. return false;
  25298. for (t2 = J.getInterceptor$s(path2), i = 0; i < t1; ++i)
  25299. if (!this.codeUnitsEqual$2(C.JSString_methods._codeUnitAt$1(path1, i), t2._codeUnitAt$1(path2, i)))
  25300. return false;
  25301. return true;
  25302. },
  25303. canonicalizeCodeUnit$1: function(codeUnit) {
  25304. if (codeUnit === 47)
  25305. return 92;
  25306. if (codeUnit < 65)
  25307. return codeUnit;
  25308. if (codeUnit > 90)
  25309. return codeUnit;
  25310. return codeUnit | 32;
  25311. },
  25312. canonicalizePart$1: function(part) {
  25313. return part.toLowerCase();
  25314. },
  25315. get$name: function() {
  25316. return "windows";
  25317. },
  25318. get$separator: function() {
  25319. return "\\";
  25320. }
  25321. };
  25322. L.WindowsStyle_absolutePathToUri_closure.prototype = {
  25323. call$1: function(part) {
  25324. return part !== "";
  25325. }
  25326. };
  25327. F.CssMediaQuery.prototype = {
  25328. merge$1: function(other) {
  25329. var _i, t8, negativeFeatures, features, type, modifier, fewerFeatures, fewerFeatures0, moreFeatures, _this = this, _null = null, _s3_ = "all",
  25330. t1 = _this.modifier,
  25331. ourModifier = t1 == null ? _null : t1.toLowerCase(),
  25332. t2 = _this.type,
  25333. t3 = t2 == null,
  25334. ourType = t3 ? _null : t2.toLowerCase(),
  25335. t4 = other.modifier,
  25336. theirModifier = t4 == null ? _null : t4.toLowerCase(),
  25337. t5 = other.type,
  25338. t6 = t5 == null,
  25339. theirType = t6 ? _null : t5.toLowerCase(),
  25340. t7 = ourType == null;
  25341. if (t7 && theirType == null) {
  25342. t1 = P.String;
  25343. t2 = H.setRuntimeTypeInfo([], [t1]);
  25344. for (t3 = _this.features, t4 = t3.length, _i = 0; _i < t4; ++_i)
  25345. t2.push(t3[_i]);
  25346. for (t3 = other.features, t4 = t3.length, _i = 0; _i < t4; ++_i)
  25347. t2.push(t3[_i]);
  25348. return new F.MediaQuerySuccessfulMergeResult(new F.CssMediaQuery(_null, _null, P.List_List$unmodifiable(t2, t1)));
  25349. }
  25350. t8 = ourModifier === "not";
  25351. if (t8 !== (theirModifier === "not")) {
  25352. if (ourType == theirType) {
  25353. negativeFeatures = t8 ? _this.features : other.features;
  25354. if (C.JSArray_methods.every$1(negativeFeatures, C.JSArray_methods.get$contains(t8 ? other.features : _this.features)))
  25355. return C._SingletonCssMediaQueryMergeResult_empty;
  25356. else
  25357. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25358. } else if (t3 || B.equalsIgnoreCase(t2, _s3_) || t6 || B.equalsIgnoreCase(t5, _s3_))
  25359. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25360. if (t8) {
  25361. features = other.features;
  25362. type = theirType;
  25363. modifier = theirModifier;
  25364. } else {
  25365. features = _this.features;
  25366. type = ourType;
  25367. modifier = ourModifier;
  25368. }
  25369. } else if (t8) {
  25370. if (ourType != theirType)
  25371. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25372. fewerFeatures = _this.features;
  25373. fewerFeatures0 = other.features;
  25374. t3 = fewerFeatures.length > fewerFeatures0.length;
  25375. moreFeatures = t3 ? fewerFeatures : fewerFeatures0;
  25376. if (t3)
  25377. fewerFeatures = fewerFeatures0;
  25378. if (!C.JSArray_methods.every$1(fewerFeatures, C.JSArray_methods.get$contains(moreFeatures)))
  25379. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25380. features = moreFeatures;
  25381. type = ourType;
  25382. modifier = ourModifier;
  25383. } else if (t3 || B.equalsIgnoreCase(t2, _s3_)) {
  25384. type = (t6 || B.equalsIgnoreCase(t5, _s3_)) && t7 ? _null : theirType;
  25385. t3 = H.setRuntimeTypeInfo([], [P.String]);
  25386. for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25387. t3.push(t6[_i]);
  25388. for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25389. t3.push(t6[_i]);
  25390. features = t3;
  25391. modifier = theirModifier;
  25392. } else {
  25393. if (t6 || B.equalsIgnoreCase(t5, _s3_)) {
  25394. t3 = H.setRuntimeTypeInfo([], [P.String]);
  25395. for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25396. t3.push(t6[_i]);
  25397. for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25398. t3.push(t6[_i]);
  25399. features = t3;
  25400. modifier = ourModifier;
  25401. } else {
  25402. if (ourType != theirType)
  25403. return C._SingletonCssMediaQueryMergeResult_empty;
  25404. else {
  25405. modifier = ourModifier == null ? theirModifier : ourModifier;
  25406. t3 = H.setRuntimeTypeInfo([], [P.String]);
  25407. for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25408. t3.push(t6[_i]);
  25409. for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25410. t3.push(t6[_i]);
  25411. }
  25412. features = t3;
  25413. }
  25414. type = ourType;
  25415. }
  25416. t2 = type == ourType ? t2 : t5;
  25417. return new F.MediaQuerySuccessfulMergeResult(F.CssMediaQuery$(t2, features, modifier == ourModifier ? t1 : t4));
  25418. },
  25419. $eq: function(_, other) {
  25420. if (other == null)
  25421. return false;
  25422. return other instanceof F.CssMediaQuery && other.modifier == this.modifier && other.type == this.type && C.C_ListEquality.equals$2(other.features, this.features);
  25423. },
  25424. get$hashCode: function(_) {
  25425. return J.get$hashCode$(this.modifier) ^ J.get$hashCode$(this.type) ^ C.C_ListEquality.hash$1(this.features);
  25426. },
  25427. toString$0: function(_) {
  25428. var t2, _this = this,
  25429. t1 = _this.modifier;
  25430. t1 = t1 != null ? t1 + " " : "";
  25431. t2 = _this.type;
  25432. if (t2 != null) {
  25433. t1 += t2;
  25434. if (_this.features.length !== 0)
  25435. t1 += " and ";
  25436. }
  25437. t1 += C.JSArray_methods.join$1(_this.features, " and ");
  25438. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25439. }
  25440. };
  25441. F._SingletonCssMediaQueryMergeResult.prototype = {
  25442. toString$0: function(_) {
  25443. return this._media_query$_name;
  25444. }
  25445. };
  25446. F.MediaQuerySuccessfulMergeResult.prototype = {};
  25447. U.ModifiableCssAtRule.prototype = {
  25448. accept$1$1: function(visitor) {
  25449. return visitor.visitCssAtRule$1(this);
  25450. },
  25451. accept$1: function(visitor) {
  25452. return this.accept$1$1(visitor, null);
  25453. },
  25454. copyWithoutChildren$0: function() {
  25455. var _this = this,
  25456. t1 = B.ModifiableCssNode,
  25457. t2 = H.setRuntimeTypeInfo([], [t1]);
  25458. return new U.ModifiableCssAtRule(_this.name, _this.value, _this.isChildless, _this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25459. },
  25460. addChild$1: function(child) {
  25461. this.super$ModifiableCssParentNode$addChild(child);
  25462. },
  25463. $isCssAtRule: 1,
  25464. get$isChildless: function() {
  25465. return this.isChildless;
  25466. },
  25467. get$span: function() {
  25468. return this.span;
  25469. }
  25470. };
  25471. R.ModifiableCssComment.prototype = {
  25472. accept$1$1: function(visitor) {
  25473. return visitor.visitCssComment$1(this);
  25474. },
  25475. accept$1: function(visitor) {
  25476. return this.accept$1$1(visitor, null);
  25477. },
  25478. $isCssComment: 1,
  25479. get$span: function() {
  25480. return this.span;
  25481. }
  25482. };
  25483. L.ModifiableCssDeclaration.prototype = {
  25484. accept$1$1: function(visitor) {
  25485. return visitor.visitCssDeclaration$1(this);
  25486. },
  25487. accept$1: function(visitor) {
  25488. return this.accept$1$1(visitor, null);
  25489. },
  25490. get$span: function() {
  25491. return this.span;
  25492. }
  25493. };
  25494. F.ModifiableCssImport.prototype = {
  25495. accept$1$1: function(visitor) {
  25496. return visitor.visitCssImport$1(this);
  25497. },
  25498. accept$1: function(visitor) {
  25499. return this.accept$1$1(visitor, null);
  25500. },
  25501. $isCssImport: 1,
  25502. get$span: function() {
  25503. return this.span;
  25504. }
  25505. };
  25506. U.ModifiableCssKeyframeBlock.prototype = {
  25507. accept$1$1: function(visitor) {
  25508. return visitor.visitCssKeyframeBlock$1(this);
  25509. },
  25510. accept$1: function(visitor) {
  25511. return this.accept$1$1(visitor, null);
  25512. },
  25513. copyWithoutChildren$0: function() {
  25514. var t1 = B.ModifiableCssNode,
  25515. t2 = H.setRuntimeTypeInfo([], [t1]);
  25516. return new U.ModifiableCssKeyframeBlock(this.selector, this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25517. },
  25518. get$span: function() {
  25519. return this.span;
  25520. }
  25521. };
  25522. G.ModifiableCssMediaRule.prototype = {
  25523. accept$1$1: function(visitor) {
  25524. return visitor.visitCssMediaRule$1(this);
  25525. },
  25526. accept$1: function(visitor) {
  25527. return this.accept$1$1(visitor, null);
  25528. },
  25529. copyWithoutChildren$0: function() {
  25530. return G.ModifiableCssMediaRule$(this.queries, this.span);
  25531. },
  25532. $isCssMediaRule: 1,
  25533. get$span: function() {
  25534. return this.span;
  25535. }
  25536. };
  25537. B.ModifiableCssNode.prototype = {
  25538. get$hasFollowingSibling: function() {
  25539. var siblings, i, t2,
  25540. t1 = this._parent;
  25541. if (t1 == null)
  25542. return false;
  25543. siblings = t1.children;
  25544. for (i = this._indexInParent + 1, t1 = siblings._collection$_source, t2 = J.getInterceptor$asx(t1); i < t2.get$length(t1); ++i)
  25545. if (!this._node0$_isInvisible$1(t2.elementAt$1(t1, i)))
  25546. return true;
  25547. return false;
  25548. },
  25549. _node0$_isInvisible$1: function(node) {
  25550. if (!!J.getInterceptor$(node).$isCssParentNode) {
  25551. if (!!node.$isCssAtRule)
  25552. return false;
  25553. if (!!node.$isCssStyleRule && node.selector.value.get$isInvisible())
  25554. return true;
  25555. return J.every$1$ax(node.get$children(), this.get$_node0$_isInvisible());
  25556. } else
  25557. return false;
  25558. },
  25559. get$isGroupEnd: function() {
  25560. return this.isGroupEnd;
  25561. }
  25562. };
  25563. B.ModifiableCssParentNode.prototype = {
  25564. get$isChildless: function() {
  25565. return false;
  25566. },
  25567. addChild$1: function(child) {
  25568. var t1;
  25569. child._parent = this;
  25570. t1 = this._children;
  25571. child._indexInParent = t1.length;
  25572. t1.push(child);
  25573. },
  25574. $isCssParentNode: 1,
  25575. get$children: function() {
  25576. return this.children;
  25577. }
  25578. };
  25579. X.ModifiableCssStyleRule.prototype = {
  25580. accept$1$1: function(visitor) {
  25581. return visitor.visitCssStyleRule$1(this);
  25582. },
  25583. accept$1: function(visitor) {
  25584. return this.accept$1$1(visitor, null);
  25585. },
  25586. copyWithoutChildren$0: function() {
  25587. return X.ModifiableCssStyleRule$(this.selector, this.span, this.originalSelector);
  25588. },
  25589. $isCssStyleRule: 1,
  25590. get$span: function() {
  25591. return this.span;
  25592. }
  25593. };
  25594. V.ModifiableCssStylesheet.prototype = {
  25595. accept$1$1: function(visitor) {
  25596. return visitor.visitCssStylesheet$1(this);
  25597. },
  25598. accept$1: function(visitor) {
  25599. return this.accept$1$1(visitor, null);
  25600. },
  25601. copyWithoutChildren$0: function() {
  25602. var t1 = B.ModifiableCssNode,
  25603. t2 = H.setRuntimeTypeInfo([], [t1]);
  25604. return new V.ModifiableCssStylesheet(this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25605. },
  25606. $isCssStylesheet: 1,
  25607. get$span: function() {
  25608. return this.span;
  25609. }
  25610. };
  25611. B.ModifiableCssSupportsRule.prototype = {
  25612. accept$1$1: function(visitor) {
  25613. return visitor.visitCssSupportsRule$1(this);
  25614. },
  25615. accept$1: function(visitor) {
  25616. return this.accept$1$1(visitor, null);
  25617. },
  25618. copyWithoutChildren$0: function() {
  25619. var t1 = B.ModifiableCssNode,
  25620. t2 = H.setRuntimeTypeInfo([], [t1]);
  25621. return new B.ModifiableCssSupportsRule(this.condition, this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25622. },
  25623. $isCssSupportsRule: 1,
  25624. get$span: function() {
  25625. return this.span;
  25626. }
  25627. };
  25628. F.ModifiableCssValue.prototype = {
  25629. toString$0: function(_) {
  25630. return J.toString$0$(this.value);
  25631. },
  25632. $isCssValue: 1,
  25633. $isAstNode: 1,
  25634. get$value: function() {
  25635. return this.value;
  25636. },
  25637. get$span: function() {
  25638. return this.span;
  25639. }
  25640. };
  25641. B.CssNode.prototype = {
  25642. toString$0: function(_) {
  25643. return N.serialize(this, true, null, true, null, false, null, true).css;
  25644. }
  25645. };
  25646. B.CssParentNode.prototype = {};
  25647. V.CssStylesheet.prototype = {
  25648. get$isGroupEnd: function() {
  25649. return false;
  25650. },
  25651. get$isChildless: function() {
  25652. return false;
  25653. },
  25654. accept$1$1: function(visitor) {
  25655. return visitor.visitCssStylesheet$1(this);
  25656. },
  25657. accept$1: function(visitor) {
  25658. return this.accept$1$1(visitor, null);
  25659. },
  25660. get$children: function() {
  25661. return this.children;
  25662. },
  25663. get$span: function() {
  25664. return this.span;
  25665. }
  25666. };
  25667. F.CssValue.prototype = {
  25668. toString$0: function(_) {
  25669. return J.toString$0$(this.value);
  25670. },
  25671. $isAstNode: 1,
  25672. get$value: function() {
  25673. return this.value;
  25674. },
  25675. get$span: function() {
  25676. return this.span;
  25677. }
  25678. };
  25679. B.AstNode.prototype = {};
  25680. Z.Argument.prototype = {
  25681. toString$0: function(_) {
  25682. var t1 = this.defaultValue,
  25683. t2 = this.name;
  25684. return t1 == null ? t2 : t2 + ": " + t1.toString$0(0);
  25685. },
  25686. $isAstNode: 1,
  25687. get$span: function() {
  25688. return this.span;
  25689. }
  25690. };
  25691. B.ArgumentDeclaration.prototype = {
  25692. get$originalRestArgument: function() {
  25693. var t1, text;
  25694. if (this.restArgument == null)
  25695. return;
  25696. t1 = this.span;
  25697. text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null);
  25698. return C.JSString_methods.substring$2(C.JSString_methods.substring$1(text, C.JSString_methods.lastIndexOf$1(text, "$")), 0, C.JSString_methods.indexOf$1(text, "."));
  25699. },
  25700. verify$2: function(positional, names) {
  25701. var t1, t2, t3, namedUsed, i, argument, t4, unknownNames, _this = this,
  25702. _s8_ = "argument";
  25703. for (t1 = _this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
  25704. argument = t1[i];
  25705. if (i < positional) {
  25706. t4 = argument.name;
  25707. if (t3.containsKey$1(t4))
  25708. throw H.wrapException(E.SassScriptException$("Argument " + H.S(_this._originalArgumentName$1(t4)) + " was passed both by position and by name."));
  25709. } else {
  25710. t4 = argument.name;
  25711. if (t3.containsKey$1(t4))
  25712. ++namedUsed;
  25713. else if (argument.defaultValue == null)
  25714. throw H.wrapException(E.SassScriptException$("Missing argument " + H.S(_this._originalArgumentName$1(t4)) + "."));
  25715. }
  25716. }
  25717. if (_this.restArgument != null)
  25718. return;
  25719. if (positional > t2) {
  25720. t1 = "Only " + t2 + " ";
  25721. throw H.wrapException(E.SassScriptException$(t1 + (names.get$isEmpty(names) ? "" : "positional ") + B.pluralize(_s8_, t2, null) + " allowed, but " + positional + " " + B.pluralize("was", positional, "were") + " passed."));
  25722. }
  25723. if (namedUsed < t3.get$length(t3)) {
  25724. unknownNames = P.LinkedHashSet_LinkedHashSet$of(names, P.String);
  25725. t2 = P.Object;
  25726. unknownNames.removeAll$1(new H.MappedListIterable(t1, new B.ArgumentDeclaration_verify_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]));
  25727. throw H.wrapException(E.SassScriptException$("No " + B.pluralize(_s8_, unknownNames._collection$_length, null) + " named " + H.S(B.toSentence(unknownNames.map$1$1(0, new B.ArgumentDeclaration_verify_closure0(), t2), "or")) + "."));
  25728. }
  25729. },
  25730. _originalArgumentName$1: function($name) {
  25731. var t1, t2, _i, argument, t3, text, end;
  25732. if ($name === this.restArgument)
  25733. return this.get$originalRestArgument();
  25734. for (t1 = this.$arguments, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  25735. argument = t1[_i];
  25736. if (argument.name === $name) {
  25737. if (argument.defaultValue == null) {
  25738. t1 = argument.span;
  25739. t2 = t1._start;
  25740. t3 = t1.file._decodedChars;
  25741. t3 = P.String_String$fromCharCodes(new Uint32Array(t3.subarray(t2, H._checkValidRange(t2, t1._file$_end, t3.length))), 0, null);
  25742. t1 = t3;
  25743. } else {
  25744. t1 = argument.span;
  25745. t2 = t1._start;
  25746. t3 = t1.file._decodedChars;
  25747. text = P.String_String$fromCharCodes(new Uint32Array(t3.subarray(t2, H._checkValidRange(t2, t1._file$_end, t3.length))), 0, null);
  25748. t3 = C.JSString_methods.substring$2(text, 0, C.JSString_methods.indexOf$1(text, ":"));
  25749. end = B._lastNonWhitespace(t3, false);
  25750. t1 = end == null ? "" : C.JSString_methods.substring$2(t3, 0, end + 1);
  25751. }
  25752. return t1;
  25753. }
  25754. }
  25755. throw H.wrapException(P.ArgumentError$('This declaration has no argument named "$' + $name + '".'));
  25756. },
  25757. matches$2: function(positional, names) {
  25758. var t1, t2, t3, namedUsed, i, argument;
  25759. for (t1 = this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
  25760. argument = t1[i];
  25761. if (i < positional) {
  25762. if (t3.containsKey$1(argument.name))
  25763. return false;
  25764. } else if (t3.containsKey$1(argument.name))
  25765. ++namedUsed;
  25766. else if (argument.defaultValue == null)
  25767. return false;
  25768. }
  25769. if (this.restArgument != null)
  25770. return true;
  25771. if (positional > t2)
  25772. return false;
  25773. if (namedUsed < t3.get$length(t3))
  25774. return false;
  25775. return true;
  25776. },
  25777. toString$0: function(_) {
  25778. var t2, t3, _i,
  25779. t1 = H.setRuntimeTypeInfo([], [P.String]);
  25780. for (t2 = this.$arguments, t3 = t2.length, _i = 0; _i < t3; ++_i)
  25781. t1.push(J.toString$0$(t2[_i]));
  25782. t2 = this.restArgument;
  25783. if (t2 != null)
  25784. t1.push(t2 + "...");
  25785. return C.JSArray_methods.join$1(t1, ", ");
  25786. },
  25787. $isAstNode: 1,
  25788. get$span: function() {
  25789. return this.span;
  25790. }
  25791. };
  25792. B.ArgumentDeclaration_verify_closure.prototype = {
  25793. call$1: function(argument) {
  25794. return argument.name;
  25795. }
  25796. };
  25797. B.ArgumentDeclaration_verify_closure0.prototype = {
  25798. call$1: function($name) {
  25799. return "$" + H.S($name);
  25800. }
  25801. };
  25802. X.ArgumentInvocation.prototype = {
  25803. get$isEmpty: function(_) {
  25804. var t1;
  25805. if (this.positional.length === 0) {
  25806. t1 = this.named;
  25807. t1 = t1.get$isEmpty(t1) && this.rest == null;
  25808. } else
  25809. t1 = false;
  25810. return t1;
  25811. },
  25812. toString$0: function(_) {
  25813. var t2, t3, _i, t4, _this = this,
  25814. t1 = H.setRuntimeTypeInfo([], [P.Object]);
  25815. for (t2 = _this.positional, t3 = t2.length, _i = 0; _i < t3; ++_i)
  25816. t1.push(t2[_i]);
  25817. for (t2 = _this.named, t3 = t2.get$keys(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  25818. t4 = t3.get$current(t3);
  25819. t1.push(H.S(t4) + ": " + H.S(t2.$index(0, t4)));
  25820. }
  25821. t2 = _this.rest;
  25822. if (t2 != null)
  25823. t1.push(t2.toString$0(0) + "...");
  25824. t2 = _this.keywordRest;
  25825. if (t2 != null)
  25826. t1.push(t2.toString$0(0) + "...");
  25827. return "(" + C.JSArray_methods.join$1(t1, ", ") + ")";
  25828. },
  25829. $isAstNode: 1,
  25830. get$span: function() {
  25831. return this.span;
  25832. }
  25833. };
  25834. V.AtRootQuery.prototype = {
  25835. excludes$1: function(node) {
  25836. var _this = this;
  25837. if (_this._all)
  25838. return !_this.include;
  25839. if (_this._at_root_query$_rule && !!J.getInterceptor$(node).$isCssStyleRule)
  25840. return !_this.include;
  25841. return _this.names.contains$1(0, _this._nameFor$1(node)) !== _this.include;
  25842. },
  25843. _nameFor$1: function(node) {
  25844. var t1 = J.getInterceptor$(node);
  25845. if (!!t1.$isCssMediaRule)
  25846. return "media";
  25847. if (!!t1.$isCssSupportsRule)
  25848. return "supports";
  25849. if (!!t1.$isCssAtRule)
  25850. return node.name.get$value().toLowerCase();
  25851. return;
  25852. }
  25853. };
  25854. T.Expression.prototype = {$isAstNode: 1};
  25855. V.BinaryOperationExpression.prototype = {
  25856. get$span: function() {
  25857. var right,
  25858. left = this.left;
  25859. for (; left instanceof V.BinaryOperationExpression;)
  25860. left = left.left;
  25861. right = this.right;
  25862. for (; right instanceof V.BinaryOperationExpression;)
  25863. right = right.right;
  25864. return B.spanForList(H.setRuntimeTypeInfo([left, right], [B.AstNode]));
  25865. },
  25866. accept$1$1: function(visitor) {
  25867. return visitor.visitBinaryOperationExpression$1(this);
  25868. },
  25869. accept$1: function(visitor) {
  25870. return this.accept$1$1(visitor, null);
  25871. },
  25872. toString$0: function(_) {
  25873. var t2, right, rightNeedsParens, _this = this,
  25874. left = _this.left,
  25875. leftNeedsParens = left instanceof V.BinaryOperationExpression && left.operator.precedence < _this.operator.precedence,
  25876. t1 = leftNeedsParens ? H.Primitives_stringFromCharCode(40) : "";
  25877. t1 += H.S(left);
  25878. if (leftNeedsParens)
  25879. t1 += H.Primitives_stringFromCharCode(41);
  25880. t2 = _this.operator;
  25881. t1 = t1 + H.Primitives_stringFromCharCode(32) + t2.operator + H.Primitives_stringFromCharCode(32);
  25882. right = _this.right;
  25883. rightNeedsParens = right instanceof V.BinaryOperationExpression && right.operator.precedence <= t2.precedence;
  25884. if (rightNeedsParens)
  25885. t1 += H.Primitives_stringFromCharCode(40);
  25886. t1 += H.S(right);
  25887. if (rightNeedsParens)
  25888. t1 += H.Primitives_stringFromCharCode(41);
  25889. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25890. },
  25891. $isAstNode: 1,
  25892. $isExpression: 1
  25893. };
  25894. V.BinaryOperator.prototype = {
  25895. toString$0: function(_) {
  25896. return this.name;
  25897. }
  25898. };
  25899. Z.BooleanExpression.prototype = {
  25900. accept$1$1: function(visitor) {
  25901. return visitor.visitBooleanExpression$1(this);
  25902. },
  25903. accept$1: function(visitor) {
  25904. return this.accept$1$1(visitor, null);
  25905. },
  25906. toString$0: function(_) {
  25907. return String(this.value);
  25908. },
  25909. $isAstNode: 1,
  25910. $isExpression: 1,
  25911. get$span: function() {
  25912. return this.span;
  25913. }
  25914. };
  25915. K.ColorExpression.prototype = {
  25916. get$span: function() {
  25917. return this.value.originalSpan;
  25918. },
  25919. accept$1$1: function(visitor) {
  25920. return visitor.visitColorExpression$1(this);
  25921. },
  25922. accept$1: function(visitor) {
  25923. return this.accept$1$1(visitor, null);
  25924. },
  25925. toString$0: function(_) {
  25926. return N.serializeValue(this.value, true, true);
  25927. },
  25928. $isAstNode: 1,
  25929. $isExpression: 1
  25930. };
  25931. F.FunctionExpression.prototype = {
  25932. accept$1$1: function(visitor) {
  25933. return visitor.visitFunctionExpression$1(this);
  25934. },
  25935. accept$1: function(visitor) {
  25936. return this.accept$1$1(visitor, null);
  25937. },
  25938. toString$0: function(_) {
  25939. var t1 = this.namespace;
  25940. t1 = t1 != null ? t1 + "." : "";
  25941. t1 += this.name.toString$0(0) + this.$arguments.toString$0(0);
  25942. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25943. },
  25944. $isAstNode: 1,
  25945. $isExpression: 1,
  25946. get$span: function() {
  25947. return this.span;
  25948. }
  25949. };
  25950. L.IfExpression.prototype = {
  25951. accept$1$1: function(visitor) {
  25952. return visitor.visitIfExpression$1(this);
  25953. },
  25954. accept$1: function(visitor) {
  25955. return this.accept$1$1(visitor, null);
  25956. },
  25957. toString$0: function(_) {
  25958. return "if" + this.$arguments.toString$0(0);
  25959. },
  25960. $isAstNode: 1,
  25961. $isExpression: 1,
  25962. get$span: function() {
  25963. return this.span;
  25964. }
  25965. };
  25966. D.ListExpression.prototype = {
  25967. accept$1$1: function(visitor) {
  25968. return visitor.visitListExpression$1(this);
  25969. },
  25970. accept$1: function(visitor) {
  25971. return this.accept$1$1(visitor, null);
  25972. },
  25973. toString$0: function(_) {
  25974. var _this = this,
  25975. t1 = _this.hasBrackets,
  25976. t2 = t1 ? H.Primitives_stringFromCharCode(91) : "",
  25977. t3 = _this.contents,
  25978. t4 = _this.separator === C.ListSeparator_comma ? ", " : " ";
  25979. t4 = t2 + new H.MappedListIterable(t3, new D.ListExpression_toString_closure(_this), [H.getTypeArgumentByIndex(t3, 0), P.String]).join$1(0, t4);
  25980. t1 = t1 ? t4 + H.Primitives_stringFromCharCode(93) : t4;
  25981. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25982. },
  25983. _list0$_elementNeedsParens$1: function(expression) {
  25984. var t2,
  25985. t1 = J.getInterceptor$(expression);
  25986. if (!!t1.$isListExpression) {
  25987. if (expression.contents.length < 2)
  25988. return false;
  25989. if (expression.hasBrackets)
  25990. return false;
  25991. t1 = this.separator;
  25992. t2 = t1 === C.ListSeparator_comma;
  25993. return t2 ? t2 : t1 !== C.ListSeparator_undecided;
  25994. }
  25995. if (this.separator !== C.ListSeparator_space)
  25996. return false;
  25997. if (!!t1.$isUnaryOperationExpression) {
  25998. t1 = expression.operator;
  25999. return t1 === C.UnaryOperator_j2w || t1 === C.UnaryOperator_U4G;
  26000. }
  26001. return false;
  26002. },
  26003. $isAstNode: 1,
  26004. $isExpression: 1,
  26005. get$span: function() {
  26006. return this.span;
  26007. }
  26008. };
  26009. D.ListExpression_toString_closure.prototype = {
  26010. call$1: function(element) {
  26011. return this.$this._list0$_elementNeedsParens$1(element) ? "(" + H.S(element) + ")" : J.toString$0$(element);
  26012. }
  26013. };
  26014. A.MapExpression.prototype = {
  26015. accept$1$1: function(visitor) {
  26016. return visitor.visitMapExpression$1(this);
  26017. },
  26018. accept$1: function(visitor) {
  26019. return this.accept$1$1(visitor, null);
  26020. },
  26021. toString$0: function(_) {
  26022. var t1 = this.pairs;
  26023. return "(" + new H.MappedListIterable(t1, new A.MapExpression_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$1(0, ", ") + ")";
  26024. },
  26025. $isAstNode: 1,
  26026. $isExpression: 1,
  26027. get$span: function() {
  26028. return this.span;
  26029. }
  26030. };
  26031. A.MapExpression_toString_closure.prototype = {
  26032. call$1: function(pair) {
  26033. return H.S(pair.item1) + ": " + H.S(pair.item2);
  26034. }
  26035. };
  26036. O.NullExpression.prototype = {
  26037. accept$1$1: function(visitor) {
  26038. return visitor.visitNullExpression$1(this);
  26039. },
  26040. accept$1: function(visitor) {
  26041. return this.accept$1$1(visitor, null);
  26042. },
  26043. toString$0: function(_) {
  26044. return "null";
  26045. },
  26046. $isAstNode: 1,
  26047. $isExpression: 1,
  26048. get$span: function() {
  26049. return this.span;
  26050. }
  26051. };
  26052. T.NumberExpression.prototype = {
  26053. accept$1$1: function(visitor) {
  26054. return visitor.visitNumberExpression$1(this);
  26055. },
  26056. accept$1: function(visitor) {
  26057. return this.accept$1$1(visitor, null);
  26058. },
  26059. toString$0: function(_) {
  26060. var t1 = H.S(this.value),
  26061. t2 = this.unit;
  26062. return t1 + (t2 == null ? "" : t2);
  26063. },
  26064. $isAstNode: 1,
  26065. $isExpression: 1,
  26066. get$span: function() {
  26067. return this.span;
  26068. }
  26069. };
  26070. T.ParenthesizedExpression.prototype = {
  26071. accept$1$1: function(visitor) {
  26072. return visitor.visitParenthesizedExpression$1(this);
  26073. },
  26074. accept$1: function(visitor) {
  26075. return this.accept$1$1(visitor, null);
  26076. },
  26077. toString$0: function(_) {
  26078. return J.toString$0$(this.expression);
  26079. },
  26080. $isAstNode: 1,
  26081. $isExpression: 1,
  26082. get$span: function() {
  26083. return this.span;
  26084. }
  26085. };
  26086. T.SelectorExpression.prototype = {
  26087. accept$1$1: function(visitor) {
  26088. return visitor.visitSelectorExpression$1(this);
  26089. },
  26090. accept$1: function(visitor) {
  26091. return this.accept$1$1(visitor, null);
  26092. },
  26093. toString$0: function(_) {
  26094. return "&";
  26095. },
  26096. $isAstNode: 1,
  26097. $isExpression: 1,
  26098. get$span: function() {
  26099. return this.span;
  26100. }
  26101. };
  26102. D.StringExpression.prototype = {
  26103. get$span: function() {
  26104. return this.text.span;
  26105. },
  26106. accept$1$1: function(visitor) {
  26107. return visitor.visitStringExpression$1(this);
  26108. },
  26109. accept$1: function(visitor) {
  26110. return this.accept$1$1(visitor, null);
  26111. },
  26112. asInterpolation$1$static: function($static) {
  26113. var quote, t1, t2, buffer, t3, t4, t5, _i, value, t6, t7, i, codeUnit, next, t8, _this = this;
  26114. if (!_this.hasQuotes)
  26115. return _this.text;
  26116. quote = _this._bestQuote$0();
  26117. t1 = new P.StringBuffer("");
  26118. t2 = [];
  26119. buffer = new Z.InterpolationBuffer(t1, t2);
  26120. t1._contents += H.Primitives_stringFromCharCode(quote);
  26121. for (t3 = _this.text, t4 = t3.contents, t5 = t4.length, _i = 0; _i < t5; ++_i) {
  26122. value = t4[_i];
  26123. if (!!J.getInterceptor$(value).$isExpression) {
  26124. buffer._flushText$0();
  26125. t2.push(value);
  26126. } else if (typeof value === "string")
  26127. for (t6 = value.length, t7 = t6 - 1, i = 0; i < t6; ++i) {
  26128. codeUnit = C.JSString_methods._codeUnitAt$1(value, i);
  26129. if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12) {
  26130. t1._contents += H.Primitives_stringFromCharCode(92);
  26131. t1._contents += H.Primitives_stringFromCharCode(97);
  26132. if (i !== t7) {
  26133. next = C.JSString_methods._codeUnitAt$1(value, i + 1);
  26134. if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12 || T.isHex(next))
  26135. t1._contents += H.Primitives_stringFromCharCode(32);
  26136. }
  26137. } else {
  26138. if (codeUnit !== quote)
  26139. if (codeUnit !== 92)
  26140. t8 = $static && codeUnit === 35 && i < t7 && C.JSString_methods._codeUnitAt$1(value, i + 1) === 123;
  26141. else
  26142. t8 = true;
  26143. else
  26144. t8 = true;
  26145. if (t8)
  26146. t1._contents += H.Primitives_stringFromCharCode(92);
  26147. t1._contents += H.Primitives_stringFromCharCode(codeUnit);
  26148. }
  26149. }
  26150. }
  26151. t1._contents += H.Primitives_stringFromCharCode(quote);
  26152. return buffer.interpolation$1(t3.span);
  26153. },
  26154. asInterpolation$0: function() {
  26155. return this.asInterpolation$1$static(false);
  26156. },
  26157. _bestQuote$0: function() {
  26158. var t1, t2, containsDoubleQuote, _i, value, t3, i, codeUnit;
  26159. for (t1 = this.text.contents, t2 = t1.length, containsDoubleQuote = false, _i = 0; _i < t2; ++_i) {
  26160. value = t1[_i];
  26161. if (typeof value === "string")
  26162. for (t3 = value.length, i = 0; i < t3; ++i) {
  26163. codeUnit = C.JSString_methods._codeUnitAt$1(value, i);
  26164. if (codeUnit === 39)
  26165. return 34;
  26166. if (codeUnit === 34)
  26167. containsDoubleQuote = true;
  26168. }
  26169. }
  26170. return containsDoubleQuote ? 39 : 34;
  26171. },
  26172. toString$0: function(_) {
  26173. return this.asInterpolation$0().toString$0(0);
  26174. },
  26175. $isAstNode: 1,
  26176. $isExpression: 1
  26177. };
  26178. X.UnaryOperationExpression.prototype = {
  26179. accept$1$1: function(visitor) {
  26180. return visitor.visitUnaryOperationExpression$1(this);
  26181. },
  26182. accept$1: function(visitor) {
  26183. return this.accept$1$1(visitor, null);
  26184. },
  26185. toString$0: function(_) {
  26186. var t1 = this.operator,
  26187. t2 = t1.operator;
  26188. t1 = t1 === C.UnaryOperator_not_not ? t2 + H.Primitives_stringFromCharCode(32) : t2;
  26189. t1 += H.S(this.operand);
  26190. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26191. },
  26192. $isAstNode: 1,
  26193. $isExpression: 1,
  26194. get$span: function() {
  26195. return this.span;
  26196. }
  26197. };
  26198. X.UnaryOperator.prototype = {
  26199. toString$0: function(_) {
  26200. return this.name;
  26201. }
  26202. };
  26203. F.ValueExpression.prototype = {
  26204. accept$1$1: function(visitor) {
  26205. return visitor.visitValueExpression$1(this);
  26206. },
  26207. accept$1: function(visitor) {
  26208. return this.accept$1$1(visitor, null);
  26209. },
  26210. toString$0: function(_) {
  26211. return J.toString$0$(this.value);
  26212. },
  26213. $isAstNode: 1,
  26214. $isExpression: 1,
  26215. get$span: function() {
  26216. return this.span;
  26217. }
  26218. };
  26219. S.VariableExpression.prototype = {
  26220. accept$1$1: function(visitor) {
  26221. return visitor.visitVariableExpression$1(this);
  26222. },
  26223. accept$1: function(visitor) {
  26224. return this.accept$1$1(visitor, null);
  26225. },
  26226. toString$0: function(_) {
  26227. var t1 = this.namespace;
  26228. t1 = t1 != null ? "$" + (t1 + ".") : "$";
  26229. t1 += this.name;
  26230. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26231. },
  26232. $isAstNode: 1,
  26233. $isExpression: 1,
  26234. get$span: function() {
  26235. return this.span;
  26236. }
  26237. };
  26238. F.Import.prototype = {$isAstNode: 1};
  26239. B.DynamicImport.prototype = {
  26240. toString$0: function(_) {
  26241. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([this.url], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain();
  26242. },
  26243. $isAstNode: 1,
  26244. $isImport: 1,
  26245. get$span: function() {
  26246. return this.span;
  26247. }
  26248. };
  26249. Q.StaticImport.prototype = {
  26250. toString$0: function(_) {
  26251. var t1 = this.url.toString$0(0),
  26252. t2 = this.supports;
  26253. if (t2 != null)
  26254. t1 += " supports(" + t2.toString$0(0) + ")";
  26255. t2 = this.media;
  26256. if (t2 != null)
  26257. t1 += " " + t2.toString$0(0);
  26258. t1 += H.Primitives_stringFromCharCode(59);
  26259. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26260. },
  26261. $isAstNode: 1,
  26262. $isImport: 1,
  26263. get$span: function() {
  26264. return this.span;
  26265. }
  26266. };
  26267. X.Interpolation.prototype = {
  26268. get$asPlain: function() {
  26269. var first,
  26270. t1 = this.contents,
  26271. t2 = t1.length;
  26272. if (t2 === 0)
  26273. return "";
  26274. if (t2 > 1)
  26275. return;
  26276. first = C.JSArray_methods.get$first(t1);
  26277. return typeof first === "string" ? first : null;
  26278. },
  26279. Interpolation$2: function(contents, span) {
  26280. var t1, t2, i, t3, t4,
  26281. _s8_ = "contents";
  26282. for (t1 = this.contents, t2 = t1.length, i = 0; i < t2; ++i) {
  26283. t3 = t1[i];
  26284. t4 = typeof t3 === "string";
  26285. if (!t4 && !J.getInterceptor$(t3).$isExpression)
  26286. throw H.wrapException(P.ArgumentError$value(t1, _s8_, "May only contains Strings or Expressions."));
  26287. if (i !== 0) {
  26288. t3 = t1[i - 1];
  26289. t3 = typeof t3 === "string" && t4;
  26290. } else
  26291. t3 = false;
  26292. if (t3)
  26293. throw H.wrapException(P.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings."));
  26294. }
  26295. },
  26296. toString$0: function(_) {
  26297. var t1 = this.contents;
  26298. return new H.MappedListIterable(t1, new X.Interpolation_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0);
  26299. },
  26300. $isAstNode: 1,
  26301. get$span: function() {
  26302. return this.span;
  26303. }
  26304. };
  26305. X.Interpolation_toString_closure.prototype = {
  26306. call$1: function(value) {
  26307. return typeof value === "string" ? value : "#{" + H.S(value) + "}";
  26308. },
  26309. $signature: 13
  26310. };
  26311. B.SassNode.prototype = {};
  26312. O.Statement.prototype = {$isAstNode: 1};
  26313. V.AtRootRule.prototype = {
  26314. accept$1$1: function(visitor) {
  26315. return visitor.visitAtRootRule$1(this);
  26316. },
  26317. accept$1: function(visitor) {
  26318. return this.accept$1$1(visitor, null);
  26319. },
  26320. toString$0: function(_) {
  26321. var buffer = new P.StringBuffer("@at-root "),
  26322. t1 = this.query;
  26323. if (t1 != null)
  26324. buffer._contents = "@at-root " + (t1.toString$0(0) + " ");
  26325. t1 = this.children;
  26326. return buffer.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26327. },
  26328. get$span: function() {
  26329. return this.span;
  26330. }
  26331. };
  26332. U.AtRule.prototype = {
  26333. accept$1$1: function(visitor) {
  26334. return visitor.visitAtRule$1(this);
  26335. },
  26336. accept$1: function(visitor) {
  26337. return this.accept$1$1(visitor, null);
  26338. },
  26339. toString$0: function(_) {
  26340. var t1 = "@" + this.name.toString$0(0),
  26341. buffer = new P.StringBuffer(t1),
  26342. t2 = this.value;
  26343. if (t2 != null)
  26344. buffer._contents = t1 + (" " + t2.toString$0(0));
  26345. t1 = this.children;
  26346. return t1 == null ? buffer.toString$0(0) + ";" : buffer.toString$0(0) + " {" + C.JSArray_methods.join$1(t1, " ") + "}";
  26347. },
  26348. get$span: function() {
  26349. return this.span;
  26350. }
  26351. };
  26352. M.CallableDeclaration.prototype = {
  26353. get$span: function() {
  26354. return this.span;
  26355. }
  26356. };
  26357. Y.ContentBlock.prototype = {
  26358. accept$1$1: function(visitor) {
  26359. return visitor.visitContentBlock$1(this);
  26360. },
  26361. accept$1: function(visitor) {
  26362. return this.accept$1$1(visitor, null);
  26363. },
  26364. toString$0: function(_) {
  26365. var t2,
  26366. t1 = this.$arguments;
  26367. t1 = t1.$arguments.length === 0 && t1.restArgument == null ? "" : " using (" + t1.toString$0(0) + ")";
  26368. t2 = this.children;
  26369. return t1 + (" {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}");
  26370. }
  26371. };
  26372. Q.ContentRule.prototype = {
  26373. accept$1$1: function(visitor) {
  26374. return visitor.visitContentRule$1(this);
  26375. },
  26376. accept$1: function(visitor) {
  26377. return this.accept$1$1(visitor, null);
  26378. },
  26379. toString$0: function(_) {
  26380. var t1 = this.$arguments;
  26381. return t1.get$isEmpty(t1) ? "@content;" : "@content(" + t1.toString$0(0) + ");";
  26382. },
  26383. $isAstNode: 1,
  26384. $isStatement: 1,
  26385. get$span: function() {
  26386. return this.span;
  26387. }
  26388. };
  26389. Q.DebugRule.prototype = {
  26390. accept$1$1: function(visitor) {
  26391. return visitor.visitDebugRule$1(this);
  26392. },
  26393. accept$1: function(visitor) {
  26394. return this.accept$1$1(visitor, null);
  26395. },
  26396. toString$0: function(_) {
  26397. return "@debug " + H.S(this.expression) + ";";
  26398. },
  26399. $isAstNode: 1,
  26400. $isStatement: 1,
  26401. get$span: function() {
  26402. return this.span;
  26403. }
  26404. };
  26405. L.Declaration.prototype = {
  26406. accept$1$1: function(visitor) {
  26407. return visitor.visitDeclaration$1(this);
  26408. },
  26409. accept$1: function(visitor) {
  26410. return this.accept$1$1(visitor, null);
  26411. },
  26412. toString$0: function(_) {
  26413. return H.S(this.name) + ": " + H.S(this.value) + ";";
  26414. },
  26415. get$span: function() {
  26416. return this.span;
  26417. }
  26418. };
  26419. V.EachRule.prototype = {
  26420. accept$1$1: function(visitor) {
  26421. return visitor.visitEachRule$1(this);
  26422. },
  26423. accept$1: function(visitor) {
  26424. return this.accept$1$1(visitor, null);
  26425. },
  26426. toString$0: function(_) {
  26427. var t1 = this.variables,
  26428. t2 = this.children;
  26429. return "@each " + new H.MappedListIterable(t1, new V.EachRule_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$1(0, ", ") + " in " + H.S(this.list) + " {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}";
  26430. },
  26431. get$span: function() {
  26432. return this.span;
  26433. }
  26434. };
  26435. V.EachRule_toString_closure.prototype = {
  26436. call$1: function(variable) {
  26437. return C.JSString_methods.$add("$", variable);
  26438. }
  26439. };
  26440. D.ErrorRule.prototype = {
  26441. accept$1$1: function(visitor) {
  26442. return visitor.visitErrorRule$1(this);
  26443. },
  26444. accept$1: function(visitor) {
  26445. return this.accept$1$1(visitor, null);
  26446. },
  26447. toString$0: function(_) {
  26448. return "@error " + H.S(this.expression) + ";";
  26449. },
  26450. $isAstNode: 1,
  26451. $isStatement: 1,
  26452. get$span: function() {
  26453. return this.span;
  26454. }
  26455. };
  26456. X.ExtendRule.prototype = {
  26457. accept$1$1: function(visitor) {
  26458. return visitor.visitExtendRule$1(this);
  26459. },
  26460. accept$1: function(visitor) {
  26461. return this.accept$1$1(visitor, null);
  26462. },
  26463. toString$0: function(_) {
  26464. return "@extend " + this.selector.toString$0(0);
  26465. },
  26466. $isAstNode: 1,
  26467. $isStatement: 1,
  26468. get$span: function() {
  26469. return this.span;
  26470. }
  26471. };
  26472. B.ForRule.prototype = {
  26473. accept$1$1: function(visitor) {
  26474. return visitor.visitForRule$1(this);
  26475. },
  26476. accept$1: function(visitor) {
  26477. return this.accept$1$1(visitor, null);
  26478. },
  26479. toString$0: function(_) {
  26480. var _this = this,
  26481. t1 = "@for $" + _this.variable + " from " + H.S(_this.from) + " ",
  26482. t2 = _this.children;
  26483. return t1 + (_this.isExclusive ? "to" : "through") + " " + H.S(_this.to) + " {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}";
  26484. },
  26485. get$span: function() {
  26486. return this.span;
  26487. }
  26488. };
  26489. L.ForwardRule.prototype = {
  26490. accept$1$1: function(visitor) {
  26491. return visitor.visitForwardRule$1(this);
  26492. },
  26493. accept$1: function(visitor) {
  26494. return this.accept$1$1(visitor, null);
  26495. },
  26496. toString$0: function(_) {
  26497. var _this = this,
  26498. t1 = "@forward " + H.S(new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([J.toString$0$(_this.url)], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain()),
  26499. t2 = _this.shownMixinsAndFunctions;
  26500. if (t2 != null)
  26501. t1 = t1 + " show " + _this._forward_rule$_memberList$2(t2, _this.shownVariables);
  26502. else {
  26503. t2 = _this.hiddenMixinsAndFunctions;
  26504. if (t2 != null)
  26505. t1 = t1 + " hide " + _this._forward_rule$_memberList$2(t2, _this.hiddenVariables);
  26506. }
  26507. t2 = _this.prefix;
  26508. t1 = (t2 != null ? t1 + (" as " + t2 + "*") : t1) + ";";
  26509. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26510. },
  26511. _forward_rule$_memberList$2: function(mixinsAndFunctions, variables) {
  26512. var t1 = this.shownVariables._base.map$1$1(0, new L.ForwardRule__memberList_closure(), P.String);
  26513. return this.shownMixinsAndFunctions._base.followedBy$1(0, t1).join$1(0, ", ");
  26514. },
  26515. $isAstNode: 1,
  26516. $isStatement: 1,
  26517. get$span: function() {
  26518. return this.span;
  26519. }
  26520. };
  26521. L.ForwardRule__memberList_closure.prototype = {
  26522. call$1: function($name) {
  26523. return "$" + H.S($name);
  26524. }
  26525. };
  26526. M.FunctionRule.prototype = {
  26527. accept$1$1: function(visitor) {
  26528. return visitor.visitFunctionRule$1(this);
  26529. },
  26530. accept$1: function(visitor) {
  26531. return this.accept$1$1(visitor, null);
  26532. },
  26533. toString$0: function(_) {
  26534. var t1 = this.children;
  26535. return "@function " + H.S(this.name) + "(" + this.$arguments.toString$0(0) + ") {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26536. }
  26537. };
  26538. V.IfRule.prototype = {
  26539. accept$1$1: function(visitor) {
  26540. return visitor.visitIfRule$1(this);
  26541. },
  26542. accept$1: function(visitor) {
  26543. return this.accept$1$1(visitor, null);
  26544. },
  26545. toString$0: function(_) {
  26546. var t2, t1 = {};
  26547. t1.first = true;
  26548. t2 = this.clauses;
  26549. return new H.MappedListIterable(t2, new V.IfRule_toString_closure(t1), [H.getTypeArgumentByIndex(t2, 0), P.String]).join$1(0, " ");
  26550. },
  26551. $isAstNode: 1,
  26552. $isStatement: 1,
  26553. get$span: function() {
  26554. return this.span;
  26555. }
  26556. };
  26557. V.IfRule_toString_closure.prototype = {
  26558. call$1: function(clause) {
  26559. var t1 = this._box_0,
  26560. $name = t1.first ? "if" : "else";
  26561. t1.first = false;
  26562. return "@" + $name + " " + H.S(clause.expression) + " {" + C.JSArray_methods.join$1(clause.children, " ") + "}";
  26563. }
  26564. };
  26565. V.IfClause.prototype = {
  26566. toString$0: function(_) {
  26567. var t1 = this.expression;
  26568. t1 = t1 == null ? "@else" : "@if " + t1.toString$0(0);
  26569. return t1 + (" {" + C.JSArray_methods.join$1(this.children, " ") + "}");
  26570. }
  26571. };
  26572. V.IfClause$__closure.prototype = {
  26573. call$1: function(child) {
  26574. var t1 = J.getInterceptor$(child);
  26575. return !!t1.$isVariableDeclaration || !!t1.$isFunctionRule || !!t1.$isMixinRule;
  26576. }
  26577. };
  26578. B.ImportRule.prototype = {
  26579. accept$1$1: function(visitor) {
  26580. return visitor.visitImportRule$1(this);
  26581. },
  26582. accept$1: function(visitor) {
  26583. return this.accept$1$1(visitor, null);
  26584. },
  26585. toString$0: function(_) {
  26586. return "@import " + C.JSArray_methods.join$1(this.imports, ", ") + ";";
  26587. },
  26588. $isAstNode: 1,
  26589. $isStatement: 1,
  26590. get$span: function() {
  26591. return this.span;
  26592. }
  26593. };
  26594. A.IncludeRule.prototype = {
  26595. accept$1$1: function(visitor) {
  26596. return visitor.visitIncludeRule$1(this);
  26597. },
  26598. accept$1: function(visitor) {
  26599. return this.accept$1$1(visitor, null);
  26600. },
  26601. toString$0: function(_) {
  26602. var t2, _this = this,
  26603. t1 = _this.namespace;
  26604. t1 = t1 != null ? "@include " + (t1 + ".") : "@include ";
  26605. t1 += _this.name;
  26606. t2 = _this.$arguments;
  26607. if (!t2.get$isEmpty(t2))
  26608. t1 += "(" + t2.toString$0(0) + ")";
  26609. t2 = _this.content;
  26610. t1 += t2 == null ? ";" : " " + t2.toString$0(0);
  26611. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26612. },
  26613. $isAstNode: 1,
  26614. $isStatement: 1,
  26615. get$span: function() {
  26616. return this.span;
  26617. }
  26618. };
  26619. L.LoudComment.prototype = {
  26620. get$span: function() {
  26621. return this.text.span;
  26622. },
  26623. accept$1$1: function(visitor) {
  26624. return visitor.visitLoudComment$1(this);
  26625. },
  26626. accept$1: function(visitor) {
  26627. return this.accept$1$1(visitor, null);
  26628. },
  26629. toString$0: function(_) {
  26630. return this.text.toString$0(0);
  26631. },
  26632. $isAstNode: 1,
  26633. $isStatement: 1
  26634. };
  26635. G.MediaRule.prototype = {
  26636. accept$1$1: function(visitor) {
  26637. return visitor.visitMediaRule$1(this);
  26638. },
  26639. accept$1: function(visitor) {
  26640. return this.accept$1$1(visitor, null);
  26641. },
  26642. toString$0: function(_) {
  26643. var t1 = this.children;
  26644. return "@media " + this.query.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26645. },
  26646. get$span: function() {
  26647. return this.span;
  26648. }
  26649. };
  26650. T.MixinRule.prototype = {
  26651. accept$1$1: function(visitor) {
  26652. return visitor.visitMixinRule$1(this);
  26653. },
  26654. accept$1: function(visitor) {
  26655. return this.accept$1$1(visitor, null);
  26656. },
  26657. toString$0: function(_) {
  26658. var t1 = "@mixin " + H.S(this.name),
  26659. t2 = this.$arguments;
  26660. if (!(t2.$arguments.length === 0 && t2.restArgument == null))
  26661. t1 += "(" + t2.toString$0(0) + ")";
  26662. t2 = this.children;
  26663. t2 = t1 + (" {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}");
  26664. return t2.charCodeAt(0) == 0 ? t2 : t2;
  26665. }
  26666. };
  26667. M.ParentStatement.prototype = {$isAstNode: 1, $isStatement: 1};
  26668. M.ParentStatement_closure.prototype = {
  26669. call$1: function(child) {
  26670. var t1 = J.getInterceptor$(child);
  26671. return !!t1.$isVariableDeclaration || !!t1.$isFunctionRule || !!t1.$isMixinRule;
  26672. }
  26673. };
  26674. B.ReturnRule.prototype = {
  26675. accept$1$1: function(visitor) {
  26676. return visitor.visitReturnRule$1(this);
  26677. },
  26678. accept$1: function(visitor) {
  26679. return this.accept$1$1(visitor, null);
  26680. },
  26681. toString$0: function(_) {
  26682. return "@return " + H.S(this.expression) + ";";
  26683. },
  26684. $isAstNode: 1,
  26685. $isStatement: 1,
  26686. get$span: function() {
  26687. return this.span;
  26688. }
  26689. };
  26690. B.SilentComment.prototype = {
  26691. accept$1$1: function(visitor) {
  26692. return visitor.visitSilentComment$1(this);
  26693. },
  26694. accept$1: function(visitor) {
  26695. return this.accept$1$1(visitor, null);
  26696. },
  26697. toString$0: function(_) {
  26698. return this.text;
  26699. },
  26700. $isAstNode: 1,
  26701. $isStatement: 1,
  26702. get$span: function() {
  26703. return this.span;
  26704. }
  26705. };
  26706. X.StyleRule.prototype = {
  26707. accept$1$1: function(visitor) {
  26708. return visitor.visitStyleRule$1(this);
  26709. },
  26710. accept$1: function(visitor) {
  26711. return this.accept$1$1(visitor, null);
  26712. },
  26713. toString$0: function(_) {
  26714. var t1 = this.children;
  26715. return this.selector.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26716. },
  26717. get$span: function() {
  26718. return this.span;
  26719. }
  26720. };
  26721. V.Stylesheet.prototype = {
  26722. Stylesheet$3$plainCss: function(children, span, plainCss) {
  26723. var t1, t2, t3, t4, _i, child, t5;
  26724. for (t1 = this.children, t2 = t1.length, t3 = this._forwards, t4 = this._uses, _i = 0; _i < t2; ++_i) {
  26725. child = t1[_i];
  26726. t5 = J.getInterceptor$(child);
  26727. if (!!t5.$isUseRule)
  26728. t4.push(child);
  26729. else if (!!t5.$isForwardRule)
  26730. t3.push(child);
  26731. else if (!t5.$isSilentComment && !t5.$isLoudComment && !t5.$isVariableDeclaration)
  26732. break;
  26733. }
  26734. },
  26735. accept$1$1: function(visitor) {
  26736. return visitor.visitStylesheet$1(this);
  26737. },
  26738. accept$1: function(visitor) {
  26739. return this.accept$1$1(visitor, null);
  26740. },
  26741. toString$0: function(_) {
  26742. var t1 = this.children;
  26743. return (t1 && C.JSArray_methods).join$1(t1, " ");
  26744. },
  26745. get$span: function() {
  26746. return this.span;
  26747. }
  26748. };
  26749. B.SupportsRule.prototype = {
  26750. accept$1$1: function(visitor) {
  26751. return visitor.visitSupportsRule$1(this);
  26752. },
  26753. accept$1: function(visitor) {
  26754. return this.accept$1$1(visitor, null);
  26755. },
  26756. toString$0: function(_) {
  26757. var t1 = this.children;
  26758. return "@supports " + this.condition.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26759. },
  26760. get$span: function() {
  26761. return this.span;
  26762. }
  26763. };
  26764. T.UseRule.prototype = {
  26765. accept$1$1: function(visitor) {
  26766. return visitor.visitUseRule$1(this);
  26767. },
  26768. accept$1: function(visitor) {
  26769. return this.accept$1$1(visitor, null);
  26770. },
  26771. toString$0: function(_) {
  26772. var t1 = this.url,
  26773. t2 = "@use " + H.S(new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([J.toString$0$(t1)], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain()),
  26774. basename = t1.get$pathSegments().length === 0 ? "" : C.JSArray_methods.get$last(t1.get$pathSegments()),
  26775. dot = J.getInterceptor$asx(basename).indexOf$1(basename, ".");
  26776. t1 = this.namespace;
  26777. if (t1 !== C.JSString_methods.substring$2(basename, 0, dot === -1 ? basename.length : dot))
  26778. t1 = t2 + (" as " + (t1 == null ? "*" : t1));
  26779. else
  26780. t1 = t2;
  26781. t2 = this.configuration;
  26782. t1 = (t2.get$isNotEmpty(t2) ? t1 + " with (" + t2.get$entries().map$1$1(0, new T.UseRule_toString_closure(), P.String).join$1(0, ", ") + ")" : t1) + ";";
  26783. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26784. },
  26785. $isAstNode: 1,
  26786. $isStatement: 1,
  26787. get$span: function() {
  26788. return this.span;
  26789. }
  26790. };
  26791. T.UseRule_toString_closure.prototype = {
  26792. call$1: function(entry) {
  26793. return "$" + H.S(entry.key) + ": " + H.S(entry.value.item1);
  26794. }
  26795. };
  26796. Z.VariableDeclaration.prototype = {
  26797. accept$1$1: function(visitor) {
  26798. return visitor.visitVariableDeclaration$1(this);
  26799. },
  26800. accept$1: function(visitor) {
  26801. return this.accept$1$1(visitor, null);
  26802. },
  26803. toString$0: function(_) {
  26804. var t1 = this.namespace;
  26805. t1 = t1 != null ? "$" + (t1 + ".") : "$";
  26806. t1 += this.name + ": " + H.S(this.expression) + ";";
  26807. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26808. },
  26809. $isAstNode: 1,
  26810. $isStatement: 1,
  26811. get$span: function() {
  26812. return this.span;
  26813. }
  26814. };
  26815. Y.WarnRule.prototype = {
  26816. accept$1$1: function(visitor) {
  26817. return visitor.visitWarnRule$1(this);
  26818. },
  26819. accept$1: function(visitor) {
  26820. return this.accept$1$1(visitor, null);
  26821. },
  26822. toString$0: function(_) {
  26823. return "@warn " + H.S(this.expression) + ";";
  26824. },
  26825. $isAstNode: 1,
  26826. $isStatement: 1,
  26827. get$span: function() {
  26828. return this.span;
  26829. }
  26830. };
  26831. G.WhileRule.prototype = {
  26832. accept$1$1: function(visitor) {
  26833. return visitor.visitWhileRule$1(this);
  26834. },
  26835. accept$1: function(visitor) {
  26836. return this.accept$1$1(visitor, null);
  26837. },
  26838. toString$0: function(_) {
  26839. var t1 = this.children;
  26840. return "@while " + H.S(this.condition) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26841. },
  26842. get$span: function() {
  26843. return this.span;
  26844. }
  26845. };
  26846. N.SupportsCondition.prototype = {};
  26847. L.SupportsDeclaration.prototype = {
  26848. toString$0: function(_) {
  26849. return "(" + H.S(this.name) + ": " + H.S(this.value) + ")";
  26850. },
  26851. $isAstNode: 1,
  26852. get$span: function() {
  26853. return this.span;
  26854. }
  26855. };
  26856. X.SupportsInterpolation.prototype = {
  26857. toString$0: function(_) {
  26858. return "#{" + H.S(this.expression) + "}";
  26859. },
  26860. $isAstNode: 1,
  26861. get$span: function() {
  26862. return this.span;
  26863. }
  26864. };
  26865. M.SupportsNegation.prototype = {
  26866. toString$0: function(_) {
  26867. var t1 = this.condition;
  26868. if (!!t1.$isSupportsNegation || !!t1.$isSupportsOperation)
  26869. return "not (" + t1.toString$0(0) + ")";
  26870. else
  26871. return "not " + t1.toString$0(0);
  26872. },
  26873. $isAstNode: 1,
  26874. get$span: function() {
  26875. return this.span;
  26876. }
  26877. };
  26878. U.SupportsOperation.prototype = {
  26879. toString$0: function(_) {
  26880. var _this = this;
  26881. return _this._operation$_parenthesize$1(_this.left) + " " + _this.operator + " " + _this._operation$_parenthesize$1(_this.right);
  26882. },
  26883. _operation$_parenthesize$1: function(condition) {
  26884. var t1;
  26885. if (!condition.$isSupportsNegation)
  26886. t1 = !!condition.$isSupportsOperation && condition.operator === this.operator;
  26887. else
  26888. t1 = true;
  26889. return t1 ? "(" + condition.toString$0(0) + ")" : condition.toString$0(0);
  26890. },
  26891. $isAstNode: 1,
  26892. get$span: function() {
  26893. return this.span;
  26894. }
  26895. };
  26896. T.Selector.prototype = {
  26897. get$isInvisible: function() {
  26898. return false;
  26899. },
  26900. toString$0: function(_) {
  26901. var visitor = N._SerializeVisitor$(null, true, null, true, false, null, true);
  26902. this.accept$1(visitor);
  26903. return visitor._serialize$_buffer.toString$0(0);
  26904. }
  26905. };
  26906. N.AttributeSelector.prototype = {
  26907. accept$1$1: function(visitor) {
  26908. var t2, _this = this,
  26909. t1 = visitor._serialize$_buffer;
  26910. t1.writeCharCode$1(91);
  26911. t1.write$1(0, _this.name);
  26912. t2 = _this.op;
  26913. if (t2 != null) {
  26914. t1.write$1(0, t2);
  26915. t2 = _this.value;
  26916. if (G.Parser_isIdentifier(t2) && !J.startsWith$1$s(t2, "--")) {
  26917. t1.write$1(0, t2);
  26918. t2 = _this.modifier;
  26919. if (t2 != null)
  26920. t1.writeCharCode$1(32);
  26921. } else {
  26922. visitor._visitQuotedString$1(t2);
  26923. t2 = _this.modifier;
  26924. if (t2 != null)
  26925. if (visitor._style !== C.OutputStyle_compressed)
  26926. t1.writeCharCode$1(32);
  26927. }
  26928. if (t2 != null)
  26929. t1.write$1(0, t2);
  26930. }
  26931. t1.writeCharCode$1(93);
  26932. return;
  26933. },
  26934. accept$1: function(visitor) {
  26935. return this.accept$1$1(visitor, null);
  26936. },
  26937. $eq: function(_, other) {
  26938. var _this = this;
  26939. if (other == null)
  26940. return false;
  26941. return other instanceof N.AttributeSelector && other.name.$eq(0, _this.name) && other.op == _this.op && other.value == _this.value && other.modifier == _this.modifier;
  26942. },
  26943. get$hashCode: function(_) {
  26944. var _this = this,
  26945. t1 = _this.name;
  26946. return (C.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace) ^ J.get$hashCode$(_this.op) ^ J.get$hashCode$(_this.value) ^ J.get$hashCode$(_this.modifier)) >>> 0;
  26947. }
  26948. };
  26949. N.AttributeOperator.prototype = {
  26950. toString$0: function(_) {
  26951. return this._attribute$_text;
  26952. }
  26953. };
  26954. X.ClassSelector.prototype = {
  26955. $eq: function(_, other) {
  26956. if (other == null)
  26957. return false;
  26958. return other instanceof X.ClassSelector && other.name === this.name;
  26959. },
  26960. accept$1$1: function(visitor) {
  26961. var t1 = visitor._serialize$_buffer;
  26962. t1.writeCharCode$1(46);
  26963. t1.write$1(0, this.name);
  26964. return;
  26965. },
  26966. accept$1: function(visitor) {
  26967. return this.accept$1$1(visitor, null);
  26968. },
  26969. addSuffix$1: function(suffix) {
  26970. return new X.ClassSelector(this.name + suffix);
  26971. },
  26972. get$hashCode: function(_) {
  26973. return C.JSString_methods.get$hashCode(this.name);
  26974. }
  26975. };
  26976. S.ComplexSelector.prototype = {
  26977. get$minSpecificity: function() {
  26978. if (this._minSpecificity == null)
  26979. this._computeSpecificity$0();
  26980. return this._minSpecificity;
  26981. },
  26982. get$maxSpecificity: function() {
  26983. if (this._maxSpecificity == null)
  26984. this._computeSpecificity$0();
  26985. return this._maxSpecificity;
  26986. },
  26987. get$isInvisible: function() {
  26988. var t1 = this._complex$_isInvisible;
  26989. if (t1 != null)
  26990. return t1;
  26991. return this._complex$_isInvisible = C.JSArray_methods.any$1(this.components, new S.ComplexSelector_isInvisible_closure());
  26992. },
  26993. accept$1$1: function(visitor) {
  26994. return visitor.visitComplexSelector$1(this);
  26995. },
  26996. accept$1: function(visitor) {
  26997. return this.accept$1$1(visitor, null);
  26998. },
  26999. _computeSpecificity$0: function() {
  27000. var t1, t2, component, t3, _this = this,
  27001. _i = _this._maxSpecificity = _this._minSpecificity = 0;
  27002. for (t1 = _this.components, t2 = t1.length; _i < t2; ++_i) {
  27003. component = t1[_i];
  27004. if (component instanceof X.CompoundSelector) {
  27005. t3 = _this._minSpecificity;
  27006. if (component._compound$_minSpecificity == null)
  27007. component._compound$_computeSpecificity$0();
  27008. _this._minSpecificity = t3 + component._compound$_minSpecificity;
  27009. t3 = _this._maxSpecificity;
  27010. if (component._compound$_maxSpecificity == null)
  27011. component._compound$_computeSpecificity$0();
  27012. _this._maxSpecificity = t3 + component._compound$_maxSpecificity;
  27013. }
  27014. }
  27015. },
  27016. get$hashCode: function(_) {
  27017. return C.C_ListEquality.hash$1(this.components);
  27018. },
  27019. $eq: function(_, other) {
  27020. if (other == null)
  27021. return false;
  27022. return other instanceof S.ComplexSelector && C.C_ListEquality.equals$2(this.components, other.components);
  27023. }
  27024. };
  27025. S.ComplexSelector_isInvisible_closure.prototype = {
  27026. call$1: function(component) {
  27027. return component instanceof X.CompoundSelector && component.get$isInvisible();
  27028. }
  27029. };
  27030. S.ComplexSelectorComponent.prototype = {};
  27031. S.Combinator.prototype = {
  27032. toString$0: function(_) {
  27033. return this._complex$_text;
  27034. },
  27035. $isComplexSelectorComponent: 1
  27036. };
  27037. X.CompoundSelector.prototype = {
  27038. get$isInvisible: function() {
  27039. return C.JSArray_methods.any$1(this.components, new X.CompoundSelector_isInvisible_closure());
  27040. },
  27041. accept$1$1: function(visitor) {
  27042. return visitor.visitCompoundSelector$1(this);
  27043. },
  27044. accept$1: function(visitor) {
  27045. return this.accept$1$1(visitor, null);
  27046. },
  27047. _compound$_computeSpecificity$0: function() {
  27048. var t1, t2, simple, _this = this,
  27049. _i = _this._compound$_maxSpecificity = _this._compound$_minSpecificity = 0;
  27050. for (t1 = _this.components, t2 = t1.length; _i < t2; ++_i) {
  27051. simple = t1[_i];
  27052. _this._compound$_minSpecificity = _this._compound$_minSpecificity + simple.get$minSpecificity();
  27053. _this._compound$_maxSpecificity = _this._compound$_maxSpecificity + simple.get$maxSpecificity();
  27054. }
  27055. },
  27056. get$hashCode: function(_) {
  27057. return C.C_ListEquality.hash$1(this.components);
  27058. },
  27059. $eq: function(_, other) {
  27060. if (other == null)
  27061. return false;
  27062. return other instanceof X.CompoundSelector && C.C_ListEquality.equals$2(this.components, other.components);
  27063. },
  27064. $isComplexSelectorComponent: 1
  27065. };
  27066. X.CompoundSelector_isInvisible_closure.prototype = {
  27067. call$1: function(component) {
  27068. return component.get$isInvisible();
  27069. }
  27070. };
  27071. N.IDSelector.prototype = {
  27072. get$minSpecificity: function() {
  27073. return H.intTypeCast(Math.pow(M.SimpleSelector.prototype.get$minSpecificity.call(this), 2));
  27074. },
  27075. accept$1$1: function(visitor) {
  27076. var t1 = visitor._serialize$_buffer;
  27077. t1.writeCharCode$1(35);
  27078. t1.write$1(0, this.name);
  27079. return;
  27080. },
  27081. accept$1: function(visitor) {
  27082. return this.accept$1$1(visitor, null);
  27083. },
  27084. addSuffix$1: function(suffix) {
  27085. return new N.IDSelector(this.name + suffix);
  27086. },
  27087. unify$1: function(compound) {
  27088. if (C.JSArray_methods.any$1(compound, new N.IDSelector_unify_closure(this)))
  27089. return;
  27090. return this.super$SimpleSelector$unify(compound);
  27091. },
  27092. $eq: function(_, other) {
  27093. if (other == null)
  27094. return false;
  27095. return other instanceof N.IDSelector && other.name === this.name;
  27096. },
  27097. get$hashCode: function(_) {
  27098. return C.JSString_methods.get$hashCode(this.name);
  27099. }
  27100. };
  27101. N.IDSelector_unify_closure.prototype = {
  27102. call$1: function(simple) {
  27103. var t1;
  27104. if (simple instanceof N.IDSelector) {
  27105. t1 = simple.name;
  27106. t1 = this.$this.name !== t1;
  27107. } else
  27108. t1 = false;
  27109. return t1;
  27110. }
  27111. };
  27112. D.SelectorList.prototype = {
  27113. get$isInvisible: function() {
  27114. return C.JSArray_methods.every$1(this.components, new D.SelectorList_isInvisible_closure());
  27115. },
  27116. get$asSassList: function() {
  27117. var t1 = this.components;
  27118. return D.SassList$(new H.MappedListIterable(t1, new D.SelectorList_asSassList_closure(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_comma, false);
  27119. },
  27120. accept$1$1: function(visitor) {
  27121. return visitor.visitSelectorList$1(this);
  27122. },
  27123. accept$1: function(visitor) {
  27124. return this.accept$1$1(visitor, null);
  27125. },
  27126. unify$1: function(other) {
  27127. var t1 = this.components,
  27128. t2 = S.ComplexSelector,
  27129. contents = P.List_List$from(new H.ExpandIterable(t1, new D.SelectorList_unify_closure(other), [H.getTypeArgumentByIndex(t1, 0), t2]), true, t2);
  27130. return contents.length === 0 ? null : D.SelectorList$(contents);
  27131. },
  27132. resolveParentSelectors$2$implicitParent: function($parent, implicitParent) {
  27133. var t1, _this = this;
  27134. if ($parent == null) {
  27135. if (!C.JSArray_methods.any$1(_this.components, _this.get$_complexContainsParentSelector()))
  27136. return _this;
  27137. throw H.wrapException(E.SassScriptException$('Top-level selectors may not contain the parent selector "&".'));
  27138. }
  27139. t1 = _this.components;
  27140. return D.SelectorList$(B.flattenVertically(new H.MappedListIterable(t1, new D.SelectorList_resolveParentSelectors_closure(_this, implicitParent, $parent), [H.getTypeArgumentByIndex(t1, 0), [P.Iterable, S.ComplexSelector]]), S.ComplexSelector));
  27141. },
  27142. resolveParentSelectors$1: function($parent) {
  27143. return this.resolveParentSelectors$2$implicitParent($parent, true);
  27144. },
  27145. _complexContainsParentSelector$1: function(complex) {
  27146. return C.JSArray_methods.any$1(complex.components, new D.SelectorList__complexContainsParentSelector_closure());
  27147. },
  27148. _resolveParentSelectorsCompound$2: function(compound, $parent) {
  27149. var resolvedMembers0, parentSelector, t1,
  27150. resolvedMembers = compound.components,
  27151. containsSelectorPseudo = C.JSArray_methods.any$1(resolvedMembers, new D.SelectorList__resolveParentSelectorsCompound_closure());
  27152. if (!containsSelectorPseudo && !(C.JSArray_methods.get$first(resolvedMembers) instanceof M.ParentSelector))
  27153. return;
  27154. resolvedMembers0 = containsSelectorPseudo ? new H.MappedListIterable(resolvedMembers, new D.SelectorList__resolveParentSelectorsCompound_closure0($parent), [H.getTypeArgumentByIndex(resolvedMembers, 0), M.SimpleSelector]) : resolvedMembers;
  27155. parentSelector = C.JSArray_methods.get$first(resolvedMembers);
  27156. if (parentSelector instanceof M.ParentSelector) {
  27157. if (resolvedMembers.length === 1 && parentSelector.suffix == null)
  27158. return $parent.components;
  27159. } else
  27160. return H.setRuntimeTypeInfo([S.ComplexSelector$(H.setRuntimeTypeInfo([X.CompoundSelector$(resolvedMembers0)], [S.ComplexSelectorComponent]), false)], [S.ComplexSelector]);
  27161. t1 = $parent.components;
  27162. return new H.MappedListIterable(t1, new D.SelectorList__resolveParentSelectorsCompound_closure1(compound, resolvedMembers0), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  27163. },
  27164. get$hashCode: function(_) {
  27165. return C.C_ListEquality.hash$1(this.components);
  27166. },
  27167. $eq: function(_, other) {
  27168. if (other == null)
  27169. return false;
  27170. return other instanceof D.SelectorList && C.C_ListEquality.equals$2(this.components, other.components);
  27171. }
  27172. };
  27173. D.SelectorList_isInvisible_closure.prototype = {
  27174. call$1: function(complex) {
  27175. return complex.get$isInvisible();
  27176. }
  27177. };
  27178. D.SelectorList_asSassList_closure.prototype = {
  27179. call$1: function(complex) {
  27180. var t1 = complex.components;
  27181. return D.SassList$(new H.MappedListIterable(t1, new D.SelectorList_asSassList__closure(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_space, false);
  27182. }
  27183. };
  27184. D.SelectorList_asSassList__closure.prototype = {
  27185. call$1: function(component) {
  27186. return new D.SassString(J.toString$0$(component), false);
  27187. }
  27188. };
  27189. D.SelectorList_unify_closure.prototype = {
  27190. call$1: function(complex1) {
  27191. var t1 = this.other.components;
  27192. return new H.ExpandIterable(t1, new D.SelectorList_unify__closure(complex1), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  27193. }
  27194. };
  27195. D.SelectorList_unify__closure.prototype = {
  27196. call$1: function(complex2) {
  27197. var unified = Y.unifyComplex(H.setRuntimeTypeInfo([this.complex1.components, complex2.components], [[P.List, S.ComplexSelectorComponent]]));
  27198. if (unified == null)
  27199. return C.List_empty5;
  27200. return J.map$1$1$ax(unified, new D.SelectorList_unify___closure(), S.ComplexSelector);
  27201. }
  27202. };
  27203. D.SelectorList_unify___closure.prototype = {
  27204. call$1: function(complex) {
  27205. return S.ComplexSelector$(complex, false);
  27206. }
  27207. };
  27208. D.SelectorList_resolveParentSelectors_closure.prototype = {
  27209. call$1: function(complex) {
  27210. var t2, t3, newComplexes, t4, t5, t6, t7, _i, component, resolved, t8, _i0, previousLineBreaks, newComplexes0, t9, i, newComplex, i0, lineBreak, t10, t11, t12, t13, t14, t15, _i1, _this = this, _box_0 = {},
  27211. t1 = _this.$this;
  27212. if (!t1._complexContainsParentSelector$1(complex)) {
  27213. if (!_this.implicitParent)
  27214. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  27215. t1 = _this.parent.components;
  27216. return new H.MappedListIterable(t1, new D.SelectorList_resolveParentSelectors__closure(complex), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  27217. }
  27218. t2 = [S.ComplexSelectorComponent];
  27219. t3 = [[P.List, S.ComplexSelectorComponent]];
  27220. newComplexes = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([], t2)], t3);
  27221. t4 = [P.bool];
  27222. _box_0.lineBreaks = H.setRuntimeTypeInfo([false], t4);
  27223. for (t5 = complex.components, t6 = t5.length, t7 = _this.parent, _i = 0; _i < t6; ++_i) {
  27224. component = t5[_i];
  27225. if (component instanceof X.CompoundSelector) {
  27226. resolved = t1._resolveParentSelectorsCompound$2(component, t7);
  27227. if (resolved == null) {
  27228. for (t8 = newComplexes.length, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0)
  27229. newComplexes[_i0].push(component);
  27230. continue;
  27231. }
  27232. previousLineBreaks = _box_0.lineBreaks;
  27233. newComplexes0 = H.setRuntimeTypeInfo([], t3);
  27234. _box_0.lineBreaks = H.setRuntimeTypeInfo([], t4);
  27235. for (t8 = newComplexes.length, t9 = J.getInterceptor$ax(resolved), i = 0, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0, i = i0) {
  27236. newComplex = newComplexes[_i0];
  27237. i0 = i + 1;
  27238. lineBreak = previousLineBreaks[i];
  27239. for (t10 = t9.get$iterator(resolved), t11 = !lineBreak; t10.moveNext$0();) {
  27240. t12 = t10.get$current(t10);
  27241. t13 = H.setRuntimeTypeInfo([], t2);
  27242. for (t14 = C.JSArray_methods.get$iterator(newComplex); t14.moveNext$0();)
  27243. t13.push(t14.get$current(t14));
  27244. for (t14 = t12.components, t15 = t14.length, _i1 = 0; _i1 < t15; ++_i1)
  27245. t13.push(t14[_i1]);
  27246. newComplexes0.push(t13);
  27247. t13 = _box_0.lineBreaks;
  27248. t13.push(!t11 || t12.lineBreak);
  27249. }
  27250. }
  27251. newComplexes = newComplexes0;
  27252. } else
  27253. for (t8 = newComplexes.length, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0)
  27254. newComplexes[_i0].push(component);
  27255. }
  27256. _box_0.i = 0;
  27257. return new H.MappedListIterable(newComplexes, new D.SelectorList_resolveParentSelectors__closure0(_box_0), [H.getTypeArgumentByIndex(newComplexes, 0), S.ComplexSelector]);
  27258. }
  27259. };
  27260. D.SelectorList_resolveParentSelectors__closure.prototype = {
  27261. call$1: function(parentComplex) {
  27262. var t2, t3, _i, t4,
  27263. t1 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  27264. for (t2 = parentComplex.components, t3 = t2.length, _i = 0; _i < t3; ++_i)
  27265. t1.push(t2[_i]);
  27266. for (t2 = this.complex, t3 = t2.components, t4 = t3.length, _i = 0; _i < t4; ++_i)
  27267. t1.push(t3[_i]);
  27268. return S.ComplexSelector$(t1, t2.lineBreak || parentComplex.lineBreak);
  27269. }
  27270. };
  27271. D.SelectorList_resolveParentSelectors__closure0.prototype = {
  27272. call$1: function(newComplex) {
  27273. var t1 = this._box_0;
  27274. return S.ComplexSelector$(newComplex, t1.lineBreaks[t1.i++]);
  27275. }
  27276. };
  27277. D.SelectorList__complexContainsParentSelector_closure.prototype = {
  27278. call$1: function(component) {
  27279. return component instanceof X.CompoundSelector && C.JSArray_methods.any$1(component.components, new D.SelectorList__complexContainsParentSelector__closure());
  27280. }
  27281. };
  27282. D.SelectorList__complexContainsParentSelector__closure.prototype = {
  27283. call$1: function(simple) {
  27284. var t1 = J.getInterceptor$(simple);
  27285. if (!t1.$isParentSelector)
  27286. if (!!t1.$isPseudoSelector) {
  27287. t1 = simple.selector;
  27288. t1 = t1 != null && C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector());
  27289. } else
  27290. t1 = false;
  27291. else
  27292. t1 = true;
  27293. return t1;
  27294. }
  27295. };
  27296. D.SelectorList__resolveParentSelectorsCompound_closure.prototype = {
  27297. call$1: function(simple) {
  27298. var t1;
  27299. if (simple instanceof D.PseudoSelector) {
  27300. t1 = simple.selector;
  27301. t1 = t1 != null && C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector());
  27302. } else
  27303. t1 = false;
  27304. return t1;
  27305. }
  27306. };
  27307. D.SelectorList__resolveParentSelectorsCompound_closure0.prototype = {
  27308. call$1: function(simple) {
  27309. var t1, t2, t3;
  27310. if (simple instanceof D.PseudoSelector) {
  27311. t1 = simple.selector;
  27312. if (t1 == null)
  27313. return simple;
  27314. if (!C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector()))
  27315. return simple;
  27316. t1 = t1.resolveParentSelectors$2$implicitParent(this.parent, false);
  27317. t2 = simple.name;
  27318. t3 = simple.isClass;
  27319. return D.PseudoSelector$(t2, simple.argument, !t3, t1);
  27320. } else
  27321. return simple;
  27322. }
  27323. };
  27324. D.SelectorList__resolveParentSelectorsCompound_closure1.prototype = {
  27325. call$1: function(complex) {
  27326. var suffix, t2, t3, t4, last, _i,
  27327. t1 = complex.components,
  27328. lastComponent = C.JSArray_methods.get$last(t1);
  27329. if (!(lastComponent instanceof X.CompoundSelector))
  27330. throw H.wrapException(E.SassScriptException$('Parent "' + H.S(complex) + '" is incompatible with this selector.'));
  27331. suffix = H.interceptedTypeCast(C.JSArray_methods.get$first(this.compound.components), "$isParentSelector").suffix;
  27332. t2 = [M.SimpleSelector];
  27333. if (suffix != null) {
  27334. t2 = H.setRuntimeTypeInfo([], t2);
  27335. for (t3 = lastComponent.components, t4 = H.SubListIterable$(t3, 0, t3.length - 1, H.getTypeArgumentByIndex(t3, 0)), t4 = new H.ListIterator(t4, t4.get$length(t4)); t4.moveNext$0();)
  27336. t2.push(t4.__internal$_current);
  27337. t2.push(C.JSArray_methods.get$last(t3).addSuffix$1(suffix));
  27338. for (t3 = J.skip$1$ax(this.resolvedMembers, 1), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  27339. t2.push(t3.__internal$_current);
  27340. last = X.CompoundSelector$(t2);
  27341. } else {
  27342. t2 = H.setRuntimeTypeInfo([], t2);
  27343. for (t3 = lastComponent.components, t4 = t3.length, _i = 0; _i < t4; ++_i)
  27344. t2.push(t3[_i]);
  27345. for (t3 = J.skip$1$ax(this.resolvedMembers, 1), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  27346. t2.push(t3.__internal$_current);
  27347. last = X.CompoundSelector$(t2);
  27348. }
  27349. t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  27350. for (t1 = H.SubListIterable$(t1, 0, t1.length - 1, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  27351. t2.push(t1.__internal$_current);
  27352. t2.push(last);
  27353. return S.ComplexSelector$(t2, complex.lineBreak);
  27354. }
  27355. };
  27356. M.ParentSelector.prototype = {
  27357. accept$1$1: function(visitor) {
  27358. var t2,
  27359. t1 = visitor._serialize$_buffer;
  27360. t1.writeCharCode$1(38);
  27361. t2 = this.suffix;
  27362. if (t2 != null)
  27363. t1.write$1(0, t2);
  27364. return;
  27365. },
  27366. accept$1: function(visitor) {
  27367. return this.accept$1$1(visitor, null);
  27368. },
  27369. unify$1: function(compound) {
  27370. return H.throwExpression(P.UnsupportedError$("& doesn't support unification."));
  27371. }
  27372. };
  27373. N.PlaceholderSelector.prototype = {
  27374. get$isInvisible: function() {
  27375. return true;
  27376. },
  27377. accept$1$1: function(visitor) {
  27378. var t1 = visitor._serialize$_buffer;
  27379. t1.writeCharCode$1(37);
  27380. t1.write$1(0, this.name);
  27381. return;
  27382. },
  27383. accept$1: function(visitor) {
  27384. return this.accept$1$1(visitor, null);
  27385. },
  27386. addSuffix$1: function(suffix) {
  27387. return new N.PlaceholderSelector(this.name + suffix);
  27388. },
  27389. $eq: function(_, other) {
  27390. if (other == null)
  27391. return false;
  27392. return other instanceof N.PlaceholderSelector && other.name === this.name;
  27393. },
  27394. get$hashCode: function(_) {
  27395. return C.JSString_methods.get$hashCode(this.name);
  27396. }
  27397. };
  27398. D.PseudoSelector.prototype = {
  27399. get$minSpecificity: function() {
  27400. if (this._pseudo$_minSpecificity == null)
  27401. this._pseudo$_computeSpecificity$0();
  27402. return this._pseudo$_minSpecificity;
  27403. },
  27404. get$maxSpecificity: function() {
  27405. if (this._pseudo$_maxSpecificity == null)
  27406. this._pseudo$_computeSpecificity$0();
  27407. return this._pseudo$_maxSpecificity;
  27408. },
  27409. get$isInvisible: function() {
  27410. var t1 = this.selector;
  27411. if (t1 == null)
  27412. return false;
  27413. return this.name !== "not" && t1.get$isInvisible();
  27414. },
  27415. addSuffix$1: function(suffix) {
  27416. var _this = this;
  27417. if (_this.argument != null || _this.selector != null)
  27418. _this.super$SimpleSelector$addSuffix(suffix);
  27419. return D.PseudoSelector$(_this.name + suffix, null, !_this.isClass, null);
  27420. },
  27421. unify$1: function(compound) {
  27422. var result, t1, t2, addedThis, _i, simple, _this = this;
  27423. if (compound.length === 1 && C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector)
  27424. return C.JSArray_methods.get$first(compound).unify$1(H.setRuntimeTypeInfo([_this], [M.SimpleSelector]));
  27425. if (C.JSArray_methods.contains$1(compound, _this))
  27426. return compound;
  27427. result = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27428. for (t1 = compound.length, t2 = !_this.isClass, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, H.throwConcurrentModificationError)(compound), ++_i) {
  27429. simple = compound[_i];
  27430. if (simple instanceof D.PseudoSelector && !simple.isClass) {
  27431. if (t2)
  27432. return;
  27433. result.push(_this);
  27434. addedThis = true;
  27435. }
  27436. result.push(simple);
  27437. }
  27438. if (!addedThis)
  27439. result.push(_this);
  27440. return result;
  27441. },
  27442. _pseudo$_computeSpecificity$0: function() {
  27443. var t1, _i, t2, complex, t3, t4, _this = this;
  27444. if (!_this.isClass) {
  27445. _this._pseudo$_maxSpecificity = _this._pseudo$_minSpecificity = 1;
  27446. return;
  27447. }
  27448. t1 = _this.selector;
  27449. if (t1 == null) {
  27450. _this._pseudo$_minSpecificity = M.SimpleSelector.prototype.get$minSpecificity.call(_this);
  27451. _this._pseudo$_maxSpecificity = M.SimpleSelector.prototype.get$maxSpecificity.call(_this);
  27452. return;
  27453. }
  27454. if (_this.name === "not") {
  27455. _i = _this._pseudo$_maxSpecificity = _this._pseudo$_minSpecificity = 0;
  27456. for (t1 = t1.components, t2 = t1.length; _i < t2; ++_i) {
  27457. complex = t1[_i];
  27458. t3 = _this._pseudo$_minSpecificity;
  27459. if (complex._minSpecificity == null)
  27460. complex._computeSpecificity$0();
  27461. t4 = complex._minSpecificity;
  27462. _this._pseudo$_minSpecificity = Math.max(H.checkNum(t3), H.checkNum(t4));
  27463. t4 = _this._pseudo$_maxSpecificity;
  27464. if (complex._maxSpecificity == null)
  27465. complex._computeSpecificity$0();
  27466. t3 = complex._maxSpecificity;
  27467. _this._pseudo$_maxSpecificity = Math.max(H.checkNum(t4), H.checkNum(t3));
  27468. }
  27469. } else {
  27470. _this._pseudo$_minSpecificity = H.intTypeCast(Math.pow(M.SimpleSelector.prototype.get$minSpecificity.call(_this), 3));
  27471. _i = _this._pseudo$_maxSpecificity = 0;
  27472. for (t1 = t1.components, t2 = t1.length; _i < t2; ++_i) {
  27473. complex = t1[_i];
  27474. t3 = _this._pseudo$_minSpecificity;
  27475. if (complex._minSpecificity == null)
  27476. complex._computeSpecificity$0();
  27477. t4 = complex._minSpecificity;
  27478. _this._pseudo$_minSpecificity = Math.min(H.checkNum(t3), H.checkNum(t4));
  27479. t4 = _this._pseudo$_maxSpecificity;
  27480. if (complex._maxSpecificity == null)
  27481. complex._computeSpecificity$0();
  27482. t3 = complex._maxSpecificity;
  27483. _this._pseudo$_maxSpecificity = Math.max(H.checkNum(t4), H.checkNum(t3));
  27484. }
  27485. }
  27486. },
  27487. accept$1$1: function(visitor) {
  27488. return visitor.visitPseudoSelector$1(this);
  27489. },
  27490. accept$1: function(visitor) {
  27491. return this.accept$1$1(visitor, null);
  27492. },
  27493. $eq: function(_, other) {
  27494. var _this = this;
  27495. if (other == null)
  27496. return false;
  27497. return other instanceof D.PseudoSelector && other.name === _this.name && other.isClass === _this.isClass && other.argument == _this.argument && J.$eq$(other.selector, _this.selector);
  27498. },
  27499. get$hashCode: function(_) {
  27500. var _this = this;
  27501. return (C.JSString_methods.get$hashCode(_this.name) ^ C.JSBool_methods.get$hashCode(!_this.isClass) ^ J.get$hashCode$(_this.argument) ^ J.get$hashCode$(_this.selector)) >>> 0;
  27502. }
  27503. };
  27504. D.QualifiedName.prototype = {
  27505. $eq: function(_, other) {
  27506. if (other == null)
  27507. return false;
  27508. return other instanceof D.QualifiedName && other.name === this.name && other.namespace == this.namespace;
  27509. },
  27510. get$hashCode: function(_) {
  27511. return C.JSString_methods.get$hashCode(this.name) ^ J.get$hashCode$(this.namespace);
  27512. },
  27513. toString$0: function(_) {
  27514. var t1 = this.namespace,
  27515. t2 = this.name;
  27516. return t1 == null ? t2 : t1 + "|" + t2;
  27517. }
  27518. };
  27519. M.SimpleSelector.prototype = {
  27520. get$minSpecificity: function() {
  27521. return 1000;
  27522. },
  27523. get$maxSpecificity: function() {
  27524. return this.get$minSpecificity();
  27525. },
  27526. addSuffix$1: function(suffix) {
  27527. return H.throwExpression(E.SassScriptException$('Invalid parent selector "' + this.toString$0(0) + '"'));
  27528. },
  27529. unify$1: function(compound) {
  27530. var result, t1, addedThis, _i, simple, _this = this;
  27531. if (compound.length === 1 && C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector)
  27532. return C.JSArray_methods.get$first(compound).unify$1(H.setRuntimeTypeInfo([_this], [M.SimpleSelector]));
  27533. if (C.JSArray_methods.contains$1(compound, _this))
  27534. return compound;
  27535. result = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27536. for (t1 = compound.length, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, H.throwConcurrentModificationError)(compound), ++_i) {
  27537. simple = compound[_i];
  27538. if (!addedThis && simple instanceof D.PseudoSelector) {
  27539. result.push(_this);
  27540. addedThis = true;
  27541. }
  27542. result.push(simple);
  27543. }
  27544. if (!addedThis)
  27545. result.push(_this);
  27546. return result;
  27547. }
  27548. };
  27549. F.TypeSelector.prototype = {
  27550. get$minSpecificity: function() {
  27551. return 1;
  27552. },
  27553. accept$1$1: function(visitor) {
  27554. visitor._serialize$_buffer.write$1(0, this.name);
  27555. return;
  27556. },
  27557. accept$1: function(visitor) {
  27558. return this.accept$1$1(visitor, null);
  27559. },
  27560. addSuffix$1: function(suffix) {
  27561. var t1 = this.name;
  27562. return new F.TypeSelector(new D.QualifiedName(t1.name + suffix, t1.namespace));
  27563. },
  27564. unify$1: function(compound) {
  27565. var unified, t1, t2, _i;
  27566. if (C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector || C.JSArray_methods.get$first(compound) instanceof F.TypeSelector) {
  27567. unified = Y.unifyUniversalAndElement(this, C.JSArray_methods.get$first(compound));
  27568. if (unified == null)
  27569. return;
  27570. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27571. t1.push(unified);
  27572. for (t2 = H.SubListIterable$(compound, 1, null, H.getTypeArgumentByIndex(compound, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  27573. t1.push(t2.__internal$_current);
  27574. return t1;
  27575. } else {
  27576. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27577. t1.push(this);
  27578. for (t2 = compound.length, _i = 0; _i < compound.length; compound.length === t2 || (0, H.throwConcurrentModificationError)(compound), ++_i)
  27579. t1.push(compound[_i]);
  27580. return t1;
  27581. }
  27582. },
  27583. $eq: function(_, other) {
  27584. if (other == null)
  27585. return false;
  27586. return other instanceof F.TypeSelector && other.name.$eq(0, this.name);
  27587. },
  27588. get$hashCode: function(_) {
  27589. var t1 = this.name;
  27590. return C.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace);
  27591. }
  27592. };
  27593. N.UniversalSelector.prototype = {
  27594. get$minSpecificity: function() {
  27595. return 0;
  27596. },
  27597. accept$1$1: function(visitor) {
  27598. var t2,
  27599. t1 = this.namespace;
  27600. if (t1 != null) {
  27601. t2 = visitor._serialize$_buffer;
  27602. t2.write$1(0, t1);
  27603. t2.writeCharCode$1(124);
  27604. }
  27605. visitor._serialize$_buffer.writeCharCode$1(42);
  27606. return;
  27607. },
  27608. accept$1: function(visitor) {
  27609. return this.accept$1$1(visitor, null);
  27610. },
  27611. unify$1: function(compound) {
  27612. var unified, t1, t2, _i, _this = this;
  27613. if (C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector || C.JSArray_methods.get$first(compound) instanceof F.TypeSelector) {
  27614. unified = Y.unifyUniversalAndElement(_this, C.JSArray_methods.get$first(compound));
  27615. if (unified == null)
  27616. return;
  27617. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27618. t1.push(unified);
  27619. for (t2 = H.SubListIterable$(compound, 1, null, H.getTypeArgumentByIndex(compound, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  27620. t1.push(t2.__internal$_current);
  27621. return t1;
  27622. }
  27623. t1 = _this.namespace;
  27624. if (t1 != null && t1 !== "*") {
  27625. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27626. t1.push(_this);
  27627. for (t2 = compound.length, _i = 0; _i < compound.length; compound.length === t2 || (0, H.throwConcurrentModificationError)(compound), ++_i)
  27628. t1.push(compound[_i]);
  27629. return t1;
  27630. }
  27631. if (compound.length !== 0)
  27632. return compound;
  27633. return H.setRuntimeTypeInfo([_this], [M.SimpleSelector]);
  27634. },
  27635. $eq: function(_, other) {
  27636. if (other == null)
  27637. return false;
  27638. return other instanceof N.UniversalSelector && other.namespace == this.namespace;
  27639. },
  27640. get$hashCode: function(_) {
  27641. return J.get$hashCode$(this.namespace);
  27642. }
  27643. };
  27644. X._compileStylesheet_closure0.prototype = {
  27645. call$1: function(url) {
  27646. var t1, t2, _null = null;
  27647. if (url === "")
  27648. t1 = J.toString$0$(P.Uri_Uri$dataFromString(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, _null), 0, _null), C.C_Utf8Codec, _null));
  27649. else {
  27650. t1 = P.Uri_parse(url);
  27651. t2 = this.importCache._async_import_cache$_resultsCache.$index(0, t1);
  27652. t2 = t2 == null ? _null : t2.get$sourceMapUrl();
  27653. t1 = J.toString$0$(t2 == null ? t1 : t2);
  27654. }
  27655. return t1;
  27656. }
  27657. };
  27658. X.CompileResult.prototype = {};
  27659. Q.AsyncEnvironment.prototype = {
  27660. closure$0: function() {
  27661. var t4, t5, t6, _this = this,
  27662. t1 = _this._async_environment$_globalModules,
  27663. t2 = _this._async_environment$_forwardedModules,
  27664. t3 = _this._async_environment$_variables;
  27665. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  27666. t4 = _this._async_environment$_variableNodes;
  27667. if (t4 == null)
  27668. t4 = null;
  27669. else
  27670. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  27671. t5 = _this._async_environment$_functions;
  27672. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  27673. t6 = _this._async_environment$_mixins;
  27674. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  27675. return Q.AsyncEnvironment$_(_this._async_environment$_modules, t1, t2, _this._async_environment$_allModules, t3, t4, t5, t6, _this._async_environment$_content);
  27676. },
  27677. global$0: function() {
  27678. var t4, t5, t6, _this = this,
  27679. t1 = [G.Module, B.AsyncCallable],
  27680. t2 = H.setRuntimeTypeInfo([], [t1]),
  27681. t3 = _this._async_environment$_variables;
  27682. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  27683. t4 = _this._async_environment$_variableNodes;
  27684. if (t4 == null)
  27685. t4 = null;
  27686. else
  27687. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  27688. t5 = _this._async_environment$_functions;
  27689. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  27690. t6 = _this._async_environment$_mixins;
  27691. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  27692. return Q.AsyncEnvironment$_(P.LinkedHashMap_LinkedHashMap$_empty(P.String, t1), null, null, t2, t3, t4, t5, t6, _this._async_environment$_content);
  27693. },
  27694. addModule$2$namespace: function(module, namespace) {
  27695. var t1, t2, _this = this;
  27696. if (namespace == null) {
  27697. t1 = _this._async_environment$_globalModules;
  27698. (t1 == null ? _this._async_environment$_globalModules = P.LinkedHashSet_LinkedHashSet$_empty([G.Module, B.AsyncCallable]) : t1).add$1(0, module);
  27699. _this._async_environment$_allModules.push(module);
  27700. for (t1 = J.get$iterator$ax(C.JSArray_methods.get$first(_this._async_environment$_variables).get$keys()); t1.moveNext$0();) {
  27701. t2 = t1.get$current(t1);
  27702. if (module.get$variables().containsKey$1(t2))
  27703. throw H.wrapException(E.SassScriptException$('This module and the new module both define a variable named "$' + H.S(t2) + '".'));
  27704. }
  27705. } else {
  27706. t1 = _this._async_environment$_modules;
  27707. if (t1.containsKey$1(namespace))
  27708. throw H.wrapException(E.SassScriptException$("There's already a module with namespace \"" + namespace + '".'));
  27709. t1.$indexSet(0, namespace, module);
  27710. _this._async_environment$_allModules.push(module);
  27711. }
  27712. },
  27713. forwardModule$2: function(module, rule) {
  27714. var view, t1, t2, t3, t4, t5, _i, other, _this = this;
  27715. if (_this._async_environment$_forwardedModules == null)
  27716. _this._async_environment$_forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, B.AsyncCallable]]);
  27717. view = R.ForwardedModuleView$(module, rule, B.AsyncCallable);
  27718. for (t1 = _this._async_environment$_forwardedModules, t2 = t1.length, t3 = view.variables, t4 = view.functions, t5 = view.mixins, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  27719. other = t1[_i];
  27720. _this._async_environment$_assertNoConflicts$4(t3, other.variables, "variable", other);
  27721. _this._async_environment$_assertNoConflicts$4(t4, other.functions, "function", other);
  27722. _this._async_environment$_assertNoConflicts$4(t5, other.mixins, "mixin", other);
  27723. }
  27724. _this._async_environment$_allModules.push(module);
  27725. _this._async_environment$_forwardedModules.push(view);
  27726. },
  27727. _async_environment$_assertNoConflicts$4: function(newMembers, oldMembers, type, oldModule) {
  27728. var larger, smaller, t1, $name;
  27729. if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
  27730. larger = oldMembers;
  27731. smaller = newMembers;
  27732. } else {
  27733. larger = newMembers;
  27734. smaller = oldMembers;
  27735. }
  27736. for (t1 = J.get$iterator$ax(smaller.get$keys()); t1.moveNext$0();) {
  27737. $name = t1.get$current(t1);
  27738. if (larger.containsKey$1($name)) {
  27739. if (type === "variable")
  27740. $name = "$" + H.S($name);
  27741. throw H.wrapException(E.SassScriptException$("Module " + H.S(D.prettyUri(oldModule.get$url())) + " and the new module both forward a " + type + " named " + H.S($name) + "."));
  27742. }
  27743. }
  27744. },
  27745. importForwards$1: function(module) {
  27746. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _i, forwarded, t12, t13, index, _this = this,
  27747. t1 = module._async_environment$_environment._async_environment$_forwardedModules;
  27748. if (t1 == null)
  27749. t1 = C.List_empty12;
  27750. t2 = t1.length;
  27751. t3 = _this._async_environment$_mixinIndices;
  27752. t4 = _this._async_environment$_mixins;
  27753. t5 = _this._async_environment$_functionIndices;
  27754. t6 = _this._async_environment$_functions;
  27755. t7 = _this._async_environment$_variableIndices;
  27756. t8 = _this._async_environment$_variableNodes;
  27757. t9 = t8 != null;
  27758. t10 = _this._async_environment$_variables;
  27759. t11 = [G.Module, B.AsyncCallable];
  27760. _i = 0;
  27761. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  27762. forwarded = t1[_i];
  27763. t12 = _this._async_environment$_globalModules;
  27764. (t12 == null ? _this._async_environment$_globalModules = P.LinkedHashSet_LinkedHashSet$_empty(t11) : t12).add$1(0, forwarded);
  27765. for (t12 = J.get$iterator$ax(forwarded.variables.get$keys()); t12.moveNext$0();) {
  27766. t13 = t12.get$current(t12);
  27767. index = t7.remove$1(0, t13);
  27768. if (index == null)
  27769. index = _this._async_environment$_variableIndex$1(t13);
  27770. if (index != null) {
  27771. J.remove$1$ax(t10[index], t13);
  27772. if (t9)
  27773. J.remove$1$ax(t8[index], t13);
  27774. }
  27775. }
  27776. for (t12 = J.get$iterator$ax(forwarded.functions.get$keys()); t12.moveNext$0();) {
  27777. t13 = t12.get$current(t12);
  27778. index = t5.remove$1(0, t13);
  27779. if (index == null)
  27780. index = _this._async_environment$_functionIndex$1(t13);
  27781. if (index != null)
  27782. J.remove$1$ax(t6[index], t13);
  27783. }
  27784. for (t12 = J.get$iterator$ax(forwarded.mixins.get$keys()); t12.moveNext$0();) {
  27785. t13 = t12.get$current(t12);
  27786. index = t3.remove$1(0, t13);
  27787. if (index == null)
  27788. index = _this._async_environment$_mixinIndex$1(t13);
  27789. if (index != null)
  27790. J.remove$1$ax(t4[index], t13);
  27791. }
  27792. }
  27793. },
  27794. getVariable$2$namespace: function($name, namespace) {
  27795. var t1, index, _this = this;
  27796. if (namespace != null)
  27797. return _this._async_environment$_getModule$1(namespace).get$variables().$index(0, $name);
  27798. if (_this._async_environment$_lastVariableName === $name) {
  27799. t1 = J.$index$asx(_this._async_environment$_variables[_this._async_environment$_lastVariableIndex], $name);
  27800. return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
  27801. }
  27802. t1 = _this._async_environment$_variableIndices;
  27803. index = t1.$index(0, $name);
  27804. if (index != null) {
  27805. _this._async_environment$_lastVariableName = $name;
  27806. _this._async_environment$_lastVariableIndex = index;
  27807. t1 = J.$index$asx(_this._async_environment$_variables[index], $name);
  27808. return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
  27809. }
  27810. index = _this._async_environment$_variableIndex$1($name);
  27811. if (index == null)
  27812. return _this._async_environment$_getVariableFromGlobalModule$1($name);
  27813. _this._async_environment$_lastVariableName = $name;
  27814. _this._async_environment$_lastVariableIndex = index;
  27815. t1.$indexSet(0, $name, index);
  27816. t1 = J.$index$asx(_this._async_environment$_variables[index], $name);
  27817. return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
  27818. },
  27819. getVariable$1: function($name) {
  27820. return this.getVariable$2$namespace($name, null);
  27821. },
  27822. _async_environment$_getVariableFromGlobalModule$1: function($name) {
  27823. return this._async_environment$_fromOneModule$2("variable", new Q.AsyncEnvironment__getVariableFromGlobalModule_closure($name));
  27824. },
  27825. getVariableNode$2$namespace: function($name, namespace) {
  27826. var t1, index, _this = this;
  27827. if (namespace != null)
  27828. return _this._async_environment$_getModule$1(namespace).get$variableNodes().$index(0, $name);
  27829. if (_this._async_environment$_lastVariableName === $name) {
  27830. t1 = J.$index$asx(_this._async_environment$_variableNodes[_this._async_environment$_lastVariableIndex], $name);
  27831. return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
  27832. }
  27833. t1 = _this._async_environment$_variableIndices;
  27834. index = t1.$index(0, $name);
  27835. if (index != null) {
  27836. _this._async_environment$_lastVariableName = $name;
  27837. _this._async_environment$_lastVariableIndex = index;
  27838. t1 = J.$index$asx(_this._async_environment$_variableNodes[index], $name);
  27839. return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
  27840. }
  27841. index = _this._async_environment$_variableIndex$1($name);
  27842. if (index == null)
  27843. return _this._async_environment$_getVariableNodeFromGlobalModule$1($name);
  27844. _this._async_environment$_lastVariableName = $name;
  27845. _this._async_environment$_lastVariableIndex = index;
  27846. t1.$indexSet(0, $name, index);
  27847. t1 = J.$index$asx(_this._async_environment$_variableNodes[index], $name);
  27848. return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
  27849. },
  27850. _async_environment$_getVariableNodeFromGlobalModule$1: function($name) {
  27851. var t1, value;
  27852. this._async_environment$_lastVariableName = $name;
  27853. this._async_environment$_lastVariableIndex = 0;
  27854. t1 = this._async_environment$_globalModules;
  27855. if (t1 == null)
  27856. return;
  27857. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();) {
  27858. value = t1._collection$_current.get$variableNodes().$index(0, $name);
  27859. if (value != null)
  27860. return value;
  27861. }
  27862. return;
  27863. },
  27864. globalVariableExists$2$namespace: function($name, namespace) {
  27865. if (namespace != null)
  27866. return this._async_environment$_getModule$1(namespace).get$variables().containsKey$1($name);
  27867. if (C.JSArray_methods.get$first(this._async_environment$_variables).containsKey$1($name))
  27868. return true;
  27869. return this._async_environment$_getVariableFromGlobalModule$1($name) != null;
  27870. },
  27871. globalVariableExists$1: function($name) {
  27872. return this.globalVariableExists$2$namespace($name, null);
  27873. },
  27874. _async_environment$_variableIndex$1: function($name) {
  27875. var t1, i;
  27876. for (t1 = this._async_environment$_variables, i = t1.length - 1; i >= 0; --i)
  27877. if (t1[i].containsKey$1($name))
  27878. return i;
  27879. return;
  27880. },
  27881. setVariable$5$global$namespace: function($name, value, nodeWithSpan, global, namespace) {
  27882. var t1, moduleWithName, index, _this = this;
  27883. if (namespace != null) {
  27884. _this._async_environment$_getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
  27885. return;
  27886. }
  27887. if (global || _this._async_environment$_variables.length === 1) {
  27888. _this._async_environment$_variableIndices.putIfAbsent$2($name, new Q.AsyncEnvironment_setVariable_closure(_this, $name));
  27889. t1 = _this._async_environment$_variables;
  27890. if (!C.JSArray_methods.get$first(t1).containsKey$1($name) && _this._async_environment$_globalModules != null) {
  27891. moduleWithName = _this._async_environment$_fromOneModule$2("variable", new Q.AsyncEnvironment_setVariable_closure0($name));
  27892. if (moduleWithName != null) {
  27893. moduleWithName.setVariable$3($name, value, nodeWithSpan);
  27894. return;
  27895. }
  27896. }
  27897. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, value);
  27898. t1 = _this._async_environment$_variableNodes;
  27899. if (t1 != null)
  27900. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  27901. return;
  27902. }
  27903. index = _this._async_environment$_lastVariableName === $name ? _this._async_environment$_lastVariableIndex : _this._async_environment$_variableIndices.putIfAbsent$2($name, new Q.AsyncEnvironment_setVariable_closure1(_this, $name));
  27904. if (!_this._async_environment$_inSemiGlobalScope && index === 0) {
  27905. index = _this._async_environment$_variables.length - 1;
  27906. _this._async_environment$_variableIndices.$indexSet(0, $name, index);
  27907. }
  27908. _this._async_environment$_lastVariableName = $name;
  27909. _this._async_environment$_lastVariableIndex = index;
  27910. J.$indexSet$ax(_this._async_environment$_variables[index], $name, value);
  27911. t1 = _this._async_environment$_variableNodes;
  27912. if (t1 != null)
  27913. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  27914. },
  27915. setVariable$4$global: function($name, value, nodeWithSpan, global) {
  27916. return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null);
  27917. },
  27918. setLocalVariable$3: function($name, value, nodeWithSpan) {
  27919. var index, _this = this,
  27920. t1 = _this._async_environment$_variables,
  27921. t2 = t1.length;
  27922. _this._async_environment$_lastVariableName = $name;
  27923. index = _this._async_environment$_lastVariableIndex = t2 - 1;
  27924. _this._async_environment$_variableIndices.$indexSet(0, $name, index);
  27925. J.$indexSet$ax(t1[index], $name, value);
  27926. t1 = _this._async_environment$_variableNodes;
  27927. if (t1 != null)
  27928. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  27929. },
  27930. getFunction$2$namespace: function($name, namespace) {
  27931. var t1, index, _this = this;
  27932. if (namespace != null) {
  27933. t1 = _this._async_environment$_getModule$1(namespace);
  27934. return t1.get$functions(t1).$index(0, $name);
  27935. }
  27936. t1 = _this._async_environment$_functionIndices;
  27937. index = t1.$index(0, $name);
  27938. if (index != null) {
  27939. t1 = J.$index$asx(_this._async_environment$_functions[index], $name);
  27940. return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1;
  27941. }
  27942. index = _this._async_environment$_functionIndex$1($name);
  27943. if (index == null)
  27944. return _this._async_environment$_getFunctionFromGlobalModule$1($name);
  27945. t1.$indexSet(0, $name, index);
  27946. t1 = J.$index$asx(_this._async_environment$_functions[index], $name);
  27947. return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1;
  27948. },
  27949. _async_environment$_getFunctionFromGlobalModule$1: function($name) {
  27950. return this._async_environment$_fromOneModule$2("function", new Q.AsyncEnvironment__getFunctionFromGlobalModule_closure($name));
  27951. },
  27952. _async_environment$_functionIndex$1: function($name) {
  27953. var t1, i;
  27954. for (t1 = this._async_environment$_functions, i = t1.length - 1; i >= 0; --i)
  27955. if (t1[i].containsKey$1($name))
  27956. return i;
  27957. return;
  27958. },
  27959. getMixin$2$namespace: function($name, namespace) {
  27960. var t1, index, _this = this;
  27961. if (namespace != null)
  27962. return _this._async_environment$_getModule$1(namespace).get$mixins().$index(0, $name);
  27963. t1 = _this._async_environment$_mixinIndices;
  27964. index = t1.$index(0, $name);
  27965. if (index != null) {
  27966. t1 = J.$index$asx(_this._async_environment$_mixins[index], $name);
  27967. return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1;
  27968. }
  27969. index = _this._async_environment$_mixinIndex$1($name);
  27970. if (index == null)
  27971. return _this._async_environment$_getMixinFromGlobalModule$1($name);
  27972. t1.$indexSet(0, $name, index);
  27973. t1 = J.$index$asx(_this._async_environment$_mixins[index], $name);
  27974. return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1;
  27975. },
  27976. _async_environment$_getMixinFromGlobalModule$1: function($name) {
  27977. return this._async_environment$_fromOneModule$2("mixin", new Q.AsyncEnvironment__getMixinFromGlobalModule_closure($name));
  27978. },
  27979. _async_environment$_mixinIndex$1: function($name) {
  27980. var t1, i;
  27981. for (t1 = this._async_environment$_mixins, i = t1.length - 1; i >= 0; --i)
  27982. if (t1[i].containsKey$1($name))
  27983. return i;
  27984. return;
  27985. },
  27986. withContent$2: function($content, callback) {
  27987. return this.withContent$body$AsyncEnvironment($content, callback);
  27988. },
  27989. withContent$body$AsyncEnvironment: function($content, callback) {
  27990. var $async$goto = 0,
  27991. $async$completer = P._makeAsyncAwaitCompleter(-1),
  27992. $async$self = this, oldContent;
  27993. var $async$withContent$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  27994. if ($async$errorCode === 1)
  27995. return P._asyncRethrow($async$result, $async$completer);
  27996. while (true)
  27997. switch ($async$goto) {
  27998. case 0:
  27999. // Function start
  28000. oldContent = $async$self._async_environment$_content;
  28001. $async$self._async_environment$_content = $content;
  28002. $async$goto = 2;
  28003. return P._asyncAwait(callback.call$0(), $async$withContent$2);
  28004. case 2:
  28005. // returning from await.
  28006. $async$self._async_environment$_content = oldContent;
  28007. // implicit return
  28008. return P._asyncReturn(null, $async$completer);
  28009. }
  28010. });
  28011. return P._asyncStartSync($async$withContent$2, $async$completer);
  28012. },
  28013. asMixin$1: function(callback) {
  28014. var $async$goto = 0,
  28015. $async$completer = P._makeAsyncAwaitCompleter(-1),
  28016. $async$self = this, oldInMixin;
  28017. var $async$asMixin$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28018. if ($async$errorCode === 1)
  28019. return P._asyncRethrow($async$result, $async$completer);
  28020. while (true)
  28021. switch ($async$goto) {
  28022. case 0:
  28023. // Function start
  28024. oldInMixin = $async$self._async_environment$_inMixin;
  28025. $async$self._async_environment$_inMixin = true;
  28026. $async$goto = 2;
  28027. return P._asyncAwait(callback.call$0(), $async$asMixin$1);
  28028. case 2:
  28029. // returning from await.
  28030. $async$self._async_environment$_inMixin = oldInMixin;
  28031. // implicit return
  28032. return P._asyncReturn(null, $async$completer);
  28033. }
  28034. });
  28035. return P._asyncStartSync($async$asMixin$1, $async$completer);
  28036. },
  28037. scope$1$3$semiGlobal$when: function(callback, semiGlobal, when, $T) {
  28038. return this.scope$body$AsyncEnvironment(callback, semiGlobal, when, $T, $T);
  28039. },
  28040. scope$1$1: function(callback, $T) {
  28041. return this.scope$1$3$semiGlobal$when(callback, false, true, $T);
  28042. },
  28043. scope$1$2$when: function(callback, when, $T) {
  28044. return this.scope$1$3$semiGlobal$when(callback, false, when, $T);
  28045. },
  28046. scope$1$2$semiGlobal: function(callback, semiGlobal, $T) {
  28047. return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T);
  28048. },
  28049. scope$body$AsyncEnvironment: function(callback, semiGlobal, when, $T, $async$type) {
  28050. var $async$goto = 0,
  28051. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  28052. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, wasInSemiGlobalScope, wasInSemiGlobalScope0, $name, name0, name1, t1, t2, t3, t4, t5;
  28053. var $async$scope$1$3$semiGlobal$when = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28054. if ($async$errorCode === 1) {
  28055. $async$currentError = $async$result;
  28056. $async$goto = $async$handler;
  28057. }
  28058. while (true)
  28059. switch ($async$goto) {
  28060. case 0:
  28061. // Function start
  28062. $async$goto = !when ? 3 : 4;
  28063. break;
  28064. case 3:
  28065. // then
  28066. wasInSemiGlobalScope = $async$self._async_environment$_inSemiGlobalScope;
  28067. $async$self._async_environment$_inSemiGlobalScope = semiGlobal;
  28068. $async$handler = 5;
  28069. $async$goto = 8;
  28070. return P._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
  28071. case 8:
  28072. // returning from await.
  28073. t1 = $async$result;
  28074. $async$returnValue = t1;
  28075. $async$next = [1];
  28076. // goto finally
  28077. $async$goto = 6;
  28078. break;
  28079. $async$next.push(7);
  28080. // goto finally
  28081. $async$goto = 6;
  28082. break;
  28083. case 5:
  28084. // uncaught
  28085. $async$next = [2];
  28086. case 6:
  28087. // finally
  28088. $async$handler = 2;
  28089. $async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope;
  28090. // goto the next finally handler
  28091. $async$goto = $async$next.pop();
  28092. break;
  28093. case 7:
  28094. // after finally
  28095. case 4:
  28096. // join
  28097. semiGlobal = semiGlobal && $async$self._async_environment$_inSemiGlobalScope;
  28098. wasInSemiGlobalScope0 = $async$self._async_environment$_inSemiGlobalScope;
  28099. $async$self._async_environment$_inSemiGlobalScope = semiGlobal;
  28100. t1 = $async$self._async_environment$_variables;
  28101. t2 = P.String;
  28102. C.JSArray_methods.add$1(t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, F.Value));
  28103. t3 = $async$self._async_environment$_variableNodes;
  28104. if (t3 != null)
  28105. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, B.AstNode));
  28106. t3 = $async$self._async_environment$_functions;
  28107. t4 = B.AsyncCallable;
  28108. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  28109. t5 = $async$self._async_environment$_mixins;
  28110. C.JSArray_methods.add$1(t5, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  28111. $async$handler = 9;
  28112. $async$goto = 12;
  28113. return P._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
  28114. case 12:
  28115. // returning from await.
  28116. t2 = $async$result;
  28117. $async$returnValue = t2;
  28118. $async$next = [1];
  28119. // goto finally
  28120. $async$goto = 10;
  28121. break;
  28122. $async$next.push(11);
  28123. // goto finally
  28124. $async$goto = 10;
  28125. break;
  28126. case 9:
  28127. // uncaught
  28128. $async$next = [2];
  28129. case 10:
  28130. // finally
  28131. $async$handler = 2;
  28132. $async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope0;
  28133. $async$self._async_environment$_lastVariableIndex = $async$self._async_environment$_lastVariableName = null;
  28134. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t1).get$keys()), t2 = $async$self._async_environment$_variableIndices; t1.moveNext$0();) {
  28135. $name = t1.get$current(t1);
  28136. t2.remove$1(0, $name);
  28137. }
  28138. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t3).get$keys()), t2 = $async$self._async_environment$_functionIndices; t1.moveNext$0();) {
  28139. name0 = t1.get$current(t1);
  28140. t2.remove$1(0, name0);
  28141. }
  28142. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t5).get$keys()), t2 = $async$self._async_environment$_mixinIndices; t1.moveNext$0();) {
  28143. name1 = t1.get$current(t1);
  28144. t2.remove$1(0, name1);
  28145. }
  28146. // goto the next finally handler
  28147. $async$goto = $async$next.pop();
  28148. break;
  28149. case 11:
  28150. // after finally
  28151. case 1:
  28152. // return
  28153. return P._asyncReturn($async$returnValue, $async$completer);
  28154. case 2:
  28155. // rethrow
  28156. return P._asyncRethrow($async$currentError, $async$completer);
  28157. }
  28158. });
  28159. return P._asyncStartSync($async$scope$1$3$semiGlobal$when, $async$completer);
  28160. },
  28161. _async_environment$_getModule$1: function(namespace) {
  28162. var module = this._async_environment$_modules.$index(0, namespace);
  28163. if (module != null)
  28164. return module;
  28165. throw H.wrapException(E.SassScriptException$('There is no module with the namespace "' + namespace + '".'));
  28166. },
  28167. _async_environment$_fromOneModule$1$2: function(type, callback) {
  28168. var value, valueInModule,
  28169. t1 = this._async_environment$_globalModules;
  28170. if (t1 == null)
  28171. return;
  28172. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications), value = null; t1.moveNext$0();) {
  28173. valueInModule = callback.call$1(t1._collection$_current);
  28174. if (valueInModule == null)
  28175. continue;
  28176. if (value != null)
  28177. throw H.wrapException(E.SassScriptException$("This " + type + " is available from multiple global modules:\n" + B.bulletedList(this._async_environment$_globalModules.where$1(0, new Q.AsyncEnvironment__fromOneModule_closure(callback)).map$1$1(0, new Q.AsyncEnvironment__fromOneModule_closure0(), P.String))));
  28178. value = valueInModule;
  28179. }
  28180. return value;
  28181. },
  28182. _async_environment$_fromOneModule$2: function(type, callback) {
  28183. return this._async_environment$_fromOneModule$1$2(type, callback, null);
  28184. }
  28185. };
  28186. Q.AsyncEnvironment__getVariableFromGlobalModule_closure.prototype = {
  28187. call$1: function(module) {
  28188. return module.get$variables().$index(0, this.name);
  28189. }
  28190. };
  28191. Q.AsyncEnvironment_setVariable_closure.prototype = {
  28192. call$0: function() {
  28193. var t1 = this.$this;
  28194. t1._async_environment$_lastVariableName = this.name;
  28195. return t1._async_environment$_lastVariableIndex = 0;
  28196. }
  28197. };
  28198. Q.AsyncEnvironment_setVariable_closure0.prototype = {
  28199. call$1: function(module) {
  28200. return module.get$variables().containsKey$1(this.name) ? module : null;
  28201. }
  28202. };
  28203. Q.AsyncEnvironment_setVariable_closure1.prototype = {
  28204. call$0: function() {
  28205. var t1 = this.$this,
  28206. t2 = t1._async_environment$_variableIndex$1(this.name);
  28207. return t2 == null ? t1._async_environment$_variables.length - 1 : t2;
  28208. }
  28209. };
  28210. Q.AsyncEnvironment__getFunctionFromGlobalModule_closure.prototype = {
  28211. call$1: function(module) {
  28212. return module.get$functions(module).$index(0, this.name);
  28213. }
  28214. };
  28215. Q.AsyncEnvironment__getMixinFromGlobalModule_closure.prototype = {
  28216. call$1: function(module) {
  28217. return module.get$mixins().$index(0, this.name);
  28218. }
  28219. };
  28220. Q.AsyncEnvironment__fromOneModule_closure.prototype = {
  28221. call$1: function(module) {
  28222. return this.callback.call$1(module) != null;
  28223. }
  28224. };
  28225. Q.AsyncEnvironment__fromOneModule_closure0.prototype = {
  28226. call$1: function(module) {
  28227. var t1 = module.get$url();
  28228. return $.$get$context().prettyUri$1(t1);
  28229. }
  28230. };
  28231. Q._EnvironmentModule0.prototype = {
  28232. get$url: function() {
  28233. return this.css.get$span().file.url;
  28234. },
  28235. setVariable$3: function($name, value, nodeWithSpan) {
  28236. var t1, t2,
  28237. module = this._async_environment$_modulesByVariable.$index(0, $name);
  28238. if (module != null) {
  28239. module.setVariable$3($name, value, nodeWithSpan);
  28240. return;
  28241. }
  28242. t1 = this._async_environment$_environment;
  28243. t2 = t1._async_environment$_variables;
  28244. if (!C.JSArray_methods.get$first(t2).containsKey$1($name))
  28245. throw H.wrapException(E.SassScriptException$("Undefined variable."));
  28246. J.$indexSet$ax(C.JSArray_methods.get$first(t2), $name, value);
  28247. t1 = t1._async_environment$_variableNodes;
  28248. if (t1 != null)
  28249. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  28250. return;
  28251. },
  28252. cloneCss$0: function() {
  28253. var newCssAndExtender, _this = this,
  28254. t1 = _this.css;
  28255. if (J.get$isEmpty$asx(t1.get$children()))
  28256. return _this;
  28257. newCssAndExtender = V.cloneCssStylesheet(t1, _this.extender);
  28258. return Q._EnvironmentModule$_0(_this._async_environment$_environment, newCssAndExtender.item1, newCssAndExtender.item2, _this._async_environment$_modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.transitivelyContainsCss, _this.transitivelyContainsExtensions);
  28259. },
  28260. toString$0: function(_) {
  28261. var t1 = this.css.get$span().file;
  28262. return $.$get$context().prettyUri$1(t1.url);
  28263. },
  28264. $isModule: 1,
  28265. $asModule: function() {
  28266. return [B.AsyncCallable];
  28267. },
  28268. get$upstream: function() {
  28269. return this.upstream;
  28270. },
  28271. get$variables: function() {
  28272. return this.variables;
  28273. },
  28274. get$variableNodes: function() {
  28275. return this.variableNodes;
  28276. },
  28277. get$functions: function(receiver) {
  28278. return this.functions;
  28279. },
  28280. get$mixins: function() {
  28281. return this.mixins;
  28282. },
  28283. get$extender: function() {
  28284. return this.extender;
  28285. },
  28286. get$css: function(receiver) {
  28287. return this.css;
  28288. },
  28289. get$transitivelyContainsCss: function() {
  28290. return this.transitivelyContainsCss;
  28291. },
  28292. get$transitivelyContainsExtensions: function() {
  28293. return this.transitivelyContainsExtensions;
  28294. }
  28295. };
  28296. Q._EnvironmentModule__EnvironmentModule_closure5.prototype = {
  28297. call$1: function(module) {
  28298. return module.get$variables();
  28299. }
  28300. };
  28301. Q._EnvironmentModule__EnvironmentModule_closure6.prototype = {
  28302. call$1: function(module) {
  28303. return module.get$variableNodes();
  28304. }
  28305. };
  28306. Q._EnvironmentModule__EnvironmentModule_closure7.prototype = {
  28307. call$1: function(module) {
  28308. return module.get$functions(module);
  28309. }
  28310. };
  28311. Q._EnvironmentModule__EnvironmentModule_closure8.prototype = {
  28312. call$1: function(module) {
  28313. return module.get$mixins();
  28314. }
  28315. };
  28316. Q._EnvironmentModule__EnvironmentModule_closure9.prototype = {
  28317. call$1: function(module) {
  28318. return module.get$transitivelyContainsCss();
  28319. }
  28320. };
  28321. Q._EnvironmentModule__EnvironmentModule_closure10.prototype = {
  28322. call$1: function(module) {
  28323. return module.get$transitivelyContainsExtensions();
  28324. }
  28325. };
  28326. O.AsyncImportCache.prototype = {
  28327. canonicalize$3: function(url, baseImporter, baseUrl) {
  28328. return this.canonicalize$body$AsyncImportCache(url, baseImporter, baseUrl);
  28329. },
  28330. canonicalize$body$AsyncImportCache: function(url, baseImporter, baseUrl) {
  28331. var $async$goto = 0,
  28332. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]),
  28333. $async$returnValue, $async$self = this, resolvedUrl, canonicalUrl, t1;
  28334. var $async$canonicalize$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28335. if ($async$errorCode === 1)
  28336. return P._asyncRethrow($async$result, $async$completer);
  28337. while (true)
  28338. switch ($async$goto) {
  28339. case 0:
  28340. // Function start
  28341. $async$goto = baseImporter != null ? 3 : 4;
  28342. break;
  28343. case 3:
  28344. // then
  28345. resolvedUrl = baseUrl != null ? baseUrl.resolveUri$1(url) : url;
  28346. $async$goto = 5;
  28347. return P._asyncAwait($async$self._async_import_cache$_canonicalize$2(baseImporter, resolvedUrl), $async$canonicalize$3);
  28348. case 5:
  28349. // returning from await.
  28350. canonicalUrl = $async$result;
  28351. if (canonicalUrl != null) {
  28352. t1 = P.Uri;
  28353. $async$returnValue = new S.Tuple3(baseImporter, canonicalUrl, resolvedUrl, [B.AsyncImporter, t1, t1]);
  28354. // goto return
  28355. $async$goto = 1;
  28356. break;
  28357. }
  28358. case 4:
  28359. // join
  28360. $async$goto = 6;
  28361. return P._asyncAwait(B.putIfAbsentAsync($async$self._async_import_cache$_canonicalizeCache, url, new O.AsyncImportCache_canonicalize_closure($async$self, url), P.Uri, [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), $async$canonicalize$3);
  28362. case 6:
  28363. // returning from await.
  28364. $async$returnValue = $async$result;
  28365. // goto return
  28366. $async$goto = 1;
  28367. break;
  28368. case 1:
  28369. // return
  28370. return P._asyncReturn($async$returnValue, $async$completer);
  28371. }
  28372. });
  28373. return P._asyncStartSync($async$canonicalize$3, $async$completer);
  28374. },
  28375. _async_import_cache$_canonicalize$2: function(importer, url) {
  28376. return this._canonicalize$body$AsyncImportCache(importer, url);
  28377. },
  28378. _canonicalize$body$AsyncImportCache: function(importer, url) {
  28379. var $async$goto = 0,
  28380. $async$completer = P._makeAsyncAwaitCompleter(P.Uri),
  28381. $async$returnValue, $async$self = this, result;
  28382. var $async$_async_import_cache$_canonicalize$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28383. if ($async$errorCode === 1)
  28384. return P._asyncRethrow($async$result, $async$completer);
  28385. while (true)
  28386. switch ($async$goto) {
  28387. case 0:
  28388. // Function start
  28389. $async$goto = 3;
  28390. return P._asyncAwait(importer.canonicalize$1(url), $async$_async_import_cache$_canonicalize$2);
  28391. case 3:
  28392. // returning from await.
  28393. result = $async$result;
  28394. if ((result == null ? null : result.get$scheme()) === "")
  28395. $async$self._async_import_cache$_logger.warn$2$deprecation("Importer " + importer.toString$0(0) + " canonicalized " + H.S(url) + " to " + H.S(result) + ".\nRelative canonical URLs are deprecated and will eventually be disallowed.\n", true);
  28396. $async$returnValue = result;
  28397. // goto return
  28398. $async$goto = 1;
  28399. break;
  28400. case 1:
  28401. // return
  28402. return P._asyncReturn($async$returnValue, $async$completer);
  28403. }
  28404. });
  28405. return P._asyncStartSync($async$_async_import_cache$_canonicalize$2, $async$completer);
  28406. },
  28407. import$3: function(url, baseImporter, baseUrl) {
  28408. return this.import$body$AsyncImportCache(url, baseImporter, baseUrl);
  28409. },
  28410. import$body$AsyncImportCache: function(url, baseImporter, baseUrl) {
  28411. var $async$goto = 0,
  28412. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, B.AsyncImporter, V.Stylesheet]),
  28413. $async$returnValue, $async$self = this, t1, tuple, $async$temp1, $async$temp2;
  28414. var $async$import$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28415. if ($async$errorCode === 1)
  28416. return P._asyncRethrow($async$result, $async$completer);
  28417. while (true)
  28418. switch ($async$goto) {
  28419. case 0:
  28420. // Function start
  28421. $async$goto = 3;
  28422. return P._asyncAwait($async$self.canonicalize$3(url, baseImporter, baseUrl), $async$import$3);
  28423. case 3:
  28424. // returning from await.
  28425. tuple = $async$result;
  28426. if (tuple == null) {
  28427. // goto return
  28428. $async$goto = 1;
  28429. break;
  28430. }
  28431. t1 = tuple.item1;
  28432. $async$temp1 = S;
  28433. $async$temp2 = t1;
  28434. $async$goto = 4;
  28435. return P._asyncAwait($async$self.importCanonical$3(t1, tuple.item2, tuple.item3), $async$import$3);
  28436. case 4:
  28437. // returning from await.
  28438. $async$returnValue = new $async$temp1.Tuple2($async$temp2, $async$result, [B.AsyncImporter, V.Stylesheet]);
  28439. // goto return
  28440. $async$goto = 1;
  28441. break;
  28442. case 1:
  28443. // return
  28444. return P._asyncReturn($async$returnValue, $async$completer);
  28445. }
  28446. });
  28447. return P._asyncStartSync($async$import$3, $async$completer);
  28448. },
  28449. importCanonical$3: function(importer, canonicalUrl, originalUrl) {
  28450. return this.importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl);
  28451. },
  28452. importCanonical$body$AsyncImportCache: function(importer, canonicalUrl, originalUrl) {
  28453. var $async$goto = 0,
  28454. $async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet),
  28455. $async$returnValue, $async$self = this;
  28456. var $async$importCanonical$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28457. if ($async$errorCode === 1)
  28458. return P._asyncRethrow($async$result, $async$completer);
  28459. while (true)
  28460. switch ($async$goto) {
  28461. case 0:
  28462. // Function start
  28463. $async$goto = 3;
  28464. return P._asyncAwait(B.putIfAbsentAsync($async$self._async_import_cache$_importCache, canonicalUrl, new O.AsyncImportCache_importCanonical_closure($async$self, importer, canonicalUrl, originalUrl), P.Uri, V.Stylesheet), $async$importCanonical$3);
  28465. case 3:
  28466. // returning from await.
  28467. $async$returnValue = $async$result;
  28468. // goto return
  28469. $async$goto = 1;
  28470. break;
  28471. case 1:
  28472. // return
  28473. return P._asyncReturn($async$returnValue, $async$completer);
  28474. }
  28475. });
  28476. return P._asyncStartSync($async$importCanonical$3, $async$completer);
  28477. },
  28478. humanize$1: function(canonicalUrl) {
  28479. var t1 = this._async_import_cache$_canonicalizeCache.get$values(),
  28480. t2 = H.getRuntimeTypeArgument(t1, "Iterable", 0),
  28481. t3 = P.Uri,
  28482. url = Y.minBy(new H.MappedIterable(new H.WhereIterable(t1, new O.AsyncImportCache_humanize_closure(canonicalUrl), [t2]), new O.AsyncImportCache_humanize_closure0(), [t2, t3]), new O.AsyncImportCache_humanize_closure1(), t3, null);
  28483. if (url == null)
  28484. return canonicalUrl;
  28485. t1 = $.$get$url();
  28486. return url.resolve$1(X.ParsedPath_ParsedPath$parse(canonicalUrl.get$path(canonicalUrl), t1.style).get$basename());
  28487. }
  28488. };
  28489. O.AsyncImportCache_canonicalize_closure.prototype = {
  28490. call$0: function() {
  28491. var $async$goto = 0,
  28492. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]),
  28493. $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, importer, canonicalUrl;
  28494. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28495. if ($async$errorCode === 1)
  28496. return P._asyncRethrow($async$result, $async$completer);
  28497. while (true)
  28498. switch ($async$goto) {
  28499. case 0:
  28500. // Function start
  28501. t1 = $async$self.$this, t2 = t1._async_import_cache$_importers, t3 = t2.length, t4 = $async$self.url, _i = 0;
  28502. case 3:
  28503. // for condition
  28504. if (!(_i < t2.length)) {
  28505. // goto after for
  28506. $async$goto = 5;
  28507. break;
  28508. }
  28509. importer = t2[_i];
  28510. $async$goto = 6;
  28511. return P._asyncAwait(t1._async_import_cache$_canonicalize$2(importer, t4), $async$call$0);
  28512. case 6:
  28513. // returning from await.
  28514. canonicalUrl = $async$result;
  28515. if (canonicalUrl != null) {
  28516. t1 = P.Uri;
  28517. $async$returnValue = new S.Tuple3(importer, canonicalUrl, t4, [B.AsyncImporter, t1, t1]);
  28518. // goto return
  28519. $async$goto = 1;
  28520. break;
  28521. }
  28522. case 4:
  28523. // for update
  28524. t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i;
  28525. // goto for condition
  28526. $async$goto = 3;
  28527. break;
  28528. case 5:
  28529. // after for
  28530. // goto return
  28531. $async$goto = 1;
  28532. break;
  28533. case 1:
  28534. // return
  28535. return P._asyncReturn($async$returnValue, $async$completer);
  28536. }
  28537. });
  28538. return P._asyncStartSync($async$call$0, $async$completer);
  28539. }
  28540. };
  28541. O.AsyncImportCache_importCanonical_closure.prototype = {
  28542. call$0: function() {
  28543. var $async$goto = 0,
  28544. $async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet),
  28545. $async$returnValue, $async$self = this, t2, t3, t4, t5, t1, result;
  28546. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28547. if ($async$errorCode === 1)
  28548. return P._asyncRethrow($async$result, $async$completer);
  28549. while (true)
  28550. switch ($async$goto) {
  28551. case 0:
  28552. // Function start
  28553. t1 = $async$self.canonicalUrl;
  28554. $async$goto = 3;
  28555. return P._asyncAwait($async$self.importer.load$1(t1), $async$call$0);
  28556. case 3:
  28557. // returning from await.
  28558. result = $async$result;
  28559. if (result == null) {
  28560. // goto return
  28561. $async$goto = 1;
  28562. break;
  28563. }
  28564. t2 = $async$self.$this;
  28565. t2._async_import_cache$_resultsCache.$indexSet(0, t1, result);
  28566. t3 = result.contents;
  28567. t4 = result.syntax;
  28568. t5 = $async$self.originalUrl;
  28569. t1 = t5 == null ? t1 : t5.resolveUri$1(t1);
  28570. $async$returnValue = V.Stylesheet_Stylesheet$parse(t3, t4, t2._async_import_cache$_logger, t1);
  28571. // goto return
  28572. $async$goto = 1;
  28573. break;
  28574. case 1:
  28575. // return
  28576. return P._asyncReturn($async$returnValue, $async$completer);
  28577. }
  28578. });
  28579. return P._asyncStartSync($async$call$0, $async$completer);
  28580. }
  28581. };
  28582. O.AsyncImportCache_humanize_closure.prototype = {
  28583. call$1: function(tuple) {
  28584. var t1 = tuple == null ? null : tuple.item2;
  28585. return J.$eq$(t1, this.canonicalUrl);
  28586. }
  28587. };
  28588. O.AsyncImportCache_humanize_closure0.prototype = {
  28589. call$1: function(tuple) {
  28590. return tuple.item3;
  28591. }
  28592. };
  28593. O.AsyncImportCache_humanize_closure1.prototype = {
  28594. call$1: function(url) {
  28595. return J.get$length$asx(J.get$path$x(url));
  28596. },
  28597. $signature: 12
  28598. };
  28599. D.Callable.prototype = {};
  28600. B.AsyncCallable.prototype = {};
  28601. S.AsyncBuiltInCallable.prototype = {
  28602. AsyncBuiltInCallable$parsed$3: function($name, $arguments, callback) {
  28603. this._async_built_in$_overloads.push(new S.Tuple2($arguments, callback, [B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]));
  28604. },
  28605. callbackFor$2: function(positional, names) {
  28606. var t1, t2, fuzzyMatch, minMismatchDistance, _i, overload, t3, mismatchDistance, t4;
  28607. for (t1 = this._async_built_in$_overloads, t2 = t1.length, fuzzyMatch = null, minMismatchDistance = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  28608. overload = t1[_i];
  28609. t3 = overload.item1;
  28610. if (t3.matches$2(positional, names))
  28611. return overload;
  28612. mismatchDistance = t3.$arguments.length - positional;
  28613. if (minMismatchDistance != null) {
  28614. t3 = Math.abs(mismatchDistance);
  28615. t4 = Math.abs(minMismatchDistance);
  28616. if (t3 > t4)
  28617. continue;
  28618. if (t3 === t4 && mismatchDistance < 0)
  28619. continue;
  28620. }
  28621. minMismatchDistance = mismatchDistance;
  28622. fuzzyMatch = overload;
  28623. }
  28624. return fuzzyMatch;
  28625. },
  28626. $isAsyncCallable: 1,
  28627. get$name: function() {
  28628. return this.name;
  28629. }
  28630. };
  28631. Q.BuiltInCallable.prototype = {
  28632. callbackFor$2: function(positional, names) {
  28633. var t1, t2, fuzzyMatch, minMismatchDistance, _i, overload, t3, mismatchDistance, t4;
  28634. for (t1 = this._overloads, t2 = t1.length, fuzzyMatch = null, minMismatchDistance = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  28635. overload = t1[_i];
  28636. t3 = overload.item1;
  28637. if (t3.matches$2(positional, names))
  28638. return overload;
  28639. mismatchDistance = t3.$arguments.length - positional;
  28640. if (minMismatchDistance != null) {
  28641. t3 = Math.abs(mismatchDistance);
  28642. t4 = Math.abs(minMismatchDistance);
  28643. if (t3 > t4)
  28644. continue;
  28645. if (t3 === t4 && mismatchDistance < 0)
  28646. continue;
  28647. }
  28648. minMismatchDistance = mismatchDistance;
  28649. fuzzyMatch = overload;
  28650. }
  28651. return fuzzyMatch;
  28652. },
  28653. withName$1: function($name) {
  28654. return new Q.BuiltInCallable($name, this._overloads);
  28655. },
  28656. $isCallable: 1,
  28657. $isAsyncCallable: 1,
  28658. $isAsyncBuiltInCallable: 1,
  28659. get$name: function() {
  28660. return this.name;
  28661. }
  28662. };
  28663. L.PlainCssCallable.prototype = {
  28664. $eq: function(_, other) {
  28665. if (other == null)
  28666. return false;
  28667. return other instanceof L.PlainCssCallable && this.name == other.name;
  28668. },
  28669. get$hashCode: function(_) {
  28670. return J.get$hashCode$(this.name);
  28671. },
  28672. $isCallable: 1,
  28673. $isAsyncCallable: 1,
  28674. get$name: function() {
  28675. return this.name;
  28676. }
  28677. };
  28678. E.UserDefinedCallable.prototype = {
  28679. get$name: function() {
  28680. return this.declaration.name;
  28681. },
  28682. $isCallable: 1,
  28683. $isAsyncCallable: 1
  28684. };
  28685. X.closure32.prototype = {
  28686. call$2: function(_, color) {
  28687. return color;
  28688. }
  28689. };
  28690. X.closure33.prototype = {
  28691. call$2: function($name, _) {
  28692. return $name;
  28693. }
  28694. };
  28695. U._compileStylesheet_closure.prototype = {
  28696. call$1: function(url) {
  28697. var t1, t2, _null = null;
  28698. if (url === "")
  28699. t1 = J.toString$0$(P.Uri_Uri$dataFromString(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, _null), 0, _null), C.C_Utf8Codec, _null));
  28700. else {
  28701. t1 = P.Uri_parse(url);
  28702. t2 = this.importCache._resultsCache.$index(0, t1);
  28703. t2 = t2 == null ? _null : t2.get$sourceMapUrl();
  28704. t1 = J.toString$0$(t2 == null ? t1 : t2);
  28705. }
  28706. return t1;
  28707. }
  28708. };
  28709. O.Environment.prototype = {
  28710. closure$0: function() {
  28711. var t4, t5, t6, _this = this,
  28712. t1 = _this._globalModules,
  28713. t2 = _this._forwardedModules,
  28714. t3 = _this._variables;
  28715. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  28716. t4 = _this._variableNodes;
  28717. if (t4 == null)
  28718. t4 = null;
  28719. else
  28720. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  28721. t5 = _this._functions;
  28722. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  28723. t6 = _this._mixins;
  28724. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  28725. return O.Environment$_(_this._environment$_modules, t1, t2, _this._allModules, t3, t4, t5, t6, _this._content);
  28726. },
  28727. global$0: function() {
  28728. var t4, t5, t6, _this = this,
  28729. t1 = [G.Module, D.Callable],
  28730. t2 = H.setRuntimeTypeInfo([], [t1]),
  28731. t3 = _this._variables;
  28732. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  28733. t4 = _this._variableNodes;
  28734. if (t4 == null)
  28735. t4 = null;
  28736. else
  28737. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  28738. t5 = _this._functions;
  28739. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  28740. t6 = _this._mixins;
  28741. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  28742. return O.Environment$_(P.LinkedHashMap_LinkedHashMap$_empty(P.String, t1), null, null, t2, t3, t4, t5, t6, _this._content);
  28743. },
  28744. addModule$2$namespace: function(module, namespace) {
  28745. var t1, t2, _this = this;
  28746. if (namespace == null) {
  28747. t1 = _this._globalModules;
  28748. (t1 == null ? _this._globalModules = P.LinkedHashSet_LinkedHashSet$_empty([G.Module, D.Callable]) : t1).add$1(0, module);
  28749. _this._allModules.push(module);
  28750. for (t1 = J.get$iterator$ax(C.JSArray_methods.get$first(_this._variables).get$keys()); t1.moveNext$0();) {
  28751. t2 = t1.get$current(t1);
  28752. if (module.get$variables().containsKey$1(t2))
  28753. throw H.wrapException(E.SassScriptException$('This module and the new module both define a variable named "$' + H.S(t2) + '".'));
  28754. }
  28755. } else {
  28756. t1 = _this._environment$_modules;
  28757. if (t1.containsKey$1(namespace))
  28758. throw H.wrapException(E.SassScriptException$("There's already a module with namespace \"" + namespace + '".'));
  28759. t1.$indexSet(0, namespace, module);
  28760. _this._allModules.push(module);
  28761. }
  28762. },
  28763. forwardModule$2: function(module, rule) {
  28764. var view, t1, t2, t3, t4, t5, _i, other, _this = this;
  28765. if (_this._forwardedModules == null)
  28766. _this._forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, D.Callable]]);
  28767. view = R.ForwardedModuleView$(module, rule, D.Callable);
  28768. for (t1 = _this._forwardedModules, t2 = t1.length, t3 = view.variables, t4 = view.functions, t5 = view.mixins, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  28769. other = t1[_i];
  28770. _this._assertNoConflicts$4(t3, other.variables, "variable", other);
  28771. _this._assertNoConflicts$4(t4, other.functions, "function", other);
  28772. _this._assertNoConflicts$4(t5, other.mixins, "mixin", other);
  28773. }
  28774. _this._allModules.push(module);
  28775. _this._forwardedModules.push(view);
  28776. },
  28777. _assertNoConflicts$4: function(newMembers, oldMembers, type, oldModule) {
  28778. var larger, smaller, t1, $name;
  28779. if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
  28780. larger = oldMembers;
  28781. smaller = newMembers;
  28782. } else {
  28783. larger = newMembers;
  28784. smaller = oldMembers;
  28785. }
  28786. for (t1 = J.get$iterator$ax(smaller.get$keys()); t1.moveNext$0();) {
  28787. $name = t1.get$current(t1);
  28788. if (larger.containsKey$1($name)) {
  28789. if (type === "variable")
  28790. $name = "$" + H.S($name);
  28791. throw H.wrapException(E.SassScriptException$("Module " + H.S(D.prettyUri(oldModule.get$url())) + " and the new module both forward a " + type + " named " + H.S($name) + "."));
  28792. }
  28793. }
  28794. },
  28795. importForwards$1: function(module) {
  28796. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _i, forwarded, t12, t13, index, _this = this,
  28797. t1 = module._environment._forwardedModules;
  28798. if (t1 == null)
  28799. t1 = C.List_empty0;
  28800. t2 = t1.length;
  28801. t3 = _this._mixinIndices;
  28802. t4 = _this._mixins;
  28803. t5 = _this._functionIndices;
  28804. t6 = _this._functions;
  28805. t7 = _this._variableIndices;
  28806. t8 = _this._variableNodes;
  28807. t9 = t8 != null;
  28808. t10 = _this._variables;
  28809. t11 = [G.Module, D.Callable];
  28810. _i = 0;
  28811. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  28812. forwarded = t1[_i];
  28813. t12 = _this._globalModules;
  28814. (t12 == null ? _this._globalModules = P.LinkedHashSet_LinkedHashSet$_empty(t11) : t12).add$1(0, forwarded);
  28815. for (t12 = J.get$iterator$ax(forwarded.variables.get$keys()); t12.moveNext$0();) {
  28816. t13 = t12.get$current(t12);
  28817. index = t7.remove$1(0, t13);
  28818. if (index == null)
  28819. index = _this._variableIndex$1(t13);
  28820. if (index != null) {
  28821. J.remove$1$ax(t10[index], t13);
  28822. if (t9)
  28823. J.remove$1$ax(t8[index], t13);
  28824. }
  28825. }
  28826. for (t12 = J.get$iterator$ax(forwarded.functions.get$keys()); t12.moveNext$0();) {
  28827. t13 = t12.get$current(t12);
  28828. index = t5.remove$1(0, t13);
  28829. if (index == null)
  28830. index = _this._functionIndex$1(t13);
  28831. if (index != null)
  28832. J.remove$1$ax(t6[index], t13);
  28833. }
  28834. for (t12 = J.get$iterator$ax(forwarded.mixins.get$keys()); t12.moveNext$0();) {
  28835. t13 = t12.get$current(t12);
  28836. index = t3.remove$1(0, t13);
  28837. if (index == null)
  28838. index = _this._mixinIndex$1(t13);
  28839. if (index != null)
  28840. J.remove$1$ax(t4[index], t13);
  28841. }
  28842. }
  28843. },
  28844. getVariable$2$namespace: function($name, namespace) {
  28845. var t1, index, _this = this;
  28846. if (namespace != null)
  28847. return _this._getModule$1(namespace).get$variables().$index(0, $name);
  28848. if (_this._lastVariableName === $name) {
  28849. t1 = J.$index$asx(_this._variables[_this._lastVariableIndex], $name);
  28850. return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
  28851. }
  28852. t1 = _this._variableIndices;
  28853. index = t1.$index(0, $name);
  28854. if (index != null) {
  28855. _this._lastVariableName = $name;
  28856. _this._lastVariableIndex = index;
  28857. t1 = J.$index$asx(_this._variables[index], $name);
  28858. return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
  28859. }
  28860. index = _this._variableIndex$1($name);
  28861. if (index == null)
  28862. return _this._getVariableFromGlobalModule$1($name);
  28863. _this._lastVariableName = $name;
  28864. _this._lastVariableIndex = index;
  28865. t1.$indexSet(0, $name, index);
  28866. t1 = J.$index$asx(_this._variables[index], $name);
  28867. return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
  28868. },
  28869. getVariable$1: function($name) {
  28870. return this.getVariable$2$namespace($name, null);
  28871. },
  28872. _getVariableFromGlobalModule$1: function($name) {
  28873. return this._fromOneModule$2("variable", new O.Environment__getVariableFromGlobalModule_closure($name));
  28874. },
  28875. getVariableNode$2$namespace: function($name, namespace) {
  28876. var t1, index, _this = this;
  28877. if (namespace != null)
  28878. return _this._getModule$1(namespace).get$variableNodes().$index(0, $name);
  28879. if (_this._lastVariableName === $name) {
  28880. t1 = J.$index$asx(_this._variableNodes[_this._lastVariableIndex], $name);
  28881. return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
  28882. }
  28883. t1 = _this._variableIndices;
  28884. index = t1.$index(0, $name);
  28885. if (index != null) {
  28886. _this._lastVariableName = $name;
  28887. _this._lastVariableIndex = index;
  28888. t1 = J.$index$asx(_this._variableNodes[index], $name);
  28889. return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
  28890. }
  28891. index = _this._variableIndex$1($name);
  28892. if (index == null)
  28893. return _this._getVariableNodeFromGlobalModule$1($name);
  28894. _this._lastVariableName = $name;
  28895. _this._lastVariableIndex = index;
  28896. t1.$indexSet(0, $name, index);
  28897. t1 = J.$index$asx(_this._variableNodes[index], $name);
  28898. return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
  28899. },
  28900. _getVariableNodeFromGlobalModule$1: function($name) {
  28901. var t1, value;
  28902. this._lastVariableName = $name;
  28903. this._lastVariableIndex = 0;
  28904. t1 = this._globalModules;
  28905. if (t1 == null)
  28906. return;
  28907. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();) {
  28908. value = t1._collection$_current.get$variableNodes().$index(0, $name);
  28909. if (value != null)
  28910. return value;
  28911. }
  28912. return;
  28913. },
  28914. globalVariableExists$2$namespace: function($name, namespace) {
  28915. if (namespace != null)
  28916. return this._getModule$1(namespace).get$variables().containsKey$1($name);
  28917. if (C.JSArray_methods.get$first(this._variables).containsKey$1($name))
  28918. return true;
  28919. return this._getVariableFromGlobalModule$1($name) != null;
  28920. },
  28921. globalVariableExists$1: function($name) {
  28922. return this.globalVariableExists$2$namespace($name, null);
  28923. },
  28924. _variableIndex$1: function($name) {
  28925. var t1, i;
  28926. for (t1 = this._variables, i = t1.length - 1; i >= 0; --i)
  28927. if (t1[i].containsKey$1($name))
  28928. return i;
  28929. return;
  28930. },
  28931. setVariable$5$global$namespace: function($name, value, nodeWithSpan, global, namespace) {
  28932. var t1, moduleWithName, index, _this = this;
  28933. if (namespace != null) {
  28934. _this._getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
  28935. return;
  28936. }
  28937. if (global || _this._variables.length === 1) {
  28938. _this._variableIndices.putIfAbsent$2($name, new O.Environment_setVariable_closure(_this, $name));
  28939. t1 = _this._variables;
  28940. if (!C.JSArray_methods.get$first(t1).containsKey$1($name) && _this._globalModules != null) {
  28941. moduleWithName = _this._fromOneModule$2("variable", new O.Environment_setVariable_closure0($name));
  28942. if (moduleWithName != null) {
  28943. moduleWithName.setVariable$3($name, value, nodeWithSpan);
  28944. return;
  28945. }
  28946. }
  28947. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, value);
  28948. t1 = _this._variableNodes;
  28949. if (t1 != null)
  28950. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  28951. return;
  28952. }
  28953. index = _this._lastVariableName === $name ? _this._lastVariableIndex : _this._variableIndices.putIfAbsent$2($name, new O.Environment_setVariable_closure1(_this, $name));
  28954. if (!_this._inSemiGlobalScope && index === 0) {
  28955. index = _this._variables.length - 1;
  28956. _this._variableIndices.$indexSet(0, $name, index);
  28957. }
  28958. _this._lastVariableName = $name;
  28959. _this._lastVariableIndex = index;
  28960. J.$indexSet$ax(_this._variables[index], $name, value);
  28961. t1 = _this._variableNodes;
  28962. if (t1 != null)
  28963. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  28964. },
  28965. setVariable$4$global: function($name, value, nodeWithSpan, global) {
  28966. return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null);
  28967. },
  28968. setLocalVariable$3: function($name, value, nodeWithSpan) {
  28969. var index, _this = this,
  28970. t1 = _this._variables,
  28971. t2 = t1.length;
  28972. _this._lastVariableName = $name;
  28973. index = _this._lastVariableIndex = t2 - 1;
  28974. _this._variableIndices.$indexSet(0, $name, index);
  28975. J.$indexSet$ax(t1[index], $name, value);
  28976. t1 = _this._variableNodes;
  28977. if (t1 != null)
  28978. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  28979. },
  28980. getFunction$2$namespace: function($name, namespace) {
  28981. var t1, index, _this = this;
  28982. if (namespace != null) {
  28983. t1 = _this._getModule$1(namespace);
  28984. return t1.get$functions(t1).$index(0, $name);
  28985. }
  28986. t1 = _this._functionIndices;
  28987. index = t1.$index(0, $name);
  28988. if (index != null) {
  28989. t1 = J.$index$asx(_this._functions[index], $name);
  28990. return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1;
  28991. }
  28992. index = _this._functionIndex$1($name);
  28993. if (index == null)
  28994. return _this._getFunctionFromGlobalModule$1($name);
  28995. t1.$indexSet(0, $name, index);
  28996. t1 = J.$index$asx(_this._functions[index], $name);
  28997. return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1;
  28998. },
  28999. _getFunctionFromGlobalModule$1: function($name) {
  29000. return this._fromOneModule$2("function", new O.Environment__getFunctionFromGlobalModule_closure($name));
  29001. },
  29002. _functionIndex$1: function($name) {
  29003. var t1, i;
  29004. for (t1 = this._functions, i = t1.length - 1; i >= 0; --i)
  29005. if (t1[i].containsKey$1($name))
  29006. return i;
  29007. return;
  29008. },
  29009. getMixin$2$namespace: function($name, namespace) {
  29010. var t1, index, _this = this;
  29011. if (namespace != null)
  29012. return _this._getModule$1(namespace).get$mixins().$index(0, $name);
  29013. t1 = _this._mixinIndices;
  29014. index = t1.$index(0, $name);
  29015. if (index != null) {
  29016. t1 = J.$index$asx(_this._mixins[index], $name);
  29017. return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1;
  29018. }
  29019. index = _this._mixinIndex$1($name);
  29020. if (index == null)
  29021. return _this._getMixinFromGlobalModule$1($name);
  29022. t1.$indexSet(0, $name, index);
  29023. t1 = J.$index$asx(_this._mixins[index], $name);
  29024. return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1;
  29025. },
  29026. _getMixinFromGlobalModule$1: function($name) {
  29027. return this._fromOneModule$2("mixin", new O.Environment__getMixinFromGlobalModule_closure($name));
  29028. },
  29029. _mixinIndex$1: function($name) {
  29030. var t1, i;
  29031. for (t1 = this._mixins, i = t1.length - 1; i >= 0; --i)
  29032. if (t1[i].containsKey$1($name))
  29033. return i;
  29034. return;
  29035. },
  29036. scope$1$3$semiGlobal$when: function(callback, semiGlobal, when) {
  29037. var wasInSemiGlobalScope, wasInSemiGlobalScope0, $name, name0, name1, t1, t2, t3, t4, t5, _this = this;
  29038. if (!when) {
  29039. wasInSemiGlobalScope = _this._inSemiGlobalScope;
  29040. _this._inSemiGlobalScope = semiGlobal;
  29041. try {
  29042. t1 = callback.call$0();
  29043. return t1;
  29044. } finally {
  29045. _this._inSemiGlobalScope = wasInSemiGlobalScope;
  29046. }
  29047. }
  29048. semiGlobal = semiGlobal && _this._inSemiGlobalScope;
  29049. wasInSemiGlobalScope0 = _this._inSemiGlobalScope;
  29050. _this._inSemiGlobalScope = semiGlobal;
  29051. t1 = _this._variables;
  29052. t2 = P.String;
  29053. C.JSArray_methods.add$1(t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, F.Value));
  29054. t3 = _this._variableNodes;
  29055. if (t3 != null)
  29056. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, B.AstNode));
  29057. t3 = _this._functions;
  29058. t4 = D.Callable;
  29059. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  29060. t5 = _this._mixins;
  29061. C.JSArray_methods.add$1(t5, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  29062. try {
  29063. t2 = callback.call$0();
  29064. return t2;
  29065. } finally {
  29066. _this._inSemiGlobalScope = wasInSemiGlobalScope0;
  29067. _this._lastVariableIndex = _this._lastVariableName = null;
  29068. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t1).get$keys()), t2 = _this._variableIndices; t1.moveNext$0();) {
  29069. $name = t1.get$current(t1);
  29070. t2.remove$1(0, $name);
  29071. }
  29072. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t3).get$keys()), t2 = _this._functionIndices; t1.moveNext$0();) {
  29073. name0 = t1.get$current(t1);
  29074. t2.remove$1(0, name0);
  29075. }
  29076. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t5).get$keys()), t2 = _this._mixinIndices; t1.moveNext$0();) {
  29077. name1 = t1.get$current(t1);
  29078. t2.remove$1(0, name1);
  29079. }
  29080. }
  29081. },
  29082. scope$1$1: function(callback, $T) {
  29083. return this.scope$1$3$semiGlobal$when(callback, false, true, $T);
  29084. },
  29085. scope$1$2$when: function(callback, when, $T) {
  29086. return this.scope$1$3$semiGlobal$when(callback, false, when, $T);
  29087. },
  29088. scope$1$2$semiGlobal: function(callback, semiGlobal, $T) {
  29089. return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T);
  29090. },
  29091. _getModule$1: function(namespace) {
  29092. var module = this._environment$_modules.$index(0, namespace);
  29093. if (module != null)
  29094. return module;
  29095. throw H.wrapException(E.SassScriptException$('There is no module with the namespace "' + namespace + '".'));
  29096. },
  29097. _fromOneModule$1$2: function(type, callback) {
  29098. var value, valueInModule,
  29099. t1 = this._globalModules;
  29100. if (t1 == null)
  29101. return;
  29102. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications), value = null; t1.moveNext$0();) {
  29103. valueInModule = callback.call$1(t1._collection$_current);
  29104. if (valueInModule == null)
  29105. continue;
  29106. if (value != null)
  29107. throw H.wrapException(E.SassScriptException$("This " + type + " is available from multiple global modules:\n" + B.bulletedList(this._globalModules.where$1(0, new O.Environment__fromOneModule_closure(callback)).map$1$1(0, new O.Environment__fromOneModule_closure0(), P.String))));
  29108. value = valueInModule;
  29109. }
  29110. return value;
  29111. },
  29112. _fromOneModule$2: function(type, callback) {
  29113. return this._fromOneModule$1$2(type, callback, null);
  29114. }
  29115. };
  29116. O.Environment__getVariableFromGlobalModule_closure.prototype = {
  29117. call$1: function(module) {
  29118. return module.get$variables().$index(0, this.name);
  29119. }
  29120. };
  29121. O.Environment_setVariable_closure.prototype = {
  29122. call$0: function() {
  29123. var t1 = this.$this;
  29124. t1._lastVariableName = this.name;
  29125. return t1._lastVariableIndex = 0;
  29126. }
  29127. };
  29128. O.Environment_setVariable_closure0.prototype = {
  29129. call$1: function(module) {
  29130. return module.get$variables().containsKey$1(this.name) ? module : null;
  29131. }
  29132. };
  29133. O.Environment_setVariable_closure1.prototype = {
  29134. call$0: function() {
  29135. var t1 = this.$this,
  29136. t2 = t1._variableIndex$1(this.name);
  29137. return t2 == null ? t1._variables.length - 1 : t2;
  29138. }
  29139. };
  29140. O.Environment__getFunctionFromGlobalModule_closure.prototype = {
  29141. call$1: function(module) {
  29142. return module.get$functions(module).$index(0, this.name);
  29143. }
  29144. };
  29145. O.Environment__getMixinFromGlobalModule_closure.prototype = {
  29146. call$1: function(module) {
  29147. return module.get$mixins().$index(0, this.name);
  29148. }
  29149. };
  29150. O.Environment__fromOneModule_closure.prototype = {
  29151. call$1: function(module) {
  29152. return this.callback.call$1(module) != null;
  29153. }
  29154. };
  29155. O.Environment__fromOneModule_closure0.prototype = {
  29156. call$1: function(module) {
  29157. var t1 = module.get$url();
  29158. return $.$get$context().prettyUri$1(t1);
  29159. }
  29160. };
  29161. O._EnvironmentModule.prototype = {
  29162. get$url: function() {
  29163. return this.css.get$span().file.url;
  29164. },
  29165. setVariable$3: function($name, value, nodeWithSpan) {
  29166. var t1, t2,
  29167. module = this._modulesByVariable.$index(0, $name);
  29168. if (module != null) {
  29169. module.setVariable$3($name, value, nodeWithSpan);
  29170. return;
  29171. }
  29172. t1 = this._environment;
  29173. t2 = t1._variables;
  29174. if (!C.JSArray_methods.get$first(t2).containsKey$1($name))
  29175. throw H.wrapException(E.SassScriptException$("Undefined variable."));
  29176. J.$indexSet$ax(C.JSArray_methods.get$first(t2), $name, value);
  29177. t1 = t1._variableNodes;
  29178. if (t1 != null)
  29179. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  29180. return;
  29181. },
  29182. cloneCss$0: function() {
  29183. var newCssAndExtender, _this = this,
  29184. t1 = _this.css;
  29185. if (J.get$isEmpty$asx(t1.get$children()))
  29186. return _this;
  29187. newCssAndExtender = V.cloneCssStylesheet(t1, _this.extender);
  29188. return O._EnvironmentModule$_(_this._environment, newCssAndExtender.item1, newCssAndExtender.item2, _this._modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.transitivelyContainsCss, _this.transitivelyContainsExtensions);
  29189. },
  29190. toString$0: function(_) {
  29191. var t1 = this.css.get$span().file;
  29192. return $.$get$context().prettyUri$1(t1.url);
  29193. },
  29194. $isModule: 1,
  29195. $asModule: function() {
  29196. return [D.Callable];
  29197. },
  29198. get$upstream: function() {
  29199. return this.upstream;
  29200. },
  29201. get$variables: function() {
  29202. return this.variables;
  29203. },
  29204. get$variableNodes: function() {
  29205. return this.variableNodes;
  29206. },
  29207. get$functions: function(receiver) {
  29208. return this.functions;
  29209. },
  29210. get$mixins: function() {
  29211. return this.mixins;
  29212. },
  29213. get$extender: function() {
  29214. return this.extender;
  29215. },
  29216. get$css: function(receiver) {
  29217. return this.css;
  29218. },
  29219. get$transitivelyContainsCss: function() {
  29220. return this.transitivelyContainsCss;
  29221. },
  29222. get$transitivelyContainsExtensions: function() {
  29223. return this.transitivelyContainsExtensions;
  29224. }
  29225. };
  29226. O._EnvironmentModule__EnvironmentModule_closure.prototype = {
  29227. call$1: function(module) {
  29228. return module.get$variables();
  29229. }
  29230. };
  29231. O._EnvironmentModule__EnvironmentModule_closure0.prototype = {
  29232. call$1: function(module) {
  29233. return module.get$variableNodes();
  29234. }
  29235. };
  29236. O._EnvironmentModule__EnvironmentModule_closure1.prototype = {
  29237. call$1: function(module) {
  29238. return module.get$functions(module);
  29239. }
  29240. };
  29241. O._EnvironmentModule__EnvironmentModule_closure2.prototype = {
  29242. call$1: function(module) {
  29243. return module.get$mixins();
  29244. }
  29245. };
  29246. O._EnvironmentModule__EnvironmentModule_closure3.prototype = {
  29247. call$1: function(module) {
  29248. return module.get$transitivelyContainsCss();
  29249. }
  29250. };
  29251. O._EnvironmentModule__EnvironmentModule_closure4.prototype = {
  29252. call$1: function(module) {
  29253. return module.get$transitivelyContainsExtensions();
  29254. }
  29255. };
  29256. E.SassException.prototype = {
  29257. get$trace: function() {
  29258. var t1 = A.Frame;
  29259. return new Y.Trace(P.List_List$unmodifiable(H.setRuntimeTypeInfo([B.frameForSpan(G.SourceSpanException.prototype.get$span.call(this), "root stylesheet", null)], [t1]), t1), new P._StringStackTrace(null));
  29260. },
  29261. get$span: function() {
  29262. return G.SourceSpanException.prototype.get$span.call(this);
  29263. },
  29264. toString$1$color: function(_, color) {
  29265. var t2, _i, frame, t3,
  29266. buffer = new P.StringBuffer(""),
  29267. t1 = "Error: " + H.S(this._span_exception$_message) + "\n";
  29268. buffer._contents = t1;
  29269. buffer._contents = t1 + G.SourceSpanException.prototype.get$span.call(this).highlight$1$color(color);
  29270. for (t1 = this.get$trace().toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
  29271. frame = t1[_i];
  29272. if (J.get$length$asx(frame) === 0)
  29273. continue;
  29274. t3 = buffer._contents += "\n";
  29275. buffer._contents = t3 + (" " + H.S(frame));
  29276. }
  29277. t1 = buffer._contents;
  29278. return t1.charCodeAt(0) == 0 ? t1 : t1;
  29279. },
  29280. toString$0: function($receiver) {
  29281. return this.toString$1$color($receiver, null);
  29282. },
  29283. toCssString$0: function() {
  29284. var stringMessage, rune,
  29285. t1 = $._glyphs,
  29286. t2 = $._glyphs = C.C_AsciiGlyphSet,
  29287. t3 = this.toString$1$color(0, false),
  29288. commentMessage = H.stringReplaceAllUnchecked(t3, "*/", "*\u2215");
  29289. $._glyphs = t1 === C.C_AsciiGlyphSet ? t2 : C.C_UnicodeGlyphSet;
  29290. stringMessage = new P.StringBuffer("");
  29291. for (t1 = new P.RuneIterator(N.serializeValue(new D.SassString(this.toString$1$color(0, false), true), true, true)); t1.moveNext$0();) {
  29292. rune = t1._currentCodePoint;
  29293. if (rune > 255) {
  29294. stringMessage._contents += H.Primitives_stringFromCharCode(92);
  29295. stringMessage._contents += C.JSInt_methods.toRadixString$1(rune, 16);
  29296. t2 = stringMessage._contents += H.Primitives_stringFromCharCode(32);
  29297. } else
  29298. t2 = stringMessage._contents += H.Primitives_stringFromCharCode(rune);
  29299. }
  29300. return "/* " + C.JSArray_methods.join$1(H.setRuntimeTypeInfo(commentMessage.split("\n"), [P.String]), "\n * ") + ' */\n\nbody::before {\n font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono",\n "Droid Sans Mono", monospace, monospace;\n white-space: pre;\n display: block;\n padding: 1em;\n margin-bottom: 1em;\n border-bottom: 2px solid black;\n content: ' + stringMessage.toString$0(0) + ";\n}";
  29301. }
  29302. };
  29303. E.SassRuntimeException.prototype = {
  29304. get$trace: function() {
  29305. return this.trace;
  29306. }
  29307. };
  29308. E.SassFormatException.prototype = {
  29309. get$source: function() {
  29310. return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(this).file._decodedChars, 0, null), 0, null);
  29311. }
  29312. };
  29313. E.SassScriptException.prototype = {
  29314. toString$0: function(_) {
  29315. return this.message + "\n\nBUG: This should include a source span!";
  29316. },
  29317. get$message: function(receiver) {
  29318. return this.message;
  29319. }
  29320. };
  29321. F.main_printError.prototype = {
  29322. call$2: function(error, stackTrace) {
  29323. var t1 = this._box_0;
  29324. if (t1.printedError)
  29325. $.$get$stderr().writeln$0();
  29326. t1.printedError = true;
  29327. t1 = $.$get$stderr();
  29328. t1.writeln$1(error);
  29329. if (stackTrace != null) {
  29330. t1.writeln$0();
  29331. t1.writeln$1(C.JSString_methods.trimRight$0(Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0)));
  29332. }
  29333. }
  29334. };
  29335. F.main_closure0.prototype = {
  29336. call$0: function() {
  29337. var t1, exception;
  29338. try {
  29339. t1 = this.destination;
  29340. if (t1 != null && !this._box_0.options.get$emitErrorCss())
  29341. B.deleteFile(t1);
  29342. } catch (exception) {
  29343. if (!(H.unwrapException(exception) instanceof B.FileSystemException))
  29344. throw exception;
  29345. }
  29346. }
  29347. };
  29348. D._writeSourceMap_closure.prototype = {
  29349. call$1: function(url) {
  29350. return J.toString$0$(this.options.sourceMapUrl$2(P.Uri_parse(url), this.destination));
  29351. }
  29352. };
  29353. B.ExecutableOptions.prototype = {
  29354. get$interactive: function() {
  29355. var t2, invalidOptions, _i, option,
  29356. t1 = this._interactive;
  29357. if (t1 != null)
  29358. return t1;
  29359. t1 = this._options;
  29360. t2 = H.boolTypeCast(t1.$index(0, "interactive"));
  29361. this._interactive = t2;
  29362. if (!t2)
  29363. return false;
  29364. invalidOptions = ["stdin", "indented", "style", "source-map", "source-map-urls", "embed-sources", "embed-source-map", "update", "watch"];
  29365. for (t2 = t1._parser.options._collection$_map, _i = 0; _i < 9; ++_i) {
  29366. option = invalidOptions[_i];
  29367. if (t2.$index(0, option) == null)
  29368. H.throwExpression(P.ArgumentError$('Could not find an option named "' + option + '".'));
  29369. if (t1._parsed.containsKey$1(option))
  29370. throw H.wrapException(B.UsageException$("--" + option + " isn't allowed with --interactive."));
  29371. }
  29372. return true;
  29373. },
  29374. get$color: function() {
  29375. var t1 = this._options;
  29376. if (t1.wasParsed$1("color"))
  29377. t1 = H.boolTypeCast(t1.$index(0, "color"));
  29378. else {
  29379. t1 = self.process.stdout.isTTY;
  29380. if (t1 == null)
  29381. t1 = false;
  29382. }
  29383. return t1;
  29384. },
  29385. get$emitErrorCss: function() {
  29386. var t1 = H.boolTypeCast(this._options.$index(0, "error-css"));
  29387. if (t1 == null) {
  29388. this._ensureSources$0();
  29389. t1 = this._sourcesToDestinations.get$values().any$1(0, new B.ExecutableOptions_emitErrorCss_closure());
  29390. }
  29391. return t1;
  29392. },
  29393. _ensureSources$0: function() {
  29394. var t1, stdin, t2, t3, $directories, t4, colonArgs, positionalArgs, t5, t6, t7, message, target, source, destination, seen, i, t8, t9, _this = this, _null = null,
  29395. _s18_ = 'Duplicate source "';
  29396. if (_this._sourcesToDestinations != null)
  29397. return;
  29398. t1 = _this._options;
  29399. stdin = H.boolTypeCast(t1.$index(0, "stdin"));
  29400. t2 = t1.rest;
  29401. if (t2.get$length(t2) === 0 && !stdin)
  29402. B.ExecutableOptions__fail("Compile Sass to CSS.");
  29403. t3 = P.String;
  29404. $directories = P.LinkedHashSet_LinkedHashSet(t3);
  29405. for (t4 = new H.ListIterator(t2, t2.get$length(t2)), colonArgs = false, positionalArgs = false; t4.moveNext$0();) {
  29406. t5 = t4.__internal$_current;
  29407. t6 = t5.length;
  29408. if (t6 === 0)
  29409. B.ExecutableOptions__fail('Invalid argument "".');
  29410. if (H.stringContainsUnchecked(t5, ":", 0)) {
  29411. if (t6 > 2) {
  29412. t7 = J.getInterceptor$s(t5)._codeUnitAt$1(t5, 0);
  29413. if (!(t7 >= 97 && t7 <= 122))
  29414. t7 = t7 >= 65 && t7 <= 90;
  29415. else
  29416. t7 = true;
  29417. t7 = t7 && C.JSString_methods._codeUnitAt$1(t5, 1) === 58;
  29418. } else
  29419. t7 = false;
  29420. if (t7) {
  29421. if (2 > t6)
  29422. H.throwExpression(P.RangeError$range(2, 0, t6, _null, _null));
  29423. t6 = H.stringContainsUnchecked(t5, ":", 2);
  29424. } else
  29425. t6 = true;
  29426. } else
  29427. t6 = false;
  29428. if (t6)
  29429. colonArgs = true;
  29430. else if (B.dirExists(t5))
  29431. $directories.add$1(0, t5);
  29432. else
  29433. positionalArgs = true;
  29434. }
  29435. if (positionalArgs || t2.get$length(t2) === 0) {
  29436. if (colonArgs)
  29437. B.ExecutableOptions__fail('Positional and ":" arguments may not both be used.');
  29438. else if (stdin) {
  29439. if (J.get$length$asx(t2._collection$_source) > 1)
  29440. B.ExecutableOptions__fail("Only one argument is allowed with --stdin.");
  29441. else if (H.boolTypeCast(t1.$index(0, "update")))
  29442. B.ExecutableOptions__fail("--update is not allowed with --stdin.");
  29443. else if (H.boolTypeCast(t1.$index(0, "watch")))
  29444. B.ExecutableOptions__fail("--watch is not allowed with --stdin.");
  29445. _this._sourcesToDestinations = H.ConstantMap_ConstantMap$from(P.LinkedHashMap__makeLiteral([null, t2.get$length(t2) === 0 ? _null : t2.get$first(t2)]), t3, t3);
  29446. } else {
  29447. t4 = t2._collection$_source;
  29448. t5 = J.getInterceptor$asx(t4);
  29449. if (t5.get$length(t4) > 2)
  29450. B.ExecutableOptions__fail("Only two positional args may be passed.");
  29451. else if ($directories._collection$_length !== 0) {
  29452. message = 'Directory "' + H.S($directories.get$first($directories)) + '" may not be a positional arg.';
  29453. target = t2.get$last(t2);
  29454. B.ExecutableOptions__fail(J.$eq$($directories.get$first($directories), t2.get$first(t2)) && !B.fileExists(target) ? message + ('\nTo compile all CSS in "' + H.S($directories.get$first($directories)) + '" to "' + H.S(target) + '", use `sass ' + H.S($directories.get$first($directories)) + ":" + H.S(target) + "`.") : message);
  29455. } else {
  29456. source = J.$eq$(t2.get$first(t2), "-") ? _null : t2.get$first(t2);
  29457. destination = t5.get$length(t4) === 1 ? _null : t2.get$last(t2);
  29458. if (destination == null)
  29459. if (H.boolTypeCast(t1.$index(0, "update")))
  29460. B.ExecutableOptions__fail("--update is not allowed when printing to stdout.");
  29461. else if (H.boolTypeCast(t1.$index(0, "watch")))
  29462. B.ExecutableOptions__fail("--watch is not allowed when printing to stdout.");
  29463. t1 = P.LinkedHashMap_LinkedHashMap$_literal([source, destination], t3, t3);
  29464. t2 = K.PathMap__create(_null, t3);
  29465. t2.addAll$1(0, t1);
  29466. _this._sourcesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t2, [t3]), [t3, t3]);
  29467. }
  29468. }
  29469. _this._sourceDirectoriesToDestinations = C.Map_empty9;
  29470. return;
  29471. }
  29472. if (stdin)
  29473. B.ExecutableOptions__fail('--stdin may not be used with ":" arguments.');
  29474. seen = P.LinkedHashSet_LinkedHashSet(t3);
  29475. t1 = K.PathMap__create(_null, t3);
  29476. t4 = [t3];
  29477. t5 = K.PathMap__create(_null, t3);
  29478. for (t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  29479. t6 = t2.__internal$_current;
  29480. if ($directories.contains$1(0, t6)) {
  29481. if (!seen.add$1(0, t6))
  29482. B.ExecutableOptions__fail(_s18_ + H.S(t6) + '".');
  29483. t5.$indexSet(0, t6, t6);
  29484. t1.addAll$1(0, _this._listSourceDirectory$2(t6, t6));
  29485. continue;
  29486. }
  29487. for (t7 = t6.length, destination = _null, source = destination, i = 0; i < t7; ++i) {
  29488. if (i === 1) {
  29489. t8 = i - 1;
  29490. if (t7 > t8 + 2) {
  29491. t9 = C.JSString_methods.codeUnitAt$1(t6, t8);
  29492. if (!(t9 >= 97 && t9 <= 122))
  29493. t9 = t9 >= 65 && t9 <= 90;
  29494. else
  29495. t9 = true;
  29496. t8 = t9 && C.JSString_methods.codeUnitAt$1(t6, t8 + 1) === 58;
  29497. } else
  29498. t8 = false;
  29499. } else
  29500. t8 = false;
  29501. if (t8)
  29502. continue;
  29503. if (C.JSString_methods._codeUnitAt$1(t6, i) === 58)
  29504. if (source == null) {
  29505. source = C.JSString_methods.substring$2(t6, 0, i);
  29506. destination = C.JSString_methods.substring$1(t6, i + 1);
  29507. } else {
  29508. if (i === source.length + 2) {
  29509. t8 = i - 1;
  29510. if (t7 > t8 + 2) {
  29511. t9 = C.JSString_methods.codeUnitAt$1(t6, t8);
  29512. if (!(t9 >= 97 && t9 <= 122))
  29513. t9 = t9 >= 65 && t9 <= 90;
  29514. else
  29515. t9 = true;
  29516. t8 = t9 && C.JSString_methods.codeUnitAt$1(t6, t8 + 1) === 58;
  29517. } else
  29518. t8 = false;
  29519. t8 = !t8;
  29520. } else
  29521. t8 = true;
  29522. if (t8)
  29523. B.ExecutableOptions__fail('"' + t6 + '" may only contain one ":".');
  29524. }
  29525. }
  29526. if (!seen.add$1(0, source))
  29527. B.ExecutableOptions__fail(_s18_ + H.S(source) + '".');
  29528. if (source === "-")
  29529. t1.$indexSet(0, _null, destination);
  29530. else if (B.dirExists(source)) {
  29531. t5.$indexSet(0, source, destination);
  29532. t1.addAll$1(0, _this._listSourceDirectory$2(source, destination));
  29533. } else
  29534. t1.$indexSet(0, source, destination);
  29535. }
  29536. t2 = [t3, t3];
  29537. _this._sourcesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t1, t4), t2);
  29538. _this._sourceDirectoriesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t5, t4), t2);
  29539. },
  29540. _listSourceDirectory$2: function(source, destination) {
  29541. var t2, t3, t4, t5, _null = null,
  29542. t1 = P.String;
  29543. t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  29544. for (t2 = J.get$iterator$ax(B.listDir(source, true)), t3 = source == destination; t2.moveNext$0();) {
  29545. t4 = t2.get$current(t2);
  29546. if (this._isEntrypoint$1(t4))
  29547. t5 = !(t3 && X.ParsedPath_ParsedPath$parse(t4, $.$get$context().style)._splitExtension$0()[1] === ".css");
  29548. else
  29549. t5 = false;
  29550. if (t5) {
  29551. t5 = $.$get$context();
  29552. t1.$indexSet(0, t4, t5.join$8(0, destination, t5.withoutExtension$1(t5.relative$2$from(t4, source)) + ".css", _null, _null, _null, _null, _null, _null));
  29553. }
  29554. }
  29555. return t1;
  29556. },
  29557. _isEntrypoint$1: function(path) {
  29558. var extension,
  29559. t1 = $.$get$context().style;
  29560. if (J.startsWith$1$s(X.ParsedPath_ParsedPath$parse(path, t1).get$basename(), "_"))
  29561. return false;
  29562. extension = X.ParsedPath_ParsedPath$parse(path, t1)._splitExtension$0()[1];
  29563. return extension === ".scss" || extension === ".sass" || extension === ".css";
  29564. },
  29565. get$emitSourceMap: function() {
  29566. var t2, writeToStdout, _this = this,
  29567. _s10_ = "source-map",
  29568. _s15_ = "source-map-urls",
  29569. _s13_ = "embed-sources",
  29570. _s16_ = "embed-source-map",
  29571. t1 = _this._options;
  29572. if (!H.boolTypeCast(t1.$index(0, _s10_)))
  29573. if (t1.wasParsed$1(_s15_))
  29574. B.ExecutableOptions__fail("--source-map-urls isn't allowed with --no-source-map.");
  29575. else if (t1.wasParsed$1(_s13_))
  29576. B.ExecutableOptions__fail("--embed-sources isn't allowed with --no-source-map.");
  29577. else if (t1.wasParsed$1(_s16_))
  29578. B.ExecutableOptions__fail("--embed-source-map isn't allowed with --no-source-map.");
  29579. _this._ensureSources$0();
  29580. t2 = _this._sourcesToDestinations;
  29581. if (t2.get$length(t2) === 1) {
  29582. _this._ensureSources$0();
  29583. t2 = _this._sourcesToDestinations.get$values();
  29584. writeToStdout = t2.get$single(t2) == null;
  29585. } else
  29586. writeToStdout = false;
  29587. if (!writeToStdout)
  29588. return H.boolTypeCast(t1.$index(0, _s10_));
  29589. if (J.$eq$(_this._ifParsed$1(_s15_), "relative"))
  29590. B.ExecutableOptions__fail("--source-map-urls=relative isn't allowed when printing to stdout.");
  29591. if (H.boolTypeCast(t1.$index(0, _s16_)))
  29592. return H.boolTypeCast(t1.$index(0, _s10_));
  29593. else if (J.$eq$(_this._ifParsed$1(_s10_), true))
  29594. B.ExecutableOptions__fail("When printing to stdout, --source-map requires --embed-source-map.");
  29595. else if (t1.wasParsed$1(_s15_))
  29596. B.ExecutableOptions__fail("When printing to stdout, --source-map-urls requires --embed-source-map.");
  29597. else if (H.boolTypeCast(t1.$index(0, _s13_)))
  29598. B.ExecutableOptions__fail("When printing to stdout, --embed-sources requires --embed-source-map.");
  29599. else
  29600. return false;
  29601. },
  29602. sourceMapUrl$2: function(url, destination) {
  29603. var t1, path;
  29604. if (url.get$scheme().length !== 0 && url.get$scheme() !== "file")
  29605. return url;
  29606. t1 = $.$get$context();
  29607. path = t1.style.pathFromUri$1(M._parseUri(url));
  29608. return t1.toUri$1(J.$eq$(this._options.$index(0, "source-map-urls"), "relative") ? t1.relative$2$from(path, t1.dirname$1(destination)) : D.absolute(path));
  29609. },
  29610. _ifParsed$1: function($name) {
  29611. var t1 = this._options;
  29612. return t1.wasParsed$1($name) ? t1.$index(0, $name) : null;
  29613. }
  29614. };
  29615. B.ExecutableOptions_closure.prototype = {
  29616. call$0: function() {
  29617. var t1 = P.String,
  29618. t2 = G.Option,
  29619. t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
  29620. t4 = N.ArgParser,
  29621. t5 = [],
  29622. parser = new N.ArgParser(t3, new P.UnmodifiableMapView(t3, [t1, t2]), new P.UnmodifiableMapView(P.LinkedHashMap_LinkedHashMap$_empty(t1, t4), [t1, t4]), t5, true, null);
  29623. parser.addOption$2$hide("precision", true);
  29624. parser.addFlag$2$hide("async", true);
  29625. t5.push(B.ExecutableOptions__separator("Input and Output"));
  29626. parser.addFlag$2$help("stdin", "Read the stylesheet from stdin.");
  29627. parser.addFlag$2$help("indented", "Use the indented syntax for input from stdin.");
  29628. parser.addMultiOption$5$abbr$help$splitCommas$valueHelp("load-path", "I", "A path to use when resolving imports.\nMay be passed multiple times.", false, "PATH");
  29629. t1 = [t1];
  29630. parser.addOption$6$abbr$allowed$defaultsTo$help$valueHelp("style", "s", H.setRuntimeTypeInfo(["expanded", "compressed"], t1), "expanded", "Output style.", "NAME");
  29631. parser.addFlag$3$defaultsTo$help("charset", true, "Emit a @charset or BOM for CSS with non-ASCII characters.");
  29632. parser.addFlag$3$defaultsTo$help("error-css", null, "When an error occurs, emit a stylesheet describing it.\nDefaults to true when compiling to a file.");
  29633. parser.addFlag$3$help$negatable("update", "Only compile out-of-date stylesheets.", false);
  29634. t5.push(B.ExecutableOptions__separator("Source Maps"));
  29635. parser.addFlag$3$defaultsTo$help("source-map", true, "Whether to generate source maps.");
  29636. parser.addOption$4$allowed$defaultsTo$help("source-map-urls", H.setRuntimeTypeInfo(["relative", "absolute"], t1), "relative", "How to link from source maps to source files.");
  29637. parser.addFlag$3$defaultsTo$help("embed-sources", false, "Embed source file contents in source maps.");
  29638. parser.addFlag$3$defaultsTo$help("embed-source-map", false, "Embed source map contents in CSS.");
  29639. t5.push(B.ExecutableOptions__separator("Other"));
  29640. parser.addFlag$3$help$negatable("watch", "Watch stylesheets and recompile when they change.", false);
  29641. parser.addFlag$2$help("poll", "Manually check for changes rather than using a native watcher.\nOnly valid with --watch.");
  29642. parser.addFlag$2$help("stop-on-error", "Don't compile more files once an error is encountered.");
  29643. parser.addFlag$4$abbr$help$negatable("interactive", "i", "Run an interactive SassScript shell.", false);
  29644. parser.addFlag$3$abbr$help("color", "c", "Whether to use terminal colors for messages.");
  29645. parser.addFlag$2$help("unicode", "Whether to use Unicode characters for messages.");
  29646. parser.addFlag$3$abbr$help("quiet", "q", "Don't print warnings.");
  29647. parser.addFlag$2$help("trace", "Print full Dart stack traces for exceptions.");
  29648. parser.addFlag$4$abbr$help$negatable("help", "h", "Print this usage information.", false);
  29649. parser.addFlag$3$help$negatable("version", "Print the version of Dart Sass.", false);
  29650. return parser;
  29651. }
  29652. };
  29653. B.ExecutableOptions_emitErrorCss_closure.prototype = {
  29654. call$1: function(destination) {
  29655. return destination != null;
  29656. }
  29657. };
  29658. B.UsageException.prototype = {$isException: 1,
  29659. get$message: function(receiver) {
  29660. return this.message;
  29661. }
  29662. };
  29663. A.watch_closure.prototype = {
  29664. call$1: function(dir) {
  29665. for (; !B.dirExists(dir);)
  29666. dir = $.$get$context().dirname$1(dir);
  29667. return this.dirWatcher.watch$1(0, dir);
  29668. }
  29669. };
  29670. A._Watcher.prototype = {
  29671. compile$3$ifModified: function(source, destination, ifModified) {
  29672. return this.compile$body$_Watcher(source, destination, ifModified);
  29673. },
  29674. compile$2: function(source, destination) {
  29675. return this.compile$3$ifModified(source, destination, false);
  29676. },
  29677. compile$body$_Watcher: function(source, destination, ifModified) {
  29678. var $async$goto = 0,
  29679. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29680. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, stackTrace, error0, stackTrace0, exception, t1, t2, $async$exception;
  29681. var $async$compile$3$ifModified = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29682. if ($async$errorCode === 1) {
  29683. $async$currentError = $async$result;
  29684. $async$goto = $async$handler;
  29685. }
  29686. while (true)
  29687. switch ($async$goto) {
  29688. case 0:
  29689. // Function start
  29690. $async$handler = 4;
  29691. $async$goto = 7;
  29692. return P._asyncAwait(D.compileStylesheet($async$self._watch$_options, $async$self._graph, source, destination, ifModified), $async$compile$3$ifModified);
  29693. case 7:
  29694. // returning from await.
  29695. $async$returnValue = true;
  29696. // goto return
  29697. $async$goto = 1;
  29698. break;
  29699. $async$handler = 2;
  29700. // goto after finally
  29701. $async$goto = 6;
  29702. break;
  29703. case 4:
  29704. // catch
  29705. $async$handler = 3;
  29706. $async$exception = $async$currentError;
  29707. t1 = H.unwrapException($async$exception);
  29708. t2 = J.getInterceptor$(t1);
  29709. if (!!t2.$isSassException) {
  29710. error = t1;
  29711. stackTrace = H.getTraceFromException($async$exception);
  29712. t1 = $async$self._watch$_options;
  29713. if (!t1.get$emitErrorCss())
  29714. $async$self._delete$1(destination);
  29715. $async$self._printError$2(J.toString$1$color$(error, t1.get$color()), stackTrace);
  29716. self.process.exitCode = 65;
  29717. $async$returnValue = false;
  29718. // goto return
  29719. $async$goto = 1;
  29720. break;
  29721. } else if (!!t2.$isFileSystemException) {
  29722. error0 = t1;
  29723. stackTrace0 = H.getTraceFromException($async$exception);
  29724. t1 = error0.path;
  29725. $async$self._printError$2("Error reading " + H.S($.$get$context().relative$2$from(t1, null)) + ": " + error0.message + ".", stackTrace0);
  29726. self.process.exitCode = 66;
  29727. $async$returnValue = false;
  29728. // goto return
  29729. $async$goto = 1;
  29730. break;
  29731. } else
  29732. throw $async$exception;
  29733. // goto after finally
  29734. $async$goto = 6;
  29735. break;
  29736. case 3:
  29737. // uncaught
  29738. // goto rethrow
  29739. $async$goto = 2;
  29740. break;
  29741. case 6:
  29742. // after finally
  29743. case 1:
  29744. // return
  29745. return P._asyncReturn($async$returnValue, $async$completer);
  29746. case 2:
  29747. // rethrow
  29748. return P._asyncRethrow($async$currentError, $async$completer);
  29749. }
  29750. });
  29751. return P._asyncStartSync($async$compile$3$ifModified, $async$completer);
  29752. },
  29753. _delete$1: function(path) {
  29754. var buffer, t1, exception;
  29755. try {
  29756. B.deleteFile(path);
  29757. buffer = new P.StringBuffer("");
  29758. t1 = this._watch$_options;
  29759. if (t1.get$color())
  29760. buffer._contents += "\x1b[33m";
  29761. buffer._contents += "Deleted " + H.S(path) + ".";
  29762. if (t1.get$color())
  29763. buffer._contents += "\x1b[0m";
  29764. P.print(buffer);
  29765. } catch (exception) {
  29766. if (!(H.unwrapException(exception) instanceof B.FileSystemException))
  29767. throw exception;
  29768. }
  29769. },
  29770. _printError$2: function(message, stackTrace) {
  29771. var t2,
  29772. t1 = $.$get$stderr();
  29773. t1.writeln$1(message);
  29774. t2 = this._watch$_options._options;
  29775. if (H.boolTypeCast(t2.$index(0, "trace"))) {
  29776. t1.writeln$0();
  29777. t1.writeln$1(C.JSString_methods.trimRight$0(Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0)));
  29778. }
  29779. if (!H.boolTypeCast(t2.$index(0, "stop-on-error")))
  29780. t1.writeln$0();
  29781. },
  29782. watch$1: function(_, watcher) {
  29783. return this.watch$body$_Watcher(_, watcher);
  29784. },
  29785. watch$body$_Watcher: function(_, watcher) {
  29786. var $async$goto = 0,
  29787. $async$completer = P._makeAsyncAwaitCompleter(-1),
  29788. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, $event, extension, success, success0, success1, t2, t1;
  29789. var $async$watch$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29790. if ($async$errorCode === 1) {
  29791. $async$currentError = $async$result;
  29792. $async$goto = $async$handler;
  29793. }
  29794. while (true)
  29795. switch ($async$goto) {
  29796. case 0:
  29797. // Function start
  29798. t1 = watcher._group._controller;
  29799. t1.toString;
  29800. t1 = P._StreamIterator$($async$self._debounceEvents$1(new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)])));
  29801. $async$handler = 3;
  29802. t2 = $async$self._watch$_options._options;
  29803. case 6:
  29804. // for condition
  29805. $async$goto = 8;
  29806. return P._asyncAwait(t1.moveNext$0(), $async$watch$1);
  29807. case 8:
  29808. // returning from await.
  29809. if (!$async$result) {
  29810. // goto after for
  29811. $async$goto = 7;
  29812. break;
  29813. }
  29814. $event = t1.get$current(t1);
  29815. extension = X.ParsedPath_ParsedPath$parse($event.path, $.$get$context().style)._splitExtension$0()[1];
  29816. if (!J.$eq$(extension, ".sass") && !J.$eq$(extension, ".scss") && !J.$eq$(extension, ".css")) {
  29817. // goto for condition
  29818. $async$goto = 6;
  29819. break;
  29820. }
  29821. case 9:
  29822. // switch
  29823. switch ($event.type) {
  29824. case C.ChangeType_modify:
  29825. // goto case
  29826. $async$goto = 11;
  29827. break;
  29828. case C.ChangeType_add:
  29829. // goto case
  29830. $async$goto = 12;
  29831. break;
  29832. case C.ChangeType_remove:
  29833. // goto case
  29834. $async$goto = 13;
  29835. break;
  29836. default:
  29837. // goto after switch
  29838. $async$goto = 10;
  29839. break;
  29840. }
  29841. break;
  29842. case 11:
  29843. // case
  29844. $async$goto = 14;
  29845. return P._asyncAwait($async$self._handleModify$1($event.path), $async$watch$1);
  29846. case 14:
  29847. // returning from await.
  29848. success = $async$result;
  29849. if (!success && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  29850. $async$next = [1];
  29851. // goto finally
  29852. $async$goto = 4;
  29853. break;
  29854. }
  29855. // goto after switch
  29856. $async$goto = 10;
  29857. break;
  29858. case 12:
  29859. // case
  29860. $async$goto = 15;
  29861. return P._asyncAwait($async$self._handleAdd$1($event.path), $async$watch$1);
  29862. case 15:
  29863. // returning from await.
  29864. success0 = $async$result;
  29865. if (!success0 && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  29866. $async$next = [1];
  29867. // goto finally
  29868. $async$goto = 4;
  29869. break;
  29870. }
  29871. // goto after switch
  29872. $async$goto = 10;
  29873. break;
  29874. case 13:
  29875. // case
  29876. $async$goto = 16;
  29877. return P._asyncAwait($async$self._handleRemove$1($event.path), $async$watch$1);
  29878. case 16:
  29879. // returning from await.
  29880. success1 = $async$result;
  29881. if (!success1 && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  29882. $async$next = [1];
  29883. // goto finally
  29884. $async$goto = 4;
  29885. break;
  29886. }
  29887. // goto after switch
  29888. $async$goto = 10;
  29889. break;
  29890. case 10:
  29891. // after switch
  29892. // goto for condition
  29893. $async$goto = 6;
  29894. break;
  29895. case 7:
  29896. // after for
  29897. $async$next.push(5);
  29898. // goto finally
  29899. $async$goto = 4;
  29900. break;
  29901. case 3:
  29902. // uncaught
  29903. $async$next = [2];
  29904. case 4:
  29905. // finally
  29906. $async$handler = 2;
  29907. $async$goto = 17;
  29908. return P._asyncAwait(t1.cancel$0(), $async$watch$1);
  29909. case 17:
  29910. // returning from await.
  29911. // goto the next finally handler
  29912. $async$goto = $async$next.pop();
  29913. break;
  29914. case 5:
  29915. // after finally
  29916. case 1:
  29917. // return
  29918. return P._asyncReturn($async$returnValue, $async$completer);
  29919. case 2:
  29920. // rethrow
  29921. return P._asyncRethrow($async$currentError, $async$completer);
  29922. }
  29923. });
  29924. return P._asyncStartSync($async$watch$1, $async$completer);
  29925. },
  29926. _handleModify$1: function(path) {
  29927. return this._handleModify$body$_Watcher(path);
  29928. },
  29929. _handleModify$body$_Watcher: function(path) {
  29930. var $async$goto = 0,
  29931. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29932. $async$returnValue, $async$self = this, t2, node, t1, url;
  29933. var $async$_handleModify$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29934. if ($async$errorCode === 1)
  29935. return P._asyncRethrow($async$result, $async$completer);
  29936. while (true)
  29937. switch ($async$goto) {
  29938. case 0:
  29939. // Function start
  29940. t1 = $.$get$context();
  29941. url = t1.toUri$1(t1.canonicalize$1(path));
  29942. t1 = $async$self._graph;
  29943. t2 = t1._nodes;
  29944. if (!t2.containsKey$1(url)) {
  29945. $async$returnValue = $async$self._handleAdd$1(path);
  29946. // goto return
  29947. $async$goto = 1;
  29948. break;
  29949. }
  29950. node = t2.$index(0, url);
  29951. t1.reload$1(url);
  29952. $async$goto = 3;
  29953. return P._asyncAwait($async$self._recompileDownstream$1(H.setRuntimeTypeInfo([node], [M.StylesheetNode])), $async$_handleModify$1);
  29954. case 3:
  29955. // returning from await.
  29956. $async$returnValue = $async$result;
  29957. // goto return
  29958. $async$goto = 1;
  29959. break;
  29960. case 1:
  29961. // return
  29962. return P._asyncReturn($async$returnValue, $async$completer);
  29963. }
  29964. });
  29965. return P._asyncStartSync($async$_handleModify$1, $async$completer);
  29966. },
  29967. _handleAdd$1: function(path) {
  29968. return this._handleAdd$body$_Watcher(path);
  29969. },
  29970. _handleAdd$body$_Watcher: function(path) {
  29971. var $async$goto = 0,
  29972. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29973. $async$returnValue, $async$self = this, destination, t1, t2;
  29974. var $async$_handleAdd$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29975. if ($async$errorCode === 1)
  29976. return P._asyncRethrow($async$result, $async$completer);
  29977. while (true)
  29978. switch ($async$goto) {
  29979. case 0:
  29980. // Function start
  29981. $async$goto = 3;
  29982. return P._asyncAwait($async$self._retryPotentialImports$1(path), $async$_handleAdd$1);
  29983. case 3:
  29984. // returning from await.
  29985. if (!$async$result && H.boolTypeCast($async$self._watch$_options._options.$index(0, "stop-on-error"))) {
  29986. $async$returnValue = false;
  29987. // goto return
  29988. $async$goto = 1;
  29989. break;
  29990. }
  29991. destination = $async$self._destinationFor$1(path);
  29992. if (destination == null) {
  29993. $async$returnValue = true;
  29994. // goto return
  29995. $async$goto = 1;
  29996. break;
  29997. }
  29998. t1 = D.absolute(".");
  29999. t2 = $.$get$context();
  30000. $async$self._graph.addCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path));
  30001. $async$goto = 4;
  30002. return P._asyncAwait($async$self.compile$2(path, destination), $async$_handleAdd$1);
  30003. case 4:
  30004. // returning from await.
  30005. $async$returnValue = $async$result;
  30006. // goto return
  30007. $async$goto = 1;
  30008. break;
  30009. case 1:
  30010. // return
  30011. return P._asyncReturn($async$returnValue, $async$completer);
  30012. }
  30013. });
  30014. return P._asyncStartSync($async$_handleAdd$1, $async$completer);
  30015. },
  30016. _handleRemove$1: function(path) {
  30017. return this._handleRemove$body$_Watcher(path);
  30018. },
  30019. _handleRemove$body$_Watcher: function(path) {
  30020. var $async$goto = 0,
  30021. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  30022. $async$returnValue, $async$self = this, t2, destination, t1, url;
  30023. var $async$_handleRemove$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  30024. if ($async$errorCode === 1)
  30025. return P._asyncRethrow($async$result, $async$completer);
  30026. while (true)
  30027. switch ($async$goto) {
  30028. case 0:
  30029. // Function start
  30030. t1 = $.$get$context();
  30031. url = t1.toUri$1(t1.canonicalize$1(path));
  30032. $async$goto = 3;
  30033. return P._asyncAwait($async$self._retryPotentialImports$1(path), $async$_handleRemove$1);
  30034. case 3:
  30035. // returning from await.
  30036. if (!$async$result && H.boolTypeCast($async$self._watch$_options._options.$index(0, "stop-on-error"))) {
  30037. $async$returnValue = false;
  30038. // goto return
  30039. $async$goto = 1;
  30040. break;
  30041. }
  30042. t1 = $async$self._graph;
  30043. t2 = t1._nodes;
  30044. if (!t2.containsKey$1(url)) {
  30045. $async$returnValue = true;
  30046. // goto return
  30047. $async$goto = 1;
  30048. break;
  30049. }
  30050. destination = $async$self._destinationFor$1(path);
  30051. if (destination != null)
  30052. $async$self._delete$1(destination);
  30053. t2 = t2.$index(0, url)._downstream;
  30054. t1.remove$1(0, url);
  30055. $async$goto = 4;
  30056. return P._asyncAwait($async$self._recompileDownstream$1(new L.UnmodifiableSetView(t2, [M.StylesheetNode])), $async$_handleRemove$1);
  30057. case 4:
  30058. // returning from await.
  30059. $async$returnValue = $async$result;
  30060. // goto return
  30061. $async$goto = 1;
  30062. break;
  30063. case 1:
  30064. // return
  30065. return P._asyncReturn($async$returnValue, $async$completer);
  30066. }
  30067. });
  30068. return P._asyncStartSync($async$_handleRemove$1, $async$completer);
  30069. },
  30070. _debounceEvents$1: function(events) {
  30071. var t1 = E.WatchEvent,
  30072. t2 = R._debounceAggregate(P.Duration$(25), H.instantiate1(R.rate_limit___collectToList$closure(), t1), t1, [P.List, t1]).bind$1(events);
  30073. return new P._ExpandStream(new A._Watcher__debounceEvents_closure(), t2, [H.getRuntimeTypeArgument(t2, "Stream", 0), t1]);
  30074. },
  30075. _recompileDownstream$1: function(nodes) {
  30076. return this._recompileDownstream$body$_Watcher(nodes);
  30077. },
  30078. _recompileDownstream$body$_Watcher: function(nodes) {
  30079. var $async$goto = 0,
  30080. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  30081. $async$returnValue, $async$self = this, t2, allSucceeded, node, success, t1, seen, toRecompile;
  30082. var $async$_recompileDownstream$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  30083. if ($async$errorCode === 1)
  30084. return P._asyncRethrow($async$result, $async$completer);
  30085. while (true)
  30086. switch ($async$goto) {
  30087. case 0:
  30088. // Function start
  30089. t1 = M.StylesheetNode;
  30090. seen = P.LinkedHashSet_LinkedHashSet(t1);
  30091. toRecompile = P.ListQueue_ListQueue$of(nodes, t1);
  30092. t1 = [t1], t2 = $async$self._watch$_options._options, allSucceeded = true;
  30093. case 3:
  30094. // for condition
  30095. if (!!toRecompile.get$isEmpty(toRecompile)) {
  30096. // goto after for
  30097. $async$goto = 4;
  30098. break;
  30099. }
  30100. node = toRecompile.removeFirst$0();
  30101. if (!seen.add$1(0, node)) {
  30102. // goto for condition
  30103. $async$goto = 3;
  30104. break;
  30105. }
  30106. $async$goto = 5;
  30107. return P._asyncAwait($async$self._compileIfEntrypoint$1(node.canonicalUrl), $async$_recompileDownstream$1);
  30108. case 5:
  30109. // returning from await.
  30110. success = $async$result;
  30111. allSucceeded = allSucceeded && success;
  30112. if (!success && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  30113. $async$returnValue = false;
  30114. // goto return
  30115. $async$goto = 1;
  30116. break;
  30117. }
  30118. toRecompile.addAll$1(0, new L.UnmodifiableSetView(node._downstream, t1));
  30119. // goto for condition
  30120. $async$goto = 3;
  30121. break;
  30122. case 4:
  30123. // after for
  30124. $async$returnValue = allSucceeded;
  30125. // goto return
  30126. $async$goto = 1;
  30127. break;
  30128. case 1:
  30129. // return
  30130. return P._asyncReturn($async$returnValue, $async$completer);
  30131. }
  30132. });
  30133. return P._asyncStartSync($async$_recompileDownstream$1, $async$completer);
  30134. },
  30135. _compileIfEntrypoint$1: function(url) {
  30136. return this._compileIfEntrypoint$body$_Watcher(url);
  30137. },
  30138. _compileIfEntrypoint$body$_Watcher: function(url) {
  30139. var $async$goto = 0,
  30140. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  30141. $async$returnValue, $async$self = this, source, destination;
  30142. var $async$_compileIfEntrypoint$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  30143. if ($async$errorCode === 1)
  30144. return P._asyncRethrow($async$result, $async$completer);
  30145. while (true)
  30146. switch ($async$goto) {
  30147. case 0:
  30148. // Function start
  30149. if (url.get$scheme() !== "file") {
  30150. $async$returnValue = true;
  30151. // goto return
  30152. $async$goto = 1;
  30153. break;
  30154. }
  30155. source = $.$get$context().style.pathFromUri$1(M._parseUri(url));
  30156. destination = $async$self._destinationFor$1(source);
  30157. if (destination == null) {
  30158. $async$returnValue = true;
  30159. // goto return
  30160. $async$goto = 1;
  30161. break;
  30162. }
  30163. $async$goto = 3;
  30164. return P._asyncAwait($async$self.compile$2(source, destination), $async$_compileIfEntrypoint$1);
  30165. case 3:
  30166. // returning from await.
  30167. $async$returnValue = $async$result;
  30168. // goto return
  30169. $async$goto = 1;
  30170. break;
  30171. case 1:
  30172. // return
  30173. return P._asyncReturn($async$returnValue, $async$completer);
  30174. }
  30175. });
  30176. return P._asyncStartSync($async$_compileIfEntrypoint$1, $async$completer);
  30177. },
  30178. _destinationFor$1: function(source) {
  30179. var destination, t2, t3, t4, _null = null,
  30180. t1 = this._watch$_options;
  30181. t1._ensureSources$0();
  30182. destination = t1._sourcesToDestinations.$index(0, source);
  30183. if (destination != null)
  30184. return destination;
  30185. t2 = $.$get$context();
  30186. if (J.startsWith$1$s(X.ParsedPath_ParsedPath$parse(source, t2.style).get$basename(), "_"))
  30187. return;
  30188. for (t1._ensureSources$0(), t3 = t1._sourceDirectoriesToDestinations.get$keys(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  30189. t4 = t3.get$current(t3);
  30190. if (t2._isWithinOrEquals$2(t4, source) !== C._PathRelation_within)
  30191. continue;
  30192. t1._ensureSources$0();
  30193. destination = t2.join$8(0, t1._sourceDirectoriesToDestinations.$index(0, t4), t2.withoutExtension$1(t2.relative$2$from(source, t4)) + ".css", _null, _null, _null, _null, _null, _null);
  30194. if (destination !== source)
  30195. return destination;
  30196. }
  30197. return;
  30198. },
  30199. _retryPotentialImports$1: function(path) {
  30200. return this._retryPotentialImports$body$_Watcher(path);
  30201. },
  30202. _retryPotentialImports$body$_Watcher: function(path) {
  30203. var $async$goto = 0,
  30204. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  30205. $async$returnValue, $async$next = [], $async$self = this, node, url, newCanonicalUrl, t1, t2, t3, t4, t5, importChanged, t6, basename, exception, t7, $name, changed;
  30206. var $async$_retryPotentialImports$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  30207. if ($async$errorCode === 1)
  30208. return P._asyncRethrow($async$result, $async$completer);
  30209. while (true)
  30210. switch ($async$goto) {
  30211. case 0:
  30212. // Function start
  30213. $name = $async$self._watch$_name$1(X.ParsedPath_ParsedPath$parse(path, $.$get$context().style).get$basename());
  30214. changed = H.setRuntimeTypeInfo([], [M.StylesheetNode]);
  30215. for (t1 = $async$self._graph, t2 = t1._nodes.get$values(), t2 = t2.get$iterator(t2), t3 = t1._transitiveModificationTimes, t1 = t1.importCache, t4 = t1._canonicalizeCache; t2.moveNext$0();) {
  30216. node = t2.get$current(t2);
  30217. for (t5 = node._upstream.get$keys(), t5 = t5.get$iterator(t5), importChanged = false; t5.moveNext$0();) {
  30218. url = t5.get$current(t5);
  30219. t6 = $.$get$url();
  30220. t6 = X.ParsedPath_ParsedPath$parse(J.get$path$x(url), t6.style).get$basename();
  30221. basename = $.$get$context().withoutExtension$1(t6);
  30222. if ((C.JSString_methods.startsWith$1(basename, "_") ? C.JSString_methods.substring$1(basename, 1) : basename) !== $name)
  30223. continue;
  30224. t3.clear$0(0);
  30225. t4.remove$1(0, url);
  30226. if (!importChanged) {
  30227. newCanonicalUrl = null;
  30228. try {
  30229. t6 = t1.canonicalize$3(url, node.importer, node.canonicalUrl);
  30230. newCanonicalUrl = t6 == null ? null : t6.item2;
  30231. } catch (exception) {
  30232. H.unwrapException(exception);
  30233. }
  30234. t6 = newCanonicalUrl;
  30235. t7 = node._upstream.$index(0, url);
  30236. importChanged = !J.$eq$(t6, t7 == null ? null : t7.canonicalUrl);
  30237. }
  30238. }
  30239. if (importChanged)
  30240. changed.push(node);
  30241. }
  30242. $async$goto = 3;
  30243. return P._asyncAwait($async$self._recompileDownstream$1(changed), $async$_retryPotentialImports$1);
  30244. case 3:
  30245. // returning from await.
  30246. $async$returnValue = $async$result;
  30247. // goto return
  30248. $async$goto = 1;
  30249. break;
  30250. case 1:
  30251. // return
  30252. return P._asyncReturn($async$returnValue, $async$completer);
  30253. }
  30254. });
  30255. return P._asyncStartSync($async$_retryPotentialImports$1, $async$completer);
  30256. },
  30257. _watch$_name$1: function(basename) {
  30258. basename = $.$get$context().withoutExtension$1(basename);
  30259. return C.JSString_methods.startsWith$1(basename, "_") ? C.JSString_methods.substring$1(basename, 1) : basename;
  30260. }
  30261. };
  30262. A._Watcher__debounceEvents_closure.prototype = {
  30263. call$1: function(buffer) {
  30264. var t3, t4, t5, oldType,
  30265. t1 = E.ChangeType,
  30266. t2 = K.PathMap__create(null, t1);
  30267. for (t3 = J.get$iterator$ax(buffer); t3.moveNext$0();) {
  30268. t4 = t3.get$current(t3);
  30269. t5 = t4.path;
  30270. oldType = t2.$index(0, t5);
  30271. if (oldType == null)
  30272. t2.$indexSet(0, t5, t4.type);
  30273. else if (t4.type === C.ChangeType_remove)
  30274. t2.$indexSet(0, t5, C.ChangeType_remove);
  30275. else if (oldType !== C.ChangeType_add)
  30276. t2.$indexSet(0, t5, C.ChangeType_modify);
  30277. }
  30278. t3 = t2.get$keys();
  30279. return H.MappedIterable_MappedIterable(t3, new A._Watcher__debounceEvents__closure(new K.PathMap(t2, [t1])), H.getRuntimeTypeArgument(t3, "Iterable", 0), E.WatchEvent);
  30280. }
  30281. };
  30282. A._Watcher__debounceEvents__closure.prototype = {
  30283. call$1: function(path) {
  30284. return new E.WatchEvent(this.typeForPath._collection$_map.$index(0, path), path);
  30285. }
  30286. };
  30287. T.EmptyExtender.prototype = {
  30288. get$isEmpty: function(_) {
  30289. return true;
  30290. },
  30291. get$simpleSelectors: function() {
  30292. return C.C_EmptyUnmodifiableSet;
  30293. },
  30294. extensionsWhereTarget$1: function(callback) {
  30295. return C.List_empty3;
  30296. },
  30297. addExtensions$1: function(extenders) {
  30298. throw H.wrapException(P.UnsupportedError$("addExtensions() can't be called for a const Extender."));
  30299. },
  30300. clone$0: function() {
  30301. return C.Tuple2_EmptyExtender_Map_empty;
  30302. },
  30303. $isExtender: 1
  30304. };
  30305. F.Extender.prototype = {
  30306. get$isEmpty: function(_) {
  30307. var t1 = this._extensions;
  30308. return t1.get$isEmpty(t1);
  30309. },
  30310. get$simpleSelectors: function() {
  30311. return new M.MapKeySet(this._selectors, [M.SimpleSelector]);
  30312. },
  30313. extensionsWhereTarget$1: function($async$callback) {
  30314. var $async$self = this;
  30315. return P._makeSyncStarIterable(function() {
  30316. var callback = $async$callback;
  30317. var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4;
  30318. return function $async$extensionsWhereTarget$1($async$errorCode, $async$result) {
  30319. if ($async$errorCode === 1) {
  30320. $async$currentError = $async$result;
  30321. $async$goto = $async$handler;
  30322. }
  30323. while (true)
  30324. switch ($async$goto) {
  30325. case 0:
  30326. // Function start
  30327. t1 = $async$self._extensions, t2 = t1.get$keys(), t2 = t2.get$iterator(t2);
  30328. case 2:
  30329. // for condition
  30330. if (!t2.moveNext$0()) {
  30331. // goto after for
  30332. $async$goto = 3;
  30333. break;
  30334. }
  30335. t3 = t2.get$current(t2);
  30336. if (!callback.call$1(t3)) {
  30337. // goto for condition
  30338. $async$goto = 2;
  30339. break;
  30340. }
  30341. t3 = t1.$index(0, t3).get$values(), t3 = t3.get$iterator(t3);
  30342. case 4:
  30343. // for condition
  30344. if (!t3.moveNext$0()) {
  30345. // goto after for
  30346. $async$goto = 5;
  30347. break;
  30348. }
  30349. t4 = t3.get$current(t3);
  30350. $async$goto = t4 instanceof A.MergedExtension ? 6 : 8;
  30351. break;
  30352. case 6:
  30353. // then
  30354. t4 = t4.unmerge$0();
  30355. $async$goto = 9;
  30356. return P._IterationMarker_yieldStar(new H.WhereIterable(t4, new F.Extender_extensionsWhereTarget_closure(), [H.getTypeArgumentByIndex(t4, 0)]));
  30357. case 9:
  30358. // after yield
  30359. // goto join
  30360. $async$goto = 7;
  30361. break;
  30362. case 8:
  30363. // else
  30364. $async$goto = !t4.isOptional ? 10 : 11;
  30365. break;
  30366. case 10:
  30367. // then
  30368. $async$goto = 12;
  30369. return t4;
  30370. case 12:
  30371. // after yield
  30372. case 11:
  30373. // join
  30374. case 7:
  30375. // join
  30376. // goto for condition
  30377. $async$goto = 4;
  30378. break;
  30379. case 5:
  30380. // after for
  30381. // goto for condition
  30382. $async$goto = 2;
  30383. break;
  30384. case 3:
  30385. // after for
  30386. // implicit return
  30387. return P._IterationMarker_endOfIteration();
  30388. case 1:
  30389. // rethrow
  30390. return P._IterationMarker_uncaughtError($async$currentError);
  30391. }
  30392. };
  30393. }, S.Extension);
  30394. },
  30395. addSelector$3: function(selector, span, mediaContext) {
  30396. var error, t1, t2, t3, _i, exception, modifiableSelector, _this = this,
  30397. originalSelector = selector;
  30398. if (!originalSelector.get$isInvisible())
  30399. for (t1 = originalSelector.components, t2 = t1.length, t3 = _this._originals, _i = 0; _i < t2; ++_i)
  30400. t3.add$1(0, t1[_i]);
  30401. t1 = _this._extensions;
  30402. if (t1.get$isNotEmpty(t1))
  30403. try {
  30404. selector = _this._extendList$3(originalSelector, t1, mediaContext);
  30405. } catch (exception) {
  30406. t1 = H.unwrapException(exception);
  30407. if (t1 instanceof E.SassException) {
  30408. error = t1;
  30409. throw H.wrapException(E.SassException$("From " + error.get$span().message$1(0, "") + "\n" + H.S(error._span_exception$_message), span));
  30410. } else
  30411. throw exception;
  30412. }
  30413. modifiableSelector = new F.ModifiableCssValue(selector, span, [D.SelectorList]);
  30414. if (mediaContext != null)
  30415. _this._mediaContexts.$indexSet(0, modifiableSelector, mediaContext);
  30416. _this._registerSelector$2(selector, modifiableSelector);
  30417. return modifiableSelector;
  30418. },
  30419. _registerSelector$2: function(list, selector) {
  30420. var t1, t2, t3, _i, t4, t5, _i0, component, t6, t7, _i1, simple;
  30421. for (t1 = list.components, t2 = t1.length, t3 = this._selectors, _i = 0; _i < t2; ++_i)
  30422. for (t4 = t1[_i].components, t5 = t4.length, _i0 = 0; _i0 < t5; ++_i0) {
  30423. component = t4[_i0];
  30424. if (component instanceof X.CompoundSelector)
  30425. for (t6 = component.components, t7 = t6.length, _i1 = 0; _i1 < t7; ++_i1) {
  30426. simple = t6[_i1];
  30427. J.add$1$ax(t3.putIfAbsent$2(simple, new F.Extender__registerSelector_closure()), selector);
  30428. if (simple instanceof D.PseudoSelector && simple.selector != null)
  30429. this._registerSelector$2(simple.selector, selector);
  30430. }
  30431. }
  30432. },
  30433. addExtension$4: function(extender, target, extend, mediaContext) {
  30434. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, newExtensions, _i, complex, t12, state, existingState, t13, _i0, component, t14, t15, _i1, simple, newExtensionsByTarget, additionalExtensions, _this = this,
  30435. selectors = _this._selectors.$index(0, target),
  30436. t1 = _this._extensionsByExtender,
  30437. existingExtensions = t1.$index(0, target),
  30438. sources = _this._extensions.putIfAbsent$2(target, new F.Extender_addExtension_closure());
  30439. for (t2 = extender.value.components, t3 = t2.length, t4 = selectors == null, t5 = _this._sourceSpecificity, t6 = extender.span, t7 = extend.span, t8 = extend.isOptional, t9 = existingExtensions != null, t10 = S.ComplexSelector, t11 = S.Extension, newExtensions = null, _i = 0; _i < t3; ++_i) {
  30440. complex = t2[_i];
  30441. if (complex._maxSpecificity == null)
  30442. complex._computeSpecificity$0();
  30443. t12 = complex._maxSpecificity;
  30444. state = new S.Extension(complex, target, t12, t8, false, mediaContext, t6, t7);
  30445. existingState = sources.$index(0, complex);
  30446. if (existingState != null) {
  30447. sources.$indexSet(0, complex, A.MergedExtension_merge(existingState, state));
  30448. continue;
  30449. }
  30450. sources.$indexSet(0, complex, state);
  30451. for (t12 = complex.components, t13 = t12.length, _i0 = 0; _i0 < t13; ++_i0) {
  30452. component = t12[_i0];
  30453. if (component instanceof X.CompoundSelector)
  30454. for (t14 = component.components, t15 = t14.length, _i1 = 0; _i1 < t15; ++_i1) {
  30455. simple = t14[_i1];
  30456. J.add$1$ax(t1.putIfAbsent$2(simple, new F.Extender_addExtension_closure0()), state);
  30457. t5.putIfAbsent$2(simple, new F.Extender_addExtension_closure1(complex));
  30458. }
  30459. }
  30460. if (!t4 || t9) {
  30461. if (newExtensions == null)
  30462. newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(t10, t11);
  30463. newExtensions.$indexSet(0, complex, state);
  30464. }
  30465. }
  30466. if (newExtensions == null)
  30467. return;
  30468. newExtensionsByTarget = P.LinkedHashMap_LinkedHashMap$_literal([target, newExtensions], M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]);
  30469. if (t9) {
  30470. additionalExtensions = _this._extendExistingExtensions$2(existingExtensions, newExtensionsByTarget);
  30471. if (additionalExtensions != null)
  30472. B.mapAddAll2(newExtensionsByTarget, additionalExtensions);
  30473. }
  30474. if (!t4)
  30475. _this._extendExistingSelectors$2(selectors, newExtensionsByTarget);
  30476. },
  30477. _extendExistingExtensions$2: function(extensions, newExtensions) {
  30478. var extension, selectors, error, t1, t2, t3, t4, t5, t6, additionalExtensions, _i, sources, exception, containsExtension, t7, t8, first, _i0, complex, t9, t10, t11, t12, t13, t14, withExtender, existingExtension, _i1, component, _i2;
  30479. for (t1 = J.toList$0$ax(extensions), t2 = t1.length, t3 = this._extensionsByExtender, t4 = M.SimpleSelector, t5 = [P.Map, S.ComplexSelector, S.Extension], t6 = this._extensions, additionalExtensions = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  30480. extension = t1[_i];
  30481. sources = t6.$index(0, extension.target);
  30482. selectors = null;
  30483. try {
  30484. selectors = this._extendComplex$3(extension.extender, newExtensions, extension.mediaContext);
  30485. if (selectors == null)
  30486. continue;
  30487. } catch (exception) {
  30488. t1 = H.unwrapException(exception);
  30489. if (t1 instanceof E.SassException) {
  30490. error = t1;
  30491. throw H.wrapException(E.SassException$("From " + extension.extenderSpan.message$1(0, "") + "\n" + H.S(error._span_exception$_message), error.get$span()));
  30492. } else
  30493. throw exception;
  30494. }
  30495. containsExtension = J.$eq$(J.get$first$ax(selectors), extension.extender);
  30496. for (t7 = selectors, t8 = t7.length, first = false, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, H.throwConcurrentModificationError)(t7), ++_i0) {
  30497. complex = t7[_i0];
  30498. if (containsExtension && first) {
  30499. first = false;
  30500. continue;
  30501. }
  30502. t9 = extension;
  30503. t10 = t9.target;
  30504. t11 = t9.extenderSpan;
  30505. t12 = t9.span;
  30506. t13 = t9.mediaContext;
  30507. t14 = t9.specificity;
  30508. t9 = t9.isOptional;
  30509. if (t14 == null) {
  30510. if (complex._maxSpecificity == null)
  30511. complex._computeSpecificity$0();
  30512. t14 = complex._maxSpecificity;
  30513. }
  30514. withExtender = new S.Extension(complex, t10, t14, t9, false, t13, t11, t12);
  30515. existingExtension = sources.$index(0, complex);
  30516. if (existingExtension != null)
  30517. sources.$indexSet(0, complex, A.MergedExtension_merge(existingExtension, withExtender));
  30518. else {
  30519. sources.$indexSet(0, complex, withExtender);
  30520. for (t9 = complex.components, t10 = t9.length, _i1 = 0; _i1 < t10; ++_i1) {
  30521. component = t9[_i1];
  30522. if (component instanceof X.CompoundSelector)
  30523. for (t11 = component.components, t12 = t11.length, _i2 = 0; _i2 < t12; ++_i2)
  30524. J.add$1$ax(t3.putIfAbsent$2(t11[_i2], new F.Extender__extendExistingExtensions_closure()), withExtender);
  30525. }
  30526. if (newExtensions.containsKey$1(extension.target)) {
  30527. if (additionalExtensions == null)
  30528. additionalExtensions = P.LinkedHashMap_LinkedHashMap$_empty(t4, t5);
  30529. additionalExtensions.putIfAbsent$2(extension.target, new F.Extender__extendExistingExtensions_closure0()).$indexSet(0, complex, withExtender);
  30530. }
  30531. }
  30532. }
  30533. if (!containsExtension)
  30534. sources.remove$1(0, extension.extender);
  30535. }
  30536. return additionalExtensions;
  30537. },
  30538. _extendExistingSelectors$2: function(selectors, newExtensions) {
  30539. var selector, error, t1, t2, oldValue, exception;
  30540. for (t1 = selectors.get$iterator(selectors), t2 = this._mediaContexts; t1.moveNext$0();) {
  30541. selector = t1.get$current(t1);
  30542. oldValue = selector.value;
  30543. try {
  30544. selector.value = this._extendList$3(selector.value, newExtensions, t2.$index(0, selector));
  30545. } catch (exception) {
  30546. t1 = H.unwrapException(exception);
  30547. if (t1 instanceof E.SassException) {
  30548. error = t1;
  30549. throw H.wrapException(E.SassException$("From " + selector.span.message$1(0, "") + "\n" + H.S(error._span_exception$_message), error.get$span()));
  30550. } else
  30551. throw exception;
  30552. }
  30553. if (oldValue == selector.value)
  30554. continue;
  30555. this._registerSelector$2(selector.value, selector);
  30556. }
  30557. },
  30558. addExtensions$1: function(extenders) {
  30559. var t1, t2, t3, _this = this, _box_0 = {};
  30560. _box_0.newExtensions = _box_0.selectorsToExtend = _box_0.extensionsToExtend = null;
  30561. for (t1 = J.get$iterator$ax(extenders), t2 = _this._sourceSpecificity; t1.moveNext$0();) {
  30562. t3 = t1.get$current(t1);
  30563. if (t3.get$isEmpty(t3))
  30564. continue;
  30565. t2.addAll$1(0, t3.get$_sourceSpecificity());
  30566. t3.get$_extensions().forEach$1(0, new F.Extender_addExtensions_closure(_box_0, _this, t3));
  30567. }
  30568. t1 = _box_0.newExtensions;
  30569. if (t1 == null)
  30570. return;
  30571. t2 = _box_0.extensionsToExtend;
  30572. if (t2 != null)
  30573. _this._extendExistingExtensions$2(t2, t1);
  30574. t1 = _box_0.selectorsToExtend;
  30575. if (t1 != null)
  30576. _this._extendExistingSelectors$2(t1, _box_0.newExtensions);
  30577. },
  30578. _extendList$3: function(list, extensions, mediaQueryContext) {
  30579. var t1, t2, t3, extended, i, complex, result, t4;
  30580. for (t1 = list.components, t2 = t1.length, t3 = [S.ComplexSelector], extended = null, i = 0; i < t2; ++i) {
  30581. complex = t1[i];
  30582. result = this._extendComplex$3(complex, extensions, mediaQueryContext);
  30583. if (result == null) {
  30584. if (extended != null)
  30585. extended.push(complex);
  30586. } else {
  30587. if (extended == null)
  30588. if (i === 0)
  30589. extended = H.setRuntimeTypeInfo([], t3);
  30590. else {
  30591. t4 = C.JSArray_methods.sublist$2(t1, 0, i);
  30592. extended = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  30593. }
  30594. C.JSArray_methods.addAll$1(extended, result);
  30595. }
  30596. }
  30597. if (extended == null)
  30598. return list;
  30599. t1 = this._originals;
  30600. return D.SelectorList$(J.where$1$ax(this._trim$2(extended, t1.get$contains(t1)), new F.Extender__extendList_closure()));
  30601. },
  30602. _extendComplex$3: function(complex, extensions, mediaQueryContext) {
  30603. var t1, t2, t3, t4, t5, t6, t7, extendedNotExpanded, i, component, extended, result, t8,
  30604. _s28_ = "components may not be empty.",
  30605. _box_0 = {},
  30606. isOriginal = this._originals.contains$1(0, complex);
  30607. for (t1 = complex.components, t2 = t1.length, t3 = S.ComplexSelector, t4 = [t3], t5 = S.ComplexSelectorComponent, t6 = [t5], t7 = [P.List, S.ComplexSelector], extendedNotExpanded = null, i = 0; i < t2; ++i) {
  30608. component = t1[i];
  30609. if (component instanceof X.CompoundSelector) {
  30610. extended = this._extendCompound$4$inOriginal(component, extensions, mediaQueryContext, isOriginal);
  30611. if (extended == null) {
  30612. if (extendedNotExpanded != null) {
  30613. result = P.List_List$from(H.setRuntimeTypeInfo([component], t6), false, t5);
  30614. result.fixed$length = Array;
  30615. result.immutable$list = Array;
  30616. t8 = result;
  30617. if (t8.length === 0)
  30618. H.throwExpression(P.ArgumentError$(_s28_));
  30619. C.JSArray_methods.add$1(extendedNotExpanded, H.setRuntimeTypeInfo([new S.ComplexSelector(t8, false)], t4));
  30620. }
  30621. } else {
  30622. if (extendedNotExpanded == null) {
  30623. t8 = H.SubListIterable$(t1, 0, i, H.getTypeArgumentByIndex(t1, 0));
  30624. extendedNotExpanded = new H.MappedListIterable(t8, new F.Extender__extendComplex_closure(complex), [H.getTypeArgumentByIndex(t8, 0), t7]).toList$0(0);
  30625. }
  30626. C.JSArray_methods.add$1(extendedNotExpanded, extended);
  30627. }
  30628. } else if (extendedNotExpanded != null) {
  30629. result = P.List_List$from(H.setRuntimeTypeInfo([component], t6), false, t5);
  30630. result.fixed$length = Array;
  30631. result.immutable$list = Array;
  30632. t8 = result;
  30633. if (t8.length === 0)
  30634. H.throwExpression(P.ArgumentError$(_s28_));
  30635. C.JSArray_methods.add$1(extendedNotExpanded, H.setRuntimeTypeInfo([new S.ComplexSelector(t8, false)], t4));
  30636. }
  30637. }
  30638. if (extendedNotExpanded == null)
  30639. return;
  30640. _box_0.first = true;
  30641. t1 = J.expand$1$1$ax(Y.paths(extendedNotExpanded, t3), new F.Extender__extendComplex_closure0(_box_0, this, complex), t3);
  30642. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  30643. },
  30644. _extendCompound$4$inOriginal: function(compound, extensions, mediaQueryContext, inOriginal) {
  30645. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, options, i, simple, extended, result, t13, t14, _this = this, _null = null,
  30646. _s28_ = "components may not be empty.",
  30647. _box_1 = {},
  30648. t1 = _this._mode,
  30649. targetsUsed = t1 === C.ExtendMode_normal || extensions.get$length(extensions) < 2 ? _null : P.LinkedHashSet_LinkedHashSet(M.SimpleSelector);
  30650. for (t2 = compound.components, t3 = t2.length, t4 = [[P.List, S.Extension]], t5 = S.Extension, t6 = [t5], t7 = S.ComplexSelectorComponent, t8 = [t7], t9 = H.getTypeArgumentByIndex(t2, 0), t10 = M.SimpleSelector, t11 = _this._sourceSpecificity, t12 = [t10], options = _null, i = 0; i < t3; ++i) {
  30651. simple = t2[i];
  30652. extended = _this._extendSimple$4(simple, extensions, mediaQueryContext, targetsUsed);
  30653. if (extended == null) {
  30654. if (options != null) {
  30655. result = P.List_List$from(H.setRuntimeTypeInfo([simple], t12), false, t10);
  30656. result.fixed$length = Array;
  30657. result.immutable$list = Array;
  30658. t13 = result;
  30659. if (t13.length === 0)
  30660. H.throwExpression(P.ArgumentError$(_s28_));
  30661. result = P.List_List$from(H.setRuntimeTypeInfo([new X.CompoundSelector(t13)], t8), false, t7);
  30662. result.fixed$length = Array;
  30663. result.immutable$list = Array;
  30664. t13 = result;
  30665. if (t13.length === 0)
  30666. H.throwExpression(P.ArgumentError$(_s28_));
  30667. t14 = t11.$index(0, simple);
  30668. if (t14 == null)
  30669. t14 = 0;
  30670. options.push(H.setRuntimeTypeInfo([new S.Extension(new S.ComplexSelector(t13, false), _null, t14, true, true, _null, _null, _null)], t6));
  30671. }
  30672. } else {
  30673. if (options == null) {
  30674. options = H.setRuntimeTypeInfo([], t4);
  30675. if (i !== 0) {
  30676. result = P.List_List$from(H.SubListIterable$(t2, 0, i, t9), false, t10);
  30677. result.fixed$length = Array;
  30678. result.immutable$list = Array;
  30679. t13 = result;
  30680. compound = new X.CompoundSelector(t13);
  30681. if (t13.length === 0)
  30682. H.throwExpression(P.ArgumentError$(_s28_));
  30683. result = P.List_List$from(H.setRuntimeTypeInfo([compound], t8), false, t7);
  30684. result.fixed$length = Array;
  30685. result.immutable$list = Array;
  30686. t13 = result;
  30687. if (t13.length === 0)
  30688. H.throwExpression(P.ArgumentError$(_s28_));
  30689. t14 = _this._sourceSpecificityFor$1(compound);
  30690. options.push(H.setRuntimeTypeInfo([new S.Extension(new S.ComplexSelector(t13, false), _null, t14, true, true, _null, _null, _null)], t6));
  30691. }
  30692. }
  30693. C.JSArray_methods.addAll$1(options, extended);
  30694. }
  30695. }
  30696. if (options == null)
  30697. return;
  30698. if (targetsUsed != null && targetsUsed._collection$_length !== extensions.get$length(extensions))
  30699. return;
  30700. if (options.length === 1)
  30701. return J.map$1$1$ax(C.JSArray_methods.get$first(options), new F.Extender__extendCompound_closure(mediaQueryContext), S.ComplexSelector).toList$0(0);
  30702. _box_1.first = t1 !== C.ExtendMode_replace;
  30703. t1 = J.map$1$1$ax(Y.paths(options, t5), new F.Extender__extendCompound_closure0(_box_1, mediaQueryContext), [P.List, S.ComplexSelector]).where$1(0, new F.Extender__extendCompound_closure1());
  30704. t2 = S.ComplexSelector;
  30705. return P.List_List$from(new H.ExpandIterable(t1, new F.Extender__extendCompound_closure2(), [H.getTypeArgumentByIndex(t1, 0), t2]), true, t2);
  30706. },
  30707. _extendSimple$4: function(simple, extensions, mediaQueryContext, targetsUsed) {
  30708. var extended, result,
  30709. t1 = new F.Extender__extendSimple_withoutPseudo(this, extensions, targetsUsed);
  30710. if (simple instanceof D.PseudoSelector && simple.selector != null) {
  30711. extended = this._extendPseudo$3(simple, extensions, mediaQueryContext);
  30712. if (extended != null)
  30713. return new H.MappedListIterable(extended, new F.Extender__extendSimple_closure(this, t1), [H.getTypeArgumentByIndex(extended, 0), [P.List, S.Extension]]);
  30714. }
  30715. result = t1.call$1(simple);
  30716. return result == null ? null : H.setRuntimeTypeInfo([result], [[P.List, S.Extension]]);
  30717. },
  30718. _extensionForSimple$1: function(simple) {
  30719. var t1 = S.ComplexSelector$(H.setRuntimeTypeInfo([X.CompoundSelector$(H.setRuntimeTypeInfo([simple], [M.SimpleSelector]))], [S.ComplexSelectorComponent]), false),
  30720. t2 = this._sourceSpecificity.$index(0, simple);
  30721. return S.Extension$oneOff(t1, true, t2 == null ? 0 : t2);
  30722. },
  30723. _extendPseudo$3: function(pseudo, extensions, mediaQueryContext) {
  30724. var complexes, t2, result,
  30725. t1 = pseudo.selector,
  30726. extended = this._extendList$3(t1, extensions, mediaQueryContext);
  30727. if (extended == t1)
  30728. return;
  30729. complexes = extended.components;
  30730. t2 = pseudo.normalizedName === "not";
  30731. if (t2 && !C.JSArray_methods.any$1(t1.components, new F.Extender__extendPseudo_closure()) && C.JSArray_methods.any$1(complexes, new F.Extender__extendPseudo_closure0()))
  30732. complexes = new H.WhereIterable(complexes, new F.Extender__extendPseudo_closure1(), [H.getTypeArgumentByIndex(complexes, 0)]);
  30733. complexes = J.expand$1$1$ax(complexes, new F.Extender__extendPseudo_closure2(pseudo), S.ComplexSelector);
  30734. t1 = t2 && t1.components.length === 1;
  30735. t2 = D.PseudoSelector;
  30736. if (t1) {
  30737. t1 = H.MappedIterable_MappedIterable(complexes, new F.Extender__extendPseudo_closure3(pseudo), H.getRuntimeTypeArgument(complexes, "Iterable", 0), t2);
  30738. result = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  30739. return result.length === 0 ? null : result;
  30740. } else
  30741. return H.setRuntimeTypeInfo([D.PseudoSelector$(pseudo.name, pseudo.argument, !pseudo.isClass, D.SelectorList$(complexes))], [t2]);
  30742. },
  30743. _trim$2: function(selectors, isOriginal) {
  30744. var result, i, t1, numOriginals, _box_0, complex1, j, t2, t3, _i, component;
  30745. if (selectors.length > 100)
  30746. return selectors;
  30747. result = Q.QueueList$(null, S.ComplexSelector);
  30748. $label0$0:
  30749. for (i = selectors.length - 1, t1 = H.getTypeArgumentByIndex(selectors, 0), numOriginals = 0; i >= 0; --i) {
  30750. _box_0 = {};
  30751. complex1 = selectors[i];
  30752. if (isOriginal.call$1(complex1)) {
  30753. for (j = 0; j < numOriginals; ++j)
  30754. if (J.$eq$(result.$index(0, j), complex1)) {
  30755. B.rotateSlice(result, 0, j + 1);
  30756. continue $label0$0;
  30757. }
  30758. ++numOriginals;
  30759. result.addFirst$1(complex1);
  30760. continue $label0$0;
  30761. }
  30762. _box_0.maxSpecificity = 0;
  30763. for (t2 = complex1.components, t3 = t2.length, _i = 0; _i < t3; ++_i) {
  30764. component = t2[_i];
  30765. if (component instanceof X.CompoundSelector)
  30766. _box_0.maxSpecificity = Math.max(_box_0.maxSpecificity, this._sourceSpecificityFor$1(component));
  30767. }
  30768. if (result.any$1(result, new F.Extender__trim_closure(_box_0, complex1)))
  30769. continue $label0$0;
  30770. if (H.SubListIterable$(selectors, 0, i, t1).any$1(0, new F.Extender__trim_closure0(_box_0, complex1)))
  30771. continue $label0$0;
  30772. result.addFirst$1(complex1);
  30773. }
  30774. return result;
  30775. },
  30776. _sourceSpecificityFor$1: function(compound) {
  30777. var t1, t2, t3, specificity, _i, t4;
  30778. for (t1 = compound.components, t2 = t1.length, t3 = this._sourceSpecificity, specificity = 0, _i = 0; _i < t2; ++_i) {
  30779. t4 = t3.$index(0, t1[_i]);
  30780. specificity = Math.max(specificity, H.checkNum(t4 == null ? 0 : t4));
  30781. }
  30782. return specificity;
  30783. },
  30784. clone$0: function() {
  30785. var t3, t4, _this = this,
  30786. t1 = M.SimpleSelector,
  30787. newSelectors = P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.Set, [F.ModifiableCssValue, D.SelectorList]]),
  30788. t2 = [F.ModifiableCssValue, D.SelectorList],
  30789. newMediaContexts = new H.JsLinkedHashMap([t2, [P.List, F.CssMediaQuery]]),
  30790. oldToNewSelectors = P.LinkedHashMap_LinkedHashMap$_empty([F.CssValue, D.SelectorList], t2);
  30791. _this._selectors.forEach$1(0, new F.Extender_clone_closure(_this, newSelectors, oldToNewSelectors, newMediaContexts));
  30792. t2 = S.ComplexSelector;
  30793. t3 = S.Extension;
  30794. t4 = B.copyMapOfMap(_this._extensions, t1, t2, t3);
  30795. t3 = B.copyMapOfList(_this._extensionsByExtender, t1, t3);
  30796. t1 = P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t1, P.int);
  30797. t1.addAll$1(0, _this._sourceSpecificity);
  30798. t2 = new P._LinkedIdentityHashSet([t2]);
  30799. t2.addAll$1(0, _this._originals);
  30800. return new S.Tuple2(new F.Extender(newSelectors, t4, t3, newMediaContexts, t1, t2, C.ExtendMode_normal), oldToNewSelectors, [F.Extender, [P.Map, [F.CssValue, D.SelectorList], [F.ModifiableCssValue, D.SelectorList]]]);
  30801. },
  30802. get$_extensions: function() {
  30803. return this._extensions;
  30804. },
  30805. get$_sourceSpecificity: function() {
  30806. return this._sourceSpecificity;
  30807. }
  30808. };
  30809. F.Extender__extendOrReplace_closure.prototype = {
  30810. call$1: function(complex) {
  30811. return S.Extension$oneOff(H.interceptedTypeCast(complex, "$isComplexSelector"), false, null);
  30812. },
  30813. $signature: 38
  30814. };
  30815. F.Extender_extensionsWhereTarget_closure.prototype = {
  30816. call$1: function(extension) {
  30817. return !extension.isOptional;
  30818. }
  30819. };
  30820. F.Extender__registerSelector_closure.prototype = {
  30821. call$0: function() {
  30822. return P.LinkedHashSet_LinkedHashSet([F.ModifiableCssValue, D.SelectorList]);
  30823. }
  30824. };
  30825. F.Extender_addExtension_closure.prototype = {
  30826. call$0: function() {
  30827. return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension);
  30828. }
  30829. };
  30830. F.Extender_addExtension_closure0.prototype = {
  30831. call$0: function() {
  30832. return H.setRuntimeTypeInfo([], [S.Extension]);
  30833. }
  30834. };
  30835. F.Extender_addExtension_closure1.prototype = {
  30836. call$0: function() {
  30837. return this.complex.get$maxSpecificity();
  30838. }
  30839. };
  30840. F.Extender__extendExistingExtensions_closure.prototype = {
  30841. call$0: function() {
  30842. return H.setRuntimeTypeInfo([], [S.Extension]);
  30843. }
  30844. };
  30845. F.Extender__extendExistingExtensions_closure0.prototype = {
  30846. call$0: function() {
  30847. return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension);
  30848. }
  30849. };
  30850. F.Extender_addExtensions_closure.prototype = {
  30851. call$2: function(target, newSources) {
  30852. var t1, extensionsForTarget, t2, t3, t4, selectorsForTarget, t5, existingSources, _this = this;
  30853. if (target instanceof N.PlaceholderSelector && T.isPrivate(target.name))
  30854. return;
  30855. t1 = _this.$this;
  30856. extensionsForTarget = t1._extensionsByExtender.$index(0, target);
  30857. t2 = extensionsForTarget == null;
  30858. if (!t2) {
  30859. t3 = _this._box_0;
  30860. t4 = t3.extensionsToExtend;
  30861. C.JSArray_methods.addAll$1(t4 == null ? t3.extensionsToExtend = H.setRuntimeTypeInfo([], [S.Extension]) : t4, extensionsForTarget);
  30862. }
  30863. selectorsForTarget = t1._selectors.$index(0, target);
  30864. t3 = selectorsForTarget != null;
  30865. if (t3) {
  30866. t4 = _this._box_0;
  30867. t5 = t4.selectorsToExtend;
  30868. (t5 == null ? t4.selectorsToExtend = P.LinkedHashSet_LinkedHashSet([F.ModifiableCssValue, D.SelectorList]) : t5).addAll$1(0, selectorsForTarget);
  30869. }
  30870. t1 = t1._extensions;
  30871. existingSources = t1.$index(0, target);
  30872. if (existingSources == null) {
  30873. t4 = _this.extender;
  30874. t1.$indexSet(0, target, t4.get$_extensions().$index(0, target));
  30875. if (!t2 || t3) {
  30876. t1 = _this._box_0;
  30877. t2 = t1.newExtensions;
  30878. t1 = t2 == null ? t1.newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]) : t2;
  30879. t1.$indexSet(0, target, t4.get$_extensions().$index(0, target));
  30880. }
  30881. } else
  30882. newSources.forEach$1(0, new F.Extender_addExtensions__closure(_this._box_0, existingSources, extensionsForTarget, selectorsForTarget, target));
  30883. }
  30884. };
  30885. F.Extender_addExtensions__closure.prototype = {
  30886. call$2: function(extender, extension) {
  30887. var t2, _this = this,
  30888. t1 = _this.existingSources;
  30889. if (t1.containsKey$1(extender))
  30890. return;
  30891. t1.$indexSet(0, extender, extension);
  30892. if (_this.extensionsForTarget != null || _this.selectorsForTarget != null) {
  30893. t1 = _this._box_0;
  30894. t2 = t1.newExtensions;
  30895. t1 = t2 == null ? t1.newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]) : t2;
  30896. t1.putIfAbsent$2(_this.target, new F.Extender_addExtensions___closure()).putIfAbsent$2(extender, new F.Extender_addExtensions___closure0(extension));
  30897. }
  30898. }
  30899. };
  30900. F.Extender_addExtensions___closure.prototype = {
  30901. call$0: function() {
  30902. return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension);
  30903. }
  30904. };
  30905. F.Extender_addExtensions___closure0.prototype = {
  30906. call$0: function() {
  30907. return this.extension;
  30908. }
  30909. };
  30910. F.Extender__extendList_closure.prototype = {
  30911. call$1: function(complex) {
  30912. return complex != null;
  30913. }
  30914. };
  30915. F.Extender__extendComplex_closure.prototype = {
  30916. call$1: function(component) {
  30917. return H.setRuntimeTypeInfo([S.ComplexSelector$(H.setRuntimeTypeInfo([component], [S.ComplexSelectorComponent]), this.complex.lineBreak)], [S.ComplexSelector]);
  30918. }
  30919. };
  30920. F.Extender__extendComplex_closure0.prototype = {
  30921. call$1: function(path) {
  30922. var t1 = Y.weave(J.map$1$1$ax(path, new F.Extender__extendComplex__closure(), [P.List, S.ComplexSelectorComponent]).toList$0(0));
  30923. return new H.MappedListIterable(t1, new F.Extender__extendComplex__closure0(this._box_0, this.$this, this.complex, path), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  30924. }
  30925. };
  30926. F.Extender__extendComplex__closure.prototype = {
  30927. call$1: function(complex) {
  30928. return complex.components;
  30929. }
  30930. };
  30931. F.Extender__extendComplex__closure0.prototype = {
  30932. call$1: function(components) {
  30933. var _this = this,
  30934. t1 = _this.complex,
  30935. outputComplex = S.ComplexSelector$(components, t1.lineBreak || J.any$1$ax(_this.path, new F.Extender__extendComplex___closure())),
  30936. t2 = _this._box_0;
  30937. if (t2.first && _this.$this._originals.contains$1(0, t1))
  30938. _this.$this._originals.add$1(0, outputComplex);
  30939. t2.first = false;
  30940. return outputComplex;
  30941. }
  30942. };
  30943. F.Extender__extendComplex___closure.prototype = {
  30944. call$1: function(inputComplex) {
  30945. return inputComplex.lineBreak;
  30946. }
  30947. };
  30948. F.Extender__extendCompound_closure.prototype = {
  30949. call$1: function(state) {
  30950. state.assertCompatibleMediaContext$1(this.mediaQueryContext);
  30951. return state.extender;
  30952. }
  30953. };
  30954. F.Extender__extendCompound_closure0.prototype = {
  30955. call$1: function(path) {
  30956. var complexes, toUnify, originals, t3, _box_0 = {},
  30957. t1 = this._box_1,
  30958. t2 = [P.List, S.ComplexSelectorComponent];
  30959. if (t1.first) {
  30960. t1.first = false;
  30961. complexes = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([X.CompoundSelector$(J.expand$1$1$ax(path, new F.Extender__extendCompound__closure(), M.SimpleSelector))], [S.ComplexSelectorComponent])], [t2]);
  30962. } else {
  30963. toUnify = Q.QueueList$(null, t2);
  30964. for (t1 = J.get$iterator$ax(path), t2 = [M.SimpleSelector], originals = null; t1.moveNext$0();) {
  30965. t3 = t1.get$current(t1);
  30966. if (t3.isOriginal) {
  30967. if (originals == null)
  30968. originals = H.setRuntimeTypeInfo([], t2);
  30969. C.JSArray_methods.addAll$1(originals, H.interceptedTypeCast(C.JSArray_methods.get$last(t3.extender.components), "$isCompoundSelector").components);
  30970. } else
  30971. toUnify._queue_list$_add$1(t3.extender.components);
  30972. }
  30973. if (originals != null)
  30974. toUnify.addFirst$1(H.setRuntimeTypeInfo([X.CompoundSelector$(originals)], [S.ComplexSelectorComponent]));
  30975. complexes = Y.unifyComplex(toUnify);
  30976. if (complexes == null)
  30977. return;
  30978. }
  30979. _box_0.lineBreak = false;
  30980. for (t1 = J.get$iterator$ax(path), t2 = this.mediaQueryContext; t1.moveNext$0();) {
  30981. t3 = t1.get$current(t1);
  30982. t3.assertCompatibleMediaContext$1(t2);
  30983. _box_0.lineBreak = _box_0.lineBreak || t3.extender.lineBreak;
  30984. }
  30985. return J.map$1$1$ax(complexes, new F.Extender__extendCompound__closure0(_box_0), S.ComplexSelector).toList$0(0);
  30986. }
  30987. };
  30988. F.Extender__extendCompound__closure.prototype = {
  30989. call$1: function(state) {
  30990. return H.interceptedTypeCast(C.JSArray_methods.get$last(state.extender.components), "$isCompoundSelector").components;
  30991. }
  30992. };
  30993. F.Extender__extendCompound__closure0.prototype = {
  30994. call$1: function(components) {
  30995. return S.ComplexSelector$(components, this._box_0.lineBreak);
  30996. }
  30997. };
  30998. F.Extender__extendCompound_closure1.prototype = {
  30999. call$1: function(complexes) {
  31000. return complexes != null;
  31001. }
  31002. };
  31003. F.Extender__extendCompound_closure2.prototype = {
  31004. call$1: function(l) {
  31005. return l;
  31006. }
  31007. };
  31008. F.Extender__extendSimple_withoutPseudo.prototype = {
  31009. call$1: function(simple) {
  31010. var t1, t2,
  31011. extenders = this.extensions.$index(0, simple);
  31012. if (extenders == null)
  31013. return;
  31014. t1 = this.targetsUsed;
  31015. if (t1 != null)
  31016. t1.add$1(0, simple);
  31017. t1 = this.$this;
  31018. if (t1._mode === C.ExtendMode_replace) {
  31019. t1 = extenders.get$values();
  31020. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  31021. }
  31022. t2 = H.setRuntimeTypeInfo([], [S.Extension]);
  31023. t2.push(t1._extensionForSimple$1(simple));
  31024. for (t1 = extenders.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  31025. t2.push(t1.get$current(t1));
  31026. return t2;
  31027. }
  31028. };
  31029. F.Extender__extendSimple_closure.prototype = {
  31030. call$1: function(pseudo) {
  31031. var t1 = this.withoutPseudo.call$1(pseudo);
  31032. return t1 == null ? H.setRuntimeTypeInfo([this.$this._extensionForSimple$1(pseudo)], [S.Extension]) : t1;
  31033. }
  31034. };
  31035. F.Extender__extendPseudo_closure.prototype = {
  31036. call$1: function(complex) {
  31037. return complex.components.length > 1;
  31038. }
  31039. };
  31040. F.Extender__extendPseudo_closure0.prototype = {
  31041. call$1: function(complex) {
  31042. return complex.components.length === 1;
  31043. }
  31044. };
  31045. F.Extender__extendPseudo_closure1.prototype = {
  31046. call$1: function(complex) {
  31047. return complex.components.length <= 1;
  31048. }
  31049. };
  31050. F.Extender__extendPseudo_closure2.prototype = {
  31051. call$1: function(complex) {
  31052. var innerPseudo, t2,
  31053. t1 = complex.components;
  31054. if (t1.length !== 1)
  31055. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  31056. if (!(C.JSArray_methods.get$first(t1) instanceof X.CompoundSelector))
  31057. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  31058. t1 = H.interceptedTypeCast(C.JSArray_methods.get$first(t1), "$isCompoundSelector").components;
  31059. if (t1.length !== 1)
  31060. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  31061. if (!(C.JSArray_methods.get$first(t1) instanceof D.PseudoSelector))
  31062. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  31063. innerPseudo = H.interceptedTypeCast(C.JSArray_methods.get$first(t1), "$isPseudoSelector");
  31064. t1 = innerPseudo.selector;
  31065. if (t1 == null)
  31066. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  31067. t2 = this.pseudo;
  31068. switch (t2.normalizedName) {
  31069. case "not":
  31070. if (innerPseudo.normalizedName !== "matches")
  31071. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  31072. return t1.components;
  31073. case "matches":
  31074. case "any":
  31075. case "current":
  31076. case "nth-child":
  31077. case "nth-last-child":
  31078. if (innerPseudo.name !== t2.name)
  31079. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  31080. if (innerPseudo.argument != t2.argument)
  31081. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  31082. return t1.components;
  31083. case "has":
  31084. case "host":
  31085. case "host-context":
  31086. case "slotted":
  31087. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  31088. default:
  31089. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  31090. }
  31091. }
  31092. };
  31093. F.Extender__extendPseudo_closure3.prototype = {
  31094. call$1: function(complex) {
  31095. var t1 = this.pseudo;
  31096. return D.PseudoSelector$(t1.name, t1.argument, !t1.isClass, D.SelectorList$(H.setRuntimeTypeInfo([complex], [S.ComplexSelector])));
  31097. }
  31098. };
  31099. F.Extender__trim_closure.prototype = {
  31100. call$1: function(complex2) {
  31101. return complex2.get$minSpecificity() >= this._box_0.maxSpecificity && Y.complexIsSuperselector(complex2.components, this.complex1.components);
  31102. }
  31103. };
  31104. F.Extender__trim_closure0.prototype = {
  31105. call$1: function(complex2) {
  31106. return complex2.get$minSpecificity() >= this._box_0.maxSpecificity && Y.complexIsSuperselector(complex2.components, this.complex1.components);
  31107. }
  31108. };
  31109. F.Extender_clone_closure.prototype = {
  31110. call$2: function(simple, selectors) {
  31111. var t1, t2, t3, t4, t5, t6, newSelector, mediaContext, _this = this,
  31112. newSelectorSet = P.LinkedHashSet_LinkedHashSet([F.ModifiableCssValue, D.SelectorList]);
  31113. _this.newSelectors.$indexSet(0, simple, newSelectorSet);
  31114. for (t1 = selectors.get$iterator(selectors), t2 = [D.SelectorList], t3 = _this.oldToNewSelectors, t4 = _this.$this._mediaContexts, t5 = _this.newMediaContexts; t1.moveNext$0();) {
  31115. t6 = t1.get$current(t1);
  31116. newSelector = new F.ModifiableCssValue(t6.value, t6.span, t2);
  31117. newSelectorSet.add$1(0, newSelector);
  31118. t3.$indexSet(0, t6, newSelector);
  31119. mediaContext = t4.$index(0, t6);
  31120. if (mediaContext != null)
  31121. t5.$indexSet(0, newSelector, mediaContext);
  31122. }
  31123. }
  31124. };
  31125. S.Extension.prototype = {
  31126. assertCompatibleMediaContext$1: function(mediaContext) {
  31127. var t1 = this.mediaContext;
  31128. if (t1 == null)
  31129. return;
  31130. if (mediaContext != null && C.C_ListEquality.equals$2(t1, mediaContext))
  31131. return;
  31132. throw H.wrapException(E.SassException$("You may not @extend selectors across media queries.", this.span));
  31133. },
  31134. toString$0: function(_) {
  31135. var t1 = H.S(this.extender) + " {@extend " + H.S(this.target);
  31136. return t1 + (this.isOptional ? " !optional" : "") + "}";
  31137. },
  31138. get$target: function() {
  31139. return this.target;
  31140. }
  31141. };
  31142. Y.unifyComplex_closure.prototype = {
  31143. call$1: function(complex) {
  31144. var t1 = J.getInterceptor$asx(complex);
  31145. return t1.sublist$2(complex, 0, t1.get$length(complex) - 1);
  31146. }
  31147. };
  31148. Y._weaveParents_closure.prototype = {
  31149. call$2: function(group1, group2) {
  31150. var unified, t1;
  31151. if (C.C_ListEquality.equals$2(group1, group2))
  31152. return group1;
  31153. if (!(J.get$first$ax(group1) instanceof X.CompoundSelector) || !(J.get$first$ax(group2) instanceof X.CompoundSelector))
  31154. return;
  31155. if (Y.complexIsParentSuperselector(group1, group2))
  31156. return group2;
  31157. if (Y.complexIsParentSuperselector(group2, group1))
  31158. return group1;
  31159. if (!Y._mustUnify(group1, group2))
  31160. return;
  31161. unified = Y.unifyComplex(H.setRuntimeTypeInfo([group1, group2], [[P.List, S.ComplexSelectorComponent]]));
  31162. if (unified == null)
  31163. return;
  31164. t1 = J.getInterceptor$asx(unified);
  31165. if (t1.get$length(unified) > 1)
  31166. return;
  31167. return t1.get$first(unified);
  31168. }
  31169. };
  31170. Y._weaveParents_closure0.prototype = {
  31171. call$1: function(sequence) {
  31172. return Y.complexIsParentSuperselector(sequence.get$first(sequence), this.group);
  31173. }
  31174. };
  31175. Y._weaveParents_closure1.prototype = {
  31176. call$1: function(chunk) {
  31177. return J.expand$1$1$ax(chunk, new Y._weaveParents__closure1(), S.ComplexSelectorComponent);
  31178. }
  31179. };
  31180. Y._weaveParents__closure1.prototype = {
  31181. call$1: function(group) {
  31182. return group;
  31183. }
  31184. };
  31185. Y._weaveParents_closure2.prototype = {
  31186. call$1: function(sequence) {
  31187. return sequence.get$length(sequence) === 0;
  31188. }
  31189. };
  31190. Y._weaveParents_closure3.prototype = {
  31191. call$1: function(chunk) {
  31192. return J.expand$1$1$ax(chunk, new Y._weaveParents__closure0(), S.ComplexSelectorComponent);
  31193. }
  31194. };
  31195. Y._weaveParents__closure0.prototype = {
  31196. call$1: function(group) {
  31197. return group;
  31198. }
  31199. };
  31200. Y._weaveParents_closure4.prototype = {
  31201. call$1: function(choice) {
  31202. return J.get$isNotEmpty$asx(choice);
  31203. }
  31204. };
  31205. Y._weaveParents_closure5.prototype = {
  31206. call$1: function(path) {
  31207. var t1 = J.expand$1$1$ax(path, new Y._weaveParents__closure(), S.ComplexSelectorComponent);
  31208. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  31209. }
  31210. };
  31211. Y._weaveParents__closure.prototype = {
  31212. call$1: function(group) {
  31213. return group;
  31214. }
  31215. };
  31216. Y._mustUnify_closure.prototype = {
  31217. call$1: function(component) {
  31218. return component instanceof X.CompoundSelector && C.JSArray_methods.any$1(component.components, new Y._mustUnify__closure(this.uniqueSelectors));
  31219. }
  31220. };
  31221. Y._mustUnify__closure.prototype = {
  31222. call$1: function(simple) {
  31223. var t1 = J.getInterceptor$(simple);
  31224. if (!t1.$isIDSelector)
  31225. t1 = !!t1.$isPseudoSelector && !simple.isClass;
  31226. else
  31227. t1 = true;
  31228. return t1 && this.uniqueSelectors.contains$1(0, simple);
  31229. }
  31230. };
  31231. Y.paths_closure.prototype = {
  31232. call$2: function(paths, choice) {
  31233. var t1 = this.T;
  31234. t1 = J.expand$1$1$ax(choice, new Y.paths__closure(paths, t1), [P.List, t1]);
  31235. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  31236. }
  31237. };
  31238. Y.paths__closure.prototype = {
  31239. call$1: function(option) {
  31240. var t1 = this.T;
  31241. return J.map$1$1$ax(this.paths, new Y.paths___closure(option, t1), [P.List, t1]);
  31242. },
  31243. $signature: function() {
  31244. var t1 = this.T;
  31245. return {func: 1, ret: [P.Iterable, [P.List, t1]], args: [t1]};
  31246. }
  31247. };
  31248. Y.paths___closure.prototype = {
  31249. call$1: function(path) {
  31250. var t2,
  31251. t1 = H.setRuntimeTypeInfo([], [this.T]);
  31252. for (t2 = J.get$iterator$ax(path); t2.moveNext$0();)
  31253. t1.push(t2.get$current(t2));
  31254. t1.push(this.option);
  31255. return t1;
  31256. }
  31257. };
  31258. Y._hasRoot_closure.prototype = {
  31259. call$1: function(simple) {
  31260. return simple instanceof D.PseudoSelector && simple.isClass && simple.normalizedName === "root";
  31261. }
  31262. };
  31263. Y.listIsSuperslector_closure.prototype = {
  31264. call$1: function(complex1) {
  31265. return C.JSArray_methods.any$1(this.list1, new Y.listIsSuperslector__closure(complex1));
  31266. }
  31267. };
  31268. Y.listIsSuperslector__closure.prototype = {
  31269. call$1: function(complex2) {
  31270. return Y.complexIsSuperselector(complex2.components, this.complex1.components);
  31271. }
  31272. };
  31273. Y._simpleIsSuperselectorOfCompound_closure.prototype = {
  31274. call$1: function(theirSimple) {
  31275. var t1 = this.simple;
  31276. if (J.$eq$(t1, theirSimple))
  31277. return true;
  31278. if (theirSimple instanceof D.PseudoSelector && theirSimple.selector != null && $._subselectorPseudos.contains$1(0, theirSimple.normalizedName))
  31279. return C.JSArray_methods.every$1(theirSimple.selector.components, new Y._simpleIsSuperselectorOfCompound__closure(t1));
  31280. else
  31281. return false;
  31282. }
  31283. };
  31284. Y._simpleIsSuperselectorOfCompound__closure.prototype = {
  31285. call$1: function(complex) {
  31286. var t1 = complex.components;
  31287. if (t1.length !== 1)
  31288. return false;
  31289. return C.JSArray_methods.contains$1(H.interceptedTypeCast(C.JSArray_methods.get$single(t1), "$isCompoundSelector").components, this.simple);
  31290. }
  31291. };
  31292. Y._selectorPseudoIsSuperselector_closure.prototype = {
  31293. call$1: function(pseudo2) {
  31294. var t1 = pseudo2.selector;
  31295. return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components);
  31296. }
  31297. };
  31298. Y._selectorPseudoIsSuperselector_closure0.prototype = {
  31299. call$1: function(complex1) {
  31300. var t1 = complex1.components,
  31301. t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]),
  31302. t3 = this.parents;
  31303. if (t3 != null)
  31304. for (t3 = t3.get$iterator(t3); t3.moveNext$0();)
  31305. t2.push(t3.get$current(t3));
  31306. t2.push(this.compound2);
  31307. return Y.complexIsSuperselector(t1, t2);
  31308. }
  31309. };
  31310. Y._selectorPseudoIsSuperselector_closure1.prototype = {
  31311. call$1: function(pseudo2) {
  31312. var t1 = pseudo2.selector;
  31313. return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components);
  31314. }
  31315. };
  31316. Y._selectorPseudoIsSuperselector_closure2.prototype = {
  31317. call$1: function(pseudo2) {
  31318. var t1 = pseudo2.selector;
  31319. return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components);
  31320. }
  31321. };
  31322. Y._selectorPseudoIsSuperselector_closure3.prototype = {
  31323. call$1: function(complex) {
  31324. return C.JSArray_methods.any$1(this.compound2.components, new Y._selectorPseudoIsSuperselector__closure(complex, this.pseudo1));
  31325. }
  31326. };
  31327. Y._selectorPseudoIsSuperselector__closure.prototype = {
  31328. call$1: function(simple2) {
  31329. var compound1, _this = this,
  31330. t1 = J.getInterceptor$(simple2);
  31331. if (!!t1.$isTypeSelector) {
  31332. compound1 = C.JSArray_methods.get$last(_this.complex.components);
  31333. return compound1 instanceof X.CompoundSelector && C.JSArray_methods.any$1(compound1.components, new Y._selectorPseudoIsSuperselector___closure(simple2));
  31334. } else if (!!t1.$isIDSelector) {
  31335. compound1 = C.JSArray_methods.get$last(_this.complex.components);
  31336. return compound1 instanceof X.CompoundSelector && C.JSArray_methods.any$1(compound1.components, new Y._selectorPseudoIsSuperselector___closure0(simple2));
  31337. } else if (!!t1.$isPseudoSelector && simple2.name === _this.pseudo1.name && simple2.selector != null)
  31338. return Y.listIsSuperslector(simple2.selector.components, H.setRuntimeTypeInfo([_this.complex], [S.ComplexSelector]));
  31339. else
  31340. return false;
  31341. }
  31342. };
  31343. Y._selectorPseudoIsSuperselector___closure.prototype = {
  31344. call$1: function(simple1) {
  31345. var t1;
  31346. if (simple1 instanceof F.TypeSelector) {
  31347. t1 = this.simple2.name.$eq(0, simple1.name);
  31348. t1 = !t1;
  31349. } else
  31350. t1 = false;
  31351. return t1;
  31352. }
  31353. };
  31354. Y._selectorPseudoIsSuperselector___closure0.prototype = {
  31355. call$1: function(simple1) {
  31356. var t1;
  31357. if (simple1 instanceof N.IDSelector) {
  31358. t1 = simple1.name;
  31359. t1 = this.simple2.name !== t1;
  31360. } else
  31361. t1 = false;
  31362. return t1;
  31363. }
  31364. };
  31365. Y._selectorPseudoIsSuperselector_closure4.prototype = {
  31366. call$1: function(pseudo2) {
  31367. return J.$eq$(this.pseudo1.selector, pseudo2.selector);
  31368. }
  31369. };
  31370. Y._selectorPseudoIsSuperselector_closure5.prototype = {
  31371. call$1: function(pseudo2) {
  31372. var t1, t2;
  31373. if (pseudo2 instanceof D.PseudoSelector) {
  31374. t1 = this.pseudo1;
  31375. if (pseudo2.name === t1.name)
  31376. if (pseudo2.argument == t1.argument) {
  31377. t2 = pseudo2.selector;
  31378. t2 = Y.listIsSuperslector(t1.selector.components, t2.components);
  31379. t1 = t2;
  31380. } else
  31381. t1 = false;
  31382. else
  31383. t1 = false;
  31384. } else
  31385. t1 = false;
  31386. return t1;
  31387. }
  31388. };
  31389. Y._selectorPseudosNamed_closure.prototype = {
  31390. call$1: function(pseudo) {
  31391. return pseudo.isClass === this.isClass && pseudo.selector != null && pseudo.name === this.name;
  31392. }
  31393. };
  31394. A.MergedExtension.prototype = {
  31395. unmerge$0: function() {
  31396. var $async$self = this;
  31397. return P._makeSyncStarIterable(function() {
  31398. var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
  31399. return function $async$unmerge$0($async$errorCode, $async$result) {
  31400. if ($async$errorCode === 1) {
  31401. $async$currentError = $async$result;
  31402. $async$goto = $async$handler;
  31403. }
  31404. while (true)
  31405. switch ($async$goto) {
  31406. case 0:
  31407. // Function start
  31408. t1 = $async$self.left;
  31409. $async$goto = !!t1.$isMergedExtension ? 2 : 4;
  31410. break;
  31411. case 2:
  31412. // then
  31413. $async$goto = 5;
  31414. return P._IterationMarker_yieldStar(t1.unmerge$0());
  31415. case 5:
  31416. // after yield
  31417. // goto join
  31418. $async$goto = 3;
  31419. break;
  31420. case 4:
  31421. // else
  31422. $async$goto = 6;
  31423. return t1;
  31424. case 6:
  31425. // after yield
  31426. case 3:
  31427. // join
  31428. $async$goto = 7;
  31429. return $async$self.right;
  31430. case 7:
  31431. // after yield
  31432. // implicit return
  31433. return P._IterationMarker_endOfIteration();
  31434. case 1:
  31435. // rethrow
  31436. return P._IterationMarker_uncaughtError($async$currentError);
  31437. }
  31438. };
  31439. }, S.Extension);
  31440. }
  31441. };
  31442. L.ExtendMode.prototype = {
  31443. toString$0: function(_) {
  31444. return this.name;
  31445. }
  31446. };
  31447. Y.closure.prototype = {
  31448. call$1: function($arguments) {
  31449. var t1 = J.getInterceptor$asx($arguments);
  31450. return t1.$index($arguments, 0).get$isTruthy() ? t1.$index($arguments, 1) : t1.$index($arguments, 2);
  31451. },
  31452. $signature: 0
  31453. };
  31454. K.closure45.prototype = {
  31455. call$1: function($arguments) {
  31456. return K._rgb("rgb", $arguments);
  31457. },
  31458. $signature: 0
  31459. };
  31460. K.closure46.prototype = {
  31461. call$1: function($arguments) {
  31462. return K._rgb("rgb", $arguments);
  31463. },
  31464. $signature: 0
  31465. };
  31466. K.closure47.prototype = {
  31467. call$1: function($arguments) {
  31468. return K._rgbTwoArg("rgb", $arguments);
  31469. },
  31470. $signature: 0
  31471. };
  31472. K.closure48.prototype = {
  31473. call$1: function($arguments) {
  31474. var parsed = K._parseChannels("rgb", H.setRuntimeTypeInfo(["$red", "$green", "$blue"], [P.String]), J.get$first$ax($arguments));
  31475. return parsed instanceof D.SassString ? parsed : K._rgb("rgb", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31476. },
  31477. $signature: 0
  31478. };
  31479. K.closure49.prototype = {
  31480. call$1: function($arguments) {
  31481. return K._rgb("rgba", $arguments);
  31482. },
  31483. $signature: 0
  31484. };
  31485. K.closure50.prototype = {
  31486. call$1: function($arguments) {
  31487. return K._rgb("rgba", $arguments);
  31488. },
  31489. $signature: 0
  31490. };
  31491. K.closure51.prototype = {
  31492. call$1: function($arguments) {
  31493. return K._rgbTwoArg("rgba", $arguments);
  31494. },
  31495. $signature: 0
  31496. };
  31497. K.closure52.prototype = {
  31498. call$1: function($arguments) {
  31499. var parsed = K._parseChannels("rgba", H.setRuntimeTypeInfo(["$red", "$green", "$blue"], [P.String]), J.get$first$ax($arguments));
  31500. return parsed instanceof D.SassString ? parsed : K._rgb("rgba", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31501. },
  31502. $signature: 0
  31503. };
  31504. K.closure53.prototype = {
  31505. call$1: function($arguments) {
  31506. var color, t2,
  31507. t1 = J.getInterceptor$asx($arguments),
  31508. weight = t1.$index($arguments, 1).assertNumber$1("weight");
  31509. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31510. if (weight.value !== 100 || !weight.hasUnit$1("%"))
  31511. throw H.wrapException("Only one argument may be passed to the plain-CSS invert() function.");
  31512. return K._functionString("invert", t1.take$1($arguments, 1));
  31513. }
  31514. color = t1.$index($arguments, 0).assertColor$1("color");
  31515. t1 = color.get$red();
  31516. t2 = color.get$green();
  31517. return K._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(), 255 - t2, 255 - t1), color, weight);
  31518. },
  31519. $signature: 0
  31520. };
  31521. K.closure54.prototype = {
  31522. call$1: function($arguments) {
  31523. return K._hsl("hsl", $arguments);
  31524. },
  31525. $signature: 0
  31526. };
  31527. K.closure55.prototype = {
  31528. call$1: function($arguments) {
  31529. return K._hsl("hsl", $arguments);
  31530. },
  31531. $signature: 0
  31532. };
  31533. K.closure56.prototype = {
  31534. call$1: function($arguments) {
  31535. var t1 = J.getInterceptor$asx($arguments);
  31536. if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
  31537. return K._functionString("hsl", $arguments);
  31538. else
  31539. throw H.wrapException(E.SassScriptException$("Missing argument $lightness."));
  31540. },
  31541. $signature: 2
  31542. };
  31543. K.closure57.prototype = {
  31544. call$1: function($arguments) {
  31545. var parsed = K._parseChannels("hsl", H.setRuntimeTypeInfo(["$hue", "$saturation", "$lightness"], [P.String]), J.get$first$ax($arguments));
  31546. return parsed instanceof D.SassString ? parsed : K._hsl("hsl", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31547. },
  31548. $signature: 0
  31549. };
  31550. K.closure58.prototype = {
  31551. call$1: function($arguments) {
  31552. return K._hsl("hsla", $arguments);
  31553. },
  31554. $signature: 0
  31555. };
  31556. K.closure59.prototype = {
  31557. call$1: function($arguments) {
  31558. return K._hsl("hsla", $arguments);
  31559. },
  31560. $signature: 0
  31561. };
  31562. K.closure60.prototype = {
  31563. call$1: function($arguments) {
  31564. var t1 = J.getInterceptor$asx($arguments);
  31565. if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
  31566. return K._functionString("hsla", $arguments);
  31567. else
  31568. throw H.wrapException(E.SassScriptException$("Missing argument $lightness."));
  31569. },
  31570. $signature: 2
  31571. };
  31572. K.closure61.prototype = {
  31573. call$1: function($arguments) {
  31574. var parsed = K._parseChannels("hsla", H.setRuntimeTypeInfo(["$hue", "$saturation", "$lightness"], [P.String]), J.get$first$ax($arguments));
  31575. return parsed instanceof D.SassString ? parsed : K._hsl("hsla", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31576. },
  31577. $signature: 0
  31578. };
  31579. K.closure62.prototype = {
  31580. call$1: function($arguments) {
  31581. var t1 = J.getInterceptor$asx($arguments);
  31582. if (t1.$index($arguments, 0) instanceof T.SassNumber)
  31583. return K._functionString("grayscale", $arguments);
  31584. return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
  31585. },
  31586. $signature: 0
  31587. };
  31588. K.closure63.prototype = {
  31589. call$1: function($arguments) {
  31590. var t1 = J.getInterceptor$asx($arguments),
  31591. color = t1.$index($arguments, 0).assertColor$1("color"),
  31592. degrees = t1.$index($arguments, 1).assertNumber$1("degrees");
  31593. return color.changeHsl$1$hue(color.get$hue() + degrees.value);
  31594. },
  31595. $signature: 5
  31596. };
  31597. K.closure64.prototype = {
  31598. call$1: function($arguments) {
  31599. var t1 = J.getInterceptor$asx($arguments),
  31600. color = t1.$index($arguments, 0).assertColor$1("color"),
  31601. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31602. return color.changeHsl$1$lightness(C.JSNumber_methods.clamp$2(color.get$lightness() + amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31603. },
  31604. $signature: 5
  31605. };
  31606. K.closure65.prototype = {
  31607. call$1: function($arguments) {
  31608. var t1 = J.getInterceptor$asx($arguments),
  31609. color = t1.$index($arguments, 0).assertColor$1("color"),
  31610. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31611. return color.changeHsl$1$lightness(C.JSNumber_methods.clamp$2(color.get$lightness() - amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31612. },
  31613. $signature: 5
  31614. };
  31615. K.closure66.prototype = {
  31616. call$1: function($arguments) {
  31617. return new D.SassString("saturate(" + N.serializeValue(J.$index$asx($arguments, 0).assertNumber$1("amount"), false, true) + ")", false);
  31618. },
  31619. $signature: 2
  31620. };
  31621. K.closure67.prototype = {
  31622. call$1: function($arguments) {
  31623. var t1 = J.getInterceptor$asx($arguments),
  31624. color = t1.$index($arguments, 0).assertColor$1("color"),
  31625. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31626. return color.changeHsl$1$saturation(C.JSNumber_methods.clamp$2(color.get$saturation() + amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31627. },
  31628. $signature: 5
  31629. };
  31630. K.closure68.prototype = {
  31631. call$1: function($arguments) {
  31632. var t1 = J.getInterceptor$asx($arguments),
  31633. color = t1.$index($arguments, 0).assertColor$1("color"),
  31634. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31635. return color.changeHsl$1$saturation(C.JSNumber_methods.clamp$2(color.get$saturation() - amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31636. },
  31637. $signature: 5
  31638. };
  31639. K.closure69.prototype = {
  31640. call$1: function($arguments) {
  31641. var color,
  31642. argument = J.$index$asx($arguments, 0);
  31643. if (argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart()))
  31644. return K._functionString("alpha", $arguments);
  31645. color = argument.assertColor$1("color");
  31646. return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null);
  31647. },
  31648. $signature: 0
  31649. };
  31650. K.closure70.prototype = {
  31651. call$1: function($arguments) {
  31652. var t1,
  31653. argList = J.$index$asx($arguments, 0).get$asList();
  31654. if (argList.length !== 0 && C.JSArray_methods.every$1(argList, new K._closure10()))
  31655. return K._functionString("alpha", $arguments);
  31656. t1 = argList.length;
  31657. if (t1 === 0)
  31658. throw H.wrapException(E.SassScriptException$("Missing argument $color."));
  31659. else
  31660. throw H.wrapException(E.SassScriptException$("Only 1 argument allowed, but " + t1 + " were passed."));
  31661. },
  31662. $signature: 2
  31663. };
  31664. K._closure10.prototype = {
  31665. call$1: function(argument) {
  31666. return argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart());
  31667. }
  31668. };
  31669. K.closure71.prototype = {
  31670. call$1: function($arguments) {
  31671. var color,
  31672. t1 = J.getInterceptor$asx($arguments);
  31673. if (t1.$index($arguments, 0) instanceof T.SassNumber)
  31674. return K._functionString("opacity", $arguments);
  31675. color = t1.$index($arguments, 0).assertColor$1("color");
  31676. return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null);
  31677. },
  31678. $signature: 0
  31679. };
  31680. K.closure84.prototype = {
  31681. call$1: function($arguments) {
  31682. var result, color, t2,
  31683. t1 = J.getInterceptor$asx($arguments),
  31684. weight = t1.$index($arguments, 1).assertNumber$1("weight");
  31685. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31686. if (weight.value !== 100 || !weight.hasUnit$1("%"))
  31687. throw H.wrapException("Only one argument may be passed to the plain-CSS invert() function.");
  31688. result = K._functionString("invert", t1.take$1($arguments, 1));
  31689. N.warn("Passing a number to color.invert() is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31690. return result;
  31691. }
  31692. color = t1.$index($arguments, 0).assertColor$1("color");
  31693. t1 = color.get$red();
  31694. t2 = color.get$green();
  31695. return K._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(), 255 - t2, 255 - t1), color, weight);
  31696. },
  31697. $signature: 0
  31698. };
  31699. K.closure85.prototype = {
  31700. call$1: function($arguments) {
  31701. var result,
  31702. t1 = J.getInterceptor$asx($arguments);
  31703. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31704. result = K._functionString("grayscale", t1.take$1($arguments, 1));
  31705. N.warn("Passing a number to color.grayscale() is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31706. return result;
  31707. }
  31708. return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
  31709. },
  31710. $signature: 0
  31711. };
  31712. K.closure86.prototype = {
  31713. call$1: function($arguments) {
  31714. var result, color,
  31715. argument = J.$index$asx($arguments, 0);
  31716. if (argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart())) {
  31717. result = K._functionString("alpha", $arguments);
  31718. N.warn("Using color.alpha() for a Microsoft filter is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31719. return result;
  31720. }
  31721. color = argument.assertColor$1("color");
  31722. return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null);
  31723. },
  31724. $signature: 0
  31725. };
  31726. K.closure87.prototype = {
  31727. call$1: function($arguments) {
  31728. var result,
  31729. t1 = J.getInterceptor$asx($arguments);
  31730. if (C.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new K._closure11())) {
  31731. result = K._functionString("alpha", $arguments);
  31732. N.warn("Using color.alpha() for a Microsoft filter is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31733. return result;
  31734. }
  31735. throw H.wrapException(E.SassScriptException$("Only 1 argument allowed, but " + t1.get$length($arguments) + " were passed."));
  31736. },
  31737. $signature: 2
  31738. };
  31739. K._closure11.prototype = {
  31740. call$1: function(argument) {
  31741. return argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart());
  31742. }
  31743. };
  31744. K.closure88.prototype = {
  31745. call$1: function($arguments) {
  31746. var result, color,
  31747. t1 = J.getInterceptor$asx($arguments);
  31748. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31749. result = K._functionString("opacity", $arguments);
  31750. N.warn("Passing a number to color.opacity() is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31751. return result;
  31752. }
  31753. color = t1.$index($arguments, 0).assertColor$1("color");
  31754. return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null);
  31755. },
  31756. $signature: 0
  31757. };
  31758. K.closure83.prototype = {
  31759. call$1: function($arguments) {
  31760. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$red();
  31761. return new T.SassNumber(t1, C.List_empty, C.List_empty, null);
  31762. },
  31763. $signature: 4
  31764. };
  31765. K.closure82.prototype = {
  31766. call$1: function($arguments) {
  31767. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$green();
  31768. return new T.SassNumber(t1, C.List_empty, C.List_empty, null);
  31769. },
  31770. $signature: 4
  31771. };
  31772. K.closure81.prototype = {
  31773. call$1: function($arguments) {
  31774. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$blue();
  31775. return new T.SassNumber(t1, C.List_empty, C.List_empty, null);
  31776. },
  31777. $signature: 4
  31778. };
  31779. K.closure80.prototype = {
  31780. call$1: function($arguments) {
  31781. var t1 = J.getInterceptor$asx($arguments);
  31782. return K._mixColors(t1.$index($arguments, 0).assertColor$1("color1"), t1.$index($arguments, 1).assertColor$1("color2"), t1.$index($arguments, 2).assertNumber$1("weight"));
  31783. },
  31784. $signature: 5
  31785. };
  31786. K.closure79.prototype = {
  31787. call$1: function($arguments) {
  31788. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$hue(),
  31789. t2 = P.String,
  31790. t3 = H.setRuntimeTypeInfo(["deg"], [t2]);
  31791. t2 = P.List_List$unmodifiable(t3, t2);
  31792. return new T.SassNumber(t1, t2, C.List_empty, null);
  31793. },
  31794. $signature: 4
  31795. };
  31796. K.closure78.prototype = {
  31797. call$1: function($arguments) {
  31798. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$saturation(),
  31799. t2 = P.String,
  31800. t3 = H.setRuntimeTypeInfo(["%"], [t2]);
  31801. t2 = P.List_List$unmodifiable(t3, t2);
  31802. return new T.SassNumber(t1, t2, C.List_empty, null);
  31803. },
  31804. $signature: 4
  31805. };
  31806. K.closure77.prototype = {
  31807. call$1: function($arguments) {
  31808. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$lightness(),
  31809. t2 = P.String,
  31810. t3 = H.setRuntimeTypeInfo(["%"], [t2]);
  31811. t2 = P.List_List$unmodifiable(t3, t2);
  31812. return new T.SassNumber(t1, t2, C.List_empty, null);
  31813. },
  31814. $signature: 4
  31815. };
  31816. K.closure76.prototype = {
  31817. call$1: function($arguments) {
  31818. var color = J.$index$asx($arguments, 0).assertColor$1("color");
  31819. return color.changeHsl$1$hue(color.get$hue() + 180);
  31820. },
  31821. $signature: 5
  31822. };
  31823. K.closure74.prototype = {
  31824. call$1: function($arguments) {
  31825. var keywords, t2, red, green, blue, hue, saturation, lightness, alpha, hasRgb, hasHsl, t3, t4, t5, _null = null,
  31826. t1 = J.getInterceptor$asx($arguments),
  31827. color = t1.$index($arguments, 0).assertColor$1("color"),
  31828. argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  31829. if (argumentList._list$_contents.length !== 0)
  31830. throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name."));
  31831. argumentList._wereKeywordsAccessed = true;
  31832. keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value);
  31833. t1 = new K.closure_getInRange0(keywords);
  31834. t2 = t1.call$3("red", -255, 255);
  31835. red = t2 == null ? _null : T.fuzzyRound(t2);
  31836. t2 = t1.call$3("green", -255, 255);
  31837. green = t2 == null ? _null : T.fuzzyRound(t2);
  31838. t2 = t1.call$3("blue", -255, 255);
  31839. blue = t2 == null ? _null : T.fuzzyRound(t2);
  31840. t2 = keywords.remove$1(0, "hue");
  31841. t2 = t2 == null ? _null : t2.assertNumber$1("hue");
  31842. hue = t2 == null ? _null : t2.value;
  31843. saturation = t1.call$3("saturation", -100, 100);
  31844. lightness = t1.call$3("lightness", -100, 100);
  31845. alpha = t1.call$3("alpha", -1, 1);
  31846. if (keywords.get$isNotEmpty(keywords))
  31847. throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), _null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure9(), P.Object), "or")) + "."));
  31848. t1 = red == null;
  31849. hasRgb = !t1 || green != null || blue != null;
  31850. t2 = hue == null;
  31851. hasHsl = !t2 || saturation != null || lightness != null;
  31852. if (hasRgb) {
  31853. if (hasHsl)
  31854. throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters."));
  31855. t2 = color.get$red();
  31856. t2 = H.intTypeCast(C.JSInt_methods.clamp$2(t2 + (t1 ? 0 : red), 0, 255));
  31857. t3 = color.get$green();
  31858. t1 = H.intTypeCast(C.JSInt_methods.clamp$2(t3 + (green == null ? 0 : green), 0, 255));
  31859. t3 = color.get$blue();
  31860. t3 = H.intTypeCast(C.JSInt_methods.clamp$2(t3 + (blue == null ? 0 : blue), 0, 255));
  31861. t4 = alpha == null ? 0 : alpha;
  31862. return color.changeRgb$4$alpha$blue$green$red(C.JSNumber_methods.clamp$2(color.alpha + t4, 0, 1), t3, t1, t2);
  31863. } else if (hasHsl) {
  31864. t1 = color.get$hue();
  31865. t2 = t2 ? 0 : hue;
  31866. t3 = color.get$saturation();
  31867. t3 = C.JSNumber_methods.clamp$2(t3 + (saturation == null ? 0 : saturation), 0, 100);
  31868. t4 = color.get$lightness();
  31869. t4 = C.JSNumber_methods.clamp$2(t4 + (lightness == null ? 0 : lightness), 0, 100);
  31870. t5 = alpha == null ? 0 : alpha;
  31871. return color.changeHsl$4$alpha$hue$lightness$saturation(C.JSNumber_methods.clamp$2(color.alpha + t5, 0, 1), t1 + t2, t4, t3);
  31872. } else if (alpha != null)
  31873. return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha + alpha, 0, 1));
  31874. else
  31875. return color;
  31876. },
  31877. $signature: 5
  31878. };
  31879. K.closure_getInRange0.prototype = {
  31880. call$3: function($name, min, max) {
  31881. var t1 = this.keywords.remove$1(0, $name);
  31882. t1 = t1 == null ? null : t1.assertNumber$1($name);
  31883. return t1 == null ? null : t1.valueInRange$3(min, max, $name);
  31884. }
  31885. };
  31886. K._closure9.prototype = {
  31887. call$1: function($name) {
  31888. return "$" + H.S($name);
  31889. }
  31890. };
  31891. K.closure73.prototype = {
  31892. call$1: function($arguments) {
  31893. var keywords, t2, red, green, blue, saturation, lightness, alpha, hasRgb, hasHsl, t3, t4,
  31894. t1 = J.getInterceptor$asx($arguments),
  31895. color = t1.$index($arguments, 0).assertColor$1("color"),
  31896. argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  31897. if (argumentList._list$_contents.length !== 0)
  31898. throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name."));
  31899. argumentList._wereKeywordsAccessed = true;
  31900. keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value);
  31901. t1 = new K.closure_getScale(keywords);
  31902. t2 = new K.closure_scaleValue();
  31903. red = t1.call$1("red");
  31904. green = t1.call$1("green");
  31905. blue = t1.call$1("blue");
  31906. saturation = t1.call$1("saturation");
  31907. lightness = t1.call$1("lightness");
  31908. alpha = t1.call$1("alpha");
  31909. if (keywords.get$isNotEmpty(keywords))
  31910. throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure8(), P.Object), "or")) + "."));
  31911. hasRgb = red != null || green != null || blue != null;
  31912. hasHsl = saturation != null || lightness != null;
  31913. if (hasRgb) {
  31914. if (hasHsl)
  31915. throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters."));
  31916. t1 = T.fuzzyRound(t2.call$3(color.get$red(), red, 255));
  31917. t3 = T.fuzzyRound(t2.call$3(color.get$green(), green, 255));
  31918. t4 = T.fuzzyRound(t2.call$3(color.get$blue(), blue, 255));
  31919. return color.changeRgb$4$alpha$blue$green$red(t2.call$3(color.alpha, alpha, 1), t4, t3, t1);
  31920. } else if (hasHsl) {
  31921. t1 = t2.call$3(color.get$saturation(), saturation, 100);
  31922. t3 = t2.call$3(color.get$lightness(), lightness, 100);
  31923. return color.changeHsl$3$alpha$lightness$saturation(t2.call$3(color.alpha, alpha, 1), t3, t1);
  31924. } else if (alpha != null)
  31925. return color.changeAlpha$1(t2.call$3(color.alpha, alpha, 1));
  31926. else
  31927. return color;
  31928. },
  31929. $signature: 5
  31930. };
  31931. K.closure_getScale.prototype = {
  31932. call$1: function($name) {
  31933. var number,
  31934. value = this.keywords.remove$1(0, $name);
  31935. if (value == null)
  31936. return;
  31937. number = value.assertNumber$1($name);
  31938. number.assertUnit$2("%", $name);
  31939. return number.valueInRange$3(-100, 100, $name) / 100;
  31940. }
  31941. };
  31942. K.closure_scaleValue.prototype = {
  31943. call$3: function(current, scale, max) {
  31944. if (scale == null)
  31945. return current;
  31946. return current + (scale > 0 ? max - current : current) * scale;
  31947. }
  31948. };
  31949. K._closure8.prototype = {
  31950. call$1: function($name) {
  31951. return "$" + H.S($name);
  31952. }
  31953. };
  31954. K.closure72.prototype = {
  31955. call$1: function($arguments) {
  31956. var keywords, t2, red, green, blue, hue, saturation, lightness, alpha, hasRgb, hasHsl, _null = null,
  31957. t1 = J.getInterceptor$asx($arguments),
  31958. color = t1.$index($arguments, 0).assertColor$1("color"),
  31959. argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  31960. if (argumentList._list$_contents.length !== 0)
  31961. throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name."));
  31962. argumentList._wereKeywordsAccessed = true;
  31963. keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value);
  31964. t1 = new K.closure_getInRange(keywords);
  31965. t2 = t1.call$3("red", 0, 255);
  31966. red = t2 == null ? _null : T.fuzzyRound(t2);
  31967. t2 = t1.call$3("green", 0, 255);
  31968. green = t2 == null ? _null : T.fuzzyRound(t2);
  31969. t2 = t1.call$3("blue", 0, 255);
  31970. blue = t2 == null ? _null : T.fuzzyRound(t2);
  31971. t2 = keywords.remove$1(0, "hue");
  31972. t2 = t2 == null ? _null : t2.assertNumber$1("hue");
  31973. hue = t2 == null ? _null : t2.value;
  31974. saturation = t1.call$3("saturation", 0, 100);
  31975. lightness = t1.call$3("lightness", 0, 100);
  31976. alpha = t1.call$3("alpha", 0, 1);
  31977. if (keywords.get$isNotEmpty(keywords))
  31978. throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), _null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure7(), P.Object), "or")) + "."));
  31979. hasRgb = red != null || green != null || blue != null;
  31980. hasHsl = hue != null || saturation != null || lightness != null;
  31981. if (hasRgb) {
  31982. if (hasHsl)
  31983. throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters."));
  31984. return color.changeRgb$4$alpha$blue$green$red(alpha, blue, green, red);
  31985. } else if (hasHsl)
  31986. return color.changeHsl$4$alpha$hue$lightness$saturation(alpha, hue, lightness, saturation);
  31987. else if (alpha != null)
  31988. return color.changeAlpha$1(alpha);
  31989. else
  31990. return color;
  31991. },
  31992. $signature: 5
  31993. };
  31994. K.closure_getInRange.prototype = {
  31995. call$3: function($name, min, max) {
  31996. var t1 = this.keywords.remove$1(0, $name);
  31997. t1 = t1 == null ? null : t1.assertNumber$1($name);
  31998. return t1 == null ? null : t1.valueInRange$3(min, max, $name);
  31999. }
  32000. };
  32001. K._closure7.prototype = {
  32002. call$1: function($name) {
  32003. return "$" + H.S($name);
  32004. }
  32005. };
  32006. K.closure75.prototype = {
  32007. call$1: function($arguments) {
  32008. var color = J.$index$asx($arguments, 0).assertColor$1("color"),
  32009. t1 = new K.closure_hexString();
  32010. return new D.SassString("#" + H.S(t1.call$1(T.fuzzyRound(color.alpha * 255))) + H.S(t1.call$1(color.get$red())) + H.S(t1.call$1(color.get$green())) + H.S(t1.call$1(color.get$blue())), false);
  32011. },
  32012. $signature: 2
  32013. };
  32014. K.closure_hexString.prototype = {
  32015. call$1: function(component) {
  32016. return C.JSString_methods.padLeft$2(J.toRadixString$1$n(component, 16), 2, "0").toUpperCase();
  32017. },
  32018. $signature: 17
  32019. };
  32020. K._functionString_closure.prototype = {
  32021. call$1: function(argument) {
  32022. argument.toString;
  32023. return N.serializeValue(argument, false, true);
  32024. }
  32025. };
  32026. K._removedColorFunction_closure.prototype = {
  32027. call$1: function($arguments) {
  32028. var t1 = this.name,
  32029. t2 = J.getInterceptor$asx($arguments),
  32030. t3 = "The function " + t1 + "() isn't in the sass:color module.\n\nRecommendation: color.adjust(" + H.S(t2.$index($arguments, 0)) + ", $" + this.argument + ": ";
  32031. throw H.wrapException(E.SassScriptException$(t3 + (this.negative ? "-" : "") + H.S(t2.$index($arguments, 1)) + ")\n\nMore info: https://sass-lang.com/documentation/functions/color#" + t1));
  32032. },
  32033. $signature: 30
  32034. };
  32035. K._parseChannels_closure.prototype = {
  32036. call$1: function(value) {
  32037. return value.get$isVar();
  32038. }
  32039. };
  32040. D.closure44.prototype = {
  32041. call$1: function($arguments) {
  32042. var t1 = J.$index$asx($arguments, 0).get$asList().length;
  32043. return new T.SassNumber(t1, C.List_empty, C.List_empty, null);
  32044. },
  32045. $signature: 4
  32046. };
  32047. D.closure43.prototype = {
  32048. call$1: function($arguments) {
  32049. var t1 = J.getInterceptor$asx($arguments),
  32050. list = t1.$index($arguments, 0),
  32051. index = t1.$index($arguments, 1);
  32052. return list.get$asList()[list.sassIndexToListIndex$2(index, "n")];
  32053. },
  32054. $signature: 0
  32055. };
  32056. D.closure42.prototype = {
  32057. call$1: function($arguments) {
  32058. var t1 = J.getInterceptor$asx($arguments),
  32059. list = t1.$index($arguments, 0),
  32060. index = t1.$index($arguments, 1),
  32061. value = t1.$index($arguments, 2),
  32062. t2 = list.get$asList(),
  32063. newList = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]);
  32064. newList[list.sassIndexToListIndex$2(index, "n")] = value;
  32065. return t1.$index($arguments, 0).changeListContents$1(newList);
  32066. },
  32067. $signature: 6
  32068. };
  32069. D.closure41.prototype = {
  32070. call$1: function($arguments) {
  32071. var separator, bracketed, t2, t3, _i,
  32072. t1 = J.getInterceptor$asx($arguments),
  32073. list1 = t1.$index($arguments, 0),
  32074. list2 = t1.$index($arguments, 1),
  32075. separatorParam = t1.$index($arguments, 2).assertString$1("separator"),
  32076. bracketedParam = t1.$index($arguments, 3);
  32077. t1 = separatorParam.text;
  32078. if (t1 === "auto")
  32079. if (list1.get$separator() !== C.ListSeparator_undecided)
  32080. separator = list1.get$separator();
  32081. else
  32082. separator = list2.get$separator() !== C.ListSeparator_undecided ? list2.get$separator() : C.ListSeparator_space;
  32083. else if (t1 === "space")
  32084. separator = C.ListSeparator_space;
  32085. else {
  32086. if (t1 !== "comma")
  32087. throw H.wrapException(E.SassScriptException$('$separator: Must be "space", "comma", or "auto".'));
  32088. separator = C.ListSeparator_comma;
  32089. }
  32090. bracketed = bracketedParam instanceof D.SassString && bracketedParam.text === "auto" ? list1.get$hasBrackets() : bracketedParam.get$isTruthy();
  32091. t1 = H.setRuntimeTypeInfo([], [F.Value]);
  32092. for (t2 = list1.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  32093. t1.push(t2[_i]);
  32094. for (t2 = list2.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  32095. t1.push(t2[_i]);
  32096. return D.SassList$(t1, separator, bracketed);
  32097. },
  32098. $signature: 6
  32099. };
  32100. D.closure40.prototype = {
  32101. call$1: function($arguments) {
  32102. var separator, t2, t3, _i,
  32103. t1 = J.getInterceptor$asx($arguments),
  32104. list = t1.$index($arguments, 0),
  32105. value = t1.$index($arguments, 1);
  32106. t1 = t1.$index($arguments, 2).assertString$1("separator").text;
  32107. if (t1 === "auto")
  32108. separator = list.get$separator() === C.ListSeparator_undecided ? C.ListSeparator_space : list.get$separator();
  32109. else if (t1 === "space")
  32110. separator = C.ListSeparator_space;
  32111. else {
  32112. if (t1 !== "comma")
  32113. throw H.wrapException(E.SassScriptException$('$separator: Must be "space", "comma", or "auto".'));
  32114. separator = C.ListSeparator_comma;
  32115. }
  32116. t1 = H.setRuntimeTypeInfo([], [F.Value]);
  32117. for (t2 = list.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  32118. t1.push(t2[_i]);
  32119. t1.push(value);
  32120. return list.changeListContents$2$separator(t1, separator);
  32121. },
  32122. $signature: 6
  32123. };
  32124. D.closure39.prototype = {
  32125. call$1: function($arguments) {
  32126. var results, t2, result, _box_0 = {},
  32127. t1 = J.$index$asx($arguments, 0).get$asList(),
  32128. lists = new H.MappedListIterable(t1, new D._closure4(), [H.getTypeArgumentByIndex(t1, 0), [P.List, F.Value]]).toList$0(0);
  32129. if (lists.length === 0)
  32130. return C.SassList_lmy;
  32131. _box_0.i = 0;
  32132. results = H.setRuntimeTypeInfo([], [D.SassList]);
  32133. for (t1 = F.Value, t2 = [H.getTypeArgumentByIndex(lists, 0), t1]; C.JSArray_methods.every$1(lists, new D._closure5(_box_0));) {
  32134. result = P.List_List$from(new H.MappedListIterable(lists, new D._closure6(_box_0), t2), false, t1);
  32135. result.fixed$length = Array;
  32136. result.immutable$list = Array;
  32137. results.push(new D.SassList(result, C.ListSeparator_space, false));
  32138. ++_box_0.i;
  32139. }
  32140. return D.SassList$(results, C.ListSeparator_comma, false);
  32141. },
  32142. $signature: 6
  32143. };
  32144. D._closure4.prototype = {
  32145. call$1: function(list) {
  32146. return list.get$asList();
  32147. }
  32148. };
  32149. D._closure5.prototype = {
  32150. call$1: function(list) {
  32151. return this._box_0.i !== J.get$length$asx(list);
  32152. }
  32153. };
  32154. D._closure6.prototype = {
  32155. call$1: function(list) {
  32156. return J.$index$asx(list, this._box_0.i);
  32157. },
  32158. $signature: 0
  32159. };
  32160. D.closure38.prototype = {
  32161. call$1: function($arguments) {
  32162. var t1 = J.getInterceptor$asx($arguments),
  32163. index = C.JSArray_methods.indexOf$1(t1.$index($arguments, 0).get$asList(), t1.$index($arguments, 1));
  32164. if (index === -1)
  32165. t1 = C.C_SassNull;
  32166. else
  32167. t1 = new T.SassNumber(index + 1, C.List_empty, C.List_empty, null);
  32168. return t1;
  32169. },
  32170. $signature: 0
  32171. };
  32172. D.closure36.prototype = {
  32173. call$1: function($arguments) {
  32174. return J.$index$asx($arguments, 0).get$separator() === C.ListSeparator_comma ? new D.SassString("comma", false) : new D.SassString("space", false);
  32175. },
  32176. $signature: 2
  32177. };
  32178. D.closure37.prototype = {
  32179. call$1: function($arguments) {
  32180. return J.$index$asx($arguments, 0).get$hasBrackets() ? C.SassBoolean_true : C.SassBoolean_false;
  32181. },
  32182. $signature: 3
  32183. };
  32184. A.closure35.prototype = {
  32185. call$1: function($arguments) {
  32186. var t1 = J.getInterceptor$asx($arguments);
  32187. t1 = t1.$index($arguments, 0).assertMap$1("map").contents.$index(0, t1.$index($arguments, 1));
  32188. return t1 == null ? C.C_SassNull : t1;
  32189. },
  32190. $signature: 0
  32191. };
  32192. A.closure34.prototype = {
  32193. call$1: function($arguments) {
  32194. var t2, t3, t4,
  32195. t1 = J.getInterceptor$asx($arguments),
  32196. map1 = t1.$index($arguments, 0).assertMap$1("map1"),
  32197. map2 = t1.$index($arguments, 1).assertMap$1("map2");
  32198. t1 = F.Value;
  32199. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  32200. for (t3 = map1.contents.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  32201. t4 = t3.get$current(t3);
  32202. t2.$indexSet(0, t4.key, t4.value);
  32203. }
  32204. for (t3 = map2.contents.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  32205. t4 = t3.get$current(t3);
  32206. t2.$indexSet(0, t4.key, t4.value);
  32207. }
  32208. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  32209. },
  32210. $signature: 9
  32211. };
  32212. A.closure30.prototype = {
  32213. call$1: function($arguments) {
  32214. return J.$index$asx($arguments, 0).assertMap$1("map");
  32215. },
  32216. $signature: 9
  32217. };
  32218. A.closure31.prototype = {
  32219. call$1: function($arguments) {
  32220. var t4, _i, mutableMap,
  32221. t1 = J.getInterceptor$asx($arguments),
  32222. map = t1.$index($arguments, 0).assertMap$1("map"),
  32223. t2 = F.Value,
  32224. t3 = H.setRuntimeTypeInfo([], [t2]);
  32225. t3.push(t1.$index($arguments, 1));
  32226. for (t1 = t1.$index($arguments, 2).get$asList(), t4 = t1.length, _i = 0; _i < t1.length; t1.length === t4 || (0, H.throwConcurrentModificationError)(t1), ++_i)
  32227. t3.push(t1[_i]);
  32228. mutableMap = P.LinkedHashMap_LinkedHashMap$of(map.contents, t2, t2);
  32229. for (t1 = t3.length, _i = 0; _i < t3.length; t3.length === t1 || (0, H.throwConcurrentModificationError)(t3), ++_i)
  32230. mutableMap.remove$1(0, t3[_i]);
  32231. return new A.SassMap(H.ConstantMap_ConstantMap$from(mutableMap, t2, t2));
  32232. },
  32233. $signature: 9
  32234. };
  32235. A.closure29.prototype = {
  32236. call$1: function($arguments) {
  32237. return D.SassList$(J.$index$asx($arguments, 0).assertMap$1("map").contents.get$keys(), C.ListSeparator_comma, false);
  32238. },
  32239. $signature: 6
  32240. };
  32241. A.closure28.prototype = {
  32242. call$1: function($arguments) {
  32243. return D.SassList$(J.$index$asx($arguments, 0).assertMap$1("map").contents.get$values(), C.ListSeparator_comma, false);
  32244. },
  32245. $signature: 6
  32246. };
  32247. A.closure27.prototype = {
  32248. call$1: function($arguments) {
  32249. var t1 = J.getInterceptor$asx($arguments);
  32250. return t1.$index($arguments, 0).assertMap$1("map").contents.containsKey$1(t1.$index($arguments, 1)) ? C.SassBoolean_true : C.SassBoolean_false;
  32251. },
  32252. $signature: 3
  32253. };
  32254. K.closure19.prototype = {
  32255. call$1: function($arguments) {
  32256. var t1, t2,
  32257. number = J.$index$asx($arguments, 0).assertNumber$1("number");
  32258. number.assertNoUnits$1("number");
  32259. t1 = P.String;
  32260. t2 = H.setRuntimeTypeInfo(["%"], [t1]);
  32261. t1 = P.List_List$unmodifiable(t2, t1);
  32262. return new T.SassNumber(number.value * 100, t1, C.List_empty, null);
  32263. },
  32264. $signature: 4
  32265. };
  32266. K.closure26.prototype = {
  32267. call$1: function(value) {
  32268. return J.ceil$0$n(value);
  32269. },
  32270. $signature: 22
  32271. };
  32272. K.closure25.prototype = {
  32273. call$1: function(value) {
  32274. return J.floor$0$n(value);
  32275. },
  32276. $signature: 22
  32277. };
  32278. K.closure24.prototype = {
  32279. call$1: function(value) {
  32280. return Math.abs(value);
  32281. },
  32282. $signature: 37
  32283. };
  32284. K.closure23.prototype = {
  32285. call$1: function($arguments) {
  32286. var t1, t2, max, _i, number;
  32287. for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, max = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  32288. number = t1[_i].assertNumber$0();
  32289. if (max == null || max.lessThan$1(number).value)
  32290. max = number;
  32291. }
  32292. if (max != null)
  32293. return max;
  32294. throw H.wrapException(E.SassScriptException$("At least one argument must be passed."));
  32295. },
  32296. $signature: 4
  32297. };
  32298. K.closure22.prototype = {
  32299. call$1: function($arguments) {
  32300. var t1, t2, min, _i, number;
  32301. for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, min = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  32302. number = t1[_i].assertNumber$0();
  32303. if (min == null || min.greaterThan$1(number).value)
  32304. min = number;
  32305. }
  32306. if (min != null)
  32307. return min;
  32308. throw H.wrapException(E.SassScriptException$("At least one argument must be passed."));
  32309. },
  32310. $signature: 4
  32311. };
  32312. K.closure21.prototype = {
  32313. call$1: function($arguments) {
  32314. var limit,
  32315. t1 = J.getInterceptor$asx($arguments);
  32316. if (J.$eq$(t1.$index($arguments, 0), C.C_SassNull)) {
  32317. t1 = $.$get$_random0().nextDouble$0();
  32318. return new T.SassNumber(t1, C.List_empty, C.List_empty, null);
  32319. }
  32320. limit = t1.$index($arguments, 0).assertNumber$1("limit").assertInt$1("limit");
  32321. if (limit < 1)
  32322. throw H.wrapException(E.SassScriptException$("$limit: Must be greater than 0, was " + limit + "."));
  32323. t1 = $.$get$_random0().nextInt$1(limit);
  32324. return new T.SassNumber(t1 + 1, C.List_empty, C.List_empty, null);
  32325. },
  32326. $signature: 4
  32327. };
  32328. K.closure20.prototype = {
  32329. call$1: function($arguments) {
  32330. return new D.SassString(J.$index$asx($arguments, 0).assertNumber$1("number").get$unitString(), true);
  32331. },
  32332. $signature: 2
  32333. };
  32334. K.closure18.prototype = {
  32335. call$1: function($arguments) {
  32336. var number = J.$index$asx($arguments, 0).assertNumber$1("number");
  32337. return !(number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) ? C.SassBoolean_true : C.SassBoolean_false;
  32338. },
  32339. $signature: 3
  32340. };
  32341. K.closure17.prototype = {
  32342. call$1: function($arguments) {
  32343. var t1 = J.getInterceptor$asx($arguments);
  32344. return t1.$index($arguments, 0).assertNumber$1("number1").isComparableTo$1(t1.$index($arguments, 1).assertNumber$1("number2")) ? C.SassBoolean_true : C.SassBoolean_false;
  32345. },
  32346. $signature: 3
  32347. };
  32348. K._numberFunction_closure.prototype = {
  32349. call$1: function($arguments) {
  32350. var number = J.$index$asx($arguments, 0).assertNumber$1("number");
  32351. return T.SassNumber$withUnits(this.transform.call$1(number.value), number.denominatorUnits, number.numeratorUnits);
  32352. },
  32353. $signature: 4
  32354. };
  32355. Q.closure89.prototype = {
  32356. call$1: function($arguments) {
  32357. return $._features.contains$1(0, J.$index$asx($arguments, 0).assertString$1("feature").text) ? C.SassBoolean_true : C.SassBoolean_false;
  32358. },
  32359. $signature: 3
  32360. };
  32361. Q.closure90.prototype = {
  32362. call$1: function($arguments) {
  32363. return new D.SassString(J.toString$0$(J.get$first$ax($arguments)), false);
  32364. },
  32365. $signature: 2
  32366. };
  32367. Q.closure91.prototype = {
  32368. call$1: function($arguments) {
  32369. var t1 = J.getInterceptor$(J.$index$asx($arguments, 0));
  32370. if (!!t1.$isSassArgumentList)
  32371. return new D.SassString("arglist", false);
  32372. if (!!t1.$isSassBoolean)
  32373. return new D.SassString("bool", false);
  32374. if (!!t1.$isSassColor)
  32375. return new D.SassString("color", false);
  32376. if (!!t1.$isSassList)
  32377. return new D.SassString("list", false);
  32378. if (!!t1.$isSassMap)
  32379. return new D.SassString("map", false);
  32380. if (!!t1.$isSassNull)
  32381. return new D.SassString("null", false);
  32382. if (!!t1.$isSassNumber)
  32383. return new D.SassString("number", false);
  32384. if (!!t1.$isSassFunction)
  32385. return new D.SassString("function", false);
  32386. return new D.SassString("string", false);
  32387. },
  32388. $signature: 2
  32389. };
  32390. Q.closure92.prototype = {
  32391. call$1: function($arguments) {
  32392. var t1,
  32393. argumentList = J.$index$asx($arguments, 0);
  32394. if (argumentList instanceof D.SassArgumentList) {
  32395. argumentList._wereKeywordsAccessed = true;
  32396. t1 = F.Value;
  32397. return new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(argumentList._keywords, new Q._closure12(), null, P.String, t1, t1, t1), t1, t1));
  32398. } else
  32399. throw H.wrapException("$args: " + H.S(argumentList) + " is not an argument list.");
  32400. },
  32401. $signature: 9
  32402. };
  32403. Q._closure12.prototype = {
  32404. call$2: function(key, _) {
  32405. return new D.SassString(key, false);
  32406. }
  32407. };
  32408. T.closure13.prototype = {
  32409. call$1: function($arguments) {
  32410. var selectors = J.$index$asx($arguments, 0).get$asList();
  32411. if (selectors.length === 0)
  32412. throw H.wrapException(E.SassScriptException$("$selectors: At least one selector must be passed."));
  32413. return new H.MappedListIterable(selectors, new T._closure1(), [H.getTypeArgumentByIndex(selectors, 0), D.SelectorList]).reduce$1(0, new T._closure2()).get$asSassList();
  32414. },
  32415. $signature: 6
  32416. };
  32417. T._closure1.prototype = {
  32418. call$1: function(selector) {
  32419. return selector.assertSelector$1$allowParent(true);
  32420. }
  32421. };
  32422. T._closure2.prototype = {
  32423. call$2: function($parent, child) {
  32424. return child.resolveParentSelectors$1($parent);
  32425. }
  32426. };
  32427. T.closure12.prototype = {
  32428. call$1: function($arguments) {
  32429. var selectors = J.$index$asx($arguments, 0).get$asList();
  32430. if (selectors.length === 0)
  32431. throw H.wrapException(E.SassScriptException$("$selectors: At least one selector must be passed."));
  32432. return new H.MappedListIterable(selectors, new T._closure(), [H.getTypeArgumentByIndex(selectors, 0), D.SelectorList]).reduce$1(0, new T._closure0()).get$asSassList();
  32433. },
  32434. $signature: 6
  32435. };
  32436. T._closure.prototype = {
  32437. call$1: function(selector) {
  32438. return selector.assertSelector$0();
  32439. }
  32440. };
  32441. T._closure0.prototype = {
  32442. call$2: function($parent, child) {
  32443. var t1 = child.components;
  32444. return D.SelectorList$(new H.MappedListIterable(t1, new T.__closure($parent), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector])).resolveParentSelectors$1($parent);
  32445. }
  32446. };
  32447. T.__closure.prototype = {
  32448. call$1: function(complex) {
  32449. var newCompound, t2,
  32450. t1 = complex.components,
  32451. compound = C.JSArray_methods.get$first(t1);
  32452. if (compound instanceof X.CompoundSelector) {
  32453. newCompound = T._prependParent(compound);
  32454. if (newCompound == null)
  32455. throw H.wrapException(E.SassScriptException$("Can't append " + H.S(complex) + " to " + H.S(this.parent) + "."));
  32456. t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  32457. t2.push(newCompound);
  32458. for (t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  32459. t2.push(t1.__internal$_current);
  32460. return S.ComplexSelector$(t2, false);
  32461. } else
  32462. throw H.wrapException(E.SassScriptException$("Can't append " + H.S(complex) + " to " + H.S(this.parent) + "."));
  32463. }
  32464. };
  32465. T.closure11.prototype = {
  32466. call$1: function($arguments) {
  32467. var t1 = J.getInterceptor$asx($arguments),
  32468. selector = t1.$index($arguments, 0).assertSelector$1$name("selector"),
  32469. target = t1.$index($arguments, 1).assertSelector$1$name("extendee");
  32470. return F.Extender__extendOrReplace(selector, t1.$index($arguments, 2).assertSelector$1$name("extender"), target, C.ExtendMode_allTargets).get$asSassList();
  32471. },
  32472. $signature: 6
  32473. };
  32474. T.closure10.prototype = {
  32475. call$1: function($arguments) {
  32476. var t1 = J.getInterceptor$asx($arguments),
  32477. selector = t1.$index($arguments, 0).assertSelector$1$name("selector"),
  32478. target = t1.$index($arguments, 1).assertSelector$1$name("original");
  32479. return F.Extender__extendOrReplace(selector, t1.$index($arguments, 2).assertSelector$1$name("replacement"), target, C.ExtendMode_replace).get$asSassList();
  32480. },
  32481. $signature: 6
  32482. };
  32483. T.closure9.prototype = {
  32484. call$1: function($arguments) {
  32485. var t1 = J.getInterceptor$asx($arguments),
  32486. result = t1.$index($arguments, 0).assertSelector$1$name("selector1").unify$1(t1.$index($arguments, 1).assertSelector$1$name("selector2"));
  32487. return result == null ? C.C_SassNull : result.get$asSassList();
  32488. },
  32489. $signature: 0
  32490. };
  32491. T.closure16.prototype = {
  32492. call$1: function($arguments) {
  32493. var t1 = J.getInterceptor$asx($arguments),
  32494. selector1 = t1.$index($arguments, 0).assertSelector$1$name("super"),
  32495. selector2 = t1.$index($arguments, 1).assertSelector$1$name("sub");
  32496. return Y.listIsSuperslector(selector1.components, selector2.components) ? C.SassBoolean_true : C.SassBoolean_false;
  32497. },
  32498. $signature: 3
  32499. };
  32500. T.closure15.prototype = {
  32501. call$1: function($arguments) {
  32502. var t1 = J.$index$asx($arguments, 0).assertCompoundSelector$1$name("selector").components;
  32503. return D.SassList$(new H.MappedListIterable(t1, new T._closure3(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_comma, false);
  32504. },
  32505. $signature: 6
  32506. };
  32507. T._closure3.prototype = {
  32508. call$1: function(simple) {
  32509. return new D.SassString(J.toString$0$(simple), false);
  32510. }
  32511. };
  32512. T.closure14.prototype = {
  32513. call$1: function($arguments) {
  32514. return J.$index$asx($arguments, 0).assertSelector$1$name("selector").get$asSassList();
  32515. },
  32516. $signature: 6
  32517. };
  32518. D.closure8.prototype = {
  32519. call$1: function($arguments) {
  32520. var string = J.$index$asx($arguments, 0).assertString$1("string");
  32521. if (!string.hasQuotes)
  32522. return string;
  32523. return new D.SassString(string.text, false);
  32524. },
  32525. $signature: 2
  32526. };
  32527. D.closure7.prototype = {
  32528. call$1: function($arguments) {
  32529. var string = J.$index$asx($arguments, 0).assertString$1("string");
  32530. if (string.hasQuotes)
  32531. return string;
  32532. return new D.SassString(string.text, true);
  32533. },
  32534. $signature: 2
  32535. };
  32536. D.closure3.prototype = {
  32537. call$1: function($arguments) {
  32538. var t1 = J.$index$asx($arguments, 0).assertString$1("string").get$sassLength();
  32539. return new T.SassNumber(t1, C.List_empty, C.List_empty, null);
  32540. },
  32541. $signature: 4
  32542. };
  32543. D.closure2.prototype = {
  32544. call$1: function($arguments) {
  32545. var indexInt, codeUnitIndex, _s5_ = "index",
  32546. t1 = J.getInterceptor$asx($arguments),
  32547. string = t1.$index($arguments, 0).assertString$1("string"),
  32548. insert = t1.$index($arguments, 1).assertString$1("insert"),
  32549. index = t1.$index($arguments, 2).assertNumber$1(_s5_);
  32550. index.assertNoUnits$1(_s5_);
  32551. indexInt = index.assertInt$1(_s5_);
  32552. if (indexInt < 0)
  32553. indexInt = string.get$sassLength() + indexInt + 2;
  32554. t1 = string.text;
  32555. codeUnitIndex = B.codepointIndexToCodeUnitIndex(t1, D._codepointForIndex(indexInt, string.get$sassLength(), false));
  32556. return new D.SassString(J.replaceRange$3$asx(t1, codeUnitIndex, codeUnitIndex, insert.text), string.hasQuotes);
  32557. },
  32558. $signature: 2
  32559. };
  32560. D.closure1.prototype = {
  32561. call$1: function($arguments) {
  32562. var codepointIndex,
  32563. t1 = J.getInterceptor$asx($arguments),
  32564. t2 = t1.$index($arguments, 0).assertString$1("string").text,
  32565. codeUnitIndex = J.indexOf$1$asx(t2, t1.$index($arguments, 1).assertString$1("substring").text);
  32566. if (codeUnitIndex === -1)
  32567. return C.C_SassNull;
  32568. codepointIndex = B.codeUnitIndexToCodepointIndex(t2, codeUnitIndex);
  32569. return new T.SassNumber(codepointIndex + 1, C.List_empty, C.List_empty, null);
  32570. },
  32571. $signature: 0
  32572. };
  32573. D.closure0.prototype = {
  32574. call$1: function($arguments) {
  32575. var lengthInCodepoints, endInt, startCodepoint, endCodepoint,
  32576. t1 = J.getInterceptor$asx($arguments),
  32577. string = t1.$index($arguments, 0).assertString$1("string"),
  32578. start = t1.$index($arguments, 1).assertNumber$1("start-at"),
  32579. end = t1.$index($arguments, 2).assertNumber$1("end-at");
  32580. start.assertNoUnits$1("start");
  32581. end.assertNoUnits$1("end");
  32582. lengthInCodepoints = string.get$sassLength();
  32583. endInt = end.assertInt$0();
  32584. if (endInt === 0)
  32585. return string.hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted();
  32586. startCodepoint = D._codepointForIndex(start.assertInt$0(), lengthInCodepoints, false);
  32587. endCodepoint = D._codepointForIndex(endInt, lengthInCodepoints, true);
  32588. if (endCodepoint === lengthInCodepoints)
  32589. --endCodepoint;
  32590. if (endCodepoint < startCodepoint)
  32591. return string.hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted();
  32592. t1 = string.text;
  32593. return new D.SassString(J.substring$2$s(t1, B.codepointIndexToCodeUnitIndex(t1, startCodepoint), B.codepointIndexToCodeUnitIndex(t1, endCodepoint + 1)), string.hasQuotes);
  32594. },
  32595. $signature: 2
  32596. };
  32597. D.closure6.prototype = {
  32598. call$1: function($arguments) {
  32599. var t1, t2, t3, i, t4, t5,
  32600. string = J.$index$asx($arguments, 0).assertString$1("string");
  32601. for (t1 = string.text, t2 = t1.length, t3 = J.getInterceptor$s(t1), i = 0, t4 = ""; i < t2; ++i) {
  32602. t5 = t3._codeUnitAt$1(t1, i);
  32603. t4 += H.Primitives_stringFromCharCode(t5 >= 97 && t5 <= 122 ? t5 & 4294967263 : t5);
  32604. }
  32605. return new D.SassString(t4.charCodeAt(0) == 0 ? t4 : t4, string.hasQuotes);
  32606. },
  32607. $signature: 2
  32608. };
  32609. D.closure5.prototype = {
  32610. call$1: function($arguments) {
  32611. var t1, t2, t3, i, t4, t5,
  32612. string = J.$index$asx($arguments, 0).assertString$1("string");
  32613. for (t1 = string.text, t2 = t1.length, t3 = J.getInterceptor$s(t1), i = 0, t4 = ""; i < t2; ++i) {
  32614. t5 = t3._codeUnitAt$1(t1, i);
  32615. t4 += H.Primitives_stringFromCharCode(t5 >= 65 && t5 <= 90 ? t5 | 32 : t5);
  32616. }
  32617. return new D.SassString(t4.charCodeAt(0) == 0 ? t4 : t4, string.hasQuotes);
  32618. },
  32619. $signature: 2
  32620. };
  32621. D.closure4.prototype = {
  32622. call$1: function($arguments) {
  32623. var t1 = $.$get$_previousUniqueId() + ($.$get$_random().nextInt$1(36) + 1);
  32624. $._previousUniqueId = t1;
  32625. if (t1 > Math.pow(36, 6))
  32626. $._previousUniqueId = C.JSInt_methods.$mod($.$get$_previousUniqueId(), H.intTypeCast(Math.pow(36, 6)));
  32627. return new D.SassString("u" + C.JSString_methods.padLeft$2(J.toRadixString$1$n($.$get$_previousUniqueId(), 36), 6, "0"), false);
  32628. },
  32629. $signature: 2
  32630. };
  32631. R.ImportCache.prototype = {
  32632. canonicalize$3: function(url, baseImporter, baseUrl) {
  32633. var resolvedUrl, canonicalUrl, t1;
  32634. if (baseImporter != null) {
  32635. resolvedUrl = baseUrl != null ? baseUrl.resolveUri$1(url) : url;
  32636. canonicalUrl = this._canonicalize$2(baseImporter, resolvedUrl);
  32637. if (canonicalUrl != null) {
  32638. t1 = P.Uri;
  32639. return new S.Tuple3(baseImporter, canonicalUrl, resolvedUrl, [M.Importer, t1, t1]);
  32640. }
  32641. }
  32642. return this._canonicalizeCache.putIfAbsent$2(url, new R.ImportCache_canonicalize_closure(this, url));
  32643. },
  32644. _canonicalize$2: function(importer, url) {
  32645. var result = importer.canonicalize$1(url);
  32646. if ((result == null ? null : result.get$scheme()) === "")
  32647. this._import_cache$_logger.warn$2$deprecation("Importer " + importer.toString$0(0) + " canonicalized " + H.S(url) + " to " + H.S(result) + ".\nRelative canonical URLs are deprecated and will eventually be disallowed.\n", true);
  32648. return result;
  32649. },
  32650. import$3: function(url, baseImporter, baseUrl) {
  32651. var t1,
  32652. tuple = this.canonicalize$3(url, baseImporter, baseUrl);
  32653. if (tuple == null)
  32654. return;
  32655. t1 = tuple.item1;
  32656. return new S.Tuple2(t1, this.importCanonical$3(t1, tuple.item2, tuple.item3), [M.Importer, V.Stylesheet]);
  32657. },
  32658. importCanonical$3: function(importer, canonicalUrl, originalUrl) {
  32659. return this._import_cache$_importCache.putIfAbsent$2(canonicalUrl, new R.ImportCache_importCanonical_closure(this, importer, canonicalUrl, originalUrl));
  32660. },
  32661. importCanonical$2: function(importer, canonicalUrl) {
  32662. return this.importCanonical$3(importer, canonicalUrl, null);
  32663. },
  32664. humanize$1: function(canonicalUrl) {
  32665. var t1 = this._canonicalizeCache.get$values(),
  32666. t2 = H.getRuntimeTypeArgument(t1, "Iterable", 0),
  32667. t3 = P.Uri,
  32668. url = Y.minBy(new H.MappedIterable(new H.WhereIterable(t1, new R.ImportCache_humanize_closure(canonicalUrl), [t2]), new R.ImportCache_humanize_closure0(), [t2, t3]), new R.ImportCache_humanize_closure1(), t3, null);
  32669. if (url == null)
  32670. return canonicalUrl;
  32671. t1 = $.$get$url();
  32672. return url.resolve$1(X.ParsedPath_ParsedPath$parse(canonicalUrl.get$path(canonicalUrl), t1.style).get$basename());
  32673. },
  32674. clearImport$1: function(canonicalUrl) {
  32675. this._resultsCache.remove$1(0, canonicalUrl);
  32676. this._import_cache$_importCache.remove$1(0, canonicalUrl);
  32677. }
  32678. };
  32679. R.ImportCache_canonicalize_closure.prototype = {
  32680. call$0: function() {
  32681. var t1, t2, t3, t4, _i, importer, canonicalUrl;
  32682. for (t1 = this.$this, t2 = t1._importers, t3 = t2.length, t4 = this.url, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
  32683. importer = t2[_i];
  32684. canonicalUrl = t1._canonicalize$2(importer, t4);
  32685. if (canonicalUrl != null) {
  32686. t1 = P.Uri;
  32687. return new S.Tuple3(importer, canonicalUrl, t4, [M.Importer, t1, t1]);
  32688. }
  32689. }
  32690. return;
  32691. }
  32692. };
  32693. R.ImportCache_importCanonical_closure.prototype = {
  32694. call$0: function() {
  32695. var t3, _this = this,
  32696. t1 = _this.canonicalUrl,
  32697. result = _this.importer.load$1(t1),
  32698. t2 = _this.$this;
  32699. t2._resultsCache.$indexSet(0, t1, result);
  32700. t3 = _this.originalUrl;
  32701. t1 = t3 == null ? t1 : t3.resolveUri$1(t1);
  32702. return V.Stylesheet_Stylesheet$parse(result.contents, result.syntax, t2._import_cache$_logger, t1);
  32703. }
  32704. };
  32705. R.ImportCache_humanize_closure.prototype = {
  32706. call$1: function(tuple) {
  32707. var t1 = tuple == null ? null : tuple.item2;
  32708. return J.$eq$(t1, this.canonicalUrl);
  32709. }
  32710. };
  32711. R.ImportCache_humanize_closure0.prototype = {
  32712. call$1: function(tuple) {
  32713. return tuple.item3;
  32714. }
  32715. };
  32716. R.ImportCache_humanize_closure1.prototype = {
  32717. call$1: function(url) {
  32718. return J.get$length$asx(J.get$path$x(url));
  32719. },
  32720. $signature: 12
  32721. };
  32722. M.Importer.prototype = {
  32723. modificationTime$1: function(url) {
  32724. return new P.DateTime(Date.now(), false);
  32725. }
  32726. };
  32727. B.AsyncImporter.prototype = {};
  32728. F.FilesystemImporter.prototype = {
  32729. canonicalize$1: function(url) {
  32730. var t1, resolved;
  32731. if (url.get$scheme() !== "file" && url.get$scheme() !== "")
  32732. return;
  32733. t1 = $.$get$context();
  32734. resolved = B.resolveImportPath(D.join(this._loadPath, t1.style.pathFromUri$1(M._parseUri(url)), null));
  32735. return resolved == null ? null : t1.toUri$1(t1.canonicalize$1(resolved));
  32736. },
  32737. load$1: function(url) {
  32738. var t3,
  32739. t1 = $.$get$context(),
  32740. path = t1.style.pathFromUri$1(M._parseUri(url)),
  32741. t2 = B.readFile(path);
  32742. t1 = J.$eq$(J.get$platform$x(self.process), "win32") || J.$eq$(J.get$platform$x(self.process), "darwin") ? t1.toUri$1(F.realCasePath(path)) : url;
  32743. t3 = M.Syntax_forPath(path);
  32744. if ((t1 == null ? null : t1.get$scheme()) === "")
  32745. H.throwExpression(P.ArgumentError$value(t1, "sourceMapUrl", "must be absolute"));
  32746. return new E.ImporterResult(t2, t1, t3);
  32747. },
  32748. modificationTime$1: function(url) {
  32749. return B.modificationTime($.$get$context().style.pathFromUri$1(M._parseUri(url)));
  32750. },
  32751. toString$0: function(_) {
  32752. return this._loadPath;
  32753. }
  32754. };
  32755. F.NodeImporter.prototype = {
  32756. load$2: function(url, previous) {
  32757. var result, previousString, t1, t2, t3, t4, _i, value, _this = this,
  32758. parsed = P.Uri_parse(url);
  32759. if (parsed.get$scheme() === "" || parsed.get$scheme() === "file") {
  32760. result = _this._resolveRelativePath$2($.$get$context().style.pathFromUri$1(M._parseUri(parsed)), previous);
  32761. if (result != null)
  32762. return result;
  32763. }
  32764. previousString = previous.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(M._parseUri(previous)) : previous.toString$0(0);
  32765. for (t1 = _this._implementation$_importers, t2 = t1.length, t3 = _this._implementation$_context, t4 = [P.Object], _i = 0; _i < t2; ++_i) {
  32766. value = J.apply$2$x(t1[_i], t3, H.setRuntimeTypeInfo([url, previousString], t4));
  32767. if (value != null)
  32768. return _this._handleImportResult$3(url, previous, value);
  32769. }
  32770. return _this._resolveLoadPathFromUrl$2(parsed, previous);
  32771. },
  32772. loadAsync$2: function(url, previous) {
  32773. return this.loadAsync$body$NodeImporter(url, previous);
  32774. },
  32775. loadAsync$body$NodeImporter: function(url, previous) {
  32776. var $async$goto = 0,
  32777. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, P.String, P.String]),
  32778. $async$returnValue, $async$self = this, result, previousString, t1, t2, _i, value, parsed;
  32779. var $async$loadAsync$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  32780. if ($async$errorCode === 1)
  32781. return P._asyncRethrow($async$result, $async$completer);
  32782. while (true)
  32783. switch ($async$goto) {
  32784. case 0:
  32785. // Function start
  32786. parsed = P.Uri_parse(url);
  32787. if (parsed.get$scheme() === "" || parsed.get$scheme() === "file") {
  32788. result = $async$self._resolveRelativePath$2($.$get$context().style.pathFromUri$1(M._parseUri(parsed)), previous);
  32789. if (result != null) {
  32790. $async$returnValue = result;
  32791. // goto return
  32792. $async$goto = 1;
  32793. break;
  32794. }
  32795. }
  32796. previousString = previous.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(M._parseUri(previous)) : previous.toString$0(0);
  32797. t1 = $async$self._implementation$_importers, t2 = t1.length, _i = 0;
  32798. case 3:
  32799. // for condition
  32800. if (!(_i < t2)) {
  32801. // goto after for
  32802. $async$goto = 5;
  32803. break;
  32804. }
  32805. $async$goto = 6;
  32806. return P._asyncAwait($async$self._callImporterAsync$3(t1[_i], url, previousString), $async$loadAsync$2);
  32807. case 6:
  32808. // returning from await.
  32809. value = $async$result;
  32810. if (value != null) {
  32811. $async$returnValue = $async$self._handleImportResult$3(url, previous, value);
  32812. // goto return
  32813. $async$goto = 1;
  32814. break;
  32815. }
  32816. case 4:
  32817. // for update
  32818. ++_i;
  32819. // goto for condition
  32820. $async$goto = 3;
  32821. break;
  32822. case 5:
  32823. // after for
  32824. $async$returnValue = $async$self._resolveLoadPathFromUrl$2(parsed, previous);
  32825. // goto return
  32826. $async$goto = 1;
  32827. break;
  32828. case 1:
  32829. // return
  32830. return P._asyncReturn($async$returnValue, $async$completer);
  32831. }
  32832. });
  32833. return P._asyncStartSync($async$loadAsync$2, $async$completer);
  32834. },
  32835. _resolveRelativePath$2: function(path, previous) {
  32836. var result,
  32837. t1 = $.$get$context(),
  32838. t2 = t1.style;
  32839. if (t2.rootLength$1(path) > 0)
  32840. return this._tryPath$1(path);
  32841. if (previous.get$scheme() === "file") {
  32842. result = this._tryPath$1(D.join(t1.dirname$1(t2.pathFromUri$1(M._parseUri(previous))), path, null));
  32843. if (result != null)
  32844. return result;
  32845. }
  32846. return;
  32847. },
  32848. _resolveLoadPathFromUrl$2: function(url, previous) {
  32849. return url.get$scheme() === "" || url.get$scheme() === "file" ? this._resolveLoadPath$2($.$get$context().style.pathFromUri$1(M._parseUri(url)), previous) : null;
  32850. },
  32851. _resolveLoadPath$2: function(path, previous) {
  32852. var t1, t2, t3, _i, includePath, t4, resolved, result, _null = null,
  32853. cwdResult = this._tryPath$1(D.absolute(path));
  32854. if (cwdResult != null)
  32855. return cwdResult;
  32856. for (t1 = this._includePaths, t2 = t1.length, t3 = P.String, t3 = [t3, t3], _i = 0; _i < t2; ++_i) {
  32857. includePath = t1[_i];
  32858. t4 = $.$get$context();
  32859. resolved = B.resolveImportPath(t4.absolute$7(t4.join$8(0, includePath, path, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null, _null, _null));
  32860. result = resolved == null ? _null : new S.Tuple2(B.readFile(resolved), J.toString$0$(t4.toUri$1(resolved)), t3);
  32861. if (result != null)
  32862. return result;
  32863. }
  32864. return;
  32865. },
  32866. _tryPath$1: function(path) {
  32867. var t1,
  32868. resolved = B.resolveImportPath(path);
  32869. if (resolved == null)
  32870. t1 = null;
  32871. else {
  32872. t1 = P.String;
  32873. t1 = new S.Tuple2(B.readFile(resolved), J.toString$0$($.$get$context().toUri$1(resolved)), [t1, t1]);
  32874. }
  32875. return t1;
  32876. },
  32877. _handleImportResult$3: function(url, previous, value) {
  32878. var t1, resolved, t2;
  32879. if (value instanceof self.Error)
  32880. throw H.wrapException(value);
  32881. t1 = J.getInterceptor$(value);
  32882. if (!t1.$isNodeImporterResult)
  32883. return;
  32884. if (t1.get$file(value) != null) {
  32885. resolved = this._resolveRelativePath$2(t1.get$file(value), previous);
  32886. if (resolved == null)
  32887. resolved = this._resolveLoadPath$2(t1.get$file(value), previous);
  32888. if (resolved != null)
  32889. return resolved;
  32890. throw H.wrapException("Can't find stylesheet to import.");
  32891. } else {
  32892. t1 = t1.get$contents(value);
  32893. if (t1 == null)
  32894. t1 = "";
  32895. t2 = P.String;
  32896. return new S.Tuple2(t1, url, [t2, t2]);
  32897. }
  32898. },
  32899. _callImporterAsync$3: function(importer, url, previousString) {
  32900. return this._callImporterAsync$body$NodeImporter(importer, url, previousString);
  32901. },
  32902. _callImporterAsync$body$NodeImporter: function(importer, url, previousString) {
  32903. var $async$goto = 0,
  32904. $async$completer = P._makeAsyncAwaitCompleter(P.Object),
  32905. $async$returnValue, $async$self = this, t1, t2, result;
  32906. var $async$_callImporterAsync$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  32907. if ($async$errorCode === 1)
  32908. return P._asyncRethrow($async$result, $async$completer);
  32909. while (true)
  32910. switch ($async$goto) {
  32911. case 0:
  32912. // Function start
  32913. t1 = P.Object;
  32914. t2 = new P._Future($.Zone__current, [t1]);
  32915. result = J.apply$2$x(importer, $async$self._implementation$_context, H.setRuntimeTypeInfo([url, previousString, P.allowInterop(new P._AsyncCompleter(t2, [t1]).get$complete())], [t1]));
  32916. $async$goto = H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? 3 : 4;
  32917. break;
  32918. case 3:
  32919. // then
  32920. $async$goto = 5;
  32921. return P._asyncAwait(t2, $async$_callImporterAsync$3);
  32922. case 5:
  32923. // returning from await.
  32924. $async$returnValue = $async$result;
  32925. // goto return
  32926. $async$goto = 1;
  32927. break;
  32928. case 4:
  32929. // join
  32930. $async$returnValue = result;
  32931. // goto return
  32932. $async$goto = 1;
  32933. break;
  32934. case 1:
  32935. // return
  32936. return P._asyncReturn($async$returnValue, $async$completer);
  32937. }
  32938. });
  32939. return P._asyncStartSync($async$_callImporterAsync$3, $async$completer);
  32940. }
  32941. };
  32942. E.ImporterResult.prototype = {
  32943. get$sourceMapUrl: function() {
  32944. var t1 = this._sourceMapUrl;
  32945. return t1 == null ? P.Uri_Uri$dataFromString(this.contents, C.C_Utf8Codec, null) : t1;
  32946. }
  32947. };
  32948. B.resolveImportPath_closure.prototype = {
  32949. call$0: function() {
  32950. return B._exactlyOne(B._tryPath($.$get$context().withoutExtension$1(this.path) + ".import" + this.extension));
  32951. }
  32952. };
  32953. B.resolveImportPath_closure0.prototype = {
  32954. call$0: function() {
  32955. return B._exactlyOne(B._tryPathWithExtensions(H.S(this.path) + ".import"));
  32956. }
  32957. };
  32958. B._tryPathAsDirectory_closure.prototype = {
  32959. call$0: function() {
  32960. return B._exactlyOne(B._tryPathWithExtensions(D.join(this.path, "index.import", null)));
  32961. }
  32962. };
  32963. B._exactlyOne_closure.prototype = {
  32964. call$1: function(path) {
  32965. var t1 = $.$get$context();
  32966. return C.JSString_methods.$add(" ", t1.prettyUri$1(t1.toUri$1(path)));
  32967. }
  32968. };
  32969. Z.InterpolationBuffer.prototype = {
  32970. add$1: function(_, expression) {
  32971. this._flushText$0();
  32972. this._interpolation_buffer$_contents.push(expression);
  32973. },
  32974. addInterpolation$1: function(interpolation) {
  32975. var first, t1, t2, _this = this,
  32976. toAdd = interpolation.contents;
  32977. if (toAdd.length === 0)
  32978. return;
  32979. first = C.JSArray_methods.get$first(toAdd);
  32980. if (typeof first === "string") {
  32981. _this._interpolation_buffer$_text._contents += first;
  32982. toAdd = H.SubListIterable$(toAdd, 1, null, H.getTypeArgumentByIndex(toAdd, 0));
  32983. }
  32984. _this._flushText$0();
  32985. t1 = _this._interpolation_buffer$_contents;
  32986. C.JSArray_methods.addAll$1(t1, toAdd);
  32987. t2 = C.JSArray_methods.get$last(t1);
  32988. if (typeof t2 === "string")
  32989. _this._interpolation_buffer$_text._contents += H.S(t1.pop());
  32990. },
  32991. _flushText$0: function() {
  32992. var t1 = this._interpolation_buffer$_text,
  32993. t2 = t1._contents;
  32994. if (t2.length === 0)
  32995. return;
  32996. this._interpolation_buffer$_contents.push(t2.charCodeAt(0) == 0 ? t2 : t2);
  32997. t1._contents = "";
  32998. },
  32999. interpolation$1: function(span) {
  33000. var t2, t3, _i,
  33001. t1 = H.setRuntimeTypeInfo([], [P.Object]);
  33002. for (t2 = this._interpolation_buffer$_contents, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  33003. t1.push(t2[_i]);
  33004. t2 = this._interpolation_buffer$_text._contents;
  33005. if (t2.length !== 0)
  33006. t1.push(t2.charCodeAt(0) == 0 ? t2 : t2);
  33007. return X.Interpolation$(t1, span);
  33008. },
  33009. toString$0: function(_) {
  33010. var t1, t2, _i, t3, element;
  33011. for (t1 = this._interpolation_buffer$_contents, t2 = t1.length, _i = 0, t3 = ""; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  33012. element = t1[_i];
  33013. t3 = typeof element === "string" ? t3 + element : t3 + "#{" + H.S(element) + H.Primitives_stringFromCharCode(125);
  33014. }
  33015. t1 = t3 + this._interpolation_buffer$_text.toString$0(0);
  33016. return t1.charCodeAt(0) == 0 ? t1 : t1;
  33017. }
  33018. };
  33019. F.realCasePath_closure.prototype = {
  33020. call$1: function(realPath) {
  33021. return B.equalsIgnoreCase(X.ParsedPath_ParsedPath$parse(realPath, $.$get$context().style).get$basename(), this.basename);
  33022. }
  33023. };
  33024. B._FS.prototype = {};
  33025. B._Stat.prototype = {};
  33026. B._Date.prototype = {};
  33027. B._Stderr.prototype = {};
  33028. B._Stdin.prototype = {};
  33029. B._SystemError.prototype = {};
  33030. B._Process.prototype = {};
  33031. B.FileSystemException.prototype = {
  33032. toString$0: function(_) {
  33033. var t1 = $.$get$context();
  33034. return H.S(t1.prettyUri$1(t1.toUri$1(this.path))) + ": " + this.message;
  33035. },
  33036. get$message: function(receiver) {
  33037. return this.message;
  33038. },
  33039. get$path: function(receiver) {
  33040. return this.path;
  33041. }
  33042. };
  33043. B.Stderr.prototype = {
  33044. writeln$1: function(object) {
  33045. J.write$1$x(this._stderr, H.S(object == null ? "" : object) + "\n");
  33046. },
  33047. writeln$0: function() {
  33048. return this.writeln$1(null);
  33049. }
  33050. };
  33051. B._readFile_closure.prototype = {
  33052. call$0: function() {
  33053. return J.readFileSync$2$x(self.fs, this.path, this.encoding);
  33054. }
  33055. };
  33056. B.writeFile_closure.prototype = {
  33057. call$0: function() {
  33058. return J.writeFileSync$2$x(self.fs, this.path, this.contents);
  33059. }
  33060. };
  33061. B.deleteFile_closure.prototype = {
  33062. call$0: function() {
  33063. return J.unlinkSync$1$x(self.fs, this.path);
  33064. }
  33065. };
  33066. B.readStdin_closure.prototype = {
  33067. call$1: function(result) {
  33068. this._box_0.contents = result;
  33069. this.completer.complete$1(result);
  33070. }
  33071. };
  33072. B.readStdin_closure0.prototype = {
  33073. call$1: function(chunk) {
  33074. this.sink.add$1(0, H.subtypeCast(chunk, "$isList", [P.int], "$asList"));
  33075. },
  33076. call$0: function() {
  33077. return this.call$1(null);
  33078. },
  33079. "call*": "call$1",
  33080. $requiredArgCount: 0,
  33081. $defaultValues: function() {
  33082. return [null];
  33083. },
  33084. $signature: 18
  33085. };
  33086. B.readStdin_closure1.prototype = {
  33087. call$1: function(_) {
  33088. this.sink.close$0(0);
  33089. },
  33090. call$0: function() {
  33091. return this.call$1(null);
  33092. },
  33093. "call*": "call$1",
  33094. $requiredArgCount: 0,
  33095. $defaultValues: function() {
  33096. return [null];
  33097. },
  33098. $signature: 18
  33099. };
  33100. B.readStdin_closure2.prototype = {
  33101. call$1: function(e) {
  33102. var t1 = $.$get$stderr();
  33103. t1.writeln$1("Failed to read from stdin");
  33104. t1.writeln$1(e);
  33105. this.completer.completeError$1(e);
  33106. },
  33107. call$0: function() {
  33108. return this.call$1(null);
  33109. },
  33110. "call*": "call$1",
  33111. $requiredArgCount: 0,
  33112. $defaultValues: function() {
  33113. return [null];
  33114. },
  33115. $signature: 18
  33116. };
  33117. B.fileExists_closure.prototype = {
  33118. call$0: function() {
  33119. var error, systemError, exception,
  33120. t1 = this.path;
  33121. if (!J.existsSync$1$x(self.fs, t1))
  33122. return false;
  33123. try {
  33124. t1 = J.isFile$0$x(J.statSync$1$x(self.fs, t1));
  33125. return t1;
  33126. } catch (exception) {
  33127. error = H.unwrapException(exception);
  33128. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  33129. if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
  33130. return false;
  33131. throw exception;
  33132. }
  33133. }
  33134. };
  33135. B.dirExists_closure.prototype = {
  33136. call$0: function() {
  33137. var error, systemError, exception,
  33138. t1 = this.path;
  33139. if (!J.existsSync$1$x(self.fs, t1))
  33140. return false;
  33141. try {
  33142. t1 = J.isDirectory$0$x(J.statSync$1$x(self.fs, t1));
  33143. return t1;
  33144. } catch (exception) {
  33145. error = H.unwrapException(exception);
  33146. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  33147. if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
  33148. return false;
  33149. throw exception;
  33150. }
  33151. }
  33152. };
  33153. B.ensureDir_closure.prototype = {
  33154. call$0: function() {
  33155. var error, systemError, exception, t1;
  33156. try {
  33157. J.mkdirSync$1$x(self.fs, this.path);
  33158. } catch (exception) {
  33159. error = H.unwrapException(exception);
  33160. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  33161. if (J.$eq$(J.get$code$x(systemError), "EEXIST"))
  33162. return;
  33163. if (!J.$eq$(J.get$code$x(systemError), "ENOENT"))
  33164. throw exception;
  33165. t1 = this.path;
  33166. B.ensureDir($.$get$context().dirname$1(t1));
  33167. J.mkdirSync$1$x(self.fs, t1);
  33168. }
  33169. }
  33170. };
  33171. B.listDir_closure.prototype = {
  33172. call$0: function() {
  33173. var t1 = this.path;
  33174. if (!this.recursive)
  33175. return J.map$1$1$ax(J.readdirSync$1$x(self.fs, t1), new B.listDir__closure(t1), P.String).where$1(0, new B.listDir__closure0());
  33176. else
  33177. return new B.listDir_closure_list().call$1(t1);
  33178. }
  33179. };
  33180. B.listDir__closure.prototype = {
  33181. call$1: function(child) {
  33182. return D.join(this.path, H.stringTypeCast(child), null);
  33183. },
  33184. $signature: 13
  33185. };
  33186. B.listDir__closure0.prototype = {
  33187. call$1: function(child) {
  33188. return !B.dirExists(child);
  33189. }
  33190. };
  33191. B.listDir_closure_list.prototype = {
  33192. call$1: function($parent) {
  33193. return J.expand$1$1$ax(J.readdirSync$1$x(self.fs, $parent), new B.listDir__list_closure($parent, this), P.String);
  33194. }
  33195. };
  33196. B.listDir__list_closure.prototype = {
  33197. call$1: function(child) {
  33198. var path = D.join(this.parent, H.stringTypeCast(child), null);
  33199. return B.dirExists(path) ? this.list.call$1(path) : H.setRuntimeTypeInfo([path], [P.String]);
  33200. },
  33201. $signature: 39
  33202. };
  33203. B.modificationTime_closure.prototype = {
  33204. call$0: function() {
  33205. var t2,
  33206. t1 = J.getTime$0$x(J.get$mtime$x(J.statSync$1$x(self.fs, this.path)));
  33207. if (Math.abs(t1) <= 864e13)
  33208. t2 = false;
  33209. else
  33210. t2 = true;
  33211. if (t2)
  33212. H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + H.S(t1)));
  33213. return new P.DateTime(t1, false);
  33214. }
  33215. };
  33216. B.watchDir_closure.prototype = {
  33217. call$2: function(path, _) {
  33218. var t1 = this._box_0.controller;
  33219. return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_add, path));
  33220. },
  33221. call$1: function(path) {
  33222. return this.call$2(path, null);
  33223. },
  33224. "call*": "call$2",
  33225. $defaultValues: function() {
  33226. return [null];
  33227. }
  33228. };
  33229. B.watchDir_closure0.prototype = {
  33230. call$2: function(path, _) {
  33231. var t1 = this._box_0.controller;
  33232. return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_modify, path));
  33233. },
  33234. call$1: function(path) {
  33235. return this.call$2(path, null);
  33236. },
  33237. "call*": "call$2",
  33238. $defaultValues: function() {
  33239. return [null];
  33240. }
  33241. };
  33242. B.watchDir_closure1.prototype = {
  33243. call$1: function(path) {
  33244. var t1 = this._box_0.controller;
  33245. return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_remove, path));
  33246. }
  33247. };
  33248. B.watchDir_closure2.prototype = {
  33249. call$1: function(error) {
  33250. var t1 = this._box_0.controller;
  33251. return t1 == null ? null : t1.addError$1(error);
  33252. },
  33253. $signature: 8
  33254. };
  33255. B.watchDir_closure3.prototype = {
  33256. call$0: function() {
  33257. var controller = P.StreamController_StreamController(new B.watchDir__closure(this.watcher), null, null, null, false, E.WatchEvent);
  33258. this._box_0.controller = controller;
  33259. this.completer.complete$1(new P._ControllerStream(controller, [H.getTypeArgumentByIndex(controller, 0)]));
  33260. },
  33261. "call*": "call$0",
  33262. $requiredArgCount: 0
  33263. };
  33264. B.watchDir__closure.prototype = {
  33265. call$0: function() {
  33266. J.close$0$x(this.watcher);
  33267. },
  33268. "call*": "call$0",
  33269. $requiredArgCount: 0
  33270. };
  33271. F._QuietLogger.prototype = {
  33272. warn$4$deprecation$span$trace: function(message, deprecation, span, trace) {
  33273. },
  33274. warn$2$span: function(message, span) {
  33275. return this.warn$4$deprecation$span$trace(message, false, span, null);
  33276. },
  33277. warn$2$deprecation: function(message, deprecation) {
  33278. return this.warn$4$deprecation$span$trace(message, deprecation, null, null);
  33279. },
  33280. warn$3$deprecation$span: function(message, deprecation, span) {
  33281. return this.warn$4$deprecation$span$trace(message, deprecation, span, null);
  33282. },
  33283. warn$2$trace: function(message, trace) {
  33284. return this.warn$4$deprecation$span$trace(message, false, null, trace);
  33285. },
  33286. debug$2: function(message, span) {
  33287. }
  33288. };
  33289. S.StderrLogger.prototype = {
  33290. warn$4$deprecation$span$trace: function(message, deprecation, span, trace) {
  33291. var t2, t3,
  33292. t1 = this.color;
  33293. if (t1) {
  33294. t2 = $.$get$stderr();
  33295. t3 = t2._stderr;
  33296. J.write$1$x(t3, "\x1b[33m\x1b[1m");
  33297. if (deprecation)
  33298. J.write$1$x(t3, "Deprecation ");
  33299. J.write$1$x(t3, "Warning\x1b[0m");
  33300. } else {
  33301. if (deprecation)
  33302. J.write$1$x($.$get$stderr()._stderr, "DEPRECATION ");
  33303. t2 = $.$get$stderr();
  33304. J.write$1$x(t2._stderr, "WARNING");
  33305. }
  33306. if (span == null)
  33307. t2.writeln$1(": " + H.S(message));
  33308. else if (trace != null)
  33309. t2.writeln$1(": " + H.S(message) + "\n\n" + span.highlight$1$color(t1));
  33310. else
  33311. t2.writeln$1(" on " + span.message$2$color(0, C.JSString_methods.$add("\n", message), t1));
  33312. if (trace != null)
  33313. t2.writeln$1(B.indent(C.JSString_methods.trimRight$0(trace.toString$0(0)), 4));
  33314. t2.writeln$0();
  33315. },
  33316. warn$2$span: function(message, span) {
  33317. return this.warn$4$deprecation$span$trace(message, false, span, null);
  33318. },
  33319. warn$2$deprecation: function(message, deprecation) {
  33320. return this.warn$4$deprecation$span$trace(message, deprecation, null, null);
  33321. },
  33322. warn$3$deprecation$span: function(message, deprecation, span) {
  33323. return this.warn$4$deprecation$span$trace(message, deprecation, span, null);
  33324. },
  33325. warn$2$trace: function(message, trace) {
  33326. return this.warn$4$deprecation$span$trace(message, false, null, trace);
  33327. },
  33328. debug$2: function(message, span) {
  33329. var url, t3, t4,
  33330. t1 = span.file,
  33331. t2 = span._start;
  33332. if (Y.FileLocation$_(t1, t2).file.url == null)
  33333. url = "-";
  33334. else {
  33335. t3 = Y.FileLocation$_(t1, t2);
  33336. url = $.$get$context().prettyUri$1(t3.file.url);
  33337. }
  33338. t3 = $.$get$stderr();
  33339. t4 = H.S(url) + ":";
  33340. t2 = Y.FileLocation$_(t1, t2);
  33341. t2 = t4 + (t2.file.getLine$1(t2.offset) + 1) + " ";
  33342. t4 = t3._stderr;
  33343. J.write$1$x(t4, t2);
  33344. J.write$1$x(t4, this.color ? "\x1b[1mDebug\x1b[0m" : "DEBUG");
  33345. t3.writeln$1(": " + H.S(message));
  33346. }
  33347. };
  33348. T.TrackingLogger.prototype = {
  33349. warn$4$deprecation$span$trace: function(message, deprecation, span, trace) {
  33350. this._emittedWarning = true;
  33351. this._tracking$_logger.warn$4$deprecation$span$trace(message, deprecation, span, trace);
  33352. },
  33353. warn$2$span: function(message, span) {
  33354. return this.warn$4$deprecation$span$trace(message, false, span, null);
  33355. },
  33356. warn$2$deprecation: function(message, deprecation) {
  33357. return this.warn$4$deprecation$span$trace(message, deprecation, null, null);
  33358. },
  33359. warn$3$deprecation$span: function(message, deprecation, span) {
  33360. return this.warn$4$deprecation$span$trace(message, deprecation, span, null);
  33361. },
  33362. warn$2$trace: function(message, trace) {
  33363. return this.warn$4$deprecation$span$trace(message, false, null, trace);
  33364. },
  33365. debug$2: function(message, span) {
  33366. this._emittedDebug = true;
  33367. this._tracking$_logger.debug$2(message, span);
  33368. }
  33369. };
  33370. G.Module.prototype = {};
  33371. Q.BuiltInModule.prototype = {
  33372. get$upstream: function() {
  33373. return C.List_empty4;
  33374. },
  33375. get$variables: function() {
  33376. return C.Map_empty3;
  33377. },
  33378. get$variableNodes: function() {
  33379. return C.Map_empty2;
  33380. },
  33381. get$extender: function() {
  33382. return C.C_EmptyExtender;
  33383. },
  33384. get$css: function(_) {
  33385. return new V.CssStylesheet(C.List_empty1, Y.SourceFile$decoded(C.List_empty2, this.url).span$2(0, 0));
  33386. },
  33387. get$transitivelyContainsCss: function() {
  33388. return false;
  33389. },
  33390. get$transitivelyContainsExtensions: function() {
  33391. return false;
  33392. },
  33393. setVariable$3: function($name, value, nodeWithSpan) {
  33394. throw H.wrapException(E.SassScriptException$("Undefined variable."));
  33395. },
  33396. cloneCss$0: function() {
  33397. return this;
  33398. },
  33399. $isModule: 1,
  33400. get$url: function() {
  33401. return this.url;
  33402. },
  33403. get$functions: function(receiver) {
  33404. return this.functions;
  33405. },
  33406. get$mixins: function() {
  33407. return this.mixins;
  33408. }
  33409. };
  33410. R.ForwardedModuleView.prototype = {
  33411. get$url: function() {
  33412. return this._forwarded_view$_inner.get$url();
  33413. },
  33414. get$upstream: function() {
  33415. return this._forwarded_view$_inner.get$upstream();
  33416. },
  33417. get$extender: function() {
  33418. return this._forwarded_view$_inner.get$extender();
  33419. },
  33420. get$css: function(_) {
  33421. var t1 = this._forwarded_view$_inner;
  33422. return t1.get$css(t1);
  33423. },
  33424. get$transitivelyContainsCss: function() {
  33425. return this._forwarded_view$_inner.get$transitivelyContainsCss();
  33426. },
  33427. get$transitivelyContainsExtensions: function() {
  33428. return this._forwarded_view$_inner.get$transitivelyContainsExtensions();
  33429. },
  33430. setVariable$3: function($name, value, nodeWithSpan) {
  33431. var _s19_ = "Undefined variable.",
  33432. t1 = this._rule,
  33433. t2 = t1.shownVariables;
  33434. if (t2 != null && !t2._base.contains$1(0, $name))
  33435. throw H.wrapException(E.SassScriptException$(_s19_));
  33436. else {
  33437. t2 = t1.hiddenVariables;
  33438. if (t2 != null && t2._base.contains$1(0, $name))
  33439. throw H.wrapException(E.SassScriptException$(_s19_));
  33440. }
  33441. t1 = t1.prefix;
  33442. if (t1 != null) {
  33443. if (!C.JSString_methods.startsWith$1($name, t1))
  33444. throw H.wrapException(E.SassScriptException$(_s19_));
  33445. $name = C.JSString_methods.substring$1($name, t1.length);
  33446. }
  33447. return this._forwarded_view$_inner.setVariable$3($name, value, nodeWithSpan);
  33448. },
  33449. cloneCss$0: function() {
  33450. return R.ForwardedModuleView$(this._forwarded_view$_inner.cloneCss$0(), this._rule, H.getTypeArgumentByIndex(this, 0));
  33451. },
  33452. $isModule: 1,
  33453. get$variables: function() {
  33454. return this.variables;
  33455. },
  33456. get$variableNodes: function() {
  33457. return this.variableNodes;
  33458. },
  33459. get$functions: function(receiver) {
  33460. return this.functions;
  33461. },
  33462. get$mixins: function() {
  33463. return this.mixins;
  33464. }
  33465. };
  33466. B.main_closure.prototype = {
  33467. call$1: function(args) {
  33468. return F.main(P.List_List$from(H.subtypeCast(args, "$isList", [P.Object], "$asList"), true, P.String));
  33469. },
  33470. $signature: 40
  33471. };
  33472. B._render_closure.prototype = {
  33473. call$0: function() {
  33474. var error, exception;
  33475. try {
  33476. this.callback.call$2(null, B._renderSync(this.options));
  33477. } catch (exception) {
  33478. error = H.unwrapException(exception);
  33479. this.callback.call$2(H.interceptedTypeCast(error, "$isJSError"), null);
  33480. }
  33481. return;
  33482. },
  33483. "call*": "call$0",
  33484. $requiredArgCount: 0
  33485. };
  33486. B._render_closure0.prototype = {
  33487. call$1: function(result) {
  33488. this.callback.call$2(null, result);
  33489. }
  33490. };
  33491. B._render_closure1.prototype = {
  33492. call$2: function(error, stackTrace) {
  33493. var _null = null,
  33494. t1 = J.getInterceptor$(error),
  33495. t2 = this.callback;
  33496. if (!!t1.$isSassException)
  33497. t2.call$2(B._wrapException(error), _null);
  33498. else
  33499. t2.call$2(B._newRenderError(t1.toString$0(error), _null, _null, _null, 3), _null);
  33500. },
  33501. "call*": "call$2",
  33502. $requiredArgCount: 2,
  33503. $signature: 41
  33504. };
  33505. B._parseFunctions_closure.prototype = {
  33506. call$2: function(signature, callback) {
  33507. var error, t1, exception, _this = this, tuple = null;
  33508. try {
  33509. t1 = S.SpanScanner$(signature, null);
  33510. tuple = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseSignature$0();
  33511. } catch (exception) {
  33512. t1 = H.unwrapException(exception);
  33513. if (t1 instanceof E.SassFormatException) {
  33514. error = t1;
  33515. throw H.wrapException(E.SassFormatException$('Invalid signature "' + H.S(signature) + '": ' + H.S(error._span_exception$_message), error.get$span()));
  33516. } else
  33517. throw exception;
  33518. }
  33519. t1 = _this.options;
  33520. if (J.get$fiber$x(t1) != null)
  33521. _this.result.push(Q.BuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure(t1, callback)));
  33522. else {
  33523. t1 = _this.result;
  33524. if (!_this.asynch)
  33525. t1.push(Q.BuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure0(callback)));
  33526. else
  33527. t1.push(S.AsyncBuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure1(callback)));
  33528. }
  33529. },
  33530. $signature: 42
  33531. };
  33532. B._parseFunctions__closure.prototype = {
  33533. call$1: function($arguments) {
  33534. var result,
  33535. t1 = this.options,
  33536. t2 = J.getInterceptor$x(t1),
  33537. fiber = J.get$current$x(t2.get$fiber(t1)),
  33538. t3 = P.Object,
  33539. t4 = H.setRuntimeTypeInfo([], [t3]);
  33540. for (t3 = J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), t3), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  33541. t4.push(t3.get$current(t3));
  33542. t4.push(P.allowInterop(new B._parseFunctions___closure0(fiber)));
  33543. result = P.Function_apply(H.interceptedTypeCast(this.callback, "$isFunction"), t4);
  33544. return F.unwrapValue(H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? J.yield$0$x(t2.get$fiber(t1)) : result);
  33545. },
  33546. $signature: 0
  33547. };
  33548. B._parseFunctions___closure0.prototype = {
  33549. call$1: function(result) {
  33550. P.scheduleMicrotask(new B._parseFunctions____closure(this.fiber, result));
  33551. },
  33552. call$0: function() {
  33553. return this.call$1(null);
  33554. },
  33555. "call*": "call$1",
  33556. $requiredArgCount: 0,
  33557. $defaultValues: function() {
  33558. return [null];
  33559. },
  33560. $signature: 18
  33561. };
  33562. B._parseFunctions____closure.prototype = {
  33563. call$0: function() {
  33564. return J.run$1$x(this.fiber, this.result);
  33565. },
  33566. "call*": "call$0",
  33567. $requiredArgCount: 0
  33568. };
  33569. B._parseFunctions__closure0.prototype = {
  33570. call$1: function($arguments) {
  33571. return F.unwrapValue(P.Function_apply(H.interceptedTypeCast(this.callback, "$isFunction"), J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), P.Object).toList$0(0)));
  33572. },
  33573. $signature: 0
  33574. };
  33575. B._parseFunctions__closure1.prototype = {
  33576. call$1: function($arguments) {
  33577. return this.$call$body$_parseFunctions__closure($arguments);
  33578. },
  33579. $call$body$_parseFunctions__closure: function($arguments) {
  33580. var $async$goto = 0,
  33581. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  33582. $async$returnValue, $async$self = this, result, t1, completer, t2, $async$temp1;
  33583. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  33584. if ($async$errorCode === 1)
  33585. return P._asyncRethrow($async$result, $async$completer);
  33586. while (true)
  33587. switch ($async$goto) {
  33588. case 0:
  33589. // Function start
  33590. t1 = P.Object;
  33591. completer = new P._AsyncCompleter(new P._Future($.Zone__current, [t1]), [t1]);
  33592. t2 = H.setRuntimeTypeInfo([], [t1]);
  33593. for (t1 = J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  33594. t2.push(t1.get$current(t1));
  33595. t2.push(P.allowInterop(new B._parseFunctions___closure(completer)));
  33596. result = P.Function_apply(H.interceptedTypeCast($async$self.callback, "$isFunction"), t2);
  33597. $async$temp1 = F;
  33598. $async$goto = H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? 3 : 5;
  33599. break;
  33600. case 3:
  33601. // then
  33602. $async$goto = 6;
  33603. return P._asyncAwait(completer.future, $async$call$1);
  33604. case 6:
  33605. // returning from await.
  33606. // goto join
  33607. $async$goto = 4;
  33608. break;
  33609. case 5:
  33610. // else
  33611. $async$result = result;
  33612. case 4:
  33613. // join
  33614. $async$returnValue = $async$temp1.unwrapValue($async$result);
  33615. // goto return
  33616. $async$goto = 1;
  33617. break;
  33618. case 1:
  33619. // return
  33620. return P._asyncReturn($async$returnValue, $async$completer);
  33621. }
  33622. });
  33623. return P._asyncStartSync($async$call$1, $async$completer);
  33624. }
  33625. };
  33626. B._parseFunctions___closure.prototype = {
  33627. call$1: function(result) {
  33628. return this.completer.complete$1(result);
  33629. },
  33630. call$0: function() {
  33631. return this.call$1(null);
  33632. },
  33633. "call*": "call$1",
  33634. $requiredArgCount: 0,
  33635. $defaultValues: function() {
  33636. return [null];
  33637. },
  33638. $signature: 34
  33639. };
  33640. B._parseImporter_closure.prototype = {
  33641. call$1: function(importer) {
  33642. return H.interceptedTypeCast(P.allowInteropCaptureThis(new B._parseImporter__closure(this.options, importer)), "$isJSFunction");
  33643. }
  33644. };
  33645. B._parseImporter__closure.prototype = {
  33646. call$4: function(thisArg, url, previous, _) {
  33647. var t1 = this.options,
  33648. t2 = J.getInterceptor$x(t1),
  33649. result = J.apply$2$x(this.importer, thisArg, H.setRuntimeTypeInfo([url, previous, P.allowInterop(new B._parseImporter___closure(J.get$current$x(t2.get$fiber(t1))))], [P.Object]));
  33650. if (H.boolTypeCast($.$get$_isUndefined().call$1(result)))
  33651. return J.yield$0$x(t2.get$fiber(t1));
  33652. return result;
  33653. },
  33654. call$3: function(thisArg, url, previous) {
  33655. return this.call$4(thisArg, url, previous, null);
  33656. },
  33657. "call*": "call$4",
  33658. $requiredArgCount: 3,
  33659. $defaultValues: function() {
  33660. return [null];
  33661. }
  33662. };
  33663. B._parseImporter___closure.prototype = {
  33664. call$1: function(result) {
  33665. P.scheduleMicrotask(new B._parseImporter____closure(this.fiber, result));
  33666. },
  33667. $signature: 43
  33668. };
  33669. B._parseImporter____closure.prototype = {
  33670. call$0: function() {
  33671. return J.run$1$x(this.fiber, this.result);
  33672. },
  33673. "call*": "call$0",
  33674. $requiredArgCount: 0
  33675. };
  33676. Y.Chokidar.prototype = {};
  33677. Y.ChokidarOptions.prototype = {};
  33678. Y.ChokidarWatcher.prototype = {};
  33679. V.JSError.prototype = {};
  33680. D.Exports.prototype = {};
  33681. E.FiberClass.prototype = {};
  33682. E.Fiber.prototype = {};
  33683. F.JSFunction.prototype = {};
  33684. F.NodeImporterResult.prototype = {};
  33685. Z.RenderContext.prototype = {};
  33686. L.RenderContextOptions.prototype = {};
  33687. R.RenderOptions.prototype = {};
  33688. U.RenderResult.prototype = {};
  33689. U.RenderResultStats.prototype = {};
  33690. G.Types.prototype = {};
  33691. B.forwardToString_closure.prototype = {
  33692. call$1: function(thisArg) {
  33693. return J.toString$0$(thisArg);
  33694. },
  33695. $signature: 13
  33696. };
  33697. B.createClass_closure.prototype = {
  33698. call$2: function($name, body) {
  33699. this.$prototype[$name] = P.allowInteropCaptureThis(body);
  33700. }
  33701. };
  33702. Z.closure129.prototype = {
  33703. call$0: function() {
  33704. var $constructor = P.allowInterop(new Z._closure18());
  33705. B.injectSuperclass(C.SassBoolean_true, $constructor);
  33706. B.forwardToString($constructor);
  33707. $constructor.prototype.getValue = P.allowInteropCaptureThis(new Z._closure19());
  33708. $constructor.TRUE = C.SassBoolean_true;
  33709. $constructor.FALSE = C.SassBoolean_false;
  33710. return $constructor;
  33711. }
  33712. };
  33713. Z._closure18.prototype = {
  33714. call$1: function(_) {
  33715. throw H.wrapException("new sass.types.Boolean() isn't allowed.\nUse sass.types.Boolean.TRUE or sass.types.Boolean.FALSE instead.");
  33716. },
  33717. call$0: function() {
  33718. return this.call$1(null);
  33719. },
  33720. "call*": "call$1",
  33721. $requiredArgCount: 0,
  33722. $defaultValues: function() {
  33723. return [null];
  33724. },
  33725. $signature: 21
  33726. };
  33727. Z._closure19.prototype = {
  33728. call$1: function(thisArg) {
  33729. return thisArg === C.SassBoolean_true;
  33730. },
  33731. $signature: 7
  33732. };
  33733. K._NodeSassColor.prototype = {};
  33734. K.closure119.prototype = {
  33735. call$6: function(thisArg, redOrArgb, green, blue, alpha, dartValue) {
  33736. var red, t1, t2, t3, t4;
  33737. if (dartValue != null) {
  33738. J.set$dartValue$x(thisArg, dartValue);
  33739. return;
  33740. }
  33741. if (green == null) {
  33742. H.intTypeCast(redOrArgb);
  33743. alpha = C.JSInt_methods._shrOtherPositive$1(redOrArgb, 24) / 255;
  33744. red = C.JSInt_methods.$mod(C.JSInt_methods._shrOtherPositive$1(redOrArgb, 16), 256);
  33745. green = C.JSInt_methods.$mod(C.JSInt_methods._shrOtherPositive$1(redOrArgb, 8), 256);
  33746. blue = C.JSInt_methods.$mod(redOrArgb, 256);
  33747. } else
  33748. red = redOrArgb;
  33749. t1 = C.JSNumber_methods.round$0(J.clamp$2$n(red, 0, 255));
  33750. t2 = C.JSNumber_methods.round$0(C.JSNumber_methods.clamp$2(green, 0, 255));
  33751. t3 = C.JSNumber_methods.round$0(J.clamp$2$n(blue, 0, 255));
  33752. t4 = alpha == null ? null : C.JSNumber_methods.clamp$2(alpha, 0, 1);
  33753. J.set$dartValue$x(thisArg, K.SassColor$rgb(t1, t2, t3, t4 == null ? 1 : t4, null));
  33754. },
  33755. call$2: function(thisArg, redOrArgb) {
  33756. return this.call$6(thisArg, redOrArgb, null, null, null, null);
  33757. },
  33758. call$3: function(thisArg, redOrArgb, green) {
  33759. return this.call$6(thisArg, redOrArgb, green, null, null, null);
  33760. },
  33761. call$4: function(thisArg, redOrArgb, green, blue) {
  33762. return this.call$6(thisArg, redOrArgb, green, blue, null, null);
  33763. },
  33764. call$5: function(thisArg, redOrArgb, green, blue, alpha) {
  33765. return this.call$6(thisArg, redOrArgb, green, blue, alpha, null);
  33766. },
  33767. "call*": "call$6",
  33768. $requiredArgCount: 2,
  33769. $defaultValues: function() {
  33770. return [null, null, null, null];
  33771. }
  33772. };
  33773. K.closure120.prototype = {
  33774. call$1: function(thisArg) {
  33775. return J.get$dartValue$x(thisArg).get$red();
  33776. }
  33777. };
  33778. K.closure121.prototype = {
  33779. call$1: function(thisArg) {
  33780. return J.get$dartValue$x(thisArg).get$green();
  33781. }
  33782. };
  33783. K.closure122.prototype = {
  33784. call$1: function(thisArg) {
  33785. return J.get$dartValue$x(thisArg).get$blue();
  33786. }
  33787. };
  33788. K.closure123.prototype = {
  33789. call$1: function(thisArg) {
  33790. return J.get$dartValue$x(thisArg).alpha;
  33791. }
  33792. };
  33793. K.closure124.prototype = {
  33794. call$2: function(thisArg, value) {
  33795. var t1 = J.getInterceptor$x(thisArg);
  33796. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$red(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255))));
  33797. },
  33798. "call*": "call$2",
  33799. $requiredArgCount: 2
  33800. };
  33801. K.closure125.prototype = {
  33802. call$2: function(thisArg, value) {
  33803. var t1 = J.getInterceptor$x(thisArg);
  33804. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$green(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255))));
  33805. },
  33806. "call*": "call$2",
  33807. $requiredArgCount: 2
  33808. };
  33809. K.closure126.prototype = {
  33810. call$2: function(thisArg, value) {
  33811. var t1 = J.getInterceptor$x(thisArg);
  33812. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$blue(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255))));
  33813. },
  33814. "call*": "call$2",
  33815. $requiredArgCount: 2
  33816. };
  33817. K.closure127.prototype = {
  33818. call$2: function(thisArg, value) {
  33819. var t1 = J.getInterceptor$x(thisArg);
  33820. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$alpha(J.clamp$2$n(value, 0, 1)));
  33821. },
  33822. "call*": "call$2",
  33823. $requiredArgCount: 2
  33824. };
  33825. K.closure128.prototype = {
  33826. call$1: function(thisArg) {
  33827. return J.toString$0$(J.get$dartValue$x(thisArg));
  33828. }
  33829. };
  33830. D._NodeSassList.prototype = {};
  33831. D.closure112.prototype = {
  33832. call$4: function(thisArg, $length, commaSeparator, dartValue) {
  33833. var t1;
  33834. if (dartValue == null) {
  33835. t1 = P.Iterable_Iterable$generate($length, new D._closure17(), F.Value);
  33836. t1 = D.SassList$(t1, commaSeparator !== false ? C.ListSeparator_comma : C.ListSeparator_space, false);
  33837. } else
  33838. t1 = dartValue;
  33839. J.set$dartValue$x(thisArg, t1);
  33840. },
  33841. call$2: function(thisArg, $length) {
  33842. return this.call$4(thisArg, $length, null, null);
  33843. },
  33844. call$3: function(thisArg, $length, commaSeparator) {
  33845. return this.call$4(thisArg, $length, commaSeparator, null);
  33846. },
  33847. "call*": "call$4",
  33848. $requiredArgCount: 2,
  33849. $defaultValues: function() {
  33850. return [null, null];
  33851. }
  33852. };
  33853. D._closure17.prototype = {
  33854. call$1: function(_) {
  33855. return C.C_SassNull;
  33856. },
  33857. $signature: 29
  33858. };
  33859. D.closure113.prototype = {
  33860. call$2: function(thisArg, index) {
  33861. return F.wrapValue(J.get$dartValue$x(thisArg)._list$_contents[index]);
  33862. },
  33863. "call*": "call$2",
  33864. $requiredArgCount: 2
  33865. };
  33866. D.closure114.prototype = {
  33867. call$3: function(thisArg, index, value) {
  33868. var t1 = J.getInterceptor$x(thisArg),
  33869. t2 = t1.get$dartValue(thisArg)._list$_contents,
  33870. mutable = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]);
  33871. mutable[index] = F.unwrapValue(value);
  33872. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeListContents$1(mutable));
  33873. },
  33874. "call*": "call$3",
  33875. $requiredArgCount: 3
  33876. };
  33877. D.closure115.prototype = {
  33878. call$1: function(thisArg) {
  33879. return J.get$dartValue$x(thisArg).separator === C.ListSeparator_comma;
  33880. }
  33881. };
  33882. D.closure116.prototype = {
  33883. call$2: function(thisArg, isComma) {
  33884. var t1 = J.getInterceptor$x(thisArg),
  33885. t2 = t1.get$dartValue(thisArg)._list$_contents,
  33886. t3 = isComma ? C.ListSeparator_comma : C.ListSeparator_space;
  33887. t1.set$dartValue(thisArg, D.SassList$(t2, t3, t1.get$dartValue(thisArg).hasBrackets));
  33888. },
  33889. "call*": "call$2",
  33890. $requiredArgCount: 2
  33891. };
  33892. D.closure117.prototype = {
  33893. call$1: function(thisArg) {
  33894. return J.get$dartValue$x(thisArg)._list$_contents.length;
  33895. }
  33896. };
  33897. D.closure118.prototype = {
  33898. call$1: function(thisArg) {
  33899. return J.toString$0$(J.get$dartValue$x(thisArg));
  33900. }
  33901. };
  33902. A._NodeSassMap.prototype = {};
  33903. A.closure105.prototype = {
  33904. call$3: function(thisArg, $length, dartValue) {
  33905. var t1, t2, t3, map;
  33906. if (dartValue == null) {
  33907. t1 = F.Value;
  33908. t2 = P.Iterable_Iterable$generate($length, new A._closure15(), t1);
  33909. t3 = P.Iterable_Iterable$generate($length, new A._closure16(), t1);
  33910. map = P.LinkedHashMap_LinkedHashMap(null, null, null, t1, t1);
  33911. P.MapBase__fillMapWithIterables(map, t2, t3);
  33912. t1 = new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1));
  33913. } else
  33914. t1 = dartValue;
  33915. J.set$dartValue$x(thisArg, t1);
  33916. },
  33917. call$2: function(thisArg, $length) {
  33918. return this.call$3(thisArg, $length, null);
  33919. },
  33920. "call*": "call$3",
  33921. $requiredArgCount: 2,
  33922. $defaultValues: function() {
  33923. return [null];
  33924. }
  33925. };
  33926. A._closure15.prototype = {
  33927. call$1: function(i) {
  33928. return new T.SassNumber(i, C.List_empty, C.List_empty, null);
  33929. },
  33930. $signature: 45
  33931. };
  33932. A._closure16.prototype = {
  33933. call$1: function(_) {
  33934. return C.C_SassNull;
  33935. },
  33936. $signature: 29
  33937. };
  33938. A.closure106.prototype = {
  33939. call$2: function(thisArg, index) {
  33940. return F.wrapValue(J.get$dartValue$x(thisArg).contents.get$keys().elementAt$1(0, index));
  33941. },
  33942. "call*": "call$2",
  33943. $requiredArgCount: 2
  33944. };
  33945. A.closure107.prototype = {
  33946. call$2: function(thisArg, index) {
  33947. return F.wrapValue(J.get$dartValue$x(thisArg).contents.get$values().elementAt$1(0, index));
  33948. },
  33949. "call*": "call$2",
  33950. $requiredArgCount: 2
  33951. };
  33952. A.closure108.prototype = {
  33953. call$1: function(thisArg) {
  33954. var t1 = J.get$dartValue$x(thisArg).contents;
  33955. return t1.get$length(t1);
  33956. }
  33957. };
  33958. A.closure109.prototype = {
  33959. call$3: function(thisArg, index, key) {
  33960. var newKey, t2, newMap, t3, i, t4,
  33961. t1 = J.getInterceptor$x(thisArg),
  33962. oldMap = t1.get$dartValue(thisArg).contents;
  33963. P.RangeError_checkValidIndex(index, oldMap, "index");
  33964. newKey = F.unwrapValue(key);
  33965. t2 = F.Value;
  33966. newMap = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
  33967. for (t3 = t1.get$dartValue(thisArg).contents.get$keys(), t3 = t3.get$iterator(t3), i = 0; t3.moveNext$0();) {
  33968. t4 = t3.get$current(t3);
  33969. if (i === index)
  33970. newMap.$indexSet(0, newKey, oldMap.$index(0, t4));
  33971. else {
  33972. if (newKey.$eq(0, t4))
  33973. throw H.wrapException(P.ArgumentError$value(key, "key", "is already in the map"));
  33974. newMap.$indexSet(0, t4, oldMap.$index(0, t4));
  33975. }
  33976. ++i;
  33977. }
  33978. t1.set$dartValue(thisArg, new A.SassMap(H.ConstantMap_ConstantMap$from(newMap, t2, t2)));
  33979. },
  33980. "call*": "call$3",
  33981. $requiredArgCount: 3
  33982. };
  33983. A.closure110.prototype = {
  33984. call$3: function(thisArg, index, value) {
  33985. var t4, t5,
  33986. t1 = J.getInterceptor$x(thisArg),
  33987. key = t1.get$dartValue(thisArg).contents.get$keys().elementAt$1(0, index),
  33988. t2 = F.Value,
  33989. t3 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
  33990. for (t4 = t1.get$dartValue(thisArg).contents.get$entries(), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
  33991. t5 = t4.get$current(t4);
  33992. t3.$indexSet(0, t5.key, t5.value);
  33993. }
  33994. t3.$indexSet(0, key, F.unwrapValue(value));
  33995. t1.set$dartValue(thisArg, new A.SassMap(H.ConstantMap_ConstantMap$from(t3, t2, t2)));
  33996. },
  33997. "call*": "call$3",
  33998. $requiredArgCount: 3
  33999. };
  34000. A.closure111.prototype = {
  34001. call$1: function(thisArg) {
  34002. return J.toString$0$(J.get$dartValue$x(thisArg));
  34003. }
  34004. };
  34005. O.closure104.prototype = {
  34006. call$0: function() {
  34007. var $constructor = P.allowInterop(new O._closure13());
  34008. B.injectSuperclass(C.C_SassNull, $constructor);
  34009. B.forwardToString($constructor);
  34010. $constructor.NULL = C.C_SassNull;
  34011. C.C_SassNull.toString = P.allowInterop(new O._closure14());
  34012. return $constructor;
  34013. }
  34014. };
  34015. O._closure13.prototype = {
  34016. call$1: function(_) {
  34017. throw H.wrapException("new sass.types.Null() isn't allowed. Use sass.types.Null.NULL instead.");
  34018. },
  34019. call$0: function() {
  34020. return this.call$1(null);
  34021. },
  34022. "call*": "call$1",
  34023. $requiredArgCount: 0,
  34024. $defaultValues: function() {
  34025. return [null];
  34026. },
  34027. $signature: 21
  34028. };
  34029. O._closure14.prototype = {
  34030. call$0: function() {
  34031. return "null";
  34032. },
  34033. "call*": "call$0",
  34034. $requiredArgCount: 0
  34035. };
  34036. T._NodeSassNumber.prototype = {};
  34037. T.closure98.prototype = {
  34038. call$4: function(thisArg, value, unit, dartValue) {
  34039. J.set$dartValue$x(thisArg, dartValue == null ? T._parseNumber(value, unit) : dartValue);
  34040. },
  34041. call$2: function(thisArg, value) {
  34042. return this.call$4(thisArg, value, null, null);
  34043. },
  34044. call$3: function(thisArg, value, unit) {
  34045. return this.call$4(thisArg, value, unit, null);
  34046. },
  34047. "call*": "call$4",
  34048. $requiredArgCount: 2,
  34049. $defaultValues: function() {
  34050. return [null, null];
  34051. }
  34052. };
  34053. T.closure99.prototype = {
  34054. call$1: function(thisArg) {
  34055. return J.get$dartValue$x(thisArg).value;
  34056. }
  34057. };
  34058. T.closure100.prototype = {
  34059. call$2: function(thisArg, value) {
  34060. var t1 = J.getInterceptor$x(thisArg),
  34061. t2 = t1.get$dartValue(thisArg).numeratorUnits;
  34062. t1.set$dartValue(thisArg, T.SassNumber$withUnits(value, t1.get$dartValue(thisArg).denominatorUnits, t2));
  34063. },
  34064. "call*": "call$2",
  34065. $requiredArgCount: 2
  34066. };
  34067. T.closure101.prototype = {
  34068. call$1: function(thisArg) {
  34069. var t1 = J.getInterceptor$x(thisArg),
  34070. t2 = C.JSArray_methods.join$1(t1.get$dartValue(thisArg).numeratorUnits, "*");
  34071. return t2 + (t1.get$dartValue(thisArg).denominatorUnits.length === 0 ? "" : "/") + C.JSArray_methods.join$1(t1.get$dartValue(thisArg).denominatorUnits, "*");
  34072. }
  34073. };
  34074. T.closure102.prototype = {
  34075. call$2: function(thisArg, unit) {
  34076. var t1 = J.getInterceptor$x(thisArg);
  34077. t1.set$dartValue(thisArg, T._parseNumber(t1.get$dartValue(thisArg).value, unit));
  34078. },
  34079. "call*": "call$2",
  34080. $requiredArgCount: 2
  34081. };
  34082. T.closure103.prototype = {
  34083. call$1: function(thisArg) {
  34084. return J.toString$0$(J.get$dartValue$x(thisArg));
  34085. }
  34086. };
  34087. T._parseNumber_closure.prototype = {
  34088. call$1: function(unit) {
  34089. return unit.length === 0;
  34090. }
  34091. };
  34092. T._parseNumber_closure0.prototype = {
  34093. call$1: function(unit) {
  34094. return unit.length === 0;
  34095. }
  34096. };
  34097. D._NodeSassString.prototype = {};
  34098. D.closure94.prototype = {
  34099. call$3: function(thisArg, value, dartValue) {
  34100. J.set$dartValue$x(thisArg, dartValue == null ? new D.SassString(value, false) : dartValue);
  34101. },
  34102. call$2: function(thisArg, value) {
  34103. return this.call$3(thisArg, value, null);
  34104. },
  34105. "call*": "call$3",
  34106. $requiredArgCount: 2,
  34107. $defaultValues: function() {
  34108. return [null];
  34109. }
  34110. };
  34111. D.closure95.prototype = {
  34112. call$1: function(thisArg) {
  34113. return J.get$dartValue$x(thisArg).text;
  34114. }
  34115. };
  34116. D.closure96.prototype = {
  34117. call$2: function(thisArg, value) {
  34118. J.set$dartValue$x(thisArg, new D.SassString(value, false));
  34119. },
  34120. "call*": "call$2",
  34121. $requiredArgCount: 2
  34122. };
  34123. D.closure97.prototype = {
  34124. call$1: function(thisArg) {
  34125. return J.toString$0$(J.get$dartValue$x(thisArg));
  34126. }
  34127. };
  34128. V.AtRootQueryParser.prototype = {
  34129. parse$0: function() {
  34130. return this.wrapSpanFormatException$1(new V.AtRootQueryParser_parse_closure(this));
  34131. }
  34132. };
  34133. V.AtRootQueryParser_parse_closure.prototype = {
  34134. call$0: function() {
  34135. var include, atRules,
  34136. t1 = this.$this,
  34137. t2 = t1.scanner;
  34138. t2.expectChar$1(40);
  34139. t1.whitespace$0();
  34140. include = t1.scanIdentifier$1("with");
  34141. if (!include)
  34142. t1.expectIdentifier$2$name("without", '"with" or "without"');
  34143. t1.whitespace$0();
  34144. t2.expectChar$1(58);
  34145. t1.whitespace$0();
  34146. atRules = P.LinkedHashSet_LinkedHashSet(P.String);
  34147. do {
  34148. atRules.add$1(0, t1.identifier$0().toLowerCase());
  34149. t1.whitespace$0();
  34150. } while (t1.lookingAtIdentifier$0());
  34151. t2.expectChar$1(41);
  34152. t2.expectDone$0();
  34153. return new V.AtRootQuery(include, atRules, atRules.contains$1(0, "all"), atRules.contains$1(0, "rule"));
  34154. }
  34155. };
  34156. Q.closure93.prototype = {
  34157. call$1: function($function) {
  34158. return $function.name;
  34159. }
  34160. };
  34161. Q.CssParser.prototype = {
  34162. get$plainCss: function() {
  34163. return true;
  34164. },
  34165. silentComment$0: function() {
  34166. var t1 = this.scanner,
  34167. t2 = t1._string_scanner$_position;
  34168. this.super$Parser$silentComment();
  34169. this.error$2("Silent comments aren't allowed in plain CSS.", t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  34170. },
  34171. atRule$2$root: function(child, root) {
  34172. var $name, urlStart, next, url, urlSpan, queries, t2, t3, t4, t5, t6, _this = this,
  34173. t1 = _this.scanner,
  34174. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34175. t1.expectChar$1(64);
  34176. $name = _this.interpolatedIdentifier$0();
  34177. _this.whitespace$0();
  34178. switch ($name.get$asPlain()) {
  34179. case "at-root":
  34180. case "content":
  34181. case "debug":
  34182. case "each":
  34183. case "error":
  34184. case "extend":
  34185. case "for":
  34186. case "function":
  34187. case "if":
  34188. case "include":
  34189. case "mixin":
  34190. case "return":
  34191. case "warn":
  34192. case "while":
  34193. _this.almostAnyValue$0();
  34194. _this.error$2("This at-rule isn't allowed in plain CSS.", t1.spanFrom$1(start));
  34195. break;
  34196. case "charset":
  34197. _this.string$0();
  34198. if (!root)
  34199. _this.error$2("This at-rule is not allowed here.", t1.spanFrom$1(start));
  34200. return;
  34201. case "import":
  34202. urlStart = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34203. next = t1.peekChar$0();
  34204. url = next === 117 || next === 85 ? _this.dynamicUrl$0() : new D.StringExpression(_this.interpolatedString$0().asInterpolation$1$static(true), false);
  34205. urlSpan = t1.spanFrom$1(urlStart);
  34206. _this.whitespace$0();
  34207. queries = _this.tryImportQueries$0();
  34208. _this.expectStatementSeparator$1("@import rule");
  34209. t2 = X.Interpolation$(H.setRuntimeTypeInfo([url], [P.Object]), urlSpan);
  34210. t3 = t1.spanFrom$1(urlStart);
  34211. t4 = queries == null;
  34212. t5 = t4 ? null : queries.item1;
  34213. t4 = t4 ? null : queries.item2;
  34214. t6 = F.Import;
  34215. t3 = H.setRuntimeTypeInfo([new Q.StaticImport(t2, t5, t4, t3)], [t6]);
  34216. t1 = t1.spanFrom$1(start);
  34217. return new B.ImportRule(P.List_List$unmodifiable(t3, t6), t1);
  34218. case "media":
  34219. return _this.mediaRule$1(start);
  34220. case "-moz-document":
  34221. return _this.mozDocumentRule$2(start, $name);
  34222. case "supports":
  34223. return _this.supportsRule$1(start);
  34224. default:
  34225. return _this.unknownAtRule$2(start, $name);
  34226. }
  34227. },
  34228. identifierLike$0: function() {
  34229. var t2, $arguments, _this = this,
  34230. t1 = _this.scanner,
  34231. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  34232. identifier = _this.interpolatedIdentifier$0(),
  34233. plain = identifier.get$asPlain(),
  34234. specialFunction = _this.trySpecialFunction$2(plain.toLowerCase(), start);
  34235. if (specialFunction != null)
  34236. return specialFunction;
  34237. t2 = t1._string_scanner$_position;
  34238. if (!t1.scanChar$1(40))
  34239. return new D.StringExpression(identifier, false);
  34240. $arguments = H.setRuntimeTypeInfo([], [T.Expression]);
  34241. if (!t1.scanChar$1(41)) {
  34242. do {
  34243. _this.whitespace$0();
  34244. $arguments.push(_this.expression$1$singleEquals(true));
  34245. _this.whitespace$0();
  34246. } while (t1.scanChar$1(44));
  34247. t1.expectChar$1(41);
  34248. }
  34249. if ($.$get$_disallowedFunctionNames().contains$1(0, plain))
  34250. _this.error$2("This function isn't allowed in plain CSS.", t1.spanFrom$1(start));
  34251. return new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([new D.StringExpression(identifier, false)], [P.Object]), identifier.span), X.ArgumentInvocation$($arguments, C.Map_empty4, t1.spanFrom$1(new S._SpanScannerState(t1, t2)), null, null), t1.spanFrom$1(start));
  34252. }
  34253. };
  34254. E.KeyframeSelectorParser.prototype = {
  34255. parse$0: function() {
  34256. return this.wrapSpanFormatException$1(new E.KeyframeSelectorParser_parse_closure(this));
  34257. },
  34258. _percentage$0: function() {
  34259. var t3, next,
  34260. t1 = this.scanner,
  34261. t2 = t1.scanChar$1(43) ? H.Primitives_stringFromCharCode(43) : "",
  34262. second = t1.peekChar$0();
  34263. if (!T.isDigit(second) && second !== 46)
  34264. t1.error$1("Expected number.");
  34265. while (true) {
  34266. t3 = t1.peekChar$0();
  34267. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  34268. break;
  34269. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34270. }
  34271. if (t1.peekChar$0() === 46) {
  34272. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34273. while (true) {
  34274. t3 = t1.peekChar$0();
  34275. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  34276. break;
  34277. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34278. }
  34279. }
  34280. if (this.scanIdentifier$1("e")) {
  34281. t2 += t1.readChar$0();
  34282. next = t1.peekChar$0();
  34283. if (next === 43 || next === 45)
  34284. t2 += t1.readChar$0();
  34285. if (!T.isDigit(t1.peekChar$0()))
  34286. t1.error$1("Expected digit.");
  34287. while (true) {
  34288. t3 = t1.peekChar$0();
  34289. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  34290. break;
  34291. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34292. }
  34293. }
  34294. t1.expectChar$1(37);
  34295. t2 += H.Primitives_stringFromCharCode(37);
  34296. return t2.charCodeAt(0) == 0 ? t2 : t2;
  34297. }
  34298. };
  34299. E.KeyframeSelectorParser_parse_closure.prototype = {
  34300. call$0: function() {
  34301. var selectors = H.setRuntimeTypeInfo([], [P.String]),
  34302. t1 = this.$this,
  34303. t2 = t1.scanner;
  34304. do {
  34305. t1.whitespace$0();
  34306. if (t1.lookingAtIdentifier$0())
  34307. if (t1.scanIdentifier$1("from"))
  34308. selectors.push("from");
  34309. else {
  34310. t1.expectIdentifier$2$name("to", '"to" or "from"');
  34311. selectors.push("to");
  34312. }
  34313. else
  34314. selectors.push(t1._percentage$0());
  34315. t1.whitespace$0();
  34316. } while (t2.scanChar$1(44));
  34317. t2.expectDone$0();
  34318. return selectors;
  34319. }
  34320. };
  34321. F.MediaQueryParser.prototype = {
  34322. parse$0: function() {
  34323. return this.wrapSpanFormatException$1(new F.MediaQueryParser_parse_closure(this));
  34324. },
  34325. _mediaQuery$0: function() {
  34326. var identifier1, identifier2, type, modifier, t2, features, _this = this, _null = null,
  34327. t1 = _this.scanner;
  34328. if (t1.peekChar$0() !== 40) {
  34329. identifier1 = _this.identifier$0();
  34330. _this.whitespace$0();
  34331. if (!_this.lookingAtIdentifier$0())
  34332. return F.CssMediaQuery$(identifier1, _null, _null);
  34333. identifier2 = _this.identifier$0();
  34334. _this.whitespace$0();
  34335. if (B.equalsIgnoreCase(identifier2, "and")) {
  34336. type = identifier1;
  34337. modifier = _null;
  34338. } else {
  34339. if (_this.scanIdentifier$1("and"))
  34340. _this.whitespace$0();
  34341. else
  34342. return F.CssMediaQuery$(identifier2, _null, identifier1);
  34343. type = identifier2;
  34344. modifier = identifier1;
  34345. }
  34346. } else {
  34347. type = _null;
  34348. modifier = type;
  34349. }
  34350. t2 = P.String;
  34351. features = H.setRuntimeTypeInfo([], [t2]);
  34352. do {
  34353. _this.whitespace$0();
  34354. t1.expectChar$1(40);
  34355. features.push("(" + _this.declarationValue$0() + ")");
  34356. t1.expectChar$1(41);
  34357. _this.whitespace$0();
  34358. } while (_this.scanIdentifier$1("and"));
  34359. if (type == null)
  34360. return new F.CssMediaQuery(_null, _null, P.List_List$unmodifiable(features, t2));
  34361. else
  34362. return F.CssMediaQuery$(type, features, modifier);
  34363. }
  34364. };
  34365. F.MediaQueryParser_parse_closure.prototype = {
  34366. call$0: function() {
  34367. var queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]),
  34368. t1 = this.$this,
  34369. t2 = t1.scanner;
  34370. do {
  34371. t1.whitespace$0();
  34372. queries.push(t1._mediaQuery$0());
  34373. } while (t2.scanChar$1(44));
  34374. t2.expectDone$0();
  34375. return queries;
  34376. }
  34377. };
  34378. G.Parser.prototype = {
  34379. _parseIdentifier$0: function() {
  34380. return this.wrapSpanFormatException$1(new G.Parser__parseIdentifier_closure(this));
  34381. },
  34382. _isVariableDeclarationLike$0: function() {
  34383. var _this = this,
  34384. t1 = _this.scanner;
  34385. if (!t1.scanChar$1(36))
  34386. return false;
  34387. if (!_this.lookingAtIdentifier$0())
  34388. return false;
  34389. _this.identifier$0();
  34390. _this.whitespace$0();
  34391. return t1.scanChar$1(58);
  34392. },
  34393. whitespace$0: function() {
  34394. do
  34395. this.whitespaceWithoutComments$0();
  34396. while (this.scanComment$0());
  34397. },
  34398. whitespaceWithoutComments$0: function() {
  34399. var t3,
  34400. t1 = this.scanner,
  34401. t2 = t1.string.length;
  34402. while (true) {
  34403. if (t1._string_scanner$_position !== t2) {
  34404. t3 = t1.peekChar$0();
  34405. t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12;
  34406. } else
  34407. t3 = false;
  34408. if (!t3)
  34409. break;
  34410. t1.readChar$0();
  34411. }
  34412. },
  34413. spaces$0: function() {
  34414. var t3,
  34415. t1 = this.scanner,
  34416. t2 = t1.string.length;
  34417. while (true) {
  34418. if (t1._string_scanner$_position !== t2) {
  34419. t3 = t1.peekChar$0();
  34420. t3 = t3 === 32 || t3 === 9;
  34421. } else
  34422. t3 = false;
  34423. if (!t3)
  34424. break;
  34425. t1.readChar$0();
  34426. }
  34427. },
  34428. scanComment$0: function() {
  34429. var next,
  34430. t1 = this.scanner;
  34431. if (t1.peekChar$0() !== 47)
  34432. return false;
  34433. next = t1.peekChar$1(1);
  34434. if (next === 47) {
  34435. this.silentComment$0();
  34436. return true;
  34437. } else if (next === 42) {
  34438. this.loudComment$0();
  34439. return true;
  34440. } else
  34441. return false;
  34442. },
  34443. silentComment$0: function() {
  34444. var t2, t3,
  34445. t1 = this.scanner;
  34446. t1.expect$1("//");
  34447. t2 = t1.string.length;
  34448. while (true) {
  34449. if (t1._string_scanner$_position !== t2) {
  34450. t3 = t1.peekChar$0();
  34451. t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
  34452. } else
  34453. t3 = false;
  34454. if (!t3)
  34455. break;
  34456. t1.readChar$0();
  34457. }
  34458. },
  34459. loudComment$0: function() {
  34460. var next,
  34461. t1 = this.scanner;
  34462. t1.expect$1("/*");
  34463. for (; true;) {
  34464. if (t1.readChar$0() !== 42)
  34465. continue;
  34466. do
  34467. next = t1.readChar$0();
  34468. while (next === 42);
  34469. if (next === 47)
  34470. break;
  34471. }
  34472. },
  34473. identifier$2$normalize$unit: function(normalize, unit) {
  34474. var t2, first, _this = this,
  34475. _s20_ = "Expected identifier.",
  34476. text = new P.StringBuffer(""),
  34477. t1 = _this.scanner;
  34478. if (t1.scanChar$1(45)) {
  34479. t2 = text._contents = H.Primitives_stringFromCharCode(45);
  34480. if (t1.scanChar$1(45)) {
  34481. text._contents = t2 + H.Primitives_stringFromCharCode(45);
  34482. _this._identifierBody$3$normalize$unit(text, normalize, unit);
  34483. t1 = text._contents;
  34484. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34485. }
  34486. } else
  34487. t2 = "";
  34488. first = t1.peekChar$0();
  34489. if (first == null)
  34490. t1.error$1(_s20_);
  34491. else if (normalize && first === 95) {
  34492. t1.readChar$0();
  34493. text._contents = t2 + H.Primitives_stringFromCharCode(45);
  34494. } else if (first === 95 || T.isAlphabetic0(first) || first >= 128)
  34495. text._contents = t2 + H.Primitives_stringFromCharCode(t1.readChar$0());
  34496. else if (first === 92)
  34497. text._contents = t2 + H.S(_this.escape$1$identifierStart(true));
  34498. else
  34499. t1.error$1(_s20_);
  34500. _this._identifierBody$3$normalize$unit(text, normalize, unit);
  34501. t1 = text._contents;
  34502. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34503. },
  34504. identifier$0: function() {
  34505. return this.identifier$2$normalize$unit(false, false);
  34506. },
  34507. identifier$1$normalize: function(normalize) {
  34508. return this.identifier$2$normalize$unit(normalize, false);
  34509. },
  34510. identifier$1$unit: function(unit) {
  34511. return this.identifier$2$normalize$unit(false, unit);
  34512. },
  34513. _identifierBody$3$normalize$unit: function(text, normalize, unit) {
  34514. var t1, next, second, t2;
  34515. for (t1 = this.scanner; true;) {
  34516. next = t1.peekChar$0();
  34517. if (next == null)
  34518. break;
  34519. else if (unit && next === 45) {
  34520. second = t1.peekChar$1(1);
  34521. if (second != null)
  34522. if (second !== 46)
  34523. t2 = second >= 48 && second <= 57;
  34524. else
  34525. t2 = true;
  34526. else
  34527. t2 = false;
  34528. if (t2)
  34529. break;
  34530. text._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34531. } else if (normalize && next === 95) {
  34532. t1.readChar$0();
  34533. text._contents += H.Primitives_stringFromCharCode(45);
  34534. } else {
  34535. if (next !== 95) {
  34536. if (!(next >= 97 && next <= 122))
  34537. t2 = next >= 65 && next <= 90;
  34538. else
  34539. t2 = true;
  34540. t2 = t2 || next >= 128;
  34541. } else
  34542. t2 = true;
  34543. if (!t2) {
  34544. t2 = next >= 48 && next <= 57;
  34545. t2 = t2 || next === 45;
  34546. } else
  34547. t2 = true;
  34548. if (t2)
  34549. text._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34550. else if (next === 92)
  34551. text._contents += H.S(this.escape$0());
  34552. else
  34553. break;
  34554. }
  34555. }
  34556. },
  34557. _identifierBody$1: function(text) {
  34558. return this._identifierBody$3$normalize$unit(text, false, false);
  34559. },
  34560. string$0: function() {
  34561. var t2, buffer, next,
  34562. t1 = this.scanner,
  34563. quote = t1.readChar$0();
  34564. if (quote !== 39 && quote !== 34) {
  34565. t2 = t1._string_scanner$_position;
  34566. t1.error$2$position("Expected string.", t2 - 1);
  34567. }
  34568. buffer = new P.StringBuffer("");
  34569. for (; true;) {
  34570. next = t1.peekChar$0();
  34571. if (next === quote) {
  34572. t1.readChar$0();
  34573. break;
  34574. } else if (next == null || next === 10 || next === 13 || next === 12)
  34575. t1.error$1("Expected " + H.Primitives_stringFromCharCode(quote) + ".");
  34576. else if (next === 92) {
  34577. t2 = t1.peekChar$1(1);
  34578. if (t2 === 10 || t2 === 13 || t2 === 12) {
  34579. t1.readChar$0();
  34580. t1.readChar$0();
  34581. } else
  34582. buffer._contents += H.Primitives_stringFromCharCode(this.escapeCharacter$0());
  34583. } else
  34584. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34585. }
  34586. t1 = buffer._contents;
  34587. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34588. },
  34589. naturalNumber$0: function() {
  34590. var number, t2,
  34591. t1 = this.scanner,
  34592. first = t1.readChar$0();
  34593. if (!T.isDigit(first))
  34594. t1.error$2$position("Expected digit.", t1._string_scanner$_position - 1);
  34595. number = first - 48;
  34596. while (true) {
  34597. t2 = t1.peekChar$0();
  34598. if (!(t2 != null && t2 >= 48 && t2 <= 57))
  34599. break;
  34600. number = number * 10 + (t1.readChar$0() - 48);
  34601. }
  34602. return number;
  34603. },
  34604. declarationValue$1$allowEmpty: function(allowEmpty) {
  34605. var t1, t2, wroteNewline, next, start, end, t3, url, _this = this,
  34606. buffer = new P.StringBuffer(""),
  34607. brackets = H.setRuntimeTypeInfo([], [P.int]);
  34608. $label0$1:
  34609. for (t1 = _this.scanner, t2 = _this.get$string(), wroteNewline = false; true;) {
  34610. next = t1.peekChar$0();
  34611. switch (next) {
  34612. case 92:
  34613. buffer._contents += H.S(_this.escape$1$identifierStart(true));
  34614. wroteNewline = false;
  34615. break;
  34616. case 34:
  34617. case 39:
  34618. start = t1._string_scanner$_position;
  34619. t2.call$0();
  34620. end = t1._string_scanner$_position;
  34621. buffer._contents += J.substring$2$s(t1.string, start, end);
  34622. wroteNewline = false;
  34623. break;
  34624. case 47:
  34625. if (t1.peekChar$1(1) === 42) {
  34626. t3 = _this.get$loudComment();
  34627. start = t1._string_scanner$_position;
  34628. t3.call$0();
  34629. end = t1._string_scanner$_position;
  34630. buffer._contents += J.substring$2$s(t1.string, start, end);
  34631. } else
  34632. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34633. wroteNewline = false;
  34634. break;
  34635. case 32:
  34636. case 9:
  34637. if (!wroteNewline) {
  34638. t3 = t1.peekChar$1(1);
  34639. t3 = !(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12);
  34640. } else
  34641. t3 = true;
  34642. if (t3)
  34643. buffer._contents += H.Primitives_stringFromCharCode(32);
  34644. t1.readChar$0();
  34645. break;
  34646. case 10:
  34647. case 13:
  34648. case 12:
  34649. t3 = t1.peekChar$1(-1);
  34650. if (!(t3 === 10 || t3 === 13 || t3 === 12))
  34651. buffer._contents += "\n";
  34652. t1.readChar$0();
  34653. wroteNewline = true;
  34654. break;
  34655. case 40:
  34656. case 123:
  34657. case 91:
  34658. buffer._contents += H.Primitives_stringFromCharCode(next);
  34659. brackets.push(T.opposite(t1.readChar$0()));
  34660. wroteNewline = false;
  34661. break;
  34662. case 41:
  34663. case 125:
  34664. case 93:
  34665. if (brackets.length === 0)
  34666. break $label0$1;
  34667. buffer._contents += H.Primitives_stringFromCharCode(next);
  34668. t1.expectChar$1(brackets.pop());
  34669. wroteNewline = false;
  34670. break;
  34671. case 59:
  34672. if (brackets.length === 0)
  34673. break $label0$1;
  34674. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34675. break;
  34676. case 117:
  34677. case 85:
  34678. url = _this.tryUrl$0();
  34679. if (url != null)
  34680. buffer._contents += url;
  34681. else
  34682. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34683. wroteNewline = false;
  34684. break;
  34685. default:
  34686. if (next == null)
  34687. break $label0$1;
  34688. if (_this.lookingAtIdentifier$0())
  34689. buffer._contents += _this.identifier$0();
  34690. else
  34691. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34692. wroteNewline = false;
  34693. break;
  34694. }
  34695. }
  34696. if (brackets.length !== 0)
  34697. t1.expectChar$1(C.JSArray_methods.get$last(brackets));
  34698. if (!allowEmpty && buffer._contents.length === 0)
  34699. t1.error$1("Expected token.");
  34700. t1 = buffer._contents;
  34701. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34702. },
  34703. declarationValue$0: function() {
  34704. return this.declarationValue$1$allowEmpty(false);
  34705. },
  34706. tryUrl$0: function() {
  34707. var buffer, next, t2, _this = this,
  34708. t1 = _this.scanner,
  34709. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34710. if (!_this.scanIdentifier$1("url"))
  34711. return;
  34712. if (!t1.scanChar$1(40)) {
  34713. t1.set$state(start);
  34714. return;
  34715. }
  34716. _this.whitespace$0();
  34717. buffer = new P.StringBuffer("");
  34718. buffer._contents = "url(";
  34719. for (; true;) {
  34720. next = t1.peekChar$0();
  34721. if (next == null)
  34722. break;
  34723. else {
  34724. if (next !== 37)
  34725. if (next !== 38)
  34726. if (next !== 35)
  34727. t2 = next >= 42 && next <= 126 || next >= 128;
  34728. else
  34729. t2 = true;
  34730. else
  34731. t2 = true;
  34732. else
  34733. t2 = true;
  34734. if (t2)
  34735. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34736. else if (next === 92)
  34737. buffer._contents += H.S(_this.escape$0());
  34738. else if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12) {
  34739. _this.whitespace$0();
  34740. if (t1.peekChar$0() !== 41)
  34741. break;
  34742. } else if (next === 41) {
  34743. t2 = buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34744. return t2.charCodeAt(0) == 0 ? t2 : t2;
  34745. } else
  34746. break;
  34747. }
  34748. }
  34749. t1.set$state(start);
  34750. return;
  34751. },
  34752. variableName$0: function() {
  34753. this.scanner.expectChar$1(36);
  34754. return this.identifier$1$normalize(true);
  34755. },
  34756. escape$1$identifierStart: function(identifierStart) {
  34757. var first, value, i, next,
  34758. t1 = this.scanner;
  34759. t1.expectChar$1(92);
  34760. first = t1.peekChar$0();
  34761. if (first == null)
  34762. return "";
  34763. else if (T.isNewline(first)) {
  34764. t1.error$1("Expected escape sequence.");
  34765. value = 0;
  34766. } else if (T.isHex(first)) {
  34767. for (value = 0, i = 0; i < 6; ++i) {
  34768. next = t1.peekChar$0();
  34769. if (next == null || !T.isHex(next))
  34770. break;
  34771. value = value * 16 + T.asHex(t1.readChar$0());
  34772. }
  34773. this.scanCharIf$1(T.character__isWhitespace$closure());
  34774. } else
  34775. value = t1.readChar$0();
  34776. if (identifierStart)
  34777. t1 = value === 95 || T.isAlphabetic0(value) || value >= 128;
  34778. else
  34779. t1 = value === 95 || T.isAlphabetic0(value) || value >= 128 || T.isDigit(value) || value === 45;
  34780. if (t1)
  34781. return H.Primitives_stringFromCharCode(value);
  34782. else {
  34783. if (value > 31)
  34784. if (value !== 127)
  34785. t1 = identifierStart && T.isDigit(value);
  34786. else
  34787. t1 = true;
  34788. else
  34789. t1 = true;
  34790. if (t1) {
  34791. t1 = H.Primitives_stringFromCharCode(92);
  34792. if (value > 15)
  34793. t1 += H.Primitives_stringFromCharCode(T.hexCharFor(C.JSInt_methods._shrOtherPositive$1(value, 4)));
  34794. t1 = t1 + H.Primitives_stringFromCharCode(T.hexCharFor(value & 15)) + H.Primitives_stringFromCharCode(32);
  34795. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34796. } else
  34797. return P.String_String$fromCharCodes(H.setRuntimeTypeInfo([92, value], [P.int]), 0, null);
  34798. }
  34799. },
  34800. escape$0: function() {
  34801. return this.escape$1$identifierStart(false);
  34802. },
  34803. escapeCharacter$0: function() {
  34804. var first, value, i, next, t2,
  34805. t1 = this.scanner;
  34806. t1.expectChar$1(92);
  34807. first = t1.peekChar$0();
  34808. if (first == null)
  34809. return 65533;
  34810. else if (T.isNewline(first))
  34811. t1.error$1("Expected escape sequence.");
  34812. else if (T.isHex(first)) {
  34813. for (value = 0, i = 0; i < 6; ++i) {
  34814. next = t1.peekChar$0();
  34815. if (next == null || !T.isHex(next))
  34816. break;
  34817. value = (value << 4 >>> 0) + T.asHex(t1.readChar$0());
  34818. }
  34819. t2 = t1.peekChar$0();
  34820. if (t2 === 32 || t2 === 9 || T.isNewline(t2))
  34821. t1.readChar$0();
  34822. if (value !== 0)
  34823. t1 = value >= 55296 && value <= 57343 || value >= 1114111;
  34824. else
  34825. t1 = true;
  34826. if (t1)
  34827. return 65533;
  34828. else
  34829. return value;
  34830. } else
  34831. return t1.readChar$0();
  34832. },
  34833. scanCharIf$1: function(condition) {
  34834. var t1 = this.scanner;
  34835. if (!condition.call$1(t1.peekChar$0()))
  34836. return false;
  34837. t1.readChar$0();
  34838. return true;
  34839. },
  34840. scanCharIgnoreCase$1: function(letter) {
  34841. var t1 = this.scanner;
  34842. if ((t1.peekChar$0() | 32) !== letter)
  34843. return false;
  34844. t1.readChar$0();
  34845. return true;
  34846. },
  34847. expectCharIgnoreCase$1: function(letter) {
  34848. var t2, t3,
  34849. t1 = this.scanner;
  34850. if ((t1.readChar$0() | 32) === letter)
  34851. return;
  34852. t2 = 'Expected "' + H.Primitives_stringFromCharCode(letter) + '".';
  34853. t3 = t1._string_scanner$_position;
  34854. t1.error$2$position(t2, t3 - 1);
  34855. },
  34856. lookingAtNumber$0: function() {
  34857. var second, third,
  34858. t1 = this.scanner,
  34859. first = t1.peekChar$0();
  34860. if (first == null)
  34861. return false;
  34862. if (T.isDigit(first))
  34863. return true;
  34864. if (first === 46) {
  34865. second = t1.peekChar$1(1);
  34866. return second != null && T.isDigit(second);
  34867. } else if (first === 43 || first === 45) {
  34868. second = t1.peekChar$1(1);
  34869. if (second == null)
  34870. return false;
  34871. if (T.isDigit(second))
  34872. return true;
  34873. if (second !== 46)
  34874. return false;
  34875. third = t1.peekChar$1(2);
  34876. return third != null && T.isDigit(third);
  34877. } else
  34878. return false;
  34879. },
  34880. lookingAtIdentifier$1: function($forward) {
  34881. var t1, first, second;
  34882. if ($forward == null)
  34883. $forward = 0;
  34884. t1 = this.scanner;
  34885. first = t1.peekChar$1($forward);
  34886. if (first == null)
  34887. return false;
  34888. if (first === 95 || T.isAlphabetic0(first) || first >= 128 || first === 92)
  34889. return true;
  34890. if (first !== 45)
  34891. return false;
  34892. second = t1.peekChar$1($forward + 1);
  34893. if (second == null)
  34894. return false;
  34895. return second === 95 || T.isAlphabetic0(second) || second >= 128 || second === 92 || second === 45;
  34896. },
  34897. lookingAtIdentifier$0: function() {
  34898. return this.lookingAtIdentifier$1(null);
  34899. },
  34900. lookingAtIdentifierBody$0: function() {
  34901. var t1,
  34902. next = this.scanner.peekChar$0();
  34903. if (next != null)
  34904. t1 = next === 95 || T.isAlphabetic0(next) || next >= 128 || T.isDigit(next) || next === 45 || next === 92;
  34905. else
  34906. t1 = false;
  34907. return t1;
  34908. },
  34909. scanIdentifier$1: function(text) {
  34910. var t1, start, t2, i, _this = this;
  34911. if (!_this.lookingAtIdentifier$0())
  34912. return false;
  34913. t1 = _this.scanner;
  34914. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34915. for (t2 = text.length, i = 0; i < t2; ++i) {
  34916. if (_this.scanCharIgnoreCase$1(C.JSString_methods._codeUnitAt$1(text, i)))
  34917. continue;
  34918. if (start._scanner !== t1)
  34919. H.throwExpression(P.ArgumentError$("The given LineScannerState was not returned by this LineScanner."));
  34920. t2 = start.position;
  34921. if (t2 < 0 || t2 > t1.string.length)
  34922. H.throwExpression(P.ArgumentError$("Invalid position " + t2));
  34923. t1._string_scanner$_position = t2;
  34924. t1._lastMatch = null;
  34925. return false;
  34926. }
  34927. if (!_this.lookingAtIdentifierBody$0())
  34928. return true;
  34929. t1.set$state(start);
  34930. return false;
  34931. },
  34932. expectIdentifier$2$name: function(text, $name) {
  34933. var t1, start, t2, i;
  34934. if ($name == null)
  34935. $name = '"' + text + '"';
  34936. t1 = this.scanner;
  34937. start = t1._string_scanner$_position;
  34938. for (t2 = text.length, i = 0; i < t2; ++i) {
  34939. if (this.scanCharIgnoreCase$1(C.JSString_methods._codeUnitAt$1(text, i)))
  34940. continue;
  34941. t1.error$2$position("Expected " + $name + ".", start);
  34942. }
  34943. if (!this.lookingAtIdentifierBody$0())
  34944. return;
  34945. t1.error$2$position("Expected " + $name, start);
  34946. },
  34947. expectIdentifier$1: function(text) {
  34948. return this.expectIdentifier$2$name(text, null);
  34949. },
  34950. rawText$1: function(consumer) {
  34951. var t1 = this.scanner,
  34952. start = t1._string_scanner$_position;
  34953. consumer.call$0();
  34954. return t1.substring$1(0, start);
  34955. },
  34956. error$2: function(message, span) {
  34957. return H.throwExpression(E.StringScannerException$(message, span, this.scanner.string));
  34958. },
  34959. withErrorMessage$1$2: function(message, callback) {
  34960. var error, t1, exception;
  34961. try {
  34962. t1 = callback.call$0();
  34963. return t1;
  34964. } catch (exception) {
  34965. t1 = H.unwrapException(exception);
  34966. if (t1 instanceof G.SourceSpanFormatException) {
  34967. error = t1;
  34968. throw H.wrapException(G.SourceSpanFormatException$(message, error._span, error.get$source()));
  34969. } else
  34970. throw exception;
  34971. }
  34972. },
  34973. withErrorMessage$2: function(message, callback) {
  34974. return this.withErrorMessage$1$2(message, callback, null);
  34975. },
  34976. wrapSpanFormatException$1$1: function(callback) {
  34977. var error, span, startPosition, t1, exception;
  34978. try {
  34979. t1 = callback.call$0();
  34980. return t1;
  34981. } catch (exception) {
  34982. t1 = H.unwrapException(exception);
  34983. if (t1 instanceof G.SourceSpanFormatException) {
  34984. error = t1;
  34985. span = error._span;
  34986. if (B.startsWithIgnoreCase(error._span_exception$_message, "expected")) {
  34987. t1 = span;
  34988. t1 = t1._file$_end - t1._start === 0;
  34989. } else
  34990. t1 = false;
  34991. if (t1) {
  34992. t1 = span;
  34993. startPosition = this._firstNewlineBefore$1(Y.FileLocation$_(t1.file, t1._start).offset);
  34994. t1 = span;
  34995. if (!J.$eq$(startPosition, Y.FileLocation$_(t1.file, t1._start).offset))
  34996. span = span.file.span$2(startPosition, startPosition);
  34997. }
  34998. throw H.wrapException(E.SassFormatException$(error._span_exception$_message, span));
  34999. } else
  35000. throw exception;
  35001. }
  35002. },
  35003. wrapSpanFormatException$1: function(callback) {
  35004. return this.wrapSpanFormatException$1$1(callback, null);
  35005. },
  35006. _firstNewlineBefore$1: function(position) {
  35007. var t1, t2, lastNewline, codeUnit,
  35008. index = position - 1;
  35009. for (t1 = this.scanner.string, t2 = J.getInterceptor$s(t1), lastNewline = null; index >= 0;) {
  35010. codeUnit = t2.codeUnitAt$1(t1, index);
  35011. if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12))
  35012. return lastNewline == null ? position : lastNewline;
  35013. if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12)
  35014. lastNewline = index;
  35015. --index;
  35016. }
  35017. return position;
  35018. }
  35019. };
  35020. G.Parser__parseIdentifier_closure.prototype = {
  35021. call$0: function() {
  35022. var t1 = this.$this,
  35023. result = t1.identifier$0();
  35024. t1.scanner.expectDone$0();
  35025. return result;
  35026. }
  35027. };
  35028. U.SassParser.prototype = {
  35029. get$currentIndentation: function() {
  35030. return this._currentIndentation;
  35031. },
  35032. get$indented: function() {
  35033. return true;
  35034. },
  35035. styleRuleSelector$0: function() {
  35036. var t4,
  35037. t1 = this.scanner,
  35038. t2 = t1._string_scanner$_position,
  35039. t3 = new P.StringBuffer(""),
  35040. buffer = new Z.InterpolationBuffer(t3, []);
  35041. do {
  35042. buffer.addInterpolation$1(this.almostAnyValue$0());
  35043. t4 = t3._contents += H.Primitives_stringFromCharCode(10);
  35044. } while (C.JSString_methods.endsWith$1(C.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), ",") && this.scanCharIf$1(T.character__isNewline$closure()));
  35045. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  35046. },
  35047. expectStatementSeparator$1: function($name) {
  35048. var _this = this;
  35049. if (!_this.atEndOfStatement$0())
  35050. _this._expectNewline$0();
  35051. if (_this._peekIndentation$0() <= _this._currentIndentation)
  35052. return;
  35053. _this.scanner.error$2$position("Nothing may be indented " + ($name == null ? "here" : "beneath a " + $name) + ".", _this._nextIndentationEnd.position);
  35054. },
  35055. expectStatementSeparator$0: function() {
  35056. return this.expectStatementSeparator$1(null);
  35057. },
  35058. atEndOfStatement$0: function() {
  35059. var next = this.scanner.peekChar$0();
  35060. return next == null || T.isNewline(next);
  35061. },
  35062. lookingAtChildren$0: function() {
  35063. return this.atEndOfStatement$0() && this._peekIndentation$0() > this._currentIndentation;
  35064. },
  35065. importArgument$0: function() {
  35066. var url, span, innerError, start, next, t2, exception, _this = this,
  35067. t1 = _this.scanner;
  35068. switch (t1.peekChar$0()) {
  35069. case 117:
  35070. case 85:
  35071. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35072. if (_this.scanIdentifier$1("url"))
  35073. if (t1.scanChar$1(40)) {
  35074. t1.set$state(start);
  35075. return _this.super$StylesheetParser$importArgument();
  35076. } else
  35077. t1.set$state(start);
  35078. break;
  35079. case 39:
  35080. case 34:
  35081. return _this.super$StylesheetParser$importArgument();
  35082. }
  35083. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35084. next = t1.peekChar$0();
  35085. while (true) {
  35086. if (next != null)
  35087. if (next !== 44)
  35088. if (next !== 59)
  35089. t2 = !(next === 10 || next === 13 || next === 12);
  35090. else
  35091. t2 = false;
  35092. else
  35093. t2 = false;
  35094. else
  35095. t2 = false;
  35096. if (!t2)
  35097. break;
  35098. t1.readChar$0();
  35099. next = t1.peekChar$0();
  35100. }
  35101. url = t1.substring$1(0, start.position);
  35102. span = t1.spanFrom$1(start);
  35103. if (_this.isPlainImportUrl$1(url))
  35104. return new Q.StaticImport(X.Interpolation$(H.setRuntimeTypeInfo([N.serializeValue(new D.SassString(url, true), true, true)], [P.Object]), span), null, null, span);
  35105. else
  35106. try {
  35107. t1 = _this.parseImportUrl$1(url);
  35108. return new B.DynamicImport(t1, span);
  35109. } catch (exception) {
  35110. t1 = H.unwrapException(exception);
  35111. if (!!J.getInterceptor$(t1).$isFormatException) {
  35112. innerError = t1;
  35113. _this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), span);
  35114. } else
  35115. throw exception;
  35116. }
  35117. },
  35118. scanElse$1: function(ifIndentation) {
  35119. var t1, t2, startIndentation, startNextIndentation, startNextIndentationEnd, _this = this;
  35120. if (_this._peekIndentation$0() != ifIndentation)
  35121. return false;
  35122. t1 = _this.scanner;
  35123. t2 = t1._string_scanner$_position;
  35124. startIndentation = _this._currentIndentation;
  35125. startNextIndentation = _this._nextIndentation;
  35126. startNextIndentationEnd = _this._nextIndentationEnd;
  35127. _this._readIndentation$0();
  35128. if (t1.scanChar$1(64) && _this.scanIdentifier$1("else"))
  35129. return true;
  35130. t1.set$state(new S._SpanScannerState(t1, t2));
  35131. _this._currentIndentation = startIndentation;
  35132. _this._nextIndentation = startNextIndentation;
  35133. _this._nextIndentationEnd = startNextIndentationEnd;
  35134. return false;
  35135. },
  35136. children$1: function(child) {
  35137. var children = H.setRuntimeTypeInfo([], [O.Statement]);
  35138. this._whileIndentedLower$1(new U.SassParser_children_closure(this, children, child));
  35139. return children;
  35140. },
  35141. statements$1: function(statement) {
  35142. var statements, t2, child,
  35143. t1 = this.scanner,
  35144. first = t1.peekChar$0();
  35145. if (first === 9 || first === 32)
  35146. t1.error$3$length$position("Indenting at the beginning of the document is illegal.", t1._string_scanner$_position, 0);
  35147. statements = H.setRuntimeTypeInfo([], [O.Statement]);
  35148. for (t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
  35149. child = this._child$1(statement);
  35150. if (child != null)
  35151. statements.push(child);
  35152. this._readIndentation$0();
  35153. }
  35154. return statements;
  35155. },
  35156. _child$1: function(child) {
  35157. var _this = this,
  35158. t1 = _this.scanner;
  35159. switch (t1.peekChar$0()) {
  35160. case 13:
  35161. case 10:
  35162. case 12:
  35163. return;
  35164. case 36:
  35165. return _this.variableDeclarationWithoutNamespace$0();
  35166. case 47:
  35167. switch (t1.peekChar$1(1)) {
  35168. case 47:
  35169. return _this._silentComment$0();
  35170. case 42:
  35171. return _this._loudComment$0();
  35172. default:
  35173. return child.call$0();
  35174. }
  35175. default:
  35176. return child.call$0();
  35177. }
  35178. },
  35179. _silentComment$0: function() {
  35180. var buffer, parentIndentation, t3, commentPrefix, i, t4, i0, t5, t6, _this = this,
  35181. t1 = _this.scanner,
  35182. t2 = t1._string_scanner$_position;
  35183. t1.expect$1("//");
  35184. buffer = new P.StringBuffer("");
  35185. parentIndentation = _this._currentIndentation;
  35186. t3 = t1.string;
  35187. $label0$0:
  35188. do {
  35189. commentPrefix = t1.scanChar$1(47) ? "///" : "//";
  35190. for (i = commentPrefix.length; true;) {
  35191. t4 = buffer._contents += commentPrefix;
  35192. for (i0 = i; i0 < _this._currentIndentation - parentIndentation; ++i0) {
  35193. t4 += H.Primitives_stringFromCharCode(32);
  35194. buffer._contents = t4;
  35195. }
  35196. t5 = t3.length;
  35197. while (true) {
  35198. if (t1._string_scanner$_position !== t5) {
  35199. t6 = t1.peekChar$0();
  35200. t6 = !(t6 === 10 || t6 === 13 || t6 === 12);
  35201. } else
  35202. t6 = false;
  35203. if (!t6)
  35204. break;
  35205. t4 += H.Primitives_stringFromCharCode(t1.readChar$0());
  35206. buffer._contents = t4;
  35207. }
  35208. buffer._contents = t4 + "\n";
  35209. if (_this._peekIndentation$0() < parentIndentation)
  35210. break $label0$0;
  35211. if (_this._peekIndentation$0() === parentIndentation) {
  35212. if (t1.peekChar$1(1 + parentIndentation) === 47 && t1.peekChar$1(2 + parentIndentation) === 47)
  35213. _this._readIndentation$0();
  35214. break;
  35215. }
  35216. _this._readIndentation$0();
  35217. }
  35218. } while (t1.scan$1("//"));
  35219. t3 = buffer._contents;
  35220. return _this.lastSilentComment = new B.SilentComment(t3.charCodeAt(0) == 0 ? t3 : t3, t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  35221. },
  35222. _loudComment$0: function() {
  35223. var t3, t4, buffer, parentIndentation, t5, first, beginningOfComment, t6, end, i, t7, _this = this,
  35224. t1 = _this.scanner,
  35225. t2 = t1._string_scanner$_position;
  35226. t1.expect$1("/*");
  35227. t3 = new P.StringBuffer("");
  35228. t4 = [];
  35229. buffer = new Z.InterpolationBuffer(t3, t4);
  35230. t3._contents = "/*";
  35231. parentIndentation = _this._currentIndentation;
  35232. for (t5 = t1.string, first = true; true; first = false) {
  35233. if (first) {
  35234. beginningOfComment = t1._string_scanner$_position;
  35235. _this.spaces$0();
  35236. t6 = t1.peekChar$0();
  35237. if (t6 === 10 || t6 === 13 || t6 === 12) {
  35238. _this._readIndentation$0();
  35239. t3._contents += H.Primitives_stringFromCharCode(32);
  35240. } else {
  35241. end = t1._string_scanner$_position;
  35242. t3._contents += J.substring$2$s(t5, beginningOfComment, end);
  35243. }
  35244. } else {
  35245. t6 = t3._contents += "\n";
  35246. t3._contents = t6 + " * ";
  35247. }
  35248. for (i = 3; i < _this._currentIndentation - parentIndentation; ++i)
  35249. t3._contents += H.Primitives_stringFromCharCode(32);
  35250. $label0$1:
  35251. for (t6 = t5.length; t1._string_scanner$_position !== t6;)
  35252. switch (t1.peekChar$0()) {
  35253. case 10:
  35254. case 13:
  35255. case 12:
  35256. break $label0$1;
  35257. case 35:
  35258. if (t1.peekChar$1(1) === 123) {
  35259. t7 = _this.singleInterpolation$0();
  35260. buffer._flushText$0();
  35261. t4.push(t7);
  35262. } else
  35263. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35264. break;
  35265. default:
  35266. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35267. break;
  35268. }
  35269. if (_this._peekIndentation$0() <= parentIndentation)
  35270. break;
  35271. for (; _this._lookingAtDoubleNewline$0();) {
  35272. _this._expectNewline$0();
  35273. t6 = t3._contents += "\n";
  35274. t3._contents = t6 + " *";
  35275. }
  35276. _this._readIndentation$0();
  35277. }
  35278. t4 = t3._contents;
  35279. if (!C.JSString_methods.endsWith$1(C.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), "*/"))
  35280. t3._contents += " */";
  35281. return new L.LoudComment(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))));
  35282. },
  35283. whitespaceWithoutComments$0: function() {
  35284. var t1, t2, next;
  35285. for (t1 = this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
  35286. next = t1.peekChar$0();
  35287. if (next !== 9 && next !== 32)
  35288. break;
  35289. t1.readChar$0();
  35290. }
  35291. },
  35292. loudComment$0: function() {
  35293. var next,
  35294. t1 = this.scanner;
  35295. t1.expect$1("/*");
  35296. for (; true;) {
  35297. next = t1.readChar$0();
  35298. if (next === 10 || next === 13 || next === 12)
  35299. t1.error$1("expected */.");
  35300. if (next !== 42)
  35301. continue;
  35302. do
  35303. next = t1.readChar$0();
  35304. while (next === 42);
  35305. if (next === 47)
  35306. break;
  35307. }
  35308. },
  35309. _expectNewline$0: function() {
  35310. var t1 = this.scanner;
  35311. switch (t1.peekChar$0()) {
  35312. case 59:
  35313. t1.error$1("semicolons aren't allowed in the indented syntax.");
  35314. break;
  35315. case 13:
  35316. t1.readChar$0();
  35317. if (t1.peekChar$0() === 10)
  35318. t1.readChar$0();
  35319. return;
  35320. case 10:
  35321. case 12:
  35322. t1.readChar$0();
  35323. return;
  35324. default:
  35325. t1.error$1("expected newline.");
  35326. }
  35327. },
  35328. _lookingAtDoubleNewline$0: function() {
  35329. var nextChar,
  35330. t1 = this.scanner;
  35331. switch (t1.peekChar$0()) {
  35332. case 13:
  35333. nextChar = t1.peekChar$1(1);
  35334. if (nextChar === 10)
  35335. return T.isNewline(t1.peekChar$1(2));
  35336. return nextChar === 13 || nextChar === 12;
  35337. case 10:
  35338. case 12:
  35339. return T.isNewline(t1.peekChar$1(1));
  35340. default:
  35341. return false;
  35342. }
  35343. },
  35344. _whileIndentedLower$1: function(body) {
  35345. var t1, t2, childIndentation, indentation, t3, t4, t5, _this = this,
  35346. parentIndentation = _this._currentIndentation;
  35347. for (t1 = _this.scanner, t2 = t1._sourceFile, childIndentation = null; _this._peekIndentation$0() > parentIndentation;) {
  35348. indentation = _this._readIndentation$0();
  35349. if (childIndentation == null)
  35350. childIndentation = indentation;
  35351. if (childIndentation != indentation) {
  35352. t3 = "Inconsistent indentation, expected " + H.S(childIndentation) + " spaces.";
  35353. t4 = t1._string_scanner$_position;
  35354. t5 = t2.getColumn$1(t4);
  35355. t1.error$3$length$position(t3, t2.getColumn$1(t1._string_scanner$_position), t4 - t5);
  35356. }
  35357. body.call$0();
  35358. }
  35359. },
  35360. _readIndentation$0: function() {
  35361. var _this = this;
  35362. if (_this._nextIndentation == null)
  35363. _this._peekIndentation$0();
  35364. _this._currentIndentation = _this._nextIndentation;
  35365. _this.scanner.set$state(_this._nextIndentationEnd);
  35366. _this._nextIndentationEnd = _this._nextIndentation = null;
  35367. return _this._currentIndentation;
  35368. },
  35369. _peekIndentation$0: function() {
  35370. var t2, t3, start, containsTab, containsSpace, next, t4, _this = this,
  35371. t1 = _this._nextIndentation;
  35372. if (t1 != null)
  35373. return t1;
  35374. t1 = _this.scanner;
  35375. t2 = t1._string_scanner$_position;
  35376. t3 = t1.string.length;
  35377. if (t2 === t3) {
  35378. _this._nextIndentation = 0;
  35379. _this._nextIndentationEnd = new S._SpanScannerState(t1, t2);
  35380. return 0;
  35381. }
  35382. start = new S._SpanScannerState(t1, t2);
  35383. if (!_this.scanCharIf$1(T.character__isNewline$closure()))
  35384. t1.error$2$position("Expected newline.", t1._string_scanner$_position);
  35385. do {
  35386. _this._nextIndentation = 0;
  35387. for (containsTab = false, containsSpace = false; true;) {
  35388. next = t1.peekChar$0();
  35389. if (next === 32)
  35390. containsSpace = true;
  35391. else {
  35392. if (next !== 9)
  35393. break;
  35394. containsTab = true;
  35395. }
  35396. _this._nextIndentation = _this._nextIndentation + 1;
  35397. t1.readChar$0();
  35398. }
  35399. t2 = t1._string_scanner$_position;
  35400. if (t2 === t3) {
  35401. _this._nextIndentation = 0;
  35402. _this._nextIndentationEnd = new S._SpanScannerState(t1, t2);
  35403. t1.set$state(start);
  35404. return 0;
  35405. }
  35406. } while (_this.scanCharIf$1(T.character__isNewline$closure()));
  35407. if (containsTab) {
  35408. if (containsSpace) {
  35409. t2 = t1._string_scanner$_position;
  35410. t3 = t1._sourceFile;
  35411. t4 = t3.getColumn$1(t2);
  35412. t1.error$3$length$position("Tabs and spaces may not be mixed.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
  35413. } else if (_this._spaces === true) {
  35414. t2 = t1._string_scanner$_position;
  35415. t3 = t1._sourceFile;
  35416. t4 = t3.getColumn$1(t2);
  35417. t1.error$3$length$position("Expected spaces, was tabs.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
  35418. }
  35419. } else if (containsSpace && _this._spaces === false) {
  35420. t2 = t1._string_scanner$_position;
  35421. t3 = t1._sourceFile;
  35422. t4 = t3.getColumn$1(t2);
  35423. t1.error$3$length$position("Expected tabs, was spaces.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
  35424. }
  35425. if (_this._nextIndentation > 0)
  35426. if (_this._spaces == null)
  35427. _this._spaces = containsSpace;
  35428. _this._nextIndentationEnd = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35429. t1.set$state(start);
  35430. return _this._nextIndentation;
  35431. }
  35432. };
  35433. U.SassParser_children_closure.prototype = {
  35434. call$0: function() {
  35435. this.children.push(this.$this._child$1(this.child));
  35436. }
  35437. };
  35438. L.ScssParser.prototype = {
  35439. get$indented: function() {
  35440. return false;
  35441. },
  35442. get$currentIndentation: function() {
  35443. return;
  35444. },
  35445. styleRuleSelector$0: function() {
  35446. return this.almostAnyValue$0();
  35447. },
  35448. expectStatementSeparator$1: function($name) {
  35449. var t1, next;
  35450. this.whitespaceWithoutComments$0();
  35451. t1 = this.scanner;
  35452. if (t1._string_scanner$_position === t1.string.length)
  35453. return;
  35454. next = t1.peekChar$0();
  35455. if (next === 59 || next === 125)
  35456. return;
  35457. t1.expectChar$1(59);
  35458. },
  35459. expectStatementSeparator$0: function() {
  35460. return this.expectStatementSeparator$1(null);
  35461. },
  35462. atEndOfStatement$0: function() {
  35463. var next = this.scanner.peekChar$0();
  35464. return next == null || next === 59 || next === 125 || next === 123;
  35465. },
  35466. lookingAtChildren$0: function() {
  35467. return this.scanner.peekChar$0() === 123;
  35468. },
  35469. scanElse$1: function(_) {
  35470. var t3, _this = this,
  35471. t1 = _this.scanner,
  35472. t2 = t1._string_scanner$_position;
  35473. _this.whitespace$0();
  35474. t3 = t1._string_scanner$_position;
  35475. if (t1.scanChar$1(64)) {
  35476. if (_this.scanIdentifier$1("else"))
  35477. return true;
  35478. if (_this.scanIdentifier$1("elseif")) {
  35479. _this.logger.warn$3$deprecation$span('@elseif is deprecated and will not be supported in future Sass versions.\nUse "@else if" instead.', true, t1.spanFrom$1(new S._SpanScannerState(t1, t3)));
  35480. t1.set$position(t1._string_scanner$_position - 2);
  35481. return true;
  35482. }
  35483. }
  35484. t1.set$state(new S._SpanScannerState(t1, t2));
  35485. return false;
  35486. },
  35487. children$1: function(child) {
  35488. var children, _this = this,
  35489. t1 = _this.scanner;
  35490. t1.expectChar$1(123);
  35491. _this.whitespaceWithoutComments$0();
  35492. children = H.setRuntimeTypeInfo([], [O.Statement]);
  35493. for (; true;)
  35494. switch (t1.peekChar$0()) {
  35495. case 36:
  35496. children.push(_this.variableDeclarationWithoutNamespace$0());
  35497. break;
  35498. case 47:
  35499. switch (t1.peekChar$1(1)) {
  35500. case 47:
  35501. children.push(_this._scss$_silentComment$0());
  35502. _this.whitespaceWithoutComments$0();
  35503. break;
  35504. case 42:
  35505. children.push(_this._scss$_loudComment$0());
  35506. _this.whitespaceWithoutComments$0();
  35507. break;
  35508. default:
  35509. children.push(child.call$0());
  35510. break;
  35511. }
  35512. break;
  35513. case 59:
  35514. t1.readChar$0();
  35515. _this.whitespaceWithoutComments$0();
  35516. break;
  35517. case 125:
  35518. t1.expectChar$1(125);
  35519. return children;
  35520. default:
  35521. children.push(child.call$0());
  35522. break;
  35523. }
  35524. },
  35525. statements$1: function(statement) {
  35526. var t1, t2, child, _this = this,
  35527. statements = H.setRuntimeTypeInfo([], [O.Statement]);
  35528. _this.whitespaceWithoutComments$0();
  35529. for (t1 = _this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;)
  35530. switch (t1.peekChar$0()) {
  35531. case 36:
  35532. statements.push(_this.variableDeclarationWithoutNamespace$0());
  35533. break;
  35534. case 47:
  35535. switch (t1.peekChar$1(1)) {
  35536. case 47:
  35537. statements.push(_this._scss$_silentComment$0());
  35538. _this.whitespaceWithoutComments$0();
  35539. break;
  35540. case 42:
  35541. statements.push(_this._scss$_loudComment$0());
  35542. _this.whitespaceWithoutComments$0();
  35543. break;
  35544. default:
  35545. child = statement.call$0();
  35546. if (child != null)
  35547. statements.push(child);
  35548. break;
  35549. }
  35550. break;
  35551. case 59:
  35552. t1.readChar$0();
  35553. _this.whitespaceWithoutComments$0();
  35554. break;
  35555. default:
  35556. child = statement.call$0();
  35557. if (child != null)
  35558. statements.push(child);
  35559. break;
  35560. }
  35561. return statements;
  35562. },
  35563. _scss$_silentComment$0: function() {
  35564. var t2, t3, _this = this,
  35565. t1 = _this.scanner,
  35566. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35567. t1.expect$1("//");
  35568. t2 = t1.string.length;
  35569. do {
  35570. while (true) {
  35571. if (t1._string_scanner$_position !== t2) {
  35572. t3 = t1.readChar$0();
  35573. t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
  35574. } else
  35575. t3 = false;
  35576. if (!t3)
  35577. break;
  35578. }
  35579. if (t1._string_scanner$_position === t2)
  35580. break;
  35581. _this.whitespaceWithoutComments$0();
  35582. } while (t1.scan$1("//"));
  35583. if (_this.get$plainCss())
  35584. _this.error$2("Silent comments aren't allowed in plain CSS.", t1.spanFrom$1(start));
  35585. return _this.lastSilentComment = new B.SilentComment(t1.substring$1(0, start.position), t1.spanFrom$1(start));
  35586. },
  35587. _scss$_loudComment$0: function() {
  35588. var t3, t4, buffer, t5, endPosition,
  35589. t1 = this.scanner,
  35590. t2 = t1._string_scanner$_position;
  35591. t1.expect$1("/*");
  35592. t3 = new P.StringBuffer("");
  35593. t4 = [];
  35594. buffer = new Z.InterpolationBuffer(t3, t4);
  35595. t3._contents = "/*";
  35596. for (; true;)
  35597. switch (t1.peekChar$0()) {
  35598. case 35:
  35599. if (t1.peekChar$1(1) === 123) {
  35600. t5 = this.singleInterpolation$0();
  35601. buffer._flushText$0();
  35602. t4.push(t5);
  35603. } else
  35604. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35605. break;
  35606. case 42:
  35607. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35608. if (t1.peekChar$0() !== 47)
  35609. break;
  35610. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35611. endPosition = t1._string_scanner$_position;
  35612. return new L.LoudComment(buffer.interpolation$1(Y._FileSpan$(t1._sourceFile, new S._SpanScannerState(t1, t2).position, endPosition)));
  35613. case 13:
  35614. t1.readChar$0();
  35615. if (t1.peekChar$0() !== 10)
  35616. t3._contents += H.Primitives_stringFromCharCode(10);
  35617. break;
  35618. case 12:
  35619. t1.readChar$0();
  35620. t3._contents += H.Primitives_stringFromCharCode(10);
  35621. break;
  35622. default:
  35623. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35624. break;
  35625. }
  35626. }
  35627. };
  35628. T.SelectorParser.prototype = {
  35629. parse$0: function() {
  35630. return this.wrapSpanFormatException$1(new T.SelectorParser_parse_closure(this));
  35631. },
  35632. parseCompoundSelector$0: function() {
  35633. return this.wrapSpanFormatException$1(new T.SelectorParser_parseCompoundSelector_closure(this));
  35634. },
  35635. _selectorList$0: function() {
  35636. var t3, t4, lineBreak, _this = this,
  35637. t1 = _this.scanner,
  35638. t2 = t1._sourceFile,
  35639. previousLine = t2.getLine$1(t1._string_scanner$_position),
  35640. components = H.setRuntimeTypeInfo([_this._complexSelector$0()], [S.ComplexSelector]);
  35641. _this.whitespace$0();
  35642. for (t3 = t1.string; t1.scanChar$1(44);) {
  35643. _this.whitespace$0();
  35644. if (t1.peekChar$0() === 44)
  35645. continue;
  35646. t4 = t1._string_scanner$_position;
  35647. if (t4 === t3.length)
  35648. break;
  35649. lineBreak = t2.getLine$1(t4) != previousLine;
  35650. if (lineBreak)
  35651. previousLine = t2.getLine$1(t1._string_scanner$_position);
  35652. components.push(_this._complexSelector$1$lineBreak(lineBreak));
  35653. }
  35654. return D.SelectorList$(components);
  35655. },
  35656. _complexSelector$1$lineBreak: function(lineBreak) {
  35657. var t1, next, _this = this,
  35658. _s58_ = '"&" may only used at the beginning of a compound selector.',
  35659. components = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  35660. $label0$1:
  35661. for (t1 = _this.scanner; true;) {
  35662. _this.whitespace$0();
  35663. next = t1.peekChar$0();
  35664. switch (next) {
  35665. case 43:
  35666. t1.readChar$0();
  35667. components.push(C.Combinator_uzg);
  35668. break;
  35669. case 62:
  35670. t1.readChar$0();
  35671. components.push(C.Combinator_sgq);
  35672. break;
  35673. case 126:
  35674. t1.readChar$0();
  35675. components.push(C.Combinator_CzM);
  35676. break;
  35677. case 91:
  35678. case 46:
  35679. case 35:
  35680. case 37:
  35681. case 58:
  35682. case 38:
  35683. case 42:
  35684. case 124:
  35685. components.push(_this._compoundSelector$0());
  35686. if (t1.peekChar$0() === 38)
  35687. t1.error$1(_s58_);
  35688. break;
  35689. default:
  35690. if (next == null || !_this.lookingAtIdentifier$0())
  35691. break $label0$1;
  35692. components.push(_this._compoundSelector$0());
  35693. if (t1.peekChar$0() === 38)
  35694. t1.error$1(_s58_);
  35695. break;
  35696. }
  35697. }
  35698. if (components.length === 0)
  35699. t1.error$1("expected selector.");
  35700. return S.ComplexSelector$(components, lineBreak);
  35701. },
  35702. _complexSelector$0: function() {
  35703. return this._complexSelector$1$lineBreak(false);
  35704. },
  35705. _compoundSelector$0: function() {
  35706. var t2,
  35707. components = H.setRuntimeTypeInfo([this._simpleSelector$0()], [M.SimpleSelector]),
  35708. t1 = this.scanner;
  35709. while (true) {
  35710. t2 = t1.peekChar$0();
  35711. if (!(t2 === 42 || t2 === 91 || t2 === 46 || t2 === 35 || t2 === 37 || t2 === 58))
  35712. break;
  35713. components.push(this._simpleSelector$1$allowParent(false));
  35714. }
  35715. return X.CompoundSelector$(components);
  35716. },
  35717. _simpleSelector$1$allowParent: function(allowParent) {
  35718. var $name, text, t2, suffix, _this = this,
  35719. t1 = _this.scanner,
  35720. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35721. if (allowParent == null)
  35722. allowParent = _this._allowParent;
  35723. switch (t1.peekChar$0()) {
  35724. case 91:
  35725. return _this._attributeSelector$0();
  35726. case 46:
  35727. t1.expectChar$1(46);
  35728. return new X.ClassSelector(_this.identifier$0());
  35729. case 35:
  35730. t1.expectChar$1(35);
  35731. return new N.IDSelector(_this.identifier$0());
  35732. case 37:
  35733. t1.expectChar$1(37);
  35734. $name = _this.identifier$0();
  35735. if (!_this._allowPlaceholder)
  35736. _this.error$2("Placeholder selectors aren't allowed here.", t1.spanFrom$1(start));
  35737. return new N.PlaceholderSelector($name);
  35738. case 58:
  35739. return _this._pseudoSelector$0();
  35740. case 38:
  35741. t1.expectChar$1(38);
  35742. if (_this.lookingAtIdentifierBody$0()) {
  35743. text = new P.StringBuffer("");
  35744. _this._identifierBody$1(text);
  35745. if (text._contents.length === 0)
  35746. t1.error$1("Expected identifier body.");
  35747. t2 = text._contents;
  35748. suffix = t2.charCodeAt(0) == 0 ? t2 : t2;
  35749. } else
  35750. suffix = null;
  35751. if (!allowParent)
  35752. _this.error$2("Parent selectors aren't allowed here.", t1.spanFrom$1(start));
  35753. return new M.ParentSelector(suffix);
  35754. default:
  35755. return _this._typeOrUniversalSelector$0();
  35756. }
  35757. },
  35758. _simpleSelector$0: function() {
  35759. return this._simpleSelector$1$allowParent(null);
  35760. },
  35761. _attributeSelector$0: function() {
  35762. var $name, operator, next, value, modifier, _this = this, _null = null,
  35763. t1 = _this.scanner;
  35764. t1.expectChar$1(91);
  35765. _this.whitespace$0();
  35766. $name = _this._attributeName$0();
  35767. _this.whitespace$0();
  35768. if (t1.scanChar$1(93))
  35769. return new N.AttributeSelector($name, _null, _null, _null);
  35770. operator = _this._attributeOperator$0();
  35771. _this.whitespace$0();
  35772. next = t1.peekChar$0();
  35773. value = next === 39 || next === 34 ? _this.string$0() : _this.identifier$0();
  35774. _this.whitespace$0();
  35775. modifier = T.isAlphabetic0(t1.peekChar$0()) ? H.Primitives_stringFromCharCode(t1.readChar$0()) : _null;
  35776. t1.expectChar$1(93);
  35777. return new N.AttributeSelector($name, operator, value, modifier);
  35778. },
  35779. _attributeName$0: function() {
  35780. var nameOrNamespace, _this = this,
  35781. t1 = _this.scanner;
  35782. if (t1.scanChar$1(42)) {
  35783. t1.expectChar$1(124);
  35784. return new D.QualifiedName(_this.identifier$0(), "*");
  35785. }
  35786. nameOrNamespace = _this.identifier$0();
  35787. if (t1.peekChar$0() !== 124 || t1.peekChar$1(1) === 61)
  35788. return new D.QualifiedName(nameOrNamespace, null);
  35789. t1.readChar$0();
  35790. return new D.QualifiedName(_this.identifier$0(), nameOrNamespace);
  35791. },
  35792. _attributeOperator$0: function() {
  35793. var t1 = this.scanner,
  35794. t2 = t1._string_scanner$_position;
  35795. switch (t1.readChar$0()) {
  35796. case 61:
  35797. return C.AttributeOperator_sEs;
  35798. case 126:
  35799. t1.expectChar$1(61);
  35800. return C.AttributeOperator_fz1;
  35801. case 124:
  35802. t1.expectChar$1(61);
  35803. return C.AttributeOperator_AuK;
  35804. case 94:
  35805. t1.expectChar$1(61);
  35806. return C.AttributeOperator_4L5;
  35807. case 36:
  35808. t1.expectChar$1(61);
  35809. return C.AttributeOperator_mOX;
  35810. case 42:
  35811. t1.expectChar$1(61);
  35812. return C.AttributeOperator_gqZ;
  35813. default:
  35814. t1.error$2$position('Expected "]".', t2);
  35815. }
  35816. },
  35817. _pseudoSelector$0: function() {
  35818. var element, $name, unvendored, selector, argument, t2, _this = this, _null = null,
  35819. t1 = _this.scanner;
  35820. t1.expectChar$1(58);
  35821. element = t1.scanChar$1(58);
  35822. $name = _this.identifier$0();
  35823. if (!t1.scanChar$1(40))
  35824. return D.PseudoSelector$($name, _null, element, _null);
  35825. _this.whitespace$0();
  35826. unvendored = B.unvendor($name);
  35827. if (element)
  35828. if ($._selectorPseudoElements.contains$1(0, unvendored)) {
  35829. selector = _this._selectorList$0();
  35830. argument = _null;
  35831. } else {
  35832. argument = _this.declarationValue$1$allowEmpty(true);
  35833. selector = _null;
  35834. }
  35835. else if ($._selectorPseudoClasses.contains$1(0, unvendored)) {
  35836. selector = _this._selectorList$0();
  35837. argument = _null;
  35838. } else if (unvendored === "nth-child" || unvendored === "nth-last-child") {
  35839. argument = _this._aNPlusB$0();
  35840. _this.whitespace$0();
  35841. t2 = t1.peekChar$1(-1);
  35842. if ((t2 === 32 || t2 === 9 || T.isNewline(t2)) && t1.peekChar$0() !== 41) {
  35843. _this.expectIdentifier$1("of");
  35844. argument += " of";
  35845. _this.whitespace$0();
  35846. selector = _this._selectorList$0();
  35847. } else
  35848. selector = _null;
  35849. } else {
  35850. argument = C.JSString_methods.trimRight$0(_this.declarationValue$1$allowEmpty(true));
  35851. selector = _null;
  35852. }
  35853. t1.expectChar$1(41);
  35854. return D.PseudoSelector$($name, argument, element, selector);
  35855. },
  35856. _aNPlusB$0: function() {
  35857. var t2, first, t3, next, last, _this = this,
  35858. t1 = _this.scanner;
  35859. switch (t1.peekChar$0()) {
  35860. case 101:
  35861. case 69:
  35862. _this.expectIdentifier$1("even");
  35863. return "even";
  35864. case 111:
  35865. case 79:
  35866. _this.expectIdentifier$1("odd");
  35867. return "odd";
  35868. case 43:
  35869. case 45:
  35870. t2 = H.Primitives_stringFromCharCode(t1.readChar$0());
  35871. break;
  35872. default:
  35873. t2 = "";
  35874. }
  35875. first = t1.peekChar$0();
  35876. if (first != null && T.isDigit(first)) {
  35877. while (true) {
  35878. t3 = t1.peekChar$0();
  35879. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  35880. break;
  35881. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  35882. }
  35883. _this.whitespace$0();
  35884. if (!_this.scanCharIgnoreCase$1(110))
  35885. return t2.charCodeAt(0) == 0 ? t2 : t2;
  35886. } else
  35887. _this.expectCharIgnoreCase$1(110);
  35888. t2 += H.Primitives_stringFromCharCode(110);
  35889. _this.whitespace$0();
  35890. next = t1.peekChar$0();
  35891. if (next !== 43 && next !== 45)
  35892. return t2.charCodeAt(0) == 0 ? t2 : t2;
  35893. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  35894. _this.whitespace$0();
  35895. last = t1.peekChar$0();
  35896. if (last == null || !T.isDigit(last))
  35897. t1.error$1("Expected a number.");
  35898. while (true) {
  35899. t3 = t1.peekChar$0();
  35900. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  35901. break;
  35902. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  35903. }
  35904. return t2.charCodeAt(0) == 0 ? t2 : t2;
  35905. },
  35906. _typeOrUniversalSelector$0: function() {
  35907. var nameOrNamespace, _this = this,
  35908. t1 = _this.scanner,
  35909. first = t1.peekChar$0();
  35910. if (first === 42) {
  35911. t1.readChar$0();
  35912. if (!t1.scanChar$1(124))
  35913. return new N.UniversalSelector(null);
  35914. if (t1.scanChar$1(42))
  35915. return new N.UniversalSelector("*");
  35916. else
  35917. return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), "*"));
  35918. } else if (first === 124) {
  35919. t1.readChar$0();
  35920. if (t1.scanChar$1(42))
  35921. return new N.UniversalSelector("");
  35922. else
  35923. return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), ""));
  35924. }
  35925. nameOrNamespace = _this.identifier$0();
  35926. if (!t1.scanChar$1(124))
  35927. return new F.TypeSelector(new D.QualifiedName(nameOrNamespace, null));
  35928. else if (t1.scanChar$1(42))
  35929. return new N.UniversalSelector(nameOrNamespace);
  35930. else
  35931. return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), nameOrNamespace));
  35932. }
  35933. };
  35934. T.SelectorParser_parse_closure.prototype = {
  35935. call$0: function() {
  35936. var t1 = this.$this,
  35937. selector = t1._selectorList$0();
  35938. t1 = t1.scanner;
  35939. if (t1._string_scanner$_position !== t1.string.length)
  35940. t1.error$1("expected selector.");
  35941. return selector;
  35942. }
  35943. };
  35944. T.SelectorParser_parseCompoundSelector_closure.prototype = {
  35945. call$0: function() {
  35946. var t1 = this.$this,
  35947. compound = t1._compoundSelector$0();
  35948. t1 = t1.scanner;
  35949. if (t1._string_scanner$_position !== t1.string.length)
  35950. t1.error$1("expected selector.");
  35951. return compound;
  35952. }
  35953. };
  35954. V.StylesheetParser.prototype = {
  35955. parse$0: function() {
  35956. return this.wrapSpanFormatException$1(new V.StylesheetParser_parse_closure(this));
  35957. },
  35958. parseVariableDeclaration$0: function() {
  35959. return this._parseSingleProduction$1(new V.StylesheetParser_parseVariableDeclaration_closure(this));
  35960. },
  35961. parseUseRule$0: function() {
  35962. return this._parseSingleProduction$1(new V.StylesheetParser_parseUseRule_closure(this));
  35963. },
  35964. _parseSingleProduction$1$1: function(production) {
  35965. return this.wrapSpanFormatException$1(new V.StylesheetParser__parseSingleProduction_closure(this, production));
  35966. },
  35967. _parseSingleProduction$1: function(production) {
  35968. return this._parseSingleProduction$1$1(production, null);
  35969. },
  35970. parseSignature$0: function() {
  35971. return this.wrapSpanFormatException$1(new V.StylesheetParser_parseSignature_closure(this));
  35972. },
  35973. _statement$1$root: function(root) {
  35974. var t2, _this = this,
  35975. t1 = _this.scanner;
  35976. switch (t1.peekChar$0()) {
  35977. case 64:
  35978. return _this.atRule$2$root(new V.StylesheetParser__statement_closure(_this), root);
  35979. case 43:
  35980. if (!_this.get$indented() || !_this.lookingAtIdentifier$1(1))
  35981. return _this._stylesheet$_styleRule$0();
  35982. _this._isUseAllowed = false;
  35983. t2 = t1._string_scanner$_position;
  35984. t1.readChar$0();
  35985. return _this._includeRule$1(new S._SpanScannerState(t1, t2));
  35986. case 61:
  35987. if (!_this.get$indented())
  35988. return _this._stylesheet$_styleRule$0();
  35989. _this._isUseAllowed = false;
  35990. t2 = t1._string_scanner$_position;
  35991. t1.readChar$0();
  35992. _this.whitespace$0();
  35993. return _this._mixinRule$1(new S._SpanScannerState(t1, t2));
  35994. case 125:
  35995. t1.error$2$length('unmatched "}".', 1);
  35996. break;
  35997. default:
  35998. return _this._inStyleRule || _this._stylesheet$_inUnknownAtRule || _this._stylesheet$_inMixin || _this._inContentBlock ? _this._declarationOrStyleRule$0() : _this._variableDeclarationOrStyleRule$0();
  35999. }
  36000. },
  36001. _statement$0: function() {
  36002. return this._statement$1$root(false);
  36003. },
  36004. _variableDeclarationWithNamespace$0: function() {
  36005. var t1 = this.scanner,
  36006. t2 = t1._string_scanner$_position,
  36007. namespace = this.identifier$0();
  36008. t1.expectChar$1(46);
  36009. return this.variableDeclarationWithoutNamespace$2(namespace, new S._SpanScannerState(t1, t2));
  36010. },
  36011. variableDeclarationWithoutNamespace$2: function(namespace, start) {
  36012. var precedingComment, t1, $name, t2, value, flagStart, guarded, global, flag, endPosition, declaration, _this = this, _box_0 = {};
  36013. _box_0.start = start;
  36014. precedingComment = _this.lastSilentComment;
  36015. _this.lastSilentComment = null;
  36016. if (start == null) {
  36017. t1 = _this.scanner;
  36018. _box_0.start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36019. }
  36020. $name = _this.variableName$0();
  36021. t1 = namespace != null;
  36022. if (t1)
  36023. _this._assertPublic$2($name, new V.StylesheetParser_variableDeclarationWithoutNamespace_closure(_box_0, _this));
  36024. if (_this.get$plainCss())
  36025. _this.error$2("Sass variables aren't allowed in plain CSS.", _this.scanner.spanFrom$1(_box_0.start));
  36026. _this.whitespace$0();
  36027. t2 = _this.scanner;
  36028. t2.expectChar$1(58);
  36029. _this.whitespace$0();
  36030. value = _this.expression$0();
  36031. flagStart = new S._SpanScannerState(t2, t2._string_scanner$_position);
  36032. for (guarded = false, global = false; t2.scanChar$1(33);) {
  36033. flag = _this.identifier$0();
  36034. if (flag === "default")
  36035. guarded = true;
  36036. else if (flag === "global") {
  36037. if (t1) {
  36038. endPosition = t2._string_scanner$_position;
  36039. _this.error$2("!global isn't allowed for variables in other modules.", Y._FileSpan$(t2._sourceFile, flagStart.position, endPosition));
  36040. }
  36041. global = true;
  36042. } else {
  36043. endPosition = t2._string_scanner$_position;
  36044. _this.error$2("Invalid flag name.", Y._FileSpan$(t2._sourceFile, flagStart.position, endPosition));
  36045. }
  36046. _this.whitespace$0();
  36047. flagStart = new S._SpanScannerState(t2, t2._string_scanner$_position);
  36048. }
  36049. _this.expectStatementSeparator$1("variable declaration");
  36050. declaration = Z.VariableDeclaration$($name, value, t2.spanFrom$1(_box_0.start), precedingComment, global, guarded, namespace);
  36051. if (global)
  36052. _this._globalVariables.putIfAbsent$2($name, new V.StylesheetParser_variableDeclarationWithoutNamespace_closure0(declaration));
  36053. return declaration;
  36054. },
  36055. variableDeclarationWithoutNamespace$0: function() {
  36056. return this.variableDeclarationWithoutNamespace$2(null, null);
  36057. },
  36058. _variableDeclarationOrStyleRule$0: function() {
  36059. var t1, t2, variableOrInterpolation, t3, _this = this;
  36060. if (_this.get$plainCss())
  36061. return _this._stylesheet$_styleRule$0();
  36062. if (_this.get$indented() && _this.scanner.scanChar$1(92))
  36063. return _this._stylesheet$_styleRule$0();
  36064. if (!_this.lookingAtIdentifier$0())
  36065. return _this._stylesheet$_styleRule$0();
  36066. t1 = _this.scanner;
  36067. t2 = t1._string_scanner$_position;
  36068. variableOrInterpolation = _this._variableDeclarationOrInterpolation$0();
  36069. if (!!variableOrInterpolation.$isVariableDeclaration)
  36070. return variableOrInterpolation;
  36071. else {
  36072. t3 = new Z.InterpolationBuffer(new P.StringBuffer(""), []);
  36073. t3.addInterpolation$1(H.interceptedTypeCast(variableOrInterpolation, "$isInterpolation"));
  36074. return _this._stylesheet$_styleRule$2(t3, new S._SpanScannerState(t1, t2));
  36075. }
  36076. },
  36077. _declarationOrStyleRule$0: function() {
  36078. var t1, t2, declarationOrBuffer, _this = this;
  36079. if (_this.get$plainCss() && _this._inStyleRule && !_this._stylesheet$_inUnknownAtRule)
  36080. return _this._propertyOrVariableDeclaration$0();
  36081. if (_this.get$indented() && _this.scanner.scanChar$1(92))
  36082. return _this._stylesheet$_styleRule$0();
  36083. t1 = _this.scanner;
  36084. t2 = t1._string_scanner$_position;
  36085. declarationOrBuffer = _this._declarationOrBuffer$0();
  36086. return !!J.getInterceptor$(declarationOrBuffer).$isStatement ? declarationOrBuffer : _this._stylesheet$_styleRule$2(H.interceptedTypeCast(declarationOrBuffer, "$isInterpolationBuffer"), new S._SpanScannerState(t1, t2));
  36087. },
  36088. _declarationOrBuffer$0: function() {
  36089. var midBuffer, couldBeSelector, beforeDeclaration, additional, t3, startsWithPunctuation, variableOrInterpolation, t4, $name, value, postColonWhitespace, t5, exception, _this = this, t1 = {},
  36090. t2 = _this.scanner,
  36091. start = new S._SpanScannerState(t2, t2._string_scanner$_position),
  36092. nameBuffer = new Z.InterpolationBuffer(new P.StringBuffer(""), []),
  36093. first = t2.peekChar$0();
  36094. if (first !== 58)
  36095. if (first !== 42)
  36096. if (first !== 46)
  36097. t3 = first === 35 && t2.peekChar$1(1) !== 123;
  36098. else
  36099. t3 = true;
  36100. else
  36101. t3 = true;
  36102. else
  36103. t3 = true;
  36104. if (t3) {
  36105. t3 = t2.readChar$0();
  36106. nameBuffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(t3);
  36107. t3 = _this.rawText$1(_this.get$whitespace());
  36108. nameBuffer._interpolation_buffer$_text._contents += t3;
  36109. startsWithPunctuation = true;
  36110. } else
  36111. startsWithPunctuation = false;
  36112. if (!_this._lookingAtInterpolatedIdentifier$0())
  36113. return nameBuffer;
  36114. variableOrInterpolation = startsWithPunctuation ? _this.interpolatedIdentifier$0() : _this._variableDeclarationOrInterpolation$0();
  36115. if (!!variableOrInterpolation.$isVariableDeclaration)
  36116. return variableOrInterpolation;
  36117. else
  36118. nameBuffer.addInterpolation$1(H.interceptedTypeCast(variableOrInterpolation, "$isInterpolation"));
  36119. _this._isUseAllowed = false;
  36120. if (t2.matches$1("/*")) {
  36121. t3 = _this.rawText$1(_this.get$loudComment());
  36122. nameBuffer._interpolation_buffer$_text._contents += t3;
  36123. }
  36124. midBuffer = new P.StringBuffer("");
  36125. t3 = _this.get$whitespace();
  36126. midBuffer._contents += _this.rawText$1(t3);
  36127. t4 = t2._string_scanner$_position;
  36128. if (!t2.scanChar$1(58)) {
  36129. if (midBuffer._contents.length !== 0)
  36130. nameBuffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(32);
  36131. return nameBuffer;
  36132. }
  36133. midBuffer._contents += H.Primitives_stringFromCharCode(58);
  36134. $name = nameBuffer.interpolation$1(t2.spanFrom$2(start, new S._SpanScannerState(t2, t4)));
  36135. first = C.JSArray_methods.get$first($name.contents);
  36136. if (C.JSString_methods.startsWith$1(typeof first === "string" ? first : "", "--")) {
  36137. value = _this._interpolatedDeclarationValue$0();
  36138. _this.expectStatementSeparator$1("custom property");
  36139. return L.Declaration$($name, t2.spanFrom$1(start), null, value);
  36140. }
  36141. if (t2.scanChar$1(58)) {
  36142. t1 = nameBuffer;
  36143. t2 = t1._interpolation_buffer$_text;
  36144. t2._contents += H.S(midBuffer);
  36145. t2._contents += H.Primitives_stringFromCharCode(58);
  36146. return t1;
  36147. } else if (_this.get$indented() && _this._lookingAtInterpolatedIdentifier$0()) {
  36148. t1 = nameBuffer;
  36149. t1._interpolation_buffer$_text._contents += H.S(midBuffer);
  36150. return t1;
  36151. }
  36152. postColonWhitespace = _this.rawText$1(t3);
  36153. if (_this.lookingAtChildren$0())
  36154. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declarationOrBuffer_closure($name));
  36155. midBuffer._contents += postColonWhitespace;
  36156. couldBeSelector = postColonWhitespace.length === 0 && _this._lookingAtInterpolatedIdentifier$0();
  36157. beforeDeclaration = new S._SpanScannerState(t2, t2._string_scanner$_position);
  36158. t1.value = null;
  36159. try {
  36160. if (_this.lookingAtChildren$0()) {
  36161. t3 = H.setRuntimeTypeInfo([], [P.Object]);
  36162. t4 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position);
  36163. t5 = t4.offset;
  36164. value = new D.StringExpression(X.Interpolation$(t3, Y._FileSpan$(t4.file, t5, t5)), true);
  36165. } else
  36166. value = _this.expression$0();
  36167. t3 = t1.value = value;
  36168. if (_this.lookingAtChildren$0()) {
  36169. if (couldBeSelector)
  36170. _this.expectStatementSeparator$0();
  36171. } else if (!_this.atEndOfStatement$0())
  36172. _this.expectStatementSeparator$0();
  36173. } catch (exception) {
  36174. if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException) {
  36175. if (!couldBeSelector)
  36176. throw exception;
  36177. t2.set$state(beforeDeclaration);
  36178. additional = _this.almostAnyValue$0();
  36179. if (!_this.get$indented() && t2.peekChar$0() === 59)
  36180. throw exception;
  36181. nameBuffer._interpolation_buffer$_text._contents += H.S(midBuffer);
  36182. nameBuffer.addInterpolation$1(additional);
  36183. return nameBuffer;
  36184. } else
  36185. throw exception;
  36186. }
  36187. if (_this.lookingAtChildren$0())
  36188. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declarationOrBuffer_closure0(t1, $name));
  36189. else {
  36190. _this.expectStatementSeparator$0();
  36191. return L.Declaration$($name, t2.spanFrom$1(start), null, t3);
  36192. }
  36193. },
  36194. _variableDeclarationOrInterpolation$0: function() {
  36195. var t1, start, identifier, t2, buffer, _this = this;
  36196. if (!_this.lookingAtIdentifier$0())
  36197. return _this.interpolatedIdentifier$0();
  36198. t1 = _this.scanner;
  36199. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36200. identifier = _this.identifier$0();
  36201. if (t1.matches$1(".$")) {
  36202. t1.readChar$0();
  36203. return _this.variableDeclarationWithoutNamespace$2(identifier, start);
  36204. } else {
  36205. t2 = new P.StringBuffer("");
  36206. buffer = new Z.InterpolationBuffer(t2, []);
  36207. t2._contents = identifier;
  36208. if (_this._lookingAtInterpolatedIdentifierBody$0())
  36209. buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  36210. return buffer.interpolation$1(t1.spanFrom$1(start));
  36211. }
  36212. },
  36213. _stylesheet$_styleRule$2: function(buffer, start) {
  36214. var t2, interpolation, t3, wasInStyleRule, _this = this, t1 = {};
  36215. t1.start = start;
  36216. _this._isUseAllowed = false;
  36217. if (start == null) {
  36218. t2 = _this.scanner;
  36219. t2 = t1.start = new S._SpanScannerState(t2, t2._string_scanner$_position);
  36220. } else
  36221. t2 = start;
  36222. interpolation = t1.interpolation = _this.styleRuleSelector$0();
  36223. if (buffer != null) {
  36224. buffer.addInterpolation$1(interpolation);
  36225. t3 = t1.interpolation = buffer.interpolation$1(_this.scanner.spanFrom$1(t2));
  36226. } else
  36227. t3 = interpolation;
  36228. if (t3.contents.length === 0)
  36229. _this.scanner.error$1('expected "}".');
  36230. wasInStyleRule = _this._inStyleRule;
  36231. _this._inStyleRule = true;
  36232. return _this._withChildren$3(_this.get$_statement(), t2, new V.StylesheetParser__styleRule_closure(t1, _this, wasInStyleRule));
  36233. },
  36234. _stylesheet$_styleRule$0: function() {
  36235. return this._stylesheet$_styleRule$2(null, null);
  36236. },
  36237. _propertyOrVariableDeclaration$0: function() {
  36238. var first, t3, nameBuffer, variableOrInterpolation, $name, value, _this = this,
  36239. _s48_ = "Nested declarations aren't allowed in plain CSS.",
  36240. t1 = {},
  36241. t2 = _this.scanner,
  36242. start = new S._SpanScannerState(t2, t2._string_scanner$_position);
  36243. t1.name = null;
  36244. first = t2.peekChar$0();
  36245. if (first !== 58)
  36246. if (first !== 42)
  36247. if (first !== 46)
  36248. t3 = first === 35 && t2.peekChar$1(1) !== 123;
  36249. else
  36250. t3 = true;
  36251. else
  36252. t3 = true;
  36253. else
  36254. t3 = true;
  36255. if (t3) {
  36256. t3 = new P.StringBuffer("");
  36257. nameBuffer = new Z.InterpolationBuffer(t3, []);
  36258. t3._contents += H.Primitives_stringFromCharCode(t2.readChar$0());
  36259. t3._contents += _this.rawText$1(_this.get$whitespace());
  36260. nameBuffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  36261. t3 = t1.name = nameBuffer.interpolation$1(t2.spanFrom$1(start));
  36262. } else if (!_this.get$plainCss()) {
  36263. variableOrInterpolation = _this._variableDeclarationOrInterpolation$0();
  36264. if (!!variableOrInterpolation.$isVariableDeclaration)
  36265. return variableOrInterpolation;
  36266. else {
  36267. H.interceptedTypeCast(variableOrInterpolation, "$isInterpolation");
  36268. t1.name = variableOrInterpolation;
  36269. }
  36270. t3 = variableOrInterpolation;
  36271. } else {
  36272. $name = _this.interpolatedIdentifier$0();
  36273. t1.name = $name;
  36274. t3 = $name;
  36275. }
  36276. _this.whitespace$0();
  36277. t2.expectChar$1(58);
  36278. _this.whitespace$0();
  36279. if (_this.lookingAtChildren$0()) {
  36280. if (_this.get$plainCss())
  36281. t2.error$1(_s48_);
  36282. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__propertyOrVariableDeclaration_closure(t1));
  36283. }
  36284. value = _this.expression$0();
  36285. if (_this.lookingAtChildren$0()) {
  36286. if (_this.get$plainCss())
  36287. t2.error$1(_s48_);
  36288. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__propertyOrVariableDeclaration_closure0(t1, value));
  36289. } else {
  36290. _this.expectStatementSeparator$0();
  36291. return L.Declaration$(t3, t2.spanFrom$1(start), null, value);
  36292. }
  36293. },
  36294. _declarationChild$0: function() {
  36295. if (this.scanner.peekChar$0() === 64)
  36296. return this._declarationAtRule$0();
  36297. return this._propertyOrVariableDeclaration$0();
  36298. },
  36299. atRule$2$root: function(child, root) {
  36300. var $name, wasUseAllowed, value, optional, _this = this,
  36301. t1 = _this.scanner,
  36302. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36303. t1.expectChar$2$name(64, "@-rule");
  36304. $name = _this.interpolatedIdentifier$0();
  36305. _this.whitespace$0();
  36306. wasUseAllowed = _this._isUseAllowed;
  36307. _this._isUseAllowed = false;
  36308. switch ($name.get$asPlain()) {
  36309. case "at-root":
  36310. return _this._atRootRule$1(start);
  36311. case "charset":
  36312. _this._isUseAllowed = wasUseAllowed;
  36313. if (!root)
  36314. _this._disallowedAtRule$1(start);
  36315. _this.string$0();
  36316. return;
  36317. case "content":
  36318. return _this._contentRule$1(start);
  36319. case "debug":
  36320. return _this._debugRule$1(start);
  36321. case "each":
  36322. return _this._eachRule$2(start, child);
  36323. case "else":
  36324. return _this._disallowedAtRule$1(start);
  36325. case "error":
  36326. return _this._errorRule$1(start);
  36327. case "extend":
  36328. if (!_this._inStyleRule && !_this._stylesheet$_inMixin && !_this._inContentBlock)
  36329. _this.error$2("@extend may only be used within style rules.", t1.spanFrom$1(start));
  36330. value = _this.almostAnyValue$0();
  36331. optional = t1.scanChar$1(33);
  36332. if (optional)
  36333. _this.expectIdentifier$1("optional");
  36334. _this.expectStatementSeparator$1("@extend rule");
  36335. return new X.ExtendRule(value, optional, t1.spanFrom$1(start));
  36336. case "for":
  36337. return _this._forRule$2(start, child);
  36338. case "forward":
  36339. _this._isUseAllowed = wasUseAllowed;
  36340. if (!root)
  36341. _this._disallowedAtRule$1(start);
  36342. return _this._forwardRule$1(start);
  36343. case "function":
  36344. return _this._functionRule$1(start);
  36345. case "if":
  36346. return _this._ifRule$2(start, child);
  36347. case "import":
  36348. return _this._importRule$1(start);
  36349. case "include":
  36350. return _this._includeRule$1(start);
  36351. case "media":
  36352. return _this.mediaRule$1(start);
  36353. case "mixin":
  36354. return _this._mixinRule$1(start);
  36355. case "-moz-document":
  36356. return _this.mozDocumentRule$2(start, $name);
  36357. case "return":
  36358. return _this._disallowedAtRule$1(start);
  36359. case "supports":
  36360. return _this.supportsRule$1(start);
  36361. case "use":
  36362. _this._isUseAllowed = wasUseAllowed;
  36363. if (!root)
  36364. _this._disallowedAtRule$1(start);
  36365. return _this._useRule$1(start);
  36366. case "warn":
  36367. return _this._warnRule$1(start);
  36368. case "while":
  36369. return _this._whileRule$2(start, child);
  36370. default:
  36371. return _this.unknownAtRule$2(start, $name);
  36372. }
  36373. },
  36374. _declarationAtRule$0: function() {
  36375. var _this = this,
  36376. t1 = _this.scanner,
  36377. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36378. switch (_this._plainAtRuleName$0()) {
  36379. case "content":
  36380. return _this._contentRule$1(start);
  36381. case "debug":
  36382. return _this._debugRule$1(start);
  36383. case "each":
  36384. return _this._eachRule$2(start, _this.get$_declarationChild());
  36385. case "else":
  36386. return _this._disallowedAtRule$1(start);
  36387. case "error":
  36388. return _this._errorRule$1(start);
  36389. case "for":
  36390. return _this._forRule$2(start, _this.get$_declarationAtRule());
  36391. case "if":
  36392. return _this._ifRule$2(start, _this.get$_declarationChild());
  36393. case "include":
  36394. return _this._includeRule$1(start);
  36395. case "warn":
  36396. return _this._warnRule$1(start);
  36397. case "while":
  36398. return _this._whileRule$2(start, _this.get$_declarationChild());
  36399. default:
  36400. return _this._disallowedAtRule$1(start);
  36401. }
  36402. },
  36403. _functionChild$0: function() {
  36404. var state, variableDeclarationError, statement, t2, exception, start, value, _this = this,
  36405. t1 = _this.scanner;
  36406. if (t1.peekChar$0() !== 64) {
  36407. state = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36408. try {
  36409. t2 = _this._variableDeclarationWithNamespace$0();
  36410. return t2;
  36411. } catch (exception) {
  36412. t2 = H.unwrapException(exception);
  36413. if (t2 instanceof G.SourceSpanFormatException) {
  36414. variableDeclarationError = t2;
  36415. t1.set$state(state);
  36416. statement = null;
  36417. try {
  36418. statement = _this._declarationOrStyleRule$0();
  36419. } catch (exception) {
  36420. if (H.unwrapException(exception) instanceof G.SourceSpanFormatException)
  36421. throw H.wrapException(variableDeclarationError);
  36422. else
  36423. throw exception;
  36424. }
  36425. _this.error$2("@function rules may not contain " + (statement instanceof X.StyleRule ? "style rules" : "declarations") + ".", statement.get$span());
  36426. } else
  36427. throw exception;
  36428. }
  36429. }
  36430. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36431. switch (_this._plainAtRuleName$0()) {
  36432. case "debug":
  36433. return _this._debugRule$1(start);
  36434. case "each":
  36435. return _this._eachRule$2(start, _this.get$_functionChild());
  36436. case "else":
  36437. return _this._disallowedAtRule$1(start);
  36438. case "error":
  36439. return _this._errorRule$1(start);
  36440. case "for":
  36441. return _this._forRule$2(start, _this.get$_functionChild());
  36442. case "if":
  36443. return _this._ifRule$2(start, _this.get$_functionChild());
  36444. case "return":
  36445. value = _this.expression$0();
  36446. _this.expectStatementSeparator$1("@return rule");
  36447. return new B.ReturnRule(value, t1.spanFrom$1(start));
  36448. case "warn":
  36449. return _this._warnRule$1(start);
  36450. case "while":
  36451. return _this._whileRule$2(start, _this.get$_functionChild());
  36452. default:
  36453. return _this._disallowedAtRule$1(start);
  36454. }
  36455. },
  36456. _plainAtRuleName$0: function() {
  36457. this.scanner.expectChar$2$name(64, "@-rule");
  36458. var $name = this.identifier$0();
  36459. this.whitespace$0();
  36460. return $name;
  36461. },
  36462. _atRootRule$1: function(start) {
  36463. var query, t2, t3, _this = this,
  36464. t1 = _this.scanner;
  36465. if (t1.peekChar$0() === 40) {
  36466. query = _this._atRootQuery$0();
  36467. _this.whitespace$0();
  36468. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__atRootRule_closure(query));
  36469. } else if (_this.lookingAtChildren$0())
  36470. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__atRootRule_closure0());
  36471. else {
  36472. t2 = O.Statement;
  36473. t3 = H.setRuntimeTypeInfo([_this._stylesheet$_styleRule$0()], [t2]);
  36474. t1 = t1.spanFrom$1(start);
  36475. t2 = P.List_List$unmodifiable(t3, t2);
  36476. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  36477. return new V.AtRootRule(null, t1, t2, t3);
  36478. }
  36479. },
  36480. _atRootQuery$0: function() {
  36481. var interpolation, t2, t3, t4, buffer, t5, _this = this,
  36482. t1 = _this.scanner;
  36483. if (t1.peekChar$0() === 35) {
  36484. interpolation = _this.singleInterpolation$0();
  36485. return X.Interpolation$(H.setRuntimeTypeInfo([interpolation], [P.Object]), interpolation.get$span());
  36486. }
  36487. t2 = t1._string_scanner$_position;
  36488. t3 = new P.StringBuffer("");
  36489. t4 = [];
  36490. buffer = new Z.InterpolationBuffer(t3, t4);
  36491. t1.expectChar$1(40);
  36492. t3._contents += H.Primitives_stringFromCharCode(40);
  36493. _this.whitespace$0();
  36494. t5 = _this.expression$0();
  36495. buffer._flushText$0();
  36496. t4.push(t5);
  36497. if (t1.scanChar$1(58)) {
  36498. _this.whitespace$0();
  36499. t3._contents += H.Primitives_stringFromCharCode(58);
  36500. t3._contents += H.Primitives_stringFromCharCode(32);
  36501. t5 = _this.expression$0();
  36502. buffer._flushText$0();
  36503. t4.push(t5);
  36504. }
  36505. t1.expectChar$1(41);
  36506. _this.whitespace$0();
  36507. t3._contents += H.Primitives_stringFromCharCode(41);
  36508. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  36509. },
  36510. _contentRule$1: function(start) {
  36511. var t1, $arguments, t2, t3, _this = this;
  36512. if (!_this._stylesheet$_inMixin)
  36513. _this.error$2("@content is only allowed within mixin declarations.", _this.scanner.spanFrom$1(start));
  36514. _this.whitespace$0();
  36515. t1 = _this.scanner;
  36516. if (t1.peekChar$0() === 40)
  36517. $arguments = _this._argumentInvocation$1$mixin(true);
  36518. else {
  36519. t2 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
  36520. t3 = t2.offset;
  36521. $arguments = new X.ArgumentInvocation(C.List_empty7, C.Map_empty4, null, null, Y._FileSpan$(t2.file, t3, t3));
  36522. }
  36523. _this._mixinHasContent = true;
  36524. _this.expectStatementSeparator$1("@content rule");
  36525. return new Q.ContentRule(t1.spanFrom$1(start), $arguments);
  36526. },
  36527. _debugRule$1: function(start) {
  36528. var value = this.expression$0();
  36529. this.expectStatementSeparator$1("@debug rule");
  36530. return new Q.DebugRule(value, this.scanner.spanFrom$1(start));
  36531. },
  36532. _eachRule$2: function(start, child) {
  36533. var variables, t1, _this = this,
  36534. wasInControlDirective = _this._inControlDirective;
  36535. _this._inControlDirective = true;
  36536. variables = H.setRuntimeTypeInfo([_this.variableName$0()], [P.String]);
  36537. _this.whitespace$0();
  36538. for (t1 = _this.scanner; t1.scanChar$1(44);) {
  36539. _this.whitespace$0();
  36540. t1.expectChar$1(36);
  36541. variables.push(_this.identifier$1$normalize(true));
  36542. _this.whitespace$0();
  36543. }
  36544. _this.expectIdentifier$1("in");
  36545. _this.whitespace$0();
  36546. return _this._withChildren$3(child, start, new V.StylesheetParser__eachRule_closure(_this, wasInControlDirective, variables, _this.expression$0()));
  36547. },
  36548. _errorRule$1: function(start) {
  36549. var value = this.expression$0();
  36550. this.expectStatementSeparator$1("@error rule");
  36551. return new D.ErrorRule(value, this.scanner.spanFrom$1(start));
  36552. },
  36553. _functionRule$1: function(start) {
  36554. var $name, $arguments, _this = this,
  36555. precedingComment = _this.lastSilentComment;
  36556. _this.lastSilentComment = null;
  36557. $name = _this.identifier$1$normalize(true);
  36558. _this.whitespace$0();
  36559. $arguments = _this._argumentDeclaration$0();
  36560. if (_this._stylesheet$_inMixin || _this._inContentBlock)
  36561. _this.error$2("Mixins may not contain function declarations.", _this.scanner.spanFrom$1(start));
  36562. else if (_this._inControlDirective)
  36563. _this.error$2("Functions may not be declared in control directives.", _this.scanner.spanFrom$1(start));
  36564. switch (B.unvendor($name)) {
  36565. case "calc":
  36566. case "element":
  36567. case "expression":
  36568. case "url":
  36569. case "and":
  36570. case "or":
  36571. case "not":
  36572. _this.error$2("Invalid function name.", _this.scanner.spanFrom$1(start));
  36573. break;
  36574. }
  36575. _this.whitespace$0();
  36576. return _this._withChildren$3(_this.get$_functionChild(), start, new V.StylesheetParser__functionRule_closure($name, $arguments, precedingComment));
  36577. },
  36578. _forRule$2: function(start, child) {
  36579. var variable, from, _this = this, t1 = {},
  36580. wasInControlDirective = _this._inControlDirective;
  36581. _this._inControlDirective = true;
  36582. variable = _this.variableName$0();
  36583. _this.whitespace$0();
  36584. _this.expectIdentifier$1("from");
  36585. _this.whitespace$0();
  36586. t1.exclusive = null;
  36587. from = _this.expression$1$until(new V.StylesheetParser__forRule_closure(t1, _this));
  36588. if (t1.exclusive == null)
  36589. _this.scanner.error$1('Expected "to" or "through".');
  36590. _this.whitespace$0();
  36591. return _this._withChildren$3(child, start, new V.StylesheetParser__forRule_closure0(t1, _this, wasInControlDirective, variable, from, _this.expression$0()));
  36592. },
  36593. _forwardRule$1: function(start) {
  36594. var prefix, members, shownMixinsAndFunctions, shownVariables, hiddenVariables, hiddenMixinsAndFunctions, span, t1, t2, _this = this, _null = null,
  36595. url = _this._urlString$0();
  36596. _this.whitespace$0();
  36597. if (_this.scanIdentifier$1("as")) {
  36598. _this.whitespace$0();
  36599. prefix = _this.identifier$1$normalize(true);
  36600. _this.scanner.expectChar$1(42);
  36601. _this.whitespace$0();
  36602. } else
  36603. prefix = _null;
  36604. if (_this.scanIdentifier$1("show")) {
  36605. members = _this._memberList$0();
  36606. shownMixinsAndFunctions = members.item1;
  36607. shownVariables = members.item2;
  36608. hiddenVariables = _null;
  36609. hiddenMixinsAndFunctions = hiddenVariables;
  36610. } else {
  36611. if (_this.scanIdentifier$1("hide")) {
  36612. members = _this._memberList$0();
  36613. hiddenMixinsAndFunctions = members.item1;
  36614. hiddenVariables = members.item2;
  36615. } else {
  36616. hiddenVariables = _null;
  36617. hiddenMixinsAndFunctions = hiddenVariables;
  36618. }
  36619. shownVariables = _null;
  36620. shownMixinsAndFunctions = shownVariables;
  36621. }
  36622. _this.expectStatementSeparator$1("@forward rule");
  36623. span = _this.scanner.spanFrom$1(start);
  36624. if (!_this._isUseAllowed)
  36625. _this.error$2("@forward rules must be written before any other rules.", span);
  36626. if (shownMixinsAndFunctions != null) {
  36627. t1 = P.String;
  36628. t2 = [t1];
  36629. return new L.ForwardRule(url, new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(shownMixinsAndFunctions, t1), t2), new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(shownVariables, t1), t2), _null, _null, prefix, span);
  36630. } else if (hiddenMixinsAndFunctions != null) {
  36631. t1 = P.String;
  36632. t2 = [t1];
  36633. return new L.ForwardRule(url, _null, _null, new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(hiddenMixinsAndFunctions, t1), t2), new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(hiddenVariables, t1), t2), prefix, span);
  36634. } else
  36635. return new L.ForwardRule(url, _null, _null, _null, _null, prefix, span);
  36636. },
  36637. _memberList$0: function() {
  36638. var _this = this,
  36639. t1 = P.String,
  36640. identifiers = P.LinkedHashSet_LinkedHashSet(t1),
  36641. variables = P.LinkedHashSet_LinkedHashSet(t1);
  36642. t1 = _this.scanner;
  36643. do {
  36644. _this.whitespace$0();
  36645. _this.withErrorMessage$2("Expected variable, mixin, or function name", new V.StylesheetParser__memberList_closure(_this, variables, identifiers));
  36646. _this.whitespace$0();
  36647. } while (t1.scanChar$1(44));
  36648. t1 = [P.Set, P.String];
  36649. return new S.Tuple2(identifiers, variables, [t1, t1]);
  36650. },
  36651. _ifRule$2: function(start, child) {
  36652. var condition, children, t1, t2, t3, clauses, lastClause, result, t4, span, _this = this,
  36653. ifIndentation = _this.get$currentIndentation(),
  36654. wasInControlDirective = _this._inControlDirective;
  36655. _this._inControlDirective = true;
  36656. condition = _this.expression$0();
  36657. children = _this.children$1(child);
  36658. _this.whitespaceWithoutComments$0();
  36659. t1 = O.Statement;
  36660. t2 = P.List_List$unmodifiable(children, t1);
  36661. t3 = V.IfClause;
  36662. clauses = H.setRuntimeTypeInfo([new V.IfClause(condition, t2, C.JSArray_methods.any$1(t2, new V.IfClause$__closure()))], [t3]);
  36663. while (true) {
  36664. if (!_this.scanElse$1(ifIndentation)) {
  36665. lastClause = null;
  36666. break;
  36667. }
  36668. _this.whitespace$0();
  36669. if (_this.scanIdentifier$1("if")) {
  36670. _this.whitespace$0();
  36671. t2 = _this.expression$0();
  36672. result = P.List_List$from(_this.children$1(child), false, t1);
  36673. result.fixed$length = Array;
  36674. result.immutable$list = Array;
  36675. t4 = result;
  36676. clauses.push(new V.IfClause(t2, t4, C.JSArray_methods.any$1(t4, new V.IfClause$__closure())));
  36677. } else {
  36678. result = P.List_List$from(_this.children$1(child), false, t1);
  36679. result.fixed$length = Array;
  36680. result.immutable$list = Array;
  36681. t1 = result;
  36682. lastClause = new V.IfClause(null, t1, C.JSArray_methods.any$1(t1, new V.IfClause$__closure()));
  36683. break;
  36684. }
  36685. }
  36686. _this._inControlDirective = wasInControlDirective;
  36687. span = _this.scanner.spanFrom$1(start);
  36688. _this.whitespaceWithoutComments$0();
  36689. return new V.IfRule(P.List_List$unmodifiable(clauses, t3), lastClause, span);
  36690. },
  36691. _importRule$1: function(start) {
  36692. var argument, _this = this,
  36693. t1 = F.Import,
  36694. imports = H.setRuntimeTypeInfo([], [t1]),
  36695. t2 = _this.scanner;
  36696. do {
  36697. _this.whitespace$0();
  36698. argument = _this.importArgument$0();
  36699. if ((_this._inControlDirective || _this._stylesheet$_inMixin) && argument instanceof B.DynamicImport)
  36700. _this._disallowedAtRule$1(start);
  36701. imports.push(argument);
  36702. _this.whitespace$0();
  36703. } while (t2.scanChar$1(44));
  36704. _this.expectStatementSeparator$1("@import rule");
  36705. t2 = t2.spanFrom$1(start);
  36706. return new B.ImportRule(P.List_List$unmodifiable(imports, t1), t2);
  36707. },
  36708. importArgument$0: function() {
  36709. var url, urlSpan, innerError, queries, t2, t3, t4, exception, _this = this, _null = null,
  36710. t1 = _this.scanner,
  36711. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  36712. next = t1.peekChar$0();
  36713. if (next === 117 || next === 85) {
  36714. url = _this.dynamicUrl$0();
  36715. _this.whitespace$0();
  36716. queries = _this.tryImportQueries$0();
  36717. t2 = X.Interpolation$(H.setRuntimeTypeInfo([url], [P.Object]), t1.spanFrom$1(start));
  36718. t1 = t1.spanFrom$1(start);
  36719. t3 = queries == null;
  36720. t4 = t3 ? _null : queries.item1;
  36721. return new Q.StaticImport(t2, t4, t3 ? _null : queries.item2, t1);
  36722. }
  36723. url = _this.string$0();
  36724. urlSpan = t1.spanFrom$1(start);
  36725. _this.whitespace$0();
  36726. queries = _this.tryImportQueries$0();
  36727. if (_this.isPlainImportUrl$1(url) || queries != null) {
  36728. t2 = urlSpan;
  36729. t2 = X.Interpolation$(H.setRuntimeTypeInfo([P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._start, t2._file$_end), 0, _null)], [P.Object]), urlSpan);
  36730. t1 = t1.spanFrom$1(start);
  36731. t3 = queries == null;
  36732. t4 = t3 ? _null : queries.item1;
  36733. return new Q.StaticImport(t2, t4, t3 ? _null : queries.item2, t1);
  36734. } else
  36735. try {
  36736. t1 = _this.parseImportUrl$1(url);
  36737. return new B.DynamicImport(t1, urlSpan);
  36738. } catch (exception) {
  36739. t1 = H.unwrapException(exception);
  36740. if (!!J.getInterceptor$(t1).$isFormatException) {
  36741. innerError = t1;
  36742. _this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), urlSpan);
  36743. } else
  36744. throw exception;
  36745. }
  36746. },
  36747. parseImportUrl$1: function(url) {
  36748. var t1 = $.$get$windows();
  36749. if (t1.style.rootLength$1(url) > 0)
  36750. return J.toString$0$(t1.toUri$1(url));
  36751. P.Uri_parse(url);
  36752. return url;
  36753. },
  36754. isPlainImportUrl$1: function(url) {
  36755. var first;
  36756. if (url.length < 5)
  36757. return false;
  36758. if (C.JSString_methods.endsWith$1(url, ".css"))
  36759. return true;
  36760. first = C.JSString_methods._codeUnitAt$1(url, 0);
  36761. if (first === 47)
  36762. return C.JSString_methods._codeUnitAt$1(url, 1) === 47;
  36763. if (first !== 104)
  36764. return false;
  36765. return C.JSString_methods.startsWith$1(url, "http://") || C.JSString_methods.startsWith$1(url, "https://");
  36766. },
  36767. tryImportQueries$0: function() {
  36768. var t1, start, supports, $name, media, _this = this;
  36769. if (_this.scanIdentifier$1("supports")) {
  36770. t1 = _this.scanner;
  36771. t1.expectChar$1(40);
  36772. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36773. if (_this.scanIdentifier$1("not")) {
  36774. _this.whitespace$0();
  36775. supports = new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(start));
  36776. } else if (t1.peekChar$0() === 40)
  36777. supports = _this._supportsCondition$0();
  36778. else {
  36779. $name = _this.expression$0();
  36780. t1.expectChar$1(58);
  36781. _this.whitespace$0();
  36782. supports = new L.SupportsDeclaration($name, _this.expression$0(), t1.spanFrom$1(start));
  36783. }
  36784. t1.expectChar$1(41);
  36785. _this.whitespace$0();
  36786. } else
  36787. supports = null;
  36788. media = _this._lookingAtInterpolatedIdentifier$0() || _this.scanner.peekChar$0() === 40 ? _this._mediaQueryList$0() : null;
  36789. if (supports == null && media == null)
  36790. return;
  36791. return new S.Tuple2(supports, media, [N.SupportsCondition, X.Interpolation]);
  36792. },
  36793. _includeRule$1: function(start) {
  36794. var name0, namespace, $arguments, t3, t4, wasInContentBlock, $content, _this = this, _null = null, t1 = {},
  36795. $name = _this.identifier$0(),
  36796. t2 = _this.scanner;
  36797. if (t2.scanChar$1(46)) {
  36798. name0 = _this._publicIdentifier$0();
  36799. namespace = $name;
  36800. $name = name0;
  36801. } else {
  36802. $name = H.stringReplaceAllUnchecked($name, "_", "-");
  36803. namespace = _null;
  36804. }
  36805. _this.whitespace$0();
  36806. if (t2.peekChar$0() === 40)
  36807. $arguments = _this._argumentInvocation$1$mixin(true);
  36808. else {
  36809. t3 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position);
  36810. t4 = t3.offset;
  36811. $arguments = new X.ArgumentInvocation(C.List_empty7, C.Map_empty4, _null, _null, Y._FileSpan$(t3.file, t4, t4));
  36812. }
  36813. _this.whitespace$0();
  36814. t1.contentArguments = null;
  36815. if (_this.scanIdentifier$1("using")) {
  36816. _this.whitespace$0();
  36817. t3 = t1.contentArguments = _this._argumentDeclaration$0();
  36818. _this.whitespace$0();
  36819. } else
  36820. t3 = _null;
  36821. if (t3 != null || _this.lookingAtChildren$0()) {
  36822. wasInContentBlock = _this._inContentBlock;
  36823. _this._inContentBlock = true;
  36824. $content = _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__includeRule_closure(t1, _this));
  36825. _this._inContentBlock = wasInContentBlock;
  36826. } else {
  36827. _this.expectStatementSeparator$0();
  36828. $content = _null;
  36829. }
  36830. t1 = t2.spanFrom$2(start, start);
  36831. return new A.IncludeRule(namespace, $name, $arguments, $content, t1.expand$1(0, ($content == null ? $arguments : $content).get$span()));
  36832. },
  36833. mediaRule$1: function(start) {
  36834. return this._withChildren$3(this.get$_statement(), start, new V.StylesheetParser_mediaRule_closure(this._mediaQueryList$0()));
  36835. },
  36836. _mixinRule$1: function(start) {
  36837. var $name, t1, $arguments, t2, t3, _this = this,
  36838. precedingComment = _this.lastSilentComment;
  36839. _this.lastSilentComment = null;
  36840. $name = _this.identifier$1$normalize(true);
  36841. _this.whitespace$0();
  36842. t1 = _this.scanner;
  36843. if (t1.peekChar$0() === 40)
  36844. $arguments = _this._argumentDeclaration$0();
  36845. else {
  36846. t2 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
  36847. t3 = t2.offset;
  36848. $arguments = new B.ArgumentDeclaration(C.List_empty8, null, Y._FileSpan$(t2.file, t3, t3));
  36849. }
  36850. if (_this._stylesheet$_inMixin || _this._inContentBlock)
  36851. _this.error$2("Mixins may not contain mixin declarations.", t1.spanFrom$1(start));
  36852. else if (_this._inControlDirective)
  36853. _this.error$2("Mixins may not be declared in control directives.", t1.spanFrom$1(start));
  36854. _this.whitespace$0();
  36855. _this._stylesheet$_inMixin = true;
  36856. _this._mixinHasContent = false;
  36857. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__mixinRule_closure(_this, $name, $arguments, precedingComment));
  36858. },
  36859. mozDocumentRule$2: function(start, $name) {
  36860. var t5, t6, identifier, contents, argument, trailing, endPosition, start0, end, _this = this, _box_0 = {},
  36861. t1 = _this.scanner,
  36862. t2 = t1._string_scanner$_position,
  36863. t3 = new P.StringBuffer(""),
  36864. t4 = [],
  36865. buffer = new Z.InterpolationBuffer(t3, t4);
  36866. _box_0.needsDeprecationWarning = false;
  36867. for (t5 = _this.get$whitespace(); true;) {
  36868. if (t1.peekChar$0() === 35) {
  36869. t6 = _this.singleInterpolation$0();
  36870. buffer._flushText$0();
  36871. t4.push(t6);
  36872. _box_0.needsDeprecationWarning = true;
  36873. } else {
  36874. t6 = t1._string_scanner$_position;
  36875. identifier = _this.identifier$0();
  36876. switch (identifier) {
  36877. case "url":
  36878. case "url-prefix":
  36879. case "domain":
  36880. contents = _this._tryUrlContents$2$name(new S._SpanScannerState(t1, t6), identifier);
  36881. if (contents != null)
  36882. buffer.addInterpolation$1(contents);
  36883. else {
  36884. t1.expectChar$1(40);
  36885. _this.whitespace$0();
  36886. argument = _this.interpolatedString$0();
  36887. t1.expectChar$1(41);
  36888. t3._contents += identifier;
  36889. t3._contents += H.Primitives_stringFromCharCode(40);
  36890. buffer.addInterpolation$1(argument.asInterpolation$0());
  36891. t3._contents += H.Primitives_stringFromCharCode(41);
  36892. }
  36893. t6 = t3._contents;
  36894. trailing = t6.charCodeAt(0) == 0 ? t6 : t6;
  36895. if (!C.JSString_methods.endsWith$1(trailing, "url-prefix()") && !C.JSString_methods.endsWith$1(trailing, "url-prefix('')") && !C.JSString_methods.endsWith$1(trailing, 'url-prefix("")'))
  36896. _box_0.needsDeprecationWarning = true;
  36897. break;
  36898. case "regexp":
  36899. t3._contents += "regexp(";
  36900. t1.expectChar$1(40);
  36901. buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
  36902. t1.expectChar$1(41);
  36903. t3._contents += H.Primitives_stringFromCharCode(41);
  36904. _box_0.needsDeprecationWarning = true;
  36905. break;
  36906. default:
  36907. endPosition = t1._string_scanner$_position;
  36908. _this.error$2("Invalid function name.", Y._FileSpan$(t1._sourceFile, t6, endPosition));
  36909. }
  36910. }
  36911. _this.whitespace$0();
  36912. if (!t1.scanChar$1(44))
  36913. break;
  36914. t3._contents += H.Primitives_stringFromCharCode(44);
  36915. start0 = t1._string_scanner$_position;
  36916. t5.call$0();
  36917. end = t1._string_scanner$_position;
  36918. t3._contents += J.substring$2$s(t1.string, start0, end);
  36919. }
  36920. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_mozDocumentRule_closure(_box_0, _this, $name, buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)))));
  36921. },
  36922. supportsRule$1: function(start) {
  36923. var _this = this,
  36924. condition = _this._supportsCondition$0();
  36925. _this.whitespace$0();
  36926. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_supportsRule_closure(condition));
  36927. },
  36928. _useRule$1: function(start) {
  36929. var namespace, configuration, span, t1, _this = this,
  36930. _s9_ = "@use rule",
  36931. url = _this._urlString$0();
  36932. _this.whitespace$0();
  36933. namespace = _this._useNamespace$2(url, start);
  36934. _this.whitespace$0();
  36935. configuration = _this._useConfiguration$0();
  36936. _this.expectStatementSeparator$1(_s9_);
  36937. span = _this.scanner.spanFrom$1(start);
  36938. if (!_this._isUseAllowed)
  36939. _this.error$2("@use rules must be written before any other rules.", span);
  36940. _this.expectStatementSeparator$1(_s9_);
  36941. t1 = configuration == null ? C.Map_empty5 : configuration;
  36942. return new T.UseRule(url, namespace, H.ConstantMap_ConstantMap$from(t1, P.String, [S.Tuple2, T.Expression, Y.FileSpan]), span);
  36943. },
  36944. _useNamespace$2: function(url, start) {
  36945. var namespace, basename, dot, t1, exception, _this = this;
  36946. if (_this.scanIdentifier$1("as")) {
  36947. _this.whitespace$0();
  36948. return _this.scanner.scanChar$1(42) ? null : _this.identifier$0();
  36949. }
  36950. basename = url.get$pathSegments().length === 0 ? "" : C.JSArray_methods.get$last(url.get$pathSegments());
  36951. dot = J.getInterceptor$asx(basename).indexOf$1(basename, ".");
  36952. namespace = C.JSString_methods.substring$2(basename, 0, dot === -1 ? basename.length : dot);
  36953. try {
  36954. t1 = G.Parser$(namespace, _this.logger, null)._parseIdentifier$0();
  36955. return t1;
  36956. } catch (exception) {
  36957. if (H.unwrapException(exception) instanceof E.SassFormatException)
  36958. _this.error$2('Invalid Sass identifier "' + H.S(namespace) + '"', _this.scanner.spanFrom$1(start));
  36959. else
  36960. throw exception;
  36961. }
  36962. },
  36963. _useConfiguration$0: function() {
  36964. var configuration, t1, t2, t3, $name, expression, endPosition, span, _this = this;
  36965. if (!_this.scanIdentifier$1("with"))
  36966. return;
  36967. configuration = P.LinkedHashMap_LinkedHashMap$_empty(P.String, [S.Tuple2, T.Expression, Y.FileSpan]);
  36968. _this.whitespace$0();
  36969. t1 = _this.scanner;
  36970. t1.expectChar$1(40);
  36971. for (t2 = [T.Expression, Y.FileSpan]; true;) {
  36972. _this.whitespace$0();
  36973. t3 = t1._string_scanner$_position;
  36974. t1.expectChar$1(36);
  36975. $name = _this.identifier$1$normalize(true);
  36976. _this.whitespace$0();
  36977. t1.expectChar$1(58);
  36978. _this.whitespace$0();
  36979. expression = _this._expressionUntilComma$0();
  36980. endPosition = t1._string_scanner$_position;
  36981. span = Y._FileSpan$(t1._sourceFile, t3, endPosition);
  36982. if (configuration.containsKey$1($name))
  36983. _this.error$2("The same variable may only be configured once.", span);
  36984. configuration.$indexSet(0, $name, new S.Tuple2(expression, span, t2));
  36985. if (!t1.scanChar$1(44))
  36986. break;
  36987. _this.whitespace$0();
  36988. if (!_this._lookingAtExpression$0())
  36989. break;
  36990. }
  36991. t1.expectChar$1(41);
  36992. return configuration;
  36993. },
  36994. _warnRule$1: function(start) {
  36995. var value = this.expression$0();
  36996. this.expectStatementSeparator$1("@warn rule");
  36997. return new Y.WarnRule(value, this.scanner.spanFrom$1(start));
  36998. },
  36999. _whileRule$2: function(start, child) {
  37000. var _this = this,
  37001. wasInControlDirective = _this._inControlDirective;
  37002. _this._inControlDirective = true;
  37003. return _this._withChildren$3(child, start, new V.StylesheetParser__whileRule_closure(_this, wasInControlDirective, _this.expression$0()));
  37004. },
  37005. unknownAtRule$2: function(start, $name) {
  37006. var t2, t3, rule, _this = this, t1 = {},
  37007. wasInUnknownAtRule = _this._stylesheet$_inUnknownAtRule;
  37008. _this._stylesheet$_inUnknownAtRule = true;
  37009. t1.value = null;
  37010. t2 = _this.scanner;
  37011. t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this.almostAnyValue$0() : null;
  37012. if (_this.lookingAtChildren$0())
  37013. rule = _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_unknownAtRule_closure(t1, $name));
  37014. else {
  37015. _this.expectStatementSeparator$0();
  37016. rule = U.AtRule$($name, t2.spanFrom$1(start), null, t3);
  37017. }
  37018. _this._stylesheet$_inUnknownAtRule = wasInUnknownAtRule;
  37019. return rule;
  37020. },
  37021. _disallowedAtRule$1: function(start) {
  37022. this.almostAnyValue$0();
  37023. this.error$2("This at-rule is not allowed here.", this.scanner.spanFrom$1(start));
  37024. },
  37025. _argumentDeclaration$0: function() {
  37026. var t3, $arguments, named, restArgument, t4, $name, defaultValue, endPosition, _this = this,
  37027. t1 = _this.scanner,
  37028. t2 = t1._string_scanner$_position;
  37029. t1.expectChar$1(40);
  37030. _this.whitespace$0();
  37031. t3 = Z.Argument;
  37032. $arguments = H.setRuntimeTypeInfo([], [t3]);
  37033. named = P.LinkedHashSet_LinkedHashSet$_empty(P.String);
  37034. while (true) {
  37035. if (!(t1.peekChar$0() === 36)) {
  37036. restArgument = null;
  37037. break;
  37038. }
  37039. t4 = t1._string_scanner$_position;
  37040. t1.expectChar$1(36);
  37041. $name = _this.identifier$1$normalize(true);
  37042. _this.whitespace$0();
  37043. if (t1.scanChar$1(58)) {
  37044. _this.whitespace$0();
  37045. defaultValue = _this._expressionUntilComma$0();
  37046. } else {
  37047. if (t1.scanChar$1(46)) {
  37048. t1.expectChar$1(46);
  37049. t1.expectChar$1(46);
  37050. _this.whitespace$0();
  37051. restArgument = $name;
  37052. break;
  37053. }
  37054. defaultValue = null;
  37055. }
  37056. endPosition = t1._string_scanner$_position;
  37057. $arguments.push(new Z.Argument($name, defaultValue, Y._FileSpan$(t1._sourceFile, t4, endPosition)));
  37058. if (!named.add$1(0, $name))
  37059. _this.error$2("Duplicate argument.", C.JSArray_methods.get$last($arguments).span);
  37060. if (!t1.scanChar$1(44)) {
  37061. restArgument = null;
  37062. break;
  37063. }
  37064. _this.whitespace$0();
  37065. }
  37066. t1.expectChar$1(41);
  37067. t1 = t1.spanFrom$1(new S._SpanScannerState(t1, t2));
  37068. return new B.ArgumentDeclaration(P.List_List$unmodifiable($arguments, t3), restArgument, t1);
  37069. },
  37070. _argumentInvocation$1$mixin: function(mixin) {
  37071. var t3, positional, named, keywordRest, rest, expression, t4, _this = this,
  37072. t1 = _this.scanner,
  37073. t2 = t1._string_scanner$_position;
  37074. t1.expectChar$1(40);
  37075. _this.whitespace$0();
  37076. t3 = T.Expression;
  37077. positional = H.setRuntimeTypeInfo([], [t3]);
  37078. named = P.LinkedHashMap_LinkedHashMap$_empty(P.String, t3);
  37079. t3 = !mixin;
  37080. rest = null;
  37081. while (true) {
  37082. if (!_this._lookingAtExpression$0()) {
  37083. keywordRest = null;
  37084. break;
  37085. }
  37086. expression = _this._expressionUntilComma$1$singleEquals(t3);
  37087. _this.whitespace$0();
  37088. if (expression instanceof S.VariableExpression && t1.scanChar$1(58)) {
  37089. _this.whitespace$0();
  37090. t4 = expression.name;
  37091. if (named.containsKey$1(t4))
  37092. _this.error$2("Duplicate argument.", expression.span);
  37093. named.$indexSet(0, t4, _this._expressionUntilComma$1$singleEquals(t3));
  37094. } else if (t1.scanChar$1(46)) {
  37095. t1.expectChar$1(46);
  37096. t1.expectChar$1(46);
  37097. if (rest != null) {
  37098. _this.whitespace$0();
  37099. keywordRest = expression;
  37100. break;
  37101. }
  37102. rest = expression;
  37103. } else if (named.get$isNotEmpty(named))
  37104. t1.expect$1("...");
  37105. else
  37106. positional.push(expression);
  37107. _this.whitespace$0();
  37108. if (!t1.scanChar$1(44)) {
  37109. keywordRest = null;
  37110. break;
  37111. }
  37112. _this.whitespace$0();
  37113. }
  37114. t1.expectChar$1(41);
  37115. return X.ArgumentInvocation$(positional, named, t1.spanFrom$1(new S._SpanScannerState(t1, t2)), keywordRest, rest);
  37116. },
  37117. _argumentInvocation$0: function() {
  37118. return this._argumentInvocation$1$mixin(false);
  37119. },
  37120. expression$3$bracketList$singleEquals$until: function(bracketList, singleEquals, until) {
  37121. var t2, beforeBracket, t3, wasInParentheses, resetState, resolveOneOperation, resolveOperations, addSingleExpression, addOperator, resolveSpaceExpressions, t4, first, next, t5, _this = this,
  37122. _s20_ = "Expected expression.",
  37123. _box_0 = {},
  37124. t1 = until != null;
  37125. if (t1 && until.call$0())
  37126. _this.scanner.error$1(_s20_);
  37127. if (bracketList) {
  37128. t2 = _this.scanner;
  37129. beforeBracket = new S._SpanScannerState(t2, t2._string_scanner$_position);
  37130. t2.expectChar$1(91);
  37131. _this.whitespace$0();
  37132. if (t2.scanChar$1(93)) {
  37133. t1 = T.Expression;
  37134. t3 = H.setRuntimeTypeInfo([], [t1]);
  37135. t2 = t2.spanFrom$1(beforeBracket);
  37136. t1 = P.List_List$unmodifiable(t3, t1);
  37137. return new D.ListExpression(t1, C.ListSeparator_undecided, true, t2);
  37138. }
  37139. } else
  37140. beforeBracket = null;
  37141. t2 = _this.scanner;
  37142. t3 = t2._string_scanner$_position;
  37143. wasInParentheses = _this._inParentheses;
  37144. _box_0.operands = _box_0.operators = _box_0.spaceExpressions = _box_0.singleEqualsOperand = _box_0.commaExpressions = null;
  37145. _box_0.allowSlash = _this.lookingAtNumber$0();
  37146. _box_0.singleExpression = _this._singleExpression$0();
  37147. resetState = new V.StylesheetParser_expression_resetState(_box_0, _this, new S._SpanScannerState(t2, t3));
  37148. resolveOneOperation = new V.StylesheetParser_expression_resolveOneOperation(_box_0, _this);
  37149. resolveOperations = new V.StylesheetParser_expression_resolveOperations(_box_0, resolveOneOperation);
  37150. addSingleExpression = new V.StylesheetParser_expression_addSingleExpression(_box_0, _this, resetState, resolveOperations);
  37151. addOperator = new V.StylesheetParser_expression_addOperator(_box_0, _this, resolveOneOperation);
  37152. resolveSpaceExpressions = new V.StylesheetParser_expression_resolveSpaceExpressions(_box_0, resolveOperations);
  37153. $label0$0:
  37154. for (t3 = T.Expression, t4 = [t3]; true;) {
  37155. _this.whitespace$0();
  37156. if (t1 && until.call$0())
  37157. break $label0$0;
  37158. first = t2.peekChar$0();
  37159. switch (first) {
  37160. case 40:
  37161. addSingleExpression.call$1(_this._parentheses$0());
  37162. break;
  37163. case 91:
  37164. addSingleExpression.call$1(_this.expression$1$bracketList(true));
  37165. break;
  37166. case 36:
  37167. addSingleExpression.call$1(_this._variable$0());
  37168. break;
  37169. case 38:
  37170. addSingleExpression.call$1(_this._selector$0());
  37171. break;
  37172. case 39:
  37173. case 34:
  37174. addSingleExpression.call$1(_this.interpolatedString$0());
  37175. break;
  37176. case 35:
  37177. addSingleExpression.call$1(_this._hashExpression$0());
  37178. break;
  37179. case 61:
  37180. t2.readChar$0();
  37181. if (singleEquals && t2.peekChar$0() !== 61) {
  37182. resolveSpaceExpressions.call$0();
  37183. _box_0.singleEqualsOperand = _box_0.singleExpression;
  37184. _box_0.singleExpression = null;
  37185. } else {
  37186. t2.expectChar$1(61);
  37187. addOperator.call$1(C.BinaryOperator_YlX);
  37188. }
  37189. break;
  37190. case 33:
  37191. next = t2.peekChar$1(1);
  37192. if (next === 61) {
  37193. t2.readChar$0();
  37194. t2.readChar$0();
  37195. addOperator.call$1(C.BinaryOperator_i5H);
  37196. } else {
  37197. if (next != null)
  37198. if ((next | 32) !== 105)
  37199. t5 = next === 32 || next === 9 || next === 10 || next === 13 || next === 12;
  37200. else
  37201. t5 = true;
  37202. else
  37203. t5 = true;
  37204. if (t5)
  37205. addSingleExpression.call$1(_this._importantExpression$0());
  37206. else
  37207. break $label0$0;
  37208. }
  37209. break;
  37210. case 60:
  37211. t2.readChar$0();
  37212. addOperator.call$1(t2.scanChar$1(61) ? C.BinaryOperator_33h : C.BinaryOperator_8qt);
  37213. break;
  37214. case 62:
  37215. t2.readChar$0();
  37216. addOperator.call$1(t2.scanChar$1(61) ? C.BinaryOperator_1da : C.BinaryOperator_AcR);
  37217. break;
  37218. case 42:
  37219. t2.readChar$0();
  37220. addOperator.call$1(C.BinaryOperator_O1M);
  37221. break;
  37222. case 43:
  37223. if (_box_0.singleExpression == null)
  37224. addSingleExpression.call$1(_this._unaryOperation$0());
  37225. else {
  37226. t2.readChar$0();
  37227. addOperator.call$1(C.BinaryOperator_AcR0);
  37228. }
  37229. break;
  37230. case 45:
  37231. next = t2.peekChar$1(1);
  37232. if (next != null && next >= 48 && next <= 57 || next === 46)
  37233. if (_box_0.singleExpression != null) {
  37234. t5 = t2.peekChar$1(-1);
  37235. t5 = t5 === 32 || t5 === 9 || t5 === 10 || t5 === 13 || t5 === 12;
  37236. } else
  37237. t5 = true;
  37238. else
  37239. t5 = false;
  37240. if (t5)
  37241. addSingleExpression.call$2$number(_this._number$0(), true);
  37242. else if (_this._lookingAtInterpolatedIdentifier$0())
  37243. addSingleExpression.call$1(_this.identifierLike$0());
  37244. else if (_box_0.singleExpression == null)
  37245. addSingleExpression.call$1(_this._unaryOperation$0());
  37246. else {
  37247. t2.readChar$0();
  37248. addOperator.call$1(C.BinaryOperator_iyO);
  37249. }
  37250. break;
  37251. case 47:
  37252. if (_box_0.singleExpression == null)
  37253. addSingleExpression.call$1(_this._unaryOperation$0());
  37254. else {
  37255. t2.readChar$0();
  37256. addOperator.call$1(C.BinaryOperator_RTB);
  37257. }
  37258. break;
  37259. case 37:
  37260. t2.readChar$0();
  37261. addOperator.call$1(C.BinaryOperator_2ad);
  37262. break;
  37263. case 48:
  37264. case 49:
  37265. case 50:
  37266. case 51:
  37267. case 52:
  37268. case 53:
  37269. case 54:
  37270. case 55:
  37271. case 56:
  37272. case 57:
  37273. addSingleExpression.call$2$number(_this._number$0(), true);
  37274. break;
  37275. case 46:
  37276. if (t2.peekChar$1(1) === 46)
  37277. break $label0$0;
  37278. addSingleExpression.call$2$number(_this._number$0(), true);
  37279. break;
  37280. case 97:
  37281. if (!_this.get$plainCss() && _this.scanIdentifier$1("and"))
  37282. addOperator.call$1(C.BinaryOperator_and_and_2);
  37283. else
  37284. addSingleExpression.call$1(_this.identifierLike$0());
  37285. break;
  37286. case 111:
  37287. if (!_this.get$plainCss() && _this.scanIdentifier$1("or"))
  37288. addOperator.call$1(C.BinaryOperator_or_or_1);
  37289. else
  37290. addSingleExpression.call$1(_this.identifierLike$0());
  37291. break;
  37292. case 117:
  37293. case 85:
  37294. if (t2.peekChar$1(1) === 43)
  37295. addSingleExpression.call$1(_this._unicodeRange$0());
  37296. else
  37297. addSingleExpression.call$1(_this.identifierLike$0());
  37298. break;
  37299. case 98:
  37300. case 99:
  37301. case 100:
  37302. case 101:
  37303. case 102:
  37304. case 103:
  37305. case 104:
  37306. case 105:
  37307. case 106:
  37308. case 107:
  37309. case 108:
  37310. case 109:
  37311. case 110:
  37312. case 112:
  37313. case 113:
  37314. case 114:
  37315. case 115:
  37316. case 116:
  37317. case 118:
  37318. case 119:
  37319. case 120:
  37320. case 121:
  37321. case 122:
  37322. case 65:
  37323. case 66:
  37324. case 67:
  37325. case 68:
  37326. case 69:
  37327. case 70:
  37328. case 71:
  37329. case 72:
  37330. case 73:
  37331. case 74:
  37332. case 75:
  37333. case 76:
  37334. case 77:
  37335. case 78:
  37336. case 79:
  37337. case 80:
  37338. case 81:
  37339. case 82:
  37340. case 83:
  37341. case 84:
  37342. case 86:
  37343. case 87:
  37344. case 88:
  37345. case 89:
  37346. case 90:
  37347. case 95:
  37348. case 92:
  37349. addSingleExpression.call$1(_this.identifierLike$0());
  37350. break;
  37351. case 44:
  37352. if (_this._inParentheses) {
  37353. _this._inParentheses = false;
  37354. if (_box_0.allowSlash) {
  37355. resetState.call$0();
  37356. break;
  37357. }
  37358. }
  37359. if (_box_0.commaExpressions == null)
  37360. _box_0.commaExpressions = H.setRuntimeTypeInfo([], t4);
  37361. if (_box_0.singleExpression == null)
  37362. t2.error$1(_s20_);
  37363. resolveSpaceExpressions.call$0();
  37364. _box_0.commaExpressions.push(_box_0.singleExpression);
  37365. t2.readChar$0();
  37366. _box_0.allowSlash = true;
  37367. _box_0.singleExpression = null;
  37368. break;
  37369. default:
  37370. if (first != null && first >= 128) {
  37371. addSingleExpression.call$1(_this.identifierLike$0());
  37372. break;
  37373. } else
  37374. break $label0$0;
  37375. }
  37376. }
  37377. if (bracketList)
  37378. t2.expectChar$1(93);
  37379. if (_box_0.commaExpressions != null) {
  37380. resolveSpaceExpressions.call$0();
  37381. _this._inParentheses = wasInParentheses;
  37382. t1 = _box_0.singleExpression;
  37383. if (t1 != null)
  37384. _box_0.commaExpressions.push(t1);
  37385. t1 = _box_0.commaExpressions;
  37386. t2 = bracketList ? t2.spanFrom$1(beforeBracket) : null;
  37387. t3 = P.List_List$unmodifiable(t1, t3);
  37388. return new D.ListExpression(t3, C.ListSeparator_comma, bracketList, t2 == null ? B.spanForList(t3) : t2);
  37389. } else if (bracketList && _box_0.spaceExpressions != null && _box_0.singleEqualsOperand == null) {
  37390. resolveOperations.call$0();
  37391. t1 = _box_0.spaceExpressions;
  37392. t1.push(_box_0.singleExpression);
  37393. t2 = t2.spanFrom$1(beforeBracket);
  37394. t3 = P.List_List$unmodifiable(t1, t3);
  37395. return new D.ListExpression(t3, C.ListSeparator_space, true, t2);
  37396. } else {
  37397. resolveSpaceExpressions.call$0();
  37398. if (bracketList) {
  37399. t1 = H.setRuntimeTypeInfo([_box_0.singleExpression], t4);
  37400. t2 = t2.spanFrom$1(beforeBracket);
  37401. t3 = P.List_List$unmodifiable(t1, t3);
  37402. _box_0.singleExpression = new D.ListExpression(t3, C.ListSeparator_undecided, true, t2);
  37403. }
  37404. return _box_0.singleExpression;
  37405. }
  37406. },
  37407. expression$0: function() {
  37408. return this.expression$3$bracketList$singleEquals$until(false, false, null);
  37409. },
  37410. expression$2$singleEquals$until: function(singleEquals, until) {
  37411. return this.expression$3$bracketList$singleEquals$until(false, singleEquals, until);
  37412. },
  37413. expression$1$bracketList: function(bracketList) {
  37414. return this.expression$3$bracketList$singleEquals$until(bracketList, false, null);
  37415. },
  37416. expression$1$singleEquals: function(singleEquals) {
  37417. return this.expression$3$bracketList$singleEquals$until(false, singleEquals, null);
  37418. },
  37419. expression$1$until: function(until) {
  37420. return this.expression$3$bracketList$singleEquals$until(false, false, until);
  37421. },
  37422. _expressionUntilComma$1$singleEquals: function(singleEquals) {
  37423. return this.expression$2$singleEquals$until(singleEquals, new V.StylesheetParser__expressionUntilComma_closure(this));
  37424. },
  37425. _expressionUntilComma$0: function() {
  37426. return this._expressionUntilComma$1$singleEquals(false);
  37427. },
  37428. _singleExpression$0: function() {
  37429. var next, _this = this,
  37430. t1 = _this.scanner,
  37431. first = t1.peekChar$0();
  37432. switch (first) {
  37433. case 40:
  37434. return _this._parentheses$0();
  37435. case 47:
  37436. return _this._unaryOperation$0();
  37437. case 46:
  37438. return _this._number$0();
  37439. case 91:
  37440. return _this.expression$1$bracketList(true);
  37441. case 36:
  37442. return _this._variable$0();
  37443. case 38:
  37444. return _this._selector$0();
  37445. case 39:
  37446. case 34:
  37447. return _this.interpolatedString$0();
  37448. case 35:
  37449. return _this._hashExpression$0();
  37450. case 43:
  37451. next = t1.peekChar$1(1);
  37452. return T.isDigit(next) || next === 46 ? _this._number$0() : _this._unaryOperation$0();
  37453. case 45:
  37454. return _this._minusExpression$0();
  37455. case 33:
  37456. return _this._importantExpression$0();
  37457. case 117:
  37458. case 85:
  37459. if (t1.peekChar$1(1) === 43)
  37460. return _this._unicodeRange$0();
  37461. else
  37462. return _this.identifierLike$0();
  37463. case 48:
  37464. case 49:
  37465. case 50:
  37466. case 51:
  37467. case 52:
  37468. case 53:
  37469. case 54:
  37470. case 55:
  37471. case 56:
  37472. case 57:
  37473. return _this._number$0();
  37474. case 97:
  37475. case 98:
  37476. case 99:
  37477. case 100:
  37478. case 101:
  37479. case 102:
  37480. case 103:
  37481. case 104:
  37482. case 105:
  37483. case 106:
  37484. case 107:
  37485. case 108:
  37486. case 109:
  37487. case 110:
  37488. case 111:
  37489. case 112:
  37490. case 113:
  37491. case 114:
  37492. case 115:
  37493. case 116:
  37494. case 118:
  37495. case 119:
  37496. case 120:
  37497. case 121:
  37498. case 122:
  37499. case 65:
  37500. case 66:
  37501. case 67:
  37502. case 68:
  37503. case 69:
  37504. case 70:
  37505. case 71:
  37506. case 72:
  37507. case 73:
  37508. case 74:
  37509. case 75:
  37510. case 76:
  37511. case 77:
  37512. case 78:
  37513. case 79:
  37514. case 80:
  37515. case 81:
  37516. case 82:
  37517. case 83:
  37518. case 84:
  37519. case 86:
  37520. case 87:
  37521. case 88:
  37522. case 89:
  37523. case 90:
  37524. case 95:
  37525. case 92:
  37526. return _this.identifierLike$0();
  37527. default:
  37528. if (first != null && first >= 128)
  37529. return _this.identifierLike$0();
  37530. t1.error$1("Expected expression.");
  37531. }
  37532. },
  37533. _parentheses$0: function() {
  37534. var wasInParentheses, start, first, expressions, t1, t2, t3, _this = this;
  37535. if (_this.get$plainCss())
  37536. _this.scanner.error$2$length("Parentheses aren't allowed in plain CSS.", 1);
  37537. wasInParentheses = _this._inParentheses;
  37538. _this._inParentheses = true;
  37539. try {
  37540. t1 = _this.scanner;
  37541. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37542. t1.expectChar$1(40);
  37543. _this.whitespace$0();
  37544. if (!_this._lookingAtExpression$0()) {
  37545. t1.expectChar$1(41);
  37546. t2 = T.Expression;
  37547. t3 = H.setRuntimeTypeInfo([], [t2]);
  37548. t1 = t1.spanFrom$1(start);
  37549. t2 = P.List_List$unmodifiable(t3, t2);
  37550. return new D.ListExpression(t2, C.ListSeparator_undecided, false, t1);
  37551. }
  37552. first = _this._expressionUntilComma$0();
  37553. if (t1.scanChar$1(58)) {
  37554. _this.whitespace$0();
  37555. t1 = _this._stylesheet$_map$2(first, start);
  37556. return t1;
  37557. }
  37558. if (!t1.scanChar$1(44)) {
  37559. t1.expectChar$1(41);
  37560. t1 = t1.spanFrom$1(start);
  37561. return new T.ParenthesizedExpression(first, t1);
  37562. }
  37563. _this.whitespace$0();
  37564. t2 = T.Expression;
  37565. expressions = H.setRuntimeTypeInfo([first], [t2]);
  37566. for (; true;) {
  37567. if (!_this._lookingAtExpression$0())
  37568. break;
  37569. J.add$1$ax(expressions, _this._expressionUntilComma$0());
  37570. if (!t1.scanChar$1(44))
  37571. break;
  37572. _this.whitespace$0();
  37573. }
  37574. t1.expectChar$1(41);
  37575. t1 = t1.spanFrom$1(start);
  37576. t2 = P.List_List$unmodifiable(expressions, t2);
  37577. return new D.ListExpression(t2, C.ListSeparator_comma, false, t1);
  37578. } finally {
  37579. _this._inParentheses = wasInParentheses;
  37580. }
  37581. },
  37582. _stylesheet$_map$2: function(first, start) {
  37583. var t2, pairs, t3, key, _this = this,
  37584. t1 = T.Expression;
  37585. t1 = [t1, t1];
  37586. t2 = [S.Tuple2, T.Expression, T.Expression];
  37587. pairs = H.setRuntimeTypeInfo([new S.Tuple2(first, _this._expressionUntilComma$0(), t1)], [t2]);
  37588. for (t3 = _this.scanner; t3.scanChar$1(44);) {
  37589. _this.whitespace$0();
  37590. if (!_this._lookingAtExpression$0())
  37591. break;
  37592. key = _this._expressionUntilComma$0();
  37593. t3.expectChar$1(58);
  37594. _this.whitespace$0();
  37595. pairs.push(new S.Tuple2(key, _this._expressionUntilComma$0(), t1));
  37596. }
  37597. t3.expectChar$1(41);
  37598. t1 = t3.spanFrom$1(start);
  37599. return new A.MapExpression(P.List_List$unmodifiable(pairs, t2), t1);
  37600. },
  37601. _hashExpression$0: function() {
  37602. var start, first, t2, identifier, buffer, _this = this,
  37603. t1 = _this.scanner;
  37604. if (t1.peekChar$1(1) === 123)
  37605. return _this.identifierLike$0();
  37606. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37607. t1.expectChar$1(35);
  37608. first = t1.peekChar$0();
  37609. if (first != null && T.isDigit(first))
  37610. return new K.ColorExpression(_this._hexColorContents$1(start));
  37611. t2 = t1._string_scanner$_position;
  37612. identifier = _this.interpolatedIdentifier$0();
  37613. if (_this._isHexColor$1(identifier)) {
  37614. t1.set$state(new S._SpanScannerState(t1, t2));
  37615. return new K.ColorExpression(_this._hexColorContents$1(start));
  37616. }
  37617. t2 = new P.StringBuffer("");
  37618. buffer = new Z.InterpolationBuffer(t2, []);
  37619. t2._contents += H.Primitives_stringFromCharCode(35);
  37620. buffer.addInterpolation$1(identifier);
  37621. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
  37622. },
  37623. _hexColorContents$1: function(start) {
  37624. var red, green, blue, alpha, digit4, t2, t3, _this = this,
  37625. digit1 = _this._hexDigit$0(),
  37626. digit2 = _this._hexDigit$0(),
  37627. digit3 = _this._hexDigit$0(),
  37628. t1 = _this.scanner;
  37629. if (!T.isHex(t1.peekChar$0())) {
  37630. red = (digit1 << 4 >>> 0) + digit1;
  37631. green = (digit2 << 4 >>> 0) + digit2;
  37632. blue = (digit3 << 4 >>> 0) + digit3;
  37633. alpha = 1;
  37634. } else {
  37635. digit4 = _this._hexDigit$0();
  37636. t2 = digit1 << 4 >>> 0;
  37637. t3 = digit3 << 4 >>> 0;
  37638. if (!T.isHex(t1.peekChar$0())) {
  37639. red = t2 + digit1;
  37640. green = (digit2 << 4 >>> 0) + digit2;
  37641. blue = t3 + digit3;
  37642. alpha = ((digit4 << 4 >>> 0) + digit4) / 255;
  37643. } else {
  37644. red = t2 + digit2;
  37645. green = t3 + digit4;
  37646. blue = (_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0();
  37647. alpha = T.isHex(t1.peekChar$0()) ? ((_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0()) / 255 : 1;
  37648. }
  37649. }
  37650. return K.SassColor$rgb(red, green, blue, alpha, t1.spanFrom$1(start));
  37651. },
  37652. _isHexColor$1: function(interpolation) {
  37653. var t1,
  37654. plain = interpolation.get$asPlain();
  37655. if (plain == null)
  37656. return false;
  37657. t1 = plain.length;
  37658. if (t1 !== 3 && t1 !== 4 && t1 !== 6 && t1 !== 8)
  37659. return false;
  37660. t1 = new H.CodeUnits(plain);
  37661. return t1.every$1(t1, T.character__isHex$closure());
  37662. },
  37663. _hexDigit$0: function() {
  37664. var t1 = this.scanner,
  37665. char = t1.peekChar$0();
  37666. if (char == null || !T.isHex(char))
  37667. t1.error$1("Expected hex digit.");
  37668. return T.asHex(t1.readChar$0());
  37669. },
  37670. _minusExpression$0: function() {
  37671. var _this = this,
  37672. next = _this.scanner.peekChar$1(1);
  37673. if (T.isDigit(next) || next === 46)
  37674. return _this._number$0();
  37675. if (_this._lookingAtInterpolatedIdentifier$0())
  37676. return _this.identifierLike$0();
  37677. return _this._unaryOperation$0();
  37678. },
  37679. _importantExpression$0: function() {
  37680. var t1 = this.scanner,
  37681. t2 = t1._string_scanner$_position;
  37682. t1.readChar$0();
  37683. this.whitespace$0();
  37684. this.expectIdentifier$1("important");
  37685. t2 = t1.spanFrom$1(new S._SpanScannerState(t1, t2));
  37686. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo(["!important"], [P.Object]), t2), false);
  37687. },
  37688. _unaryOperation$0: function() {
  37689. var _this = this,
  37690. t1 = _this.scanner,
  37691. t2 = t1._string_scanner$_position,
  37692. operator = _this._unaryOperatorFor$1(t1.readChar$0());
  37693. if (operator == null)
  37694. t1.error$2$position("Expected unary operator.", t1._string_scanner$_position - 1);
  37695. else if (_this.get$plainCss() && operator !== C.UnaryOperator_zDx)
  37696. t1.error$3$length$position("Operators aren't allowed in plain CSS.", 1, t1._string_scanner$_position - 1);
  37697. _this.whitespace$0();
  37698. return new X.UnaryOperationExpression(operator, _this._singleExpression$0(), t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  37699. },
  37700. _unaryOperatorFor$1: function(character) {
  37701. switch (character) {
  37702. case 43:
  37703. return C.UnaryOperator_j2w;
  37704. case 45:
  37705. return C.UnaryOperator_U4G;
  37706. case 47:
  37707. return C.UnaryOperator_zDx;
  37708. default:
  37709. return;
  37710. }
  37711. },
  37712. _number$0: function() {
  37713. var number, t4, unit, t5, _this = this,
  37714. t1 = _this.scanner,
  37715. t2 = t1._string_scanner$_position,
  37716. first = t1.peekChar$0(),
  37717. t3 = first === 45,
  37718. sign = t3 ? -1 : 1;
  37719. if (first === 43 || t3)
  37720. t1.readChar$0();
  37721. number = t1.peekChar$0() === 46 ? 0 : _this.naturalNumber$0();
  37722. t3 = _this._tryDecimal$1$allowTrailingDot(t1._string_scanner$_position !== t2);
  37723. t4 = _this._tryExponent$0();
  37724. if (t1.scanChar$1(37))
  37725. unit = "%";
  37726. else {
  37727. if (_this.lookingAtIdentifier$0())
  37728. t5 = t1.peekChar$0() !== 45 || t1.peekChar$1(1) !== 45;
  37729. else
  37730. t5 = false;
  37731. unit = t5 ? _this.identifier$1$unit(true) : null;
  37732. }
  37733. return new T.NumberExpression(sign * ((number + t3) * t4), unit, t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  37734. },
  37735. _tryDecimal$1$allowTrailingDot: function(allowTrailingDot) {
  37736. var t2,
  37737. t1 = this.scanner,
  37738. start = t1._string_scanner$_position;
  37739. if (t1.peekChar$0() !== 46)
  37740. return 0;
  37741. if (!T.isDigit(t1.peekChar$1(1))) {
  37742. if (allowTrailingDot)
  37743. return 0;
  37744. t1.error$2$position("Expected digit.", t1._string_scanner$_position + 1);
  37745. }
  37746. t1.readChar$0();
  37747. while (true) {
  37748. t2 = t1.peekChar$0();
  37749. if (!(t2 != null && t2 >= 48 && t2 <= 57))
  37750. break;
  37751. t1.readChar$0();
  37752. }
  37753. return P.double_parse(t1.substring$1(0, start));
  37754. },
  37755. _tryExponent$0: function() {
  37756. var next, t2, exponentSign, exponent,
  37757. t1 = this.scanner,
  37758. first = t1.peekChar$0();
  37759. if (first !== 101 && first !== 69)
  37760. return 1;
  37761. next = t1.peekChar$1(1);
  37762. if (!T.isDigit(next) && next !== 45 && next !== 43)
  37763. return 1;
  37764. t1.readChar$0();
  37765. t2 = next === 45;
  37766. exponentSign = t2 ? -1 : 1;
  37767. if (next === 43 || t2)
  37768. t1.readChar$0();
  37769. if (!T.isDigit(t1.peekChar$0()))
  37770. t1.error$1("Expected digit.");
  37771. exponent = 0;
  37772. while (true) {
  37773. t2 = t1.peekChar$0();
  37774. if (!(t2 != null && t2 >= 48 && t2 <= 57))
  37775. break;
  37776. exponent = exponent * 10 + (t1.readChar$0() - 48);
  37777. }
  37778. return Math.pow(10, exponentSign * exponent);
  37779. },
  37780. _unicodeRange$0: function() {
  37781. var i, t2, j, _this = this,
  37782. t1 = _this.scanner,
  37783. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37784. _this.expectCharIgnoreCase$1(117);
  37785. t1.expectChar$1(43);
  37786. for (i = 0; i < 6; ++i)
  37787. if (!_this.scanCharIf$1(new V.StylesheetParser__unicodeRange_closure()))
  37788. break;
  37789. if (t1.scanChar$1(63)) {
  37790. ++i;
  37791. for (; i < 6; ++i)
  37792. if (!t1.scanChar$1(63))
  37793. break;
  37794. t2 = t1.substring$1(0, start.position);
  37795. t1 = t1.spanFrom$1(start);
  37796. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([t2], [P.Object]), t1), false);
  37797. }
  37798. if (i === 0)
  37799. t1.error$1('Expected hex digit or "?".');
  37800. if (t1.scanChar$1(45)) {
  37801. for (j = 0; j < 6; ++j)
  37802. if (!_this.scanCharIf$1(new V.StylesheetParser__unicodeRange_closure0()))
  37803. break;
  37804. if (j === 0)
  37805. t1.error$1("Expected hex digit.");
  37806. }
  37807. if (_this._lookingAtInterpolatedIdentifierBody$0())
  37808. t1.error$1("Expected end of identifier.");
  37809. t2 = t1.substring$1(0, start.position);
  37810. t1 = t1.spanFrom$1(start);
  37811. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([t2], [P.Object]), t1), false);
  37812. },
  37813. _variable$0: function() {
  37814. var _this = this,
  37815. t1 = _this.scanner,
  37816. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  37817. $name = _this.variableName$0();
  37818. if (_this.get$plainCss())
  37819. _this.error$2("Sass variables aren't allowed in plain CSS.", t1.spanFrom$1(start));
  37820. return new S.VariableExpression(null, $name, t1.spanFrom$1(start));
  37821. },
  37822. _selector$0: function() {
  37823. var t1, start, _this = this;
  37824. if (_this.get$plainCss())
  37825. _this.scanner.error$2$length("The parent selector isn't allowed in plain CSS.", 1);
  37826. t1 = _this.scanner;
  37827. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37828. t1.expectChar$1(38);
  37829. if (t1.scanChar$1(38)) {
  37830. _this.logger.warn$2$span('In Sass, "&&" means two copies of the parent selector. You probably want to use "and" instead.', t1.spanFrom$1(start));
  37831. t1.set$position(t1._string_scanner$_position - 1);
  37832. }
  37833. return new T.SelectorExpression(t1.spanFrom$1(start));
  37834. },
  37835. interpolatedString$0: function() {
  37836. var t3, t4, buffer, next, second, t5,
  37837. t1 = this.scanner,
  37838. t2 = t1._string_scanner$_position,
  37839. quote = t1.readChar$0();
  37840. if (quote !== 39 && quote !== 34)
  37841. t1.error$2$position("Expected string.", t2);
  37842. t3 = new P.StringBuffer("");
  37843. t4 = [];
  37844. buffer = new Z.InterpolationBuffer(t3, t4);
  37845. for (; true;) {
  37846. next = t1.peekChar$0();
  37847. if (next === quote) {
  37848. t1.readChar$0();
  37849. break;
  37850. } else if (next == null || next === 10 || next === 13 || next === 12)
  37851. t1.error$1("Expected " + H.Primitives_stringFromCharCode(quote) + ".");
  37852. else if (next === 92) {
  37853. second = t1.peekChar$1(1);
  37854. if (second === 10 || second === 13 || second === 12) {
  37855. t1.readChar$0();
  37856. t1.readChar$0();
  37857. if (second === 13)
  37858. t1.scanChar$1(10);
  37859. } else
  37860. t3._contents += H.Primitives_stringFromCharCode(this.escapeCharacter$0());
  37861. } else if (next === 35)
  37862. if (t1.peekChar$1(1) === 123) {
  37863. t5 = this.singleInterpolation$0();
  37864. buffer._flushText$0();
  37865. t4.push(t5);
  37866. } else
  37867. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37868. else
  37869. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37870. }
  37871. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))), true);
  37872. },
  37873. identifierLike$0: function() {
  37874. var invocation, lower, color, specialFunction, $name, _this = this,
  37875. t1 = _this.scanner,
  37876. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  37877. identifier = _this.interpolatedIdentifier$0(),
  37878. plain = identifier.get$asPlain(),
  37879. t2 = plain == null;
  37880. if (!t2) {
  37881. if (plain === "if") {
  37882. invocation = _this._argumentInvocation$0();
  37883. return new L.IfExpression(invocation, B.spanForList(H.setRuntimeTypeInfo([identifier, invocation], [B.AstNode])));
  37884. } else if (plain === "not") {
  37885. _this.whitespace$0();
  37886. return new X.UnaryOperationExpression(C.UnaryOperator_not_not, _this._singleExpression$0(), identifier.span);
  37887. }
  37888. lower = plain.toLowerCase();
  37889. if (t1.peekChar$0() !== 40) {
  37890. switch (plain) {
  37891. case "false":
  37892. return new Z.BooleanExpression(false, identifier.span);
  37893. case "null":
  37894. return new O.NullExpression(identifier.span);
  37895. case "true":
  37896. return new Z.BooleanExpression(true, identifier.span);
  37897. }
  37898. color = $.$get$colorsByName().$index(0, lower);
  37899. if (color != null)
  37900. return new K.ColorExpression(K.SassColor$rgb(color.get$red(), color.get$green(), color.get$blue(), color.alpha, identifier.span));
  37901. }
  37902. specialFunction = _this.trySpecialFunction$2(lower, start);
  37903. if (specialFunction != null)
  37904. return specialFunction;
  37905. }
  37906. switch (t1.peekChar$0()) {
  37907. case 46:
  37908. if (t1.peekChar$1(1) === 46)
  37909. return new D.StringExpression(identifier, false);
  37910. t1.readChar$0();
  37911. if (t2)
  37912. _this.error$2("Interpolation isn't allowed in namespaces.", identifier.span);
  37913. if (t1.peekChar$0() === 36) {
  37914. $name = _this.variableName$0();
  37915. _this._assertPublic$2($name, new V.StylesheetParser_identifierLike_closure(_this, start));
  37916. return new S.VariableExpression(plain, $name, t1.spanFrom$1(start));
  37917. }
  37918. t2 = t1._string_scanner$_position;
  37919. return new F.FunctionExpression(plain, X.Interpolation$(H.setRuntimeTypeInfo([_this._publicIdentifier$0()], [P.Object]), t1.spanFrom$1(new S._SpanScannerState(t1, t2))), _this._argumentInvocation$0(), t1.spanFrom$1(start));
  37920. case 40:
  37921. return new F.FunctionExpression(null, identifier, _this._argumentInvocation$0(), t1.spanFrom$1(start));
  37922. default:
  37923. return new D.StringExpression(identifier, false);
  37924. }
  37925. },
  37926. trySpecialFunction$2: function($name, start) {
  37927. var t1, buffer, t2, t3, next, contents, _this = this;
  37928. switch (B.unvendor($name)) {
  37929. case "calc":
  37930. case "element":
  37931. case "expression":
  37932. if (!_this.scanner.scanChar$1(40))
  37933. return;
  37934. t1 = new P.StringBuffer("");
  37935. buffer = new Z.InterpolationBuffer(t1, []);
  37936. t1._contents = $name;
  37937. t1._contents += H.Primitives_stringFromCharCode(40);
  37938. break;
  37939. case "min":
  37940. case "max":
  37941. t1 = _this.scanner;
  37942. t2 = t1._string_scanner$_position;
  37943. if (!t1.scanChar$1(40))
  37944. return;
  37945. _this.whitespace$0();
  37946. t3 = new P.StringBuffer("");
  37947. buffer = new Z.InterpolationBuffer(t3, []);
  37948. t3._contents = $name;
  37949. t3._contents += H.Primitives_stringFromCharCode(40);
  37950. if (!_this._tryMinMaxContents$1(buffer)) {
  37951. t1.set$state(new S._SpanScannerState(t1, t2));
  37952. return;
  37953. }
  37954. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
  37955. case "progid":
  37956. t1 = _this.scanner;
  37957. if (!t1.scanChar$1(58))
  37958. return;
  37959. t2 = new P.StringBuffer("");
  37960. buffer = new Z.InterpolationBuffer(t2, []);
  37961. t2._contents = $name;
  37962. t2._contents += H.Primitives_stringFromCharCode(58);
  37963. next = t1.peekChar$0();
  37964. while (true) {
  37965. if (next != null) {
  37966. if (!(next >= 97 && next <= 122))
  37967. t3 = next >= 65 && next <= 90;
  37968. else
  37969. t3 = true;
  37970. t3 = t3 || next === 46;
  37971. } else
  37972. t3 = false;
  37973. if (!t3)
  37974. break;
  37975. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37976. next = t1.peekChar$0();
  37977. }
  37978. t1.expectChar$1(40);
  37979. t2._contents += H.Primitives_stringFromCharCode(40);
  37980. break;
  37981. case "url":
  37982. contents = _this._tryUrlContents$1(start);
  37983. return contents == null ? null : new D.StringExpression(contents, false);
  37984. default:
  37985. return;
  37986. }
  37987. buffer.addInterpolation$1(_this._interpolatedDeclarationValue$1$allowEmpty(true).text);
  37988. t1 = _this.scanner;
  37989. t1.expectChar$1(41);
  37990. buffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(41);
  37991. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
  37992. },
  37993. _tryMinMaxContents$2$allowComma: function(buffer, allowComma) {
  37994. var t1, t2, t3, t4, start, end, exception, t5, _this = this;
  37995. for (t1 = _this.scanner, t2 = buffer._interpolation_buffer$_text, t3 = !allowComma, t4 = _this.get$_number(); true;) {
  37996. switch (t1.peekChar$0()) {
  37997. case 45:
  37998. case 43:
  37999. case 48:
  38000. case 49:
  38001. case 50:
  38002. case 51:
  38003. case 52:
  38004. case 53:
  38005. case 54:
  38006. case 55:
  38007. case 56:
  38008. case 57:
  38009. try {
  38010. start = t1._string_scanner$_position;
  38011. t4.call$0();
  38012. end = t1._string_scanner$_position;
  38013. t2._contents += J.substring$2$s(t1.string, start, end);
  38014. } catch (exception) {
  38015. if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException)
  38016. return false;
  38017. else
  38018. throw exception;
  38019. }
  38020. break;
  38021. case 35:
  38022. if (t1.peekChar$1(1) !== 123)
  38023. return false;
  38024. t5 = _this.singleInterpolation$0();
  38025. buffer._flushText$0();
  38026. buffer._interpolation_buffer$_contents.push(t5);
  38027. break;
  38028. case 99:
  38029. case 67:
  38030. if (!_this._tryMinMaxFunction$2(buffer, "calc"))
  38031. return false;
  38032. break;
  38033. case 101:
  38034. case 69:
  38035. if (!_this._tryMinMaxFunction$2(buffer, "env"))
  38036. return false;
  38037. break;
  38038. case 118:
  38039. case 86:
  38040. if (!_this._tryMinMaxFunction$2(buffer, "var"))
  38041. return false;
  38042. break;
  38043. case 40:
  38044. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38045. if (!_this._tryMinMaxContents$2$allowComma(buffer, false))
  38046. return false;
  38047. break;
  38048. case 109:
  38049. case 77:
  38050. t1.readChar$0();
  38051. if (_this.scanCharIgnoreCase$1(105)) {
  38052. if (!_this.scanCharIgnoreCase$1(110))
  38053. return false;
  38054. t2._contents += "min(";
  38055. } else if (_this.scanCharIgnoreCase$1(97)) {
  38056. if (!_this.scanCharIgnoreCase$1(120))
  38057. return false;
  38058. t2._contents += "max(";
  38059. } else
  38060. return false;
  38061. if (!t1.scanChar$1(40))
  38062. return false;
  38063. if (!_this._tryMinMaxContents$1(buffer))
  38064. return false;
  38065. break;
  38066. default:
  38067. return false;
  38068. }
  38069. _this.whitespace$0();
  38070. switch (t1.peekChar$0()) {
  38071. case 41:
  38072. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38073. return true;
  38074. case 43:
  38075. case 45:
  38076. case 42:
  38077. case 47:
  38078. t2._contents += H.Primitives_stringFromCharCode(32);
  38079. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38080. t2._contents += H.Primitives_stringFromCharCode(32);
  38081. break;
  38082. case 44:
  38083. if (t3)
  38084. return false;
  38085. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38086. t2._contents += H.Primitives_stringFromCharCode(32);
  38087. break;
  38088. default:
  38089. return false;
  38090. }
  38091. _this.whitespace$0();
  38092. }
  38093. },
  38094. _tryMinMaxContents$1: function(buffer) {
  38095. return this._tryMinMaxContents$2$allowComma(buffer, true);
  38096. },
  38097. _tryMinMaxFunction$2: function(buffer, $name) {
  38098. var t1, t2;
  38099. if (!this.scanIdentifier$1($name))
  38100. return false;
  38101. t1 = this.scanner;
  38102. if (!t1.scanChar$1(40))
  38103. return false;
  38104. t2 = buffer._interpolation_buffer$_text;
  38105. t2._contents += $name;
  38106. t2._contents += H.Primitives_stringFromCharCode(40);
  38107. buffer.addInterpolation$1(this._interpolatedDeclarationValue$1$allowEmpty(true).asInterpolation$0());
  38108. t2._contents += H.Primitives_stringFromCharCode(41);
  38109. if (!t1.scanChar$1(41))
  38110. return false;
  38111. return true;
  38112. },
  38113. _tryUrlContents$2$name: function(start, $name) {
  38114. var t3, t4, buffer, next, t5, endPosition, _this = this,
  38115. t1 = _this.scanner,
  38116. t2 = t1._string_scanner$_position;
  38117. if (!t1.scanChar$1(40))
  38118. return;
  38119. _this.whitespaceWithoutComments$0();
  38120. t3 = new P.StringBuffer("");
  38121. t4 = [];
  38122. buffer = new Z.InterpolationBuffer(t3, t4);
  38123. t3._contents = $name == null ? "url" : $name;
  38124. t3._contents += H.Primitives_stringFromCharCode(40);
  38125. for (; true;) {
  38126. next = t1.peekChar$0();
  38127. if (next == null)
  38128. break;
  38129. else {
  38130. if (next !== 33)
  38131. if (next !== 37)
  38132. if (next !== 38)
  38133. t5 = next >= 42 && next <= 126 || next >= 128;
  38134. else
  38135. t5 = true;
  38136. else
  38137. t5 = true;
  38138. else
  38139. t5 = true;
  38140. if (t5)
  38141. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38142. else if (next === 92)
  38143. t3._contents += H.S(_this.escape$0());
  38144. else if (next === 35)
  38145. if (t1.peekChar$1(1) === 123) {
  38146. t5 = _this.singleInterpolation$0();
  38147. buffer._flushText$0();
  38148. t4.push(t5);
  38149. } else
  38150. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38151. else if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12) {
  38152. _this.whitespaceWithoutComments$0();
  38153. if (t1.peekChar$0() !== 41)
  38154. break;
  38155. } else if (next === 41) {
  38156. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38157. endPosition = t1._string_scanner$_position;
  38158. return buffer.interpolation$1(Y._FileSpan$(t1._sourceFile, start.position, endPosition));
  38159. } else
  38160. break;
  38161. }
  38162. }
  38163. t1.set$state(new S._SpanScannerState(t1, t2));
  38164. return;
  38165. },
  38166. _tryUrlContents$1: function(start) {
  38167. return this._tryUrlContents$2$name(start, null);
  38168. },
  38169. dynamicUrl$0: function() {
  38170. var contents, _this = this,
  38171. t1 = _this.scanner,
  38172. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  38173. _this.expectIdentifier$1("url");
  38174. contents = _this._tryUrlContents$1(start);
  38175. if (contents != null)
  38176. return new D.StringExpression(contents, false);
  38177. return new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo(["url"], [P.Object]), t1.spanFrom$1(start)), _this._argumentInvocation$0(), t1.spanFrom$1(start));
  38178. },
  38179. almostAnyValue$0: function() {
  38180. var t4, next, commentStart, end, t5, contents, _this = this,
  38181. t1 = _this.scanner,
  38182. t2 = t1._string_scanner$_position,
  38183. t3 = new P.StringBuffer(""),
  38184. buffer = new Z.InterpolationBuffer(t3, []);
  38185. $label0$1:
  38186. for (t4 = t1.string; true;) {
  38187. next = t1.peekChar$0();
  38188. switch (next) {
  38189. case 92:
  38190. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38191. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38192. break;
  38193. case 34:
  38194. case 39:
  38195. buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
  38196. break;
  38197. case 47:
  38198. commentStart = t1._string_scanner$_position;
  38199. if (_this.scanComment$0()) {
  38200. end = t1._string_scanner$_position;
  38201. t3._contents += J.substring$2$s(t4, commentStart, end);
  38202. } else
  38203. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38204. break;
  38205. case 35:
  38206. if (t1.peekChar$1(1) === 123)
  38207. buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  38208. else
  38209. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38210. break;
  38211. case 13:
  38212. case 10:
  38213. case 12:
  38214. if (_this.get$indented())
  38215. break $label0$1;
  38216. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38217. break;
  38218. case 33:
  38219. case 59:
  38220. case 123:
  38221. case 125:
  38222. break $label0$1;
  38223. case 117:
  38224. case 85:
  38225. t5 = t1._string_scanner$_position;
  38226. if (!_this.scanIdentifier$1("url")) {
  38227. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38228. break;
  38229. }
  38230. contents = _this._tryUrlContents$1(new S._SpanScannerState(t1, t5));
  38231. if (contents == null) {
  38232. if (t5 < 0 || t5 > t4.length)
  38233. H.throwExpression(P.ArgumentError$("Invalid position " + t5));
  38234. t1._string_scanner$_position = t5;
  38235. t1._lastMatch = null;
  38236. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38237. } else
  38238. buffer.addInterpolation$1(contents);
  38239. break;
  38240. default:
  38241. if (next == null)
  38242. break $label0$1;
  38243. if (_this.lookingAtIdentifier$0())
  38244. t3._contents += _this.identifier$0();
  38245. else
  38246. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38247. break;
  38248. }
  38249. }
  38250. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38251. },
  38252. _interpolatedDeclarationValue$1$allowEmpty: function(allowEmpty) {
  38253. var t4, wroteNewline, next, t5, start, end, contents, _this = this,
  38254. t1 = _this.scanner,
  38255. t2 = t1._string_scanner$_position,
  38256. t3 = new P.StringBuffer(""),
  38257. buffer = new Z.InterpolationBuffer(t3, []),
  38258. brackets = H.setRuntimeTypeInfo([], [P.int]);
  38259. $label0$1:
  38260. for (t4 = t1.string, wroteNewline = false; true;) {
  38261. next = t1.peekChar$0();
  38262. switch (next) {
  38263. case 92:
  38264. t3._contents += H.S(_this.escape$1$identifierStart(true));
  38265. wroteNewline = false;
  38266. break;
  38267. case 34:
  38268. case 39:
  38269. buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
  38270. wroteNewline = false;
  38271. break;
  38272. case 47:
  38273. if (t1.peekChar$1(1) === 42) {
  38274. t5 = _this.get$loudComment();
  38275. start = t1._string_scanner$_position;
  38276. t5.call$0();
  38277. end = t1._string_scanner$_position;
  38278. t3._contents += J.substring$2$s(t4, start, end);
  38279. } else
  38280. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38281. wroteNewline = false;
  38282. break;
  38283. case 35:
  38284. if (t1.peekChar$1(1) === 123)
  38285. buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  38286. else
  38287. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38288. wroteNewline = false;
  38289. break;
  38290. case 32:
  38291. case 9:
  38292. if (!wroteNewline) {
  38293. t5 = t1.peekChar$1(1);
  38294. t5 = !(t5 === 32 || t5 === 9 || t5 === 10 || t5 === 13 || t5 === 12);
  38295. } else
  38296. t5 = true;
  38297. if (t5)
  38298. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38299. else
  38300. t1.readChar$0();
  38301. break;
  38302. case 10:
  38303. case 13:
  38304. case 12:
  38305. if (_this.get$indented())
  38306. break $label0$1;
  38307. t5 = t1.peekChar$1(-1);
  38308. if (!(t5 === 10 || t5 === 13 || t5 === 12))
  38309. t3._contents += "\n";
  38310. t1.readChar$0();
  38311. wroteNewline = true;
  38312. break;
  38313. case 40:
  38314. case 123:
  38315. case 91:
  38316. t3._contents += H.Primitives_stringFromCharCode(next);
  38317. brackets.push(T.opposite(t1.readChar$0()));
  38318. wroteNewline = false;
  38319. break;
  38320. case 41:
  38321. case 125:
  38322. case 93:
  38323. if (brackets.length === 0)
  38324. break $label0$1;
  38325. t3._contents += H.Primitives_stringFromCharCode(next);
  38326. t1.expectChar$1(brackets.pop());
  38327. wroteNewline = false;
  38328. break;
  38329. case 59:
  38330. if (brackets.length === 0)
  38331. break $label0$1;
  38332. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38333. break;
  38334. case 117:
  38335. case 85:
  38336. t5 = t1._string_scanner$_position;
  38337. if (!_this.scanIdentifier$1("url")) {
  38338. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38339. wroteNewline = false;
  38340. break;
  38341. }
  38342. contents = _this._tryUrlContents$1(new S._SpanScannerState(t1, t5));
  38343. if (contents == null) {
  38344. if (t5 < 0 || t5 > t4.length)
  38345. H.throwExpression(P.ArgumentError$("Invalid position " + t5));
  38346. t1._string_scanner$_position = t5;
  38347. t1._lastMatch = null;
  38348. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38349. } else
  38350. buffer.addInterpolation$1(contents);
  38351. wroteNewline = false;
  38352. break;
  38353. default:
  38354. if (next == null)
  38355. break $label0$1;
  38356. if (_this.lookingAtIdentifier$0())
  38357. t3._contents += _this.identifier$0();
  38358. else
  38359. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38360. wroteNewline = false;
  38361. break;
  38362. }
  38363. }
  38364. if (brackets.length !== 0)
  38365. t1.expectChar$1(C.JSArray_methods.get$last(brackets));
  38366. if (!allowEmpty && buffer._interpolation_buffer$_contents.length === 0 && t3._contents.length === 0)
  38367. t1.error$1("Expected token.");
  38368. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))), false);
  38369. },
  38370. _interpolatedDeclarationValue$0: function() {
  38371. return this._interpolatedDeclarationValue$1$allowEmpty(false);
  38372. },
  38373. interpolatedIdentifier$0: function() {
  38374. var first, _this = this,
  38375. _s20_ = "Expected identifier.",
  38376. t1 = _this.scanner,
  38377. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  38378. t2 = new P.StringBuffer(""),
  38379. t3 = [],
  38380. buffer = new Z.InterpolationBuffer(t2, t3);
  38381. if (t1.scanChar$1(45)) {
  38382. t2._contents += H.Primitives_stringFromCharCode(45);
  38383. if (t1.scanChar$1(45)) {
  38384. t2._contents += H.Primitives_stringFromCharCode(45);
  38385. _this._interpolatedIdentifierBody$1(buffer);
  38386. return buffer.interpolation$1(t1.spanFrom$1(start));
  38387. }
  38388. }
  38389. first = t1.peekChar$0();
  38390. if (first == null)
  38391. t1.error$1(_s20_);
  38392. else if (first === 95 || T.isAlphabetic0(first) || first >= 128)
  38393. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38394. else if (first === 92)
  38395. t2._contents += H.S(_this.escape$1$identifierStart(true));
  38396. else if (first === 35 && t1.peekChar$1(1) === 123) {
  38397. t2 = _this.singleInterpolation$0();
  38398. buffer._flushText$0();
  38399. t3.push(t2);
  38400. } else
  38401. t1.error$1(_s20_);
  38402. _this._interpolatedIdentifierBody$1(buffer);
  38403. return buffer.interpolation$1(t1.spanFrom$1(start));
  38404. },
  38405. _interpolatedIdentifierBody$1: function(buffer) {
  38406. var t1, t2, t3, next, t4;
  38407. for (t1 = buffer._interpolation_buffer$_contents, t2 = this.scanner, t3 = buffer._interpolation_buffer$_text; true;) {
  38408. next = t2.peekChar$0();
  38409. if (next == null)
  38410. break;
  38411. else {
  38412. if (next !== 95)
  38413. if (next !== 45) {
  38414. if (!(next >= 97 && next <= 122))
  38415. t4 = next >= 65 && next <= 90;
  38416. else
  38417. t4 = true;
  38418. if (!t4)
  38419. t4 = next >= 48 && next <= 57;
  38420. else
  38421. t4 = true;
  38422. t4 = t4 || next >= 128;
  38423. } else
  38424. t4 = true;
  38425. else
  38426. t4 = true;
  38427. if (t4)
  38428. t3._contents += H.Primitives_stringFromCharCode(t2.readChar$0());
  38429. else if (next === 92)
  38430. t3._contents += H.S(this.escape$0());
  38431. else if (next === 35 && t2.peekChar$1(1) === 123) {
  38432. t4 = this.singleInterpolation$0();
  38433. buffer._flushText$0();
  38434. t1.push(t4);
  38435. } else
  38436. break;
  38437. }
  38438. }
  38439. },
  38440. singleInterpolation$0: function() {
  38441. var contents, _this = this,
  38442. t1 = _this.scanner,
  38443. t2 = t1._string_scanner$_position;
  38444. t1.expect$1("#{");
  38445. _this.whitespace$0();
  38446. contents = _this.expression$0();
  38447. t1.expectChar$1(125);
  38448. if (_this.get$plainCss())
  38449. _this.error$2("Interpolation isn't allowed in plain CSS.", t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38450. return contents;
  38451. },
  38452. _mediaQueryList$0: function() {
  38453. var t1 = this.scanner,
  38454. t2 = t1._string_scanner$_position,
  38455. t3 = new P.StringBuffer(""),
  38456. buffer = new Z.InterpolationBuffer(t3, []);
  38457. for (; true;) {
  38458. this.whitespace$0();
  38459. this._stylesheet$_mediaQuery$1(buffer);
  38460. if (!t1.scanChar$1(44))
  38461. break;
  38462. t3._contents += H.Primitives_stringFromCharCode(44);
  38463. t3._contents += H.Primitives_stringFromCharCode(32);
  38464. }
  38465. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38466. },
  38467. _stylesheet$_mediaQuery$1: function(buffer) {
  38468. var t1, identifier, _this = this;
  38469. if (_this.scanner.peekChar$0() !== 40) {
  38470. buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  38471. _this.whitespace$0();
  38472. if (!_this._lookingAtInterpolatedIdentifier$0())
  38473. return;
  38474. t1 = buffer._interpolation_buffer$_text;
  38475. t1._contents += H.Primitives_stringFromCharCode(32);
  38476. identifier = _this.interpolatedIdentifier$0();
  38477. _this.whitespace$0();
  38478. if (B.equalsIgnoreCase(identifier.get$asPlain(), "and"))
  38479. t1._contents += " and ";
  38480. else {
  38481. buffer.addInterpolation$1(identifier);
  38482. if (_this.scanIdentifier$1("and")) {
  38483. _this.whitespace$0();
  38484. t1._contents += " and ";
  38485. } else
  38486. return;
  38487. }
  38488. }
  38489. for (t1 = buffer._interpolation_buffer$_text; true;) {
  38490. _this.whitespace$0();
  38491. buffer.addInterpolation$1(_this._mediaFeature$0());
  38492. _this.whitespace$0();
  38493. if (!_this.scanIdentifier$1("and"))
  38494. break;
  38495. t1._contents += " and ";
  38496. }
  38497. },
  38498. _mediaFeature$0: function() {
  38499. var interpolation, t2, t3, t4, buffer, t5, next, isAngle, _this = this,
  38500. t1 = _this.scanner;
  38501. if (t1.peekChar$0() === 35) {
  38502. interpolation = _this.singleInterpolation$0();
  38503. return X.Interpolation$(H.setRuntimeTypeInfo([interpolation], [P.Object]), interpolation.get$span());
  38504. }
  38505. t2 = t1._string_scanner$_position;
  38506. t3 = new P.StringBuffer("");
  38507. t4 = [];
  38508. buffer = new Z.InterpolationBuffer(t3, t4);
  38509. t1.expectChar$1(40);
  38510. t3._contents += H.Primitives_stringFromCharCode(40);
  38511. _this.whitespace$0();
  38512. t5 = _this._expressionUntilComparison$0();
  38513. buffer._flushText$0();
  38514. t4.push(t5);
  38515. if (t1.scanChar$1(58)) {
  38516. _this.whitespace$0();
  38517. t3._contents += H.Primitives_stringFromCharCode(58);
  38518. t3._contents += H.Primitives_stringFromCharCode(32);
  38519. t5 = _this.expression$0();
  38520. buffer._flushText$0();
  38521. t4.push(t5);
  38522. } else {
  38523. next = t1.peekChar$0();
  38524. isAngle = next === 60 || next === 62;
  38525. if (isAngle || next === 61) {
  38526. t3._contents += H.Primitives_stringFromCharCode(32);
  38527. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38528. if (isAngle && t1.scanChar$1(61))
  38529. t3._contents += H.Primitives_stringFromCharCode(61);
  38530. t3._contents += H.Primitives_stringFromCharCode(32);
  38531. _this.whitespace$0();
  38532. t5 = _this._expressionUntilComparison$0();
  38533. buffer._flushText$0();
  38534. t4.push(t5);
  38535. if (isAngle && t1.scanChar$1(next)) {
  38536. t3._contents += H.Primitives_stringFromCharCode(32);
  38537. t3._contents += H.Primitives_stringFromCharCode(next);
  38538. if (t1.scanChar$1(61))
  38539. t3._contents += H.Primitives_stringFromCharCode(61);
  38540. t3._contents += H.Primitives_stringFromCharCode(32);
  38541. _this.whitespace$0();
  38542. t5 = _this._expressionUntilComparison$0();
  38543. buffer._flushText$0();
  38544. t4.push(t5);
  38545. }
  38546. }
  38547. }
  38548. t1.expectChar$1(41);
  38549. _this.whitespace$0();
  38550. t3._contents += H.Primitives_stringFromCharCode(41);
  38551. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38552. },
  38553. _expressionUntilComparison$0: function() {
  38554. return this.expression$1$until(new V.StylesheetParser__expressionUntilComparison_closure(this));
  38555. },
  38556. _supportsCondition$0: function() {
  38557. var condition, operator, right, endPosition, lowerOperator, _this = this,
  38558. t1 = _this.scanner,
  38559. t2 = t1._string_scanner$_position,
  38560. first = t1.peekChar$0();
  38561. if (first !== 40 && first !== 35) {
  38562. t2 = t1._string_scanner$_position;
  38563. _this.expectIdentifier$1("not");
  38564. _this.whitespace$0();
  38565. return new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38566. }
  38567. condition = _this._supportsConditionInParens$0();
  38568. _this.whitespace$0();
  38569. for (; _this.lookingAtIdentifier$0();) {
  38570. if (_this.scanIdentifier$1("or"))
  38571. operator = "or";
  38572. else {
  38573. _this.expectIdentifier$1("and");
  38574. operator = "and";
  38575. }
  38576. _this.whitespace$0();
  38577. right = _this._supportsConditionInParens$0();
  38578. endPosition = t1._string_scanner$_position;
  38579. condition = new U.SupportsOperation(condition, right, operator, Y._FileSpan$(t1._sourceFile, t2, endPosition));
  38580. lowerOperator = operator.toLowerCase();
  38581. if (lowerOperator !== "and" && lowerOperator !== "or")
  38582. H.throwExpression(P.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
  38583. _this.whitespace$0();
  38584. }
  38585. return condition;
  38586. },
  38587. _supportsConditionInParens$0: function() {
  38588. var next, condition, negation, $name, value, _this = this,
  38589. t1 = _this.scanner,
  38590. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  38591. if (t1.peekChar$0() === 35)
  38592. return new X.SupportsInterpolation(_this.singleInterpolation$0(), t1.spanFrom$1(start));
  38593. t1.expectChar$1(40);
  38594. _this.whitespace$0();
  38595. next = t1.peekChar$0();
  38596. if (next === 40 || next === 35) {
  38597. condition = _this._supportsCondition$0();
  38598. _this.whitespace$0();
  38599. t1.expectChar$1(41);
  38600. return condition;
  38601. }
  38602. if (next === 110 || next === 78) {
  38603. negation = _this._trySupportsNegation$0();
  38604. if (negation != null) {
  38605. t1.expectChar$1(41);
  38606. return negation;
  38607. }
  38608. }
  38609. $name = _this.expression$0();
  38610. t1.expectChar$1(58);
  38611. _this.whitespace$0();
  38612. value = _this.expression$0();
  38613. t1.expectChar$1(41);
  38614. return new L.SupportsDeclaration($name, value, t1.spanFrom$1(start));
  38615. },
  38616. _trySupportsNegation$0: function() {
  38617. var next, _this = this,
  38618. t1 = _this.scanner,
  38619. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  38620. if (!_this.scanIdentifier$1("not") || t1._string_scanner$_position === t1.string.length) {
  38621. t1.set$state(start);
  38622. return;
  38623. }
  38624. next = t1.peekChar$0();
  38625. if (!(next === 32 || next === 9 || T.isNewline(next)) && next !== 40) {
  38626. t1.set$state(start);
  38627. return;
  38628. }
  38629. _this.whitespace$0();
  38630. return new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(start));
  38631. },
  38632. _lookingAtInterpolatedIdentifier$0: function() {
  38633. var second,
  38634. t1 = this.scanner,
  38635. first = t1.peekChar$0();
  38636. if (first == null)
  38637. return false;
  38638. if (first === 95 || T.isAlphabetic0(first) || first >= 128 || first === 92)
  38639. return true;
  38640. if (first === 35)
  38641. return t1.peekChar$1(1) === 123;
  38642. if (first !== 45)
  38643. return false;
  38644. second = t1.peekChar$1(1);
  38645. if (second == null)
  38646. return false;
  38647. if (second === 35)
  38648. return t1.peekChar$1(2) === 123;
  38649. return second === 95 || T.isAlphabetic0(second) || second >= 128 || second === 92 || second === 45;
  38650. },
  38651. _lookingAtInterpolatedIdentifierBody$0: function() {
  38652. var t1 = this.scanner,
  38653. first = t1.peekChar$0();
  38654. if (first == null)
  38655. return false;
  38656. if (first === 95 || T.isAlphabetic0(first) || first >= 128 || T.isDigit(first) || first === 45 || first === 92)
  38657. return true;
  38658. return first === 35 && t1.peekChar$1(1) === 123;
  38659. },
  38660. _lookingAtExpression$0: function() {
  38661. var next,
  38662. t1 = this.scanner,
  38663. character = t1.peekChar$0();
  38664. if (character == null)
  38665. return false;
  38666. if (character === 46)
  38667. return t1.peekChar$1(1) !== 46;
  38668. if (character === 33) {
  38669. next = t1.peekChar$1(1);
  38670. if (next != null)
  38671. if ((next | 32) !== 105)
  38672. t1 = next === 32 || next === 9 || T.isNewline(next);
  38673. else
  38674. t1 = true;
  38675. else
  38676. t1 = true;
  38677. return t1;
  38678. }
  38679. if (character !== 40)
  38680. if (character !== 47)
  38681. if (character !== 91)
  38682. if (character !== 39)
  38683. if (character !== 34)
  38684. if (character !== 35)
  38685. if (character !== 43)
  38686. if (character !== 45)
  38687. if (character !== 92)
  38688. if (character !== 36)
  38689. if (character !== 38)
  38690. t1 = character === 95 || T.isAlphabetic0(character) || character >= 128 || T.isDigit(character);
  38691. else
  38692. t1 = true;
  38693. else
  38694. t1 = true;
  38695. else
  38696. t1 = true;
  38697. else
  38698. t1 = true;
  38699. else
  38700. t1 = true;
  38701. else
  38702. t1 = true;
  38703. else
  38704. t1 = true;
  38705. else
  38706. t1 = true;
  38707. else
  38708. t1 = true;
  38709. else
  38710. t1 = true;
  38711. else
  38712. t1 = true;
  38713. return t1;
  38714. },
  38715. _withChildren$1$3: function(child, start, create) {
  38716. var result = create.call$2(this.children$1(child), this.scanner.spanFrom$1(start));
  38717. this.whitespaceWithoutComments$0();
  38718. return result;
  38719. },
  38720. _withChildren$3: function(child, start, create) {
  38721. return this._withChildren$1$3(child, start, create, null);
  38722. },
  38723. _urlString$0: function() {
  38724. var innerError, t2, exception,
  38725. t1 = this.scanner,
  38726. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  38727. url = this.string$0();
  38728. try {
  38729. t2 = P.Uri_parse(url);
  38730. return t2;
  38731. } catch (exception) {
  38732. t2 = H.unwrapException(exception);
  38733. if (!!J.getInterceptor$(t2).$isFormatException) {
  38734. innerError = t2;
  38735. this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), t1.spanFrom$1(start));
  38736. } else
  38737. throw exception;
  38738. }
  38739. },
  38740. _publicIdentifier$0: function() {
  38741. var _this = this,
  38742. t1 = _this.scanner,
  38743. t2 = t1._string_scanner$_position,
  38744. result = _this.identifier$1$normalize(true);
  38745. _this._assertPublic$2(result, new V.StylesheetParser__publicIdentifier_closure(_this, new S._SpanScannerState(t1, t2)));
  38746. return result;
  38747. },
  38748. _assertPublic$2: function(identifier, span) {
  38749. if (!T.isPrivate(identifier))
  38750. return;
  38751. this.error$2("Private members can't be accessed from outside their modules.", span.call$0());
  38752. },
  38753. get$plainCss: function() {
  38754. return false;
  38755. }
  38756. };
  38757. V.StylesheetParser_parse_closure.prototype = {
  38758. call$0: function() {
  38759. var statements, t4,
  38760. t1 = this.$this,
  38761. t2 = t1.scanner,
  38762. t3 = t2._string_scanner$_position;
  38763. t2.scanChar$1(65279);
  38764. statements = t1.statements$1(new V.StylesheetParser_parse__closure(t1));
  38765. t2.expectDone$0();
  38766. t4 = t1._globalVariables.get$values();
  38767. C.JSArray_methods.addAll$1(statements, H.MappedIterable_MappedIterable(t4, new V.StylesheetParser_parse__closure0(), H.getRuntimeTypeArgument(t4, "Iterable", 0), O.Statement));
  38768. return V.Stylesheet$(statements, t2.spanFrom$1(new S._SpanScannerState(t2, t3)), t1.get$plainCss());
  38769. }
  38770. };
  38771. V.StylesheetParser_parse__closure.prototype = {
  38772. call$0: function() {
  38773. return this.$this._statement$1$root(true);
  38774. }
  38775. };
  38776. V.StylesheetParser_parse__closure0.prototype = {
  38777. call$1: function(declaration) {
  38778. return Z.VariableDeclaration$(declaration.name, new O.NullExpression(declaration.expression.get$span()), declaration.span, null, false, true, null);
  38779. }
  38780. };
  38781. V.StylesheetParser_parseVariableDeclaration_closure.prototype = {
  38782. call$0: function() {
  38783. var t1 = this.$this;
  38784. return t1.lookingAtIdentifier$0() ? t1._variableDeclarationWithNamespace$0() : t1.variableDeclarationWithoutNamespace$0();
  38785. }
  38786. };
  38787. V.StylesheetParser_parseUseRule_closure.prototype = {
  38788. call$0: function() {
  38789. var t1 = this.$this,
  38790. t2 = t1.scanner,
  38791. t3 = t2._string_scanner$_position;
  38792. t2.expectChar$2$name(64, "@-rule");
  38793. t1.expectIdentifier$1("use");
  38794. t1.whitespace$0();
  38795. return t1._useRule$1(new S._SpanScannerState(t2, t3));
  38796. }
  38797. };
  38798. V.StylesheetParser__parseSingleProduction_closure.prototype = {
  38799. call$0: function() {
  38800. var result = this.production.call$0();
  38801. this.$this.scanner.expectDone$0();
  38802. return result;
  38803. }
  38804. };
  38805. V.StylesheetParser_parseSignature_closure.prototype = {
  38806. call$0: function() {
  38807. var t2, $arguments, t3,
  38808. t1 = this.$this,
  38809. $name = t1.identifier$0();
  38810. t1.whitespace$0();
  38811. t2 = t1.scanner;
  38812. if (t2.peekChar$0() === 40)
  38813. $arguments = t1._argumentDeclaration$0();
  38814. else {
  38815. t1 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position);
  38816. t3 = t1.offset;
  38817. $arguments = new B.ArgumentDeclaration(C.List_empty8, null, Y._FileSpan$(t1.file, t3, t3));
  38818. }
  38819. t2.expectDone$0();
  38820. return new S.Tuple2($name, $arguments, [P.String, B.ArgumentDeclaration]);
  38821. }
  38822. };
  38823. V.StylesheetParser__statement_closure.prototype = {
  38824. call$0: function() {
  38825. return this.$this._statement$0();
  38826. }
  38827. };
  38828. V.StylesheetParser_variableDeclarationWithoutNamespace_closure.prototype = {
  38829. call$0: function() {
  38830. return this.$this.scanner.spanFrom$1(this._box_0.start);
  38831. }
  38832. };
  38833. V.StylesheetParser_variableDeclarationWithoutNamespace_closure0.prototype = {
  38834. call$0: function() {
  38835. return this.declaration;
  38836. }
  38837. };
  38838. V.StylesheetParser__declarationOrBuffer_closure.prototype = {
  38839. call$2: function(children, span) {
  38840. return L.Declaration$(this.name, span, children, null);
  38841. }
  38842. };
  38843. V.StylesheetParser__declarationOrBuffer_closure0.prototype = {
  38844. call$2: function(children, span) {
  38845. return L.Declaration$(this.name, span, children, this._box_0.value);
  38846. }
  38847. };
  38848. V.StylesheetParser__styleRule_closure.prototype = {
  38849. call$2: function(children, span) {
  38850. var t2, t3, t4, _this = this,
  38851. t1 = _this.$this;
  38852. if (t1.get$indented() && children.length === 0)
  38853. t1.logger.warn$2$span("This selector doesn't have any properties and won't be rendered.", _this._box_0.interpolation.span);
  38854. t1._inStyleRule = _this.wasInStyleRule;
  38855. t2 = _this._box_0;
  38856. t3 = t2.interpolation;
  38857. t2 = t1.scanner.spanFrom$1(t2.start);
  38858. t1 = P.List_List$unmodifiable(children, O.Statement);
  38859. t4 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38860. return new X.StyleRule(t3, t2, t1, t4);
  38861. }
  38862. };
  38863. V.StylesheetParser__propertyOrVariableDeclaration_closure.prototype = {
  38864. call$2: function(children, span) {
  38865. return L.Declaration$(this._box_0.name, span, children, null);
  38866. }
  38867. };
  38868. V.StylesheetParser__propertyOrVariableDeclaration_closure0.prototype = {
  38869. call$2: function(children, span) {
  38870. return L.Declaration$(this._box_0.name, span, children, this.value);
  38871. }
  38872. };
  38873. V.StylesheetParser__atRootRule_closure.prototype = {
  38874. call$2: function(children, span) {
  38875. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38876. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38877. return new V.AtRootRule(this.query, span, t1, t2);
  38878. }
  38879. };
  38880. V.StylesheetParser__atRootRule_closure0.prototype = {
  38881. call$2: function(children, span) {
  38882. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38883. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38884. return new V.AtRootRule(null, span, t1, t2);
  38885. }
  38886. };
  38887. V.StylesheetParser__eachRule_closure.prototype = {
  38888. call$2: function(children, span) {
  38889. var t1, t2, t3, _this = this;
  38890. _this.$this._inControlDirective = _this.wasInControlDirective;
  38891. t1 = P.List_List$unmodifiable(_this.variables, P.String);
  38892. t2 = P.List_List$unmodifiable(children, O.Statement);
  38893. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  38894. return new V.EachRule(t1, _this.list, span, t2, t3);
  38895. }
  38896. };
  38897. V.StylesheetParser__functionRule_closure.prototype = {
  38898. call$2: function(children, span) {
  38899. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38900. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38901. return new M.FunctionRule(this.name, this.$arguments, span, t1, t2);
  38902. }
  38903. };
  38904. V.StylesheetParser__forRule_closure.prototype = {
  38905. call$0: function() {
  38906. var t1 = this.$this;
  38907. if (!t1.lookingAtIdentifier$0())
  38908. return false;
  38909. if (t1.scanIdentifier$1("to"))
  38910. return this._box_0.exclusive = true;
  38911. else if (t1.scanIdentifier$1("through")) {
  38912. this._box_0.exclusive = false;
  38913. return true;
  38914. } else
  38915. return false;
  38916. }
  38917. };
  38918. V.StylesheetParser__forRule_closure0.prototype = {
  38919. call$2: function(children, span) {
  38920. var t1, t2, t3, _this = this;
  38921. _this.$this._inControlDirective = _this.wasInControlDirective;
  38922. t1 = _this._box_0.exclusive;
  38923. t2 = P.List_List$unmodifiable(children, O.Statement);
  38924. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  38925. return new B.ForRule(_this.variable, _this.from, _this.to, t1, span, t2, t3);
  38926. }
  38927. };
  38928. V.StylesheetParser__memberList_closure.prototype = {
  38929. call$0: function() {
  38930. var t1 = this.$this;
  38931. if (t1.scanner.peekChar$0() === 36)
  38932. this.variables.add$1(0, t1.variableName$0());
  38933. else
  38934. this.identifiers.add$1(0, t1.identifier$1$normalize(true));
  38935. }
  38936. };
  38937. V.StylesheetParser__includeRule_closure.prototype = {
  38938. call$2: function(children, span) {
  38939. var t2, t3,
  38940. t1 = this._box_0.contentArguments;
  38941. if (t1 == null) {
  38942. t1 = this.$this.scanner;
  38943. t1 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
  38944. t2 = t1.offset;
  38945. t2 = new B.ArgumentDeclaration(C.List_empty8, null, Y._FileSpan$(t1.file, t2, t2));
  38946. t1 = t2;
  38947. }
  38948. t2 = P.List_List$unmodifiable(children, O.Statement);
  38949. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  38950. return new Y.ContentBlock(null, t1, span, t2, t3);
  38951. }
  38952. };
  38953. V.StylesheetParser_mediaRule_closure.prototype = {
  38954. call$2: function(children, span) {
  38955. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38956. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38957. return new G.MediaRule(this.query, span, t1, t2);
  38958. }
  38959. };
  38960. V.StylesheetParser__mixinRule_closure.prototype = {
  38961. call$2: function(children, span) {
  38962. var t2,
  38963. t1 = this.$this,
  38964. hadContent = t1._mixinHasContent;
  38965. t1._stylesheet$_inMixin = false;
  38966. t1._mixinHasContent = null;
  38967. t1 = P.List_List$unmodifiable(children, O.Statement);
  38968. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38969. return new T.MixinRule(hadContent, this.name, this.$arguments, span, t1, t2);
  38970. }
  38971. };
  38972. V.StylesheetParser_mozDocumentRule_closure.prototype = {
  38973. call$2: function(children, span) {
  38974. var _this = this;
  38975. if (_this._box_0.needsDeprecationWarning)
  38976. _this.$this.logger.warn$3$deprecation$span("@-moz-document is deprecated and support will be removed from Sass in a future\nrelase. For details, see http://bit.ly/moz-document.\n", true, span);
  38977. return U.AtRule$(_this.name, span, children, _this.value);
  38978. }
  38979. };
  38980. V.StylesheetParser_supportsRule_closure.prototype = {
  38981. call$2: function(children, span) {
  38982. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38983. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38984. return new B.SupportsRule(this.condition, span, t1, t2);
  38985. }
  38986. };
  38987. V.StylesheetParser__whileRule_closure.prototype = {
  38988. call$2: function(children, span) {
  38989. var t1, t2;
  38990. this.$this._inControlDirective = this.wasInControlDirective;
  38991. t1 = P.List_List$unmodifiable(children, O.Statement);
  38992. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38993. return new G.WhileRule(this.condition, span, t1, t2);
  38994. }
  38995. };
  38996. V.StylesheetParser_unknownAtRule_closure.prototype = {
  38997. call$2: function(children, span) {
  38998. return U.AtRule$(this.name, span, children, this._box_0.value);
  38999. }
  39000. };
  39001. V.StylesheetParser_expression_resetState.prototype = {
  39002. call$0: function() {
  39003. var t2,
  39004. t1 = this._box_0;
  39005. t1.operands = t1.operators = t1.spaceExpressions = t1.commaExpressions = null;
  39006. t2 = this.$this;
  39007. t2.scanner.set$state(this.start);
  39008. t1.allowSlash = t2.lookingAtNumber$0();
  39009. t1.singleExpression = t2._singleExpression$0();
  39010. }
  39011. };
  39012. V.StylesheetParser_expression_resolveOneOperation.prototype = {
  39013. call$0: function() {
  39014. var t2, t3,
  39015. t1 = this._box_0,
  39016. operator = t1.operators.pop();
  39017. if (operator !== C.BinaryOperator_RTB)
  39018. t1.allowSlash = false;
  39019. t2 = t1.allowSlash && !this.$this._inParentheses;
  39020. t3 = t1.operands;
  39021. if (t2)
  39022. t1.singleExpression = new V.BinaryOperationExpression(C.BinaryOperator_RTB, t3.pop(), t1.singleExpression, true);
  39023. else
  39024. t1.singleExpression = new V.BinaryOperationExpression(operator, t3.pop(), t1.singleExpression, false);
  39025. }
  39026. };
  39027. V.StylesheetParser_expression_resolveOperations.prototype = {
  39028. call$0: function() {
  39029. var t2,
  39030. t1 = this._box_0;
  39031. if (t1.operators == null)
  39032. return;
  39033. for (t2 = this.resolveOneOperation; t1.operators.length !== 0;)
  39034. t2.call$0();
  39035. }
  39036. };
  39037. V.StylesheetParser_expression_addSingleExpression.prototype = {
  39038. call$2$number: function(expression, number) {
  39039. var t2, _this = this,
  39040. t1 = _this._box_0;
  39041. if (t1.singleExpression != null) {
  39042. t2 = _this.$this;
  39043. if (t2._inParentheses) {
  39044. t2._inParentheses = false;
  39045. if (t1.allowSlash) {
  39046. _this.resetState.call$0();
  39047. return;
  39048. }
  39049. }
  39050. if (t1.spaceExpressions == null)
  39051. t1.spaceExpressions = H.setRuntimeTypeInfo([], [T.Expression]);
  39052. _this.resolveOperations.call$0();
  39053. t1.spaceExpressions.push(t1.singleExpression);
  39054. t1.allowSlash = number;
  39055. } else if (!number)
  39056. t1.allowSlash = false;
  39057. t1.singleExpression = expression;
  39058. },
  39059. call$1: function(expression) {
  39060. return this.call$2$number(expression, false);
  39061. }
  39062. };
  39063. V.StylesheetParser_expression_addOperator.prototype = {
  39064. call$1: function(operator) {
  39065. var t2, t3, t4, t5, singleExpression,
  39066. t1 = this.$this;
  39067. if (t1.get$plainCss() && operator !== C.BinaryOperator_RTB) {
  39068. t2 = t1.scanner;
  39069. t3 = operator.operator.length;
  39070. t2.error$3$length$position("Operators aren't allowed in plain CSS.", t3, t2._string_scanner$_position - t3);
  39071. }
  39072. t2 = this._box_0;
  39073. t2.allowSlash = t2.allowSlash && operator === C.BinaryOperator_RTB;
  39074. if (t2.operators == null)
  39075. t2.operators = H.setRuntimeTypeInfo([], [V.BinaryOperator]);
  39076. if (t2.operands == null)
  39077. t2.operands = H.setRuntimeTypeInfo([], [T.Expression]);
  39078. t3 = this.resolveOneOperation;
  39079. t4 = operator.precedence;
  39080. while (true) {
  39081. t5 = t2.operators;
  39082. if (!(t5.length !== 0 && (t5 && C.JSArray_methods).get$last(t5).precedence >= t4))
  39083. break;
  39084. t3.call$0();
  39085. }
  39086. t2.operators.push(operator);
  39087. t2.operands.push(t2.singleExpression);
  39088. t1.whitespace$0();
  39089. t2.allowSlash = t2.allowSlash && t1.lookingAtNumber$0();
  39090. singleExpression = t1._singleExpression$0();
  39091. t2.singleExpression = singleExpression;
  39092. t2.allowSlash = t2.allowSlash && singleExpression instanceof T.NumberExpression;
  39093. }
  39094. };
  39095. V.StylesheetParser_expression_resolveSpaceExpressions.prototype = {
  39096. call$0: function() {
  39097. var t1, t2, t3;
  39098. this.resolveOperations.call$0();
  39099. t1 = this._box_0;
  39100. t2 = t1.spaceExpressions;
  39101. if (t2 != null) {
  39102. t2.push(t1.singleExpression);
  39103. t2 = P.List_List$unmodifiable(t1.spaceExpressions, T.Expression);
  39104. t3 = B.spanForList(t2);
  39105. t1.singleExpression = new D.ListExpression(t2, C.ListSeparator_space, false, t3);
  39106. t1.spaceExpressions = null;
  39107. }
  39108. t2 = t1.singleEqualsOperand;
  39109. if (t2 != null) {
  39110. t1.singleExpression = new V.BinaryOperationExpression(C.BinaryOperator_kjl, t2, t1.singleExpression, false);
  39111. t1.singleEqualsOperand = null;
  39112. }
  39113. }
  39114. };
  39115. V.StylesheetParser__expressionUntilComma_closure.prototype = {
  39116. call$0: function() {
  39117. return this.$this.scanner.peekChar$0() === 44;
  39118. }
  39119. };
  39120. V.StylesheetParser__unicodeRange_closure.prototype = {
  39121. call$1: function(char) {
  39122. return char != null && T.isHex(char);
  39123. },
  39124. $signature: 10
  39125. };
  39126. V.StylesheetParser__unicodeRange_closure0.prototype = {
  39127. call$1: function(char) {
  39128. return char != null && T.isHex(char);
  39129. },
  39130. $signature: 10
  39131. };
  39132. V.StylesheetParser_identifierLike_closure.prototype = {
  39133. call$0: function() {
  39134. return this.$this.scanner.spanFrom$1(this.start);
  39135. }
  39136. };
  39137. V.StylesheetParser__expressionUntilComparison_closure.prototype = {
  39138. call$0: function() {
  39139. var t1 = this.$this.scanner,
  39140. next = t1.peekChar$0();
  39141. if (next === 61)
  39142. return t1.peekChar$1(1) !== 61;
  39143. return next === 60 || next === 62;
  39144. }
  39145. };
  39146. V.StylesheetParser__publicIdentifier_closure.prototype = {
  39147. call$0: function() {
  39148. return this.$this.scanner.spanFrom$1(this.start);
  39149. }
  39150. };
  39151. M.StylesheetGraph.prototype = {
  39152. modifiedSince$3: function(url, since, baseImporter) {
  39153. var node = this._stylesheet_graph$_add$3(url, baseImporter, null);
  39154. if (node == null)
  39155. return true;
  39156. return new M.StylesheetGraph_modifiedSince_transitiveModificationTime(this).call$1(node)._value > since._value;
  39157. },
  39158. _stylesheet_graph$_add$3: function(url, baseImporter, baseUrl) {
  39159. var tuple = this._ignoreErrors$1(new M.StylesheetGraph__add_closure(this, url, baseImporter, baseUrl));
  39160. if (tuple == null)
  39161. return;
  39162. return this.addCanonical$3(tuple.item1, tuple.item2, tuple.item3);
  39163. },
  39164. addCanonical$3: function(importer, canonicalUrl, originalUrl) {
  39165. var _this = this,
  39166. stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph_addCanonical_closure(_this, importer, canonicalUrl, originalUrl));
  39167. if (stylesheet == null)
  39168. return;
  39169. return _this._nodes.putIfAbsent$2(canonicalUrl, new M.StylesheetGraph_addCanonical_closure0(_this, stylesheet, importer, canonicalUrl));
  39170. },
  39171. _upstreamNodes$3: function(stylesheet, baseImporter, baseUrl) {
  39172. var upstreamUrls, t3,
  39173. t1 = P.Uri,
  39174. active = P.LinkedHashSet_LinkedHashSet$_literal([baseUrl], t1),
  39175. t2 = H.setRuntimeTypeInfo([], [B.DynamicImport]);
  39176. new L._FindImportsVisitor(t2).visitChildren$1(stylesheet);
  39177. upstreamUrls = new H.MappedListIterable(t2, new M.StylesheetGraph__upstreamNodes_closure(), [H.getTypeArgumentByIndex(t2, 0), t1]);
  39178. t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, M.StylesheetNode);
  39179. for (t2 = new H.ListIterator(upstreamUrls, upstreamUrls.get$length(upstreamUrls)); t2.moveNext$0();) {
  39180. t3 = t2.__internal$_current;
  39181. t1.$indexSet(0, t3, this._nodeFor$4(t3, baseImporter, baseUrl, active));
  39182. }
  39183. return t1;
  39184. },
  39185. reload$1: function(canonicalUrl) {
  39186. var stylesheet, _this = this,
  39187. node = _this._nodes.$index(0, canonicalUrl);
  39188. if (node == null)
  39189. throw H.wrapException(P.StateError$(H.S(canonicalUrl) + " is not in the dependency graph."));
  39190. _this._transitiveModificationTimes.clear$0(0);
  39191. _this.importCache.clearImport$1(canonicalUrl);
  39192. stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph_reload_closure(_this, node, canonicalUrl));
  39193. if (stylesheet == null) {
  39194. _this.remove$1(0, canonicalUrl);
  39195. return;
  39196. }
  39197. node._replaceUpstream$1(_this._upstreamNodes$3(stylesheet, node.importer, canonicalUrl));
  39198. return node;
  39199. },
  39200. remove$1: function(_, canonicalUrl) {
  39201. var node = this._nodes.remove$1(0, canonicalUrl);
  39202. if (node == null)
  39203. throw H.wrapException(P.StateError$(H.S(canonicalUrl) + " is not in the dependency graph."));
  39204. this._transitiveModificationTimes.clear$0(0);
  39205. this.importCache.clearImport$1(canonicalUrl);
  39206. node._stylesheet_graph$_remove$0();
  39207. },
  39208. _nodeFor$4: function(url, baseImporter, baseUrl, active) {
  39209. var importer, canonicalUrl, resolvedUrl, t1, stylesheet, node, _this = this,
  39210. tuple = _this._ignoreErrors$1(new M.StylesheetGraph__nodeFor_closure(_this, url, baseImporter, baseUrl));
  39211. if (tuple == null)
  39212. return;
  39213. importer = tuple.item1;
  39214. canonicalUrl = tuple.item2;
  39215. resolvedUrl = tuple.item3;
  39216. t1 = _this._nodes;
  39217. if (t1.containsKey$1(canonicalUrl))
  39218. return t1.$index(0, canonicalUrl);
  39219. if (active.contains$1(0, canonicalUrl))
  39220. return;
  39221. stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph__nodeFor_closure0(_this, importer, canonicalUrl, resolvedUrl));
  39222. if (stylesheet == null)
  39223. return;
  39224. active.add$1(0, canonicalUrl);
  39225. node = M.StylesheetNode$_(stylesheet, importer, canonicalUrl, _this._upstreamNodes$3(stylesheet, importer, canonicalUrl));
  39226. active.remove$1(0, canonicalUrl);
  39227. t1.$indexSet(0, canonicalUrl, node);
  39228. return node;
  39229. },
  39230. _ignoreErrors$1$1: function(callback) {
  39231. var t1, exception;
  39232. try {
  39233. t1 = callback.call$0();
  39234. return t1;
  39235. } catch (exception) {
  39236. H.unwrapException(exception);
  39237. return;
  39238. }
  39239. },
  39240. _ignoreErrors$1: function(callback) {
  39241. return this._ignoreErrors$1$1(callback, null);
  39242. }
  39243. };
  39244. M.StylesheetGraph_modifiedSince_transitiveModificationTime.prototype = {
  39245. call$1: function(node) {
  39246. return this.$this._transitiveModificationTimes.putIfAbsent$2(node.canonicalUrl, new M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure(node, this));
  39247. }
  39248. };
  39249. M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure.prototype = {
  39250. call$0: function() {
  39251. var t2, t3, upstreamTime,
  39252. t1 = this.node,
  39253. latest = t1.importer.modificationTime$1(t1.canonicalUrl);
  39254. for (t1 = t1._upstream.get$values(), t1 = t1.get$iterator(t1), t2 = this.transitiveModificationTime; t1.moveNext$0();) {
  39255. t3 = t1.get$current(t1);
  39256. upstreamTime = t3 == null ? new P.DateTime(Date.now(), false) : t2.call$1(t3);
  39257. if (upstreamTime._value > latest._value)
  39258. latest = upstreamTime;
  39259. }
  39260. return latest;
  39261. }
  39262. };
  39263. M.StylesheetGraph__add_closure.prototype = {
  39264. call$0: function() {
  39265. var _this = this;
  39266. return _this.$this.importCache.canonicalize$3(_this.url, _this.baseImporter, _this.baseUrl);
  39267. }
  39268. };
  39269. M.StylesheetGraph_addCanonical_closure.prototype = {
  39270. call$0: function() {
  39271. var _this = this;
  39272. return _this.$this.importCache.importCanonical$3(_this.importer, _this.canonicalUrl, _this.originalUrl);
  39273. }
  39274. };
  39275. M.StylesheetGraph_addCanonical_closure0.prototype = {
  39276. call$0: function() {
  39277. var _this = this,
  39278. t1 = _this.stylesheet,
  39279. t2 = _this.importer,
  39280. t3 = _this.canonicalUrl;
  39281. return M.StylesheetNode$_(t1, t2, t3, _this.$this._upstreamNodes$3(t1, t2, t3));
  39282. }
  39283. };
  39284. M.StylesheetGraph__upstreamNodes_closure.prototype = {
  39285. call$1: function($import) {
  39286. return P.Uri_parse($import.url);
  39287. }
  39288. };
  39289. M.StylesheetGraph_reload_closure.prototype = {
  39290. call$0: function() {
  39291. return this.$this.importCache.importCanonical$2(this.node.importer, this.canonicalUrl);
  39292. }
  39293. };
  39294. M.StylesheetGraph__nodeFor_closure.prototype = {
  39295. call$0: function() {
  39296. var _this = this;
  39297. return _this.$this.importCache.canonicalize$3(_this.url, _this.baseImporter, _this.baseUrl);
  39298. }
  39299. };
  39300. M.StylesheetGraph__nodeFor_closure0.prototype = {
  39301. call$0: function() {
  39302. var _this = this;
  39303. return _this.$this.importCache.importCanonical$3(_this.importer, _this.canonicalUrl, _this.resolvedUrl);
  39304. }
  39305. };
  39306. M.StylesheetNode.prototype = {
  39307. StylesheetNode$_$4: function(_stylesheet, importer, canonicalUrl, _upstream) {
  39308. var t1, t2;
  39309. for (t1 = this._upstream.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  39310. t2 = t1.get$current(t1);
  39311. if (t2 != null)
  39312. t2._downstream.add$1(0, this);
  39313. }
  39314. },
  39315. _replaceUpstream$1: function(newUpstream) {
  39316. var newUpstreamSet, _this = this,
  39317. t1 = M.StylesheetNode,
  39318. oldUpstream = P.LinkedHashSet_LinkedHashSet$of(_this._upstream.get$values(), t1);
  39319. oldUpstream.remove$1(0, null);
  39320. newUpstreamSet = P.LinkedHashSet_LinkedHashSet$of(newUpstream.get$values(), t1);
  39321. newUpstreamSet.remove$1(0, null);
  39322. for (t1 = oldUpstream.difference$1(newUpstreamSet), t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();)
  39323. t1._collection$_current._downstream.remove$1(0, _this);
  39324. for (t1 = newUpstreamSet.difference$1(oldUpstream), t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();)
  39325. t1._collection$_current._downstream.add$1(0, _this);
  39326. _this._upstream = newUpstream;
  39327. },
  39328. _stylesheet_graph$_remove$0: function() {
  39329. var t1, t2, t3, t4, _i, url, _this = this;
  39330. for (t1 = _this._upstream.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  39331. t2 = t1.get$current(t1);
  39332. if (t2 == null)
  39333. continue;
  39334. t2._downstream.remove$1(0, _this);
  39335. }
  39336. for (t1 = _this._downstream, t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  39337. t2 = t1.get$current(t1);
  39338. for (t3 = t2._upstream.get$keys(), t3 = P.List_List$from(t3, true, H.getRuntimeTypeArgument(t3, "Iterable", 0)), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
  39339. url = t3[_i];
  39340. if (J.$eq$(t2._upstream.$index(0, url), _this)) {
  39341. t2._upstream.$indexSet(0, url, null);
  39342. break;
  39343. }
  39344. }
  39345. }
  39346. }
  39347. };
  39348. M.Syntax.prototype = {
  39349. toString$0: function(_) {
  39350. return this._name;
  39351. }
  39352. };
  39353. G.FixedLengthListBuilder.prototype = {
  39354. add$1: function(_, element) {
  39355. var t1, _this = this;
  39356. _this._checkUnbuilt$0();
  39357. t1 = _this._fixed_length_list_builder$_index;
  39358. _this._list[t1] = element;
  39359. _this._fixed_length_list_builder$_index = t1 + 1;
  39360. },
  39361. addAll$1: function(_, elements) {
  39362. var _this = this;
  39363. _this._checkUnbuilt$0();
  39364. C.JSArray_methods.setAll$2(_this._list, _this._fixed_length_list_builder$_index, elements);
  39365. _this._fixed_length_list_builder$_index = _this._fixed_length_list_builder$_index + elements.length;
  39366. },
  39367. addRange$3: function(elements, start, end) {
  39368. var $length, t1, _this = this;
  39369. _this._checkUnbuilt$0();
  39370. $length = (end == null ? J.get$length$asx(elements._collection$_source) : end) - start;
  39371. t1 = _this._fixed_length_list_builder$_index;
  39372. C.JSArray_methods.setRange$4(_this._list, t1, t1 + $length, elements, start);
  39373. _this._fixed_length_list_builder$_index += $length;
  39374. },
  39375. addRange$2: function(elements, start) {
  39376. return this.addRange$3(elements, start, null);
  39377. },
  39378. build$0: function() {
  39379. this._checkUnbuilt$0();
  39380. this._fixed_length_list_builder$_index = -1;
  39381. return this._list;
  39382. },
  39383. _checkUnbuilt$0: function() {
  39384. if (this._fixed_length_list_builder$_index === -1)
  39385. throw H.wrapException(P.StateError$("build() has already been called."));
  39386. }
  39387. };
  39388. K.LimitedMapView.prototype = {
  39389. get$keys: function() {
  39390. return this._limited_map_view$_keys;
  39391. },
  39392. get$length: function(_) {
  39393. return this._limited_map_view$_keys._collection$_length;
  39394. },
  39395. get$isEmpty: function(_) {
  39396. return this._limited_map_view$_keys._collection$_length === 0;
  39397. },
  39398. get$isNotEmpty: function(_) {
  39399. return this._limited_map_view$_keys._collection$_length !== 0;
  39400. },
  39401. $index: function(_, key) {
  39402. return this._limited_map_view$_keys.contains$1(0, key) ? this._limited_map_view$_map.$index(0, key) : null;
  39403. },
  39404. containsKey$1: function(key) {
  39405. return this._limited_map_view$_keys.contains$1(0, key);
  39406. },
  39407. remove$1: function(_, key) {
  39408. return this._limited_map_view$_keys.contains$1(0, key) ? this._limited_map_view$_map.remove$1(0, key) : null;
  39409. }
  39410. };
  39411. Z.MergedMapView.prototype = {
  39412. get$keys: function() {
  39413. return this._mapsByKey.get$keys();
  39414. },
  39415. get$length: function(_) {
  39416. var t1 = this._mapsByKey;
  39417. return t1.get$length(t1);
  39418. },
  39419. get$isEmpty: function(_) {
  39420. var t1 = this._mapsByKey;
  39421. return t1.get$isEmpty(t1);
  39422. },
  39423. get$isNotEmpty: function(_) {
  39424. var t1 = this._mapsByKey;
  39425. return t1.get$isNotEmpty(t1);
  39426. },
  39427. MergedMapView$1: function(maps, $K, $V) {
  39428. var t1, t2, t3, _i, map, t4, t5;
  39429. for (t1 = maps.length, t2 = this._mapsByKey, t3 = [$K, $V], _i = 0; _i < maps.length; maps.length === t1 || (0, H.throwConcurrentModificationError)(maps), ++_i) {
  39430. map = maps[_i];
  39431. if (H.checkSubtype(map, "$isMergedMapView", t3, null))
  39432. for (t4 = map._mapsByKey.get$values(), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
  39433. t5 = t4.get$current(t4);
  39434. B.setAll(t2, t5.get$keys(), t5);
  39435. }
  39436. else
  39437. B.setAll(t2, map.get$keys(), map);
  39438. }
  39439. },
  39440. $index: function(_, key) {
  39441. var child = this._mapsByKey.$index(0, key);
  39442. return child == null ? null : child.$index(0, key);
  39443. },
  39444. $indexSet: function(_, key, value) {
  39445. var child = this._mapsByKey.$index(0, key);
  39446. if (child == null)
  39447. throw H.wrapException(P.UnsupportedError$("New entries may not be added to MergedMapView."));
  39448. child.$indexSet(0, key, value);
  39449. },
  39450. remove$1: function(_, key) {
  39451. throw H.wrapException(P.UnsupportedError$("Entries may not be removed from MergedMapView."));
  39452. },
  39453. containsKey$1: function(key) {
  39454. return this._mapsByKey.containsKey$1(key);
  39455. }
  39456. };
  39457. U.MultiDirWatcher.prototype = {
  39458. watch$1: function(_, directory) {
  39459. var t1, t2, t3, t4, isParentOfExistingDir, _i, existingDir, t5, future, completer;
  39460. for (t1 = this._watchers, t2 = t1.get$keys(), t2 = P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "Iterable", 0)), t3 = t2.length, t4 = this._group, isParentOfExistingDir = false, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
  39461. existingDir = t2[_i];
  39462. if (!isParentOfExistingDir) {
  39463. t5 = $.$get$context();
  39464. t5 = t5._isWithinOrEquals$2(existingDir, directory) === C._PathRelation_equal || t5._isWithinOrEquals$2(existingDir, directory) === C._PathRelation_within;
  39465. } else
  39466. t5 = false;
  39467. if (t5) {
  39468. t1 = new P._Future($.Zone__current, [-1]);
  39469. t1._asyncComplete$1(null);
  39470. return t1;
  39471. }
  39472. if ($.$get$context()._isWithinOrEquals$2(directory, existingDir) === C._PathRelation_within) {
  39473. t4.remove$1(0, t1.remove$1(0, existingDir));
  39474. isParentOfExistingDir = true;
  39475. }
  39476. }
  39477. future = B.watchDir(directory, this._poll);
  39478. t2 = E.WatchEvent;
  39479. t3 = new Y._CompleterStream([t2]);
  39480. completer = new Y.StreamCompleter(t3, [t2]);
  39481. future.then$1$2$onError(completer.get$setSourceStream(), completer.get$setError(), -1);
  39482. t1.$indexSet(0, directory, t3);
  39483. t4.add$1(0, t3);
  39484. return future;
  39485. }
  39486. };
  39487. N.NoSourceMapBuffer.prototype = {
  39488. get$length: function(_) {
  39489. return this._no_source_map_buffer$_buffer._contents.length;
  39490. },
  39491. get$sourceFiles: function() {
  39492. return C.Map_empty;
  39493. },
  39494. forSpan$1$2: function(span, callback) {
  39495. return callback.call$0();
  39496. },
  39497. forSpan$2: function(span, callback) {
  39498. return this.forSpan$1$2(span, callback, null);
  39499. },
  39500. write$1: function(_, object) {
  39501. this._no_source_map_buffer$_buffer._contents += H.S(object);
  39502. return;
  39503. },
  39504. writeCharCode$1: function(charCode) {
  39505. this._no_source_map_buffer$_buffer._contents += H.Primitives_stringFromCharCode(charCode);
  39506. return;
  39507. },
  39508. toString$0: function(_) {
  39509. var t1 = this._no_source_map_buffer$_buffer._contents;
  39510. return t1.charCodeAt(0) == 0 ? t1 : t1;
  39511. },
  39512. buildSourceMap$1$prefix: function(prefix) {
  39513. return H.throwExpression(P.UnsupportedError$("NoSourceMapBuffer.buildSourceMap() is not supported."));
  39514. },
  39515. $isStringBuffer: 1
  39516. };
  39517. F.PrefixedMapView.prototype = {
  39518. get$keys: function() {
  39519. return new F._PrefixedKeys(this);
  39520. },
  39521. get$length: function(_) {
  39522. var t1 = this._prefixed_map_view$_map;
  39523. return t1.get$length(t1);
  39524. },
  39525. get$isEmpty: function(_) {
  39526. var t1 = this._prefixed_map_view$_map;
  39527. return t1.get$isEmpty(t1);
  39528. },
  39529. get$isNotEmpty: function(_) {
  39530. var t1 = this._prefixed_map_view$_map;
  39531. return t1.get$isNotEmpty(t1);
  39532. },
  39533. $index: function(_, key) {
  39534. return typeof key === "string" && C.JSString_methods.startsWith$1(key, this._prefixed_map_view$_prefix) ? this._prefixed_map_view$_map.$index(0, J.substring$1$s(key, this._prefixed_map_view$_prefix.length)) : null;
  39535. },
  39536. containsKey$1: function(key) {
  39537. return typeof key === "string" && C.JSString_methods.startsWith$1(key, this._prefixed_map_view$_prefix) && this._prefixed_map_view$_map.containsKey$1(J.substring$1$s(key, this._prefixed_map_view$_prefix.length));
  39538. },
  39539. $asMapMixin: function($V) {
  39540. return [P.String, $V];
  39541. },
  39542. $asMap: function($V) {
  39543. return [P.String, $V];
  39544. }
  39545. };
  39546. F._PrefixedKeys.prototype = {
  39547. get$length: function(_) {
  39548. var t1 = this._prefixed_map_view$_view._prefixed_map_view$_map;
  39549. return t1.get$length(t1);
  39550. },
  39551. get$iterator: function(_) {
  39552. var t1 = J.map$1$1$ax(this._prefixed_map_view$_view._prefixed_map_view$_map.get$keys(), new F._PrefixedKeys_iterator_closure(this), P.String);
  39553. return t1.get$iterator(t1);
  39554. },
  39555. contains$1: function(_, key) {
  39556. return this._prefixed_map_view$_view.containsKey$1(key);
  39557. },
  39558. $asIterable: function() {
  39559. return [P.String];
  39560. }
  39561. };
  39562. F._PrefixedKeys_iterator_closure.prototype = {
  39563. call$1: function(key) {
  39564. return this.$this._prefixed_map_view$_view._prefixed_map_view$_prefix + H.S(key);
  39565. }
  39566. };
  39567. U.PublicMemberMapView.prototype = {
  39568. get$keys: function() {
  39569. return J.where$1$ax(this._inner.get$keys(), B.utils__isPublic$closure());
  39570. },
  39571. containsKey$1: function(key) {
  39572. return typeof key === "string" && B.isPublic(key) && this._inner.containsKey$1(key);
  39573. },
  39574. $index: function(_, key) {
  39575. if (typeof key === "string" && B.isPublic(key))
  39576. return this._inner.$index(0, key);
  39577. return;
  39578. },
  39579. $asMapMixin: function($V) {
  39580. return [P.String, $V];
  39581. },
  39582. $asMap: function($V) {
  39583. return [P.String, $V];
  39584. }
  39585. };
  39586. D.SourceMapBuffer.prototype = {
  39587. get$sourceFiles: function() {
  39588. var t1 = Y.SourceFile,
  39589. t2 = P.String;
  39590. return new P.UnmodifiableMapView(Y.mapMap(this._sourceFiles, new D.SourceMapBuffer_sourceFiles_closure(), null, P.Uri, t1, t2, t1), [t2, t1]);
  39591. },
  39592. get$_targetLocation: function() {
  39593. var t1 = this._source_map_buffer$_buffer._contents,
  39594. t2 = this._line;
  39595. return V.SourceLocation$(t1.length, this._column, t2, null);
  39596. },
  39597. get$length: function(_) {
  39598. return this._source_map_buffer$_buffer._contents.length;
  39599. },
  39600. forSpan$1$2: function(span, callback) {
  39601. var t1, _this = this,
  39602. wasInSpan = _this._inSpan;
  39603. _this._inSpan = true;
  39604. _this._addEntry$2(Y.FileLocation$_(span.file, span._start), _this.get$_targetLocation());
  39605. try {
  39606. t1 = callback.call$0();
  39607. return t1;
  39608. } finally {
  39609. _this._inSpan = wasInSpan;
  39610. }
  39611. },
  39612. forSpan$2: function(span, callback) {
  39613. return this.forSpan$1$2(span, callback, null);
  39614. },
  39615. _addEntry$2: function(source, target) {
  39616. var entry, t2,
  39617. t1 = this._entries;
  39618. if (t1.length !== 0) {
  39619. entry = C.JSArray_methods.get$last(t1);
  39620. t2 = entry.source;
  39621. if (t2.file.getLine$1(t2.offset) == source.file.getLine$1(source.offset) && entry.target.line === target.line)
  39622. return;
  39623. if (entry.target.offset == target.offset)
  39624. return;
  39625. }
  39626. this._sourceFiles.putIfAbsent$2(source.file.url, new D.SourceMapBuffer__addEntry_closure(source));
  39627. t1.push(new L.Entry(source, target, null));
  39628. },
  39629. write$1: function(_, object) {
  39630. var t1, i,
  39631. string = J.toString$0$(object);
  39632. this._source_map_buffer$_buffer._contents += H.S(string);
  39633. for (t1 = string.length, i = 0; i < t1; ++i)
  39634. if (C.JSString_methods._codeUnitAt$1(string, i) === 10)
  39635. this._writeLine$0();
  39636. else
  39637. ++this._column;
  39638. },
  39639. writeCharCode$1: function(charCode) {
  39640. this._source_map_buffer$_buffer._contents += H.Primitives_stringFromCharCode(charCode);
  39641. if (charCode === 10)
  39642. this._writeLine$0();
  39643. else
  39644. ++this._column;
  39645. },
  39646. _writeLine$0: function() {
  39647. var _this = this,
  39648. t1 = _this._entries;
  39649. if (C.JSArray_methods.get$last(t1).target.line === _this._line && C.JSArray_methods.get$last(t1).target.column === _this._column)
  39650. t1.pop();
  39651. ++_this._line;
  39652. _this._column = 0;
  39653. if (_this._inSpan)
  39654. t1.push(new L.Entry(C.JSArray_methods.get$last(t1).source, _this.get$_targetLocation(), null));
  39655. },
  39656. toString$0: function(_) {
  39657. var t1 = this._source_map_buffer$_buffer._contents;
  39658. return t1.charCodeAt(0) == 0 ? t1 : t1;
  39659. },
  39660. buildSourceMap$1$prefix: function(prefix) {
  39661. var i, t2, prefixColumn, _box_0 = {},
  39662. t1 = prefix.length;
  39663. if (t1 === 0)
  39664. return T.SingleMapping_SingleMapping$fromEntries(this._entries);
  39665. _box_0.prefixColumn = _box_0.prefixLines = 0;
  39666. for (i = 0, t2 = 0; i < t1; ++i)
  39667. if (C.JSString_methods._codeUnitAt$1(prefix, i) === 10) {
  39668. ++_box_0.prefixLines;
  39669. _box_0.prefixColumn = 0;
  39670. t2 = 0;
  39671. } else {
  39672. prefixColumn = t2 + 1;
  39673. _box_0.prefixColumn = prefixColumn;
  39674. t2 = prefixColumn;
  39675. }
  39676. t2 = this._entries;
  39677. return T.SingleMapping_SingleMapping$fromEntries(new H.MappedListIterable(t2, new D.SourceMapBuffer_buildSourceMap_closure(_box_0, t1), [H.getTypeArgumentByIndex(t2, 0), L.Entry]));
  39678. },
  39679. $isStringBuffer: 1
  39680. };
  39681. D.SourceMapBuffer_sourceFiles_closure.prototype = {
  39682. call$2: function(url, _) {
  39683. return J.toString$0$(url);
  39684. },
  39685. $signature: 53
  39686. };
  39687. D.SourceMapBuffer__addEntry_closure.prototype = {
  39688. call$0: function() {
  39689. return this.source.file;
  39690. }
  39691. };
  39692. D.SourceMapBuffer_buildSourceMap_closure.prototype = {
  39693. call$1: function(entry) {
  39694. var t1 = entry.source,
  39695. t2 = entry.target,
  39696. t3 = t2.line,
  39697. t4 = this._box_0,
  39698. t5 = t4.prefixLines;
  39699. t4 = t3 === 0 ? t4.prefixColumn : 0;
  39700. return new L.Entry(t1, V.SourceLocation$(t2.offset + this.prefixLength, t2.column + t4, t3 + t5, null), entry.identifierName);
  39701. }
  39702. };
  39703. R.UnprefixedMapView.prototype = {
  39704. get$keys: function() {
  39705. return new R._UnprefixedKeys(this);
  39706. },
  39707. $index: function(_, key) {
  39708. return typeof key === "string" ? this._unprefixed_map_view$_map.$index(0, J.$add$ansx(this._prefix, key)) : null;
  39709. },
  39710. containsKey$1: function(key) {
  39711. return typeof key === "string" && this._unprefixed_map_view$_map.containsKey$1(J.$add$ansx(this._prefix, key));
  39712. },
  39713. remove$1: function(_, key) {
  39714. return typeof key === "string" ? this._unprefixed_map_view$_map.remove$1(0, J.$add$ansx(this._prefix, key)) : null;
  39715. },
  39716. $asMapMixin: function($V) {
  39717. return [P.String, $V];
  39718. },
  39719. $asMap: function($V) {
  39720. return [P.String, $V];
  39721. }
  39722. };
  39723. R._UnprefixedKeys.prototype = {
  39724. get$iterator: function(_) {
  39725. var t1 = J.where$1$ax(this._view._unprefixed_map_view$_map.get$keys(), new R._UnprefixedKeys_iterator_closure(this)).map$1$1(0, new R._UnprefixedKeys_iterator_closure0(this), P.String);
  39726. return t1.get$iterator(t1);
  39727. },
  39728. contains$1: function(_, key) {
  39729. return this._view.containsKey$1(key);
  39730. },
  39731. $asIterable: function() {
  39732. return [P.String];
  39733. }
  39734. };
  39735. R._UnprefixedKeys_iterator_closure.prototype = {
  39736. call$1: function(key) {
  39737. return J.startsWith$1$s(key, this.$this._view._prefix);
  39738. }
  39739. };
  39740. R._UnprefixedKeys_iterator_closure0.prototype = {
  39741. call$1: function(key) {
  39742. return J.substring$1$s(key, this.$this._view._prefix.length);
  39743. }
  39744. };
  39745. B.indent_closure.prototype = {
  39746. call$1: function(line) {
  39747. return C.JSString_methods.$add(C.JSString_methods.$mul(" ", this.indentation), line);
  39748. }
  39749. };
  39750. B.bulletedList_closure.prototype = {
  39751. call$1: function(element) {
  39752. var lines = H.setRuntimeTypeInfo(element.split("\n"), [P.String]),
  39753. t1 = $._glyphs.get$bullet() + " " + H.S(C.JSArray_methods.get$first(lines));
  39754. return t1 + (lines.length > 1 ? "\n" + B.indent(H.SubListIterable$(lines, 1, null, H.getTypeArgumentByIndex(lines, 0)).join$1(0, "\n"), 2) : "");
  39755. }
  39756. };
  39757. B.flattenVertically_closure.prototype = {
  39758. call$1: function(inner) {
  39759. return Q.QueueList_QueueList$from(inner, this.T);
  39760. }
  39761. };
  39762. B.flattenVertically_closure0.prototype = {
  39763. call$1: function(queue) {
  39764. this.result.push(queue.removeFirst$0());
  39765. return queue.get$length(queue) === 0;
  39766. }
  39767. };
  39768. B.longestCommonSubsequence_closure.prototype = {
  39769. call$2: function(element1, element2) {
  39770. return J.$eq$(element1, element2) ? element1 : null;
  39771. },
  39772. $signature: function() {
  39773. var t1 = this.T;
  39774. return {func: 1, ret: t1, args: [t1, t1]};
  39775. }
  39776. };
  39777. B.longestCommonSubsequence_closure0.prototype = {
  39778. call$1: function(_) {
  39779. return P.List_List$filled(J.get$length$asx(this.list2) + 1, 0, P.int);
  39780. },
  39781. $signature: 54
  39782. };
  39783. B.longestCommonSubsequence_closure1.prototype = {
  39784. call$1: function(_) {
  39785. var t1 = new Array(J.get$length$asx(this.list2));
  39786. t1.fixed$length = Array;
  39787. return H.setRuntimeTypeInfo(t1, [this.T]);
  39788. },
  39789. $signature: function() {
  39790. return {func: 1, ret: [P.List, this.T], args: [P.int]};
  39791. }
  39792. };
  39793. B.longestCommonSubsequence_backtrack.prototype = {
  39794. call$2: function(i, j) {
  39795. var selection, t1, _this = this;
  39796. if (i === -1 || j === -1)
  39797. return H.setRuntimeTypeInfo([], [_this.T]);
  39798. selection = J.$index$asx(_this.selections[i], j);
  39799. if (selection != null) {
  39800. t1 = _this.call$2(i - 1, j - 1);
  39801. J.add$1$ax(t1, selection);
  39802. return t1;
  39803. }
  39804. t1 = _this.lengths;
  39805. return J.$index$asx(t1[i + 1], j) > J.$index$asx(t1[i], j + 1) ? _this.call$2(i, j - 1) : _this.call$2(i - 1, j);
  39806. }
  39807. };
  39808. B.mapAddAll2_closure.prototype = {
  39809. call$2: function(key, inner) {
  39810. var t1 = this.destination;
  39811. if (t1.containsKey$1(key))
  39812. t1.$index(0, key).addAll$1(0, inner);
  39813. else
  39814. t1.$indexSet(0, key, inner);
  39815. }
  39816. };
  39817. B.mapMapAsync_closure.prototype = {
  39818. call$2: function(mapKey, _) {
  39819. return this.$call$body$mapMapAsync_closure(mapKey, _, this.K2);
  39820. },
  39821. $call$body$mapMapAsync_closure: function(mapKey, _, $async$type) {
  39822. var $async$goto = 0,
  39823. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  39824. $async$returnValue, $async$self = this;
  39825. var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  39826. if ($async$errorCode === 1)
  39827. return P._asyncRethrow($async$result, $async$completer);
  39828. while (true)
  39829. switch ($async$goto) {
  39830. case 0:
  39831. // Function start
  39832. $async$returnValue = H.subtypeOfRuntimeTypeCast(mapKey, $async$self.K2);
  39833. // goto return
  39834. $async$goto = 1;
  39835. break;
  39836. case 1:
  39837. // return
  39838. return P._asyncReturn($async$returnValue, $async$completer);
  39839. }
  39840. });
  39841. return P._asyncStartSync($async$call$2, $async$completer);
  39842. },
  39843. $signature: function() {
  39844. return {func: 1, ret: [P.Future, this.K2], args: [this.K1, this.V1]};
  39845. }
  39846. };
  39847. B.copyMapOfMap_closure.prototype = {
  39848. call$2: function(_, innerMap) {
  39849. return P.LinkedHashMap_LinkedHashMap$of(innerMap, this.K2, this.V);
  39850. }
  39851. };
  39852. B.copyMapOfList_closure.prototype = {
  39853. call$2: function(_, list) {
  39854. return J.toList$0$ax(list);
  39855. }
  39856. };
  39857. F.Value.prototype = {
  39858. get$isTruthy: function() {
  39859. return true;
  39860. },
  39861. get$separator: function() {
  39862. return C.ListSeparator_undecided;
  39863. },
  39864. get$hasBrackets: function() {
  39865. return false;
  39866. },
  39867. get$asList: function() {
  39868. return H.setRuntimeTypeInfo([this], [F.Value]);
  39869. },
  39870. get$lengthAsList: function() {
  39871. return 1;
  39872. },
  39873. get$isBlank: function() {
  39874. return false;
  39875. },
  39876. get$isSpecialNumber: function() {
  39877. return false;
  39878. },
  39879. get$isVar: function() {
  39880. return false;
  39881. },
  39882. get$realNull: function() {
  39883. return this;
  39884. },
  39885. sassIndexToListIndex$2: function(sassIndex, $name) {
  39886. var _this = this,
  39887. index = sassIndex.assertNumber$1($name).assertInt$1($name);
  39888. if (index === 0)
  39889. throw H.wrapException(_this._value$_exception$2("List index may not be 0.", $name));
  39890. if (Math.abs(index) > _this.get$lengthAsList())
  39891. throw H.wrapException(_this._value$_exception$2("Invalid index " + sassIndex.toString$0(0) + " for a list with " + _this.get$lengthAsList() + " elements.", $name));
  39892. return index < 0 ? _this.get$lengthAsList() + index : index - 1;
  39893. },
  39894. assertColor$1: function($name) {
  39895. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a color.", $name));
  39896. },
  39897. assertFunction$1: function($name) {
  39898. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a function reference.", $name));
  39899. },
  39900. assertMap$1: function($name) {
  39901. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a map.", $name));
  39902. },
  39903. assertNumber$1: function($name) {
  39904. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a number.", $name));
  39905. },
  39906. assertNumber$0: function() {
  39907. return this.assertNumber$1(null);
  39908. },
  39909. assertString$1: function($name) {
  39910. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a string.", $name));
  39911. },
  39912. assertSelector$2$allowParent$name: function(allowParent, $name) {
  39913. var error, t1, exception,
  39914. string = this._selectorString$1($name);
  39915. try {
  39916. t1 = D.SelectorList_SelectorList$parse(string, allowParent, true, null);
  39917. return t1;
  39918. } catch (exception) {
  39919. t1 = H.unwrapException(exception);
  39920. if (t1 instanceof E.SassFormatException) {
  39921. error = t1;
  39922. throw H.wrapException(this._value$_exception$2(C.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", ""), $name));
  39923. } else
  39924. throw exception;
  39925. }
  39926. },
  39927. assertSelector$1$name: function($name) {
  39928. return this.assertSelector$2$allowParent$name(false, $name);
  39929. },
  39930. assertSelector$0: function() {
  39931. return this.assertSelector$2$allowParent$name(false, null);
  39932. },
  39933. assertSelector$1$allowParent: function(allowParent) {
  39934. return this.assertSelector$2$allowParent$name(allowParent, null);
  39935. },
  39936. assertCompoundSelector$1$name: function($name) {
  39937. var error, t1, exception,
  39938. allowParent = false,
  39939. string = this._selectorString$1($name);
  39940. try {
  39941. t1 = S.SpanScanner$(string, null);
  39942. t1 = new T.SelectorParser(allowParent, true, t1, C.StderrLogger_false).parseCompoundSelector$0();
  39943. return t1;
  39944. } catch (exception) {
  39945. t1 = H.unwrapException(exception);
  39946. if (t1 instanceof E.SassFormatException) {
  39947. error = t1;
  39948. throw H.wrapException(this._value$_exception$2(C.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", ""), $name));
  39949. } else
  39950. throw exception;
  39951. }
  39952. },
  39953. _selectorString$1: function($name) {
  39954. var string = this._selectorStringOrNull$0();
  39955. if (string != null)
  39956. return string;
  39957. throw H.wrapException(this._value$_exception$2(this.toString$0(0) + " is not a valid selector: it must be a string,\na list of strings, or a list of lists of strings.", $name));
  39958. },
  39959. _selectorString$0: function() {
  39960. return this._selectorString$1(null);
  39961. },
  39962. _selectorStringOrNull$0: function() {
  39963. var t1, t2, result, t3, _i, complex, t4, string, compound, _this = this;
  39964. if (!!_this.$isSassString)
  39965. return _this.text;
  39966. if (!_this.$isSassList)
  39967. return;
  39968. t1 = _this._list$_contents;
  39969. t2 = t1.length;
  39970. if (t2 === 0)
  39971. return;
  39972. result = H.setRuntimeTypeInfo([], [P.String]);
  39973. t3 = _this.separator === C.ListSeparator_comma;
  39974. if (t3)
  39975. for (_i = 0; _i < t2; ++_i) {
  39976. complex = t1[_i];
  39977. t4 = J.getInterceptor$(complex);
  39978. if (!!t4.$isSassString)
  39979. result.push(complex.text);
  39980. else if (!!t4.$isSassList && complex.separator === C.ListSeparator_space) {
  39981. string = complex._selectorString$0();
  39982. result.push(string);
  39983. } else
  39984. return;
  39985. }
  39986. else
  39987. for (_i = 0; _i < t2; ++_i) {
  39988. compound = t1[_i];
  39989. if (compound instanceof D.SassString)
  39990. result.push(compound.text);
  39991. else
  39992. return;
  39993. }
  39994. return C.JSArray_methods.join$1(result, t3 ? ", " : " ");
  39995. },
  39996. changeListContents$2$separator: function(contents, separator) {
  39997. var t1 = separator == null ? this.get$separator() : separator,
  39998. t2 = this.get$hasBrackets();
  39999. return D.SassList$(contents, t1, t2);
  40000. },
  40001. changeListContents$1: function(contents) {
  40002. return this.changeListContents$2$separator(contents, null);
  40003. },
  40004. greaterThan$1: function(other) {
  40005. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + H.S(other) + '".'));
  40006. },
  40007. greaterThanOrEquals$1: function(other) {
  40008. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + H.S(other) + '".'));
  40009. },
  40010. lessThan$1: function(other) {
  40011. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + H.S(other) + '".'));
  40012. },
  40013. lessThanOrEquals$1: function(other) {
  40014. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + H.S(other) + '".'));
  40015. },
  40016. times$1: function(other) {
  40017. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " * " + H.S(other) + '".'));
  40018. },
  40019. modulo$1: function(other) {
  40020. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".'));
  40021. },
  40022. plus$1: function(other) {
  40023. var t1;
  40024. if (other instanceof D.SassString)
  40025. return new D.SassString(C.JSString_methods.$add(N.serializeValue(this, false, true), other.text), other.hasQuotes);
  40026. else {
  40027. t1 = N.serializeValue(this, false, true);
  40028. other.toString;
  40029. return new D.SassString(t1 + N.serializeValue(other, false, true), false);
  40030. }
  40031. },
  40032. minus$1: function(other) {
  40033. var t1 = N.serializeValue(this, false, true) + "-";
  40034. other.toString;
  40035. return new D.SassString(t1 + N.serializeValue(other, false, true), false);
  40036. },
  40037. dividedBy$1: function(other) {
  40038. var t1 = N.serializeValue(this, false, true) + "/";
  40039. other.toString;
  40040. return new D.SassString(t1 + N.serializeValue(other, false, true), false);
  40041. },
  40042. unaryPlus$0: function() {
  40043. return new D.SassString("+" + N.serializeValue(this, false, true), false);
  40044. },
  40045. unaryMinus$0: function() {
  40046. return new D.SassString("-" + N.serializeValue(this, false, true), false);
  40047. },
  40048. unaryNot$0: function() {
  40049. return C.SassBoolean_false;
  40050. },
  40051. withoutSlash$0: function() {
  40052. return this;
  40053. },
  40054. toString$0: function(_) {
  40055. return N.serializeValue(this, true, true);
  40056. },
  40057. _value$_exception$2: function(message, $name) {
  40058. return new E.SassScriptException($name == null ? message : "$" + $name + ": " + message);
  40059. }
  40060. };
  40061. D.SassArgumentList.prototype = {};
  40062. Z.SassBoolean.prototype = {
  40063. get$isTruthy: function() {
  40064. return this.value;
  40065. },
  40066. accept$1$1: function(visitor) {
  40067. return visitor._serialize$_buffer.write$1(0, String(this.value));
  40068. },
  40069. accept$1: function(visitor) {
  40070. return this.accept$1$1(visitor, null);
  40071. },
  40072. unaryNot$0: function() {
  40073. return this.value ? C.SassBoolean_false : C.SassBoolean_true;
  40074. }
  40075. };
  40076. K.SassColor.prototype = {
  40077. get$red: function() {
  40078. if (this._red == null)
  40079. this._hslToRgb$0();
  40080. return this._red;
  40081. },
  40082. get$green: function() {
  40083. if (this._green == null)
  40084. this._hslToRgb$0();
  40085. return this._green;
  40086. },
  40087. get$blue: function() {
  40088. if (this._blue == null)
  40089. this._hslToRgb$0();
  40090. return this._blue;
  40091. },
  40092. get$hue: function() {
  40093. if (this._hue == null)
  40094. this._rgbToHsl$0();
  40095. return this._hue;
  40096. },
  40097. get$saturation: function() {
  40098. if (this._saturation == null)
  40099. this._rgbToHsl$0();
  40100. return this._saturation;
  40101. },
  40102. get$lightness: function() {
  40103. if (this._lightness == null)
  40104. this._rgbToHsl$0();
  40105. return this._lightness;
  40106. },
  40107. get$original: function() {
  40108. var t1 = this.originalSpan;
  40109. return t1 == null ? null : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null);
  40110. },
  40111. accept$1$1: function(visitor) {
  40112. return visitor.visitColor$1(this);
  40113. },
  40114. accept$1: function(visitor) {
  40115. return this.accept$1$1(visitor, null);
  40116. },
  40117. assertColor$1: function($name) {
  40118. return this;
  40119. },
  40120. changeRgb$4$alpha$blue$green$red: function(alpha, blue, green, red) {
  40121. var _this = this,
  40122. t1 = red == null ? _this.get$red() : red,
  40123. t2 = green == null ? _this.get$green() : green,
  40124. t3 = blue == null ? _this.get$blue() : blue;
  40125. return K.SassColor$rgb(t1, t2, t3, alpha == null ? _this.alpha : alpha, null);
  40126. },
  40127. changeRgb$3$blue$green$red: function(blue, green, red) {
  40128. return this.changeRgb$4$alpha$blue$green$red(null, blue, green, red);
  40129. },
  40130. changeRgb$1$alpha: function(alpha) {
  40131. return this.changeRgb$4$alpha$blue$green$red(alpha, null, null, null);
  40132. },
  40133. changeRgb$1$blue: function(blue) {
  40134. return this.changeRgb$4$alpha$blue$green$red(null, blue, null, null);
  40135. },
  40136. changeRgb$1$green: function(green) {
  40137. return this.changeRgb$4$alpha$blue$green$red(null, null, green, null);
  40138. },
  40139. changeRgb$1$red: function(red) {
  40140. return this.changeRgb$4$alpha$blue$green$red(null, null, null, red);
  40141. },
  40142. changeHsl$4$alpha$hue$lightness$saturation: function(alpha, hue, lightness, saturation) {
  40143. var _this = this,
  40144. t1 = hue == null ? _this.get$hue() : hue,
  40145. t2 = saturation == null ? _this.get$saturation() : saturation,
  40146. t3 = lightness == null ? _this.get$lightness() : lightness;
  40147. return K.SassColor$hsl(t1, t2, t3, alpha == null ? _this.alpha : alpha);
  40148. },
  40149. changeHsl$3$alpha$lightness$saturation: function(alpha, lightness, saturation) {
  40150. return this.changeHsl$4$alpha$hue$lightness$saturation(alpha, null, lightness, saturation);
  40151. },
  40152. changeHsl$1$saturation: function(saturation) {
  40153. return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, null, saturation);
  40154. },
  40155. changeHsl$1$lightness: function(lightness) {
  40156. return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, lightness, null);
  40157. },
  40158. changeHsl$1$hue: function(hue) {
  40159. return this.changeHsl$4$alpha$hue$lightness$saturation(null, hue, null, null);
  40160. },
  40161. changeAlpha$1: function(alpha) {
  40162. var _this = this;
  40163. return new K.SassColor(_this._red, _this._green, _this._blue, _this._hue, _this._saturation, _this._lightness, T.fuzzyAssertRange(alpha, 0, 1, "alpha"), null);
  40164. },
  40165. plus$1: function(other) {
  40166. var t1 = J.getInterceptor$(other);
  40167. if (!t1.$isSassNumber && !t1.$isSassColor)
  40168. return this.super$Value$plus(other);
  40169. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + H.S(other) + '".'));
  40170. },
  40171. minus$1: function(other) {
  40172. var t1 = J.getInterceptor$(other);
  40173. if (!t1.$isSassNumber && !t1.$isSassColor)
  40174. return this.super$Value$minus(other);
  40175. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + H.S(other) + '".'));
  40176. },
  40177. dividedBy$1: function(other) {
  40178. var t1 = J.getInterceptor$(other);
  40179. if (!t1.$isSassNumber && !t1.$isSassColor)
  40180. return this.super$Value$dividedBy(other);
  40181. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " / " + H.S(other) + '".'));
  40182. },
  40183. modulo$1: function(other) {
  40184. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".'));
  40185. },
  40186. $eq: function(_, other) {
  40187. var _this = this;
  40188. if (other == null)
  40189. return false;
  40190. return other instanceof K.SassColor && other.get$red() == _this.get$red() && other.get$green() == _this.get$green() && other.get$blue() == _this.get$blue() && other.alpha === _this.alpha;
  40191. },
  40192. get$hashCode: function(_) {
  40193. var _this = this;
  40194. return J.get$hashCode$(_this.get$red()) ^ J.get$hashCode$(_this.get$green()) ^ J.get$hashCode$(_this.get$blue()) ^ C.JSNumber_methods.get$hashCode(_this.alpha);
  40195. },
  40196. _rgbToHsl$0: function() {
  40197. var t2, t3, _this = this,
  40198. scaledRed = _this.get$red() / 255,
  40199. scaledGreen = _this.get$green() / 255,
  40200. scaledBlue = _this.get$blue() / 255,
  40201. max = Math.max(Math.max(scaledRed, scaledGreen), scaledBlue),
  40202. min = Math.min(Math.min(scaledRed, scaledGreen), scaledBlue),
  40203. delta = max - min,
  40204. t1 = max === min;
  40205. if (t1)
  40206. _this._hue = 0;
  40207. else if (max === scaledRed)
  40208. _this._hue = C.JSDouble_methods.$mod(60 * (scaledGreen - scaledBlue) / delta, 360);
  40209. else if (max === scaledGreen)
  40210. _this._hue = C.JSNumber_methods.$mod(120 + 60 * (scaledBlue - scaledRed) / delta, 360);
  40211. else if (max === scaledBlue)
  40212. _this._hue = C.JSNumber_methods.$mod(240 + 60 * (scaledRed - scaledGreen) / delta, 360);
  40213. t2 = max + min;
  40214. t3 = 50 * t2;
  40215. _this._lightness = t3;
  40216. if (t1)
  40217. _this._saturation = 0;
  40218. else {
  40219. t1 = 100 * delta;
  40220. if (t3 < 50)
  40221. _this._saturation = t1 / t2;
  40222. else
  40223. _this._saturation = t1 / (2 - max - min);
  40224. }
  40225. },
  40226. _hslToRgb$0: function() {
  40227. var _this = this,
  40228. scaledHue = _this.get$hue() / 360,
  40229. scaledSaturation = _this.get$saturation() / 100,
  40230. scaledLightness = _this.get$lightness() / 100,
  40231. m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation,
  40232. m1 = scaledLightness * 2 - m2;
  40233. _this._red = _this._hueToRgb$3(m1, m2, scaledHue + 0.3333333333333333);
  40234. _this._green = _this._hueToRgb$3(m1, m2, scaledHue);
  40235. _this._blue = _this._hueToRgb$3(m1, m2, scaledHue - 0.3333333333333333);
  40236. },
  40237. _hueToRgb$3: function(m1, m2, hue) {
  40238. var result;
  40239. if (hue < 0)
  40240. ++hue;
  40241. if (hue > 1)
  40242. --hue;
  40243. if (hue < 0.16666666666666666)
  40244. result = m1 + (m2 - m1) * hue * 6;
  40245. else if (hue < 0.5)
  40246. result = m2;
  40247. else
  40248. result = hue < 0.6666666666666666 ? m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6 : m1;
  40249. return T.fuzzyRound(result * 255);
  40250. }
  40251. };
  40252. F.SassFunction.prototype = {
  40253. accept$1$1: function(visitor) {
  40254. var t1;
  40255. if (!visitor._inspect)
  40256. H.throwExpression(E.SassScriptException$(this.toString$0(0) + " isn't a valid CSS value."));
  40257. t1 = visitor._serialize$_buffer;
  40258. t1.write$1(0, "get-function(");
  40259. visitor._visitQuotedString$1(this.callable.get$name());
  40260. t1.writeCharCode$1(41);
  40261. return;
  40262. },
  40263. accept$1: function(visitor) {
  40264. return this.accept$1$1(visitor, null);
  40265. },
  40266. assertFunction$1: function($name) {
  40267. return this;
  40268. },
  40269. $eq: function(_, other) {
  40270. if (other == null)
  40271. return false;
  40272. return other instanceof F.SassFunction && J.$eq$(this.callable, other.callable);
  40273. },
  40274. get$hashCode: function(_) {
  40275. return J.get$hashCode$(this.callable);
  40276. }
  40277. };
  40278. D.SassList.prototype = {
  40279. get$isBlank: function() {
  40280. return C.JSArray_methods.every$1(this._list$_contents, new D.SassList_isBlank_closure());
  40281. },
  40282. get$asList: function() {
  40283. return this._list$_contents;
  40284. },
  40285. get$lengthAsList: function() {
  40286. return this._list$_contents.length;
  40287. },
  40288. SassList$3$brackets: function(contents, separator, brackets) {
  40289. if (this.separator === C.ListSeparator_undecided && this._list$_contents.length > 1)
  40290. throw H.wrapException(P.ArgumentError$("A list with more than one element must have an explicit separator."));
  40291. },
  40292. accept$1$1: function(visitor) {
  40293. return visitor.visitList$1(this);
  40294. },
  40295. accept$1: function(visitor) {
  40296. return this.accept$1$1(visitor, null);
  40297. },
  40298. assertMap$1: function($name) {
  40299. return this._list$_contents.length === 0 ? C.SassMap_Map_empty : this.super$Value$assertMap($name);
  40300. },
  40301. $eq: function(_, other) {
  40302. var t1, _this = this;
  40303. if (other == null)
  40304. return false;
  40305. t1 = J.getInterceptor$(other);
  40306. if (!(!!t1.$isSassList && other.separator === _this.separator && other.hasBrackets === _this.hasBrackets && C.C_ListEquality.equals$2(other._list$_contents, _this._list$_contents)))
  40307. t1 = _this._list$_contents.length === 0 && !!t1.$isSassMap && other.get$asList().length === 0;
  40308. else
  40309. t1 = true;
  40310. return t1;
  40311. },
  40312. get$hashCode: function(_) {
  40313. return C.C_ListEquality.hash$1(this._list$_contents);
  40314. },
  40315. get$separator: function() {
  40316. return this.separator;
  40317. },
  40318. get$hasBrackets: function() {
  40319. return this.hasBrackets;
  40320. }
  40321. };
  40322. D.SassList_isBlank_closure.prototype = {
  40323. call$1: function(element) {
  40324. return element.get$isBlank();
  40325. }
  40326. };
  40327. D.ListSeparator.prototype = {
  40328. toString$0: function(_) {
  40329. return this._list$_name;
  40330. }
  40331. };
  40332. A.SassMap.prototype = {
  40333. get$separator: function() {
  40334. var t1 = this.contents;
  40335. return t1.get$isEmpty(t1) ? C.ListSeparator_undecided : C.ListSeparator_comma;
  40336. },
  40337. get$asList: function() {
  40338. var result = H.setRuntimeTypeInfo([], [F.Value]);
  40339. this.contents.forEach$1(0, new A.SassMap_asList_closure(result));
  40340. return result;
  40341. },
  40342. get$lengthAsList: function() {
  40343. var t1 = this.contents;
  40344. return t1.get$length(t1);
  40345. },
  40346. accept$1$1: function(visitor) {
  40347. return visitor.visitMap$1(this);
  40348. },
  40349. accept$1: function(visitor) {
  40350. return this.accept$1$1(visitor, null);
  40351. },
  40352. assertMap$1: function($name) {
  40353. return this;
  40354. },
  40355. $eq: function(_, other) {
  40356. var t1, t2;
  40357. if (other == null)
  40358. return false;
  40359. t1 = J.getInterceptor$(other);
  40360. if (!(!!t1.$isSassMap && C.C_MapEquality.equals$2(other.contents, this.contents))) {
  40361. t2 = this.contents;
  40362. t1 = t2.get$isEmpty(t2) && !!t1.$isSassList && other._list$_contents.length === 0;
  40363. } else
  40364. t1 = true;
  40365. return t1;
  40366. },
  40367. get$hashCode: function(_) {
  40368. var t1 = this.contents;
  40369. return t1.get$isEmpty(t1) ? C.C_ListEquality.hash$1(C.List_empty6) : C.C_MapEquality.hash$1(t1);
  40370. }
  40371. };
  40372. A.SassMap_asList_closure.prototype = {
  40373. call$2: function(key, value) {
  40374. this.result.push(D.SassList$(H.setRuntimeTypeInfo([key, value], [F.Value]), C.ListSeparator_space, false));
  40375. }
  40376. };
  40377. O.SassNull.prototype = {
  40378. get$isTruthy: function() {
  40379. return false;
  40380. },
  40381. get$isBlank: function() {
  40382. return true;
  40383. },
  40384. get$realNull: function() {
  40385. return;
  40386. },
  40387. accept$1$1: function(visitor) {
  40388. if (visitor._inspect)
  40389. visitor._serialize$_buffer.write$1(0, "null");
  40390. return;
  40391. },
  40392. accept$1: function(visitor) {
  40393. return this.accept$1$1(visitor, null);
  40394. },
  40395. unaryNot$0: function() {
  40396. return C.SassBoolean_true;
  40397. }
  40398. };
  40399. T.SassNumber.prototype = {
  40400. get$unitString: function() {
  40401. var _this = this,
  40402. t1 = _this.numeratorUnits;
  40403. return t1.length !== 0 || _this.denominatorUnits.length !== 0 ? _this._unitString$2(t1, _this.denominatorUnits) : "";
  40404. },
  40405. accept$1$1: function(visitor) {
  40406. return visitor.visitNumber$1(this);
  40407. },
  40408. accept$1: function(visitor) {
  40409. return this.accept$1$1(visitor, null);
  40410. },
  40411. withoutSlash$0: function() {
  40412. var _this = this;
  40413. if (_this.asSlash == null)
  40414. return _this;
  40415. return new T.SassNumber(_this.value, _this.numeratorUnits, _this.denominatorUnits, null);
  40416. },
  40417. withSlash$2: function(numerator, denominator) {
  40418. var t1 = T.SassNumber;
  40419. return new T.SassNumber(this.value, this.numeratorUnits, this.denominatorUnits, new S.Tuple2(numerator, denominator, [t1, t1]));
  40420. },
  40421. assertNumber$1: function($name) {
  40422. return this;
  40423. },
  40424. assertNumber$0: function() {
  40425. return this.assertNumber$1(null);
  40426. },
  40427. assertInt$1: function($name) {
  40428. var t1 = this.value,
  40429. integer = T.fuzzyIsInt(t1) ? J.round$0$n(t1) : null;
  40430. if (integer != null)
  40431. return integer;
  40432. throw H.wrapException(this._number$_exception$2(this.toString$0(0) + " is not an int.", $name));
  40433. },
  40434. assertInt$0: function() {
  40435. return this.assertInt$1(null);
  40436. },
  40437. valueInRange$3: function(min, max, $name) {
  40438. var _this = this,
  40439. result = T.fuzzyCheckRange(_this.value, min, max);
  40440. if (result != null)
  40441. return result;
  40442. throw H.wrapException(_this._number$_exception$2("Expected " + _this.toString$0(0) + " to be within " + min + _this.get$unitString() + " and " + max + _this.get$unitString() + ".", $name));
  40443. },
  40444. hasUnit$1: function(unit) {
  40445. var t1 = this.numeratorUnits;
  40446. return t1.length === 1 && this.denominatorUnits.length === 0 && J.$eq$(C.JSArray_methods.get$first(t1), unit);
  40447. },
  40448. assertUnit$2: function(unit, $name) {
  40449. if (this.hasUnit$1(unit))
  40450. return;
  40451. throw H.wrapException(this._number$_exception$2("Expected " + this.toString$0(0) + ' to have unit "' + unit + '".', $name));
  40452. },
  40453. assertNoUnits$1: function($name) {
  40454. var _this = this;
  40455. if (!(_this.numeratorUnits.length !== 0 || _this.denominatorUnits.length !== 0))
  40456. return;
  40457. throw H.wrapException(_this._number$_exception$2("Expected " + _this.toString$0(0) + " to have no units.", $name));
  40458. },
  40459. valueInUnits$2: function(newNumerators, newDenominators) {
  40460. var t2, oldNumerators, _i, oldDenominators, t3, _this = this, _box_0 = {},
  40461. t1 = newNumerators.length;
  40462. if (!(t1 === 0 && newDenominators.length === 0)) {
  40463. t2 = _this.numeratorUnits;
  40464. if (!(t2.length === 0 && _this.denominatorUnits.length === 0))
  40465. t2 = C.C_ListEquality.equals$2(t2, newNumerators) && C.C_ListEquality.equals$2(_this.denominatorUnits, newDenominators);
  40466. else
  40467. t2 = true;
  40468. } else
  40469. t2 = true;
  40470. if (t2)
  40471. return _this.value;
  40472. _box_0.value = _this.value;
  40473. t2 = _this.numeratorUnits;
  40474. oldNumerators = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]);
  40475. for (_i = 0; _i < t1; ++_i)
  40476. B.removeFirstWhere(oldNumerators, new T.SassNumber_valueInUnits_closure(_box_0, _this, newNumerators[_i]), new T.SassNumber_valueInUnits_closure0(_this, newNumerators, newDenominators));
  40477. t1 = _this.denominatorUnits;
  40478. oldDenominators = H.setRuntimeTypeInfo(t1.slice(0), [H.getTypeArgumentByIndex(t1, 0)]);
  40479. for (t3 = newDenominators.length, _i = 0; _i < t3; ++_i)
  40480. B.removeFirstWhere(oldDenominators, new T.SassNumber_valueInUnits_closure1(_box_0, _this, newDenominators[_i]), new T.SassNumber_valueInUnits_closure2(_this, newNumerators, newDenominators));
  40481. if (oldNumerators.length !== 0 || oldDenominators.length !== 0)
  40482. throw H.wrapException(E.SassScriptException$("Incompatible units " + _this._unitString$2(t2, t1) + " and " + _this._unitString$2(newNumerators, newDenominators) + "."));
  40483. return _box_0.value;
  40484. },
  40485. isComparableTo$1: function(other) {
  40486. var t1, exception;
  40487. if (this.numeratorUnits.length !== 0 || this.denominatorUnits.length !== 0)
  40488. t1 = !(other.numeratorUnits.length !== 0 || other.denominatorUnits.length !== 0);
  40489. else
  40490. t1 = true;
  40491. if (t1)
  40492. return true;
  40493. try {
  40494. this.greaterThan$1(other);
  40495. return true;
  40496. } catch (exception) {
  40497. if (H.unwrapException(exception) instanceof E.SassScriptException)
  40498. return false;
  40499. else
  40500. throw exception;
  40501. }
  40502. },
  40503. greaterThan$1: function(other) {
  40504. if (other instanceof T.SassNumber)
  40505. return this._coerceUnits$2(other, T.number0__fuzzyGreaterThan$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40506. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + H.S(other) + '".'));
  40507. },
  40508. greaterThanOrEquals$1: function(other) {
  40509. if (other instanceof T.SassNumber)
  40510. return this._coerceUnits$2(other, T.number0__fuzzyGreaterThanOrEquals$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40511. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + H.S(other) + '".'));
  40512. },
  40513. lessThan$1: function(other) {
  40514. if (other instanceof T.SassNumber)
  40515. return this._coerceUnits$2(other, T.number0__fuzzyLessThan$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40516. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + H.S(other) + '".'));
  40517. },
  40518. lessThanOrEquals$1: function(other) {
  40519. if (other instanceof T.SassNumber)
  40520. return this._coerceUnits$2(other, T.number0__fuzzyLessThanOrEquals$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40521. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + H.S(other) + '".'));
  40522. },
  40523. modulo$1: function(other) {
  40524. if (other instanceof T.SassNumber)
  40525. return this._coerceNumber$2(other, new T.SassNumber_modulo_closure());
  40526. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".'));
  40527. },
  40528. plus$1: function(other) {
  40529. var t1 = J.getInterceptor$(other);
  40530. if (!!t1.$isSassNumber)
  40531. return this._coerceNumber$2(other, new T.SassNumber_plus_closure());
  40532. if (!t1.$isSassColor)
  40533. return this.super$Value$plus(other);
  40534. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".'));
  40535. },
  40536. minus$1: function(other) {
  40537. var t1 = J.getInterceptor$(other);
  40538. if (!!t1.$isSassNumber)
  40539. return this._coerceNumber$2(other, new T.SassNumber_minus_closure());
  40540. if (!t1.$isSassColor)
  40541. return this.super$Value$minus(other);
  40542. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".'));
  40543. },
  40544. times$1: function(other) {
  40545. var _this = this;
  40546. if (other instanceof T.SassNumber)
  40547. return _this._multiplyUnits$5(_this.value * other.value, _this.numeratorUnits, _this.denominatorUnits, other.numeratorUnits, other.denominatorUnits);
  40548. throw H.wrapException(E.SassScriptException$('Undefined operation "' + _this.toString$0(0) + " * " + H.S(other) + '".'));
  40549. },
  40550. dividedBy$1: function(other) {
  40551. var _this = this;
  40552. if (other instanceof T.SassNumber)
  40553. return _this._multiplyUnits$5(_this.value / other.value, _this.numeratorUnits, _this.denominatorUnits, other.denominatorUnits, other.numeratorUnits);
  40554. return _this.super$Value$dividedBy(other);
  40555. },
  40556. unaryPlus$0: function() {
  40557. return this;
  40558. },
  40559. unaryMinus$0: function() {
  40560. return T.SassNumber$withUnits(-this.value, this.denominatorUnits, this.numeratorUnits);
  40561. },
  40562. _coerceNumber$2: function(other, operation) {
  40563. var _this = this,
  40564. result = _this._coerceUnits$2(other, operation),
  40565. t1 = _this.numeratorUnits,
  40566. t2 = t1.length === 0;
  40567. t1 = !t2 || _this.denominatorUnits.length !== 0 ? t1 : other.numeratorUnits;
  40568. return T.SassNumber$withUnits(result, !t2 || _this.denominatorUnits.length !== 0 ? _this.denominatorUnits : other.denominatorUnits, t1);
  40569. },
  40570. _coerceUnits$1$2: function(other, operation) {
  40571. var num1, num2, _this = this,
  40572. t1 = _this.numeratorUnits;
  40573. if (t1.length !== 0 || _this.denominatorUnits.length !== 0) {
  40574. num1 = _this.value;
  40575. num2 = other.valueInUnits$2(t1, _this.denominatorUnits);
  40576. } else {
  40577. num1 = _this.valueInUnits$2(other.numeratorUnits, other.denominatorUnits);
  40578. num2 = other.value;
  40579. }
  40580. return operation.call$2(num1, num2);
  40581. },
  40582. _coerceUnits$2: function(other, operation) {
  40583. return this._coerceUnits$1$2(other, operation, null);
  40584. },
  40585. _multiplyUnits$5: function(value, numerators1, denominators1, numerators2, denominators2) {
  40586. var t1, newNumerators, mutableDenominators2, _i, numerator, mutableDenominators1, _this = this, _box_0 = {};
  40587. _box_0.value = value;
  40588. t1 = numerators1.length;
  40589. if (t1 === 0) {
  40590. if (denominators2.length === 0 && !_this._areAnyConvertible$2(denominators1, numerators2))
  40591. return T.SassNumber$withUnits(value, denominators1, numerators2);
  40592. else if (denominators1.length === 0)
  40593. return T.SassNumber$withUnits(value, denominators2, numerators2);
  40594. } else if (numerators2.length === 0)
  40595. if (denominators2.length === 0)
  40596. return T.SassNumber$withUnits(value, denominators2, numerators1);
  40597. else if (denominators1.length === 0 && !_this._areAnyConvertible$2(numerators1, denominators2))
  40598. return T.SassNumber$withUnits(value, denominators2, numerators1);
  40599. newNumerators = H.setRuntimeTypeInfo([], [P.String]);
  40600. mutableDenominators2 = H.setRuntimeTypeInfo(denominators2.slice(0), [H.getTypeArgumentByIndex(denominators2, 0)]);
  40601. for (_i = 0; _i < t1; ++_i) {
  40602. numerator = numerators1[_i];
  40603. B.removeFirstWhere(mutableDenominators2, new T.SassNumber__multiplyUnits_closure(_box_0, _this, numerator), new T.SassNumber__multiplyUnits_closure0(newNumerators, numerator));
  40604. }
  40605. mutableDenominators1 = H.setRuntimeTypeInfo(denominators1.slice(0), [H.getTypeArgumentByIndex(denominators1, 0)]);
  40606. for (t1 = numerators2.length, _i = 0; _i < t1; ++_i) {
  40607. numerator = numerators2[_i];
  40608. B.removeFirstWhere(mutableDenominators1, new T.SassNumber__multiplyUnits_closure1(_box_0, _this, numerator), new T.SassNumber__multiplyUnits_closure2(newNumerators, numerator));
  40609. }
  40610. t1 = _box_0.value;
  40611. C.JSArray_methods.addAll$1(mutableDenominators1, mutableDenominators2);
  40612. return T.SassNumber$withUnits(t1, mutableDenominators1, newNumerators);
  40613. },
  40614. _areAnyConvertible$2: function(units1, units2) {
  40615. return C.JSArray_methods.any$1(units1, new T.SassNumber__areAnyConvertible_closure(this, units2));
  40616. },
  40617. _conversionFactor$2: function(unit1, unit2) {
  40618. var innerMap;
  40619. if (unit1 == unit2)
  40620. return 1;
  40621. innerMap = $.$get$_conversions().$index(0, unit1);
  40622. if (innerMap == null)
  40623. return;
  40624. return innerMap.$index(0, unit2);
  40625. },
  40626. _unitString$2: function(numerators, denominators) {
  40627. var t1;
  40628. if (numerators.length === 0) {
  40629. t1 = denominators.length;
  40630. if (t1 === 0)
  40631. return "no units";
  40632. if (t1 === 1)
  40633. return J.$add$ansx(C.JSArray_methods.get$single(denominators), "^-1");
  40634. return "(" + C.JSArray_methods.join$1(denominators, "*") + ")^-1";
  40635. }
  40636. if (denominators.length === 0)
  40637. return C.JSArray_methods.join$1(numerators, "*");
  40638. return C.JSArray_methods.join$1(numerators, "*") + "/" + C.JSArray_methods.join$1(denominators, "*");
  40639. },
  40640. $eq: function(_, other) {
  40641. var t1, t2, t3, exception, _this = this;
  40642. if (other == null)
  40643. return false;
  40644. if (other instanceof T.SassNumber) {
  40645. t1 = _this.numeratorUnits.length === 0;
  40646. t2 = !t1 || _this.denominatorUnits.length !== 0;
  40647. t3 = other;
  40648. if (t2 !== (t3.numeratorUnits.length !== 0 || t3.denominatorUnits.length !== 0))
  40649. return false;
  40650. if (!(!t1 || _this.denominatorUnits.length !== 0))
  40651. return Math.abs(_this.value - other.value) < $.$get$epsilon();
  40652. try {
  40653. t1 = _this._coerceUnits$2(other, T.number0__fuzzyEquals$closure());
  40654. return t1;
  40655. } catch (exception) {
  40656. if (H.unwrapException(exception) instanceof E.SassScriptException)
  40657. return false;
  40658. else
  40659. throw exception;
  40660. }
  40661. } else
  40662. return false;
  40663. },
  40664. get$hashCode: function(_) {
  40665. var _this = this;
  40666. return C.JSInt_methods.get$hashCode(C.JSDouble_methods.round$0(_this.value * _this._canonicalMultiplier$1(_this.numeratorUnits) / _this._canonicalMultiplier$1(_this.denominatorUnits) * $.$get$_inverseEpsilon()));
  40667. },
  40668. _canonicalMultiplier$1: function(units) {
  40669. return C.JSArray_methods.fold$2(units, 1, new T.SassNumber__canonicalMultiplier_closure());
  40670. },
  40671. _number$_exception$2: function(message, $name) {
  40672. return new E.SassScriptException($name == null ? message : "$" + $name + ": " + message);
  40673. }
  40674. };
  40675. T.SassNumber_valueInUnits_closure.prototype = {
  40676. call$1: function(oldNumerator) {
  40677. var t1,
  40678. factor = this.$this._conversionFactor$2(this.newNumerator, oldNumerator);
  40679. if (factor == null)
  40680. return false;
  40681. t1 = this._box_0;
  40682. t1.value = t1.value * factor;
  40683. return true;
  40684. }
  40685. };
  40686. T.SassNumber_valueInUnits_closure0.prototype = {
  40687. call$0: function() {
  40688. var t1 = this.$this;
  40689. throw H.wrapException(E.SassScriptException$("Incompatible units " + t1._unitString$2(t1.numeratorUnits, t1.denominatorUnits) + " and " + t1._unitString$2(this.newNumerators, this.newDenominators) + "."));
  40690. }
  40691. };
  40692. T.SassNumber_valueInUnits_closure1.prototype = {
  40693. call$1: function(oldDenominator) {
  40694. var t1,
  40695. factor = this.$this._conversionFactor$2(this.newDenominator, oldDenominator);
  40696. if (factor == null)
  40697. return false;
  40698. t1 = this._box_0;
  40699. t1.value = t1.value / factor;
  40700. return true;
  40701. }
  40702. };
  40703. T.SassNumber_valueInUnits_closure2.prototype = {
  40704. call$0: function() {
  40705. var t1 = this.$this;
  40706. throw H.wrapException(E.SassScriptException$("Incompatible units " + t1._unitString$2(t1.numeratorUnits, t1.denominatorUnits) + " and " + t1._unitString$2(this.newNumerators, this.newDenominators) + "."));
  40707. }
  40708. };
  40709. T.SassNumber_modulo_closure.prototype = {
  40710. call$2: function(num1, num2) {
  40711. var t1;
  40712. if (num2 > 0)
  40713. return C.JSNumber_methods.$mod(num1, num2);
  40714. if (num2 === 0)
  40715. return 0 / 0;
  40716. t1 = C.JSNumber_methods.$mod(num1, num2);
  40717. return t1 === 0 ? 0 : t1 + num2;
  40718. }
  40719. };
  40720. T.SassNumber_plus_closure.prototype = {
  40721. call$2: function(num1, num2) {
  40722. return num1 + num2;
  40723. }
  40724. };
  40725. T.SassNumber_minus_closure.prototype = {
  40726. call$2: function(num1, num2) {
  40727. return num1 - num2;
  40728. }
  40729. };
  40730. T.SassNumber__multiplyUnits_closure.prototype = {
  40731. call$1: function(denominator) {
  40732. var factor = this.$this._conversionFactor$2(this.numerator, denominator);
  40733. if (factor == null)
  40734. return false;
  40735. this._box_0.value /= factor;
  40736. return true;
  40737. }
  40738. };
  40739. T.SassNumber__multiplyUnits_closure0.prototype = {
  40740. call$0: function() {
  40741. this.newNumerators.push(this.numerator);
  40742. return;
  40743. }
  40744. };
  40745. T.SassNumber__multiplyUnits_closure1.prototype = {
  40746. call$1: function(denominator) {
  40747. var factor = this.$this._conversionFactor$2(this.numerator, denominator);
  40748. if (factor == null)
  40749. return false;
  40750. this._box_0.value /= factor;
  40751. return true;
  40752. }
  40753. };
  40754. T.SassNumber__multiplyUnits_closure2.prototype = {
  40755. call$0: function() {
  40756. this.newNumerators.push(this.numerator);
  40757. return;
  40758. }
  40759. };
  40760. T.SassNumber__areAnyConvertible_closure.prototype = {
  40761. call$1: function(unit1) {
  40762. var t1 = $.$get$_conversions();
  40763. if (!t1.containsKey$1(unit1))
  40764. return C.JSArray_methods.contains$1(this.units2, unit1);
  40765. return C.JSArray_methods.any$1(this.units2, t1.$index(0, unit1).get$containsKey());
  40766. }
  40767. };
  40768. T.SassNumber__canonicalMultiplier_closure.prototype = {
  40769. call$2: function(multiplier, unit) {
  40770. var t1,
  40771. innerMap = $.$get$_conversions().$index(0, unit);
  40772. if (innerMap == null)
  40773. t1 = multiplier;
  40774. else {
  40775. t1 = innerMap.get$values();
  40776. t1 = multiplier / t1.get$first(t1);
  40777. }
  40778. return t1;
  40779. }
  40780. };
  40781. D.SassString.prototype = {
  40782. get$sassLength: function() {
  40783. var t1 = this._sassLength;
  40784. if (t1 == null) {
  40785. t1 = this.text;
  40786. t1.toString;
  40787. t1 = new P.Runes(t1);
  40788. t1 = this._sassLength = t1.get$length(t1);
  40789. }
  40790. return t1;
  40791. },
  40792. get$isSpecialNumber: function() {
  40793. var t1, t2;
  40794. if (this.hasQuotes)
  40795. return false;
  40796. t1 = this.text;
  40797. if (t1.length < 6)
  40798. return false;
  40799. t2 = J.getInterceptor$s(t1)._codeUnitAt$1(t1, 0) | 32;
  40800. if (t2 === 99) {
  40801. if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 97)
  40802. return false;
  40803. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 108)
  40804. return false;
  40805. if ((C.JSString_methods._codeUnitAt$1(t1, 3) | 32) !== 99)
  40806. return false;
  40807. return C.JSString_methods._codeUnitAt$1(t1, 4) === 40;
  40808. } else if (t2 === 118) {
  40809. if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 97)
  40810. return false;
  40811. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 114)
  40812. return false;
  40813. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40814. } else if (t2 === 101) {
  40815. if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 110)
  40816. return false;
  40817. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 118)
  40818. return false;
  40819. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40820. } else if (t2 === 109) {
  40821. t2 = C.JSString_methods._codeUnitAt$1(t1, 1) | 32;
  40822. if (t2 === 97) {
  40823. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 120)
  40824. return false;
  40825. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40826. } else if (t2 === 105) {
  40827. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 110)
  40828. return false;
  40829. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40830. } else
  40831. return false;
  40832. } else
  40833. return false;
  40834. },
  40835. get$isVar: function() {
  40836. if (this.hasQuotes)
  40837. return false;
  40838. var t1 = this.text;
  40839. if (t1.length < 8)
  40840. return false;
  40841. return (J.getInterceptor$s(t1)._codeUnitAt$1(t1, 0) | 32) === 118 && (C.JSString_methods._codeUnitAt$1(t1, 1) | 32) === 97 && (C.JSString_methods._codeUnitAt$1(t1, 2) | 32) === 114 && C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40842. },
  40843. get$isBlank: function() {
  40844. return !this.hasQuotes && this.text.length === 0;
  40845. },
  40846. accept$1$1: function(visitor) {
  40847. var t1 = visitor._quote && this.hasQuotes,
  40848. t2 = this.text;
  40849. if (t1)
  40850. visitor._visitQuotedString$1(t2);
  40851. else
  40852. visitor._visitUnquotedString$1(t2);
  40853. return;
  40854. },
  40855. accept$1: function(visitor) {
  40856. return this.accept$1$1(visitor, null);
  40857. },
  40858. assertString$1: function($name) {
  40859. return this;
  40860. },
  40861. plus$1: function(other) {
  40862. var t1 = this.text,
  40863. t2 = this.hasQuotes;
  40864. if (other instanceof D.SassString)
  40865. return new D.SassString(J.$add$ansx(t1, other.text), t2);
  40866. else {
  40867. other.toString;
  40868. return new D.SassString(J.$add$ansx(t1, N.serializeValue(other, false, true)), t2);
  40869. }
  40870. },
  40871. $eq: function(_, other) {
  40872. if (other == null)
  40873. return false;
  40874. return other instanceof D.SassString && this.text == other.text;
  40875. },
  40876. get$hashCode: function(_) {
  40877. return J.get$hashCode$(this.text);
  40878. }
  40879. };
  40880. E._EvaluateVisitor0.prototype = {
  40881. _EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap0: function(functions, importCache, logger, nodeImporter, sourceMap) {
  40882. var t10, t11, metaFunctions, metaMixins, _i, metaModule, module, $function, _this = this,
  40883. _s20_ = "$name, $module: null",
  40884. _s8_ = "load-css",
  40885. t1 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}],
  40886. t2 = [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]],
  40887. t3 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new E._EvaluateVisitor_closure9(_this), t1)], t2),
  40888. t4 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name"), new E._EvaluateVisitor_closure10(_this), t1)], t2),
  40889. t5 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new E._EvaluateVisitor_closure11(_this), t1)], t2),
  40890. t6 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new E._EvaluateVisitor_closure12(_this), t1)], t2),
  40891. t7 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(""), new E._EvaluateVisitor_closure13(_this), t1)], t2),
  40892. t8 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new E._EvaluateVisitor_closure14(_this), t1)], t2),
  40893. t9 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new E._EvaluateVisitor_closure15(_this), t1)], t2);
  40894. t2 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name, $css: false, $module: null"), new E._EvaluateVisitor_closure16(_this), t1)], t2);
  40895. t1 = B.ArgumentDeclaration_ArgumentDeclaration$parse("$function, $args...");
  40896. t10 = [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]];
  40897. t11 = new S.AsyncBuiltInCallable("call", H.setRuntimeTypeInfo([], t10));
  40898. t11.AsyncBuiltInCallable$parsed$3("call", t1, new E._EvaluateVisitor_closure17(_this));
  40899. metaFunctions = [new Q.BuiltInCallable("global-variable-exists", t3), new Q.BuiltInCallable("variable-exists", t4), new Q.BuiltInCallable("function-exists", t5), new Q.BuiltInCallable("mixin-exists", t6), new Q.BuiltInCallable("content-exists", t7), new Q.BuiltInCallable("module-variables", t8), new Q.BuiltInCallable("module-functions", t9), new Q.BuiltInCallable("get-function", t2), t11];
  40900. t11 = B.ArgumentDeclaration_ArgumentDeclaration$parse("$module, $with: null");
  40901. t10 = new S.AsyncBuiltInCallable(_s8_, H.setRuntimeTypeInfo([], t10));
  40902. t10.AsyncBuiltInCallable$parsed$3(_s8_, t11, new E._EvaluateVisitor_closure18(_this));
  40903. t11 = S.AsyncBuiltInCallable;
  40904. t2 = [t11];
  40905. metaMixins = H.setRuntimeTypeInfo([t10], t2);
  40906. t2 = H.setRuntimeTypeInfo([], t2);
  40907. for (t1 = $.$get$global(), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  40908. t2.push(t1.__internal$_current);
  40909. for (_i = 0; _i < 9; ++_i)
  40910. t2.push(metaFunctions[_i]);
  40911. metaModule = Q.BuiltInModule$("meta", t2, metaMixins, t11);
  40912. t1 = H.setRuntimeTypeInfo([], [[Q.BuiltInModule, S.AsyncBuiltInCallable]]);
  40913. for (t2 = $.$get$coreModules(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  40914. t1.push(t2.__internal$_current);
  40915. t1.push(metaModule);
  40916. t2 = t1.length;
  40917. t3 = _this._async_evaluate$_builtInModules;
  40918. _i = 0;
  40919. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  40920. module = t1[_i];
  40921. t3.$indexSet(0, module.url, module);
  40922. }
  40923. t1 = H.setRuntimeTypeInfo([], [B.AsyncCallable]);
  40924. if (functions != null)
  40925. for (t2 = functions.length, _i = 0; _i < functions.length; functions.length === t2 || (0, H.throwConcurrentModificationError)(functions), ++_i)
  40926. t1.push(functions[_i]);
  40927. for (t2 = $.$get$globalFunctions(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  40928. t1.push(t2.__internal$_current);
  40929. for (_i = 0; _i < 9; ++_i)
  40930. t1.push(metaFunctions[_i]);
  40931. for (t2 = t1.length, t3 = _this._async_evaluate$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  40932. $function = t1[_i];
  40933. t4 = $function.get$name();
  40934. t4.toString;
  40935. t3.$indexSet(0, H.stringReplaceAllUnchecked(t4, "_", "-"), $function);
  40936. }
  40937. },
  40938. run$2: function(_, importer, node) {
  40939. return this.run$body$_EvaluateVisitor(_, importer, node);
  40940. },
  40941. run$body$_EvaluateVisitor: function(_, importer, node) {
  40942. var $async$goto = 0,
  40943. $async$completer = P._makeAsyncAwaitCompleter(E.EvaluateResult),
  40944. $async$returnValue, $async$self = this;
  40945. var $async$run$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40946. if ($async$errorCode === 1)
  40947. return P._asyncRethrow($async$result, $async$completer);
  40948. while (true)
  40949. switch ($async$goto) {
  40950. case 0:
  40951. // Function start
  40952. $async$returnValue = $async$self._async_evaluate$_withWarnCallback$1(new E._EvaluateVisitor_run_closure0($async$self, node, importer));
  40953. // goto return
  40954. $async$goto = 1;
  40955. break;
  40956. case 1:
  40957. // return
  40958. return P._asyncReturn($async$returnValue, $async$completer);
  40959. }
  40960. });
  40961. return P._asyncStartSync($async$run$2, $async$completer);
  40962. },
  40963. _async_evaluate$_withWarnCallback$1$1: function(callback) {
  40964. return N.withWarnCallback(new E._EvaluateVisitor__withWarnCallback_closure0(this), callback);
  40965. },
  40966. _async_evaluate$_withWarnCallback$1: function(callback) {
  40967. return this._async_evaluate$_withWarnCallback$1$1(callback, null);
  40968. },
  40969. _async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors: function(url, stackFrame, nodeForSpan, callback, baseUrl, configuration, namesInErrors) {
  40970. return this._loadModule$body$_EvaluateVisitor(url, stackFrame, nodeForSpan, callback, baseUrl, configuration, namesInErrors);
  40971. },
  40972. _async_evaluate$_loadModule$5$configuration: function(url, stackFrame, nodeForSpan, callback, configuration) {
  40973. return this._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeForSpan, callback, null, configuration, false);
  40974. },
  40975. _async_evaluate$_loadModule$4: function(url, stackFrame, nodeForSpan, callback) {
  40976. return this._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeForSpan, callback, null, null, false);
  40977. },
  40978. _loadModule$body$_EvaluateVisitor: function(url, stackFrame, nodeForSpan, callback, baseUrl, configuration, namesInErrors) {
  40979. var $async$goto = 0,
  40980. $async$completer = P._makeAsyncAwaitCompleter(-1),
  40981. $async$returnValue, $async$self = this, t1, builtInModule;
  40982. var $async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40983. if ($async$errorCode === 1)
  40984. return P._asyncRethrow($async$result, $async$completer);
  40985. while (true)
  40986. switch ($async$goto) {
  40987. case 0:
  40988. // Function start
  40989. builtInModule = $async$self._async_evaluate$_builtInModules.$index(0, url);
  40990. if (builtInModule != null) {
  40991. if (configuration != null && configuration.get$isNotEmpty(configuration)) {
  40992. t1 = namesInErrors ? "Built-in module " + H.S(url) + " can't be configured." : "Built-in modules can't be configured.";
  40993. throw H.wrapException($async$self._async_evaluate$_exception$2(t1, nodeForSpan.get$span()));
  40994. }
  40995. callback.call$1(builtInModule);
  40996. // goto return
  40997. $async$goto = 1;
  40998. break;
  40999. }
  41000. $async$goto = 3;
  41001. return P._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3(stackFrame, nodeForSpan, new E._EvaluateVisitor__loadModule_closure0($async$self, url, nodeForSpan, baseUrl, namesInErrors, configuration, callback), P.Null), $async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors);
  41002. case 3:
  41003. // returning from await.
  41004. case 1:
  41005. // return
  41006. return P._asyncReturn($async$returnValue, $async$completer);
  41007. }
  41008. });
  41009. return P._asyncStartSync($async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors, $async$completer);
  41010. },
  41011. _async_evaluate$_execute$4$configuration$namesInErrors: function(importer, stylesheet, configuration, namesInErrors) {
  41012. return this._execute$body$_EvaluateVisitor(importer, stylesheet, configuration, namesInErrors);
  41013. },
  41014. _async_evaluate$_execute$2: function(importer, stylesheet) {
  41015. return this._async_evaluate$_execute$4$configuration$namesInErrors(importer, stylesheet, null, false);
  41016. },
  41017. _execute$body$_EvaluateVisitor: function(importer, stylesheet, configuration, namesInErrors) {
  41018. var $async$goto = 0,
  41019. $async$completer = P._makeAsyncAwaitCompleter([G.Module, B.AsyncCallable]),
  41020. $async$returnValue, $async$self = this, environment, t3, extender, module, t1, url, t2, alreadyLoaded;
  41021. var $async$_async_evaluate$_execute$4$configuration$namesInErrors = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41022. if ($async$errorCode === 1)
  41023. return P._asyncRethrow($async$result, $async$completer);
  41024. while (true)
  41025. switch ($async$goto) {
  41026. case 0:
  41027. // Function start
  41028. t1 = {};
  41029. url = stylesheet.span.file.url;
  41030. t2 = $async$self._async_evaluate$_modules;
  41031. alreadyLoaded = t2.$index(0, url);
  41032. if (alreadyLoaded != null) {
  41033. t1 = configuration == null ? $async$self._async_evaluate$_configuration : configuration;
  41034. if (t1.get$isNotEmpty(t1))
  41035. throw H.wrapException($async$self._async_evaluate$_exception$1(namesInErrors ? H.S(D.prettyUri(url)) + ' was already loaded, so it can\'t be configured using "with".' : 'This module was already loaded, so it can\'t be configured using "with".'));
  41036. $async$returnValue = alreadyLoaded;
  41037. // goto return
  41038. $async$goto = 1;
  41039. break;
  41040. }
  41041. environment = Q.AsyncEnvironment$($async$self._async_evaluate$_sourceMap);
  41042. t1.css = null;
  41043. t3 = M.SimpleSelector;
  41044. extender = new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Set, [F.ModifiableCssValue, D.SelectorList]]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty([F.ModifiableCssValue, D.SelectorList], [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t3, P.int), new P._LinkedIdentityHashSet([S.ComplexSelector]), C.ExtendMode_normal);
  41045. $async$goto = 3;
  41046. return P._asyncAwait($async$self._async_evaluate$_withEnvironment$1$2(environment, new E._EvaluateVisitor__execute_closure0(t1, $async$self, importer, stylesheet, extender, configuration, namesInErrors), P.Null), $async$_async_evaluate$_execute$4$configuration$namesInErrors);
  41047. case 3:
  41048. // returning from await.
  41049. module = Q._EnvironmentModule__EnvironmentModule0(environment, t1.css, extender, environment._async_environment$_forwardedModules);
  41050. t2.$indexSet(0, url, module);
  41051. $async$returnValue = module;
  41052. // goto return
  41053. $async$goto = 1;
  41054. break;
  41055. case 1:
  41056. // return
  41057. return P._asyncReturn($async$returnValue, $async$completer);
  41058. }
  41059. });
  41060. return P._asyncStartSync($async$_async_evaluate$_execute$4$configuration$namesInErrors, $async$completer);
  41061. },
  41062. _async_evaluate$_addOutOfOrderImports$0: function() {
  41063. var t1, t2, statements, _this = this;
  41064. if (_this._async_evaluate$_outOfOrderImports == null)
  41065. return _this._async_evaluate$_root.children;
  41066. t1 = B.ModifiableCssNode;
  41067. t2 = new Array(J.get$length$asx(_this._async_evaluate$_root.children._collection$_source) + _this._async_evaluate$_outOfOrderImports.length);
  41068. t2.fixed$length = Array;
  41069. statements = new G.FixedLengthListBuilder(H.setRuntimeTypeInfo(t2, [t1]), [t1]);
  41070. statements.addRange$3(_this._async_evaluate$_root.children, 0, _this._async_evaluate$_endOfImports);
  41071. statements.addAll$1(0, _this._async_evaluate$_outOfOrderImports);
  41072. statements.addRange$2(_this._async_evaluate$_root.children, _this._async_evaluate$_endOfImports);
  41073. return statements.build$0();
  41074. },
  41075. _async_evaluate$_combineCss$2$clone: function(root, clone) {
  41076. var selectors, unsatisfiedExtension, sortedModules, t1, t2, imports, css, t3, statements, index, _this = this;
  41077. if (!C.JSArray_methods.any$1(root.get$upstream(), new E._EvaluateVisitor__combineCss_closure2())) {
  41078. selectors = root.get$extender().get$simpleSelectors();
  41079. unsatisfiedExtension = B.firstOrNull(root.get$extender().extensionsWhereTarget$1(new E._EvaluateVisitor__combineCss_closure3(selectors)));
  41080. if (unsatisfiedExtension != null)
  41081. _this._async_evaluate$_throwForUnsatisfiedExtension$1(unsatisfiedExtension);
  41082. return root.get$css(root);
  41083. }
  41084. sortedModules = _this._async_evaluate$_topologicalModules$1(root);
  41085. if (clone)
  41086. sortedModules = new H.MappedListIterable(sortedModules, new E._EvaluateVisitor__combineCss_closure4(), [H.getTypeArgumentByIndex(sortedModules, 0), [G.Module, B.AsyncCallable]]).toList$0(0);
  41087. _this._async_evaluate$_extendModules$1(sortedModules);
  41088. t1 = B.CssNode;
  41089. t2 = [t1];
  41090. imports = H.setRuntimeTypeInfo([], t2);
  41091. css = H.setRuntimeTypeInfo([], t2);
  41092. for (t2 = J.get$reversed$ax(sortedModules), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  41093. t3 = t2.__internal$_current;
  41094. statements = t3.get$css(t3).get$children();
  41095. index = _this._async_evaluate$_indexAfterImports$1(statements);
  41096. t3 = J.getInterceptor$ax(statements);
  41097. C.JSArray_methods.addAll$1(imports, t3.getRange$2(statements, 0, index));
  41098. C.JSArray_methods.addAll$1(css, t3.getRange$2(statements, index, t3.get$length(statements)));
  41099. }
  41100. return new V.CssStylesheet(new P.UnmodifiableListView(C.JSArray_methods.$add(imports, css), [t1]), root.get$css(root).get$span());
  41101. },
  41102. _async_evaluate$_combineCss$1: function(root) {
  41103. return this._async_evaluate$_combineCss$2$clone(root, false);
  41104. },
  41105. _async_evaluate$_extendModules$1: function(sortedModules) {
  41106. var t1, t2, originalSelectors, extenders, t3, t4, _i,
  41107. downstreamExtenders = P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, [P.List, F.Extender]),
  41108. unsatisfiedExtensions = new P._LinkedIdentityHashSet([S.Extension]);
  41109. for (t1 = J.get$iterator$ax(sortedModules); t1.moveNext$0();) {
  41110. t2 = t1.get$current(t1);
  41111. originalSelectors = t2.get$extender().get$simpleSelectors().toSet$0(0);
  41112. unsatisfiedExtensions.addAll$1(0, t2.get$extender().extensionsWhereTarget$1(new E._EvaluateVisitor__extendModules_closure1(originalSelectors)));
  41113. extenders = downstreamExtenders.$index(0, t2.get$url());
  41114. if (extenders != null)
  41115. t2.get$extender().addExtensions$1(extenders);
  41116. t3 = t2.get$extender();
  41117. if (t3.get$isEmpty(t3))
  41118. continue;
  41119. for (t3 = t2.get$upstream(), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i)
  41120. J.add$1$ax(downstreamExtenders.putIfAbsent$2(t3[_i].get$url(), new E._EvaluateVisitor__extendModules_closure2()), t2.get$extender());
  41121. unsatisfiedExtensions.removeAll$1(t2.get$extender().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
  41122. }
  41123. if (unsatisfiedExtensions._collection$_length !== 0)
  41124. this._async_evaluate$_throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(unsatisfiedExtensions));
  41125. },
  41126. _async_evaluate$_throwForUnsatisfiedExtension$1: function(extension) {
  41127. throw H.wrapException(E.SassException$('The target selector was not found.\nUse "@extend ' + H.S(extension.target) + ' !optional" to avoid this error.', extension.span));
  41128. },
  41129. _async_evaluate$_topologicalModules$1: function(root) {
  41130. var t1 = [G.Module, B.AsyncCallable],
  41131. seen = P.LinkedHashSet_LinkedHashSet(t1),
  41132. sorted = Q.QueueList$(null, t1);
  41133. new E._EvaluateVisitor__topologicalModules_visitModule0(seen, sorted).call$1(root);
  41134. return sorted;
  41135. },
  41136. _async_evaluate$_indexAfterImports$1: function(statements) {
  41137. var t1, lastImport, i, t2;
  41138. for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
  41139. t2 = J.getInterceptor$(t1.$index(statements, i));
  41140. if (!!t2.$isCssImport)
  41141. lastImport = i;
  41142. else if (!t2.$isCssComment)
  41143. break;
  41144. }
  41145. return lastImport + 1;
  41146. },
  41147. visitStylesheet$1: function(node) {
  41148. return this.visitStylesheet$body$_EvaluateVisitor(node);
  41149. },
  41150. visitStylesheet$body$_EvaluateVisitor: function(node) {
  41151. var $async$goto = 0,
  41152. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41153. $async$returnValue, $async$self = this, t1, t2, _i;
  41154. var $async$visitStylesheet$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41155. if ($async$errorCode === 1)
  41156. return P._asyncRethrow($async$result, $async$completer);
  41157. while (true)
  41158. switch ($async$goto) {
  41159. case 0:
  41160. // Function start
  41161. t1 = node.children, t2 = t1.length, _i = 0;
  41162. case 3:
  41163. // for condition
  41164. if (!(_i < t2)) {
  41165. // goto after for
  41166. $async$goto = 5;
  41167. break;
  41168. }
  41169. $async$goto = 6;
  41170. return P._asyncAwait(t1[_i].accept$1($async$self), $async$visitStylesheet$1);
  41171. case 6:
  41172. // returning from await.
  41173. case 4:
  41174. // for update
  41175. ++_i;
  41176. // goto for condition
  41177. $async$goto = 3;
  41178. break;
  41179. case 5:
  41180. // after for
  41181. // goto return
  41182. $async$goto = 1;
  41183. break;
  41184. case 1:
  41185. // return
  41186. return P._asyncReturn($async$returnValue, $async$completer);
  41187. }
  41188. });
  41189. return P._asyncStartSync($async$visitStylesheet$1, $async$completer);
  41190. },
  41191. visitAtRootRule$1: function(node) {
  41192. return this.visitAtRootRule$body$_EvaluateVisitor(node);
  41193. },
  41194. visitAtRootRule$body$_EvaluateVisitor: function(node) {
  41195. var $async$goto = 0,
  41196. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41197. $async$returnValue, $async$self = this, root, innerCopy, outerCopy, copy, t1, query, $parent, included, $async$temp1, $async$temp2;
  41198. var $async$visitAtRootRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41199. if ($async$errorCode === 1)
  41200. return P._asyncRethrow($async$result, $async$completer);
  41201. while (true)
  41202. switch ($async$goto) {
  41203. case 0:
  41204. // Function start
  41205. t1 = node.query;
  41206. $async$goto = t1 != null ? 3 : 5;
  41207. break;
  41208. case 3:
  41209. // then
  41210. $async$temp1 = t1;
  41211. $async$temp2 = E;
  41212. $async$goto = 6;
  41213. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(t1, true), $async$visitAtRootRule$1);
  41214. case 6:
  41215. // returning from await.
  41216. $async$result = $async$self._async_evaluate$_adjustParseError$2($async$temp1, new $async$temp2._EvaluateVisitor_visitAtRootRule_closure2($async$self, $async$result));
  41217. // goto join
  41218. $async$goto = 4;
  41219. break;
  41220. case 5:
  41221. // else
  41222. $async$result = C.AtRootQuery_UsS;
  41223. case 4:
  41224. // join
  41225. query = $async$result;
  41226. $parent = $async$self._async_evaluate$_parent;
  41227. included = H.setRuntimeTypeInfo([], [B.ModifiableCssParentNode]);
  41228. for (; !J.getInterceptor$($parent).$isCssStylesheet;) {
  41229. if (!query.excludes$1($parent))
  41230. included.push($parent);
  41231. $parent = $parent._parent;
  41232. }
  41233. root = $async$self._async_evaluate$_trimIncluded$1(included);
  41234. $async$goto = root == $async$self._async_evaluate$_parent ? 7 : 8;
  41235. break;
  41236. case 7:
  41237. // then
  41238. $async$goto = 9;
  41239. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new E._EvaluateVisitor_visitAtRootRule_closure3($async$self, node), node.hasDeclarations, P.Null), $async$visitAtRootRule$1);
  41240. case 9:
  41241. // returning from await.
  41242. // goto return
  41243. $async$goto = 1;
  41244. break;
  41245. case 8:
  41246. // join
  41247. innerCopy = included.length === 0 ? null : C.JSArray_methods.get$first(included).copyWithoutChildren$0();
  41248. for (t1 = H.SubListIterable$(included, 1, null, H.getTypeArgumentByIndex(included, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)), outerCopy = innerCopy; t1.moveNext$0(); outerCopy = copy) {
  41249. copy = t1.__internal$_current.copyWithoutChildren$0();
  41250. copy.addChild$1(outerCopy);
  41251. }
  41252. if (outerCopy != null)
  41253. root.addChild$1(outerCopy);
  41254. $async$goto = 10;
  41255. return P._asyncAwait($async$self._async_evaluate$_scopeForAtRoot$4(node, innerCopy == null ? root : innerCopy, query, included).call$1(new E._EvaluateVisitor_visitAtRootRule_closure4($async$self, node)), $async$visitAtRootRule$1);
  41256. case 10:
  41257. // returning from await.
  41258. // goto return
  41259. $async$goto = 1;
  41260. break;
  41261. case 1:
  41262. // return
  41263. return P._asyncReturn($async$returnValue, $async$completer);
  41264. }
  41265. });
  41266. return P._asyncStartSync($async$visitAtRootRule$1, $async$completer);
  41267. },
  41268. _async_evaluate$_trimIncluded$1: function(nodes) {
  41269. var $parent, innermostContiguous, i, t2, root,
  41270. t1 = nodes.length;
  41271. if (t1 === 0)
  41272. return this._async_evaluate$_root;
  41273. $parent = this._async_evaluate$_parent;
  41274. for (innermostContiguous = null, i = 0; i < t1; ++i) {
  41275. for (; $parent != nodes[i]; innermostContiguous = null)
  41276. $parent = $parent._parent;
  41277. if (innermostContiguous == null)
  41278. innermostContiguous = i;
  41279. $parent = $parent._parent;
  41280. }
  41281. t2 = this._async_evaluate$_root;
  41282. if ($parent != t2)
  41283. return t2;
  41284. root = nodes[innermostContiguous];
  41285. C.JSArray_methods.removeRange$2(nodes, innermostContiguous, t1);
  41286. return root;
  41287. },
  41288. _async_evaluate$_scopeForAtRoot$4: function(node, newParent, query, included) {
  41289. var _this = this,
  41290. scope = new E._EvaluateVisitor__scopeForAtRoot_closure5(_this, newParent, node),
  41291. t1 = query._all,
  41292. t2 = t1 || query._at_root_query$_rule,
  41293. t3 = query.include;
  41294. if (t2 !== t3)
  41295. scope = new E._EvaluateVisitor__scopeForAtRoot_closure6(_this, scope);
  41296. if (t1 ? !t3 : query.names.contains$1(0, "media") !== t3)
  41297. scope = new E._EvaluateVisitor__scopeForAtRoot_closure7(_this, scope);
  41298. if (_this._async_evaluate$_inKeyframes && query.names.contains$1(0, "keyframes") !== t3)
  41299. scope = new E._EvaluateVisitor__scopeForAtRoot_closure8(_this, scope);
  41300. return _this._async_evaluate$_inUnknownAtRule && !C.JSArray_methods.any$1(included, new E._EvaluateVisitor__scopeForAtRoot_closure9()) ? new E._EvaluateVisitor__scopeForAtRoot_closure10(_this, scope) : scope;
  41301. },
  41302. visitContentBlock$1: function(node) {
  41303. return H.throwExpression(P.UnsupportedError$("Evaluation handles @include and its content block together."));
  41304. },
  41305. visitContentRule$1: function(node) {
  41306. return this.visitContentRule$body$_EvaluateVisitor(node);
  41307. },
  41308. visitContentRule$body$_EvaluateVisitor: function(node) {
  41309. var $async$goto = 0,
  41310. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41311. $async$returnValue, $async$self = this, $content;
  41312. var $async$visitContentRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41313. if ($async$errorCode === 1)
  41314. return P._asyncRethrow($async$result, $async$completer);
  41315. while (true)
  41316. switch ($async$goto) {
  41317. case 0:
  41318. // Function start
  41319. $content = $async$self._async_evaluate$_environment._async_environment$_content;
  41320. if ($content == null) {
  41321. // goto return
  41322. $async$goto = 1;
  41323. break;
  41324. }
  41325. $async$goto = 3;
  41326. return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4(node.$arguments, $content, node, new E._EvaluateVisitor_visitContentRule_closure0($async$self, $content)), $async$visitContentRule$1);
  41327. case 3:
  41328. // returning from await.
  41329. // goto return
  41330. $async$goto = 1;
  41331. break;
  41332. case 1:
  41333. // return
  41334. return P._asyncReturn($async$returnValue, $async$completer);
  41335. }
  41336. });
  41337. return P._asyncStartSync($async$visitContentRule$1, $async$completer);
  41338. },
  41339. visitDebugRule$1: function(node) {
  41340. return this.visitDebugRule$body$_EvaluateVisitor(node);
  41341. },
  41342. visitDebugRule$body$_EvaluateVisitor: function(node) {
  41343. var $async$goto = 0,
  41344. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41345. $async$returnValue, $async$self = this, value, t1;
  41346. var $async$visitDebugRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41347. if ($async$errorCode === 1)
  41348. return P._asyncRethrow($async$result, $async$completer);
  41349. while (true)
  41350. switch ($async$goto) {
  41351. case 0:
  41352. // Function start
  41353. $async$goto = 3;
  41354. return P._asyncAwait(node.expression.accept$1($async$self), $async$visitDebugRule$1);
  41355. case 3:
  41356. // returning from await.
  41357. value = $async$result;
  41358. t1 = J.getInterceptor$(value);
  41359. t1 = !!t1.$isSassString ? value.text : t1.toString$0(value);
  41360. $async$self._async_evaluate$_logger.debug$2(t1, node.span);
  41361. // goto return
  41362. $async$goto = 1;
  41363. break;
  41364. case 1:
  41365. // return
  41366. return P._asyncReturn($async$returnValue, $async$completer);
  41367. }
  41368. });
  41369. return P._asyncStartSync($async$visitDebugRule$1, $async$completer);
  41370. },
  41371. visitDeclaration$1: function(node) {
  41372. return this.visitDeclaration$body$_EvaluateVisitor(node);
  41373. },
  41374. visitDeclaration$body$_EvaluateVisitor: function(node) {
  41375. var $async$goto = 0,
  41376. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41377. $async$returnValue, $async$self = this, $name, t1, cssValue, t2, oldDeclarationName, $async$temp1;
  41378. var $async$visitDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41379. if ($async$errorCode === 1)
  41380. return P._asyncRethrow($async$result, $async$completer);
  41381. while (true)
  41382. switch ($async$goto) {
  41383. case 0:
  41384. // Function start
  41385. if (!($async$self._async_evaluate$_styleRule != null && !$async$self._async_evaluate$_atRootExcludingStyleRule) && !$async$self._async_evaluate$_inUnknownAtRule && !$async$self._async_evaluate$_inKeyframes)
  41386. throw H.wrapException($async$self._async_evaluate$_exception$2("Declarations may only be used within style rules.", node.span));
  41387. $async$goto = 3;
  41388. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(node.name, true), $async$visitDeclaration$1);
  41389. case 3:
  41390. // returning from await.
  41391. $name = $async$result;
  41392. t1 = $async$self._async_evaluate$_declarationName;
  41393. if (t1 != null)
  41394. $name = new F.CssValue(t1 + "-" + H.S($name.get$value()), $name.get$span(), [P.String]);
  41395. t1 = node.value;
  41396. $async$goto = t1 == null ? 4 : 6;
  41397. break;
  41398. case 4:
  41399. // then
  41400. $async$result = null;
  41401. // goto join
  41402. $async$goto = 5;
  41403. break;
  41404. case 6:
  41405. // else
  41406. $async$temp1 = F;
  41407. $async$goto = 7;
  41408. return P._asyncAwait(t1.accept$1($async$self), $async$visitDeclaration$1);
  41409. case 7:
  41410. // returning from await.
  41411. $async$result = new $async$temp1.CssValue($async$result, t1.get$span(), [F.Value]);
  41412. case 5:
  41413. // join
  41414. cssValue = $async$result;
  41415. if (cssValue != null) {
  41416. t2 = cssValue.value;
  41417. t2 = !t2.get$isBlank() || t2.get$asList().length === 0;
  41418. } else
  41419. t2 = false;
  41420. if (t2) {
  41421. t2 = $async$self._async_evaluate$_parent;
  41422. t1 = $async$self._async_evaluate$_expressionNode$1(t1);
  41423. t1 = t1 == null ? null : t1.get$span();
  41424. t2.addChild$1(L.ModifiableCssDeclaration$($name, cssValue, node.span, t1));
  41425. } else if (J.startsWith$1$s($name.get$value(), "--"))
  41426. throw H.wrapException($async$self._async_evaluate$_exception$2("Custom property values may not be empty.", t1.get$span()));
  41427. $async$goto = node.children != null ? 8 : 9;
  41428. break;
  41429. case 8:
  41430. // then
  41431. oldDeclarationName = $async$self._async_evaluate$_declarationName;
  41432. $async$self._async_evaluate$_declarationName = $name.get$value();
  41433. $async$goto = 10;
  41434. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new E._EvaluateVisitor_visitDeclaration_closure0($async$self, node), node.hasDeclarations, P.Null), $async$visitDeclaration$1);
  41435. case 10:
  41436. // returning from await.
  41437. $async$self._async_evaluate$_declarationName = oldDeclarationName;
  41438. case 9:
  41439. // join
  41440. // goto return
  41441. $async$goto = 1;
  41442. break;
  41443. case 1:
  41444. // return
  41445. return P._asyncReturn($async$returnValue, $async$completer);
  41446. }
  41447. });
  41448. return P._asyncStartSync($async$visitDeclaration$1, $async$completer);
  41449. },
  41450. visitEachRule$1: function(node) {
  41451. return this.visitEachRule$body$_EvaluateVisitor(node);
  41452. },
  41453. visitEachRule$body$_EvaluateVisitor: function(node) {
  41454. var $async$goto = 0,
  41455. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41456. $async$returnValue, $async$self = this, t1, list, nodeForSpan, setVariables;
  41457. var $async$visitEachRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41458. if ($async$errorCode === 1)
  41459. return P._asyncRethrow($async$result, $async$completer);
  41460. while (true)
  41461. switch ($async$goto) {
  41462. case 0:
  41463. // Function start
  41464. t1 = node.list;
  41465. $async$goto = 3;
  41466. return P._asyncAwait(t1.accept$1($async$self), $async$visitEachRule$1);
  41467. case 3:
  41468. // returning from await.
  41469. list = $async$result;
  41470. nodeForSpan = $async$self._async_evaluate$_expressionNode$1(t1);
  41471. setVariables = node.variables.length === 1 ? new E._EvaluateVisitor_visitEachRule_closure2($async$self, node, nodeForSpan) : new E._EvaluateVisitor_visitEachRule_closure3($async$self, node, nodeForSpan);
  41472. $async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new E._EvaluateVisitor_visitEachRule_closure4($async$self, list, setVariables, node), true, F.Value);
  41473. // goto return
  41474. $async$goto = 1;
  41475. break;
  41476. case 1:
  41477. // return
  41478. return P._asyncReturn($async$returnValue, $async$completer);
  41479. }
  41480. });
  41481. return P._asyncStartSync($async$visitEachRule$1, $async$completer);
  41482. },
  41483. _async_evaluate$_setMultipleVariables$3: function(variables, value, nodeForSpan) {
  41484. var i,
  41485. list = value.get$asList(),
  41486. t1 = variables.length,
  41487. minLength = Math.min(t1, list.length);
  41488. for (i = 0; i < minLength; ++i)
  41489. this._async_evaluate$_environment.setLocalVariable$3(variables[i], list[i].withoutSlash$0(), nodeForSpan);
  41490. for (i = minLength; i < t1; ++i)
  41491. this._async_evaluate$_environment.setLocalVariable$3(variables[i], C.C_SassNull, nodeForSpan);
  41492. },
  41493. visitErrorRule$1: function(node) {
  41494. return this.visitErrorRule$body$_EvaluateVisitor(node);
  41495. },
  41496. visitErrorRule$body$_EvaluateVisitor: function(node) {
  41497. var $async$goto = 0,
  41498. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41499. $async$self = this, $async$temp1, $async$temp2;
  41500. var $async$visitErrorRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41501. if ($async$errorCode === 1)
  41502. return P._asyncRethrow($async$result, $async$completer);
  41503. while (true)
  41504. switch ($async$goto) {
  41505. case 0:
  41506. // Function start
  41507. $async$temp1 = H;
  41508. $async$temp2 = J;
  41509. $async$goto = 2;
  41510. return P._asyncAwait(node.expression.accept$1($async$self), $async$visitErrorRule$1);
  41511. case 2:
  41512. // returning from await.
  41513. throw $async$temp1.wrapException($async$self._async_evaluate$_exception$2($async$temp2.toString$0$($async$result), node.span));
  41514. // implicit return
  41515. return P._asyncReturn(null, $async$completer);
  41516. }
  41517. });
  41518. return P._asyncStartSync($async$visitErrorRule$1, $async$completer);
  41519. },
  41520. visitExtendRule$1: function(node) {
  41521. return this.visitExtendRule$body$_EvaluateVisitor(node);
  41522. },
  41523. visitExtendRule$body$_EvaluateVisitor: function(node) {
  41524. var $async$goto = 0,
  41525. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41526. $async$returnValue, $async$self = this, targetText, t1, t2, _i, t3;
  41527. var $async$visitExtendRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41528. if ($async$errorCode === 1)
  41529. return P._asyncRethrow($async$result, $async$completer);
  41530. while (true)
  41531. switch ($async$goto) {
  41532. case 0:
  41533. // Function start
  41534. if (!($async$self._async_evaluate$_styleRule != null && !$async$self._async_evaluate$_atRootExcludingStyleRule) || $async$self._async_evaluate$_declarationName != null)
  41535. throw H.wrapException($async$self._async_evaluate$_exception$2("@extend may only be used within style rules.", node.span));
  41536. $async$goto = 3;
  41537. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(node.selector, true), $async$visitExtendRule$1);
  41538. case 3:
  41539. // returning from await.
  41540. targetText = $async$result;
  41541. for (t1 = $async$self._async_evaluate$_adjustParseError$2(targetText, new E._EvaluateVisitor_visitExtendRule_closure0($async$self, targetText)).components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  41542. t3 = t1[_i].components;
  41543. if (t3.length !== 1 || !(C.JSArray_methods.get$first(t3) instanceof X.CompoundSelector))
  41544. throw H.wrapException(E.SassFormatException$("complex selectors may not be extended.", targetText.get$span()));
  41545. t3 = H.interceptedTypeCast(C.JSArray_methods.get$first(t3), "$isCompoundSelector").components;
  41546. if (t3.length !== 1)
  41547. throw H.wrapException(E.SassFormatException$("compound selectors may no longer be extended.\nConsider `@extend " + C.JSArray_methods.join$1(t3, ", ") + "` instead.\nSee http://bit.ly/ExtendCompound for details.\n", targetText.get$span()));
  41548. $async$self._async_evaluate$_extender.addExtension$4($async$self._async_evaluate$_styleRule.selector, C.JSArray_methods.get$first(t3), node, $async$self._async_evaluate$_mediaQueries);
  41549. }
  41550. // goto return
  41551. $async$goto = 1;
  41552. break;
  41553. case 1:
  41554. // return
  41555. return P._asyncReturn($async$returnValue, $async$completer);
  41556. }
  41557. });
  41558. return P._asyncStartSync($async$visitExtendRule$1, $async$completer);
  41559. },
  41560. visitAtRule$1: function(node) {
  41561. return this.visitAtRule$body$_EvaluateVisitor(node);
  41562. },
  41563. visitAtRule$body$_EvaluateVisitor: function(node) {
  41564. var $async$goto = 0,
  41565. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41566. $async$returnValue, $async$self = this, $name, t1, value, t2, t3, wasInKeyframes, wasInUnknownAtRule;
  41567. var $async$visitAtRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41568. if ($async$errorCode === 1)
  41569. return P._asyncRethrow($async$result, $async$completer);
  41570. while (true)
  41571. switch ($async$goto) {
  41572. case 0:
  41573. // Function start
  41574. if ($async$self._async_evaluate$_declarationName != null)
  41575. throw H.wrapException($async$self._async_evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  41576. $async$goto = 3;
  41577. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$1(node.name), $async$visitAtRule$1);
  41578. case 3:
  41579. // returning from await.
  41580. $name = $async$result;
  41581. t1 = node.value;
  41582. $async$goto = t1 == null ? 4 : 6;
  41583. break;
  41584. case 4:
  41585. // then
  41586. $async$result = null;
  41587. // goto join
  41588. $async$goto = 5;
  41589. break;
  41590. case 6:
  41591. // else
  41592. $async$goto = 7;
  41593. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$3$trim$warnForColor(t1, true, true), $async$visitAtRule$1);
  41594. case 7:
  41595. // returning from await.
  41596. case 5:
  41597. // join
  41598. value = $async$result;
  41599. if (node.children == null) {
  41600. t1 = $async$self._async_evaluate$_parent;
  41601. t2 = B.ModifiableCssNode;
  41602. t3 = H.setRuntimeTypeInfo([], [t2]);
  41603. t1.addChild$1(new U.ModifiableCssAtRule($name, value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  41604. // goto return
  41605. $async$goto = 1;
  41606. break;
  41607. }
  41608. wasInKeyframes = $async$self._async_evaluate$_inKeyframes;
  41609. wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule;
  41610. if (B.unvendor($name.get$value()) === "keyframes")
  41611. $async$self._async_evaluate$_inKeyframes = true;
  41612. else
  41613. $async$self._async_evaluate$_inUnknownAtRule = true;
  41614. t1 = B.ModifiableCssNode;
  41615. t2 = H.setRuntimeTypeInfo([], [t1]);
  41616. $async$goto = 8;
  41617. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule($name, value, false, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitAtRule_closure1($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitAtRule_closure2(), U.ModifiableCssAtRule, P.Null), $async$visitAtRule$1);
  41618. case 8:
  41619. // returning from await.
  41620. $async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
  41621. $async$self._async_evaluate$_inKeyframes = wasInKeyframes;
  41622. // goto return
  41623. $async$goto = 1;
  41624. break;
  41625. case 1:
  41626. // return
  41627. return P._asyncReturn($async$returnValue, $async$completer);
  41628. }
  41629. });
  41630. return P._asyncStartSync($async$visitAtRule$1, $async$completer);
  41631. },
  41632. visitForRule$1: function(node) {
  41633. return this.visitForRule$body$_EvaluateVisitor(node);
  41634. },
  41635. visitForRule$body$_EvaluateVisitor: function(node) {
  41636. var $async$goto = 0,
  41637. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41638. $async$returnValue, $async$self = this, t1, t2, t3, fromNumber, t4, toNumber, from, to, direction;
  41639. var $async$visitForRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41640. if ($async$errorCode === 1)
  41641. return P._asyncRethrow($async$result, $async$completer);
  41642. while (true)
  41643. switch ($async$goto) {
  41644. case 0:
  41645. // Function start
  41646. t1 = {};
  41647. t2 = node.from;
  41648. t3 = T.SassNumber;
  41649. $async$goto = 3;
  41650. return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(t2, new E._EvaluateVisitor_visitForRule_closure4($async$self, node), t3), $async$visitForRule$1);
  41651. case 3:
  41652. // returning from await.
  41653. fromNumber = $async$result;
  41654. t4 = node.to;
  41655. $async$goto = 4;
  41656. return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(t4, new E._EvaluateVisitor_visitForRule_closure5($async$self, node), t3), $async$visitForRule$1);
  41657. case 4:
  41658. // returning from await.
  41659. toNumber = $async$result;
  41660. from = $async$self._async_evaluate$_addExceptionSpan$2(t2, new E._EvaluateVisitor_visitForRule_closure6(fromNumber, toNumber));
  41661. to = t1.to = $async$self._async_evaluate$_addExceptionSpan$2(t4, new E._EvaluateVisitor_visitForRule_closure7(toNumber));
  41662. direction = from > to ? -1 : 1;
  41663. if (from === (!node.isExclusive ? t1.to = to + direction : to)) {
  41664. // goto return
  41665. $async$goto = 1;
  41666. break;
  41667. }
  41668. $async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new E._EvaluateVisitor_visitForRule_closure8(t1, $async$self, node, from, direction), true, F.Value);
  41669. // goto return
  41670. $async$goto = 1;
  41671. break;
  41672. case 1:
  41673. // return
  41674. return P._asyncReturn($async$returnValue, $async$completer);
  41675. }
  41676. });
  41677. return P._asyncStartSync($async$visitForRule$1, $async$completer);
  41678. },
  41679. visitForwardRule$1: function(node) {
  41680. return this.visitForwardRule$body$_EvaluateVisitor(node);
  41681. },
  41682. visitForwardRule$body$_EvaluateVisitor: function(node) {
  41683. var $async$goto = 0,
  41684. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41685. $async$returnValue, $async$self = this, t1, t2, oldConfiguration;
  41686. var $async$visitForwardRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41687. if ($async$errorCode === 1)
  41688. return P._asyncRethrow($async$result, $async$completer);
  41689. while (true)
  41690. switch ($async$goto) {
  41691. case 0:
  41692. // Function start
  41693. oldConfiguration = $async$self._async_evaluate$_configuration;
  41694. if (oldConfiguration.get$isNotEmpty(oldConfiguration)) {
  41695. t1 = node.prefix;
  41696. if (t1 != null)
  41697. $async$self._async_evaluate$_configuration = new R.UnprefixedMapView($async$self._async_evaluate$_configuration, t1, [E._ConfiguredValue0]);
  41698. t1 = node.shownVariables;
  41699. if (t1 != null)
  41700. $async$self._async_evaluate$_configuration = K.LimitedMapView$whitelist($async$self._async_evaluate$_configuration, t1, P.String, E._ConfiguredValue0);
  41701. else {
  41702. t1 = node.hiddenVariables;
  41703. if (t1 != null) {
  41704. t2 = t1._base;
  41705. t2 = t2.get$isNotEmpty(t2);
  41706. } else
  41707. t2 = false;
  41708. if (t2)
  41709. $async$self._async_evaluate$_configuration = K.LimitedMapView$blacklist($async$self._async_evaluate$_configuration, t1, P.String, E._ConfiguredValue0);
  41710. }
  41711. }
  41712. $async$goto = 3;
  41713. return P._asyncAwait($async$self._async_evaluate$_loadModule$4(node.url, "@forward", node, new E._EvaluateVisitor_visitForwardRule_closure0($async$self, node)), $async$visitForwardRule$1);
  41714. case 3:
  41715. // returning from await.
  41716. $async$self._async_evaluate$_configuration = oldConfiguration;
  41717. // goto return
  41718. $async$goto = 1;
  41719. break;
  41720. case 1:
  41721. // return
  41722. return P._asyncReturn($async$returnValue, $async$completer);
  41723. }
  41724. });
  41725. return P._asyncStartSync($async$visitForwardRule$1, $async$completer);
  41726. },
  41727. visitFunctionRule$1: function(node) {
  41728. return this.visitFunctionRule$body$_EvaluateVisitor(node);
  41729. },
  41730. visitFunctionRule$body$_EvaluateVisitor: function(node) {
  41731. var $async$goto = 0,
  41732. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41733. $async$returnValue, $async$self = this, t1, t2, t3, index, t4;
  41734. var $async$visitFunctionRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41735. if ($async$errorCode === 1)
  41736. return P._asyncRethrow($async$result, $async$completer);
  41737. while (true)
  41738. switch ($async$goto) {
  41739. case 0:
  41740. // Function start
  41741. t1 = $async$self._async_evaluate$_environment;
  41742. t2 = t1.closure$0();
  41743. t3 = t1._async_environment$_functions;
  41744. index = t3.length - 1;
  41745. t4 = node.name;
  41746. t1._async_environment$_functionIndices.$indexSet(0, t4, index);
  41747. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [Q.AsyncEnvironment]));
  41748. // goto return
  41749. $async$goto = 1;
  41750. break;
  41751. case 1:
  41752. // return
  41753. return P._asyncReturn($async$returnValue, $async$completer);
  41754. }
  41755. });
  41756. return P._asyncStartSync($async$visitFunctionRule$1, $async$completer);
  41757. },
  41758. visitIfRule$1: function(node) {
  41759. return this.visitIfRule$body$_EvaluateVisitor(node);
  41760. },
  41761. visitIfRule$body$_EvaluateVisitor: function(node) {
  41762. var $async$goto = 0,
  41763. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41764. $async$returnValue, $async$self = this, t1, t2, _i, clauseToCheck, _box_0;
  41765. var $async$visitIfRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41766. if ($async$errorCode === 1)
  41767. return P._asyncRethrow($async$result, $async$completer);
  41768. while (true)
  41769. switch ($async$goto) {
  41770. case 0:
  41771. // Function start
  41772. _box_0 = {};
  41773. _box_0.clause = node.lastClause;
  41774. t1 = node.clauses, t2 = t1.length, _i = 0;
  41775. case 3:
  41776. // for condition
  41777. if (!(_i < t2)) {
  41778. // goto after for
  41779. $async$goto = 5;
  41780. break;
  41781. }
  41782. clauseToCheck = t1[_i];
  41783. $async$goto = 6;
  41784. return P._asyncAwait(clauseToCheck.expression.accept$1($async$self), $async$visitIfRule$1);
  41785. case 6:
  41786. // returning from await.
  41787. if ($async$result.get$isTruthy()) {
  41788. _box_0.clause = clauseToCheck;
  41789. // goto after for
  41790. $async$goto = 5;
  41791. break;
  41792. }
  41793. case 4:
  41794. // for update
  41795. ++_i;
  41796. // goto for condition
  41797. $async$goto = 3;
  41798. break;
  41799. case 5:
  41800. // after for
  41801. t1 = _box_0.clause;
  41802. if (t1 == null) {
  41803. // goto return
  41804. $async$goto = 1;
  41805. break;
  41806. }
  41807. $async$goto = 7;
  41808. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$3$semiGlobal$when(new E._EvaluateVisitor_visitIfRule_closure0(_box_0, $async$self), true, t1.hasDeclarations, F.Value), $async$visitIfRule$1);
  41809. case 7:
  41810. // returning from await.
  41811. $async$returnValue = $async$result;
  41812. // goto return
  41813. $async$goto = 1;
  41814. break;
  41815. case 1:
  41816. // return
  41817. return P._asyncReturn($async$returnValue, $async$completer);
  41818. }
  41819. });
  41820. return P._asyncStartSync($async$visitIfRule$1, $async$completer);
  41821. },
  41822. visitImportRule$1: function(node) {
  41823. return this.visitImportRule$body$_EvaluateVisitor(node);
  41824. },
  41825. visitImportRule$body$_EvaluateVisitor: function(node) {
  41826. var $async$goto = 0,
  41827. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41828. $async$returnValue, $async$self = this, t1, t2, _i, $import;
  41829. var $async$visitImportRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41830. if ($async$errorCode === 1)
  41831. return P._asyncRethrow($async$result, $async$completer);
  41832. while (true)
  41833. switch ($async$goto) {
  41834. case 0:
  41835. // Function start
  41836. t1 = node.imports, t2 = t1.length, _i = 0;
  41837. case 3:
  41838. // for condition
  41839. if (!(_i < t2)) {
  41840. // goto after for
  41841. $async$goto = 5;
  41842. break;
  41843. }
  41844. $import = t1[_i];
  41845. $async$goto = $import instanceof B.DynamicImport ? 6 : 8;
  41846. break;
  41847. case 6:
  41848. // then
  41849. $async$goto = 9;
  41850. return P._asyncAwait($async$self._async_evaluate$_visitDynamicImport$1($import), $async$visitImportRule$1);
  41851. case 9:
  41852. // returning from await.
  41853. // goto join
  41854. $async$goto = 7;
  41855. break;
  41856. case 8:
  41857. // else
  41858. $async$goto = 10;
  41859. return P._asyncAwait($async$self._visitStaticImport$1(H.interceptedTypeCast($import, "$isStaticImport")), $async$visitImportRule$1);
  41860. case 10:
  41861. // returning from await.
  41862. case 7:
  41863. // join
  41864. case 4:
  41865. // for update
  41866. ++_i;
  41867. // goto for condition
  41868. $async$goto = 3;
  41869. break;
  41870. case 5:
  41871. // after for
  41872. // goto return
  41873. $async$goto = 1;
  41874. break;
  41875. case 1:
  41876. // return
  41877. return P._asyncReturn($async$returnValue, $async$completer);
  41878. }
  41879. });
  41880. return P._asyncStartSync($async$visitImportRule$1, $async$completer);
  41881. },
  41882. _async_evaluate$_visitDynamicImport$1: function($import) {
  41883. return this._async_evaluate$_withStackFrame$1$3("@import", $import, new E._EvaluateVisitor__visitDynamicImport_closure0(this, $import), -1);
  41884. },
  41885. _async_evaluate$_loadStylesheet$3$baseUrl: function(url, span, baseUrl) {
  41886. return this._loadStylesheet$body$_EvaluateVisitor(url, span, baseUrl);
  41887. },
  41888. _async_evaluate$_loadStylesheet$2: function(url, span) {
  41889. return this._async_evaluate$_loadStylesheet$3$baseUrl(url, span, null);
  41890. },
  41891. _loadStylesheet$body$_EvaluateVisitor: function(url, span, baseUrl) {
  41892. var $async$goto = 0,
  41893. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, B.AsyncImporter, V.Stylesheet]),
  41894. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, stylesheet, tuple, error, error0, message, t1, t2, t3, exception, $async$exception;
  41895. var $async$_async_evaluate$_loadStylesheet$3$baseUrl = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41896. if ($async$errorCode === 1) {
  41897. $async$currentError = $async$result;
  41898. $async$goto = $async$handler;
  41899. }
  41900. while (true)
  41901. switch ($async$goto) {
  41902. case 0:
  41903. // Function start
  41904. $async$handler = 4;
  41905. $async$self._async_evaluate$_importSpan = span;
  41906. $async$goto = $async$self._async_evaluate$_nodeImporter != null ? 7 : 9;
  41907. break;
  41908. case 7:
  41909. // then
  41910. $async$goto = 10;
  41911. return P._asyncAwait($async$self._async_evaluate$_importLikeNode$1(url), $async$_async_evaluate$_loadStylesheet$3$baseUrl);
  41912. case 10:
  41913. // returning from await.
  41914. stylesheet = $async$result;
  41915. if (stylesheet != null) {
  41916. $async$returnValue = new S.Tuple2(null, stylesheet, [B.AsyncImporter, V.Stylesheet]);
  41917. $async$next = [1];
  41918. // goto finally
  41919. $async$goto = 5;
  41920. break;
  41921. }
  41922. // goto join
  41923. $async$goto = 8;
  41924. break;
  41925. case 9:
  41926. // else
  41927. t1 = P.Uri_parse(url);
  41928. t2 = $async$self._async_evaluate$_importer;
  41929. if (baseUrl == null) {
  41930. t3 = $async$self._async_evaluate$_stylesheet;
  41931. t3 = t3 == null ? null : t3.span;
  41932. t3 = t3 == null ? null : t3.file.url;
  41933. } else
  41934. t3 = baseUrl;
  41935. $async$goto = 11;
  41936. return P._asyncAwait($async$self._async_evaluate$_importCache.import$3(t1, t2, t3), $async$_async_evaluate$_loadStylesheet$3$baseUrl);
  41937. case 11:
  41938. // returning from await.
  41939. tuple = $async$result;
  41940. if (tuple != null) {
  41941. $async$returnValue = tuple;
  41942. $async$next = [1];
  41943. // goto finally
  41944. $async$goto = 5;
  41945. break;
  41946. }
  41947. case 8:
  41948. // join
  41949. if (C.JSString_methods.startsWith$1(url, "package:") && true)
  41950. throw H.wrapException('"package:" URLs aren\'t supported on this platform.');
  41951. else
  41952. throw H.wrapException("Can't find stylesheet to import.");
  41953. $async$next.push(6);
  41954. // goto finally
  41955. $async$goto = 5;
  41956. break;
  41957. case 4:
  41958. // catch
  41959. $async$handler = 3;
  41960. $async$exception = $async$currentError;
  41961. t1 = H.unwrapException($async$exception);
  41962. if (t1 instanceof E.SassException) {
  41963. error = t1;
  41964. t1 = $async$self._async_evaluate$_exception$2(error._span_exception$_message, error.get$span());
  41965. throw H.wrapException(t1);
  41966. } else {
  41967. error0 = t1;
  41968. message = null;
  41969. try {
  41970. message = H.stringTypeCast(J.get$message$x(error0));
  41971. } catch (exception) {
  41972. H.unwrapException($async$exception);
  41973. message = J.toString$0$(error0);
  41974. }
  41975. t1 = $async$self._async_evaluate$_exception$1(message);
  41976. throw H.wrapException(t1);
  41977. }
  41978. $async$next.push(6);
  41979. // goto finally
  41980. $async$goto = 5;
  41981. break;
  41982. case 3:
  41983. // uncaught
  41984. $async$next = [2];
  41985. case 5:
  41986. // finally
  41987. $async$handler = 2;
  41988. $async$self._async_evaluate$_importSpan = null;
  41989. // goto the next finally handler
  41990. $async$goto = $async$next.pop();
  41991. break;
  41992. case 6:
  41993. // after finally
  41994. case 1:
  41995. // return
  41996. return P._asyncReturn($async$returnValue, $async$completer);
  41997. case 2:
  41998. // rethrow
  41999. return P._asyncRethrow($async$currentError, $async$completer);
  42000. }
  42001. });
  42002. return P._asyncStartSync($async$_async_evaluate$_loadStylesheet$3$baseUrl, $async$completer);
  42003. },
  42004. _async_evaluate$_importLikeNode$1: function(originalUrl) {
  42005. return this._importLikeNode$body$_EvaluateVisitor(originalUrl);
  42006. },
  42007. _importLikeNode$body$_EvaluateVisitor: function(originalUrl) {
  42008. var $async$goto = 0,
  42009. $async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet),
  42010. $async$returnValue, $async$self = this, result, contents, url, t1;
  42011. var $async$_async_evaluate$_importLikeNode$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42012. if ($async$errorCode === 1)
  42013. return P._asyncRethrow($async$result, $async$completer);
  42014. while (true)
  42015. switch ($async$goto) {
  42016. case 0:
  42017. // Function start
  42018. t1 = $async$self._async_evaluate$_stylesheet.span;
  42019. t1 = t1 == null ? null : t1.file.url;
  42020. $async$goto = 3;
  42021. return P._asyncAwait($async$self._async_evaluate$_nodeImporter.loadAsync$2(originalUrl, t1), $async$_async_evaluate$_importLikeNode$1);
  42022. case 3:
  42023. // returning from await.
  42024. result = $async$result;
  42025. if (result == null) {
  42026. // goto return
  42027. $async$goto = 1;
  42028. break;
  42029. }
  42030. contents = result.item1;
  42031. url = result.item2;
  42032. t1 = J.getInterceptor$s(url).startsWith$1(url, "file:") ? $.$get$context().style.pathFromUri$1(M._parseUri(url)) : url;
  42033. $async$self._async_evaluate$_includedFiles.add$1(0, t1);
  42034. t1 = C.JSString_methods.startsWith$1(url, "file") ? M.Syntax_forPath(url) : C.Syntax_SCSS;
  42035. $async$returnValue = V.Stylesheet_Stylesheet$parse(contents, t1, $async$self._async_evaluate$_logger, url);
  42036. // goto return
  42037. $async$goto = 1;
  42038. break;
  42039. case 1:
  42040. // return
  42041. return P._asyncReturn($async$returnValue, $async$completer);
  42042. }
  42043. });
  42044. return P._asyncStartSync($async$_async_evaluate$_importLikeNode$1, $async$completer);
  42045. },
  42046. _visitStaticImport$1: function($import) {
  42047. return this._visitStaticImport$body$_EvaluateVisitor($import);
  42048. },
  42049. _visitStaticImport$body$_EvaluateVisitor: function($import) {
  42050. var $async$goto = 0,
  42051. $async$completer = P._makeAsyncAwaitCompleter(-1),
  42052. $async$returnValue, $async$self = this, resolvedSupports, t1, mediaQuery, node, t2, url, supports, $async$temp1, $async$temp2;
  42053. var $async$_visitStaticImport$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42054. if ($async$errorCode === 1)
  42055. return P._asyncRethrow($async$result, $async$completer);
  42056. while (true)
  42057. switch ($async$goto) {
  42058. case 0:
  42059. // Function start
  42060. $async$goto = 3;
  42061. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$1($import.url), $async$_visitStaticImport$1);
  42062. case 3:
  42063. // returning from await.
  42064. url = $async$result;
  42065. supports = $import.supports;
  42066. $async$goto = supports instanceof L.SupportsDeclaration ? 4 : 6;
  42067. break;
  42068. case 4:
  42069. // then
  42070. $async$temp1 = H;
  42071. $async$goto = 7;
  42072. return P._asyncAwait($async$self._evaluateToCss$1(supports.name), $async$_visitStaticImport$1);
  42073. case 7:
  42074. // returning from await.
  42075. $async$temp1 = $async$temp1.S($async$result) + ": ";
  42076. $async$temp2 = H;
  42077. $async$goto = 8;
  42078. return P._asyncAwait($async$self._evaluateToCss$1(supports.value), $async$_visitStaticImport$1);
  42079. case 8:
  42080. // returning from await.
  42081. resolvedSupports = $async$temp1 + $async$temp2.S($async$result);
  42082. // goto join
  42083. $async$goto = 5;
  42084. break;
  42085. case 6:
  42086. // else
  42087. $async$goto = supports == null ? 9 : 11;
  42088. break;
  42089. case 9:
  42090. // then
  42091. $async$result = null;
  42092. // goto join
  42093. $async$goto = 10;
  42094. break;
  42095. case 11:
  42096. // else
  42097. $async$goto = 12;
  42098. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(supports), $async$_visitStaticImport$1);
  42099. case 12:
  42100. // returning from await.
  42101. case 10:
  42102. // join
  42103. resolvedSupports = $async$result;
  42104. case 5:
  42105. // join
  42106. t1 = $import.media;
  42107. $async$goto = t1 == null ? 13 : 15;
  42108. break;
  42109. case 13:
  42110. // then
  42111. $async$result = null;
  42112. // goto join
  42113. $async$goto = 14;
  42114. break;
  42115. case 15:
  42116. // else
  42117. $async$goto = 16;
  42118. return P._asyncAwait($async$self._async_evaluate$_visitMediaQueries$1(t1), $async$_visitStaticImport$1);
  42119. case 16:
  42120. // returning from await.
  42121. case 14:
  42122. // join
  42123. mediaQuery = $async$result;
  42124. t1 = $import.span;
  42125. node = F.ModifiableCssImport$(url, t1, mediaQuery, resolvedSupports == null ? null : new F.CssValue("supports(" + resolvedSupports + ")", supports.get$span(), [P.String]));
  42126. t1 = $async$self._async_evaluate$_parent;
  42127. t2 = $async$self._async_evaluate$_root;
  42128. if (t1 != t2)
  42129. t1.addChild$1(node);
  42130. else if ($async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) {
  42131. $async$self._async_evaluate$_root.addChild$1(node);
  42132. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  42133. } else {
  42134. t1 = $async$self._async_evaluate$_outOfOrderImports;
  42135. (t1 == null ? $async$self._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(node);
  42136. }
  42137. // goto return
  42138. $async$goto = 1;
  42139. break;
  42140. case 1:
  42141. // return
  42142. return P._asyncReturn($async$returnValue, $async$completer);
  42143. }
  42144. });
  42145. return P._asyncStartSync($async$_visitStaticImport$1, $async$completer);
  42146. },
  42147. visitIncludeRule$1: function(node) {
  42148. return this.visitIncludeRule$body$_EvaluateVisitor(node);
  42149. },
  42150. visitIncludeRule$body$_EvaluateVisitor: function(node) {
  42151. var $async$goto = 0,
  42152. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42153. $async$returnValue, $async$self = this, t1, t2, t3, contentCallable, mixin;
  42154. var $async$visitIncludeRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42155. if ($async$errorCode === 1)
  42156. return P._asyncRethrow($async$result, $async$completer);
  42157. while (true)
  42158. switch ($async$goto) {
  42159. case 0:
  42160. // Function start
  42161. mixin = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitIncludeRule_closure1($async$self, node));
  42162. if (mixin == null)
  42163. throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined mixin.", node.span));
  42164. $async$goto = !!mixin.$isAsyncBuiltInCallable ? 3 : 5;
  42165. break;
  42166. case 3:
  42167. // then
  42168. if (node.content != null)
  42169. throw H.wrapException($async$self._async_evaluate$_exception$2("Mixin doesn't accept a content block.", node.span));
  42170. $async$goto = 6;
  42171. return P._asyncAwait($async$self._async_evaluate$_runBuiltInCallable$3(node.$arguments, mixin, node), $async$visitIncludeRule$1);
  42172. case 6:
  42173. // returning from await.
  42174. // goto join
  42175. $async$goto = 4;
  42176. break;
  42177. case 5:
  42178. // else
  42179. t1 = [Q.AsyncEnvironment];
  42180. $async$goto = H.checkSubtype(mixin, "$isUserDefinedCallable", t1, null) ? 7 : 9;
  42181. break;
  42182. case 7:
  42183. // then
  42184. t2 = node.content;
  42185. t3 = t2 == null;
  42186. if (!t3 && !H.interceptedTypeCast(mixin.declaration, "$isMixinRule").hasContent)
  42187. throw H.wrapException($async$self._async_evaluate$_exception$2("Mixin doesn't accept a content block.", node.span));
  42188. contentCallable = t3 ? null : new E.UserDefinedCallable(t2, $async$self._async_evaluate$_environment.closure$0(), t1);
  42189. $async$goto = 10;
  42190. return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4(node.$arguments, mixin, node, new E._EvaluateVisitor_visitIncludeRule_closure2($async$self, contentCallable, mixin, node)), $async$visitIncludeRule$1);
  42191. case 10:
  42192. // returning from await.
  42193. // goto join
  42194. $async$goto = 8;
  42195. break;
  42196. case 9:
  42197. // else
  42198. throw H.wrapException(P.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
  42199. case 8:
  42200. // join
  42201. case 4:
  42202. // join
  42203. // goto return
  42204. $async$goto = 1;
  42205. break;
  42206. case 1:
  42207. // return
  42208. return P._asyncReturn($async$returnValue, $async$completer);
  42209. }
  42210. });
  42211. return P._asyncStartSync($async$visitIncludeRule$1, $async$completer);
  42212. },
  42213. visitMixinRule$1: function(node) {
  42214. return this.visitMixinRule$body$_EvaluateVisitor(node);
  42215. },
  42216. visitMixinRule$body$_EvaluateVisitor: function(node) {
  42217. var $async$goto = 0,
  42218. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42219. $async$returnValue, $async$self = this, t1, t2, t3, index, t4;
  42220. var $async$visitMixinRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42221. if ($async$errorCode === 1)
  42222. return P._asyncRethrow($async$result, $async$completer);
  42223. while (true)
  42224. switch ($async$goto) {
  42225. case 0:
  42226. // Function start
  42227. t1 = $async$self._async_evaluate$_environment;
  42228. t2 = t1.closure$0();
  42229. t3 = t1._async_environment$_mixins;
  42230. index = t3.length - 1;
  42231. t4 = node.name;
  42232. t1._async_environment$_mixinIndices.$indexSet(0, t4, index);
  42233. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [Q.AsyncEnvironment]));
  42234. // goto return
  42235. $async$goto = 1;
  42236. break;
  42237. case 1:
  42238. // return
  42239. return P._asyncReturn($async$returnValue, $async$completer);
  42240. }
  42241. });
  42242. return P._asyncStartSync($async$visitMixinRule$1, $async$completer);
  42243. },
  42244. visitLoudComment$1: function(node) {
  42245. return this.visitLoudComment$body$_EvaluateVisitor(node);
  42246. },
  42247. visitLoudComment$body$_EvaluateVisitor: function(node) {
  42248. var $async$goto = 0,
  42249. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42250. $async$returnValue, $async$self = this, t1, t2, $async$temp1, $async$temp2;
  42251. var $async$visitLoudComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42252. if ($async$errorCode === 1)
  42253. return P._asyncRethrow($async$result, $async$completer);
  42254. while (true)
  42255. switch ($async$goto) {
  42256. case 0:
  42257. // Function start
  42258. if ($async$self._async_evaluate$_inFunction) {
  42259. // goto return
  42260. $async$goto = 1;
  42261. break;
  42262. }
  42263. t1 = $async$self._async_evaluate$_parent;
  42264. t2 = $async$self._async_evaluate$_root;
  42265. if (t1 == t2 && $async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source))
  42266. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  42267. t1 = node.text;
  42268. $async$temp1 = $async$self._async_evaluate$_parent;
  42269. $async$temp2 = R;
  42270. $async$goto = 3;
  42271. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t1), $async$visitLoudComment$1);
  42272. case 3:
  42273. // returning from await.
  42274. $async$temp1.addChild$1(new $async$temp2.ModifiableCssComment($async$result, t1.span));
  42275. // goto return
  42276. $async$goto = 1;
  42277. break;
  42278. case 1:
  42279. // return
  42280. return P._asyncReturn($async$returnValue, $async$completer);
  42281. }
  42282. });
  42283. return P._asyncStartSync($async$visitLoudComment$1, $async$completer);
  42284. },
  42285. visitMediaRule$1: function(node) {
  42286. return this.visitMediaRule$body$_EvaluateVisitor(node);
  42287. },
  42288. visitMediaRule$body$_EvaluateVisitor: function(node) {
  42289. var $async$goto = 0,
  42290. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42291. $async$returnValue, $async$self = this, queries, t1, mergedQueries;
  42292. var $async$visitMediaRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42293. if ($async$errorCode === 1)
  42294. return P._asyncRethrow($async$result, $async$completer);
  42295. while (true)
  42296. switch ($async$goto) {
  42297. case 0:
  42298. // Function start
  42299. if ($async$self._async_evaluate$_declarationName != null)
  42300. throw H.wrapException($async$self._async_evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  42301. $async$goto = 3;
  42302. return P._asyncAwait($async$self._async_evaluate$_visitMediaQueries$1(node.query), $async$visitMediaRule$1);
  42303. case 3:
  42304. // returning from await.
  42305. queries = $async$result;
  42306. t1 = $async$self._async_evaluate$_mediaQueries;
  42307. mergedQueries = t1 == null ? null : $async$self._async_evaluate$_mergeMediaQueries$2(t1, queries);
  42308. t1 = mergedQueries == null;
  42309. if (!t1 && mergedQueries.length === 0) {
  42310. // goto return
  42311. $async$goto = 1;
  42312. break;
  42313. }
  42314. t1 = t1 ? queries : mergedQueries;
  42315. $async$goto = 4;
  42316. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new E._EvaluateVisitor_visitMediaRule_closure1($async$self, mergedQueries, queries, node), node.hasDeclarations, new E._EvaluateVisitor_visitMediaRule_closure2(mergedQueries), G.ModifiableCssMediaRule, P.Null), $async$visitMediaRule$1);
  42317. case 4:
  42318. // returning from await.
  42319. // goto return
  42320. $async$goto = 1;
  42321. break;
  42322. case 1:
  42323. // return
  42324. return P._asyncReturn($async$returnValue, $async$completer);
  42325. }
  42326. });
  42327. return P._asyncStartSync($async$visitMediaRule$1, $async$completer);
  42328. },
  42329. _async_evaluate$_visitMediaQueries$1: function(interpolation) {
  42330. return this._visitMediaQueries$body$_EvaluateVisitor(interpolation);
  42331. },
  42332. _visitMediaQueries$body$_EvaluateVisitor: function(interpolation) {
  42333. var $async$goto = 0,
  42334. $async$completer = P._makeAsyncAwaitCompleter([P.List, F.CssMediaQuery]),
  42335. $async$returnValue, $async$self = this, $async$temp1, $async$temp2;
  42336. var $async$_async_evaluate$_visitMediaQueries$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42337. if ($async$errorCode === 1)
  42338. return P._asyncRethrow($async$result, $async$completer);
  42339. while (true)
  42340. switch ($async$goto) {
  42341. case 0:
  42342. // Function start
  42343. $async$temp1 = interpolation;
  42344. $async$temp2 = E;
  42345. $async$goto = 3;
  42346. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(interpolation, true), $async$_async_evaluate$_visitMediaQueries$1);
  42347. case 3:
  42348. // returning from await.
  42349. $async$returnValue = $async$self._async_evaluate$_adjustParseError$2($async$temp1, new $async$temp2._EvaluateVisitor__visitMediaQueries_closure0($async$self, $async$result));
  42350. // goto return
  42351. $async$goto = 1;
  42352. break;
  42353. case 1:
  42354. // return
  42355. return P._asyncReturn($async$returnValue, $async$completer);
  42356. }
  42357. });
  42358. return P._asyncStartSync($async$_async_evaluate$_visitMediaQueries$1, $async$completer);
  42359. },
  42360. _async_evaluate$_mergeMediaQueries$2: function(queries1, queries2) {
  42361. var t1, t2, t3, t4, result,
  42362. queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]);
  42363. for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
  42364. t3 = t1.get$current(t1);
  42365. for (t4 = t2.get$iterator(queries2); t4.moveNext$0();) {
  42366. result = t3.merge$1(t4.get$current(t4));
  42367. if (result === C._SingletonCssMediaQueryMergeResult_empty)
  42368. continue;
  42369. if (result === C._SingletonCssMediaQueryMergeResult_unrepresentable)
  42370. return;
  42371. queries.push(H.interceptedTypeCast(result, "$isMediaQuerySuccessfulMergeResult").query);
  42372. }
  42373. }
  42374. return queries;
  42375. },
  42376. visitReturnRule$1: function(node) {
  42377. return node.expression.accept$1(this);
  42378. },
  42379. visitSilentComment$1: function(node) {
  42380. return this.visitSilentComment$body$_EvaluateVisitor(node);
  42381. },
  42382. visitSilentComment$body$_EvaluateVisitor: function(node) {
  42383. var $async$goto = 0,
  42384. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42385. $async$returnValue;
  42386. var $async$visitSilentComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42387. if ($async$errorCode === 1)
  42388. return P._asyncRethrow($async$result, $async$completer);
  42389. while (true)
  42390. switch ($async$goto) {
  42391. case 0:
  42392. // Function start
  42393. // goto return
  42394. $async$goto = 1;
  42395. break;
  42396. case 1:
  42397. // return
  42398. return P._asyncReturn($async$returnValue, $async$completer);
  42399. }
  42400. });
  42401. return P._asyncStartSync($async$visitSilentComment$1, $async$completer);
  42402. },
  42403. visitStyleRule$1: function(node) {
  42404. return this.visitStyleRule$body$_EvaluateVisitor(node);
  42405. },
  42406. visitStyleRule$body$_EvaluateVisitor: function(node) {
  42407. var $async$goto = 0,
  42408. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42409. $async$returnValue, $async$self = this, t2, selectorText, t3, t4, parsedSelector, rule, oldAtRootExcludingStyleRule, t1;
  42410. var $async$visitStyleRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42411. if ($async$errorCode === 1)
  42412. return P._asyncRethrow($async$result, $async$completer);
  42413. while (true)
  42414. switch ($async$goto) {
  42415. case 0:
  42416. // Function start
  42417. t1 = {};
  42418. if ($async$self._async_evaluate$_declarationName != null)
  42419. throw H.wrapException($async$self._async_evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  42420. t2 = node.selector;
  42421. $async$goto = 3;
  42422. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$3$trim$warnForColor(t2, true, true), $async$visitStyleRule$1);
  42423. case 3:
  42424. // returning from await.
  42425. selectorText = $async$result;
  42426. $async$goto = $async$self._async_evaluate$_inKeyframes ? 4 : 5;
  42427. break;
  42428. case 4:
  42429. // then
  42430. t1 = P.List_List$unmodifiable($async$self._async_evaluate$_adjustParseError$2(t2, new E._EvaluateVisitor_visitStyleRule_closure6($async$self, selectorText)), P.String);
  42431. t3 = B.ModifiableCssNode;
  42432. t4 = H.setRuntimeTypeInfo([], [t3]);
  42433. $async$goto = 6;
  42434. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(new F.CssValue(t1, t2.span, [[P.List, P.String]]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new E._EvaluateVisitor_visitStyleRule_closure7($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitStyleRule_closure8(), U.ModifiableCssKeyframeBlock, P.Null), $async$visitStyleRule$1);
  42435. case 6:
  42436. // returning from await.
  42437. // goto return
  42438. $async$goto = 1;
  42439. break;
  42440. case 5:
  42441. // join
  42442. t1.parsedSelector = $async$self._async_evaluate$_adjustParseError$2(t2, new E._EvaluateVisitor_visitStyleRule_closure9($async$self, selectorText));
  42443. parsedSelector = $async$self._async_evaluate$_addExceptionSpan$2(t2, new E._EvaluateVisitor_visitStyleRule_closure10(t1, $async$self));
  42444. t1.parsedSelector = parsedSelector;
  42445. rule = X.ModifiableCssStyleRule$($async$self._async_evaluate$_extender.addSelector$3(parsedSelector, t2.span, $async$self._async_evaluate$_mediaQueries), node.span, t1.parsedSelector);
  42446. oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule;
  42447. $async$self._async_evaluate$_atRootExcludingStyleRule = false;
  42448. $async$goto = 7;
  42449. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new E._EvaluateVisitor_visitStyleRule_closure11($async$self, rule, node), node.hasDeclarations, new E._EvaluateVisitor_visitStyleRule_closure12(), X.ModifiableCssStyleRule, P.Null), $async$visitStyleRule$1);
  42450. case 7:
  42451. // returning from await.
  42452. $async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  42453. if (!($async$self._async_evaluate$_styleRule != null && !oldAtRootExcludingStyleRule)) {
  42454. t1 = $async$self._async_evaluate$_parent.children;
  42455. t1 = !t1.get$isEmpty(t1);
  42456. } else
  42457. t1 = false;
  42458. if (t1) {
  42459. t1 = $async$self._async_evaluate$_parent.children;
  42460. t1.get$last(t1).isGroupEnd = true;
  42461. }
  42462. // goto return
  42463. $async$goto = 1;
  42464. break;
  42465. case 1:
  42466. // return
  42467. return P._asyncReturn($async$returnValue, $async$completer);
  42468. }
  42469. });
  42470. return P._asyncStartSync($async$visitStyleRule$1, $async$completer);
  42471. },
  42472. visitSupportsRule$1: function(node) {
  42473. return this.visitSupportsRule$body$_EvaluateVisitor(node);
  42474. },
  42475. visitSupportsRule$body$_EvaluateVisitor: function(node) {
  42476. var $async$goto = 0,
  42477. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42478. $async$returnValue, $async$self = this, t1, t2, t3, t4;
  42479. var $async$visitSupportsRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42480. if ($async$errorCode === 1)
  42481. return P._asyncRethrow($async$result, $async$completer);
  42482. while (true)
  42483. switch ($async$goto) {
  42484. case 0:
  42485. // Function start
  42486. if ($async$self._async_evaluate$_declarationName != null)
  42487. throw H.wrapException($async$self._async_evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  42488. t1 = node.condition;
  42489. $async$goto = 3;
  42490. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(t1), $async$visitSupportsRule$1);
  42491. case 3:
  42492. // returning from await.
  42493. t2 = $async$result;
  42494. t1 = t1.get$span();
  42495. t3 = B.ModifiableCssNode;
  42496. t4 = H.setRuntimeTypeInfo([], [t3]);
  42497. $async$goto = 4;
  42498. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(new F.CssValue(t2, t1, [P.String]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new E._EvaluateVisitor_visitSupportsRule_closure1($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitSupportsRule_closure2(), B.ModifiableCssSupportsRule, P.Null), $async$visitSupportsRule$1);
  42499. case 4:
  42500. // returning from await.
  42501. // goto return
  42502. $async$goto = 1;
  42503. break;
  42504. case 1:
  42505. // return
  42506. return P._asyncReturn($async$returnValue, $async$completer);
  42507. }
  42508. });
  42509. return P._asyncStartSync($async$visitSupportsRule$1, $async$completer);
  42510. },
  42511. _async_evaluate$_visitSupportsCondition$1: function(condition) {
  42512. return this._visitSupportsCondition$body$_EvaluateVisitor(condition);
  42513. },
  42514. _visitSupportsCondition$body$_EvaluateVisitor: function(condition) {
  42515. var $async$goto = 0,
  42516. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  42517. $async$returnValue, $async$self = this, t2, t1, $async$temp1, $async$temp2;
  42518. var $async$_async_evaluate$_visitSupportsCondition$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42519. if ($async$errorCode === 1)
  42520. return P._asyncRethrow($async$result, $async$completer);
  42521. while (true)
  42522. switch ($async$goto) {
  42523. case 0:
  42524. // Function start
  42525. t1 = J.getInterceptor$(condition);
  42526. $async$goto = !!t1.$isSupportsOperation ? 3 : 5;
  42527. break;
  42528. case 3:
  42529. // then
  42530. t1 = condition.left;
  42531. t2 = condition.operator;
  42532. $async$temp1 = H;
  42533. $async$goto = 6;
  42534. return P._asyncAwait($async$self._async_evaluate$_parenthesize$2(t1, t2), $async$_async_evaluate$_visitSupportsCondition$1);
  42535. case 6:
  42536. // returning from await.
  42537. $async$temp1 = $async$temp1.S($async$result) + " " + t2 + " ";
  42538. $async$temp2 = H;
  42539. $async$goto = 7;
  42540. return P._asyncAwait($async$self._async_evaluate$_parenthesize$2(condition.right, t2), $async$_async_evaluate$_visitSupportsCondition$1);
  42541. case 7:
  42542. // returning from await.
  42543. $async$returnValue = $async$temp1 + $async$temp2.S($async$result);
  42544. // goto return
  42545. $async$goto = 1;
  42546. break;
  42547. // goto join
  42548. $async$goto = 4;
  42549. break;
  42550. case 5:
  42551. // else
  42552. $async$goto = !!t1.$isSupportsNegation ? 8 : 10;
  42553. break;
  42554. case 8:
  42555. // then
  42556. $async$temp1 = H;
  42557. $async$goto = 11;
  42558. return P._asyncAwait($async$self._async_evaluate$_parenthesize$1(condition.condition), $async$_async_evaluate$_visitSupportsCondition$1);
  42559. case 11:
  42560. // returning from await.
  42561. $async$returnValue = "not " + $async$temp1.S($async$result);
  42562. // goto return
  42563. $async$goto = 1;
  42564. break;
  42565. // goto join
  42566. $async$goto = 9;
  42567. break;
  42568. case 10:
  42569. // else
  42570. $async$goto = !!t1.$isSupportsInterpolation ? 12 : 14;
  42571. break;
  42572. case 12:
  42573. // then
  42574. $async$goto = 15;
  42575. return P._asyncAwait($async$self._evaluateToCss$2$quote(condition.expression, false), $async$_async_evaluate$_visitSupportsCondition$1);
  42576. case 15:
  42577. // returning from await.
  42578. $async$returnValue = $async$result;
  42579. // goto return
  42580. $async$goto = 1;
  42581. break;
  42582. // goto join
  42583. $async$goto = 13;
  42584. break;
  42585. case 14:
  42586. // else
  42587. $async$goto = !!t1.$isSupportsDeclaration ? 16 : 18;
  42588. break;
  42589. case 16:
  42590. // then
  42591. $async$temp1 = H;
  42592. $async$goto = 19;
  42593. return P._asyncAwait($async$self._evaluateToCss$1(condition.name), $async$_async_evaluate$_visitSupportsCondition$1);
  42594. case 19:
  42595. // returning from await.
  42596. $async$temp1 = "(" + $async$temp1.S($async$result) + ": ";
  42597. $async$temp2 = H;
  42598. $async$goto = 20;
  42599. return P._asyncAwait($async$self._evaluateToCss$1(condition.value), $async$_async_evaluate$_visitSupportsCondition$1);
  42600. case 20:
  42601. // returning from await.
  42602. $async$returnValue = $async$temp1 + $async$temp2.S($async$result) + ")";
  42603. // goto return
  42604. $async$goto = 1;
  42605. break;
  42606. // goto join
  42607. $async$goto = 17;
  42608. break;
  42609. case 18:
  42610. // else
  42611. // goto return
  42612. $async$goto = 1;
  42613. break;
  42614. case 17:
  42615. // join
  42616. case 13:
  42617. // join
  42618. case 9:
  42619. // join
  42620. case 4:
  42621. // join
  42622. case 1:
  42623. // return
  42624. return P._asyncReturn($async$returnValue, $async$completer);
  42625. }
  42626. });
  42627. return P._asyncStartSync($async$_async_evaluate$_visitSupportsCondition$1, $async$completer);
  42628. },
  42629. _async_evaluate$_parenthesize$2: function(condition, operator) {
  42630. return this._parenthesize$body$_EvaluateVisitor(condition, operator);
  42631. },
  42632. _async_evaluate$_parenthesize$1: function(condition) {
  42633. return this._async_evaluate$_parenthesize$2(condition, null);
  42634. },
  42635. _parenthesize$body$_EvaluateVisitor: function(condition, operator) {
  42636. var $async$goto = 0,
  42637. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  42638. $async$returnValue, $async$self = this, t1, $async$temp1;
  42639. var $async$_async_evaluate$_parenthesize$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42640. if ($async$errorCode === 1)
  42641. return P._asyncRethrow($async$result, $async$completer);
  42642. while (true)
  42643. switch ($async$goto) {
  42644. case 0:
  42645. // Function start
  42646. if (!condition.$isSupportsNegation)
  42647. if (!!condition.$isSupportsOperation)
  42648. t1 = operator == null || operator !== condition.operator;
  42649. else
  42650. t1 = false;
  42651. else
  42652. t1 = true;
  42653. $async$goto = t1 ? 3 : 5;
  42654. break;
  42655. case 3:
  42656. // then
  42657. $async$temp1 = H;
  42658. $async$goto = 6;
  42659. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2);
  42660. case 6:
  42661. // returning from await.
  42662. $async$returnValue = "(" + $async$temp1.S($async$result) + ")";
  42663. // goto return
  42664. $async$goto = 1;
  42665. break;
  42666. // goto join
  42667. $async$goto = 4;
  42668. break;
  42669. case 5:
  42670. // else
  42671. $async$goto = 7;
  42672. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2);
  42673. case 7:
  42674. // returning from await.
  42675. $async$returnValue = $async$result;
  42676. // goto return
  42677. $async$goto = 1;
  42678. break;
  42679. case 4:
  42680. // join
  42681. case 1:
  42682. // return
  42683. return P._asyncReturn($async$returnValue, $async$completer);
  42684. }
  42685. });
  42686. return P._asyncStartSync($async$_async_evaluate$_parenthesize$2, $async$completer);
  42687. },
  42688. visitVariableDeclaration$1: function(node) {
  42689. return this.visitVariableDeclaration$body$_EvaluateVisitor(node);
  42690. },
  42691. visitVariableDeclaration$body$_EvaluateVisitor: function(node) {
  42692. var $async$goto = 0,
  42693. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42694. $async$returnValue, $async$self = this, t1, override, value, t2, $async$temp1, $async$temp2, $async$temp3;
  42695. var $async$visitVariableDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42696. if ($async$errorCode === 1)
  42697. return P._asyncRethrow($async$result, $async$completer);
  42698. while (true)
  42699. switch ($async$goto) {
  42700. case 0:
  42701. // Function start
  42702. if (node.isGuarded) {
  42703. if (node.namespace == null && $async$self._async_evaluate$_environment._async_environment$_variables.length === 1) {
  42704. t1 = $async$self._async_evaluate$_configuration;
  42705. override = t1.get$isEmpty(t1) ? null : $async$self._async_evaluate$_configuration.remove$1(0, node.name);
  42706. if (override != null) {
  42707. $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableDeclaration_closure2($async$self, node, override));
  42708. // goto return
  42709. $async$goto = 1;
  42710. break;
  42711. }
  42712. }
  42713. value = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableDeclaration_closure3($async$self, node));
  42714. if (value != null && !value.$eq(0, C.C_SassNull)) {
  42715. // goto return
  42716. $async$goto = 1;
  42717. break;
  42718. }
  42719. }
  42720. if (node.isGlobal && !$async$self._async_evaluate$_environment.globalVariableExists$1(node.name)) {
  42721. t1 = $async$self._async_evaluate$_environment._async_environment$_variables.length === 1 ? "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Since this assignment is at the root of the stylesheet,\nthe !global flag is unnecessary and can safely be removed." : "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Consider adding `" + B.declarationName(node.span) + ": null` at the root of the\nstylesheet.";
  42722. t2 = node.span;
  42723. $async$self._async_evaluate$_logger.warn$4$deprecation$span$trace(t1, true, t2, $async$self._async_evaluate$_stackTrace$1(t2));
  42724. }
  42725. $async$temp1 = node;
  42726. $async$temp2 = E;
  42727. $async$temp3 = node;
  42728. $async$goto = 3;
  42729. return P._asyncAwait(node.expression.accept$1($async$self), $async$visitVariableDeclaration$1);
  42730. case 3:
  42731. // returning from await.
  42732. $async$self._async_evaluate$_addExceptionSpan$2($async$temp1, new $async$temp2._EvaluateVisitor_visitVariableDeclaration_closure4($async$self, $async$temp3, $async$result.withoutSlash$0()));
  42733. // goto return
  42734. $async$goto = 1;
  42735. break;
  42736. case 1:
  42737. // return
  42738. return P._asyncReturn($async$returnValue, $async$completer);
  42739. }
  42740. });
  42741. return P._asyncStartSync($async$visitVariableDeclaration$1, $async$completer);
  42742. },
  42743. visitUseRule$1: function(node) {
  42744. return this.visitUseRule$body$_EvaluateVisitor(node);
  42745. },
  42746. visitUseRule$body$_EvaluateVisitor: function(node) {
  42747. var $async$goto = 0,
  42748. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42749. $async$returnValue, $async$self = this, t2, t3, t4, t5, t1, $async$temp1, $async$temp2, $async$temp3;
  42750. var $async$visitUseRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42751. if ($async$errorCode === 1)
  42752. return P._asyncRethrow($async$result, $async$completer);
  42753. while (true)
  42754. switch ($async$goto) {
  42755. case 0:
  42756. // Function start
  42757. t1 = node.configuration;
  42758. $async$goto = t1.get$isEmpty(t1) ? 3 : 5;
  42759. break;
  42760. case 3:
  42761. // then
  42762. t1 = C.Map_empty7;
  42763. // goto join
  42764. $async$goto = 4;
  42765. break;
  42766. case 5:
  42767. // else
  42768. t2 = P.LinkedHashMap_LinkedHashMap$_empty(P.String, E._ConfiguredValue0);
  42769. t1 = t1.get$entries(), t1 = t1.get$iterator(t1);
  42770. case 6:
  42771. // for condition
  42772. if (!t1.moveNext$0()) {
  42773. // goto after for
  42774. $async$goto = 7;
  42775. break;
  42776. }
  42777. t3 = t1.get$current(t1);
  42778. t4 = t3.key;
  42779. t3 = t3.value;
  42780. t5 = t3.item1;
  42781. $async$temp1 = t2;
  42782. $async$temp2 = t4;
  42783. $async$temp3 = E;
  42784. $async$goto = 8;
  42785. return P._asyncAwait(t5.accept$1($async$self), $async$visitUseRule$1);
  42786. case 8:
  42787. // returning from await.
  42788. $async$temp1.$indexSet(0, $async$temp2, new $async$temp3._ConfiguredValue0($async$result.withoutSlash$0(), t3.item2, $async$self._async_evaluate$_expressionNode$1(t5)));
  42789. // goto for condition
  42790. $async$goto = 6;
  42791. break;
  42792. case 7:
  42793. // after for
  42794. t1 = t2;
  42795. case 4:
  42796. // join
  42797. $async$goto = 9;
  42798. return P._asyncAwait($async$self._async_evaluate$_loadModule$5$configuration(node.url, "@use", node, new E._EvaluateVisitor_visitUseRule_closure0($async$self, node), t1), $async$visitUseRule$1);
  42799. case 9:
  42800. // returning from await.
  42801. // goto return
  42802. $async$goto = 1;
  42803. break;
  42804. case 1:
  42805. // return
  42806. return P._asyncReturn($async$returnValue, $async$completer);
  42807. }
  42808. });
  42809. return P._asyncStartSync($async$visitUseRule$1, $async$completer);
  42810. },
  42811. visitWarnRule$1: function(node) {
  42812. return this.visitWarnRule$body$_EvaluateVisitor(node);
  42813. },
  42814. visitWarnRule$body$_EvaluateVisitor: function(node) {
  42815. var $async$goto = 0,
  42816. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42817. $async$returnValue, $async$self = this, value, t1;
  42818. var $async$visitWarnRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42819. if ($async$errorCode === 1)
  42820. return P._asyncRethrow($async$result, $async$completer);
  42821. while (true)
  42822. switch ($async$goto) {
  42823. case 0:
  42824. // Function start
  42825. $async$goto = 3;
  42826. return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(node, new E._EvaluateVisitor_visitWarnRule_closure0($async$self, node), F.Value), $async$visitWarnRule$1);
  42827. case 3:
  42828. // returning from await.
  42829. value = $async$result;
  42830. t1 = value instanceof D.SassString ? value.text : $async$self._async_evaluate$_serialize$2(value, node.expression);
  42831. $async$self._async_evaluate$_logger.warn$2$trace(t1, $async$self._async_evaluate$_stackTrace$1(node.span));
  42832. // goto return
  42833. $async$goto = 1;
  42834. break;
  42835. case 1:
  42836. // return
  42837. return P._asyncReturn($async$returnValue, $async$completer);
  42838. }
  42839. });
  42840. return P._asyncStartSync($async$visitWarnRule$1, $async$completer);
  42841. },
  42842. visitWhileRule$1: function(node) {
  42843. return this._async_evaluate$_environment.scope$1$3$semiGlobal$when(new E._EvaluateVisitor_visitWhileRule_closure0(this, node), true, node.hasDeclarations, F.Value);
  42844. },
  42845. visitBinaryOperationExpression$1: function(node) {
  42846. return this._addExceptionSpanAsync$1$2(node, new E._EvaluateVisitor_visitBinaryOperationExpression_closure0(this, node), F.Value);
  42847. },
  42848. visitValueExpression$1: function(node) {
  42849. return this.visitValueExpression$body$_EvaluateVisitor(node);
  42850. },
  42851. visitValueExpression$body$_EvaluateVisitor: function(node) {
  42852. var $async$goto = 0,
  42853. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42854. $async$returnValue;
  42855. var $async$visitValueExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42856. if ($async$errorCode === 1)
  42857. return P._asyncRethrow($async$result, $async$completer);
  42858. while (true)
  42859. switch ($async$goto) {
  42860. case 0:
  42861. // Function start
  42862. $async$returnValue = node.value;
  42863. // goto return
  42864. $async$goto = 1;
  42865. break;
  42866. case 1:
  42867. // return
  42868. return P._asyncReturn($async$returnValue, $async$completer);
  42869. }
  42870. });
  42871. return P._asyncStartSync($async$visitValueExpression$1, $async$completer);
  42872. },
  42873. visitVariableExpression$1: function(node) {
  42874. return this.visitVariableExpression$body$_EvaluateVisitor(node);
  42875. },
  42876. visitVariableExpression$body$_EvaluateVisitor: function(node) {
  42877. var $async$goto = 0,
  42878. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42879. $async$returnValue, $async$self = this, result;
  42880. var $async$visitVariableExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42881. if ($async$errorCode === 1)
  42882. return P._asyncRethrow($async$result, $async$completer);
  42883. while (true)
  42884. switch ($async$goto) {
  42885. case 0:
  42886. // Function start
  42887. result = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableExpression_closure0($async$self, node));
  42888. if (result != null) {
  42889. $async$returnValue = result;
  42890. // goto return
  42891. $async$goto = 1;
  42892. break;
  42893. }
  42894. throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined variable.", node.span));
  42895. case 1:
  42896. // return
  42897. return P._asyncReturn($async$returnValue, $async$completer);
  42898. }
  42899. });
  42900. return P._asyncStartSync($async$visitVariableExpression$1, $async$completer);
  42901. },
  42902. visitUnaryOperationExpression$1: function(node) {
  42903. return this.visitUnaryOperationExpression$body$_EvaluateVisitor(node);
  42904. },
  42905. visitUnaryOperationExpression$body$_EvaluateVisitor: function(node) {
  42906. var $async$goto = 0,
  42907. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42908. $async$returnValue, $async$self = this, operand, t1;
  42909. var $async$visitUnaryOperationExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42910. if ($async$errorCode === 1)
  42911. return P._asyncRethrow($async$result, $async$completer);
  42912. while (true)
  42913. $async$outer:
  42914. switch ($async$goto) {
  42915. case 0:
  42916. // Function start
  42917. $async$goto = 3;
  42918. return P._asyncAwait(node.operand.accept$1($async$self), $async$visitUnaryOperationExpression$1);
  42919. case 3:
  42920. // returning from await.
  42921. operand = $async$result;
  42922. t1 = node.operator;
  42923. switch (t1) {
  42924. case C.UnaryOperator_j2w:
  42925. $async$returnValue = operand.unaryPlus$0();
  42926. // goto return
  42927. $async$goto = 1;
  42928. break $async$outer;
  42929. case C.UnaryOperator_U4G:
  42930. $async$returnValue = operand.unaryMinus$0();
  42931. // goto return
  42932. $async$goto = 1;
  42933. break $async$outer;
  42934. case C.UnaryOperator_zDx:
  42935. operand.toString;
  42936. $async$returnValue = new D.SassString("/" + N.serializeValue(operand, false, true), false);
  42937. // goto return
  42938. $async$goto = 1;
  42939. break $async$outer;
  42940. case C.UnaryOperator_not_not:
  42941. $async$returnValue = operand.unaryNot$0();
  42942. // goto return
  42943. $async$goto = 1;
  42944. break $async$outer;
  42945. default:
  42946. throw H.wrapException(P.StateError$("Unknown unary operator " + H.S(t1) + "."));
  42947. }
  42948. case 1:
  42949. // return
  42950. return P._asyncReturn($async$returnValue, $async$completer);
  42951. }
  42952. });
  42953. return P._asyncStartSync($async$visitUnaryOperationExpression$1, $async$completer);
  42954. },
  42955. visitBooleanExpression$1: function(node) {
  42956. return this.visitBooleanExpression$body$_EvaluateVisitor(node);
  42957. },
  42958. visitBooleanExpression$body$_EvaluateVisitor: function(node) {
  42959. var $async$goto = 0,
  42960. $async$completer = P._makeAsyncAwaitCompleter(Z.SassBoolean),
  42961. $async$returnValue;
  42962. var $async$visitBooleanExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42963. if ($async$errorCode === 1)
  42964. return P._asyncRethrow($async$result, $async$completer);
  42965. while (true)
  42966. switch ($async$goto) {
  42967. case 0:
  42968. // Function start
  42969. $async$returnValue = node.value ? C.SassBoolean_true : C.SassBoolean_false;
  42970. // goto return
  42971. $async$goto = 1;
  42972. break;
  42973. case 1:
  42974. // return
  42975. return P._asyncReturn($async$returnValue, $async$completer);
  42976. }
  42977. });
  42978. return P._asyncStartSync($async$visitBooleanExpression$1, $async$completer);
  42979. },
  42980. visitIfExpression$1: function(node) {
  42981. return this.visitIfExpression$body$_EvaluateVisitor(node);
  42982. },
  42983. visitIfExpression$body$_EvaluateVisitor: function(node) {
  42984. var $async$goto = 0,
  42985. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42986. $async$returnValue, $async$self = this, condition, ifTrue, ifFalse, pair, positional, named, t1;
  42987. var $async$visitIfExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42988. if ($async$errorCode === 1)
  42989. return P._asyncRethrow($async$result, $async$completer);
  42990. while (true)
  42991. switch ($async$goto) {
  42992. case 0:
  42993. // Function start
  42994. $async$goto = 3;
  42995. return P._asyncAwait($async$self._async_evaluate$_evaluateMacroArguments$1(node), $async$visitIfExpression$1);
  42996. case 3:
  42997. // returning from await.
  42998. pair = $async$result;
  42999. positional = pair.item1;
  43000. named = pair.item2;
  43001. t1 = J.getInterceptor$asx(positional);
  43002. $async$self._async_evaluate$_verifyArguments$4(t1.get$length(positional), named, $.$get$IfExpression_declaration(), node);
  43003. condition = t1.get$length(positional) > 0 ? t1.$index(positional, 0) : named.$index(0, "condition");
  43004. ifTrue = t1.get$length(positional) > 1 ? t1.$index(positional, 1) : named.$index(0, "if-true");
  43005. ifFalse = t1.get$length(positional) > 2 ? t1.$index(positional, 2) : named.$index(0, "if-false");
  43006. $async$goto = 5;
  43007. return P._asyncAwait(condition.accept$1($async$self), $async$visitIfExpression$1);
  43008. case 5:
  43009. // returning from await.
  43010. $async$goto = 4;
  43011. return P._asyncAwait(($async$result.get$isTruthy() ? ifTrue : ifFalse).accept$1($async$self), $async$visitIfExpression$1);
  43012. case 4:
  43013. // returning from await.
  43014. $async$returnValue = $async$result;
  43015. // goto return
  43016. $async$goto = 1;
  43017. break;
  43018. case 1:
  43019. // return
  43020. return P._asyncReturn($async$returnValue, $async$completer);
  43021. }
  43022. });
  43023. return P._asyncStartSync($async$visitIfExpression$1, $async$completer);
  43024. },
  43025. visitNullExpression$1: function(node) {
  43026. return this.visitNullExpression$body$_EvaluateVisitor(node);
  43027. },
  43028. visitNullExpression$body$_EvaluateVisitor: function(node) {
  43029. var $async$goto = 0,
  43030. $async$completer = P._makeAsyncAwaitCompleter(O.SassNull),
  43031. $async$returnValue;
  43032. var $async$visitNullExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43033. if ($async$errorCode === 1)
  43034. return P._asyncRethrow($async$result, $async$completer);
  43035. while (true)
  43036. switch ($async$goto) {
  43037. case 0:
  43038. // Function start
  43039. $async$returnValue = C.C_SassNull;
  43040. // goto return
  43041. $async$goto = 1;
  43042. break;
  43043. case 1:
  43044. // return
  43045. return P._asyncReturn($async$returnValue, $async$completer);
  43046. }
  43047. });
  43048. return P._asyncStartSync($async$visitNullExpression$1, $async$completer);
  43049. },
  43050. visitNumberExpression$1: function(node) {
  43051. return this.visitNumberExpression$body$_EvaluateVisitor(node);
  43052. },
  43053. visitNumberExpression$body$_EvaluateVisitor: function(node) {
  43054. var $async$goto = 0,
  43055. $async$completer = P._makeAsyncAwaitCompleter(T.SassNumber),
  43056. $async$returnValue, t1;
  43057. var $async$visitNumberExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43058. if ($async$errorCode === 1)
  43059. return P._asyncRethrow($async$result, $async$completer);
  43060. while (true)
  43061. switch ($async$goto) {
  43062. case 0:
  43063. // Function start
  43064. t1 = node.unit;
  43065. t1 = t1 == null ? null : H.setRuntimeTypeInfo([t1], [P.String]);
  43066. t1 = t1 == null ? C.List_empty : P.List_List$unmodifiable(t1, P.String);
  43067. $async$returnValue = new T.SassNumber(node.value, t1, C.List_empty, null);
  43068. // goto return
  43069. $async$goto = 1;
  43070. break;
  43071. case 1:
  43072. // return
  43073. return P._asyncReturn($async$returnValue, $async$completer);
  43074. }
  43075. });
  43076. return P._asyncStartSync($async$visitNumberExpression$1, $async$completer);
  43077. },
  43078. visitParenthesizedExpression$1: function(node) {
  43079. return node.expression.accept$1(this);
  43080. },
  43081. visitColorExpression$1: function(node) {
  43082. return this.visitColorExpression$body$_EvaluateVisitor(node);
  43083. },
  43084. visitColorExpression$body$_EvaluateVisitor: function(node) {
  43085. var $async$goto = 0,
  43086. $async$completer = P._makeAsyncAwaitCompleter(K.SassColor),
  43087. $async$returnValue;
  43088. var $async$visitColorExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43089. if ($async$errorCode === 1)
  43090. return P._asyncRethrow($async$result, $async$completer);
  43091. while (true)
  43092. switch ($async$goto) {
  43093. case 0:
  43094. // Function start
  43095. $async$returnValue = node.value;
  43096. // goto return
  43097. $async$goto = 1;
  43098. break;
  43099. case 1:
  43100. // return
  43101. return P._asyncReturn($async$returnValue, $async$completer);
  43102. }
  43103. });
  43104. return P._asyncStartSync($async$visitColorExpression$1, $async$completer);
  43105. },
  43106. visitListExpression$1: function(node) {
  43107. return this.visitListExpression$body$_EvaluateVisitor(node);
  43108. },
  43109. visitListExpression$body$_EvaluateVisitor: function(node) {
  43110. var $async$goto = 0,
  43111. $async$completer = P._makeAsyncAwaitCompleter(D.SassList),
  43112. $async$returnValue, $async$self = this, $async$temp1;
  43113. var $async$visitListExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43114. if ($async$errorCode === 1)
  43115. return P._asyncRethrow($async$result, $async$completer);
  43116. while (true)
  43117. switch ($async$goto) {
  43118. case 0:
  43119. // Function start
  43120. $async$temp1 = D;
  43121. $async$goto = 3;
  43122. return P._asyncAwait(B.mapAsync(node.contents, new E._EvaluateVisitor_visitListExpression_closure0($async$self), T.Expression, F.Value), $async$visitListExpression$1);
  43123. case 3:
  43124. // returning from await.
  43125. $async$returnValue = $async$temp1.SassList$($async$result, node.separator, node.hasBrackets);
  43126. // goto return
  43127. $async$goto = 1;
  43128. break;
  43129. case 1:
  43130. // return
  43131. return P._asyncReturn($async$returnValue, $async$completer);
  43132. }
  43133. });
  43134. return P._asyncStartSync($async$visitListExpression$1, $async$completer);
  43135. },
  43136. visitMapExpression$1: function(node) {
  43137. return this.visitMapExpression$body$_EvaluateVisitor(node);
  43138. },
  43139. visitMapExpression$body$_EvaluateVisitor: function(node) {
  43140. var $async$goto = 0,
  43141. $async$completer = P._makeAsyncAwaitCompleter(A.SassMap),
  43142. $async$returnValue, $async$self = this, t2, t3, _i, pair, t4, keyValue, valueValue, t1, map;
  43143. var $async$visitMapExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43144. if ($async$errorCode === 1)
  43145. return P._asyncRethrow($async$result, $async$completer);
  43146. while (true)
  43147. switch ($async$goto) {
  43148. case 0:
  43149. // Function start
  43150. t1 = F.Value;
  43151. map = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  43152. t2 = node.pairs, t3 = t2.length, _i = 0;
  43153. case 3:
  43154. // for condition
  43155. if (!(_i < t3)) {
  43156. // goto after for
  43157. $async$goto = 5;
  43158. break;
  43159. }
  43160. pair = t2[_i];
  43161. t4 = pair.item1;
  43162. $async$goto = 6;
  43163. return P._asyncAwait(t4.accept$1($async$self), $async$visitMapExpression$1);
  43164. case 6:
  43165. // returning from await.
  43166. keyValue = $async$result;
  43167. $async$goto = 7;
  43168. return P._asyncAwait(pair.item2.accept$1($async$self), $async$visitMapExpression$1);
  43169. case 7:
  43170. // returning from await.
  43171. valueValue = $async$result;
  43172. if (map.containsKey$1(keyValue))
  43173. throw H.wrapException($async$self._async_evaluate$_exception$2("Duplicate key.", t4.get$span()));
  43174. map.$indexSet(0, keyValue, valueValue);
  43175. case 4:
  43176. // for update
  43177. ++_i;
  43178. // goto for condition
  43179. $async$goto = 3;
  43180. break;
  43181. case 5:
  43182. // after for
  43183. $async$returnValue = new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1));
  43184. // goto return
  43185. $async$goto = 1;
  43186. break;
  43187. case 1:
  43188. // return
  43189. return P._asyncReturn($async$returnValue, $async$completer);
  43190. }
  43191. });
  43192. return P._asyncStartSync($async$visitMapExpression$1, $async$completer);
  43193. },
  43194. visitFunctionExpression$1: function(node) {
  43195. return this.visitFunctionExpression$body$_EvaluateVisitor(node);
  43196. },
  43197. visitFunctionExpression$body$_EvaluateVisitor: function(node) {
  43198. var $async$goto = 0,
  43199. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  43200. $async$returnValue, $async$self = this, oldInFunction, result, t1, t2, plainName, $async$temp1, $async$temp2;
  43201. var $async$visitFunctionExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43202. if ($async$errorCode === 1)
  43203. return P._asyncRethrow($async$result, $async$completer);
  43204. while (true)
  43205. switch ($async$goto) {
  43206. case 0:
  43207. // Function start
  43208. t1 = {};
  43209. t2 = node.name;
  43210. plainName = t2.get$asPlain();
  43211. t1.$function = null;
  43212. $async$goto = (plainName != null ? t1.$function = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitFunctionExpression_closure1($async$self, node, plainName)) : null) == null ? 3 : 4;
  43213. break;
  43214. case 3:
  43215. // then
  43216. if (node.namespace != null)
  43217. throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined function.", node.span));
  43218. $async$temp1 = t1;
  43219. $async$temp2 = L;
  43220. $async$goto = 5;
  43221. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t2), $async$visitFunctionExpression$1);
  43222. case 5:
  43223. // returning from await.
  43224. $async$temp1.$function = new $async$temp2.PlainCssCallable($async$result);
  43225. case 4:
  43226. // join
  43227. oldInFunction = $async$self._async_evaluate$_inFunction;
  43228. $async$self._async_evaluate$_inFunction = true;
  43229. $async$goto = 6;
  43230. return P._asyncAwait($async$self._async_evaluate$_addErrorSpan$1$2(node, new E._EvaluateVisitor_visitFunctionExpression_closure2(t1, $async$self, node), F.Value), $async$visitFunctionExpression$1);
  43231. case 6:
  43232. // returning from await.
  43233. result = $async$result;
  43234. $async$self._async_evaluate$_inFunction = oldInFunction;
  43235. $async$returnValue = result;
  43236. // goto return
  43237. $async$goto = 1;
  43238. break;
  43239. case 1:
  43240. // return
  43241. return P._asyncReturn($async$returnValue, $async$completer);
  43242. }
  43243. });
  43244. return P._asyncStartSync($async$visitFunctionExpression$1, $async$completer);
  43245. },
  43246. _async_evaluate$_getFunction$2$namespace: function($name, namespace) {
  43247. var local = this._async_evaluate$_environment.getFunction$2$namespace($name, namespace);
  43248. if (local != null || namespace != null)
  43249. return local;
  43250. return this._async_evaluate$_builtInFunctions.$index(0, $name);
  43251. },
  43252. _async_evaluate$_runUserDefinedCallable$4: function($arguments, callable, nodeWithSpan, run) {
  43253. return this._runUserDefinedCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan, run);
  43254. },
  43255. _runUserDefinedCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan, run) {
  43256. var $async$goto = 0,
  43257. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  43258. $async$returnValue, $async$self = this, evaluated, t1, $name;
  43259. var $async$_async_evaluate$_runUserDefinedCallable$4 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43260. if ($async$errorCode === 1)
  43261. return P._asyncRethrow($async$result, $async$completer);
  43262. while (true)
  43263. switch ($async$goto) {
  43264. case 0:
  43265. // Function start
  43266. $async$goto = 3;
  43267. return P._asyncAwait($async$self._async_evaluate$_evaluateArguments$1($arguments), $async$_async_evaluate$_runUserDefinedCallable$4);
  43268. case 3:
  43269. // returning from await.
  43270. evaluated = $async$result;
  43271. t1 = callable.declaration.name;
  43272. $name = t1 == null ? "@content" : t1 + "()";
  43273. $async$goto = 4;
  43274. return P._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3($name, nodeWithSpan, new E._EvaluateVisitor__runUserDefinedCallable_closure0($async$self, callable, evaluated, nodeWithSpan, run), F.Value), $async$_async_evaluate$_runUserDefinedCallable$4);
  43275. case 4:
  43276. // returning from await.
  43277. $async$returnValue = $async$result;
  43278. // goto return
  43279. $async$goto = 1;
  43280. break;
  43281. case 1:
  43282. // return
  43283. return P._asyncReturn($async$returnValue, $async$completer);
  43284. }
  43285. });
  43286. return P._asyncStartSync($async$_async_evaluate$_runUserDefinedCallable$4, $async$completer);
  43287. },
  43288. _async_evaluate$_runFunctionCallable$3: function($arguments, callable, nodeWithSpan) {
  43289. return this._runFunctionCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan);
  43290. },
  43291. _runFunctionCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan) {
  43292. var $async$goto = 0,
  43293. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  43294. $async$returnValue, $async$self = this, result, t2, t3, first, _i, argument, rest, t1, $async$temp1;
  43295. var $async$_async_evaluate$_runFunctionCallable$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43296. if ($async$errorCode === 1)
  43297. return P._asyncRethrow($async$result, $async$completer);
  43298. while (true)
  43299. switch ($async$goto) {
  43300. case 0:
  43301. // Function start
  43302. t1 = J.getInterceptor$(callable);
  43303. $async$goto = !!t1.$isAsyncBuiltInCallable ? 3 : 5;
  43304. break;
  43305. case 3:
  43306. // then
  43307. $async$goto = 6;
  43308. return P._asyncAwait($async$self._async_evaluate$_runBuiltInCallable$3($arguments, callable, nodeWithSpan), $async$_async_evaluate$_runFunctionCallable$3);
  43309. case 6:
  43310. // returning from await.
  43311. result = $async$result;
  43312. if (result == null)
  43313. throw H.wrapException($async$self._async_evaluate$_exception$2("Custom functions may not return Dart's null.", nodeWithSpan.get$span()));
  43314. $async$returnValue = result.withoutSlash$0();
  43315. // goto return
  43316. $async$goto = 1;
  43317. break;
  43318. // goto join
  43319. $async$goto = 4;
  43320. break;
  43321. case 5:
  43322. // else
  43323. $async$goto = H.checkSubtype(callable, "$isUserDefinedCallable", [Q.AsyncEnvironment], null) ? 7 : 9;
  43324. break;
  43325. case 7:
  43326. // then
  43327. $async$goto = 10;
  43328. return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4($arguments, callable, nodeWithSpan, new E._EvaluateVisitor__runFunctionCallable_closure0($async$self, callable)), $async$_async_evaluate$_runFunctionCallable$3);
  43329. case 10:
  43330. // returning from await.
  43331. $async$returnValue = $async$result.withoutSlash$0();
  43332. // goto return
  43333. $async$goto = 1;
  43334. break;
  43335. // goto join
  43336. $async$goto = 8;
  43337. break;
  43338. case 9:
  43339. // else
  43340. $async$goto = !!t1.$isPlainCssCallable ? 11 : 13;
  43341. break;
  43342. case 11:
  43343. // then
  43344. t1 = $arguments.named;
  43345. if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
  43346. throw H.wrapException($async$self._async_evaluate$_exception$2("Plain CSS functions don't support keyword arguments.", nodeWithSpan.get$span()));
  43347. t1 = H.S(callable.name) + "(";
  43348. t2 = $arguments.positional, t3 = t2.length, first = true, _i = 0;
  43349. case 14:
  43350. // for condition
  43351. if (!(_i < t3)) {
  43352. // goto after for
  43353. $async$goto = 16;
  43354. break;
  43355. }
  43356. argument = t2[_i];
  43357. if (first)
  43358. first = false;
  43359. else
  43360. t1 += ", ";
  43361. $async$temp1 = H;
  43362. $async$goto = 17;
  43363. return P._asyncAwait($async$self._evaluateToCss$1(argument), $async$_async_evaluate$_runFunctionCallable$3);
  43364. case 17:
  43365. // returning from await.
  43366. t1 += $async$temp1.S($async$result);
  43367. case 15:
  43368. // for update
  43369. ++_i;
  43370. // goto for condition
  43371. $async$goto = 14;
  43372. break;
  43373. case 16:
  43374. // after for
  43375. t2 = $arguments.rest;
  43376. $async$goto = 18;
  43377. return P._asyncAwait(t2 == null ? null : t2.accept$1($async$self), $async$_async_evaluate$_runFunctionCallable$3);
  43378. case 18:
  43379. // returning from await.
  43380. rest = $async$result;
  43381. if (rest != null) {
  43382. if (!first)
  43383. t1 += ", ";
  43384. t2 = t1 + H.S($async$self._async_evaluate$_serialize$2(rest, t2));
  43385. t1 = t2;
  43386. }
  43387. t1 += H.Primitives_stringFromCharCode(41);
  43388. $async$returnValue = new D.SassString(t1.charCodeAt(0) == 0 ? t1 : t1, false);
  43389. // goto return
  43390. $async$goto = 1;
  43391. break;
  43392. // goto join
  43393. $async$goto = 12;
  43394. break;
  43395. case 13:
  43396. // else
  43397. // goto return
  43398. $async$goto = 1;
  43399. break;
  43400. case 12:
  43401. // join
  43402. case 8:
  43403. // join
  43404. case 4:
  43405. // join
  43406. case 1:
  43407. // return
  43408. return P._asyncReturn($async$returnValue, $async$completer);
  43409. }
  43410. });
  43411. return P._asyncStartSync($async$_async_evaluate$_runFunctionCallable$3, $async$completer);
  43412. },
  43413. _async_evaluate$_runBuiltInCallable$3: function($arguments, callable, nodeWithSpan) {
  43414. return this._runBuiltInCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan);
  43415. },
  43416. _runBuiltInCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan) {
  43417. var $async$goto = 0,
  43418. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  43419. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, callback, result, error, message, t1, namedSet, tuple, overload, declaredArguments, i, t2, argument, t3, t4, rest, argumentList, exception, evaluated, oldCallableNode, $async$exception;
  43420. var $async$_async_evaluate$_runBuiltInCallable$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43421. if ($async$errorCode === 1) {
  43422. $async$currentError = $async$result;
  43423. $async$goto = $async$handler;
  43424. }
  43425. while (true)
  43426. switch ($async$goto) {
  43427. case 0:
  43428. // Function start
  43429. $async$goto = 3;
  43430. return P._asyncAwait($async$self._async_evaluate$_evaluateArguments$2$trackSpans($arguments, false), $async$_async_evaluate$_runBuiltInCallable$3);
  43431. case 3:
  43432. // returning from await.
  43433. evaluated = $async$result;
  43434. oldCallableNode = $async$self._async_evaluate$_callableNode;
  43435. $async$self._async_evaluate$_callableNode = nodeWithSpan;
  43436. t1 = P.String;
  43437. namedSet = new M.MapKeySet(evaluated.named, [t1]);
  43438. tuple = callable.callbackFor$2(evaluated.positional.length, namedSet);
  43439. overload = tuple.item1;
  43440. callback = tuple.item2;
  43441. $async$self._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__runBuiltInCallable_closure1(overload, evaluated, namedSet));
  43442. declaredArguments = overload.$arguments;
  43443. i = evaluated.positional.length, t2 = declaredArguments.length;
  43444. case 4:
  43445. // for condition
  43446. if (!(i < t2)) {
  43447. // goto after for
  43448. $async$goto = 6;
  43449. break;
  43450. }
  43451. argument = declaredArguments[i];
  43452. t3 = evaluated.positional;
  43453. t4 = evaluated.named.remove$1(0, argument.name);
  43454. $async$goto = t4 == null ? 7 : 8;
  43455. break;
  43456. case 7:
  43457. // then
  43458. t4 = argument.defaultValue;
  43459. $async$goto = 9;
  43460. return P._asyncAwait(t4 == null ? null : t4.accept$1($async$self), $async$_async_evaluate$_runBuiltInCallable$3);
  43461. case 9:
  43462. // returning from await.
  43463. t4 = $async$result;
  43464. case 8:
  43465. // join
  43466. t3.push(t4);
  43467. case 5:
  43468. // for update
  43469. ++i;
  43470. // goto for condition
  43471. $async$goto = 4;
  43472. break;
  43473. case 6:
  43474. // after for
  43475. if (overload.restArgument != null) {
  43476. if (evaluated.positional.length > t2) {
  43477. rest = C.JSArray_methods.sublist$1(evaluated.positional, t2);
  43478. C.JSArray_methods.removeRange$2(evaluated.positional, t2, evaluated.positional.length);
  43479. } else
  43480. rest = C.List_empty6;
  43481. t2 = evaluated.named;
  43482. t3 = evaluated.separator === C.ListSeparator_undecided ? C.ListSeparator_comma : evaluated.separator;
  43483. t4 = F.Value;
  43484. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t2, t1, t4), P.List_List$unmodifiable(rest, t4), t3, false);
  43485. argumentList.SassList$3$brackets(rest, t3, false);
  43486. evaluated.positional.push(argumentList);
  43487. } else
  43488. argumentList = null;
  43489. result = null;
  43490. $async$handler = 11;
  43491. $async$goto = 14;
  43492. return P._asyncAwait(callback.call$1(evaluated.positional), $async$_async_evaluate$_runBuiltInCallable$3);
  43493. case 14:
  43494. // returning from await.
  43495. result = $async$result;
  43496. $async$handler = 2;
  43497. // goto after finally
  43498. $async$goto = 13;
  43499. break;
  43500. case 11:
  43501. // catch
  43502. $async$handler = 10;
  43503. $async$exception = $async$currentError;
  43504. t1 = H.unwrapException($async$exception);
  43505. if (t1 instanceof E.SassRuntimeException)
  43506. throw $async$exception;
  43507. else {
  43508. error = t1;
  43509. message = null;
  43510. try {
  43511. message = H.stringTypeCast(J.get$message$x(error));
  43512. } catch (exception) {
  43513. H.unwrapException($async$exception);
  43514. message = J.toString$0$(error);
  43515. }
  43516. throw H.wrapException($async$self._async_evaluate$_exception$2(message, nodeWithSpan.get$span()));
  43517. }
  43518. // goto after finally
  43519. $async$goto = 13;
  43520. break;
  43521. case 10:
  43522. // uncaught
  43523. // goto rethrow
  43524. $async$goto = 2;
  43525. break;
  43526. case 13:
  43527. // after finally
  43528. $async$self._async_evaluate$_callableNode = oldCallableNode;
  43529. if (argumentList == null) {
  43530. $async$returnValue = result;
  43531. // goto return
  43532. $async$goto = 1;
  43533. break;
  43534. }
  43535. t1 = evaluated.named;
  43536. if (t1.get$isEmpty(t1)) {
  43537. $async$returnValue = result;
  43538. // goto return
  43539. $async$goto = 1;
  43540. break;
  43541. }
  43542. if (argumentList._wereKeywordsAccessed) {
  43543. $async$returnValue = result;
  43544. // goto return
  43545. $async$goto = 1;
  43546. break;
  43547. }
  43548. throw H.wrapException($async$self._async_evaluate$_exception$2("No " + B.pluralize("argument", J.get$length$asx(evaluated.named.get$keys()), null) + " named " + H.S(B.toSentence(J.map$1$1$ax(evaluated.named.get$keys(), new E._EvaluateVisitor__runBuiltInCallable_closure2(), P.Object), "or")) + ".", nodeWithSpan.get$span()));
  43549. case 1:
  43550. // return
  43551. return P._asyncReturn($async$returnValue, $async$completer);
  43552. case 2:
  43553. // rethrow
  43554. return P._asyncRethrow($async$currentError, $async$completer);
  43555. }
  43556. });
  43557. return P._asyncStartSync($async$_async_evaluate$_runBuiltInCallable$3, $async$completer);
  43558. },
  43559. _async_evaluate$_evaluateArguments$2$trackSpans: function($arguments, trackSpans) {
  43560. return this._evaluateArguments$body$_EvaluateVisitor($arguments, trackSpans);
  43561. },
  43562. _async_evaluate$_evaluateArguments$1: function($arguments) {
  43563. return this._async_evaluate$_evaluateArguments$2$trackSpans($arguments, null);
  43564. },
  43565. _evaluateArguments$body$_EvaluateVisitor: function($arguments, trackSpans) {
  43566. var $async$goto = 0,
  43567. $async$completer = P._makeAsyncAwaitCompleter(E._ArgumentResults0),
  43568. $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, t5, t6, t7, named, t8, positionalNodes, namedNodes, rest, restNodeForSpan, separator, keywordRest, keywordRestNodeForSpan, $async$temp1;
  43569. var $async$_async_evaluate$_evaluateArguments$2$trackSpans = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43570. if ($async$errorCode === 1)
  43571. return P._asyncRethrow($async$result, $async$completer);
  43572. while (true)
  43573. switch ($async$goto) {
  43574. case 0:
  43575. // Function start
  43576. if (trackSpans == null)
  43577. trackSpans = $async$self._async_evaluate$_sourceMap;
  43578. t1 = F.Value;
  43579. t2 = H.setRuntimeTypeInfo([], [t1]);
  43580. t3 = $arguments.positional, t4 = t3.length, _i = 0;
  43581. case 3:
  43582. // for condition
  43583. if (!(_i < t4)) {
  43584. // goto after for
  43585. $async$goto = 5;
  43586. break;
  43587. }
  43588. $async$temp1 = t2;
  43589. $async$goto = 6;
  43590. return P._asyncAwait(t3[_i].accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  43591. case 6:
  43592. // returning from await.
  43593. $async$temp1.push($async$result);
  43594. case 4:
  43595. // for update
  43596. ++_i;
  43597. // goto for condition
  43598. $async$goto = 3;
  43599. break;
  43600. case 5:
  43601. // after for
  43602. t5 = $arguments.named;
  43603. t6 = P.String;
  43604. t7 = T.Expression;
  43605. $async$goto = 7;
  43606. return P._asyncAwait(B.mapMapAsync(t5, new E._EvaluateVisitor__evaluateArguments_closure2($async$self), t6, t7, t6, t1), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  43607. case 7:
  43608. // returning from await.
  43609. named = $async$result;
  43610. if (trackSpans) {
  43611. t8 = H.setRuntimeTypeInfo([], [B.AstNode]);
  43612. for (_i = 0; _i < t4; ++_i)
  43613. t8.push($async$self._async_evaluate$_expressionNode$1(t3[_i]));
  43614. positionalNodes = t8;
  43615. } else
  43616. positionalNodes = null;
  43617. namedNodes = trackSpans ? Y.mapMap(t5, null, new E._EvaluateVisitor__evaluateArguments_closure3($async$self), t6, t7, t6, B.AstNode) : null;
  43618. t3 = $arguments.rest;
  43619. if (t3 == null) {
  43620. $async$returnValue = E._ArgumentResults$0(t2, named, C.ListSeparator_undecided, namedNodes, positionalNodes);
  43621. // goto return
  43622. $async$goto = 1;
  43623. break;
  43624. }
  43625. $async$goto = 8;
  43626. return P._asyncAwait(t3.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  43627. case 8:
  43628. // returning from await.
  43629. rest = $async$result;
  43630. restNodeForSpan = trackSpans ? $async$self._async_evaluate$_expressionNode$1(t3) : null;
  43631. t4 = J.getInterceptor$(rest);
  43632. if (!!t4.$isSassMap) {
  43633. $async$self._async_evaluate$_addRestMap$1$3(named, rest, t3, t1);
  43634. if (namedNodes != null) {
  43635. t3 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode);
  43636. for (t4 = rest.contents.get$keys(), t4 = t4.get$iterator(t4); t4.moveNext$0();)
  43637. t3.$indexSet(0, H.interceptedTypeCast(t4.get$current(t4), "$isSassString").text, restNodeForSpan);
  43638. namedNodes.addAll$1(0, t3);
  43639. }
  43640. separator = C.ListSeparator_undecided;
  43641. } else if (!!t4.$isSassList) {
  43642. t3 = rest._list$_contents;
  43643. C.JSArray_methods.addAll$1(t2, t3);
  43644. if (positionalNodes != null)
  43645. C.JSArray_methods.addAll$1(positionalNodes, P.List_List$filled(t3.length, restNodeForSpan, B.AstNode));
  43646. separator = rest.separator;
  43647. if (!!rest.$isSassArgumentList) {
  43648. rest._wereKeywordsAccessed = true;
  43649. rest._keywords.forEach$1(0, new E._EvaluateVisitor__evaluateArguments_closure4(named, namedNodes, restNodeForSpan));
  43650. }
  43651. } else {
  43652. t2.push(rest);
  43653. if (positionalNodes != null)
  43654. positionalNodes.push(restNodeForSpan);
  43655. separator = C.ListSeparator_undecided;
  43656. }
  43657. t3 = $arguments.keywordRest;
  43658. if (t3 == null) {
  43659. $async$returnValue = E._ArgumentResults$0(t2, named, separator, namedNodes, positionalNodes);
  43660. // goto return
  43661. $async$goto = 1;
  43662. break;
  43663. }
  43664. $async$goto = 9;
  43665. return P._asyncAwait(t3.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  43666. case 9:
  43667. // returning from await.
  43668. keywordRest = $async$result;
  43669. keywordRestNodeForSpan = trackSpans ? $async$self._async_evaluate$_expressionNode$1(t3) : null;
  43670. if (keywordRest instanceof A.SassMap) {
  43671. $async$self._async_evaluate$_addRestMap$1$3(named, keywordRest, t3, t1);
  43672. if (namedNodes != null) {
  43673. t1 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode);
  43674. for (t3 = keywordRest.contents.get$keys(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  43675. t1.$indexSet(0, H.interceptedTypeCast(t3.get$current(t3), "$isSassString").text, keywordRestNodeForSpan);
  43676. namedNodes.addAll$1(0, t1);
  43677. }
  43678. $async$returnValue = E._ArgumentResults$0(t2, named, separator, namedNodes, positionalNodes);
  43679. // goto return
  43680. $async$goto = 1;
  43681. break;
  43682. } else
  43683. throw H.wrapException($async$self._async_evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", t3.get$span()));
  43684. case 1:
  43685. // return
  43686. return P._asyncReturn($async$returnValue, $async$completer);
  43687. }
  43688. });
  43689. return P._asyncStartSync($async$_async_evaluate$_evaluateArguments$2$trackSpans, $async$completer);
  43690. },
  43691. _async_evaluate$_evaluateMacroArguments$1: function(invocation) {
  43692. return this._evaluateMacroArguments$body$_EvaluateVisitor(invocation);
  43693. },
  43694. _evaluateMacroArguments$body$_EvaluateVisitor: function(invocation) {
  43695. var $async$goto = 0,
  43696. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, [P.List, T.Expression], [P.Map, P.String, T.Expression]]),
  43697. $async$returnValue, $async$self = this, t3, positional, named, rest, keywordRest, t1, t2;
  43698. var $async$_async_evaluate$_evaluateMacroArguments$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43699. if ($async$errorCode === 1)
  43700. return P._asyncRethrow($async$result, $async$completer);
  43701. while (true)
  43702. switch ($async$goto) {
  43703. case 0:
  43704. // Function start
  43705. t1 = invocation.$arguments;
  43706. t2 = t1.rest;
  43707. if (t2 == null) {
  43708. $async$returnValue = new S.Tuple2(t1.positional, t1.named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  43709. // goto return
  43710. $async$goto = 1;
  43711. break;
  43712. }
  43713. t3 = t1.positional;
  43714. positional = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  43715. t3 = T.Expression;
  43716. named = P.LinkedHashMap_LinkedHashMap$of(t1.named, P.String, t3);
  43717. $async$goto = 3;
  43718. return P._asyncAwait(t2.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1);
  43719. case 3:
  43720. // returning from await.
  43721. rest = $async$result;
  43722. t2 = J.getInterceptor$(rest);
  43723. if (!!t2.$isSassMap)
  43724. $async$self._async_evaluate$_addRestMap$1$4(named, rest, invocation, new E._EvaluateVisitor__evaluateMacroArguments_closure3(), t3);
  43725. else if (!!t2.$isSassList) {
  43726. t2 = rest._list$_contents;
  43727. C.JSArray_methods.addAll$1(positional, new H.MappedListIterable(t2, new E._EvaluateVisitor__evaluateMacroArguments_closure4(), [H.getTypeArgumentByIndex(t2, 0), t3]));
  43728. if (!!rest.$isSassArgumentList) {
  43729. rest._wereKeywordsAccessed = true;
  43730. rest._keywords.forEach$1(0, new E._EvaluateVisitor__evaluateMacroArguments_closure5(named));
  43731. }
  43732. } else
  43733. positional.push(new F.ValueExpression(rest, null));
  43734. t1 = t1.keywordRest;
  43735. if (t1 == null) {
  43736. $async$returnValue = new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  43737. // goto return
  43738. $async$goto = 1;
  43739. break;
  43740. }
  43741. $async$goto = 4;
  43742. return P._asyncAwait(t1.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1);
  43743. case 4:
  43744. // returning from await.
  43745. keywordRest = $async$result;
  43746. if (keywordRest instanceof A.SassMap) {
  43747. $async$self._async_evaluate$_addRestMap$1$4(named, keywordRest, invocation, new E._EvaluateVisitor__evaluateMacroArguments_closure6(), t3);
  43748. $async$returnValue = new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  43749. // goto return
  43750. $async$goto = 1;
  43751. break;
  43752. } else
  43753. throw H.wrapException($async$self._async_evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", invocation.span));
  43754. case 1:
  43755. // return
  43756. return P._asyncReturn($async$returnValue, $async$completer);
  43757. }
  43758. });
  43759. return P._asyncStartSync($async$_async_evaluate$_evaluateMacroArguments$1, $async$completer);
  43760. },
  43761. _async_evaluate$_addRestMap$1$4: function(values, map, nodeForSpan, convert, $T) {
  43762. var t1 = {};
  43763. t1.convert = convert;
  43764. if (convert == null)
  43765. t1.convert = new E._EvaluateVisitor__addRestMap_closure1($T);
  43766. map.contents.forEach$1(0, new E._EvaluateVisitor__addRestMap_closure2(t1, this, values, map, nodeForSpan));
  43767. },
  43768. _async_evaluate$_addRestMap$1$3: function(values, map, nodeForSpan, $T) {
  43769. return this._async_evaluate$_addRestMap$1$4(values, map, nodeForSpan, null, $T);
  43770. },
  43771. _async_evaluate$_verifyArguments$4: function(positional, named, $arguments, nodeWithSpan) {
  43772. return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__verifyArguments_closure0($arguments, positional, named));
  43773. },
  43774. visitSelectorExpression$1: function(node) {
  43775. return this.visitSelectorExpression$body$_EvaluateVisitor(node);
  43776. },
  43777. visitSelectorExpression$body$_EvaluateVisitor: function(node) {
  43778. var $async$goto = 0,
  43779. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  43780. $async$returnValue, $async$self = this, t1;
  43781. var $async$visitSelectorExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43782. if ($async$errorCode === 1)
  43783. return P._asyncRethrow($async$result, $async$completer);
  43784. while (true)
  43785. switch ($async$goto) {
  43786. case 0:
  43787. // Function start
  43788. t1 = $async$self._async_evaluate$_styleRule;
  43789. if (t1 == null) {
  43790. $async$returnValue = C.C_SassNull;
  43791. // goto return
  43792. $async$goto = 1;
  43793. break;
  43794. }
  43795. $async$returnValue = t1.originalSelector.get$asSassList();
  43796. // goto return
  43797. $async$goto = 1;
  43798. break;
  43799. case 1:
  43800. // return
  43801. return P._asyncReturn($async$returnValue, $async$completer);
  43802. }
  43803. });
  43804. return P._asyncStartSync($async$visitSelectorExpression$1, $async$completer);
  43805. },
  43806. visitStringExpression$1: function(node) {
  43807. return this.visitStringExpression$body$_EvaluateVisitor(node);
  43808. },
  43809. visitStringExpression$body$_EvaluateVisitor: function(node) {
  43810. var $async$goto = 0,
  43811. $async$completer = P._makeAsyncAwaitCompleter(D.SassString),
  43812. $async$returnValue, $async$self = this, $async$temp1, $async$temp2;
  43813. var $async$visitStringExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43814. if ($async$errorCode === 1)
  43815. return P._asyncRethrow($async$result, $async$completer);
  43816. while (true)
  43817. switch ($async$goto) {
  43818. case 0:
  43819. // Function start
  43820. $async$temp1 = D;
  43821. $async$temp2 = J;
  43822. $async$goto = 3;
  43823. return P._asyncAwait(B.mapAsync(node.text.contents, new E._EvaluateVisitor_visitStringExpression_closure0($async$self), P.Object, P.String), $async$visitStringExpression$1);
  43824. case 3:
  43825. // returning from await.
  43826. $async$returnValue = new $async$temp1.SassString($async$temp2.join$0$ax($async$result), node.hasQuotes);
  43827. // goto return
  43828. $async$goto = 1;
  43829. break;
  43830. case 1:
  43831. // return
  43832. return P._asyncReturn($async$returnValue, $async$completer);
  43833. }
  43834. });
  43835. return P._asyncStartSync($async$visitStringExpression$1, $async$completer);
  43836. },
  43837. visitCssAtRule$1: function(node) {
  43838. return this.visitCssAtRule$body$_EvaluateVisitor(node);
  43839. },
  43840. visitCssAtRule$body$_EvaluateVisitor: function(node) {
  43841. var $async$goto = 0,
  43842. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43843. $async$returnValue, $async$self = this, t1, t2, t3, wasInKeyframes, wasInUnknownAtRule;
  43844. var $async$visitCssAtRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43845. if ($async$errorCode === 1)
  43846. return P._asyncRethrow($async$result, $async$completer);
  43847. while (true)
  43848. switch ($async$goto) {
  43849. case 0:
  43850. // Function start
  43851. if ($async$self._async_evaluate$_declarationName != null)
  43852. throw H.wrapException($async$self._async_evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  43853. if (node.isChildless) {
  43854. t1 = $async$self._async_evaluate$_parent;
  43855. t2 = B.ModifiableCssNode;
  43856. t3 = H.setRuntimeTypeInfo([], [t2]);
  43857. t1.addChild$1(new U.ModifiableCssAtRule(node.name, node.value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  43858. // goto return
  43859. $async$goto = 1;
  43860. break;
  43861. }
  43862. wasInKeyframes = $async$self._async_evaluate$_inKeyframes;
  43863. wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule;
  43864. t1 = node.name;
  43865. if (B.unvendor(t1.get$value()) === "keyframes")
  43866. $async$self._async_evaluate$_inKeyframes = true;
  43867. else
  43868. $async$self._async_evaluate$_inUnknownAtRule = true;
  43869. t2 = B.ModifiableCssNode;
  43870. t3 = H.setRuntimeTypeInfo([], [t2]);
  43871. $async$goto = 3;
  43872. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule(t1, node.value, false, node.span, new P.UnmodifiableListView(t3, [t2]), t3), new E._EvaluateVisitor_visitCssAtRule_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssAtRule_closure2(), U.ModifiableCssAtRule, P.Null), $async$visitCssAtRule$1);
  43873. case 3:
  43874. // returning from await.
  43875. $async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
  43876. $async$self._async_evaluate$_inKeyframes = wasInKeyframes;
  43877. case 1:
  43878. // return
  43879. return P._asyncReturn($async$returnValue, $async$completer);
  43880. }
  43881. });
  43882. return P._asyncStartSync($async$visitCssAtRule$1, $async$completer);
  43883. },
  43884. visitCssComment$1: function(node) {
  43885. return this.visitCssComment$body$_EvaluateVisitor(node);
  43886. },
  43887. visitCssComment$body$_EvaluateVisitor: function(node) {
  43888. var $async$goto = 0,
  43889. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43890. $async$self = this, t1, t2;
  43891. var $async$visitCssComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43892. if ($async$errorCode === 1)
  43893. return P._asyncRethrow($async$result, $async$completer);
  43894. while (true)
  43895. switch ($async$goto) {
  43896. case 0:
  43897. // Function start
  43898. t1 = $async$self._async_evaluate$_parent;
  43899. t2 = $async$self._async_evaluate$_root;
  43900. if (t1 == t2 && $async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source))
  43901. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  43902. $async$self._async_evaluate$_parent.addChild$1(new R.ModifiableCssComment(node.text, node.span));
  43903. // implicit return
  43904. return P._asyncReturn(null, $async$completer);
  43905. }
  43906. });
  43907. return P._asyncStartSync($async$visitCssComment$1, $async$completer);
  43908. },
  43909. visitCssDeclaration$1: function(node) {
  43910. return this.visitCssDeclaration$body$_EvaluateVisitor(node);
  43911. },
  43912. visitCssDeclaration$body$_EvaluateVisitor: function(node) {
  43913. var $async$goto = 0,
  43914. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43915. $async$self = this;
  43916. var $async$visitCssDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43917. if ($async$errorCode === 1)
  43918. return P._asyncRethrow($async$result, $async$completer);
  43919. while (true)
  43920. switch ($async$goto) {
  43921. case 0:
  43922. // Function start
  43923. $async$self._async_evaluate$_parent.addChild$1(L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap));
  43924. // implicit return
  43925. return P._asyncReturn(null, $async$completer);
  43926. }
  43927. });
  43928. return P._asyncStartSync($async$visitCssDeclaration$1, $async$completer);
  43929. },
  43930. visitCssImport$1: function(node) {
  43931. return this.visitCssImport$body$_EvaluateVisitor(node);
  43932. },
  43933. visitCssImport$body$_EvaluateVisitor: function(node) {
  43934. var $async$goto = 0,
  43935. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43936. $async$self = this, modifiableNode, t1, t2;
  43937. var $async$visitCssImport$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43938. if ($async$errorCode === 1)
  43939. return P._asyncRethrow($async$result, $async$completer);
  43940. while (true)
  43941. switch ($async$goto) {
  43942. case 0:
  43943. // Function start
  43944. modifiableNode = F.ModifiableCssImport$(node.url, node.span, node.media, node.supports);
  43945. t1 = $async$self._async_evaluate$_parent;
  43946. t2 = $async$self._async_evaluate$_root;
  43947. if (t1 != t2)
  43948. t1.addChild$1(modifiableNode);
  43949. else if ($async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) {
  43950. $async$self._async_evaluate$_root.addChild$1(modifiableNode);
  43951. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  43952. } else {
  43953. t1 = $async$self._async_evaluate$_outOfOrderImports;
  43954. (t1 == null ? $async$self._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(modifiableNode);
  43955. }
  43956. // implicit return
  43957. return P._asyncReturn(null, $async$completer);
  43958. }
  43959. });
  43960. return P._asyncStartSync($async$visitCssImport$1, $async$completer);
  43961. },
  43962. visitCssKeyframeBlock$1: function(node) {
  43963. return this.visitCssKeyframeBlock$body$_EvaluateVisitor(node);
  43964. },
  43965. visitCssKeyframeBlock$body$_EvaluateVisitor: function(node) {
  43966. var $async$goto = 0,
  43967. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43968. $async$self = this, t1, t2;
  43969. var $async$visitCssKeyframeBlock$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43970. if ($async$errorCode === 1)
  43971. return P._asyncRethrow($async$result, $async$completer);
  43972. while (true)
  43973. switch ($async$goto) {
  43974. case 0:
  43975. // Function start
  43976. t1 = B.ModifiableCssNode;
  43977. t2 = H.setRuntimeTypeInfo([], [t1]);
  43978. $async$goto = 2;
  43979. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitCssKeyframeBlock_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssKeyframeBlock_closure2(), U.ModifiableCssKeyframeBlock, P.Null), $async$visitCssKeyframeBlock$1);
  43980. case 2:
  43981. // returning from await.
  43982. // implicit return
  43983. return P._asyncReturn(null, $async$completer);
  43984. }
  43985. });
  43986. return P._asyncStartSync($async$visitCssKeyframeBlock$1, $async$completer);
  43987. },
  43988. visitCssMediaRule$1: function(node) {
  43989. return this.visitCssMediaRule$body$_EvaluateVisitor(node);
  43990. },
  43991. visitCssMediaRule$body$_EvaluateVisitor: function(node) {
  43992. var $async$goto = 0,
  43993. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43994. $async$returnValue, $async$self = this, t1, mergedQueries;
  43995. var $async$visitCssMediaRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43996. if ($async$errorCode === 1)
  43997. return P._asyncRethrow($async$result, $async$completer);
  43998. while (true)
  43999. switch ($async$goto) {
  44000. case 0:
  44001. // Function start
  44002. if ($async$self._async_evaluate$_declarationName != null)
  44003. throw H.wrapException($async$self._async_evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  44004. t1 = $async$self._async_evaluate$_mediaQueries;
  44005. mergedQueries = t1 == null ? null : $async$self._async_evaluate$_mergeMediaQueries$2(t1, node.queries);
  44006. t1 = mergedQueries == null;
  44007. if (!t1 && mergedQueries.length === 0) {
  44008. // goto return
  44009. $async$goto = 1;
  44010. break;
  44011. }
  44012. t1 = t1 ? node.queries : mergedQueries;
  44013. $async$goto = 3;
  44014. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new E._EvaluateVisitor_visitCssMediaRule_closure1($async$self, mergedQueries, node), false, new E._EvaluateVisitor_visitCssMediaRule_closure2(mergedQueries), G.ModifiableCssMediaRule, P.Null), $async$visitCssMediaRule$1);
  44015. case 3:
  44016. // returning from await.
  44017. case 1:
  44018. // return
  44019. return P._asyncReturn($async$returnValue, $async$completer);
  44020. }
  44021. });
  44022. return P._asyncStartSync($async$visitCssMediaRule$1, $async$completer);
  44023. },
  44024. visitCssStyleRule$1: function(node) {
  44025. return this.visitCssStyleRule$body$_EvaluateVisitor(node);
  44026. },
  44027. visitCssStyleRule$body$_EvaluateVisitor: function(node) {
  44028. var $async$goto = 0,
  44029. $async$completer = P._makeAsyncAwaitCompleter(-1),
  44030. $async$self = this, t1, t2, t3, originalSelector, rule, oldAtRootExcludingStyleRule;
  44031. var $async$visitCssStyleRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44032. if ($async$errorCode === 1)
  44033. return P._asyncRethrow($async$result, $async$completer);
  44034. while (true)
  44035. switch ($async$goto) {
  44036. case 0:
  44037. // Function start
  44038. if ($async$self._async_evaluate$_declarationName != null)
  44039. throw H.wrapException($async$self._async_evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  44040. t1 = node.selector;
  44041. t2 = t1.value;
  44042. t3 = $async$self._async_evaluate$_styleRule;
  44043. t3 = t3 == null ? null : t3.originalSelector;
  44044. originalSelector = t2.resolveParentSelectors$2$implicitParent(t3, !$async$self._async_evaluate$_atRootExcludingStyleRule);
  44045. rule = X.ModifiableCssStyleRule$($async$self._async_evaluate$_extender.addSelector$3(originalSelector, t1.span, $async$self._async_evaluate$_mediaQueries), node.span, originalSelector);
  44046. oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule;
  44047. $async$self._async_evaluate$_atRootExcludingStyleRule = false;
  44048. $async$goto = 2;
  44049. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new E._EvaluateVisitor_visitCssStyleRule_closure1($async$self, rule, node), false, new E._EvaluateVisitor_visitCssStyleRule_closure2(), X.ModifiableCssStyleRule, P.Null), $async$visitCssStyleRule$1);
  44050. case 2:
  44051. // returning from await.
  44052. $async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  44053. if (!($async$self._async_evaluate$_styleRule != null && !oldAtRootExcludingStyleRule)) {
  44054. t1 = $async$self._async_evaluate$_parent.children;
  44055. t1 = !t1.get$isEmpty(t1);
  44056. } else
  44057. t1 = false;
  44058. if (t1) {
  44059. t1 = $async$self._async_evaluate$_parent.children;
  44060. t1.get$last(t1).isGroupEnd = true;
  44061. }
  44062. // implicit return
  44063. return P._asyncReturn(null, $async$completer);
  44064. }
  44065. });
  44066. return P._asyncStartSync($async$visitCssStyleRule$1, $async$completer);
  44067. },
  44068. visitCssStylesheet$1: function(node) {
  44069. return this.visitCssStylesheet$body$_EvaluateVisitor(node);
  44070. },
  44071. visitCssStylesheet$body$_EvaluateVisitor: function(node) {
  44072. var $async$goto = 0,
  44073. $async$completer = P._makeAsyncAwaitCompleter(-1),
  44074. $async$self = this, t1;
  44075. var $async$visitCssStylesheet$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44076. if ($async$errorCode === 1)
  44077. return P._asyncRethrow($async$result, $async$completer);
  44078. while (true)
  44079. switch ($async$goto) {
  44080. case 0:
  44081. // Function start
  44082. t1 = J.get$iterator$ax(node.get$children());
  44083. case 2:
  44084. // for condition
  44085. if (!t1.moveNext$0()) {
  44086. // goto after for
  44087. $async$goto = 3;
  44088. break;
  44089. }
  44090. $async$goto = 4;
  44091. return P._asyncAwait(t1.get$current(t1).accept$1($async$self), $async$visitCssStylesheet$1);
  44092. case 4:
  44093. // returning from await.
  44094. // goto for condition
  44095. $async$goto = 2;
  44096. break;
  44097. case 3:
  44098. // after for
  44099. // implicit return
  44100. return P._asyncReturn(null, $async$completer);
  44101. }
  44102. });
  44103. return P._asyncStartSync($async$visitCssStylesheet$1, $async$completer);
  44104. },
  44105. visitCssSupportsRule$1: function(node) {
  44106. return this.visitCssSupportsRule$body$_EvaluateVisitor(node);
  44107. },
  44108. visitCssSupportsRule$body$_EvaluateVisitor: function(node) {
  44109. var $async$goto = 0,
  44110. $async$completer = P._makeAsyncAwaitCompleter(-1),
  44111. $async$self = this, t1, t2;
  44112. var $async$visitCssSupportsRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44113. if ($async$errorCode === 1)
  44114. return P._asyncRethrow($async$result, $async$completer);
  44115. while (true)
  44116. switch ($async$goto) {
  44117. case 0:
  44118. // Function start
  44119. if ($async$self._async_evaluate$_declarationName != null)
  44120. throw H.wrapException($async$self._async_evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  44121. t1 = B.ModifiableCssNode;
  44122. t2 = H.setRuntimeTypeInfo([], [t1]);
  44123. $async$goto = 2;
  44124. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitCssSupportsRule_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssSupportsRule_closure2(), B.ModifiableCssSupportsRule, P.Null), $async$visitCssSupportsRule$1);
  44125. case 2:
  44126. // returning from await.
  44127. // implicit return
  44128. return P._asyncReturn(null, $async$completer);
  44129. }
  44130. });
  44131. return P._asyncStartSync($async$visitCssSupportsRule$1, $async$completer);
  44132. },
  44133. _async_evaluate$_handleReturn$1$2: function(list, callback) {
  44134. return this._handleReturn$body$_EvaluateVisitor(list, callback, null);
  44135. },
  44136. _async_evaluate$_handleReturn$2: function(list, callback) {
  44137. return this._async_evaluate$_handleReturn$1$2(list, callback, null);
  44138. },
  44139. _handleReturn$body$_EvaluateVisitor: function(list, callback) {
  44140. var $async$goto = 0,
  44141. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  44142. $async$returnValue, t1, _i, result;
  44143. var $async$_async_evaluate$_handleReturn$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44144. if ($async$errorCode === 1)
  44145. return P._asyncRethrow($async$result, $async$completer);
  44146. while (true)
  44147. switch ($async$goto) {
  44148. case 0:
  44149. // Function start
  44150. t1 = list.length, _i = 0;
  44151. case 3:
  44152. // for condition
  44153. if (!(_i < list.length)) {
  44154. // goto after for
  44155. $async$goto = 5;
  44156. break;
  44157. }
  44158. $async$goto = 6;
  44159. return P._asyncAwait(callback.call$1(list[_i]), $async$_async_evaluate$_handleReturn$1$2);
  44160. case 6:
  44161. // returning from await.
  44162. result = $async$result;
  44163. if (result != null) {
  44164. $async$returnValue = result;
  44165. // goto return
  44166. $async$goto = 1;
  44167. break;
  44168. }
  44169. case 4:
  44170. // for update
  44171. list.length === t1 || (0, H.throwConcurrentModificationError)(list), ++_i;
  44172. // goto for condition
  44173. $async$goto = 3;
  44174. break;
  44175. case 5:
  44176. // after for
  44177. // goto return
  44178. $async$goto = 1;
  44179. break;
  44180. case 1:
  44181. // return
  44182. return P._asyncReturn($async$returnValue, $async$completer);
  44183. }
  44184. });
  44185. return P._asyncStartSync($async$_async_evaluate$_handleReturn$1$2, $async$completer);
  44186. },
  44187. _async_evaluate$_withEnvironment$1$2: function(environment, callback, $T) {
  44188. return this._withEnvironment$body$_EvaluateVisitor(environment, callback, $T, $T);
  44189. },
  44190. _withEnvironment$body$_EvaluateVisitor: function(environment, callback, $T, $async$type) {
  44191. var $async$goto = 0,
  44192. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  44193. $async$returnValue, $async$self = this, result, oldEnvironment;
  44194. var $async$_async_evaluate$_withEnvironment$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44195. if ($async$errorCode === 1)
  44196. return P._asyncRethrow($async$result, $async$completer);
  44197. while (true)
  44198. switch ($async$goto) {
  44199. case 0:
  44200. // Function start
  44201. oldEnvironment = $async$self._async_evaluate$_environment;
  44202. $async$self._async_evaluate$_environment = environment;
  44203. $async$goto = 3;
  44204. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withEnvironment$1$2);
  44205. case 3:
  44206. // returning from await.
  44207. result = $async$result;
  44208. $async$self._async_evaluate$_environment = oldEnvironment;
  44209. $async$returnValue = result;
  44210. // goto return
  44211. $async$goto = 1;
  44212. break;
  44213. case 1:
  44214. // return
  44215. return P._asyncReturn($async$returnValue, $async$completer);
  44216. }
  44217. });
  44218. return P._asyncStartSync($async$_async_evaluate$_withEnvironment$1$2, $async$completer);
  44219. },
  44220. _async_evaluate$_interpolationToValue$3$trim$warnForColor: function(interpolation, trim, warnForColor) {
  44221. return this._interpolationToValue$body$_EvaluateVisitor(interpolation, trim, warnForColor);
  44222. },
  44223. _async_evaluate$_interpolationToValue$1: function(interpolation) {
  44224. return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, false);
  44225. },
  44226. _async_evaluate$_interpolationToValue$2$warnForColor: function(interpolation, warnForColor) {
  44227. return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
  44228. },
  44229. _interpolationToValue$body$_EvaluateVisitor: function(interpolation, trim, warnForColor) {
  44230. var $async$goto = 0,
  44231. $async$completer = P._makeAsyncAwaitCompleter([F.CssValue, P.String]),
  44232. $async$returnValue, $async$self = this, result, t1;
  44233. var $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44234. if ($async$errorCode === 1)
  44235. return P._asyncRethrow($async$result, $async$completer);
  44236. while (true)
  44237. switch ($async$goto) {
  44238. case 0:
  44239. // Function start
  44240. $async$goto = 3;
  44241. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(interpolation, warnForColor), $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor);
  44242. case 3:
  44243. // returning from await.
  44244. result = $async$result;
  44245. t1 = trim ? B.trimAscii(result, true) : result;
  44246. $async$returnValue = new F.CssValue(t1, interpolation.span, [P.String]);
  44247. // goto return
  44248. $async$goto = 1;
  44249. break;
  44250. case 1:
  44251. // return
  44252. return P._asyncReturn($async$returnValue, $async$completer);
  44253. }
  44254. });
  44255. return P._asyncStartSync($async$_async_evaluate$_interpolationToValue$3$trim$warnForColor, $async$completer);
  44256. },
  44257. _async_evaluate$_performInterpolation$2$warnForColor: function(interpolation, warnForColor) {
  44258. return this._performInterpolation$body$_EvaluateVisitor(interpolation, warnForColor);
  44259. },
  44260. _async_evaluate$_performInterpolation$1: function(interpolation) {
  44261. return this._async_evaluate$_performInterpolation$2$warnForColor(interpolation, false);
  44262. },
  44263. _performInterpolation$body$_EvaluateVisitor: function(interpolation, warnForColor) {
  44264. var $async$goto = 0,
  44265. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  44266. $async$returnValue, $async$self = this, $async$temp1;
  44267. var $async$_async_evaluate$_performInterpolation$2$warnForColor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44268. if ($async$errorCode === 1)
  44269. return P._asyncRethrow($async$result, $async$completer);
  44270. while (true)
  44271. switch ($async$goto) {
  44272. case 0:
  44273. // Function start
  44274. $async$temp1 = J;
  44275. $async$goto = 3;
  44276. return P._asyncAwait(B.mapAsync(interpolation.contents, new E._EvaluateVisitor__performInterpolation_closure0($async$self, warnForColor), P.Object, P.String), $async$_async_evaluate$_performInterpolation$2$warnForColor);
  44277. case 3:
  44278. // returning from await.
  44279. $async$returnValue = $async$temp1.join$0$ax($async$result);
  44280. // goto return
  44281. $async$goto = 1;
  44282. break;
  44283. case 1:
  44284. // return
  44285. return P._asyncReturn($async$returnValue, $async$completer);
  44286. }
  44287. });
  44288. return P._asyncStartSync($async$_async_evaluate$_performInterpolation$2$warnForColor, $async$completer);
  44289. },
  44290. _evaluateToCss$2$quote: function(expression, quote) {
  44291. return this._evaluateToCss$body$_EvaluateVisitor(expression, quote);
  44292. },
  44293. _evaluateToCss$1: function(expression) {
  44294. return this._evaluateToCss$2$quote(expression, true);
  44295. },
  44296. _evaluateToCss$body$_EvaluateVisitor: function(expression, quote) {
  44297. var $async$goto = 0,
  44298. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  44299. $async$returnValue, $async$self = this;
  44300. var $async$_evaluateToCss$2$quote = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44301. if ($async$errorCode === 1)
  44302. return P._asyncRethrow($async$result, $async$completer);
  44303. while (true)
  44304. switch ($async$goto) {
  44305. case 0:
  44306. // Function start
  44307. $async$goto = 3;
  44308. return P._asyncAwait(expression.accept$1($async$self), $async$_evaluateToCss$2$quote);
  44309. case 3:
  44310. // returning from await.
  44311. $async$returnValue = $async$self._async_evaluate$_serialize$3$quote($async$result, expression, quote);
  44312. // goto return
  44313. $async$goto = 1;
  44314. break;
  44315. case 1:
  44316. // return
  44317. return P._asyncReturn($async$returnValue, $async$completer);
  44318. }
  44319. });
  44320. return P._asyncStartSync($async$_evaluateToCss$2$quote, $async$completer);
  44321. },
  44322. _async_evaluate$_serialize$3$quote: function(value, nodeWithSpan, quote) {
  44323. return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__serialize_closure0(value, quote));
  44324. },
  44325. _async_evaluate$_serialize$2: function(value, nodeWithSpan) {
  44326. return this._async_evaluate$_serialize$3$quote(value, nodeWithSpan, true);
  44327. },
  44328. _async_evaluate$_expressionNode$1: function(expression) {
  44329. if (!this._async_evaluate$_sourceMap)
  44330. return;
  44331. if (expression instanceof S.VariableExpression)
  44332. return this._async_evaluate$_environment.getVariableNode$2$namespace(expression.name, expression.namespace);
  44333. else
  44334. return expression;
  44335. },
  44336. _async_evaluate$_withParent$2$4$scopeWhen$through: function(node, callback, scopeWhen, through, $S, $T) {
  44337. return this._withParent$body$_EvaluateVisitor(node, callback, scopeWhen, through, $S, $T, $T);
  44338. },
  44339. _async_evaluate$_withParent$2$2: function(node, callback, $S, $T) {
  44340. return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
  44341. },
  44342. _async_evaluate$_withParent$2$3$scopeWhen: function(node, callback, scopeWhen, $S, $T) {
  44343. return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
  44344. },
  44345. _withParent$body$_EvaluateVisitor: function(node, callback, scopeWhen, through, $S, $T, $async$type) {
  44346. var $async$goto = 0,
  44347. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  44348. $async$returnValue, $async$self = this, oldParent, result;
  44349. var $async$_async_evaluate$_withParent$2$4$scopeWhen$through = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44350. if ($async$errorCode === 1)
  44351. return P._asyncRethrow($async$result, $async$completer);
  44352. while (true)
  44353. switch ($async$goto) {
  44354. case 0:
  44355. // Function start
  44356. $async$self._async_evaluate$_addChild$2$through(node, through);
  44357. oldParent = $async$self._async_evaluate$_parent;
  44358. $async$self._async_evaluate$_parent = node;
  44359. $async$goto = 3;
  44360. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(callback, scopeWhen, $T), $async$_async_evaluate$_withParent$2$4$scopeWhen$through);
  44361. case 3:
  44362. // returning from await.
  44363. result = $async$result;
  44364. $async$self._async_evaluate$_parent = oldParent;
  44365. $async$returnValue = result;
  44366. // goto return
  44367. $async$goto = 1;
  44368. break;
  44369. case 1:
  44370. // return
  44371. return P._asyncReturn($async$returnValue, $async$completer);
  44372. }
  44373. });
  44374. return P._asyncStartSync($async$_async_evaluate$_withParent$2$4$scopeWhen$through, $async$completer);
  44375. },
  44376. _async_evaluate$_addChild$2$through: function(node, through) {
  44377. var grandparent,
  44378. $parent = this._async_evaluate$_parent;
  44379. if (through != null) {
  44380. for (; through.call$1($parent);)
  44381. $parent = $parent._parent;
  44382. if ($parent.get$hasFollowingSibling()) {
  44383. grandparent = $parent._parent;
  44384. $parent = $parent.copyWithoutChildren$0();
  44385. grandparent.addChild$1($parent);
  44386. }
  44387. }
  44388. $parent.addChild$1(node);
  44389. },
  44390. _async_evaluate$_addChild$1: function(node) {
  44391. return this._async_evaluate$_addChild$2$through(node, null);
  44392. },
  44393. _async_evaluate$_withStyleRule$1$2: function(rule, callback, $T) {
  44394. return this._withStyleRule$body$_EvaluateVisitor(rule, callback, $T, $T);
  44395. },
  44396. _withStyleRule$body$_EvaluateVisitor: function(rule, callback, $T, $async$type) {
  44397. var $async$goto = 0,
  44398. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  44399. $async$returnValue, $async$self = this, result, oldRule;
  44400. var $async$_async_evaluate$_withStyleRule$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44401. if ($async$errorCode === 1)
  44402. return P._asyncRethrow($async$result, $async$completer);
  44403. while (true)
  44404. switch ($async$goto) {
  44405. case 0:
  44406. // Function start
  44407. oldRule = $async$self._async_evaluate$_styleRule;
  44408. $async$self._async_evaluate$_styleRule = rule;
  44409. $async$goto = 3;
  44410. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStyleRule$1$2);
  44411. case 3:
  44412. // returning from await.
  44413. result = $async$result;
  44414. $async$self._async_evaluate$_styleRule = oldRule;
  44415. $async$returnValue = result;
  44416. // goto return
  44417. $async$goto = 1;
  44418. break;
  44419. case 1:
  44420. // return
  44421. return P._asyncReturn($async$returnValue, $async$completer);
  44422. }
  44423. });
  44424. return P._asyncStartSync($async$_async_evaluate$_withStyleRule$1$2, $async$completer);
  44425. },
  44426. _async_evaluate$_withMediaQueries$1$2: function(queries, callback, $T) {
  44427. return this._withMediaQueries$body$_EvaluateVisitor(queries, callback, $T, $T);
  44428. },
  44429. _withMediaQueries$body$_EvaluateVisitor: function(queries, callback, $T, $async$type) {
  44430. var $async$goto = 0,
  44431. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  44432. $async$returnValue, $async$self = this, result, oldMediaQueries;
  44433. var $async$_async_evaluate$_withMediaQueries$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44434. if ($async$errorCode === 1)
  44435. return P._asyncRethrow($async$result, $async$completer);
  44436. while (true)
  44437. switch ($async$goto) {
  44438. case 0:
  44439. // Function start
  44440. oldMediaQueries = $async$self._async_evaluate$_mediaQueries;
  44441. $async$self._async_evaluate$_mediaQueries = queries;
  44442. $async$goto = 3;
  44443. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withMediaQueries$1$2);
  44444. case 3:
  44445. // returning from await.
  44446. result = $async$result;
  44447. $async$self._async_evaluate$_mediaQueries = oldMediaQueries;
  44448. $async$returnValue = result;
  44449. // goto return
  44450. $async$goto = 1;
  44451. break;
  44452. case 1:
  44453. // return
  44454. return P._asyncReturn($async$returnValue, $async$completer);
  44455. }
  44456. });
  44457. return P._asyncStartSync($async$_async_evaluate$_withMediaQueries$1$2, $async$completer);
  44458. },
  44459. _async_evaluate$_withStackFrame$1$3: function(member, nodeWithSpan, callback, $T) {
  44460. return this._withStackFrame$body$_EvaluateVisitor(member, nodeWithSpan, callback, $T, $T);
  44461. },
  44462. _withStackFrame$body$_EvaluateVisitor: function(member, nodeWithSpan, callback, $T, $async$type) {
  44463. var $async$goto = 0,
  44464. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  44465. $async$returnValue, $async$self = this, oldMember, result, t1;
  44466. var $async$_async_evaluate$_withStackFrame$1$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44467. if ($async$errorCode === 1)
  44468. return P._asyncRethrow($async$result, $async$completer);
  44469. while (true)
  44470. switch ($async$goto) {
  44471. case 0:
  44472. // Function start
  44473. t1 = $async$self._async_evaluate$_stack;
  44474. t1.push(new S.Tuple2($async$self._async_evaluate$_member, nodeWithSpan, [P.String, B.AstNode]));
  44475. oldMember = $async$self._async_evaluate$_member;
  44476. $async$self._async_evaluate$_member = member;
  44477. $async$goto = 3;
  44478. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStackFrame$1$3);
  44479. case 3:
  44480. // returning from await.
  44481. result = $async$result;
  44482. $async$self._async_evaluate$_member = oldMember;
  44483. t1.pop();
  44484. $async$returnValue = result;
  44485. // goto return
  44486. $async$goto = 1;
  44487. break;
  44488. case 1:
  44489. // return
  44490. return P._asyncReturn($async$returnValue, $async$completer);
  44491. }
  44492. });
  44493. return P._asyncStartSync($async$_async_evaluate$_withStackFrame$1$3, $async$completer);
  44494. },
  44495. _async_evaluate$_stackFrame$2: function(member, span) {
  44496. var url = span.file.url;
  44497. return B.frameForSpan(span, member, url != null && this._async_evaluate$_importCache != null ? this._async_evaluate$_importCache.humanize$1(url) : url);
  44498. },
  44499. _async_evaluate$_stackTrace$1: function(span) {
  44500. var t3, _this = this,
  44501. t1 = A.Frame,
  44502. t2 = H.setRuntimeTypeInfo([], [t1]);
  44503. for (t3 = _this._async_evaluate$_stack, t3 = new H.MappedListIterable(t3, new E._EvaluateVisitor__stackTrace_closure0(_this), [H.getTypeArgumentByIndex(t3, 0), t1]), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  44504. t2.push(t3.__internal$_current);
  44505. if (span != null)
  44506. t2.push(_this._async_evaluate$_stackFrame$2(_this._async_evaluate$_member, span));
  44507. return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t1), new P._StringStackTrace(null));
  44508. },
  44509. _async_evaluate$_stackTrace$0: function() {
  44510. return this._async_evaluate$_stackTrace$1(null);
  44511. },
  44512. _async_evaluate$_warn$3$deprecation: function(message, span, deprecation) {
  44513. return this._async_evaluate$_logger.warn$4$deprecation$span$trace(message, deprecation, span, this._async_evaluate$_stackTrace$1(span));
  44514. },
  44515. _async_evaluate$_warn$2: function(message, span) {
  44516. return this._async_evaluate$_warn$3$deprecation(message, span, false);
  44517. },
  44518. _async_evaluate$_exception$2: function(message, span) {
  44519. var t1 = span == null ? C.JSArray_methods.get$last(this._async_evaluate$_stack).item2.get$span() : span;
  44520. return new E.SassRuntimeException(this._async_evaluate$_stackTrace$1(span), message, t1);
  44521. },
  44522. _async_evaluate$_exception$1: function(message) {
  44523. return this._async_evaluate$_exception$2(message, null);
  44524. },
  44525. _async_evaluate$_adjustParseError$1$2: function(nodeWithSpan, callback) {
  44526. var error, errorText, span, syntheticFile, syntheticSpan, t1, exception, t2, t3, t4, t5, _null = null;
  44527. try {
  44528. t1 = callback.call$0();
  44529. return t1;
  44530. } catch (exception) {
  44531. t1 = H.unwrapException(exception);
  44532. if (t1 instanceof E.SassFormatException) {
  44533. error = t1;
  44534. t1 = error;
  44535. errorText = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(t1).file._decodedChars, 0, _null), 0, _null);
  44536. span = nodeWithSpan.get$span();
  44537. t1 = span;
  44538. t2 = span;
  44539. syntheticFile = C.JSString_methods.replaceRange$3(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, 0, _null), 0, _null), Y.FileLocation$_(t1.file, t1._start).offset, Y.FileLocation$_(t2.file, t2._file$_end).offset, errorText);
  44540. t2 = syntheticFile;
  44541. t1 = span.file.url;
  44542. t2.toString;
  44543. t2 = new H.CodeUnits(t2);
  44544. t3 = H.setRuntimeTypeInfo([0], [P.int]);
  44545. t3 = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2))));
  44546. t3.SourceFile$decoded$2$url(t2, t1);
  44547. t1 = span;
  44548. t1 = Y.FileLocation$_(t1.file, t1._start);
  44549. t2 = error;
  44550. t2 = G.SourceSpanException.prototype.get$span.call(t2);
  44551. t2 = Y.FileLocation$_(t2.file, t2._start);
  44552. t4 = span;
  44553. t4 = Y.FileLocation$_(t4.file, t4._start);
  44554. t5 = error;
  44555. t5 = G.SourceSpanException.prototype.get$span.call(t5);
  44556. syntheticSpan = t3.span$2(t1.offset + t2.offset, t4.offset + Y.FileLocation$_(t5.file, t5._file$_end).offset);
  44557. throw H.wrapException(this._async_evaluate$_exception$2(error._span_exception$_message, syntheticSpan));
  44558. } else
  44559. throw exception;
  44560. }
  44561. },
  44562. _async_evaluate$_adjustParseError$2: function(nodeWithSpan, callback) {
  44563. return this._async_evaluate$_adjustParseError$1$2(nodeWithSpan, callback, null);
  44564. },
  44565. _async_evaluate$_addExceptionSpan$1$2: function(nodeWithSpan, callback) {
  44566. var error, t1, exception;
  44567. try {
  44568. t1 = callback.call$0();
  44569. return t1;
  44570. } catch (exception) {
  44571. t1 = H.unwrapException(exception);
  44572. if (t1 instanceof E.SassScriptException) {
  44573. error = t1;
  44574. throw H.wrapException(this._async_evaluate$_exception$2(error.message, nodeWithSpan.get$span()));
  44575. } else
  44576. throw exception;
  44577. }
  44578. },
  44579. _async_evaluate$_addExceptionSpan$2: function(nodeWithSpan, callback) {
  44580. return this._async_evaluate$_addExceptionSpan$1$2(nodeWithSpan, callback, null);
  44581. },
  44582. _addExceptionSpanAsync$1$2: function(nodeWithSpan, callback, $T) {
  44583. return this._addExceptionSpanAsync$body$_EvaluateVisitor(nodeWithSpan, callback, $T, $T);
  44584. },
  44585. _addExceptionSpanAsync$body$_EvaluateVisitor: function(nodeWithSpan, callback, $T, $async$type) {
  44586. var $async$goto = 0,
  44587. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  44588. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, t1, exception, $async$exception;
  44589. var $async$_addExceptionSpanAsync$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44590. if ($async$errorCode === 1) {
  44591. $async$currentError = $async$result;
  44592. $async$goto = $async$handler;
  44593. }
  44594. while (true)
  44595. switch ($async$goto) {
  44596. case 0:
  44597. // Function start
  44598. $async$handler = 4;
  44599. $async$goto = 7;
  44600. return P._asyncAwait(callback.call$0(), $async$_addExceptionSpanAsync$1$2);
  44601. case 7:
  44602. // returning from await.
  44603. t1 = $async$result;
  44604. $async$returnValue = t1;
  44605. // goto return
  44606. $async$goto = 1;
  44607. break;
  44608. $async$handler = 2;
  44609. // goto after finally
  44610. $async$goto = 6;
  44611. break;
  44612. case 4:
  44613. // catch
  44614. $async$handler = 3;
  44615. $async$exception = $async$currentError;
  44616. t1 = H.unwrapException($async$exception);
  44617. if (t1 instanceof E.SassScriptException) {
  44618. error = t1;
  44619. throw H.wrapException($async$self._async_evaluate$_exception$2(error.message, nodeWithSpan.get$span()));
  44620. } else
  44621. throw $async$exception;
  44622. // goto after finally
  44623. $async$goto = 6;
  44624. break;
  44625. case 3:
  44626. // uncaught
  44627. // goto rethrow
  44628. $async$goto = 2;
  44629. break;
  44630. case 6:
  44631. // after finally
  44632. case 1:
  44633. // return
  44634. return P._asyncReturn($async$returnValue, $async$completer);
  44635. case 2:
  44636. // rethrow
  44637. return P._asyncRethrow($async$currentError, $async$completer);
  44638. }
  44639. });
  44640. return P._asyncStartSync($async$_addExceptionSpanAsync$1$2, $async$completer);
  44641. },
  44642. _async_evaluate$_addErrorSpan$1$2: function(nodeWithSpan, callback, $T) {
  44643. return this._addErrorSpan$body$_EvaluateVisitor(nodeWithSpan, callback, $T, $T);
  44644. },
  44645. _addErrorSpan$body$_EvaluateVisitor: function(nodeWithSpan, callback, $T, $async$type) {
  44646. var $async$goto = 0,
  44647. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  44648. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, t1, exception, $async$exception;
  44649. var $async$_async_evaluate$_addErrorSpan$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44650. if ($async$errorCode === 1) {
  44651. $async$currentError = $async$result;
  44652. $async$goto = $async$handler;
  44653. }
  44654. while (true)
  44655. switch ($async$goto) {
  44656. case 0:
  44657. // Function start
  44658. $async$handler = 4;
  44659. $async$goto = 7;
  44660. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_addErrorSpan$1$2);
  44661. case 7:
  44662. // returning from await.
  44663. t1 = $async$result;
  44664. $async$returnValue = t1;
  44665. // goto return
  44666. $async$goto = 1;
  44667. break;
  44668. $async$handler = 2;
  44669. // goto after finally
  44670. $async$goto = 6;
  44671. break;
  44672. case 4:
  44673. // catch
  44674. $async$handler = 3;
  44675. $async$exception = $async$currentError;
  44676. t1 = H.unwrapException($async$exception);
  44677. if (t1 instanceof E.SassRuntimeException) {
  44678. error = t1;
  44679. t1 = error;
  44680. t1 = G.SourceSpanException.prototype.get$span.call(t1);
  44681. if (!C.JSString_methods.startsWith$1(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null), "@error"))
  44682. throw $async$exception;
  44683. throw H.wrapException(E.SassRuntimeException$(error._span_exception$_message, nodeWithSpan.get$span(), $async$self._async_evaluate$_stackTrace$0()));
  44684. } else
  44685. throw $async$exception;
  44686. // goto after finally
  44687. $async$goto = 6;
  44688. break;
  44689. case 3:
  44690. // uncaught
  44691. // goto rethrow
  44692. $async$goto = 2;
  44693. break;
  44694. case 6:
  44695. // after finally
  44696. case 1:
  44697. // return
  44698. return P._asyncReturn($async$returnValue, $async$completer);
  44699. case 2:
  44700. // rethrow
  44701. return P._asyncRethrow($async$currentError, $async$completer);
  44702. }
  44703. });
  44704. return P._asyncStartSync($async$_async_evaluate$_addErrorSpan$1$2, $async$completer);
  44705. }
  44706. };
  44707. E._EvaluateVisitor_closure9.prototype = {
  44708. call$1: function($arguments) {
  44709. var module, t2,
  44710. t1 = J.getInterceptor$asx($arguments),
  44711. variable = t1.$index($arguments, 0).assertString$1("name");
  44712. t1 = t1.$index($arguments, 1).get$realNull();
  44713. module = t1 == null ? null : t1.assertString$1("module");
  44714. t1 = this.$this._async_evaluate$_environment;
  44715. t2 = variable.text;
  44716. t2.toString;
  44717. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  44718. return t1.globalVariableExists$2$namespace(t2, module == null ? null : module.text) ? C.SassBoolean_true : C.SassBoolean_false;
  44719. },
  44720. $signature: 3
  44721. };
  44722. E._EvaluateVisitor_closure10.prototype = {
  44723. call$1: function($arguments) {
  44724. var variable = J.$index$asx($arguments, 0).assertString$1("name"),
  44725. t1 = this.$this._async_evaluate$_environment,
  44726. t2 = variable.text;
  44727. t2.toString;
  44728. return t1.getVariable$1(H.stringReplaceAllUnchecked(t2, "_", "-")) != null ? C.SassBoolean_true : C.SassBoolean_false;
  44729. },
  44730. $signature: 3
  44731. };
  44732. E._EvaluateVisitor_closure11.prototype = {
  44733. call$1: function($arguments) {
  44734. var module, t2, t3, t4,
  44735. t1 = J.getInterceptor$asx($arguments),
  44736. variable = t1.$index($arguments, 0).assertString$1("name");
  44737. t1 = t1.$index($arguments, 1).get$realNull();
  44738. module = t1 == null ? null : t1.assertString$1("module");
  44739. t1 = this.$this;
  44740. t2 = t1._async_evaluate$_environment;
  44741. t3 = variable.text;
  44742. t3.toString;
  44743. t4 = H.stringReplaceAllUnchecked(t3, "_", "-");
  44744. return t2.getFunction$2$namespace(t4, module == null ? null : module.text) != null || t1._async_evaluate$_builtInFunctions.containsKey$1(t3) ? C.SassBoolean_true : C.SassBoolean_false;
  44745. },
  44746. $signature: 3
  44747. };
  44748. E._EvaluateVisitor_closure12.prototype = {
  44749. call$1: function($arguments) {
  44750. var module, t2,
  44751. t1 = J.getInterceptor$asx($arguments),
  44752. variable = t1.$index($arguments, 0).assertString$1("name");
  44753. t1 = t1.$index($arguments, 1).get$realNull();
  44754. module = t1 == null ? null : t1.assertString$1("module");
  44755. t1 = this.$this._async_evaluate$_environment;
  44756. t2 = variable.text;
  44757. t2.toString;
  44758. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  44759. return t1.getMixin$2$namespace(t2, module == null ? null : module.text) != null ? C.SassBoolean_true : C.SassBoolean_false;
  44760. },
  44761. $signature: 3
  44762. };
  44763. E._EvaluateVisitor_closure13.prototype = {
  44764. call$1: function($arguments) {
  44765. var t1 = this.$this._async_evaluate$_environment;
  44766. if (!t1._async_environment$_inMixin)
  44767. throw H.wrapException(E.SassScriptException$("content-exists() may only be called within a mixin."));
  44768. return t1._async_environment$_content != null ? C.SassBoolean_true : C.SassBoolean_false;
  44769. },
  44770. $signature: 3
  44771. };
  44772. E._EvaluateVisitor_closure14.prototype = {
  44773. call$1: function($arguments) {
  44774. var t2, t3, t4,
  44775. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  44776. module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1);
  44777. if (module == null)
  44778. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  44779. t1 = F.Value;
  44780. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  44781. for (t3 = module.get$variables().get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  44782. t4 = t3.get$current(t3);
  44783. t2.$indexSet(0, new D.SassString(t4.key, true), t4.value);
  44784. }
  44785. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  44786. },
  44787. $signature: 9
  44788. };
  44789. E._EvaluateVisitor_closure15.prototype = {
  44790. call$1: function($arguments) {
  44791. var t2, t3, t4,
  44792. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  44793. module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1);
  44794. if (module == null)
  44795. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  44796. t1 = F.Value;
  44797. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  44798. for (t3 = module.get$functions(module).get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  44799. t4 = t3.get$current(t3);
  44800. t2.$indexSet(0, new D.SassString(t4.key, true), new F.SassFunction(t4.value));
  44801. }
  44802. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  44803. },
  44804. $signature: 9
  44805. };
  44806. E._EvaluateVisitor_closure16.prototype = {
  44807. call$1: function($arguments) {
  44808. var module, callable,
  44809. t1 = J.getInterceptor$asx($arguments),
  44810. $name = t1.$index($arguments, 0).assertString$1("name"),
  44811. css = t1.$index($arguments, 1).get$isTruthy();
  44812. t1 = t1.$index($arguments, 2).get$realNull();
  44813. module = t1 == null ? null : t1.assertString$1("module");
  44814. if (css && module != null)
  44815. throw H.wrapException("$css and $module may not both be passed at once.");
  44816. if (css)
  44817. callable = new L.PlainCssCallable($name.text);
  44818. else {
  44819. t1 = this.$this;
  44820. callable = t1._async_evaluate$_addExceptionSpan$2(t1._async_evaluate$_callableNode, new E._EvaluateVisitor__closure8(t1, $name, module));
  44821. }
  44822. if (callable != null)
  44823. return new F.SassFunction(callable);
  44824. throw H.wrapException("Function not found: " + $name.toString$0(0));
  44825. },
  44826. $signature: 32
  44827. };
  44828. E._EvaluateVisitor__closure8.prototype = {
  44829. call$0: function() {
  44830. var t2,
  44831. t1 = this.name.text;
  44832. t1.toString;
  44833. t1 = H.stringReplaceAllUnchecked(t1, "_", "-");
  44834. t2 = this.module;
  44835. t2 = t2 == null ? null : t2.text;
  44836. return this.$this._async_evaluate$_getFunction$2$namespace(t1, t2);
  44837. }
  44838. };
  44839. E._EvaluateVisitor_closure17.prototype = {
  44840. call$1: function($arguments) {
  44841. return this.$call$body$_EvaluateVisitor_closure0($arguments);
  44842. },
  44843. $call$body$_EvaluateVisitor_closure0: function($arguments) {
  44844. var $async$goto = 0,
  44845. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  44846. $async$returnValue, $async$self = this, t2, t3, t4, t5, t6, t7, t8, invocation, callable, t1, $function, args;
  44847. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44848. if ($async$errorCode === 1)
  44849. return P._asyncRethrow($async$result, $async$completer);
  44850. while (true)
  44851. switch ($async$goto) {
  44852. case 0:
  44853. // Function start
  44854. t1 = J.getInterceptor$asx($arguments);
  44855. $function = t1.$index($arguments, 0);
  44856. args = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  44857. t1 = T.Expression;
  44858. t2 = H.setRuntimeTypeInfo([], [t1]);
  44859. t3 = P.String;
  44860. t4 = $async$self.$this;
  44861. t5 = t4._async_evaluate$_callableNode.get$span();
  44862. t6 = t4._async_evaluate$_callableNode.get$span();
  44863. args._wereKeywordsAccessed = true;
  44864. t7 = args._keywords;
  44865. if (t7.get$isEmpty(t7))
  44866. t7 = null;
  44867. else {
  44868. args._wereKeywordsAccessed = true;
  44869. t8 = F.Value;
  44870. t8 = new F.ValueExpression(new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(t7, new E._EvaluateVisitor__closure6(), new E._EvaluateVisitor__closure7(), t3, t8, t8, t8), t8, t8)), t4._async_evaluate$_callableNode.get$span());
  44871. t7 = t8;
  44872. }
  44873. invocation = X.ArgumentInvocation$(t2, P.LinkedHashMap_LinkedHashMap$_empty(t3, t1), t5, t7, new F.ValueExpression(args, t6));
  44874. $async$goto = $function instanceof D.SassString ? 3 : 4;
  44875. break;
  44876. case 3:
  44877. // then
  44878. N.warn("Passing a string to call() is deprecated and will be illegal\nin Dart Sass 2.0.0. Use call(get-function(" + $function.toString$0(0) + ")) instead.", true);
  44879. $async$goto = 5;
  44880. return P._asyncAwait(t4.visitFunctionExpression$1(new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([$function.text], [P.Object]), t4._async_evaluate$_callableNode.get$span()), invocation, t4._async_evaluate$_callableNode.get$span())), $async$call$1);
  44881. case 5:
  44882. // returning from await.
  44883. $async$returnValue = $async$result;
  44884. // goto return
  44885. $async$goto = 1;
  44886. break;
  44887. case 4:
  44888. // join
  44889. callable = $function.assertFunction$1("function").callable;
  44890. $async$goto = !!J.getInterceptor$(callable).$isAsyncCallable ? 6 : 8;
  44891. break;
  44892. case 6:
  44893. // then
  44894. $async$goto = 9;
  44895. return P._asyncAwait(t4._async_evaluate$_runFunctionCallable$3(invocation, callable, t4._async_evaluate$_callableNode), $async$call$1);
  44896. case 9:
  44897. // returning from await.
  44898. $async$returnValue = $async$result;
  44899. // goto return
  44900. $async$goto = 1;
  44901. break;
  44902. // goto join
  44903. $async$goto = 7;
  44904. break;
  44905. case 8:
  44906. // else
  44907. throw H.wrapException(E.SassScriptException$("The function " + H.S(callable.get$name()) + " is asynchronous.\nThis is probably caused by a bug in a Sass plugin."));
  44908. case 7:
  44909. // join
  44910. case 1:
  44911. // return
  44912. return P._asyncReturn($async$returnValue, $async$completer);
  44913. }
  44914. });
  44915. return P._asyncStartSync($async$call$1, $async$completer);
  44916. }
  44917. };
  44918. E._EvaluateVisitor__closure6.prototype = {
  44919. call$2: function(key, _) {
  44920. return new D.SassString(key, false);
  44921. }
  44922. };
  44923. E._EvaluateVisitor__closure7.prototype = {
  44924. call$2: function(_, value) {
  44925. return value;
  44926. }
  44927. };
  44928. E._EvaluateVisitor_closure18.prototype = {
  44929. call$1: function($arguments) {
  44930. return this.$call$body$_EvaluateVisitor_closure($arguments);
  44931. },
  44932. $call$body$_EvaluateVisitor_closure: function($arguments) {
  44933. var $async$goto = 0,
  44934. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44935. $async$returnValue, $async$self = this, withMap, t3, t4, t1, t2, url;
  44936. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44937. if ($async$errorCode === 1)
  44938. return P._asyncRethrow($async$result, $async$completer);
  44939. while (true)
  44940. switch ($async$goto) {
  44941. case 0:
  44942. // Function start
  44943. t1 = {};
  44944. t2 = J.getInterceptor$asx($arguments);
  44945. url = P.Uri_parse(t2.$index($arguments, 0).assertString$1("module").text);
  44946. t2 = t2.$index($arguments, 1).get$realNull();
  44947. t2 = t2 == null ? null : t2.assertMap$1("with");
  44948. withMap = t2 == null ? null : t2.contents;
  44949. t1.configuration = C.Map_empty7;
  44950. if (withMap != null) {
  44951. t1.configuration = P.LinkedHashMap_LinkedHashMap$_empty(P.String, E._ConfiguredValue0);
  44952. withMap.forEach$1(0, new E._EvaluateVisitor__closure4(t1, $async$self.$this._async_evaluate$_callableNode.get$span()));
  44953. }
  44954. t2 = $async$self.$this;
  44955. t3 = t2._async_evaluate$_callableNode;
  44956. t4 = t3.get$span();
  44957. $async$goto = 3;
  44958. return P._asyncAwait(t2._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t3, new E._EvaluateVisitor__closure5(t2), t4.file.url, t1.configuration, true), $async$call$1);
  44959. case 3:
  44960. // returning from await.
  44961. // goto return
  44962. $async$goto = 1;
  44963. break;
  44964. case 1:
  44965. // return
  44966. return P._asyncReturn($async$returnValue, $async$completer);
  44967. }
  44968. });
  44969. return P._asyncStartSync($async$call$1, $async$completer);
  44970. }
  44971. };
  44972. E._EvaluateVisitor__closure4.prototype = {
  44973. call$2: function(variable, value) {
  44974. var $name,
  44975. t1 = variable.assertString$1("with key").text;
  44976. t1.toString;
  44977. $name = H.stringReplaceAllUnchecked(t1, "_", "-");
  44978. t1 = this._box_0;
  44979. if (t1.configuration.containsKey$1($name))
  44980. throw H.wrapException("The variable $" + $name + " was configured twice.");
  44981. t1.configuration.$indexSet(0, $name, new E._ConfiguredValue0(value, this.span, null));
  44982. }
  44983. };
  44984. E._EvaluateVisitor__closure5.prototype = {
  44985. call$1: function(module) {
  44986. var t1 = this.$this;
  44987. return t1._async_evaluate$_combineCss$2$clone(module, true).accept$1(t1);
  44988. }
  44989. };
  44990. E._EvaluateVisitor_run_closure0.prototype = {
  44991. call$0: function() {
  44992. var $async$goto = 0,
  44993. $async$completer = P._makeAsyncAwaitCompleter(E.EvaluateResult),
  44994. $async$returnValue, $async$self = this, t1, t2, url, $async$temp1, $async$temp2;
  44995. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44996. if ($async$errorCode === 1)
  44997. return P._asyncRethrow($async$result, $async$completer);
  44998. while (true)
  44999. switch ($async$goto) {
  45000. case 0:
  45001. // Function start
  45002. t1 = $async$self.node;
  45003. t2 = t1.span;
  45004. url = t2 == null ? null : t2.file.url;
  45005. if (url != null) {
  45006. t2 = $async$self.$this;
  45007. t2._async_evaluate$_activeModules.add$1(0, url);
  45008. if (t2._async_evaluate$_nodeImporter != null)
  45009. if (url.get$scheme() === "file")
  45010. t2._async_evaluate$_includedFiles.add$1(0, $.$get$context().style.pathFromUri$1(M._parseUri(url)));
  45011. else if (url.toString$0(0) !== "stdin")
  45012. t2._async_evaluate$_includedFiles.add$1(0, url.toString$0(0));
  45013. }
  45014. t2 = $async$self.$this;
  45015. $async$temp1 = E;
  45016. $async$temp2 = t2;
  45017. $async$goto = 3;
  45018. return P._asyncAwait(t2._async_evaluate$_execute$2($async$self.importer, t1), $async$call$0);
  45019. case 3:
  45020. // returning from await.
  45021. $async$returnValue = new $async$temp1.EvaluateResult($async$temp2._async_evaluate$_combineCss$1($async$result), t2._async_evaluate$_includedFiles);
  45022. // goto return
  45023. $async$goto = 1;
  45024. break;
  45025. case 1:
  45026. // return
  45027. return P._asyncReturn($async$returnValue, $async$completer);
  45028. }
  45029. });
  45030. return P._asyncStartSync($async$call$0, $async$completer);
  45031. }
  45032. };
  45033. E._EvaluateVisitor__withWarnCallback_closure0.prototype = {
  45034. call$2: function(message, deprecation) {
  45035. var t1 = this.$this,
  45036. t2 = t1._async_evaluate$_importSpan;
  45037. return t1._async_evaluate$_warn$3$deprecation(message, t2 == null ? t1._async_evaluate$_callableNode.get$span() : t2, deprecation);
  45038. },
  45039. "call*": "call$2",
  45040. $requiredArgCount: 2
  45041. };
  45042. E._EvaluateVisitor__loadModule_closure0.prototype = {
  45043. call$0: function() {
  45044. var $async$goto = 0,
  45045. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45046. $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, module, error, error0, exception, t3, t1, result, importer, stylesheet, canonicalUrl, t2, $async$exception;
  45047. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45048. if ($async$errorCode === 1) {
  45049. $async$currentError = $async$result;
  45050. $async$goto = $async$handler;
  45051. }
  45052. while (true)
  45053. switch ($async$goto) {
  45054. case 0:
  45055. // Function start
  45056. t1 = $async$self.$this;
  45057. $async$goto = 2;
  45058. return P._asyncAwait(B.inUseRuleAsync(new E._EvaluateVisitor__loadModule__closure0(t1, $async$self.url, $async$self.nodeForSpan, $async$self.baseUrl), [S.Tuple2, B.AsyncImporter, V.Stylesheet]), $async$call$0);
  45059. case 2:
  45060. // returning from await.
  45061. result = $async$result;
  45062. importer = result.item1;
  45063. stylesheet = result.item2;
  45064. canonicalUrl = stylesheet.span.file.url;
  45065. t2 = t1._async_evaluate$_activeModules;
  45066. if (t2.contains$1(0, canonicalUrl))
  45067. throw H.wrapException(t1._async_evaluate$_exception$1($async$self.namesInErrors ? "Module loop: " + H.S(D.prettyUri(canonicalUrl)) + " is already being loaded." : "Module loop: this module is already being loaded."));
  45068. t2.add$1(0, canonicalUrl);
  45069. module = null;
  45070. $async$handler = 3;
  45071. $async$goto = 6;
  45072. return P._asyncAwait(t1._async_evaluate$_execute$4$configuration$namesInErrors(importer, stylesheet, $async$self.configuration, $async$self.namesInErrors), $async$call$0);
  45073. case 6:
  45074. // returning from await.
  45075. module = $async$result;
  45076. $async$next.push(5);
  45077. // goto finally
  45078. $async$goto = 4;
  45079. break;
  45080. case 3:
  45081. // uncaught
  45082. $async$next = [1];
  45083. case 4:
  45084. // finally
  45085. $async$handler = 1;
  45086. t2.remove$1(0, canonicalUrl);
  45087. // goto the next finally handler
  45088. $async$goto = $async$next.pop();
  45089. break;
  45090. case 5:
  45091. // after finally
  45092. $async$handler = 8;
  45093. $async$goto = 11;
  45094. return P._asyncAwait($async$self.callback.call$1(module), $async$call$0);
  45095. case 11:
  45096. // returning from await.
  45097. $async$handler = 1;
  45098. // goto after finally
  45099. $async$goto = 10;
  45100. break;
  45101. case 8:
  45102. // catch
  45103. $async$handler = 7;
  45104. $async$exception = $async$currentError;
  45105. t2 = H.unwrapException($async$exception);
  45106. t3 = J.getInterceptor$(t2);
  45107. if (!!t3.$isSassRuntimeException)
  45108. throw $async$exception;
  45109. else if (!!t3.$isSassException) {
  45110. error = t2;
  45111. throw H.wrapException(t1._async_evaluate$_exception$2(error._span_exception$_message, error.get$span()));
  45112. } else if (!!t3.$isSassScriptException) {
  45113. error0 = t2;
  45114. throw H.wrapException(t1._async_evaluate$_exception$1(error0.message));
  45115. } else
  45116. throw $async$exception;
  45117. // goto after finally
  45118. $async$goto = 10;
  45119. break;
  45120. case 7:
  45121. // uncaught
  45122. // goto rethrow
  45123. $async$goto = 1;
  45124. break;
  45125. case 10:
  45126. // after finally
  45127. // implicit return
  45128. return P._asyncReturn(null, $async$completer);
  45129. case 1:
  45130. // rethrow
  45131. return P._asyncRethrow($async$currentError, $async$completer);
  45132. }
  45133. });
  45134. return P._asyncStartSync($async$call$0, $async$completer);
  45135. }
  45136. };
  45137. E._EvaluateVisitor__loadModule__closure0.prototype = {
  45138. call$0: function() {
  45139. var _this = this;
  45140. return _this.$this._async_evaluate$_loadStylesheet$3$baseUrl(J.toString$0$(_this.url), _this.nodeForSpan.get$span(), _this.baseUrl);
  45141. }
  45142. };
  45143. E._EvaluateVisitor__execute_closure0.prototype = {
  45144. call$0: function() {
  45145. var $async$goto = 0,
  45146. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45147. $async$self = this, t2, t3, t4, t5, t6, css, t1, oldImporter, oldStylesheet, oldRoot, oldParent, oldEndOfImports, oldOutOfOrderImports, oldExtender, oldStyleRule, oldMediaQueries, oldDeclarationName, oldInUnknownAtRule, oldAtRootExcludingStyleRule, oldInKeyframes, oldConfiguration;
  45148. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45149. if ($async$errorCode === 1)
  45150. return P._asyncRethrow($async$result, $async$completer);
  45151. while (true)
  45152. switch ($async$goto) {
  45153. case 0:
  45154. // Function start
  45155. t1 = $async$self.$this;
  45156. oldImporter = t1._async_evaluate$_importer;
  45157. oldStylesheet = t1._async_evaluate$_stylesheet;
  45158. oldRoot = t1._async_evaluate$_root;
  45159. oldParent = t1._async_evaluate$_parent;
  45160. oldEndOfImports = t1._async_evaluate$_endOfImports;
  45161. oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports;
  45162. oldExtender = t1._async_evaluate$_extender;
  45163. oldStyleRule = t1._async_evaluate$_styleRule;
  45164. oldMediaQueries = t1._async_evaluate$_mediaQueries;
  45165. oldDeclarationName = t1._async_evaluate$_declarationName;
  45166. oldInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule;
  45167. oldAtRootExcludingStyleRule = t1._async_evaluate$_atRootExcludingStyleRule;
  45168. oldInKeyframes = t1._async_evaluate$_inKeyframes;
  45169. oldConfiguration = t1._async_evaluate$_configuration;
  45170. t1._async_evaluate$_importer = $async$self.importer;
  45171. t2 = t1._async_evaluate$_stylesheet = $async$self.stylesheet;
  45172. t3 = t2.span;
  45173. t4 = B.ModifiableCssNode;
  45174. t5 = H.setRuntimeTypeInfo([], [t4]);
  45175. t1._async_evaluate$_parent = t1._async_evaluate$_root = new V.ModifiableCssStylesheet(t3, new P.UnmodifiableListView(t5, [t4]), t5);
  45176. t1._async_evaluate$_endOfImports = 0;
  45177. t1._async_evaluate$_outOfOrderImports = null;
  45178. t1._async_evaluate$_extender = $async$self.extender;
  45179. t1._async_evaluate$_declarationName = t1._async_evaluate$_mediaQueries = t1._async_evaluate$_styleRule = null;
  45180. t5 = t1._async_evaluate$_inKeyframes = t1._async_evaluate$_atRootExcludingStyleRule = t1._async_evaluate$_inUnknownAtRule = false;
  45181. t4 = $async$self.configuration;
  45182. t6 = t4 != null;
  45183. if (t6)
  45184. t1._async_evaluate$_configuration = t4.get$isEmpty(t4) ? C.Map_empty7 : P.LinkedHashMap_LinkedHashMap$of(t4, P.String, E._ConfiguredValue0);
  45185. $async$goto = 2;
  45186. return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0);
  45187. case 2:
  45188. // returning from await.
  45189. css = t1._async_evaluate$_outOfOrderImports == null ? t1._async_evaluate$_root : new V.CssStylesheet(new P.UnmodifiableListView(t1._async_evaluate$_addOutOfOrderImports$0(), [B.CssNode]), t3);
  45190. $async$self._box_0.css = css;
  45191. t1._async_evaluate$_importer = oldImporter;
  45192. t1._async_evaluate$_stylesheet = oldStylesheet;
  45193. t1._async_evaluate$_root = oldRoot;
  45194. t1._async_evaluate$_parent = oldParent;
  45195. t1._async_evaluate$_endOfImports = oldEndOfImports;
  45196. t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports;
  45197. t1._async_evaluate$_extender = oldExtender;
  45198. t1._async_evaluate$_styleRule = oldStyleRule;
  45199. t1._async_evaluate$_mediaQueries = oldMediaQueries;
  45200. t1._async_evaluate$_declarationName = oldDeclarationName;
  45201. t1._async_evaluate$_inUnknownAtRule = oldInUnknownAtRule;
  45202. t1._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  45203. t1._async_evaluate$_inKeyframes = oldInKeyframes;
  45204. if (t6) {
  45205. t2 = t1._async_evaluate$_configuration;
  45206. t2 = t2.get$isNotEmpty(t2);
  45207. } else
  45208. t2 = t5;
  45209. if (t2) {
  45210. t2 = $async$self.namesInErrors ? "$" + H.S(J.get$first$ax(t1._async_evaluate$_configuration.get$keys())) + " was not declared with !default in the @used module." : "This variable was not declared with !default in the @used module.";
  45211. t3 = t1._async_evaluate$_configuration.get$values();
  45212. throw H.wrapException(t1._async_evaluate$_exception$2(t2, t3.get$first(t3).configurationSpan));
  45213. }
  45214. t1._async_evaluate$_configuration = oldConfiguration;
  45215. // implicit return
  45216. return P._asyncReturn(null, $async$completer);
  45217. }
  45218. });
  45219. return P._asyncStartSync($async$call$0, $async$completer);
  45220. }
  45221. };
  45222. E._EvaluateVisitor__combineCss_closure2.prototype = {
  45223. call$1: function(module) {
  45224. return module.get$transitivelyContainsCss();
  45225. }
  45226. };
  45227. E._EvaluateVisitor__combineCss_closure3.prototype = {
  45228. call$1: function(target) {
  45229. return !this.selectors.contains$1(0, target);
  45230. }
  45231. };
  45232. E._EvaluateVisitor__combineCss_closure4.prototype = {
  45233. call$1: function(module) {
  45234. return module.cloneCss$0();
  45235. }
  45236. };
  45237. E._EvaluateVisitor__extendModules_closure1.prototype = {
  45238. call$1: function(target) {
  45239. return !this.originalSelectors.contains$1(0, target);
  45240. }
  45241. };
  45242. E._EvaluateVisitor__extendModules_closure2.prototype = {
  45243. call$0: function() {
  45244. return H.setRuntimeTypeInfo([], [F.Extender]);
  45245. }
  45246. };
  45247. E._EvaluateVisitor__topologicalModules_visitModule0.prototype = {
  45248. call$1: function(module) {
  45249. var t1, t2, t3, _i, upstream;
  45250. for (t1 = module.get$upstream(), t2 = t1.length, t3 = this.seen, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  45251. upstream = t1[_i];
  45252. if (upstream.get$transitivelyContainsCss() && t3.add$1(0, upstream))
  45253. this.call$1(upstream);
  45254. }
  45255. this.sorted.addFirst$1(module);
  45256. }
  45257. };
  45258. E._EvaluateVisitor_visitAtRootRule_closure2.prototype = {
  45259. call$0: function() {
  45260. var t1 = S.SpanScanner$(this.resolved, null);
  45261. return new V.AtRootQueryParser(t1, this.$this._async_evaluate$_logger).parse$0();
  45262. }
  45263. };
  45264. E._EvaluateVisitor_visitAtRootRule_closure3.prototype = {
  45265. call$0: function() {
  45266. var $async$goto = 0,
  45267. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45268. $async$self = this, t1, t2, t3, _i;
  45269. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45270. if ($async$errorCode === 1)
  45271. return P._asyncRethrow($async$result, $async$completer);
  45272. while (true)
  45273. switch ($async$goto) {
  45274. case 0:
  45275. // Function start
  45276. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45277. case 2:
  45278. // for condition
  45279. if (!(_i < t2)) {
  45280. // goto after for
  45281. $async$goto = 4;
  45282. break;
  45283. }
  45284. $async$goto = 5;
  45285. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45286. case 5:
  45287. // returning from await.
  45288. case 3:
  45289. // for update
  45290. ++_i;
  45291. // goto for condition
  45292. $async$goto = 2;
  45293. break;
  45294. case 4:
  45295. // after for
  45296. // implicit return
  45297. return P._asyncReturn(null, $async$completer);
  45298. }
  45299. });
  45300. return P._asyncStartSync($async$call$0, $async$completer);
  45301. }
  45302. };
  45303. E._EvaluateVisitor_visitAtRootRule_closure4.prototype = {
  45304. call$0: function() {
  45305. var $async$goto = 0,
  45306. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45307. $async$self = this, t1, t2, t3, _i;
  45308. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45309. if ($async$errorCode === 1)
  45310. return P._asyncRethrow($async$result, $async$completer);
  45311. while (true)
  45312. switch ($async$goto) {
  45313. case 0:
  45314. // Function start
  45315. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45316. case 2:
  45317. // for condition
  45318. if (!(_i < t2)) {
  45319. // goto after for
  45320. $async$goto = 4;
  45321. break;
  45322. }
  45323. $async$goto = 5;
  45324. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45325. case 5:
  45326. // returning from await.
  45327. case 3:
  45328. // for update
  45329. ++_i;
  45330. // goto for condition
  45331. $async$goto = 2;
  45332. break;
  45333. case 4:
  45334. // after for
  45335. // implicit return
  45336. return P._asyncReturn(null, $async$completer);
  45337. }
  45338. });
  45339. return P._asyncStartSync($async$call$0, $async$completer);
  45340. },
  45341. "call*": "call$0",
  45342. $requiredArgCount: 0
  45343. };
  45344. E._EvaluateVisitor__scopeForAtRoot_closure5.prototype = {
  45345. call$1: function(callback) {
  45346. var $async$goto = 0,
  45347. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45348. $async$self = this, t1, oldParent;
  45349. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45350. if ($async$errorCode === 1)
  45351. return P._asyncRethrow($async$result, $async$completer);
  45352. while (true)
  45353. switch ($async$goto) {
  45354. case 0:
  45355. // Function start
  45356. t1 = $async$self.$this;
  45357. oldParent = t1._async_evaluate$_parent;
  45358. t1._async_evaluate$_parent = $async$self.newParent;
  45359. $async$goto = 2;
  45360. return P._asyncAwait(t1._async_evaluate$_environment.scope$1$2$when(callback, $async$self.node.hasDeclarations, -1), $async$call$1);
  45361. case 2:
  45362. // returning from await.
  45363. t1._async_evaluate$_parent = oldParent;
  45364. // implicit return
  45365. return P._asyncReturn(null, $async$completer);
  45366. }
  45367. });
  45368. return P._asyncStartSync($async$call$1, $async$completer);
  45369. }
  45370. };
  45371. E._EvaluateVisitor__scopeForAtRoot_closure6.prototype = {
  45372. call$1: function(callback) {
  45373. var $async$goto = 0,
  45374. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45375. $async$self = this, t1, oldAtRootExcludingStyleRule;
  45376. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45377. if ($async$errorCode === 1)
  45378. return P._asyncRethrow($async$result, $async$completer);
  45379. while (true)
  45380. switch ($async$goto) {
  45381. case 0:
  45382. // Function start
  45383. t1 = $async$self.$this;
  45384. oldAtRootExcludingStyleRule = t1._async_evaluate$_atRootExcludingStyleRule;
  45385. t1._async_evaluate$_atRootExcludingStyleRule = true;
  45386. $async$goto = 2;
  45387. return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
  45388. case 2:
  45389. // returning from await.
  45390. t1._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  45391. // implicit return
  45392. return P._asyncReturn(null, $async$completer);
  45393. }
  45394. });
  45395. return P._asyncStartSync($async$call$1, $async$completer);
  45396. }
  45397. };
  45398. E._EvaluateVisitor__scopeForAtRoot_closure7.prototype = {
  45399. call$1: function(callback) {
  45400. return this.$this._async_evaluate$_withMediaQueries$1$2(null, new E._EvaluateVisitor__scopeForAtRoot__closure0(this.innerScope, callback), P.Null);
  45401. }
  45402. };
  45403. E._EvaluateVisitor__scopeForAtRoot__closure0.prototype = {
  45404. call$0: function() {
  45405. return this.innerScope.call$1(this.callback);
  45406. }
  45407. };
  45408. E._EvaluateVisitor__scopeForAtRoot_closure8.prototype = {
  45409. call$1: function(callback) {
  45410. var $async$goto = 0,
  45411. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45412. $async$self = this, t1, wasInKeyframes;
  45413. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45414. if ($async$errorCode === 1)
  45415. return P._asyncRethrow($async$result, $async$completer);
  45416. while (true)
  45417. switch ($async$goto) {
  45418. case 0:
  45419. // Function start
  45420. t1 = $async$self.$this;
  45421. wasInKeyframes = t1._async_evaluate$_inKeyframes;
  45422. t1._async_evaluate$_inKeyframes = false;
  45423. $async$goto = 2;
  45424. return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
  45425. case 2:
  45426. // returning from await.
  45427. t1._async_evaluate$_inKeyframes = wasInKeyframes;
  45428. // implicit return
  45429. return P._asyncReturn(null, $async$completer);
  45430. }
  45431. });
  45432. return P._asyncStartSync($async$call$1, $async$completer);
  45433. }
  45434. };
  45435. E._EvaluateVisitor__scopeForAtRoot_closure9.prototype = {
  45436. call$1: function($parent) {
  45437. return !!J.getInterceptor$($parent).$isCssAtRule;
  45438. }
  45439. };
  45440. E._EvaluateVisitor__scopeForAtRoot_closure10.prototype = {
  45441. call$1: function(callback) {
  45442. var $async$goto = 0,
  45443. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45444. $async$self = this, t1, wasInUnknownAtRule;
  45445. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45446. if ($async$errorCode === 1)
  45447. return P._asyncRethrow($async$result, $async$completer);
  45448. while (true)
  45449. switch ($async$goto) {
  45450. case 0:
  45451. // Function start
  45452. t1 = $async$self.$this;
  45453. wasInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule;
  45454. t1._async_evaluate$_inUnknownAtRule = false;
  45455. $async$goto = 2;
  45456. return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
  45457. case 2:
  45458. // returning from await.
  45459. t1._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
  45460. // implicit return
  45461. return P._asyncReturn(null, $async$completer);
  45462. }
  45463. });
  45464. return P._asyncStartSync($async$call$1, $async$completer);
  45465. }
  45466. };
  45467. E._EvaluateVisitor_visitContentRule_closure0.prototype = {
  45468. call$0: function() {
  45469. var $async$goto = 0,
  45470. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45471. $async$returnValue, $async$self = this, t1, t2, t3, _i;
  45472. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45473. if ($async$errorCode === 1)
  45474. return P._asyncRethrow($async$result, $async$completer);
  45475. while (true)
  45476. switch ($async$goto) {
  45477. case 0:
  45478. // Function start
  45479. t1 = $async$self.content.declaration.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45480. case 3:
  45481. // for condition
  45482. if (!(_i < t2)) {
  45483. // goto after for
  45484. $async$goto = 5;
  45485. break;
  45486. }
  45487. $async$goto = 6;
  45488. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45489. case 6:
  45490. // returning from await.
  45491. case 4:
  45492. // for update
  45493. ++_i;
  45494. // goto for condition
  45495. $async$goto = 3;
  45496. break;
  45497. case 5:
  45498. // after for
  45499. // goto return
  45500. $async$goto = 1;
  45501. break;
  45502. case 1:
  45503. // return
  45504. return P._asyncReturn($async$returnValue, $async$completer);
  45505. }
  45506. });
  45507. return P._asyncStartSync($async$call$0, $async$completer);
  45508. }
  45509. };
  45510. E._EvaluateVisitor_visitDeclaration_closure0.prototype = {
  45511. call$0: function() {
  45512. var $async$goto = 0,
  45513. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45514. $async$self = this, t1, t2, t3, _i;
  45515. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45516. if ($async$errorCode === 1)
  45517. return P._asyncRethrow($async$result, $async$completer);
  45518. while (true)
  45519. switch ($async$goto) {
  45520. case 0:
  45521. // Function start
  45522. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45523. case 2:
  45524. // for condition
  45525. if (!(_i < t2)) {
  45526. // goto after for
  45527. $async$goto = 4;
  45528. break;
  45529. }
  45530. $async$goto = 5;
  45531. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45532. case 5:
  45533. // returning from await.
  45534. case 3:
  45535. // for update
  45536. ++_i;
  45537. // goto for condition
  45538. $async$goto = 2;
  45539. break;
  45540. case 4:
  45541. // after for
  45542. // implicit return
  45543. return P._asyncReturn(null, $async$completer);
  45544. }
  45545. });
  45546. return P._asyncStartSync($async$call$0, $async$completer);
  45547. }
  45548. };
  45549. E._EvaluateVisitor_visitEachRule_closure2.prototype = {
  45550. call$1: function(value) {
  45551. return this.$this._async_evaluate$_environment.setLocalVariable$3(C.JSArray_methods.get$first(this.node.variables), value.withoutSlash$0(), this.nodeForSpan);
  45552. }
  45553. };
  45554. E._EvaluateVisitor_visitEachRule_closure3.prototype = {
  45555. call$1: function(value) {
  45556. return this.$this._async_evaluate$_setMultipleVariables$3(this.node.variables, value, this.nodeForSpan);
  45557. }
  45558. };
  45559. E._EvaluateVisitor_visitEachRule_closure4.prototype = {
  45560. call$0: function() {
  45561. var _this = this,
  45562. t1 = _this.$this;
  45563. return t1._async_evaluate$_handleReturn$2(_this.list.get$asList(), new E._EvaluateVisitor_visitEachRule__closure0(t1, _this.setVariables, _this.node));
  45564. }
  45565. };
  45566. E._EvaluateVisitor_visitEachRule__closure0.prototype = {
  45567. call$1: function(element) {
  45568. var t1;
  45569. this.setVariables.call$1(element);
  45570. t1 = this.$this;
  45571. return t1._async_evaluate$_handleReturn$2(this.node.children, new E._EvaluateVisitor_visitEachRule___closure0(t1));
  45572. }
  45573. };
  45574. E._EvaluateVisitor_visitEachRule___closure0.prototype = {
  45575. call$1: function(child) {
  45576. return child.accept$1(this.$this);
  45577. }
  45578. };
  45579. E._EvaluateVisitor_visitExtendRule_closure0.prototype = {
  45580. call$0: function() {
  45581. return D.SelectorList_SelectorList$parse(B.trimAscii(this.targetText.get$value(), true), false, true, this.$this._async_evaluate$_logger);
  45582. }
  45583. };
  45584. E._EvaluateVisitor_visitAtRule_closure1.prototype = {
  45585. call$0: function() {
  45586. var $async$goto = 0,
  45587. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45588. $async$self = this, t3, _i, t1, t2;
  45589. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45590. if ($async$errorCode === 1)
  45591. return P._asyncRethrow($async$result, $async$completer);
  45592. while (true)
  45593. switch ($async$goto) {
  45594. case 0:
  45595. // Function start
  45596. t1 = $async$self.$this;
  45597. t2 = t1._async_evaluate$_styleRule;
  45598. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) || t1._async_evaluate$_inKeyframes ? 2 : 4;
  45599. break;
  45600. case 2:
  45601. // then
  45602. t2 = $async$self.node.children, t3 = t2.length, _i = 0;
  45603. case 5:
  45604. // for condition
  45605. if (!(_i < t3)) {
  45606. // goto after for
  45607. $async$goto = 7;
  45608. break;
  45609. }
  45610. $async$goto = 8;
  45611. return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
  45612. case 8:
  45613. // returning from await.
  45614. case 6:
  45615. // for update
  45616. ++_i;
  45617. // goto for condition
  45618. $async$goto = 5;
  45619. break;
  45620. case 7:
  45621. // after for
  45622. // goto join
  45623. $async$goto = 3;
  45624. break;
  45625. case 4:
  45626. // else
  45627. $async$goto = 9;
  45628. return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitAtRule__closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0);
  45629. case 9:
  45630. // returning from await.
  45631. case 3:
  45632. // join
  45633. // implicit return
  45634. return P._asyncReturn(null, $async$completer);
  45635. }
  45636. });
  45637. return P._asyncStartSync($async$call$0, $async$completer);
  45638. }
  45639. };
  45640. E._EvaluateVisitor_visitAtRule__closure0.prototype = {
  45641. call$0: function() {
  45642. var $async$goto = 0,
  45643. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45644. $async$self = this, t1, t2, t3, _i;
  45645. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45646. if ($async$errorCode === 1)
  45647. return P._asyncRethrow($async$result, $async$completer);
  45648. while (true)
  45649. switch ($async$goto) {
  45650. case 0:
  45651. // Function start
  45652. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45653. case 2:
  45654. // for condition
  45655. if (!(_i < t2)) {
  45656. // goto after for
  45657. $async$goto = 4;
  45658. break;
  45659. }
  45660. $async$goto = 5;
  45661. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45662. case 5:
  45663. // returning from await.
  45664. case 3:
  45665. // for update
  45666. ++_i;
  45667. // goto for condition
  45668. $async$goto = 2;
  45669. break;
  45670. case 4:
  45671. // after for
  45672. // implicit return
  45673. return P._asyncReturn(null, $async$completer);
  45674. }
  45675. });
  45676. return P._asyncStartSync($async$call$0, $async$completer);
  45677. }
  45678. };
  45679. E._EvaluateVisitor_visitAtRule_closure2.prototype = {
  45680. call$1: function(node) {
  45681. return !!J.getInterceptor$(node).$isCssStyleRule;
  45682. }
  45683. };
  45684. E._EvaluateVisitor_visitForRule_closure4.prototype = {
  45685. call$0: function() {
  45686. var $async$goto = 0,
  45687. $async$completer = P._makeAsyncAwaitCompleter(T.SassNumber),
  45688. $async$returnValue, $async$self = this;
  45689. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45690. if ($async$errorCode === 1)
  45691. return P._asyncRethrow($async$result, $async$completer);
  45692. while (true)
  45693. switch ($async$goto) {
  45694. case 0:
  45695. // Function start
  45696. $async$goto = 3;
  45697. return P._asyncAwait($async$self.node.from.accept$1($async$self.$this), $async$call$0);
  45698. case 3:
  45699. // returning from await.
  45700. $async$returnValue = $async$result.assertNumber$0();
  45701. // goto return
  45702. $async$goto = 1;
  45703. break;
  45704. case 1:
  45705. // return
  45706. return P._asyncReturn($async$returnValue, $async$completer);
  45707. }
  45708. });
  45709. return P._asyncStartSync($async$call$0, $async$completer);
  45710. }
  45711. };
  45712. E._EvaluateVisitor_visitForRule_closure5.prototype = {
  45713. call$0: function() {
  45714. var $async$goto = 0,
  45715. $async$completer = P._makeAsyncAwaitCompleter(T.SassNumber),
  45716. $async$returnValue, $async$self = this;
  45717. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45718. if ($async$errorCode === 1)
  45719. return P._asyncRethrow($async$result, $async$completer);
  45720. while (true)
  45721. switch ($async$goto) {
  45722. case 0:
  45723. // Function start
  45724. $async$goto = 3;
  45725. return P._asyncAwait($async$self.node.to.accept$1($async$self.$this), $async$call$0);
  45726. case 3:
  45727. // returning from await.
  45728. $async$returnValue = $async$result.assertNumber$0();
  45729. // goto return
  45730. $async$goto = 1;
  45731. break;
  45732. case 1:
  45733. // return
  45734. return P._asyncReturn($async$returnValue, $async$completer);
  45735. }
  45736. });
  45737. return P._asyncStartSync($async$call$0, $async$completer);
  45738. }
  45739. };
  45740. E._EvaluateVisitor_visitForRule_closure6.prototype = {
  45741. call$0: function() {
  45742. var t1 = this.toNumber,
  45743. t2 = t1.numeratorUnits;
  45744. t1 = t1.denominatorUnits;
  45745. return T.SassNumber$withUnits(this.fromNumber.valueInUnits$2(t2, t1), t1, t2).assertInt$0();
  45746. }
  45747. };
  45748. E._EvaluateVisitor_visitForRule_closure7.prototype = {
  45749. call$0: function() {
  45750. return this.toNumber.assertInt$0();
  45751. }
  45752. };
  45753. E._EvaluateVisitor_visitForRule_closure8.prototype = {
  45754. call$0: function() {
  45755. var $async$goto = 0,
  45756. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  45757. $async$returnValue, $async$self = this, i, t3, t4, t5, t6, result, t1, t2, nodeForSpan;
  45758. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45759. if ($async$errorCode === 1)
  45760. return P._asyncRethrow($async$result, $async$completer);
  45761. while (true)
  45762. switch ($async$goto) {
  45763. case 0:
  45764. // Function start
  45765. t1 = $async$self.$this;
  45766. t2 = $async$self.node;
  45767. nodeForSpan = t1._async_evaluate$_expressionNode$1(t2.from);
  45768. i = $async$self.from, t3 = $async$self._box_0, t4 = $async$self.direction, t5 = t2.children, t2 = t2.variable;
  45769. case 3:
  45770. // for condition
  45771. if (!(i !== t3.to)) {
  45772. // goto after for
  45773. $async$goto = 5;
  45774. break;
  45775. }
  45776. t6 = t1._async_evaluate$_environment;
  45777. t6.setLocalVariable$3(t2, new T.SassNumber(i, C.List_empty, C.List_empty, null), nodeForSpan);
  45778. $async$goto = 6;
  45779. return P._asyncAwait(t1._async_evaluate$_handleReturn$2(t5, new E._EvaluateVisitor_visitForRule__closure0(t1)), $async$call$0);
  45780. case 6:
  45781. // returning from await.
  45782. result = $async$result;
  45783. if (result != null) {
  45784. $async$returnValue = result;
  45785. // goto return
  45786. $async$goto = 1;
  45787. break;
  45788. }
  45789. case 4:
  45790. // for update
  45791. i += t4;
  45792. // goto for condition
  45793. $async$goto = 3;
  45794. break;
  45795. case 5:
  45796. // after for
  45797. // goto return
  45798. $async$goto = 1;
  45799. break;
  45800. case 1:
  45801. // return
  45802. return P._asyncReturn($async$returnValue, $async$completer);
  45803. }
  45804. });
  45805. return P._asyncStartSync($async$call$0, $async$completer);
  45806. }
  45807. };
  45808. E._EvaluateVisitor_visitForRule__closure0.prototype = {
  45809. call$1: function(child) {
  45810. return child.accept$1(this.$this);
  45811. }
  45812. };
  45813. E._EvaluateVisitor_visitForwardRule_closure0.prototype = {
  45814. call$1: function(module) {
  45815. this.$this._async_evaluate$_environment.forwardModule$2(module, this.node);
  45816. }
  45817. };
  45818. E._EvaluateVisitor_visitIfRule_closure0.prototype = {
  45819. call$0: function() {
  45820. var t1 = this.$this;
  45821. return t1._async_evaluate$_handleReturn$2(this._box_0.clause.children, new E._EvaluateVisitor_visitIfRule__closure0(t1));
  45822. }
  45823. };
  45824. E._EvaluateVisitor_visitIfRule__closure0.prototype = {
  45825. call$1: function(child) {
  45826. return child.accept$1(this.$this);
  45827. }
  45828. };
  45829. E._EvaluateVisitor__visitDynamicImport_closure0.prototype = {
  45830. call$0: function() {
  45831. return this.$call$body$_EvaluateVisitor__visitDynamicImport_closure();
  45832. },
  45833. $call$body$_EvaluateVisitor__visitDynamicImport_closure: function() {
  45834. var $async$goto = 0,
  45835. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45836. $async$returnValue, $async$self = this, url, t3, t4, environment, module, visitor, _box_0, t1, t2, result, importer, stylesheet;
  45837. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45838. if ($async$errorCode === 1)
  45839. return P._asyncRethrow($async$result, $async$completer);
  45840. while (true)
  45841. switch ($async$goto) {
  45842. case 0:
  45843. // Function start
  45844. _box_0 = {};
  45845. t1 = $async$self.$this;
  45846. t2 = $async$self.$import;
  45847. $async$goto = 3;
  45848. return P._asyncAwait(t1._async_evaluate$_loadStylesheet$2(t2.url, t2.span), $async$call$0);
  45849. case 3:
  45850. // returning from await.
  45851. result = $async$result;
  45852. importer = result.item1;
  45853. stylesheet = result.item2;
  45854. t2 = stylesheet.span;
  45855. url = t2.file.url;
  45856. t3 = t1._async_evaluate$_activeModules;
  45857. if (!t3.add$1(0, url))
  45858. throw H.wrapException(t1._async_evaluate$_exception$1("This file is already being loaded."));
  45859. t3.add$1(0, url);
  45860. t4 = new P.UnmodifiableListView(stylesheet._uses, [T.UseRule]);
  45861. if (t4.get$length(t4) === 0) {
  45862. t4 = new P.UnmodifiableListView(stylesheet._forwards, [L.ForwardRule]);
  45863. t4 = t4.get$length(t4) === 0;
  45864. } else
  45865. t4 = false;
  45866. $async$goto = t4 ? 4 : 5;
  45867. break;
  45868. case 4:
  45869. // then
  45870. $async$goto = 6;
  45871. return P._asyncAwait(t1._async_evaluate$_withEnvironment$1$2(t1._async_evaluate$_environment.global$0(), new E._EvaluateVisitor__visitDynamicImport__closure1(t1, importer, stylesheet), P.Null), $async$call$0);
  45872. case 6:
  45873. // returning from await.
  45874. t3.remove$1(0, url);
  45875. // goto return
  45876. $async$goto = 1;
  45877. break;
  45878. case 5:
  45879. // join
  45880. _box_0.children = null;
  45881. environment = t1._async_evaluate$_environment.global$0();
  45882. $async$goto = 7;
  45883. return P._asyncAwait(t1._async_evaluate$_withEnvironment$1$2(environment, new E._EvaluateVisitor__visitDynamicImport__closure2(_box_0, t1, importer, stylesheet), P.Null), $async$call$0);
  45884. case 7:
  45885. // returning from await.
  45886. module = Q._EnvironmentModule__EnvironmentModule0(environment, new V.CssStylesheet(new P.UnmodifiableListView(C.List_empty1, [B.CssNode]), t2), C.C_EmptyExtender, environment._async_environment$_forwardedModules);
  45887. t1._async_evaluate$_environment.importForwards$1(module);
  45888. $async$goto = module.transitivelyContainsCss ? 8 : 9;
  45889. break;
  45890. case 8:
  45891. // then
  45892. $async$goto = 10;
  45893. return P._asyncAwait(t1._async_evaluate$_combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1), $async$call$0);
  45894. case 10:
  45895. // returning from await.
  45896. case 9:
  45897. // join
  45898. visitor = new E._ImportedCssVisitor0(t1);
  45899. for (t1 = J.get$iterator$ax(_box_0.children); t1.moveNext$0();)
  45900. t1.get$current(t1).accept$1(visitor);
  45901. t3.remove$1(0, url);
  45902. case 1:
  45903. // return
  45904. return P._asyncReturn($async$returnValue, $async$completer);
  45905. }
  45906. });
  45907. return P._asyncStartSync($async$call$0, $async$completer);
  45908. }
  45909. };
  45910. E._EvaluateVisitor__visitDynamicImport__closure1.prototype = {
  45911. call$0: function() {
  45912. var $async$goto = 0,
  45913. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45914. $async$self = this, t2, t1, oldImporter, oldStylesheet;
  45915. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45916. if ($async$errorCode === 1)
  45917. return P._asyncRethrow($async$result, $async$completer);
  45918. while (true)
  45919. switch ($async$goto) {
  45920. case 0:
  45921. // Function start
  45922. t1 = $async$self.$this;
  45923. oldImporter = t1._async_evaluate$_importer;
  45924. oldStylesheet = t1._async_evaluate$_stylesheet;
  45925. t1._async_evaluate$_importer = $async$self.importer;
  45926. t2 = $async$self.stylesheet;
  45927. t1._async_evaluate$_stylesheet = t2;
  45928. $async$goto = 2;
  45929. return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0);
  45930. case 2:
  45931. // returning from await.
  45932. t1._async_evaluate$_importer = oldImporter;
  45933. t1._async_evaluate$_stylesheet = oldStylesheet;
  45934. // implicit return
  45935. return P._asyncReturn(null, $async$completer);
  45936. }
  45937. });
  45938. return P._asyncStartSync($async$call$0, $async$completer);
  45939. }
  45940. };
  45941. E._EvaluateVisitor__visitDynamicImport__closure2.prototype = {
  45942. call$0: function() {
  45943. var $async$goto = 0,
  45944. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45945. $async$self = this, t2, t3, t4, t1, oldImporter, oldStylesheet, oldRoot, oldParent, oldEndOfImports, oldOutOfOrderImports;
  45946. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45947. if ($async$errorCode === 1)
  45948. return P._asyncRethrow($async$result, $async$completer);
  45949. while (true)
  45950. switch ($async$goto) {
  45951. case 0:
  45952. // Function start
  45953. t1 = $async$self.$this;
  45954. oldImporter = t1._async_evaluate$_importer;
  45955. oldStylesheet = t1._async_evaluate$_stylesheet;
  45956. oldRoot = t1._async_evaluate$_root;
  45957. oldParent = t1._async_evaluate$_parent;
  45958. oldEndOfImports = t1._async_evaluate$_endOfImports;
  45959. oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports;
  45960. t1._async_evaluate$_importer = $async$self.importer;
  45961. t2 = t1._async_evaluate$_stylesheet = $async$self.stylesheet;
  45962. t3 = B.ModifiableCssNode;
  45963. t4 = H.setRuntimeTypeInfo([], [t3]);
  45964. t1._async_evaluate$_parent = t1._async_evaluate$_root = new V.ModifiableCssStylesheet(t2.span, new P.UnmodifiableListView(t4, [t3]), t4);
  45965. t1._async_evaluate$_endOfImports = 0;
  45966. t1._async_evaluate$_outOfOrderImports = null;
  45967. $async$goto = 2;
  45968. return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0);
  45969. case 2:
  45970. // returning from await.
  45971. $async$self._box_0.children = t1._async_evaluate$_addOutOfOrderImports$0();
  45972. t1._async_evaluate$_importer = oldImporter;
  45973. t1._async_evaluate$_stylesheet = oldStylesheet;
  45974. t1._async_evaluate$_root = oldRoot;
  45975. t1._async_evaluate$_parent = oldParent;
  45976. t1._async_evaluate$_endOfImports = oldEndOfImports;
  45977. t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports;
  45978. // implicit return
  45979. return P._asyncReturn(null, $async$completer);
  45980. }
  45981. });
  45982. return P._asyncStartSync($async$call$0, $async$completer);
  45983. }
  45984. };
  45985. E._EvaluateVisitor_visitIncludeRule_closure1.prototype = {
  45986. call$0: function() {
  45987. var t1 = this.node;
  45988. return this.$this._async_evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace);
  45989. }
  45990. };
  45991. E._EvaluateVisitor_visitIncludeRule_closure2.prototype = {
  45992. call$0: function() {
  45993. var $async$goto = 0,
  45994. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45995. $async$returnValue, $async$self = this, t1;
  45996. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45997. if ($async$errorCode === 1)
  45998. return P._asyncRethrow($async$result, $async$completer);
  45999. while (true)
  46000. switch ($async$goto) {
  46001. case 0:
  46002. // Function start
  46003. t1 = $async$self.$this;
  46004. $async$goto = 3;
  46005. return P._asyncAwait(t1._async_evaluate$_environment.withContent$2($async$self.contentCallable, new E._EvaluateVisitor_visitIncludeRule__closure0(t1, $async$self.mixin, $async$self.node)), $async$call$0);
  46006. case 3:
  46007. // returning from await.
  46008. // goto return
  46009. $async$goto = 1;
  46010. break;
  46011. case 1:
  46012. // return
  46013. return P._asyncReturn($async$returnValue, $async$completer);
  46014. }
  46015. });
  46016. return P._asyncStartSync($async$call$0, $async$completer);
  46017. }
  46018. };
  46019. E._EvaluateVisitor_visitIncludeRule__closure0.prototype = {
  46020. call$0: function() {
  46021. var $async$goto = 0,
  46022. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46023. $async$returnValue, $async$self = this, t1;
  46024. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46025. if ($async$errorCode === 1)
  46026. return P._asyncRethrow($async$result, $async$completer);
  46027. while (true)
  46028. switch ($async$goto) {
  46029. case 0:
  46030. // Function start
  46031. t1 = $async$self.$this;
  46032. $async$goto = 3;
  46033. return P._asyncAwait(t1._async_evaluate$_environment.asMixin$1(new E._EvaluateVisitor_visitIncludeRule___closure0(t1, $async$self.mixin, $async$self.node)), $async$call$0);
  46034. case 3:
  46035. // returning from await.
  46036. // goto return
  46037. $async$goto = 1;
  46038. break;
  46039. case 1:
  46040. // return
  46041. return P._asyncReturn($async$returnValue, $async$completer);
  46042. }
  46043. });
  46044. return P._asyncStartSync($async$call$0, $async$completer);
  46045. }
  46046. };
  46047. E._EvaluateVisitor_visitIncludeRule___closure0.prototype = {
  46048. call$0: function() {
  46049. var $async$goto = 0,
  46050. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46051. $async$self = this, t1, t2, t3, t4, t5, _i;
  46052. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46053. if ($async$errorCode === 1)
  46054. return P._asyncRethrow($async$result, $async$completer);
  46055. while (true)
  46056. switch ($async$goto) {
  46057. case 0:
  46058. // Function start
  46059. t1 = $async$self.mixin.declaration.children, t2 = t1.length, t3 = $async$self.$this, t4 = $async$self.node, t5 = F.Value, _i = 0;
  46060. case 2:
  46061. // for condition
  46062. if (!(_i < t2)) {
  46063. // goto after for
  46064. $async$goto = 4;
  46065. break;
  46066. }
  46067. $async$goto = 5;
  46068. return P._asyncAwait(t3._async_evaluate$_addErrorSpan$1$2(t4, new E._EvaluateVisitor_visitIncludeRule____closure0(t3, t1[_i]), t5), $async$call$0);
  46069. case 5:
  46070. // returning from await.
  46071. case 3:
  46072. // for update
  46073. ++_i;
  46074. // goto for condition
  46075. $async$goto = 2;
  46076. break;
  46077. case 4:
  46078. // after for
  46079. // implicit return
  46080. return P._asyncReturn(null, $async$completer);
  46081. }
  46082. });
  46083. return P._asyncStartSync($async$call$0, $async$completer);
  46084. }
  46085. };
  46086. E._EvaluateVisitor_visitIncludeRule____closure0.prototype = {
  46087. call$0: function() {
  46088. return this.statement.accept$1(this.$this);
  46089. }
  46090. };
  46091. E._EvaluateVisitor_visitMediaRule_closure1.prototype = {
  46092. call$0: function() {
  46093. var $async$goto = 0,
  46094. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46095. $async$self = this, t1, t2;
  46096. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46097. if ($async$errorCode === 1)
  46098. return P._asyncRethrow($async$result, $async$completer);
  46099. while (true)
  46100. switch ($async$goto) {
  46101. case 0:
  46102. // Function start
  46103. t1 = $async$self.$this;
  46104. t2 = $async$self.mergedQueries;
  46105. if (t2 == null)
  46106. t2 = $async$self.queries;
  46107. $async$goto = 2;
  46108. return P._asyncAwait(t1._async_evaluate$_withMediaQueries$1$2(t2, new E._EvaluateVisitor_visitMediaRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  46109. case 2:
  46110. // returning from await.
  46111. // implicit return
  46112. return P._asyncReturn(null, $async$completer);
  46113. }
  46114. });
  46115. return P._asyncStartSync($async$call$0, $async$completer);
  46116. }
  46117. };
  46118. E._EvaluateVisitor_visitMediaRule__closure0.prototype = {
  46119. call$0: function() {
  46120. var $async$goto = 0,
  46121. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46122. $async$self = this, t3, _i, t1, t2;
  46123. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46124. if ($async$errorCode === 1)
  46125. return P._asyncRethrow($async$result, $async$completer);
  46126. while (true)
  46127. switch ($async$goto) {
  46128. case 0:
  46129. // Function start
  46130. t1 = $async$self.$this;
  46131. t2 = t1._async_evaluate$_styleRule;
  46132. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  46133. break;
  46134. case 2:
  46135. // then
  46136. t2 = $async$self.node.children, t3 = t2.length, _i = 0;
  46137. case 5:
  46138. // for condition
  46139. if (!(_i < t3)) {
  46140. // goto after for
  46141. $async$goto = 7;
  46142. break;
  46143. }
  46144. $async$goto = 8;
  46145. return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
  46146. case 8:
  46147. // returning from await.
  46148. case 6:
  46149. // for update
  46150. ++_i;
  46151. // goto for condition
  46152. $async$goto = 5;
  46153. break;
  46154. case 7:
  46155. // after for
  46156. // goto join
  46157. $async$goto = 3;
  46158. break;
  46159. case 4:
  46160. // else
  46161. $async$goto = 9;
  46162. return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitMediaRule___closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0);
  46163. case 9:
  46164. // returning from await.
  46165. case 3:
  46166. // join
  46167. // implicit return
  46168. return P._asyncReturn(null, $async$completer);
  46169. }
  46170. });
  46171. return P._asyncStartSync($async$call$0, $async$completer);
  46172. }
  46173. };
  46174. E._EvaluateVisitor_visitMediaRule___closure0.prototype = {
  46175. call$0: function() {
  46176. var $async$goto = 0,
  46177. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46178. $async$self = this, t1, t2, t3, _i;
  46179. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46180. if ($async$errorCode === 1)
  46181. return P._asyncRethrow($async$result, $async$completer);
  46182. while (true)
  46183. switch ($async$goto) {
  46184. case 0:
  46185. // Function start
  46186. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  46187. case 2:
  46188. // for condition
  46189. if (!(_i < t2)) {
  46190. // goto after for
  46191. $async$goto = 4;
  46192. break;
  46193. }
  46194. $async$goto = 5;
  46195. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  46196. case 5:
  46197. // returning from await.
  46198. case 3:
  46199. // for update
  46200. ++_i;
  46201. // goto for condition
  46202. $async$goto = 2;
  46203. break;
  46204. case 4:
  46205. // after for
  46206. // implicit return
  46207. return P._asyncReturn(null, $async$completer);
  46208. }
  46209. });
  46210. return P._asyncStartSync($async$call$0, $async$completer);
  46211. }
  46212. };
  46213. E._EvaluateVisitor_visitMediaRule_closure2.prototype = {
  46214. call$1: function(node) {
  46215. var t1 = J.getInterceptor$(node);
  46216. if (!t1.$isCssStyleRule)
  46217. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  46218. else
  46219. t1 = true;
  46220. return t1;
  46221. }
  46222. };
  46223. E._EvaluateVisitor__visitMediaQueries_closure0.prototype = {
  46224. call$0: function() {
  46225. var t1 = S.SpanScanner$(this.resolved, null);
  46226. return new F.MediaQueryParser(t1, this.$this._async_evaluate$_logger).parse$0();
  46227. }
  46228. };
  46229. E._EvaluateVisitor_visitStyleRule_closure6.prototype = {
  46230. call$0: function() {
  46231. var t1 = S.SpanScanner$(this.selectorText.get$value(), null);
  46232. return new E.KeyframeSelectorParser(t1, this.$this._async_evaluate$_logger).parse$0();
  46233. }
  46234. };
  46235. E._EvaluateVisitor_visitStyleRule_closure7.prototype = {
  46236. call$0: function() {
  46237. var $async$goto = 0,
  46238. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46239. $async$self = this, t1, t2, t3, _i;
  46240. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46241. if ($async$errorCode === 1)
  46242. return P._asyncRethrow($async$result, $async$completer);
  46243. while (true)
  46244. switch ($async$goto) {
  46245. case 0:
  46246. // Function start
  46247. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  46248. case 2:
  46249. // for condition
  46250. if (!(_i < t2)) {
  46251. // goto after for
  46252. $async$goto = 4;
  46253. break;
  46254. }
  46255. $async$goto = 5;
  46256. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  46257. case 5:
  46258. // returning from await.
  46259. case 3:
  46260. // for update
  46261. ++_i;
  46262. // goto for condition
  46263. $async$goto = 2;
  46264. break;
  46265. case 4:
  46266. // after for
  46267. // implicit return
  46268. return P._asyncReturn(null, $async$completer);
  46269. }
  46270. });
  46271. return P._asyncStartSync($async$call$0, $async$completer);
  46272. }
  46273. };
  46274. E._EvaluateVisitor_visitStyleRule_closure8.prototype = {
  46275. call$1: function(node) {
  46276. return !!J.getInterceptor$(node).$isCssStyleRule;
  46277. }
  46278. };
  46279. E._EvaluateVisitor_visitStyleRule_closure9.prototype = {
  46280. call$0: function() {
  46281. var t1 = this.selectorText.get$value(),
  46282. t2 = this.$this,
  46283. t3 = !t2._async_evaluate$_stylesheet.plainCss;
  46284. return D.SelectorList_SelectorList$parse(t1, t3, t3, t2._async_evaluate$_logger);
  46285. }
  46286. };
  46287. E._EvaluateVisitor_visitStyleRule_closure10.prototype = {
  46288. call$0: function() {
  46289. var t1 = this._box_0.parsedSelector,
  46290. t2 = this.$this,
  46291. t3 = t2._async_evaluate$_styleRule;
  46292. t3 = t3 == null ? null : t3.originalSelector;
  46293. return t1.resolveParentSelectors$2$implicitParent(t3, !t2._async_evaluate$_atRootExcludingStyleRule);
  46294. }
  46295. };
  46296. E._EvaluateVisitor_visitStyleRule_closure11.prototype = {
  46297. call$0: function() {
  46298. var $async$goto = 0,
  46299. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46300. $async$self = this, t1;
  46301. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46302. if ($async$errorCode === 1)
  46303. return P._asyncRethrow($async$result, $async$completer);
  46304. while (true)
  46305. switch ($async$goto) {
  46306. case 0:
  46307. // Function start
  46308. t1 = $async$self.$this;
  46309. $async$goto = 2;
  46310. return P._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new E._EvaluateVisitor_visitStyleRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  46311. case 2:
  46312. // returning from await.
  46313. // implicit return
  46314. return P._asyncReturn(null, $async$completer);
  46315. }
  46316. });
  46317. return P._asyncStartSync($async$call$0, $async$completer);
  46318. }
  46319. };
  46320. E._EvaluateVisitor_visitStyleRule__closure0.prototype = {
  46321. call$0: function() {
  46322. var $async$goto = 0,
  46323. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46324. $async$self = this, t1, t2, t3, _i;
  46325. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46326. if ($async$errorCode === 1)
  46327. return P._asyncRethrow($async$result, $async$completer);
  46328. while (true)
  46329. switch ($async$goto) {
  46330. case 0:
  46331. // Function start
  46332. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  46333. case 2:
  46334. // for condition
  46335. if (!(_i < t2)) {
  46336. // goto after for
  46337. $async$goto = 4;
  46338. break;
  46339. }
  46340. $async$goto = 5;
  46341. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  46342. case 5:
  46343. // returning from await.
  46344. case 3:
  46345. // for update
  46346. ++_i;
  46347. // goto for condition
  46348. $async$goto = 2;
  46349. break;
  46350. case 4:
  46351. // after for
  46352. // implicit return
  46353. return P._asyncReturn(null, $async$completer);
  46354. }
  46355. });
  46356. return P._asyncStartSync($async$call$0, $async$completer);
  46357. }
  46358. };
  46359. E._EvaluateVisitor_visitStyleRule_closure12.prototype = {
  46360. call$1: function(node) {
  46361. return !!J.getInterceptor$(node).$isCssStyleRule;
  46362. }
  46363. };
  46364. E._EvaluateVisitor_visitSupportsRule_closure1.prototype = {
  46365. call$0: function() {
  46366. var $async$goto = 0,
  46367. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46368. $async$self = this, t3, _i, t1, t2;
  46369. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46370. if ($async$errorCode === 1)
  46371. return P._asyncRethrow($async$result, $async$completer);
  46372. while (true)
  46373. switch ($async$goto) {
  46374. case 0:
  46375. // Function start
  46376. t1 = $async$self.$this;
  46377. t2 = t1._async_evaluate$_styleRule;
  46378. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  46379. break;
  46380. case 2:
  46381. // then
  46382. t2 = $async$self.node.children, t3 = t2.length, _i = 0;
  46383. case 5:
  46384. // for condition
  46385. if (!(_i < t3)) {
  46386. // goto after for
  46387. $async$goto = 7;
  46388. break;
  46389. }
  46390. $async$goto = 8;
  46391. return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
  46392. case 8:
  46393. // returning from await.
  46394. case 6:
  46395. // for update
  46396. ++_i;
  46397. // goto for condition
  46398. $async$goto = 5;
  46399. break;
  46400. case 7:
  46401. // after for
  46402. // goto join
  46403. $async$goto = 3;
  46404. break;
  46405. case 4:
  46406. // else
  46407. $async$goto = 9;
  46408. return P._asyncAwait(t1._async_evaluate$_withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitSupportsRule__closure0(t1, $async$self.node), X.ModifiableCssStyleRule, P.Null), $async$call$0);
  46409. case 9:
  46410. // returning from await.
  46411. case 3:
  46412. // join
  46413. // implicit return
  46414. return P._asyncReturn(null, $async$completer);
  46415. }
  46416. });
  46417. return P._asyncStartSync($async$call$0, $async$completer);
  46418. }
  46419. };
  46420. E._EvaluateVisitor_visitSupportsRule__closure0.prototype = {
  46421. call$0: function() {
  46422. var $async$goto = 0,
  46423. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46424. $async$self = this, t1, t2, t3, _i;
  46425. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46426. if ($async$errorCode === 1)
  46427. return P._asyncRethrow($async$result, $async$completer);
  46428. while (true)
  46429. switch ($async$goto) {
  46430. case 0:
  46431. // Function start
  46432. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  46433. case 2:
  46434. // for condition
  46435. if (!(_i < t2)) {
  46436. // goto after for
  46437. $async$goto = 4;
  46438. break;
  46439. }
  46440. $async$goto = 5;
  46441. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  46442. case 5:
  46443. // returning from await.
  46444. case 3:
  46445. // for update
  46446. ++_i;
  46447. // goto for condition
  46448. $async$goto = 2;
  46449. break;
  46450. case 4:
  46451. // after for
  46452. // implicit return
  46453. return P._asyncReturn(null, $async$completer);
  46454. }
  46455. });
  46456. return P._asyncStartSync($async$call$0, $async$completer);
  46457. }
  46458. };
  46459. E._EvaluateVisitor_visitSupportsRule_closure2.prototype = {
  46460. call$1: function(node) {
  46461. return !!J.getInterceptor$(node).$isCssStyleRule;
  46462. }
  46463. };
  46464. E._EvaluateVisitor_visitVariableDeclaration_closure2.prototype = {
  46465. call$0: function() {
  46466. var t1 = this.override;
  46467. this.$this._async_evaluate$_environment.setVariable$4$global(this.node.name, t1.value, t1.assignmentNode, true);
  46468. }
  46469. };
  46470. E._EvaluateVisitor_visitVariableDeclaration_closure3.prototype = {
  46471. call$0: function() {
  46472. var t1 = this.node;
  46473. return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  46474. }
  46475. };
  46476. E._EvaluateVisitor_visitVariableDeclaration_closure4.prototype = {
  46477. call$0: function() {
  46478. var t1 = this.$this,
  46479. t2 = this.node;
  46480. t1._async_evaluate$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._async_evaluate$_expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
  46481. }
  46482. };
  46483. E._EvaluateVisitor_visitUseRule_closure0.prototype = {
  46484. call$1: function(module) {
  46485. this.$this._async_evaluate$_environment.addModule$2$namespace(module, this.node.namespace);
  46486. }
  46487. };
  46488. E._EvaluateVisitor_visitWarnRule_closure0.prototype = {
  46489. call$0: function() {
  46490. return this.node.expression.accept$1(this.$this);
  46491. }
  46492. };
  46493. E._EvaluateVisitor_visitWhileRule_closure0.prototype = {
  46494. call$0: function() {
  46495. var $async$goto = 0,
  46496. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  46497. $async$returnValue, $async$self = this, t1, t2, t3, result;
  46498. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46499. if ($async$errorCode === 1)
  46500. return P._asyncRethrow($async$result, $async$completer);
  46501. while (true)
  46502. switch ($async$goto) {
  46503. case 0:
  46504. // Function start
  46505. t1 = $async$self.node, t2 = t1.condition, t3 = $async$self.$this, t1 = t1.children;
  46506. case 3:
  46507. // for condition
  46508. $async$goto = 5;
  46509. return P._asyncAwait(t2.accept$1(t3), $async$call$0);
  46510. case 5:
  46511. // returning from await.
  46512. if (!$async$result.get$isTruthy()) {
  46513. // goto after for
  46514. $async$goto = 4;
  46515. break;
  46516. }
  46517. $async$goto = 6;
  46518. return P._asyncAwait(t3._async_evaluate$_handleReturn$2(t1, new E._EvaluateVisitor_visitWhileRule__closure0(t3)), $async$call$0);
  46519. case 6:
  46520. // returning from await.
  46521. result = $async$result;
  46522. if (result != null) {
  46523. $async$returnValue = result;
  46524. // goto return
  46525. $async$goto = 1;
  46526. break;
  46527. }
  46528. // goto for condition
  46529. $async$goto = 3;
  46530. break;
  46531. case 4:
  46532. // after for
  46533. // goto return
  46534. $async$goto = 1;
  46535. break;
  46536. case 1:
  46537. // return
  46538. return P._asyncReturn($async$returnValue, $async$completer);
  46539. }
  46540. });
  46541. return P._asyncStartSync($async$call$0, $async$completer);
  46542. }
  46543. };
  46544. E._EvaluateVisitor_visitWhileRule__closure0.prototype = {
  46545. call$1: function(child) {
  46546. return child.accept$1(this.$this);
  46547. }
  46548. };
  46549. E._EvaluateVisitor_visitBinaryOperationExpression_closure0.prototype = {
  46550. call$0: function() {
  46551. var $async$goto = 0,
  46552. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  46553. $async$returnValue, $async$self = this, right, result, t1, t2, left, $async$temp1, $async$temp2;
  46554. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46555. if ($async$errorCode === 1)
  46556. return P._asyncRethrow($async$result, $async$completer);
  46557. while (true)
  46558. switch ($async$goto) {
  46559. case 0:
  46560. // Function start
  46561. t1 = $async$self.node;
  46562. t2 = $async$self.$this;
  46563. $async$goto = 3;
  46564. return P._asyncAwait(t1.left.accept$1(t2), $async$call$0);
  46565. case 3:
  46566. // returning from await.
  46567. left = $async$result;
  46568. case 4:
  46569. // switch
  46570. switch (t1.operator) {
  46571. case C.BinaryOperator_kjl:
  46572. // goto case
  46573. $async$goto = 6;
  46574. break;
  46575. case C.BinaryOperator_or_or_1:
  46576. // goto case
  46577. $async$goto = 7;
  46578. break;
  46579. case C.BinaryOperator_and_and_2:
  46580. // goto case
  46581. $async$goto = 8;
  46582. break;
  46583. case C.BinaryOperator_YlX:
  46584. // goto case
  46585. $async$goto = 9;
  46586. break;
  46587. case C.BinaryOperator_i5H:
  46588. // goto case
  46589. $async$goto = 10;
  46590. break;
  46591. case C.BinaryOperator_AcR:
  46592. // goto case
  46593. $async$goto = 11;
  46594. break;
  46595. case C.BinaryOperator_1da:
  46596. // goto case
  46597. $async$goto = 12;
  46598. break;
  46599. case C.BinaryOperator_8qt:
  46600. // goto case
  46601. $async$goto = 13;
  46602. break;
  46603. case C.BinaryOperator_33h:
  46604. // goto case
  46605. $async$goto = 14;
  46606. break;
  46607. case C.BinaryOperator_AcR0:
  46608. // goto case
  46609. $async$goto = 15;
  46610. break;
  46611. case C.BinaryOperator_iyO:
  46612. // goto case
  46613. $async$goto = 16;
  46614. break;
  46615. case C.BinaryOperator_O1M:
  46616. // goto case
  46617. $async$goto = 17;
  46618. break;
  46619. case C.BinaryOperator_RTB:
  46620. // goto case
  46621. $async$goto = 18;
  46622. break;
  46623. case C.BinaryOperator_2ad:
  46624. // goto case
  46625. $async$goto = 19;
  46626. break;
  46627. default:
  46628. // goto default
  46629. $async$goto = 20;
  46630. break;
  46631. }
  46632. break;
  46633. case 6:
  46634. // case
  46635. $async$goto = 21;
  46636. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46637. case 21:
  46638. // returning from await.
  46639. right = $async$result;
  46640. left.toString;
  46641. t1 = N.serializeValue(left, false, true) + "=";
  46642. right.toString;
  46643. $async$returnValue = new D.SassString(t1 + N.serializeValue(right, false, true), false);
  46644. // goto return
  46645. $async$goto = 1;
  46646. break;
  46647. case 7:
  46648. // case
  46649. $async$goto = left.get$isTruthy() ? 22 : 24;
  46650. break;
  46651. case 22:
  46652. // then
  46653. $async$result = left;
  46654. // goto join
  46655. $async$goto = 23;
  46656. break;
  46657. case 24:
  46658. // else
  46659. $async$goto = 25;
  46660. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46661. case 25:
  46662. // returning from await.
  46663. case 23:
  46664. // join
  46665. $async$returnValue = $async$result;
  46666. // goto return
  46667. $async$goto = 1;
  46668. break;
  46669. case 8:
  46670. // case
  46671. $async$goto = left.get$isTruthy() ? 26 : 28;
  46672. break;
  46673. case 26:
  46674. // then
  46675. $async$goto = 29;
  46676. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46677. case 29:
  46678. // returning from await.
  46679. // goto join
  46680. $async$goto = 27;
  46681. break;
  46682. case 28:
  46683. // else
  46684. $async$result = left;
  46685. case 27:
  46686. // join
  46687. $async$returnValue = $async$result;
  46688. // goto return
  46689. $async$goto = 1;
  46690. break;
  46691. case 9:
  46692. // case
  46693. $async$temp1 = J;
  46694. $async$temp2 = left;
  46695. $async$goto = 30;
  46696. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46697. case 30:
  46698. // returning from await.
  46699. $async$returnValue = $async$temp1.$eq$($async$temp2, $async$result) ? C.SassBoolean_true : C.SassBoolean_false;
  46700. // goto return
  46701. $async$goto = 1;
  46702. break;
  46703. case 10:
  46704. // case
  46705. $async$temp1 = J;
  46706. $async$temp2 = left;
  46707. $async$goto = 31;
  46708. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46709. case 31:
  46710. // returning from await.
  46711. $async$returnValue = !$async$temp1.$eq$($async$temp2, $async$result) ? C.SassBoolean_true : C.SassBoolean_false;
  46712. // goto return
  46713. $async$goto = 1;
  46714. break;
  46715. case 11:
  46716. // case
  46717. $async$temp1 = left;
  46718. $async$goto = 32;
  46719. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46720. case 32:
  46721. // returning from await.
  46722. $async$returnValue = $async$temp1.greaterThan$1($async$result);
  46723. // goto return
  46724. $async$goto = 1;
  46725. break;
  46726. case 12:
  46727. // case
  46728. $async$temp1 = left;
  46729. $async$goto = 33;
  46730. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46731. case 33:
  46732. // returning from await.
  46733. $async$returnValue = $async$temp1.greaterThanOrEquals$1($async$result);
  46734. // goto return
  46735. $async$goto = 1;
  46736. break;
  46737. case 13:
  46738. // case
  46739. $async$temp1 = left;
  46740. $async$goto = 34;
  46741. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46742. case 34:
  46743. // returning from await.
  46744. $async$returnValue = $async$temp1.lessThan$1($async$result);
  46745. // goto return
  46746. $async$goto = 1;
  46747. break;
  46748. case 14:
  46749. // case
  46750. $async$temp1 = left;
  46751. $async$goto = 35;
  46752. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46753. case 35:
  46754. // returning from await.
  46755. $async$returnValue = $async$temp1.lessThanOrEquals$1($async$result);
  46756. // goto return
  46757. $async$goto = 1;
  46758. break;
  46759. case 15:
  46760. // case
  46761. $async$temp1 = left;
  46762. $async$goto = 36;
  46763. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46764. case 36:
  46765. // returning from await.
  46766. $async$returnValue = $async$temp1.plus$1($async$result);
  46767. // goto return
  46768. $async$goto = 1;
  46769. break;
  46770. case 16:
  46771. // case
  46772. $async$temp1 = left;
  46773. $async$goto = 37;
  46774. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46775. case 37:
  46776. // returning from await.
  46777. $async$returnValue = $async$temp1.minus$1($async$result);
  46778. // goto return
  46779. $async$goto = 1;
  46780. break;
  46781. case 17:
  46782. // case
  46783. $async$temp1 = left;
  46784. $async$goto = 38;
  46785. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46786. case 38:
  46787. // returning from await.
  46788. $async$returnValue = $async$temp1.times$1($async$result);
  46789. // goto return
  46790. $async$goto = 1;
  46791. break;
  46792. case 18:
  46793. // case
  46794. $async$goto = 39;
  46795. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46796. case 39:
  46797. // returning from await.
  46798. right = $async$result;
  46799. result = left.dividedBy$1(right);
  46800. if (t1.allowsSlash && !!left.$isSassNumber && right instanceof T.SassNumber) {
  46801. $async$returnValue = H.interceptedTypeCast(result, "$isSassNumber").withSlash$2(left, right);
  46802. // goto return
  46803. $async$goto = 1;
  46804. break;
  46805. } else {
  46806. $async$returnValue = result;
  46807. // goto return
  46808. $async$goto = 1;
  46809. break;
  46810. }
  46811. case 19:
  46812. // case
  46813. $async$temp1 = left;
  46814. $async$goto = 40;
  46815. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46816. case 40:
  46817. // returning from await.
  46818. $async$returnValue = $async$temp1.modulo$1($async$result);
  46819. // goto return
  46820. $async$goto = 1;
  46821. break;
  46822. case 20:
  46823. // default
  46824. // goto return
  46825. $async$goto = 1;
  46826. break;
  46827. case 5:
  46828. // after switch
  46829. case 1:
  46830. // return
  46831. return P._asyncReturn($async$returnValue, $async$completer);
  46832. }
  46833. });
  46834. return P._asyncStartSync($async$call$0, $async$completer);
  46835. }
  46836. };
  46837. E._EvaluateVisitor_visitVariableExpression_closure0.prototype = {
  46838. call$0: function() {
  46839. var t1 = this.node;
  46840. return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  46841. }
  46842. };
  46843. E._EvaluateVisitor_visitListExpression_closure0.prototype = {
  46844. call$1: function(expression) {
  46845. return expression.accept$1(this.$this);
  46846. }
  46847. };
  46848. E._EvaluateVisitor_visitFunctionExpression_closure1.prototype = {
  46849. call$0: function() {
  46850. var t1 = this.node.namespace,
  46851. t2 = this.plainName;
  46852. if (t1 == null)
  46853. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  46854. return this.$this._async_evaluate$_getFunction$2$namespace(t2, t1);
  46855. }
  46856. };
  46857. E._EvaluateVisitor_visitFunctionExpression_closure2.prototype = {
  46858. call$0: function() {
  46859. var t1 = this.node;
  46860. return this.$this._async_evaluate$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1);
  46861. }
  46862. };
  46863. E._EvaluateVisitor__runUserDefinedCallable_closure0.prototype = {
  46864. call$0: function() {
  46865. var _this = this,
  46866. t1 = _this.$this,
  46867. t2 = _this.callable;
  46868. return t1._async_evaluate$_withEnvironment$1$2(t2.environment.closure$0(), new E._EvaluateVisitor__runUserDefinedCallable__closure0(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run), F.Value);
  46869. }
  46870. };
  46871. E._EvaluateVisitor__runUserDefinedCallable__closure0.prototype = {
  46872. call$0: function() {
  46873. var _this = this,
  46874. t1 = _this.$this;
  46875. return t1._async_evaluate$_environment.scope$1$1(new E._EvaluateVisitor__runUserDefinedCallable___closure0(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run), F.Value);
  46876. }
  46877. };
  46878. E._EvaluateVisitor__runUserDefinedCallable___closure0.prototype = {
  46879. call$0: function() {
  46880. var $async$goto = 0,
  46881. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  46882. $async$returnValue, $async$self = this, declaredArguments, minLength, t8, i, t9, t10, t11, argument, value, t12, rest, argumentList, result, argumentWord, argumentNames, t1, t2, t3, t4, t5, t6, t7;
  46883. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46884. if ($async$errorCode === 1)
  46885. return P._asyncRethrow($async$result, $async$completer);
  46886. while (true)
  46887. switch ($async$goto) {
  46888. case 0:
  46889. // Function start
  46890. t1 = $async$self.$this;
  46891. t2 = $async$self.evaluated;
  46892. t3 = t2.positional;
  46893. t4 = t3.length;
  46894. t5 = t2.named;
  46895. t6 = $async$self.callable.declaration.$arguments;
  46896. t7 = $async$self.nodeWithSpan;
  46897. t1._async_evaluate$_verifyArguments$4(t4, t5, t6, t7);
  46898. declaredArguments = t6.$arguments;
  46899. t4 = declaredArguments.length;
  46900. minLength = Math.min(t3.length, t4);
  46901. for (t8 = t1._async_evaluate$_sourceMap, i = 0; i < minLength; ++i) {
  46902. t9 = t1._async_evaluate$_environment;
  46903. t10 = declaredArguments[i].name;
  46904. t11 = t3[i].withoutSlash$0();
  46905. t9.setLocalVariable$3(t10, t11, t8 ? t2.positionalNodes[i] : null);
  46906. }
  46907. i = t3.length;
  46908. case 3:
  46909. // for condition
  46910. if (!(i < t4)) {
  46911. // goto after for
  46912. $async$goto = 5;
  46913. break;
  46914. }
  46915. argument = declaredArguments[i];
  46916. t9 = argument.name;
  46917. value = t5.remove$1(0, t9);
  46918. $async$goto = value == null ? 6 : 7;
  46919. break;
  46920. case 6:
  46921. // then
  46922. $async$goto = 8;
  46923. return P._asyncAwait(argument.defaultValue.accept$1(t1), $async$call$0);
  46924. case 8:
  46925. // returning from await.
  46926. value = $async$result;
  46927. case 7:
  46928. // join
  46929. t10 = t1._async_evaluate$_environment;
  46930. t11 = value.withoutSlash$0();
  46931. if (t8) {
  46932. t12 = t2.namedNodes.$index(0, t9);
  46933. if (t12 == null)
  46934. t12 = t1._async_evaluate$_expressionNode$1(argument.defaultValue);
  46935. } else
  46936. t12 = null;
  46937. t10.setLocalVariable$3(t9, t11, t12);
  46938. case 4:
  46939. // for update
  46940. ++i;
  46941. // goto for condition
  46942. $async$goto = 3;
  46943. break;
  46944. case 5:
  46945. // after for
  46946. t6 = t6.restArgument;
  46947. if (t6 != null) {
  46948. rest = t3.length > t4 ? C.JSArray_methods.sublist$1(t3, t4) : C.List_empty6;
  46949. t2 = t2.separator;
  46950. if (t2 === C.ListSeparator_undecided)
  46951. t2 = C.ListSeparator_comma;
  46952. t3 = F.Value;
  46953. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t5, P.String, t3), P.List_List$unmodifiable(rest, t3), t2, false);
  46954. argumentList.SassList$3$brackets(rest, t2, false);
  46955. t1._async_evaluate$_environment.setLocalVariable$3(t6, argumentList, t7);
  46956. } else
  46957. argumentList = null;
  46958. $async$goto = 9;
  46959. return P._asyncAwait($async$self.run.call$0(), $async$call$0);
  46960. case 9:
  46961. // returning from await.
  46962. result = $async$result;
  46963. if (argumentList == null) {
  46964. $async$returnValue = result;
  46965. // goto return
  46966. $async$goto = 1;
  46967. break;
  46968. }
  46969. if (t5.get$isEmpty(t5)) {
  46970. $async$returnValue = result;
  46971. // goto return
  46972. $async$goto = 1;
  46973. break;
  46974. }
  46975. if (argumentList._wereKeywordsAccessed) {
  46976. $async$returnValue = result;
  46977. // goto return
  46978. $async$goto = 1;
  46979. break;
  46980. }
  46981. argumentWord = B.pluralize("argument", J.get$length$asx(t5.get$keys()), null);
  46982. argumentNames = B.toSentence(J.map$1$1$ax(t5.get$keys(), new E._EvaluateVisitor__runUserDefinedCallable____closure0(), P.Object), "or");
  46983. throw H.wrapException(t1._async_evaluate$_exception$2("No " + argumentWord + " named " + H.S(argumentNames) + ".", t7.get$span()));
  46984. case 1:
  46985. // return
  46986. return P._asyncReturn($async$returnValue, $async$completer);
  46987. }
  46988. });
  46989. return P._asyncStartSync($async$call$0, $async$completer);
  46990. }
  46991. };
  46992. E._EvaluateVisitor__runUserDefinedCallable____closure0.prototype = {
  46993. call$1: function($name) {
  46994. return "$" + H.S($name);
  46995. }
  46996. };
  46997. E._EvaluateVisitor__runFunctionCallable_closure0.prototype = {
  46998. call$0: function() {
  46999. var $async$goto = 0,
  47000. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  47001. $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, $returnValue;
  47002. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47003. if ($async$errorCode === 1)
  47004. return P._asyncRethrow($async$result, $async$completer);
  47005. while (true)
  47006. switch ($async$goto) {
  47007. case 0:
  47008. // Function start
  47009. t1 = $async$self.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = $async$self.$this, _i = 0;
  47010. case 3:
  47011. // for condition
  47012. if (!(_i < t3)) {
  47013. // goto after for
  47014. $async$goto = 5;
  47015. break;
  47016. }
  47017. $async$goto = 6;
  47018. return P._asyncAwait(t2[_i].accept$1(t4), $async$call$0);
  47019. case 6:
  47020. // returning from await.
  47021. $returnValue = $async$result;
  47022. if ($returnValue instanceof F.Value) {
  47023. $async$returnValue = $returnValue;
  47024. // goto return
  47025. $async$goto = 1;
  47026. break;
  47027. }
  47028. case 4:
  47029. // for update
  47030. ++_i;
  47031. // goto for condition
  47032. $async$goto = 3;
  47033. break;
  47034. case 5:
  47035. // after for
  47036. throw H.wrapException(t4._async_evaluate$_exception$2("Function finished without @return.", t1.span));
  47037. case 1:
  47038. // return
  47039. return P._asyncReturn($async$returnValue, $async$completer);
  47040. }
  47041. });
  47042. return P._asyncStartSync($async$call$0, $async$completer);
  47043. }
  47044. };
  47045. E._EvaluateVisitor__runBuiltInCallable_closure1.prototype = {
  47046. call$0: function() {
  47047. return this.overload.verify$2(this.evaluated.positional.length, this.namedSet);
  47048. }
  47049. };
  47050. E._EvaluateVisitor__runBuiltInCallable_closure2.prototype = {
  47051. call$1: function($name) {
  47052. return "$" + H.S($name);
  47053. }
  47054. };
  47055. E._EvaluateVisitor__evaluateArguments_closure2.prototype = {
  47056. call$2: function(_, expression) {
  47057. return expression.accept$1(this.$this);
  47058. }
  47059. };
  47060. E._EvaluateVisitor__evaluateArguments_closure3.prototype = {
  47061. call$2: function(_, expression) {
  47062. return this.$this._async_evaluate$_expressionNode$1(expression);
  47063. }
  47064. };
  47065. E._EvaluateVisitor__evaluateArguments_closure4.prototype = {
  47066. call$2: function(key, value) {
  47067. var t1;
  47068. this.named.$indexSet(0, key, value);
  47069. t1 = this.namedNodes;
  47070. if (t1 != null)
  47071. t1.$indexSet(0, key, this.restNodeForSpan);
  47072. }
  47073. };
  47074. E._EvaluateVisitor__evaluateMacroArguments_closure3.prototype = {
  47075. call$1: function(value) {
  47076. return new F.ValueExpression(value, null);
  47077. }
  47078. };
  47079. E._EvaluateVisitor__evaluateMacroArguments_closure4.prototype = {
  47080. call$1: function(value) {
  47081. return new F.ValueExpression(value, null);
  47082. }
  47083. };
  47084. E._EvaluateVisitor__evaluateMacroArguments_closure5.prototype = {
  47085. call$2: function(key, value) {
  47086. this.named.$indexSet(0, key, new F.ValueExpression(value, null));
  47087. }
  47088. };
  47089. E._EvaluateVisitor__evaluateMacroArguments_closure6.prototype = {
  47090. call$1: function(value) {
  47091. return new F.ValueExpression(value, null);
  47092. }
  47093. };
  47094. E._EvaluateVisitor__addRestMap_closure1.prototype = {
  47095. call$1: function(value) {
  47096. return H.subtypeOfRuntimeTypeCast(value, this.T);
  47097. }
  47098. };
  47099. E._EvaluateVisitor__addRestMap_closure2.prototype = {
  47100. call$2: function(key, value) {
  47101. var _this = this;
  47102. if (key instanceof D.SassString)
  47103. _this.values.$indexSet(0, key.text, _this._box_0.convert.call$1(value));
  47104. else
  47105. throw H.wrapException(_this.$this._async_evaluate$_exception$2("Variable keyword argument map must have string keys.\n" + H.S(key) + " is not a string in " + _this.map.toString$0(0) + ".", _this.nodeForSpan.get$span()));
  47106. }
  47107. };
  47108. E._EvaluateVisitor__verifyArguments_closure0.prototype = {
  47109. call$0: function() {
  47110. return this.$arguments.verify$2(this.positional, new M.MapKeySet(this.named, [P.String]));
  47111. }
  47112. };
  47113. E._EvaluateVisitor_visitStringExpression_closure0.prototype = {
  47114. call$1: function(value) {
  47115. var $async$goto = 0,
  47116. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  47117. $async$returnValue, $async$self = this, t1, result;
  47118. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47119. if ($async$errorCode === 1)
  47120. return P._asyncRethrow($async$result, $async$completer);
  47121. while (true)
  47122. switch ($async$goto) {
  47123. case 0:
  47124. // Function start
  47125. if (typeof value === "string") {
  47126. $async$returnValue = value;
  47127. // goto return
  47128. $async$goto = 1;
  47129. break;
  47130. }
  47131. H.interceptedTypeCast(value, "$isExpression");
  47132. t1 = $async$self.$this;
  47133. $async$goto = 3;
  47134. return P._asyncAwait(value.accept$1(t1), $async$call$1);
  47135. case 3:
  47136. // returning from await.
  47137. result = $async$result;
  47138. $async$returnValue = result instanceof D.SassString ? result.text : t1._async_evaluate$_serialize$3$quote(result, value, false);
  47139. // goto return
  47140. $async$goto = 1;
  47141. break;
  47142. case 1:
  47143. // return
  47144. return P._asyncReturn($async$returnValue, $async$completer);
  47145. }
  47146. });
  47147. return P._asyncStartSync($async$call$1, $async$completer);
  47148. },
  47149. $signature: 33
  47150. };
  47151. E._EvaluateVisitor_visitCssAtRule_closure1.prototype = {
  47152. call$0: function() {
  47153. var $async$goto = 0,
  47154. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47155. $async$self = this, t1, t2;
  47156. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47157. if ($async$errorCode === 1)
  47158. return P._asyncRethrow($async$result, $async$completer);
  47159. while (true)
  47160. switch ($async$goto) {
  47161. case 0:
  47162. // Function start
  47163. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  47164. case 2:
  47165. // for condition
  47166. if (!t1.moveNext$0()) {
  47167. // goto after for
  47168. $async$goto = 3;
  47169. break;
  47170. }
  47171. $async$goto = 4;
  47172. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  47173. case 4:
  47174. // returning from await.
  47175. // goto for condition
  47176. $async$goto = 2;
  47177. break;
  47178. case 3:
  47179. // after for
  47180. // implicit return
  47181. return P._asyncReturn(null, $async$completer);
  47182. }
  47183. });
  47184. return P._asyncStartSync($async$call$0, $async$completer);
  47185. }
  47186. };
  47187. E._EvaluateVisitor_visitCssAtRule_closure2.prototype = {
  47188. call$1: function(node) {
  47189. return !!J.getInterceptor$(node).$isCssStyleRule;
  47190. }
  47191. };
  47192. E._EvaluateVisitor_visitCssKeyframeBlock_closure1.prototype = {
  47193. call$0: function() {
  47194. var $async$goto = 0,
  47195. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47196. $async$self = this, t1, t2;
  47197. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47198. if ($async$errorCode === 1)
  47199. return P._asyncRethrow($async$result, $async$completer);
  47200. while (true)
  47201. switch ($async$goto) {
  47202. case 0:
  47203. // Function start
  47204. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  47205. case 2:
  47206. // for condition
  47207. if (!t1.moveNext$0()) {
  47208. // goto after for
  47209. $async$goto = 3;
  47210. break;
  47211. }
  47212. $async$goto = 4;
  47213. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  47214. case 4:
  47215. // returning from await.
  47216. // goto for condition
  47217. $async$goto = 2;
  47218. break;
  47219. case 3:
  47220. // after for
  47221. // implicit return
  47222. return P._asyncReturn(null, $async$completer);
  47223. }
  47224. });
  47225. return P._asyncStartSync($async$call$0, $async$completer);
  47226. }
  47227. };
  47228. E._EvaluateVisitor_visitCssKeyframeBlock_closure2.prototype = {
  47229. call$1: function(node) {
  47230. return !!J.getInterceptor$(node).$isCssStyleRule;
  47231. }
  47232. };
  47233. E._EvaluateVisitor_visitCssMediaRule_closure1.prototype = {
  47234. call$0: function() {
  47235. var $async$goto = 0,
  47236. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47237. $async$self = this, t1, t2;
  47238. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47239. if ($async$errorCode === 1)
  47240. return P._asyncRethrow($async$result, $async$completer);
  47241. while (true)
  47242. switch ($async$goto) {
  47243. case 0:
  47244. // Function start
  47245. t1 = $async$self.$this;
  47246. t2 = $async$self.mergedQueries;
  47247. if (t2 == null)
  47248. t2 = $async$self.node.queries;
  47249. $async$goto = 2;
  47250. return P._asyncAwait(t1._async_evaluate$_withMediaQueries$1$2(t2, new E._EvaluateVisitor_visitCssMediaRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  47251. case 2:
  47252. // returning from await.
  47253. // implicit return
  47254. return P._asyncReturn(null, $async$completer);
  47255. }
  47256. });
  47257. return P._asyncStartSync($async$call$0, $async$completer);
  47258. }
  47259. };
  47260. E._EvaluateVisitor_visitCssMediaRule__closure0.prototype = {
  47261. call$0: function() {
  47262. var $async$goto = 0,
  47263. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47264. $async$self = this, t1, t2;
  47265. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47266. if ($async$errorCode === 1)
  47267. return P._asyncRethrow($async$result, $async$completer);
  47268. while (true)
  47269. switch ($async$goto) {
  47270. case 0:
  47271. // Function start
  47272. t1 = $async$self.$this;
  47273. t2 = t1._async_evaluate$_styleRule;
  47274. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  47275. break;
  47276. case 2:
  47277. // then
  47278. t2 = $async$self.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2));
  47279. case 5:
  47280. // for condition
  47281. if (!t2.moveNext$0()) {
  47282. // goto after for
  47283. $async$goto = 6;
  47284. break;
  47285. }
  47286. $async$goto = 7;
  47287. return P._asyncAwait(t2.__internal$_current.accept$1(t1), $async$call$0);
  47288. case 7:
  47289. // returning from await.
  47290. // goto for condition
  47291. $async$goto = 5;
  47292. break;
  47293. case 6:
  47294. // after for
  47295. // goto join
  47296. $async$goto = 3;
  47297. break;
  47298. case 4:
  47299. // else
  47300. $async$goto = 8;
  47301. return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitCssMediaRule___closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0);
  47302. case 8:
  47303. // returning from await.
  47304. case 3:
  47305. // join
  47306. // implicit return
  47307. return P._asyncReturn(null, $async$completer);
  47308. }
  47309. });
  47310. return P._asyncStartSync($async$call$0, $async$completer);
  47311. }
  47312. };
  47313. E._EvaluateVisitor_visitCssMediaRule___closure0.prototype = {
  47314. call$0: function() {
  47315. var $async$goto = 0,
  47316. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47317. $async$self = this, t1, t2;
  47318. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47319. if ($async$errorCode === 1)
  47320. return P._asyncRethrow($async$result, $async$completer);
  47321. while (true)
  47322. switch ($async$goto) {
  47323. case 0:
  47324. // Function start
  47325. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  47326. case 2:
  47327. // for condition
  47328. if (!t1.moveNext$0()) {
  47329. // goto after for
  47330. $async$goto = 3;
  47331. break;
  47332. }
  47333. $async$goto = 4;
  47334. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  47335. case 4:
  47336. // returning from await.
  47337. // goto for condition
  47338. $async$goto = 2;
  47339. break;
  47340. case 3:
  47341. // after for
  47342. // implicit return
  47343. return P._asyncReturn(null, $async$completer);
  47344. }
  47345. });
  47346. return P._asyncStartSync($async$call$0, $async$completer);
  47347. }
  47348. };
  47349. E._EvaluateVisitor_visitCssMediaRule_closure2.prototype = {
  47350. call$1: function(node) {
  47351. var t1 = J.getInterceptor$(node);
  47352. if (!t1.$isCssStyleRule)
  47353. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  47354. else
  47355. t1 = true;
  47356. return t1;
  47357. }
  47358. };
  47359. E._EvaluateVisitor_visitCssStyleRule_closure1.prototype = {
  47360. call$0: function() {
  47361. var $async$goto = 0,
  47362. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47363. $async$self = this, t1;
  47364. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47365. if ($async$errorCode === 1)
  47366. return P._asyncRethrow($async$result, $async$completer);
  47367. while (true)
  47368. switch ($async$goto) {
  47369. case 0:
  47370. // Function start
  47371. t1 = $async$self.$this;
  47372. $async$goto = 2;
  47373. return P._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new E._EvaluateVisitor_visitCssStyleRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  47374. case 2:
  47375. // returning from await.
  47376. // implicit return
  47377. return P._asyncReturn(null, $async$completer);
  47378. }
  47379. });
  47380. return P._asyncStartSync($async$call$0, $async$completer);
  47381. }
  47382. };
  47383. E._EvaluateVisitor_visitCssStyleRule__closure0.prototype = {
  47384. call$0: function() {
  47385. var $async$goto = 0,
  47386. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47387. $async$self = this, t1, t2;
  47388. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47389. if ($async$errorCode === 1)
  47390. return P._asyncRethrow($async$result, $async$completer);
  47391. while (true)
  47392. switch ($async$goto) {
  47393. case 0:
  47394. // Function start
  47395. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  47396. case 2:
  47397. // for condition
  47398. if (!t1.moveNext$0()) {
  47399. // goto after for
  47400. $async$goto = 3;
  47401. break;
  47402. }
  47403. $async$goto = 4;
  47404. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  47405. case 4:
  47406. // returning from await.
  47407. // goto for condition
  47408. $async$goto = 2;
  47409. break;
  47410. case 3:
  47411. // after for
  47412. // implicit return
  47413. return P._asyncReturn(null, $async$completer);
  47414. }
  47415. });
  47416. return P._asyncStartSync($async$call$0, $async$completer);
  47417. }
  47418. };
  47419. E._EvaluateVisitor_visitCssStyleRule_closure2.prototype = {
  47420. call$1: function(node) {
  47421. return !!J.getInterceptor$(node).$isCssStyleRule;
  47422. }
  47423. };
  47424. E._EvaluateVisitor_visitCssSupportsRule_closure1.prototype = {
  47425. call$0: function() {
  47426. var $async$goto = 0,
  47427. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47428. $async$self = this, t1, t2;
  47429. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47430. if ($async$errorCode === 1)
  47431. return P._asyncRethrow($async$result, $async$completer);
  47432. while (true)
  47433. switch ($async$goto) {
  47434. case 0:
  47435. // Function start
  47436. t1 = $async$self.$this;
  47437. t2 = t1._async_evaluate$_styleRule;
  47438. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  47439. break;
  47440. case 2:
  47441. // then
  47442. t2 = $async$self.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2));
  47443. case 5:
  47444. // for condition
  47445. if (!t2.moveNext$0()) {
  47446. // goto after for
  47447. $async$goto = 6;
  47448. break;
  47449. }
  47450. $async$goto = 7;
  47451. return P._asyncAwait(t2.__internal$_current.accept$1(t1), $async$call$0);
  47452. case 7:
  47453. // returning from await.
  47454. // goto for condition
  47455. $async$goto = 5;
  47456. break;
  47457. case 6:
  47458. // after for
  47459. // goto join
  47460. $async$goto = 3;
  47461. break;
  47462. case 4:
  47463. // else
  47464. $async$goto = 8;
  47465. return P._asyncAwait(t1._async_evaluate$_withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitCssSupportsRule__closure0(t1, $async$self.node), X.ModifiableCssStyleRule, P.Null), $async$call$0);
  47466. case 8:
  47467. // returning from await.
  47468. case 3:
  47469. // join
  47470. // implicit return
  47471. return P._asyncReturn(null, $async$completer);
  47472. }
  47473. });
  47474. return P._asyncStartSync($async$call$0, $async$completer);
  47475. }
  47476. };
  47477. E._EvaluateVisitor_visitCssSupportsRule__closure0.prototype = {
  47478. call$0: function() {
  47479. var $async$goto = 0,
  47480. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  47481. $async$self = this, t1, t2;
  47482. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47483. if ($async$errorCode === 1)
  47484. return P._asyncRethrow($async$result, $async$completer);
  47485. while (true)
  47486. switch ($async$goto) {
  47487. case 0:
  47488. // Function start
  47489. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  47490. case 2:
  47491. // for condition
  47492. if (!t1.moveNext$0()) {
  47493. // goto after for
  47494. $async$goto = 3;
  47495. break;
  47496. }
  47497. $async$goto = 4;
  47498. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  47499. case 4:
  47500. // returning from await.
  47501. // goto for condition
  47502. $async$goto = 2;
  47503. break;
  47504. case 3:
  47505. // after for
  47506. // implicit return
  47507. return P._asyncReturn(null, $async$completer);
  47508. }
  47509. });
  47510. return P._asyncStartSync($async$call$0, $async$completer);
  47511. }
  47512. };
  47513. E._EvaluateVisitor_visitCssSupportsRule_closure2.prototype = {
  47514. call$1: function(node) {
  47515. return !!J.getInterceptor$(node).$isCssStyleRule;
  47516. }
  47517. };
  47518. E._EvaluateVisitor__performInterpolation_closure0.prototype = {
  47519. call$1: function(value) {
  47520. var $async$goto = 0,
  47521. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  47522. $async$returnValue, $async$self = this, t1, result, t2, t3;
  47523. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  47524. if ($async$errorCode === 1)
  47525. return P._asyncRethrow($async$result, $async$completer);
  47526. while (true)
  47527. switch ($async$goto) {
  47528. case 0:
  47529. // Function start
  47530. if (typeof value === "string") {
  47531. $async$returnValue = value;
  47532. // goto return
  47533. $async$goto = 1;
  47534. break;
  47535. }
  47536. H.interceptedTypeCast(value, "$isExpression");
  47537. t1 = $async$self.$this;
  47538. $async$goto = 3;
  47539. return P._asyncAwait(value.accept$1(t1), $async$call$1);
  47540. case 3:
  47541. // returning from await.
  47542. result = $async$result;
  47543. if ($async$self.warnForColor && result instanceof K.SassColor && $.$get$namesByColor().containsKey$1(result)) {
  47544. t2 = X.Interpolation$(H.setRuntimeTypeInfo([""], [P.Object]), null);
  47545. t3 = $.$get$namesByColor();
  47546. t1._async_evaluate$_warn$2("You probably don't mean to use the color value " + H.S(t3.$index(0, result)) + " in interpolation here.\nIt may end up represented as " + H.S(result) + ', which will likely produce invalid CSS.\nAlways quote color names when using them as strings or map keys (for example, "' + H.S(t3.$index(0, result)) + "\").\nIf you really want to use the color value here, use '" + new V.BinaryOperationExpression(C.BinaryOperator_AcR0, new D.StringExpression(t2, true), value, false).toString$0(0) + "'.", value.get$span());
  47547. }
  47548. $async$returnValue = t1._async_evaluate$_serialize$3$quote(result, value, false);
  47549. // goto return
  47550. $async$goto = 1;
  47551. break;
  47552. case 1:
  47553. // return
  47554. return P._asyncReturn($async$returnValue, $async$completer);
  47555. }
  47556. });
  47557. return P._asyncStartSync($async$call$1, $async$completer);
  47558. },
  47559. $signature: 33
  47560. };
  47561. E._EvaluateVisitor__serialize_closure0.prototype = {
  47562. call$0: function() {
  47563. var t1 = this.value;
  47564. t1.toString;
  47565. return N.serializeValue(t1, false, this.quote);
  47566. }
  47567. };
  47568. E._EvaluateVisitor__stackTrace_closure0.prototype = {
  47569. call$1: function(tuple) {
  47570. return this.$this._async_evaluate$_stackFrame$2(tuple.item1, tuple.item2.get$span());
  47571. }
  47572. };
  47573. E._ImportedCssVisitor0.prototype = {
  47574. visitCssAtRule$1: function(node) {
  47575. var t1 = node.isChildless ? null : new E._ImportedCssVisitor_visitCssAtRule_closure0();
  47576. this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, t1);
  47577. },
  47578. visitCssComment$1: function(node) {
  47579. return this._async_evaluate$_visitor._async_evaluate$_addChild$1(node);
  47580. },
  47581. visitCssDeclaration$1: function(node) {
  47582. },
  47583. visitCssImport$1: function(node) {
  47584. var t1 = this._async_evaluate$_visitor,
  47585. t2 = t1._async_evaluate$_parent,
  47586. t3 = t1._async_evaluate$_root;
  47587. if (t2 != t3)
  47588. t1._async_evaluate$_addChild$1(node);
  47589. else if (t1._async_evaluate$_endOfImports === J.get$length$asx(t3.children._collection$_source)) {
  47590. t1._async_evaluate$_addChild$1(node);
  47591. t1._async_evaluate$_endOfImports = t1._async_evaluate$_endOfImports + 1;
  47592. } else {
  47593. t2 = t1._async_evaluate$_outOfOrderImports;
  47594. (t2 == null ? t1._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t2).push(node);
  47595. }
  47596. },
  47597. visitCssKeyframeBlock$1: function(node) {
  47598. },
  47599. visitCssMediaRule$1: function(node) {
  47600. var t1 = this._async_evaluate$_visitor,
  47601. t2 = t1._async_evaluate$_mediaQueries;
  47602. t1._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssMediaRule_closure0(t2 == null || t1._async_evaluate$_mergeMediaQueries$2(t2, node.queries) != null));
  47603. },
  47604. visitCssStyleRule$1: function(node) {
  47605. return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssStyleRule_closure0());
  47606. },
  47607. visitCssStylesheet$1: function(node) {
  47608. var t1;
  47609. for (t1 = node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  47610. t1.__internal$_current.accept$1(this);
  47611. },
  47612. visitCssSupportsRule$1: function(node) {
  47613. return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssSupportsRule_closure0());
  47614. }
  47615. };
  47616. E._ImportedCssVisitor_visitCssAtRule_closure0.prototype = {
  47617. call$1: function(node) {
  47618. return !!J.getInterceptor$(node).$isCssStyleRule;
  47619. }
  47620. };
  47621. E._ImportedCssVisitor_visitCssMediaRule_closure0.prototype = {
  47622. call$1: function(node) {
  47623. var t1 = J.getInterceptor$(node);
  47624. if (!t1.$isCssStyleRule)
  47625. t1 = this.hasBeenMerged && !!t1.$isCssMediaRule;
  47626. else
  47627. t1 = true;
  47628. return t1;
  47629. }
  47630. };
  47631. E._ImportedCssVisitor_visitCssStyleRule_closure0.prototype = {
  47632. call$1: function(node) {
  47633. return !!J.getInterceptor$(node).$isCssStyleRule;
  47634. }
  47635. };
  47636. E._ImportedCssVisitor_visitCssSupportsRule_closure0.prototype = {
  47637. call$1: function(node) {
  47638. return !!J.getInterceptor$(node).$isCssStyleRule;
  47639. }
  47640. };
  47641. E.EvaluateResult.prototype = {};
  47642. E._ArgumentResults0.prototype = {};
  47643. E._ConfiguredValue0.prototype = {};
  47644. V._CloneCssVisitor.prototype = {
  47645. visitCssAtRule$1: function(node) {
  47646. var t1 = node.isChildless,
  47647. t2 = B.ModifiableCssNode,
  47648. t3 = H.setRuntimeTypeInfo([], [t2]),
  47649. rule = new U.ModifiableCssAtRule(node.name, node.value, t1, node.span, new P.UnmodifiableListView(t3, [t2]), t3);
  47650. return t1 ? rule : this._visitChildren$2(rule, node);
  47651. },
  47652. visitCssComment$1: function(node) {
  47653. return new R.ModifiableCssComment(node.text, node.span);
  47654. },
  47655. visitCssDeclaration$1: function(node) {
  47656. return L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap);
  47657. },
  47658. visitCssImport$1: function(node) {
  47659. return F.ModifiableCssImport$(node.url, node.span, node.media, node.supports);
  47660. },
  47661. visitCssKeyframeBlock$1: function(node) {
  47662. var t1 = B.ModifiableCssNode,
  47663. t2 = H.setRuntimeTypeInfo([], [t1]);
  47664. return this._visitChildren$2(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), node);
  47665. },
  47666. visitCssMediaRule$1: function(node) {
  47667. return this._visitChildren$2(G.ModifiableCssMediaRule$(node.queries, node.span), node);
  47668. },
  47669. visitCssStyleRule$1: function(node) {
  47670. var newSelector = this._oldToNewSelectors.$index(0, node.selector);
  47671. if (newSelector == null)
  47672. throw H.wrapException(P.StateError$("The Extender and CssStylesheet passed to cloneCssStylesheet() must come from the same compilation."));
  47673. return this._visitChildren$2(X.ModifiableCssStyleRule$(newSelector, node.span, node.originalSelector), node);
  47674. },
  47675. visitCssStylesheet$1: function(node) {
  47676. var t1 = node.get$span(),
  47677. t2 = B.ModifiableCssNode,
  47678. t3 = H.setRuntimeTypeInfo([], [t2]);
  47679. return this._visitChildren$2(new V.ModifiableCssStylesheet(t1, new P.UnmodifiableListView(t3, [t2]), t3), node);
  47680. },
  47681. visitCssSupportsRule$1: function(node) {
  47682. var t1 = B.ModifiableCssNode,
  47683. t2 = H.setRuntimeTypeInfo([], [t1]);
  47684. return this._visitChildren$2(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), node);
  47685. },
  47686. _visitChildren$1$2: function(newParent, oldParent) {
  47687. var t1, t2, newChild;
  47688. for (t1 = J.get$iterator$ax(oldParent.get$children()); t1.moveNext$0();) {
  47689. t2 = t1.get$current(t1);
  47690. newChild = t2.accept$1(this);
  47691. newChild.isGroupEnd = t2.get$isGroupEnd();
  47692. newParent.addChild$1(newChild);
  47693. }
  47694. return newParent;
  47695. },
  47696. _visitChildren$2: function(newParent, oldParent) {
  47697. return this._visitChildren$1$2(newParent, oldParent, B.ModifiableCssParentNode);
  47698. }
  47699. };
  47700. R.Evaluator.prototype = {};
  47701. R._EvaluateVisitor.prototype = {
  47702. _EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap: function(functions, importCache, logger, nodeImporter, sourceMap) {
  47703. var _i, metaModule, module, $function, _this = this,
  47704. _s20_ = "$name, $module: null",
  47705. t1 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}],
  47706. t2 = [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]],
  47707. metaFunctions = [new Q.BuiltInCallable("global-variable-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new R._EvaluateVisitor_closure(_this), t1)], t2)), new Q.BuiltInCallable("variable-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name"), new R._EvaluateVisitor_closure0(_this), t1)], t2)), new Q.BuiltInCallable("function-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new R._EvaluateVisitor_closure1(_this), t1)], t2)), new Q.BuiltInCallable("mixin-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new R._EvaluateVisitor_closure2(_this), t1)], t2)), new Q.BuiltInCallable("content-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(""), new R._EvaluateVisitor_closure3(_this), t1)], t2)), new Q.BuiltInCallable("module-variables", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new R._EvaluateVisitor_closure4(_this), t1)], t2)), new Q.BuiltInCallable("module-functions", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new R._EvaluateVisitor_closure5(_this), t1)], t2)), new Q.BuiltInCallable("get-function", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name, $css: false, $module: null"), new R._EvaluateVisitor_closure6(_this), t1)], t2)), new Q.BuiltInCallable("call", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$function, $args..."), new R._EvaluateVisitor_closure7(_this), t1)], t2))],
  47708. t3 = Q.BuiltInCallable,
  47709. t4 = [t3],
  47710. metaMixins = H.setRuntimeTypeInfo([new Q.BuiltInCallable("load-css", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module, $with: null"), new R._EvaluateVisitor_closure8(_this), t1)], t2))], t4);
  47711. t4 = H.setRuntimeTypeInfo([], t4);
  47712. for (t1 = $.$get$global(), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  47713. t4.push(t1.__internal$_current);
  47714. for (_i = 0; _i < 9; ++_i)
  47715. t4.push(metaFunctions[_i]);
  47716. metaModule = Q.BuiltInModule$("meta", t4, metaMixins, t3);
  47717. t1 = H.setRuntimeTypeInfo([], [[Q.BuiltInModule, Q.BuiltInCallable]]);
  47718. for (t2 = $.$get$coreModules(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  47719. t1.push(t2.__internal$_current);
  47720. t1.push(metaModule);
  47721. t2 = t1.length;
  47722. t3 = _this._builtInModules;
  47723. _i = 0;
  47724. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  47725. module = t1[_i];
  47726. t3.$indexSet(0, module.url, module);
  47727. }
  47728. t1 = H.setRuntimeTypeInfo([], [D.Callable]);
  47729. if (functions != null)
  47730. for (t2 = new H.ListIterator(functions, functions.get$length(functions)); t2.moveNext$0();)
  47731. t1.push(t2.__internal$_current);
  47732. for (t2 = $.$get$globalFunctions(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  47733. t1.push(t2.__internal$_current);
  47734. for (_i = 0; _i < 9; ++_i)
  47735. t1.push(metaFunctions[_i]);
  47736. for (t2 = t1.length, t3 = _this._builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  47737. $function = t1[_i];
  47738. t4 = $function.get$name();
  47739. t4.toString;
  47740. t3.$indexSet(0, H.stringReplaceAllUnchecked(t4, "_", "-"), $function);
  47741. }
  47742. },
  47743. run$2: function(_, importer, node) {
  47744. return this._withWarnCallback$1(new R._EvaluateVisitor_run_closure(this, node, importer));
  47745. },
  47746. runExpression$2: function(importer, expression) {
  47747. return this._withWarnCallback$1(new R._EvaluateVisitor_runExpression_closure(this, importer, expression));
  47748. },
  47749. runStatement$2: function(importer, statement) {
  47750. return this._withWarnCallback$1(new R._EvaluateVisitor_runStatement_closure(this, importer, statement));
  47751. },
  47752. _withWarnCallback$1$1: function(callback) {
  47753. return N.withWarnCallback(new R._EvaluateVisitor__withWarnCallback_closure(this), callback);
  47754. },
  47755. _withWarnCallback$1: function(callback) {
  47756. return this._withWarnCallback$1$1(callback, null);
  47757. },
  47758. _withFakeStylesheet$1$3: function(importer, nodeForSpan, callback) {
  47759. var oldStylesheet, t1, _this = this,
  47760. oldImporter = _this._importer;
  47761. _this._importer = importer;
  47762. oldStylesheet = _this._stylesheet;
  47763. _this._stylesheet = V.Stylesheet$(C.List_empty15, nodeForSpan.get$span(), false);
  47764. try {
  47765. t1 = callback.call$0();
  47766. return t1;
  47767. } finally {
  47768. _this._importer = oldImporter;
  47769. _this._stylesheet = oldStylesheet;
  47770. }
  47771. },
  47772. _withFakeStylesheet$3: function(importer, nodeForSpan, callback) {
  47773. return this._withFakeStylesheet$1$3(importer, nodeForSpan, callback, null);
  47774. },
  47775. _loadModule$7$baseUrl$configuration$namesInErrors: function(url, stackFrame, nodeForSpan, callback, baseUrl, configuration, namesInErrors) {
  47776. var t1, _this = this,
  47777. builtInModule = _this._builtInModules.$index(0, url);
  47778. if (builtInModule != null) {
  47779. if (configuration != null && configuration.get$isNotEmpty(configuration)) {
  47780. t1 = namesInErrors ? "Built-in module " + H.S(url) + " can't be configured." : "Built-in modules can't be configured.";
  47781. throw H.wrapException(_this._evaluate$_exception$2(t1, nodeForSpan.get$span()));
  47782. }
  47783. callback.call$1(builtInModule);
  47784. return;
  47785. }
  47786. _this._withStackFrame$3(stackFrame, nodeForSpan, new R._EvaluateVisitor__loadModule_closure(_this, url, nodeForSpan, baseUrl, namesInErrors, configuration, callback));
  47787. },
  47788. _loadModule$5$configuration: function(url, stackFrame, nodeForSpan, callback, configuration) {
  47789. return this._loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeForSpan, callback, null, configuration, false);
  47790. },
  47791. _loadModule$4: function(url, stackFrame, nodeForSpan, callback) {
  47792. return this._loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeForSpan, callback, null, null, false);
  47793. },
  47794. _execute$4$configuration$namesInErrors: function(importer, stylesheet, configuration, namesInErrors) {
  47795. var environment, t3, extender, module, _this = this, t1 = {},
  47796. url = stylesheet.span.file.url,
  47797. t2 = _this._modules,
  47798. alreadyLoaded = t2.$index(0, url);
  47799. if (alreadyLoaded != null) {
  47800. t1 = configuration == null ? _this._configuration : configuration;
  47801. if (t1.get$isNotEmpty(t1))
  47802. throw H.wrapException(_this._evaluate$_exception$1(namesInErrors ? H.S(D.prettyUri(url)) + ' was already loaded, so it can\'t be configured using "with".' : 'This module was already loaded, so it can\'t be configured using "with".'));
  47803. return alreadyLoaded;
  47804. }
  47805. environment = O.Environment$(_this._sourceMap);
  47806. t1.css = null;
  47807. t3 = M.SimpleSelector;
  47808. extender = new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Set, [F.ModifiableCssValue, D.SelectorList]]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty([F.ModifiableCssValue, D.SelectorList], [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t3, P.int), new P._LinkedIdentityHashSet([S.ComplexSelector]), C.ExtendMode_normal);
  47809. _this._withEnvironment$2(environment, new R._EvaluateVisitor__execute_closure(t1, _this, importer, stylesheet, extender, configuration, namesInErrors));
  47810. module = O._EnvironmentModule__EnvironmentModule(environment, t1.css, extender, environment._forwardedModules);
  47811. t2.$indexSet(0, url, module);
  47812. return module;
  47813. },
  47814. _execute$2: function(importer, stylesheet) {
  47815. return this._execute$4$configuration$namesInErrors(importer, stylesheet, null, false);
  47816. },
  47817. _addOutOfOrderImports$0: function() {
  47818. var t1, t2, statements, _this = this;
  47819. if (_this._outOfOrderImports == null)
  47820. return _this._root.children;
  47821. t1 = B.ModifiableCssNode;
  47822. t2 = new Array(J.get$length$asx(_this._root.children._collection$_source) + _this._outOfOrderImports.length);
  47823. t2.fixed$length = Array;
  47824. statements = new G.FixedLengthListBuilder(H.setRuntimeTypeInfo(t2, [t1]), [t1]);
  47825. statements.addRange$3(_this._root.children, 0, _this._endOfImports);
  47826. statements.addAll$1(0, _this._outOfOrderImports);
  47827. statements.addRange$2(_this._root.children, _this._endOfImports);
  47828. return statements.build$0();
  47829. },
  47830. _combineCss$2$clone: function(root, clone) {
  47831. var selectors, unsatisfiedExtension, sortedModules, t1, t2, imports, css, t3, statements, index, _this = this;
  47832. if (!C.JSArray_methods.any$1(root.get$upstream(), new R._EvaluateVisitor__combineCss_closure())) {
  47833. selectors = root.get$extender().get$simpleSelectors();
  47834. unsatisfiedExtension = B.firstOrNull(root.get$extender().extensionsWhereTarget$1(new R._EvaluateVisitor__combineCss_closure0(selectors)));
  47835. if (unsatisfiedExtension != null)
  47836. _this._throwForUnsatisfiedExtension$1(unsatisfiedExtension);
  47837. return root.get$css(root);
  47838. }
  47839. sortedModules = _this._topologicalModules$1(root);
  47840. if (clone)
  47841. sortedModules = new H.MappedListIterable(sortedModules, new R._EvaluateVisitor__combineCss_closure1(), [H.getTypeArgumentByIndex(sortedModules, 0), [G.Module, D.Callable]]).toList$0(0);
  47842. _this._extendModules$1(sortedModules);
  47843. t1 = B.CssNode;
  47844. t2 = [t1];
  47845. imports = H.setRuntimeTypeInfo([], t2);
  47846. css = H.setRuntimeTypeInfo([], t2);
  47847. for (t2 = J.get$reversed$ax(sortedModules), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  47848. t3 = t2.__internal$_current;
  47849. statements = t3.get$css(t3).get$children();
  47850. index = _this._indexAfterImports$1(statements);
  47851. t3 = J.getInterceptor$ax(statements);
  47852. C.JSArray_methods.addAll$1(imports, t3.getRange$2(statements, 0, index));
  47853. C.JSArray_methods.addAll$1(css, t3.getRange$2(statements, index, t3.get$length(statements)));
  47854. }
  47855. return new V.CssStylesheet(new P.UnmodifiableListView(C.JSArray_methods.$add(imports, css), [t1]), root.get$css(root).get$span());
  47856. },
  47857. _combineCss$1: function(root) {
  47858. return this._combineCss$2$clone(root, false);
  47859. },
  47860. _extendModules$1: function(sortedModules) {
  47861. var t1, t2, originalSelectors, extenders, t3, t4, _i,
  47862. downstreamExtenders = P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, [P.List, F.Extender]),
  47863. unsatisfiedExtensions = new P._LinkedIdentityHashSet([S.Extension]);
  47864. for (t1 = J.get$iterator$ax(sortedModules); t1.moveNext$0();) {
  47865. t2 = t1.get$current(t1);
  47866. originalSelectors = t2.get$extender().get$simpleSelectors().toSet$0(0);
  47867. unsatisfiedExtensions.addAll$1(0, t2.get$extender().extensionsWhereTarget$1(new R._EvaluateVisitor__extendModules_closure(originalSelectors)));
  47868. extenders = downstreamExtenders.$index(0, t2.get$url());
  47869. if (extenders != null)
  47870. t2.get$extender().addExtensions$1(extenders);
  47871. t3 = t2.get$extender();
  47872. if (t3.get$isEmpty(t3))
  47873. continue;
  47874. for (t3 = t2.get$upstream(), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i)
  47875. J.add$1$ax(downstreamExtenders.putIfAbsent$2(t3[_i].get$url(), new R._EvaluateVisitor__extendModules_closure0()), t2.get$extender());
  47876. unsatisfiedExtensions.removeAll$1(t2.get$extender().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
  47877. }
  47878. if (unsatisfiedExtensions._collection$_length !== 0)
  47879. this._throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(unsatisfiedExtensions));
  47880. },
  47881. _throwForUnsatisfiedExtension$1: function(extension) {
  47882. throw H.wrapException(E.SassException$('The target selector was not found.\nUse "@extend ' + H.S(extension.target) + ' !optional" to avoid this error.', extension.span));
  47883. },
  47884. _topologicalModules$1: function(root) {
  47885. var t1 = [G.Module, D.Callable],
  47886. seen = P.LinkedHashSet_LinkedHashSet(t1),
  47887. sorted = Q.QueueList$(null, t1);
  47888. new R._EvaluateVisitor__topologicalModules_visitModule(seen, sorted).call$1(root);
  47889. return sorted;
  47890. },
  47891. _indexAfterImports$1: function(statements) {
  47892. var t1, lastImport, i, t2;
  47893. for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
  47894. t2 = J.getInterceptor$(t1.$index(statements, i));
  47895. if (!!t2.$isCssImport)
  47896. lastImport = i;
  47897. else if (!t2.$isCssComment)
  47898. break;
  47899. }
  47900. return lastImport + 1;
  47901. },
  47902. visitStylesheet$1: function(node) {
  47903. var t1, t2, _i;
  47904. for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i)
  47905. t1[_i].accept$1(this);
  47906. return;
  47907. },
  47908. visitAtRootRule$1: function(node) {
  47909. var root, innerCopy, outerCopy, copy, _this = this,
  47910. t1 = node.query,
  47911. query = t1 != null ? _this._adjustParseError$2(t1, new R._EvaluateVisitor_visitAtRootRule_closure(_this, _this._performInterpolation$2$warnForColor(t1, true))) : C.AtRootQuery_UsS,
  47912. $parent = _this._evaluate$_parent,
  47913. included = H.setRuntimeTypeInfo([], [B.ModifiableCssParentNode]);
  47914. for (; !J.getInterceptor$($parent).$isCssStylesheet;) {
  47915. if (!query.excludes$1($parent))
  47916. included.push($parent);
  47917. $parent = $parent._parent;
  47918. }
  47919. root = _this._trimIncluded$1(included);
  47920. if (root == _this._evaluate$_parent) {
  47921. _this._evaluate$_environment.scope$1$2$when(new R._EvaluateVisitor_visitAtRootRule_closure0(_this, node), node.hasDeclarations, P.Null);
  47922. return;
  47923. }
  47924. innerCopy = included.length === 0 ? null : C.JSArray_methods.get$first(included).copyWithoutChildren$0();
  47925. for (t1 = H.SubListIterable$(included, 1, null, H.getTypeArgumentByIndex(included, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)), outerCopy = innerCopy; t1.moveNext$0(); outerCopy = copy) {
  47926. copy = t1.__internal$_current.copyWithoutChildren$0();
  47927. copy.addChild$1(outerCopy);
  47928. }
  47929. if (outerCopy != null)
  47930. root.addChild$1(outerCopy);
  47931. _this._scopeForAtRoot$4(node, innerCopy == null ? root : innerCopy, query, included).call$1(new R._EvaluateVisitor_visitAtRootRule_closure1(_this, node));
  47932. return;
  47933. },
  47934. _trimIncluded$1: function(nodes) {
  47935. var $parent, innermostContiguous, i, t2, root,
  47936. t1 = nodes.length;
  47937. if (t1 === 0)
  47938. return this._root;
  47939. $parent = this._evaluate$_parent;
  47940. for (innermostContiguous = null, i = 0; i < t1; ++i) {
  47941. for (; $parent != nodes[i]; innermostContiguous = null)
  47942. $parent = $parent._parent;
  47943. if (innermostContiguous == null)
  47944. innermostContiguous = i;
  47945. $parent = $parent._parent;
  47946. }
  47947. t2 = this._root;
  47948. if ($parent != t2)
  47949. return t2;
  47950. root = nodes[innermostContiguous];
  47951. C.JSArray_methods.removeRange$2(nodes, innermostContiguous, t1);
  47952. return root;
  47953. },
  47954. _scopeForAtRoot$4: function(node, newParent, query, included) {
  47955. var _this = this,
  47956. scope = new R._EvaluateVisitor__scopeForAtRoot_closure(_this, newParent, node),
  47957. t1 = query._all,
  47958. t2 = t1 || query._at_root_query$_rule,
  47959. t3 = query.include;
  47960. if (t2 !== t3)
  47961. scope = new R._EvaluateVisitor__scopeForAtRoot_closure0(_this, scope);
  47962. if (t1 ? !t3 : query.names.contains$1(0, "media") !== t3)
  47963. scope = new R._EvaluateVisitor__scopeForAtRoot_closure1(_this, scope);
  47964. if (_this._inKeyframes && query.names.contains$1(0, "keyframes") !== t3)
  47965. scope = new R._EvaluateVisitor__scopeForAtRoot_closure2(_this, scope);
  47966. return _this._inUnknownAtRule && !C.JSArray_methods.any$1(included, new R._EvaluateVisitor__scopeForAtRoot_closure3()) ? new R._EvaluateVisitor__scopeForAtRoot_closure4(_this, scope) : scope;
  47967. },
  47968. visitContentBlock$1: function(node) {
  47969. return H.throwExpression(P.UnsupportedError$("Evaluation handles @include and its content block together."));
  47970. },
  47971. visitContentRule$1: function(node) {
  47972. var $content = this._evaluate$_environment._content;
  47973. if ($content == null)
  47974. return;
  47975. this._runUserDefinedCallable$4(node.$arguments, $content, node, new R._EvaluateVisitor_visitContentRule_closure(this, $content));
  47976. return;
  47977. },
  47978. visitDebugRule$1: function(node) {
  47979. var value = node.expression.accept$1(this),
  47980. t1 = J.getInterceptor$(value);
  47981. t1 = !!t1.$isSassString ? value.text : t1.toString$0(value);
  47982. this._logger.debug$2(t1, node.span);
  47983. return;
  47984. },
  47985. visitDeclaration$1: function(node) {
  47986. var $name, t1, cssValue, t2, oldDeclarationName, _this = this;
  47987. if (!(_this._styleRule != null && !_this._atRootExcludingStyleRule) && !_this._inUnknownAtRule && !_this._inKeyframes)
  47988. throw H.wrapException(_this._evaluate$_exception$2("Declarations may only be used within style rules.", node.span));
  47989. $name = _this._interpolationToValue$2$warnForColor(node.name, true);
  47990. t1 = _this._declarationName;
  47991. if (t1 != null)
  47992. $name = new F.CssValue(t1 + "-" + H.S($name.value), $name.span, [P.String]);
  47993. t1 = node.value;
  47994. cssValue = t1 == null ? null : new F.CssValue(t1.accept$1(_this), t1.get$span(), [F.Value]);
  47995. if (cssValue != null) {
  47996. t2 = cssValue.value;
  47997. t2 = !t2.get$isBlank() || t2.get$asList().length === 0;
  47998. } else
  47999. t2 = false;
  48000. if (t2) {
  48001. t2 = _this._evaluate$_parent;
  48002. t1 = _this._expressionNode$1(t1);
  48003. t1 = t1 == null ? null : t1.get$span();
  48004. t2.addChild$1(L.ModifiableCssDeclaration$($name, cssValue, node.span, t1));
  48005. } else if (J.startsWith$1$s($name.value, "--"))
  48006. throw H.wrapException(_this._evaluate$_exception$2("Custom property values may not be empty.", t1.get$span()));
  48007. if (node.children != null) {
  48008. oldDeclarationName = _this._declarationName;
  48009. _this._declarationName = $name.value;
  48010. _this._evaluate$_environment.scope$1$2$when(new R._EvaluateVisitor_visitDeclaration_closure(_this, node), node.hasDeclarations, P.Null);
  48011. _this._declarationName = oldDeclarationName;
  48012. }
  48013. return;
  48014. },
  48015. visitEachRule$1: function(node) {
  48016. var _this = this,
  48017. t1 = node.list,
  48018. list = t1.accept$1(_this),
  48019. nodeForSpan = _this._expressionNode$1(t1),
  48020. setVariables = node.variables.length === 1 ? new R._EvaluateVisitor_visitEachRule_closure(_this, node, nodeForSpan) : new R._EvaluateVisitor_visitEachRule_closure0(_this, node, nodeForSpan);
  48021. return _this._evaluate$_environment.scope$1$2$semiGlobal(new R._EvaluateVisitor_visitEachRule_closure1(_this, list, setVariables, node), true, F.Value);
  48022. },
  48023. _setMultipleVariables$3: function(variables, value, nodeForSpan) {
  48024. var i,
  48025. list = value.get$asList(),
  48026. t1 = variables.length,
  48027. minLength = Math.min(t1, list.length);
  48028. for (i = 0; i < minLength; ++i)
  48029. this._evaluate$_environment.setLocalVariable$3(variables[i], list[i].withoutSlash$0(), nodeForSpan);
  48030. for (i = minLength; i < t1; ++i)
  48031. this._evaluate$_environment.setLocalVariable$3(variables[i], C.C_SassNull, nodeForSpan);
  48032. },
  48033. visitErrorRule$1: function(node) {
  48034. throw H.wrapException(this._evaluate$_exception$2(J.toString$0$(node.expression.accept$1(this)), node.span));
  48035. },
  48036. visitExtendRule$1: function(node) {
  48037. var targetText, t1, t2, _i, t3, _this = this;
  48038. if (!(_this._styleRule != null && !_this._atRootExcludingStyleRule) || _this._declarationName != null)
  48039. throw H.wrapException(_this._evaluate$_exception$2("@extend may only be used within style rules.", node.span));
  48040. targetText = _this._interpolationToValue$2$warnForColor(node.selector, true);
  48041. for (t1 = _this._adjustParseError$2(targetText, new R._EvaluateVisitor_visitExtendRule_closure(_this, targetText)).components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  48042. t3 = t1[_i].components;
  48043. if (t3.length !== 1 || !(C.JSArray_methods.get$first(t3) instanceof X.CompoundSelector))
  48044. throw H.wrapException(E.SassFormatException$("complex selectors may not be extended.", targetText.span));
  48045. t3 = H.interceptedTypeCast(C.JSArray_methods.get$first(t3), "$isCompoundSelector").components;
  48046. if (t3.length !== 1)
  48047. throw H.wrapException(E.SassFormatException$("compound selectors may no longer be extended.\nConsider `@extend " + C.JSArray_methods.join$1(t3, ", ") + "` instead.\nSee http://bit.ly/ExtendCompound for details.\n", targetText.span));
  48048. _this._extender.addExtension$4(_this._styleRule.selector, C.JSArray_methods.get$first(t3), node, _this._mediaQueries);
  48049. }
  48050. return;
  48051. },
  48052. visitAtRule$1: function(node) {
  48053. var $name, t1, value, t2, t3, wasInKeyframes, wasInUnknownAtRule, _this = this;
  48054. if (_this._declarationName != null)
  48055. throw H.wrapException(_this._evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  48056. $name = _this._interpolationToValue$1(node.name);
  48057. t1 = node.value;
  48058. value = t1 == null ? null : _this._interpolationToValue$3$trim$warnForColor(t1, true, true);
  48059. if (node.children == null) {
  48060. t1 = _this._evaluate$_parent;
  48061. t2 = B.ModifiableCssNode;
  48062. t3 = H.setRuntimeTypeInfo([], [t2]);
  48063. t1.addChild$1(new U.ModifiableCssAtRule($name, value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  48064. return;
  48065. }
  48066. wasInKeyframes = _this._inKeyframes;
  48067. wasInUnknownAtRule = _this._inUnknownAtRule;
  48068. if (B.unvendor($name.value) === "keyframes")
  48069. _this._inKeyframes = true;
  48070. else
  48071. _this._inUnknownAtRule = true;
  48072. t1 = B.ModifiableCssNode;
  48073. t2 = H.setRuntimeTypeInfo([], [t1]);
  48074. _this._withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule($name, value, false, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitAtRule_closure(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitAtRule_closure0(), U.ModifiableCssAtRule, P.Null);
  48075. _this._inUnknownAtRule = wasInUnknownAtRule;
  48076. _this._inKeyframes = wasInKeyframes;
  48077. return;
  48078. },
  48079. visitForRule$1: function(node) {
  48080. var _this = this, t1 = {},
  48081. t2 = node.from,
  48082. fromNumber = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitForRule_closure(_this, node)),
  48083. t3 = node.to,
  48084. toNumber = _this._addExceptionSpan$2(t3, new R._EvaluateVisitor_visitForRule_closure0(_this, node)),
  48085. from = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitForRule_closure1(fromNumber, toNumber)),
  48086. to = t1.to = _this._addExceptionSpan$2(t3, new R._EvaluateVisitor_visitForRule_closure2(toNumber)),
  48087. direction = from > to ? -1 : 1;
  48088. if (from === (!node.isExclusive ? t1.to = to + direction : to))
  48089. return;
  48090. return _this._evaluate$_environment.scope$1$2$semiGlobal(new R._EvaluateVisitor_visitForRule_closure3(t1, _this, node, from, direction), true, F.Value);
  48091. },
  48092. visitForwardRule$1: function(node) {
  48093. var t1, t2, _this = this,
  48094. oldConfiguration = _this._configuration;
  48095. if (oldConfiguration.get$isNotEmpty(oldConfiguration)) {
  48096. t1 = node.prefix;
  48097. if (t1 != null)
  48098. _this._configuration = new R.UnprefixedMapView(_this._configuration, t1, [R._ConfiguredValue]);
  48099. t1 = node.shownVariables;
  48100. if (t1 != null)
  48101. _this._configuration = K.LimitedMapView$whitelist(_this._configuration, t1, P.String, R._ConfiguredValue);
  48102. else {
  48103. t1 = node.hiddenVariables;
  48104. if (t1 != null) {
  48105. t2 = t1._base;
  48106. t2 = t2.get$isNotEmpty(t2);
  48107. } else
  48108. t2 = false;
  48109. if (t2)
  48110. _this._configuration = K.LimitedMapView$blacklist(_this._configuration, t1, P.String, R._ConfiguredValue);
  48111. }
  48112. }
  48113. _this._loadModule$4(node.url, "@forward", node, new R._EvaluateVisitor_visitForwardRule_closure(_this, node));
  48114. _this._configuration = oldConfiguration;
  48115. return;
  48116. },
  48117. visitFunctionRule$1: function(node) {
  48118. var t1 = this._evaluate$_environment,
  48119. t2 = t1.closure$0(),
  48120. t3 = t1._functions,
  48121. index = t3.length - 1,
  48122. t4 = node.name;
  48123. t1._functionIndices.$indexSet(0, t4, index);
  48124. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [O.Environment]));
  48125. return;
  48126. },
  48127. visitIfRule$1: function(node) {
  48128. var t1, t2, _i, clauseToCheck, _box_0 = {};
  48129. _box_0.clause = node.lastClause;
  48130. for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  48131. clauseToCheck = t1[_i];
  48132. if (clauseToCheck.expression.accept$1(this).get$isTruthy()) {
  48133. _box_0.clause = clauseToCheck;
  48134. break;
  48135. }
  48136. }
  48137. t1 = _box_0.clause;
  48138. if (t1 == null)
  48139. return;
  48140. return this._evaluate$_environment.scope$1$3$semiGlobal$when(new R._EvaluateVisitor_visitIfRule_closure(_box_0, this), true, t1.hasDeclarations, F.Value);
  48141. },
  48142. visitImportRule$1: function(node) {
  48143. var t1, t2, t3, t4, t5, _i, $import, t6, result, supports, t7, t8, resolvedSupports, mediaQuery, t9, result0, _this = this, _null = null;
  48144. for (t1 = node.imports, t2 = t1.length, t3 = F.CssMediaQuery, t4 = [P.String], t5 = [F.ModifiableCssImport], _i = 0; _i < t2; ++_i) {
  48145. $import = t1[_i];
  48146. if ($import instanceof B.DynamicImport)
  48147. _this._visitDynamicImport$1($import);
  48148. else {
  48149. H.interceptedTypeCast($import, "$isStaticImport");
  48150. t6 = $import.url;
  48151. result = _this._performInterpolation$2$warnForColor(t6, false);
  48152. supports = $import.supports;
  48153. if (supports instanceof L.SupportsDeclaration) {
  48154. t7 = supports.name;
  48155. t7 = H.S(_this._evaluate$_serialize$3$quote(t7.accept$1(_this), t7, true)) + ": ";
  48156. t8 = supports.value;
  48157. resolvedSupports = t7 + H.S(_this._evaluate$_serialize$3$quote(t8.accept$1(_this), t8, true));
  48158. } else
  48159. resolvedSupports = supports == null ? _null : _this._visitSupportsCondition$1(supports);
  48160. t7 = $import.media;
  48161. mediaQuery = t7 == null ? _null : _this._visitMediaQueries$1(t7);
  48162. t7 = $import.span;
  48163. t8 = resolvedSupports == null ? _null : new F.CssValue("supports(" + resolvedSupports + ")", supports.get$span(), t4);
  48164. if (mediaQuery == null)
  48165. t9 = _null;
  48166. else {
  48167. result0 = P.List_List$from(mediaQuery, false, t3);
  48168. result0.fixed$length = Array;
  48169. result0.immutable$list = Array;
  48170. t9 = result0;
  48171. }
  48172. node = new F.ModifiableCssImport(new F.CssValue(result, t6.span, t4), t8, t9, t7);
  48173. t6 = _this._evaluate$_parent;
  48174. t7 = _this._root;
  48175. if (t6 != t7)
  48176. t6.addChild$1(node);
  48177. else if (_this._endOfImports === J.get$length$asx(t7.children._collection$_source)) {
  48178. t6 = _this._root;
  48179. t6.toString;
  48180. node._parent = t6;
  48181. t6 = t6._children;
  48182. node._indexInParent = t6.length;
  48183. t6.push(node);
  48184. _this._endOfImports = _this._endOfImports + 1;
  48185. } else {
  48186. t6 = _this._outOfOrderImports;
  48187. (t6 == null ? _this._outOfOrderImports = H.setRuntimeTypeInfo([], t5) : t6).push(node);
  48188. }
  48189. }
  48190. }
  48191. return;
  48192. },
  48193. _visitDynamicImport$1: function($import) {
  48194. return this._withStackFrame$3("@import", $import, new R._EvaluateVisitor__visitDynamicImport_closure(this, $import));
  48195. },
  48196. _loadStylesheet$3$baseUrl: function(url, span, baseUrl) {
  48197. var stylesheet, tuple, error, error0, message, t1, t2, t3, exception, _this = this;
  48198. try {
  48199. _this._importSpan = span;
  48200. if (_this._nodeImporter != null) {
  48201. stylesheet = _this._importLikeNode$1(url);
  48202. if (stylesheet != null)
  48203. return new S.Tuple2(null, stylesheet, [M.Importer, V.Stylesheet]);
  48204. } else {
  48205. t1 = P.Uri_parse(url);
  48206. t2 = _this._importer;
  48207. if (baseUrl == null) {
  48208. t3 = _this._stylesheet;
  48209. t3 = t3 == null ? null : t3.span;
  48210. t3 = t3 == null ? null : t3.file.url;
  48211. } else
  48212. t3 = baseUrl;
  48213. tuple = _this._importCache.import$3(t1, t2, t3);
  48214. if (tuple != null)
  48215. return tuple;
  48216. }
  48217. if (C.JSString_methods.startsWith$1(url, "package:") && true)
  48218. throw H.wrapException('"package:" URLs aren\'t supported on this platform.');
  48219. else
  48220. throw H.wrapException("Can't find stylesheet to import.");
  48221. } catch (exception) {
  48222. t1 = H.unwrapException(exception);
  48223. if (t1 instanceof E.SassException) {
  48224. error = t1;
  48225. t1 = _this._evaluate$_exception$2(error._span_exception$_message, error.get$span());
  48226. throw H.wrapException(t1);
  48227. } else {
  48228. error0 = t1;
  48229. message = null;
  48230. try {
  48231. message = H.stringTypeCast(J.get$message$x(error0));
  48232. } catch (exception) {
  48233. H.unwrapException(exception);
  48234. message = J.toString$0$(error0);
  48235. }
  48236. t1 = _this._evaluate$_exception$1(message);
  48237. throw H.wrapException(t1);
  48238. }
  48239. } finally {
  48240. _this._importSpan = null;
  48241. }
  48242. },
  48243. _loadStylesheet$2: function(url, span) {
  48244. return this._loadStylesheet$3$baseUrl(url, span, null);
  48245. },
  48246. _importLikeNode$1: function(originalUrl) {
  48247. var result, contents, url, _this = this,
  48248. t1 = _this._stylesheet.span;
  48249. t1 = t1 == null ? null : t1.file.url;
  48250. result = _this._nodeImporter.load$2(originalUrl, t1);
  48251. if (result == null)
  48252. return;
  48253. contents = result.item1;
  48254. url = result.item2;
  48255. t1 = J.getInterceptor$s(url).startsWith$1(url, "file:") ? $.$get$context().style.pathFromUri$1(M._parseUri(url)) : url;
  48256. _this._includedFiles.add$1(0, t1);
  48257. t1 = C.JSString_methods.startsWith$1(url, "file") ? M.Syntax_forPath(url) : C.Syntax_SCSS;
  48258. return V.Stylesheet_Stylesheet$parse(contents, t1, _this._logger, url);
  48259. },
  48260. visitIncludeRule$1: function(node) {
  48261. var t1, t2, t3, contentCallable, _this = this,
  48262. _s37_ = "Mixin doesn't accept a content block.",
  48263. mixin = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitIncludeRule_closure(_this, node));
  48264. if (mixin == null)
  48265. throw H.wrapException(_this._evaluate$_exception$2("Undefined mixin.", node.span));
  48266. if (!!mixin.$isBuiltInCallable) {
  48267. if (node.content != null)
  48268. throw H.wrapException(_this._evaluate$_exception$2(_s37_, node.span));
  48269. _this._runBuiltInCallable$3(node.$arguments, mixin, node);
  48270. } else {
  48271. t1 = [O.Environment];
  48272. if (H.checkSubtype(mixin, "$isUserDefinedCallable", t1, null)) {
  48273. t2 = node.content;
  48274. t3 = t2 == null;
  48275. if (!t3 && !H.interceptedTypeCast(mixin.declaration, "$isMixinRule").hasContent)
  48276. throw H.wrapException(_this._evaluate$_exception$2(_s37_, node.span));
  48277. contentCallable = t3 ? null : new E.UserDefinedCallable(t2, _this._evaluate$_environment.closure$0(), t1);
  48278. _this._runUserDefinedCallable$4(node.$arguments, mixin, node, new R._EvaluateVisitor_visitIncludeRule_closure0(_this, contentCallable, mixin, node));
  48279. } else
  48280. throw H.wrapException(P.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
  48281. }
  48282. return;
  48283. },
  48284. visitMixinRule$1: function(node) {
  48285. var t1 = this._evaluate$_environment,
  48286. t2 = t1.closure$0(),
  48287. t3 = t1._mixins,
  48288. index = t3.length - 1,
  48289. t4 = node.name;
  48290. t1._mixinIndices.$indexSet(0, t4, index);
  48291. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [O.Environment]));
  48292. return;
  48293. },
  48294. visitLoudComment$1: function(node) {
  48295. var t1, t2, _this = this;
  48296. if (_this._inFunction)
  48297. return;
  48298. t1 = _this._evaluate$_parent;
  48299. t2 = _this._root;
  48300. if (t1 == t2 && _this._endOfImports === J.get$length$asx(t2.children._collection$_source))
  48301. _this._endOfImports = _this._endOfImports + 1;
  48302. t1 = node.text;
  48303. _this._evaluate$_parent.addChild$1(new R.ModifiableCssComment(_this._performInterpolation$1(t1), t1.span));
  48304. return;
  48305. },
  48306. visitMediaRule$1: function(node) {
  48307. var queries, t1, mergedQueries, _this = this;
  48308. if (_this._declarationName != null)
  48309. throw H.wrapException(_this._evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  48310. queries = _this._visitMediaQueries$1(node.query);
  48311. t1 = _this._mediaQueries;
  48312. mergedQueries = t1 == null ? null : _this._mergeMediaQueries$2(t1, queries);
  48313. t1 = mergedQueries == null;
  48314. if (!t1 && mergedQueries.length === 0)
  48315. return;
  48316. t1 = t1 ? queries : mergedQueries;
  48317. _this._withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new R._EvaluateVisitor_visitMediaRule_closure(_this, mergedQueries, queries, node), node.hasDeclarations, new R._EvaluateVisitor_visitMediaRule_closure0(mergedQueries), G.ModifiableCssMediaRule, P.Null);
  48318. return;
  48319. },
  48320. _visitMediaQueries$1: function(interpolation) {
  48321. return this._adjustParseError$2(interpolation, new R._EvaluateVisitor__visitMediaQueries_closure(this, this._performInterpolation$2$warnForColor(interpolation, true)));
  48322. },
  48323. _mergeMediaQueries$2: function(queries1, queries2) {
  48324. var t1, t2, t3, t4, result,
  48325. queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]);
  48326. for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
  48327. t3 = t1.get$current(t1);
  48328. for (t4 = t2.get$iterator(queries2); t4.moveNext$0();) {
  48329. result = t3.merge$1(t4.get$current(t4));
  48330. if (result === C._SingletonCssMediaQueryMergeResult_empty)
  48331. continue;
  48332. if (result === C._SingletonCssMediaQueryMergeResult_unrepresentable)
  48333. return;
  48334. queries.push(H.interceptedTypeCast(result, "$isMediaQuerySuccessfulMergeResult").query);
  48335. }
  48336. }
  48337. return queries;
  48338. },
  48339. visitReturnRule$1: function(node) {
  48340. return node.expression.accept$1(this);
  48341. },
  48342. visitSilentComment$1: function(node) {
  48343. return;
  48344. },
  48345. visitStyleRule$1: function(node) {
  48346. var t2, selectorText, t3, t4, parsedSelector, rule, oldAtRootExcludingStyleRule, _this = this, t1 = {};
  48347. if (_this._declarationName != null)
  48348. throw H.wrapException(_this._evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  48349. t2 = node.selector;
  48350. selectorText = _this._interpolationToValue$3$trim$warnForColor(t2, true, true);
  48351. if (_this._inKeyframes) {
  48352. t1 = P.List_List$unmodifiable(_this._adjustParseError$2(t2, new R._EvaluateVisitor_visitStyleRule_closure(_this, selectorText)), P.String);
  48353. t3 = B.ModifiableCssNode;
  48354. t4 = H.setRuntimeTypeInfo([], [t3]);
  48355. _this._withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(new F.CssValue(t1, t2.span, [[P.List, P.String]]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new R._EvaluateVisitor_visitStyleRule_closure0(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitStyleRule_closure1(), U.ModifiableCssKeyframeBlock, P.Null);
  48356. return;
  48357. }
  48358. t1.parsedSelector = _this._adjustParseError$2(t2, new R._EvaluateVisitor_visitStyleRule_closure2(_this, selectorText));
  48359. parsedSelector = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitStyleRule_closure3(t1, _this));
  48360. t1.parsedSelector = parsedSelector;
  48361. rule = X.ModifiableCssStyleRule$(_this._extender.addSelector$3(parsedSelector, t2.span, _this._mediaQueries), node.span, t1.parsedSelector);
  48362. oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule;
  48363. _this._atRootExcludingStyleRule = false;
  48364. _this._withParent$2$4$scopeWhen$through(rule, new R._EvaluateVisitor_visitStyleRule_closure4(_this, rule, node), node.hasDeclarations, new R._EvaluateVisitor_visitStyleRule_closure5(), X.ModifiableCssStyleRule, P.Null);
  48365. _this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  48366. if (!(_this._styleRule != null && !oldAtRootExcludingStyleRule)) {
  48367. t1 = _this._evaluate$_parent.children;
  48368. t1 = !t1.get$isEmpty(t1);
  48369. } else
  48370. t1 = false;
  48371. if (t1) {
  48372. t1 = _this._evaluate$_parent.children;
  48373. t1.get$last(t1).isGroupEnd = true;
  48374. }
  48375. return;
  48376. },
  48377. visitSupportsRule$1: function(node) {
  48378. var t1, t2, t3, t4, _this = this;
  48379. if (_this._declarationName != null)
  48380. throw H.wrapException(_this._evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  48381. t1 = node.condition;
  48382. t2 = _this._visitSupportsCondition$1(t1);
  48383. t1 = t1.get$span();
  48384. t3 = B.ModifiableCssNode;
  48385. t4 = H.setRuntimeTypeInfo([], [t3]);
  48386. _this._withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(new F.CssValue(t2, t1, [P.String]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new R._EvaluateVisitor_visitSupportsRule_closure(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitSupportsRule_closure0(), B.ModifiableCssSupportsRule, P.Null);
  48387. return;
  48388. },
  48389. _visitSupportsCondition$1: function(condition) {
  48390. var t2, _this = this,
  48391. t1 = J.getInterceptor$(condition);
  48392. if (!!t1.$isSupportsOperation) {
  48393. t1 = condition.left;
  48394. t2 = condition.operator;
  48395. return H.S(_this._parenthesize$2(t1, t2)) + " " + t2 + " " + H.S(_this._parenthesize$2(condition.right, t2));
  48396. } else if (!!t1.$isSupportsNegation)
  48397. return "not " + H.S(_this._parenthesize$1(condition.condition));
  48398. else if (!!t1.$isSupportsInterpolation) {
  48399. t1 = condition.expression;
  48400. return _this._evaluate$_serialize$3$quote(t1.accept$1(_this), t1, false);
  48401. } else if (!!t1.$isSupportsDeclaration) {
  48402. t1 = condition.name;
  48403. t1 = "(" + H.S(_this._evaluate$_serialize$3$quote(t1.accept$1(_this), t1, true)) + ": ";
  48404. t2 = condition.value;
  48405. return t1 + H.S(_this._evaluate$_serialize$3$quote(t2.accept$1(_this), t2, true)) + ")";
  48406. } else
  48407. return;
  48408. },
  48409. _parenthesize$2: function(condition, operator) {
  48410. var t1;
  48411. if (!condition.$isSupportsNegation)
  48412. if (!!condition.$isSupportsOperation)
  48413. t1 = operator == null || operator !== condition.operator;
  48414. else
  48415. t1 = false;
  48416. else
  48417. t1 = true;
  48418. if (t1)
  48419. return "(" + H.S(this._visitSupportsCondition$1(condition)) + ")";
  48420. else
  48421. return this._visitSupportsCondition$1(condition);
  48422. },
  48423. _parenthesize$1: function(condition) {
  48424. return this._parenthesize$2(condition, null);
  48425. },
  48426. visitVariableDeclaration$1: function(node) {
  48427. var t1, override, value, t2, _this = this;
  48428. if (node.isGuarded) {
  48429. if (node.namespace == null && _this._evaluate$_environment._variables.length === 1) {
  48430. t1 = _this._configuration;
  48431. override = t1.get$isEmpty(t1) ? null : _this._configuration.remove$1(0, node.name);
  48432. if (override != null) {
  48433. _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure(_this, node, override));
  48434. return;
  48435. }
  48436. }
  48437. value = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure0(_this, node));
  48438. if (value != null && !value.$eq(0, C.C_SassNull))
  48439. return;
  48440. }
  48441. if (node.isGlobal && !_this._evaluate$_environment.globalVariableExists$1(node.name)) {
  48442. t1 = _this._evaluate$_environment._variables.length === 1 ? "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Since this assignment is at the root of the stylesheet,\nthe !global flag is unnecessary and can safely be removed." : "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Consider adding `" + B.declarationName(node.span) + ": null` at the root of the\nstylesheet.";
  48443. t2 = node.span;
  48444. _this._logger.warn$4$deprecation$span$trace(t1, true, t2, _this._stackTrace$1(t2));
  48445. }
  48446. _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure1(_this, node, node.expression.accept$1(_this).withoutSlash$0()));
  48447. return;
  48448. },
  48449. visitUseRule$1: function(node) {
  48450. var t2, t3, t4, t5, _this = this,
  48451. t1 = node.configuration;
  48452. if (t1.get$isEmpty(t1))
  48453. t1 = C.Map_empty1;
  48454. else {
  48455. t2 = P.LinkedHashMap_LinkedHashMap$_empty(P.String, R._ConfiguredValue);
  48456. for (t1 = t1.get$entries(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  48457. t3 = t1.get$current(t1);
  48458. t4 = t3.key;
  48459. t3 = t3.value;
  48460. t5 = t3.item1;
  48461. t2.$indexSet(0, t4, new R._ConfiguredValue(t5.accept$1(_this).withoutSlash$0(), t3.item2, _this._expressionNode$1(t5)));
  48462. }
  48463. t1 = t2;
  48464. }
  48465. _this._loadModule$5$configuration(node.url, "@use", node, new R._EvaluateVisitor_visitUseRule_closure(_this, node), t1);
  48466. return;
  48467. },
  48468. visitWarnRule$1: function(node) {
  48469. var _this = this,
  48470. value = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitWarnRule_closure(_this, node)),
  48471. t1 = value instanceof D.SassString ? value.text : _this._evaluate$_serialize$2(value, node.expression);
  48472. _this._logger.warn$2$trace(t1, _this._stackTrace$1(node.span));
  48473. return;
  48474. },
  48475. visitWhileRule$1: function(node) {
  48476. return this._evaluate$_environment.scope$1$3$semiGlobal$when(new R._EvaluateVisitor_visitWhileRule_closure(this, node), true, node.hasDeclarations, F.Value);
  48477. },
  48478. visitBinaryOperationExpression$1: function(node) {
  48479. return this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitBinaryOperationExpression_closure(this, node));
  48480. },
  48481. visitValueExpression$1: function(node) {
  48482. return node.value;
  48483. },
  48484. visitVariableExpression$1: function(node) {
  48485. var result = this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableExpression_closure(this, node));
  48486. if (result != null)
  48487. return result;
  48488. throw H.wrapException(this._evaluate$_exception$2("Undefined variable.", node.span));
  48489. },
  48490. visitUnaryOperationExpression$1: function(node) {
  48491. var operand = node.operand.accept$1(this),
  48492. t1 = node.operator;
  48493. switch (t1) {
  48494. case C.UnaryOperator_j2w:
  48495. return operand.unaryPlus$0();
  48496. case C.UnaryOperator_U4G:
  48497. return operand.unaryMinus$0();
  48498. case C.UnaryOperator_zDx:
  48499. operand.toString;
  48500. return new D.SassString("/" + N.serializeValue(operand, false, true), false);
  48501. case C.UnaryOperator_not_not:
  48502. return operand.unaryNot$0();
  48503. default:
  48504. throw H.wrapException(P.StateError$("Unknown unary operator " + H.S(t1) + "."));
  48505. }
  48506. },
  48507. visitBooleanExpression$1: function(node) {
  48508. return node.value ? C.SassBoolean_true : C.SassBoolean_false;
  48509. },
  48510. visitIfExpression$1: function(node) {
  48511. var condition, ifTrue, ifFalse, _this = this,
  48512. pair = _this._evaluateMacroArguments$1(node),
  48513. positional = pair.item1,
  48514. named = pair.item2,
  48515. t1 = J.getInterceptor$asx(positional);
  48516. _this._verifyArguments$4(t1.get$length(positional), named, $.$get$IfExpression_declaration(), node);
  48517. condition = t1.get$length(positional) > 0 ? t1.$index(positional, 0) : named.$index(0, "condition");
  48518. ifTrue = t1.get$length(positional) > 1 ? t1.$index(positional, 1) : named.$index(0, "if-true");
  48519. ifFalse = t1.get$length(positional) > 2 ? t1.$index(positional, 2) : named.$index(0, "if-false");
  48520. return (condition.accept$1(_this).get$isTruthy() ? ifTrue : ifFalse).accept$1(_this);
  48521. },
  48522. visitNullExpression$1: function(node) {
  48523. return C.C_SassNull;
  48524. },
  48525. visitNumberExpression$1: function(node) {
  48526. var t1 = node.unit;
  48527. t1 = t1 == null ? null : H.setRuntimeTypeInfo([t1], [P.String]);
  48528. t1 = t1 == null ? C.List_empty : P.List_List$unmodifiable(t1, P.String);
  48529. return new T.SassNumber(node.value, t1, C.List_empty, null);
  48530. },
  48531. visitParenthesizedExpression$1: function(node) {
  48532. return node.expression.accept$1(this);
  48533. },
  48534. visitColorExpression$1: function(node) {
  48535. return node.value;
  48536. },
  48537. visitListExpression$1: function(node) {
  48538. var t1 = node.contents;
  48539. return D.SassList$(new H.MappedListIterable(t1, new R._EvaluateVisitor_visitListExpression_closure(this), [H.getTypeArgumentByIndex(t1, 0), F.Value]), node.separator, node.hasBrackets);
  48540. },
  48541. visitMapExpression$1: function(node) {
  48542. var t2, t3, _i, pair, t4, keyValue, valueValue,
  48543. t1 = F.Value,
  48544. map = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  48545. for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
  48546. pair = t2[_i];
  48547. t4 = pair.item1;
  48548. keyValue = t4.accept$1(this);
  48549. valueValue = pair.item2.accept$1(this);
  48550. if (map.containsKey$1(keyValue))
  48551. throw H.wrapException(this._evaluate$_exception$2("Duplicate key.", t4.get$span()));
  48552. map.$indexSet(0, keyValue, valueValue);
  48553. }
  48554. return new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1));
  48555. },
  48556. visitFunctionExpression$1: function(node) {
  48557. var oldInFunction, result, _this = this, t1 = {},
  48558. t2 = node.name,
  48559. plainName = t2.get$asPlain();
  48560. t1.$function = null;
  48561. if ((plainName != null ? t1.$function = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitFunctionExpression_closure(_this, node, plainName)) : null) == null) {
  48562. if (node.namespace != null)
  48563. throw H.wrapException(_this._evaluate$_exception$2("Undefined function.", node.span));
  48564. t1.$function = new L.PlainCssCallable(_this._performInterpolation$1(t2));
  48565. }
  48566. oldInFunction = _this._inFunction;
  48567. _this._inFunction = true;
  48568. result = _this._addErrorSpan$2(node, new R._EvaluateVisitor_visitFunctionExpression_closure0(t1, _this, node));
  48569. _this._inFunction = oldInFunction;
  48570. return result;
  48571. },
  48572. _getFunction$2$namespace: function($name, namespace) {
  48573. var local = this._evaluate$_environment.getFunction$2$namespace($name, namespace);
  48574. if (local != null || namespace != null)
  48575. return local;
  48576. return this._builtInFunctions.$index(0, $name);
  48577. },
  48578. _runUserDefinedCallable$4: function($arguments, callable, nodeWithSpan, run) {
  48579. var evaluated = this._evaluateArguments$1($arguments),
  48580. t1 = callable.declaration.name,
  48581. $name = t1 == null ? "@content" : t1 + "()";
  48582. return this._withStackFrame$3($name, nodeWithSpan, new R._EvaluateVisitor__runUserDefinedCallable_closure(this, callable, evaluated, nodeWithSpan, run));
  48583. },
  48584. _runFunctionCallable$3: function($arguments, callable, nodeWithSpan) {
  48585. var result, t2, t3, first, _i, argument, rest, _this = this,
  48586. t1 = J.getInterceptor$(callable);
  48587. if (!!t1.$isBuiltInCallable) {
  48588. result = _this._runBuiltInCallable$3($arguments, callable, nodeWithSpan);
  48589. if (result == null)
  48590. throw H.wrapException(_this._evaluate$_exception$2("Custom functions may not return Dart's null.", nodeWithSpan.get$span()));
  48591. return result.withoutSlash$0();
  48592. } else if (H.checkSubtype(callable, "$isUserDefinedCallable", [O.Environment], null))
  48593. return _this._runUserDefinedCallable$4($arguments, callable, nodeWithSpan, new R._EvaluateVisitor__runFunctionCallable_closure(_this, callable)).withoutSlash$0();
  48594. else if (!!t1.$isPlainCssCallable) {
  48595. t1 = $arguments.named;
  48596. if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
  48597. throw H.wrapException(_this._evaluate$_exception$2("Plain CSS functions don't support keyword arguments.", nodeWithSpan.get$span()));
  48598. t1 = H.S(callable.name) + "(";
  48599. for (t2 = $arguments.positional, t3 = t2.length, first = true, _i = 0; _i < t3; ++_i) {
  48600. argument = t2[_i];
  48601. if (first)
  48602. first = false;
  48603. else
  48604. t1 += ", ";
  48605. t1 += H.S(_this._evaluate$_serialize$3$quote(argument.accept$1(_this), argument, true));
  48606. }
  48607. t2 = $arguments.rest;
  48608. rest = t2 == null ? null : t2.accept$1(_this);
  48609. if (rest != null) {
  48610. if (!first)
  48611. t1 += ", ";
  48612. t2 = t1 + H.S(_this._evaluate$_serialize$2(rest, t2));
  48613. t1 = t2;
  48614. }
  48615. t1 += H.Primitives_stringFromCharCode(41);
  48616. return new D.SassString(t1.charCodeAt(0) == 0 ? t1 : t1, false);
  48617. } else
  48618. return;
  48619. },
  48620. _runBuiltInCallable$3: function($arguments, callable, nodeWithSpan) {
  48621. var callback, result, error, message, t1, namedSet, tuple, overload, declaredArguments, i, t2, argument, t3, t4, rest, argumentList, exception, _this = this,
  48622. evaluated = _this._evaluateArguments$2$trackSpans($arguments, false),
  48623. oldCallableNode = _this._callableNode;
  48624. _this._callableNode = nodeWithSpan;
  48625. t1 = P.String;
  48626. namedSet = new M.MapKeySet(evaluated.named, [t1]);
  48627. tuple = callable.callbackFor$2(evaluated.positional.length, namedSet);
  48628. overload = tuple.item1;
  48629. callback = tuple.item2;
  48630. _this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__runBuiltInCallable_closure(overload, evaluated, namedSet));
  48631. declaredArguments = overload.$arguments;
  48632. for (i = evaluated.positional.length, t2 = declaredArguments.length; i < t2; ++i) {
  48633. argument = declaredArguments[i];
  48634. t3 = evaluated.positional;
  48635. t4 = evaluated.named.remove$1(0, argument.name);
  48636. if (t4 == null) {
  48637. t4 = argument.defaultValue;
  48638. t4 = t4 == null ? null : t4.accept$1(_this);
  48639. }
  48640. t3.push(t4);
  48641. }
  48642. if (overload.restArgument != null) {
  48643. if (evaluated.positional.length > t2) {
  48644. rest = C.JSArray_methods.sublist$1(evaluated.positional, t2);
  48645. C.JSArray_methods.removeRange$2(evaluated.positional, t2, evaluated.positional.length);
  48646. } else
  48647. rest = C.List_empty6;
  48648. t2 = evaluated.named;
  48649. t3 = evaluated.separator === C.ListSeparator_undecided ? C.ListSeparator_comma : evaluated.separator;
  48650. t4 = F.Value;
  48651. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t2, t1, t4), P.List_List$unmodifiable(rest, t4), t3, false);
  48652. argumentList.SassList$3$brackets(rest, t3, false);
  48653. evaluated.positional.push(argumentList);
  48654. } else
  48655. argumentList = null;
  48656. result = null;
  48657. try {
  48658. result = callback.call$1(evaluated.positional);
  48659. } catch (exception) {
  48660. t1 = H.unwrapException(exception);
  48661. if (t1 instanceof E.SassRuntimeException)
  48662. throw exception;
  48663. else {
  48664. error = t1;
  48665. message = null;
  48666. try {
  48667. message = H.stringTypeCast(J.get$message$x(error));
  48668. } catch (exception) {
  48669. H.unwrapException(exception);
  48670. message = J.toString$0$(error);
  48671. }
  48672. throw H.wrapException(_this._evaluate$_exception$2(message, nodeWithSpan.get$span()));
  48673. }
  48674. }
  48675. _this._callableNode = oldCallableNode;
  48676. if (argumentList == null)
  48677. return result;
  48678. t1 = evaluated.named;
  48679. if (t1.get$isEmpty(t1))
  48680. return result;
  48681. if (argumentList._wereKeywordsAccessed)
  48682. return result;
  48683. t1 = evaluated.named.get$keys();
  48684. throw H.wrapException(_this._evaluate$_exception$2("No " + B.pluralize("argument", t1.get$length(t1), null) + " named " + H.S(B.toSentence(evaluated.named.get$keys().map$1$1(0, new R._EvaluateVisitor__runBuiltInCallable_closure0(), P.Object), "or")) + ".", nodeWithSpan.get$span()));
  48685. },
  48686. _evaluateArguments$2$trackSpans: function($arguments, trackSpans) {
  48687. var t1, t2, t3, t4, _i, t5, t6, t7, named, t8, positionalNodes, namedNodes, rest, restNodeForSpan, separator, keywordRest, keywordRestNodeForSpan, _this = this, _null = null;
  48688. if (trackSpans == null)
  48689. trackSpans = _this._sourceMap;
  48690. t1 = F.Value;
  48691. t2 = H.setRuntimeTypeInfo([], [t1]);
  48692. for (t3 = $arguments.positional, t4 = t3.length, _i = 0; _i < t4; ++_i)
  48693. t2.push(t3[_i].accept$1(_this));
  48694. t5 = $arguments.named;
  48695. t6 = P.String;
  48696. t7 = T.Expression;
  48697. named = Y.mapMap(t5, _null, new R._EvaluateVisitor__evaluateArguments_closure(_this), t6, t7, t6, t1);
  48698. if (trackSpans) {
  48699. t8 = H.setRuntimeTypeInfo([], [B.AstNode]);
  48700. for (_i = 0; _i < t4; ++_i)
  48701. t8.push(_this._expressionNode$1(t3[_i]));
  48702. positionalNodes = t8;
  48703. } else
  48704. positionalNodes = _null;
  48705. namedNodes = trackSpans ? Y.mapMap(t5, _null, new R._EvaluateVisitor__evaluateArguments_closure0(_this), t6, t7, t6, B.AstNode) : _null;
  48706. t3 = $arguments.rest;
  48707. if (t3 == null)
  48708. return R._ArgumentResults$(t2, named, C.ListSeparator_undecided, namedNodes, positionalNodes);
  48709. rest = t3.accept$1(_this);
  48710. restNodeForSpan = trackSpans ? _this._expressionNode$1(t3) : _null;
  48711. t4 = J.getInterceptor$(rest);
  48712. if (!!t4.$isSassMap) {
  48713. _this._addRestMap$1$3(named, rest, t3, t1);
  48714. if (namedNodes != null) {
  48715. t3 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode);
  48716. for (t4 = rest.contents.get$keys(), t4 = t4.get$iterator(t4); t4.moveNext$0();)
  48717. t3.$indexSet(0, H.interceptedTypeCast(t4.get$current(t4), "$isSassString").text, restNodeForSpan);
  48718. namedNodes.addAll$1(0, t3);
  48719. }
  48720. separator = C.ListSeparator_undecided;
  48721. } else if (!!t4.$isSassList) {
  48722. t3 = rest._list$_contents;
  48723. C.JSArray_methods.addAll$1(t2, t3);
  48724. if (positionalNodes != null)
  48725. C.JSArray_methods.addAll$1(positionalNodes, P.List_List$filled(t3.length, restNodeForSpan, B.AstNode));
  48726. separator = rest.separator;
  48727. if (!!rest.$isSassArgumentList) {
  48728. rest._wereKeywordsAccessed = true;
  48729. rest._keywords.forEach$1(0, new R._EvaluateVisitor__evaluateArguments_closure1(named, namedNodes, restNodeForSpan));
  48730. }
  48731. } else {
  48732. t2.push(rest);
  48733. if (positionalNodes != null)
  48734. positionalNodes.push(restNodeForSpan);
  48735. separator = C.ListSeparator_undecided;
  48736. }
  48737. t3 = $arguments.keywordRest;
  48738. if (t3 == null)
  48739. return R._ArgumentResults$(t2, named, separator, namedNodes, positionalNodes);
  48740. keywordRest = t3.accept$1(_this);
  48741. keywordRestNodeForSpan = trackSpans ? _this._expressionNode$1(t3) : _null;
  48742. if (keywordRest instanceof A.SassMap) {
  48743. _this._addRestMap$1$3(named, keywordRest, t3, t1);
  48744. if (namedNodes != null) {
  48745. t1 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode);
  48746. for (t3 = keywordRest.contents.get$keys(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  48747. t1.$indexSet(0, H.interceptedTypeCast(t3.get$current(t3), "$isSassString").text, keywordRestNodeForSpan);
  48748. namedNodes.addAll$1(0, t1);
  48749. }
  48750. return R._ArgumentResults$(t2, named, separator, namedNodes, positionalNodes);
  48751. } else
  48752. throw H.wrapException(_this._evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", t3.get$span()));
  48753. },
  48754. _evaluateArguments$1: function($arguments) {
  48755. return this._evaluateArguments$2$trackSpans($arguments, null);
  48756. },
  48757. _evaluateMacroArguments$1: function(invocation) {
  48758. var t3, positional, named, rest, keywordRest, _this = this,
  48759. t1 = invocation.$arguments,
  48760. t2 = t1.rest;
  48761. if (t2 == null)
  48762. return new S.Tuple2(t1.positional, t1.named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  48763. t3 = t1.positional;
  48764. positional = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  48765. t3 = T.Expression;
  48766. named = P.LinkedHashMap_LinkedHashMap$of(t1.named, P.String, t3);
  48767. rest = t2.accept$1(_this);
  48768. t2 = J.getInterceptor$(rest);
  48769. if (!!t2.$isSassMap)
  48770. _this._addRestMap$1$4(named, rest, invocation, new R._EvaluateVisitor__evaluateMacroArguments_closure(), t3);
  48771. else if (!!t2.$isSassList) {
  48772. t2 = rest._list$_contents;
  48773. C.JSArray_methods.addAll$1(positional, new H.MappedListIterable(t2, new R._EvaluateVisitor__evaluateMacroArguments_closure0(), [H.getTypeArgumentByIndex(t2, 0), t3]));
  48774. if (!!rest.$isSassArgumentList) {
  48775. rest._wereKeywordsAccessed = true;
  48776. rest._keywords.forEach$1(0, new R._EvaluateVisitor__evaluateMacroArguments_closure1(named));
  48777. }
  48778. } else
  48779. positional.push(new F.ValueExpression(rest, null));
  48780. t1 = t1.keywordRest;
  48781. if (t1 == null)
  48782. return new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  48783. keywordRest = t1.accept$1(_this);
  48784. if (keywordRest instanceof A.SassMap) {
  48785. _this._addRestMap$1$4(named, keywordRest, invocation, new R._EvaluateVisitor__evaluateMacroArguments_closure2(), t3);
  48786. return new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  48787. } else
  48788. throw H.wrapException(_this._evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", invocation.span));
  48789. },
  48790. _addRestMap$1$4: function(values, map, nodeForSpan, convert, $T) {
  48791. var t1 = {};
  48792. t1.convert = convert;
  48793. if (convert == null)
  48794. t1.convert = new R._EvaluateVisitor__addRestMap_closure($T);
  48795. map.contents.forEach$1(0, new R._EvaluateVisitor__addRestMap_closure0(t1, this, values, map, nodeForSpan));
  48796. },
  48797. _addRestMap$1$3: function(values, map, nodeForSpan, $T) {
  48798. return this._addRestMap$1$4(values, map, nodeForSpan, null, $T);
  48799. },
  48800. _verifyArguments$4: function(positional, named, $arguments, nodeWithSpan) {
  48801. return this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__verifyArguments_closure($arguments, positional, named));
  48802. },
  48803. visitSelectorExpression$1: function(node) {
  48804. var t1 = this._styleRule;
  48805. if (t1 == null)
  48806. return C.C_SassNull;
  48807. return t1.originalSelector.get$asSassList();
  48808. },
  48809. visitStringExpression$1: function(node) {
  48810. var t1 = node.text.contents;
  48811. return new D.SassString(new H.MappedListIterable(t1, new R._EvaluateVisitor_visitStringExpression_closure(this), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0), node.hasQuotes);
  48812. },
  48813. visitCssAtRule$1: function(node) {
  48814. var t1, t2, t3, wasInKeyframes, wasInUnknownAtRule, _this = this;
  48815. if (_this._declarationName != null)
  48816. throw H.wrapException(_this._evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  48817. if (node.isChildless) {
  48818. t1 = _this._evaluate$_parent;
  48819. t2 = B.ModifiableCssNode;
  48820. t3 = H.setRuntimeTypeInfo([], [t2]);
  48821. t1.addChild$1(new U.ModifiableCssAtRule(node.name, node.value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  48822. return;
  48823. }
  48824. wasInKeyframes = _this._inKeyframes;
  48825. wasInUnknownAtRule = _this._inUnknownAtRule;
  48826. t1 = node.name;
  48827. if (B.unvendor(t1.get$value()) === "keyframes")
  48828. _this._inKeyframes = true;
  48829. else
  48830. _this._inUnknownAtRule = true;
  48831. t2 = B.ModifiableCssNode;
  48832. t3 = H.setRuntimeTypeInfo([], [t2]);
  48833. _this._withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule(t1, node.value, false, node.span, new P.UnmodifiableListView(t3, [t2]), t3), new R._EvaluateVisitor_visitCssAtRule_closure(_this, node), false, new R._EvaluateVisitor_visitCssAtRule_closure0(), U.ModifiableCssAtRule, P.Null);
  48834. _this._inUnknownAtRule = wasInUnknownAtRule;
  48835. _this._inKeyframes = wasInKeyframes;
  48836. },
  48837. visitCssComment$1: function(node) {
  48838. var _this = this,
  48839. t1 = _this._evaluate$_parent,
  48840. t2 = _this._root;
  48841. if (t1 == t2 && _this._endOfImports === J.get$length$asx(t2.children._collection$_source))
  48842. _this._endOfImports = _this._endOfImports + 1;
  48843. _this._evaluate$_parent.addChild$1(new R.ModifiableCssComment(node.text, node.span));
  48844. },
  48845. visitCssDeclaration$1: function(node) {
  48846. this._evaluate$_parent.addChild$1(L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap));
  48847. },
  48848. visitCssImport$1: function(node) {
  48849. var _this = this,
  48850. modifiableNode = F.ModifiableCssImport$(node.url, node.span, node.media, node.supports),
  48851. t1 = _this._evaluate$_parent,
  48852. t2 = _this._root;
  48853. if (t1 != t2)
  48854. t1.addChild$1(modifiableNode);
  48855. else if (_this._endOfImports === J.get$length$asx(t2.children._collection$_source)) {
  48856. _this._root.addChild$1(modifiableNode);
  48857. _this._endOfImports = _this._endOfImports + 1;
  48858. } else {
  48859. t1 = _this._outOfOrderImports;
  48860. (t1 == null ? _this._outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(modifiableNode);
  48861. }
  48862. },
  48863. visitCssKeyframeBlock$1: function(node) {
  48864. var t1 = B.ModifiableCssNode,
  48865. t2 = H.setRuntimeTypeInfo([], [t1]);
  48866. this._withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitCssKeyframeBlock_closure(this, node), false, new R._EvaluateVisitor_visitCssKeyframeBlock_closure0(), U.ModifiableCssKeyframeBlock, P.Null);
  48867. },
  48868. visitCssMediaRule$1: function(node) {
  48869. var t1, mergedQueries, _this = this;
  48870. if (_this._declarationName != null)
  48871. throw H.wrapException(_this._evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  48872. t1 = _this._mediaQueries;
  48873. mergedQueries = t1 == null ? null : _this._mergeMediaQueries$2(t1, node.queries);
  48874. t1 = mergedQueries == null;
  48875. if (!t1 && mergedQueries.length === 0)
  48876. return;
  48877. t1 = t1 ? node.queries : mergedQueries;
  48878. _this._withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new R._EvaluateVisitor_visitCssMediaRule_closure(_this, mergedQueries, node), false, new R._EvaluateVisitor_visitCssMediaRule_closure0(mergedQueries), G.ModifiableCssMediaRule, P.Null);
  48879. },
  48880. visitCssStyleRule$1: function(node) {
  48881. var t1, t2, t3, originalSelector, rule, oldAtRootExcludingStyleRule, _this = this;
  48882. if (_this._declarationName != null)
  48883. throw H.wrapException(_this._evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  48884. t1 = node.selector;
  48885. t2 = t1.value;
  48886. t3 = _this._styleRule;
  48887. t3 = t3 == null ? null : t3.originalSelector;
  48888. originalSelector = t2.resolveParentSelectors$2$implicitParent(t3, !_this._atRootExcludingStyleRule);
  48889. rule = X.ModifiableCssStyleRule$(_this._extender.addSelector$3(originalSelector, t1.span, _this._mediaQueries), node.span, originalSelector);
  48890. oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule;
  48891. _this._atRootExcludingStyleRule = false;
  48892. _this._withParent$2$4$scopeWhen$through(rule, new R._EvaluateVisitor_visitCssStyleRule_closure(_this, rule, node), false, new R._EvaluateVisitor_visitCssStyleRule_closure0(), X.ModifiableCssStyleRule, P.Null);
  48893. _this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  48894. if (!(_this._styleRule != null && !oldAtRootExcludingStyleRule)) {
  48895. t1 = _this._evaluate$_parent.children;
  48896. t1 = !t1.get$isEmpty(t1);
  48897. } else
  48898. t1 = false;
  48899. if (t1) {
  48900. t1 = _this._evaluate$_parent.children;
  48901. t1.get$last(t1).isGroupEnd = true;
  48902. }
  48903. },
  48904. visitCssStylesheet$1: function(node) {
  48905. var t1;
  48906. for (t1 = J.get$iterator$ax(node.get$children()); t1.moveNext$0();)
  48907. t1.get$current(t1).accept$1(this);
  48908. },
  48909. visitCssSupportsRule$1: function(node) {
  48910. var t1, t2, _this = this;
  48911. if (_this._declarationName != null)
  48912. throw H.wrapException(_this._evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  48913. t1 = B.ModifiableCssNode;
  48914. t2 = H.setRuntimeTypeInfo([], [t1]);
  48915. _this._withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitCssSupportsRule_closure(_this, node), false, new R._EvaluateVisitor_visitCssSupportsRule_closure0(), B.ModifiableCssSupportsRule, P.Null);
  48916. },
  48917. _handleReturn$1$2: function(list, callback) {
  48918. var t1, _i, result;
  48919. for (t1 = list.length, _i = 0; _i < list.length; list.length === t1 || (0, H.throwConcurrentModificationError)(list), ++_i) {
  48920. result = callback.call$1(list[_i]);
  48921. if (result != null)
  48922. return result;
  48923. }
  48924. return;
  48925. },
  48926. _handleReturn$2: function(list, callback) {
  48927. return this._handleReturn$1$2(list, callback, null);
  48928. },
  48929. _withEnvironment$1$2: function(environment, callback) {
  48930. var result,
  48931. oldEnvironment = this._evaluate$_environment;
  48932. this._evaluate$_environment = environment;
  48933. result = callback.call$0();
  48934. this._evaluate$_environment = oldEnvironment;
  48935. return result;
  48936. },
  48937. _withEnvironment$2: function(environment, callback) {
  48938. return this._withEnvironment$1$2(environment, callback, null);
  48939. },
  48940. _interpolationToValue$3$trim$warnForColor: function(interpolation, trim, warnForColor) {
  48941. var result = this._performInterpolation$2$warnForColor(interpolation, warnForColor),
  48942. t1 = trim ? B.trimAscii(result, true) : result;
  48943. return new F.CssValue(t1, interpolation.span, [P.String]);
  48944. },
  48945. _interpolationToValue$1: function(interpolation) {
  48946. return this._interpolationToValue$3$trim$warnForColor(interpolation, false, false);
  48947. },
  48948. _interpolationToValue$2$warnForColor: function(interpolation, warnForColor) {
  48949. return this._interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
  48950. },
  48951. _performInterpolation$2$warnForColor: function(interpolation, warnForColor) {
  48952. var t1 = interpolation.contents;
  48953. return new H.MappedListIterable(t1, new R._EvaluateVisitor__performInterpolation_closure(this, warnForColor), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0);
  48954. },
  48955. _performInterpolation$1: function(interpolation) {
  48956. return this._performInterpolation$2$warnForColor(interpolation, false);
  48957. },
  48958. _evaluate$_serialize$3$quote: function(value, nodeWithSpan, quote) {
  48959. return this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__serialize_closure(value, quote));
  48960. },
  48961. _evaluate$_serialize$2: function(value, nodeWithSpan) {
  48962. return this._evaluate$_serialize$3$quote(value, nodeWithSpan, true);
  48963. },
  48964. _expressionNode$1: function(expression) {
  48965. if (!this._sourceMap)
  48966. return;
  48967. if (expression instanceof S.VariableExpression)
  48968. return this._evaluate$_environment.getVariableNode$2$namespace(expression.name, expression.namespace);
  48969. else
  48970. return expression;
  48971. },
  48972. _withParent$2$4$scopeWhen$through: function(node, callback, scopeWhen, through, $S, $T) {
  48973. var oldParent, result, _this = this;
  48974. _this._addChild$2$through(node, through);
  48975. oldParent = _this._evaluate$_parent;
  48976. _this._evaluate$_parent = node;
  48977. result = _this._evaluate$_environment.scope$1$2$when(callback, scopeWhen, $T);
  48978. _this._evaluate$_parent = oldParent;
  48979. return result;
  48980. },
  48981. _withParent$2$3$scopeWhen: function(node, callback, scopeWhen, $S, $T) {
  48982. return this._withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
  48983. },
  48984. _withParent$2$2: function(node, callback, $S, $T) {
  48985. return this._withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
  48986. },
  48987. _addChild$2$through: function(node, through) {
  48988. var grandparent,
  48989. $parent = this._evaluate$_parent;
  48990. if (through != null) {
  48991. for (; through.call$1($parent);)
  48992. $parent = $parent._parent;
  48993. if ($parent.get$hasFollowingSibling()) {
  48994. grandparent = $parent._parent;
  48995. $parent = $parent.copyWithoutChildren$0();
  48996. grandparent.addChild$1($parent);
  48997. }
  48998. }
  48999. $parent.addChild$1(node);
  49000. },
  49001. _addChild$1: function(node) {
  49002. return this._addChild$2$through(node, null);
  49003. },
  49004. _withStyleRule$1$2: function(rule, callback) {
  49005. var result,
  49006. oldRule = this._styleRule;
  49007. this._styleRule = rule;
  49008. result = callback.call$0();
  49009. this._styleRule = oldRule;
  49010. return result;
  49011. },
  49012. _withStyleRule$2: function(rule, callback) {
  49013. return this._withStyleRule$1$2(rule, callback, null);
  49014. },
  49015. _withMediaQueries$1$2: function(queries, callback) {
  49016. var result,
  49017. oldMediaQueries = this._mediaQueries;
  49018. this._mediaQueries = queries;
  49019. result = callback.call$0();
  49020. this._mediaQueries = oldMediaQueries;
  49021. return result;
  49022. },
  49023. _withMediaQueries$2: function(queries, callback) {
  49024. return this._withMediaQueries$1$2(queries, callback, null);
  49025. },
  49026. _withStackFrame$1$3: function(member, nodeWithSpan, callback) {
  49027. var oldMember, result, _this = this,
  49028. t1 = _this._stack;
  49029. t1.push(new S.Tuple2(_this._member, nodeWithSpan, [P.String, B.AstNode]));
  49030. oldMember = _this._member;
  49031. _this._member = member;
  49032. result = callback.call$0();
  49033. _this._member = oldMember;
  49034. t1.pop();
  49035. return result;
  49036. },
  49037. _withStackFrame$3: function(member, nodeWithSpan, callback) {
  49038. return this._withStackFrame$1$3(member, nodeWithSpan, callback, null);
  49039. },
  49040. _stackFrame$2: function(member, span) {
  49041. var url = span.file.url;
  49042. return B.frameForSpan(span, member, url != null && this._importCache != null ? this._importCache.humanize$1(url) : url);
  49043. },
  49044. _stackTrace$1: function(span) {
  49045. var t3, _this = this,
  49046. t1 = A.Frame,
  49047. t2 = H.setRuntimeTypeInfo([], [t1]);
  49048. for (t3 = _this._stack, t3 = new H.MappedListIterable(t3, new R._EvaluateVisitor__stackTrace_closure(_this), [H.getTypeArgumentByIndex(t3, 0), t1]), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  49049. t2.push(t3.__internal$_current);
  49050. if (span != null)
  49051. t2.push(_this._stackFrame$2(_this._member, span));
  49052. return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t1), new P._StringStackTrace(null));
  49053. },
  49054. _stackTrace$0: function() {
  49055. return this._stackTrace$1(null);
  49056. },
  49057. _warn$3$deprecation: function(message, span, deprecation) {
  49058. return this._logger.warn$4$deprecation$span$trace(message, deprecation, span, this._stackTrace$1(span));
  49059. },
  49060. _warn$2: function(message, span) {
  49061. return this._warn$3$deprecation(message, span, false);
  49062. },
  49063. _evaluate$_exception$2: function(message, span) {
  49064. var t1 = span == null ? C.JSArray_methods.get$last(this._stack).item2.get$span() : span;
  49065. return new E.SassRuntimeException(this._stackTrace$1(span), message, t1);
  49066. },
  49067. _evaluate$_exception$1: function(message) {
  49068. return this._evaluate$_exception$2(message, null);
  49069. },
  49070. _adjustParseError$1$2: function(nodeWithSpan, callback) {
  49071. var error, errorText, span, syntheticFile, syntheticSpan, t1, exception, t2, t3, t4, t5, _null = null;
  49072. try {
  49073. t1 = callback.call$0();
  49074. return t1;
  49075. } catch (exception) {
  49076. t1 = H.unwrapException(exception);
  49077. if (t1 instanceof E.SassFormatException) {
  49078. error = t1;
  49079. t1 = error;
  49080. errorText = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(t1).file._decodedChars, 0, _null), 0, _null);
  49081. span = nodeWithSpan.get$span();
  49082. t1 = span;
  49083. t2 = span;
  49084. syntheticFile = C.JSString_methods.replaceRange$3(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, 0, _null), 0, _null), Y.FileLocation$_(t1.file, t1._start).offset, Y.FileLocation$_(t2.file, t2._file$_end).offset, errorText);
  49085. t2 = syntheticFile;
  49086. t1 = span.file.url;
  49087. t2.toString;
  49088. t2 = new H.CodeUnits(t2);
  49089. t3 = H.setRuntimeTypeInfo([0], [P.int]);
  49090. t3 = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2))));
  49091. t3.SourceFile$decoded$2$url(t2, t1);
  49092. t1 = span;
  49093. t1 = Y.FileLocation$_(t1.file, t1._start);
  49094. t2 = error;
  49095. t2 = G.SourceSpanException.prototype.get$span.call(t2);
  49096. t2 = Y.FileLocation$_(t2.file, t2._start);
  49097. t4 = span;
  49098. t4 = Y.FileLocation$_(t4.file, t4._start);
  49099. t5 = error;
  49100. t5 = G.SourceSpanException.prototype.get$span.call(t5);
  49101. syntheticSpan = t3.span$2(t1.offset + t2.offset, t4.offset + Y.FileLocation$_(t5.file, t5._file$_end).offset);
  49102. throw H.wrapException(this._evaluate$_exception$2(error._span_exception$_message, syntheticSpan));
  49103. } else
  49104. throw exception;
  49105. }
  49106. },
  49107. _adjustParseError$2: function(nodeWithSpan, callback) {
  49108. return this._adjustParseError$1$2(nodeWithSpan, callback, null);
  49109. },
  49110. _addExceptionSpan$1$2: function(nodeWithSpan, callback) {
  49111. var error, t1, exception;
  49112. try {
  49113. t1 = callback.call$0();
  49114. return t1;
  49115. } catch (exception) {
  49116. t1 = H.unwrapException(exception);
  49117. if (t1 instanceof E.SassScriptException) {
  49118. error = t1;
  49119. throw H.wrapException(this._evaluate$_exception$2(error.message, nodeWithSpan.get$span()));
  49120. } else
  49121. throw exception;
  49122. }
  49123. },
  49124. _addExceptionSpan$2: function(nodeWithSpan, callback) {
  49125. return this._addExceptionSpan$1$2(nodeWithSpan, callback, null);
  49126. },
  49127. _addErrorSpan$1$2: function(nodeWithSpan, callback) {
  49128. var error, t1, exception;
  49129. try {
  49130. t1 = callback.call$0();
  49131. return t1;
  49132. } catch (exception) {
  49133. t1 = H.unwrapException(exception);
  49134. if (t1 instanceof E.SassRuntimeException) {
  49135. error = t1;
  49136. t1 = error;
  49137. t1 = G.SourceSpanException.prototype.get$span.call(t1);
  49138. if (!C.JSString_methods.startsWith$1(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null), "@error"))
  49139. throw exception;
  49140. throw H.wrapException(E.SassRuntimeException$(error._span_exception$_message, nodeWithSpan.get$span(), this._stackTrace$0()));
  49141. } else
  49142. throw exception;
  49143. }
  49144. },
  49145. _addErrorSpan$2: function(nodeWithSpan, callback) {
  49146. return this._addErrorSpan$1$2(nodeWithSpan, callback, null);
  49147. }
  49148. };
  49149. R._EvaluateVisitor_closure.prototype = {
  49150. call$1: function($arguments) {
  49151. var module, t2,
  49152. t1 = J.getInterceptor$asx($arguments),
  49153. variable = t1.$index($arguments, 0).assertString$1("name");
  49154. t1 = t1.$index($arguments, 1).get$realNull();
  49155. module = t1 == null ? null : t1.assertString$1("module");
  49156. t1 = this.$this._evaluate$_environment;
  49157. t2 = variable.text;
  49158. t2.toString;
  49159. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  49160. return t1.globalVariableExists$2$namespace(t2, module == null ? null : module.text) ? C.SassBoolean_true : C.SassBoolean_false;
  49161. },
  49162. $signature: 3
  49163. };
  49164. R._EvaluateVisitor_closure0.prototype = {
  49165. call$1: function($arguments) {
  49166. var variable = J.$index$asx($arguments, 0).assertString$1("name"),
  49167. t1 = this.$this._evaluate$_environment,
  49168. t2 = variable.text;
  49169. t2.toString;
  49170. return t1.getVariable$1(H.stringReplaceAllUnchecked(t2, "_", "-")) != null ? C.SassBoolean_true : C.SassBoolean_false;
  49171. },
  49172. $signature: 3
  49173. };
  49174. R._EvaluateVisitor_closure1.prototype = {
  49175. call$1: function($arguments) {
  49176. var module, t2, t3, t4,
  49177. t1 = J.getInterceptor$asx($arguments),
  49178. variable = t1.$index($arguments, 0).assertString$1("name");
  49179. t1 = t1.$index($arguments, 1).get$realNull();
  49180. module = t1 == null ? null : t1.assertString$1("module");
  49181. t1 = this.$this;
  49182. t2 = t1._evaluate$_environment;
  49183. t3 = variable.text;
  49184. t3.toString;
  49185. t4 = H.stringReplaceAllUnchecked(t3, "_", "-");
  49186. return t2.getFunction$2$namespace(t4, module == null ? null : module.text) != null || t1._builtInFunctions.containsKey$1(t3) ? C.SassBoolean_true : C.SassBoolean_false;
  49187. },
  49188. $signature: 3
  49189. };
  49190. R._EvaluateVisitor_closure2.prototype = {
  49191. call$1: function($arguments) {
  49192. var module, t2,
  49193. t1 = J.getInterceptor$asx($arguments),
  49194. variable = t1.$index($arguments, 0).assertString$1("name");
  49195. t1 = t1.$index($arguments, 1).get$realNull();
  49196. module = t1 == null ? null : t1.assertString$1("module");
  49197. t1 = this.$this._evaluate$_environment;
  49198. t2 = variable.text;
  49199. t2.toString;
  49200. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  49201. return t1.getMixin$2$namespace(t2, module == null ? null : module.text) != null ? C.SassBoolean_true : C.SassBoolean_false;
  49202. },
  49203. $signature: 3
  49204. };
  49205. R._EvaluateVisitor_closure3.prototype = {
  49206. call$1: function($arguments) {
  49207. var t1 = this.$this._evaluate$_environment;
  49208. if (!t1._inMixin)
  49209. throw H.wrapException(E.SassScriptException$("content-exists() may only be called within a mixin."));
  49210. return t1._content != null ? C.SassBoolean_true : C.SassBoolean_false;
  49211. },
  49212. $signature: 3
  49213. };
  49214. R._EvaluateVisitor_closure4.prototype = {
  49215. call$1: function($arguments) {
  49216. var t2, t3, t4,
  49217. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  49218. module = this.$this._evaluate$_environment._environment$_modules.$index(0, t1);
  49219. if (module == null)
  49220. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  49221. t1 = F.Value;
  49222. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  49223. for (t3 = module.get$variables().get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  49224. t4 = t3.get$current(t3);
  49225. t2.$indexSet(0, new D.SassString(t4.key, true), t4.value);
  49226. }
  49227. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  49228. },
  49229. $signature: 9
  49230. };
  49231. R._EvaluateVisitor_closure5.prototype = {
  49232. call$1: function($arguments) {
  49233. var t2, t3, t4,
  49234. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  49235. module = this.$this._evaluate$_environment._environment$_modules.$index(0, t1);
  49236. if (module == null)
  49237. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  49238. t1 = F.Value;
  49239. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  49240. for (t3 = module.get$functions(module).get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  49241. t4 = t3.get$current(t3);
  49242. t2.$indexSet(0, new D.SassString(t4.key, true), new F.SassFunction(t4.value));
  49243. }
  49244. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  49245. },
  49246. $signature: 9
  49247. };
  49248. R._EvaluateVisitor_closure6.prototype = {
  49249. call$1: function($arguments) {
  49250. var module, callable,
  49251. t1 = J.getInterceptor$asx($arguments),
  49252. $name = t1.$index($arguments, 0).assertString$1("name"),
  49253. css = t1.$index($arguments, 1).get$isTruthy();
  49254. t1 = t1.$index($arguments, 2).get$realNull();
  49255. module = t1 == null ? null : t1.assertString$1("module");
  49256. if (css && module != null)
  49257. throw H.wrapException("$css and $module may not both be passed at once.");
  49258. if (css)
  49259. callable = new L.PlainCssCallable($name.text);
  49260. else {
  49261. t1 = this.$this;
  49262. callable = t1._addExceptionSpan$2(t1._callableNode, new R._EvaluateVisitor__closure3(t1, $name, module));
  49263. }
  49264. if (callable != null)
  49265. return new F.SassFunction(callable);
  49266. throw H.wrapException("Function not found: " + $name.toString$0(0));
  49267. },
  49268. $signature: 32
  49269. };
  49270. R._EvaluateVisitor__closure3.prototype = {
  49271. call$0: function() {
  49272. var t2,
  49273. t1 = this.name.text;
  49274. t1.toString;
  49275. t1 = H.stringReplaceAllUnchecked(t1, "_", "-");
  49276. t2 = this.module;
  49277. t2 = t2 == null ? null : t2.text;
  49278. return this.$this._getFunction$2$namespace(t1, t2);
  49279. }
  49280. };
  49281. R._EvaluateVisitor_closure7.prototype = {
  49282. call$1: function($arguments) {
  49283. var t2, t3, t4, t5, t6, t7, t8, invocation, callable,
  49284. t1 = J.getInterceptor$asx($arguments),
  49285. $function = t1.$index($arguments, 0),
  49286. args = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  49287. t1 = T.Expression;
  49288. t2 = H.setRuntimeTypeInfo([], [t1]);
  49289. t3 = P.String;
  49290. t4 = this.$this;
  49291. t5 = t4._callableNode.get$span();
  49292. t6 = t4._callableNode.get$span();
  49293. args._wereKeywordsAccessed = true;
  49294. t7 = args._keywords;
  49295. if (t7.get$isEmpty(t7))
  49296. t7 = null;
  49297. else {
  49298. args._wereKeywordsAccessed = true;
  49299. t8 = F.Value;
  49300. t8 = new F.ValueExpression(new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(t7, new R._EvaluateVisitor__closure1(), new R._EvaluateVisitor__closure2(), t3, t8, t8, t8), t8, t8)), t4._callableNode.get$span());
  49301. t7 = t8;
  49302. }
  49303. invocation = X.ArgumentInvocation$(t2, P.LinkedHashMap_LinkedHashMap$_empty(t3, t1), t5, t7, new F.ValueExpression(args, t6));
  49304. if ($function instanceof D.SassString) {
  49305. N.warn("Passing a string to call() is deprecated and will be illegal\nin Dart Sass 2.0.0. Use call(get-function(" + $function.toString$0(0) + ")) instead.", true);
  49306. return t4.visitFunctionExpression$1(new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([$function.text], [P.Object]), t4._callableNode.get$span()), invocation, t4._callableNode.get$span()));
  49307. }
  49308. callable = $function.assertFunction$1("function").callable;
  49309. if (!!J.getInterceptor$(callable).$isCallable)
  49310. return t4._runFunctionCallable$3(invocation, callable, t4._callableNode);
  49311. else
  49312. throw H.wrapException(E.SassScriptException$("The function " + H.S(callable.get$name()) + " is asynchronous.\nThis is probably caused by a bug in a Sass plugin."));
  49313. },
  49314. $signature: 0
  49315. };
  49316. R._EvaluateVisitor__closure1.prototype = {
  49317. call$2: function(key, _) {
  49318. return new D.SassString(key, false);
  49319. }
  49320. };
  49321. R._EvaluateVisitor__closure2.prototype = {
  49322. call$2: function(_, value) {
  49323. return value;
  49324. }
  49325. };
  49326. R._EvaluateVisitor_closure8.prototype = {
  49327. call$1: function($arguments) {
  49328. var withMap, t3, t4, t1 = {},
  49329. t2 = J.getInterceptor$asx($arguments),
  49330. url = P.Uri_parse(t2.$index($arguments, 0).assertString$1("module").text);
  49331. t2 = t2.$index($arguments, 1).get$realNull();
  49332. t2 = t2 == null ? null : t2.assertMap$1("with");
  49333. withMap = t2 == null ? null : t2.contents;
  49334. t1.configuration = C.Map_empty1;
  49335. if (withMap != null) {
  49336. t1.configuration = P.LinkedHashMap_LinkedHashMap$_empty(P.String, R._ConfiguredValue);
  49337. withMap.forEach$1(0, new R._EvaluateVisitor__closure(t1, this.$this._callableNode.get$span()));
  49338. }
  49339. t2 = this.$this;
  49340. t3 = t2._callableNode;
  49341. t4 = t3.get$span();
  49342. t2._loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t3, new R._EvaluateVisitor__closure0(t2), t4.file.url, t1.configuration, true);
  49343. return;
  49344. },
  49345. $signature: 30
  49346. };
  49347. R._EvaluateVisitor__closure.prototype = {
  49348. call$2: function(variable, value) {
  49349. var $name,
  49350. t1 = variable.assertString$1("with key").text;
  49351. t1.toString;
  49352. $name = H.stringReplaceAllUnchecked(t1, "_", "-");
  49353. t1 = this._box_0;
  49354. if (t1.configuration.containsKey$1($name))
  49355. throw H.wrapException("The variable $" + $name + " was configured twice.");
  49356. t1.configuration.$indexSet(0, $name, new R._ConfiguredValue(value, this.span, null));
  49357. }
  49358. };
  49359. R._EvaluateVisitor__closure0.prototype = {
  49360. call$1: function(module) {
  49361. var t1 = this.$this;
  49362. return t1._combineCss$2$clone(module, true).accept$1(t1);
  49363. }
  49364. };
  49365. R._EvaluateVisitor_run_closure.prototype = {
  49366. call$0: function() {
  49367. var _this = this,
  49368. t1 = _this.node,
  49369. t2 = t1.span,
  49370. url = t2 == null ? null : t2.file.url;
  49371. if (url != null) {
  49372. t2 = _this.$this;
  49373. t2._activeModules.add$1(0, url);
  49374. if (t2._nodeImporter != null)
  49375. if (url.get$scheme() === "file")
  49376. t2._includedFiles.add$1(0, $.$get$context().style.pathFromUri$1(M._parseUri(url)));
  49377. else if (url.toString$0(0) !== "stdin")
  49378. t2._includedFiles.add$1(0, url.toString$0(0));
  49379. }
  49380. t2 = _this.$this;
  49381. return new E.EvaluateResult(t2._combineCss$1(t2._execute$2(_this.importer, t1)), t2._includedFiles);
  49382. }
  49383. };
  49384. R._EvaluateVisitor_runExpression_closure.prototype = {
  49385. call$0: function() {
  49386. var t1 = this.$this,
  49387. t2 = this.expression;
  49388. return t1._withFakeStylesheet$3(this.importer, t2, new R._EvaluateVisitor_runExpression__closure(t1, t2));
  49389. }
  49390. };
  49391. R._EvaluateVisitor_runExpression__closure.prototype = {
  49392. call$0: function() {
  49393. return this.expression.accept$1(this.$this);
  49394. }
  49395. };
  49396. R._EvaluateVisitor_runStatement_closure.prototype = {
  49397. call$0: function() {
  49398. var t1 = this.$this,
  49399. t2 = this.statement;
  49400. return t1._withFakeStylesheet$3(this.importer, t2, new R._EvaluateVisitor_runStatement__closure(t1, t2));
  49401. }
  49402. };
  49403. R._EvaluateVisitor_runStatement__closure.prototype = {
  49404. call$0: function() {
  49405. return this.statement.accept$1(this.$this);
  49406. }
  49407. };
  49408. R._EvaluateVisitor__withWarnCallback_closure.prototype = {
  49409. call$2: function(message, deprecation) {
  49410. var t1 = this.$this,
  49411. t2 = t1._importSpan;
  49412. return t1._warn$3$deprecation(message, t2 == null ? t1._callableNode.get$span() : t2, deprecation);
  49413. },
  49414. "call*": "call$2",
  49415. $requiredArgCount: 2
  49416. };
  49417. R._EvaluateVisitor__loadModule_closure.prototype = {
  49418. call$0: function() {
  49419. var module, error, error0, exception, t3, _this = this,
  49420. t1 = _this.$this,
  49421. result = B.inUseRule(new R._EvaluateVisitor__loadModule__closure(t1, _this.url, _this.nodeForSpan, _this.baseUrl)),
  49422. importer = result.item1,
  49423. stylesheet = result.item2,
  49424. canonicalUrl = stylesheet.span.file.url,
  49425. t2 = t1._activeModules;
  49426. if (t2.contains$1(0, canonicalUrl))
  49427. throw H.wrapException(t1._evaluate$_exception$1(_this.namesInErrors ? "Module loop: " + H.S(D.prettyUri(canonicalUrl)) + " is already being loaded." : "Module loop: this module is already being loaded."));
  49428. t2.add$1(0, canonicalUrl);
  49429. module = null;
  49430. try {
  49431. module = t1._execute$4$configuration$namesInErrors(importer, stylesheet, _this.configuration, _this.namesInErrors);
  49432. } finally {
  49433. t2.remove$1(0, canonicalUrl);
  49434. }
  49435. try {
  49436. _this.callback.call$1(module);
  49437. } catch (exception) {
  49438. t2 = H.unwrapException(exception);
  49439. t3 = J.getInterceptor$(t2);
  49440. if (!!t3.$isSassRuntimeException)
  49441. throw exception;
  49442. else if (!!t3.$isSassException) {
  49443. error = t2;
  49444. throw H.wrapException(t1._evaluate$_exception$2(error._span_exception$_message, error.get$span()));
  49445. } else if (!!t3.$isSassScriptException) {
  49446. error0 = t2;
  49447. throw H.wrapException(t1._evaluate$_exception$1(error0.message));
  49448. } else
  49449. throw exception;
  49450. }
  49451. }
  49452. };
  49453. R._EvaluateVisitor__loadModule__closure.prototype = {
  49454. call$0: function() {
  49455. var _this = this;
  49456. return _this.$this._loadStylesheet$3$baseUrl(J.toString$0$(_this.url), _this.nodeForSpan.get$span(), _this.baseUrl);
  49457. }
  49458. };
  49459. R._EvaluateVisitor__execute_closure.prototype = {
  49460. call$0: function() {
  49461. var t2, t3, t4, t5, t6, css, _this = this,
  49462. t1 = _this.$this,
  49463. oldImporter = t1._importer,
  49464. oldStylesheet = t1._stylesheet,
  49465. oldRoot = t1._root,
  49466. oldParent = t1._evaluate$_parent,
  49467. oldEndOfImports = t1._endOfImports,
  49468. oldOutOfOrderImports = t1._outOfOrderImports,
  49469. oldExtender = t1._extender,
  49470. oldStyleRule = t1._styleRule,
  49471. oldMediaQueries = t1._mediaQueries,
  49472. oldDeclarationName = t1._declarationName,
  49473. oldInUnknownAtRule = t1._inUnknownAtRule,
  49474. oldAtRootExcludingStyleRule = t1._atRootExcludingStyleRule,
  49475. oldInKeyframes = t1._inKeyframes,
  49476. oldConfiguration = t1._configuration;
  49477. t1._importer = _this.importer;
  49478. t2 = t1._stylesheet = _this.stylesheet;
  49479. t3 = t2.span;
  49480. t4 = B.ModifiableCssNode;
  49481. t5 = H.setRuntimeTypeInfo([], [t4]);
  49482. t1._evaluate$_parent = t1._root = new V.ModifiableCssStylesheet(t3, new P.UnmodifiableListView(t5, [t4]), t5);
  49483. t1._endOfImports = 0;
  49484. t1._outOfOrderImports = null;
  49485. t1._extender = _this.extender;
  49486. t1._declarationName = t1._mediaQueries = t1._styleRule = null;
  49487. t5 = t1._inKeyframes = t1._atRootExcludingStyleRule = t1._inUnknownAtRule = false;
  49488. t4 = _this.configuration;
  49489. t6 = t4 != null;
  49490. if (t6)
  49491. t1._configuration = t4.get$isEmpty(t4) ? C.Map_empty1 : P.LinkedHashMap_LinkedHashMap$of(t4, P.String, R._ConfiguredValue);
  49492. t1.visitStylesheet$1(t2);
  49493. css = t1._outOfOrderImports == null ? t1._root : new V.CssStylesheet(new P.UnmodifiableListView(t1._addOutOfOrderImports$0(), [B.CssNode]), t3);
  49494. _this._box_0.css = css;
  49495. t1._importer = oldImporter;
  49496. t1._stylesheet = oldStylesheet;
  49497. t1._root = oldRoot;
  49498. t1._evaluate$_parent = oldParent;
  49499. t1._endOfImports = oldEndOfImports;
  49500. t1._outOfOrderImports = oldOutOfOrderImports;
  49501. t1._extender = oldExtender;
  49502. t1._styleRule = oldStyleRule;
  49503. t1._mediaQueries = oldMediaQueries;
  49504. t1._declarationName = oldDeclarationName;
  49505. t1._inUnknownAtRule = oldInUnknownAtRule;
  49506. t1._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  49507. t1._inKeyframes = oldInKeyframes;
  49508. if (t6) {
  49509. t2 = t1._configuration;
  49510. t2 = t2.get$isNotEmpty(t2);
  49511. } else
  49512. t2 = t5;
  49513. if (t2) {
  49514. t2 = _this.namesInErrors ? "$" + H.S(J.get$first$ax(t1._configuration.get$keys())) + " was not declared with !default in the @used module." : "This variable was not declared with !default in the @used module.";
  49515. t3 = t1._configuration.get$values();
  49516. throw H.wrapException(t1._evaluate$_exception$2(t2, t3.get$first(t3).configurationSpan));
  49517. }
  49518. t1._configuration = oldConfiguration;
  49519. }
  49520. };
  49521. R._EvaluateVisitor__combineCss_closure.prototype = {
  49522. call$1: function(module) {
  49523. return module.get$transitivelyContainsCss();
  49524. }
  49525. };
  49526. R._EvaluateVisitor__combineCss_closure0.prototype = {
  49527. call$1: function(target) {
  49528. return !this.selectors.contains$1(0, target);
  49529. }
  49530. };
  49531. R._EvaluateVisitor__combineCss_closure1.prototype = {
  49532. call$1: function(module) {
  49533. return module.cloneCss$0();
  49534. }
  49535. };
  49536. R._EvaluateVisitor__extendModules_closure.prototype = {
  49537. call$1: function(target) {
  49538. return !this.originalSelectors.contains$1(0, target);
  49539. }
  49540. };
  49541. R._EvaluateVisitor__extendModules_closure0.prototype = {
  49542. call$0: function() {
  49543. return H.setRuntimeTypeInfo([], [F.Extender]);
  49544. }
  49545. };
  49546. R._EvaluateVisitor__topologicalModules_visitModule.prototype = {
  49547. call$1: function(module) {
  49548. var t1, t2, t3, _i, upstream;
  49549. for (t1 = module.get$upstream(), t2 = t1.length, t3 = this.seen, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  49550. upstream = t1[_i];
  49551. if (upstream.get$transitivelyContainsCss() && t3.add$1(0, upstream))
  49552. this.call$1(upstream);
  49553. }
  49554. this.sorted.addFirst$1(module);
  49555. }
  49556. };
  49557. R._EvaluateVisitor_visitAtRootRule_closure.prototype = {
  49558. call$0: function() {
  49559. var t1 = S.SpanScanner$(this.resolved, null);
  49560. return new V.AtRootQueryParser(t1, this.$this._logger).parse$0();
  49561. }
  49562. };
  49563. R._EvaluateVisitor_visitAtRootRule_closure0.prototype = {
  49564. call$0: function() {
  49565. var t1, t2, t3, _i;
  49566. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49567. t1[_i].accept$1(t3);
  49568. }
  49569. };
  49570. R._EvaluateVisitor_visitAtRootRule_closure1.prototype = {
  49571. call$0: function() {
  49572. var t1, t2, t3, _i;
  49573. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49574. t1[_i].accept$1(t3);
  49575. },
  49576. "call*": "call$0",
  49577. $requiredArgCount: 0
  49578. };
  49579. R._EvaluateVisitor__scopeForAtRoot_closure.prototype = {
  49580. call$1: function(callback) {
  49581. var t1 = this.$this,
  49582. oldParent = t1._evaluate$_parent;
  49583. t1._evaluate$_parent = this.newParent;
  49584. t1._evaluate$_environment.scope$1$2$when(callback, this.node.hasDeclarations, -1);
  49585. t1._evaluate$_parent = oldParent;
  49586. }
  49587. };
  49588. R._EvaluateVisitor__scopeForAtRoot_closure0.prototype = {
  49589. call$1: function(callback) {
  49590. var t1 = this.$this,
  49591. oldAtRootExcludingStyleRule = t1._atRootExcludingStyleRule;
  49592. t1._atRootExcludingStyleRule = true;
  49593. this.innerScope.call$1(callback);
  49594. t1._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  49595. }
  49596. };
  49597. R._EvaluateVisitor__scopeForAtRoot_closure1.prototype = {
  49598. call$1: function(callback) {
  49599. return this.$this._withMediaQueries$2(null, new R._EvaluateVisitor__scopeForAtRoot__closure(this.innerScope, callback));
  49600. }
  49601. };
  49602. R._EvaluateVisitor__scopeForAtRoot__closure.prototype = {
  49603. call$0: function() {
  49604. return this.innerScope.call$1(this.callback);
  49605. }
  49606. };
  49607. R._EvaluateVisitor__scopeForAtRoot_closure2.prototype = {
  49608. call$1: function(callback) {
  49609. var t1 = this.$this,
  49610. wasInKeyframes = t1._inKeyframes;
  49611. t1._inKeyframes = false;
  49612. this.innerScope.call$1(callback);
  49613. t1._inKeyframes = wasInKeyframes;
  49614. }
  49615. };
  49616. R._EvaluateVisitor__scopeForAtRoot_closure3.prototype = {
  49617. call$1: function($parent) {
  49618. return !!J.getInterceptor$($parent).$isCssAtRule;
  49619. }
  49620. };
  49621. R._EvaluateVisitor__scopeForAtRoot_closure4.prototype = {
  49622. call$1: function(callback) {
  49623. var t1 = this.$this,
  49624. wasInUnknownAtRule = t1._inUnknownAtRule;
  49625. t1._inUnknownAtRule = false;
  49626. this.innerScope.call$1(callback);
  49627. t1._inUnknownAtRule = wasInUnknownAtRule;
  49628. }
  49629. };
  49630. R._EvaluateVisitor_visitContentRule_closure.prototype = {
  49631. call$0: function() {
  49632. var t1, t2, t3, _i;
  49633. for (t1 = this.content.declaration.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49634. t1[_i].accept$1(t3);
  49635. return;
  49636. }
  49637. };
  49638. R._EvaluateVisitor_visitDeclaration_closure.prototype = {
  49639. call$0: function() {
  49640. var t1, t2, t3, _i;
  49641. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49642. t1[_i].accept$1(t3);
  49643. }
  49644. };
  49645. R._EvaluateVisitor_visitEachRule_closure.prototype = {
  49646. call$1: function(value) {
  49647. return this.$this._evaluate$_environment.setLocalVariable$3(C.JSArray_methods.get$first(this.node.variables), value.withoutSlash$0(), this.nodeForSpan);
  49648. }
  49649. };
  49650. R._EvaluateVisitor_visitEachRule_closure0.prototype = {
  49651. call$1: function(value) {
  49652. return this.$this._setMultipleVariables$3(this.node.variables, value, this.nodeForSpan);
  49653. }
  49654. };
  49655. R._EvaluateVisitor_visitEachRule_closure1.prototype = {
  49656. call$0: function() {
  49657. var _this = this,
  49658. t1 = _this.$this;
  49659. return t1._handleReturn$2(_this.list.get$asList(), new R._EvaluateVisitor_visitEachRule__closure(t1, _this.setVariables, _this.node));
  49660. }
  49661. };
  49662. R._EvaluateVisitor_visitEachRule__closure.prototype = {
  49663. call$1: function(element) {
  49664. var t1;
  49665. this.setVariables.call$1(element);
  49666. t1 = this.$this;
  49667. return t1._handleReturn$2(this.node.children, new R._EvaluateVisitor_visitEachRule___closure(t1));
  49668. }
  49669. };
  49670. R._EvaluateVisitor_visitEachRule___closure.prototype = {
  49671. call$1: function(child) {
  49672. return child.accept$1(this.$this);
  49673. }
  49674. };
  49675. R._EvaluateVisitor_visitExtendRule_closure.prototype = {
  49676. call$0: function() {
  49677. return D.SelectorList_SelectorList$parse(B.trimAscii(this.targetText.value, true), false, true, this.$this._logger);
  49678. }
  49679. };
  49680. R._EvaluateVisitor_visitAtRule_closure.prototype = {
  49681. call$0: function() {
  49682. var t3, _i,
  49683. t1 = this.$this,
  49684. t2 = t1._styleRule;
  49685. if (!(t2 != null && !t1._atRootExcludingStyleRule) || t1._inKeyframes)
  49686. for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
  49687. t2[_i].accept$1(t1);
  49688. else
  49689. t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitAtRule__closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null);
  49690. }
  49691. };
  49692. R._EvaluateVisitor_visitAtRule__closure.prototype = {
  49693. call$0: function() {
  49694. var t1, t2, t3, _i;
  49695. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49696. t1[_i].accept$1(t3);
  49697. }
  49698. };
  49699. R._EvaluateVisitor_visitAtRule_closure0.prototype = {
  49700. call$1: function(node) {
  49701. return !!J.getInterceptor$(node).$isCssStyleRule;
  49702. }
  49703. };
  49704. R._EvaluateVisitor_visitForRule_closure.prototype = {
  49705. call$0: function() {
  49706. return this.node.from.accept$1(this.$this).assertNumber$0();
  49707. }
  49708. };
  49709. R._EvaluateVisitor_visitForRule_closure0.prototype = {
  49710. call$0: function() {
  49711. return this.node.to.accept$1(this.$this).assertNumber$0();
  49712. }
  49713. };
  49714. R._EvaluateVisitor_visitForRule_closure1.prototype = {
  49715. call$0: function() {
  49716. var t1 = this.toNumber,
  49717. t2 = t1.numeratorUnits;
  49718. t1 = t1.denominatorUnits;
  49719. return T.SassNumber$withUnits(this.fromNumber.valueInUnits$2(t2, t1), t1, t2).assertInt$0();
  49720. }
  49721. };
  49722. R._EvaluateVisitor_visitForRule_closure2.prototype = {
  49723. call$0: function() {
  49724. return this.toNumber.assertInt$0();
  49725. }
  49726. };
  49727. R._EvaluateVisitor_visitForRule_closure3.prototype = {
  49728. call$0: function() {
  49729. var i, t3, t4, t5, t6, result, _this = this,
  49730. t1 = _this.$this,
  49731. t2 = _this.node,
  49732. nodeForSpan = t1._expressionNode$1(t2.from);
  49733. for (i = _this.from, t3 = _this._box_0, t4 = _this.direction, t5 = t2.children, t2 = t2.variable; i !== t3.to; i += t4) {
  49734. t6 = t1._evaluate$_environment;
  49735. t6.setLocalVariable$3(t2, new T.SassNumber(i, C.List_empty, C.List_empty, null), nodeForSpan);
  49736. result = t1._handleReturn$2(t5, new R._EvaluateVisitor_visitForRule__closure(t1));
  49737. if (result != null)
  49738. return result;
  49739. }
  49740. return;
  49741. }
  49742. };
  49743. R._EvaluateVisitor_visitForRule__closure.prototype = {
  49744. call$1: function(child) {
  49745. return child.accept$1(this.$this);
  49746. }
  49747. };
  49748. R._EvaluateVisitor_visitForwardRule_closure.prototype = {
  49749. call$1: function(module) {
  49750. this.$this._evaluate$_environment.forwardModule$2(module, this.node);
  49751. }
  49752. };
  49753. R._EvaluateVisitor_visitIfRule_closure.prototype = {
  49754. call$0: function() {
  49755. var t1 = this.$this;
  49756. return t1._handleReturn$2(this._box_0.clause.children, new R._EvaluateVisitor_visitIfRule__closure(t1));
  49757. }
  49758. };
  49759. R._EvaluateVisitor_visitIfRule__closure.prototype = {
  49760. call$1: function(child) {
  49761. return child.accept$1(this.$this);
  49762. }
  49763. };
  49764. R._EvaluateVisitor__visitDynamicImport_closure.prototype = {
  49765. call$0: function() {
  49766. var url, t3, t4, environment, module, visitor, _box_0 = {},
  49767. t1 = this.$this,
  49768. t2 = this.$import,
  49769. result = t1._loadStylesheet$2(t2.url, t2.span),
  49770. importer = result.item1,
  49771. stylesheet = result.item2;
  49772. t2 = stylesheet.span;
  49773. url = t2.file.url;
  49774. t3 = t1._activeModules;
  49775. if (!t3.add$1(0, url))
  49776. throw H.wrapException(t1._evaluate$_exception$1("This file is already being loaded."));
  49777. t3.add$1(0, url);
  49778. t4 = new P.UnmodifiableListView(stylesheet._uses, [T.UseRule]);
  49779. if (t4.get$length(t4) === 0) {
  49780. t4 = new P.UnmodifiableListView(stylesheet._forwards, [L.ForwardRule]);
  49781. t4 = t4.get$length(t4) === 0;
  49782. } else
  49783. t4 = false;
  49784. if (t4) {
  49785. t1._withEnvironment$2(t1._evaluate$_environment.global$0(), new R._EvaluateVisitor__visitDynamicImport__closure(t1, importer, stylesheet));
  49786. t3.remove$1(0, url);
  49787. return;
  49788. }
  49789. _box_0.children = null;
  49790. environment = t1._evaluate$_environment.global$0();
  49791. t1._withEnvironment$2(environment, new R._EvaluateVisitor__visitDynamicImport__closure0(_box_0, t1, importer, stylesheet));
  49792. module = O._EnvironmentModule__EnvironmentModule(environment, new V.CssStylesheet(new P.UnmodifiableListView(C.List_empty1, [B.CssNode]), t2), C.C_EmptyExtender, environment._forwardedModules);
  49793. t1._evaluate$_environment.importForwards$1(module);
  49794. if (module.transitivelyContainsCss)
  49795. t1._combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1);
  49796. visitor = new R._ImportedCssVisitor(t1);
  49797. for (t1 = J.get$iterator$ax(_box_0.children); t1.moveNext$0();)
  49798. t1.get$current(t1).accept$1(visitor);
  49799. t3.remove$1(0, url);
  49800. }
  49801. };
  49802. R._EvaluateVisitor__visitDynamicImport__closure.prototype = {
  49803. call$0: function() {
  49804. var t2,
  49805. t1 = this.$this,
  49806. oldImporter = t1._importer,
  49807. oldStylesheet = t1._stylesheet;
  49808. t1._importer = this.importer;
  49809. t2 = this.stylesheet;
  49810. t1._stylesheet = t2;
  49811. t1.visitStylesheet$1(t2);
  49812. t1._importer = oldImporter;
  49813. t1._stylesheet = oldStylesheet;
  49814. }
  49815. };
  49816. R._EvaluateVisitor__visitDynamicImport__closure0.prototype = {
  49817. call$0: function() {
  49818. var t2, t3, t4, _this = this,
  49819. t1 = _this.$this,
  49820. oldImporter = t1._importer,
  49821. oldStylesheet = t1._stylesheet,
  49822. oldRoot = t1._root,
  49823. oldParent = t1._evaluate$_parent,
  49824. oldEndOfImports = t1._endOfImports,
  49825. oldOutOfOrderImports = t1._outOfOrderImports;
  49826. t1._importer = _this.importer;
  49827. t2 = t1._stylesheet = _this.stylesheet;
  49828. t3 = B.ModifiableCssNode;
  49829. t4 = H.setRuntimeTypeInfo([], [t3]);
  49830. t1._evaluate$_parent = t1._root = new V.ModifiableCssStylesheet(t2.span, new P.UnmodifiableListView(t4, [t3]), t4);
  49831. t1._endOfImports = 0;
  49832. t1._outOfOrderImports = null;
  49833. t1.visitStylesheet$1(t2);
  49834. _this._box_0.children = t1._addOutOfOrderImports$0();
  49835. t1._importer = oldImporter;
  49836. t1._stylesheet = oldStylesheet;
  49837. t1._root = oldRoot;
  49838. t1._evaluate$_parent = oldParent;
  49839. t1._endOfImports = oldEndOfImports;
  49840. t1._outOfOrderImports = oldOutOfOrderImports;
  49841. }
  49842. };
  49843. R._EvaluateVisitor_visitIncludeRule_closure.prototype = {
  49844. call$0: function() {
  49845. var t1 = this.node;
  49846. return this.$this._evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace);
  49847. }
  49848. };
  49849. R._EvaluateVisitor_visitIncludeRule_closure0.prototype = {
  49850. call$0: function() {
  49851. var _this = this,
  49852. t1 = _this.$this,
  49853. t2 = t1._evaluate$_environment,
  49854. oldContent = t2._content;
  49855. t2._content = _this.contentCallable;
  49856. new R._EvaluateVisitor_visitIncludeRule__closure(t1, _this.mixin, _this.node).call$0();
  49857. t2._content = oldContent;
  49858. return;
  49859. }
  49860. };
  49861. R._EvaluateVisitor_visitIncludeRule__closure.prototype = {
  49862. call$0: function() {
  49863. var t1 = this.$this,
  49864. t2 = t1._evaluate$_environment,
  49865. oldInMixin = t2._inMixin;
  49866. t2._inMixin = true;
  49867. new R._EvaluateVisitor_visitIncludeRule___closure(t1, this.mixin, this.node).call$0();
  49868. t2._inMixin = oldInMixin;
  49869. return;
  49870. }
  49871. };
  49872. R._EvaluateVisitor_visitIncludeRule___closure.prototype = {
  49873. call$0: function() {
  49874. var t1, t2, t3, t4, _i;
  49875. for (t1 = this.mixin.declaration.children, t2 = t1.length, t3 = this.$this, t4 = this.node, _i = 0; _i < t2; ++_i)
  49876. t3._addErrorSpan$2(t4, new R._EvaluateVisitor_visitIncludeRule____closure(t3, t1[_i]));
  49877. }
  49878. };
  49879. R._EvaluateVisitor_visitIncludeRule____closure.prototype = {
  49880. call$0: function() {
  49881. return this.statement.accept$1(this.$this);
  49882. }
  49883. };
  49884. R._EvaluateVisitor_visitMediaRule_closure.prototype = {
  49885. call$0: function() {
  49886. var _this = this,
  49887. t1 = _this.$this,
  49888. t2 = _this.mergedQueries;
  49889. if (t2 == null)
  49890. t2 = _this.queries;
  49891. t1._withMediaQueries$2(t2, new R._EvaluateVisitor_visitMediaRule__closure(t1, _this.node));
  49892. }
  49893. };
  49894. R._EvaluateVisitor_visitMediaRule__closure.prototype = {
  49895. call$0: function() {
  49896. var t3, _i,
  49897. t1 = this.$this,
  49898. t2 = t1._styleRule;
  49899. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  49900. for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
  49901. t2[_i].accept$1(t1);
  49902. else
  49903. t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitMediaRule___closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null);
  49904. }
  49905. };
  49906. R._EvaluateVisitor_visitMediaRule___closure.prototype = {
  49907. call$0: function() {
  49908. var t1, t2, t3, _i;
  49909. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49910. t1[_i].accept$1(t3);
  49911. }
  49912. };
  49913. R._EvaluateVisitor_visitMediaRule_closure0.prototype = {
  49914. call$1: function(node) {
  49915. var t1 = J.getInterceptor$(node);
  49916. if (!t1.$isCssStyleRule)
  49917. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  49918. else
  49919. t1 = true;
  49920. return t1;
  49921. }
  49922. };
  49923. R._EvaluateVisitor__visitMediaQueries_closure.prototype = {
  49924. call$0: function() {
  49925. var t1 = S.SpanScanner$(this.resolved, null);
  49926. return new F.MediaQueryParser(t1, this.$this._logger).parse$0();
  49927. }
  49928. };
  49929. R._EvaluateVisitor_visitStyleRule_closure.prototype = {
  49930. call$0: function() {
  49931. var t1 = S.SpanScanner$(this.selectorText.value, null);
  49932. return new E.KeyframeSelectorParser(t1, this.$this._logger).parse$0();
  49933. }
  49934. };
  49935. R._EvaluateVisitor_visitStyleRule_closure0.prototype = {
  49936. call$0: function() {
  49937. var t1, t2, t3, _i;
  49938. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49939. t1[_i].accept$1(t3);
  49940. }
  49941. };
  49942. R._EvaluateVisitor_visitStyleRule_closure1.prototype = {
  49943. call$1: function(node) {
  49944. return !!J.getInterceptor$(node).$isCssStyleRule;
  49945. }
  49946. };
  49947. R._EvaluateVisitor_visitStyleRule_closure2.prototype = {
  49948. call$0: function() {
  49949. var t1 = this.$this,
  49950. t2 = !t1._stylesheet.plainCss;
  49951. return D.SelectorList_SelectorList$parse(this.selectorText.value, t2, t2, t1._logger);
  49952. }
  49953. };
  49954. R._EvaluateVisitor_visitStyleRule_closure3.prototype = {
  49955. call$0: function() {
  49956. var t1 = this._box_0.parsedSelector,
  49957. t2 = this.$this,
  49958. t3 = t2._styleRule;
  49959. t3 = t3 == null ? null : t3.originalSelector;
  49960. return t1.resolveParentSelectors$2$implicitParent(t3, !t2._atRootExcludingStyleRule);
  49961. }
  49962. };
  49963. R._EvaluateVisitor_visitStyleRule_closure4.prototype = {
  49964. call$0: function() {
  49965. var t1 = this.$this;
  49966. t1._withStyleRule$2(this.rule, new R._EvaluateVisitor_visitStyleRule__closure(t1, this.node));
  49967. }
  49968. };
  49969. R._EvaluateVisitor_visitStyleRule__closure.prototype = {
  49970. call$0: function() {
  49971. var t1, t2, t3, _i;
  49972. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49973. t1[_i].accept$1(t3);
  49974. }
  49975. };
  49976. R._EvaluateVisitor_visitStyleRule_closure5.prototype = {
  49977. call$1: function(node) {
  49978. return !!J.getInterceptor$(node).$isCssStyleRule;
  49979. }
  49980. };
  49981. R._EvaluateVisitor_visitSupportsRule_closure.prototype = {
  49982. call$0: function() {
  49983. var t3, _i,
  49984. t1 = this.$this,
  49985. t2 = t1._styleRule;
  49986. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  49987. for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
  49988. t2[_i].accept$1(t1);
  49989. else
  49990. t1._withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitSupportsRule__closure(t1, this.node), X.ModifiableCssStyleRule, P.Null);
  49991. }
  49992. };
  49993. R._EvaluateVisitor_visitSupportsRule__closure.prototype = {
  49994. call$0: function() {
  49995. var t1, t2, t3, _i;
  49996. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49997. t1[_i].accept$1(t3);
  49998. }
  49999. };
  50000. R._EvaluateVisitor_visitSupportsRule_closure0.prototype = {
  50001. call$1: function(node) {
  50002. return !!J.getInterceptor$(node).$isCssStyleRule;
  50003. }
  50004. };
  50005. R._EvaluateVisitor_visitVariableDeclaration_closure.prototype = {
  50006. call$0: function() {
  50007. var t1 = this.override;
  50008. this.$this._evaluate$_environment.setVariable$4$global(this.node.name, t1.value, t1.assignmentNode, true);
  50009. }
  50010. };
  50011. R._EvaluateVisitor_visitVariableDeclaration_closure0.prototype = {
  50012. call$0: function() {
  50013. var t1 = this.node;
  50014. return this.$this._evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  50015. }
  50016. };
  50017. R._EvaluateVisitor_visitVariableDeclaration_closure1.prototype = {
  50018. call$0: function() {
  50019. var t1 = this.$this,
  50020. t2 = this.node;
  50021. t1._evaluate$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
  50022. }
  50023. };
  50024. R._EvaluateVisitor_visitUseRule_closure.prototype = {
  50025. call$1: function(module) {
  50026. this.$this._evaluate$_environment.addModule$2$namespace(module, this.node.namespace);
  50027. }
  50028. };
  50029. R._EvaluateVisitor_visitWarnRule_closure.prototype = {
  50030. call$0: function() {
  50031. return this.node.expression.accept$1(this.$this);
  50032. }
  50033. };
  50034. R._EvaluateVisitor_visitWhileRule_closure.prototype = {
  50035. call$0: function() {
  50036. var t1, t2, t3, result;
  50037. for (t1 = this.node, t2 = t1.condition, t3 = this.$this, t1 = t1.children; t2.accept$1(t3).get$isTruthy();) {
  50038. result = t3._handleReturn$2(t1, new R._EvaluateVisitor_visitWhileRule__closure(t3));
  50039. if (result != null)
  50040. return result;
  50041. }
  50042. return;
  50043. }
  50044. };
  50045. R._EvaluateVisitor_visitWhileRule__closure.prototype = {
  50046. call$1: function(child) {
  50047. return child.accept$1(this.$this);
  50048. }
  50049. };
  50050. R._EvaluateVisitor_visitBinaryOperationExpression_closure.prototype = {
  50051. call$0: function() {
  50052. var right, result,
  50053. t1 = this.node,
  50054. t2 = this.$this,
  50055. left = t1.left.accept$1(t2);
  50056. switch (t1.operator) {
  50057. case C.BinaryOperator_kjl:
  50058. right = t1.right.accept$1(t2);
  50059. left.toString;
  50060. t1 = N.serializeValue(left, false, true) + "=";
  50061. right.toString;
  50062. return new D.SassString(t1 + N.serializeValue(right, false, true), false);
  50063. case C.BinaryOperator_or_or_1:
  50064. return left.get$isTruthy() ? left : t1.right.accept$1(t2);
  50065. case C.BinaryOperator_and_and_2:
  50066. return left.get$isTruthy() ? t1.right.accept$1(t2) : left;
  50067. case C.BinaryOperator_YlX:
  50068. return J.$eq$(left, t1.right.accept$1(t2)) ? C.SassBoolean_true : C.SassBoolean_false;
  50069. case C.BinaryOperator_i5H:
  50070. return !J.$eq$(left, t1.right.accept$1(t2)) ? C.SassBoolean_true : C.SassBoolean_false;
  50071. case C.BinaryOperator_AcR:
  50072. return left.greaterThan$1(t1.right.accept$1(t2));
  50073. case C.BinaryOperator_1da:
  50074. return left.greaterThanOrEquals$1(t1.right.accept$1(t2));
  50075. case C.BinaryOperator_8qt:
  50076. return left.lessThan$1(t1.right.accept$1(t2));
  50077. case C.BinaryOperator_33h:
  50078. return left.lessThanOrEquals$1(t1.right.accept$1(t2));
  50079. case C.BinaryOperator_AcR0:
  50080. return left.plus$1(t1.right.accept$1(t2));
  50081. case C.BinaryOperator_iyO:
  50082. return left.minus$1(t1.right.accept$1(t2));
  50083. case C.BinaryOperator_O1M:
  50084. return left.times$1(t1.right.accept$1(t2));
  50085. case C.BinaryOperator_RTB:
  50086. right = t1.right.accept$1(t2);
  50087. result = left.dividedBy$1(right);
  50088. if (t1.allowsSlash && !!left.$isSassNumber && right instanceof T.SassNumber)
  50089. return H.interceptedTypeCast(result, "$isSassNumber").withSlash$2(left, right);
  50090. else
  50091. return result;
  50092. case C.BinaryOperator_2ad:
  50093. return left.modulo$1(t1.right.accept$1(t2));
  50094. default:
  50095. return;
  50096. }
  50097. }
  50098. };
  50099. R._EvaluateVisitor_visitVariableExpression_closure.prototype = {
  50100. call$0: function() {
  50101. var t1 = this.node;
  50102. return this.$this._evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  50103. }
  50104. };
  50105. R._EvaluateVisitor_visitListExpression_closure.prototype = {
  50106. call$1: function(expression) {
  50107. return expression.accept$1(this.$this);
  50108. }
  50109. };
  50110. R._EvaluateVisitor_visitFunctionExpression_closure.prototype = {
  50111. call$0: function() {
  50112. var t1 = this.node.namespace,
  50113. t2 = this.plainName;
  50114. if (t1 == null)
  50115. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  50116. return this.$this._getFunction$2$namespace(t2, t1);
  50117. }
  50118. };
  50119. R._EvaluateVisitor_visitFunctionExpression_closure0.prototype = {
  50120. call$0: function() {
  50121. var t1 = this.node;
  50122. return this.$this._runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1);
  50123. }
  50124. };
  50125. R._EvaluateVisitor__runUserDefinedCallable_closure.prototype = {
  50126. call$0: function() {
  50127. var _this = this,
  50128. t1 = _this.$this,
  50129. t2 = _this.callable;
  50130. return t1._withEnvironment$2(t2.environment.closure$0(), new R._EvaluateVisitor__runUserDefinedCallable__closure(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run));
  50131. }
  50132. };
  50133. R._EvaluateVisitor__runUserDefinedCallable__closure.prototype = {
  50134. call$0: function() {
  50135. var _this = this,
  50136. t1 = _this.$this;
  50137. return t1._evaluate$_environment.scope$1$1(new R._EvaluateVisitor__runUserDefinedCallable___closure(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run), F.Value);
  50138. }
  50139. };
  50140. R._EvaluateVisitor__runUserDefinedCallable___closure.prototype = {
  50141. call$0: function() {
  50142. var declaredArguments, minLength, t8, t9, i, t10, t11, t12, argument, value, t13, rest, argumentList, result, argumentWord, argumentNames, _this = this, _null = null,
  50143. t1 = _this.$this,
  50144. t2 = _this.evaluated,
  50145. t3 = t2.positional,
  50146. t4 = t3.length,
  50147. t5 = t2.named,
  50148. t6 = _this.callable.declaration.$arguments,
  50149. t7 = _this.nodeWithSpan;
  50150. t1._verifyArguments$4(t4, t5, t6, t7);
  50151. declaredArguments = t6.$arguments;
  50152. t4 = declaredArguments.length;
  50153. minLength = Math.min(t3.length, t4);
  50154. for (t8 = t1._sourceMap, t9 = t2.positionalNodes, i = 0; i < minLength; ++i) {
  50155. t10 = t1._evaluate$_environment;
  50156. t11 = declaredArguments[i].name;
  50157. t12 = t3[i].withoutSlash$0();
  50158. t10.setLocalVariable$3(t11, t12, t8 ? t9[i] : _null);
  50159. }
  50160. for (i = t3.length, t9 = t2.namedNodes; i < t4; ++i) {
  50161. argument = declaredArguments[i];
  50162. t10 = argument.name;
  50163. value = t5.remove$1(0, t10);
  50164. if (value == null)
  50165. value = argument.defaultValue.accept$1(t1);
  50166. t11 = t1._evaluate$_environment;
  50167. t12 = value.withoutSlash$0();
  50168. if (t8) {
  50169. t13 = t9.$index(0, t10);
  50170. if (t13 == null)
  50171. t13 = t1._expressionNode$1(argument.defaultValue);
  50172. } else
  50173. t13 = _null;
  50174. t11.setLocalVariable$3(t10, t12, t13);
  50175. }
  50176. t6 = t6.restArgument;
  50177. if (t6 != null) {
  50178. rest = t3.length > t4 ? C.JSArray_methods.sublist$1(t3, t4) : C.List_empty6;
  50179. t2 = t2.separator;
  50180. if (t2 === C.ListSeparator_undecided)
  50181. t2 = C.ListSeparator_comma;
  50182. t3 = F.Value;
  50183. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t5, P.String, t3), P.List_List$unmodifiable(rest, t3), t2, false);
  50184. argumentList.SassList$3$brackets(rest, t2, false);
  50185. t1._evaluate$_environment.setLocalVariable$3(t6, argumentList, t7);
  50186. } else
  50187. argumentList = _null;
  50188. result = _this.run.call$0();
  50189. if (argumentList == null)
  50190. return result;
  50191. if (t5.get$isEmpty(t5))
  50192. return result;
  50193. if (argumentList._wereKeywordsAccessed)
  50194. return result;
  50195. t2 = t5.get$keys();
  50196. argumentWord = B.pluralize("argument", t2.get$length(t2), _null);
  50197. t5 = t5.get$keys();
  50198. argumentNames = B.toSentence(H.MappedIterable_MappedIterable(t5, new R._EvaluateVisitor__runUserDefinedCallable____closure(), H.getRuntimeTypeArgument(t5, "Iterable", 0), P.Object), "or");
  50199. throw H.wrapException(t1._evaluate$_exception$2("No " + argumentWord + " named " + H.S(argumentNames) + ".", t7.get$span()));
  50200. }
  50201. };
  50202. R._EvaluateVisitor__runUserDefinedCallable____closure.prototype = {
  50203. call$1: function($name) {
  50204. return "$" + H.S($name);
  50205. }
  50206. };
  50207. R._EvaluateVisitor__runFunctionCallable_closure.prototype = {
  50208. call$0: function() {
  50209. var t1, t2, t3, t4, _i, $returnValue;
  50210. for (t1 = this.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = this.$this, _i = 0; _i < t3; ++_i) {
  50211. $returnValue = t2[_i].accept$1(t4);
  50212. if ($returnValue instanceof F.Value)
  50213. return $returnValue;
  50214. }
  50215. throw H.wrapException(t4._evaluate$_exception$2("Function finished without @return.", t1.span));
  50216. }
  50217. };
  50218. R._EvaluateVisitor__runBuiltInCallable_closure.prototype = {
  50219. call$0: function() {
  50220. return this.overload.verify$2(this.evaluated.positional.length, this.namedSet);
  50221. }
  50222. };
  50223. R._EvaluateVisitor__runBuiltInCallable_closure0.prototype = {
  50224. call$1: function($name) {
  50225. return "$" + H.S($name);
  50226. }
  50227. };
  50228. R._EvaluateVisitor__evaluateArguments_closure.prototype = {
  50229. call$2: function(_, expression) {
  50230. return expression.accept$1(this.$this);
  50231. }
  50232. };
  50233. R._EvaluateVisitor__evaluateArguments_closure0.prototype = {
  50234. call$2: function(_, expression) {
  50235. return this.$this._expressionNode$1(expression);
  50236. }
  50237. };
  50238. R._EvaluateVisitor__evaluateArguments_closure1.prototype = {
  50239. call$2: function(key, value) {
  50240. var t1;
  50241. this.named.$indexSet(0, key, value);
  50242. t1 = this.namedNodes;
  50243. if (t1 != null)
  50244. t1.$indexSet(0, key, this.restNodeForSpan);
  50245. }
  50246. };
  50247. R._EvaluateVisitor__evaluateMacroArguments_closure.prototype = {
  50248. call$1: function(value) {
  50249. return new F.ValueExpression(value, null);
  50250. }
  50251. };
  50252. R._EvaluateVisitor__evaluateMacroArguments_closure0.prototype = {
  50253. call$1: function(value) {
  50254. return new F.ValueExpression(value, null);
  50255. }
  50256. };
  50257. R._EvaluateVisitor__evaluateMacroArguments_closure1.prototype = {
  50258. call$2: function(key, value) {
  50259. this.named.$indexSet(0, key, new F.ValueExpression(value, null));
  50260. }
  50261. };
  50262. R._EvaluateVisitor__evaluateMacroArguments_closure2.prototype = {
  50263. call$1: function(value) {
  50264. return new F.ValueExpression(value, null);
  50265. }
  50266. };
  50267. R._EvaluateVisitor__addRestMap_closure.prototype = {
  50268. call$1: function(value) {
  50269. return H.subtypeOfRuntimeTypeCast(value, this.T);
  50270. }
  50271. };
  50272. R._EvaluateVisitor__addRestMap_closure0.prototype = {
  50273. call$2: function(key, value) {
  50274. var _this = this;
  50275. if (key instanceof D.SassString)
  50276. _this.values.$indexSet(0, key.text, _this._box_0.convert.call$1(value));
  50277. else
  50278. throw H.wrapException(_this.$this._evaluate$_exception$2("Variable keyword argument map must have string keys.\n" + H.S(key) + " is not a string in " + _this.map.toString$0(0) + ".", _this.nodeForSpan.get$span()));
  50279. }
  50280. };
  50281. R._EvaluateVisitor__verifyArguments_closure.prototype = {
  50282. call$0: function() {
  50283. return this.$arguments.verify$2(this.positional, new M.MapKeySet(this.named, [P.String]));
  50284. }
  50285. };
  50286. R._EvaluateVisitor_visitStringExpression_closure.prototype = {
  50287. call$1: function(value) {
  50288. var t1, result;
  50289. if (typeof value === "string")
  50290. return value;
  50291. H.interceptedTypeCast(value, "$isExpression");
  50292. t1 = this.$this;
  50293. result = value.accept$1(t1);
  50294. return result instanceof D.SassString ? result.text : t1._evaluate$_serialize$3$quote(result, value, false);
  50295. },
  50296. $signature: 13
  50297. };
  50298. R._EvaluateVisitor_visitCssAtRule_closure.prototype = {
  50299. call$0: function() {
  50300. var t1, t2;
  50301. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  50302. t1.__internal$_current.accept$1(t2);
  50303. }
  50304. };
  50305. R._EvaluateVisitor_visitCssAtRule_closure0.prototype = {
  50306. call$1: function(node) {
  50307. return !!J.getInterceptor$(node).$isCssStyleRule;
  50308. }
  50309. };
  50310. R._EvaluateVisitor_visitCssKeyframeBlock_closure.prototype = {
  50311. call$0: function() {
  50312. var t1, t2;
  50313. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  50314. t1.__internal$_current.accept$1(t2);
  50315. }
  50316. };
  50317. R._EvaluateVisitor_visitCssKeyframeBlock_closure0.prototype = {
  50318. call$1: function(node) {
  50319. return !!J.getInterceptor$(node).$isCssStyleRule;
  50320. }
  50321. };
  50322. R._EvaluateVisitor_visitCssMediaRule_closure.prototype = {
  50323. call$0: function() {
  50324. var _this = this,
  50325. t1 = _this.$this,
  50326. t2 = _this.mergedQueries;
  50327. if (t2 == null)
  50328. t2 = _this.node.queries;
  50329. t1._withMediaQueries$2(t2, new R._EvaluateVisitor_visitCssMediaRule__closure(t1, _this.node));
  50330. }
  50331. };
  50332. R._EvaluateVisitor_visitCssMediaRule__closure.prototype = {
  50333. call$0: function() {
  50334. var t1 = this.$this,
  50335. t2 = t1._styleRule;
  50336. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  50337. for (t2 = this.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  50338. t2.__internal$_current.accept$1(t1);
  50339. else
  50340. t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitCssMediaRule___closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null);
  50341. }
  50342. };
  50343. R._EvaluateVisitor_visitCssMediaRule___closure.prototype = {
  50344. call$0: function() {
  50345. var t1, t2;
  50346. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  50347. t1.__internal$_current.accept$1(t2);
  50348. }
  50349. };
  50350. R._EvaluateVisitor_visitCssMediaRule_closure0.prototype = {
  50351. call$1: function(node) {
  50352. var t1 = J.getInterceptor$(node);
  50353. if (!t1.$isCssStyleRule)
  50354. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  50355. else
  50356. t1 = true;
  50357. return t1;
  50358. }
  50359. };
  50360. R._EvaluateVisitor_visitCssStyleRule_closure.prototype = {
  50361. call$0: function() {
  50362. var t1 = this.$this;
  50363. t1._withStyleRule$2(this.rule, new R._EvaluateVisitor_visitCssStyleRule__closure(t1, this.node));
  50364. }
  50365. };
  50366. R._EvaluateVisitor_visitCssStyleRule__closure.prototype = {
  50367. call$0: function() {
  50368. var t1, t2;
  50369. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  50370. t1.__internal$_current.accept$1(t2);
  50371. }
  50372. };
  50373. R._EvaluateVisitor_visitCssStyleRule_closure0.prototype = {
  50374. call$1: function(node) {
  50375. return !!J.getInterceptor$(node).$isCssStyleRule;
  50376. }
  50377. };
  50378. R._EvaluateVisitor_visitCssSupportsRule_closure.prototype = {
  50379. call$0: function() {
  50380. var t1 = this.$this,
  50381. t2 = t1._styleRule;
  50382. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  50383. for (t2 = this.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  50384. t2.__internal$_current.accept$1(t1);
  50385. else
  50386. t1._withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitCssSupportsRule__closure(t1, this.node), X.ModifiableCssStyleRule, P.Null);
  50387. }
  50388. };
  50389. R._EvaluateVisitor_visitCssSupportsRule__closure.prototype = {
  50390. call$0: function() {
  50391. var t1, t2;
  50392. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  50393. t1.__internal$_current.accept$1(t2);
  50394. }
  50395. };
  50396. R._EvaluateVisitor_visitCssSupportsRule_closure0.prototype = {
  50397. call$1: function(node) {
  50398. return !!J.getInterceptor$(node).$isCssStyleRule;
  50399. }
  50400. };
  50401. R._EvaluateVisitor__performInterpolation_closure.prototype = {
  50402. call$1: function(value) {
  50403. var t1, result, t2, t3;
  50404. if (typeof value === "string")
  50405. return value;
  50406. H.interceptedTypeCast(value, "$isExpression");
  50407. t1 = this.$this;
  50408. result = value.accept$1(t1);
  50409. if (this.warnForColor && result instanceof K.SassColor && $.$get$namesByColor().containsKey$1(result)) {
  50410. t2 = X.Interpolation$(H.setRuntimeTypeInfo([""], [P.Object]), null);
  50411. t3 = $.$get$namesByColor();
  50412. t1._warn$2("You probably don't mean to use the color value " + H.S(t3.$index(0, result)) + " in interpolation here.\nIt may end up represented as " + H.S(result) + ', which will likely produce invalid CSS.\nAlways quote color names when using them as strings or map keys (for example, "' + H.S(t3.$index(0, result)) + "\").\nIf you really want to use the color value here, use '" + new V.BinaryOperationExpression(C.BinaryOperator_AcR0, new D.StringExpression(t2, true), value, false).toString$0(0) + "'.", value.get$span());
  50413. }
  50414. return t1._evaluate$_serialize$3$quote(result, value, false);
  50415. },
  50416. $signature: 13
  50417. };
  50418. R._EvaluateVisitor__serialize_closure.prototype = {
  50419. call$0: function() {
  50420. var t1 = this.value;
  50421. t1.toString;
  50422. return N.serializeValue(t1, false, this.quote);
  50423. }
  50424. };
  50425. R._EvaluateVisitor__stackTrace_closure.prototype = {
  50426. call$1: function(tuple) {
  50427. return this.$this._stackFrame$2(tuple.item1, tuple.item2.get$span());
  50428. }
  50429. };
  50430. R._ImportedCssVisitor.prototype = {
  50431. visitCssAtRule$1: function(node) {
  50432. var t1 = node.isChildless ? null : new R._ImportedCssVisitor_visitCssAtRule_closure();
  50433. this._visitor._addChild$2$through(node, t1);
  50434. },
  50435. visitCssComment$1: function(node) {
  50436. return this._visitor._addChild$1(node);
  50437. },
  50438. visitCssDeclaration$1: function(node) {
  50439. },
  50440. visitCssImport$1: function(node) {
  50441. var t1 = this._visitor,
  50442. t2 = t1._evaluate$_parent,
  50443. t3 = t1._root;
  50444. if (t2 != t3)
  50445. t1._addChild$1(node);
  50446. else if (t1._endOfImports === J.get$length$asx(t3.children._collection$_source)) {
  50447. t1._addChild$1(node);
  50448. t1._endOfImports = t1._endOfImports + 1;
  50449. } else {
  50450. t2 = t1._outOfOrderImports;
  50451. (t2 == null ? t1._outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t2).push(node);
  50452. }
  50453. },
  50454. visitCssKeyframeBlock$1: function(node) {
  50455. },
  50456. visitCssMediaRule$1: function(node) {
  50457. var t1 = this._visitor,
  50458. t2 = t1._mediaQueries;
  50459. t1._addChild$2$through(node, new R._ImportedCssVisitor_visitCssMediaRule_closure(t2 == null || t1._mergeMediaQueries$2(t2, node.queries) != null));
  50460. },
  50461. visitCssStyleRule$1: function(node) {
  50462. return this._visitor._addChild$2$through(node, new R._ImportedCssVisitor_visitCssStyleRule_closure());
  50463. },
  50464. visitCssStylesheet$1: function(node) {
  50465. var t1;
  50466. for (t1 = node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  50467. t1.__internal$_current.accept$1(this);
  50468. },
  50469. visitCssSupportsRule$1: function(node) {
  50470. return this._visitor._addChild$2$through(node, new R._ImportedCssVisitor_visitCssSupportsRule_closure());
  50471. }
  50472. };
  50473. R._ImportedCssVisitor_visitCssAtRule_closure.prototype = {
  50474. call$1: function(node) {
  50475. return !!J.getInterceptor$(node).$isCssStyleRule;
  50476. }
  50477. };
  50478. R._ImportedCssVisitor_visitCssMediaRule_closure.prototype = {
  50479. call$1: function(node) {
  50480. var t1 = J.getInterceptor$(node);
  50481. if (!t1.$isCssStyleRule)
  50482. t1 = this.hasBeenMerged && !!t1.$isCssMediaRule;
  50483. else
  50484. t1 = true;
  50485. return t1;
  50486. }
  50487. };
  50488. R._ImportedCssVisitor_visitCssStyleRule_closure.prototype = {
  50489. call$1: function(node) {
  50490. return !!J.getInterceptor$(node).$isCssStyleRule;
  50491. }
  50492. };
  50493. R._ImportedCssVisitor_visitCssSupportsRule_closure.prototype = {
  50494. call$1: function(node) {
  50495. return !!J.getInterceptor$(node).$isCssStyleRule;
  50496. }
  50497. };
  50498. R._ArgumentResults.prototype = {};
  50499. R._ConfiguredValue.prototype = {};
  50500. L._FindImportsVisitor.prototype = {
  50501. visitEachRule$1: function(node) {
  50502. },
  50503. visitForRule$1: function(node) {
  50504. },
  50505. visitIfRule$1: function(node) {
  50506. },
  50507. visitWhileRule$1: function(node) {
  50508. },
  50509. visitUseRule$1: function(node) {
  50510. this._imports.push(new B.DynamicImport(J.toString$0$(node.url), node.span));
  50511. },
  50512. visitForwardRule$1: function(node) {
  50513. this._imports.push(new B.DynamicImport(J.toString$0$(node.url), node.span));
  50514. },
  50515. visitImportRule$1: function(node) {
  50516. var t1, t2, t3, _i, $import;
  50517. for (t1 = node.imports, t2 = t1.length, t3 = this._imports, _i = 0; _i < t2; ++_i) {
  50518. $import = t1[_i];
  50519. if ($import instanceof B.DynamicImport)
  50520. t3.push($import);
  50521. }
  50522. }
  50523. };
  50524. D.RecursiveStatementVisitor.prototype = {
  50525. visitAtRootRule$1: function(node) {
  50526. return this.visitChildren$1(node);
  50527. },
  50528. visitAtRule$1: function(node) {
  50529. return node.children == null ? null : this.visitChildren$1(node);
  50530. },
  50531. visitContentBlock$1: function(node) {
  50532. return;
  50533. },
  50534. visitContentRule$1: function(node) {
  50535. this.visitArgumentInvocation$1(node.$arguments);
  50536. return;
  50537. },
  50538. visitDebugRule$1: function(node) {
  50539. return;
  50540. },
  50541. visitDeclaration$1: function(node) {
  50542. return node.children == null ? null : this.visitChildren$1(node);
  50543. },
  50544. visitErrorRule$1: function(node) {
  50545. return;
  50546. },
  50547. visitExtendRule$1: function(node) {
  50548. return;
  50549. },
  50550. visitFunctionRule$1: function(node) {
  50551. return;
  50552. },
  50553. visitIncludeRule$1: function(node) {
  50554. this.visitArgumentInvocation$1(node.$arguments);
  50555. return;
  50556. },
  50557. visitLoudComment$1: function(node) {
  50558. return;
  50559. },
  50560. visitMediaRule$1: function(node) {
  50561. return this.visitChildren$1(node);
  50562. },
  50563. visitMixinRule$1: function(node) {
  50564. return;
  50565. },
  50566. visitReturnRule$1: function(node) {
  50567. return;
  50568. },
  50569. visitSilentComment$1: function(node) {
  50570. return;
  50571. },
  50572. visitStyleRule$1: function(node) {
  50573. return this.visitChildren$1(node);
  50574. },
  50575. visitStylesheet$1: function(node) {
  50576. return this.visitChildren$1(node);
  50577. },
  50578. visitSupportsRule$1: function(node) {
  50579. return this.visitChildren$1(node);
  50580. },
  50581. visitVariableDeclaration$1: function(node) {
  50582. return;
  50583. },
  50584. visitWarnRule$1: function(node) {
  50585. return;
  50586. },
  50587. visitArgumentInvocation$1: function(invocation) {
  50588. var t1, _i;
  50589. for (t1 = invocation.positional.length, _i = 0; _i < t1; ++_i)
  50590. ;
  50591. for (t1 = invocation.named.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  50592. t1.get$current(t1);
  50593. },
  50594. visitChildren$1: function(node) {
  50595. var t1;
  50596. for (t1 = node.children, t1 = (t1 && C.JSArray_methods).get$iterator(t1); t1.moveNext$0();)
  50597. t1.get$current(t1).accept$1(this);
  50598. return;
  50599. }
  50600. };
  50601. N.serialize_closure.prototype = {
  50602. call$1: function(codeUnit) {
  50603. return codeUnit > 127;
  50604. },
  50605. $signature: 10
  50606. };
  50607. N._SerializeVisitor.prototype = {
  50608. visitCssStylesheet$1: function(node) {
  50609. var t1, t2, t3, previous, i, child, _this = this;
  50610. for (t1 = _this._style !== C.OutputStyle_compressed, t2 = _this._serialize$_buffer, t3 = _this._lineFeed.text, previous = null, i = 0; i < J.get$length$asx(node.get$children()); ++i) {
  50611. child = J.$index$asx(node.get$children(), i);
  50612. if (_this._isInvisible$1(child))
  50613. continue;
  50614. if (previous != null) {
  50615. if (!!previous.$isCssParentNode ? previous.get$isChildless() : !previous.$isCssComment)
  50616. t2.writeCharCode$1(59);
  50617. if (t1)
  50618. t2.write$1(0, t3);
  50619. if (previous.get$isGroupEnd())
  50620. if (t1)
  50621. t2.write$1(0, t3);
  50622. }
  50623. child.accept$1(_this);
  50624. previous = child;
  50625. }
  50626. if (previous != null)
  50627. t1 = (!!previous.$isCssParentNode ? previous.get$isChildless() : !previous.$isCssComment) && t1;
  50628. else
  50629. t1 = false;
  50630. if (t1)
  50631. t2.writeCharCode$1(59);
  50632. },
  50633. visitCssComment$1: function(node) {
  50634. this._serialize$_buffer.forSpan$2(node.span, new N._SerializeVisitor_visitCssComment_closure(this, node));
  50635. },
  50636. visitCssAtRule$1: function(node) {
  50637. var t1, _this = this;
  50638. _this._writeIndentation$0();
  50639. t1 = _this._serialize$_buffer;
  50640. t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssAtRule_closure(_this, node));
  50641. if (!node.isChildless) {
  50642. if (_this._style !== C.OutputStyle_compressed)
  50643. t1.writeCharCode$1(32);
  50644. _this._serialize$_visitChildren$1(node.children);
  50645. }
  50646. },
  50647. visitCssMediaRule$1: function(node) {
  50648. var t1, _this = this;
  50649. _this._writeIndentation$0();
  50650. t1 = _this._serialize$_buffer;
  50651. t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssMediaRule_closure(_this, node));
  50652. if (_this._style !== C.OutputStyle_compressed)
  50653. t1.writeCharCode$1(32);
  50654. _this._serialize$_visitChildren$1(node.children);
  50655. },
  50656. visitCssImport$1: function(node) {
  50657. this._writeIndentation$0();
  50658. this._serialize$_buffer.forSpan$2(node.span, new N._SerializeVisitor_visitCssImport_closure(this, node));
  50659. },
  50660. _writeImportUrl$1: function(url) {
  50661. var urlContents, maybeQuote, _this = this;
  50662. if (_this._style !== C.OutputStyle_compressed || J._codeUnitAt$1$s(url, 0) !== 117) {
  50663. _this._serialize$_buffer.write$1(0, url);
  50664. return;
  50665. }
  50666. urlContents = J.substring$2$s(url, 4, url.length - 1);
  50667. maybeQuote = C.JSString_methods._codeUnitAt$1(urlContents, 0);
  50668. if (maybeQuote === 39 || maybeQuote === 34)
  50669. _this._serialize$_buffer.write$1(0, urlContents);
  50670. else
  50671. _this._visitQuotedString$1(urlContents);
  50672. },
  50673. visitCssKeyframeBlock$1: function(node) {
  50674. var t1, _this = this;
  50675. _this._writeIndentation$0();
  50676. t1 = _this._serialize$_buffer;
  50677. t1.forSpan$2(node.selector.span, new N._SerializeVisitor_visitCssKeyframeBlock_closure(_this, node));
  50678. if (_this._style !== C.OutputStyle_compressed)
  50679. t1.writeCharCode$1(32);
  50680. _this._serialize$_visitChildren$1(node.children);
  50681. },
  50682. _visitMediaQuery$1: function(query) {
  50683. var t2, t3, _this = this,
  50684. t1 = query.modifier;
  50685. if (t1 != null) {
  50686. t2 = _this._serialize$_buffer;
  50687. t2.write$1(0, t1);
  50688. t2.writeCharCode$1(32);
  50689. }
  50690. t1 = query.type;
  50691. if (t1 != null) {
  50692. t2 = _this._serialize$_buffer;
  50693. t2.write$1(0, t1);
  50694. if (query.features.length !== 0)
  50695. t2.write$1(0, " and ");
  50696. }
  50697. t1 = query.features;
  50698. t2 = _this._style === C.OutputStyle_compressed ? "and " : " and ";
  50699. t3 = _this._serialize$_buffer;
  50700. _this._writeBetween$3(t1, t2, t3.get$write(t3));
  50701. },
  50702. visitCssStyleRule$1: function(node) {
  50703. var t1, _this = this;
  50704. _this._writeIndentation$0();
  50705. t1 = _this._serialize$_buffer;
  50706. t1.forSpan$2(node.selector.span, new N._SerializeVisitor_visitCssStyleRule_closure(_this, node));
  50707. if (_this._style !== C.OutputStyle_compressed)
  50708. t1.writeCharCode$1(32);
  50709. _this._serialize$_visitChildren$1(node.children);
  50710. },
  50711. visitCssSupportsRule$1: function(node) {
  50712. var t1, _this = this;
  50713. _this._writeIndentation$0();
  50714. t1 = _this._serialize$_buffer;
  50715. t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssSupportsRule_closure(_this, node));
  50716. if (_this._style !== C.OutputStyle_compressed)
  50717. t1.writeCharCode$1(32);
  50718. _this._serialize$_visitChildren$1(node.children);
  50719. },
  50720. visitCssDeclaration$1: function(node) {
  50721. var error, t1, exception, _this = this;
  50722. _this._writeIndentation$0();
  50723. _this._write$1(node.name);
  50724. t1 = _this._serialize$_buffer;
  50725. t1.writeCharCode$1(58);
  50726. if (_this._isParsedCustomProperty$1(node))
  50727. t1.forSpan$2(node.value.span, new N._SerializeVisitor_visitCssDeclaration_closure(_this, node));
  50728. else {
  50729. if (_this._style !== C.OutputStyle_compressed)
  50730. t1.writeCharCode$1(32);
  50731. try {
  50732. t1.forSpan$2(node.valueSpanForMap, new N._SerializeVisitor_visitCssDeclaration_closure0(_this, node));
  50733. } catch (exception) {
  50734. t1 = H.unwrapException(exception);
  50735. if (t1 instanceof E.SassScriptException) {
  50736. error = t1;
  50737. throw H.wrapException(E.SassException$(error.message, node.value.span));
  50738. } else
  50739. throw exception;
  50740. }
  50741. }
  50742. },
  50743. _isParsedCustomProperty$1: function(node) {
  50744. var value;
  50745. if (!J.startsWith$1$s(node.name.get$value(), "--"))
  50746. return false;
  50747. value = node.value.value;
  50748. return value instanceof D.SassString && !value.hasQuotes;
  50749. },
  50750. _writeFoldedValue$1: function(node) {
  50751. var t1, t2, next, t3,
  50752. scanner = X.StringScanner$(H.interceptedTypeCast(node.value.value, "$isSassString").text, null, null);
  50753. for (t1 = scanner.string.length, t2 = this._serialize$_buffer; scanner._string_scanner$_position !== t1;) {
  50754. next = scanner.readChar$0();
  50755. if (next !== 10) {
  50756. t2.writeCharCode$1(next);
  50757. continue;
  50758. }
  50759. t2.writeCharCode$1(32);
  50760. while (true) {
  50761. t3 = scanner.peekChar$0();
  50762. if (!(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12))
  50763. break;
  50764. scanner.readChar$0();
  50765. }
  50766. }
  50767. },
  50768. _writeReindentedValue$1: function(node) {
  50769. var _this = this,
  50770. t1 = node.value,
  50771. value = H.interceptedTypeCast(t1.value, "$isSassString").text,
  50772. minimumIndentation = _this._minimumIndentation$1(value);
  50773. if (minimumIndentation == null) {
  50774. _this._serialize$_buffer.write$1(0, value);
  50775. return;
  50776. } else if (minimumIndentation === -1) {
  50777. t1 = _this._serialize$_buffer;
  50778. t1.write$1(0, B.trimAsciiRight(value, true));
  50779. t1.writeCharCode$1(32);
  50780. return;
  50781. }
  50782. if (t1.span != null) {
  50783. t1 = node.name.get$span();
  50784. t1 = Y.FileLocation$_(t1.file, t1._start);
  50785. minimumIndentation = Math.min(minimumIndentation, t1.file.getColumn$1(t1.offset));
  50786. }
  50787. _this._writeWithIndent$2(value, minimumIndentation);
  50788. },
  50789. _minimumIndentation$1: function(text) {
  50790. var character, t2, min, next, min0,
  50791. scanner = new Z.LineScanner(null, text),
  50792. t1 = text.length;
  50793. while (true) {
  50794. if (scanner._string_scanner$_position !== t1) {
  50795. character = scanner.super$StringScanner$readChar();
  50796. scanner._adjustLineAndColumn$1(character);
  50797. t2 = character !== 10;
  50798. } else
  50799. t2 = false;
  50800. if (!t2)
  50801. break;
  50802. }
  50803. if (scanner._string_scanner$_position === t1)
  50804. return scanner.peekChar$1(-1) === 10 ? -1 : null;
  50805. for (min = null; scanner._string_scanner$_position !== t1;) {
  50806. for (; scanner._string_scanner$_position !== t1;) {
  50807. next = scanner.peekChar$0();
  50808. if (next !== 32 && next !== 9)
  50809. break;
  50810. scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
  50811. }
  50812. if (scanner._string_scanner$_position === t1 || scanner.scanChar$1(10))
  50813. continue;
  50814. min0 = scanner._line_scanner$_column;
  50815. min = min == null ? min0 : Math.min(min, min0);
  50816. while (true) {
  50817. if (scanner._string_scanner$_position !== t1) {
  50818. character = scanner.super$StringScanner$readChar();
  50819. scanner._adjustLineAndColumn$1(character);
  50820. t2 = character !== 10;
  50821. } else
  50822. t2 = false;
  50823. if (!t2)
  50824. break;
  50825. }
  50826. }
  50827. return min == null ? -1 : min;
  50828. },
  50829. _writeWithIndent$2: function(text, minimumIndentation) {
  50830. var t1, t2, character, t3, lineStart, newlines, end,
  50831. scanner = new Z.LineScanner(null, text);
  50832. for (t1 = text.length, t2 = this._serialize$_buffer; scanner._string_scanner$_position !== t1;) {
  50833. character = scanner.super$StringScanner$readChar();
  50834. scanner._adjustLineAndColumn$1(character);
  50835. if (character === 10)
  50836. break;
  50837. t2.writeCharCode$1(character);
  50838. }
  50839. for (t3 = J.getInterceptor$s(text); true;) {
  50840. lineStart = scanner._string_scanner$_position;
  50841. for (newlines = 1; true;) {
  50842. if (scanner._string_scanner$_position === t1) {
  50843. t2.writeCharCode$1(32);
  50844. return;
  50845. }
  50846. character = scanner.super$StringScanner$readChar();
  50847. scanner._adjustLineAndColumn$1(character);
  50848. if (character === 32 || character === 9)
  50849. continue;
  50850. if (character !== 10)
  50851. break;
  50852. lineStart = scanner._string_scanner$_position;
  50853. ++newlines;
  50854. }
  50855. this._writeTimes$2(10, newlines);
  50856. this._writeIndentation$0();
  50857. end = scanner._string_scanner$_position;
  50858. t2.write$1(0, t3.substring$2(text, lineStart + minimumIndentation, end));
  50859. for (; true;) {
  50860. if (scanner._string_scanner$_position === t1)
  50861. return;
  50862. character = scanner.super$StringScanner$readChar();
  50863. scanner._adjustLineAndColumn$1(character);
  50864. if (character === 10)
  50865. break;
  50866. t2.writeCharCode$1(character);
  50867. }
  50868. }
  50869. },
  50870. visitColor$1: function(value) {
  50871. var $name, hexLength, t2, t3, _this = this,
  50872. t1 = _this._style === C.OutputStyle_compressed;
  50873. if (t1 && Math.abs(value.alpha - 1) < $.$get$epsilon()) {
  50874. $name = $.$get$namesByColor().$index(0, value);
  50875. hexLength = _this._canUseShortHex$1(value) ? 4 : 7;
  50876. if ($name != null && $name.length <= hexLength)
  50877. _this._serialize$_buffer.write$1(0, $name);
  50878. else {
  50879. t1 = _this._serialize$_buffer;
  50880. if (_this._canUseShortHex$1(value)) {
  50881. t1.writeCharCode$1(35);
  50882. t1.writeCharCode$1(T.hexCharFor(value.get$red() & 15));
  50883. t1.writeCharCode$1(T.hexCharFor(value.get$green() & 15));
  50884. t1.writeCharCode$1(T.hexCharFor(value.get$blue() & 15));
  50885. } else {
  50886. t1.writeCharCode$1(35);
  50887. _this._writeHexComponent$1(value.get$red());
  50888. _this._writeHexComponent$1(value.get$green());
  50889. _this._writeHexComponent$1(value.get$blue());
  50890. }
  50891. }
  50892. return;
  50893. }
  50894. if (value.get$original() != null)
  50895. _this._serialize$_buffer.write$1(0, value.get$original());
  50896. else {
  50897. t2 = $.$get$namesByColor();
  50898. if (t2.containsKey$1(value) && !(Math.abs(value.alpha - 0) < $.$get$epsilon()))
  50899. _this._serialize$_buffer.write$1(0, t2.$index(0, value));
  50900. else {
  50901. t2 = value.alpha;
  50902. t3 = _this._serialize$_buffer;
  50903. if (Math.abs(t2 - 1) < $.$get$epsilon()) {
  50904. t3.writeCharCode$1(35);
  50905. _this._writeHexComponent$1(value.get$red());
  50906. _this._writeHexComponent$1(value.get$green());
  50907. _this._writeHexComponent$1(value.get$blue());
  50908. } else {
  50909. t3.write$1(0, "rgba(" + H.S(value.get$red()));
  50910. t3.write$1(0, t1 ? "," : ", ");
  50911. t3.write$1(0, value.get$green());
  50912. t3.write$1(0, t1 ? "," : ", ");
  50913. t3.write$1(0, value.get$blue());
  50914. t3.write$1(0, t1 ? "," : ", ");
  50915. _this._writeNumber$1(t2);
  50916. t3.writeCharCode$1(41);
  50917. }
  50918. }
  50919. }
  50920. },
  50921. _canUseShortHex$1: function(color) {
  50922. var t1 = color.get$red();
  50923. if ((t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4)) {
  50924. t1 = color.get$green();
  50925. if ((t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4)) {
  50926. t1 = color.get$blue();
  50927. t1 = (t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4);
  50928. } else
  50929. t1 = false;
  50930. } else
  50931. t1 = false;
  50932. return t1;
  50933. },
  50934. _writeHexComponent$1: function(color) {
  50935. var t1 = this._serialize$_buffer;
  50936. t1.writeCharCode$1(T.hexCharFor(C.JSInt_methods._shrOtherPositive$1(color, 4)));
  50937. t1.writeCharCode$1(T.hexCharFor(color & 15));
  50938. },
  50939. visitList$1: function(value) {
  50940. var t2, singleton, t3, t4, _this = this,
  50941. t1 = value.hasBrackets;
  50942. if (t1)
  50943. _this._serialize$_buffer.writeCharCode$1(91);
  50944. else if (value._list$_contents.length === 0) {
  50945. if (!_this._inspect)
  50946. throw H.wrapException(E.SassScriptException$("() isn't a valid CSS value."));
  50947. _this._serialize$_buffer.write$1(0, "()");
  50948. return;
  50949. }
  50950. t2 = _this._inspect;
  50951. singleton = t2 && value._list$_contents.length === 1 && value.separator === C.ListSeparator_comma;
  50952. if (singleton && !t1)
  50953. _this._serialize$_buffer.writeCharCode$1(40);
  50954. t3 = value._list$_contents;
  50955. t3 = t2 ? t3 : new H.WhereIterable(t3, new N._SerializeVisitor_visitList_closure(), [H.getTypeArgumentByIndex(t3, 0)]);
  50956. if (value.separator === C.ListSeparator_space)
  50957. t4 = " ";
  50958. else
  50959. t4 = _this._style === C.OutputStyle_compressed ? "," : ", ";
  50960. _this._writeBetween$3(t3, t4, t2 ? new N._SerializeVisitor_visitList_closure0(_this, value) : new N._SerializeVisitor_visitList_closure1(_this));
  50961. if (singleton) {
  50962. t2 = _this._serialize$_buffer;
  50963. t2.writeCharCode$1(44);
  50964. if (!t1)
  50965. t2.writeCharCode$1(41);
  50966. }
  50967. if (t1)
  50968. _this._serialize$_buffer.writeCharCode$1(93);
  50969. },
  50970. _elementNeedsParens$2: function(separator, value) {
  50971. var t1;
  50972. if (value instanceof D.SassList) {
  50973. if (value._list$_contents.length < 2)
  50974. return false;
  50975. if (value.hasBrackets)
  50976. return false;
  50977. t1 = value.separator;
  50978. return separator === C.ListSeparator_comma ? t1 === C.ListSeparator_comma : t1 !== C.ListSeparator_undecided;
  50979. }
  50980. return false;
  50981. },
  50982. visitMap$1: function(map) {
  50983. var t1, _this = this;
  50984. if (!_this._inspect)
  50985. throw H.wrapException(E.SassScriptException$(map.toString$0(0) + " isn't a valid CSS value."));
  50986. t1 = _this._serialize$_buffer;
  50987. t1.writeCharCode$1(40);
  50988. _this._writeBetween$3(map.contents.get$keys(), ", ", new N._SerializeVisitor_visitMap_closure(_this, map));
  50989. t1.writeCharCode$1(41);
  50990. },
  50991. _writeMapElement$1: function(value) {
  50992. var needsParens = value instanceof D.SassList && value.separator === C.ListSeparator_comma && !value.hasBrackets;
  50993. if (needsParens)
  50994. this._serialize$_buffer.writeCharCode$1(40);
  50995. value.accept$1(this);
  50996. if (needsParens)
  50997. this._serialize$_buffer.writeCharCode$1(41);
  50998. },
  50999. visitNumber$1: function(value) {
  51000. var t2, _this = this,
  51001. t1 = value.asSlash;
  51002. if (t1 != null) {
  51003. _this.visitNumber$1(t1.item1);
  51004. _this._serialize$_buffer.writeCharCode$1(47);
  51005. _this.visitNumber$1(t1.item2);
  51006. return;
  51007. }
  51008. _this._writeNumber$1(value.value);
  51009. if (!_this._inspect) {
  51010. t1 = value.numeratorUnits;
  51011. t2 = t1.length;
  51012. if (t2 > 1 || value.denominatorUnits.length !== 0)
  51013. throw H.wrapException(E.SassScriptException$(H.S(value) + " isn't a valid CSS value."));
  51014. if (t2 !== 0)
  51015. _this._serialize$_buffer.write$1(0, C.JSArray_methods.get$first(t1));
  51016. } else
  51017. _this._serialize$_buffer.write$1(0, value.get$unitString());
  51018. },
  51019. _writeNumber$1: function(number) {
  51020. var t1, text, text0, _this = this,
  51021. integer = T.fuzzyIsInt(number) ? J.round$0$n(number) : null;
  51022. if (integer != null) {
  51023. t1 = integer >= 1e21 ? _this._removeExponent$1(C.JSInt_methods.toString$0(integer)) : C.JSInt_methods.toString$0(integer);
  51024. _this._serialize$_buffer.write$1(0, t1);
  51025. return;
  51026. }
  51027. text = number >= 1e21 ? _this._removeExponent$1(C.JSNumber_methods.toString$0(number)) : C.JSNumber_methods.toString$0(number);
  51028. text0 = _this._style === C.OutputStyle_compressed && C.JSString_methods._codeUnitAt$1(text, 0) === 48 ? C.JSString_methods.substring$1(text, 1) : text;
  51029. if (text.length < 12) {
  51030. _this._serialize$_buffer.write$1(0, text0);
  51031. return;
  51032. }
  51033. _this._writeDecimal$1(text0);
  51034. },
  51035. _removeExponent$1: function(text) {
  51036. var exponent, buffer, t2, additionalZeroes, negative, _null = null,
  51037. t1 = text.length,
  51038. i = 0;
  51039. while (true) {
  51040. if (!(i < t1)) {
  51041. exponent = _null;
  51042. buffer = exponent;
  51043. break;
  51044. }
  51045. c$0: {
  51046. if (C.JSString_methods._codeUnitAt$1(text, i) !== 101)
  51047. break c$0;
  51048. buffer = new P.StringBuffer("");
  51049. t2 = H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(text, 0));
  51050. buffer._contents = t2;
  51051. if (i > 2)
  51052. buffer._contents = t2 + C.JSString_methods.substring$2(text, 2, i);
  51053. exponent = P.int_parse(C.JSString_methods.substring$2(text, i + 1, t1), _null, _null);
  51054. break;
  51055. }
  51056. ++i;
  51057. }
  51058. if (buffer == null)
  51059. return text;
  51060. if (exponent > 0) {
  51061. t1 = buffer._contents;
  51062. additionalZeroes = exponent - (t1.length - 1);
  51063. for (i = 0; i < additionalZeroes; ++i)
  51064. t1 = buffer._contents += H.Primitives_stringFromCharCode(48);
  51065. return t1.charCodeAt(0) == 0 ? t1 : t1;
  51066. } else {
  51067. negative = C.JSString_methods._codeUnitAt$1(text, 0) === 45;
  51068. t1 = (negative ? H.Primitives_stringFromCharCode(45) : "") + "0.";
  51069. for (i = -1; i > exponent; --i)
  51070. t1 += H.Primitives_stringFromCharCode(48);
  51071. if (negative) {
  51072. t2 = buffer._contents;
  51073. t2 = C.JSString_methods.substring$1(t2.charCodeAt(0) == 0 ? t2 : t2, 1);
  51074. } else
  51075. t2 = buffer;
  51076. t2 = t1 + H.S(t2);
  51077. return t2.charCodeAt(0) == 0 ? t2 : t2;
  51078. }
  51079. },
  51080. _writeDecimal$1: function(text) {
  51081. var t1, t2, textIndex, codeUnit, digits, t3, digitsIndex, digitsIndex0, textIndex0, newDigit, i;
  51082. for (t1 = text.length, t2 = this._serialize$_buffer, textIndex = 0; textIndex < t1; ++textIndex) {
  51083. codeUnit = C.JSString_methods._codeUnitAt$1(text, textIndex);
  51084. if (codeUnit === 46) {
  51085. if (textIndex === t1 - 2 && C.JSString_methods.codeUnitAt$1(text, t1 - 1) === 48)
  51086. return;
  51087. t2.writeCharCode$1(codeUnit);
  51088. ++textIndex;
  51089. break;
  51090. }
  51091. t2.writeCharCode$1(codeUnit);
  51092. }
  51093. if (textIndex === t1)
  51094. return;
  51095. digits = new Uint8Array(10);
  51096. t3 = digits.length;
  51097. digitsIndex = 0;
  51098. while (true) {
  51099. if (!(textIndex < t1 && digitsIndex < t3))
  51100. break;
  51101. digitsIndex0 = digitsIndex + 1;
  51102. textIndex0 = textIndex + 1;
  51103. digits[digitsIndex] = C.JSString_methods._codeUnitAt$1(text, textIndex) - 48;
  51104. digitsIndex = digitsIndex0;
  51105. textIndex = textIndex0;
  51106. }
  51107. if (textIndex !== t1 && C.JSString_methods._codeUnitAt$1(text, textIndex) - 48 >= 5)
  51108. for (; digitsIndex >= 0; digitsIndex = digitsIndex0) {
  51109. digitsIndex0 = digitsIndex - 1;
  51110. newDigit = digits[digitsIndex0] + 1;
  51111. digits[digitsIndex0] = newDigit;
  51112. if (newDigit !== 10)
  51113. break;
  51114. }
  51115. while (true) {
  51116. if (!(digitsIndex > 0 && digits[digitsIndex - 1] === 0))
  51117. break;
  51118. --digitsIndex;
  51119. }
  51120. for (i = 0; i < digitsIndex; ++i)
  51121. t2.writeCharCode$1(48 + digits[i]);
  51122. },
  51123. _visitQuotedString$2$forceDoubleQuote: function(string, forceDoubleQuote) {
  51124. var t1, includesSingleQuote, includesDoubleQuote, i, char, t2, next, quote, _this = this,
  51125. buffer = forceDoubleQuote ? _this._serialize$_buffer : new P.StringBuffer("");
  51126. if (forceDoubleQuote)
  51127. buffer.writeCharCode$1(34);
  51128. for (t1 = string.length, includesSingleQuote = false, includesDoubleQuote = false, i = 0; i < t1; ++i) {
  51129. char = C.JSString_methods._codeUnitAt$1(string, i);
  51130. switch (char) {
  51131. case 39:
  51132. if (forceDoubleQuote)
  51133. buffer.writeCharCode$1(39);
  51134. else {
  51135. if (includesDoubleQuote) {
  51136. _this._visitQuotedString$2$forceDoubleQuote(string, true);
  51137. return;
  51138. } else
  51139. buffer.writeCharCode$1(39);
  51140. includesSingleQuote = true;
  51141. }
  51142. break;
  51143. case 34:
  51144. if (forceDoubleQuote) {
  51145. buffer.writeCharCode$1(92);
  51146. buffer.writeCharCode$1(34);
  51147. } else {
  51148. if (includesSingleQuote) {
  51149. _this._visitQuotedString$2$forceDoubleQuote(string, true);
  51150. return;
  51151. } else
  51152. buffer.writeCharCode$1(34);
  51153. includesDoubleQuote = true;
  51154. }
  51155. break;
  51156. case 0:
  51157. case 1:
  51158. case 2:
  51159. case 3:
  51160. case 4:
  51161. case 5:
  51162. case 6:
  51163. case 7:
  51164. case 8:
  51165. case 10:
  51166. case 11:
  51167. case 12:
  51168. case 13:
  51169. case 14:
  51170. case 15:
  51171. case 16:
  51172. case 17:
  51173. case 18:
  51174. case 19:
  51175. case 20:
  51176. case 21:
  51177. case 22:
  51178. case 23:
  51179. case 24:
  51180. case 25:
  51181. case 26:
  51182. case 27:
  51183. case 28:
  51184. case 29:
  51185. case 30:
  51186. case 31:
  51187. buffer.writeCharCode$1(92);
  51188. if (char > 15) {
  51189. t2 = char >>> 4;
  51190. buffer.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  51191. }
  51192. t2 = char & 15;
  51193. buffer.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  51194. t2 = i + 1;
  51195. if (t1 === t2)
  51196. break;
  51197. next = C.JSString_methods._codeUnitAt$1(string, t2);
  51198. if (T.isHex(next) || next === 32 || next === 9)
  51199. buffer.writeCharCode$1(32);
  51200. break;
  51201. case 92:
  51202. buffer.writeCharCode$1(92);
  51203. buffer.writeCharCode$1(92);
  51204. break;
  51205. default:
  51206. buffer.writeCharCode$1(char);
  51207. break;
  51208. }
  51209. }
  51210. if (forceDoubleQuote)
  51211. buffer.writeCharCode$1(34);
  51212. else {
  51213. quote = includesDoubleQuote ? 39 : 34;
  51214. t1 = _this._serialize$_buffer;
  51215. t1.writeCharCode$1(quote);
  51216. t1.write$1(0, buffer);
  51217. t1.writeCharCode$1(quote);
  51218. }
  51219. },
  51220. _visitQuotedString$1: function(string) {
  51221. return this._visitQuotedString$2$forceDoubleQuote(string, false);
  51222. },
  51223. _visitUnquotedString$1: function(string) {
  51224. var t1, t2, afterNewline, i, char;
  51225. for (t1 = string.length, t2 = this._serialize$_buffer, afterNewline = false, i = 0; i < t1; ++i) {
  51226. char = C.JSString_methods._codeUnitAt$1(string, i);
  51227. switch (char) {
  51228. case 10:
  51229. t2.writeCharCode$1(32);
  51230. afterNewline = true;
  51231. break;
  51232. case 32:
  51233. if (!afterNewline)
  51234. t2.writeCharCode$1(32);
  51235. break;
  51236. default:
  51237. t2.writeCharCode$1(char);
  51238. afterNewline = false;
  51239. break;
  51240. }
  51241. }
  51242. },
  51243. visitComplexSelector$1: function(complex) {
  51244. var t1, t2, t3, t4, lastComponent, _i, component, t5;
  51245. for (t1 = complex.components, t2 = t1.length, t3 = this._serialize$_buffer, t4 = this._style === C.OutputStyle_compressed, lastComponent = null, _i = 0; _i < t2; ++_i, lastComponent = component) {
  51246. component = t1[_i];
  51247. if (lastComponent != null)
  51248. if (!(t4 && !!lastComponent.$isCombinator))
  51249. t5 = !(t4 && component instanceof S.Combinator);
  51250. else
  51251. t5 = false;
  51252. else
  51253. t5 = false;
  51254. if (t5)
  51255. t3.write$1(0, " ");
  51256. if (component instanceof X.CompoundSelector)
  51257. this.visitCompoundSelector$1(component);
  51258. else
  51259. t3.write$1(0, component);
  51260. }
  51261. },
  51262. visitCompoundSelector$1: function(compound) {
  51263. var t2, t3, _i,
  51264. t1 = this._serialize$_buffer,
  51265. start = t1.get$length(t1);
  51266. for (t2 = compound.components, t3 = t2.length, _i = 0; _i < t3; ++_i)
  51267. t2[_i].accept$1(this);
  51268. if (t1.get$length(t1) === start)
  51269. t1.writeCharCode$1(42);
  51270. },
  51271. visitSelectorList$1: function(list) {
  51272. var complexes, t1, t2, t3, t4, first, t5, _this = this;
  51273. if (_this._inspect)
  51274. complexes = list.components;
  51275. else {
  51276. t1 = list.components;
  51277. complexes = new H.WhereIterable(t1, new N._SerializeVisitor_visitSelectorList_closure(), [H.getTypeArgumentByIndex(t1, 0)]);
  51278. }
  51279. for (t1 = J.get$iterator$ax(complexes), t2 = _this._style !== C.OutputStyle_compressed, t3 = _this._serialize$_buffer, t4 = _this._lineFeed.text, first = true; t1.moveNext$0();) {
  51280. t5 = t1.get$current(t1);
  51281. if (first)
  51282. first = false;
  51283. else {
  51284. t3.writeCharCode$1(44);
  51285. if (t5.lineBreak) {
  51286. if (t2)
  51287. t3.write$1(0, t4);
  51288. } else if (t2)
  51289. t3.writeCharCode$1(32);
  51290. }
  51291. _this.visitComplexSelector$1(t5);
  51292. }
  51293. },
  51294. visitPseudoSelector$1: function(pseudo) {
  51295. var t4, t5, t6,
  51296. t1 = pseudo.selector,
  51297. t2 = t1 == null,
  51298. t3 = !t2;
  51299. if (t3 && pseudo.name === "not" && t1.get$isInvisible())
  51300. return;
  51301. t4 = this._serialize$_buffer;
  51302. t4.writeCharCode$1(58);
  51303. if (!pseudo.isSyntacticClass)
  51304. t4.writeCharCode$1(58);
  51305. t4.write$1(0, pseudo.name);
  51306. t5 = pseudo.argument;
  51307. t6 = t5 == null;
  51308. if (t6 && t2)
  51309. return;
  51310. t4.writeCharCode$1(40);
  51311. if (!t6) {
  51312. t4.write$1(0, t5);
  51313. if (t3)
  51314. t4.writeCharCode$1(32);
  51315. }
  51316. if (t3)
  51317. this.visitSelectorList$1(t1);
  51318. t4.writeCharCode$1(41);
  51319. },
  51320. _write$1: function(value) {
  51321. return this._serialize$_buffer.forSpan$2(value.get$span(), new N._SerializeVisitor__write_closure(this, value));
  51322. },
  51323. _serialize$_visitChildren$1: function(children) {
  51324. var t3, _this = this, t1 = {},
  51325. t2 = _this._serialize$_buffer;
  51326. t2.writeCharCode$1(123);
  51327. if (children.every$1(children, _this.get$_isInvisible())) {
  51328. t2.writeCharCode$1(125);
  51329. return;
  51330. }
  51331. _this._writeLineFeed$0();
  51332. t1.previous = null;
  51333. ++_this._indentation;
  51334. new N._SerializeVisitor__visitChildren_closure(t1, _this, children).call$0();
  51335. --_this._indentation;
  51336. t1 = t1.previous;
  51337. t3 = J.getInterceptor$(t1);
  51338. if ((!!t3.$isCssParentNode ? t1.get$isChildless() : !t3.$isCssComment) && _this._style !== C.OutputStyle_compressed)
  51339. t2.writeCharCode$1(59);
  51340. _this._writeLineFeed$0();
  51341. _this._writeIndentation$0();
  51342. t2.writeCharCode$1(125);
  51343. },
  51344. _writeLineFeed$0: function() {
  51345. if (this._style !== C.OutputStyle_compressed)
  51346. this._serialize$_buffer.write$1(0, this._lineFeed.text);
  51347. },
  51348. _writeIndentation$0: function() {
  51349. var _this = this;
  51350. if (_this._style === C.OutputStyle_compressed)
  51351. return;
  51352. _this._writeTimes$2(_this._indentCharacter, _this._indentation * _this._indentWidth);
  51353. },
  51354. _writeTimes$2: function(char, times) {
  51355. var t1, i;
  51356. for (t1 = this._serialize$_buffer, i = 0; i < times; ++i)
  51357. t1.writeCharCode$1(char);
  51358. },
  51359. _writeBetween$1$3: function(iterable, text, callback) {
  51360. var t1, t2, first, value;
  51361. for (t1 = J.get$iterator$ax(iterable), t2 = this._serialize$_buffer, first = true; t1.moveNext$0();) {
  51362. value = t1.get$current(t1);
  51363. if (first)
  51364. first = false;
  51365. else
  51366. t2.write$1(0, text);
  51367. callback.call$1(value);
  51368. }
  51369. },
  51370. _writeBetween$3: function(iterable, text, callback) {
  51371. return this._writeBetween$1$3(iterable, text, callback, null);
  51372. },
  51373. _isInvisible$1: function(node) {
  51374. if (this._inspect)
  51375. return false;
  51376. if (this._style === C.OutputStyle_compressed && !!J.getInterceptor$(node).$isCssComment && J._codeUnitAt$1$s(node.text, 2) !== 33)
  51377. return true;
  51378. if (!!J.getInterceptor$(node).$isCssParentNode) {
  51379. if (!!node.$isCssAtRule)
  51380. return false;
  51381. if (!!node.$isCssStyleRule && node.selector.value.get$isInvisible())
  51382. return true;
  51383. return J.every$1$ax(node.get$children(), this.get$_isInvisible());
  51384. } else
  51385. return false;
  51386. }
  51387. };
  51388. N._SerializeVisitor_visitCssComment_closure.prototype = {
  51389. call$0: function() {
  51390. var t2, t3, minimumIndentation,
  51391. t1 = this.$this;
  51392. if (t1._style === C.OutputStyle_compressed && J._codeUnitAt$1$s(this.node.text, 2) !== 33)
  51393. return;
  51394. t2 = this.node;
  51395. t3 = t2.text;
  51396. minimumIndentation = t1._minimumIndentation$1(t3);
  51397. if (minimumIndentation == null) {
  51398. t1._writeIndentation$0();
  51399. t1._serialize$_buffer.write$1(0, t3);
  51400. return;
  51401. }
  51402. t2 = t2.span;
  51403. if (t2 != null) {
  51404. t2 = Y.FileLocation$_(t2.file, t2._start);
  51405. minimumIndentation = Math.min(minimumIndentation, t2.file.getColumn$1(t2.offset));
  51406. }
  51407. t1._writeIndentation$0();
  51408. t1._writeWithIndent$2(t3, minimumIndentation);
  51409. }
  51410. };
  51411. N._SerializeVisitor_visitCssAtRule_closure.prototype = {
  51412. call$0: function() {
  51413. var t3,
  51414. t1 = this.$this,
  51415. t2 = t1._serialize$_buffer;
  51416. t2.writeCharCode$1(64);
  51417. t3 = this.node;
  51418. t1._write$1(t3.name);
  51419. t3 = t3.value;
  51420. if (t3 != null) {
  51421. t2.writeCharCode$1(32);
  51422. t1._write$1(t3);
  51423. }
  51424. }
  51425. };
  51426. N._SerializeVisitor_visitCssMediaRule_closure.prototype = {
  51427. call$0: function() {
  51428. var t3, t4,
  51429. t1 = this.$this,
  51430. t2 = t1._serialize$_buffer;
  51431. t2.write$1(0, "@media");
  51432. t3 = t1._style === C.OutputStyle_compressed;
  51433. if (t3) {
  51434. t4 = C.JSArray_methods.get$first(this.node.queries);
  51435. t4 = !(t4.modifier == null && t4.type == null);
  51436. } else
  51437. t4 = true;
  51438. if (t4)
  51439. t2.writeCharCode$1(32);
  51440. t2 = t3 ? "," : ", ";
  51441. t1._writeBetween$3(this.node.queries, t2, t1.get$_visitMediaQuery());
  51442. }
  51443. };
  51444. N._SerializeVisitor_visitCssImport_closure.prototype = {
  51445. call$0: function() {
  51446. var t3, t4, t5, t6,
  51447. t1 = this.$this,
  51448. t2 = t1._serialize$_buffer;
  51449. t2.write$1(0, "@import");
  51450. t3 = t1._style === C.OutputStyle_compressed;
  51451. t4 = !t3;
  51452. if (t4)
  51453. t2.writeCharCode$1(32);
  51454. t5 = this.node;
  51455. t2.forSpan$2(t5.url.get$span(), new N._SerializeVisitor_visitCssImport__closure(t1, t5));
  51456. t6 = t5.supports;
  51457. if (t6 != null) {
  51458. if (t4)
  51459. t2.writeCharCode$1(32);
  51460. t1._write$1(t6);
  51461. }
  51462. t5 = t5.media;
  51463. if (t5 != null) {
  51464. if (t4)
  51465. t2.writeCharCode$1(32);
  51466. t2 = t3 ? "," : ", ";
  51467. t1._writeBetween$3(t5, t2, t1.get$_visitMediaQuery());
  51468. }
  51469. }
  51470. };
  51471. N._SerializeVisitor_visitCssImport__closure.prototype = {
  51472. call$0: function() {
  51473. return this.$this._writeImportUrl$1(this.node.url.get$value());
  51474. }
  51475. };
  51476. N._SerializeVisitor_visitCssKeyframeBlock_closure.prototype = {
  51477. call$0: function() {
  51478. var t1 = this.$this,
  51479. t2 = t1._style === C.OutputStyle_compressed ? "," : ", ",
  51480. t3 = t1._serialize$_buffer;
  51481. return t1._writeBetween$3(this.node.selector.value, t2, t3.get$write(t3));
  51482. }
  51483. };
  51484. N._SerializeVisitor_visitCssStyleRule_closure.prototype = {
  51485. call$0: function() {
  51486. var t1 = this.node.selector.value;
  51487. t1.toString;
  51488. return this.$this.visitSelectorList$1(t1);
  51489. }
  51490. };
  51491. N._SerializeVisitor_visitCssSupportsRule_closure.prototype = {
  51492. call$0: function() {
  51493. var t1 = this.$this,
  51494. t2 = t1._serialize$_buffer;
  51495. t2.write$1(0, "@supports");
  51496. if (!(t1._style === C.OutputStyle_compressed && J.codeUnitAt$1$s(this.node.condition.value, 0) === 40))
  51497. t2.writeCharCode$1(32);
  51498. t1._write$1(this.node.condition);
  51499. }
  51500. };
  51501. N._SerializeVisitor_visitCssDeclaration_closure.prototype = {
  51502. call$0: function() {
  51503. var t1 = this.$this,
  51504. t2 = this.node;
  51505. if (t1._style === C.OutputStyle_compressed)
  51506. t1._writeFoldedValue$1(t2);
  51507. else
  51508. t1._writeReindentedValue$1(t2);
  51509. }
  51510. };
  51511. N._SerializeVisitor_visitCssDeclaration_closure0.prototype = {
  51512. call$0: function() {
  51513. return this.node.value.value.accept$1(this.$this);
  51514. }
  51515. };
  51516. N._SerializeVisitor_visitList_closure.prototype = {
  51517. call$1: function(element) {
  51518. return !element.get$isBlank();
  51519. }
  51520. };
  51521. N._SerializeVisitor_visitList_closure0.prototype = {
  51522. call$1: function(element) {
  51523. var t1 = this.$this,
  51524. needsParens = t1._elementNeedsParens$2(this.value.separator, element);
  51525. if (needsParens)
  51526. t1._serialize$_buffer.writeCharCode$1(40);
  51527. element.accept$1(t1);
  51528. if (needsParens)
  51529. t1._serialize$_buffer.writeCharCode$1(41);
  51530. }
  51531. };
  51532. N._SerializeVisitor_visitList_closure1.prototype = {
  51533. call$1: function(element) {
  51534. element.accept$1(this.$this);
  51535. }
  51536. };
  51537. N._SerializeVisitor_visitMap_closure.prototype = {
  51538. call$1: function(key) {
  51539. var t1 = this.$this;
  51540. t1._writeMapElement$1(key);
  51541. t1._serialize$_buffer.write$1(0, ": ");
  51542. t1._writeMapElement$1(this.map.contents.$index(0, key));
  51543. }
  51544. };
  51545. N._SerializeVisitor_visitSelectorList_closure.prototype = {
  51546. call$1: function(complex) {
  51547. return !complex.get$isInvisible();
  51548. }
  51549. };
  51550. N._SerializeVisitor__write_closure.prototype = {
  51551. call$0: function() {
  51552. return this.$this._serialize$_buffer.write$1(0, this.value.get$value());
  51553. }
  51554. };
  51555. N._SerializeVisitor__visitChildren_closure.prototype = {
  51556. call$0: function() {
  51557. var t1, t2, t3, t4, t5, t6, i, child, t7;
  51558. for (t1 = this.children._collection$_source, t2 = J.getInterceptor$asx(t1), t3 = this._box_0, t4 = this.$this, t5 = t4._serialize$_buffer, t6 = t4._lineFeed.text, i = 0; i < t2.get$length(t1); ++i) {
  51559. child = t2.elementAt$1(t1, i);
  51560. if (t4._isInvisible$1(child))
  51561. continue;
  51562. t7 = t3.previous;
  51563. if (t7 != null) {
  51564. if (!!t7.$isCssParentNode ? t7.get$isChildless() : !t7.$isCssComment)
  51565. t5.writeCharCode$1(59);
  51566. t7 = t4._style !== C.OutputStyle_compressed;
  51567. if (t7)
  51568. t5.write$1(0, t6);
  51569. if (t3.previous.get$isGroupEnd())
  51570. if (t7)
  51571. t5.write$1(0, t6);
  51572. }
  51573. t3.previous = child;
  51574. child.accept$1(t4);
  51575. }
  51576. }
  51577. };
  51578. N.OutputStyle.prototype = {
  51579. toString$0: function(_) {
  51580. return this._serialize$_name;
  51581. }
  51582. };
  51583. N.LineFeed.prototype = {
  51584. toString$0: function(_) {
  51585. return this.name;
  51586. }
  51587. };
  51588. N.SerializeResult.prototype = {};
  51589. N.withWarnCallback_closure.prototype = {
  51590. call$0: function() {
  51591. return this.callback.call$0();
  51592. },
  51593. "call*": "call$0",
  51594. $requiredArgCount: 0
  51595. };
  51596. L.Entry.prototype = {
  51597. compareTo$1: function(_, other) {
  51598. var t1, t2, t3,
  51599. res = this.target.compareTo$1(0, other.target);
  51600. if (res !== 0)
  51601. return res;
  51602. t1 = this.source;
  51603. t2 = J.toString$0$(t1.file.url);
  51604. t3 = other.source;
  51605. res = C.JSString_methods.compareTo$1(t2, J.toString$0$(t3.file.url));
  51606. if (res !== 0)
  51607. return res;
  51608. return t1.compareTo$1(0, t3);
  51609. },
  51610. $isComparable: 1,
  51611. $asComparable: function() {
  51612. return [L.Entry];
  51613. },
  51614. get$source: function() {
  51615. return this.source;
  51616. },
  51617. get$target: function() {
  51618. return this.target;
  51619. },
  51620. get$identifierName: function() {
  51621. return this.identifierName;
  51622. }
  51623. };
  51624. T.Mapping.prototype = {};
  51625. T.SingleMapping.prototype = {
  51626. toJson$1$includeSourceContents: function(includeSourceContents) {
  51627. var t1, t2, line, column, srcLine, srcColumn, srcUrlId, srcNameId, first, _i, entry, nextLine, i, t3, t4, _i0, segment, column0, t5, newUrlId, srcLine0, srcColumn0, srcNameId0, result, _this = this,
  51628. buff = new P.StringBuffer("");
  51629. for (t1 = _this.lines, t2 = t1.length, line = 0, column = 0, srcLine = 0, srcColumn = 0, srcUrlId = 0, srcNameId = 0, first = true, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  51630. entry = t1[_i];
  51631. nextLine = entry.line;
  51632. if (nextLine > line) {
  51633. for (i = line; i < nextLine; ++i)
  51634. buff._contents += ";";
  51635. line = nextLine;
  51636. column = 0;
  51637. first = true;
  51638. }
  51639. for (t3 = entry.entries, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0, column = column0, first = false) {
  51640. segment = t3[_i0];
  51641. if (!first)
  51642. buff._contents += ",";
  51643. column0 = segment.column;
  51644. t5 = L.encodeVlq(column0 - column);
  51645. t5 = P.StringBuffer__writeAll(buff._contents, t5, "");
  51646. buff._contents = t5;
  51647. newUrlId = segment.sourceUrlId;
  51648. if (newUrlId == null)
  51649. continue;
  51650. t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(newUrlId - srcUrlId), "");
  51651. buff._contents = t5;
  51652. srcLine0 = segment.sourceLine;
  51653. t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(srcLine0 - srcLine), "");
  51654. buff._contents = t5;
  51655. srcColumn0 = segment.sourceColumn;
  51656. t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(srcColumn0 - srcColumn), "");
  51657. buff._contents = t5;
  51658. srcNameId0 = segment.sourceNameId;
  51659. if (srcNameId0 == null) {
  51660. srcUrlId = newUrlId;
  51661. srcColumn = srcColumn0;
  51662. srcLine = srcLine0;
  51663. continue;
  51664. }
  51665. buff._contents = P.StringBuffer__writeAll(t5, L.encodeVlq(srcNameId0 - srcNameId), "");
  51666. srcNameId = srcNameId0;
  51667. srcUrlId = newUrlId;
  51668. srcColumn = srcColumn0;
  51669. srcLine = srcLine0;
  51670. }
  51671. }
  51672. t1 = _this.sourceRoot;
  51673. if (t1 == null)
  51674. t1 = "";
  51675. t2 = buff._contents;
  51676. t3 = P.String;
  51677. result = P.LinkedHashMap_LinkedHashMap$_literal(["version", 3, "sourceRoot", t1, "sources", _this.urls, "names", _this.names, "mappings", t2.charCodeAt(0) == 0 ? t2 : t2], t3, P.Object);
  51678. t1 = _this.targetUrl;
  51679. if (t1 != null)
  51680. result.$indexSet(0, "file", t1);
  51681. if (includeSourceContents) {
  51682. t1 = _this.files;
  51683. result.$indexSet(0, "sourcesContent", new H.MappedListIterable(t1, new T.SingleMapping_toJson_closure(), [H.getTypeArgumentByIndex(t1, 0), t3]).toList$0(0));
  51684. }
  51685. _this.extensions.forEach$1(0, new T.SingleMapping_toJson_closure0(result));
  51686. return result;
  51687. },
  51688. toJson$0: function() {
  51689. return this.toJson$1$includeSourceContents(false);
  51690. },
  51691. toString$0: function(_) {
  51692. var _this = this,
  51693. t1 = H.getRuntimeType(_this).toString$0(0);
  51694. t1 + " : [";
  51695. t1 = t1 + " : [targetUrl: " + H.S(_this.targetUrl) + ", sourceRoot: " + H.S(_this.sourceRoot) + ", urls: " + H.S(_this.urls) + ", names: " + H.S(_this.names) + ", lines: " + H.S(_this.lines) + "]";
  51696. return t1.charCodeAt(0) == 0 ? t1 : t1;
  51697. }
  51698. };
  51699. T.SingleMapping_SingleMapping$fromEntries_closure.prototype = {
  51700. call$0: function() {
  51701. var t1 = this.urls;
  51702. return t1.get$length(t1);
  51703. }
  51704. };
  51705. T.SingleMapping_SingleMapping$fromEntries_closure0.prototype = {
  51706. call$0: function() {
  51707. return H.interceptedTypeCast(this.sourceEntry.get$source(), "$isFileLocation").file;
  51708. }
  51709. };
  51710. T.SingleMapping_SingleMapping$fromEntries_closure1.prototype = {
  51711. call$1: function(i) {
  51712. return this.files.$index(0, i);
  51713. },
  51714. $signature: 58
  51715. };
  51716. T.SingleMapping_toJson_closure.prototype = {
  51717. call$1: function(file) {
  51718. return file == null ? null : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(file._decodedChars, 0, null), 0, null);
  51719. }
  51720. };
  51721. T.SingleMapping_toJson_closure0.prototype = {
  51722. call$2: function($name, value) {
  51723. this.result.$indexSet(0, $name, value);
  51724. return value;
  51725. }
  51726. };
  51727. T.TargetLineEntry.prototype = {
  51728. toString$0: function(_) {
  51729. return H.getRuntimeType(this).toString$0(0) + ": " + this.line + " " + H.S(this.entries);
  51730. }
  51731. };
  51732. T.TargetEntry.prototype = {
  51733. toString$0: function(_) {
  51734. var _this = this;
  51735. return H.getRuntimeType(_this).toString$0(0) + ": (" + H.S(_this.column) + ", " + H.S(_this.sourceUrlId) + ", " + H.S(_this.sourceLine) + ", " + H.S(_this.sourceColumn) + ", " + H.S(_this.sourceNameId) + ")";
  51736. }
  51737. };
  51738. Y.SourceFile.prototype = {
  51739. get$length: function(_) {
  51740. return this._decodedChars.length;
  51741. },
  51742. get$lines: function() {
  51743. return this._lineStarts.length;
  51744. },
  51745. SourceFile$decoded$2$url: function(decodedChars, url) {
  51746. var t1, t2, t3, i, c, j;
  51747. for (t1 = this._decodedChars, t2 = t1.length, t3 = this._lineStarts, i = 0; i < t2; ++i) {
  51748. c = t1[i];
  51749. if (c === 13) {
  51750. j = i + 1;
  51751. if (j >= t2 || t1[j] !== 10)
  51752. c = 10;
  51753. }
  51754. if (c === 10)
  51755. t3.push(i + 1);
  51756. }
  51757. },
  51758. span$2: function(start, end) {
  51759. return Y._FileSpan$(this, start, end == null ? this._decodedChars.length : end);
  51760. },
  51761. getLine$1: function(offset) {
  51762. var t1, _this = this;
  51763. if (offset < 0)
  51764. throw H.wrapException(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  51765. else if (offset > _this._decodedChars.length)
  51766. throw H.wrapException(P.RangeError$("Offset " + H.S(offset) + " must not be greater than the number of characters in the file, " + _this.get$length(_this) + "."));
  51767. t1 = _this._lineStarts;
  51768. if (offset < C.JSArray_methods.get$first(t1))
  51769. return -1;
  51770. if (offset >= C.JSArray_methods.get$last(t1))
  51771. return t1.length - 1;
  51772. if (_this._isNearCachedLine$1(offset))
  51773. return _this._cachedLine;
  51774. return _this._cachedLine = _this._binarySearch$1(offset) - 1;
  51775. },
  51776. _isNearCachedLine$1: function(offset) {
  51777. var t2, t3,
  51778. t1 = this._cachedLine;
  51779. if (t1 == null)
  51780. return false;
  51781. t2 = this._lineStarts;
  51782. if (offset < t2[t1])
  51783. return false;
  51784. t3 = t2.length;
  51785. if (t1 >= t3 - 1 || offset < t2[t1 + 1])
  51786. return true;
  51787. if (t1 >= t3 - 2 || offset < t2[t1 + 2]) {
  51788. this._cachedLine = t1 + 1;
  51789. return true;
  51790. }
  51791. return false;
  51792. },
  51793. _binarySearch$1: function(offset) {
  51794. var min, half,
  51795. t1 = this._lineStarts,
  51796. max = t1.length - 1;
  51797. for (min = 0; min < max;) {
  51798. half = min + C.JSInt_methods._tdivFast$1(max - min, 2);
  51799. if (t1[half] > offset)
  51800. max = half;
  51801. else
  51802. min = half + 1;
  51803. }
  51804. return max;
  51805. },
  51806. getColumn$1: function(offset) {
  51807. var line, lineStart, _this = this;
  51808. if (offset < 0)
  51809. throw H.wrapException(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  51810. else if (offset > _this._decodedChars.length)
  51811. throw H.wrapException(P.RangeError$("Offset " + H.S(offset) + " must be not be greater than the number of characters in the file, " + _this.get$length(_this) + "."));
  51812. line = _this.getLine$1(offset);
  51813. lineStart = _this._lineStarts[line];
  51814. if (lineStart > offset)
  51815. throw H.wrapException(P.RangeError$("Line " + H.S(line) + " comes after offset " + H.S(offset) + "."));
  51816. return offset - lineStart;
  51817. },
  51818. getOffset$1: function(line) {
  51819. var t1, t2, result, t3;
  51820. if (line < 0)
  51821. throw H.wrapException(P.RangeError$("Line may not be negative, was " + H.S(line) + "."));
  51822. else {
  51823. t1 = this._lineStarts;
  51824. t2 = t1.length;
  51825. if (line >= t2)
  51826. throw H.wrapException(P.RangeError$("Line " + H.S(line) + " must be less than the number of lines in the file, " + this.get$lines() + "."));
  51827. }
  51828. result = t1[line];
  51829. if (result <= this._decodedChars.length) {
  51830. t3 = line + 1;
  51831. t1 = t3 < t2 && result >= t1[t3];
  51832. } else
  51833. t1 = true;
  51834. if (t1)
  51835. throw H.wrapException(P.RangeError$("Line " + H.S(line) + " doesn't have 0 columns."));
  51836. return result;
  51837. }
  51838. };
  51839. Y.FileLocation.prototype = {
  51840. get$sourceUrl: function() {
  51841. return this.file.url;
  51842. },
  51843. get$line: function() {
  51844. return this.file.getLine$1(this.offset);
  51845. },
  51846. get$column: function() {
  51847. return this.file.getColumn$1(this.offset);
  51848. },
  51849. pointSpan$0: function() {
  51850. var t1 = this.offset;
  51851. return Y._FileSpan$(this.file, t1, t1);
  51852. },
  51853. get$offset: function() {
  51854. return this.offset;
  51855. }
  51856. };
  51857. Y.FileSpan.prototype = {$isComparable: 1,
  51858. $asComparable: function() {
  51859. return [V.SourceSpan];
  51860. },
  51861. $isSourceSpan: 1,
  51862. $isSourceSpanWithContext: 1
  51863. };
  51864. Y._FileSpan.prototype = {
  51865. get$sourceUrl: function() {
  51866. return this.file.url;
  51867. },
  51868. get$length: function(_) {
  51869. return this._file$_end - this._start;
  51870. },
  51871. get$start: function(_) {
  51872. return Y.FileLocation$_(this.file, this._start);
  51873. },
  51874. get$end: function(_) {
  51875. return Y.FileLocation$_(this.file, this._file$_end);
  51876. },
  51877. get$text: function() {
  51878. return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.file._decodedChars, this._start, this._file$_end), 0, null);
  51879. },
  51880. get$context: function(_) {
  51881. var _this = this,
  51882. t1 = _this.file,
  51883. endOffset = _this._file$_end,
  51884. endLine = t1.getLine$1(endOffset);
  51885. if (t1.getColumn$1(endOffset) === 0 && endLine !== 0) {
  51886. if (endOffset - _this._start === 0)
  51887. return endLine === t1._lineStarts.length - 1 ? "" : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(endLine), t1.getOffset$1(endLine + 1)), 0, null);
  51888. } else
  51889. endOffset = endLine === t1._lineStarts.length - 1 ? t1._decodedChars.length : t1.getOffset$1(endLine + 1);
  51890. return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(t1.getLine$1(_this._start)), endOffset), 0, null);
  51891. },
  51892. compareTo$1: function(_, other) {
  51893. var result;
  51894. if (!(other instanceof Y._FileSpan))
  51895. return this.super$SourceSpanMixin$compareTo(0, other);
  51896. result = J.compareTo$1$ns(this._start, other._start);
  51897. return result === 0 ? J.compareTo$1$ns(this._file$_end, other._file$_end) : result;
  51898. },
  51899. $eq: function(_, other) {
  51900. var _this = this;
  51901. if (other == null)
  51902. return false;
  51903. if (!J.getInterceptor$(other).$isFileSpan)
  51904. return _this.super$SourceSpanMixin$$eq(0, other);
  51905. return _this._start == other._start && _this._file$_end == other._file$_end && J.$eq$(_this.file.url, other.file.url);
  51906. },
  51907. get$hashCode: function(_) {
  51908. return Y.SourceSpanMixin.prototype.get$hashCode.call(this, this);
  51909. },
  51910. expand$1: function(_, other) {
  51911. var start, _this = this,
  51912. t1 = _this.file;
  51913. if (!J.$eq$(t1.url, other.file.url))
  51914. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(_this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  51915. start = Math.min(H.checkNum(_this._start), H.checkNum(other._start));
  51916. return Y._FileSpan$(t1, start, Math.max(H.checkNum(_this._file$_end), H.checkNum(other._file$_end)));
  51917. },
  51918. $isFileSpan: 1,
  51919. $isSourceSpanWithContext: 1
  51920. };
  51921. U.Highlighter.prototype = {
  51922. highlight$0: function() {
  51923. var t1, t2, lineStart, context, lines, t3, t4, lineNumber, _i, line, lastLineIndex, _this = this;
  51924. _this._writeSidebar$1$end($._glyphs.get$downEnd());
  51925. t1 = _this._highlighter$_buffer;
  51926. t1._contents += "\n";
  51927. t2 = _this._highlighter$_span;
  51928. lineStart = B.findLineStart(t2.get$context(t2), t2.get$text(), t2.get$start(t2).get$column());
  51929. context = t2.get$context(t2);
  51930. if (lineStart > 0) {
  51931. lines = C.JSString_methods.substring$2(context, 0, lineStart - 1).split("\n");
  51932. t3 = t2.get$start(t2).get$line();
  51933. t4 = lines.length;
  51934. lineNumber = t3 - t4;
  51935. for (t3 = _this._multiline, _i = 0; _i < t4; ++_i) {
  51936. line = lines[_i];
  51937. _this._writeSidebar$1$line(lineNumber);
  51938. t1._contents += C.JSString_methods.$mul(" ", t3 ? 3 : 1);
  51939. _this._writeText$1(line);
  51940. t1._contents += "\n";
  51941. ++lineNumber;
  51942. }
  51943. context = C.JSString_methods.substring$1(context, lineStart);
  51944. }
  51945. lines = H.setRuntimeTypeInfo(context.split("\n"), [P.String]);
  51946. lastLineIndex = t2.get$end(t2).get$line() - t2.get$start(t2).get$line();
  51947. if (J.get$length$asx(C.JSArray_methods.get$last(lines)) === 0 && lines.length > lastLineIndex + 1)
  51948. lines.pop();
  51949. _this._writeFirstLine$1(C.JSArray_methods.get$first(lines));
  51950. if (_this._multiline) {
  51951. _this._writeIntermediateLines$1(H.SubListIterable$(lines, 1, null, H.getTypeArgumentByIndex(lines, 0)).take$1(0, lastLineIndex - 1));
  51952. _this._writeLastLine$1(lines[lastLineIndex]);
  51953. }
  51954. _this._writeTrailingLines$1(H.SubListIterable$(lines, lastLineIndex + 1, null, H.getTypeArgumentByIndex(lines, 0)));
  51955. _this._writeSidebar$1$end($._glyphs.get$upEnd());
  51956. t1 = t1._contents;
  51957. return t1.charCodeAt(0) == 0 ? t1 : t1;
  51958. },
  51959. _writeFirstLine$1: function(line) {
  51960. var t3, t4, startColumn, endColumn, textBefore, textInside, tabsBefore, tabsInside, _this = this, t1 = {},
  51961. t2 = _this._highlighter$_span;
  51962. _this._writeSidebar$1$line(t2.get$start(t2).get$line());
  51963. t3 = t2.get$start(t2).get$column();
  51964. t4 = line.length;
  51965. startColumn = t1.startColumn = Math.min(H.checkNum(t3), t4);
  51966. endColumn = t1.endColumn = Math.min(startColumn + t2.get$end(t2).get$offset() - t2.get$start(t2).get$offset(), t4);
  51967. textBefore = J.substring$2$s(line, 0, startColumn);
  51968. t2 = _this._multiline;
  51969. if (t2 && _this._isOnlyWhitespace$1(textBefore)) {
  51970. t1 = _this._highlighter$_buffer;
  51971. t1._contents += " ";
  51972. _this._colorize$1(new U.Highlighter__writeFirstLine_closure(_this, line));
  51973. t1._contents += "\n";
  51974. return;
  51975. }
  51976. t3 = _this._highlighter$_buffer;
  51977. t3._contents += C.JSString_methods.$mul(" ", t2 ? 3 : 1);
  51978. _this._writeText$1(textBefore);
  51979. textInside = C.JSString_methods.substring$2(line, startColumn, endColumn);
  51980. _this._colorize$1(new U.Highlighter__writeFirstLine_closure0(_this, textInside));
  51981. _this._writeText$1(C.JSString_methods.substring$1(line, endColumn));
  51982. t3._contents += "\n";
  51983. tabsBefore = _this._countTabs$1(textBefore);
  51984. tabsInside = _this._countTabs$1(textInside);
  51985. startColumn += tabsBefore * 3;
  51986. t1.startColumn = startColumn;
  51987. t1.endColumn = endColumn + (tabsBefore + tabsInside) * 3;
  51988. _this._writeSidebar$0();
  51989. if (t2) {
  51990. t3._contents += " ";
  51991. _this._colorize$1(new U.Highlighter__writeFirstLine_closure1(t1, _this));
  51992. } else {
  51993. t3._contents += C.JSString_methods.$mul(" ", startColumn + 1);
  51994. _this._colorize$1(new U.Highlighter__writeFirstLine_closure2(t1, _this));
  51995. }
  51996. t3._contents += "\n";
  51997. },
  51998. _writeIntermediateLines$1: function(lines) {
  51999. var t2, t3, _this = this,
  52000. t1 = _this._highlighter$_span,
  52001. lineNumber = t1.get$start(t1).get$line() + 1;
  52002. for (t1 = new H.ListIterator(lines, lines.get$length(lines)), t2 = _this._highlighter$_buffer; t1.moveNext$0();) {
  52003. t3 = t1.__internal$_current;
  52004. _this._writeSidebar$1$line(lineNumber);
  52005. t2._contents += " ";
  52006. _this._colorize$1(new U.Highlighter__writeIntermediateLines_closure(_this, t3));
  52007. t2._contents += "\n";
  52008. ++lineNumber;
  52009. }
  52010. },
  52011. _writeLastLine$1: function(line) {
  52012. var t3, endColumn, textInside, _this = this, t1 = {},
  52013. t2 = _this._highlighter$_span;
  52014. _this._writeSidebar$1$line(t2.get$end(t2).get$line());
  52015. t2 = t2.get$end(t2).get$column();
  52016. t3 = line.length;
  52017. endColumn = t1.endColumn = Math.min(H.checkNum(t2), t3);
  52018. if (_this._multiline && endColumn === t3) {
  52019. t1 = _this._highlighter$_buffer;
  52020. t1._contents += " ";
  52021. _this._colorize$1(new U.Highlighter__writeLastLine_closure(_this, line));
  52022. t1._contents += "\n";
  52023. return;
  52024. }
  52025. t2 = _this._highlighter$_buffer;
  52026. t2._contents += " ";
  52027. textInside = J.substring$2$s(line, 0, endColumn);
  52028. _this._colorize$1(new U.Highlighter__writeLastLine_closure0(_this, textInside));
  52029. _this._writeText$1(C.JSString_methods.substring$1(line, endColumn));
  52030. t2._contents += "\n";
  52031. t1.endColumn = endColumn + _this._countTabs$1(textInside) * 3;
  52032. _this._writeSidebar$0();
  52033. t2._contents += " ";
  52034. _this._colorize$1(new U.Highlighter__writeLastLine_closure1(t1, _this));
  52035. t2._contents += "\n";
  52036. },
  52037. _writeTrailingLines$1: function(lines) {
  52038. var t2, t3, t4, _this = this,
  52039. t1 = _this._highlighter$_span,
  52040. lineNumber = t1.get$end(t1).get$line() + 1;
  52041. for (t1 = new H.ListIterator(lines, lines.get$length(lines)), t2 = _this._highlighter$_buffer, t3 = _this._multiline; t1.moveNext$0();) {
  52042. t4 = t1.__internal$_current;
  52043. _this._writeSidebar$1$line(lineNumber);
  52044. t2._contents += C.JSString_methods.$mul(" ", t3 ? 3 : 1);
  52045. _this._writeText$1(t4);
  52046. t2._contents += "\n";
  52047. ++lineNumber;
  52048. }
  52049. },
  52050. _writeText$1: function(text) {
  52051. var t1, t2, t3;
  52052. for (text.toString, t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this._highlighter$_buffer; t1.moveNext$0();) {
  52053. t3 = t1.__internal$_current;
  52054. if (t3 === 9)
  52055. t2._contents += C.JSString_methods.$mul(" ", 4);
  52056. else
  52057. t2._contents += H.Primitives_stringFromCharCode(t3);
  52058. }
  52059. },
  52060. _writeSidebar$2$end$line: function(end, line) {
  52061. this._colorize$2$color(new U.Highlighter__writeSidebar_closure(this, line, end), "\x1b[34m");
  52062. },
  52063. _writeSidebar$1$end: function(end) {
  52064. return this._writeSidebar$2$end$line(end, null);
  52065. },
  52066. _writeSidebar$1$line: function(line) {
  52067. return this._writeSidebar$2$end$line(null, line);
  52068. },
  52069. _writeSidebar$0: function() {
  52070. return this._writeSidebar$2$end$line(null, null);
  52071. },
  52072. _countTabs$1: function(text) {
  52073. var t1, count;
  52074. for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)), count = 0; t1.moveNext$0();)
  52075. if (t1.__internal$_current === 9)
  52076. ++count;
  52077. return count;
  52078. },
  52079. _isOnlyWhitespace$1: function(text) {
  52080. var t1, t2;
  52081. for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) {
  52082. t2 = t1.__internal$_current;
  52083. if (t2 !== 32 && t2 !== 9)
  52084. return false;
  52085. }
  52086. return true;
  52087. },
  52088. _colorize$2$color: function(callback, color) {
  52089. var t1 = this._color,
  52090. t2 = t1 != null;
  52091. if (t2) {
  52092. t1 = color == null ? t1 : color;
  52093. this._highlighter$_buffer._contents += t1;
  52094. }
  52095. callback.call$0();
  52096. if (t2)
  52097. this._highlighter$_buffer._contents += "\x1b[0m";
  52098. },
  52099. _colorize$1: function(callback) {
  52100. return this._colorize$2$color(callback, null);
  52101. }
  52102. };
  52103. U.Highlighter__writeFirstLine_closure.prototype = {
  52104. call$0: function() {
  52105. var t1 = this.$this,
  52106. t2 = t1._highlighter$_buffer,
  52107. t3 = t2._contents += $._glyphs.glyphOrAscii$2("\u250c", "/");
  52108. t2._contents = t3 + " ";
  52109. t1._writeText$1(this.line);
  52110. }
  52111. };
  52112. U.Highlighter__writeFirstLine_closure0.prototype = {
  52113. call$0: function() {
  52114. return this.$this._writeText$1(this.textInside);
  52115. }
  52116. };
  52117. U.Highlighter__writeFirstLine_closure1.prototype = {
  52118. call$0: function() {
  52119. var t2,
  52120. t1 = this.$this._highlighter$_buffer;
  52121. t1._contents += $._glyphs.get$topLeftCorner();
  52122. t2 = t1._contents += C.JSString_methods.$mul($._glyphs.get$horizontalLine(), this._box_0.startColumn + 1);
  52123. t1._contents = t2 + "^";
  52124. }
  52125. };
  52126. U.Highlighter__writeFirstLine_closure2.prototype = {
  52127. call$0: function() {
  52128. var t1 = this._box_0;
  52129. this.$this._highlighter$_buffer._contents += C.JSString_methods.$mul("^", Math.max(t1.endColumn - t1.startColumn, 1));
  52130. return;
  52131. }
  52132. };
  52133. U.Highlighter__writeIntermediateLines_closure.prototype = {
  52134. call$0: function() {
  52135. var t1 = this.$this,
  52136. t2 = t1._highlighter$_buffer,
  52137. t3 = t2._contents += $._glyphs.get$verticalLine();
  52138. t2._contents = t3 + " ";
  52139. t1._writeText$1(this.line);
  52140. }
  52141. };
  52142. U.Highlighter__writeLastLine_closure.prototype = {
  52143. call$0: function() {
  52144. var t1 = this.$this,
  52145. t2 = t1._highlighter$_buffer,
  52146. t3 = t2._contents += $._glyphs.glyphOrAscii$2("\u2514", "\\");
  52147. t2._contents = t3 + " ";
  52148. t1._writeText$1(this.line);
  52149. }
  52150. };
  52151. U.Highlighter__writeLastLine_closure0.prototype = {
  52152. call$0: function() {
  52153. var t1 = this.$this,
  52154. t2 = t1._highlighter$_buffer,
  52155. t3 = t2._contents += $._glyphs.get$verticalLine();
  52156. t2._contents = t3 + " ";
  52157. t1._writeText$1(this.textInside);
  52158. }
  52159. };
  52160. U.Highlighter__writeLastLine_closure1.prototype = {
  52161. call$0: function() {
  52162. var t2,
  52163. t1 = this.$this._highlighter$_buffer;
  52164. t1._contents += $._glyphs.get$bottomLeftCorner();
  52165. t2 = t1._contents += C.JSString_methods.$mul($._glyphs.get$horizontalLine(), this._box_0.endColumn);
  52166. t1._contents = t2 + "^";
  52167. }
  52168. };
  52169. U.Highlighter__writeSidebar_closure.prototype = {
  52170. call$0: function() {
  52171. var t1 = this.line,
  52172. t2 = this.$this,
  52173. t3 = t2._highlighter$_buffer;
  52174. t2 = t2._paddingBeforeSidebar;
  52175. if (t1 != null)
  52176. t3._contents += C.JSString_methods.padRight$1(C.JSInt_methods.toString$0(t1 + 1), t2);
  52177. else
  52178. t3._contents += C.JSString_methods.$mul(" ", t2);
  52179. t1 = this.end;
  52180. t3._contents += t1 == null ? $._glyphs.get$verticalLine() : t1;
  52181. }
  52182. };
  52183. V.SourceLocation.prototype = {
  52184. distance$1: function(other) {
  52185. var t1 = this.sourceUrl;
  52186. if (!J.$eq$(t1, other.get$sourceUrl()))
  52187. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  52188. return Math.abs(this.offset - other.get$offset());
  52189. },
  52190. compareTo$1: function(_, other) {
  52191. var t1 = this.sourceUrl;
  52192. if (!J.$eq$(t1, other.get$sourceUrl()))
  52193. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  52194. return this.offset - other.get$offset();
  52195. },
  52196. $eq: function(_, other) {
  52197. if (other == null)
  52198. return false;
  52199. return !!J.getInterceptor$(other).$isSourceLocation && J.$eq$(this.sourceUrl, other.get$sourceUrl()) && this.offset == other.get$offset();
  52200. },
  52201. get$hashCode: function(_) {
  52202. return J.get$hashCode$(this.sourceUrl) + this.offset;
  52203. },
  52204. toString$0: function(_) {
  52205. var _this = this,
  52206. t1 = "<" + H.getRuntimeType(_this).toString$0(0) + ": " + H.S(_this.offset) + " ",
  52207. source = _this.sourceUrl;
  52208. return t1 + (H.S(source == null ? "unknown source" : source) + ":" + (_this.line + 1) + ":" + (_this.column + 1)) + ">";
  52209. },
  52210. $isComparable: 1,
  52211. $asComparable: function() {
  52212. return [V.SourceLocation];
  52213. },
  52214. get$sourceUrl: function() {
  52215. return this.sourceUrl;
  52216. },
  52217. get$offset: function() {
  52218. return this.offset;
  52219. },
  52220. get$line: function() {
  52221. return this.line;
  52222. },
  52223. get$column: function() {
  52224. return this.column;
  52225. }
  52226. };
  52227. D.SourceLocationMixin.prototype = {
  52228. distance$1: function(other) {
  52229. if (!J.$eq$(this.file.url, other.get$sourceUrl()))
  52230. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  52231. return Math.abs(this.offset - other.get$offset());
  52232. },
  52233. compareTo$1: function(_, other) {
  52234. if (!J.$eq$(this.file.url, other.get$sourceUrl()))
  52235. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  52236. return this.offset - other.get$offset();
  52237. },
  52238. $eq: function(_, other) {
  52239. if (other == null)
  52240. return false;
  52241. return !!J.getInterceptor$(other).$isSourceLocation && J.$eq$(this.file.url, other.get$sourceUrl()) && this.offset == other.get$offset();
  52242. },
  52243. get$hashCode: function(_) {
  52244. return J.get$hashCode$(this.file.url) + this.offset;
  52245. },
  52246. toString$0: function(_) {
  52247. var t1 = this.offset,
  52248. t2 = "<" + H.getRuntimeType(this).toString$0(0) + ": " + H.S(t1) + " ",
  52249. t3 = this.file,
  52250. source = t3.url;
  52251. return t2 + (H.S(source == null ? "unknown source" : source) + ":" + (t3.getLine$1(t1) + 1) + ":" + (t3.getColumn$1(t1) + 1)) + ">";
  52252. },
  52253. $isComparable: 1,
  52254. $asComparable: function() {
  52255. return [V.SourceLocation];
  52256. },
  52257. $isSourceLocation: 1
  52258. };
  52259. V.SourceSpan.prototype = {$isComparable: 1,
  52260. $asComparable: function() {
  52261. return [V.SourceSpan];
  52262. }
  52263. };
  52264. V.SourceSpanBase.prototype = {
  52265. SourceSpanBase$3: function(start, end, text) {
  52266. var t3,
  52267. t1 = this.end,
  52268. t2 = this.start;
  52269. if (!J.$eq$(t1.get$sourceUrl(), t2.get$sourceUrl()))
  52270. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t2.get$sourceUrl()) + '" and "' + H.S(t1.get$sourceUrl()) + "\" don't match."));
  52271. else if (t1.get$offset() < t2.get$offset())
  52272. throw H.wrapException(P.ArgumentError$("End " + t1.toString$0(0) + " must come after start " + t2.toString$0(0) + "."));
  52273. else {
  52274. t3 = this.text;
  52275. if (t3.length !== t2.distance$1(t1))
  52276. throw H.wrapException(P.ArgumentError$('Text "' + t3 + '" must be ' + t2.distance$1(t1) + " characters long."));
  52277. }
  52278. },
  52279. get$start: function(receiver) {
  52280. return this.start;
  52281. },
  52282. get$end: function(receiver) {
  52283. return this.end;
  52284. },
  52285. get$text: function() {
  52286. return this.text;
  52287. }
  52288. };
  52289. G.SourceSpanException.prototype = {
  52290. get$message: function(_) {
  52291. return this._span_exception$_message;
  52292. },
  52293. get$span: function() {
  52294. return this._span;
  52295. },
  52296. toString$1$color: function(_, color) {
  52297. var _this = this;
  52298. if (_this.get$span() == null)
  52299. return _this._span_exception$_message;
  52300. return "Error on " + _this.get$span().message$2$color(0, _this._span_exception$_message, color);
  52301. },
  52302. toString$0: function($receiver) {
  52303. return this.toString$1$color($receiver, null);
  52304. },
  52305. $isException: 1
  52306. };
  52307. G.SourceSpanFormatException.prototype = {
  52308. get$source: function() {
  52309. return this._span_exception$_source;
  52310. },
  52311. $isFormatException: 1
  52312. };
  52313. Y.SourceSpanMixin.prototype = {
  52314. get$sourceUrl: function() {
  52315. return this.get$start(this).get$sourceUrl();
  52316. },
  52317. get$length: function(_) {
  52318. var _this = this;
  52319. return _this.get$end(_this).get$offset() - _this.get$start(_this).get$offset();
  52320. },
  52321. compareTo$1: function(_, other) {
  52322. var _this = this,
  52323. result = _this.get$start(_this).compareTo$1(0, other.get$start(other));
  52324. return result === 0 ? _this.get$end(_this).compareTo$1(0, other.get$end(other)) : result;
  52325. },
  52326. message$2$color: function(_, message, color) {
  52327. var t2, highlight, _this = this,
  52328. t1 = "line " + (_this.get$start(_this).get$line() + 1) + ", column " + (_this.get$start(_this).get$column() + 1);
  52329. if (_this.get$sourceUrl() != null) {
  52330. t2 = _this.get$sourceUrl();
  52331. t2 = t1 + (" of " + H.S($.$get$context().prettyUri$1(t2)));
  52332. t1 = t2;
  52333. }
  52334. t1 += ": " + H.S(message);
  52335. highlight = _this.highlight$1$color(color);
  52336. if (highlight.length !== 0)
  52337. t1 = t1 + "\n" + highlight;
  52338. return t1.charCodeAt(0) == 0 ? t1 : t1;
  52339. },
  52340. message$1: function($receiver, message) {
  52341. return this.message$2$color($receiver, message, null);
  52342. },
  52343. highlight$1$color: function(color) {
  52344. var t2, t3, t4, newSpan, _this = this,
  52345. t1 = !!_this.$isSourceSpanWithContext;
  52346. if (!t1 && _this.get$length(_this) === 0)
  52347. return "";
  52348. if (J.$eq$(color, true))
  52349. color = "\x1b[31m";
  52350. if (J.$eq$(color, false))
  52351. color = null;
  52352. if (t1 && B.findLineStart(_this.get$context(_this), _this.get$text(), _this.get$start(_this).get$column()) != null)
  52353. t1 = _this;
  52354. else {
  52355. t1 = V.SourceLocation$(_this.get$start(_this).get$offset(), 0, 0, _this.get$sourceUrl());
  52356. t2 = _this.get$end(_this).get$offset();
  52357. t3 = _this.get$sourceUrl();
  52358. t4 = B.countCodeUnits(_this.get$text(), 10);
  52359. t3 = X.SourceSpanWithContext$(t1, V.SourceLocation$(t2, U.Highlighter__lastLineLength(_this.get$text()), t4, t3), _this.get$text(), _this.get$text());
  52360. t1 = t3;
  52361. }
  52362. newSpan = U.Highlighter__normalizeEndOfLine(U.Highlighter__normalizeTrailingNewline(U.Highlighter__normalizeNewlines(t1)));
  52363. return new U.Highlighter(newSpan, color, newSpan.get$start(newSpan).get$line() != newSpan.get$end(newSpan).get$line(), J.toString$0$(newSpan.get$end(newSpan).get$line()).length + 1, new P.StringBuffer("")).highlight$0();
  52364. },
  52365. $eq: function(_, other) {
  52366. var _this = this;
  52367. if (other == null)
  52368. return false;
  52369. return !!J.getInterceptor$(other).$isSourceSpan && _this.get$start(_this).$eq(0, other.get$start(other)) && _this.get$end(_this).$eq(0, other.get$end(other));
  52370. },
  52371. get$hashCode: function(_) {
  52372. var t2, _this = this,
  52373. t1 = _this.get$start(_this);
  52374. t1 = t1.get$hashCode(t1);
  52375. t2 = _this.get$end(_this);
  52376. return t1 + 31 * t2.get$hashCode(t2);
  52377. },
  52378. toString$0: function(_) {
  52379. var _this = this;
  52380. return "<" + H.getRuntimeType(_this).toString$0(0) + ": from " + _this.get$start(_this).toString$0(0) + " to " + _this.get$end(_this).toString$0(0) + ' "' + _this.get$text() + '">';
  52381. },
  52382. $isComparable: 1,
  52383. $asComparable: function() {
  52384. return [V.SourceSpan];
  52385. },
  52386. $isSourceSpan: 1
  52387. };
  52388. X.SourceSpanWithContext.prototype = {
  52389. get$context: function(_) {
  52390. return this._context;
  52391. }
  52392. };
  52393. U.Chain.prototype = {
  52394. toTrace$0: function() {
  52395. var t1 = this.traces,
  52396. t2 = A.Frame;
  52397. return new Y.Trace(P.List_List$unmodifiable(new H.ExpandIterable(t1, new U.Chain_toTrace_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2), new P._StringStackTrace(null));
  52398. },
  52399. toString$0: function(_) {
  52400. var t1 = this.traces,
  52401. t2 = P.int,
  52402. t3 = H.getTypeArgumentByIndex(t1, 0);
  52403. return new H.MappedListIterable(t1, new U.Chain_toString_closure(new H.MappedListIterable(t1, new U.Chain_toString_closure0(), [t3, t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2))), [t3, P.String]).join$1(0, "===== asynchronous gap ===========================\n");
  52404. },
  52405. $isStackTrace: 1
  52406. };
  52407. U.Chain_Chain$parse_closure.prototype = {
  52408. call$1: function(trace) {
  52409. return new Y.Trace(P.List_List$unmodifiable(Y.Trace__parseVM(trace), A.Frame), new P._StringStackTrace(trace));
  52410. }
  52411. };
  52412. U.Chain_Chain$parse_closure0.prototype = {
  52413. call$1: function(trace) {
  52414. return Y.Trace$parseFriendly(trace);
  52415. }
  52416. };
  52417. U.Chain_toTrace_closure.prototype = {
  52418. call$1: function(trace) {
  52419. return trace.get$frames();
  52420. }
  52421. };
  52422. U.Chain_toString_closure0.prototype = {
  52423. call$1: function(trace) {
  52424. var t1 = trace.get$frames(),
  52425. t2 = P.int;
  52426. return new H.MappedListIterable(t1, new U.Chain_toString__closure0(), [H.getTypeArgumentByIndex(t1, 0), t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2));
  52427. }
  52428. };
  52429. U.Chain_toString__closure0.prototype = {
  52430. call$1: function(frame) {
  52431. return frame.get$location().length;
  52432. }
  52433. };
  52434. U.Chain_toString_closure.prototype = {
  52435. call$1: function(trace) {
  52436. var t1 = trace.get$frames();
  52437. return new H.MappedListIterable(t1, new U.Chain_toString__closure(this.longest), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0);
  52438. }
  52439. };
  52440. U.Chain_toString__closure.prototype = {
  52441. call$1: function(frame) {
  52442. return J.padRight$1$s(frame.get$location(), this.longest) + " " + H.S(frame.get$member()) + "\n";
  52443. }
  52444. };
  52445. A.Frame.prototype = {
  52446. get$isCore: function() {
  52447. return this.uri.get$scheme() === "dart";
  52448. },
  52449. get$library: function() {
  52450. var t1 = this.uri;
  52451. if (t1.get$scheme() === "data")
  52452. return "data:...";
  52453. return $.$get$context().prettyUri$1(t1);
  52454. },
  52455. get$$package: function() {
  52456. var t1 = this.uri;
  52457. if (t1.get$scheme() !== "package")
  52458. return;
  52459. return C.JSArray_methods.get$first(t1.get$path(t1).split("/"));
  52460. },
  52461. get$location: function() {
  52462. var t2, _this = this,
  52463. t1 = _this.line;
  52464. if (t1 == null)
  52465. return _this.get$library();
  52466. t2 = _this.column;
  52467. if (t2 == null)
  52468. return H.S(_this.get$library()) + " " + H.S(t1);
  52469. return H.S(_this.get$library()) + " " + H.S(t1) + ":" + H.S(t2);
  52470. },
  52471. toString$0: function(_) {
  52472. return H.S(this.get$location()) + " in " + H.S(this.member);
  52473. },
  52474. get$uri: function() {
  52475. return this.uri;
  52476. },
  52477. get$line: function() {
  52478. return this.line;
  52479. },
  52480. get$column: function() {
  52481. return this.column;
  52482. },
  52483. get$member: function() {
  52484. return this.member;
  52485. }
  52486. };
  52487. A.Frame_Frame$parseVM_closure.prototype = {
  52488. call$0: function() {
  52489. var match, t2, t3, member, uri, lineAndColumn, line, _null = null,
  52490. t1 = this.frame;
  52491. if (t1 === "...")
  52492. return new A.Frame(P._Uri__Uri(_null, _null, _null, _null), _null, _null, "...");
  52493. match = $.$get$_vmFrame().firstMatch$1(t1);
  52494. if (match == null)
  52495. return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), t1);
  52496. t1 = match._match;
  52497. t2 = t1[1];
  52498. t3 = $.$get$_asyncBody();
  52499. t2.toString;
  52500. t2 = H.stringReplaceAllUnchecked(t2, t3, "<async>");
  52501. member = H.stringReplaceAllUnchecked(t2, "<anonymous closure>", "<fn>");
  52502. uri = P.Uri_parse(t1[2]);
  52503. lineAndColumn = t1[3].split(":");
  52504. t1 = lineAndColumn.length;
  52505. line = t1 > 1 ? P.int_parse(lineAndColumn[1], _null, _null) : _null;
  52506. return new A.Frame(uri, line, t1 > 2 ? P.int_parse(lineAndColumn[2], _null, _null) : _null, member);
  52507. }
  52508. };
  52509. A.Frame_Frame$parseV8_closure.prototype = {
  52510. call$0: function() {
  52511. var t2, t3, _s4_ = "<fn>",
  52512. t1 = this.frame,
  52513. match = $.$get$_v8Frame().firstMatch$1(t1);
  52514. if (match == null)
  52515. return new N.UnparsedFrame(P._Uri__Uri(null, "unparsed", null, null), t1);
  52516. t1 = new A.Frame_Frame$parseV8_closure_parseLocation(t1);
  52517. t2 = match._match;
  52518. t3 = t2[2];
  52519. if (t3 != null) {
  52520. t2 = t2[1];
  52521. t2.toString;
  52522. t2 = H.stringReplaceAllUnchecked(t2, "<anonymous>", _s4_);
  52523. t2 = H.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_);
  52524. return t1.call$2(t3, H.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_));
  52525. } else
  52526. return t1.call$2(t2[3], _s4_);
  52527. }
  52528. };
  52529. A.Frame_Frame$parseV8_closure_parseLocation.prototype = {
  52530. call$2: function($location, member) {
  52531. var urlMatch, _null = null,
  52532. t1 = $.$get$_v8EvalLocation(),
  52533. evalMatch = t1.firstMatch$1($location);
  52534. for (; evalMatch != null;) {
  52535. $location = evalMatch._match[1];
  52536. evalMatch = t1.firstMatch$1($location);
  52537. }
  52538. if ($location === "native")
  52539. return new A.Frame(P.Uri_parse("native"), _null, _null, member);
  52540. urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location);
  52541. if (urlMatch == null)
  52542. return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), this.frame);
  52543. t1 = urlMatch._match;
  52544. return new A.Frame(A.Frame__uriOrPathToUri(t1[1]), P.int_parse(t1[2], _null, _null), P.int_parse(t1[3], _null, _null), member);
  52545. },
  52546. $signature: 90
  52547. };
  52548. A.Frame_Frame$parseFirefox_closure.prototype = {
  52549. call$0: function() {
  52550. var uri, t2, t3, member, line, _null = null,
  52551. t1 = this.frame,
  52552. match = $.$get$_firefoxSafariFrame().firstMatch$1(t1);
  52553. if (match == null)
  52554. return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), t1);
  52555. t1 = match._match;
  52556. uri = A.Frame__uriOrPathToUri(t1[3]);
  52557. t2 = t1[1];
  52558. if (t2 != null) {
  52559. t3 = C.JSString_methods.allMatches$1("/", t1[2]);
  52560. member = J.$add$ansx(t2, C.JSArray_methods.join$0(P.List_List$filled(t3.get$length(t3), ".<fn>", P.String)));
  52561. if (member === "")
  52562. member = "<fn>";
  52563. member = C.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), "");
  52564. } else
  52565. member = "<fn>";
  52566. t2 = t1[4];
  52567. line = t2 === "" ? _null : P.int_parse(t2, _null, _null);
  52568. t1 = t1[5];
  52569. return new A.Frame(uri, line, t1 == null || t1 === "" ? _null : P.int_parse(t1, _null, _null), member);
  52570. }
  52571. };
  52572. A.Frame_Frame$parseFriendly_closure.prototype = {
  52573. call$0: function() {
  52574. var t2, uri, line, column, _null = null,
  52575. t1 = this.frame,
  52576. match = $.$get$_friendlyFrame().firstMatch$1(t1);
  52577. if (match == null)
  52578. throw H.wrapException(P.FormatException$("Couldn't parse package:stack_trace stack trace line '" + H.S(t1) + "'.", _null, _null));
  52579. t1 = match._match;
  52580. t2 = t1[1];
  52581. uri = t2 === "data:..." ? P.Uri_Uri$dataFromString("", _null, _null) : P.Uri_parse(t2);
  52582. if (uri.get$scheme() === "") {
  52583. t2 = $.$get$context();
  52584. uri = t2.toUri$1(D.absolute(t2.style.pathFromUri$1(M._parseUri(uri))));
  52585. }
  52586. t2 = t1[2];
  52587. line = t2 == null ? _null : P.int_parse(t2, _null, _null);
  52588. t2 = t1[3];
  52589. column = t2 == null ? _null : P.int_parse(t2, _null, _null);
  52590. return new A.Frame(uri, line, column, t1[4]);
  52591. }
  52592. };
  52593. T.LazyTrace.prototype = {
  52594. get$_lazy_trace$_trace: function() {
  52595. var t1 = this._lazy_trace$_inner;
  52596. return t1 == null ? this._lazy_trace$_inner = this._thunk.call$0() : t1;
  52597. },
  52598. get$frames: function() {
  52599. return this.get$_lazy_trace$_trace().get$frames();
  52600. },
  52601. get$terse: function() {
  52602. return new T.LazyTrace(new T.LazyTrace_terse_closure(this));
  52603. },
  52604. toString$0: function(_) {
  52605. return J.toString$0$(this.get$_lazy_trace$_trace());
  52606. },
  52607. $isStackTrace: 1,
  52608. $isTrace: 1
  52609. };
  52610. T.LazyTrace_terse_closure.prototype = {
  52611. call$0: function() {
  52612. return this.$this.get$_lazy_trace$_trace().get$terse();
  52613. }
  52614. };
  52615. Y.Trace.prototype = {
  52616. get$terse: function() {
  52617. return this.foldFrames$2$terse(new Y.Trace_terse_closure(), true);
  52618. },
  52619. foldFrames$2$terse: function(predicate, terse) {
  52620. var t1, newFrames, t2, t3, _box_0 = {};
  52621. _box_0.predicate = predicate;
  52622. _box_0.predicate = new Y.Trace_foldFrames_closure(predicate);
  52623. t1 = A.Frame;
  52624. newFrames = H.setRuntimeTypeInfo([], [t1]);
  52625. for (t2 = this.frames, t2 = new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  52626. t3 = t2.__internal$_current;
  52627. if (t3 instanceof N.UnparsedFrame || !_box_0.predicate.call$1(t3))
  52628. newFrames.push(t3);
  52629. else if (newFrames.length === 0 || !_box_0.predicate.call$1(C.JSArray_methods.get$last(newFrames)))
  52630. newFrames.push(new A.Frame(t3.get$uri(), t3.get$line(), t3.get$column(), t3.get$member()));
  52631. }
  52632. newFrames = new H.MappedListIterable(newFrames, new Y.Trace_foldFrames_closure0(_box_0), [H.getTypeArgumentByIndex(newFrames, 0), t1]).toList$0(0);
  52633. if (newFrames.length > 1 && _box_0.predicate.call$1(C.JSArray_methods.get$first(newFrames)))
  52634. C.JSArray_methods.removeAt$1(newFrames, 0);
  52635. return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(newFrames, [H.getTypeArgumentByIndex(newFrames, 0)]), t1), new P._StringStackTrace(this.original._core$_stackTrace));
  52636. },
  52637. toString$0: function(_) {
  52638. var t1 = this.frames,
  52639. t2 = P.int,
  52640. t3 = H.getTypeArgumentByIndex(t1, 0);
  52641. return new H.MappedListIterable(t1, new Y.Trace_toString_closure(new H.MappedListIterable(t1, new Y.Trace_toString_closure0(), [t3, t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2))), [t3, P.String]).join$0(0);
  52642. },
  52643. $isStackTrace: 1,
  52644. get$frames: function() {
  52645. return this.frames;
  52646. }
  52647. };
  52648. Y.Trace_Trace$from_closure.prototype = {
  52649. call$0: function() {
  52650. return Y.Trace_Trace$parse(this.trace.toString$0(0));
  52651. }
  52652. };
  52653. Y.Trace__parseVM_closure.prototype = {
  52654. call$1: function(line) {
  52655. return A.Frame_Frame$parseVM(line);
  52656. }
  52657. };
  52658. Y.Trace$parseV8_closure.prototype = {
  52659. call$1: function(line) {
  52660. return !J.startsWith$1$s(line, $.$get$_v8TraceLine());
  52661. }
  52662. };
  52663. Y.Trace$parseV8_closure0.prototype = {
  52664. call$1: function(line) {
  52665. return A.Frame_Frame$parseV8(line);
  52666. }
  52667. };
  52668. Y.Trace$parseJSCore_closure.prototype = {
  52669. call$1: function(line) {
  52670. return line !== "\tat ";
  52671. }
  52672. };
  52673. Y.Trace$parseJSCore_closure0.prototype = {
  52674. call$1: function(line) {
  52675. return A.Frame_Frame$parseV8(line);
  52676. }
  52677. };
  52678. Y.Trace$parseFirefox_closure.prototype = {
  52679. call$1: function(line) {
  52680. return line.length !== 0 && line !== "[native code]";
  52681. }
  52682. };
  52683. Y.Trace$parseFirefox_closure0.prototype = {
  52684. call$1: function(line) {
  52685. return A.Frame_Frame$parseFirefox(line);
  52686. }
  52687. };
  52688. Y.Trace$parseFriendly_closure.prototype = {
  52689. call$1: function(line) {
  52690. return !J.startsWith$1$s(line, "=====");
  52691. }
  52692. };
  52693. Y.Trace$parseFriendly_closure0.prototype = {
  52694. call$1: function(line) {
  52695. return A.Frame_Frame$parseFriendly(line);
  52696. }
  52697. };
  52698. Y.Trace_terse_closure.prototype = {
  52699. call$1: function(_) {
  52700. return false;
  52701. }
  52702. };
  52703. Y.Trace_foldFrames_closure.prototype = {
  52704. call$1: function(frame) {
  52705. if (this.oldPredicate.call$1(frame))
  52706. return true;
  52707. if (frame.get$isCore())
  52708. return true;
  52709. if (frame.get$$package() === "stack_trace")
  52710. return true;
  52711. if (!J.contains$1$asx(frame.get$member(), "<async>"))
  52712. return false;
  52713. return frame.get$line() == null;
  52714. }
  52715. };
  52716. Y.Trace_foldFrames_closure0.prototype = {
  52717. call$1: function(frame) {
  52718. var t1, t2;
  52719. if (frame instanceof N.UnparsedFrame || !this._box_0.predicate.call$1(frame))
  52720. return frame;
  52721. t1 = frame.get$library();
  52722. t2 = $.$get$_terseRegExp();
  52723. t1.toString;
  52724. return new A.Frame(P.Uri_parse(H.stringReplaceAllUnchecked(t1, t2, "")), null, null, frame.get$member());
  52725. }
  52726. };
  52727. Y.Trace_toString_closure0.prototype = {
  52728. call$1: function(frame) {
  52729. return frame.get$location().length;
  52730. }
  52731. };
  52732. Y.Trace_toString_closure.prototype = {
  52733. call$1: function(frame) {
  52734. if (frame instanceof N.UnparsedFrame)
  52735. return frame.toString$0(0) + "\n";
  52736. return J.padRight$1$s(frame.get$location(), this.longest) + " " + H.S(frame.get$member()) + "\n";
  52737. }
  52738. };
  52739. N.UnparsedFrame.prototype = {
  52740. toString$0: function(_) {
  52741. return this.member;
  52742. },
  52743. $isFrame: 1,
  52744. get$uri: function() {
  52745. return this.uri;
  52746. },
  52747. get$line: function() {
  52748. return null;
  52749. },
  52750. get$column: function() {
  52751. return null;
  52752. },
  52753. get$isCore: function() {
  52754. return false;
  52755. },
  52756. get$library: function() {
  52757. return "unparsed";
  52758. },
  52759. get$$package: function() {
  52760. return null;
  52761. },
  52762. get$location: function() {
  52763. return "unparsed";
  52764. },
  52765. get$member: function() {
  52766. return this.member;
  52767. }
  52768. };
  52769. L._StreamTransformer.prototype = {
  52770. bind$1: function(values) {
  52771. var controller, _null = null, t1 = {},
  52772. t2 = H.getTypeArgumentByIndex(this, 1);
  52773. if (values.get$isBroadcast())
  52774. controller = new P._SyncBroadcastStreamController(_null, _null, [t2]);
  52775. else
  52776. controller = P.StreamController_StreamController(_null, _null, _null, _null, true, t2);
  52777. t1.subscription = null;
  52778. controller.set$onListen(new L._StreamTransformer_bind_closure(t1, this, values, controller));
  52779. return controller.get$stream();
  52780. }
  52781. };
  52782. L._StreamTransformer_bind_closure.prototype = {
  52783. call$0: function() {
  52784. var t2, t3, t4, t5, _this = this, t1 = {};
  52785. t1.valuesDone = false;
  52786. t2 = _this.values;
  52787. t3 = _this.$this;
  52788. t4 = _this.controller;
  52789. t5 = _this._box_1;
  52790. t5.subscription = t2.listen$3$onDone$onError(new L._StreamTransformer_bind__closure(t3, t4), new L._StreamTransformer_bind__closure0(t1, t3, t4), new L._StreamTransformer_bind__closure1(t3, t4));
  52791. if (!t2.get$isBroadcast()) {
  52792. t2 = t5.subscription;
  52793. t4.set$onPause(t2.get$pause(t2));
  52794. t4.set$onResume(t5.subscription.get$resume());
  52795. }
  52796. t4.set$onCancel(new L._StreamTransformer_bind__closure2(t5, t1));
  52797. }
  52798. };
  52799. L._StreamTransformer_bind__closure.prototype = {
  52800. call$1: function(value) {
  52801. return this.$this._from_handlers$_handleData.call$2(value, this.controller);
  52802. },
  52803. $signature: function() {
  52804. return {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(this.$this, 0)]};
  52805. }
  52806. };
  52807. L._StreamTransformer_bind__closure1.prototype = {
  52808. call$2: function(error, stackTrace) {
  52809. this.$this._from_handlers$_handleError.call$3(error, stackTrace, this.controller);
  52810. },
  52811. "call*": "call$2",
  52812. $requiredArgCount: 2,
  52813. $signature: 15
  52814. };
  52815. L._StreamTransformer_bind__closure0.prototype = {
  52816. call$0: function() {
  52817. this._box_0.valuesDone = true;
  52818. this.$this._from_handlers$_handleDone.call$1(this.controller);
  52819. },
  52820. "call*": "call$0",
  52821. $requiredArgCount: 0
  52822. };
  52823. L._StreamTransformer_bind__closure2.prototype = {
  52824. call$0: function() {
  52825. var t1 = this._box_1,
  52826. toCancel = t1.subscription;
  52827. t1.subscription = null;
  52828. if (!this._box_0.valuesDone)
  52829. return toCancel.cancel$0();
  52830. return;
  52831. },
  52832. "call*": "call$0",
  52833. $requiredArgCount: 0
  52834. };
  52835. R._debounceAggregate_closure.prototype = {
  52836. call$2: function(value, sink) {
  52837. var t1 = this._box_0,
  52838. t2 = t1.timer;
  52839. if (t2 != null)
  52840. t2.cancel$0();
  52841. t1.timer = P.Timer_Timer(this.duration, new R._debounceAggregate__closure(t1, sink));
  52842. t1.soFar = this.collect.call$2(value, t1.soFar);
  52843. },
  52844. "call*": "call$2",
  52845. $requiredArgCount: 2
  52846. };
  52847. R._debounceAggregate__closure.prototype = {
  52848. call$0: function() {
  52849. var t1 = this.sink,
  52850. t2 = this._box_0;
  52851. t1.add$1(0, t2.soFar);
  52852. if (t2.shouldClose)
  52853. t1.close$0(0);
  52854. t2.timer = t2.soFar = null;
  52855. },
  52856. "call*": "call$0",
  52857. $requiredArgCount: 0
  52858. };
  52859. R._debounceAggregate_closure0.prototype = {
  52860. call$1: function(sink) {
  52861. var t1 = this._box_0;
  52862. if (t1.soFar != null)
  52863. t1.shouldClose = true;
  52864. else
  52865. sink.close$0(0);
  52866. }
  52867. };
  52868. E.StringScannerException.prototype = {
  52869. get$source: function() {
  52870. return G.SourceSpanFormatException.prototype.get$source.call(this);
  52871. }
  52872. };
  52873. Z.LineScanner.prototype = {
  52874. get$_betweenCRLF: function() {
  52875. return this.peekChar$1(-1) === 13 && this.peekChar$0() === 10;
  52876. },
  52877. scanChar$1: function(character) {
  52878. if (!this.super$StringScanner$scanChar(character))
  52879. return false;
  52880. this._adjustLineAndColumn$1(character);
  52881. return true;
  52882. },
  52883. _adjustLineAndColumn$1: function(character) {
  52884. var t1, _this = this;
  52885. if (character !== 10)
  52886. t1 = character === 13 && _this.peekChar$0() !== 10;
  52887. else
  52888. t1 = true;
  52889. if (t1) {
  52890. ++_this._line_scanner$_line;
  52891. _this._line_scanner$_column = 0;
  52892. } else
  52893. ++_this._line_scanner$_column;
  52894. },
  52895. scan$1: function(pattern) {
  52896. var newlines, t1, t2, _this = this;
  52897. if (!_this.super$StringScanner$scan(pattern))
  52898. return false;
  52899. newlines = _this._newlinesIn$1(_this.get$lastMatch().group$1(0));
  52900. t1 = _this._line_scanner$_line;
  52901. t2 = newlines.length;
  52902. _this._line_scanner$_line = t1 + t2;
  52903. if (t2 === 0)
  52904. _this._line_scanner$_column = _this._line_scanner$_column + _this.get$lastMatch().group$1(0).length;
  52905. else
  52906. _this._line_scanner$_column = _this.get$lastMatch().group$1(0).length - J.get$end$x(C.JSArray_methods.get$last(newlines));
  52907. return true;
  52908. },
  52909. _newlinesIn$1: function(text) {
  52910. var t1 = $.$get$_newlineRegExp().allMatches$1(0, text),
  52911. newlines = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  52912. if (this.get$_betweenCRLF())
  52913. C.JSArray_methods.removeLast$0(newlines);
  52914. return newlines;
  52915. }
  52916. };
  52917. S.SpanScanner.prototype = {
  52918. set$state: function(state) {
  52919. if (!(state instanceof S._SpanScannerState) || state._scanner !== this)
  52920. throw H.wrapException(P.ArgumentError$("The given LineScannerState was not returned by this LineScanner."));
  52921. this.set$position(state.position);
  52922. },
  52923. spanFrom$2: function(startState, endState) {
  52924. var endPosition = endState == null ? this._string_scanner$_position : endState.position;
  52925. return this._sourceFile.span$2(startState.position, endPosition);
  52926. },
  52927. spanFrom$1: function(startState) {
  52928. return this.spanFrom$2(startState, null);
  52929. },
  52930. matches$1: function(pattern) {
  52931. var t1, t2, _this = this;
  52932. if (!_this.super$StringScanner$matches(pattern))
  52933. return false;
  52934. t1 = _this._string_scanner$_position;
  52935. t2 = _this.get$lastMatch();
  52936. _this._sourceFile.span$2(t1, t2.start + t2.pattern.length);
  52937. return true;
  52938. },
  52939. error$3$length$position: function(message, $length, position) {
  52940. var t2, match, _this = this,
  52941. t1 = _this.string;
  52942. B.validateErrorArgs(t1, null, position, $length);
  52943. t2 = position == null && $length == null;
  52944. match = t2 ? _this.get$lastMatch() : null;
  52945. if (position == null)
  52946. position = match == null ? _this._string_scanner$_position : match.start;
  52947. if ($length == null)
  52948. if (match == null)
  52949. $length = 0;
  52950. else {
  52951. t2 = match.start;
  52952. $length = t2 + match.pattern.length - t2;
  52953. }
  52954. throw H.wrapException(E.StringScannerException$(message, _this._sourceFile.span$2(position, position + $length), t1));
  52955. },
  52956. error$1: function(message) {
  52957. return this.error$3$length$position(message, null, null);
  52958. },
  52959. error$2$position: function(message, position) {
  52960. return this.error$3$length$position(message, null, position);
  52961. },
  52962. error$2$length: function(message, $length) {
  52963. return this.error$3$length$position(message, $length, null);
  52964. }
  52965. };
  52966. S._SpanScannerState.prototype = {};
  52967. X.StringScanner.prototype = {
  52968. set$position: function(position) {
  52969. if (position < 0 || position > this.string.length)
  52970. throw H.wrapException(P.ArgumentError$("Invalid position " + position));
  52971. this._string_scanner$_position = position;
  52972. this._lastMatch = null;
  52973. },
  52974. get$lastMatch: function() {
  52975. var _this = this;
  52976. if (_this._string_scanner$_position !== _this._lastMatchPosition)
  52977. _this._lastMatch = null;
  52978. return _this._lastMatch;
  52979. },
  52980. readChar$0: function() {
  52981. var _this = this,
  52982. t1 = _this._string_scanner$_position,
  52983. t2 = _this.string;
  52984. if (t1 === t2.length)
  52985. _this.error$3$length$position("expected more input.", 0, t1);
  52986. return J.codeUnitAt$1$s(t2, _this._string_scanner$_position++);
  52987. },
  52988. peekChar$1: function(offset) {
  52989. var index;
  52990. if (offset == null)
  52991. offset = 0;
  52992. index = this._string_scanner$_position + offset;
  52993. if (index < 0 || index >= this.string.length)
  52994. return;
  52995. return J.codeUnitAt$1$s(this.string, index);
  52996. },
  52997. peekChar$0: function() {
  52998. return this.peekChar$1(null);
  52999. },
  53000. scanChar$1: function(character) {
  53001. var t1 = this._string_scanner$_position,
  53002. t2 = this.string;
  53003. if (t1 === t2.length)
  53004. return false;
  53005. if (J.codeUnitAt$1$s(t2, t1) !== character)
  53006. return false;
  53007. this._string_scanner$_position = t1 + 1;
  53008. return true;
  53009. },
  53010. expectChar$2$name: function(character, $name) {
  53011. if (this.scanChar$1(character))
  53012. return;
  53013. if ($name == null)
  53014. if (character === 92)
  53015. $name = '"\\"';
  53016. else
  53017. $name = character === 34 ? '"\\""' : '"' + H.Primitives_stringFromCharCode(character) + '"';
  53018. this.error$3$length$position("expected " + $name + ".", 0, this._string_scanner$_position);
  53019. },
  53020. expectChar$1: function(character) {
  53021. return this.expectChar$2$name(character, null);
  53022. },
  53023. scan$1: function(pattern) {
  53024. var t1, _this = this,
  53025. success = _this.matches$1(pattern);
  53026. if (success) {
  53027. t1 = _this._lastMatch;
  53028. _this._lastMatchPosition = _this._string_scanner$_position = t1.start + t1.pattern.length;
  53029. }
  53030. return success;
  53031. },
  53032. expect$1: function(pattern) {
  53033. var t1, $name;
  53034. if (this.scan$1(pattern))
  53035. return;
  53036. t1 = H.stringReplaceAllUnchecked(pattern, "\\", "\\\\");
  53037. $name = '"' + H.stringReplaceAllUnchecked(t1, '"', '\\"') + '"';
  53038. this.error$3$length$position("expected " + $name + ".", 0, this._string_scanner$_position);
  53039. },
  53040. expectDone$0: function() {
  53041. var t1 = this._string_scanner$_position;
  53042. if (t1 === this.string.length)
  53043. return;
  53044. this.error$3$length$position("expected no more input.", 0, t1);
  53045. },
  53046. matches$1: function(pattern) {
  53047. var _this = this,
  53048. t1 = C.JSString_methods.matchAsPrefix$2(pattern, _this.string, _this._string_scanner$_position);
  53049. _this._lastMatch = t1;
  53050. _this._lastMatchPosition = _this._string_scanner$_position;
  53051. return t1 != null;
  53052. },
  53053. substring$1: function(_, start) {
  53054. var end = this._string_scanner$_position;
  53055. return J.substring$2$s(this.string, start, end);
  53056. },
  53057. error$3$length$position: function(message, $length, position) {
  53058. var t2, t3, t4, sourceFile,
  53059. t1 = this.string;
  53060. B.validateErrorArgs(t1, null, position, $length);
  53061. t2 = this.sourceUrl;
  53062. t1.toString;
  53063. t3 = new H.CodeUnits(t1);
  53064. t4 = H.setRuntimeTypeInfo([0], [P.int]);
  53065. sourceFile = new Y.SourceFile(t2, t4, new Uint32Array(H._ensureNativeList(t3.toList$0(t3))));
  53066. sourceFile.SourceFile$decoded$2$url(t3, t2);
  53067. throw H.wrapException(E.StringScannerException$(message, sourceFile.span$2(position, position + $length), t1));
  53068. }
  53069. };
  53070. A.AsciiGlyphSet.prototype = {
  53071. glyphOrAscii$2: function(glyph, alternative) {
  53072. return alternative;
  53073. },
  53074. get$bullet: function() {
  53075. return "*";
  53076. },
  53077. get$horizontalLine: function() {
  53078. return "-";
  53079. },
  53080. get$verticalLine: function() {
  53081. return "|";
  53082. },
  53083. get$topLeftCorner: function() {
  53084. return ",";
  53085. },
  53086. get$bottomLeftCorner: function() {
  53087. return "'";
  53088. },
  53089. get$upEnd: function() {
  53090. return "'";
  53091. },
  53092. get$downEnd: function() {
  53093. return ",";
  53094. }
  53095. };
  53096. K.UnicodeGlyphSet.prototype = {
  53097. glyphOrAscii$2: function(glyph, alternative) {
  53098. return glyph;
  53099. },
  53100. get$bullet: function() {
  53101. return "\u2022";
  53102. },
  53103. get$horizontalLine: function() {
  53104. return "\u2500";
  53105. },
  53106. get$verticalLine: function() {
  53107. return "\u2502";
  53108. },
  53109. get$topLeftCorner: function() {
  53110. return "\u250c";
  53111. },
  53112. get$bottomLeftCorner: function() {
  53113. return "\u2514";
  53114. },
  53115. get$upEnd: function() {
  53116. return "\u2575";
  53117. },
  53118. get$downEnd: function() {
  53119. return "\u2577";
  53120. }
  53121. };
  53122. S.Tuple2.prototype = {
  53123. toString$0: function(_) {
  53124. return "[" + H.S(this.item1) + ", " + H.S(this.item2) + "]";
  53125. },
  53126. $eq: function(_, other) {
  53127. if (other == null)
  53128. return false;
  53129. return other instanceof S.Tuple2 && J.$eq$(other.item1, this.item1) && J.$eq$(other.item2, this.item2);
  53130. },
  53131. get$hashCode: function(_) {
  53132. var t1 = J.get$hashCode$(this.item1),
  53133. t2 = J.get$hashCode$(this.item2);
  53134. return X._finish(X._combine(X._combine(0, C.JSInt_methods.get$hashCode(t1)), C.JSInt_methods.get$hashCode(t2)));
  53135. }
  53136. };
  53137. S.Tuple3.prototype = {
  53138. toString$0: function(_) {
  53139. return "[" + H.S(this.item1) + ", " + this.item2.toString$0(0) + ", " + H.S(this.item3) + "]";
  53140. },
  53141. $eq: function(_, other) {
  53142. if (other == null)
  53143. return false;
  53144. return other instanceof S.Tuple3 && other.item1 == this.item1 && other.item2.$eq(0, this.item2) && J.$eq$(other.item3, this.item3);
  53145. },
  53146. get$hashCode: function(_) {
  53147. var t3,
  53148. t1 = J.get$hashCode$(this.item1),
  53149. t2 = this.item2;
  53150. t2 = t2.get$hashCode(t2);
  53151. t3 = J.get$hashCode$(this.item3);
  53152. return X._finish(X._combine(X._combine(X._combine(0, C.JSInt_methods.get$hashCode(t1)), C.JSInt_methods.get$hashCode(t2)), C.JSInt_methods.get$hashCode(t3)));
  53153. }
  53154. };
  53155. E.WatchEvent.prototype = {
  53156. toString$0: function(_) {
  53157. return H.S(this.type) + " " + H.S(this.path);
  53158. },
  53159. get$path: function(receiver) {
  53160. return this.path;
  53161. }
  53162. };
  53163. E.ChangeType.prototype = {
  53164. toString$0: function(_) {
  53165. return this._watch_event$_name;
  53166. }
  53167. };
  53168. (function aliases() {
  53169. var _ = J.Interceptor.prototype;
  53170. _.super$Interceptor$noSuchMethod = _.noSuchMethod$1;
  53171. _ = J.JavaScriptObject.prototype;
  53172. _.super$JavaScriptObject$toString = _.toString$0;
  53173. _ = H.JsLinkedHashMap.prototype;
  53174. _.super$JsLinkedHashMap$internalContainsKey = _.internalContainsKey$1;
  53175. _.super$JsLinkedHashMap$internalGet = _.internalGet$1;
  53176. _.super$JsLinkedHashMap$internalSet = _.internalSet$2;
  53177. _.super$JsLinkedHashMap$internalRemove = _.internalRemove$1;
  53178. _ = P._BroadcastStreamController.prototype;
  53179. _.super$_BroadcastStreamController$_addEventError = _._addEventError$0;
  53180. _ = P._BufferingStreamSubscription.prototype;
  53181. _.super$_BufferingStreamSubscription$_add = _._async$_add$1;
  53182. _.super$_BufferingStreamSubscription$_addError = _._addError$2;
  53183. _ = P.ListMixin.prototype;
  53184. _.super$ListMixin$setRange = _.setRange$4;
  53185. _ = P.Iterable.prototype;
  53186. _.super$Iterable$where = _.where$1;
  53187. _.super$Iterable$skipWhile = _.skipWhile$1;
  53188. _ = B.ModifiableCssParentNode.prototype;
  53189. _.super$ModifiableCssParentNode$addChild = _.addChild$1;
  53190. _ = M.SimpleSelector.prototype;
  53191. _.super$SimpleSelector$addSuffix = _.addSuffix$1;
  53192. _.super$SimpleSelector$unify = _.unify$1;
  53193. _ = G.Parser.prototype;
  53194. _.super$Parser$silentComment = _.silentComment$0;
  53195. _ = V.StylesheetParser.prototype;
  53196. _.super$StylesheetParser$importArgument = _.importArgument$0;
  53197. _ = F.Value.prototype;
  53198. _.super$Value$assertMap = _.assertMap$1;
  53199. _.super$Value$plus = _.plus$1;
  53200. _.super$Value$minus = _.minus$1;
  53201. _.super$Value$dividedBy = _.dividedBy$1;
  53202. _ = Y.SourceSpanMixin.prototype;
  53203. _.super$SourceSpanMixin$compareTo = _.compareTo$1;
  53204. _.super$SourceSpanMixin$$eq = _.$eq;
  53205. _ = X.StringScanner.prototype;
  53206. _.super$StringScanner$readChar = _.readChar$0;
  53207. _.super$StringScanner$scanChar = _.scanChar$1;
  53208. _.super$StringScanner$scan = _.scan$1;
  53209. _.super$StringScanner$matches = _.matches$1;
  53210. })();
  53211. (function installTearOffs() {
  53212. var _static_2 = hunkHelpers._static_2,
  53213. _instance_1_i = hunkHelpers._instance_1i,
  53214. _instance_1_u = hunkHelpers._instance_1u,
  53215. _static_1 = hunkHelpers._static_1,
  53216. _static_0 = hunkHelpers._static_0,
  53217. _static = hunkHelpers.installStaticTearOff,
  53218. _instance_0_u = hunkHelpers._instance_0u,
  53219. _instance = hunkHelpers.installInstanceTearOff,
  53220. _instance_0_i = hunkHelpers._instance_0i,
  53221. _instance_2_u = hunkHelpers._instance_2u;
  53222. _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 61);
  53223. _instance_1_i(J.JSArray.prototype, "get$contains", "contains$1", 7);
  53224. _instance_1_i(H._CastIterableBase.prototype, "get$contains", "contains$1", 7);
  53225. _instance_1_u(H.JsLinkedHashMap.prototype, "get$containsKey", "containsKey$1", 7);
  53226. _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 20);
  53227. _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 20);
  53228. _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 20);
  53229. _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 1);
  53230. _static_1(P, "async___nullDataHandler$closure", "_nullDataHandler", 8);
  53231. _static(P, "async___nullErrorHandler$closure", 1, function() {
  53232. return [null];
  53233. }, ["call$2", "call$1"], ["_nullErrorHandler", function(error) {
  53234. return P._nullErrorHandler(error, null);
  53235. }], 16, 0);
  53236. _static_0(P, "async___nullDoneHandler$closure", "_nullDoneHandler", 1);
  53237. _static(P, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 63, 0);
  53238. _static(P, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
  53239. return P._rootRun($self, $parent, zone, f, null);
  53240. }], 64, 1);
  53241. _static(P, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
  53242. return P._rootRunUnary($self, $parent, zone, f, arg, null, null);
  53243. }], 65, 1);
  53244. _static(P, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
  53245. return P._rootRunBinary($self, $parent, zone, f, arg1, arg2, null, null, null);
  53246. }], 66, 1);
  53247. _static(P, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
  53248. return P._rootRegisterCallback($self, $parent, zone, f, null);
  53249. }], 67, 0);
  53250. _static(P, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
  53251. return P._rootRegisterUnaryCallback($self, $parent, zone, f, null, null);
  53252. }], 68, 0);
  53253. _static(P, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
  53254. return P._rootRegisterBinaryCallback($self, $parent, zone, f, null, null, null);
  53255. }], 69, 0);
  53256. _static(P, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 70, 0);
  53257. _static(P, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 71, 0);
  53258. _static(P, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 72, 0);
  53259. _static(P, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 73, 0);
  53260. _static(P, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 74, 0);
  53261. _static_1(P, "async___printToZone$closure", "_printToZone", 75);
  53262. _static(P, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 76, 0);
  53263. var _;
  53264. _instance_0_u(_ = P._BroadcastSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 1);
  53265. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  53266. _instance(P._AsyncCompleter.prototype, "get$complete", 0, 0, function() {
  53267. return [null];
  53268. }, ["call$1", "call$0"], ["complete$1", "complete$0"], 34, 0);
  53269. _instance(P._Future.prototype, "get$_completeError", 0, 1, function() {
  53270. return [null];
  53271. }, ["call$2", "call$1"], ["_completeError$2", "_completeError$1"], 16, 0);
  53272. _instance_1_i(_ = P._StreamController.prototype, "get$add", "add$1", 8);
  53273. _instance(_, "get$addError", 0, 1, function() {
  53274. return [null];
  53275. }, ["call$2", "call$1"], ["addError$2", "addError$1"], 16, 0);
  53276. _instance_0_i(_, "get$close", "close$0", 27);
  53277. _instance_1_u(_, "get$_async$_add", "_async$_add$1", 8);
  53278. _instance_2_u(_, "get$_addError", "_addError$2", 81);
  53279. _instance_0_u(_, "get$_close", "_close$0", 1);
  53280. _instance_0_u(_ = P._ControllerSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 1);
  53281. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  53282. _instance(_ = P._BufferingStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 31, 0);
  53283. _instance_0_u(_, "get$resume", "resume$0", 1);
  53284. _instance_0_u(_, "get$_async$_onPause", "_async$_onPause$0", 1);
  53285. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  53286. _instance(_ = P._DoneStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 31, 0);
  53287. _instance_0_u(_, "get$resume", "resume$0", 1);
  53288. _instance_0_u(_, "get$_sendDone", "_sendDone$0", 1);
  53289. _instance_1_u(_ = P._StreamIterator.prototype, "get$_onData", "_onData$1", 8);
  53290. _instance(_, "get$_onError", 0, 1, function() {
  53291. return [null];
  53292. }, ["call$2", "call$1"], ["_onError$2", "_onError$1"], 16, 0);
  53293. _instance_0_u(_, "get$_onDone", "_onDone$0", 1);
  53294. _instance_0_u(_ = P._ForwardingStreamSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 1);
  53295. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  53296. _instance_1_u(_, "get$_handleData", "_handleData$1", 8);
  53297. _instance_2_u(_, "get$_handleError", "_handleError$2", 35);
  53298. _instance_0_u(_, "get$_handleDone", "_handleDone$0", 1);
  53299. _static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 77);
  53300. _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 78);
  53301. _instance_1_u(P._LinkedCustomHashMap.prototype, "get$containsKey", "containsKey$1", 7);
  53302. _instance(_ = P._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 26, 0);
  53303. _instance_1_i(_, "get$contains", "contains$1", 7);
  53304. _instance(P._LinkedIdentityHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 26, 0);
  53305. _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 12);
  53306. _static_1(P, "core__identityHashCode$closure", "identityHashCode", 79);
  53307. _static_2(P, "core__identical$closure", "identical", 80);
  53308. _static_1(P, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 25);
  53309. _instance_1_i(P.Iterable.prototype, "get$contains", "contains$1", 7);
  53310. _static(P, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) {
  53311. return P.max(a, b, P.num);
  53312. }], 82, 1);
  53313. _instance_1_u(_ = Y.StreamCompleter.prototype, "get$setSourceStream", "setSourceStream$1", 8);
  53314. _instance(_, "get$setError", 0, 1, function() {
  53315. return [null];
  53316. }, ["call$2", "call$1"], ["setError$2", "setError$1"], 56, 0);
  53317. _instance_0_u(_ = L.StreamGroup.prototype, "get$_onListen", "_onListen$0", 1);
  53318. _instance_0_u(_, "get$_onPause", "_onPause$0", 1);
  53319. _instance_0_u(_, "get$_onResume", "_onResume$0", 1);
  53320. _instance_0_u(_, "get$_onCancel", "_onCancel$0", 27);
  53321. _instance_1_i(O.EmptyUnmodifiableSet.prototype, "get$contains", "contains$1", 7);
  53322. _instance_1_i(M._DelegatingIterableBase.prototype, "get$contains", "contains$1", 7);
  53323. _instance_1_i(M.MapKeySet.prototype, "get$contains", "contains$1", 7);
  53324. _instance_1_u(B.ModifiableCssNode.prototype, "get$_node0$_isInvisible", "_node0$_isInvisible$1", 28);
  53325. _instance_1_u(D.SelectorList.prototype, "get$_complexContainsParentSelector", "_complexContainsParentSelector$1", 36);
  53326. _static_1(Y, "functions___isUnique$closure", "_isUnique", 83);
  53327. _static_1(K, "color___opacify$closure", "_opacify", 5);
  53328. _static_1(K, "color___transparentize$closure", "_transparentize", 5);
  53329. _static_2(B, "node___render$closure", "_render", 84);
  53330. _static_1(B, "node___renderSync$closure", "_renderSync", 85);
  53331. _instance_0_u(_ = G.Parser.prototype, "get$whitespace", "whitespace$0", 1);
  53332. _instance_0_u(_, "get$loudComment", "loudComment$0", 1);
  53333. _instance_0_u(_, "get$string", "string$0", 46);
  53334. _instance_0_u(U.SassParser.prototype, "get$loudComment", "loudComment$0", 1);
  53335. _instance(_ = V.StylesheetParser.prototype, "get$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_statement$1$root", "_statement$0"], 47, 0);
  53336. _instance_0_u(_, "get$_declarationChild", "_declarationChild$0", 23);
  53337. _instance_0_u(_, "get$_declarationAtRule", "_declarationAtRule$0", 23);
  53338. _instance_0_u(_, "get$_functionChild", "_functionChild$0", 23);
  53339. _instance_0_u(_, "get$_argumentDeclaration", "_argumentDeclaration$0", 49);
  53340. _instance(_, "get$expression", 0, 0, null, ["call$3$bracketList$singleEquals$until", "call$0", "call$2$singleEquals$until", "call$1$bracketList", "call$1$singleEquals", "call$1$until"], ["expression$3$bracketList$singleEquals$until", "expression$0", "expression$2$singleEquals$until", "expression$1$bracketList", "expression$1$singleEquals", "expression$1$until"], 50, 0);
  53341. _instance_0_u(_, "get$_number", "_number$0", 51);
  53342. _instance_1_i(N.NoSourceMapBuffer.prototype, "get$write", "write$1", 8);
  53343. _instance_1_i(D.SourceMapBuffer.prototype, "get$write", "write$1", 8);
  53344. _static_1(B, "utils__isPublic$closure", "isPublic", 86);
  53345. _instance_1_u(_ = N._SerializeVisitor.prototype, "get$_visitMediaQuery", "_visitMediaQuery$1", 57);
  53346. _instance_1_u(_, "get$_isInvisible", "_isInvisible$1", 28);
  53347. _instance(Y.SourceSpanMixin.prototype, "get$message", 1, 1, function() {
  53348. return {color: null};
  53349. }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 59, 0);
  53350. _static(L, "from_handlers__StreamTransformer__defaultHandleError$closure", 3, null, ["call$1$3", "call$3"], ["_StreamTransformer__defaultHandleError", function(error, stackTrace, sink) {
  53351. return L._StreamTransformer__defaultHandleError(error, stackTrace, sink, null);
  53352. }], 87, 0);
  53353. _static(R, "rate_limit___collectToList$closure", 2, null, ["call$1$2", "call$2"], ["_collectToList", function(element, soFar) {
  53354. return R._collectToList(element, soFar, null);
  53355. }], 88, 0);
  53356. _static_1(D, "path__dirname$closure", "dirname", 25);
  53357. _static_1(F, "value0__wrapValue$closure", "wrapValue", 89);
  53358. _static_1(T, "character__isWhitespace$closure", "isWhitespace", 10);
  53359. _static_1(T, "character__isNewline$closure", "isNewline", 10);
  53360. _static_1(T, "character__isHex$closure", "isHex", 10);
  53361. _static_2(T, "number0__fuzzyEquals$closure", "fuzzyEquals", 11);
  53362. _static_2(T, "number0__fuzzyLessThan$closure", "fuzzyLessThan", 11);
  53363. _static_2(T, "number0__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals", 11);
  53364. _static_2(T, "number0__fuzzyGreaterThan$closure", "fuzzyGreaterThan", 11);
  53365. _static_2(T, "number0__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals", 11);
  53366. _static_1(T, "number0__fuzzyRound$closure", "fuzzyRound", 22);
  53367. })();
  53368. (function inheritance() {
  53369. var _mixin = hunkHelpers.mixin,
  53370. _inherit = hunkHelpers.inherit,
  53371. _inheritMany = hunkHelpers.inheritMany;
  53372. _inherit(P.Object, null);
  53373. _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Iterable, H.CastIterator, P._ListBase_Object_ListMixin, H.ListIterator, P.Iterator, H.ExpandIterator, H.EmptyIterator, H.FollowedByIterator, H.WhereTypeIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol, P.MapView, H.ConstantMap, H.Closure, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, H.TypeImpl, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, P._TimerImpl, P._AsyncAwaitCompleter, P._AsyncStarStreamController, P._IterationMarker, P._SyncStarIterator, P.Stream, P._BufferingStreamSubscription, P._BroadcastStreamController, P.Future, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.StreamSubscription, P.EventSink, P.StreamTransformerBase, P._StreamController, P._SyncStreamControllerDispatch, P._AsyncStreamControllerDispatch, P._AddStreamState, P._DelayedEvent, P._DelayedDone, P._PendingEvents, P._DoneStreamSubscription, P._StreamIterator, P.Timer, P.AsyncError, P._ZoneFunction, P.ZoneSpecification, P._ZoneSpecification, P.ZoneDelegate, P.Zone, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P._SetBase, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.ListMixin, P._MapBaseValueIterator, P._UnmodifiableMapMixin, P.Queue, P._ListQueueIterator, P.Codec, P._Base64Encoder, P.ChunkedConversionSink, P._JsonStringifier, P.StringConversionSinkMixin, P._Utf8Encoder, P._Utf8Decoder, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.Match, P.RegExpMatch, P.StackTrace, P._StringStackTrace, P.String, P.RuneIterator, P.StringBuffer, P.StringSink, P.Symbol0, P.Uri, P._Uri, P.UriData, P._SimpleUri, P._JSRandom, P.Uint8List, N.ArgParser, V.ArgResults, G.Option, G.OptionType, G.Parser0, G.Usage, V.ErrorResult, E.Result, F.ValueResult, Y.StreamCompleter, L.StreamGroup, L._StreamGroupState, G.StreamQueue, G._EventRequest, G._NextRequest, Q.Repl, B.ReplAdapter, U.DefaultEquality, U.ListEquality, U._MapEntry, U.MapEquality, Q._QueueList_Object_ListMixin, M._DelegatingIterableBase, L.UnmodifiableSetMixin, M.Context, M._PathDirection, M._PathRelation, O.Style, X.ParsedPath, X.PathException, F.CssMediaQuery, F._SingletonCssMediaQueryMergeResult, F.MediaQuerySuccessfulMergeResult, B.AstNode, F.ModifiableCssValue, F.CssValue, Z.Argument, B.ArgumentDeclaration, X.ArgumentInvocation, V.AtRootQuery, T.Expression, V.BinaryOperationExpression, V.BinaryOperator, Z.BooleanExpression, K.ColorExpression, F.FunctionExpression, L.IfExpression, D.ListExpression, A.MapExpression, O.NullExpression, T.NumberExpression, T.ParenthesizedExpression, T.SelectorExpression, D.StringExpression, X.UnaryOperationExpression, X.UnaryOperator, F.ValueExpression, S.VariableExpression, F.Import, B.DynamicImport, Q.StaticImport, X.Interpolation, O.Statement, M.ParentStatement, Q.ContentRule, Q.DebugRule, D.ErrorRule, X.ExtendRule, L.ForwardRule, V.IfRule, V.IfClause, B.ImportRule, A.IncludeRule, L.LoudComment, B.ReturnRule, B.SilentComment, T.UseRule, Z.VariableDeclaration, Y.WarnRule, L.SupportsDeclaration, X.SupportsInterpolation, M.SupportsNegation, U.SupportsOperation, T.Selector, N.AttributeOperator, S.ComplexSelectorComponent, S.Combinator, D.QualifiedName, X.CompileResult, Q.AsyncEnvironment, Q._EnvironmentModule0, O.AsyncImportCache, B.AsyncCallable, S.AsyncBuiltInCallable, Q.BuiltInCallable, L.PlainCssCallable, E.UserDefinedCallable, O.Environment, O._EnvironmentModule, G.SourceSpanException, E.SassScriptException, B.ExecutableOptions, B.UsageException, A._Watcher, T.EmptyExtender, F.Extender, S.Extension, L.ExtendMode, R.ImportCache, B.AsyncImporter, F.NodeImporter, E.ImporterResult, Z.InterpolationBuffer, B.FileSystemException, B.Stderr, F._QuietLogger, S.StderrLogger, T.TrackingLogger, G.Module, Q.BuiltInModule, R.ForwardedModuleView, G.Parser, M.StylesheetGraph, M.StylesheetNode, M.Syntax, G.FixedLengthListBuilder, U.MultiDirWatcher, N.NoSourceMapBuffer, D.SourceMapBuffer, F.Value, D.ListSeparator, E._EvaluateVisitor0, E._ImportedCssVisitor0, E.EvaluateResult, E._ArgumentResults0, E._ConfiguredValue0, V._CloneCssVisitor, R.Evaluator, R._EvaluateVisitor, R._ImportedCssVisitor, R._ArgumentResults, R._ConfiguredValue, D.RecursiveStatementVisitor, N._SerializeVisitor, N.OutputStyle, N.LineFeed, N.SerializeResult, L.Entry, T.Mapping, T.TargetLineEntry, T.TargetEntry, Y.SourceFile, D.SourceLocationMixin, Y.FileSpan, Y.SourceSpanMixin, U.Highlighter, V.SourceLocation, V.SourceSpan, U.Chain, A.Frame, T.LazyTrace, Y.Trace, N.UnparsedFrame, X.StringScanner, S._SpanScannerState, A.AsciiGlyphSet, K.UnicodeGlyphSet, S.Tuple2, S.Tuple3, E.WatchEvent, E.ChangeType]);
  53374. _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeTypedData]);
  53375. _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, B.Stdin, B.Stdout, B.ReadlineModule, B.ReadlineOptions, B.ReadlineInterface, B._FS, B._Stat, B._Date, B._Stderr, B._Stdin, B._SystemError, B._Process, Y.Chokidar, Y.ChokidarOptions, Y.ChokidarWatcher, V.JSError, D.Exports, E.FiberClass, E.Fiber, F.JSFunction, F.NodeImporterResult, Z.RenderContext, L.RenderContextOptions, R.RenderOptions, U.RenderResult, U.RenderResultStats, G.Types, K._NodeSassColor, D._NodeSassList, A._NodeSassMap, T._NodeSassNumber, D._NodeSassString]);
  53376. _inherit(J.JSUnmodifiableArray, J.JSArray);
  53377. _inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]);
  53378. _inheritMany(P.Iterable, [H._CastIterableBase, H.EfficientLengthIterable, H.MappedIterable, H.WhereIterable, H.ExpandIterable, H.TakeIterable, H.SkipIterable, H.SkipWhileIterable, H.FollowedByIterable, H.WhereTypeIterable, H._ConstantMapKeyIterable, P.IterableBase, H._StringAllMatchesIterable, P.Runes]);
  53379. _inheritMany(H._CastIterableBase, [H.CastIterable, H.__CastListBase__CastIterableBase_ListMixin, H.CastSet, H.CastQueue]);
  53380. _inherit(H._EfficientLengthCastIterable, H.CastIterable);
  53381. _inherit(H._CastListBase, H.__CastListBase__CastIterableBase_ListMixin);
  53382. _inherit(H.CastList, H._CastListBase);
  53383. _inherit(P.ListBase, P._ListBase_Object_ListMixin);
  53384. _inherit(H.UnmodifiableListBase, P.ListBase);
  53385. _inheritMany(H.UnmodifiableListBase, [H.CodeUnits, P.UnmodifiableListView]);
  53386. _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.EmptyIterable, H.LinkedHashMapKeyIterable, P._HashMapKeyIterable, P._MapBaseValueIterable, P.Set]);
  53387. _inheritMany(H.ListIterable, [H.SubListIterable, H.MappedListIterable, H.ReversedListIterable, P.ListQueue, P._GeneratorIterable]);
  53388. _inherit(H.EfficientLengthMappedIterable, H.MappedIterable);
  53389. _inheritMany(P.Iterator, [H.MappedIterator, H.WhereIterator, H.TakeIterator, H.SkipIterator, H.SkipWhileIterator]);
  53390. _inherit(H.EfficientLengthTakeIterable, H.TakeIterable);
  53391. _inherit(H.EfficientLengthSkipIterable, H.SkipIterable);
  53392. _inherit(H.EfficientLengthFollowedByIterable, H.FollowedByIterable);
  53393. _inheritMany(P.MapView, [P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, K.PathMap]);
  53394. _inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
  53395. _inherit(H.ConstantMapView, P.UnmodifiableMapView);
  53396. _inherit(H.ConstantStringMap, H.ConstantMap);
  53397. _inheritMany(H.Closure, [H.ConstantStringMap_values_closure, H.Instantiation, H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._asyncStarHelper_closure, P._asyncStarHelper_closure0, P._AsyncStarStreamController__resumeBody, P._AsyncStarStreamController__resumeBody_closure, P._AsyncStarStreamController_closure0, P._AsyncStarStreamController_closure1, P._AsyncStarStreamController_closure, P._AsyncStarStreamController__closure, P._SyncBroadcastStreamController__sendData_closure, P._SyncBroadcastStreamController__sendError_closure, P._SyncBroadcastStreamController__sendDone_closure, P.Future_wait_handleError, P.Future_wait_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncComplete_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_Stream$fromFuture_closure, P.Stream_Stream$fromFuture_closure0, P.Stream_length_closure, P.Stream_length_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._AddStreamState_cancel_closure, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._HashMap_values_closure, P._HashMap_addAll_closure, P._LinkedCustomHashMap_closure, P.HashMap_HashMap$from_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.MapMixin_entries_closure, P._JsonStringifier_writeMap_closure, P.NoSuchMethodError_toString_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__Uri$notSimple_closure, P._Uri__checkNonWindowsPathReservedCharacters_closure, P._Uri__makePath_closure, P._createTables_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, N.ArgParser_findByAbbreviation_closure, N.ArgParser_findByAbbreviation_closure0, G.Parser_parse_closure, G.Parser_setOption_closure, G.Usage_generate_closure, G.Usage_buildAllowedList_closure, L.StreamGroup_add_closure, L.StreamGroup_add_closure0, L.StreamGroup__onListen_closure, L.StreamGroup__onCancel_closure, L.StreamGroup__onCancel_closure0, L.StreamGroup__listenToStream_closure, G.StreamQueue__ensureListening_closure, G.StreamQueue__ensureListening_closure1, G.StreamQueue__ensureListening_closure0, Q.closure130, B.ReplAdapter_runAsync_closure, Y.mapMap_closure, Y.mapMap_closure0, Y.mapMap_closure1, B.defaultCompare_closure, M.Context_join_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath_normalize_closure, X.ParsedPath__splitExtension_closure, X.ParsedPath__splitExtension_closure0, K.PathMap__create_closure, K.PathMap__create_closure0, K.PathMap__create_closure1, L.WindowsStyle_absolutePathToUri_closure, B.ArgumentDeclaration_verify_closure, B.ArgumentDeclaration_verify_closure0, D.ListExpression_toString_closure, A.MapExpression_toString_closure, X.Interpolation_toString_closure, V.EachRule_toString_closure, L.ForwardRule__memberList_closure, V.IfRule_toString_closure, V.IfClause$__closure, M.ParentStatement_closure, T.UseRule_toString_closure, S.ComplexSelector_isInvisible_closure, X.CompoundSelector_isInvisible_closure, N.IDSelector_unify_closure, D.SelectorList_isInvisible_closure, D.SelectorList_asSassList_closure, D.SelectorList_asSassList__closure, D.SelectorList_unify_closure, D.SelectorList_unify__closure, D.SelectorList_unify___closure, D.SelectorList_resolveParentSelectors_closure, D.SelectorList_resolveParentSelectors__closure, D.SelectorList_resolveParentSelectors__closure0, D.SelectorList__complexContainsParentSelector_closure, D.SelectorList__complexContainsParentSelector__closure, D.SelectorList__resolveParentSelectorsCompound_closure, D.SelectorList__resolveParentSelectorsCompound_closure0, D.SelectorList__resolveParentSelectorsCompound_closure1, X._compileStylesheet_closure0, Q.AsyncEnvironment__getVariableFromGlobalModule_closure, Q.AsyncEnvironment_setVariable_closure, Q.AsyncEnvironment_setVariable_closure0, Q.AsyncEnvironment_setVariable_closure1, Q.AsyncEnvironment__getFunctionFromGlobalModule_closure, Q.AsyncEnvironment__getMixinFromGlobalModule_closure, Q.AsyncEnvironment__fromOneModule_closure, Q.AsyncEnvironment__fromOneModule_closure0, Q._EnvironmentModule__EnvironmentModule_closure5, Q._EnvironmentModule__EnvironmentModule_closure6, Q._EnvironmentModule__EnvironmentModule_closure7, Q._EnvironmentModule__EnvironmentModule_closure8, Q._EnvironmentModule__EnvironmentModule_closure9, Q._EnvironmentModule__EnvironmentModule_closure10, O.AsyncImportCache_canonicalize_closure, O.AsyncImportCache_importCanonical_closure, O.AsyncImportCache_humanize_closure, O.AsyncImportCache_humanize_closure0, O.AsyncImportCache_humanize_closure1, X.closure32, X.closure33, U._compileStylesheet_closure, O.Environment__getVariableFromGlobalModule_closure, O.Environment_setVariable_closure, O.Environment_setVariable_closure0, O.Environment_setVariable_closure1, O.Environment__getFunctionFromGlobalModule_closure, O.Environment__getMixinFromGlobalModule_closure, O.Environment__fromOneModule_closure, O.Environment__fromOneModule_closure0, O._EnvironmentModule__EnvironmentModule_closure, O._EnvironmentModule__EnvironmentModule_closure0, O._EnvironmentModule__EnvironmentModule_closure1, O._EnvironmentModule__EnvironmentModule_closure2, O._EnvironmentModule__EnvironmentModule_closure3, O._EnvironmentModule__EnvironmentModule_closure4, F.main_printError, F.main_closure0, D._writeSourceMap_closure, B.ExecutableOptions_closure, B.ExecutableOptions_emitErrorCss_closure, A.watch_closure, A._Watcher__debounceEvents_closure, A._Watcher__debounceEvents__closure, F.Extender__extendOrReplace_closure, F.Extender_extensionsWhereTarget_closure, F.Extender__registerSelector_closure, F.Extender_addExtension_closure, F.Extender_addExtension_closure0, F.Extender_addExtension_closure1, F.Extender__extendExistingExtensions_closure, F.Extender__extendExistingExtensions_closure0, F.Extender_addExtensions_closure, F.Extender_addExtensions__closure, F.Extender_addExtensions___closure, F.Extender_addExtensions___closure0, F.Extender__extendList_closure, F.Extender__extendComplex_closure, F.Extender__extendComplex_closure0, F.Extender__extendComplex__closure, F.Extender__extendComplex__closure0, F.Extender__extendComplex___closure, F.Extender__extendCompound_closure, F.Extender__extendCompound_closure0, F.Extender__extendCompound__closure, F.Extender__extendCompound__closure0, F.Extender__extendCompound_closure1, F.Extender__extendCompound_closure2, F.Extender__extendSimple_withoutPseudo, F.Extender__extendSimple_closure, F.Extender__extendPseudo_closure, F.Extender__extendPseudo_closure0, F.Extender__extendPseudo_closure1, F.Extender__extendPseudo_closure2, F.Extender__extendPseudo_closure3, F.Extender__trim_closure, F.Extender__trim_closure0, F.Extender_clone_closure, Y.unifyComplex_closure, Y._weaveParents_closure, Y._weaveParents_closure0, Y._weaveParents_closure1, Y._weaveParents__closure1, Y._weaveParents_closure2, Y._weaveParents_closure3, Y._weaveParents__closure0, Y._weaveParents_closure4, Y._weaveParents_closure5, Y._weaveParents__closure, Y._mustUnify_closure, Y._mustUnify__closure, Y.paths_closure, Y.paths__closure, Y.paths___closure, Y._hasRoot_closure, Y.listIsSuperslector_closure, Y.listIsSuperslector__closure, Y._simpleIsSuperselectorOfCompound_closure, Y._simpleIsSuperselectorOfCompound__closure, Y._selectorPseudoIsSuperselector_closure, Y._selectorPseudoIsSuperselector_closure0, Y._selectorPseudoIsSuperselector_closure1, Y._selectorPseudoIsSuperselector_closure2, Y._selectorPseudoIsSuperselector_closure3, Y._selectorPseudoIsSuperselector__closure, Y._selectorPseudoIsSuperselector___closure, Y._selectorPseudoIsSuperselector___closure0, Y._selectorPseudoIsSuperselector_closure4, Y._selectorPseudoIsSuperselector_closure5, Y._selectorPseudosNamed_closure, Y.closure, K.closure45, K.closure46, K.closure47, K.closure48, K.closure49, K.closure50, K.closure51, K.closure52, K.closure53, K.closure54, K.closure55, K.closure56, K.closure57, K.closure58, K.closure59, K.closure60, K.closure61, K.closure62, K.closure63, K.closure64, K.closure65, K.closure66, K.closure67, K.closure68, K.closure69, K.closure70, K._closure10, K.closure71, K.closure84, K.closure85, K.closure86, K.closure87, K._closure11, K.closure88, K.closure83, K.closure82, K.closure81, K.closure80, K.closure79, K.closure78, K.closure77, K.closure76, K.closure74, K.closure_getInRange0, K._closure9, K.closure73, K.closure_getScale, K.closure_scaleValue, K._closure8, K.closure72, K.closure_getInRange, K._closure7, K.closure75, K.closure_hexString, K._functionString_closure, K._removedColorFunction_closure, K._parseChannels_closure, D.closure44, D.closure43, D.closure42, D.closure41, D.closure40, D.closure39, D._closure4, D._closure5, D._closure6, D.closure38, D.closure36, D.closure37, A.closure35, A.closure34, A.closure30, A.closure31, A.closure29, A.closure28, A.closure27, K.closure19, K.closure26, K.closure25, K.closure24, K.closure23, K.closure22, K.closure21, K.closure20, K.closure18, K.closure17, K._numberFunction_closure, Q.closure89, Q.closure90, Q.closure91, Q.closure92, Q._closure12, T.closure13, T._closure1, T._closure2, T.closure12, T._closure, T._closure0, T.__closure, T.closure11, T.closure10, T.closure9, T.closure16, T.closure15, T._closure3, T.closure14, D.closure8, D.closure7, D.closure3, D.closure2, D.closure1, D.closure0, D.closure6, D.closure5, D.closure4, R.ImportCache_canonicalize_closure, R.ImportCache_importCanonical_closure, R.ImportCache_humanize_closure, R.ImportCache_humanize_closure0, R.ImportCache_humanize_closure1, B.resolveImportPath_closure, B.resolveImportPath_closure0, B._tryPathAsDirectory_closure, B._exactlyOne_closure, F.realCasePath_closure, B._readFile_closure, B.writeFile_closure, B.deleteFile_closure, B.readStdin_closure, B.readStdin_closure0, B.readStdin_closure1, B.readStdin_closure2, B.fileExists_closure, B.dirExists_closure, B.ensureDir_closure, B.listDir_closure, B.listDir__closure, B.listDir__closure0, B.listDir_closure_list, B.listDir__list_closure, B.modificationTime_closure, B.watchDir_closure, B.watchDir_closure0, B.watchDir_closure1, B.watchDir_closure2, B.watchDir_closure3, B.watchDir__closure, B.main_closure, B._render_closure, B._render_closure0, B._render_closure1, B._parseFunctions_closure, B._parseFunctions__closure, B._parseFunctions___closure0, B._parseFunctions____closure, B._parseFunctions__closure0, B._parseFunctions__closure1, B._parseFunctions___closure, B._parseImporter_closure, B._parseImporter__closure, B._parseImporter___closure, B._parseImporter____closure, B.forwardToString_closure, B.createClass_closure, Z.closure129, Z._closure18, Z._closure19, K.closure119, K.closure120, K.closure121, K.closure122, K.closure123, K.closure124, K.closure125, K.closure126, K.closure127, K.closure128, D.closure112, D._closure17, D.closure113, D.closure114, D.closure115, D.closure116, D.closure117, D.closure118, A.closure105, A._closure15, A._closure16, A.closure106, A.closure107, A.closure108, A.closure109, A.closure110, A.closure111, O.closure104, O._closure13, O._closure14, T.closure98, T.closure99, T.closure100, T.closure101, T.closure102, T.closure103, T._parseNumber_closure, T._parseNumber_closure0, D.closure94, D.closure95, D.closure96, D.closure97, V.AtRootQueryParser_parse_closure, Q.closure93, E.KeyframeSelectorParser_parse_closure, F.MediaQueryParser_parse_closure, G.Parser__parseIdentifier_closure, U.SassParser_children_closure, T.SelectorParser_parse_closure, T.SelectorParser_parseCompoundSelector_closure, V.StylesheetParser_parse_closure, V.StylesheetParser_parse__closure, V.StylesheetParser_parse__closure0, V.StylesheetParser_parseVariableDeclaration_closure, V.StylesheetParser_parseUseRule_closure, V.StylesheetParser__parseSingleProduction_closure, V.StylesheetParser_parseSignature_closure, V.StylesheetParser__statement_closure, V.StylesheetParser_variableDeclarationWithoutNamespace_closure, V.StylesheetParser_variableDeclarationWithoutNamespace_closure0, V.StylesheetParser__declarationOrBuffer_closure, V.StylesheetParser__declarationOrBuffer_closure0, V.StylesheetParser__styleRule_closure, V.StylesheetParser__propertyOrVariableDeclaration_closure, V.StylesheetParser__propertyOrVariableDeclaration_closure0, V.StylesheetParser__atRootRule_closure, V.StylesheetParser__atRootRule_closure0, V.StylesheetParser__eachRule_closure, V.StylesheetParser__functionRule_closure, V.StylesheetParser__forRule_closure, V.StylesheetParser__forRule_closure0, V.StylesheetParser__memberList_closure, V.StylesheetParser__includeRule_closure, V.StylesheetParser_mediaRule_closure, V.StylesheetParser__mixinRule_closure, V.StylesheetParser_mozDocumentRule_closure, V.StylesheetParser_supportsRule_closure, V.StylesheetParser__whileRule_closure, V.StylesheetParser_unknownAtRule_closure, V.StylesheetParser_expression_resetState, V.StylesheetParser_expression_resolveOneOperation, V.StylesheetParser_expression_resolveOperations, V.StylesheetParser_expression_addSingleExpression, V.StylesheetParser_expression_addOperator, V.StylesheetParser_expression_resolveSpaceExpressions, V.StylesheetParser__expressionUntilComma_closure, V.StylesheetParser__unicodeRange_closure, V.StylesheetParser__unicodeRange_closure0, V.StylesheetParser_identifierLike_closure, V.StylesheetParser__expressionUntilComparison_closure, V.StylesheetParser__publicIdentifier_closure, M.StylesheetGraph_modifiedSince_transitiveModificationTime, M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure, M.StylesheetGraph__add_closure, M.StylesheetGraph_addCanonical_closure, M.StylesheetGraph_addCanonical_closure0, M.StylesheetGraph__upstreamNodes_closure, M.StylesheetGraph_reload_closure, M.StylesheetGraph__nodeFor_closure, M.StylesheetGraph__nodeFor_closure0, F._PrefixedKeys_iterator_closure, D.SourceMapBuffer_sourceFiles_closure, D.SourceMapBuffer__addEntry_closure, D.SourceMapBuffer_buildSourceMap_closure, R._UnprefixedKeys_iterator_closure, R._UnprefixedKeys_iterator_closure0, B.indent_closure, B.bulletedList_closure, B.flattenVertically_closure, B.flattenVertically_closure0, B.longestCommonSubsequence_closure, B.longestCommonSubsequence_closure0, B.longestCommonSubsequence_closure1, B.longestCommonSubsequence_backtrack, B.mapAddAll2_closure, B.mapMapAsync_closure, B.copyMapOfMap_closure, B.copyMapOfList_closure, D.SassList_isBlank_closure, A.SassMap_asList_closure, T.SassNumber_valueInUnits_closure, T.SassNumber_valueInUnits_closure0, T.SassNumber_valueInUnits_closure1, T.SassNumber_valueInUnits_closure2, T.SassNumber_modulo_closure, T.SassNumber_plus_closure, T.SassNumber_minus_closure, T.SassNumber__multiplyUnits_closure, T.SassNumber__multiplyUnits_closure0, T.SassNumber__multiplyUnits_closure1, T.SassNumber__multiplyUnits_closure2, T.SassNumber__areAnyConvertible_closure, T.SassNumber__canonicalMultiplier_closure, E._EvaluateVisitor_closure9, E._EvaluateVisitor_closure10, E._EvaluateVisitor_closure11, E._EvaluateVisitor_closure12, E._EvaluateVisitor_closure13, E._EvaluateVisitor_closure14, E._EvaluateVisitor_closure15, E._EvaluateVisitor_closure16, E._EvaluateVisitor__closure8, E._EvaluateVisitor_closure17, E._EvaluateVisitor__closure6, E._EvaluateVisitor__closure7, E._EvaluateVisitor_closure18, E._EvaluateVisitor__closure4, E._EvaluateVisitor__closure5, E._EvaluateVisitor_run_closure0, E._EvaluateVisitor__withWarnCallback_closure0, E._EvaluateVisitor__loadModule_closure0, E._EvaluateVisitor__loadModule__closure0, E._EvaluateVisitor__execute_closure0, E._EvaluateVisitor__combineCss_closure2, E._EvaluateVisitor__combineCss_closure3, E._EvaluateVisitor__combineCss_closure4, E._EvaluateVisitor__extendModules_closure1, E._EvaluateVisitor__extendModules_closure2, E._EvaluateVisitor__topologicalModules_visitModule0, E._EvaluateVisitor_visitAtRootRule_closure2, E._EvaluateVisitor_visitAtRootRule_closure3, E._EvaluateVisitor_visitAtRootRule_closure4, E._EvaluateVisitor__scopeForAtRoot_closure5, E._EvaluateVisitor__scopeForAtRoot_closure6, E._EvaluateVisitor__scopeForAtRoot_closure7, E._EvaluateVisitor__scopeForAtRoot__closure0, E._EvaluateVisitor__scopeForAtRoot_closure8, E._EvaluateVisitor__scopeForAtRoot_closure9, E._EvaluateVisitor__scopeForAtRoot_closure10, E._EvaluateVisitor_visitContentRule_closure0, E._EvaluateVisitor_visitDeclaration_closure0, E._EvaluateVisitor_visitEachRule_closure2, E._EvaluateVisitor_visitEachRule_closure3, E._EvaluateVisitor_visitEachRule_closure4, E._EvaluateVisitor_visitEachRule__closure0, E._EvaluateVisitor_visitEachRule___closure0, E._EvaluateVisitor_visitExtendRule_closure0, E._EvaluateVisitor_visitAtRule_closure1, E._EvaluateVisitor_visitAtRule__closure0, E._EvaluateVisitor_visitAtRule_closure2, E._EvaluateVisitor_visitForRule_closure4, E._EvaluateVisitor_visitForRule_closure5, E._EvaluateVisitor_visitForRule_closure6, E._EvaluateVisitor_visitForRule_closure7, E._EvaluateVisitor_visitForRule_closure8, E._EvaluateVisitor_visitForRule__closure0, E._EvaluateVisitor_visitForwardRule_closure0, E._EvaluateVisitor_visitIfRule_closure0, E._EvaluateVisitor_visitIfRule__closure0, E._EvaluateVisitor__visitDynamicImport_closure0, E._EvaluateVisitor__visitDynamicImport__closure1, E._EvaluateVisitor__visitDynamicImport__closure2, E._EvaluateVisitor_visitIncludeRule_closure1, E._EvaluateVisitor_visitIncludeRule_closure2, E._EvaluateVisitor_visitIncludeRule__closure0, E._EvaluateVisitor_visitIncludeRule___closure0, E._EvaluateVisitor_visitIncludeRule____closure0, E._EvaluateVisitor_visitMediaRule_closure1, E._EvaluateVisitor_visitMediaRule__closure0, E._EvaluateVisitor_visitMediaRule___closure0, E._EvaluateVisitor_visitMediaRule_closure2, E._EvaluateVisitor__visitMediaQueries_closure0, E._EvaluateVisitor_visitStyleRule_closure6, E._EvaluateVisitor_visitStyleRule_closure7, E._EvaluateVisitor_visitStyleRule_closure8, E._EvaluateVisitor_visitStyleRule_closure9, E._EvaluateVisitor_visitStyleRule_closure10, E._EvaluateVisitor_visitStyleRule_closure11, E._EvaluateVisitor_visitStyleRule__closure0, E._EvaluateVisitor_visitStyleRule_closure12, E._EvaluateVisitor_visitSupportsRule_closure1, E._EvaluateVisitor_visitSupportsRule__closure0, E._EvaluateVisitor_visitSupportsRule_closure2, E._EvaluateVisitor_visitVariableDeclaration_closure2, E._EvaluateVisitor_visitVariableDeclaration_closure3, E._EvaluateVisitor_visitVariableDeclaration_closure4, E._EvaluateVisitor_visitUseRule_closure0, E._EvaluateVisitor_visitWarnRule_closure0, E._EvaluateVisitor_visitWhileRule_closure0, E._EvaluateVisitor_visitWhileRule__closure0, E._EvaluateVisitor_visitBinaryOperationExpression_closure0, E._EvaluateVisitor_visitVariableExpression_closure0, E._EvaluateVisitor_visitListExpression_closure0, E._EvaluateVisitor_visitFunctionExpression_closure1, E._EvaluateVisitor_visitFunctionExpression_closure2, E._EvaluateVisitor__runUserDefinedCallable_closure0, E._EvaluateVisitor__runUserDefinedCallable__closure0, E._EvaluateVisitor__runUserDefinedCallable___closure0, E._EvaluateVisitor__runUserDefinedCallable____closure0, E._EvaluateVisitor__runFunctionCallable_closure0, E._EvaluateVisitor__runBuiltInCallable_closure1, E._EvaluateVisitor__runBuiltInCallable_closure2, E._EvaluateVisitor__evaluateArguments_closure2, E._EvaluateVisitor__evaluateArguments_closure3, E._EvaluateVisitor__evaluateArguments_closure4, E._EvaluateVisitor__evaluateMacroArguments_closure3, E._EvaluateVisitor__evaluateMacroArguments_closure4, E._EvaluateVisitor__evaluateMacroArguments_closure5, E._EvaluateVisitor__evaluateMacroArguments_closure6, E._EvaluateVisitor__addRestMap_closure1, E._EvaluateVisitor__addRestMap_closure2, E._EvaluateVisitor__verifyArguments_closure0, E._EvaluateVisitor_visitStringExpression_closure0, E._EvaluateVisitor_visitCssAtRule_closure1, E._EvaluateVisitor_visitCssAtRule_closure2, E._EvaluateVisitor_visitCssKeyframeBlock_closure1, E._EvaluateVisitor_visitCssKeyframeBlock_closure2, E._EvaluateVisitor_visitCssMediaRule_closure1, E._EvaluateVisitor_visitCssMediaRule__closure0, E._EvaluateVisitor_visitCssMediaRule___closure0, E._EvaluateVisitor_visitCssMediaRule_closure2, E._EvaluateVisitor_visitCssStyleRule_closure1, E._EvaluateVisitor_visitCssStyleRule__closure0, E._EvaluateVisitor_visitCssStyleRule_closure2, E._EvaluateVisitor_visitCssSupportsRule_closure1, E._EvaluateVisitor_visitCssSupportsRule__closure0, E._EvaluateVisitor_visitCssSupportsRule_closure2, E._EvaluateVisitor__performInterpolation_closure0, E._EvaluateVisitor__serialize_closure0, E._EvaluateVisitor__stackTrace_closure0, E._ImportedCssVisitor_visitCssAtRule_closure0, E._ImportedCssVisitor_visitCssMediaRule_closure0, E._ImportedCssVisitor_visitCssStyleRule_closure0, E._ImportedCssVisitor_visitCssSupportsRule_closure0, R._EvaluateVisitor_closure, R._EvaluateVisitor_closure0, R._EvaluateVisitor_closure1, R._EvaluateVisitor_closure2, R._EvaluateVisitor_closure3, R._EvaluateVisitor_closure4, R._EvaluateVisitor_closure5, R._EvaluateVisitor_closure6, R._EvaluateVisitor__closure3, R._EvaluateVisitor_closure7, R._EvaluateVisitor__closure1, R._EvaluateVisitor__closure2, R._EvaluateVisitor_closure8, R._EvaluateVisitor__closure, R._EvaluateVisitor__closure0, R._EvaluateVisitor_run_closure, R._EvaluateVisitor_runExpression_closure, R._EvaluateVisitor_runExpression__closure, R._EvaluateVisitor_runStatement_closure, R._EvaluateVisitor_runStatement__closure, R._EvaluateVisitor__withWarnCallback_closure, R._EvaluateVisitor__loadModule_closure, R._EvaluateVisitor__loadModule__closure, R._EvaluateVisitor__execute_closure, R._EvaluateVisitor__combineCss_closure, R._EvaluateVisitor__combineCss_closure0, R._EvaluateVisitor__combineCss_closure1, R._EvaluateVisitor__extendModules_closure, R._EvaluateVisitor__extendModules_closure0, R._EvaluateVisitor__topologicalModules_visitModule, R._EvaluateVisitor_visitAtRootRule_closure, R._EvaluateVisitor_visitAtRootRule_closure0, R._EvaluateVisitor_visitAtRootRule_closure1, R._EvaluateVisitor__scopeForAtRoot_closure, R._EvaluateVisitor__scopeForAtRoot_closure0, R._EvaluateVisitor__scopeForAtRoot_closure1, R._EvaluateVisitor__scopeForAtRoot__closure, R._EvaluateVisitor__scopeForAtRoot_closure2, R._EvaluateVisitor__scopeForAtRoot_closure3, R._EvaluateVisitor__scopeForAtRoot_closure4, R._EvaluateVisitor_visitContentRule_closure, R._EvaluateVisitor_visitDeclaration_closure, R._EvaluateVisitor_visitEachRule_closure, R._EvaluateVisitor_visitEachRule_closure0, R._EvaluateVisitor_visitEachRule_closure1, R._EvaluateVisitor_visitEachRule__closure, R._EvaluateVisitor_visitEachRule___closure, R._EvaluateVisitor_visitExtendRule_closure, R._EvaluateVisitor_visitAtRule_closure, R._EvaluateVisitor_visitAtRule__closure, R._EvaluateVisitor_visitAtRule_closure0, R._EvaluateVisitor_visitForRule_closure, R._EvaluateVisitor_visitForRule_closure0, R._EvaluateVisitor_visitForRule_closure1, R._EvaluateVisitor_visitForRule_closure2, R._EvaluateVisitor_visitForRule_closure3, R._EvaluateVisitor_visitForRule__closure, R._EvaluateVisitor_visitForwardRule_closure, R._EvaluateVisitor_visitIfRule_closure, R._EvaluateVisitor_visitIfRule__closure, R._EvaluateVisitor__visitDynamicImport_closure, R._EvaluateVisitor__visitDynamicImport__closure, R._EvaluateVisitor__visitDynamicImport__closure0, R._EvaluateVisitor_visitIncludeRule_closure, R._EvaluateVisitor_visitIncludeRule_closure0, R._EvaluateVisitor_visitIncludeRule__closure, R._EvaluateVisitor_visitIncludeRule___closure, R._EvaluateVisitor_visitIncludeRule____closure, R._EvaluateVisitor_visitMediaRule_closure, R._EvaluateVisitor_visitMediaRule__closure, R._EvaluateVisitor_visitMediaRule___closure, R._EvaluateVisitor_visitMediaRule_closure0, R._EvaluateVisitor__visitMediaQueries_closure, R._EvaluateVisitor_visitStyleRule_closure, R._EvaluateVisitor_visitStyleRule_closure0, R._EvaluateVisitor_visitStyleRule_closure1, R._EvaluateVisitor_visitStyleRule_closure2, R._EvaluateVisitor_visitStyleRule_closure3, R._EvaluateVisitor_visitStyleRule_closure4, R._EvaluateVisitor_visitStyleRule__closure, R._EvaluateVisitor_visitStyleRule_closure5, R._EvaluateVisitor_visitSupportsRule_closure, R._EvaluateVisitor_visitSupportsRule__closure, R._EvaluateVisitor_visitSupportsRule_closure0, R._EvaluateVisitor_visitVariableDeclaration_closure, R._EvaluateVisitor_visitVariableDeclaration_closure0, R._EvaluateVisitor_visitVariableDeclaration_closure1, R._EvaluateVisitor_visitUseRule_closure, R._EvaluateVisitor_visitWarnRule_closure, R._EvaluateVisitor_visitWhileRule_closure, R._EvaluateVisitor_visitWhileRule__closure, R._EvaluateVisitor_visitBinaryOperationExpression_closure, R._EvaluateVisitor_visitVariableExpression_closure, R._EvaluateVisitor_visitListExpression_closure, R._EvaluateVisitor_visitFunctionExpression_closure, R._EvaluateVisitor_visitFunctionExpression_closure0, R._EvaluateVisitor__runUserDefinedCallable_closure, R._EvaluateVisitor__runUserDefinedCallable__closure, R._EvaluateVisitor__runUserDefinedCallable___closure, R._EvaluateVisitor__runUserDefinedCallable____closure, R._EvaluateVisitor__runFunctionCallable_closure, R._EvaluateVisitor__runBuiltInCallable_closure, R._EvaluateVisitor__runBuiltInCallable_closure0, R._EvaluateVisitor__evaluateArguments_closure, R._EvaluateVisitor__evaluateArguments_closure0, R._EvaluateVisitor__evaluateArguments_closure1, R._EvaluateVisitor__evaluateMacroArguments_closure, R._EvaluateVisitor__evaluateMacroArguments_closure0, R._EvaluateVisitor__evaluateMacroArguments_closure1, R._EvaluateVisitor__evaluateMacroArguments_closure2, R._EvaluateVisitor__addRestMap_closure, R._EvaluateVisitor__addRestMap_closure0, R._EvaluateVisitor__verifyArguments_closure, R._EvaluateVisitor_visitStringExpression_closure, R._EvaluateVisitor_visitCssAtRule_closure, R._EvaluateVisitor_visitCssAtRule_closure0, R._EvaluateVisitor_visitCssKeyframeBlock_closure, R._EvaluateVisitor_visitCssKeyframeBlock_closure0, R._EvaluateVisitor_visitCssMediaRule_closure, R._EvaluateVisitor_visitCssMediaRule__closure, R._EvaluateVisitor_visitCssMediaRule___closure, R._EvaluateVisitor_visitCssMediaRule_closure0, R._EvaluateVisitor_visitCssStyleRule_closure, R._EvaluateVisitor_visitCssStyleRule__closure, R._EvaluateVisitor_visitCssStyleRule_closure0, R._EvaluateVisitor_visitCssSupportsRule_closure, R._EvaluateVisitor_visitCssSupportsRule__closure, R._EvaluateVisitor_visitCssSupportsRule_closure0, R._EvaluateVisitor__performInterpolation_closure, R._EvaluateVisitor__serialize_closure, R._EvaluateVisitor__stackTrace_closure, R._ImportedCssVisitor_visitCssAtRule_closure, R._ImportedCssVisitor_visitCssMediaRule_closure, R._ImportedCssVisitor_visitCssStyleRule_closure, R._ImportedCssVisitor_visitCssSupportsRule_closure, N.serialize_closure, N._SerializeVisitor_visitCssComment_closure, N._SerializeVisitor_visitCssAtRule_closure, N._SerializeVisitor_visitCssMediaRule_closure, N._SerializeVisitor_visitCssImport_closure, N._SerializeVisitor_visitCssImport__closure, N._SerializeVisitor_visitCssKeyframeBlock_closure, N._SerializeVisitor_visitCssStyleRule_closure, N._SerializeVisitor_visitCssSupportsRule_closure, N._SerializeVisitor_visitCssDeclaration_closure, N._SerializeVisitor_visitCssDeclaration_closure0, N._SerializeVisitor_visitList_closure, N._SerializeVisitor_visitList_closure0, N._SerializeVisitor_visitList_closure1, N._SerializeVisitor_visitMap_closure, N._SerializeVisitor_visitSelectorList_closure, N._SerializeVisitor__write_closure, N._SerializeVisitor__visitChildren_closure, N.withWarnCallback_closure, T.SingleMapping_SingleMapping$fromEntries_closure, T.SingleMapping_SingleMapping$fromEntries_closure0, T.SingleMapping_SingleMapping$fromEntries_closure1, T.SingleMapping_toJson_closure, T.SingleMapping_toJson_closure0, U.Highlighter__writeFirstLine_closure, U.Highlighter__writeFirstLine_closure0, U.Highlighter__writeFirstLine_closure1, U.Highlighter__writeFirstLine_closure2, U.Highlighter__writeIntermediateLines_closure, U.Highlighter__writeLastLine_closure, U.Highlighter__writeLastLine_closure0, U.Highlighter__writeLastLine_closure1, U.Highlighter__writeSidebar_closure, U.Chain_Chain$parse_closure, U.Chain_Chain$parse_closure0, U.Chain_toTrace_closure, U.Chain_toString_closure0, U.Chain_toString__closure0, U.Chain_toString_closure, U.Chain_toString__closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$parseV8_closure_parseLocation, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, T.LazyTrace_terse_closure, Y.Trace_Trace$from_closure, Y.Trace__parseVM_closure, Y.Trace$parseV8_closure, Y.Trace$parseV8_closure0, Y.Trace$parseJSCore_closure, Y.Trace$parseJSCore_closure0, Y.Trace$parseFirefox_closure, Y.Trace$parseFirefox_closure0, Y.Trace$parseFriendly_closure, Y.Trace$parseFriendly_closure0, Y.Trace_terse_closure, Y.Trace_foldFrames_closure, Y.Trace_foldFrames_closure0, Y.Trace_toString_closure0, Y.Trace_toString_closure, L._StreamTransformer_bind_closure, L._StreamTransformer_bind__closure, L._StreamTransformer_bind__closure1, L._StreamTransformer_bind__closure0, L._StreamTransformer_bind__closure2, R._debounceAggregate_closure, R._debounceAggregate__closure, R._debounceAggregate_closure0]);
  53398. _inherit(H.ConstantProtoMap, H.ConstantStringMap);
  53399. _inherit(H.Instantiation1, H.Instantiation);
  53400. _inheritMany(P.Error, [H.NullError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.CastErrorImplementation, H.RuntimeError, P.JsonUnsupportedObjectError, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]);
  53401. _inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]);
  53402. _inherit(P.MapBase, P.MapMixin);
  53403. _inheritMany(P.MapBase, [H.JsLinkedHashMap, P._HashMap, P.UnmodifiableMapBase, Z.MergedMapView]);
  53404. _inheritMany(P.IterableBase, [H._AllMatchesIterable, P._SyncStarIterable, O.EmptyUnmodifiableSet, F._PrefixedKeys, R._UnprefixedKeys]);
  53405. _inherit(H.NativeTypedArray, H.NativeTypedData);
  53406. _inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]);
  53407. _inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin);
  53408. _inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin);
  53409. _inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin);
  53410. _inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin);
  53411. _inheritMany(H.NativeTypedArrayOfDouble, [H.NativeFloat32List, H.NativeFloat64List]);
  53412. _inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]);
  53413. _inheritMany(P.Stream, [P._StreamImpl, P._ForwardingStream, Y._CompleterStream]);
  53414. _inherit(P._ControllerStream, P._StreamImpl);
  53415. _inherit(P._BroadcastStream, P._ControllerStream);
  53416. _inheritMany(P._BufferingStreamSubscription, [P._ControllerSubscription, P._ForwardingStreamSubscription]);
  53417. _inherit(P._BroadcastSubscription, P._ControllerSubscription);
  53418. _inherit(P._SyncBroadcastStreamController, P._BroadcastStreamController);
  53419. _inherit(P._AsyncCompleter, P._Completer);
  53420. _inheritMany(P._StreamController, [P._AsyncStreamController, P._SyncStreamController]);
  53421. _inherit(P._StreamControllerAddStreamState, P._AddStreamState);
  53422. _inheritMany(P._DelayedEvent, [P._DelayedData, P._DelayedError]);
  53423. _inherit(P._StreamImplEvents, P._PendingEvents);
  53424. _inherit(P._ExpandStream, P._ForwardingStream);
  53425. _inheritMany(P._Zone, [P._CustomZone, P._RootZone]);
  53426. _inheritMany(H.JsLinkedHashMap, [P._LinkedIdentityHashMap, P._LinkedCustomHashMap]);
  53427. _inherit(P._LinkedHashSet, P._SetBase);
  53428. _inherit(P._LinkedIdentityHashSet, P._LinkedHashSet);
  53429. _inheritMany(P.Codec, [P.Encoding, P.Base64Codec, P.JsonCodec]);
  53430. _inheritMany(P.Encoding, [P.AsciiCodec, P.Utf8Codec]);
  53431. _inheritMany(P.StreamTransformerBase, [P.Converter, L._StreamTransformer]);
  53432. _inheritMany(P.Converter, [P._UnicodeSubsetEncoder, P.Base64Encoder, P.JsonEncoder, P.Utf8Encoder, P.Utf8Decoder]);
  53433. _inherit(P.AsciiEncoder, P._UnicodeSubsetEncoder);
  53434. _inherit(P._BufferCachingBase64Encoder, P._Base64Encoder);
  53435. _inherit(P.ByteConversionSink, P.ChunkedConversionSink);
  53436. _inheritMany(P.ByteConversionSink, [P.ByteConversionSinkBase, P._Utf8StringSinkAdapter, P._Utf8ConversionSink]);
  53437. _inherit(P._Base64EncoderSink, P.ByteConversionSinkBase);
  53438. _inheritMany(P._Base64EncoderSink, [P._AsciiBase64EncoderSink, P._Utf8Base64EncoderSink]);
  53439. _inherit(P.JsonCyclicError, P.JsonUnsupportedObjectError);
  53440. _inherit(P._JsonStringStringifier, P._JsonStringifier);
  53441. _inherit(P.StringConversionSinkBase, P.StringConversionSinkMixin);
  53442. _inheritMany(P.StringConversionSinkBase, [P._StringSinkConversionSink, P._StringAdapterSink]);
  53443. _inherit(P._StringCallbackSink, P._StringSinkConversionSink);
  53444. _inheritMany(P.num, [P.double, P.int]);
  53445. _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]);
  53446. _inherit(P._DataUri, P._Uri);
  53447. _inherit(Z.ArgParserException, P.FormatException);
  53448. _inherit(Q.QueueList, Q._QueueList_Object_ListMixin);
  53449. _inherit(Q._CastQueueList, Q.QueueList);
  53450. _inheritMany(M._DelegatingIterableBase, [M.DelegatingIterable, M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin]);
  53451. _inherit(M.DelegatingSet, M.DelegatingIterable);
  53452. _inherit(L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, M.DelegatingSet);
  53453. _inherit(L.UnmodifiableSetView, L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin);
  53454. _inherit(M.MapKeySet, M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin);
  53455. _inherit(B.InternalStyle, O.Style);
  53456. _inheritMany(B.InternalStyle, [E.PosixStyle, F.UrlStyle, L.WindowsStyle]);
  53457. _inheritMany(B.AstNode, [B.CssNode, B.SassNode]);
  53458. _inheritMany(B.CssNode, [B.ModifiableCssNode, B.CssParentNode]);
  53459. _inheritMany(B.ModifiableCssNode, [B.ModifiableCssParentNode, R.ModifiableCssComment, L.ModifiableCssDeclaration, F.ModifiableCssImport]);
  53460. _inheritMany(B.ModifiableCssParentNode, [U.ModifiableCssAtRule, U.ModifiableCssKeyframeBlock, G.ModifiableCssMediaRule, X.ModifiableCssStyleRule, V.ModifiableCssStylesheet, B.ModifiableCssSupportsRule]);
  53461. _inherit(V.CssStylesheet, B.CssParentNode);
  53462. _inheritMany(M.ParentStatement, [V.AtRootRule, U.AtRule, M.CallableDeclaration, L.Declaration, V.EachRule, B.ForRule, G.MediaRule, X.StyleRule, V.Stylesheet, B.SupportsRule, G.WhileRule]);
  53463. _inheritMany(M.CallableDeclaration, [Y.ContentBlock, M.FunctionRule, T.MixinRule]);
  53464. _inherit(N.SupportsCondition, B.SassNode);
  53465. _inheritMany(T.Selector, [M.SimpleSelector, S.ComplexSelector, X.CompoundSelector, D.SelectorList]);
  53466. _inheritMany(M.SimpleSelector, [N.AttributeSelector, X.ClassSelector, N.IDSelector, M.ParentSelector, N.PlaceholderSelector, D.PseudoSelector, F.TypeSelector, N.UniversalSelector]);
  53467. _inherit(D.Callable, B.AsyncCallable);
  53468. _inheritMany(G.SourceSpanException, [E.SassException, G.SourceSpanFormatException]);
  53469. _inheritMany(E.SassException, [E.SassRuntimeException, E.SassFormatException]);
  53470. _inherit(A.MergedExtension, S.Extension);
  53471. _inherit(M.Importer, B.AsyncImporter);
  53472. _inherit(F.FilesystemImporter, M.Importer);
  53473. _inheritMany(G.Parser, [V.AtRootQueryParser, V.StylesheetParser, E.KeyframeSelectorParser, F.MediaQueryParser, T.SelectorParser]);
  53474. _inheritMany(V.StylesheetParser, [L.ScssParser, U.SassParser]);
  53475. _inherit(Q.CssParser, L.ScssParser);
  53476. _inheritMany(P.UnmodifiableMapBase, [K.LimitedMapView, F.PrefixedMapView, U.PublicMemberMapView, R.UnprefixedMapView]);
  53477. _inheritMany(F.Value, [D.SassList, Z.SassBoolean, K.SassColor, F.SassFunction, A.SassMap, O.SassNull, T.SassNumber, D.SassString]);
  53478. _inherit(D.SassArgumentList, D.SassList);
  53479. _inherit(L._FindImportsVisitor, D.RecursiveStatementVisitor);
  53480. _inherit(T.SingleMapping, T.Mapping);
  53481. _inherit(Y.FileLocation, D.SourceLocationMixin);
  53482. _inheritMany(Y.SourceSpanMixin, [Y._FileSpan, V.SourceSpanBase]);
  53483. _inherit(X.SourceSpanWithContext, V.SourceSpanBase);
  53484. _inherit(E.StringScannerException, G.SourceSpanFormatException);
  53485. _inheritMany(X.StringScanner, [Z.LineScanner, S.SpanScanner]);
  53486. _mixin(H.UnmodifiableListBase, H.UnmodifiableListMixin);
  53487. _mixin(H.__CastListBase__CastIterableBase_ListMixin, P.ListMixin);
  53488. _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin);
  53489. _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
  53490. _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin);
  53491. _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
  53492. _mixin(P._AsyncStreamController, P._AsyncStreamControllerDispatch);
  53493. _mixin(P._SyncStreamController, P._SyncStreamControllerDispatch);
  53494. _mixin(P.UnmodifiableMapBase, P._UnmodifiableMapMixin);
  53495. _mixin(P._ListBase_Object_ListMixin, P.ListMixin);
  53496. _mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin);
  53497. _mixin(Q._QueueList_Object_ListMixin, P.ListMixin);
  53498. _mixin(L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, L.UnmodifiableSetMixin);
  53499. _mixin(M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin, L.UnmodifiableSetMixin);
  53500. })();
  53501. var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: F.Value, args: [[P.List, F.Value]]}, {func: 1, ret: -1}, {func: 1, ret: D.SassString, args: [[P.List, F.Value]]}, {func: 1, ret: Z.SassBoolean, args: [[P.List, F.Value]]}, {func: 1, ret: T.SassNumber, args: [[P.List, F.Value]]}, {func: 1, ret: K.SassColor, args: [[P.List, F.Value]]}, {func: 1, ret: D.SassList, args: [[P.List, F.Value]]}, {func: 1, ret: P.bool, args: [P.Object]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: A.SassMap, args: [[P.List, F.Value]]}, {func: 1, ret: P.bool, args: [P.int]}, {func: 1, ret: P.bool, args: [P.num, P.num]}, {func: 1, args: [,]}, {func: 1, ret: P.String, args: [P.Object]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: P.Null, opt: [P.Object]}, {func: 1, ret: P.bool, args: [,]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.Null, opt: [,]}, {func: 1, ret: P.int, args: [P.num]}, {func: 1, ret: O.Statement}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, bounds: [P.Object], ret: [P.Set, 0]}, {func: 1, ret: [P.Future,,]}, {func: 1, ret: P.bool, args: [B.CssNode]}, {func: 1, ret: O.SassNull, args: [P.int]}, {func: 1, ret: P.Null, args: [[P.List, F.Value]]}, {func: 1, ret: -1, opt: [[P.Future,,]]}, {func: 1, ret: F.SassFunction, args: [[P.List, F.Value]]}, {func: 1, ret: [P.Future, P.String], args: [,]}, {func: 1, ret: -1, opt: [P.Object]}, {func: 1, ret: -1, args: [, P.StackTrace]}, {func: 1, ret: P.bool, args: [S.ComplexSelector]}, {func: 1, ret: P.num, args: [P.num]}, {func: 1, ret: S.Extension, args: [,]}, {func: 1, ret: [P.Iterable, P.String], args: [P.Object]}, {func: 1, ret: [P.Future, -1], args: [P.Object]}, {func: 1, ret: P.Null, args: [P.Object, P.StackTrace]}, {func: 1, ret: P.Null, args: [P.Object, P.Object]}, {func: 1, ret: P.Null, args: [P.Object]}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: T.SassNumber, args: [P.int]}, {func: 1, ret: P.String}, {func: 1, ret: O.Statement, named: {root: P.bool}}, {func: 1, ret: P.Uint8List, args: [P.int]}, {func: 1, ret: B.ArgumentDeclaration}, {func: 1, ret: T.Expression, named: {bracketList: P.bool, singleEquals: P.bool, until: {func: 1, ret: P.bool}}}, {func: 1, ret: T.NumberExpression}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: P.String, args: [,,]}, {func: 1, ret: [P.List, P.int], args: [P.int]}, {func: 1, ret: P.String, args: [,]}, {func: 1, ret: -1, args: [,], opt: [P.StackTrace]}, {func: 1, ret: -1, args: [F.CssMediaQuery]}, {func: 1, ret: Y.SourceFile, args: [P.int]}, {func: 1, ret: P.String, args: [P.String], named: {color: null}}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: P.int, args: [,,]}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, bounds: [P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}, 1]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}, 1, 2]}, {func: 1, bounds: [P.Object], ret: {func: 1, ret: 0}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: {func: 1, ret: 0, args: [1]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: {func: 1, ret: 0, args: [1, 2]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1, args: [P.Timer]}]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: -1, args: [P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, [P.Map,,,]]}, {func: 1, ret: P.bool, args: [,,]}, {func: 1, ret: P.int, args: [,]}, {func: 1, ret: P.int, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object, P.Object]}, {func: 1, ret: -1, args: [P.Object, P.StackTrace]}, {func: 1, bounds: [P.num], ret: 0, args: [0, 0]}, {func: 1, ret: P.bool, args: [M.SimpleSelector]}, {func: 1, ret: -1, args: [R.RenderOptions, {func: 1, ret: -1, args: [V.JSError, U.RenderResult]}]}, {func: 1, ret: U.RenderResult, args: [R.RenderOptions]}, {func: 1, ret: P.bool, args: [P.String]}, {func: 1, bounds: [P.Object], ret: -1, args: [P.Object, P.StackTrace, [P.EventSink, 0]]}, {func: 1, bounds: [P.Object], ret: [P.List, 0], args: [0, [P.List, 0]]}, {func: 1, ret: P.Object, args: [F.Value]}, {func: 1, ret: A.Frame, args: [,,]}], interceptorsByTag: null, leafTags: null};
  53502. (function constants() {
  53503. var makeConstList = hunkHelpers.makeConstList;
  53504. C.Interceptor_methods = J.Interceptor.prototype;
  53505. C.JSArray_methods = J.JSArray.prototype;
  53506. C.JSBool_methods = J.JSBool.prototype;
  53507. C.JSDouble_methods = J.JSDouble.prototype;
  53508. C.JSInt_methods = J.JSInt.prototype;
  53509. C.JSNumber_methods = J.JSNumber.prototype;
  53510. C.JSString_methods = J.JSString.prototype;
  53511. C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
  53512. C.NativeUint32List_methods = H.NativeUint32List.prototype;
  53513. C.NativeUint8List_methods = H.NativeUint8List.prototype;
  53514. C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
  53515. C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
  53516. C.AsciiEncoder_127 = new P.AsciiEncoder(127);
  53517. C.C_EmptyUnmodifiableSet0 = new O.EmptyUnmodifiableSet([P.String]);
  53518. C.AtRootQuery_UsS = new V.AtRootQuery(false, C.C_EmptyUnmodifiableSet0, false, true);
  53519. C.AttributeOperator_4L5 = new N.AttributeOperator("^=");
  53520. C.AttributeOperator_AuK = new N.AttributeOperator("|=");
  53521. C.AttributeOperator_fz1 = new N.AttributeOperator("~=");
  53522. C.AttributeOperator_gqZ = new N.AttributeOperator("*=");
  53523. C.AttributeOperator_mOX = new N.AttributeOperator("$=");
  53524. C.AttributeOperator_sEs = new N.AttributeOperator("=");
  53525. C.BinaryOperator_1da = new V.BinaryOperator("greater than or equals", ">=", 4);
  53526. C.BinaryOperator_2ad = new V.BinaryOperator("modulo", "%", 6);
  53527. C.BinaryOperator_33h = new V.BinaryOperator("less than or equals", "<=", 4);
  53528. C.BinaryOperator_8qt = new V.BinaryOperator("less than", "<", 4);
  53529. C.BinaryOperator_AcR = new V.BinaryOperator("greater than", ">", 4);
  53530. C.BinaryOperator_AcR0 = new V.BinaryOperator("plus", "+", 5);
  53531. C.BinaryOperator_O1M = new V.BinaryOperator("times", "*", 6);
  53532. C.BinaryOperator_RTB = new V.BinaryOperator("divided by", "/", 6);
  53533. C.BinaryOperator_YlX = new V.BinaryOperator("equals", "==", 3);
  53534. C.BinaryOperator_and_and_2 = new V.BinaryOperator("and", "and", 2);
  53535. C.BinaryOperator_i5H = new V.BinaryOperator("not equals", "!=", 3);
  53536. C.BinaryOperator_iyO = new V.BinaryOperator("minus", "-", 5);
  53537. C.BinaryOperator_kjl = new V.BinaryOperator("single equals", "=", 0);
  53538. C.BinaryOperator_or_or_1 = new V.BinaryOperator("or", "or", 1);
  53539. C.C_AsciiCodec = new P.AsciiCodec();
  53540. C.C_AsciiGlyphSet = new A.AsciiGlyphSet();
  53541. C.C_Base64Encoder = new P.Base64Encoder();
  53542. C.C_Base64Codec = new P.Base64Codec();
  53543. C.C_DefaultEquality = new U.DefaultEquality();
  53544. C.C_EmptyExtender = new T.EmptyExtender();
  53545. C.C_EmptyIterator = new H.EmptyIterator();
  53546. C.C_EmptyUnmodifiableSet = new O.EmptyUnmodifiableSet([M.SimpleSelector]);
  53547. C.C_JS_CONST = function getTagFallback(o) {
  53548. var s = Object.prototype.toString.call(o);
  53549. return s.substring(8, s.length - 1);
  53550. };
  53551. C.C_JS_CONST0 = function() {
  53552. var toStringFunction = Object.prototype.toString;
  53553. function getTag(o) {
  53554. var s = toStringFunction.call(o);
  53555. return s.substring(8, s.length - 1);
  53556. }
  53557. function getUnknownTag(object, tag) {
  53558. if (/^HTML[A-Z].*Element$/.test(tag)) {
  53559. var name = toStringFunction.call(object);
  53560. if (name == "[object Object]") return null;
  53561. return "HTMLElement";
  53562. }
  53563. }
  53564. function getUnknownTagGenericBrowser(object, tag) {
  53565. if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
  53566. return getUnknownTag(object, tag);
  53567. }
  53568. function prototypeForTag(tag) {
  53569. if (typeof window == "undefined") return null;
  53570. if (typeof window[tag] == "undefined") return null;
  53571. var constructor = window[tag];
  53572. if (typeof constructor != "function") return null;
  53573. return constructor.prototype;
  53574. }
  53575. function discriminator(tag) { return null; }
  53576. var isBrowser = typeof navigator == "object";
  53577. return {
  53578. getTag: getTag,
  53579. getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
  53580. prototypeForTag: prototypeForTag,
  53581. discriminator: discriminator };
  53582. };
  53583. C.C_JS_CONST6 = function(getTagFallback) {
  53584. return function(hooks) {
  53585. if (typeof navigator != "object") return hooks;
  53586. var ua = navigator.userAgent;
  53587. if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
  53588. if (ua.indexOf("Chrome") >= 0) {
  53589. function confirm(p) {
  53590. return typeof window == "object" && window[p] && window[p].name == p;
  53591. }
  53592. if (confirm("Window") && confirm("HTMLElement")) return hooks;
  53593. }
  53594. hooks.getTag = getTagFallback;
  53595. };
  53596. };
  53597. C.C_JS_CONST1 = function(hooks) {
  53598. if (typeof dartExperimentalFixupGetTag != "function") return hooks;
  53599. hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
  53600. };
  53601. C.C_JS_CONST2 = function(hooks) {
  53602. var getTag = hooks.getTag;
  53603. var prototypeForTag = hooks.prototypeForTag;
  53604. function getTagFixed(o) {
  53605. var tag = getTag(o);
  53606. if (tag == "Document") {
  53607. if (!!o.xmlVersion) return "!Document";
  53608. return "!HTMLDocument";
  53609. }
  53610. return tag;
  53611. }
  53612. function prototypeForTagFixed(tag) {
  53613. if (tag == "Document") return null;
  53614. return prototypeForTag(tag);
  53615. }
  53616. hooks.getTag = getTagFixed;
  53617. hooks.prototypeForTag = prototypeForTagFixed;
  53618. };
  53619. C.C_JS_CONST5 = function(hooks) {
  53620. var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
  53621. if (userAgent.indexOf("Firefox") == -1) return hooks;
  53622. var getTag = hooks.getTag;
  53623. var quickMap = {
  53624. "BeforeUnloadEvent": "Event",
  53625. "DataTransfer": "Clipboard",
  53626. "GeoGeolocation": "Geolocation",
  53627. "Location": "!Location",
  53628. "WorkerMessageEvent": "MessageEvent",
  53629. "XMLDocument": "!Document"};
  53630. function getTagFirefox(o) {
  53631. var tag = getTag(o);
  53632. return quickMap[tag] || tag;
  53633. }
  53634. hooks.getTag = getTagFirefox;
  53635. };
  53636. C.C_JS_CONST4 = function(hooks) {
  53637. var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
  53638. if (userAgent.indexOf("Trident/") == -1) return hooks;
  53639. var getTag = hooks.getTag;
  53640. var quickMap = {
  53641. "BeforeUnloadEvent": "Event",
  53642. "DataTransfer": "Clipboard",
  53643. "HTMLDDElement": "HTMLElement",
  53644. "HTMLDTElement": "HTMLElement",
  53645. "HTMLPhraseElement": "HTMLElement",
  53646. "Position": "Geoposition"
  53647. };
  53648. function getTagIE(o) {
  53649. var tag = getTag(o);
  53650. var newTag = quickMap[tag];
  53651. if (newTag) return newTag;
  53652. if (tag == "Object") {
  53653. if (window.DataView && (o instanceof window.DataView)) return "DataView";
  53654. }
  53655. return tag;
  53656. }
  53657. function prototypeForTagIE(tag) {
  53658. var constructor = window[tag];
  53659. if (constructor == null) return null;
  53660. return constructor.prototype;
  53661. }
  53662. hooks.getTag = getTagIE;
  53663. hooks.prototypeForTag = prototypeForTagIE;
  53664. };
  53665. C.C_JS_CONST3 = function(hooks) { return hooks; }
  53666. ;
  53667. C.C_JsonCodec = new P.JsonCodec();
  53668. C.C_ListEquality = new U.ListEquality();
  53669. C.C_MapEquality = new U.MapEquality();
  53670. C.C_OutOfMemoryError = new P.OutOfMemoryError();
  53671. C.C_SassNull = new O.SassNull();
  53672. C.C_UnicodeGlyphSet = new K.UnicodeGlyphSet();
  53673. C.C_Utf8Codec = new P.Utf8Codec();
  53674. C.C_Utf8Encoder = new P.Utf8Encoder();
  53675. C.C__DelayedDone = new P._DelayedDone();
  53676. C.C__JSRandom = new P._JSRandom();
  53677. C.C__RootZone = new P._RootZone();
  53678. C.ChangeType_add = new E.ChangeType("add");
  53679. C.ChangeType_modify = new E.ChangeType("modify");
  53680. C.ChangeType_remove = new E.ChangeType("remove");
  53681. C.Combinator_CzM = new S.Combinator("~");
  53682. C.Combinator_sgq = new S.Combinator(">");
  53683. C.Combinator_uzg = new S.Combinator("+");
  53684. C.Duration_0 = new P.Duration(0);
  53685. C.ExtendMode_allTargets = new L.ExtendMode("allTargets");
  53686. C.ExtendMode_normal = new L.ExtendMode("normal");
  53687. C.ExtendMode_replace = new L.ExtendMode("replace");
  53688. C.JsonEncoder_null = new P.JsonEncoder(null);
  53689. C.LineFeed_D6m = new N.LineFeed("lf", "\n");
  53690. C.LineFeed_Mss = new N.LineFeed("crlf", "\r\n");
  53691. C.LineFeed_a1Y = new N.LineFeed("lfcr", "\n\r");
  53692. C.LineFeed_kMT = new N.LineFeed("cr", "\r");
  53693. C.ListSeparator_comma = new D.ListSeparator("comma");
  53694. C.ListSeparator_space = new D.ListSeparator("space");
  53695. C.ListSeparator_undecided = new D.ListSeparator("undecided");
  53696. C.List_127_2047_65535_1114111 = H.setRuntimeTypeInfo(makeConstList([127, 2047, 65535, 1114111]), [P.int]);
  53697. C.List_2Vk = H.setRuntimeTypeInfo(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), [P.int]);
  53698. C.List_CVk = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), [P.int]);
  53699. C.List_JYB = H.setRuntimeTypeInfo(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), [P.int]);
  53700. C.List_empty8 = H.setRuntimeTypeInfo(makeConstList([]), [Z.Argument]);
  53701. C.List_empty10 = H.setRuntimeTypeInfo(makeConstList([]), [B.AsyncCallable]);
  53702. C.List_empty13 = H.setRuntimeTypeInfo(makeConstList([]), [B.AsyncImporter]);
  53703. C.List_empty5 = H.setRuntimeTypeInfo(makeConstList([]), [S.ComplexSelector]);
  53704. C.List_empty1 = H.setRuntimeTypeInfo(makeConstList([]), [B.CssNode]);
  53705. C.List_empty7 = H.setRuntimeTypeInfo(makeConstList([]), [T.Expression]);
  53706. C.List_empty3 = H.setRuntimeTypeInfo(makeConstList([]), [S.Extension]);
  53707. C.List_empty9 = H.setRuntimeTypeInfo(makeConstList([]), [M.Importer]);
  53708. C.List_empty12 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, B.AsyncCallable]]);
  53709. C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, D.Callable]]);
  53710. C.List_empty4 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, P.Null]]);
  53711. C.List_empty14 = H.setRuntimeTypeInfo(makeConstList([]), [P.Null]);
  53712. C.List_empty15 = H.setRuntimeTypeInfo(makeConstList([]), [O.Statement]);
  53713. C.List_empty = H.setRuntimeTypeInfo(makeConstList([]), [P.String]);
  53714. C.List_empty6 = H.setRuntimeTypeInfo(makeConstList([]), [F.Value]);
  53715. C.List_empty2 = H.setRuntimeTypeInfo(makeConstList([]), [P.int]);
  53716. C.List_empty11 = makeConstList([]);
  53717. C.List_gRj = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), [P.int]);
  53718. C.List_nxB = H.setRuntimeTypeInfo(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), [P.int]);
  53719. C.List_qFt = H.setRuntimeTypeInfo(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), [P.int]);
  53720. C.List_qNA = H.setRuntimeTypeInfo(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), [P.int]);
  53721. C.List_qg40 = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), [P.int]);
  53722. C.List_qg4 = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), [P.int]);
  53723. C.Map_empty2 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, B.AstNode]);
  53724. C.Map_empty4 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, T.Expression]);
  53725. C.Map_empty8 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, [G.Module, B.AsyncCallable]]);
  53726. C.Map_empty0 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, [G.Module, D.Callable]]);
  53727. C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, Y.SourceFile]);
  53728. C.Map_empty9 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, P.String]);
  53729. C.Map_empty3 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, F.Value]);
  53730. C.Map_empty7 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, E._ConfiguredValue0]);
  53731. C.Map_empty1 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, R._ConfiguredValue]);
  53732. C.List_empty16 = H.setRuntimeTypeInfo(makeConstList([]), [P.Symbol0]);
  53733. C.Map_empty6 = new H.ConstantStringMap(0, {}, C.List_empty16, [P.Symbol0, null]);
  53734. C.Map_empty5 = new H.ConstantStringMap(0, {}, C.List_empty11, [null, null]);
  53735. C.OptionType_YwU = new G.OptionType("OptionType.single");
  53736. C.OptionType_nMZ = new G.OptionType("OptionType.flag");
  53737. C.OptionType_qyr = new G.OptionType("OptionType.multiple");
  53738. C.OutputStyle_compressed = new N.OutputStyle("compressed");
  53739. C.OutputStyle_expanded = new N.OutputStyle("expanded");
  53740. C.SassBoolean_false = new Z.SassBoolean(false);
  53741. C.SassBoolean_true = new Z.SassBoolean(true);
  53742. C.SassList_lmy = new D.SassList(C.List_empty6, C.ListSeparator_comma, false);
  53743. C.Map_empty10 = new H.ConstantStringMap(0, {}, C.List_empty6, [F.Value, F.Value]);
  53744. C.SassMap_Map_empty = new A.SassMap(C.Map_empty10);
  53745. C.StderrLogger_false = new S.StderrLogger(false);
  53746. C.Symbol__warn = new H.Symbol("_warn");
  53747. C.Symbol_call = new H.Symbol("call");
  53748. C.Syntax_CSS = new M.Syntax("CSS");
  53749. C.Syntax_SCSS = new M.Syntax("SCSS");
  53750. C.Syntax_Sass = new M.Syntax("Sass");
  53751. C.List_empty17 = H.setRuntimeTypeInfo(makeConstList([]), [[F.CssValue, D.SelectorList]]);
  53752. C.Map_empty11 = new H.ConstantStringMap(0, {}, C.List_empty17, [[F.CssValue, D.SelectorList], [F.ModifiableCssValue, D.SelectorList]]);
  53753. C.Tuple2_EmptyExtender_Map_empty = new S.Tuple2(C.C_EmptyExtender, C.Map_empty11, [F.Extender, [P.Map, [F.CssValue, D.SelectorList], [F.ModifiableCssValue, D.SelectorList]]]);
  53754. C.UnaryOperator_U4G = new X.UnaryOperator("minus", "-");
  53755. C.UnaryOperator_j2w = new X.UnaryOperator("plus", "+");
  53756. C.UnaryOperator_not_not = new X.UnaryOperator("not", "not");
  53757. C.UnaryOperator_zDx = new X.UnaryOperator("divide", "/");
  53758. C._IterationMarker_null_2 = new P._IterationMarker(null, 2);
  53759. C._PathDirection_8Gl = new M._PathDirection("at root");
  53760. C._PathDirection_988 = new M._PathDirection("below root");
  53761. C._PathDirection_FIw = new M._PathDirection("reaches root");
  53762. C._PathDirection_ZGD = new M._PathDirection("above root");
  53763. C._PathRelation_different = new M._PathRelation("different");
  53764. C._PathRelation_equal = new M._PathRelation("equal");
  53765. C._PathRelation_inconclusive = new M._PathRelation("inconclusive");
  53766. C._PathRelation_within = new M._PathRelation("within");
  53767. C._SingletonCssMediaQueryMergeResult_empty = new F._SingletonCssMediaQueryMergeResult("empty");
  53768. C._SingletonCssMediaQueryMergeResult_unrepresentable = new F._SingletonCssMediaQueryMergeResult("unrepresentable");
  53769. C._StreamGroupState_canceled = new L._StreamGroupState("canceled");
  53770. C._StreamGroupState_dormant = new L._StreamGroupState("dormant");
  53771. C._StreamGroupState_listening = new L._StreamGroupState("listening");
  53772. C._StreamGroupState_paused = new L._StreamGroupState("paused");
  53773. C._ZoneFunction_3bB = new P._ZoneFunction(C.C__RootZone, P.async___rootCreatePeriodicTimer$closure());
  53774. C._ZoneFunction_7G2 = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterBinaryCallback$closure());
  53775. C._ZoneFunction_Eeh = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterUnaryCallback$closure());
  53776. C._ZoneFunction_NMc = new P._ZoneFunction(C.C__RootZone, P.async___rootHandleUncaughtError$closure());
  53777. C._ZoneFunction__RootZone__rootCreateTimer = new P._ZoneFunction(C.C__RootZone, P.async___rootCreateTimer$closure());
  53778. C._ZoneFunction__RootZone__rootErrorCallback = new P._ZoneFunction(C.C__RootZone, P.async___rootErrorCallback$closure());
  53779. C._ZoneFunction__RootZone__rootFork = new P._ZoneFunction(C.C__RootZone, P.async___rootFork$closure());
  53780. C._ZoneFunction__RootZone__rootPrint = new P._ZoneFunction(C.C__RootZone, P.async___rootPrint$closure());
  53781. C._ZoneFunction__RootZone__rootRegisterCallback = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterCallback$closure());
  53782. C._ZoneFunction__RootZone__rootRun = new P._ZoneFunction(C.C__RootZone, P.async___rootRun$closure());
  53783. C._ZoneFunction__RootZone__rootRunBinary = new P._ZoneFunction(C.C__RootZone, P.async___rootRunBinary$closure());
  53784. C._ZoneFunction__RootZone__rootRunUnary = new P._ZoneFunction(C.C__RootZone, P.async___rootRunUnary$closure());
  53785. C._ZoneFunction__RootZone__rootScheduleMicrotask = new P._ZoneFunction(C.C__RootZone, P.async___rootScheduleMicrotask$closure());
  53786. C._ZoneSpecification_ALf = new P._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null);
  53787. })();
  53788. (function staticFields() {
  53789. $.printToZone = null;
  53790. $.Closure_functionCounter = 0;
  53791. $.BoundClosure_selfFieldNameCache = null;
  53792. $.BoundClosure_receiverFieldNameCache = null;
  53793. $.getTagFunction = null;
  53794. $.alternateTagFunction = null;
  53795. $.prototypeForTagFunction = null;
  53796. $.dispatchRecordsForInstanceTags = null;
  53797. $.interceptorsForUncacheableTags = null;
  53798. $.initNativeDispatchFlag = null;
  53799. $._nextCallback = null;
  53800. $._lastCallback = null;
  53801. $._lastPriorityCallback = null;
  53802. $._isInCallbackLoop = false;
  53803. $.Zone__current = C.C__RootZone;
  53804. $._RootZone__rootDelegate = null;
  53805. $._toStringVisiting = [];
  53806. $._currentUriBase = null;
  53807. $._current = null;
  53808. $._subselectorPseudos = P.LinkedHashSet_LinkedHashSet$_literal(["matches", "any", "nth-child", "nth-last-child"], P.String);
  53809. $._features = P.LinkedHashSet_LinkedHashSet$_literal(["global-variable-shadowing", "extend-selector-pseudoclass", "units-level-3", "at-error", "custom-property"], P.String);
  53810. $._inUseRule = false;
  53811. $._selectorPseudoClasses = P.LinkedHashSet_LinkedHashSet$_literal(["not", "matches", "current", "any", "has", "host", "host-context"], P.String);
  53812. $._selectorPseudoElements = P.LinkedHashSet_LinkedHashSet$_literal(["slotted"], P.String);
  53813. $._glyphs = C.C_UnicodeGlyphSet;
  53814. })();
  53815. (function lazyInitializers() {
  53816. var _lazy = hunkHelpers.lazy;
  53817. _lazy($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() {
  53818. return H.getIsolateAffinityTag("_$dart_dartClosure");
  53819. });
  53820. _lazy($, "JS_INTEROP_INTERCEPTOR_TAG", "$get$JS_INTEROP_INTERCEPTOR_TAG", function() {
  53821. return H.getIsolateAffinityTag("_$dart_js");
  53822. });
  53823. _lazy($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() {
  53824. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({
  53825. toString: function() {
  53826. return "$receiver$";
  53827. }
  53828. }));
  53829. });
  53830. _lazy($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() {
  53831. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null,
  53832. toString: function() {
  53833. return "$receiver$";
  53834. }
  53835. }));
  53836. });
  53837. _lazy($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() {
  53838. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
  53839. });
  53840. _lazy($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() {
  53841. return H.TypeErrorDecoder_extractPattern(function() {
  53842. var $argumentsExpr$ = '$arguments$';
  53843. try {
  53844. null.$method$($argumentsExpr$);
  53845. } catch (e) {
  53846. return e.message;
  53847. }
  53848. }());
  53849. });
  53850. _lazy($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() {
  53851. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
  53852. });
  53853. _lazy($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
  53854. return H.TypeErrorDecoder_extractPattern(function() {
  53855. var $argumentsExpr$ = '$arguments$';
  53856. try {
  53857. (void 0).$method$($argumentsExpr$);
  53858. } catch (e) {
  53859. return e.message;
  53860. }
  53861. }());
  53862. });
  53863. _lazy($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() {
  53864. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
  53865. });
  53866. _lazy($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
  53867. return H.TypeErrorDecoder_extractPattern(function() {
  53868. try {
  53869. null.$method$;
  53870. } catch (e) {
  53871. return e.message;
  53872. }
  53873. }());
  53874. });
  53875. _lazy($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() {
  53876. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
  53877. });
  53878. _lazy($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
  53879. return H.TypeErrorDecoder_extractPattern(function() {
  53880. try {
  53881. (void 0).$method$;
  53882. } catch (e) {
  53883. return e.message;
  53884. }
  53885. }());
  53886. });
  53887. _lazy($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() {
  53888. return P._AsyncRun__initializeScheduleImmediate();
  53889. });
  53890. _lazy($, "Future__nullFuture", "$get$Future__nullFuture", function() {
  53891. return P._Future$zoneValue(null, C.C__RootZone, P.Null);
  53892. });
  53893. _lazy($, "Future__falseFuture", "$get$Future__falseFuture", function() {
  53894. return P._Future$zoneValue(false, C.C__RootZone, P.bool);
  53895. });
  53896. _lazy($, "_RootZone__rootMap", "$get$_RootZone__rootMap", function() {
  53897. return P.HashMap_HashMap(null, null);
  53898. });
  53899. _lazy($, "Utf8Decoder__decoder", "$get$Utf8Decoder__decoder", function() {
  53900. return P.Utf8Decoder__makeDecoder();
  53901. });
  53902. _lazy($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", function() {
  53903. return H.NativeInt8List__create1(H._ensureNativeList(H.setRuntimeTypeInfo([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], [P.int])));
  53904. });
  53905. _lazy($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", function() {
  53906. return typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32";
  53907. });
  53908. _lazy($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", function() {
  53909. return P.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", false);
  53910. });
  53911. _lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", function() {
  53912. return new Error().stack != void 0;
  53913. });
  53914. _lazy($, "_scannerTables", "$get$_scannerTables", function() {
  53915. return P._createTables();
  53916. });
  53917. _lazy($, "Option__invalidChars", "$get$Option__invalidChars", function() {
  53918. return P.RegExp_RegExp("[ \\t\\r\\n\"'\\\\/]", false);
  53919. });
  53920. _lazy($, "_soloOpt", "$get$_soloOpt", function() {
  53921. return P.RegExp_RegExp("^-([a-zA-Z0-9])$", false);
  53922. });
  53923. _lazy($, "_abbrOpt", "$get$_abbrOpt", function() {
  53924. return P.RegExp_RegExp("^-([a-zA-Z0-9]+)(.*)$", false);
  53925. });
  53926. _lazy($, "_longOpt", "$get$_longOpt", function() {
  53927. return P.RegExp_RegExp("^--([a-zA-Z\\-_0-9]+)(=(.*))?$", false);
  53928. });
  53929. _lazy($, "alwaysValid", "$get$alwaysValid", function() {
  53930. return new Q.closure130();
  53931. });
  53932. _lazy($, "readline", "$get$readline", function() {
  53933. return self.readline;
  53934. });
  53935. _lazy($, "windows", "$get$windows", function() {
  53936. return M.Context_Context($.$get$Style_windows());
  53937. });
  53938. _lazy($, "url", "$get$url", function() {
  53939. return M.Context_Context($.$get$Style_url());
  53940. });
  53941. _lazy($, "context", "$get$context", function() {
  53942. return new M.Context($.$get$Style_platform(), null);
  53943. });
  53944. _lazy($, "Style_posix", "$get$Style_posix", function() {
  53945. return new E.PosixStyle(P.RegExp_RegExp("/", false), P.RegExp_RegExp("[^/]$", false), P.RegExp_RegExp("^/", false));
  53946. });
  53947. _lazy($, "Style_windows", "$get$Style_windows", function() {
  53948. return new L.WindowsStyle(P.RegExp_RegExp("[/\\\\]", false), P.RegExp_RegExp("[^/\\\\]$", false), P.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", false), P.RegExp_RegExp("^[/\\\\](?![/\\\\])", false));
  53949. });
  53950. _lazy($, "Style_url", "$get$Style_url", function() {
  53951. return new F.UrlStyle(P.RegExp_RegExp("/", false), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", false), P.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", false), P.RegExp_RegExp("^/", false));
  53952. });
  53953. _lazy($, "Style_platform", "$get$Style_platform", function() {
  53954. return O.Style__getPlatformStyle();
  53955. });
  53956. _lazy($, "IfExpression_declaration", "$get$IfExpression_declaration", function() {
  53957. return B.ArgumentDeclaration_ArgumentDeclaration$parse("$condition, $if-true, $if-false");
  53958. });
  53959. _lazy($, "colorsByName", "$get$colorsByName", function() {
  53960. var _null = null;
  53961. return P.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", K.SassColor$rgb(154, 205, 50, _null, _null), "yellow", K.SassColor$rgb(255, 255, 0, _null, _null), "whitesmoke", K.SassColor$rgb(245, 245, 245, _null, _null), "white", K.SassColor$rgb(255, 255, 255, _null, _null), "wheat", K.SassColor$rgb(245, 222, 179, _null, _null), "violet", K.SassColor$rgb(238, 130, 238, _null, _null), "turquoise", K.SassColor$rgb(64, 224, 208, _null, _null), "transparent", K.SassColor$rgb(0, 0, 0, 0, _null), "tomato", K.SassColor$rgb(255, 99, 71, _null, _null), "thistle", K.SassColor$rgb(216, 191, 216, _null, _null), "teal", K.SassColor$rgb(0, 128, 128, _null, _null), "tan", K.SassColor$rgb(210, 180, 140, _null, _null), "steelblue", K.SassColor$rgb(70, 130, 180, _null, _null), "springgreen", K.SassColor$rgb(0, 255, 127, _null, _null), "snow", K.SassColor$rgb(255, 250, 250, _null, _null), "slategrey", K.SassColor$rgb(112, 128, 144, _null, _null), "slategray", K.SassColor$rgb(112, 128, 144, _null, _null), "slateblue", K.SassColor$rgb(106, 90, 205, _null, _null), "skyblue", K.SassColor$rgb(135, 206, 235, _null, _null), "silver", K.SassColor$rgb(192, 192, 192, _null, _null), "sienna", K.SassColor$rgb(160, 82, 45, _null, _null), "seashell", K.SassColor$rgb(255, 245, 238, _null, _null), "seagreen", K.SassColor$rgb(46, 139, 87, _null, _null), "sandybrown", K.SassColor$rgb(244, 164, 96, _null, _null), "salmon", K.SassColor$rgb(250, 128, 114, _null, _null), "saddlebrown", K.SassColor$rgb(139, 69, 19, _null, _null), "royalblue", K.SassColor$rgb(65, 105, 225, _null, _null), "rosybrown", K.SassColor$rgb(188, 143, 143, _null, _null), "red", K.SassColor$rgb(255, 0, 0, _null, _null), "rebeccapurple", K.SassColor$rgb(102, 51, 153, _null, _null), "purple", K.SassColor$rgb(128, 0, 128, _null, _null), "powderblue", K.SassColor$rgb(176, 224, 230, _null, _null), "plum", K.SassColor$rgb(221, 160, 221, _null, _null), "pink", K.SassColor$rgb(255, 192, 203, _null, _null), "peru", K.SassColor$rgb(205, 133, 63, _null, _null), "peachpuff", K.SassColor$rgb(255, 218, 185, _null, _null), "papayawhip", K.SassColor$rgb(255, 239, 213, _null, _null), "palevioletred", K.SassColor$rgb(219, 112, 147, _null, _null), "paleturquoise", K.SassColor$rgb(175, 238, 238, _null, _null), "palegreen", K.SassColor$rgb(152, 251, 152, _null, _null), "palegoldenrod", K.SassColor$rgb(238, 232, 170, _null, _null), "orchid", K.SassColor$rgb(218, 112, 214, _null, _null), "orangered", K.SassColor$rgb(255, 69, 0, _null, _null), "orange", K.SassColor$rgb(255, 165, 0, _null, _null), "olivedrab", K.SassColor$rgb(107, 142, 35, _null, _null), "olive", K.SassColor$rgb(128, 128, 0, _null, _null), "oldlace", K.SassColor$rgb(253, 245, 230, _null, _null), "navy", K.SassColor$rgb(0, 0, 128, _null, _null), "navajowhite", K.SassColor$rgb(255, 222, 173, _null, _null), "moccasin", K.SassColor$rgb(255, 228, 181, _null, _null), "mistyrose", K.SassColor$rgb(255, 228, 225, _null, _null), "mintcream", K.SassColor$rgb(245, 255, 250, _null, _null), "midnightblue", K.SassColor$rgb(25, 25, 112, _null, _null), "mediumvioletred", K.SassColor$rgb(199, 21, 133, _null, _null), "mediumturquoise", K.SassColor$rgb(72, 209, 204, _null, _null), "mediumspringgreen", K.SassColor$rgb(0, 250, 154, _null, _null), "mediumslateblue", K.SassColor$rgb(123, 104, 238, _null, _null), "mediumseagreen", K.SassColor$rgb(60, 179, 113, _null, _null), "mediumpurple", K.SassColor$rgb(147, 112, 219, _null, _null), "mediumorchid", K.SassColor$rgb(186, 85, 211, _null, _null), "mediumblue", K.SassColor$rgb(0, 0, 205, _null, _null), "mediumaquamarine", K.SassColor$rgb(102, 205, 170, _null, _null), "maroon", K.SassColor$rgb(128, 0, 0, _null, _null), "magenta", K.SassColor$rgb(255, 0, 255, _null, _null), "linen", K.SassColor$rgb(250, 240, 230, _null, _null), "limegreen", K.SassColor$rgb(50, 205, 50, _null, _null), "lime", K.SassColor$rgb(0, 255, 0, _null, _null), "lightyellow", K.SassColor$rgb(255, 255, 224, _null, _null), "lightsteelblue", K.SassColor$rgb(176, 196, 222, _null, _null), "lightslategrey", K.SassColor$rgb(119, 136, 153, _null, _null), "lightslategray", K.SassColor$rgb(119, 136, 153, _null, _null), "lightskyblue", K.SassColor$rgb(135, 206, 250, _null, _null), "lightseagreen", K.SassColor$rgb(32, 178, 170, _null, _null), "lightsalmon", K.SassColor$rgb(255, 160, 122, _null, _null), "lightpink", K.SassColor$rgb(255, 182, 193, _null, _null), "lightgrey", K.SassColor$rgb(211, 211, 211, _null, _null), "lightgreen", K.SassColor$rgb(144, 238, 144, _null, _null), "lightgray", K.SassColor$rgb(211, 211, 211, _null, _null), "lightgoldenrodyellow", K.SassColor$rgb(250, 250, 210, _null, _null), "lightcyan", K.SassColor$rgb(224, 255, 255, _null, _null), "lightcoral", K.SassColor$rgb(240, 128, 128, _null, _null), "lightblue", K.SassColor$rgb(173, 216, 230, _null, _null), "lemonchiffon", K.SassColor$rgb(255, 250, 205, _null, _null), "lawngreen", K.SassColor$rgb(124, 252, 0, _null, _null), "lavenderblush", K.SassColor$rgb(255, 240, 245, _null, _null), "lavender", K.SassColor$rgb(230, 230, 250, _null, _null), "khaki", K.SassColor$rgb(240, 230, 140, _null, _null), "ivory", K.SassColor$rgb(255, 255, 240, _null, _null), "indigo", K.SassColor$rgb(75, 0, 130, _null, _null), "indianred", K.SassColor$rgb(205, 92, 92, _null, _null), "hotpink", K.SassColor$rgb(255, 105, 180, _null, _null), "honeydew", K.SassColor$rgb(240, 255, 240, _null, _null), "grey", K.SassColor$rgb(128, 128, 128, _null, _null), "greenyellow", K.SassColor$rgb(173, 255, 47, _null, _null), "green", K.SassColor$rgb(0, 128, 0, _null, _null), "gray", K.SassColor$rgb(128, 128, 128, _null, _null), "goldenrod", K.SassColor$rgb(218, 165, 32, _null, _null), "gold", K.SassColor$rgb(255, 215, 0, _null, _null), "ghostwhite", K.SassColor$rgb(248, 248, 255, _null, _null), "gainsboro", K.SassColor$rgb(220, 220, 220, _null, _null), "fuchsia", K.SassColor$rgb(255, 0, 255, _null, _null), "forestgreen", K.SassColor$rgb(34, 139, 34, _null, _null), "floralwhite", K.SassColor$rgb(255, 250, 240, _null, _null), "firebrick", K.SassColor$rgb(178, 34, 34, _null, _null), "dodgerblue", K.SassColor$rgb(30, 144, 255, _null, _null), "dimgrey", K.SassColor$rgb(105, 105, 105, _null, _null), "dimgray", K.SassColor$rgb(105, 105, 105, _null, _null), "deepskyblue", K.SassColor$rgb(0, 191, 255, _null, _null), "deeppink", K.SassColor$rgb(255, 20, 147, _null, _null), "darkviolet", K.SassColor$rgb(148, 0, 211, _null, _null), "darkturquoise", K.SassColor$rgb(0, 206, 209, _null, _null), "darkslategrey", K.SassColor$rgb(47, 79, 79, _null, _null), "darkslategray", K.SassColor$rgb(47, 79, 79, _null, _null), "darkslateblue", K.SassColor$rgb(72, 61, 139, _null, _null), "darkseagreen", K.SassColor$rgb(143, 188, 143, _null, _null), "darksalmon", K.SassColor$rgb(233, 150, 122, _null, _null), "darkred", K.SassColor$rgb(139, 0, 0, _null, _null), "darkorchid", K.SassColor$rgb(153, 50, 204, _null, _null), "darkorange", K.SassColor$rgb(255, 140, 0, _null, _null), "darkolivegreen", K.SassColor$rgb(85, 107, 47, _null, _null), "darkmagenta", K.SassColor$rgb(139, 0, 139, _null, _null), "darkkhaki", K.SassColor$rgb(189, 183, 107, _null, _null), "darkgrey", K.SassColor$rgb(169, 169, 169, _null, _null), "darkgreen", K.SassColor$rgb(0, 100, 0, _null, _null), "darkgray", K.SassColor$rgb(169, 169, 169, _null, _null), "darkgoldenrod", K.SassColor$rgb(184, 134, 11, _null, _null), "darkcyan", K.SassColor$rgb(0, 139, 139, _null, _null), "darkblue", K.SassColor$rgb(0, 0, 139, _null, _null), "cyan", K.SassColor$rgb(0, 255, 255, _null, _null), "crimson", K.SassColor$rgb(220, 20, 60, _null, _null), "cornsilk", K.SassColor$rgb(255, 248, 220, _null, _null), "cornflowerblue", K.SassColor$rgb(100, 149, 237, _null, _null), "coral", K.SassColor$rgb(255, 127, 80, _null, _null), "chocolate", K.SassColor$rgb(210, 105, 30, _null, _null), "chartreuse", K.SassColor$rgb(127, 255, 0, _null, _null), "cadetblue", K.SassColor$rgb(95, 158, 160, _null, _null), "burlywood", K.SassColor$rgb(222, 184, 135, _null, _null), "brown", K.SassColor$rgb(165, 42, 42, _null, _null), "blueviolet", K.SassColor$rgb(138, 43, 226, _null, _null), "blue", K.SassColor$rgb(0, 0, 255, _null, _null), "blanchedalmond", K.SassColor$rgb(255, 235, 205, _null, _null), "black", K.SassColor$rgb(0, 0, 0, _null, _null), "bisque", K.SassColor$rgb(255, 228, 196, _null, _null), "beige", K.SassColor$rgb(245, 245, 220, _null, _null), "azure", K.SassColor$rgb(240, 255, 255, _null, _null), "aquamarine", K.SassColor$rgb(127, 255, 212, _null, _null), "aqua", K.SassColor$rgb(0, 255, 255, _null, _null), "antiquewhite", K.SassColor$rgb(250, 235, 215, _null, _null), "aliceblue", K.SassColor$rgb(240, 248, 255, _null, _null)], P.String, K.SassColor);
  53962. });
  53963. _lazy($, "namesByColor", "$get$namesByColor", function() {
  53964. var t1 = P.String,
  53965. t2 = K.SassColor;
  53966. return Y.mapMap($.$get$colorsByName(), new X.closure32(), new X.closure33(), t1, t2, t2, t1);
  53967. });
  53968. _lazy($, "ExecutableOptions__separatorBar", "$get$ExecutableOptions__separatorBar", function() {
  53969. return B.isWindows() ? "=" : "\u2501";
  53970. });
  53971. _lazy($, "ExecutableOptions__parser", "$get$ExecutableOptions__parser", function() {
  53972. return new B.ExecutableOptions_closure().call$0();
  53973. });
  53974. _lazy($, "globalFunctions", "$get$globalFunctions", function() {
  53975. var t3,
  53976. t1 = Q.BuiltInCallable,
  53977. t2 = H.setRuntimeTypeInfo([], [t1]);
  53978. for (t3 = $.$get$global0(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53979. t2.push(t3.__internal$_current);
  53980. for (t3 = $.$get$global1(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53981. t2.push(t3.__internal$_current);
  53982. for (t3 = $.$get$global2(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53983. t2.push(t3.__internal$_current);
  53984. for (t3 = $.$get$global3(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53985. t2.push(t3.__internal$_current);
  53986. for (t3 = $.$get$global4(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53987. t2.push(t3.__internal$_current);
  53988. for (t3 = $.$get$global5(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53989. t2.push(t3.__internal$_current);
  53990. for (t3 = $.$get$global(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53991. t2.push(t3.__internal$_current);
  53992. t2.push(Q.BuiltInCallable$("if", "$condition, $if-true, $if-false", new Y.closure()));
  53993. return P.UnmodifiableListView$(t2, t1);
  53994. });
  53995. _lazy($, "coreModules", "$get$coreModules", function() {
  53996. var t1 = [Q.BuiltInModule, Q.BuiltInCallable];
  53997. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$module(), $.$get$module0(), $.$get$module1(), $.$get$module2(), $.$get$module3(), $.$get$module4()], [t1]), t1);
  53998. });
  53999. _lazy($, "_microsoftFilterStart", "$get$_microsoftFilterStart", function() {
  54000. return P.RegExp_RegExp("^[a-zA-Z]+\\s*=", false);
  54001. });
  54002. _lazy($, "global", "$get$global0", function() {
  54003. var _s27_ = "$red, $green, $blue, $alpha",
  54004. _s19_ = "$red, $green, $blue",
  54005. _s37_ = "$hue, $saturation, $lightness, $alpha",
  54006. _s29_ = "$hue, $saturation, $lightness",
  54007. _s17_ = "$hue, $saturation",
  54008. _s15_ = "$color, $amount",
  54009. t1 = P.String,
  54010. t2 = {func: 1, ret: F.Value, args: [[P.List, F.Value]]},
  54011. t3 = Q.BuiltInCallable;
  54012. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), Q.BuiltInCallable$overloaded("rgb", P.LinkedHashMap_LinkedHashMap$_literal([_s27_, new K.closure45(), _s19_, new K.closure46(), "$color, $alpha", new K.closure47(), "$channels", new K.closure48()], t1, t2)), Q.BuiltInCallable$overloaded("rgba", P.LinkedHashMap_LinkedHashMap$_literal([_s27_, new K.closure49(), _s19_, new K.closure50(), "$color, $alpha", new K.closure51(), "$channels", new K.closure52()], t1, t2)), Q.BuiltInCallable$("invert", "$color, $weight: 100%", new K.closure53()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), Q.BuiltInCallable$overloaded("hsl", P.LinkedHashMap_LinkedHashMap$_literal([_s37_, new K.closure54(), _s29_, new K.closure55(), _s17_, new K.closure56(), "$channels", new K.closure57()], t1, t2)), Q.BuiltInCallable$overloaded("hsla", P.LinkedHashMap_LinkedHashMap$_literal([_s37_, new K.closure58(), _s29_, new K.closure59(), _s17_, new K.closure60(), "$channels", new K.closure61()], t1, t2)), Q.BuiltInCallable$("grayscale", "$color", new K.closure62()), Q.BuiltInCallable$("adjust-hue", "$color, $degrees", new K.closure63()), Q.BuiltInCallable$("lighten", _s15_, new K.closure64()), Q.BuiltInCallable$("darken", _s15_, new K.closure65()), Q.BuiltInCallable$overloaded("saturate", P.LinkedHashMap_LinkedHashMap$_literal(["$amount", new K.closure66(), "$color, $amount", new K.closure67()], t1, t2)), Q.BuiltInCallable$("desaturate", _s15_, new K.closure68()), Q.BuiltInCallable$("opacify", _s15_, K.color___opacify$closure()), Q.BuiltInCallable$("fade-in", _s15_, K.color___opacify$closure()), Q.BuiltInCallable$("transparentize", _s15_, K.color___transparentize$closure()), Q.BuiltInCallable$("fade-out", _s15_, K.color___transparentize$closure()), Q.BuiltInCallable$overloaded("alpha", P.LinkedHashMap_LinkedHashMap$_literal(["$color", new K.closure69(), "$args...", new K.closure70()], t1, t2)), Q.BuiltInCallable$("opacity", "$color", new K.closure71()), $.$get$_ieHexStr(), $.$get$_adjust().withName$1("adjust-color"), $.$get$_scale().withName$1("scale-color"), $.$get$_change().withName$1("change-color")], [t3]), t3);
  54013. });
  54014. _lazy($, "module", "$get$module", function() {
  54015. var _s9_ = "lightness",
  54016. _s10_ = "saturation",
  54017. _s5_ = "alpha",
  54018. t1 = Q.BuiltInCallable;
  54019. return Q.BuiltInModule$("color", H.setRuntimeTypeInfo([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), Q.BuiltInCallable$("invert", "$color, $weight: 100%", new K.closure84()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), K._removedColorFunction("adjust-hue", "hue", false), K._removedColorFunction("lighten", _s9_, false), K._removedColorFunction("darken", _s9_, true), K._removedColorFunction("saturate", _s10_, false), K._removedColorFunction("desaturate", _s10_, true), Q.BuiltInCallable$("grayscale", "$color", new K.closure85()), K._removedColorFunction("opacify", _s5_, false), K._removedColorFunction("fade-in", _s5_, false), K._removedColorFunction("transparentize", _s5_, true), K._removedColorFunction("fade-out", _s5_, true), Q.BuiltInCallable$overloaded(_s5_, P.LinkedHashMap_LinkedHashMap$_literal(["$color", new K.closure86(), "$args...", new K.closure87()], P.String, {func: 1, ret: F.Value, args: [[P.List, F.Value]]})), Q.BuiltInCallable$("opacity", "$color", new K.closure88()), $.$get$_adjust(), $.$get$_scale(), $.$get$_change(), $.$get$_ieHexStr()], [t1]), null, t1);
  54020. });
  54021. _lazy($, "_red", "$get$_red", function() {
  54022. return Q.BuiltInCallable$("red", "$color", new K.closure83());
  54023. });
  54024. _lazy($, "_green", "$get$_green", function() {
  54025. return Q.BuiltInCallable$("green", "$color", new K.closure82());
  54026. });
  54027. _lazy($, "_blue", "$get$_blue", function() {
  54028. return Q.BuiltInCallable$("blue", "$color", new K.closure81());
  54029. });
  54030. _lazy($, "_mix", "$get$_mix", function() {
  54031. return Q.BuiltInCallable$("mix", "$color1, $color2, $weight: 50%", new K.closure80());
  54032. });
  54033. _lazy($, "_hue", "$get$_hue", function() {
  54034. return Q.BuiltInCallable$("hue", "$color", new K.closure79());
  54035. });
  54036. _lazy($, "_saturation", "$get$_saturation", function() {
  54037. return Q.BuiltInCallable$("saturation", "$color", new K.closure78());
  54038. });
  54039. _lazy($, "_lightness", "$get$_lightness", function() {
  54040. return Q.BuiltInCallable$("lightness", "$color", new K.closure77());
  54041. });
  54042. _lazy($, "_complement", "$get$_complement", function() {
  54043. return Q.BuiltInCallable$("complement", "$color", new K.closure76());
  54044. });
  54045. _lazy($, "_adjust", "$get$_adjust", function() {
  54046. return Q.BuiltInCallable$("adjust", "$color, $kwargs...", new K.closure74());
  54047. });
  54048. _lazy($, "_scale", "$get$_scale", function() {
  54049. return Q.BuiltInCallable$("scale", "$color, $kwargs...", new K.closure73());
  54050. });
  54051. _lazy($, "_change", "$get$_change", function() {
  54052. return Q.BuiltInCallable$("change", "$color, $kwargs...", new K.closure72());
  54053. });
  54054. _lazy($, "_ieHexStr", "$get$_ieHexStr", function() {
  54055. return Q.BuiltInCallable$("ie-hex-str", "$color", new K.closure75());
  54056. });
  54057. _lazy($, "global0", "$get$global1", function() {
  54058. var t1 = Q.BuiltInCallable;
  54059. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator().withName$1("list-separator")], [t1]), t1);
  54060. });
  54061. _lazy($, "module0", "$get$module0", function() {
  54062. var t1 = Q.BuiltInCallable;
  54063. return Q.BuiltInModule$("list", H.setRuntimeTypeInfo([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator()], [t1]), null, t1);
  54064. });
  54065. _lazy($, "_length", "$get$_length0", function() {
  54066. return Q.BuiltInCallable$("length", "$list", new D.closure44());
  54067. });
  54068. _lazy($, "_nth", "$get$_nth", function() {
  54069. return Q.BuiltInCallable$("nth", "$list, $n", new D.closure43());
  54070. });
  54071. _lazy($, "_setNth", "$get$_setNth", function() {
  54072. return Q.BuiltInCallable$("set-nth", "$list, $n, $value", new D.closure42());
  54073. });
  54074. _lazy($, "_join", "$get$_join", function() {
  54075. return Q.BuiltInCallable$("join", "$list1, $list2, $separator: auto, $bracketed: auto", new D.closure41());
  54076. });
  54077. _lazy($, "_append", "$get$_append0", function() {
  54078. return Q.BuiltInCallable$("append", "$list, $val, $separator: auto", new D.closure40());
  54079. });
  54080. _lazy($, "_zip", "$get$_zip", function() {
  54081. return Q.BuiltInCallable$("zip", "$lists...", new D.closure39());
  54082. });
  54083. _lazy($, "_index", "$get$_index0", function() {
  54084. return Q.BuiltInCallable$("index", "$list, $value", new D.closure38());
  54085. });
  54086. _lazy($, "_separator", "$get$_separator", function() {
  54087. return Q.BuiltInCallable$("separator", "$list", new D.closure36());
  54088. });
  54089. _lazy($, "_isBracketed", "$get$_isBracketed", function() {
  54090. return Q.BuiltInCallable$("is-bracketed", "$list", new D.closure37());
  54091. });
  54092. _lazy($, "global1", "$get$global2", function() {
  54093. var t1 = Q.BuiltInCallable;
  54094. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_get().withName$1("map-get"), $.$get$_merge().withName$1("map-merge"), $.$get$_remove().withName$1("map-remove"), $.$get$_keys().withName$1("map-keys"), $.$get$_values().withName$1("map-values"), $.$get$_hasKey().withName$1("map-has-key")], [t1]), t1);
  54095. });
  54096. _lazy($, "module1", "$get$module1", function() {
  54097. var t1 = Q.BuiltInCallable;
  54098. return Q.BuiltInModule$("map", H.setRuntimeTypeInfo([$.$get$_get(), $.$get$_merge(), $.$get$_remove(), $.$get$_keys(), $.$get$_values(), $.$get$_hasKey()], [t1]), null, t1);
  54099. });
  54100. _lazy($, "_get", "$get$_get", function() {
  54101. return Q.BuiltInCallable$("get", "$map, $key", new A.closure35());
  54102. });
  54103. _lazy($, "_merge", "$get$_merge", function() {
  54104. return Q.BuiltInCallable$("merge", "$map1, $map2", new A.closure34());
  54105. });
  54106. _lazy($, "_remove", "$get$_remove", function() {
  54107. return Q.BuiltInCallable$overloaded("remove", P.LinkedHashMap_LinkedHashMap$_literal(["$map", new A.closure30(), "$map, $key, $keys...", new A.closure31()], P.String, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}));
  54108. });
  54109. _lazy($, "_keys", "$get$_keys", function() {
  54110. return Q.BuiltInCallable$("keys", "$map", new A.closure29());
  54111. });
  54112. _lazy($, "_values", "$get$_values", function() {
  54113. return Q.BuiltInCallable$("values", "$map", new A.closure28());
  54114. });
  54115. _lazy($, "_hasKey", "$get$_hasKey", function() {
  54116. return Q.BuiltInCallable$("has-key", "$map, $key", new A.closure27());
  54117. });
  54118. _lazy($, "_random", "$get$_random0", function() {
  54119. return P.Random_Random();
  54120. });
  54121. _lazy($, "global2", "$get$global3", function() {
  54122. var t1 = Q.BuiltInCallable;
  54123. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_round(), $.$get$_ceil(), $.$get$_floor(), $.$get$_abs(), $.$get$_max(), $.$get$_min(), $.$get$_randomFunction(), $.$get$_unit(), $.$get$_percentage(), $.$get$_isUnitless().withName$1("unitless"), $.$get$_compatible().withName$1("comparable")], [t1]), t1);
  54124. });
  54125. _lazy($, "module2", "$get$module2", function() {
  54126. var t1 = Q.BuiltInCallable;
  54127. return Q.BuiltInModule$("math", H.setRuntimeTypeInfo([$.$get$_round(), $.$get$_ceil(), $.$get$_floor(), $.$get$_abs(), $.$get$_max(), $.$get$_min(), $.$get$_randomFunction(), $.$get$_unit(), $.$get$_isUnitless(), $.$get$_percentage(), $.$get$_compatible()], [t1]), null, t1);
  54128. });
  54129. _lazy($, "_percentage", "$get$_percentage", function() {
  54130. return Q.BuiltInCallable$("percentage", "$number", new K.closure19());
  54131. });
  54132. _lazy($, "_round", "$get$_round", function() {
  54133. return K._numberFunction("round", T.number0__fuzzyRound$closure());
  54134. });
  54135. _lazy($, "_ceil", "$get$_ceil", function() {
  54136. return K._numberFunction("ceil", new K.closure26());
  54137. });
  54138. _lazy($, "_floor", "$get$_floor", function() {
  54139. return K._numberFunction("floor", new K.closure25());
  54140. });
  54141. _lazy($, "_abs", "$get$_abs", function() {
  54142. return K._numberFunction("abs", new K.closure24());
  54143. });
  54144. _lazy($, "_max", "$get$_max", function() {
  54145. return Q.BuiltInCallable$("max", "$numbers...", new K.closure23());
  54146. });
  54147. _lazy($, "_min", "$get$_min", function() {
  54148. return Q.BuiltInCallable$("min", "$numbers...", new K.closure22());
  54149. });
  54150. _lazy($, "_randomFunction", "$get$_randomFunction", function() {
  54151. return Q.BuiltInCallable$("random", "$limit: null", new K.closure21());
  54152. });
  54153. _lazy($, "_unit", "$get$_unit", function() {
  54154. return Q.BuiltInCallable$("unit", "$number", new K.closure20());
  54155. });
  54156. _lazy($, "_isUnitless", "$get$_isUnitless", function() {
  54157. return Q.BuiltInCallable$("is-unitless", "$number", new K.closure18());
  54158. });
  54159. _lazy($, "_compatible", "$get$_compatible", function() {
  54160. return Q.BuiltInCallable$("compatible", "$number1, $number2", new K.closure17());
  54161. });
  54162. _lazy($, "global3", "$get$global", function() {
  54163. var t1 = Q.BuiltInCallable;
  54164. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([Q.BuiltInCallable$("feature-exists", "$feature", new Q.closure89()), Q.BuiltInCallable$("inspect", "$value", new Q.closure90()), Q.BuiltInCallable$("type-of", "$value", new Q.closure91()), Q.BuiltInCallable$("keywords", "$args", new Q.closure92())], [t1]), t1);
  54165. });
  54166. _lazy($, "global4", "$get$global4", function() {
  54167. var t1 = Q.BuiltInCallable;
  54168. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse().withName$1("selector-parse"), $.$get$_nest().withName$1("selector-nest"), $.$get$_append().withName$1("selector-append"), $.$get$_extend().withName$1("selector-extend"), $.$get$_replace().withName$1("selector-replace"), $.$get$_unify().withName$1("selector-unify")], [t1]), t1);
  54169. });
  54170. _lazy($, "module3", "$get$module3", function() {
  54171. var t1 = Q.BuiltInCallable;
  54172. return Q.BuiltInModule$("selector", H.setRuntimeTypeInfo([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse(), $.$get$_nest(), $.$get$_append(), $.$get$_extend(), $.$get$_replace(), $.$get$_unify()], [t1]), null, t1);
  54173. });
  54174. _lazy($, "_nest", "$get$_nest", function() {
  54175. return Q.BuiltInCallable$("nest", "$selectors...", new T.closure13());
  54176. });
  54177. _lazy($, "_append0", "$get$_append", function() {
  54178. return Q.BuiltInCallable$("append", "$selectors...", new T.closure12());
  54179. });
  54180. _lazy($, "_extend", "$get$_extend", function() {
  54181. return Q.BuiltInCallable$("extend", "$selector, $extendee, $extender", new T.closure11());
  54182. });
  54183. _lazy($, "_replace", "$get$_replace", function() {
  54184. return Q.BuiltInCallable$("replace", "$selector, $original, $replacement", new T.closure10());
  54185. });
  54186. _lazy($, "_unify", "$get$_unify", function() {
  54187. return Q.BuiltInCallable$("unify", "$selector1, $selector2", new T.closure9());
  54188. });
  54189. _lazy($, "_isSuperselector", "$get$_isSuperselector", function() {
  54190. return Q.BuiltInCallable$("is-superselector", "$super, $sub", new T.closure16());
  54191. });
  54192. _lazy($, "_simpleSelectors", "$get$_simpleSelectors", function() {
  54193. return Q.BuiltInCallable$("simple-selectors", "$selector", new T.closure15());
  54194. });
  54195. _lazy($, "_parse", "$get$_parse", function() {
  54196. return Q.BuiltInCallable$("parse", "$selector", new T.closure14());
  54197. });
  54198. _lazy($, "_random0", "$get$_random", function() {
  54199. return P.Random_Random();
  54200. });
  54201. _lazy($, "_previousUniqueId", "$get$_previousUniqueId", function() {
  54202. return $.$get$_random().nextInt$1(H.intTypeCast(P.pow(36, 6)));
  54203. });
  54204. _lazy($, "global5", "$get$global5", function() {
  54205. var t1 = Q.BuiltInCallable;
  54206. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_uniqueId(), $.$get$_length().withName$1("str-length"), $.$get$_insert().withName$1("str-insert"), $.$get$_index().withName$1("str-index"), $.$get$_slice().withName$1("str-slice")], [t1]), t1);
  54207. });
  54208. _lazy($, "module4", "$get$module4", function() {
  54209. var t1 = Q.BuiltInCallable;
  54210. return Q.BuiltInModule$("string", H.setRuntimeTypeInfo([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_length(), $.$get$_insert(), $.$get$_index(), $.$get$_slice(), $.$get$_uniqueId()], [t1]), null, t1);
  54211. });
  54212. _lazy($, "_unquote", "$get$_unquote", function() {
  54213. return Q.BuiltInCallable$("unquote", "$string", new D.closure8());
  54214. });
  54215. _lazy($, "_quote", "$get$_quote", function() {
  54216. return Q.BuiltInCallable$("quote", "$string", new D.closure7());
  54217. });
  54218. _lazy($, "_length0", "$get$_length", function() {
  54219. return Q.BuiltInCallable$("length", "$string", new D.closure3());
  54220. });
  54221. _lazy($, "_insert", "$get$_insert", function() {
  54222. return Q.BuiltInCallable$("insert", "$string, $insert, $index", new D.closure2());
  54223. });
  54224. _lazy($, "_index0", "$get$_index", function() {
  54225. return Q.BuiltInCallable$("index", "$string, $substring", new D.closure1());
  54226. });
  54227. _lazy($, "_slice", "$get$_slice", function() {
  54228. return Q.BuiltInCallable$("slice", "$string, $start-at, $end-at: -1", new D.closure0());
  54229. });
  54230. _lazy($, "_toUpperCase", "$get$_toUpperCase", function() {
  54231. return Q.BuiltInCallable$("to-upper-case", "$string", new D.closure6());
  54232. });
  54233. _lazy($, "_toLowerCase", "$get$_toLowerCase", function() {
  54234. return Q.BuiltInCallable$("to-lower-case", "$string", new D.closure5());
  54235. });
  54236. _lazy($, "_uniqueId", "$get$_uniqueId", function() {
  54237. return Q.BuiltInCallable$("unique-id", "", new D.closure4());
  54238. });
  54239. _lazy($, "stderr", "$get$stderr", function() {
  54240. return new B.Stderr(self.process.stderr);
  54241. });
  54242. _lazy($, "Logger_quiet", "$get$Logger_quiet", function() {
  54243. return new F._QuietLogger();
  54244. });
  54245. _lazy($, "_jsThrow", "$get$_jsThrow", function() {
  54246. return new self.Function("error", "throw error;");
  54247. });
  54248. _lazy($, "_isUndefined", "$get$_isUndefined", function() {
  54249. return new self.Function("value", "return value === undefined;");
  54250. });
  54251. _lazy($, "booleanConstructor", "$get$booleanConstructor", function() {
  54252. return new Z.closure129().call$0();
  54253. });
  54254. _lazy($, "colorConstructor", "$get$colorConstructor", function() {
  54255. return B.createClass(new K.closure119(), P.LinkedHashMap_LinkedHashMap$_literal(["getR", new K.closure120(), "getG", new K.closure121(), "getB", new K.closure122(), "getA", new K.closure123(), "setR", new K.closure124(), "setG", new K.closure125(), "setB", new K.closure126(), "setA", new K.closure127(), "toString", new K.closure128()], P.String, P.Function));
  54256. });
  54257. _lazy($, "listConstructor", "$get$listConstructor", function() {
  54258. return B.createClass(new D.closure112(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new D.closure113(), "setValue", new D.closure114(), "getSeparator", new D.closure115(), "setSeparator", new D.closure116(), "getLength", new D.closure117(), "toString", new D.closure118()], P.String, P.Function));
  54259. });
  54260. _lazy($, "mapConstructor", "$get$mapConstructor", function() {
  54261. return B.createClass(new A.closure105(), P.LinkedHashMap_LinkedHashMap$_literal(["getKey", new A.closure106(), "getValue", new A.closure107(), "getLength", new A.closure108(), "setKey", new A.closure109(), "setValue", new A.closure110(), "toString", new A.closure111()], P.String, P.Function));
  54262. });
  54263. _lazy($, "nullConstructor", "$get$nullConstructor", function() {
  54264. return new O.closure104().call$0();
  54265. });
  54266. _lazy($, "numberConstructor", "$get$numberConstructor", function() {
  54267. return B.createClass(new T.closure98(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new T.closure99(), "setValue", new T.closure100(), "getUnit", new T.closure101(), "setUnit", new T.closure102(), "toString", new T.closure103()], P.String, P.Function));
  54268. });
  54269. _lazy($, "stringConstructor", "$get$stringConstructor", function() {
  54270. return B.createClass(new D.closure94(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new D.closure95(), "setValue", new D.closure96(), "toString", new D.closure97()], P.String, P.Function));
  54271. });
  54272. _lazy($, "_disallowedFunctionNames", "$get$_disallowedFunctionNames", function() {
  54273. var t1 = $.$get$globalFunctions();
  54274. t1 = t1.map$1$1(t1, new Q.closure93(), P.String).toSet$0(0);
  54275. t1.add$1(0, "if");
  54276. t1.remove$1(0, "rgb");
  54277. t1.remove$1(0, "rgba");
  54278. t1.remove$1(0, "hsl");
  54279. t1.remove$1(0, "hsla");
  54280. t1.remove$1(0, "grayscale");
  54281. t1.remove$1(0, "invert");
  54282. t1.remove$1(0, "alpha");
  54283. t1.remove$1(0, "opacity");
  54284. t1.remove$1(0, "saturate");
  54285. return t1;
  54286. });
  54287. _lazy($, "epsilon", "$get$epsilon", function() {
  54288. return P.pow(10, -11);
  54289. });
  54290. _lazy($, "_inverseEpsilon", "$get$_inverseEpsilon", function() {
  54291. return 1 / $.$get$epsilon();
  54292. });
  54293. _lazy($, "_noSourceUrl", "$get$_noSourceUrl", function() {
  54294. return P.Uri_parse("-");
  54295. });
  54296. _lazy($, "_conversions", "$get$_conversions", function() {
  54297. var t1 = P.String,
  54298. t2 = P.num;
  54299. return P.LinkedHashMap_LinkedHashMap$_literal(["in", P.LinkedHashMap_LinkedHashMap$_literal(["in", 1, "cm", 0.39370078740157477, "pc", 0.16666666666666666, "mm", 0.03937007874015748, "q", 0.00984251968503937, "pt", 0.013888888888888888, "px", 0.010416666666666666], t1, t2), "cm", P.LinkedHashMap_LinkedHashMap$_literal(["in", 2.54, "cm", 1, "pc", 0.42333333333333334, "mm", 0.1, "q", 0.025, "pt", 0.035277777777777776, "px", 0.026458333333333334], t1, t2), "pc", P.LinkedHashMap_LinkedHashMap$_literal(["in", 6, "cm", 2.3622047244094486, "pc", 1, "mm", 0.2362204724409449, "q", 0.05905511811023623, "pt", 0.08333333333333333, "px", 0.0625], t1, t2), "mm", P.LinkedHashMap_LinkedHashMap$_literal(["in", 25.4, "cm", 10, "pc", 4.233333333333333, "mm", 1, "q", 0.25, "pt", 0.35277777777777775, "px", 0.26458333333333334], t1, t2), "q", P.LinkedHashMap_LinkedHashMap$_literal(["in", 101.6, "cm", 40, "pc", 16.933333333333334, "mm", 4, "q", 1, "pt", 1.411111111111111, "px", 1.0583333333333333], t1, t2), "pt", P.LinkedHashMap_LinkedHashMap$_literal(["in", 72, "cm", 28.346456692913385, "pc", 12, "mm", 2.834645669291339, "q", 0.7086614173228347, "pt", 1, "px", 0.75], t1, t2), "px", P.LinkedHashMap_LinkedHashMap$_literal(["in", 96, "cm", 37.79527559055118, "pc", 16, "mm", 3.7795275590551185, "q", 0.9448818897637796, "pt", 1.3333333333333333, "px", 1], t1, t2), "deg", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 1, "grad", 0.9, "rad", 57.29577951308232, "turn", 360], t1, t2), "grad", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 1.1111111111111112, "grad", 1, "rad", 63.66197723675813, "turn", 400], t1, t2), "rad", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 0.017453292519943295, "grad", 0.015707963267948967, "rad", 1, "turn", 6.283185307179586], t1, t2), "turn", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 0.002777777777777778, "grad", 0.0025, "rad", 0.15915494309189535, "turn", 1], t1, t2), "s", P.LinkedHashMap_LinkedHashMap$_literal(["s", 1, "ms", 0.001], t1, t2), "ms", P.LinkedHashMap_LinkedHashMap$_literal(["s", 1000, "ms", 1], t1, t2), "Hz", P.LinkedHashMap_LinkedHashMap$_literal(["Hz", 1, "kHz", 1000], t1, t2), "kHz", P.LinkedHashMap_LinkedHashMap$_literal(["Hz", 0.001, "kHz", 1], t1, t2), "dpi", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 1, "dpcm", 2.54, "dppx", 96], t1, t2), "dpcm", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 0.39370078740157477, "dpcm", 1, "dppx", 37.79527559055118], t1, t2), "dppx", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 0.010416666666666666, "dpcm", 0.026458333333333334, "dppx", 1], t1, t2)], t1, [P.Map, P.String, P.num]);
  54300. });
  54301. _lazy($, "_emptyQuoted", "$get$_emptyQuoted", function() {
  54302. return D.SassString$("", true);
  54303. });
  54304. _lazy($, "_emptyUnquoted", "$get$_emptyUnquoted", function() {
  54305. return D.SassString$("", false);
  54306. });
  54307. _lazy($, "MAX_INT32", "$get$MAX_INT32", function() {
  54308. return P.pow(2, 31) - 1;
  54309. });
  54310. _lazy($, "MIN_INT32", "$get$MIN_INT32", function() {
  54311. return -P.pow(2, 31);
  54312. });
  54313. _lazy($, "_vmFrame", "$get$_vmFrame", function() {
  54314. return P.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", false);
  54315. });
  54316. _lazy($, "_v8Frame", "$get$_v8Frame", function() {
  54317. return P.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", false);
  54318. });
  54319. _lazy($, "_v8UrlLocation", "$get$_v8UrlLocation", function() {
  54320. return P.RegExp_RegExp("^(.*):(\\d+):(\\d+)|native$", false);
  54321. });
  54322. _lazy($, "_v8EvalLocation", "$get$_v8EvalLocation", function() {
  54323. return P.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", false);
  54324. });
  54325. _lazy($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", function() {
  54326. return P.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", false);
  54327. });
  54328. _lazy($, "_friendlyFrame", "$get$_friendlyFrame", function() {
  54329. return P.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", false);
  54330. });
  54331. _lazy($, "_asyncBody", "$get$_asyncBody", function() {
  54332. return P.RegExp_RegExp("<(<anonymous closure>|[^>]+)_async_body>", false);
  54333. });
  54334. _lazy($, "_initialDot", "$get$_initialDot", function() {
  54335. return P.RegExp_RegExp("^\\.", false);
  54336. });
  54337. _lazy($, "Frame__uriRegExp", "$get$Frame__uriRegExp", function() {
  54338. return P.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", false);
  54339. });
  54340. _lazy($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", function() {
  54341. return P.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", false);
  54342. });
  54343. _lazy($, "_terseRegExp", "$get$_terseRegExp", function() {
  54344. return P.RegExp_RegExp("(-patch)?([/\\\\].*)?$", false);
  54345. });
  54346. _lazy($, "_v8Trace", "$get$_v8Trace", function() {
  54347. return P.RegExp_RegExp("\\n ?at ", false);
  54348. });
  54349. _lazy($, "_v8TraceLine", "$get$_v8TraceLine", function() {
  54350. return P.RegExp_RegExp(" ?at ", false);
  54351. });
  54352. _lazy($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", function() {
  54353. return P.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true);
  54354. });
  54355. _lazy($, "_friendlyTrace", "$get$_friendlyTrace", function() {
  54356. return P.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true);
  54357. });
  54358. _lazy($, "_newlineRegExp", "$get$_newlineRegExp", function() {
  54359. return P.RegExp_RegExp("\\r\\n?|\\n", false);
  54360. });
  54361. })();
  54362. (function nativeSupport() {
  54363. !function() {
  54364. var intern = function(s) {
  54365. var o = {};
  54366. o[s] = 1;
  54367. return Object.keys(hunkHelpers.convertToFastObject(o))[0];
  54368. };
  54369. init.getIsolateTag = function(name) {
  54370. return intern("___dart_" + name + init.isolateTag);
  54371. };
  54372. var tableProperty = "___dart_isolate_tags_";
  54373. var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null));
  54374. var rootProperty = "_ZxYxX";
  54375. for (var i = 0;; i++) {
  54376. var property = intern(rootProperty + "_" + i + "_");
  54377. if (!(property in usedProperties)) {
  54378. usedProperties[property] = 1;
  54379. init.isolateTag = property;
  54380. break;
  54381. }
  54382. }
  54383. init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
  54384. }();
  54385. hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer: J.Interceptor, DataView: H.NativeTypedData, ArrayBufferView: H.NativeTypedData, Float32Array: H.NativeFloat32List, Float64Array: H.NativeFloat64List, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List});
  54386. hunkHelpers.setOrUpdateLeafTags({ArrayBuffer: true, DataView: true, ArrayBufferView: false, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false});
  54387. H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
  54388. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
  54389. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
  54390. H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView";
  54391. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
  54392. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
  54393. H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView";
  54394. })();
  54395. Function.prototype.call$1 = function(a) {
  54396. return this(a);
  54397. };
  54398. Function.prototype.call$0 = function() {
  54399. return this();
  54400. };
  54401. Function.prototype.call$2 = function(a, b) {
  54402. return this(a, b);
  54403. };
  54404. Function.prototype.call$3 = function(a, b, c) {
  54405. return this(a, b, c);
  54406. };
  54407. Function.prototype.call$4 = function(a, b, c, d) {
  54408. return this(a, b, c, d);
  54409. };
  54410. Function.prototype.call$5 = function(a, b, c, d, e) {
  54411. return this(a, b, c, d, e);
  54412. };
  54413. Function.prototype.call$1$1 = function(a) {
  54414. return this(a);
  54415. };
  54416. Function.prototype.call$1$3 = function(a, b, c) {
  54417. return this(a, b, c);
  54418. };
  54419. Function.prototype.call$2$2 = function(a, b) {
  54420. return this(a, b);
  54421. };
  54422. Function.prototype.call$6 = function(a, b, c, d, e, f) {
  54423. return this(a, b, c, d, e, f);
  54424. };
  54425. Function.prototype.call$1$0 = function() {
  54426. return this();
  54427. };
  54428. convertAllToFastObject(holders);
  54429. convertToFastObject($);
  54430. (function(callback) {
  54431. if (typeof document === "undefined") {
  54432. callback(null);
  54433. return;
  54434. }
  54435. if (typeof document.currentScript != 'undefined') {
  54436. callback(document.currentScript);
  54437. return;
  54438. }
  54439. var scripts = document.scripts;
  54440. function onLoad(event) {
  54441. for (var i = 0; i < scripts.length; ++i)
  54442. scripts[i].removeEventListener("load", onLoad, false);
  54443. callback(event.target);
  54444. }
  54445. for (var i = 0; i < scripts.length; ++i)
  54446. scripts[i].addEventListener("load", onLoad, false);
  54447. })(function(currentScript) {
  54448. init.currentScript = currentScript;
  54449. if (typeof dartMainRunner === "function")
  54450. dartMainRunner(B.main0, []);
  54451. else
  54452. B.main0([]);
  54453. });
  54454. })();