transpile.js 3.0 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978
  1. // Copyright 2016 The Closure Library Authors. All Rights Reserved.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS-IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. // NOTE: This is a generated file. Do not edit.
  15. // clang-format off
  16. /** @fileoverview @nocompile */
  17. (function() {
  18. var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=false;$jscomp.ASSUME_NO_NATIVE_MAP=false;$jscomp.ASSUME_NO_NATIVE_SET=false;$jscomp.SIMPLE_FROUND_POLYFILL=false;$jscomp.defineProperty=$jscomp.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(target,property,descriptor){descriptor=descriptor;if(target==Array.prototype||target==Object.prototype)return;target[property]=descriptor.value};
  19. $jscomp.getGlobal=function(passedInThis){var possibleGlobals=["object"==typeof globalThis&&globalThis,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global,passedInThis];for(var i=0;i<possibleGlobals.length;++i){var maybeGlobal=possibleGlobals[i];if(maybeGlobal&&maybeGlobal["Math"]==Math)return maybeGlobal}return{valueOf:function(){throw new Error("Cannot find global object");}}.valueOf()};$jscomp.global=$jscomp.getGlobal(this);
  20. $jscomp.polyfill=function(target,polyfill,fromLang,toLang){if(!polyfill)return;var obj=$jscomp.global;var split=target.split(".");for(var i=0;i<split.length-1;i++){var key=split[i];if(!(key in obj))obj[key]={};obj=obj[key]}var property=split[split.length-1];var orig=obj[property];var impl=polyfill(orig);if(impl==orig||impl==null)return;$jscomp.defineProperty(obj,property,{configurable:true,writable:true,value:impl})};
  21. $jscomp.polyfill("Array.prototype.copyWithin",function(orig){if(orig)return orig;var polyfill=function(target,start,opt_end){var len=this.length;target=toInteger(target);start=toInteger(start);var end=opt_end===undefined?len:toInteger(opt_end);var to=target<0?Math.max(len+target,0):Math.min(target,len);var from=start<0?Math.max(len+start,0):Math.min(start,len);var final=end<0?Math.max(len+end,0):Math.min(end,len);if(to<from)while(from<final)if(from in this)this[to++]=this[from++];else{delete this[to++];
  22. from++}else{final=Math.min(final,len+from-to);to+=final-from;while(final>from)if(--final in this)this[--to]=this[final];else delete this[--to]}return this};function toInteger(arg){var n=Number(arg);if(n===Infinity||n===-Infinity)return n;return n|0}return polyfill},"es6","es3");$jscomp.arrayIteratorImpl=function(array){var index=0;return function(){if(index<array.length)return{done:false,value:array[index++]};else return{done:true}}};$jscomp.arrayIterator=function(array){return{next:$jscomp.arrayIteratorImpl(array)}};
  23. $jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};if(!$jscomp.global["Symbol"])$jscomp.global["Symbol"]=$jscomp.Symbol};$jscomp.SymbolClass=function(id,opt_description){this.$jscomp$symbol$id_=id;this.description;$jscomp.defineProperty(this,"description",{configurable:true,writable:true,value:opt_description})};$jscomp.SymbolClass.prototype.toString=function(){return this.$jscomp$symbol$id_};
  24. $jscomp.Symbol=function(){var counter=0;function Symbol(opt_description){if(this instanceof Symbol)throw new TypeError("Symbol is not a constructor");return new $jscomp.SymbolClass($jscomp.SYMBOL_PREFIX+(opt_description||"")+"_"+counter++,opt_description)}return Symbol}();
  25. $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var symbolIterator=$jscomp.global["Symbol"].iterator;if(!symbolIterator)symbolIterator=$jscomp.global["Symbol"].iterator=$jscomp.global["Symbol"]("Symbol.iterator");if(typeof Array.prototype[symbolIterator]!="function")$jscomp.defineProperty(Array.prototype,symbolIterator,{configurable:true,writable:true,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}});$jscomp.initSymbolIterator=function(){}};
  26. $jscomp.initSymbolAsyncIterator=function(){$jscomp.initSymbol();var symbolAsyncIterator=$jscomp.global["Symbol"].asyncIterator;if(!symbolAsyncIterator)symbolAsyncIterator=$jscomp.global["Symbol"].asyncIterator=$jscomp.global["Symbol"]("Symbol.asyncIterator");$jscomp.initSymbolAsyncIterator=function(){}};$jscomp.iteratorPrototype=function(next){$jscomp.initSymbolIterator();var iterator={next:next};iterator[$jscomp.global["Symbol"].iterator]=function(){return this};return iterator};
  27. $jscomp.iteratorFromArray=function(array,transform){$jscomp.initSymbolIterator();if(array instanceof String)array=array+"";var i=0;var iter={next:function(){if(i<array.length){var index=i++;return{value:transform(index,array[index]),done:false}}iter.next=function(){return{done:true,value:void 0}};return iter.next()}};iter[Symbol.iterator]=function(){return iter};return iter};
  28. $jscomp.polyfill("Array.prototype.entries",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i,v){return[i,v]})};return polyfill},"es6","es3");
  29. $jscomp.polyfill("Array.prototype.fill",function(orig){if(orig)return orig;var polyfill=function(value,opt_start,opt_end){var length=this.length||0;if(opt_start<0)opt_start=Math.max(0,length+opt_start);if(opt_end==null||opt_end>length)opt_end=length;opt_end=Number(opt_end);if(opt_end<0)opt_end=Math.max(0,length+opt_end);for(var i=Number(opt_start||0);i<opt_end;i++)this[i]=value;return this};return polyfill},"es6","es3");
  30. $jscomp.findInternal=function(array,callback,thisArg){if(array instanceof String)array=String(array);var len=array.length;for(var i=0;i<len;i++){var value=array[i];if(callback.call(thisArg,value,i,array))return{i:i,v:value}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).v};return polyfill},"es6","es3");
  31. $jscomp.polyfill("Array.prototype.findIndex",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).i};return polyfill},"es6","es3");
  32. $jscomp.polyfill("Array.prototype.flat",function(orig){if(orig)return orig;var flat=function(depth){depth=depth===undefined?1:depth;var flattened=[];for(var i=0;i<this.length;i++){var element=this[i];if(Array.isArray(element)&&depth>0){var inner=Array.prototype.flat.call(element,depth-1);flattened.push.apply(flattened,inner)}else flattened.push(element)}return flattened};return flat},"es9","es5");
  33. $jscomp.polyfill("Array.prototype.flatMap",function(orig){if(orig)return orig;var flatMap=function(callback,thisArg){var mapped=[];for(var i=0;i<this.length;i++){var result=callback.call(thisArg,this[i],i,this);if(Array.isArray(result))mapped.push.apply(mapped,result);else mapped.push(result)}return mapped};return flatMap},"es9","es5");
  34. $jscomp.polyfill("Array.from",function(orig){if(orig)return orig;var polyfill=function(arrayLike,opt_mapFn,opt_thisArg){opt_mapFn=opt_mapFn!=null?opt_mapFn:function(x){return x};var result=[];var iteratorFunction=typeof Symbol!="undefined"&&Symbol.iterator&&arrayLike[Symbol.iterator];if(typeof iteratorFunction=="function"){arrayLike=iteratorFunction.call(arrayLike);var next;var k=0;while(!(next=arrayLike.next()).done)result.push(opt_mapFn.call(opt_thisArg,next.value,k++))}else{var len=arrayLike.length;
  35. for(var i=0;i<len;i++)result.push(opt_mapFn.call(opt_thisArg,arrayLike[i],i))}return result};return polyfill},"es6","es3");$jscomp.polyfill("Object.is",function(orig){if(orig)return orig;var polyfill=function(left,right){if(left===right)return left!==0||1/left===1/right;else return left!==left&&right!==right};return polyfill},"es6","es3");
  36. $jscomp.polyfill("Array.prototype.includes",function(orig){if(orig)return orig;var includes=function(searchElement,opt_fromIndex){var array=this;if(array instanceof String)array=String(array);var len=array.length;var i=opt_fromIndex||0;if(i<0)i=Math.max(i+len,0);for(;i<len;i++){var element=array[i];if(element===searchElement||Object.is(element,searchElement))return true}return false};return includes},"es7","es3");
  37. $jscomp.polyfill("Array.prototype.keys",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i){return i})};return polyfill},"es6","es3");$jscomp.polyfill("Array.of",function(orig){if(orig)return orig;var polyfill=function(var_args){return Array.from(arguments)};return polyfill},"es6","es3");
  38. $jscomp.polyfill("Array.prototype.values",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(k,v){return v})};return polyfill},"es8","es3");$jscomp.makeIterator=function(iterable){var iteratorFunction=typeof Symbol!="undefined"&&Symbol.iterator&&iterable[Symbol.iterator];return iteratorFunction?iteratorFunction.call(iterable):$jscomp.arrayIterator(iterable)};$jscomp.FORCE_POLYFILL_PROMISE=false;
  39. $jscomp.polyfill("Promise",function(NativePromise){if(NativePromise&&!$jscomp.FORCE_POLYFILL_PROMISE)return NativePromise;function AsyncExecutor(){this.batch_=null}AsyncExecutor.prototype.asyncExecute=function(f){if(this.batch_==null){this.batch_=[];var self=this;this.asyncExecuteFunction(function(){self.executeBatch_()})}this.batch_.push(f)};var nativeSetTimeout=$jscomp.global["setTimeout"];AsyncExecutor.prototype.asyncExecuteFunction=function(f){nativeSetTimeout(f,0)};AsyncExecutor.prototype.executeBatch_=
  40. function(){while(this.batch_&&this.batch_.length){var executingBatch=this.batch_;this.batch_=[];for(var i=0;i<executingBatch.length;++i){var f=executingBatch[i];executingBatch[i]=null;try{f()}catch(error){this.asyncThrow_(error)}}}this.batch_=null};AsyncExecutor.prototype.asyncThrow_=function(exception){this.asyncExecuteFunction(function(){throw exception;})};var PromiseState={PENDING:0,FULFILLED:1,REJECTED:2};var PolyfillPromise=function(executor){this.state_=PromiseState.PENDING;this.result_=undefined;
  41. this.onSettledCallbacks_=[];var resolveAndReject=this.createResolveAndReject_();try{executor(resolveAndReject.resolve,resolveAndReject.reject)}catch(e){resolveAndReject.reject(e)}};PolyfillPromise.prototype.createResolveAndReject_=function(){var thisPromise=this;var alreadyCalled=false;function firstCallWins(method){return function(x){if(!alreadyCalled){alreadyCalled=true;method.call(thisPromise,x)}}}return{resolve:firstCallWins(this.resolveTo_),reject:firstCallWins(this.reject_)}};PolyfillPromise.prototype.resolveTo_=
  42. function(value){if(value===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(value instanceof PolyfillPromise)this.settleSameAsPromise_(value);else if(isObject(value))this.resolveToNonPromiseObj_(value);else this.fulfill_(value)};PolyfillPromise.prototype.resolveToNonPromiseObj_=function(obj){var thenMethod=undefined;try{thenMethod=obj.then}catch(error){this.reject_(error);return}if(typeof thenMethod=="function")this.settleSameAsThenable_(thenMethod,obj);else this.fulfill_(obj)};
  43. function isObject(value){switch(typeof value){case "object":return value!=null;case "function":return true;default:return false}}PolyfillPromise.prototype.reject_=function(reason){this.settle_(PromiseState.REJECTED,reason)};PolyfillPromise.prototype.fulfill_=function(value){this.settle_(PromiseState.FULFILLED,value)};PolyfillPromise.prototype.settle_=function(settledState,valueOrReason){if(this.state_!=PromiseState.PENDING)throw new Error("Cannot settle("+settledState+", "+valueOrReason+"): Promise already settled in state"+
  44. this.state_);this.state_=settledState;this.result_=valueOrReason;this.executeOnSettledCallbacks_()};PolyfillPromise.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){for(var i=0;i<this.onSettledCallbacks_.length;++i)asyncExecutor.asyncExecute(this.onSettledCallbacks_[i]);this.onSettledCallbacks_=null}};var asyncExecutor=new AsyncExecutor;PolyfillPromise.prototype.settleSameAsPromise_=function(promise){var methods=this.createResolveAndReject_();promise.callWhenSettled_(methods.resolve,
  45. methods.reject)};PolyfillPromise.prototype.settleSameAsThenable_=function(thenMethod,thenable){var methods=this.createResolveAndReject_();try{thenMethod.call(thenable,methods.resolve,methods.reject)}catch(error){methods.reject(error)}};PolyfillPromise.prototype.then=function(onFulfilled,onRejected){var resolveChild;var rejectChild;var childPromise=new PolyfillPromise(function(resolve,reject){resolveChild=resolve;rejectChild=reject});function createCallback(paramF,defaultF){if(typeof paramF=="function")return function(x){try{resolveChild(paramF(x))}catch(error){rejectChild(error)}};
  46. else return defaultF}this.callWhenSettled_(createCallback(onFulfilled,resolveChild),createCallback(onRejected,rejectChild));return childPromise};PolyfillPromise.prototype.catch=function(onRejected){return this.then(undefined,onRejected)};PolyfillPromise.prototype.callWhenSettled_=function(onFulfilled,onRejected){var thisPromise=this;function callback(){switch(thisPromise.state_){case PromiseState.FULFILLED:onFulfilled(thisPromise.result_);break;case PromiseState.REJECTED:onRejected(thisPromise.result_);
  47. break;default:throw new Error("Unexpected state: "+thisPromise.state_);}}if(this.onSettledCallbacks_==null)asyncExecutor.asyncExecute(callback);else this.onSettledCallbacks_.push(callback)};function resolvingPromise(opt_value){if(opt_value instanceof PolyfillPromise)return opt_value;else return new PolyfillPromise(function(resolve,reject){resolve(opt_value)})}PolyfillPromise["resolve"]=resolvingPromise;PolyfillPromise["reject"]=function(opt_reason){return new PolyfillPromise(function(resolve,reject){reject(opt_reason)})};
  48. PolyfillPromise["race"]=function(thenablesOrValues){return new PolyfillPromise(function(resolve,reject){var iterator=$jscomp.makeIterator(thenablesOrValues);for(var iterRec=iterator.next();!iterRec.done;iterRec=iterator.next())resolvingPromise(iterRec.value).callWhenSettled_(resolve,reject)})};PolyfillPromise["all"]=function(thenablesOrValues){var iterator=$jscomp.makeIterator(thenablesOrValues);var iterRec=iterator.next();if(iterRec.done)return resolvingPromise([]);else return new PolyfillPromise(function(resolveAll,
  49. rejectAll){var resultsArray=[];var unresolvedCount=0;function onFulfilled(i){return function(ithResult){resultsArray[i]=ithResult;unresolvedCount--;if(unresolvedCount==0)resolveAll(resultsArray)}}do{resultsArray.push(undefined);unresolvedCount++;resolvingPromise(iterRec.value).callWhenSettled_(onFulfilled(resultsArray.length-1),rejectAll);iterRec=iterator.next()}while(!iterRec.done)})};return PolyfillPromise},"es6","es3");
  50. $jscomp.makeAsyncIterator=function(iterable){$jscomp.initSymbolAsyncIterator();var asyncIteratorFunction=iterable[Symbol.asyncIterator];if(asyncIteratorFunction!==undefined)return asyncIteratorFunction.call(iterable);return new $jscomp.AsyncIteratorFromSyncWrapper($jscomp.makeIterator(iterable))};
  51. $jscomp.AsyncIteratorFromSyncWrapper=function(iterator){this[Symbol.asyncIterator]=function(){return this};this[Symbol.iterator]=function(){return iterator};this.next=function(param){return Promise.resolve(iterator.next(param))};if(iterator["throw"]!==undefined)this["throw"]=function(param){return Promise.resolve(iterator["throw"](param))};if(iterator["return"]!==undefined)this["return"]=function(param){return Promise.resolve(iterator["return"](param))}};
  52. $jscomp.AsyncGeneratorWrapper$ActionEnum={YIELD_VALUE:0,YIELD_STAR:1,AWAIT_VALUE:2};$jscomp.AsyncGeneratorWrapper$ActionRecord=function(action,value){this.action=action;this.value=value};$jscomp.AsyncGeneratorWrapper$GeneratorMethod={NEXT:"next",THROW:"throw",RETURN:"return"};$jscomp.AsyncGeneratorWrapper$ExecutionFrame_=function(method,param,resolve,reject){this.method=method;this.param=param;this.resolve=resolve;this.reject=reject};
  53. $jscomp.AsyncGeneratorWrapper$ExecutionNode_=function(frame,next){this.frame=frame;this.next=next};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_=function(){this.head_=null;this.tail_=null};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.isEmpty=function(){return this.head_===null};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.first=function(){if(this.head_)return this.head_.frame;else throw new Error("no frames in executionQueue");};
  54. $jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.drop=function(){if(this.head_){this.head_=this.head_.next;if(!this.head_)this.tail_=null}};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.enqueue=function(newFrame){var node=new $jscomp.AsyncGeneratorWrapper$ExecutionNode_(newFrame,null);if(this.tail_){this.tail_.next=node;this.tail_=node}else{this.head_=node;this.tail_=node}};
  55. $jscomp.AsyncGeneratorWrapper=function(generator){this.generator_=generator;this.delegate_=null;this.executionQueue_=new $jscomp.AsyncGeneratorWrapper$ExecutionQueue_;$jscomp.initSymbolAsyncIterator();this[Symbol.asyncIterator]=function(){return this};var self=this;this.boundHandleDelegateResult_=function(record){self.handleDelegateResult_(record)};this.boundHandleDelegateError_=function(thrownError){self.handleDelegateError_(thrownError)};this.boundRejectAndClose_=function(err){self.rejectAndClose_(err)}};
  56. $jscomp.AsyncGeneratorWrapper.prototype.enqueueMethod_=function(method,param){var self=this;return new Promise(function(resolve,reject){var wasEmpty=self.executionQueue_.isEmpty();self.executionQueue_.enqueue(new $jscomp.AsyncGeneratorWrapper$ExecutionFrame_(method,param,resolve,reject));if(wasEmpty)self.runFrame_()})};$jscomp.AsyncGeneratorWrapper.prototype.next=function(opt_value){return this.enqueueMethod_($jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT,opt_value)};
  57. $jscomp.AsyncGeneratorWrapper.prototype.return=function(value){return this.enqueueMethod_($jscomp.AsyncGeneratorWrapper$GeneratorMethod.RETURN,new $jscomp.AsyncGeneratorWrapper$ActionRecord($jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE,value))};$jscomp.AsyncGeneratorWrapper.prototype.throw=function(exception){return this.enqueueMethod_($jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW,exception)};
  58. $jscomp.AsyncGeneratorWrapper.prototype.runFrame_=function(){if(!this.executionQueue_.isEmpty())try{if(this.delegate_)this.runDelegateFrame_();else this.runGeneratorFrame_()}catch(err){this.rejectAndClose_(err)}};
  59. $jscomp.AsyncGeneratorWrapper.prototype.runGeneratorFrame_=function(){var self=this;var frame=this.executionQueue_.first();try{var genRec=this.generator_[frame.method](frame.param);if(genRec.value instanceof $jscomp.AsyncGeneratorWrapper$ActionRecord)switch(genRec.value.action){case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE:Promise.resolve(genRec.value.value).then(function(resolvedValue){frame.resolve({value:resolvedValue,done:genRec.done});self.executionQueue_.drop();self.runFrame_()},
  60. function(e){frame.reject(e);self.executionQueue_.drop();self.runFrame_()}).catch(this.boundRejectAndClose_);return;case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR:self.delegate_=$jscomp.makeAsyncIterator(genRec.value.value);frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;frame.param=undefined;self.runFrame_();return;case $jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE:Promise.resolve(genRec.value.value).then(function(resolvedValue){frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;
  61. frame.param=resolvedValue;self.runFrame_()},function(thrownErr){frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;frame.param=thrownErr;self.runFrame_()}).catch(this.boundRejectAndClose_);return;default:throw new Error("Unrecognized AsyncGeneratorWrapper$ActionEnum");}else{frame.resolve(genRec);self.executionQueue_.drop();self.runFrame_()}}catch(e){frame.reject(e);self.executionQueue_.drop();self.runFrame_()}};
  62. $jscomp.AsyncGeneratorWrapper.prototype.runDelegateFrame_=function(){if(!this.delegate_)throw new Error("no delegate to perform execution");var frame=this.executionQueue_.first();if(frame.method in this.delegate_)try{this.delegate_[frame.method](frame.param).then(this.boundHandleDelegateResult_,this.boundHandleDelegateError_).catch(this.boundRejectAndClose_)}catch(err){this.handleDelegateError_(err)}else{this.delegate_=null;this.runFrame_()}};
  63. $jscomp.AsyncGeneratorWrapper.prototype.handleDelegateResult_=function(record){var frame=this.executionQueue_.first();if(record.done===true){this.delegate_=null;frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;frame.param=record.value;this.runFrame_()}else{frame.resolve({value:record.value,done:false});this.executionQueue_.drop();this.runFrame_()}};
  64. $jscomp.AsyncGeneratorWrapper.prototype.handleDelegateError_=function(thrownError){var frame=this.executionQueue_.first();this.delegate_=null;frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;frame.param=thrownError;this.runFrame_()};
  65. $jscomp.AsyncGeneratorWrapper.prototype.rejectAndClose_=function(err){if(!this.executionQueue_.isEmpty()){this.executionQueue_.first().reject(err);this.executionQueue_.drop()}if(this.delegate_&&"return"in this.delegate_){this.delegate_["return"](undefined);this.delegate_=null}this.generator_["return"](undefined);this.runFrame_()};$jscomp.underscoreProtoCanBeSet=function(){var x={a:true};var y={};try{y.__proto__=x;return y.a}catch(e){}return false};
  66. $jscomp.setPrototypeOf=typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(target,proto){target.__proto__=proto;if(target.__proto__!==proto)throw new TypeError(target+" is not extensible");return target}:null;$jscomp.generator={};$jscomp.generator.ensureIteratorResultIsObject_=function(result){if(result instanceof Object)return;throw new TypeError("Iterator result "+result+" is not an object");};
  67. $jscomp.generator.Context=function(){this.isRunning_=false;this.yieldAllIterator_=null;this.yieldResult=undefined;this.nextAddress=1;this.catchAddress_=0;this.finallyAddress_=0;this.abruptCompletion_=null;this.finallyContexts_=null};$jscomp.generator.Context.prototype.start_=function(){if(this.isRunning_)throw new TypeError("Generator is already running");this.isRunning_=true};$jscomp.generator.Context.prototype.stop_=function(){this.isRunning_=false};
  68. $jscomp.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_};$jscomp.generator.Context.prototype.next_=function(value){this.yieldResult=value};$jscomp.generator.Context.prototype.throw_=function(e){this.abruptCompletion_={exception:e,isException:true};this.jumpToErrorHandler_()};$jscomp.generator.Context.prototype.return=function(value){this.abruptCompletion_={return:value};this.nextAddress=this.finallyAddress_};
  69. $jscomp.generator.Context.prototype.jumpThroughFinallyBlocks=function(nextAddress){this.abruptCompletion_={jumpTo:nextAddress};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.yield=function(value,resumeAddress){this.nextAddress=resumeAddress;return{value:value}};
  70. $jscomp.generator.Context.prototype.yieldAll=function(iterable,resumeAddress){var iterator=$jscomp.makeIterator(iterable);var result=iterator.next();$jscomp.generator.ensureIteratorResultIsObject_(result);if(result.done){this.yieldResult=result.value;this.nextAddress=resumeAddress;return}this.yieldAllIterator_=iterator;return this.yield(result.value,resumeAddress)};$jscomp.generator.Context.prototype.jumpTo=function(nextAddress){this.nextAddress=nextAddress};
  71. $jscomp.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0};$jscomp.generator.Context.prototype.setCatchFinallyBlocks=function(catchAddress,finallyAddress){this.catchAddress_=catchAddress;if(finallyAddress!=undefined)this.finallyAddress_=finallyAddress};$jscomp.generator.Context.prototype.setFinallyBlock=function(finallyAddress){this.catchAddress_=0;this.finallyAddress_=finallyAddress||0};
  72. $jscomp.generator.Context.prototype.leaveTryBlock=function(nextAddress,catchAddress){this.nextAddress=nextAddress;this.catchAddress_=catchAddress||0};$jscomp.generator.Context.prototype.enterCatchBlock=function(nextCatchBlockAddress){this.catchAddress_=nextCatchBlockAddress||0;var exception=this.abruptCompletion_.exception;this.abruptCompletion_=null;return exception};
  73. $jscomp.generator.Context.prototype.enterFinallyBlock=function(nextCatchAddress,nextFinallyAddress,finallyDepth){if(!finallyDepth)this.finallyContexts_=[this.abruptCompletion_];else this.finallyContexts_[finallyDepth]=this.abruptCompletion_;this.catchAddress_=nextCatchAddress||0;this.finallyAddress_=nextFinallyAddress||0};
  74. $jscomp.generator.Context.prototype.leaveFinallyBlock=function(nextAddress,finallyDepth){var preservedContext=this.finallyContexts_.splice(finallyDepth||0)[0];var abruptCompletion=this.abruptCompletion_=this.abruptCompletion_||preservedContext;if(abruptCompletion){if(abruptCompletion.isException)return this.jumpToErrorHandler_();if(abruptCompletion.jumpTo!=undefined&&this.finallyAddress_<abruptCompletion.jumpTo){this.nextAddress=abruptCompletion.jumpTo;this.abruptCompletion_=null}else this.nextAddress=
  75. this.finallyAddress_}else this.nextAddress=nextAddress};$jscomp.generator.Context.prototype.forIn=function(object){return new $jscomp.generator.Context.PropertyIterator(object)};$jscomp.generator.Context.PropertyIterator=function(object){this.object_=object;this.properties_=[];for(var property in object)this.properties_.push(property);this.properties_.reverse()};
  76. $jscomp.generator.Context.PropertyIterator.prototype.getNext=function(){while(this.properties_.length>0){var property=this.properties_.pop();if(property in this.object_)return property}return null};$jscomp.generator.Engine_=function(program){this.context_=new $jscomp.generator.Context;this.program_=program};
  77. $jscomp.generator.Engine_.prototype.next_=function(value){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_.next,value,this.context_.next_);this.context_.next_(value);return this.nextStep_()};
  78. $jscomp.generator.Engine_.prototype.return_=function(value){this.context_.start_();var yieldAllIterator=this.context_.yieldAllIterator_;if(yieldAllIterator){var returnFunction="return"in yieldAllIterator?yieldAllIterator["return"]:function(v){return{value:v,done:true}};return this.yieldAllStep_(returnFunction,value,this.context_.return)}this.context_.return(value);return this.nextStep_()};
  79. $jscomp.generator.Engine_.prototype.throw_=function(exception){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_["throw"],exception,this.context_.next_);this.context_.throw_(exception);return this.nextStep_()};
  80. $jscomp.generator.Engine_.prototype.yieldAllStep_=function(action,value,nextAction){try{var result=action.call(this.context_.yieldAllIterator_,value);$jscomp.generator.ensureIteratorResultIsObject_(result);if(!result.done){this.context_.stop_();return result}var resultValue=result.value}catch(e){this.context_.yieldAllIterator_=null;this.context_.throw_(e);return this.nextStep_()}this.context_.yieldAllIterator_=null;nextAction.call(this.context_,resultValue);return this.nextStep_()};
  81. $jscomp.generator.Engine_.prototype.nextStep_=function(){while(this.context_.nextAddress)try{var yieldValue=this.program_(this.context_);if(yieldValue){this.context_.stop_();return{value:yieldValue.value,done:false}}}catch(e){this.context_.yieldResult=undefined;this.context_.throw_(e)}this.context_.stop_();if(this.context_.abruptCompletion_){var abruptCompletion=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(abruptCompletion.isException)throw abruptCompletion.exception;return{value:abruptCompletion.return,
  82. done:true}}return{value:undefined,done:true}};$jscomp.generator.Generator_=function(engine){this.next=function(opt_value){return engine.next_(opt_value)};this.throw=function(exception){return engine.throw_(exception)};this.return=function(value){return engine.return_(value)};$jscomp.initSymbolIterator();this[Symbol.iterator]=function(){return this}};
  83. $jscomp.generator.createGenerator=function(generator,program){var result=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program));if($jscomp.setPrototypeOf)$jscomp.setPrototypeOf(result,generator.prototype);return result};
  84. $jscomp.asyncExecutePromiseGenerator=function(generator){function passValueToGenerator(value){return generator.next(value)}function passErrorToGenerator(error){return generator.throw(error)}return new Promise(function(resolve,reject){function handleGeneratorRecord(genRec){if(genRec.done)resolve(genRec.value);else Promise.resolve(genRec.value).then(passValueToGenerator,passErrorToGenerator).then(handleGeneratorRecord,reject)}handleGeneratorRecord(generator.next())})};
  85. $jscomp.asyncExecutePromiseGeneratorFunction=function(generatorFunction){return $jscomp.asyncExecutePromiseGenerator(generatorFunction())};$jscomp.asyncExecutePromiseGeneratorProgram=function(program){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program)))};$jscomp.polyfill("globalThis",function(orig){return orig||$jscomp.global},"es_2020","es3");
  86. $jscomp.checkEs6ConformanceViaProxy=function(){try{var proxied={};var proxy=Object.create(new $jscomp.global["Proxy"](proxied,{"get":function(target,key,receiver){return target==proxied&&key=="q"&&receiver==proxy}}));return proxy["q"]===true}catch(err){return false}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=false;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();
  87. $jscomp.owns=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)};
  88. $jscomp.polyfill("WeakMap",function(NativeWeakMap){function isConformant(){if(!NativeWeakMap||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var map=new NativeWeakMap([[x,2],[y,3]]);if(map.get(x)!=2||map.get(y)!=3)return false;map.delete(x);map.set(y,4);return!map.has(x)&&map.get(y)==4}catch(err){return false}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeWeakMap&&$jscomp.ES6_CONFORMANCE)return NativeWeakMap}else if(isConformant())return NativeWeakMap;var prop=
  89. "$jscomp_hidden_"+Math.random();function WeakMapMembership(){}function isValidKey(key){var type=typeof key;return type==="object"&&key!==null||type==="function"}function insert(target){if(!$jscomp.owns(target,prop)){var obj=new WeakMapMembership;$jscomp.defineProperty(target,prop,{value:obj})}}function patch(name){var prev=Object[name];if(prev)Object[name]=function(target){if(target instanceof WeakMapMembership)return target;else{insert(target);return prev(target)}}}patch("freeze");patch("preventExtensions");
  90. patch("seal");var index=0;var PolyfillWeakMap=function(opt_iterable){this.id_=(index+=Math.random()+1).toString();if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.set(item[0],item[1])}}};PolyfillWeakMap.prototype.set=function(key,value){if(!isValidKey(key))throw new Error("Invalid WeakMap key");insert(key);if(!$jscomp.owns(key,prop))throw new Error("WeakMap key fail: "+key);key[prop][this.id_]=value;return this};PolyfillWeakMap.prototype.get=
  91. function(key){return isValidKey(key)&&$jscomp.owns(key,prop)?key[prop][this.id_]:undefined};PolyfillWeakMap.prototype.has=function(key){return isValidKey(key)&&$jscomp.owns(key,prop)&&$jscomp.owns(key[prop],this.id_)};PolyfillWeakMap.prototype.delete=function(key){if(!isValidKey(key)||!$jscomp.owns(key,prop)||!$jscomp.owns(key[prop],this.id_))return false;return delete key[prop][this.id_]};return PolyfillWeakMap},"es6","es3");
  92. $jscomp.MapEntry=function(){this.previous;this.next;this.head;this.key;this.value};
  93. $jscomp.polyfill("Map",function(NativeMap){function isConformant(){if($jscomp.ASSUME_NO_NATIVE_MAP||!NativeMap||typeof NativeMap!="function"||!NativeMap.prototype.entries||typeof Object.seal!="function")return false;try{NativeMap=NativeMap;var key=Object.seal({x:4});var map=new NativeMap($jscomp.makeIterator([[key,"s"]]));if(map.get(key)!="s"||map.size!=1||map.get({x:4})||map.set({x:4},"t")!=map||map.size!=2)return false;var iter=map.entries();var item=iter.next();if(item.done||item.value[0]!=key||
  94. item.value[1]!="s")return false;item=iter.next();if(item.done||item.value[0].x!=4||item.value[1]!="t"||!iter.next().done)return false;return true}catch(err){return false}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeMap&&$jscomp.ES6_CONFORMANCE)return NativeMap}else if(isConformant())return NativeMap;$jscomp.initSymbolIterator();var idMap=new WeakMap;var PolyfillMap=function(opt_iterable){this.data_={};this.head_=createHead();this.size=0;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);
  95. var entry;while(!(entry=iter.next()).done){var item=entry.value;this.set(item[0],item[1])}}};PolyfillMap.prototype.set=function(key,value){key=key===0?0:key;var r=maybeGetEntry(this,key);if(!r.list)r.list=this.data_[r.id]=[];if(!r.entry){r.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:key,value:value};r.list.push(r.entry);this.head_.previous.next=r.entry;this.head_.previous=r.entry;this.size++}else r.entry.value=value;return this};PolyfillMap.prototype.delete=function(key){var r=
  96. maybeGetEntry(this,key);if(r.entry&&r.list){r.list.splice(r.index,1);if(!r.list.length)delete this.data_[r.id];r.entry.previous.next=r.entry.next;r.entry.next.previous=r.entry.previous;r.entry.head=null;this.size--;return true}return false};PolyfillMap.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=createHead();this.size=0};PolyfillMap.prototype.has=function(key){return!!maybeGetEntry(this,key).entry};PolyfillMap.prototype.get=function(key){var entry=maybeGetEntry(this,key).entry;
  97. return entry&&entry.value};PolyfillMap.prototype.entries=function(){return makeIterator(this,function(entry){return[entry.key,entry.value]})};PolyfillMap.prototype.keys=function(){return makeIterator(this,function(entry){return entry.key})};PolyfillMap.prototype.values=function(){return makeIterator(this,function(entry){return entry.value})};PolyfillMap.prototype.forEach=function(callback,opt_thisArg){var iter=this.entries();var item;while(!(item=iter.next()).done){var entry=item.value;callback.call(opt_thisArg,
  98. entry[1],entry[0],this)}};PolyfillMap.prototype[Symbol.iterator]=PolyfillMap.prototype.entries;var maybeGetEntry=function(map,key){var id=getId(key);var list=map.data_[id];if(list&&$jscomp.owns(map.data_,id))for(var index=0;index<list.length;index++){var entry=list[index];if(key!==key&&entry.key!==entry.key||key===entry.key)return{id:id,list:list,index:index,entry:entry}}return{id:id,list:list,index:-1,entry:undefined}};var makeIterator=function(map,func){var entry=map.head_;return $jscomp.iteratorPrototype(function(){if(entry){while(entry.head!=
  99. map.head_)entry=entry.previous;while(entry.next!=entry.head){entry=entry.next;return{done:false,value:func(entry)}}entry=null}return{done:true,value:void 0}})};var createHead=function(){var head={};head.previous=head.next=head.head=head;return head};var mapIndex=0;var getId=function(obj){var type=obj&&typeof obj;if(type=="object"||type=="function"){obj=obj;if(!idMap.has(obj)){var id=""+ ++mapIndex;idMap.set(obj,id);return id}return idMap.get(obj)}return"p_"+obj};return PolyfillMap},"es6","es3");
  100. $jscomp.polyfill("Math.acosh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return Math.log(x+Math.sqrt(x*x-1))};return polyfill},"es6","es3");$jscomp.polyfill("Math.asinh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.log(Math.abs(x)+Math.sqrt(x*x+1));return x<0?-y:y};return polyfill},"es6","es3");
  101. $jscomp.polyfill("Math.log1p",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;var s=1;while(zPrev!=z){y*=x;s*=-1;z=(zPrev=z)+s*y/++d}return z}return Math.log(1+x)};return polyfill},"es6","es3");$jscomp.polyfill("Math.atanh",function(orig){if(orig)return orig;var log1p=Math.log1p;var polyfill=function(x){x=Number(x);return(log1p(x)-log1p(-x))/2};return polyfill},"es6","es3");
  102. $jscomp.polyfill("Math.cbrt",function(orig){if(orig)return orig;var polyfill=function(x){if(x===0)return x;x=Number(x);var y=Math.pow(Math.abs(x),1/3);return x<0?-y:y};return polyfill},"es6","es3");
  103. $jscomp.polyfill("Math.clz32",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x)>>>0;if(x===0)return 32;var result=0;if((x&4294901760)===0){x<<=16;result+=16}if((x&4278190080)===0){x<<=8;result+=8}if((x&4026531840)===0){x<<=4;result+=4}if((x&3221225472)===0){x<<=2;result+=2}if((x&2147483648)===0)result++;return result};return polyfill},"es6","es3");
  104. $jscomp.polyfill("Math.cosh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);return(exp(x)+exp(-x))/2};return polyfill},"es6","es3");$jscomp.polyfill("Math.expm1",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;while(zPrev!=z){y*=x/++d;z=(zPrev=z)+y}return z}return Math.exp(x)-1};return polyfill},"es6","es3");
  105. $jscomp.polyfill("Math.fround",function(orig){if(orig)return orig;if($jscomp.SIMPLE_FROUND_POLYFILL||typeof Float32Array!=="function")return function(arg){return arg};var arr=new Float32Array(1);var polyfill=function(arg){arr[0]=arg;return arr[0]};return polyfill},"es6","es3");
  106. $jscomp.polyfill("Math.hypot",function(orig){if(orig)return orig;var polyfill=function(var_args){if(arguments.length<2)return arguments.length?Math.abs(arguments[0]):0;var i,z,sum,max;for(max=0,i=0;i<arguments.length;i++)max=Math.max(max,Math.abs(arguments[i]));if(max>1E100||max<1E-100){if(!max)return max;sum=0;for(i=0;i<arguments.length;i++){z=Number(arguments[i])/max;sum+=z*z}return Math.sqrt(sum)*max}else{sum=0;for(i=0;i<arguments.length;i++){z=Number(arguments[i]);sum+=z*z}return Math.sqrt(sum)}};
  107. return polyfill},"es6","es3");$jscomp.polyfill("Math.imul",function(orig){if(orig)return orig;var polyfill=function(a,b){a=Number(a);b=Number(b);var ah=a>>>16&65535;var al=a&65535;var bh=b>>>16&65535;var bl=b&65535;var lh=ah*bl+al*bh<<16>>>0;return al*bl+lh|0};return polyfill},"es6","es3");$jscomp.polyfill("Math.log10",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN10};return polyfill},"es6","es3");
  108. $jscomp.polyfill("Math.log2",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN2};return polyfill},"es6","es3");$jscomp.polyfill("Math.sign",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return x===0||isNaN(x)?x:x>0?1:-1};return polyfill},"es6","es3");$jscomp.polyfill("Math.sinh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);if(x===0)return x;return(exp(x)-exp(-x))/2};return polyfill},"es6","es3");
  109. $jscomp.polyfill("Math.tanh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.exp(-2*Math.abs(x));var z=(1-y)/(1+y);return x<0?-z:z};return polyfill},"es6","es3");$jscomp.polyfill("Math.trunc",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(isNaN(x)||x===Infinity||x===-Infinity||x===0)return x;var y=Math.floor(Math.abs(x));return x<0?-y:y};return polyfill},"es6","es3");
  110. $jscomp.polyfill("Number.EPSILON",function(orig){return Math.pow(2,-52)},"es6","es3");$jscomp.polyfill("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991},"es6","es3");$jscomp.polyfill("Number.MIN_SAFE_INTEGER",function(){return-9007199254740991},"es6","es3");$jscomp.polyfill("Number.isFinite",function(orig){if(orig)return orig;var polyfill=function(x){if(typeof x!=="number")return false;return!isNaN(x)&&x!==Infinity&&x!==-Infinity};return polyfill},"es6","es3");
  111. $jscomp.polyfill("Number.isInteger",function(orig){if(orig)return orig;var polyfill=function(x){if(!Number.isFinite(x))return false;return x===Math.floor(x)};return polyfill},"es6","es3");$jscomp.polyfill("Number.isNaN",function(orig){if(orig)return orig;var polyfill=function(x){return typeof x==="number"&&isNaN(x)};return polyfill},"es6","es3");
  112. $jscomp.polyfill("Number.isSafeInteger",function(orig){if(orig)return orig;var polyfill=function(x){return Number.isInteger(x)&&Math.abs(x)<=Number.MAX_SAFE_INTEGER};return polyfill},"es6","es3");$jscomp.polyfill("Number.parseFloat",function(orig){return orig||parseFloat},"es6","es3");$jscomp.polyfill("Number.parseInt",function(orig){return orig||parseInt},"es6","es3");
  113. $jscomp.assign=typeof Object.assign=="function"?Object.assign:function(target,var_args){for(var i=1;i<arguments.length;i++){var source=arguments[i];if(!source)continue;for(var key in source)if($jscomp.owns(source,key))target[key]=source[key]}return target};$jscomp.polyfill("Object.assign",function(orig){return orig||$jscomp.assign},"es6","es3");
  114. $jscomp.polyfill("Object.entries",function(orig){if(orig)return orig;var entries=function(obj){var result=[];for(var key in obj)if($jscomp.owns(obj,key))result.push([key,obj[key]]);return result};return entries},"es8","es3");
  115. $jscomp.polyfill("Object.fromEntries",function(orig){if(orig)return orig;function fromEntries(iter){var obj={};$jscomp.initSymbolIterator();if(!(Symbol.iterator in iter))throw new TypeError(""+iter+" is not iterable");var iteratorFn=iter[Symbol.iterator];var iterator=iteratorFn.call(iter);for(var result=iterator.next();!result.done;result=iterator.next()){var pair=result.value;if(Object(pair)!==pair)throw new TypeError("iterable for fromEntries should yield objects");var key=pair[0];var val=pair[1];
  116. obj[key]=val}return obj}return fromEntries},"es_2019","es3");$jscomp.polyfill("Object.getOwnPropertySymbols",function(orig){if(orig)return orig;return function(){return[]}},"es6","es5");
  117. $jscomp.polyfill("Reflect.ownKeys",function(orig){if(orig)return orig;var symbolPrefix="jscomp_symbol_";function isSymbol(key){return key.substring(0,symbolPrefix.length)==symbolPrefix}var polyfill=function(target){var keys=[];var names=Object.getOwnPropertyNames(target);var symbols=Object.getOwnPropertySymbols(target);for(var i=0;i<names.length;i++)(isSymbol(names[i])?symbols:keys).push(names[i]);return keys.concat(symbols)};return polyfill},"es6","es5");
  118. $jscomp.polyfill("Object.getOwnPropertyDescriptors",function(orig){if(orig)return orig;var getOwnPropertyDescriptors=function(obj){var result={};var keys=Reflect.ownKeys(obj);for(var i=0;i<keys.length;i++)result[keys[i]]=Object.getOwnPropertyDescriptor(obj,keys[i]);return result};return getOwnPropertyDescriptors},"es8","es5");$jscomp.polyfill("Object.setPrototypeOf",function(orig){return orig||$jscomp.setPrototypeOf},"es6","es5");
  119. $jscomp.polyfill("Object.values",function(orig){if(orig)return orig;var values=function(obj){var result=[];for(var key in obj)if($jscomp.owns(obj,key))result.push(obj[key]);return result};return values},"es8","es3");
  120. $jscomp.polyfill("Promise.allSettled",function(orig){if(orig)return orig;function fulfilledResult(value){return{status:"fulfilled",value:value}}function rejectedResult(reason){return{status:"rejected",reason:reason}}var polyfill=function(thenablesOrValues){var PromiseConstructor=this;function convertToAllSettledResult(maybeThenable){return PromiseConstructor.resolve(maybeThenable).then(fulfilledResult,rejectedResult)}var wrappedResults=Array.from(thenablesOrValues,convertToAllSettledResult);return PromiseConstructor.all(wrappedResults)};
  121. return polyfill},"es_2020","es3");$jscomp.polyfill("Promise.prototype.finally",function(orig){if(orig)return orig;var polyfill=function(onFinally){return this.then(function(value){var promise=Promise.resolve(onFinally());return promise.then(function(){return value})},function(reason){var promise=Promise.resolve(onFinally());return promise.then(function(){throw reason;})})};return polyfill},"es9","es3");
  122. $jscomp.polyfill("Reflect.apply",function(orig){if(orig)return orig;var apply=Function.prototype.apply;var polyfill=function(target,thisArg,argList){return apply.call(target,thisArg,argList)};return polyfill},"es6","es3");$jscomp.objectCreate=$jscomp.ASSUME_ES5||typeof Object.create=="function"?Object.create:function(prototype){var ctor=function(){};ctor.prototype=prototype;return new ctor};
  123. $jscomp.construct=function(){function reflectConstructWorks(){function Base(){}function Derived(){}new Base;Reflect.construct(Base,[],Derived);return new Base instanceof Base}if(typeof Reflect!="undefined"&&Reflect.construct){if(reflectConstructWorks())return Reflect.construct;var brokenConstruct=Reflect.construct;var patchedConstruct=function(target,argList,opt_newTarget){var out=brokenConstruct(target,argList);if(opt_newTarget)Reflect.setPrototypeOf(out,opt_newTarget.prototype);return out};return patchedConstruct}function construct(target,
  124. argList,opt_newTarget){if(opt_newTarget===undefined)opt_newTarget=target;var proto=opt_newTarget.prototype||Object.prototype;var obj=$jscomp.objectCreate(proto);var apply=Function.prototype.apply;var out=apply.call(target,obj,argList);return out||obj}return construct}();$jscomp.polyfill("Reflect.construct",function(orig){return $jscomp.construct},"es6","es3");
  125. $jscomp.polyfill("Reflect.defineProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,attributes){try{Object.defineProperty(target,propertyKey,attributes);var desc=Object.getOwnPropertyDescriptor(target,propertyKey);if(!desc)return false;return desc.configurable===(attributes.configurable||false)&&desc.enumerable===(attributes.enumerable||false)&&("value"in desc?desc.value===attributes.value&&desc.writable===(attributes.writable||false):desc.get===attributes.get&&desc.set===
  126. attributes.set)}catch(err){return false}};return polyfill},"es6","es5");$jscomp.polyfill("Reflect.deleteProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){if(!$jscomp.owns(target,propertyKey))return true;try{return delete target[propertyKey]}catch(err){return false}};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.getOwnPropertyDescriptor",function(orig){return orig||Object.getOwnPropertyDescriptor},"es6","es5");
  127. $jscomp.polyfill("Reflect.getPrototypeOf",function(orig){return orig||Object.getPrototypeOf},"es6","es5");$jscomp.findDescriptor=function(target,propertyKey){var obj=target;while(obj){var property=Reflect.getOwnPropertyDescriptor(obj,propertyKey);if(property)return property;obj=Reflect.getPrototypeOf(obj)}return undefined};
  128. $jscomp.polyfill("Reflect.get",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,opt_receiver){if(arguments.length<=2)return target[propertyKey];var property=$jscomp.findDescriptor(target,propertyKey);if(property)return property.get?property.get.call(opt_receiver):property.value;return undefined};return polyfill},"es6","es5");
  129. $jscomp.polyfill("Reflect.has",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){return propertyKey in target};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.isExtensible",function(orig){if(orig)return orig;if($jscomp.ASSUME_ES5||typeof Object.isExtensible=="function")return Object.isExtensible;return function(){return true}},"es6","es3");
  130. $jscomp.polyfill("Reflect.preventExtensions",function(orig){if(orig)return orig;if(!($jscomp.ASSUME_ES5||typeof Object.preventExtensions=="function"))return function(){return false};var polyfill=function(target){Object.preventExtensions(target);return!Object.isExtensible(target)};return polyfill},"es6","es3");
  131. $jscomp.polyfill("Reflect.set",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,value,opt_receiver){var property=$jscomp.findDescriptor(target,propertyKey);if(!property){if(Reflect.isExtensible(target)){target[propertyKey]=value;return true}return false}if(property.set){property.set.call(arguments.length>3?opt_receiver:target,value);return true}else if(property.writable&&!Object.isFrozen(target)){target[propertyKey]=value;return true}return false};return polyfill},"es6",
  132. "es5");$jscomp.polyfill("Reflect.setPrototypeOf",function(orig){if(orig)return orig;else if($jscomp.setPrototypeOf){var setPrototypeOf=$jscomp.setPrototypeOf;var polyfill=function(target,proto){try{setPrototypeOf(target,proto);return true}catch(e){return false}};return polyfill}else return null},"es6","es5");
  133. $jscomp.polyfill("Set",function(NativeSet){function isConformant(){if($jscomp.ASSUME_NO_NATIVE_SET||!NativeSet||typeof NativeSet!="function"||!NativeSet.prototype.entries||typeof Object.seal!="function")return false;try{NativeSet=NativeSet;var value=Object.seal({x:4});var set=new NativeSet($jscomp.makeIterator([value]));if(!set.has(value)||set.size!=1||set.add(value)!=set||set.size!=1||set.add({x:4})!=set||set.size!=2)return false;var iter=set.entries();var item=iter.next();if(item.done||item.value[0]!=
  134. value||item.value[1]!=value)return false;item=iter.next();if(item.done||item.value[0]==value||item.value[0].x!=4||item.value[1]!=item.value[0])return false;return iter.next().done}catch(err){return false}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeSet&&$jscomp.ES6_CONFORMANCE)return NativeSet}else if(isConformant())return NativeSet;$jscomp.initSymbolIterator();var PolyfillSet=function(opt_iterable){this.map_=new Map;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;
  135. while(!(entry=iter.next()).done){var item=entry.value;this.add(item)}}this.size=this.map_.size};PolyfillSet.prototype.add=function(value){value=value===0?0:value;this.map_.set(value,value);this.size=this.map_.size;return this};PolyfillSet.prototype.delete=function(value){var result=this.map_.delete(value);this.size=this.map_.size;return result};PolyfillSet.prototype.clear=function(){this.map_.clear();this.size=0};PolyfillSet.prototype.has=function(value){return this.map_.has(value)};PolyfillSet.prototype.entries=
  136. function(){return this.map_.entries()};PolyfillSet.prototype.values=function(){return this.map_.values()};PolyfillSet.prototype.keys=PolyfillSet.prototype.values;PolyfillSet.prototype[Symbol.iterator]=PolyfillSet.prototype.values;PolyfillSet.prototype.forEach=function(callback,opt_thisArg){var set=this;this.map_.forEach(function(value){return callback.call(opt_thisArg,value,value,set)})};return PolyfillSet},"es6","es3");
  137. $jscomp.checkStringArgs=function(thisArg,arg,func){if(thisArg==null)throw new TypeError("The 'this' value for String.prototype."+func+" must not be null or undefined");if(arg instanceof RegExp)throw new TypeError("First argument to String.prototype."+func+" must not be a regular expression");return thisArg+""};
  138. $jscomp.polyfill("String.prototype.codePointAt",function(orig){if(orig)return orig;var polyfill=function(position){var string=$jscomp.checkStringArgs(this,null,"codePointAt");var size=string.length;position=Number(position)||0;if(!(position>=0&&position<size))return void 0;position=position|0;var first=string.charCodeAt(position);if(first<55296||first>56319||position+1===size)return first;var second=string.charCodeAt(position+1);if(second<56320||second>57343)return first;return(first-55296)*1024+
  139. second+9216};return polyfill},"es6","es3");$jscomp.polyfill("String.prototype.endsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"endsWith");searchString=searchString+"";if(opt_position===void 0)opt_position=string.length;var i=Math.max(0,Math.min(opt_position|0,string.length));var j=searchString.length;while(j>0&&i>0)if(string[--i]!=searchString[--j])return false;return j<=0};return polyfill},"es6","es3");
  140. $jscomp.polyfill("String.fromCodePoint",function(orig){if(orig)return orig;var polyfill=function(var_args){var result="";for(var i=0;i<arguments.length;i++){var code=Number(arguments[i]);if(code<0||code>1114111||code!==Math.floor(code))throw new RangeError("invalid_code_point "+code);if(code<=65535)result+=String.fromCharCode(code);else{code-=65536;result+=String.fromCharCode(code>>>10&1023|55296);result+=String.fromCharCode(code&1023|56320)}}return result};return polyfill},"es6","es3");
  141. $jscomp.polyfill("String.prototype.includes",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"includes");return string.indexOf(searchString,opt_position||0)!==-1};return polyfill},"es6","es3");
  142. $jscomp.polyfill("String.prototype.matchAll",function(orig){if(orig)return orig;$jscomp.initSymbolIterator();var polyfill=function(regexp){if(regexp instanceof RegExp&&!regexp.global)throw new TypeError("RegExp passed into String.prototype.matchAll() must have global tag.");var regexCopy=new RegExp(regexp,regexp instanceof RegExp?undefined:"g");var matchString=this;var finished=false;var matchAllIterator={next:function(){var result={};var previousIndex=regexCopy.lastIndex;if(finished)return{value:undefined,
  143. done:true};var match=regexCopy.exec(matchString);if(!match){finished=true;return{value:undefined,done:true}}if(regexCopy.lastIndex===previousIndex)regexCopy.lastIndex+=1;result.value=match;result.done=false;return result}};matchAllIterator[Symbol.iterator]=function(){return matchAllIterator};return matchAllIterator};return polyfill},"es_2020","es3");
  144. $jscomp.polyfill("String.prototype.repeat",function(orig){if(orig)return orig;var polyfill=function(copies){var string=$jscomp.checkStringArgs(this,null,"repeat");if(copies<0||copies>1342177279)throw new RangeError("Invalid count value");copies=copies|0;var result="";while(copies){if(copies&1)result+=string;if(copies>>>=1)string+=string}return result};return polyfill},"es6","es3");
  145. $jscomp.stringPadding=function(padString,padLength){var padding=padString!==undefined?String(padString):" ";if(!(padLength>0)||!padding)return"";var repeats=Math.ceil(padLength/padding.length);return padding.repeat(repeats).substring(0,padLength)};
  146. $jscomp.polyfill("String.prototype.padEnd",function(orig){if(orig)return orig;var padEnd=function(targetLength,opt_padString){var string=$jscomp.checkStringArgs(this,null,"padStart");var padLength=targetLength-string.length;return string+$jscomp.stringPadding(opt_padString,padLength)};return padEnd},"es8","es3");
  147. $jscomp.polyfill("String.prototype.padStart",function(orig){if(orig)return orig;var padStart=function(targetLength,opt_padString){var string=$jscomp.checkStringArgs(this,null,"padStart");var padLength=targetLength-string.length;return $jscomp.stringPadding(opt_padString,padLength)+string};return padStart},"es8","es3");
  148. $jscomp.polyfill("String.prototype.startsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"startsWith");searchString=searchString+"";var strLen=string.length;var searchLen=searchString.length;var i=Math.max(0,Math.min(opt_position|0,string.length));var j=0;while(j<searchLen&&i<strLen)if(string[i++]!=searchString[j++])return false;return j>=searchLen};return polyfill},"es6","es3");
  149. $jscomp.polyfill("String.prototype.trimRight",function(orig){function polyfill(){return this.replace(/[\s\xa0]+$/,"")}return orig||polyfill},"es_2019","es3");$jscomp.polyfill("String.prototype.trimEnd",function(orig){return orig||String.prototype.trimRight},"es_2019","es3");$jscomp.polyfill("String.prototype.trimLeft",function(orig){function polyfill(){return this.replace(/^[\s\xa0]+/,"")}return orig||polyfill},"es_2019","es3");
  150. $jscomp.polyfill("String.prototype.trimStart",function(orig){return orig||String.prototype.trimLeft},"es_2019","es3");$jscomp.createTemplateTagFirstArg=function(arrayStrings){arrayStrings.raw=arrayStrings;return arrayStrings};$jscomp.createTemplateTagFirstArgWithRaw=function(arrayStrings,rawArrayStrings){arrayStrings.raw=rawArrayStrings;return arrayStrings};$jscomp.arrayFromIterator=function(iterator){var i;var arr=[];while(!(i=iterator.next()).done)arr.push(i.value);return arr};
  151. $jscomp.arrayFromIterable=function(iterable){if(iterable instanceof Array)return iterable;else return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable))};
  152. $jscomp.inherits=function(childCtor,parentCtor){childCtor.prototype=$jscomp.objectCreate(parentCtor.prototype);childCtor.prototype.constructor=childCtor;if($jscomp.setPrototypeOf){var setPrototypeOf=$jscomp.setPrototypeOf;setPrototypeOf(childCtor,parentCtor)}else for(var p in parentCtor){if(p=="prototype")continue;if(Object.defineProperties){var descriptor=Object.getOwnPropertyDescriptor(parentCtor,p);if(descriptor)Object.defineProperty(childCtor,p,descriptor)}else childCtor[p]=parentCtor[p]}childCtor.superClass_=
  153. parentCtor.prototype};
  154. $jscomp.polyfill("WeakSet",function(NativeWeakSet){function isConformant(){if(!NativeWeakSet||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var set=new NativeWeakSet([x]);if(!set.has(x)||set.has(y))return false;set.delete(x);set.add(y);return!set.has(x)&&set.has(y)}catch(err){return false}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeWeakSet&&$jscomp.ES6_CONFORMANCE)return NativeWeakSet}else if(isConformant())return NativeWeakSet;var PolyfillWeakSet=function(opt_iterable){this.map_=
  155. new WeakMap;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.add(item)}}};PolyfillWeakSet.prototype.add=function(elem){this.map_.set(elem,true);return this};PolyfillWeakSet.prototype.has=function(elem){return this.map_.has(elem)};PolyfillWeakSet.prototype.delete=function(elem){return this.map_.delete(elem)};return PolyfillWeakSet},"es6","es3");
  156. (function(){var Module=function(id,opt_exports){this.id=id;this.exports=opt_exports||{}};Module.prototype.exportAllFrom=function(other){var module=this;var define={};for(var key in other){if(key=="default"||key in module.exports||key in define)continue;define[key]={enumerable:true,get:function(key){return function(){return other[key]}}(key)}}$jscomp.global.Object.defineProperties(module.exports,define)};var CacheEntry=function(def,module,path){this.def=def;this.module=module;this.path=path;this.blockingDeps=
  157. new Set};CacheEntry.prototype.load=function(){if(this.def){var def=this.def;this.def=null;callRequireCallback(def,this.module)}return this.module.exports};function callRequireCallback(callback,opt_module){var oldPath=currentModulePath;try{if(opt_module){currentModulePath=opt_module.id;callback.call(opt_module,createRequire(opt_module),opt_module.exports,opt_module)}else callback($jscomp.require)}finally{currentModulePath=oldPath}}var moduleCache=new Map;var currentModulePath="";function normalizePath(path){var components=
  158. path.split("/");var i=0;while(i<components.length)if(components[i]==".")components.splice(i,1);else if(i&&components[i]==".."&&components[i-1]&&components[i-1]!="..")components.splice(--i,2);else i++;return components.join("/")}$jscomp.getCurrentModulePath=function(){return currentModulePath};function getCacheEntry(id){var cacheEntry=moduleCache.get(id);if(cacheEntry===undefined)throw new Error("Module "+id+" does not exist.");return cacheEntry}var ensureMap=new Map;var CallbackEntry=function(requireSet,
  159. callback){this.requireSet=requireSet;this.callback=callback};function maybeNormalizePath(root,absOrRelativePath){if(absOrRelativePath.startsWith("./")||absOrRelativePath.startsWith("../"))return normalizePath(root+"/../"+absOrRelativePath);else return absOrRelativePath}function createRequire(opt_module){function require(absOrRelativePath){var absPath=absOrRelativePath;if(opt_module)absPath=maybeNormalizePath(opt_module.id,absPath);return getCacheEntry(absPath).load()}function requireEnsure(requires,
  160. callback){if(currentModulePath)for(var i=0;i<requires.length;i++)requires[i]=maybeNormalizePath(currentModulePath,requires[i]);var blockingRequires=[];for(var i=0;i<requires.length;i++){var required=moduleCache.get(requires[i]);if(!required||required.blockingDeps.size)blockingRequires.push(requires[i])}if(blockingRequires.length){var requireSet=new Set(blockingRequires);var callbackEntry=new CallbackEntry(requireSet,callback);requireSet.forEach(function(require){var arr=ensureMap.get(require);if(!arr){arr=
  161. [];ensureMap.set(require,arr)}arr.push(callbackEntry)})}else callback(require)}require.ensure=requireEnsure;return require}$jscomp.require=createRequire();$jscomp.hasModule=function(id){return moduleCache.has(id)};function markAvailable(absModulePath){var ensures=ensureMap.get(absModulePath);if(ensures){for(var i=0;i<ensures.length;i++){var entry=ensures[i];entry.requireSet.delete(absModulePath);if(!entry.requireSet.size){ensures.splice(i--,1);callRequireCallback(entry.callback)}}if(!ensures.length)ensureMap.delete(absModulePath)}}
  162. $jscomp.registerModule=function(moduleDef,absModulePath,opt_shallowDeps){if(moduleCache.has(absModulePath))throw new Error("Module "+absModulePath+" has already been registered.");if(currentModulePath)throw new Error("Cannot nest modules.");var shallowDeps=opt_shallowDeps||[];for(var i=0;i<shallowDeps.length;i++)shallowDeps[i]=maybeNormalizePath(absModulePath,shallowDeps[i]);var blockingDeps=new Set;for(var i=0;i<shallowDeps.length;i++)getTransitiveBlockingDepsOf(shallowDeps[i]).forEach(function(transitive){blockingDeps.add(transitive)});
  163. blockingDeps.delete(absModulePath);var cacheEntry=new CacheEntry(moduleDef,new Module(absModulePath),absModulePath);moduleCache.set(absModulePath,cacheEntry);blockingDeps.forEach(function(blocker){addAsBlocking(cacheEntry,blocker)});if(!blockingDeps.size)markAvailable(cacheEntry.module.id);removeAsBlocking(cacheEntry)};function getTransitiveBlockingDepsOf(moduleId){var cacheEntry=moduleCache.get(moduleId);var blocking=new Set;if(cacheEntry)cacheEntry.blockingDeps.forEach(function(dep){getTransitiveBlockingDepsOf(dep).forEach(function(transitive){blocking.add(transitive)})});
  164. else blocking.add(moduleId);return blocking}var blockingModulePathToBlockedModules=new Map;function addAsBlocking(blocked,blocker){if(blocked.module.id!=blocker){var blockedModules=blockingModulePathToBlockedModules.get(blocker);if(!blockedModules){blockedModules=new Set;blockingModulePathToBlockedModules.set(blocker,blockedModules)}blockedModules.add(blocked);blocked.blockingDeps.add(blocker)}}function removeAsBlocking(cacheEntry){var blocked=blockingModulePathToBlockedModules.get(cacheEntry.module.id);
  165. if(blocked){blockingModulePathToBlockedModules.delete(cacheEntry.module.id);blocked.forEach(function(blockedCacheEntry){blockedCacheEntry.blockingDeps.delete(cacheEntry.module.id);cacheEntry.blockingDeps.forEach(function(blocker){addAsBlocking(blockedCacheEntry,blocker)});if(!blockedCacheEntry.blockingDeps.size){removeAsBlocking(blockedCacheEntry);markAvailable(blockedCacheEntry.module.id)}})}}$jscomp.registerAndLoadModule=function(moduleDef,absModulePath,shallowDeps){$jscomp.require.ensure([absModulePath],
  166. function(require){require(absModulePath)});$jscomp.registerModule(moduleDef,absModulePath,shallowDeps)};$jscomp.registerEs6ModuleExports=function(absModulePath,exports){if(moduleCache.has(absModulePath))throw new Error("Module at path "+absModulePath+" is already registered.");var entry=new CacheEntry(null,new Module(absModulePath,exports),absModulePath);moduleCache.set(absModulePath,entry);markAvailable(absModulePath)};$jscomp.clearModules=function(){moduleCache.clear()}})();
  167. (function(){var globalRef=function(){if(typeof window!="undefined")return window;else if(this)return this;else if(typeof global!="undefined")return global;else if(typeof self!="undefined")return self;else throw Error("Cannot infer global object.");}();var localJscomp=$jscomp;var globalJscomp=globalRef["$jscomp"];if(localJscomp==globalJscomp)return;if(globalJscomp)for(var key in globalJscomp)localJscomp[key]=globalJscomp[key];globalRef["$jscomp"]=localJscomp})();var g;function aaa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};
  168. function baa(a){a=["object"==typeof globalThis&&globalThis,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global,a];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var ba=baa(this);function ca(){ca=function(){};ba.Symbol||(ba.Symbol=caa)}function daa(a,b){this.a=a;aa(this,"description",{configurable:!0,writable:!0,value:b})}daa.prototype.toString=function(){return this.a};
  169. var caa=function(){function a(c){if(this instanceof a)throw new TypeError("Symbol is not a constructor");return new daa("jscomp_symbol_"+(c||"")+"_"+b++,c)}var b=0;return a}();function da(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("Symbol.iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return eaa(aaa(this))}});da=function(){}}
  170. function eaa(a){da();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function faa(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aaa(a)}}var gaa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},haa;
  171. if("function"==typeof Object.setPrototypeOf)haa=Object.setPrototypeOf;else{var iaa;a:{var jaa={fo:!0},kaa={};try{kaa.__proto__=jaa;iaa=kaa.fo;break a}catch(a){}iaa=!1}haa=iaa?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var laa=haa;
  172. function l(a,b){a.prototype=gaa(b.prototype);a.prototype.constructor=a;if(laa)laa(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c]}function ea(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
  173. ea("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});function maa(a,b){da();a instanceof String&&(a+="");var c=0,d={next:function(){if(c<a.length){var e=c++;return{value:b(e,a[e]),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};d[Symbol.iterator]=function(){return d};return d}ea("Array.prototype.values",function(a){return a?a:function(){return maa(this,function(b,c){return c})}});
  174. function fa(a,b){return Object.prototype.hasOwnProperty.call(a,b)}
  175. ea("WeakMap",function(a){function b(m){this.a=(k+=Math.random()+1).toString();if(m){m=faa(m);for(var p;!(p=m.next()).done;)p=p.value,this.set(p[0],p[1])}}function c(){}function d(m){var p=typeof m;return"object"===p&&null!==m||"function"===p}function e(m){if(!fa(m,h)){var p=new c;aa(m,h,{value:p})}}function f(m){var p=Object[m];p&&(Object[m]=function(t){if(t instanceof c)return t;e(t);return p(t)})}if(function(){if(!a||!Object.seal)return!1;try{var m=Object.seal({}),p=Object.seal({}),t=new a([[m,
  176. 2],[p,3]]);if(2!=t.get(m)||3!=t.get(p))return!1;t.delete(m);t.set(p,4);return!t.has(m)&&4==t.get(p)}catch(v){return!1}}())return a;var h="$jscomp_hidden_"+Math.random();f("freeze");f("preventExtensions");f("seal");var k=0;b.prototype.set=function(m,p){if(!d(m))throw Error("Invalid WeakMap key");e(m);if(!fa(m,h))throw Error("WeakMap key fail: "+m);m[h][this.a]=p;return this};b.prototype.get=function(m){return d(m)&&fa(m,h)?m[h][this.a]:void 0};b.prototype.has=function(m){return d(m)&&fa(m,h)&&fa(m[h],
  177. this.a)};b.prototype.delete=function(m){return d(m)&&fa(m,h)&&fa(m[h],this.a)?delete m[h][this.a]:!1};return b});
  178. ea("Map",function(a){function b(){var k={};return k.Kf=k.next=k.head=k}function c(k,m){var p=k.a;return eaa(function(){if(p){for(;p.head!=k.a;)p=p.Kf;for(;p.next!=p.head;)return p=p.next,{done:!1,value:m(p)};p=null}return{done:!0,value:void 0}})}function d(k,m){var p=m&&typeof m;"object"==p||"function"==p?f.has(m)?p=f.get(m):(p=""+ ++h,f.set(m,p)):p="p_"+m;var t=k.b[p];if(t&&fa(k.b,p))for(k=0;k<t.length;k++){var v=t[k];if(m!==m&&v.key!==v.key||m===v.key)return{id:p,list:t,index:k,xd:v}}return{id:p,
  179. list:t,index:-1,xd:void 0}}function e(k){this.b={};this.a=b();this.size=0;if(k){k=faa(k);for(var m;!(m=k.next()).done;)m=m.value,this.set(m[0],m[1])}}if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var k=Object.seal({x:4}),m=new a(faa([[k,"s"]]));if("s"!=m.get(k)||1!=m.size||m.get({x:4})||m.set({x:4},"t")!=m||2!=m.size)return!1;var p=m.entries(),t=p.next();if(t.done||t.value[0]!=k||"s"!=t.value[1])return!1;t=p.next();return t.done||4!=t.value[0].x||
  180. "t"!=t.value[1]||!p.next().done?!1:!0}catch(v){return!1}}())return a;da();var f=new WeakMap;e.prototype.set=function(k,m){k=0===k?0:k;var p=d(this,k);p.list||(p.list=this.b[p.id]=[]);p.xd?p.xd.value=m:(p.xd={next:this.a,Kf:this.a.Kf,head:this.a,key:k,value:m},p.list.push(p.xd),this.a.Kf.next=p.xd,this.a.Kf=p.xd,this.size++);return this};e.prototype.delete=function(k){k=d(this,k);return k.xd&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.b[k.id],k.xd.Kf.next=k.xd.next,k.xd.next.Kf=k.xd.Kf,
  181. k.xd.head=null,this.size--,!0):!1};e.prototype.clear=function(){this.b={};this.a=this.a.Kf=b();this.size=0};e.prototype.has=function(k){return!!d(this,k).xd};e.prototype.get=function(k){return(k=d(this,k).xd)&&k.value};e.prototype.entries=function(){return c(this,function(k){return[k.key,k.value]})};e.prototype.keys=function(){return c(this,function(k){return k.key})};e.prototype.values=function(){return c(this,function(k){return k.value})};e.prototype.forEach=function(k,m){for(var p=this.entries(),
  182. t;!(t=p.next()).done;)t=t.value,k.call(m,t[1],t[0],this)};e.prototype[Symbol.iterator]=e.prototype.entries;var h=0;return e});
  183. var naa=function(){function a(){function c(){}new c;Reflect.construct(c,[],function(){});return new c instanceof c}if("undefined"!=typeof Reflect&&Reflect.construct){if(a())return Reflect.construct;var b=Reflect.construct;return function(c,d,e){c=b(c,d);e&&Reflect.setPrototypeOf(c,e.prototype);return c}}return function(c,d,e){void 0===e&&(e=c);e=gaa(e.prototype||Object.prototype);return Function.prototype.apply.call(c,e,d)||e}}();ea("Reflect.construct",function(){return naa});
  184. var oaa="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)fa(d,e)&&(a[e]=d[e])}return a};ea("Object.assign",function(a){return a||oaa});var ha=this||self,paa="closure_uid_"+(1E9*Math.random()>>>0),qaa=0;function ia(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)}
  185. function raa(a){return ia(a.prototype,"$$generatedClassName",function(){return"Class$obf_"+{valueOf:function(){return++saa}}})}var saa=1E3;function n(){}n.prototype.I=function(a){return q(this,a)};n.prototype.P=function(){return ja(this)};n.prototype.toString=function(){return r(ka(la(ma(this))))+"@"+r(na(this.P()))};function taa(a){return null!=a}function oa(){}l(oa,n);function pa(a){qa(a);ra(a)}function sa(a,b){qa(a);a.b=b;ra(a)}function ta(a,b,c){qa(a);a.o=c;a.b=b;ra(a)}
  186. function uaa(a,b){qa(a);if(a.o=b)a.b=b.toString();ra(a)}oa.prototype.a=function(a){this.s=a;if(a instanceof Object)try{a.eo=this}catch(b){}};function vaa(a,b){if(q(b,a))throw ua("Exception can not suppress itself.").s;a.g[a.g.length]=b}function ra(a){a.s instanceof Error&&(Error.captureStackTrace?Error.captureStackTrace(a.s):a.s.stack=Error().stack);a.c=null}oa.prototype.toString=function(){var a=ka(la(ma(this))),b=this.b;return null==b?a:r(a)+": "+r(b)};
  187. function va(a){if(null!=a){var b=a.eo;if(null!=b)return b}a instanceof TypeError?(b=new wa,sa(b,r(a)),xa(b),b.f=a,b.a(new TypeError(b)),a=b):(b=new ya,sa(b,r(a)),xa(b),b.f=a,b.a(Error(b)),a=b);return a}function qa(a){a.g=za([0],oa,waa,oa.a);a.c=za([0],Aa,Ba,Aa.a)}function waa(a){return a instanceof oa}oa.prototype.ba=!0;function Da(){}l(Da,oa);function Ea(a){return a instanceof Da}function xaa(){}l(xaa,Da);function Fa(a){return a instanceof xaa}function Ga(){}l(Ga,Da);
  188. function Ha(a){var b=new Ga;sa(b,a);b.a(Error(b));return b}function Ia(a,b){var c=new Ga;ta(c,a,b);c.a(Error(c));return c}function yaa(a){var b=new Ga;uaa(b,a);b.a(Error(b));return b}function Ja(){}l(Ja,Ga);function zaa(){var a=new Ja;pa(a);a.a(Error(a));return a}function Ka(a){var b=new Ja;sa(b,a);b.a(Error(b));return b}function q(a,b){return Object.is(a,b)||null==a&&null==b}function ma(a){return a.constructor}function La(a,b){this.b=a;this.a=b}l(La,n);
  189. function ka(a){var b=raa(a.b);0!=a.a&&(b="L"+r(b)+";");return r(Aaa("[",a.a))+r(b)}function Na(a){a=r(raa(a.b))+r(Aaa("[]",a.a));return Oa(a,a.lastIndexOf(".")+1)}La.prototype.toString=function(){return"class "+r(ka(this))};function Aaa(a,b){for(var c="",d=0;d<b;d++)c=r(c)+r(a);return c}La.prototype.ba=!0;function la(a,b){var c=b||0;return ia(a.prototype,"$$class/"+c,function(){return new La(a,c)})}function ja(a){return a.sm||(Object.defineProperties(a,{sm:{value:++Baa,enumerable:!1}}),a.sm)}
  190. var Baa=0;function Pa(){}l(Pa,Ga);function Caa(a){var b=new Pa;sa(b,a);b.a(Error(b));return b}function Daa(){}l(Daa,Ja);function Eaa(a){var b=new Daa;sa(b,a);b.a(Error(b));return b}function Qa(){}l(Qa,oa);function Ra(a){var b=new Qa;sa(b,a);b.a(Error(b));return b}function Sa(a){return a instanceof Qa}function Ta(a,b){this.a=a|0;this.b=b|0}function Ua(a){return 4294967296*a.b+(a.a>>>0)}g=Ta.prototype;
  191. g.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);var b=this.b>>21;if(0==b||-1==b&&(0!=this.a||-2097152!=this.b))return b=Ua(this),10==a?""+b:b.toString(a);b=14-(a>>2);var c=Math.pow(a,b),d=Va(c,c/4294967296);c=Xa(this,d);d=Math.abs(Ua(Ya(this,Za(c,d))));var e=10==a?""+d:d.toString(a);e.length<b&&(e="0000000000000".substr(e.length-b)+e);d=Ua(c);return(10==a?d:d.toString(a))+e};function $a(a){return 0==a.a&&0==a.b}g.I=function(a){return this.a==a.a&&this.b==a.b};
  192. function ab(a,b){return a.b==b.b?a.a==b.a?0:a.a>>>0>b.a>>>0?1:-1:a.b>b.b?1:-1}function bb(a){var b=~a.a+1|0;return Va(b,~a.b+!b|0)}g.add=function(a){var b=this.b>>>16,c=this.b&65535,d=this.a>>>16,e=a.b>>>16,f=a.b&65535,h=a.a>>>16;a=(this.a&65535)+(a.a&65535);h=(a>>>16)+(d+h);d=h>>>16;d+=c+f;b=(d>>>16)+(b+e)&65535;return Va((h&65535)<<16|a&65535,b<<16|d&65535)};function Ya(a,b){return a.add(bb(b))}
  193. function Za(a,b){if($a(a))return a;if($a(b))return b;var c=a.b>>>16,d=a.b&65535,e=a.a>>>16;a=a.a&65535;var f=b.b>>>16,h=b.b&65535,k=b.a>>>16;b=b.a&65535;var m=a*b;var p=(m>>>16)+e*b;var t=p>>>16;p=(p&65535)+a*k;t+=p>>>16;t+=d*b;var v=t>>>16;t=(t&65535)+e*k;v+=t>>>16;t=(t&65535)+a*h;v=v+(t>>>16)+(c*b+d*k+e*h+a*f)&65535;return Va((p&65535)<<16|m&65535,v<<16|t&65535)}
  194. function Xa(a,b){if($a(b))throw Error("division by zero");if(0>a.b){if(a.I(cb)){if(b.I(db)||b.I(Faa))return cb;if(b.I(cb))return db;var c=1;if(0==c)c=a;else{var d=a.b;c=32>c?Va(a.a>>>c|d<<32-c,d>>c):Va(d>>c-32,0<=d?0:-1)}c=eb(Xa(c,b),1);if(c.I(fb))return 0>b.b?db:Faa;a=Ya(a,Za(b,c));return c.add(Xa(a,b))}return 0>b.b?Xa(bb(a),bb(b)):bb(Xa(bb(a),b))}if($a(a))return fb;if(0>b.b)return b.I(cb)?fb:bb(Xa(a,bb(b)));for(d=fb;0<=ab(a,b);){c=Math.max(1,Math.floor(Ua(a)/Ua(b)));var e=Math.ceil(Math.log(c)/
  195. Math.LN2);e=48>=e?1:Math.pow(2,e-48);for(var f=gb(c),h=Za(f,b);0>h.b||0<ab(h,a);)c-=e,f=gb(c),h=Za(f,b);$a(f)&&(f=db);d=d.add(f);a=Ya(a,h)}return d}function Gaa(a){return Va(~a.a,~a.b)}g.and=function(a){return Va(this.a&a.a,this.b&a.b)};g.or=function(a){return Va(this.a|a.a,this.b|a.b)};g.xor=function(a){return Va(this.a^a.a,this.b^a.b)};function eb(a,b){b&=63;if(0==b)return a;var c=a.a;return 32>b?Va(c<<b,a.b<<b|c>>>32-b):Va(0,c<<b-32)}
  196. function Haa(a,b){b&=63;if(0==b)return a;var c=a.b;return 32>b?Va(a.a>>>b|c<<32-b,c>>>b):32==b?Va(c,0):Va(c>>>b-32,0)}function hb(a){a|=0;return-128<=a&&128>a?Iaa(a):new Ta(a,0>a?-1:0)}function gb(a){return 0<a?0x7fffffffffffffff<=a?Jaa:new Ta(a,a/4294967296):0>a?-9223372036854775808>=a?cb:bb(new Ta(-a,-a/4294967296)):fb}function Va(a,b){return new Ta(a,b)}var Kaa={};function Iaa(a){return ia(Kaa,a,function(b){return new Ta(b,0>b?-1:0)})}
  197. var fb=Va(0,0),db=Va(1,0),Faa=Va(-1,-1),Jaa=Va(4294967295,2147483647),cb=Va(0,2147483648);function Laa(){}l(Laa,Qa);function ib(){var a=new Laa;pa(a);a.a(Error(a));return a}function jb(a){var b=new Laa,c=r(a);ta(b,c,waa(a)?a:null);b.a(Error(b));return b}function kb(){}l(kb,Ga);function lb(){var a=new kb;pa(a);a.a(Error(a));return a}function ua(a){var b=new kb;sa(b,a);b.a(Error(b));return b}function Maa(a,b){var c=new kb;ta(c,a,b);c.a(Error(c));return c}function mb(a){return a instanceof kb}
  198. function nb(){}l(nb,Ga);function ob(){var a=new nb;pa(a);a.a(Error(a));return a}function pb(a){var b=new nb;sa(b,a);b.a(Error(b));return b}function ya(){}l(ya,Ga);ya.prototype.a=function(a){Ga.prototype.a.call(this,"__noinit__"===this.f?a:this.f)};function xa(a){a.f="__noinit__"}function wa(){}l(wa,ya);function qb(){var a=new wa;pa(a);xa(a);a.a(new TypeError(a));return a}function rb(a){var b=new wa;sa(b,a);xa(b);b.a(new TypeError(b));return b}function sb(a){return a instanceof wa}
  199. function tb(a){this.a=a}l(tb,n);function ub(a){a=a.a;a()}function vb(){}l(vb,Ga);function wb(){var a=new vb;pa(a);a.a(Error(a));return a}function xb(a){var b=new vb;sa(b,a);b.a(Error(b));return b}function yb(a){return a instanceof vb}function zb(a){return new Naa(a)}function Naa(a){this.a=a}l(Naa,n);Naa.prototype.pb=function(a){var b=this.a;b(a)};function Ab(a,b){if(!a)return b;try{a.f()}catch(c){a=c=va(c);if(!b)return a;vaa(b,a)}return b}function Bb(a,b){for(;a.i();)b.pb(a.j())}function Oaa(){}
  200. function Paa(){return!0}Oaa.prototype.qf=!0;function Cb(a){return hb(a|0)}function Qaa(a,b){return Xa(a,b)}function Raa(a,b){return a.I(b)}function Saa(a,b){return Ya(a,b)}function Eb(a,b){return a.or(b)}function Taa(a,b){return Za(a,b)}function Fb(a){return Math.max(Math.min(a,2147483647),-2147483648)|0}function Gb(){}var Uaa;l(Gb,n);Gb.prototype.ba=!0;function Vaa(){}l(Vaa,Gb);function Waa(a,b){return a<b?-1:a>b?1:a==b?0==a?Waa(1/a,1/b):0:isNaN(a)?isNaN(b)?0:1:-1}
  201. function Hb(a){return!isNaN(a)&&!isFinite(a)}function Ib(a){Uaa||(Uaa=/^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/);if(!Uaa.test(a))throw Jb(a).s;return parseFloat(a)}var Xaa;function Yaa(){Yaa=function(){};Xaa=za([256],Kb,Lb,Kb.a)}function Mb(a,b){return 0<ab(a,b)?a:b}function Zaa(a){return 0==a||isNaN(a)?a:0>a?-1:1}function Ob(){}function Pb(){return!0}Ob.prototype.qf=!0;function Sb(){}function $aa(){return!0}var aba=hb(0);Sb.prototype.qf=!0;
  202. function Kb(){this.a=hb(0)}l(Kb,Gb);function bba(a,b){return 0>ab(a,b)?-1:0<ab(a,b)?1:0}function cba(a){if(0<ab(a,Cb(-129))&&0>ab(a,hb(128))){var b=a.a+128,c=(Yaa(),Xaa)[b];c||(c=Xaa[b]=dba(a));return c}return dba(a)}function Tb(a,b){var c=1<<b;if(0>=ab(Cb(-2147483648),a)&&0>=ab(a,Cb(2147483647)))return eba(a.a,c);--c;var d=(64/b|0)+1,e=za([d],Ob,Pb,0),f=d;do{var h=--f,k=a.a&c,m=k-10;e[h]=(0>m?48+k:97+m)&65535;a=Haa(a,b)}while(!a.I(hb(0)));return Ub(e,f,d-f)}
  203. function dba(a){var b=new Kb;b.a=a;return b}g=Kb.prototype;g.Lm=function(){return Ua(this.a)};g.I=function(a){return Lb(a)&&a.a.I(this.a)};g.P=function(){return this.a.a};g.xb=function(){return this.a.a};g.Wk=function(){return this.a};g.toString=function(){return""+this.a};g.R=function(a){return bba(this.a,a.a)};function Lb(a){return a instanceof Kb}var Yb=Va(-1,2147483647);function fba(){}function gba(){return u(function(a){return a})}function u(a){return new Zb(a)}
  204. function hba(a){return null!=a&&!!a.ud}fba.prototype.ud=!0;function Zb(a){this.a=a}l(Zb,n);Zb.prototype.f=function(a){var b;return b=this.a,b(a)};Zb.prototype.ud=!0;function $b(a){this.a=a}l($b,n);function iba(a,b){var c;return c=a.a,c(b)}function ac(a,b){return new jba(function(c,d){return b.Pa(a.f(c),a.f(d))})}function bc(a){return new kba(function(b,c){return lba(iba(a,b),iba(a,c))})}function cc(a,b){return new mba(function(c,d){var e=a.Pa(c,d);return 0!=e?e:b.Pa(c,d)})}
  205. function dc(a,b){return a.hc(ac(b,ec()))}function mba(a){this.a=a}l(mba,n);g=mba.prototype;g.Pa=function(a,b){var c;return c=this.a,c(a,b)};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function jba(a){this.a=a}l(jba,n);g=jba.prototype;g.Pa=function(a,b){var c;return c=this.a,c(a,b)};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function kba(a){this.a=a}l(kba,n);
  206. g=kba.prototype;g.Pa=function(a,b){var c;return c=this.a,c(a,b)};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function hc(a){this.a=a}l(hc,n);hc.prototype.Pa=function(a,b){var c;return c=this.a,c(a,b)};hc.prototype.ac=function(){return fc(this)};hc.prototype.hc=function(a){return cc(this,a)};hc.prototype.oc=function(a){return dc(this,a)};
  207. function jc(a,b){var c=typeof a;if("number"==c)a=Waa(a,b);else if("boolean"==c)a=a==b?0:a?1:-1;else{var d;"string"==c?d=kc(a,b):d=a.R(b);a=d}return a}function lc(){}l(lc,n);g=lc.prototype;g.ac=function(){return mc(),nba};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.Pa=function(a,b){return jc(a,b)};g.ba=!0;function oba(){}l(oba,n);g=oba.prototype;g.ac=function(){return mc(),pba};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};
  208. g.Pa=function(a,b){return jc(b,a)};g.ba=!0;var nba,pba,qba;function ec(){mc();return pba}function nc(a){mc();return a?a:qba}function mc(){mc=function(){};qba=new lc;pba=new lc;nba=new oba}function rba(){}l(rba,n);function fc(a){var b=new rba;b.a=a;return b}g=rba.prototype;g.Pa=function(a,b){return this.a.Pa(b,a)};g.ac=function(){return this.a};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function oc(a,b){for(;a.wb(b););}function qc(a,b){return 0!=(a.sd()&b)}
  209. function rc(){}function vc(){return!0}rc.prototype.qf=!0;function sba(){}function tba(){return!0}sba.prototype.qf=!0;function uba(){}function vba(){return!0}uba.prototype.qf=!0;function wc(){}function xc(a,b){for(a=a.h();a.i();){var c=a.j();b.pb(c)}}function yc(a){a=a.h();var b=new zc;b.a=a;b.b=0;b.c=Yb;return b}function Ac(a){return null!=a&&!!a.Xa}wc.prototype.Xa=!0;function Bc(a){this.a=a}l(Bc,n);Bc.prototype.h=function(){var a;return a=this.a,a()};Bc.prototype.Z=function(a){xc(this,a)};
  210. Bc.prototype.Y=function(){return yc(this)};Bc.prototype.Xa=!0;function Dc(a){this.a=a}l(Dc,n);Dc.prototype.Ii=function(a){var b=this.a;b(a)};Dc.prototype.ek=!0;function wba(a,b){null!=b&&b.ek?xba(a,b):xba(a,new Dc(function(c){b.pb(Fc(c))}))}function Gc(a,b){return null!=b&&b.ek?a.Hf(b):a.Hf(new Dc(function(c){b.pb(Fc(c))}))}function Hc(a,b){null!=b&&b.ek?a.fg(b):a.fg(new Dc(function(c){b.pb(Fc(c))}))}function Ic(){this.f=this.b=this.a=0}l(Ic,n);g=Ic.prototype;g.sd=function(){return this.f};
  211. g.nd=function(){return Cb(this.b-this.a)};g.fg=function(a){for(;this.a<this.b;){var b=this.a++;a.Ii(this.c[b])}};g.Hf=function(a){if(this.a<this.b){var b=this.a++;a.Ii(this.c[b]);return!0}return!1};g.ea=function(a){oc(this,a)};g.ec=function(a){return qc(this,a)};function yba(){this.a=!1}l(yba,n);g=yba.prototype;g.pb=function(a){this.b=a};g.i=function(){this.a||(this.a=this.c.wb(this));return this.a};g.j=function(){Kc(this.i());this.a=!1;var a=this.b;this.b=null;return a};
  212. g.ea=function(a){Bb(this,a)};g.ma=function(){throw wb().s;};function Lc(){this.f=0;this.g=hb(0)}l(Lc,n);function Mc(a,b,c){a.g=b;a.f=0!=(c&64)?c|16384:c}Lc.prototype.sd=function(){return this.f};Lc.prototype.nd=function(){return this.g};Lc.prototype.ea=function(a){oc(this,a)};Lc.prototype.ec=function(a){return qc(this,a)};function Oc(){}var zba,Aba;l(Oc,n);g=Oc.prototype;g.sd=function(){return 16448};g.nd=function(){return hb(0)};g.fg=function(){};g.Hf=function(){return!1};
  213. g.ea=function(a){oc(this,a)};g.ec=function(a){return qc(this,a)};function Bba(){Bba=function(){};zba=new Pc;Aba=new Qc}function Qc(){}l(Qc,Oc);Qc.prototype.ea=function(a){Hc(this,a)};Qc.prototype.wb=function(a){return Gc(this,a)};Qc.prototype.ec=function(a){return qc(this,a)};function Pc(){}l(Pc,Oc);Pc.prototype.ec=function(a){return qc(this,a)};Pc.prototype.fg=function(a){this.ea(a)};Pc.prototype.ea=function(a){Oc.prototype.fg.call(this,a)};
  214. Pc.prototype.wb=function(a){return Oc.prototype.Hf.call(this,a)};function Rc(){Ic.call(this)}l(Rc,Ic);Rc.prototype.ea=function(a){Hc(this,a)};Rc.prototype.wb=function(a){return Gc(this,a)};Rc.prototype.ec=function(a){return qc(this,a)};function Cba(){this.b=0;this.a=!1}l(Cba,n);function Dba(a){var b=new Cba;b.a=!1;b.c=a;return b}g=Cba.prototype;g.Ii=function(a){this.b=a};g.i=function(){this.a||(this.a=this.c.Hf(this));return this.a};function Eba(a){Kc(a.i());a.a=!1;return a.b}
  215. function xba(a,b){for(;a.i();)b.Ii(Eba(a))}g.ea=function(a){wba(this,a)};g.j=function(){return Fc(Eba(this))};g.ma=function(){throw wb().s;};g.ek=!0;function Sc(){Lc.call(this)}l(Sc,Lc);Sc.prototype.ea=function(a){Hc(this,a)};Sc.prototype.wb=function(a){return Gc(this,a)};Sc.prototype.fg=function(a){for(;this.Hf(a););};Sc.prototype.ec=function(a){return qc(this,a)};function zc(){this.b=0;this.c=hb(0)}l(zc,n);function Tc(a,b){var c=new zc;c.f=a;c.b=0==(b&4096)?b|16448:b;return c}
  216. function Fba(a,b,c){var d=new zc;d.a=a;d.b=0==(c&4096)?c|16448:c;d.c=b;return d}g=zc.prototype;g.sd=function(){return this.b};g.nd=function(){Gba(this);return this.c};g.ea=function(a){Gba(this);this.a.ea(a)};g.wb=function(a){Gba(this);return this.a.i()?(a.pb(this.a.j()),!0):!1};function Gba(a){a.a||(a.a=a.f.h(),a.c=Cb(a.f.w()))}g.ec=function(a){return qc(this,a)};function Wc(a){return new Hba(a)}function Hba(a){this.a=a}l(Hba,n);Hba.prototype.f=function(){var a;return a=this.a,a()};
  217. function Yc(){}function Iba(){return!0}Yc.prototype.qf=!0;function Zc(){}function $c(){return!0}Zc.prototype.qf=!0;function bd(a,b){return q(a,b)||null!=a&&cd(a,b)}function Jba(a,b){return q(a,b)}function dd(a){return null!=a?ed(a):0}function fd(a){return new gd(a)}function hd(a){return fd(function(b){return!a.Ca(b)})}function gd(a){this.a=a}l(gd,n);gd.prototype.Ca=function(a){var b;return b=this.a,b(a)};gd.prototype.cb=function(){return hd(this)};
  218. function jd(a,b){var c=!1;for(a=a.h();a.i();)b.Ca(a.j())&&(a.ma(),c=!0);return c}function ld(a){a=a.Y();return md(null,a)}function nd(a){return null!=a&&!!a.yb}function od(a,b){var c=a.qc();pd(c,b);for(b=0;b<c.length;b++)a.Rb(b,c[b])}function qd(a){return Tc(a,16)}function rd(a){return null!=a&&!!a.Xg}function td(a){return null!=a&&!!a.Pe}function ud(){this.a=this.b=0}l(ud,n);ud.prototype.i=function(){return this.b<this.c.a.length};ud.prototype.j=function(){this.i();this.a=this.b++;return this.c.a[this.a]};
  219. ud.prototype.ma=function(){this.c.Wa(this.b=this.a);this.a=-1};ud.prototype.ea=function(a){Bb(this,a)};function vd(a,b){a.Dh=b.Dh;return a}function wd(a,b){return vd(a.slice(0,b),a)}function yd(a,b,c,d,e,f){q(a,c)&&(a=a.slice(b,b+e),b=0);var h=b;for(b+=e;h<b;){var k=Math.min(h+1E4,b);e=k-h;h=a.slice(h,k);h.splice(0,0,d,f?e:0);Array.prototype.splice.apply(c,h);h=k;d+=e}}function zd(){}l(zd,n);g=zd.prototype;g.add=function(){throw xb("Add not supported on this collection").s;};
  220. g.na=function(a){var b=!1;for(a=a.h();a.i();){var c=a.j();b=!!(+b|+this.add(c))}return b};g.ia=function(){for(var a=this.h();a.i();)a.j(),a.ma()};g.B=function(a){return Kba(this,a,!1)};g.Db=function(a){for(a=a.h();a.i();){var b=a.j();if(!this.B(b))return!1}return!0};g.D=function(){return 0==this.w()};g.sa=function(a){return Kba(this,a,!0)};g.Nb=function(a){for(var b=!1,c=this.h();c.i();){var d=c.j();a.B(d)&&(c.ma(),b=!0)}return b};g.qc=function(){return this.mb(Array(this.w()))};
  221. g.mb=function(a){var b=this.w();a.length<b&&(a=vd(Array(b),a));for(var c=a,d=this.h(),e=0;e<b;++e)Ad(c,e,d.j());a.length>b&&(a[b]=null);return a};g.toString=function(){for(var a=Bd("[","]"),b=this.h();b.i();){var c=b.j();Cd(a,q(c,this)?"(this Collection)":r(c))}return a.toString()};function Kba(a,b,c){for(a=a.h();a.i();){var d=a.j();if(bd(b,d))return c&&a.ma(),!0}return!1}g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};
  222. g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;function Ed(){}l(Ed,zd);g=Ed.prototype;g.add=function(a){this.bc(this.w(),a);return!0};g.bc=function(){throw xb("Add not supported on this list").s;};g.ia=function(){this.am(0,this.w())};g.I=function(a){if(q(a,this))return!0;if(!rd(a)||this.w()!=a.w())return!1;a=a.h();for(var b=this.h();b.i();){var c=b.j(),d=a.j();if(!bd(c,d))return!1}return!0};g.P=function(){Fd();for(var a=1,b=this.h();b.i();){var c=b.j();a=31*a+dd(c);a|=0}return a};
  223. g.indexOf=function(a){for(var b=0,c=this.w();b<c;++b)if(bd(a,this.G(b)))return b;return-1};g.h=function(){var a=new Hd;a.c=this;a.a=0;a.b=-1;return a};g.lastIndexOf=function(a){for(var b=this.w()-1;-1<b;--b)if(bd(a,this.G(b)))return b;return-1};g.ce=function(){return this.Bb(0)};g.Bb=function(a){var b=new Lba;b.f=this;b.c=this;b.a=0;b.b=-1;this.w();b.a=a;return b};g.Wa=function(){throw xb("Remove not supported on this list").s;};g.Rb=function(){throw xb("Set not supported on this list").s;};
  224. g.Gb=function(a,b){var c=new Mba,d=this.w();if(0>a||b>d)throw Ka("fromIndex: "+a+", toIndex: "+b+", size: "+d).s;if(a>b)throw ua("fromIndex: "+a+" > toIndex: "+b).s;c.c=this;c.a=a;c.b=b-a;return c};g.am=function(a,b){for(var c=this.Bb(a);a<b;++a)c.j(),c.ma()};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Xg=!0;function Id(){}l(Id,Ed);
  225. function w(){var a=new Id;a.a=[];return a}function Jd(a){var b=new Id;b.a=[];a=a.qc();yd(a,0,b.a,0,a.length,!1);return b}function Kd(){var a=new Id;a.a=[];return a}g=Id.prototype;g.add=function(a){this.a[this.a.length]=a;return!0};g.bc=function(a,b){this.a.splice(a,0,b)};g.na=function(a){a=a.qc();if(0==a.length)return!1;yd(a,0,this.a,this.a.length,a.length,!1);return!0};g.ia=function(){this.a=[]};g.B=function(a){return-1!=this.indexOf(a)};g.G=function(a){return this.a[a]};
  226. g.indexOf=function(a){a:{for(var b=0;b<this.a.length;++b)if(bd(a,this.a[b])){a=b;break a}a=-1}return a};g.h=function(){var a=new ud;a.c=this;a.b=0;a.a=-1;return a};g.Z=function(a){for(var b=this.a,c=0;c<b.length;c++)a.pb(b[c])};g.D=function(){return 0==this.a.length};g.lastIndexOf=function(a){a:{for(var b=this.w()-1;0<=b;--b)if(bd(a,this.a[b])){a=b;break a}a=-1}return a};g.Wa=function(a){var b=this.G(a);this.a.splice(a,1);return b};g.sa=function(a){a=this.indexOf(a);if(-1==a)return!1;this.Wa(a);return!0};
  227. g.da=function(a){for(var b=null,c=0,d=0;d<this.a.length;++d){var e=this.a[d];a.Ca(e)?b||(b=wd(this.a,d),c=d):b&&Ad(b,c++,e)}if(!b)return!1;this.a=b;return!0};g.Rb=function(a,b){var c=this.G(a);this.a[a]=b;return c};g.w=function(){return this.a.length};g.lb=function(a){var b=this.a,c=this.a.length;Ld(0,c,b.length);Nba(b,c,a)};g.qc=function(){return wd(this.a,this.a.length)};
  228. g.mb=function(a){var b=this.a.length;a.length<b&&(a=vd(Array(b),a));for(var c=0;c<b;++c)a[c]=this.a[c];a.length>b&&(a[b]=null);return a};g.am=function(a,b){this.a.splice(a,b-a)};g.Y=function(){return qd(this)};g.S=function(){return ld(this)};g.Xa=!0;g.yb=!0;g.Xg=!0;g.Pe=!0;g.ba=!0;function Oba(){}l(Oba,Ed);g=Oba.prototype;g.B=function(){return!1};g.G=function(){return null};g.h=function(){return Pba()};g.ce=function(){Fd();return Qba(),Rba};g.w=function(){return 0};g.lb=function(a){od(this,a)};
  229. g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Pe=!0;g.ba=!0;function Nd(){}l(Nd,Ga);function Qd(){var a=new Nd;pa(a);a.a(Error(a));return a}function Sba(){}var Rba;l(Sba,n);g=Sba.prototype;g.xe=function(){throw wb().s;};g.i=function(){return!1};g.Jc=function(){return!1};g.j=function(){throw Qd().s;};g.pd=function(){return 0};g.Lc=function(){throw Qd().s;};g.Sd=function(){return-1};g.ma=function(){throw ob().s;};
  230. g.Id=function(){throw ob().s;};g.ea=function(a){Bb(this,a)};function Qba(){Qba=function(){};Rba=new Sba}function Sd(){}function Td(a){return null!=a&&!!a.Yg}Sd.prototype.Yg=!0;function Ud(a){return Tc(a,1)}function Vd(a){return null!=a&&!!a.Sc}function Wd(a){return new Tba(a)}function Tba(a){this.a=a}l(Tba,n);function Xd(a){this.b=a}l(Xd,n);Xd.prototype.a=function(a,b){var c;return c=this.b,c(a,b)};function Yd(a,b,c){var d=a.get(b);null==d&&(d=c.f(b),null!=d&&a.C(b,d));return d}
  231. function Zd(a,b){for(a=a.V().h();a.i();){var c=a.j(),d=c.M();c=c.O();var e=b.a;e(d,c)}}function $d(a,b,c){var d=a.get(b);return null!=d||a.X(b)?d:c}function ae(a,b,c,d){var e=a.get(b);c=null==e?c:d.a(e,c);null==c?a.Ka(b):a.C(b,c)}function be(a,b,c){var d=a.get(b);return null!=d?d:a.C(b,c)}function ce(a,b){for(a=a.V().h();a.i();){var c=a.j();c.dd(b.a(c.M(),c.O()))}}function de(a){return null!=a&&!!a.Nd}function ee(){}l(ee,zd);g=ee.prototype;
  232. g.I=function(a){return q(a,this)?!0:Vd(a)?a.w()!=this.w()?!1:this.Db(a):!1};g.P=function(){return Uba(this)};g.Nb=function(a){var b=this.w();if(b<a.w())for(var c=this.h();c.i();){var d=c.j();a.B(d)&&c.ma()}else for(a=a.h();a.i();)c=a.j(),this.sa(c);return b!=this.w()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;function he(){}l(he,n);he.prototype.i=function(){return this.a.i()};
  233. he.prototype.j=function(){return this.a.j().M()};he.prototype.ma=function(){this.a.ma()};he.prototype.ea=function(a){Bb(this,a)};function Vba(){}l(Vba,ee);g=Vba.prototype;g.ia=function(){this.a.Fa()};g.B=function(a){return this.a.X(a)};g.h=function(){var a=this.a.V().h(),b=new he;b.a=a;return b};g.sa=function(a){return this.a.X(a)?(this.a.Ka(a),!0):!1};g.w=function(){return this.a.wa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};
  234. g.Z=function(a){xc(this,a)};function ie(){}l(ie,n);ie.prototype.i=function(){return this.a.i()};ie.prototype.j=function(){return this.a.j().O()};ie.prototype.ma=function(){this.a.ma()};ie.prototype.ea=function(a){Bb(this,a)};function Wba(){}l(Wba,zd);g=Wba.prototype;g.ia=function(){this.a.Fa()};g.B=function(a){return this.a.kd(a)};g.h=function(){var a=this.a.V().h(),b=new ie;b.a=a;return b};g.w=function(){return this.a.wa()};g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};
  235. g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Xba(){}l(Xba,n);g=Xba.prototype;g.M=function(){return this.f};g.O=function(){return this.c};g.dd=function(a){var b=this.c;this.c=a;return b};g.I=function(a){return Td(a)?bd(this.f,a.M())&&bd(this.c,a.O()):!1};g.P=function(){return dd(this.f)^dd(this.c)};g.toString=function(){return r(this.f)+"="+r(this.c)};g.Yg=!0;function je(){}l(je,Xba);function Yba(a,b){var c=new je;c.f=a;c.c=b;return c}
  236. function Zba(a){return"number"==typeof a?a:a.Lm()}function le(a){return"string"==typeof a?a.length:a.Ra()}function me(a,b){return"string"==typeof a?a.charCodeAt(b):a.$a.charCodeAt(b)}function $ba(a,b,c){return"string"==typeof a?ne(a,b,c):ne(a.$a,b,c)}function oe(){}l(oe,n);function aca(a){var b=new oe;bca(b,a,"","");return b}function Bd(a,b){var c=new oe;bca(c,", ",a,b);return c}function bca(a,b,c,d){a.f=b.toString();a.b=c.toString();a.c=d.toString();a.g=r(a.b)+r(a.c)}
  237. function Cd(a,b){cca(a);pe(a.a,b)}oe.prototype.toString=function(){return this.a?te(this.c)?this.a.toString():r(this.a.toString())+r(this.c):this.g};function cca(a){a.a?x(a.a,a.f):a.a=ue(a.b)}function ve(){}l(ve,n);g=ve.prototype;g.Fa=function(){this.V().ia()};g.X=function(a){return!!dca(this,a,!1)};g.kd=function(a){for(var b=this.V().h();b.i();){var c=b.j().O();if(bd(a,c))return!0}return!1};g.gh=function(a){var b=a.M();a=a.O();var c=this.get(b);return!bd(a,c)||null==c&&!this.X(b)?!1:!0};
  238. g.I=function(a){if(q(a,this))return!0;if(!de(a)||this.wa()!=a.wa())return!1;for(a=a.V().h();a.i();){var b=a.j();if(!this.gh(b))return!1}return!0};g.get=function(a){return we(dca(this,a,!1))};g.P=function(){return Uba(this.V())};g.Qa=function(){return 0==this.wa()};g.oa=function(){var a=new Vba;a.a=this;return a};g.C=function(){throw xb("Put not supported on this map").s;};g.Ud=function(a){for(a=a.V().h();a.i();){var b=a.j();this.C(b.M(),b.O())}};g.Ka=function(a){return we(dca(this,a,!0))};g.wa=function(){return this.V().w()};
  239. g.toString=function(){for(var a=Bd("{","}"),b=this.V().h();b.i();){var c=b.j();c=r(eca(this,c.M()))+"="+r(eca(this,c.O()));Cd(a,c)}return a.toString()};function eca(a,b){return q(b,a)?"(this Map)":r(b)}g.values=function(){var a=new Wba;a.a=this;return a};function we(a){return a?a.O():null}function dca(a,b,c){for(a=a.V().h();a.i();){var d=a.j(),e=d.M();if(bd(b,e))return c&&(d=Yba(d.M(),d.O()),a.ma()),d}return null}g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};
  240. g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.Nd=!0;function fca(){}l(fca,ve);g=fca.prototype;g.X=function(){return!1};g.kd=function(){return!1};g.V=function(){return Fd(),xe};g.get=function(){return null};g.oa=function(){return Fd(),xe};g.wa=function(){return 0};g.values=function(){return Fd(),gca};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};
  241. g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.ba=!0;function hca(){}l(hca,ee);g=hca.prototype;g.B=function(){return!1};g.h=function(){return Pba()};g.w=function(){return 0};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.ba=!0;function ica(){}l(ica,zd);g=ica.prototype;g.add=function(a){this.$l(a);return!0};
  242. g.na=function(a){return zd.prototype.na.call(this,a)};g.ia=function(){for(;null!=this.Dj(););};g.zg=function(){return this.Na()};g.Tg=function(){return this.Dj()};g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;function jca(){}l(jca,ee);g=jca.prototype;g.add=function(a){return null==this.a.C(a,!0)};g.ia=function(){this.a.Fa()};g.B=function(a){return this.a.X(a)};
  243. g.I=function(a){return q(a,this)||cd(ye(this),a)};g.P=function(){return ed(ye(this))};g.h=function(){return ye(this).h()};g.sa=function(a){return null!=this.a.Ka(a)};g.w=function(){return ye(this).w()};g.toString=function(){return ze(ye(this))};function ye(a){a.b||(a.b=a.a.oa());return a.b}g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.ba=!0;function kca(){}l(kca,Ed);g=kca.prototype;
  244. g.B=function(a){return bd(this.a,a)};g.G=function(){return this.a};g.w=function(){return 1};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.ba=!0;function Ae(){}l(Ae,n);Ae.prototype.i=function(){return this.b.i()};Ae.prototype.j=function(){return this.b.j()};Ae.prototype.ma=function(){throw wb().s;};Ae.prototype.ea=function(a){Bb(this,a)};function De(){}l(De,n);
  245. function lca(a){var b=new De;b.a=a;return b}g=De.prototype;g.add=function(){throw wb().s;};g.na=function(){throw wb().s;};g.ia=function(){throw wb().s;};g.B=function(a){return this.a.B(a)};g.Db=function(a){return this.a.Db(a)};g.D=function(){return this.a.D()};g.h=function(){var a=this.a.h(),b=new Ae;b.b=a;return b};g.sa=function(){throw wb().s;};g.Nb=function(){throw wb().s;};g.da=function(){throw wb().s;};g.w=function(){return this.a.w()};g.qc=function(){return this.a.qc()};g.mb=function(a){return this.a.mb(a)};
  246. g.toString=function(){return ze(this.a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;function mca(){}l(mca,Ae);g=mca.prototype;g.xe=function(){throw wb().s;};g.Jc=function(){return this.a.Jc()};g.pd=function(){return this.a.pd()};g.Lc=function(){return this.a.Lc()};g.Sd=function(){return this.a.Sd()};g.Id=function(){throw wb().s;};g.ea=function(a){Bb(this,a)};function Ee(){}l(Ee,De);
  247. function nca(a){var b=new Ee;b.a=a;b.b=a;return b}g=Ee.prototype;g.bc=function(){throw wb().s;};g.I=function(a){return cd(this.b,a)};g.G=function(a){return this.b.G(a)};g.P=function(){return ed(this.b)};g.indexOf=function(a){return this.b.indexOf(a)};g.D=function(){return this.b.D()};g.lastIndexOf=function(a){return this.b.lastIndexOf(a)};g.ce=function(){return this.Bb(0)};g.Bb=function(a){a=this.b.Bb(a);var b=new mca;b.b=a;b.a=a;return b};g.lb=function(){throw wb().s;};
  248. g.Wa=function(){throw wb().s;};g.Rb=function(){throw wb().s;};g.Gb=function(a,b){return nca(this.b.Gb(a,b))};g.Y=function(){return qd(this)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Xg=!0;function Fe(){}l(Fe,De);function oca(a){var b=new Fe;b.a=a;return b}g=Fe.prototype;g.I=function(a){return cd(this.a,a)};g.P=function(){return ed(this.a)};g.Y=function(){return Ud(this)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;
  249. function pca(){}l(pca,n);function qca(a){var b=new pca;b.a=a;return b}g=pca.prototype;g.I=function(a){return this.a.I(a)};g.M=function(){return this.a.M()};g.O=function(){return this.a.O()};g.P=function(){return this.a.P()};g.dd=function(){throw wb().s;};g.toString=function(){return ze(this.a)};g.Yg=!0;function Ge(){}l(Ge,n);Ge.prototype.i=function(){return this.a.i()};Ge.prototype.j=function(){return qca(this.a.j())};Ge.prototype.ma=function(){throw wb().s;};Ge.prototype.ea=function(a){Bb(this,a)};
  250. function rca(){}l(rca,Fe);g=rca.prototype;g.B=function(a){return this.a.B(a)};g.Db=function(a){return this.a.Db(a)};g.h=function(){var a=this.a.h(),b=new Ge;b.a=a;return b};g.qc=function(){var a=Fe.prototype.qc.call(this);sca(a,a.length);return a};g.mb=function(a){a=Fe.prototype.mb.call(this,a);sca(a,this.a.w());return a};function sca(a,b){for(var c=0;c<b;++c)a[c]=qca(a[c])}g.Y=function(){return Ud(this)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function He(){}l(He,n);g=He.prototype;
  251. g.Fa=function(){throw wb().s;};g.X=function(a){return this.a.X(a)};g.kd=function(a){return this.a.kd(a)};g.V=function(){if(!this.c){var a=this.a.V(),b=new rca;b.a=a;this.c=b}return this.c};g.I=function(a){return cd(this.a,a)};g.get=function(a){return this.a.get(a)};g.P=function(){return ed(this.a)};g.Qa=function(){return this.a.Qa()};g.oa=function(){this.f||(this.f=oca(this.a.oa()));return this.f};g.C=function(){throw wb().s;};g.Ud=function(){throw wb().s;};g.Ka=function(){throw wb().s;};g.wa=function(){return this.a.wa()};
  252. g.toString=function(){return ze(this.a)};g.values=function(){this.g||(this.g=lca(this.a.values()));return this.g};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.Nd=!0;function Le(){}l(Le,Ee);Le.prototype.Y=function(){return qd(this)};Le.prototype.S=function(){return ld(this)};Le.prototype.Z=function(a){xc(this,a)};
  253. Le.prototype.Pe=!0;function tca(a){return null!=a&&!!a.Gh}function uca(){}l(uca,He);function vca(a){var b=new uca;b.a=a;b.b=a;return b}g=uca.prototype;g.ee=function(){return this.b.ee()};g.I=function(a){return cd(this.b,a)};g.P=function(){return ed(this.b)};g.Gf=function(a){return vca(this.b.Gf(a))};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};
  254. g.Fb=function(a){ce(this,a)};g.Nd=!0;g.Gh=!0;function wca(){zc.call(this)}l(wca,zc);function Me(a){var b=new wca;b.f=a;b.b=16469;return b}wca.prototype.ec=function(a){return qc(this,a)};function xca(){}l(xca,Fe);g=xca.prototype;g.Jd=function(){return this.b.Jd()};g.I=function(a){return cd(this.b,a)};g.P=function(){return ed(this.b)};g.Y=function(){return Me(this)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;function yca(){}l(yca,Ga);
  255. function Oe(){var a=new yca;pa(a);a.a(Error(a));return a}function Pe(){this.b=!1}l(Pe,n);Pe.prototype.i=function(){return this.b};function zca(a){if(a.a.i())return!0;if(!q(a.a,a.g))return!1;a.a=a.c.a.h();return a.a.i()}Pe.prototype.j=function(){this.i();this.f=this.a;var a=this.a.j();this.b=zca(this);return a};Pe.prototype.ma=function(){this.f.ma();this.f=null;this.b=zca(this)};Pe.prototype.ea=function(a){Bb(this,a)};function Aca(){}l(Aca,ee);g=Aca.prototype;g.ia=function(){this.a.Fa()};
  256. g.B=function(a){return Td(a)?this.a.gh(a):!1};g.h=function(){var a=new Pe;a.c=this.a;a.g=a.c.f.h();a.a=a.g;a.b=zca(a);return a};g.sa=function(a){return this.B(a)?(a=a.M(),this.a.Ka(a),!0):!1};g.w=function(){return this.a.wa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Qe(){this.a=0}l(Qe,n);
  257. Qe.prototype.i=function(){if(this.a<this.b.length)return!0;var a=this.g.next();return a.done?!1:(this.b=a.value[1],this.a=0,!0)};Qe.prototype.j=function(){return this.c=this.b[this.a++]};Qe.prototype.ma=function(){Bca(this.f,this.c.M());0!=this.a&&this.a--};Qe.prototype.ea=function(a){Bb(this,a)};function Re(){this.c=0}l(Re,n);function Cca(a,b,c){var d=null==b?0:a.a.Ck(b),e=Dca(a,d);if(0==e.length)a.b.set(d,e);else if(d=Eca(a,b,e))return d.dd(c);e[e.length]=Yba(b,c);a.c++;return null}
  258. function Bca(a,b){for(var c=null==b?0:a.a.Ck(b),d=Dca(a,c),e=0;e<d.length;e++){var f=d[e];if(a.a.xk(b,f.M()))return 1==d.length?(d.length=0,b=a.b,b["delete"].call(b,c)):d.splice(e,1),a.c--,f.O()}return null}function Te(a,b){return Eca(a,b,Dca(a,null==b?0:a.a.Ck(b)))}function Eca(a,b,c){for(var d=0;d<c.length;d++){var e=c[d];if(a.a.xk(b,e.M()))return e}return null}Re.prototype.h=function(){var a=new Qe;a.f=this;a.g=a.f.b.entries();a.a=0;a.b=[];a.c=null;return a};
  259. function Dca(a,b){return(a=a.b.get(b))?a:[]}Re.prototype.Z=function(a){xc(this,a)};Re.prototype.Y=function(){return yc(this)};Re.prototype.Xa=!0;function Ue(){}l(Ue,n);Ue.prototype.i=function(){return!this.b.done};Ue.prototype.j=function(){this.f=this.b;this.b=this.c.next();var a=new Ve,b=this.f,c=this.a.b;a.b=this.a;a.a=b;a.c=c;return a};Ue.prototype.ma=function(){Fca(this.a,this.f.value[0])};Ue.prototype.ea=function(a){Bb(this,a)};function We(){}l(We,n);
  260. We.prototype.I=function(a){return Td(a)?bd(this.M(),a.M())&&bd(this.O(),a.O()):!1};We.prototype.P=function(){return dd(this.M())^dd(this.O())};We.prototype.toString=function(){return r(this.M())+"="+r(this.O())};We.prototype.Yg=!0;function Ve(){this.c=0}l(Ve,We);Ve.prototype.M=function(){return this.a.value[0]};Ve.prototype.O=function(){return this.b.b!=this.c?this.b.a.get(this.a.value[0]):this.a.value[1]};Ve.prototype.dd=function(a){return Gca(this.b,this.a.value[0],a)};
  261. function Xe(){this.b=this.c=0}l(Xe,n);function Gca(a,b,c){var d=a.a.get(b);a.a.set(b,void 0===c?null:c);void 0===d?a.c++:a.b++;return d}function Fca(a,b){var c=a.a.get(b);if(void 0===c)a.b++;else{var d=a.a;d["delete"].call(d,b);a.c--}return c}Xe.prototype.h=function(){var a=new Ue;a.a=this;a.c=a.a.a.entries();a.b=a.c.next();return a};Xe.prototype.Z=function(a){xc(this,a)};Xe.prototype.Y=function(){return yc(this)};Xe.prototype.Xa=!0;function Ze(){}l(Ze,ve);g=Ze.prototype;g.Fa=function(){$e(this)};
  262. function $e(a){var b=new Re;b.b=new Map;b.a=a;a.a=b;b=new Xe;b.a=new Map;b.f=a;a.f=b}g.X=function(a){var b;y(a)?b=null==a?!!Te(this.a,null):void 0!==this.f.a.get(a):b=!!Te(this.a,a);return b};g.kd=function(a){return Hca(this,a,this.f)||Hca(this,a,this.a)};function Hca(a,b,c){for(c=c.h();c.i();){var d=c.j();if(a.xk(b,d.O()))return!0}return!1}g.V=function(){var a=new Aca;a.a=this;return a};g.get=function(a){var b;y(a)?b=null==a?we(Te(this.a,null)):this.f.a.get(a):b=we(Te(this.a,a));return b};
  263. g.C=function(a,b){var c;y(a)?c=null==a?Cca(this.a,null,b):Gca(this.f,a,b):c=Cca(this.a,a,b);return c};g.Ka=function(a){var b;y(a)?b=null==a?Bca(this.a,null):Fca(this.f,a):b=Bca(this.a,a);return b};g.wa=function(){return this.a.c+this.f.c};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function af(){}l(af,Ze);
  264. function bf(){var a=new af;$e(a);return a}function cf(){var a=new af;$e(a);return a}function Ica(a){var b=new af;$e(b);b.Ud(a);return b}g=af.prototype;g.xk=function(a,b){return bd(a,b)};g.Ck=function(a){return ed(a)|0};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.ba=!0;function df(){}l(df,ee);
  265. function ef(){var a=new df;a.a=bf();return a}function ff(a){var b=new df;b.a=cf(a.w());b.na(a);return b}function gf(){var a=new df;a.a=cf();return a}g=df.prototype;g.add=function(a){return null==this.a.C(a,this)};g.ia=function(){this.a.Fa()};g.B=function(a){return this.a.X(a)};g.D=function(){return this.a.Qa()};g.h=function(){return this.a.oa().h()};g.sa=function(a){return null!=this.a.Ka(a)};g.w=function(){return this.a.wa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};
  266. g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.ba=!0;function Jca(a){return null!=a&&!!a.qm}var xe,gca,Oca;function Pca(a,b){Fd();for(var c=!1,d=0;d<b.length;d++)c=!!(+c|+a.add(b[d]))}function Pba(){Fd();return Qba(),Rba}function hf(){Fd();return gca}function Qca(){Fd();return Oca}function jf(){Fd();return xe}function kf(){var a=lf();Fd();a.Qa();var b=new jca;b.a=a;return b}function Rca(a,b){Fd();for(var c=w(),d=0;d<a;++d)c.add(b);return qf(c)}
  267. function Sca(a,b){Fd();var c=cf();c.C(a,b);return sf(c)}function Tca(a){Fd();a.lb(null)}function Uca(a,b){Fd();a.lb(b)}function tf(a){Fd();return lca(a)}function qf(a){Fd();if(td(a)){var b=new Le;b.a=a;b.b=a;a=b}else a=nca(a);return a}function sf(a){Fd();var b=new He;b.a=a;return b}function uf(a){Fd();return oca(a)}function Vca(a){Fd();return vca(a)}function Wca(a){Fd();var b=new xca;b.a=a;b.b=a;return b}function Uba(a){Fd();var b=0;for(a=a.h();a.i();){var c=a.j();b+=dd(c);b|=0}return b}
  268. function Fd(){Fd=function(){};gca=new Oba;Oca=new fca;xe=new hca}function zf(){}var Xca;l(zf,n);function Af(){Yca();return Xca}function Zca(a){Yca();return $ca(Bf(a))}function $ca(a){var b=new zf;b.a=a;return b}function Cf(a){Kc(null!=a.a);return a.a}function ada(a){return null!=a.a?a.a:null}zf.prototype.I=function(a){return q(a,this)?!0:a instanceof zf?bd(this.a,a.a):!1};zf.prototype.P=function(){return dd(this.a)};
  269. zf.prototype.toString=function(){return null!=this.a?"Optional.of("+r(r(this.a))+")":"Optional.empty()"};function Yca(){Yca=function(){};Xca=$ca(null)}function Df(a){this.b=a}l(Df,n);Df.prototype.a=function(a,b){var c;return c=this.b,c(a,b)};function Ef(a){this.a=a}l(Ef,n);function bda(a,b){var c;return c=a.a,c(b)}function z(){this.a=0}l(z,n);z.prototype.name=function(){return null!=this.b?this.b:""+this.a};z.prototype.c=function(a){return this.a-a.a};z.prototype.toString=function(){return this.name()};
  270. z.prototype.ba=!0;function cda(a){for(var b=new Map,c=0;c<a.length;c++){var d=a[c].name();b.set(d,a[c])}return b}function dda(a,b){if(null==a)throw lb().s;a=b.get(a);if(null==a)throw lb().s;return a}function Ff(){this.a=0}var eda,fda;l(Ff,z);function gda(a,b){var c=new Ff;c.b=a;c.a=b;return c}Ff.prototype.R=function(a){return z.prototype.c.call(this,a)};function hda(){hda=function(){};eda=gda("IDENTITY_FINISH",1);fda=gda("UNORDERED",2)}function Gf(a){return a instanceof Ff}
  271. function Kf(a,b,c,d){var e=new ida;e.c=a;e.a=b;jf();e.f=c;e.b=d;return e}function jda(a,b,c){A([(hda(),eda)],Ff,Gf,1);var d=new ida,e=gba();d.c=a;d.a=b;jf();d.f=c;d.b=e;return d}function ida(){}l(ida,n);function Lf(){this.c=!1}l(Lf,n);function kda(a,b){a.c=!1;b?(a.b=b,a.g=null):(a.b=null,a.g=w())}function Mf(a){if(a.b)Mf(a.b);else if(a.c)throw pb("Stream already terminated, can't be modified or used").s;}function Nf(a){a.b?Nf(a.b):(Mf(a),a.c=!0)}
  272. function lda(a,b){a.b?lda(a.b,b):a.g.add(b);return a}Lf.prototype.f=function(){this.b?this.b.f():(this.c=!0,mda(this))};function mda(a){var b=w();a.g.Z(zb(function(f){try{ub(f)}catch(h){h=va(h),b.add(h)}}));a.g.ia();if(!b.D()){a=b.G(0);for(var c=1,d=b.w();c<d;++c){var e=b.G(c);q(e,a)||vaa(a,e)}if(a instanceof Ga)throw a.s;if(Sa(a))throw a.s;}}function Of(){Lc.call(this)}l(Of,Lc);Of.prototype.ea=function(a){oc(this,a)};Of.prototype.ec=function(a){return qc(this,a)};function nda(a){this.a=a}l(nda,n);
  273. function oda(){}l(oda,je);function pda(a){a.a.b=a.b;a.b.a=a.a;a.a=a.b=null}function Pf(){}l(Pf,n);Pf.prototype.i=function(){return!q(this.b,this.c.a.b)};Pf.prototype.j=function(){Kc(this.i());this.a=this.b;this.b=this.b.a;return this.a};Pf.prototype.ma=function(){pda(this.a);this.c.a.c.Ka(this.a.M());this.a=null};Pf.prototype.ea=function(a){Bb(this,a)};function qda(){}l(qda,ee);g=qda.prototype;g.ia=function(){this.a.Fa()};g.B=function(a){return Td(a)?this.a.gh(a):!1};
  274. g.h=function(){var a=new Pf;a.c=this;a.b=this.a.b.a;return a};g.sa=function(a){return this.B(a)?(a=a.M(),this.a.Ka(a),!0):!1};g.w=function(){return this.a.wa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Tf(){}l(Tf,af);function Uf(){var a=new Tf;$e(a);rda(a);Vf(a);return a}function Wf(){var a=new Tf;$e(a);rda(a);Vf(a);return a}function Xf(a){var b=new Tf;$e(b);rda(b);Vf(b);b.Ud(a);return b}g=Tf.prototype;
  275. g.Fa=function(){this.c.Fa();Vf(this)};function Vf(a){a.b.b=a.b;a.b.a=a.b}g.X=function(a){return this.c.X(a)};g.kd=function(a){for(var b=this.b.a;!q(b,this.b);){if(bd(b.O(),a))return!0;b=b.a}return!1};g.V=function(){var a=new qda;a.a=this;return a};g.get=function(a){return(a=this.c.get(a))?a.O():null};g.C=function(a,b){var c=this.c.get(a);if(c)return c.dd(b);c=new oda;c.g=this;c.f=a;c.c=b;this.c.C(a,c);a=c.g.b.b;c.b=a;c.a=c.g.b;a.a=c.g.b.b=c;return null};
  276. g.Ka=function(a){return(a=this.c.Ka(a))?(pda(a),a.O()):null};g.wa=function(){return this.c.wa()};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function rda(a){var b=new oda;b.g=a;b.f=null;b.c=null;a.b=b;a.c=bf()}g.Nd=!0;
  277. function sda(){return Kf(Wc(function(){return Bd("","")}),Wd(function(a,b){Cd(a,b)}),new Df(function(a,b){if(b.a){var c=b.a.Ra();cca(a);Yf(a.a,b.a,b.b.length,c)}return a}),u(function(a){return a.toString()}),A([],Ff,Gf,1))}function tda(a){return jda(a,Wd(function(b,c){b.add(c)}),new Df(function(b,c){b.na(c);return b}))}function uda(){return tda(Wc(function(){return w()}))}
  278. function vda(){return Kf(Wc(function(){return ef()}),Wd(function(a,b){a.add(b)}),new Df(function(a,b){a.na(b);return a}),u(function(a){return a}),A([(hda(),fda),eda],Ff,Gf,1))}function Zf(){Lc.call(this)}l(Zf,Of);Zf.prototype.wb=function(a){for(;wda(this);){if(this.a.wb(a))return!0;this.b.f();this.a=this.b=null}return!1};function wda(a){for(;!a.a;)if(!a.c.wb(zb(function(b){b&&(a.b=b,a.a=b.pf())})))return!1;return!0}Zf.prototype.ea=function(a){oc(this,a)};
  279. Zf.prototype.ec=function(a){return qc(this,a)};function $f(){Lc.call(this)}l($f,Of);$f.prototype.wb=function(a){if(!this.a){var b=w();this.b.a.ea(zb(function(c){b.add(c)}));Uca(b,this.c);this.a=b.Y()}return this.a.wb(a)};$f.prototype.ea=function(a){oc(this,a)};$f.prototype.ec=function(a){return qc(this,a)};function ag(){Lc.call(this);this.a=!1}l(ag,Of);ag.prototype.wb=function(a){var b=this;for(this.a=!1;!this.a&&this.c.wb(zb(function(c){b.b.Ca(c)&&(b.a=!0,a.pb(c))})););return this.a};
  280. ag.prototype.ea=function(a){oc(this,a)};ag.prototype.ec=function(a){return qc(this,a)};function bg(){Lc.call(this);this.b=hb(0);this.a=0}l(bg,Of);bg.prototype.wb=function(a){if(0<=ab(Cb(this.a),this.b))return!1;a=this.c.wb(a);this.a++;return a};bg.prototype.ea=function(a){oc(this,a)};bg.prototype.ec=function(a){return qc(this,a)};function cg(){Lc.call(this)}l(cg,Of);function xda(a,b){var c=new cg,d=b.nd();Mc(c,d,b.sd()&-6);c.a=a;c.b=b;return c}cg.prototype.wb=function(a){var b=this;return this.b.wb(zb(function(c){a.pb(b.a.f(c))}))};
  281. cg.prototype.ea=function(a){oc(this,a)};cg.prototype.ec=function(a){return qc(this,a)};function dg(){Lc.call(this);this.a=hb(0)}l(dg,Of);dg.prototype.wb=function(a){for(;0<ab(this.a,hb(0));){if(!this.b.wb(zb(function(){})))return!1;this.a=Ya(this.a,hb(1))}return this.b.wb(a)};dg.prototype.ea=function(a){oc(this,a)};dg.prototype.ec=function(a){return qc(this,a)};function kg(){}l(kg,n);kg.prototype.pb=function(a){this.a=a};function yda(){}
  282. function zda(a,b){var c=lg(A([a,b],yda,Ada,1)).Y();c=Bda(c);c=md(null,c);return lda(lda(c,new tb(function(){a.f()})),new tb(function(){b.f()}))}function Ada(a){return null!=a&&!!a.rm}yda.prototype.rm=!0;function mg(){this.c=!1}var Cda;l(mg,Lf);function md(a,b){Dda();var c=new mg;kda(c,a);c.a=b;return c}mg.prototype.pf=function(){Nf(this);return this.a};mg.prototype.o=function(){var a=this.pf(),b=new yba;b.a=!1;b.c=a;return b};function ng(a,b){Eda(a,b)}function Eda(a,b){Nf(a);a.a.ea(b)}
  283. function og(a,b){return b.b.f(Fda(a,b.c.f(),new Xd(function(c,d){var e=b.a.a;e(c,d);return c})))}function Gda(a){Nf(a);var b=new kg;return a.a.wb(b)?Zca(b.a):Af()}function rg(a,b){b=b.cb();return!sg(a,b).pf().wb(Cda)}function Hda(a,b,c){return Fda(a,b,c)}function Fda(a,b,c){Nf(a);var d=new kg;d.a=b;a.a.ea(zb(function(e){d.pb(c.a(d.a,e))}));return d.a}function sg(a,b){Mf(a);var c=new ag,d=a.a,e=d.nd();Mc(c,e,d.sd()&-16449);c.b=b;c.c=d;return md(a,c)}function tg(a,b){Mf(a);return md(a,xda(b,a.a))}
  284. function ug(a,b){Mf(a);b=xda(b,a.a);var c=new Zf;c.c=b;Mc(c,Yb,0);return md(a,c)}function Ida(a){Mf(a);var b=ef();return sg(a,fd(function(c){return b.add(c)}))}function vg(a){Mf(a);var b=ec();return Jda(a,b)}function Jda(a,b){Mf(a);var c=a.a.nd(),d=new $f,e=a.a.sd()|4;d.b=a;d.c=b;Mc(d,c,e);d.a=null;return md(a,d)}function Kda(a){var b=Cb(10);Mf(a);var c=new bg,d=a.a;if(d.ec(64)){var e=d.nd();e=0>ab(e,b)?e:b}else e=Yb;Mc(c,e,d.sd());c.a=0;c.b=b;c.c=d;return md(a,c)}
  285. function Dda(){Dda=function(){};Cda=zb(function(){})}mg.prototype.rm=!0;function wg(){this.c=!1}l(wg,Lf);function Lda(){var a=new wg;kda(a,null);return a}wg.prototype.o=function(){return Dba(this.pf())};wg.prototype.pf=function(){Nf(this);return Bba(),Aba};function xg(){this.c=!1}l(xg,Lf);function Mda(a){var b=new xg;kda(b,null);b.a=a;return b}xg.prototype.pf=function(){Nf(this);return this.a};xg.prototype.o=function(){return Dba(this.pf())};function yg(){Lc.call(this)}l(yg,Of);
  286. function Bda(a){var b=new yg;b.b=a;Mc(b,Yb,0);return b}yg.prototype.wb=function(a){for(;Nda(this);){if(this.a.wb(a))return!0;this.a=null}return!1};function Nda(a){for(;!a.a;)if(!a.b.wb(zb(function(b){b&&(a.a=b.pf())})))return!1;return!0}yg.prototype.ea=function(a){oc(this,a)};yg.prototype.ec=function(a){return qc(this,a)};function Hd(){this.b=this.a=0}l(Hd,n);Hd.prototype.i=function(){return this.a<this.c.w()};Hd.prototype.j=function(){this.i();return this.c.G(this.b=this.a++)};
  287. Hd.prototype.ma=function(){this.c.Wa(this.b);this.a=this.b;this.b=-1};Hd.prototype.ea=function(a){Bb(this,a)};function Lba(){Hd.call(this)}l(Lba,Hd);g=Lba.prototype;g.xe=function(a){this.f.bc(this.a,a);this.a++;this.b=-1};g.Jc=function(){return 0<this.a};g.pd=function(){return this.a};g.Lc=function(){this.Jc();return this.f.G(this.b=--this.a)};g.Sd=function(){return this.a-1};g.Id=function(a){this.f.Rb(this.b,a)};g.ea=function(a){Bb(this,a)};function Mba(){this.b=this.a=0}l(Mba,Ed);g=Mba.prototype;
  288. g.bc=function(a,b){this.c.bc(this.a+a,b);this.b++};g.G=function(a){return this.c.G(this.a+a)};g.Wa=function(a){a=this.c.Wa(this.a+a);this.b--;return a};g.Rb=function(a,b){return this.c.Rb(this.a+a,b)};g.w=function(){return this.b};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Oda(){}l(Oda,Ed);function lg(a){var b=new Oda;b.a=a;return b}g=Oda.prototype;g.B=function(a){return-1!=this.indexOf(a)};
  289. g.Z=function(a){for(var b=this.a,c=0;c<b.length;c++)a.pb(b[c])};g.G=function(a){this.w();return this.a[a]};g.Rb=function(a,b){var c=this.G(a);this.a[a]=b;return c};g.w=function(){return this.a.length};g.lb=function(a){var b=this.a,c=this.a.length;Ld(0,c,b.length);Nba(b,c,a)};g.qc=function(){return this.mb(Array(this.a.length))};g.mb=function(a){var b=this.a.length;a.length<b&&(a=vd(Array(b),a));for(var c=0;c<b;++c)a[c]=this.a[c];a.length>b&&(a[b]=null);return a};g.Y=function(){return qd(this)};
  290. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Pe=!0;g.ba=!0;function Pda(a,b,c){var d=0;for(--b;d<=b;){var e=d+(b-d>>1),f=a[e];if(f<c)d=e+1;else if(f>c)b=e-1;else return e}return-d-1}function zg(a,b){return Qda(a,za([b],Zc,$c,0),0,b)}function Dg(a,b){a=wd(a,b);a.length=b;return a}function Qda(a,b,c,d){yd(a,c,b,0,Math.min(d,a.length)-c,!0);return b}
  291. function Rda(a,b){if(q(a,b))return!0;if(!a||!b||a.length!=b.length)return!1;for(var c=0;c<a.length;++c)if(a[c]!=b[c])return!1;return!0}function Sda(a,b){if(q(a,b))return!0;if(!a||!b||a.length!=b.length)return!1;for(var c=0;c<a.length;++c)if(a[c]!=b[c])return!1;return!0}function Tda(a,b,c,d){for(;b<c;++b)a[b]=d}function Eg(a,b,c){for(var d=0;d<b;++d)a[d]=c}function Fg(a){if(!a)return 0;for(var b=1,c=0;c<a.length;c++)b=31*b+dd(a[c]),b|=0;return b}
  292. function Uda(a){for(var b=Gg,c=0;c<b.length;c++)Ad(b,c,bda(a,c))}function pd(a,b){Nba(a,a.length,b)}function Vda(a){if(!a)return"null";for(var b=Bd("[","]"),c=0;c<a.length;c++)Cd(b,Hg(a[c]));return b.toString()}
  293. function Wda(a,b){if(!a)return"null";if(!b.add(a))return"[...]";for(var c=Bd("[","]"),d=0;d<a.length;d++){var e=a[d];if(null!=e&&0!=Ig(e).a)if(Jg(e,n,taa))if(b.B(e))Cd(c,"[...]");else{var f=ff(b);Cd(c,Wda(e,f))}else if(Jg(e,Yc,Iba)){if(e){f=Bd("[","]");for(var h=0;h<e.length;h++)Cd(f,""+e[h]);e=f.toString()}else e="null";Cd(c,e)}else if(Jg(e,rc,vc)){if(e){f=Bd("[","]");for(h=0;h<e.length;h++)Cd(f,""+e[h]);e=f.toString()}else e="null";Cd(c,e)}else if(Jg(e,Ob,Pb))Cd(c,Vda(e));else if(Jg(e,uba,vba)){if(e){f=
  294. Bd("[","]");for(h=0;h<e.length;h++)Cd(f,""+e[h]);e=f.toString()}else e="null";Cd(c,e)}else if(Jg(e,Zc,$c)){if(e){f=Bd("[","]");for(h=0;h<e.length;h++)Cd(f,""+e[h]);e=f.toString()}else e="null";Cd(c,e)}else if(Jg(e,Sb,$aa)){if(e){f=Bd("[","]");for(h=0;h<e.length;h++)Cd(f,""+e[h]);e=f.toString()}else e="null";Cd(c,e)}else if(Jg(e,sba,tba)){if(e){f=Bd("[","]");for(h=0;h<e.length;h++)Cd(f,""+e[h]);e=f.toString()}else e="null";Cd(c,e)}else{if(Jg(e,Oaa,Paa)){if(e){f=Bd("[","]");for(h=0;h<e.length;h++)Cd(f,
  295. ""+e[h]);e=f.toString()}else e="null";Cd(c,e)}}else Cd(c,r(e))}return c.toString()}function Nba(a,b,c){c=nc(c);Xda(a.slice(0,b),a,0,b,-0,c)}function Xda(a,b,c,d,e,f){if(7>d-c){a=c;for(var h=a+1;h<d;++h)for(var k=h;k>a&&0<f.Pa(b[k-1],b[k]);--k)c=b[k],b[k]=b[k-1],b[k-1]=c}else{var m=c+e;h=d+e;k=m+(h-m>>1);Xda(b,a,m,k,-e,f);Xda(b,a,k,h,-e,f);if(0>=f.Pa(a[k-1],a[k]))for(;c<d;)Ad(b,c++,a[m++]);else for(e=m,m=k;c<d;)m>=h||e<k&&0>=f.Pa(a[e],a[m])?Ad(b,c++,a[e++]):Ad(b,c++,a[m++])}}
  296. function Yda(){return function(a,b){return a-b}}function Zda(){Lc.call(this);this.b=this.c=this.a=0}l(Zda,Sc);g=Zda.prototype;g.ea=function(a){Hc(this,a)};g.wb=function(a){return Gc(this,a)};g.fg=function(a){for(;this.Hf(a););};g.ec=function(a){return qc(this,a)};g.Hf=function(a){this.a<=this.b?(a.Ii(this.a++),a=!0):a=!1;return a};function Kg(){}l(Kg,n);Kg.prototype.Ra=function(){return this.$a.length};Kg.prototype.toString=function(){return this.$a};Kg.prototype.pm=!0;function Lg(){}l(Lg,Kg);
  297. function Mg(){var a=new Lg;a.$a="";return a}function Ng(){var a=new Lg;a.$a="";return a}function ue(a){var b=new Lg;b.$a=a;return b}function Og(a,b){a.$a=r(a.$a)+Hg(b);return a}function $da(a,b){a.$a=r(a.$a)+r(Pg(b))}function pe(a,b){a.$a=r(a.$a)+r(b);return a}function Yf(a,b,c,d){a.$a=r(a.$a)+r(ne(r(b),c,d));return a}function Vg(a,b){a.$a=r(a.$a)+b;return a}function Wg(a,b){a.$a=r(a.$a)+r(b);return a}function x(a,b){a.$a=r(a.$a)+r(b);return a}
  298. function Xg(a,b,c){a.$a=r(ne(a.$a,0,b))+r(c)+r(a.$a.substr(b));return a}function aea(){}l(aea,Ja);function Kc(a){if(!a)throw Qd().s;}function Bf(a){if(null==a)throw qb().s;return a}function Ld(a,b,c){if(a>b)throw ua("fromIndex: "+a+" > toIndex: "+b).s;if(0>a||b>c)throw Eaa("fromIndex: "+a+", toIndex: "+b+", length: "+c).s;}function bea(){}l(bea,n);bea.prototype.ba=!0;function cea(){}function dea(){}l(dea,n);function cd(a,b){return a.I?a.I(b):Object.is(a,b)}
  299. function ed(a){if(a.P)return a.P();var b=typeof a;return"number"==b?Fb(a):"boolean"==b?a?1231:1237:"string"==b?Yg(a):ja(a)}function ze(a){var b;Array.isArray(a)?b=ka(eea(a))+"@"+na(ja(a)):b=a.toString();return b}function Ig(a){var b=typeof a;if("number"==b)return la(Vaa);if("boolean"==b)return la(bea);if("string"==b)return la(B);if(Array.isArray(a))return eea(a);if(a instanceof n)return la(a.constructor);if(a)return la("function"==b?cea:dea);throw new TypeError("null.getClass");}
  300. function za(a,b,c,d){return fea(a,d,Zg(b,c,a.length))}function fea(a,b,c){var d=a[0];if(null==d)return null;var e=[];c&&(e.Dh=c);if(1<a.length){a=a.slice(1);c=c&&Zg(c.Hi,c.Cm,c.bh-1);for(var f=0;f<d;f++)e[f]=fea(a,b,c)}else if(void 0!==b)for(a=0;a<d;a++)e[a]=b;else e.length=d;return e}function A(a,b,c,d){return gea(a,Zg(b,c,d))}function gea(a,b){a.Dh=b;if(1<b.bh){b=Zg(b.Hi,b.Cm,b.bh-1);for(var c=0;c<a.length;c++){var d=a[c];d&&gea(d,b)}}return a}function Ad(a,b,c){return a[b]=c}
  301. function Jg(a,b,c){if(null==a||!Array.isArray(a))return!1;a=a.Dh||{Hi:n,bh:1};var d=a.bh;return 1==d?(a=a.Hi,a===b?!0:b&&b.prototype.qf||a&&a.prototype.qf?!1:c(a.prototype)):1<d?n==b:!1}function eea(a){return(a=a.Dh)?la(a.Hi,a.bh):la(n,1)}function Zg(a,b,c){return{Hi:a,Cm:b,bh:c}}var hea;function iea(){iea=function(){};hea=za([128],$g,ah,$g.a)}function $g(){this.a=0}var jea,kea,lea;l($g,n);
  302. function bh(a,b){return 2>b||36<b?-1:48<=a&&a<48+Math.min(b,10)?a-48:97<=a&&a<b+97-10?a-97+10:65<=a&&a<b+65-10?a-65+10:-1}function mea(a){jea||(jea=/\d/);return jea.test(Hg(a))}function ch(a){kea||(kea=/[A-Z]/i);return kea.test(Hg(a))}function nea(a){lea||(lea=/[A-Z\d]/i);return lea.test(Hg(a))}function dh(a){return Hg(a).toUpperCase().charCodeAt(0)==a&&ch(a)}
  303. function oea(a){if(!(0<=a&&1114111>=a))throw lb().s;return 65536<=a?A([55296+(a-65536>>10&1023)&65535,56320+(a-65536&1023)&65535],Ob,Pb,1):A([a&65535],Ob,Pb,1)}function eh(a){if(128>a){var b=(iea(),hea)[a];b||(b=hea[a]=pea(a));return b}return pea(a)}function pea(a){var b=new $g;b.a=a;return b}g=$g.prototype;g.I=function(a){return ah(a)&&a.a==this.a};g.P=function(){return this.a};g.toString=function(){return Hg(this.a)};g.R=function(a){return this.a-a.a};function ah(a){return a instanceof $g}
  304. g.ba=!0;var qea,rea,fh,sea;function tea(){tea=function(){};rea=A([-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5],Zc,$c,1);fh=za([37],Zc,$c,0);qea=A([-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13],Zc,$c,1);sea=za([37],Sb,$aa,aba);for(var a=2;36>=a;a++)fh[a]=Fb(Math.pow(a,rea[a])),Ad(sea,a,Xa(Yb,Cb(fh[a])))}function uea(){}l(uea,kb);function Jb(a){return gh('For input string: "'+r(a)+'"')}
  305. function gh(a){var b=new uea;sa(b,a);b.a(Error(b));return b}function hh(a){return a instanceof uea}var vea;function wea(){wea=function(){};vea=za([256],ih,jh,ih.a)}var xea;function yea(){yea=function(){};xea=A([0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Zc,$c,1)}function ih(){this.a=0}l(ih,Gb);function kh(a){a-=a>>1&1431655765;a=(a>>2&858993459)+(a&858993459);a=(a>>4)+a&252645135;a+=a>>8;return a+(a>>16)&63}function lba(a,b){return a<b?-1:a>b?1:0}
  306. function lh(a){if(0>a)return-2147483648;if(0==a)return 0;var b;for(b=1073741824;0==(b&a);b>>=1);return b}function uh(a){if(0>a)return 0;if(0==a)return 32;var b=-(a>>16)>>16&16;var c=16-b;a>>=b;b=a-256>>16&8;c+=b;a<<=b;b=a-4096>>16&4;c+=b;a<<=b;b=a-16384>>16&2;c+=b;a=a<<b>>14;return c+2-(a&~(a>>1))}function zea(a){if(0==a)return 32;for(var b=0,c=1;0==(c&a);c<<=1)b++;return b}
  307. function vh(a,b){if(null==a)throw gh("null").s;if(2>b||36<b)throw gh("radix "+b+" out of range").s;for(var c=a.length,d=0<c&&(45==a.charCodeAt(0)||43==a.charCodeAt(0))?1:0;d<c;d++)if(-1==bh(a.charCodeAt(d),b))throw Jb(a).s;b=parseInt(a,b);c=-2147483648>b;if(isNaN(b))throw Jb(a).s;if(c||2147483647<b)throw Jb(a).s;return b}function wh(a){var b=(yea(),xea);return b[a>>>28|0]|b[a>>24&15]<<4|b[a>>20&15]<<8|b[a>>16&15]<<12|b[a>>12&15]<<16|b[a>>8&15]<<20|b[a>>4&15]<<24|b[a&15]<<28}
  308. function na(a){return(a>>>0).toString(16)}function eba(a,b){return 10==b||2>b||36<b?""+a:a.toString(b)}function Fc(a){if(-129<a&&128>a){var b=a+128,c=(wea(),vea)[b];c||(c=vea[b]=Aea(a));return c}return Aea(a)}function Aea(a){var b=new ih;b.a=a;return b}g=ih.prototype;g.Lm=function(){return this.a};g.I=function(a){return jh(a)&&a.a==this.a};g.P=function(){return this.a};g.xb=function(){return this.a};g.Wk=function(){return Cb(this.a)};g.toString=function(){return""+this.a};
  309. g.R=function(a){return lba(this.a,a.a)};function jh(a){return a instanceof ih}var xh,Bea;function Yg(a){Cea();var b=":"+r(a),c=xh[b];if(null!=c)return Fb(c);c=Bea[b];if(null==c){c=0;for(var d=a.length,e=d-4,f=0;f<e;)c=a.charCodeAt(f+3)+31*(a.charCodeAt(f+2)+31*(a.charCodeAt(f+1)+31*(a.charCodeAt(f)+31*c))),c|=0,f+=4;for(;f<d;)c=31*c+yh(a,f++);a=c|0}else a=Fb(c);256==zh&&(Bea=xh,xh=new n,zh=0);++zh;return xh[b]=a}function Cea(){Cea=function(){};Bea=new n;zh=0;xh=new n}var zh=0;
  310. function Ah(a){switch(typeof a){case "string":return Yg(a);case "number":return Fb(a);case "boolean":return a?1231:1237;default:return null==a?0:ja(a)}}function Bh(){}l(Bh,ve);g=Bh.prototype;g.X=function(a){return!!this.Bg(a)};g.xf=function(){var a=new Dea;a.a=this;return a};g.V=function(){return Eea(this)};g.get=function(a){return we(this.Bg(a))};g.oa=function(){return this.Zk()};g.Zk=function(){var a=new Fea;a.a=this;return a};g.Gf=function(a){return this.Le(a,!0)};
  311. g.gh=function(a){var b=a.M();b=this.Bg(b);return!!b&&bd(b.O(),a.O())};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.Nd=!0;g.Gh=!0;g.qm=!0;function Dea(){}l(Dea,Bh);g=Dea.prototype;g.Fa=function(){this.a.Fa()};g.ee=function(){var a=this.a.ee();Fd();a?a=a.ac():(mc(),a=nba);return a};g.xf=function(){return this.a};
  312. g.rh=function(a,b){return this.a.Le(a,b).xf()};g.C=function(a,b){return this.a.C(a,b)};g.Ka=function(a){return this.a.Ka(a)};g.wa=function(){return this.a.wa()};g.dg=function(a,b,c,d){return this.a.dg(c,d,a,b).xf()};g.Le=function(a,b){return this.a.rh(a,b).xf()};g.Fl=function(){return this.a.dj()};g.dj=function(){return this.a.Fl()};g.Bg=function(a){return this.a.Bg(a)};g.ij=function(){return this.a.Dk()};g.Dk=function(){return this.a.ij()};g.gj=function(a){return this.a.jj(a)};g.jj=function(a){return this.a.gj(a)};
  313. g.kj=function(a){return this.a.mj(a)};g.mj=function(a){return this.a.kj(a)};g.Og=function(a){return this.a.Og(a)};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Ch(){}l(Ch,ee);function Eea(a){var b=new Ch;b.a=a;return b}g=Ch.prototype;g.B=function(a){return Td(a)&&this.a.gh(a)};g.h=function(){return this.a.dj()};
  314. g.sa=function(a){return Td(a)?this.a.Og(a):!1};g.w=function(){return this.a.wa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Dh(){}l(Dh,n);Dh.prototype.i=function(){return this.a.i()};Dh.prototype.j=function(){return this.a.j().M()};Dh.prototype.ma=function(){this.a.ma()};Dh.prototype.ea=function(a){Bb(this,a)};function Fea(){}l(Fea,ee);g=Fea.prototype;g.ia=function(){this.a.Fa()};g.Jd=function(){return this.a.ee()};
  315. g.B=function(a){return this.a.X(a)};g.Rf=function(){return this.a.xf().Zk()};g.h=function(){var a=this.a.V().h(),b=new Dh;b.a=a;return b};g.sa=function(a){return this.a.X(a)?(this.a.Ka(a),!0):!1};g.w=function(){return this.a.wa()};g.Qg=function(a,b){return this.a.Le(a,b).Zk()};g.Y=function(){return Me(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;g.Zg=!0;function Hh(){this.a=0}var Gea,Hea,Iea,Jea;l(Hh,z);
  316. function Kea(){var a=new Hh;a.b="All";a.a=0;return a}Hh.prototype.f=function(){return!1};Hh.prototype.g=function(){return!1};Hh.prototype.R=function(a){return z.prototype.c.call(this,a)};function Ih(){Ih=function(){};Gea=Kea();Hea=Lea();Iea=Mea();Jea=Nea()}function Jh(){this.a=0}l(Jh,Hh);function Lea(){Ih();var a=new Jh;a.b="Head";a.a=1;return a}Jh.prototype.g=function(){return!0};Jh.prototype.R=function(a){return Hh.prototype.c.call(this,a)};function Kh(){this.a=0}l(Kh,Hh);
  317. function Mea(){Ih();var a=new Kh;a.b="Range";a.a=2;return a}Kh.prototype.f=function(){return!0};Kh.prototype.g=function(){return!0};Kh.prototype.R=function(a){return Hh.prototype.c.call(this,a)};function Lh(){this.a=0}l(Lh,Hh);function Nea(){Ih();var a=new Lh;a.b="Tail";a.a=3;return a}Lh.prototype.f=function(){return!0};Lh.prototype.R=function(a){return Hh.prototype.c.call(this,a)};function Mh(){}l(Mh,n);Mh.prototype.i=function(){return this.a.Jc()};Mh.prototype.j=function(){return this.c=this.a.Lc()};
  318. Mh.prototype.ma=function(){this.a.ma();this.b.Og(this.c);this.c=null};Mh.prototype.ea=function(a){Bb(this,a)};function Nh(){}l(Nh,n);Nh.prototype.i=function(){return this.a.i()};Nh.prototype.j=function(){return this.c=this.a.j()};Nh.prototype.ma=function(){this.a.ma();this.b.Og(this.c);this.c=null};Nh.prototype.ea=function(a){Bb(this,a)};function Oea(){}l(Oea,Ch);g=Oea.prototype;g.ia=function(){this.b.Fa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};
  319. g.Z=function(a){xc(this,a)};function Oh(){this.b=!1}l(Oh,je);function Pea(a,b){var c=new Oh;c.f=a;c.c=b;c.a=za([2],Oh,Qea,Oh.a);c.b=!0;return c}function Qea(a){return a instanceof Oh}function Ph(){this.c=this.b=!1}l(Ph,n);Ph.prototype.toString=function(){return"State: mv="+this.c+" value="+r(this.a)+" done=false found="+this.b};function Rea(){this.o=this.g=!1}l(Rea,Bh);
  320. function Sea(a,b,c,d,e,f){var h=new Rea;h.a=a;switch(b.a){case 2:if(0>a.b.Pa(e,c))throw ua("subMap: "+r(e)+" less than "+r(c)).s;break;case 1:a.b.Pa(e,e);break;case 3:a.b.Pa(c,c)}h.f=b;h.b=c;h.g=d;h.c=e;h.o=f;return h}g=Rea.prototype;g.ee=function(){return this.a.ee()};g.V=function(){return Eea(this)};g.rh=function(a,b){if(this.f.g()&&0<this.a.b.Pa(a,this.c))throw ua("subMap: "+r(a)+" greater than "+r(this.c)).s;return this.f.f()?this.a.dg(this.b,this.g,a,b):this.a.rh(a,b)};
  321. g.C=function(a,b){if(!Qh(this,a))throw ua(r(a)+" outside the range "+r(this.b)+" to "+r(this.c)).s;return this.a.C(a,b)};g.Ka=function(a){return Qh(this,a)?this.a.Ka(a):null};g.wa=function(){if(!this.ij())return 0;for(var a=0,b=this.dj();b.i();b.j())a++;return a};g.dg=function(a,b,c,d){if(this.f.f()&&0>this.a.b.Pa(a,this.b))throw ua("subMap: "+r(a)+" less than "+r(this.b)).s;if(this.f.g()&&0<this.a.b.Pa(c,this.c))throw ua("subMap: "+r(c)+" greater than "+r(this.c)).s;return this.a.dg(a,b,c,d)};
  322. g.Le=function(a,b){if(this.f.f()&&0>this.a.b.Pa(a,this.b))throw ua("subMap: "+r(a)+" less than "+r(this.b)).s;return this.f.g()?this.a.dg(a,b,this.c,this.o):this.a.Le(a,b)};g.Fl=function(){var a=new Mh,b=this.a,c=this.f,d=this.b,e=this.g,f=this.c,h=this.o;a.b=b;var k=w();Uh(b,k,c,b.a,d,e,f,h);a.a=k.Bb(k.w());return a};g.dj=function(){var a=new Nh,b=this.a,c=this.f,d=this.b,e=this.g,f=this.c,h=this.o;a.b=b;var k=w();Uh(b,k,c,b.a,d,e,f,h);a.a=k.ce();return a};g.Bg=function(a){return Vh(this,this.a.Bg(a))};
  323. g.ij=function(){var a=this.f.f()?this.g?this.a.gj(this.b):this.a.kj(this.b):this.a.ij();return Vh(this,a)};g.Dk=function(){var a=this.f.g()?this.o?this.a.jj(this.c):this.a.mj(this.c):this.a.Dk();return Vh(this,a)};g.gj=function(a){return Vh(this,this.a.gj(a))};g.jj=function(a){return Vh(this,this.a.jj(a))};g.kj=function(a){return Vh(this,this.a.kj(a))};g.mj=function(a){return Vh(this,this.a.mj(a))};g.Og=function(a){return Qh(this,a.M())&&this.a.Og(a)};
  324. function Vh(a,b){return b&&Qh(a,b.M())?b:null}function Qh(a,b){var c=a.a,d=a.f,e=a.c,f=a.o;return d.f()&&Tea(c,b,a.b,!a.g)||d.g()&&Uea(c,b,e,!f)?!1:!0}g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Wh(){this.c=0}l(Wh,Bh);function Xh(){var a=new Wh;a.c=0;a.a=null;a.b=nc(null);return a}
  325. function Vea(a){var b=new Wh;b.c=0;b.a=null;b.b=nc(a);return b}g=Wh.prototype;g.Fa=function(){this.a=null;this.c=0};g.ee=function(){var a=this.b;mc();return q(a,qba)?null:a};g.V=function(){var a=new Oea;a.b=this;a.a=this;return a};g.rh=function(a,b){return Sea(this,(Ih(),Hea),null,!1,a,b)};g.C=function(a,b){var c=new Ph;this.a=Wea(this,this.a,Pea(a,b),c);c.b||++this.c;this.a.b=!1;return c.a};g.Ka=function(a){var b=new Ph;Xea(this,a,b);return b.a};g.wa=function(){return this.c};
  326. g.dg=function(a,b,c,d){return Sea(this,(Ih(),Iea),a,b,c,d)};g.Le=function(a,b){return Sea(this,(Ih(),Jea),a,b,null,!1)};function Yea(a,b,c){for(var d=null,e=a.a;e;){var f=a.b.Pa(b,e.M());if(c&&0==f)return e;0<=f?e=e.a[1]:(d=e,e=e.a[0])}return d}function Zea(a,b,c){for(var d=null,e=a.a;e;){var f=a.b.Pa(b,e.M());if(c&&0==f)return e;0>=f?e=e.a[0]:(d=e,e=e.a[1])}return d}g.Fl=function(){var a=new Mh,b=(Ih(),Gea);a.b=this;var c=w();Uh(this,c,b,this.a,null,!1,null,!1);a.a=c.Bb(c.w());return a};
  327. g.dj=function(){var a=new Nh,b=(Ih(),Gea);a.b=this;var c=w();Uh(this,c,b,this.a,null,!1,null,!1);a.a=c.ce();return a};g.Bg=function(a){for(var b=this.a;b;){var c=this.b.Pa(a,b.M());if(0==c)return b;b=b.a[0>c?0:1]}return null};g.ij=function(){if(!this.a)return null;for(var a=this.a,b;b=a.a[0];)a=b;return a};g.Dk=function(){if(!this.a)return null;for(var a=this.a,b;b=a.a[1];)a=b;return a};g.gj=function(a){return Yea(this,a,!0)};g.jj=function(a){return Zea(this,a,!0)};
  328. g.kj=function(a){return Yea(this,a,!1)};g.mj=function(a){return Zea(this,a,!1)};g.Og=function(a){var b=new Ph;b.c=!0;b.a=a.O();return Xea(this,a.M(),b)};function Uh(a,b,c,d,e,f,h,k){if(d){var m=d.a[0];m&&Uh(a,b,c,m,e,f,h,k);m=d.M();c.f()&&Tea(a,m,e,!f)||c.g()&&Uea(a,m,h,!k)||b.add(d);(d=d.a[1])&&Uh(a,b,c,d,e,f,h,k)}}
  329. function Wea(a,b,c,d){if(b){var e=a.b.Pa(c.M(),b.M());if(0==e)return d.a=b.dd(c.O()),d.b=!0,b;e=0>e?0:1;Ad(b.a,e,Wea(a,b.a[e],c,d));Yh(b.a[e])&&(Yh(b.a[1-e])?(b.b=!0,b.a[0].b=!1,b.a[1].b=!1):Yh(b.a[e].a[e])?b=Zh(b,1-e):Yh(b.a[e].a[1-e])&&(b=$ea(b,1-e)))}else return c;return b}function Yh(a){return!!a&&a.b}function Uea(a,b,c,d){a=a.b.Pa(b,c);return 0<a||d&&0==a}function Tea(a,b,c,d){a=a.b.Pa(b,c);return 0>a||d&&0==a}
  330. function Xea(a,b,c){if(!a.a)return!1;var d=null,e=null,f=Pea(null,null),h=1;f.a[1]=a.a;for(var k=f;k.a[h];){var m=h,p=e;e=k;k=k.a[h];var t=a.b.Pa(b,k.M());h=0>t?0:1;0!=t||c.c&&!bd(k.O(),c.a)||(d=k);if(!Yh(k)&&!Yh(k.a[h]))if(Yh(k.a[1-h]))e=Ad(e.a,m,Zh(k,h));else if(!Yh(k.a[1-h])&&(t=e.a[1-m]))if(Yh(t.a[1-m])||Yh(t.a[m])){var v=q(p.a[1],e)?1:0;Yh(t.a[m])?Ad(p.a,v,$ea(e,m)):Yh(t.a[1-m])&&Ad(p.a,v,Zh(e,m));k.b=p.a[v].b=!0;p.a[v].a[0].b=!1;p.a[v].a[1].b=!1}else e.b=!1,t.b=!0,k.b=!0}if(d){c.b=!0;c.a=d.O();
  331. if(!q(k,d)){b=Pea(k.M(),k.O());h=d;m=f;for(p=null==m.M()||0<a.b.Pa(h.M(),m.M())?1:0;!q(m.a[p],h);)m=m.a[p],p=0<a.b.Pa(h.M(),m.M())?1:0;m.a[p]=b;b.b=h.b;b.a[0]=h.a[0];b.a[1]=h.a[1];h.a[0]=null;h.a[1]=null;q(e,d)&&(e=b)}e.a[q(e.a[1],k)?1:0]=k.a[k.a[0]?0:1];a.c--}a.a=f.a[1];a.a&&(a.a.b=!1);return c.b}function $ea(a,b){var c=1-b;Ad(a.a,c,Zh(a.a[c],c));return Zh(a,b)}function Zh(a,b){var c=1-b,d=a.a[c];a.a[c]=d.a[b];d.a[b]=a;a.b=!0;d.b=!1;return d}g.gb=function(a,b){return Yd(this,a,b)};
  332. g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.ba=!0;function $h(){}l($h,n);$h.prototype.b=function(a){return kc(this.a.toLowerCase(),a.a.toLowerCase())};$h.prototype.P=function(){return Yg(this.a)};$h.prototype.I=function(a){return q(a,this)?!0:a instanceof $h?q(this.a,a.a):!1};$h.prototype.toString=function(){return this.a};function afa(){}var bfa;l(afa,$h);
  333. function cfa(){cfa=function(){};bfa=dfa()}function fi(){}l(fi,afa);function dfa(){cfa();var a=new fi;a.a="UTF-8";return a}
  334. fi.prototype.c=function(a,b){for(var c=0,d=0;d<b;){++c;var e=a[d];if(128==(e&192))throw ua("Invalid UTF8 sequence").s;if(0==(e&128))++d;else if(192==(e&224))d+=2;else if(224==(e&240))d+=3;else if(240==(e&248))d+=4;else throw ua("Invalid UTF8 sequence").s;if(d>b)throw Ka("Invalid UTF8 sequence").s;}c=za([c],Ob,Pb,0);var f=0;for(e=d=0;e<b;){var h=a[e++];0==(h&128)?(d=1,h&=127):192==(h&224)?(d=2,h&=31):224==(h&240)?(d=3,h&=15):240==(h&248)?(d=4,h&=7):248==(h&252)&&(d=5,h&=3);for(;0<--d;){var k=a[e++];
  335. if(128!=(k&192))throw ua("Invalid UTF8 sequence at "+(e-1)+", byte="+r(na(k))).s;h=h<<6|k&63}k=f;var m=c;if(!(0<=h&&1114111>=h))throw lb().s;65536<=h?(Ad(m,f++,55296+(h-65536>>10&1023)&65535),m[f]=56320+(h-65536&1023)&65535,f=2):(m[f]=h&65535,f=1);f=k+f}return c};fi.prototype.R=function(a){return afa.prototype.b.call(this,a)};function efa(){}var ffa,gfa;l(efa,n);function hfa(){gi();return ffa}function gi(){gi=function(){};gfa=new ifa;ffa=new jfa}function ifa(){}l(ifa,efa);ifa.prototype.toString=function(){return""};
  336. function jfa(){}l(jfa,efa);jfa.prototype.toString=function(){return"unknown"};function B(){}l(B,n);function hi(a,b){a=aca(a);for(b=b.h();b.i();){var c=b.j();Cd(a,c)}return a.toString()}function Hg(a){return String.fromCharCode(a)}function Ub(a,b,c){c=b+c;var d=a.length;if(0>b||c>d||c<b)throw a=new aea,sa(a,"fromIndex: "+b+", toIndex: "+c+", length: "+d),a.a(Error(a)),a.s;for(d="";b<c;){var e=Math.min(b+1E4,c);d=r(d)+r(String.fromCharCode.apply(null,a.slice(b,e)));b=e}return d}
  337. function Pg(a){return Ub(a,0,a.length)}function r(a){return null==a?"null":ze(a)}function kfa(a){for(var b=0;0<=(b=a.indexOf("\\",b));)a=36==a.charCodeAt(b+1)?r(ne(a,0,b))+"$"+r(Oa(a,++b)):r(ne(a,0,b))+r(Oa(a,++b));return a}function ii(a){if(65536<=a){var b=56320+(a-65536&1023)&65535;return r(Hg(55296+(a-65536>>10&1023)&65535))+r(Hg(b))}return Hg(a&65535)}function yh(a,b){return a.charCodeAt(b)}function kc(a,b){return a==b?0:a<b?-1:1}function ji(a,b){return-1!=a.indexOf(b.toString())}
  338. function ki(a,b){var c=b.length;return q(a.substr(a.length-c,c),b)}function li(a,b){return q(a,b)}function lfa(a,b){return null==b?!1:q(a,b)?!0:a.length==b.length&&q(a.toLowerCase(),b.toLowerCase())}function mi(a,b){b=ii(b);return a.indexOf(b)}function ni(a,b,c){b=ii(b);return a.indexOf(b,c)}function te(a){return 0==a.length}function ti(a,b){b=ii(b);return a.lastIndexOf(b)}function mfa(a,b){return(new RegExp("^("+r(b)+")$")).test(a)}
  339. function ui(a,b,c,d,e,f){if(0>c||0>e||c+f>a.length||e+f>d.length)return!1;if(0>=f)return!0;a=a.substr(c,f);d=d.substr(e,f);return b?lfa(a,d):q(a,d)}function vi(a,b,c){b=na(b);b="\\u"+r("0000".substr(b.length))+r(b);return a.replace(new RegExp(b,"g"),String.fromCharCode(c))}function wi(a,b,c){b=xi(b.toString(),"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");c=xi(xi(c.toString(),"\\\\","\\\\\\\\"),"\\$","\\\\$");return xi(a,b,c)}
  340. function xi(a,b,c){c=kfa(c);return a.replace(new RegExp(b,"g"),c)}function nfa(a,b,c){c=kfa(c);return a.replace(new RegExp(b),c)}function yi(a,b,c){var d=new RegExp(b,"g");b=za([0],B,y,B.a);for(var e=0,f=a,h=null;;){var k=d.exec(f);if(!k||""===f||e==c-1&&0<c){b[e]=f;break}else{var m=k.index;b[e]=ne(f,0,m);f=ne(f,m+k[0].length,f.length);d.lastIndex=0;q(h,f)&&(b[e]=ne(f,0,1),f=f.substr(1));h=f;e++}}if(0==c&&0<a.length){for(a=b.length;0<a&&""===b[a-1];)--a;a<b.length&&(b.length=a)}return b}
  341. function zi(a,b){return q(a.substr(0,b.length),b)}function Oa(a,b){return a.substr(b)}function ne(a,b,c){return a.substr(b,c-b)}function Ai(a){for(var b=a.length,c=za([b],Ob,Pb,0),d=0,e=0;d<b;)Ad(c,e++,yh(a,d++));return c}function Bi(a){var b=(gi(),gfa);return q(b,hfa())?a.toLocaleLowerCase():a.toLowerCase()}function ofa(a){var b=(gi(),gfa);return q(b,hfa())?a.toLocaleUpperCase():a.toUpperCase()}
  342. function Ci(a){for(var b=a.length,c=0;c<b&&32>=a.charCodeAt(c);)c++;for(var d=b;d>c&&32>=a.charCodeAt(d-1);)d--;return 0<c||d<b?ne(a,c,d):a}function y(a){return"string"===typeof a}B.prototype.pm=!0;B.prototype.ba=!0;function Aa(){this.a=0}l(Aa,n);Aa.prototype.I=function(a){return Ba(a)?this.a==a.a&&q(this.f,a.f)&&q(this.c,a.c)&&q(this.b,a.b):!1};Aa.prototype.P=function(){return Fg([Fc(this.a),this.c,this.f,this.b])};
  343. Aa.prototype.toString=function(){return r(this.c)+"."+r(this.f)+"("+r(null!=this.b?this.b:"Unknown Source")+String(0<=this.a?":"+this.a:"")+")"};function Ba(a){return a instanceof Aa}Aa.prototype.ba=!0;function Di(a,b,c,d,e){Ig(a);Ig(c);var f=a.length,h=c.length;if(0>b||0>d||0>e||b+e>f||d+e>h)throw zaa().s;0<e&&yd(a,b,c,d,e,!0)}function Ei(){return gb(Date.now())}function D(a){if(!a)throw lb().s;}function Fi(a,b){if(!a)throw ua(r(b)).s;}function Gi(a,b,c){if(!a)throw ua(Hi(b,[Fc(c)])).s;}
  344. function Ii(a,b,c){if(!a)throw ua(Hi(b,[c])).s;}function E(a){if(!a)throw ob().s;}function F(a,b){if(!a)throw pb(r(b)).s;}function pfa(a,b,c){if(!a)throw pb(Hi(b,[Fc(c)])).s;}function Ji(a,b,c){if(!a)throw pb(Hi(b,[c])).s;}function qfa(a,b,c){if(!a)throw pb(Hi("Bad GETELEM node: Expected 2 children but got %s. For node: %s",[Fc(b),c])).s;}function Ki(a,b,c,d){if(!a)throw pb(Hi(b,[c,d])).s;}function G(a){if(null==a)throw qb().s;return a}function Li(a,b){if(null==a)throw rb(r(b)).s;return a}
  345. function Mi(a,b,c){if(null==a)throw rb(Hi(b,[c])).s;return a}function Ri(a,b){if(0>a||a>=b){if(0>a)a=Hi("%s (%s) must not be negative",["index",Fc(a)]);else{if(0>b)throw ua("negative size: "+b).s;a=Hi("%s (%s) must be less than size (%s)",["index",Fc(a),Fc(b)])}throw Ka(a).s;}}function Si(a,b){if(0>a||a>b)throw Ka(rfa(a,b,"index")).s;}
  346. function rfa(a,b,c){if(0>a)return Hi("%s (%s) must not be negative",[c,Fc(a)]);if(0>b)throw ua("negative size: "+b).s;return Hi("%s (%s) must not be greater than size (%s)",[c,Fc(a),Fc(b)])}function sfa(a,b,c){if(0>a||b<a||b>c)throw a=0>a||a>c?rfa(a,c,"start index"):0>b||b>c?rfa(b,c,"end index"):Hi("end index (%s) must not be less than start index (%s)",[Fc(b),Fc(a)]),Ka(a).s;}function Ti(a){return new Ui(a)}function Vi(){}l(Vi,n);
  347. function tfa(){switch(le("0123456789_.")){case 0:return Wi(),Xi;case 1:return Yi(me("0123456789_.",0));case 2:var a=me("0123456789_.",1),b=new Zi;b.a=me("0123456789_.",0);b.b=a;return b;default:return a=new $i,a.a=Ai("0123456789_.".toString()),a.a.sort(Yda()),a}}g=Vi.prototype;g.cb=function(){var a=new aj;a.a=G(this);return a};g.Zf=function(a){var b=new bj;b.a=G(this);b.b=G(a);return b};g.uh=function(a){for(var b=le(a)-1;0<=b;b--)if(!this.Dc(me(a,b)))return!1;return!0};
  348. g.Yk=function(a){return-1==this.Ql(a)};g.Ql=function(a){return this.qj(a,0)};g.qj=function(a,b){var c=le(a);for(Si(b,c);b<c;b++)if(this.Dc(me(a,b)))return b;return-1};g.re=function(a){return this.Dc(a.a)};g.toString=function(){return n.prototype.toString.call(this)};function fj(a){for(var b=A([92,117,0,0,0,0],Ob,Pb,1),c=0;4>c;c++)b[5-c]="0123456789ABCDEF".charCodeAt(a&15),a>>=4;return Pg(b)}g.Ca=function(a){return this.ca(a)};function Ui(a){this.a=a}l(Ui,n);
  349. Ui.prototype.ca=function(a){var b;return b=this.a,b(a)};Ui.prototype.Ca=function(a){return this.ca(a)};Ui.prototype.cb=function(){return hd(this)};function gj(a){return new hj(a)}function hj(a){this.a=a}l(hj,n);hj.prototype.f=function(a){var b;return b=this.a,b(a)};hj.prototype.ud=!0;function ij(a){return new ufa(a)}function ufa(a){this.a=a}l(ufa,n);ufa.prototype.f=function(){var a;return a=this.a,a()};function jj(){}l(jj,n);jj.prototype.ba=!0;function vfa(){}var wfa;l(vfa,jj);
  350. function kj(){xfa();return wfa}g=vfa.prototype;g.vn=function(){return!1};g.un=function(){throw pb("Optional.get() cannot be called on an absent value").s;};g.Cj=function(a){return Li(a,"use Optional.orNull() instead of Optional.or(null)")};g.en=function(a){return G(a)};g.I=function(a){return q(a,this)};g.P=function(){return 2040732332};g.toString=function(){return"Optional.absent()"};function xfa(){xfa=function(){};wfa=new vfa}function yfa(){this.a=0}var zfa,Afa,Bfa,Cfa;l(yfa,z);
  351. function lj(a,b){var c=new yfa;c.b=a;c.a=b;return c}yfa.prototype.R=function(a){return z.prototype.c.call(this,a)};function mj(){mj=function(){};zfa=lj("READY",0);Afa=lj("NOT_READY",1);Bfa=lj("DONE",2);Cfa=lj("FAILED",3)}function nj(){}l(nj,n);
  352. nj.prototype.i=function(){E(!q(this.c,(mj(),Cfa)));switch(this.c.a){case 2:return!1;case 0:return!0}var a;this.c=Cfa;b:{for(a=this.a;-1!=this.a;){var b=a,c=this.A(this.a);if(-1==c){var d=le(this.b);this.a=-1}else d=c,this.a=this.v(c);if(this.a==a)this.a++,this.a>le(this.b)&&(this.a=-1);else{for(;b<d&&this.g.Dc(me(this.b,b));)b++;for(;d>b&&this.g.Dc(me(this.b,d-1));)d--;if(this.u&&b==d)a=this.a;else{if(1==this.f)for(d=le(this.b),this.a=-1;d>b&&this.g.Dc(me(this.b,d-1));)d--;else this.f--;a=$ba(this.b,
  353. b,d).toString();break b}}}this.c=Bfa;a=null}this.o=a;q(this.c,Bfa)?a=!1:(this.c=zfa,a=!0);return a};nj.prototype.j=function(){if(!this.i())throw Qd().s;this.c=(mj(),Afa);var a=this.o;this.o=null;return a};nj.prototype.ma=function(){throw wb().s;};nj.prototype.ea=function(a){Bb(this,a)};function oj(){}l(oj,jj);function pj(a){var b=new oj;b.a=a;return b}g=oj.prototype;g.vn=function(){return!0};g.un=function(){return this.a};
  354. g.Cj=function(a){Li(a,"use Optional.orNull() instead of Optional.or(null)");return this.a};g.en=function(a){G(a);return this};g.I=function(a){return a instanceof oj?cd(this.a,a.a):!1};g.P=function(){return 1502476572+ed(this.a)};g.toString=function(){return"Optional.of("+r(this.a)+")"};function qj(){}var rj;l(qj,n);qj.prototype.a=function(){return"DUMMY"};qj.prototype.toString=function(){return this.a()};function sj(){sj=function(){};rj=new Dfa}qj.prototype.ba=!0;function Dfa(){}l(Dfa,qj);
  355. Dfa.prototype.a=function(){return"FINE"};function tj(){}l(tj,n);function Efa(){return new tj}tj.prototype.m=function(){return null};function xj(){return!1}
  356. function Hi(a,b){a=r(a);if(b)for(var c=0;c<b.length;c++){var d=b,e=c;var f=b[c];if(null==f)var h="null";else try{h=ze(f)}catch(k){if(k=va(k),Ea(k))h=k,f=r(ka(Ig(f)))+Hg(64)+r(na(Ah(f))),sj(),r(f),h="<"+r(f)+" threw "+r(ka(Ig(h)))+">";else throw k.s;}d[e]=h}else b=["(Object[])null"];c=Ng();for(e=d=0;e<b.length;){f=a.indexOf("%s",d);if(-1==f)break;Yf(c,a,d,f);Wg(c,b[e++]);d=f+2}Yf(c,a,d,a.length);if(e<b.length){x(c," [");for(Wg(c,b[e++]);e<b.length;)x(c,", "),Wg(c,b[e++]);Og(c,93)}return c.toString()}
  357. function aj(){}l(aj,Vi);g=aj.prototype;g.Dc=function(a){return!this.a.Dc(a)};g.uh=function(a){return this.a.Yk(a)};g.Yk=function(a){return this.a.uh(a)};g.cb=function(){return this.a};g.toString=function(){return r(this.a)+".negate()"};g.Ca=function(a){return this.ca(a)};g.ca=function(a){return Vi.prototype.re.call(this,a)};function yj(){}l(yj,aj);yj.prototype.Ca=function(a){return this.ca(a)};yj.prototype.ca=function(a){return aj.prototype.re.call(this,a)};function zj(){}l(zj,Vi);
  358. zj.prototype.cb=function(){var a=new yj;a.a=G(this);return a};zj.prototype.Ca=function(a){return this.ca(a)};function Aj(){}l(Aj,zj);Aj.prototype.toString=function(){return this.a};Aj.prototype.Ca=function(a){return this.ca(a)};function Ffa(){}var Gfa;l(Ffa,Aj);function Hfa(){var a=new Ffa;a.a=G("CharMatcher.any()");return a}g=Ffa.prototype;g.Dc=function(){return!0};g.Ql=function(a){return 0==le(a)?-1:0};g.qj=function(a,b){a=le(a);Si(b,a);return b==a?-1:b};g.uh=function(a){G(a);return!0};
  359. g.Yk=function(a){return 0==le(a)};g.Zf=function(a){G(a);return this};g.cb=function(){return Wi(),Xi};g.Ca=function(a){return this.ca(a)};g.ca=function(a){return Aj.prototype.re.call(this,a)};function Ifa(){Ifa=function(){};Gfa=Hfa()}function $i(){}l($i,Vi);$i.prototype.Dc=function(a){var b=this.a;a:{for(var c=0,d=b.length-1;c<=d;){var e=c+(d-c>>1),f=b[e];if(f<a)c=e+1;else if(f>a)d=e-1;else{a=e;break a}}a=-c-1}return 0<=a};
  360. $i.prototype.toString=function(){for(var a=ue('CharMatcher.anyOf("'),b=this.a,c=0;c<b.length;c++)x(a,fj(b[c]));x(a,'")');return a.toString()};$i.prototype.Ca=function(a){return this.ca(a)};$i.prototype.ca=function(a){return Vi.prototype.re.call(this,a)};function Bj(){this.a=this.b=0}l(Bj,zj);function Cj(a,b){var c=new Bj;D(b>=a);c.b=a;c.a=b;return c}Bj.prototype.Dc=function(a){return this.b<=a&&a<=this.a};
  361. Bj.prototype.toString=function(){return"CharMatcher.inRange('"+r(fj(this.b))+"', '"+r(fj(this.a))+"')"};Bj.prototype.Ca=function(a){return this.ca(a)};Bj.prototype.ca=function(a){return zj.prototype.re.call(this,a)};function Jfa(){this.a=0}l(Jfa,zj);function Yi(a){var b=new Jfa;b.a=a;return b}g=Jfa.prototype;g.Dc=function(a){return a==this.a};g.Zf=function(a){return a.Dc(this.a)?a:zj.prototype.Zf.call(this,a)};g.cb=function(){var a=new Kfa;a.a=this.a;return a};
  362. g.toString=function(){return"CharMatcher.is('"+r(fj(this.a))+"')"};g.Ca=function(a){return this.ca(a)};g.ca=function(a){return zj.prototype.re.call(this,a)};function Zi(){this.b=this.a=0}l(Zi,zj);Zi.prototype.Dc=function(a){return a==this.a||a==this.b};Zi.prototype.toString=function(){return'CharMatcher.anyOf("'+r(fj(this.a))+r(fj(this.b))+'")'};Zi.prototype.Ca=function(a){return this.ca(a)};Zi.prototype.ca=function(a){return zj.prototype.re.call(this,a)};function Kfa(){this.a=0}l(Kfa,zj);g=Kfa.prototype;
  363. g.Dc=function(a){return a!=this.a};g.Zf=function(a){return a.Dc(this.a)?(Ifa(),Gfa):this};g.cb=function(){return Yi(this.a)};g.toString=function(){return"CharMatcher.isNot('"+r(fj(this.a))+"')"};g.Ca=function(a){return this.ca(a)};g.ca=function(a){return zj.prototype.re.call(this,a)};function Dj(){}var Lfa;l(Dj,Vi);Dj.prototype.Dc=function(a){return nea(a)};Dj.prototype.toString=function(){return"CharMatcher.javaLetterOrDigit()"};Dj.prototype.Ca=function(a){return this.ca(a)};
  364. Dj.prototype.ca=function(a){return Vi.prototype.re.call(this,a)};function Mfa(){Mfa=function(){};Lfa=new Dj}function Nfa(){}var Xi;l(Nfa,Aj);function Ofa(){var a=new Nfa;a.a=G("CharMatcher.none()");return a}g=Nfa.prototype;g.Dc=function(){return!1};g.Ql=function(a){G(a);return-1};g.qj=function(a,b){Si(b,le(a));return-1};g.uh=function(a){return 0==le(a)};g.Yk=function(a){G(a);return!0};g.Zf=function(a){return G(a)};g.cb=function(){return Ifa(),Gfa};g.Ca=function(a){return this.ca(a)};
  365. g.ca=function(a){return Aj.prototype.re.call(this,a)};function Wi(){Wi=function(){};Xi=Ofa()}function bj(){}l(bj,Vi);bj.prototype.Dc=function(a){return this.a.Dc(a)||this.b.Dc(a)};bj.prototype.toString=function(){return"CharMatcher.or("+r(this.a)+", "+r(this.b)+")"};bj.prototype.Ca=function(a){return this.ca(a)};bj.prototype.ca=function(a){return Vi.prototype.re.call(this,a)};function Ej(){}var Pfa;l(Ej,Aj);function Qfa(){Rfa();var a=new Ej;a.a=G("CharMatcher.whitespace()");return a}
  366. Ej.prototype.Dc=function(a){return"\u2002\u3000\r\u0085\u200a\u2005\u2000\u3000\u2029\x0B\u3000\u2008\u2003\u205f\u3000\u1680\t \u2006\u2001\u202f\u00a0\f\u2009\u3000\u2004\u3000\u3000\u2028\n\u2007\u3000".charCodeAt(1682554634*a>>>Sfa|0)==a};Ej.prototype.Ca=function(a){return this.ca(a)};Ej.prototype.ca=function(a){return Aj.prototype.re.call(this,a)};function Rfa(){Rfa=function(){};Sfa=uh(31);Pfa=Qfa()}var Sfa=0;var Tfa,Ufa;
  367. function Vfa(a,b){Fj();G(a);G(b);return Kf(Wc(function(){return Gj()}),Wd(function(c,d){c.L(a.f(d),b.f(d))}),new Df(function(c,d){return c.ho(d)}),u(function(c){return c.Jb()}),A([],Ff,Gf,1))}function Wfa(a){Fj();G(a);return Kf(Wc(function(){var b=new Kj;b.a=w();b.b=G(a);return b}),Wd(function(b,c){b.W(c)}),new Df(function(b,c){Lj.prototype.Im.call(b,c);return b}),u(function(b){return b.fa()}),A([],Ff,Gf,1))}
  368. function Fj(){Fj=function(){};Tfa=Kf(Wc(function(){return Mj()}),Wd(function(a,b){a.W(b)}),new Df(function(a,b){G(b);a.a.na(b.a);return a}),u(function(a){return a.fa()}),A([],Ff,Gf,1));Ufa=Kf(Wc(function(){return Nj()}),Wd(function(a,b){a.W(b)}),new Df(function(a,b){return a.Im(b)}),u(function(a){return a.fa()}),A([],Ff,Gf,1))}function Oj(){}l(Oj,n);function Gj(){var a=new Oj;a.a=w();return a}function Xfa(a){var b=new Oj;Pj(a,"initialArraySize");b.a=Kd();return b}g=Oj.prototype;
  369. g.L=function(a,b){this.a.add(Qj(a,b));return this};g.jl=function(a){a instanceof Rj?(G(a.M()),G(a.O()),this.a.add(a)):this.a.add(Qj(a.M(),a.O()))};g.$k=function(a){return this.im(a.V())};g.im=function(a){for(a=a.h();a.i();){var b=a.j();this.jl(b)}return this};g.ho=function(a){G(a);this.a.na(a.a);return this};
  370. g.Jb=function(){this.c&&Uca(this.a,Yfa(Sj(this.c),(Tj(),Zfa)));a:{var a=this.a;Uj();switch(a.w()){case 0:a=Vj();break a;case 1:a=Wj(a);a=Xj(a.M(),a.O());break a;default:a=a.mb(za([a.w()],Sd,Td,Sd.a)),a=$fa(a)}}return a};function Yj(a,b){if(null==a)throw rb("null key in entry: null="+r(b)).s;if(null==b)throw rb("null value in entry: "+r(a)+"=null").s;}function Pj(a,b){if(0>a)throw ua(r(b)+" cannot be negative but was: "+a).s;return a}
  371. function Zj(a){F(a,"no calls to next() since the last call to remove()")}function ak(){}l(ak,n);ak.prototype.toString=function(){return ze(this.zb())};function bk(){}l(bk,ak);g=bk.prototype;g.h=function(){return this.zb().h()};g.w=function(){return this.zb().w()};g.Nb=function(a){return this.zb().Nb(a)};g.D=function(){return this.zb().D()};g.B=function(a){return this.zb().B(a)};g.add=function(a){return this.zb().add(a)};g.sa=function(a){return this.zb().sa(a)};g.Db=function(a){return this.zb().Db(a)};
  372. g.na=function(a){return this.zb().na(a)};g.ia=function(){this.zb().ia()};g.qc=function(){return this.zb().qc()};g.mb=function(a){return this.zb().mb(a)};g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;function ck(){}l(ck,bk);g=ck.prototype;g.I=function(a){return q(a,this)||cd(this.zb(),a)};g.P=function(){return ed(this.zb())};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};
  373. g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;function aga(){}l(aga,ck);g=aga.prototype;g.zb=function(){return this.a.a.V()};g.B=function(a){if(Td(a)&&null==a.M())return!1;try{return ck.prototype.B.call(this,a)}catch(b){throw b=va(b),b.s;}};g.mb=function(a){a=ck.prototype.mb.call(this,a);this.w()<a.length&&Ad(a,this.w(),null);return a};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};
  374. function dk(a,b){return q(a,b)||null!=a&&cd(a,b)}function ek(){}l(ek,n);g=ek.prototype;g.ca=function(a){return cd(this.a,a)};g.P=function(){return ed(this.a)};g.I=function(a){return a instanceof ek?cd(this.a,a.a):!1};g.toString=function(){return"Predicates.equalTo("+r(this.a)+")"};g.Ca=function(a){return this.ca(a)};g.cb=function(){return hd(this)};g.ba=!0;function fk(){this.a=0}var bga,cga;l(fk,z);fk.prototype.Ca=function(a){return this.ca(a)};fk.prototype.cb=function(){return hd(this)};
  375. function gk(){gk=function(){};bga=dga();cga=ega()}function fga(){this.a=0}l(fga,fk);function dga(){gk();var a=new fga;a.b="ALWAYS_TRUE";a.a=0;return a}g=fga.prototype;g.ca=function(){return!0};g.toString=function(){return"Predicates.alwaysTrue()"};g.Ca=function(a){return this.ca(a)};g.cb=function(){return hd(this)};g.R=function(a){return fk.prototype.c.call(this,a)};function gga(){this.a=0}l(gga,fk);function ega(){gk();var a=new gga;a.b="IS_NULL";a.a=2;return a}g=gga.prototype;
  376. g.ca=function(a){return null==a};g.toString=function(){return"Predicates.isNull()"};g.Ca=function(a){return this.ca(a)};g.cb=function(){return hd(this)};g.R=function(a){return fk.prototype.c.call(this,a)};function hk(){return gk(),bga}function ik(a){if(null==a)a=(gk(),cga);else{var b=new ek;b.a=a;a=b}return a}function hga(){}l(hga,n);g=hga.prototype;g.wb=function(a){var b=this;return this.a.wb(zb(function(c){a.pb(b.b.f(c))}))};g.ea=function(a){var b=this;this.a.ea(zb(function(c){a.pb(b.b.f(c))}))};
  377. g.nd=function(){return this.a.nd()};g.sd=function(){return this.a.sd()&-262};g.ec=function(a){return qc(this,a)};function iga(){}l(iga,n);g=iga.prototype;g.pb=function(a){this.a=a};g.wb=function(a){for(;this.b.wb(this);)try{if(this.c.Ca(this.a))return a.pb(this.a),!0}finally{this.a=null}return!1};g.nd=function(){return Qaa(this.b.nd(),hb(2))};g.sd=function(){return this.b.sd()&277};g.ea=function(a){oc(this,a)};g.ec=function(a){return qc(this,a)};function jga(){this.b=0}l(jga,n);g=jga.prototype;
  378. g.wb=function(a){var b=this;return this.a.Hf(new Dc(function(c){a.pb(bda(b.c,c))}))};g.ea=function(a){var b=this;this.a.fg(new Dc(function(c){a.pb(bda(b.c,c))}))};g.nd=function(){return this.a.nd()};g.sd=function(){return 16464|this.b};g.ec=function(a){return qc(this,a)};function mk(){this.c=0;this.b=hb(0)}l(mk,n);g=mk.prototype;g.wb=function(a){for(var b=this;;){if(null!=this.a&&this.a.wb(a))return this.b.I(Yb)||(this.b=Ya(this.b,hb(1))),!0;this.a=null;if(!this.f.wb(zb(function(c){b.a=b.g.f(c)})))return!1}};
  379. g.ea=function(a){var b=this;null!=this.a&&(this.a.ea(a),this.a=null);this.f.ea(zb(function(c){(c=b.g.f(c))&&c.ea(a)}));this.b=hb(0)};g.nd=function(){null!=this.a&&(this.b=Mb(this.b,this.a.nd()));return Mb(this.b,hb(0))};g.sd=function(){return this.c};g.ec=function(a){return qc(this,a)};function kga(){mk.call(this)}l(kga,mk);kga.prototype.ec=function(a){return qc(this,a)};function lga(a,b){return mga(a,1296,b,null)}
  380. function mga(a,b,c,d){d&&D(0!=(b&4));if(0>=a)a=Lda();else if(--a,0>a)a=Lda();else{d=new Zda;var e=Cb(a+1);d.c=0;d.b=a;Mc(d,e,17493);d.a=d.c;a=Mda(d)}a=a.pf();d=new jga;d.c=c;d.b=b;d.a=a;return d}function nk(a,b){G(a);G(b);var c=new hga;c.a=a;c.b=b;return c}function ok(a,b,c,d){Fi(0==(c&16384),"flatMap does not support SUBSIZED characteristic");Fi(0==(c&4),"flatMap does not support SORTED characteristic");G(a);G(b);var e=new kga;e.a=null;e.f=a;e.g=b;e.c=c;e.b=d;return e}function pk(){}l(pk,n);
  381. function qk(a){var b=new pk;b.a=G(a);return b}pk.prototype.b=function(a,b){G(a);if(b.i())for(pe(a,rk(b.j()));b.i();)pe(a,this.a),pe(a,rk(b.j()))};function sk(a,b,c){return nga(a,b,c.h())}function nga(a,b,c){try{a.b(b,c)}catch(d){d=va(d);if(Fa(d))throw jb(d).s;throw d.s;}return b}function tk(a,b){b=b.h();return nga(a,Mg(),b).toString()}function uk(a,b){return tk(a,lg(b))}function vk(a,b,c,d){G(d);var e=new oga;e.a=d;e.b=b;e.c=c;return tk(a,e)}
  382. function rk(a){G(a);return"string"===typeof a||null!=a&&1==a.pm?a:ze(a)}function pga(){}l(pga,pk);pga.prototype.b=function(a,b){Li(a,"appendable");for(Li(b,"parts");b.i();){var c=b.j();if(null!=c){pe(a,rk(c));break}}for(;b.i();)c=b.j(),null!=c&&(pe(a,this.a),pe(a,rk(c)))};function oga(){}l(oga,Ed);g=oga.prototype;g.w=function(){return this.a.length+2};g.G=function(a){switch(a){case 0:return this.b;case 1:return this.c;default:return this.a[a-2]}};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};
  383. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function wk(){}l(wk,n);function qga(a){G(a);var b=new xk;b.b=a;b.a=kj();return b}function yk(a){for(var b=0;b<a.length;b++)G(a[b]);b=new zk;b.b=a;b.a=kj();return b}g=wk.prototype;g.toString=function(){return rga(this.a.Cj(this).h())};g.S=function(){return Ak(this.a.Cj(this))};g.Z=function(a){xc(this,a)};g.Y=function(){return yc(this)};g.Xa=!0;function Bk(){}l(Bk,n);
  384. Bk.prototype.ma=function(){throw wb().s;};Bk.prototype.ea=function(a){Bb(this,a)};function Ck(){}l(Ck,Bk);Ck.prototype.i=function(){return this.a.i()};Ck.prototype.j=function(){return this.a.j()};Ck.prototype.ea=function(a){Bb(this,a)};function Dk(){this.a=!1}l(Dk,Bk);Dk.prototype.i=function(){return!this.a};Dk.prototype.j=function(){if(this.a)throw Qd().s;this.a=!0;return this.b};Dk.prototype.ea=function(a){Bb(this,a)};function sga(){this.a=0}var tga,uga,vga,wga;l(sga,z);
  385. function Ek(a,b){var c=new sga;c.b=a;c.a=b;return c}sga.prototype.R=function(a){return z.prototype.c.call(this,a)};function Fk(){Fk=function(){};tga=Ek("READY",0);uga=Ek("NOT_READY",1);vga=Ek("DONE",2);wga=Ek("FAILED",3)}function Gk(){}l(Gk,Bk);function Hk(a){a.b=(Fk(),vga);return null}Gk.prototype.i=function(){E(!q(this.b,(Fk(),wga)));switch(this.b.a){case 2:return!1;case 0:return!0}this.b=wga;this.g=this.c();if(q(this.b,vga))var a=!1;else this.b=tga,a=!0;return a};
  386. Gk.prototype.j=function(){if(!this.i())throw Qd().s;this.b=(Fk(),uga);var a=this.g;this.g=null;return a};Gk.prototype.ea=function(a){Bb(this,a)};function Ik(a){a.b=(Fk(),uga)}function Jk(){}l(Jk,Gk);Jk.prototype.c=function(){for(;this.a.i();){var a=this.a.j();if(this.f.ca(a))return a}return Hk(this)};Jk.prototype.ea=function(a){Bb(this,a)};function Kk(){}l(Kk,n);Kk.prototype.i=function(){return this.a.i()};Kk.prototype.j=function(){return this.b(this.a.j())};Kk.prototype.ma=function(){this.a.ma()};
  387. Kk.prototype.ea=function(a){Bb(this,a)};function Lk(){}l(Lk,Kk);function xga(a,b){var c=new Lk;c.c=a;c.a=G(b);return c}Lk.prototype.b=function(a){return this.c.f(a)};Lk.prototype.ea=function(a){Bb(this,a)};function Mk(){}l(Mk,Bk);Mk.prototype.xe=function(){throw wb().s;};Mk.prototype.Id=function(){throw wb().s;};Mk.prototype.ea=function(a){Bb(this,a)};function Nk(){this.a=this.b=0}l(Nk,Mk);g=Nk.prototype;g.i=function(){return this.a<this.b};g.j=function(){if(!this.i())throw Qd().s;return this.c(this.a++)};
  388. g.pd=function(){return this.a};g.Jc=function(){return 0<this.a};g.Lc=function(){if(!this.Jc())throw Qd().s;return this.c(--this.a)};g.Sd=function(){return this.a-1};g.ea=function(a){Bb(this,a)};function Ok(){Nk.call(this);this.f=0}var Pk;l(Ok,Nk);function yga(){Qk();var a=new Ok;Si(0,0);a.b=0;a.a=0;a.g=[];a.f=0;return a}Ok.prototype.c=function(a){return this.g[this.f+a]};Ok.prototype.ea=function(a){Bb(this,a)};function Qk(){Qk=function(){};Pk=yga()}function Rk(){this.f=this.c=this.b=0}l(Rk,n);
  389. Rk.prototype.i=function(){return this.b!=this.c};Rk.prototype.j=function(){Kc(this.i());this.b=this.b-1&this.a.a.length-1;var a=this.a.a[this.b];zga(this.c==this.a.b&&null!=a);this.f=this.b;return a};Rk.prototype.ma=function(){0<Aga(this.a,this.f)&&(this.b=this.b+1&this.a.a.length-1,this.c=this.a.b);this.f=-1};Rk.prototype.ea=function(a){Bb(this,a)};function Sk(){this.f=this.c=this.b=0}l(Sk,n);Sk.prototype.i=function(){return this.b!=this.c};
  390. Sk.prototype.j=function(){Kc(this.i());var a=this.a.a[this.b];zga(this.c==this.a.c&&null!=a);this.f=this.b;this.b=this.b+1&this.a.a.length-1;return a};Sk.prototype.ma=function(){0>Aga(this.a,this.f)&&(this.b=this.b-1&this.a.a.length-1,this.c=this.a.c);this.f=-1};Sk.prototype.ea=function(a){Bb(this,a)};function Tk(){this.c=this.b=0}l(Tk,zd);function zga(a){if(!a)throw Oe().s;}function Uk(){var a=new Tk;a.a=Array(8);return a}
  391. function Vk(a){var b=new Tk,c=a.w();b.a=Array(8);b.a.length=lh(Math.max(8,c))<<1;b.na(a);return b}function Bga(a){var b=new Tk;b.a=Array(8);b.a.length=lh(Math.max(8,a))<<1;return b}g=Tk.prototype;g.add=function(a){this.Sb(a);return!0};g.qe=function(a){Bf(a);this.b=this.b-1&this.a.length-1;this.a[this.b]=a;Cga(this)};g.Sb=function(a){Bf(a);this.a[this.c]=a;this.c=this.c+1&this.a.length-1;Cga(this)};g.ia=function(){this.b!=this.c&&(this.a=Array(8),this.c=this.b=0)};
  392. g.B=function(a){return Dga(this.h(),a)};g.yn=function(){var a=new Rk;a.a=this;a.b=a.a.c;a.c=a.a.b;a.f=-1;return a};g.zg=function(){return this.Oe()};g.Oe=function(){return this.a[this.b]};g.mh=function(){return Ega(this)};g.D=function(){return this.b==this.c};g.h=function(){var a=new Sk;a.a=this;a.b=a.a.b;a.c=a.a.c;a.f=-1;return a};g.$l=function(a){this.Zl(a)};g.Zl=function(a){this.Sb(a)};g.Na=function(){return this.$f()};g.$f=function(){return this.a[this.b]};g.Je=function(){return Ega(this)};
  393. g.Dj=function(){return this.Ch()};g.Ch=function(){var a=this.a[this.b];if(null==a)return null;this.a[this.b]=null;this.b=this.b+1&this.a.length-1;return a};g.Cn=function(){var a=Ega(this);if(null==a)return null;this.c=this.c-1&this.a.length-1;this.a[this.c]=null;return a};g.Ta=function(){return this.qd()};g.Ea=function(a){this.qe(a)};g.Tg=function(){return this.qd()};g.sa=function(a){return this.fn(a)};g.qd=function(){return this.Ch()};g.fn=function(a){var b=this.h();Dga(b,a)?(b.ma(),a=!0):a=!1;return a};
  394. g.Ke=function(){return this.Cn()};g.w=function(){return this.c-this.b&this.a.length-1};g.Y=function(){return Tc(this,272)};g.mb=function(a){var b=this.w();a.length<b&&(a=vd(Array(b),a));Fga(this,a,b);a.length>b&&(a[b]=null);return a};function Dga(a,b){if(null==b)return!1;for(;a.i();)if(cd(b,a.j()))return!0;return!1}function Ega(a){return a.a[a.c-1&a.a.length-1]}function Fga(a,b,c){for(var d=a.a.length-1,e=a.b,f=0;f<c;e=e+1&d,++f)b[f]=a.a[e]}
  395. function Cga(a){if(a.b==a.c){var b=a.a.length,c=lh(Math.max(8,b))<<1;0!=a.b?(c=vd(Array(c),a.a),Fga(a,c,b),a.a=c,a.b=0):a.a.length=c;a.c=b}}function Aga(a,b){var c=a.a.length-1,d=b-a.b&c,e=a.c-b&c;zga(d<(a.c-a.b&c));if(d>=e){c=a.a.length-1;for(a.c=a.c-1&c;b!=a.c;)d=b+1&c,a.a[b]=a.a[d],b=d;a.a[a.c]=null;return-1}for(c=a.a.length-1;b!=a.b;)d=b-1&c,a.a[b]=a.a[d],b=d;a.a[a.b]=null;a.b=a.b+1&c;return 1}g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};
  396. g.Xa=!0;g.yb=!0;function Wk(){}l(Wk,n);function Gga(a){var b=new Wk;b.c=(Qk(),Pk);b.a=G(a);return b}Wk.prototype.i=function(){for(;!G(this.c).i();){a:{for(;!this.a||!this.a.i();)if(this.b&&!this.b.D())this.a=this.b.qd();else{var a=null;break a}a=this.a}this.a=a;if(!this.a)return!1;this.c=this.a.j();if(this.c instanceof Wk){a=this.c;this.c=a.c;this.b||(this.b=Uk());this.b.qe(this.a);if(a.b)for(;!a.b.D();)this.b.qe(a.b.Ke());this.a=a.a}}return!0};
  397. Wk.prototype.j=function(){if(this.i())return this.f=this.c,this.c.j();throw Qd().s;};Wk.prototype.ma=function(){Zj(!!this.f);this.f.ma();this.f=null};Wk.prototype.ea=function(a){Bb(this,a)};function Hga(){this.a=0}var Xk;l(Hga,z);function Iga(){var a=new Hga;a.b="INSTANCE";a.a=0;return a}g=Hga.prototype;g.i=function(){return!1};g.j=function(){throw Qd().s;};g.ma=function(){Zj(!1)};g.ea=function(a){Bb(this,a)};g.R=function(a){return z.prototype.c.call(this,a)};
  398. function Yk(){Yk=function(){};Xk=Iga()}function Zk(){this.a=this.b=0}l(Zk,n);Zk.prototype.i=function(){return this.b<this.c.a.w()};Zk.prototype.j=function(){this.i();this.a=this.b++;return this.c.a.G(this.a)};Zk.prototype.ma=function(){Jga(this.c,this.b=this.a);this.a=-1};Zk.prototype.ea=function(a){Bb(this,a)};function Kga(){}l(Kga,ica);g=Kga.prototype;g.na=function(a){var b=this.a.w();for(a=a.h();a.i();){var c=a.j();this.a.add(Bf(c))}return b!=this.a.w()?($k(this,0),!0):!1};g.ia=function(){this.a.ia()};
  399. g.B=function(a){return-1!=(null==a?-1:this.a.indexOf(a))};g.h=function(){var a=new Zk;a.c=this;a.b=0;a.a=-1;return a};g.$l=function(a){Bf(a);var b=this.a.w();for(this.a.add(a);0<b;){var c=b;b=(b-1)/2|0;if(0>=this.b.Pa(this.a.G(b),a)){this.a.Rb(c,a);return}this.a.Rb(c,this.a.G(b))}this.a.Rb(b,a)};g.Na=function(){return this.a.D()?null:this.a.G(0)};g.Dj=function(){var a=this.Na();null!=a&&Jga(this,0);return a};g.sa=function(a){a=null==a?-1:this.a.indexOf(a);if(0>a)return!1;Jga(this,a);return!0};
  400. g.Nb=function(a){return this.a.Nb(a)?($k(this,0),!0):!1};g.w=function(){return this.a.w()};g.Y=function(){return Tc(this,256)};g.qc=function(){return this.a.qc()};g.mb=function(a){return this.a.mb(a)};function $k(a,b){var c=a.a.w();2*b+1>=c||($k(a,2*b+1),c=2*b+2,c<a.a.w()&&$k(a,c),Lga(a,b))}function Lga(a,b){for(var c=a.a.w(),d=a.a.G(b);!(2*b+1>=c);){var e=a,f=2*b+1,h=f+1;var k=f;h<c&&0>e.b.Pa(e.a.G(h),e.a.G(f))&&(k=h);if(0>a.b.Pa(d,a.a.G(k)))break;a.a.Rb(b,a.a.G(k));b=k}a.a.Rb(b,d)}
  401. function Jga(a,b){var c=a.a.Wa(a.a.w()-1);b<a.a.w()&&(a.a.Rb(b,c),Lga(a,b))}g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function al(){this.a=!1}l(al,n);al.prototype.i=function(){return this.a||this.b.i()};al.prototype.j=function(){if(!this.a)return this.b.j();var a=this.c;this.a=!1;this.c=null;return a};al.prototype.ma=function(){F(!this.a,"Can't remove after you've peeked at next");this.b.ma()};
  402. function Mga(a){a.a||(a.c=a.b.j(),a.a=!0);return a.c}al.prototype.ea=function(a){Bb(this,a)};function bl(){}var Nga;l(bl,n);function Oga(a,b){Uj();return Vfa(a,b)}function Vj(){Uj();return Nga}function Xj(a,b){Uj();Yj(a,b);var c=new cl,d=Sca(G(a),G(b));dl(c,d);c.u=a;c.g=b;return c}function Pga(a,b,c,d,e,f){Uj();return $fa(A([Qj(a,b),Qj(c,d),Qj(e,f)],Sd,Td,1))}function el(){Uj();return Gj()}function Qj(a,b){Uj();Yj(a,b);return fl(a,b)}
  403. function il(a){var b;Uj();if(a instanceof bl&&!(a instanceof jl))return a;if(a instanceof kl){for(b=a.V().h();b.i();){var c=b.j();G(c.M());G(c.O())}b=new kl;b.a=Qga(a.a);b.b=wd(a.b,a.b.length);return Rga(b)}switch(a.wa()){case 0:return Vj();case 1:return a=Wj(a.V()),Xj(a.M(),a.O());default:b=Uf();for(a=a.V().h();a.i();)c=a.j(),b.C(G(c.M()),G(c.O()));return Sga(b)}}g=bl.prototype;g.C=function(){throw wb().s;};g.Ka=function(){throw wb().s;};g.Ud=function(){throw wb().s;};
  404. g.Fa=function(){throw wb().s;};g.Qa=function(){return 0==this.wa()};g.X=function(a){return null!=this.get(a)};g.kd=function(a){return this.values().B(a)};g.V=function(){if(this.b)var a=this.b;else a=new aga,a.a=this,a=this.b=Tga(a);return a};g.oa=function(){return this.c?this.c:this.c=this.df()};g.df=function(){ll();var a=new Uga;a.a=this;return a};function Vga(a){return nk(a.V().Y(),u(function(b){return b.M()}))}g.values=function(){return this.f?this.f:this.f=this.Bh()};
  405. g.Bh=function(){ll();var a=new Wga;a.a=this;return a};g.I=function(a){a=q(this,a)?!0:de(a)?cd(this.V(),a.V()):!1;return a};g.P=function(){return this.V().P()};g.toString=function(){var a=this.wa();Pj(a,"size");a=Og(Ng(),123);for(var b=!0,c=this.V().h();c.i();){var d=c.j();b||x(a,", ");b=!1;Wg(Og(Wg(a,d.M()),61),d.O())}return Og(a,125).toString()};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};
  406. g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Uj(){Uj=function(){};Nga=$fa(A([],Sd,Td,1))}g.Nd=!0;g.ba=!0;function ml(){}l(ml,bl);function dl(a,b){a.b=null;a.c=null;a.f=null;a.a=sf(b)}g=ml.prototype;g.Qa=function(){return this.a.Qa()};g.X=function(a){return nl(this.a,a)};g.kd=function(a){return this.a.kd(a)};g.get=function(a){return null==a?null:ol(this.a,a)};g.df=function(){return Tga(this.a.oa())};g.Bh=function(){var a=this.a.values();ll();return Xga(a)};g.wa=function(){return this.a.wa()};
  407. g.I=function(a){return cd(this.a,a)};g.P=function(){return ed(this.a)};g.toString=function(){return ze(this.a)};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function pl(){}l(pl,ml);function Rga(a){Uj();for(var b=G(a).V().h();b.i();){var c=b.j();G(c.M());G(c.O())}b=new pl;dl(b,a);return b}g=pl.prototype;
  408. g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function ql(){}l(ql,Bk);ql.prototype.i=function(){return this.a.i()};ql.prototype.j=function(){return this.a.j().M()};ql.prototype.ea=function(a){Bb(this,a)};function rl(){}l(rl,n);g=rl.prototype;g.dd=function(){throw wb().s;};
  409. g.I=function(a){return Td(a)?dk(this.M(),a.M())&&dk(this.O(),a.O()):!1};g.P=function(){var a=this.M(),b=this.O();return(null==a?0:ed(a))^(null==b?0:ed(b))};g.toString=function(){return r(this.M())+"="+r(this.O())};g.Yg=!0;function Rj(){}l(Rj,rl);function fl(a,b){var c=new Rj;c.f=a;c.c=b;return c}Rj.prototype.M=function(){return this.f};Rj.prototype.O=function(){return this.c};Rj.prototype.dd=function(){throw wb().s;};Rj.prototype.ba=!0;function Yga(a){this.a=a}l(Yga,n);function sl(){}l(sl,Kk);
  410. sl.prototype.ea=function(a){Bb(this,a)};sl.prototype.b=function(a){return a.M()};function tl(){}l(tl,Kk);function Zga(a){var b=new tl;b.a=G(a);return b}tl.prototype.ea=function(a){Bb(this,a)};tl.prototype.b=function(a){return a.O()};function ul(){}l(ul,Kk);function $ga(a,b){var c=new ul;c.c=a;c.a=G(b);return c}ul.prototype.b=function(a){return aha(a,this.c.f(a))};ul.prototype.ea=function(a){Bb(this,a)};function vl(){}l(vl,ve);function wl(){var a=new vl;a.a=bf();return a}g=vl.prototype;
  411. g.qb=function(a,b){return this.X(a)?this.get(a):this.C(a,b)};g.X=function(a){if(null==a)throw qb().s;return this.a.X(a)};g.get=function(a){if(null==a)throw qb().s;return this.a.get(a)};g.C=function(a,b){if(null==a||null==b)throw qb().s;return this.a.C(a,b)};g.kd=function(a){if(null==a)throw qb().s;return this.a.kd(a)};g.Ka=function(a){if(null==a)throw qb().s;return this.a.Ka(a)};g.V=function(){return this.a.V()};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};
  412. g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.Fb=function(a){ce(this,a)};g.Nd=!0;function xl(){}l(xl,n);xl.prototype.Ce=function(a){G(a);for(var b=0;b<a.length;b++)this.W(G(a[b]));return this};xl.prototype.fb=function(a){G(a);for(a=a.h();a.i();){var b=a.j();this.W(G(b))}return this};function Lj(){}l(Lj,xl);function yl(){var a=new Lj;a.a=w();return a}g=Lj.prototype;g.W=function(a){this.a.add(G(a));return this};
  413. g.Ce=function(a){G(a);this.a.w();xl.prototype.Ce.call(this,a);return this};g.fb=function(a){nd(a)&&(this.a.w(),a.w());xl.prototype.fb.call(this,a);return this};g.Im=function(a){this.a.na(a.a);return this};g.fa=function(){return bha(this.a.h())};function Kj(){}l(Kj,Lj);Kj.prototype.W=function(a){Lj.prototype.W.call(this,a);return this};Kj.prototype.Ce=function(a){Lj.prototype.Ce.call(this,a);return this};Kj.prototype.fb=function(a){Lj.prototype.fb.call(this,a);return this};
  414. Kj.prototype.fa=function(){return cha(this.b,this.a.h())};function zl(){}l(zl,n);function Sj(a){if(!(a instanceof zl)){var b=new Al;b.a=G(a);a=b}return a}g=zl.prototype;g.gf=function(){var a=new Bl;a.a=G(this);return a};g.Ng=function(){var a=new Cl;a.a=this;return a};g.wh=function(){var a=new Dl;a.a=this;return a};function Yfa(a,b){var c=new El;c.a=G(b);c.b=G(a);return c}g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};function El(){}l(El,zl);
  415. g=El.prototype;g.Pa=function(a,b){return this.b.Pa(this.a.f(a),this.a.f(b))};g.I=function(a){return q(a,this)?!0:a instanceof El?this.a.I(a.a)&&cd(this.b,a.b):!1};g.P=function(){return Fg([this.a,this.b])};g.toString=function(){return r(this.b)+".onResultOf("+r(this.a)+")"};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function Al(){}l(Al,zl);g=Al.prototype;g.Pa=function(a,b){return this.a.Pa(a,b)};
  416. g.I=function(a){return q(a,this)?!0:a instanceof Al?this.a.I(a.a):!1};g.P=function(){return ed(this.a)};g.toString=function(){return ze(this.a)};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function dha(){}var eha;l(dha,zl);g=dha.prototype;g.gf=function(){return Fl(),Gl};g.toString=function(){return"Ordering.natural().reverse()"};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};
  417. g.oc=function(a){return dc(this,a)};g.Pa=function(a,b){G(a);return q(a,b)?0:jc(b,a)};function fha(){fha=function(){};eha=new dha}g.ba=!0;function gha(){}var Gl;l(gha,zl);g=gha.prototype;g.Ng=function(){var a=this.a;a||(a=this.a=zl.prototype.Ng.call(this));return a};g.wh=function(){var a=this.b;a||(a=this.b=zl.prototype.wh.call(this));return a};g.gf=function(){return fha(),eha};g.toString=function(){return"Ordering.natural()"};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};
  418. g.oc=function(a){return dc(this,a)};g.Pa=function(a,b){G(a);G(b);return jc(a,b)};function Fl(){Fl=function(){};Gl=new gha}g.ba=!0;function Cl(){}l(Cl,zl);g=Cl.prototype;g.Pa=function(a,b){return q(a,b)?0:null==a?-1:null==b?1:this.a.Pa(a,b)};g.gf=function(){return this.a.gf().wh()};g.Ng=function(){return this};g.wh=function(){return this.a.wh()};g.I=function(a){return q(a,this)?!0:a instanceof Cl?cd(this.a,a.a):!1};g.P=function(){return ed(this.a)^957692532};
  419. g.toString=function(){return r(this.a)+".nullsFirst()"};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function Dl(){}l(Dl,zl);g=Dl.prototype;g.Pa=function(a,b){return q(a,b)?0:null==a?1:null==b?-1:this.a.Pa(a,b)};g.gf=function(){return this.a.gf().Ng()};g.Ng=function(){return this.a.Ng()};g.wh=function(){return this};g.I=function(a){return q(a,this)?!0:a instanceof Dl?cd(this.a,a.a):!1};g.P=function(){return ed(this.a)^-921210296};
  420. g.toString=function(){return r(this.a)+".nullsLast()"};g.ac=function(){return fc(this)};g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function Bl(){}l(Bl,zl);g=Bl.prototype;g.Pa=function(a,b){return this.a.Pa(b,a)};g.gf=function(){return this.a};g.P=function(){return-ed(this.a)};g.I=function(a){return q(a,this)?!0:a instanceof Bl?cd(this.a,a.a):!1};g.toString=function(){return r(this.a)+".reverse()"};g.ac=function(){return fc(this)};
  421. g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.ba=!0;function hha(){this.a=0}var iha,jha,kha,lha;l(hha,z);function Hl(a,b){var c=new hha;c.b=a;c.a=b;return c}hha.prototype.R=function(a){return z.prototype.c.call(this,a)};function mha(){mha=function(){};lha=Hl("CEILING",2);iha=Hl("HALF_UP",4);jha=Hl("HALF_EVEN",6);kha=Hl("UNNECESSARY",7)}function nha(a){if(!a)throw Caa("mode was UNNECESSARY, but rounding was necessary").s;}
  422. function oha(a){return 0<ab(a,Cb(2147483647))?2147483647:0>ab(a,Cb(-2147483648))?-2147483648:a.a}
  423. function pha(){pha=function(){};A([9,9,9,8,8,8,7,7,7,6,6,6,6,5,5,5,4,4,4,3,3,3,3,2,2,2,1,1,1,0,0,0,0],rc,vc,1);A([1,10,100,1E3,1E4,1E5,1E6,1E7,1E8,1E9],Zc,$c,1);A([3,31,316,3162,31622,316227,3162277,31622776,316227766,2147483647],Zc,$c,1);A([1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600],Zc,$c,1);A([2147483647,2147483647,65536,2345,477,193,110,75,58,49,43,39,37,35,34,34,33],Zc,$c,1)}function Kl(){}l(Kl,zd);g=Kl.prototype;g.B=function(a){return null!=a&&zd.prototype.B.call(this,a)};
  424. g.add=function(){throw wb().s;};g.sa=function(){throw wb().s;};g.na=function(){throw wb().s;};g.Nb=function(){throw wb().s;};g.ia=function(){throw wb().s;};g.ff=function(){var a=this.f;return a?a:this.f=this.uk()};g.uk=function(){switch(this.w()){case 0:return Ll();case 1:return Ml(this.h().j());default:var a=this.qc();Nl();var b=new Ol;a=Pl(a);b.b=this;b.a=a;return b}};g.Md=function(){return!1};g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};
  425. g.Z=function(a){xc(this,a)};function ll(){ll=function(){};Xga(hf())}g.ba=!0;function Ql(){}var qha;l(Ql,Kl);function Rl(){Nl();Fj();return Tfa}function Ll(){Nl();return qha}function Ml(a){Nl();var b=G(a);a=new rha;b=G(b);Fd();var c=new kca;c.a=b;a.a=c;return a}function Sl(a,b){Nl();return Tl(Ul([a,b]))}function sha(a,b,c,d,e,f,h,k,m,p,t,v,C){Nl();var J=Array(12+C.length);a=[a,b,c,d,e,f,h,k,m,p,t,v];Di(a,0,J,0,a.length);Di(C,0,J,12,C.length);return Tl(Ul(J))}
  426. function Vl(a){Nl();G(a);nd(a)?a=Wl(a):(a=a.h(),a=tha(Xl(a)));return a}function Wl(a){Nl();return a instanceof Kl?a.ff():tha(a)}function Yl(a){Nl();G(a);return Wl(lg(a))}function tha(a){a=a.qc();switch(a.length){case 0:return Ll();case 1:return Ml(a[0]);default:return Tl(Ul(a))}}function Zl(a){Nl();switch(a.w()){case 0:return Ll();case 1:return Ml(a.G(0));default:return Tl(a)}}function Pl(a){Nl();return Zl(lg(a))}
  427. function uha(a,b){Nl();G(a);b=(nd(b)?b:Xl(b.h())).qc();for(var c=b.length,d=0;d<c;d++)if(null==b[d])throw rb("at index "+d).s;pd(b,a);return Pl(b)}function Ul(a){for(var b=0,c=a.length;b<c;b++)if(null==a[b])throw rb("at index "+b).s;return lg(a)}g=Ql.prototype;
  428. g.indexOf=function(a){if(null==a)a=-1;else a:if(td(this))b:{var b=this.w();if(null==a)for(a=0;a<b;a++){if(null==this.G(a))break b}else for(var c=0;c<b;c++)if(cd(a,this.G(c))){a=c;break b}a=-1}else{for(b=this.ce();b.i();)if(dk(a,b.j())){a=b.Sd();break a}a=-1}return a};
  429. g.lastIndexOf=function(a){if(null==a)a=-1;else a:if(td(this))b:{if(null==a)for(a=this.w()-1;0<=a;a--){if(null==this.G(a))break b}else for(var b=this.w()-1;0<=b;b--)if(cd(a,this.G(b))){a=b;break b}a=-1}else{for(b=this.Bb(this.w());b.Jc();)if(dk(a,b.Lc())){a=b.pd();break a}a=-1}return a};g.Rb=function(){throw wb().s;};g.bc=function(){throw wb().s;};g.Wa=function(){throw wb().s;};g.h=function(){return this.ce()};
  430. g.Gb=function(a,b){if(td(this)){var c=new vha;c.a=G(this)}else c=new wha,c.a=G(this);a=c.Gb(a,b);return Zl(a)};g.ce=function(){return this.Bb(0)};g.Bb=function(a){var b=this.w(),c=new $l;c.f=this;Si(a,b);c.b=b;c.a=a;return c};g.ff=function(){return this};g.I=function(a){return xha(this,a)};g.P=function(){for(var a=1,b=this.h();b.i();){var c=b.j();a=31*a+(null==c?0:ed(c));a=~~a}return a};
  431. g.gf=function(){G(this);var a=nd(this)?Jd(this):Xl(this.h());Fd();if(td(a))for(var b=0,c=a.w()-1;b<c;++b,--c){var d=a,e=b,f=c,h=d.G(e);d.Rb(e,d.G(f));d.Rb(f,h)}else for(b=a.ce(),c=a.Bb(a.w());b.pd()<c.Sd();)d=b.j(),e=c.Lc(),b.Id(e),c.Id(d);return Zl(a)};function Mj(){Nl();return am()}g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Nl(){Nl=function(){};ll();qha=Tl(hf())}g.Xa=!0;
  432. g.yb=!0;g.Xg=!0;g.Pe=!0;function bm(){}l(bm,Ql);g=bm.prototype;g.B=function(a){return this.Xe().B(a)};g.w=function(){return this.Xe().w()};g.D=function(){return this.Xe().D()};g.Md=function(){return this.Xe().Md()};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Ol(){}l(Ol,bm);g=Ol.prototype;g.Xe=function(){return this.b};g.Bb=function(a){return this.a.Bb(a)};g.G=function(a){return this.a.G(a)};
  433. g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function yha(){}l(yha,Ol);g=yha.prototype;g.Xe=function(){return Ol.prototype.Xe.call(this)};g.Jd=function(){return this.Xe().Jd()};g.B=function(a){return 0<=this.indexOf(a)};g.Y=function(){var a;return mga(this.w(),1301,(a=this.a,new Ef(function(b){return a.G(b)})),this.Jd())};g.lb=function(a){od(this,a)};g.da=function(a){return jd(this,a)};
  434. g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;function cm(){}l(cm,Kl);function zha(){ll();Fj();return Ufa}function dm(){ll();return Aha(),Bha}function em(a,b){ll();return fm([a,b])}function gm(a,b,c){ll();return fm([a,b,c])}function hm(a,b,c,d){ll();return fm([a,b,c,d])}function im(a,b,c,d,e){ll();return fm([a,b,c,d,e])}function jm(a,b,c,d,e,f,h){ll();var k=Kd();Pca(k,[a,b,c,d,e,f]);Pca(k,h);return bha(k.h())}
  435. function Cha(a){ll();G(a);switch(a.length){case 0:return dm();case 1:return mm(a[0]);default:return fm(a)}}function nm(a){ll();return a instanceof cm&&!(a instanceof om)?a:bha(a.h())}function bha(a){ll();if(!a.i())return dm();var b=a.j();if(!a.i())return mm(b);var c=pm();c.add(G(b));do c.add(G(a.j()));while(a.i());return Tga(c)}function Tga(a){ll();switch(a.w()){case 0:return dm();case 1:return mm(a.h().j());default:return Dha(a)}}
  436. function fm(a){var b=pm();Pca(b,a);for(a=b.h();a.i();){var c=a.j();G(c)}switch(b.w()){case 0:return dm();case 1:return mm(b.h().j());default:return Dha(b)}}g=cm.prototype;g.I=function(a){return Eha(this,a)};g.P=function(){return Fha(this)};function Nj(){ll();return yl()}g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;function qm(){}l(qm,cm);g=qm.prototype;g.h=function(){return rm(this.a.h())};
  437. g.B=function(a){return null!=a&&this.a.B(a)};g.Db=function(a){return this.a.Db(a)};g.w=function(){return this.a.w()};g.D=function(){return this.a.D()};g.qc=function(){return this.a.qc()};g.mb=function(a){return this.a.mb(a)};g.toString=function(){return ze(this.a)};g.P=function(){return ed(this.a)};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function om(){}var sm,Gha;l(om,qm);
  438. function Hha(a){tm();G(a);var b;sm.I(a)?b=Gha:b=Iha(um(a));return b}function Jha(a){tm();return Wfa(a)}function Kha(a,b){tm();G(a);G(a);var c=null!=b&&b.he?(c=b.Jd())?a.I(c):q(a,(Fl(),Gl)):!1;a=c&&b instanceof om&&!(b instanceof vm&&b.c)?b:cha(a,b.h());return a}function Lha(a){tm();var b=a.Jd();b||(b=sm);return cha(b,a.h())}function cha(a,b){tm();G(a);if(!b.i())return Hha(a);for(a=um(a);b.i();){var c=b.j();G(c);a.add(c)}return Iha(a)}g=om.prototype;g.Jd=function(){return this.b.Jd()};g.h=function(){return qm.prototype.h.call(this)};
  439. g.qc=function(){return Mha(this,Array(this.w()))};g.mb=function(a){var b=a;a=this.w();b.length<a&&(b=Dg(b,0),b.length=a);Mha(this,b);b.length>a&&(b[a]=null);return b};g.B=function(a){try{return null!=a&&this.b.B(a)}catch(b){throw b=va(b),b.s;}};g.Db=function(a){for(var b=a.h();b.i();)if(null==b.j())return!1;try{return this.b.Db(a)}catch(c){throw c=va(c),c.s;}};g.Y=function(){return Me(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};
  440. function tm(){tm=function(){};ll();sm=(Fl(),Gl);Gha=Iha(um(sm))}g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;g.Xa=!0;function vm(){this.c=!1}l(vm,om);function Iha(a){tm();var b=new vm;b.a=uf(a);b.b=Wca(a);b.c=!1;return b}g=vm.prototype;g.uk=function(){var a=Pl(this.qc());Nl();var b=new yha;b.b=this;b.a=a;return b};g.Y=function(){return Me(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function wm(){}l(wm,ee);function xm(){var a=new wm;a.a=Xh();return a}
  441. function um(a){var b=new wm;b.a=Vea(a);return b}function Nha(a){var b=new wm;b.a=a;return b}g=wm.prototype;g.add=function(a){return null==this.a.C(a,!1)};g.ia=function(){this.a.Fa()};g.Jd=function(){return this.a.ee()};g.B=function(a){return this.a.X(a)};g.Rf=function(){return Nha(this.a.xf())};g.h=function(){return this.a.oa().h()};g.sa=function(a){return null!=this.a.Ka(a)};g.w=function(){return this.a.wa()};g.Qg=function(a,b){return Nha(this.a.Le(a,b))};g.Y=function(){return Me(this)};
  442. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;g.Zg=!0;g.ba=!0;function ym(){}var Bha;l(ym,qm);function Dha(a){Aha();var b=new ym;b.a=uf(a);return b}ym.prototype.Y=function(){return Ud(this)};ym.prototype.da=function(a){return jd(this,a)};ym.prototype.S=function(){return ld(this)};ym.prototype.Z=function(a){xc(this,a)};function Aha(){Aha=function(){};ll();Bha=Dha(jf())}function Oha(){}l(Oha,cm);
  443. function mm(a){ll();var b=new Oha;b.a=G(a);return b}g=Oha.prototype;g.w=function(){return 1};g.h=function(){var a=new Dk;a.b=this.a;return a};g.B=function(a){return cd(this.a,a)};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function zm(){}l(zm,df);function pm(){var a=new zm,b=Uf();a.a=b;return a}function Am(a){var b=new zm,c=Uf();b.a=c;b.na(a);return b}function Pha(){var a=new zm,b=Wf();a.a=b;return a}g=zm.prototype;
  444. g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;function Bm(){}l(Bm,qm);Bm.prototype.Y=function(){return Ud(this)};Bm.prototype.da=function(a){return jd(this,a)};Bm.prototype.S=function(){return ld(this)};Bm.prototype.Z=function(a){xc(this,a)};function Qha(){}function Cm(a){return null!=a&&!!a.nm}Qha.prototype.nm=!0;function Dm(){}l(Dm,Kl);Dm.prototype.da=function(a){return jd(this,a)};
  445. Dm.prototype.Y=function(){return Tc(this,0)};Dm.prototype.S=function(){return ld(this)};Dm.prototype.Z=function(a){xc(this,a)};function Em(){this.a=0}l(Em,Bk);Em.prototype.i=function(){return 0<this.a||this.b.i()};Em.prototype.j=function(){if(0>=this.a){var a=this.b.j();this.c=a.b();this.a=a.a()}this.a--;return this.c};Em.prototype.ea=function(a){Bb(this,a)};function Rha(){}l(Rha,bm);g=Rha.prototype;g.G=function(a){return this.a.a.G(a).b()};g.Xe=function(){return this.a};
  446. g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Sha(){}l(Sha,cm);g=Sha.prototype;g.h=function(){return this.ff().h()};g.uk=function(){Nl();var a=new Rha;a.a=this;return a};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Tha(){}l(Tha,Sha);g=Tha.prototype;g.B=function(a){return this.b.B(a)};
  447. g.Md=function(){return!0};g.w=function(){return this.a.w()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Fm(){}l(Fm,n);Fm.prototype.I=function(a){return Cm(a)?this.a()==a.a()&&dk(this.b(),a.b()):!1};Fm.prototype.P=function(){var a=this.b();return(null==a?0:ed(a))^this.a()};Fm.prototype.toString=function(){var a=r(this.b()),b=this.a();return 1==b?a:r(a)+" x "+b};Fm.prototype.nm=!0;function Gm(){this.c=0}
  448. l(Gm,Fm);Gm.prototype.b=function(){return this.f};Gm.prototype.a=function(){return this.c};Gm.prototype.ba=!0;function Im(a,b){G(b);a.yc().Z(zb(function(c){var d=c.b();c=c.a();var e=b.a;e(d,c)}))}function Jm(a,b){G(b);a.yc().Z(zb(function(c){var d=c.b();c=c.a();for(var e=0;e<c;e++)b.pb(d)}))}function Km(a){return null!=a&&!!a.nl}function Lm(){}l(Lm,Dm);function Mm(){ll();return Uha(),Vha}g=Lm.prototype;g.h=function(){var a=this.yc().h(),b=new Em;b.b=a;return b};
  449. g.ff=function(){var a=this.c;return a?a:this.c=Dm.prototype.ff.call(this)};g.B=function(a){return 0<this.yd(a)};g.De=function(){throw wb().s;};g.ag=function(){throw wb().s;};g.Sg=function(){throw wb().s;};g.xh=function(){throw wb().s;};g.I=function(a){return Wha(this,a)};g.P=function(){return Fha(this.yc())};g.toString=function(){return this.yc().toString()};g.yc=function(){var a=this.u;a||(this.D()?a=dm():(ll(),a=new Xha,a.a=this),a=this.u=a);return a};
  450. function Nm(){ll();var a=new Om,b=Yha();a.a=b;return a}g.Z=function(a){Jm(this,a)};g.Ag=function(a){Im(this,a)};g.Y=function(){return Pm(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Xa=!0;g.yb=!0;g.nl=!0;function Zha(){this.b=hb(0)}l(Zha,Lm);
  451. function $ha(a){ll();var b=a.mb(za([0],Qha,Cm,Qha.a));a=cf(Qm(b.length));for(var c=hb(0),d=0;d<b.length;d++){var e=b[d],f=e.a();c=c.add(Cb(f));var h=G(e.b());a.C(h,Fc(f));if(!(e instanceof Gm)){e=d;var k=new Gm,m=k;m.f=h;m.c=f;Pj(f,"count");b[e]=k}}b=Pl(b);d=new Zha;d.g=a;d.a=b;d.b=c;return d}g=Zha.prototype;g.yd=function(a){return this.g.Ya(a,Fc(0)).xb()};g.te=function(){var a=this.o;if(!a){a=this.a;ll();var b=new Tha;b.a=a;b.b=this;a=this.o=b}return a};g.Md=function(){return!1};g.w=function(){return oha(this.b)};
  452. g.Z=function(a){Jm(this,a)};g.Ag=function(a){Im(this,a)};g.Y=function(){return Pm(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Rm(){}l(Rm,ee);g=Rm.prototype;g.Nb=function(a){return aia(this,a)};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function bia(){}l(bia,Rm);g=bia.prototype;g.ia=function(){this.a.ia()};g.B=function(a){return this.a.B(a)};g.Db=function(a){return this.a.Db(a)};
  453. g.D=function(){return this.a.D()};g.sa=function(a){return 0<this.a.ag(a,2147483647)};g.w=function(){return this.a.yc().w()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function cia(){}l(cia,bia);g=cia.prototype;g.h=function(){var a=this.a,b=a.a.V().h(),c=new Sm;c.c=a;c.b=b;return c};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};
  454. function dia(){}l(dia,Rm);g=dia.prototype;g.B=function(a){return Cm(a)?0>=a.a()?!1:this.a.yd(a.b())==a.a():!1};g.sa=function(a){if(Cm(a)){var b=a.b();a=a.a();if(0!=a)return this.a.xh(b,a,0)}return!1};g.ia=function(){this.a.ia()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function eia(){}l(eia,dia);g=eia.prototype;g.h=function(){return this.a.$c()};g.w=function(){return this.a.a.wa()};g.Y=function(){return Ud(this)};
  455. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Tm(){}l(Tm,zd);g=Tm.prototype;g.D=function(){return this.yc().D()};g.B=function(a){return 0<this.yd(a)};g.add=function(a){this.De(a,1);return!0};g.De=function(){throw wb().s;};g.sa=function(a){return 0<this.ag(a,1)};g.ag=function(){throw wb().s;};g.Sg=function(a,b){Pj(b,"count");var c=this.yd(a);b-=c;0<b?this.De(a,b):0>b&&this.ag(a,-b);return c};
  456. g.xh=function(a,b,c){Pj(b,"oldCount");Pj(c,"newCount");this.yd(a)==b?(this.Sg(a,c),a=!0):a=!1;return a};g.na=function(a){G(this);G(a);return Km(a)?fia(this,a):a.D()?!1:Um(this,a.h())};g.Nb=function(a){a=Km(a)?a.te():a;return this.te().Nb(a)};g.te=function(){var a=this.c;a||(a=new cia,a.a=this,this.c=a);return a};g.yc=function(){var a=this.f;a||(a=new eia,a.a=this,this.f=a);return a};g.I=function(a){return Wha(this,a)};g.P=function(){return ed(this.yc())};g.toString=function(){return ze(this.yc())};
  457. g.Z=function(a){Jm(this,a)};g.Ag=function(a){Im(this,a)};g.Y=function(){return Pm(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Xa=!0;g.yb=!0;g.nl=!0;function Vm(){this.a=0}l(Vm,n);function gia(a){var b=new Vm;b.a=a;return b}function Wm(a,b){var c=a.a;a.a=b;return c}Vm.prototype.P=function(){return this.a};Vm.prototype.I=function(a){return a instanceof Vm&&a.a==this.a};Vm.prototype.toString=function(){return""+this.a};Vm.prototype.ba=!0;function Sm(){}l(Sm,n);
  458. Sm.prototype.i=function(){return this.b.i()};Sm.prototype.j=function(){var a=this.b.j();this.a=a;return a.M()};Sm.prototype.ma=function(){Zj(!!this.a);this.c.b=Saa(this.c.b,Cb(Wm(this.a.O(),0)));this.b.ma();this.a=null};Sm.prototype.ea=function(a){Bb(this,a)};function Xm(){}l(Xm,Fm);Xm.prototype.b=function(){return this.c.M()};Xm.prototype.a=function(){var a=this.c.O();if(!a||0==a.a){var b=this.f.a.a.get(this.b());if(b)return b.a}return a?a.a:0};function Ym(){}l(Ym,n);Ym.prototype.i=function(){return this.c.i()};
  459. Ym.prototype.j=function(){var a=this.c.j();this.b=a;var b=new Xm;b.f=this;b.c=a;return b};Ym.prototype.ma=function(){Zj(!!this.b);this.a.b=Saa(this.a.b,Cb(Wm(this.b.O(),0)));this.c.ma();this.b=null};Ym.prototype.ea=function(a){Bb(this,a)};function Zm(){this.b=0;this.c=!1}l(Zm,n);Zm.prototype.i=function(){return 0<this.b||this.f.i()};Zm.prototype.j=function(){0==this.b&&(this.a=this.f.j(),this.b=this.a.O().a);this.b--;this.c=!0;return this.a.M()};
  460. Zm.prototype.ma=function(){Zj(this.c);if(0>=this.a.O().a)throw Oe().s;var a=this.a.O();0==(a.a+=-1)&&this.f.ma();this.g.b=Ya(this.g.b,hb(1));this.c=!1};Zm.prototype.ea=function(a){Bb(this,a)};function $m(){this.b=hb(0)}l($m,Tm);g=$m.prototype;g.yc=function(){return Tm.prototype.yc.call(this)};g.$c=function(){var a=this.a.V().h(),b=new Ym;b.a=this;b.c=a;return b};g.Ag=function(a){G(a);this.a.ib(Wd(function(b,c){var d=a.a;d(b,c.a)}))};
  461. g.ia=function(){for(var a=this.a.values().h();a.i();)a.j().a=0;this.a.Fa();this.b=hb(0)};g.w=function(){return oha(this.b)};g.h=function(){var a=new Zm;a.g=this;a.f=this.a.V().h();return a};g.yd=function(a){return(a=ol(this.a,a))?a.a:0};
  462. g.De=function(a,b){if(0==b)return this.yd(a);Gi(0<b,"occurrences cannot be negative: %s",b);var c=this.a.get(a);if(c){var d=c.a;a=Cb(d).add(Cb(b));if(!(0>=ab(a,Cb(2147483647))))throw ua(Hi("too many occurrences: %s",[cba(a)])).s;c.a+=b}else d=0,this.a.C(a,gia(b));this.b=this.b.add(Cb(b));return d};g.ag=function(a,b){if(0==b)return this.yd(a);Gi(0<b,"occurrences cannot be negative: %s",b);var c=this.a.get(a);if(!c)return 0;var d=c.a;d>b||(b=d,this.a.Ka(a));c.a+=-b;this.b=Ya(this.b,Cb(b));return d};
  463. g.Sg=function(a,b){Pj(b,"count");var c;if(0==b)var d=(c=this.a.Ka(a))?Wm(c,b):0;else d=(c=this.a.get(a))?Wm(c,b):0,c||this.a.C(a,gia(b));this.b=this.b.add(Cb(b-d));return d};g.Z=function(a){Jm(this,a)};g.Y=function(){return Pm(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.ba=!0;function an(){this.b=hb(0)}l(an,$m);function Yha(){var a=new an,b=Uf();D(b.Qa());a.a=b;return a}an.prototype.Z=function(a){Jm(this,a)};an.prototype.Y=function(){return Pm(this)};
  464. an.prototype.da=function(a){return jd(this,a)};an.prototype.S=function(){return ld(this)};function Om(){}l(Om,xl);Om.prototype.W=function(a){this.a.add(G(a));return this};Om.prototype.Ce=function(a){xl.prototype.Ce.call(this,a);return this};Om.prototype.fb=function(a){var b=this;Km(a)?a.Ag(new nda(function(c,d){b.a.De(G(c),d)})):xl.prototype.fb.call(this,a);return this};
  465. Om.prototype.fa=function(){var a=this.a;ll();if(!(a instanceof Lm)||a.Md()){if(!Km(a)){var b=Km(a)?a.te().w():11,c=new an;b=Wf(Qm(b));D(b.Qa());c.a=b;bn(c,a);a=c}a=a.yc();a.D()?a=Mm():(Uha(),a=a.D()?Mm():$ha(a))}return a};function hia(){}l(hia,bm);g=hia.prototype;g.G=function(a){return this.a.kl(a)};g.Md=function(){return this.a.Md()};g.w=function(){return this.a.w()};g.Xe=function(){return this.a};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};
  466. g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function cn(){}l(cn,cm);g=cn.prototype;g.h=function(){return this.ff().h()};g.Y=function(){var a=this;return lga(this.w(),new Ef(function(b){return a.kl(b)}))};g.Z=function(a){G(a);for(var b=this.w(),c=0;c<b;c++)a.pb(this.kl(c))};g.uk=function(){Nl();var a=new hia;a.a=this;return a};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Xha(){}l(Xha,cn);g=Xha.prototype;g.Md=function(){return this.a.Md()};g.kl=function(a){return this.a.a.G(a)};
  467. g.w=function(){return this.a.te().w()};g.B=function(a){return Cm(a)?0>=a.a()?!1:this.a.yd(a.b())==a.a():!1};g.P=function(){return this.a.P()};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};var Vha;function Uha(){Uha=function(){};ll();Vha=$ha(Ll())}function dn(){}l(dn,ee);g=dn.prototype;g.Pl=function(){return nm(this)};g.add=function(){throw wb().s;};g.sa=function(){throw wb().s;};g.na=function(){throw wb().s;};g.Nb=function(){throw wb().s;};g.da=function(){throw wb().s;};
  468. g.ia=function(){throw wb().s;};g.Y=function(){return Ud(this)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function iia(){}l(iia,bk);g=iia.prototype;g.yd=function(a){return this.zb().yd(a)};g.De=function(a,b){return this.zb().De(a,b)};g.ag=function(a,b){return this.zb().ag(a,b)};g.te=function(){return this.zb().te()};g.yc=function(){return this.zb().yc()};g.I=function(a){return q(a,this)||this.zb().I(a)};g.P=function(){return this.zb().P()};
  469. g.Sg=function(a,b){return this.zb().Sg(a,b)};g.xh=function(a,b,c){return this.zb().xh(a,b,c)};g.Z=function(a){Jm(this,a)};g.Ag=function(a){Im(this,a)};g.Y=function(){return Pm(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Xa=!0;g.yb=!0;g.nl=!0;function en(){}l(en,iia);g=en.prototype;g.zb=function(){return this.a};g.te=function(){var a=this.b;return a?a:this.b=uf(this.a.te())};g.yc=function(){var a=this.c;return a?a:this.c=uf(this.a.yc())};g.h=function(){return rm(this.a.h())};
  470. g.add=function(){throw wb().s;};g.De=function(){throw wb().s;};g.na=function(){throw wb().s;};g.sa=function(){throw wb().s;};g.ag=function(){throw wb().s;};g.Nb=function(){throw wb().s;};g.ia=function(){throw wb().s;};g.Sg=function(){throw wb().s;};g.xh=function(){throw wb().s;};g.Z=function(a){Jm(this,a)};g.Ag=function(a){Im(this,a)};g.Y=function(){return Pm(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.ba=!0;
  471. function Wha(a,b){if(q(b,a))return!0;if(Km(b)){if(a.w()!=b.w()||a.yc().w()!=b.yc().w())return!1;for(b=b.yc().h();b.i();){var c=b.j();if(a.yd(c.b())!=c.a())return!1}return!0}return!1}function fia(a,b){if(b.D())return!1;b.Ag(new nda(function(c,d){a.De(c,d)}));return!0}function Pm(a){var b=a.yc().Y();return ok(b,u(function(c){return Rca(c.a(),c.b()).Y()}),64|b.sd()&1296,Cb(a.w()))}function fn(){}l(fn,Gk);fn.prototype.c=function(){if(this.a.i())return this.a.j();for(;this.f.i();){var a=this.f.j();if(!this.o.B(a))return a}return Hk(this)};
  472. fn.prototype.ea=function(a){Bb(this,a)};function jia(){}l(jia,dn);g=jia.prototype;g.w=function(){for(var a=this.a.w(),b=this.b.h();b.i();){var c=b.j();this.a.B(c)||a++}return a};g.D=function(){return this.a.D()&&this.b.D()};g.h=function(){var a=new fn,b=this.b;a.o=this.a;a.u=b;Ik(a);a.a=a.o.h();a.f=a.u.h();return a};g.S=function(){var a=this;return zda(this.a.S(),sg(this.b.S(),fd(function(b){return!a.a.B(b)})))};g.B=function(a){return this.a.B(a)||this.b.B(a)};g.Pl=function(){return yl().fb(this.a).fb(this.b).fa()};
  473. g.Y=function(){return Ud(this)};g.Z=function(a){xc(this,a)};function gn(){}l(gn,Gk);gn.prototype.c=function(){for(;this.a.i();){var a=this.a.j();if(this.o.B(a))return a}return Hk(this)};gn.prototype.ea=function(a){Bb(this,a)};function kia(){}l(kia,dn);g=kia.prototype;g.h=function(){var a=new gn,b=this.b;a.f=this.a;a.o=b;Ik(a);a.a=a.f.h();return a};g.S=function(){var a=this;return sg(this.a.S(),fd(function(b){return a.b.B(b)}))};
  474. g.w=function(){for(var a=0,b=this.a.h();b.i();){var c=b.j();this.b.B(c)&&a++}return a};g.D=function(){a:{var a=this.b,b=this.a;Fd();var c=a;var d=b;Vd(a)&&!Vd(b)&&(c=b,d=a);for(a=c.h();a.i();)if(b=a.j(),d.B(b)){d=!1;break a}d=!0}return d};g.B=function(a){return this.a.B(a)&&this.b.B(a)};g.Db=function(a){return this.a.Db(a)&&this.b.Db(a)};g.Y=function(){return Ud(this)};g.Z=function(a){xc(this,a)};function hn(){}l(hn,Gk);hn.prototype.c=function(){for(;this.a.i();){var a=this.a.j();if(!this.o.B(a))return a}return Hk(this)};
  475. hn.prototype.ea=function(a){Bb(this,a)};function lia(){}l(lia,dn);g=lia.prototype;g.h=function(){var a=new hn,b=this.b;a.f=this.a;a.o=b;Ik(a);a.a=a.f.h();return a};g.S=function(){var a=this;return sg(this.a.S(),fd(function(b){return!a.b.B(b)}))};g.w=function(){for(var a=0,b=this.a.h();b.i();){var c=b.j();this.b.B(c)||a++}return a};g.D=function(){return this.b.Db(this.a)};g.B=function(a){return this.a.B(a)&&!this.b.B(a)};g.Y=function(){return Ud(this)};g.Z=function(a){xc(this,a)};function jn(){}
  476. l(jn,n);function kn(a){var b=new jn;mia(b,a);return b}function mia(a,b){a.a=za([0],Zc,$c,0);a.a.length=((b-1)/31|0)+1}function ln(a){if(0>a)throw Ka("bitIndex < 0: "+a).s;}function nia(a,b){if(0>a||0>b||a>b)throw Ka("fromIndex: "+a+", toIndex: "+b).s;}function oia(a,b,c){var d=b/31|0,e=c/31|0;pia(a,e);b=b%31|0;c=c%31|0;if(d==e)qia(a,d,b,c);else for(qia(a,d,b,31),qia(a,e,0,c),d+=1;d<e;d++)a[d]=2147483647}function pia(a,b){b+=1;b>a.length&&(a.length=b)}
  477. function mn(a){for(var b=a.length-1;0<=b&&0==(a[b]|0);--b);return b}function ria(a,b,c){0!=c&&(c=32-c,a[b]=((a[b]|0)^(-1<<c>>>c|0))&2147483647)}function qia(a,b,c,d){c!=d&&(d=32-d,a[b]=(a[b]|0|(-1>>>c|0)<<c+d>>>d|0)&2147483647)}function sia(a,b){if(q(a,b))a.a.length=0;else for(var c=Math.min(a.a.length,b.a.length),d=0;d<c;d++){var e=b.a[d]|0;if(0!=e){var f=a.a[d]|0;0!=f&&(a.a[d]=f&~e&2147483647)}}}function tia(a){a=zg(a.a,a.a.length);var b=new jn;b.a=a;return b}
  478. jn.prototype.I=function(a){if(q(this,a))return!0;if(!uia(a))return!1;var b=mn(this.a);if(b!=mn(a.a))return!1;for(var c=0;c<=b;c++)if((this.a[c]|0)!=(a.a[c]|0))return!1;return!0};function nn(a,b){ln(b);var c=b/31|0;return c<a.a.length&&1==(((a.a[c]|0)>>>(b%31|0)|0)&1)}jn.prototype.P=function(){for(var a=mn(this.a),b=-2128831035^a,c=0;c<=a;c++){var d=this.a[c]|0;b=16777619*b&-1^d&255;b=16777619*b&-1^(d>>>8|0)&255;b=16777619*b&-1^(d>>>16|0)&255;b=16777619*b&-1^(d>>>24|0)}return b};
  479. function on(a){var b=mn(a.a);return-1==b?0:31*b+(32-uh(a.a[b]|0))}function pn(a,b){ln(b);var c=b/31|0,d=a.a.length;if(c>=d)return-1;for(b=(a.a[c]|0)&2147483647<<(b%31|0);0==b;){if(++c>=d)return-1;b=a.a[c]|0}return 31*c+zea(b)}function via(a,b){if(-1==b)return-1;ln(b);var c=b/31|0;if(c>=a.a.length)return on(a)-1;for(b=(a.a[c]|0)&(2147483647>>>31-(b%31|0)-1|0);0==b;){if(0>--c)return-1;b=a.a[c]|0}return 31*c+(32-uh(b))-1}
  480. function qn(a,b){if(!q(a,b)){pia(a.a,b.a.length-1);for(var c=0;c<b.a.length;c++){var d=b.a[c]|0;0!=d&&(a.a[c]=a.a[c]|0|d)}}}function rn(a,b){ln(b);var c=b/31|0;pia(a.a,c);a.a[c]=a.a[c]|0|1<<(b%31|0)}function wia(a,b,c){nia(b,c);b!=c&&oia(a.a,b,c)}jn.prototype.toString=function(){if(0==on(this))return"{}";var a=ue("{"),b=pn(this,0);for(Vg(a,b);-1!=(b=pn(this,b+1));)x(a,", "),Vg(a,b);x(a,"}");return a.toString()};function uia(a){return a instanceof jn}function sn(){this.a=this.c=0}l(sn,n);
  481. sn.prototype.i=function(){return this.c<this.b.w()};sn.prototype.j=function(){this.i();this.a=this.c++;return this.b.G(this.a)};sn.prototype.ma=function(){this.f.sa(this.b.G(this.a));this.a=-1};sn.prototype.ea=function(a){Bb(this,a)};function xia(){}l(xia,ee);function tn(){var a=new xia;a.a=ef();return a}g=xia.prototype;g.add=function(a){return this.a.add(a)};g.sa=function(a){return this.a.sa(a)};g.B=function(a){return this.a.B(a)};g.w=function(){return this.a.w()};g.ia=function(){this.a.ia()};
  482. g.h=function(){var a=Jd(this.a);Tca(a);var b=new sn;b.f=this;b.b=a;b.c=0;b.a=-1;return b};function yia(a){var b=tn();b.add(a);return b}function wn(a,b){var c=tn();c.add(a);for(a=0;a<b.length;a++)c.add(b[a]);return c}function Qga(a){a.D();var b=tn();for(a=a.h();a.i();){var c=a.j();b.add(c)}return b}g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function xn(){}l(xn,xl);function am(){var a=new xn;a.a=w();return a}
  483. xn.prototype.W=function(a){this.a.add(G(a));return this};xn.prototype.fb=function(a){xl.prototype.fb.call(this,a);return this};xn.prototype.Ce=function(a){G(a);xl.prototype.Ce.call(this,a);return this};xn.prototype.fa=function(){return Wl(this.a)};function zia(){}l(zia,ck);g=zia.prototype;g.Jd=function(){return this.zb().Jd()};g.Y=function(){return Me(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;
  484. function yn(){}l(yn,zia);function Aia(a){var b=new yn;b.a=G(a);b.c=Wca(a);return b}g=yn.prototype;g.zb=function(){return this.c};g.da=function(){throw wb().s;};g.S=function(){return this.a.S()};g.Z=function(a){this.a.Z(a)};g.Rf=function(){var a=this.b;a||(a=this.b=Aia(this.a.Rf()),a.b=this);return a};g.Qg=function(a,b){return Bia(this.a.Qg(a,b))};g.Y=function(){return Me(this)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;g.Zg=!0;g.ba=!0;function Cia(){}l(Cia,Ze);function lf(){var a=new Cia;$e(a);return a}g=Cia.prototype;
  485. g.I=function(a){if(q(a,this))return!0;if(!de(a)||this.wa()!=a.wa())return!1;for(a=a.V().h();a.i();){var b=a.j(),c=b.M();b=b.O();if(!this.X(c)||!q(b,this.get(c)))return!1}return!0};g.P=function(){for(var a=0,b=this.V().h();b.i();){var c=b.j();a+=Ah(c.M());a+=Ah(c.O())}return a};g.xk=function(a,b){return q(a,b)};g.Ck=function(a){return ja(a)};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};
  486. g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.Nd=!0;g.ba=!0;function zn(a,b){a:switch(a=wn(a,b),ll(),a.w()){case 0:a=dm();break a;case 1:a=mm(Wj(a));break a;default:b=new Bm,b.a=uf(a),a=b}return a}function Dia(a){if(nd(a))a=ff(a);else{a=a.h();var b=ef();Um(b,a);a=b}return a}function Eia(a,b){Li(a,"set1");Li(b,"set2");var c=new jia;c.a=a;c.b=b;return c}function Fia(a,b){Li(a,"set1");Li(b,"set2");var c=new lia;c.a=a;c.b=b;return c}
  487. function Fha(a){var b=0;for(a=a.h();a.i();){var c=a.j();b+=null!=c?ed(c):0;b=~~b}return b}function Eha(a,b){if(q(a,b))return!0;if(Vd(b))try{return a.w()==b.w()&&a.Db(b)}catch(c){if(c=va(c),!sb(c))throw c.s;}return!1}function Bia(a){return a instanceof Kl||a instanceof yn?a:Aia(a)}function Gia(a,b){for(var c=!1;b.i();)c=!!(+c|+a.sa(b.j()));return c}
  488. function aia(a,b){G(b);Km(b)&&(b=b.te());if(Vd(b)&&b.w()>a.w()){a=a.h();G(b);for(var c=!1;a.i();)b.B(a.j())&&(a.ma(),c=!0);a=c}else a=Gia(a,b.h());return a}function Mha(a,b){var c=0;for(a=a.h();a.i();){var d=a.j();Ad(b,c++,d)}return b}function An(){}l(An,Rm);g=An.prototype;g.jo=function(){return this.a};g.h=function(){var a=this.a.V().h(),b=new sl;b.a=G(a);return b};g.Z=function(a){G(a);this.a.ib(Wd(function(b){a.pb(b)}))};g.w=function(){return this.a.wa()};g.D=function(){return this.a.Qa()};
  489. g.B=function(a){return this.a.X(a)};g.sa=function(a){return this.B(a)?(this.a.Ka(a),!0):!1};g.ia=function(){this.a.Fa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Hia(){}l(Hia,zd);g=Hia.prototype;g.h=function(){return Zga(this.a.V().h())};g.Z=function(a){G(a);this.a.ib(Wd(function(b,c){a.pb(c)}))};
  490. g.sa=function(a){try{return zd.prototype.sa.call(this,a)}catch(d){d=va(d);if(yb(d)){for(var b=this.a.V().h();b.i();){var c=b.j();if(dk(a,c.O()))return this.a.Ka(c.M()),!0}return!1}throw d.s;}};g.Nb=function(a){try{return zd.prototype.Nb.call(this,G(a))}catch(e){e=va(e);if(yb(e)){for(var b=ef(),c=this.a.V().h();c.i();){var d=c.j();a.B(d.O())&&b.add(d.M())}return this.a.oa().Nb(b)}throw e.s;}};g.w=function(){return this.a.wa()};g.D=function(){return this.a.Qa()};g.B=function(a){return this.a.kd(a)};
  491. g.ia=function(){this.a.Fa()};g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};function Bn(){}l(Bn,ve);g=Bn.prototype;g.V=function(){var a=this.g;return a?a:this.g=this.jm()};g.oa=function(){var a=this.o;return a?a:this.o=this.ll()};g.ll=function(){var a=new An;a.a=G(this);return a};g.values=function(){var a=this.v;a||(a=new Hia,a.a=G(this),a=this.v=a);return a};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};
  492. g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Cn(){}l(Cn,We);Cn.prototype.M=function(){return this.a};Cn.prototype.O=function(){return this.b.b[this.a.a]};Cn.prototype.dd=function(a){return Iia(this.b,this.a.a,a)};function Dn(){}l(Dn,n);Dn.prototype.i=function(){return this.c.i()};Dn.prototype.j=function(){this.b=this.c.j();var a=new Cn,b=this.b;a.b=this.a;a.a=b;return a};
  493. Dn.prototype.ma=function(){this.a.Ka(this.b);this.b=null};Dn.prototype.ea=function(a){Bb(this,a)};function Jia(){}l(Jia,ee);g=Jia.prototype;g.ia=function(){this.a.Fa()};g.B=function(a){return Td(a)?this.a.gh(a):!1};g.h=function(){var a=new Dn;a.a=this.a;a.c=a.a.a.h();return a};g.sa=function(a){return this.B(a)?(a=a.M(),this.a.Ka(a),!0):!1};g.w=function(){return this.a.wa()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};
  494. g.Z=function(a){xc(this,a)};function kl(){}l(kl,ve);function Kia(){var a=new kl;a.a=tn();a.b=Array(a.a.w());return a}g=kl.prototype;g.Fa=function(){this.a.ia();this.b=Array(this.b.length)};g.X=function(a){return this.a.B(a)};g.kd=function(a){for(var b=this.a.h();b.i();){var c=b.j();if(bd(a,this.b[c.a]))return!0}return!1};g.V=function(){var a=new Jia;a.a=this;return a};g.get=function(a){return this.a.B(a)?this.b[a.a]:null};g.C=function(a,b){this.a.add(a);return Iia(this,a.a,b)};
  495. g.Ka=function(a){return this.a.sa(a)?Iia(this,a.a,null):null};g.wa=function(){return this.a.w()};function Iia(a,b,c){var d=a.b[b];a.b[b]=c;return d}g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function En(){}l(En,Rm);g=En.prototype;g.w=function(){return this.gg().wa()};g.ia=function(){this.gg().Fa()};
  496. g.B=function(a){if(Td(a)){var b=a.M(),c=ol(this.gg(),b);return dk(c,a.O())&&(null!=c||this.gg().X(b))}return!1};g.D=function(){return this.gg().Qa()};g.sa=function(a){return this.B(a)?this.gg().oa().sa(a.M()):!1};g.Nb=function(a){try{return Rm.prototype.Nb.call(this,G(a))}catch(b){b=va(b);if(yb(b))return Gia(this,a.h());throw b.s;}};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Fn(){this.a=0}var Lia,Zfa;
  497. l(Fn,z);function Tj(){Tj=function(){};Lia=Mia();Zfa=Nia()}Fn.prototype.ud=!0;function Gn(){this.a=0}l(Gn,Fn);function Mia(){Tj();var a=new Gn;a.b="KEY";a.a=0;return a}Gn.prototype.R=function(a){return Fn.prototype.c.call(this,a)};Gn.prototype.f=function(a){return a.M()};function Hn(){this.a=0}l(Hn,Fn);function Nia(){Tj();var a=new Hn;a.b="VALUE";a.a=1;return a}Hn.prototype.R=function(a){return Fn.prototype.c.call(this,a)};Hn.prototype.f=function(a){return a.O()};function In(){}l(In,ak);g=In.prototype;
  498. g.M=function(){return this.zb().M()};g.O=function(){return this.zb().O()};g.dd=function(a){return this.zb().dd(a)};g.I=function(a){return this.zb().I(a)};g.P=function(){return this.zb().P()};g.Yg=!0;function Oia(){}l(Oia,En);g=Oia.prototype;g.gg=function(){return this.a};g.h=function(){return this.a.$c()};g.Y=function(){return this.a.xn()};g.Z=function(a){this.a.$c().ea(a)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Jn(){}l(Jn,ve);g=Jn.prototype;
  499. g.xn=function(){var a=this.$c(),b=Cb(this.wa());return Fba(a,b,65)};g.V=function(){var a=new Oia;a.a=this;return a};g.Fa=function(){Kn(this.$c())};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Pia(){}l(Pia,n);function Qia(){this.a=!1}l(Qia,n);function Ria(a){var b=new Qia;b.b=new Pia;b.c=b.b;b.a=!1;b.f=G(a);return b}
  500. function Ln(a){a.a=!0;return a}function Mn(a,b,c){return Sia(a,b,c)}function Nn(a,b,c){return Sia(a,b,""+c)}function On(a,b,c){return Sia(a,b,""+c)}Qia.prototype.toString=function(){for(var a=this.a,b="",c=Og(x(Ng(),this.f),123),d=this.b.b;d;d=d.b){var e=d.c;a&&null==e||(x(c,b),b=", ",null!=d.a&&Og(x(c,d.a),61),null!=e&&0!=Ig(e).a?(e=Wda([e],ef()),Yf(c,e,1,e.length-1)):Wg(c,e))}return Og(c,125).toString()};function Sia(a,b,c){var d=new Pia;a.c=a.c.b=d;d.c=c;d.a=G(b);return a}
  501. function Pn(a,b){if(null!=a)return a;if(null!=b)return b;throw rb("Both parameters are null").s;}function Qn(a){return Ria(Na(Ig(a)))}function Rn(){}l(Rn,n);g=Rn.prototype;g.Rg=function(){return 0==this.Kd()};g.Mj=function(a){for(var b=this.Uc().values().h();b.i();)if(b.j().B(a))return!0;return!1};function Sn(a,b,c){a=a.Uc().get(b);return!!a&&a.B(c)}g.eg=function(a,b){a=this.Uc().get(a);return!!a&&a.sa(b)};g.Aa=function(a,b){return this.Ua(a).add(b)};
  502. g.Oj=function(a,b){G(b);nd(b)?!b.D()&&this.Ua(a).na(b):(b=b.h(),b.i()&&Um(this.Ua(a),b))};g.gm=function(a){var b=!1;for(a=a.Pd().h();a.i();){var c=a.j();b=!!(+b|+this.Aa(c.M(),c.O()))}};g.Pd=function(){var a=this.u;return a?a:this.u=this.Cl()};g.Nj=function(){var a=this.$c();return Fba(a,Cb(this.Kd()),null!=this&&this.dk?1:0)};g.Pc=function(){var a=this.v;return a?a:this.v=this.df()};g.Rc=function(){var a=this.A;return a?a:this.A=this.Bh()};g.zh=function(){return Zga(this.Pd().h())};
  503. g.em=function(){var a=this.zh();return Fba(a,Cb(this.Kd()),0)};g.Uc=function(){var a=this.o;return a?a:this.o=this.Zi()};g.I=function(a){a=q(a,this)?!0:null!=a&&a.Wg?cd(this.Uc(),a.Uc()):!1;return a};g.P=function(){return ed(this.Uc())};g.toString=function(){return ze(this.Uc())};g.Wg=!0;function Tn(){}l(Tn,Bk);Tn.prototype.i=function(){return this.a.i()||this.b.i()};Tn.prototype.j=function(){if(!this.a.i()){var a=this.b.j();this.c=a.M();this.a=a.O().h()}return aha(this.c,this.a.j())};
  504. Tn.prototype.ea=function(a){Bb(this,a)};function Un(){}l(Un,Bk);Un.prototype.i=function(){return this.a.i()||this.b.i()};Un.prototype.j=function(){this.a.i()||(this.a=this.b.j().h());return this.a.j()};Un.prototype.ea=function(a){Bb(this,a)};function Vn(){}l(Vn,n);Vn.prototype.o=function(){return w()};Vn.prototype.b=function(a,b){Yj(a,b);var c=this.a.get(a);c||this.a.C(a,c=this.o());c.add(b)};
  505. Vn.prototype.c=function(a,b){if(null==a)throw rb("null key in entry: null="+r(rga(b.h()))).s;var c=this.a.get(a);if(c)for(b=b.h();b.i();){var d=b.j();Yj(a,d);c.add(d)}else if(b=b.h(),b.i()){for(c=this.o();b.i();)d=b.j(),Yj(a,d),c.add(d);this.a.C(a,c)}};
  506. Vn.prototype.f=function(){var a=this.a.V();if(this.g){var b=Yfa(Sj(this.g),(Tj(),Lia));a=uha(b,a)}var c=a;b=this.u;if(c.D())a=(Tia(),Uia);else{var d=Xfa(c.w());a=0;for(c=c.h();c.i();){var e=c.j(),f=e.M();e=e.O();e=b?uha(b,e):Wl(e);e.D()||(d.L(f,e),a+=e.w())}b=d.Jb();d=new Wn;d.a=b;d.b=a;a=d}return a};function Via(){}l(Via,Kl);g=Via.prototype;g.h=function(){return this.a.$c()};g.Md=function(){return!1};g.w=function(){return this.a.Kd()};g.B=function(a){return Td(a)?Sn(this.a,a.M(),a.O()):!1};
  507. g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Wia(){}l(Wia,Kl);g=Wia.prototype;g.B=function(a){return this.a.Mj(a)};g.h=function(){return this.a.zh()};g.w=function(){return this.a.Kd()};g.Md=function(){return!0};g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Xn(){}l(Xn,Rn);function Yn(){this.b=0}l(Yn,Xn);g=Yn.prototype;
  508. g.Nc=function(){throw wb().s;};g.ye=function(){throw wb().s;};g.Aa=function(){throw wb().s;};g.Oj=function(){throw wb().s;};g.gm=function(){throw wb().s;};g.eg=function(){throw wb().s;};g.Yc=function(a){return this.a.X(a)};g.Mj=function(a){return null!=a&&Xn.prototype.Mj.call(this,a)};g.Kd=function(){return this.b};g.Pc=function(){return this.a.oa()};g.df=function(){throw jb("unreachable").s;};g.Uc=function(){return this.a};g.Zi=function(){throw jb("should never be called").s;};g.Pd=function(){return Xn.prototype.Pd.call(this)};
  509. g.Cl=function(){ll();var a=new Via;a.a=this;return a};g.$c=function(){var a=new Tn;a.f=this;a.b=a.f.a.V().h();a.c=null;a.a=(Qk(),Pk);return a};g.Nj=function(){return ok(this.Uc().V().Y(),u(function(a){var b=a.M();a=a.O();return nk(a.Y(),u(function(c){return fl(b,c)}))}),64|(null!=this&&this.dk?1:0),Cb(this.Kd()))};g.Rc=function(){return Xn.prototype.Rc.call(this)};g.Bh=function(){ll();var a=new Wia;a.a=this;return a};g.zh=function(){var a=new Un;a.c=this;a.b=a.c.a.values().h();a.a=(Qk(),Pk);return a};
  510. g.ba=!0;function Wn(){this.b=0}l(Wn,Yn);Wn.prototype.Ua=function(a){return(a=this.a.get(a))?a:Ll()};Wn.prototype.Nc=function(){throw wb().s;};Wn.prototype.Wg=!0;function Xia(){this.b=0}var Uia;l(Xia,Wn);function Yia(){var a=new Xia,b=Vj();a.a=b;a.b=0;return a}function Tia(){Tia=function(){};Uia=Yia()}function Zn(){}l(Zn,Vn);Zn.prototype.b=function(a,b){Vn.prototype.b.call(this,a,b)};Zn.prototype.c=function(a,b){Vn.prototype.c.call(this,a,b)};Zn.prototype.f=function(){return Vn.prototype.f.call(this)};
  511. function $n(){}l($n,n);function ao(){Pj(8,"expectedKeys");var a=new Zia;a.b=8;return a}function $ia(){Pj(8,"expectedKeys");var a=new aja;a.b=8;return a}$n.prototype.b=function(a){var b=this.a();b.gm(a);return b};function bja(){}l(bja,$n);bja.prototype.b=function(a){return $n.prototype.b.call(this,a)};function bo(){this.a=0}l(bo,n);bo.prototype.f=function(){return Kd()};bo.prototype.ba=!0;function cja(){this.c=0}l(cja,bja);
  512. cja.prototype.a=function(){var a=this.f.a(),b=new bo;b.a=Pj(this.c,"expectedValuesPerKey");var c=new co;eo(c,a);c.c=G(b);return c};function fo(){}l(fo,Ed);g=fo.prototype;g.bc=function(a,b){this.Bb(a).xe(b)};g.G=function(a){var b=this.Bb(a);try{return b.j()}catch(c){c=va(c);if(c instanceof Nd)throw Ka("Can't get element "+a).s;throw c.s;}};g.h=function(){return this.ce()};
  513. g.Wa=function(a){var b=this.Bb(a);try{var c=b.j();b.ma();return c}catch(d){d=va(d);if(d instanceof Nd)throw Ka("Can't remove element "+a).s;throw d.s;}};g.Rb=function(a,b){var c=this.Bb(a);try{var d=c.j();c.Id(b);return d}catch(e){e=va(e);if(e instanceof Nd)throw Ka("Can't set element "+a).s;throw e.s;}};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function go(){}l(go,n);
  514. function dja(){this.c=0}l(dja,n);function eja(a,b,c){var d=new dja;d.f=a;d.b=null;d.a=c;d.c=b;return d}g=dja.prototype;g.xe=function(a){fja(this.f,a,this.a.b,this.a);++this.c;this.b=null};g.i=function(){return!q(this.a,this.f.b)};g.Jc=function(){return!q(this.a.b,this.f.c)};g.j=function(){this.i();this.b=this.a;this.a=this.a.a;++this.c;return this.b.c};g.pd=function(){return this.c};g.Lc=function(){this.Jc();this.b=this.a=this.a.b;--this.c;return this.b.c};g.Sd=function(){return this.c-1};
  515. g.ma=function(){var a=this.b.a;gja(this.f,this.b);q(this.a,this.b)?this.a=a:--this.c;this.b=null};g.Id=function(a){this.b.c=a};g.ea=function(a){Bb(this,a)};function ho(){}l(ho,n);ho.prototype.i=function(){return this.b.Jc()};ho.prototype.j=function(){return this.b.Lc()};ho.prototype.ma=function(){this.b.ma()};ho.prototype.ea=function(a){Bb(this,a)};function hja(){this.a=0}l(hja,fo);g=hja.prototype;g.add=function(a){this.Sb(a);return!0};g.qe=function(a){fja(this,a,this.c,this.c.a)};
  516. g.Sb=function(a){fja(this,a,this.b.b,this.b)};g.ia=function(){ija(this)};function ija(a){a.c.a=a.b;a.b.b=a.c;a.c.b=a.b.a=null;a.a=0}g.yn=function(){var a=new ho;a.a=this;a.b=eja(a.a,a.a.a,a.a.b);return a};g.zg=function(){return this.Oe()};g.Oe=function(){return this.c.a.c};g.mh=function(){return this.b.b.c};g.Bb=function(a){if(a>=this.a>>1){var b=this.b;for(var c=this.a;c>a;--c)b=b.b}else for(b=this.c.a,c=0;c<a;++c)b=b.a;return eja(this,a,b)};g.$l=function(a){this.Zl(a)};g.Zl=function(a){this.Sb(a)};
  517. g.Na=function(){return this.$f()};g.$f=function(){return 0==this.a?null:this.Oe()};g.Je=function(){return 0==this.a?null:this.mh()};g.Dj=function(){return this.Ch()};g.Ch=function(){return 0==this.a?null:this.qd()};g.Cn=function(){return 0==this.a?null:this.Ke()};g.Ta=function(){return this.qd()};g.Ea=function(a){this.qe(a)};g.Tg=function(){return this.qd()};g.qd=function(){return gja(this,this.c.a)};g.fn=function(a){return this.sa(a)};g.Ke=function(){return gja(this,this.b.b)};g.w=function(){return this.a};
  518. function fja(a,b,c,d){var e=new go;e.c=b;e.b=c;e.a=d;d.b=c.a=e;++a.a}function gja(a,b){var c=b.c;b.a.b=b.b;b.b.a=b.a;b.a=b.b=null;b.c=null;--a.a;return c}g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Xg=!0;g.Xa=!0;g.yb=!0;g.ba=!0;function io(){}l(io,$n);io.prototype.b=function(a){return $n.prototype.b.call(this,a)};function jo(){this.a=0}l(jo,n);jo.prototype.f=function(){return gf(Qm(this.a))};
  519. jo.prototype.ba=!0;function jja(){this.c=0}l(jja,io);jja.prototype.a=function(){var a=this.f.a(),b=new jo;b.a=Pj(this.c,"expectedValuesPerKey");return kja(a,b)};function ko(){this.a=0}l(ko,n);ko.prototype.f=function(){return Pha(Qm(this.a))};ko.prototype.ba=!0;function lja(){this.c=0}l(lja,io);lja.prototype.a=function(){var a=this.f.a(),b=new ko;b.a=Pj(this.c,"expectedValuesPerKey");return kja(a,b)};function mja(){}l(mja,n);
  520. function nja(a){Pj(2,"expectedValuesPerKey");var b=new cja;b.f=a;b.c=2;return b}function lo(){var a=ao();Pj(2,"expectedValuesPerKey");var b=new jja;b.f=a;b.c=2;return b}function oja(a){Pj(2,"expectedValuesPerKey");var b=new lja;b.f=a;b.c=2;return b}function Zia(){this.b=0}l(Zia,mja);Zia.prototype.a=function(){return cf(Qm(this.b))};function aja(){this.b=0}l(aja,mja);aja.prototype.a=function(){return Wf(Qm(this.b))};function mo(){this.b=0}l(mo,Yn);g=mo.prototype;
  521. g.Ua=function(a){a=this.a.get(a);return Pn(a,this.c)};g.Nc=function(){throw wb().s;};g.Pd=function(){var a=this.f;a||(ll(),a=new pja,a.a=this,a=this.f=a);return a};g.Wg=!0;g.dk=!0;function qja(){this.b=0}var rja;l(qja,mo);function sja(){var a=new qja,b=Vj();a.a=b;a.b=0;a.c=dm();return a}function tja(){tja=function(){};rja=sja()}function no(){}l(no,Vn);no.prototype.o=function(){return pm()};no.prototype.b=function(a,b){Vn.prototype.b.call(this,a,b)};
  522. no.prototype.c=function(a,b){Vn.prototype.c.call(this,a,b)};no.prototype.f=function(){var a=this.a.V();if(this.g){var b=Yfa(Sj(this.g),(Tj(),Lia));a=uha(b,a)}var c=a;a=this.u;if(c.D())a=(tja(),rja);else{var d=Xfa(c.w());b=0;for(c=c.h();c.i();){var e=c.j(),f=e.M();e=e.O();e=a?Kha(a,e):nm(e);e.D()||(d.L(f,e),b+=e.w())}d=d.Jb();c=new mo;c.a=d;c.b=b;c.c=a?Hha(a):dm();a=c}return a};function pja(){}l(pja,cm);g=pja.prototype;g.B=function(a){return Td(a)?Sn(this.a,a.M(),a.O()):!1};g.w=function(){return this.a.Kd()};
  523. g.h=function(){return this.a.$c()};g.Md=function(){return!1};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function oo(){}l(oo,n);function uja(a,b){a.o=b;a.c=b.b.V().h();a.f=null;a.b=null;a.a=(Yk(),Xk)}oo.prototype.i=function(){return this.c.i()||this.a.i()};oo.prototype.j=function(){if(!this.a.i()){var a=this.c.j();this.f=a.M();this.b=a.O();this.a=this.b.h()}return this.g(this.f,this.a.j())};
  524. oo.prototype.ma=function(){this.a.ma();this.b.D()&&this.c.ma();this.o.a--};oo.prototype.ea=function(a){Bb(this,a)};function po(){}l(po,oo);po.prototype.g=function(a,b){return b};po.prototype.ea=function(a){Bb(this,a)};function qo(){}l(qo,oo);qo.prototype.g=function(a,b){return fl(a,b)};qo.prototype.ea=function(a){Bb(this,a)};function ro(){}l(ro,n);function vja(a){var b=new ro;b.a=a;b.c=b.a.a.V().h();return b}ro.prototype.i=function(){return this.c.i()};
  525. ro.prototype.j=function(){var a=this.c.j();this.b=a.O();return wja(this.a,a)};ro.prototype.ma=function(){Zj(!!this.b);this.c.ma();this.a.b.a-=this.b.w();this.b.ia();this.b=null};ro.prototype.ea=function(a){Bb(this,a)};function xja(){}l(xja,En);g=xja.prototype;g.gg=function(){return this.a};g.h=function(){return vja(this.a)};g.Y=function(){var a=this;return nk(this.a.a.V().Y(),u(function(b){return wja(a.a,b)}))};g.B=function(a){return so(this.a.a.V(),a)};
  526. g.sa=function(a){if(!this.B(a))return!1;var b=this.a.b;a=a.M();if(a=yja(b.b,a)){var c=a.w();a.ia();b.a-=c}return!0};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function to(){}l(to,Bn);function zja(a,b){var c=new to;c.b=a;c.a=b;return c}g=to.prototype;g.X=function(a){return nl(this.a,a)};g.get=function(a){var b=ol(this.a,a);return b?this.b.Ah(a,b):null};g.oa=function(){return this.b.Pc()};g.wa=function(){return this.a.wa()};
  527. g.Ka=function(a){a=this.a.Ka(a);if(!a)return null;var b=this.b.Qf();b.na(a);this.b.a-=a.w();a.ia();return b};g.I=function(a){return q(this,a)||cd(this.a,a)};g.P=function(){return ed(this.a)};g.toString=function(){return ze(this.a)};g.Fa=function(){q(this.a,this.b.b)?this.b.ye():Kn(vja(this))};function wja(a,b){var c=b.M();return aha(c,a.b.Ah(c,b.O()))}g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};
  528. g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.jm=function(){var a=new xja;a.a=this;return a};function yo(){}l(yo,n);yo.prototype.i=function(){return this.b.i()};yo.prototype.j=function(){this.a=this.b.j();return this.a.M()};yo.prototype.ma=function(){Zj(!!this.a);var a=this.a.O();this.b.ma();this.c.b.a-=a.w();a.ia();this.a=null};yo.prototype.ea=function(a){Bb(this,a)};function zo(){}l(zo,An);function Aja(a,b){var c=new zo;c.b=a;c.a=G(b);return c}g=zo.prototype;
  529. g.h=function(){var a=this.a.V().h(),b=new yo;b.c=this;b.b=a;return b};g.Y=function(){return this.a.oa().Y()};g.sa=function(a){var b=0;if(a=this.a.Ka(a))b=a.w(),a.ia(),this.b.a-=b;return 0<b};g.ia=function(){Kn(this.h())};g.Db=function(a){return this.a.oa().Db(a)};g.I=function(a){return q(this,a)||cd(this.a.oa(),a)};g.P=function(){return ed(this.a.oa())};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Ao(){}l(Ao,zo);
  530. function Bja(a,b){var c=new Ao;c.b=a;c.a=G(b);return c}g=Ao.prototype;g.Lj=function(){return zo.prototype.jo.call(this)};g.Jd=function(){return this.Lj().ee()};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;function Bo(){}l(Bo,to);function Cja(a,b){var c=new Bo;c.f=a;c.b=a;c.a=b;return c}g=Bo.prototype;g.cf=function(){return this.a};g.ee=function(){return this.cf().ee()};g.Gf=function(a){return Cja(this.f,this.cf().Gf(a))};
  531. g.oa=function(){var a=this.u;return a?a:this.u=this.ll()};g.ll=function(){return Bja(this.f,this.cf())};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.Nd=!0;g.Gh=!0;function Dja(){}l(Dja,Ao);function Co(a,b){var c=new Dja;c.c=a;c.b=a;c.a=G(b);return c}g=Dja.prototype;g.Lj=function(){return Ao.prototype.Lj.call(this)};
  532. g.Rf=function(){return Co(this.c,this.Lj().xf())};g.Qg=function(a,b){return Co(this.c,this.Lj().Le(a,b))};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;g.Zg=!0;function Eja(){}l(Eja,Bo);function Do(a,b){var c=new Eja;c.c=a;c.f=a;c.b=a;c.a=b;return c}g=Eja.prototype;g.cf=function(){return Bo.prototype.cf.call(this)};g.xf=function(){return Do(this.c,this.cf().xf())};g.oa=function(){return Bo.prototype.oa.call(this)};
  533. g.ll=function(){return Co(this.c,this.cf())};g.Zk=function(){return this.oa()};g.dg=function(a,b,c,d){return Do(this.c,this.cf().dg(a,b,c,d))};g.rh=function(a,b){return Do(this.c,this.cf().rh(a,b))};g.Gf=function(a){return this.Le(a,!0)};g.Le=function(a,b){return Do(this.c,this.cf().Le(a,b))};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};
  534. g.Fb=function(a){ce(this,a)};g.Nd=!0;g.Gh=!0;g.qm=!0;function Eo(){}l(Eo,n);function Fja(a,b){a.a=b;a.f=a.a.a;b=b.a;b=rd(b)?b.ce():b.h();a.b=b}function Gja(a){Fo(a.a);if(!q(a.a.a,a.f))throw Oe().s;}Eo.prototype.i=function(){Gja(this);return this.b.i()};Eo.prototype.j=function(){Gja(this);return this.b.j()};Eo.prototype.ma=function(){this.b.ma();this.a.b.a--;Go(this.a)};Eo.prototype.ea=function(a){Bb(this,a)};function Ho(){}l(Ho,zd);function Io(a,b,c,d,e){a.b=b;a.g=c;a.a=d;a.c=e;a.o=e?e.a:null}
  535. function Fo(a){if(a.c){if(Fo(a.c),!q(a.c.a,a.o))throw Oe().s;}else if(a.a.D()){var b=a.b.b.get(a.g);b&&(a.a=b)}}function Go(a){a.c?Go(a.c):a.a.D()&&a.b.b.Ka(a.g)}function Jo(a){a.c?Jo(a.c):a.b.b.C(a.g,a.a)}g=Ho.prototype;g.w=function(){Fo(this);return this.a.w()};g.I=function(a){if(q(a,this))return!0;Fo(this);return cd(this.a,a)};g.P=function(){Fo(this);return ed(this.a)};g.toString=function(){Fo(this);return ze(this.a)};g.h=function(){Fo(this);var a=new Eo;Fja(a,this);return a};
  536. g.Y=function(){Fo(this);return this.a.Y()};g.add=function(a){Fo(this);var b=this.a.D();if(a=this.a.add(a))this.b.a++,b&&Jo(this);return a};g.na=function(a){if(a.D())return!1;var b=this.w();if(a=this.a.na(a)){var c=this.a.w();this.b.a+=c-b;0==b&&Jo(this)}return a};g.B=function(a){Fo(this);return this.a.B(a)};g.Db=function(a){Fo(this);return this.a.Db(a)};g.ia=function(){var a=this.w();0!=a&&(this.a.ia(),this.b.a-=a,Go(this))};g.sa=function(a){Fo(this);if(a=this.a.sa(a))this.b.a--,Go(this);return a};
  537. g.Nb=function(a){if(a.D())return!1;var b=this.w();if(a=this.a.Nb(a)){var c=this.a.w();this.b.a+=c-b;Go(this)}return a};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Ko(){}l(Ko,Eo);function Lo(a){Gja(a);return a.b}g=Ko.prototype;g.Jc=function(){return Lo(this).Jc()};g.Lc=function(){return Lo(this).Lc()};g.pd=function(){return Lo(this).pd()};g.Sd=function(){return Lo(this).Sd()};g.Id=function(a){Lo(this).Id(a)};
  538. g.xe=function(a){var b=this.c.D();Lo(this).xe(a);this.c.f.a++;b&&Jo(this.c)};g.ea=function(a){Bb(this,a)};function Mo(){}l(Mo,Ho);g=Mo.prototype;g.G=function(a){Fo(this);return this.a.G(a)};g.Rb=function(a,b){Fo(this);return this.a.Rb(a,b)};g.bc=function(a,b){Fo(this);var c=this.a.D();this.a.bc(a,b);this.f.a++;c&&Jo(this)};g.Wa=function(a){Fo(this);a=this.a.Wa(a);this.f.a--;Go(this);return a};g.indexOf=function(a){Fo(this);return this.a.indexOf(a)};g.lastIndexOf=function(a){Fo(this);return this.a.lastIndexOf(a)};
  539. g.ce=function(){Fo(this);var a=new Ko;a.c=this;Fja(a,this);return a};g.Bb=function(a){Fo(this);var b=new Ko;b.c=this;a=this.a.Bb(a);b.a=this;b.f=b.a.a;b.b=a;return b};g.Gb=function(a,b){Fo(this);return Hja(this.f,this.g,this.a.Gb(a,b),this.c?this.c:this)};g.lb=function(a){od(this,a)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Xg=!0;function Ija(){}l(Ija,Mo);g=Ija.prototype;g.lb=function(a){od(this,a)};
  540. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Pe=!0;function Jja(){}l(Jja,zd);g=Jja.prototype;g.w=function(){return this.a.Kd()};g.B=function(a){return Td(a)?Sn(this.a,a.M(),a.O()):!1};g.sa=function(a){return Td(a)?this.a.eg(a.M(),a.O()):!1};g.ia=function(){this.a.ye()};g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function No(){}l(No,Jja);g=No.prototype;g.h=function(){return this.a.$c()};
  541. g.Y=function(){return this.a.Nj()};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Kja(){}l(Kja,No);g=Kja.prototype;g.P=function(){return Fha(this)};g.I=function(a){return Eha(this,a)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;function Lja(){}l(Lja,zd);g=Lja.prototype;g.h=function(){return this.a.zh()};g.Y=function(){return this.a.em()};g.w=function(){return this.a.Kd()};
  542. g.B=function(a){return this.a.Mj(a)};g.ia=function(){this.a.ye()};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Oo(){this.a=0}l(Oo,Rn);function eo(a,b){D(b.Qa());a.b=b}g=Oo.prototype;g.Dl=function(){return this.Hj(this.Qf())};g.Bl=function(){return this.Qf()};g.Kd=function(){return this.a};g.Yc=function(a){return this.b.X(a)};
  543. g.Aa=function(a,b){var c=this.b.get(a);if(c)return c.add(b)?(this.a++,!0):!1;c=this.Bl(a);if(c.add(b))return this.a++,this.b.C(a,c),!0;throw jb("New Collection violated the Collection spec").s;};g.Nc=function(a){a=this.b.Ka(a);if(!a)return this.Dl();var b=this.Qf();b.na(a);this.a-=a.w();a.ia();return this.Hj(b)};g.Hj=function(a){return tf(a)};g.ye=function(){for(var a=this.b.values().h();a.i();)a.j().ia();this.b.Fa();this.a=0};
  544. g.Ua=function(a){var b=this.b.get(a);b||(b=this.Bl(a));return this.Ah(a,b)};g.Ah=function(a,b){var c=new Ho;Io(c,this,a,b,null);return c};function Hja(a,b,c,d){if(td(c)){var e=new Ija;e.f=a;Io(e,a,b,c,d);a=e}else e=new Mo,e.f=a,Io(e,a,b,c,d),a=e;return a}g.df=function(){return Aja(this,this.b)};function Mja(a){return Jca(a.b)?Co(a,a.b):tca(a.b)?Bja(a,a.b):Aja(a,a.b)}g.Rc=function(){return Rn.prototype.Rc.call(this)};g.Bh=function(){var a=new Lja;a.a=this;return a};
  545. g.zh=function(){var a=new po;uja(a,this);return a};g.em=function(){return ok(this.b.values().Y(),u(function(a){return a.Y()}),64,Cb(this.Kd()))};g.Pd=function(){return Rn.prototype.Pd.call(this)};g.Cl=function(){if(null!=this&&this.dk){var a=new Kja;a.a=this}else a=new No,a.a=this;return a};g.$c=function(){var a=new qo;uja(a,this);return a};g.Nj=function(){return ok(this.b.V().Y(),u(function(a){var b=a.M();a=a.O();return nk(a.Y(),u(function(c){return fl(b,c)}))}),64,Cb(this.Kd()))};
  546. g.Zi=function(){return zja(this,this.b)};function Nja(a){return Jca(a.b)?Do(a,a.b):tca(a.b)?Cja(a,a.b):zja(a,a.b)}g.ba=!0;function Po(){this.a=0}l(Po,Oo);g=Po.prototype;g.Dl=function(){return hf()};g.Hj=function(a){return qf(a)};g.Ah=function(a,b){return Hja(this,a,b,null)};g.Ua=function(a){return Oo.prototype.Ua.call(this,a)};g.Nc=function(a){return Oo.prototype.Nc.call(this,a)};g.Aa=function(a,b){return Oo.prototype.Aa.call(this,a,b)};g.Uc=function(){return Oo.prototype.Uc.call(this)};
  547. g.I=function(a){return Oo.prototype.I.call(this,a)};g.Wg=!0;function co(){this.a=0}l(co,Po);co.prototype.df=function(){return Mja(this)};co.prototype.Zi=function(){return Nja(this)};co.prototype.Qf=function(){return this.c.f()};function Qo(){}l(Qo,Ho);g=Qo.prototype;g.pj=function(){return this.a};g.Jd=function(){return this.pj().Jd()};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;function Ro(){}l(Ro,Qo);g=Ro.prototype;
  548. g.pj=function(){return Qo.prototype.pj.call(this)};function Oja(a,b){var c=new Ro,d=a.f,e=a.g;a=a.c?a.c:a;c.f=d;Io(c,d,e,b,a);return c}g.Rf=function(){return Oja(this,this.pj().Rf())};g.Qg=function(a,b){return Oja(this,this.pj().Qg(a,b))};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;g.he=!0;g.Zg=!0;function Pja(){}l(Pja,Ho);function Qja(a,b,c){var d=new Pja;d.f=a;Io(d,a,b,c,null);return d}g=Pja.prototype;
  549. g.Nb=function(a){if(a.D())return!1;var b=this.w();if(a=aia(this.a,a)){var c=this.a.w();this.f.a+=c-b;Go(this)}return a};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Xa=!0;g.yb=!0;g.Sc=!0;function So(){this.a=0}l(So,Oo);g=So.prototype;g.Dl=function(){return jf()};g.Hj=function(a){return uf(a)};g.Ah=function(a,b){return Qja(this,a,b)};g.Ua=function(a){return Oo.prototype.Ua.call(this,a)};g.Pd=function(){return Oo.prototype.Pd.call(this)};
  550. g.Nc=function(a){return Oo.prototype.Nc.call(this,a)};g.Uc=function(){return Oo.prototype.Uc.call(this)};g.Aa=function(a,b){return Oo.prototype.Aa.call(this,a,b)};g.I=function(a){return Oo.prototype.I.call(this,a)};g.Wg=!0;g.dk=!0;function Rja(){this.a=0}l(Rja,So);function kja(a,b){var c=new Rja;eo(c,a);c.c=G(b);return c}g=Rja.prototype;g.df=function(){return Mja(this)};g.Zi=function(){return Nja(this)};g.Hj=function(a){return null!=a&&a.Zg?Bia(a):null!=a&&a.he?Wca(a):uf(a)};
  551. g.Ah=function(a,b){if(null!=b&&b.Zg){var c=new Ro;c.f=this;Io(c,this,a,b,null);a=c}else null!=b&&b.he?(c=new Qo,Io(c,this,a,b,null),a=c):a=Qja(this,a,b);return a};g.Qf=function(){return this.c.f()};function To(){}l(To,n);To.prototype.f=function(a){return this.a.a.a.Ua(a)};To.prototype.ud=!0;function Sja(){}l(Sja,En);g=Sja.prototype;g.gg=function(){return this.a};g.h=function(){var a=this.a.a.Pc(),b=new To;b.a=this;return $ga(b,a.h())};
  552. g.sa=function(a){if(!this.B(a))return!1;a=a.M();this.a.a.Pc().sa(a);return!0};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Tja(){}l(Tja,Bn);g=Tja.prototype;g.wa=function(){return this.a.Pc().w()};g.get=function(a){return this.X(a)?this.a.Ua(a):null};g.Ka=function(a){return this.X(a)?this.a.Nc(a):null};g.oa=function(){return this.a.Pc()};g.Qa=function(){return this.a.Rg()};g.X=function(a){return this.a.Yc(a)};
  553. g.Fa=function(){this.a.ye()};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.jm=function(){var a=new Sja;a.a=this;return a};function Uja(a){if(a instanceof pl)return a;a=a.V().h();if(!a.i())return Vj();var b=a.j(),c=b.M(),d=b.O();Yj(c,d);b=Kia();for(b.C(c,d);a.i();)d=a.j(),c=d.M(),d=d.O(),Yj(c,d),b.C(c,d);return Rga(b)}
  554. function Qm(a){return 3>a?(Pj(a,"expectedSize"),a+1):1073741824>a?Fb(a/.75+1):2147483647}function aha(a,b){return fl(a,b)}function ol(a,b){G(a);try{return a.get(b)}catch(c){c=va(c);if(sb(c))return null;throw c.s;}}function nl(a,b){G(a);try{return a.X(b)}catch(c){c=va(c);if(sb(c))return!1;throw c.s;}}function yja(a,b){G(a);try{return a.Ka(b)}catch(c){c=va(c);if(sb(c))return null;throw c.s;}}function Uga(){}l(Uga,cn);g=Uga.prototype;g.w=function(){return this.a.wa()};
  555. g.h=function(){var a=this.a.V().h(),b=new ql;b.a=a;return b};g.Y=function(){return Vga(this.a)};g.B=function(a){return this.a.X(a)};g.kl=function(a){return this.a.V().ff().G(a).M()};g.Z=function(a){G(a);this.a.ib(Wd(function(b){a.pb(b)}))};g.Md=function(){return!0};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Uo(){}l(Uo,Bk);Uo.prototype.i=function(){return this.a.i()};Uo.prototype.j=function(){return this.a.j().O()};Uo.prototype.ea=function(a){Bb(this,a)};
  556. function Vja(){}l(Vja,bm);g=Vja.prototype;g.G=function(a){return this.a.G(a).O()};g.Xe=function(){return this.b};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Wga(){}l(Wga,Kl);g=Wga.prototype;g.w=function(){return this.a.wa()};g.h=function(){var a=new Uo;a.b=this;a.a=a.b.a.V().h();return a};g.Y=function(){return nk(this.a.V().Y(),u(function(a){return a.O()}))};
  557. g.B=function(a){return null!=a&&Wja(this.h(),a)};g.Md=function(){return!0};g.ff=function(){var a=this.a.V().ff();Nl();var b=new Vja;b.b=this;b.a=a;return b};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Xja(){}l(Xja,Oj);g=Xja.prototype;g.L=function(a,b){this.a.add(Qj(a,b));return this};g.jl=function(a){Oj.prototype.jl.call(this,a)};g.$k=function(a){return this.im(a.V())};g.im=function(a){for(a=a.h();a.i();){var b=a.j();this.jl(b)}return this};
  558. g.Jb=function(){for(var a=Yja(this.b),b=this.a.h();b.i();){var c=b.j();Zja(a,c)}a=Vca(a);return $ja(a,this.b)};function jl(){}var aka;l(jl,ml);function $ja(a,b){Vo();var c=new jl;dl(c,a);c.g=b;c.o=a;return c}function bka(a){Vo();a:{var b=(Fl(),Gl);if(a instanceof jl){var c=a.ee();if(c?b.I(c):q(b,aka)){b=a;break a}}c=Yja(b);for(a=a.V().h();a.i();){var d=a.j();Zja(c,d)}c=Vca(c);b=$ja(c,b)}return b}
  559. function Zja(a,b){Vo();var c=G(b.M());b=G(b.O());if(a.X(c))throw a=a.Gf(c).V().h().j(),ua("Duplicate keys in mappings "+r(a.M())+"="+r(a.O())+" and "+r(c)+"="+r(b)).s;a.C(c,b)}function cka(){Vo();var a=(Fl(),Gl),b=new Xja;b.a=w();b.b=G(a);return b}g=jl.prototype;g.oa=function(){var a=this.u;return a?a:this.u=this.df()};g.df=function(){return Kha(this.g,this.o.oa())};g.ee=function(){return this.g};g.Gf=function(a){G(a);a=this.o.Gf(a);return $ja(a,this.g)};
  560. function Yja(a){Vo();return Vea(Sj(a).Ng())}g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Vo(){Vo=function(){};Uj();aka=(Fl(),Gl)}g.Nd=!0;g.Gh=!0;function Wo(){}l(Wo,ml);function Sga(a){Uj();var b=new Wo;dl(b,a);return b}
  561. function $fa(a){Uj();var b=new Wo;b.b=null;b.c=null;b.f=null;for(var c=Uf(),d=0;d<a.length;d++){var e=a[d],f=G(e.M());if(null!=c.C(f,G(e.O())))throw ua("duplicate key: "+r(f)).s;}b.a=sf(c);return b}g=Wo.prototype;g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Xo(){}l(Xo,ml);function dka(){Uj();return Yo(),eka}g=Xo.prototype;
  562. g.values=function(){return this.ef().oa()};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.Nd=!0;function Zo(){}var eka;l(Zo,Xo);function fka(){Yo();var a=new Zo,b=Sga(bf());dl(a,b);return a.g=a}g=Zo.prototype;g.ef=function(){return this.g};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};
  563. g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function Yo(){Yo=function(){};Uj();eka=fka()}function cl(){}l(cl,Xo);g=cl.prototype;g.ef=function(){var a=this.o;if(!a){a=new cl;var b=this.g,c=this.u,d=Sca(G(b),G(c));dl(a,d);a.u=b;a.g=c;a.o=this;a=this.o=a}return a};g.values=function(){return mm(this.g)};g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};
  564. g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function $l(){Nk.call(this)}l($l,Nk);$l.prototype.c=function(a){return this.f.G(a)};$l.prototype.ea=function(a){Bb(this,a)};function $o(){}l($o,Ql);g=$o.prototype;g.indexOf=function(a){return this.Ld().indexOf(a)};g.lastIndexOf=function(a){return this.Ld().lastIndexOf(a)};g.G=function(a){return this.Ld().G(a)};
  565. g.Gb=function(a,b){return Zl(this.Ld().Gb(a,b))};g.qc=function(){return this.Ld().mb(Array(this.w()))};g.I=function(a){return cd(this.Ld(),a)};g.P=function(){return ed(this.Ld())};g.h=function(){return rm(this.Ld().h())};g.B=function(a){return null!=a&&this.Ld().B(a)};g.Db=function(a){return this.Ld().Db(a)};g.w=function(){return this.Ld().w()};g.D=function(){return this.Ld().D()};g.mb=function(a){return this.Ld().mb(a)};g.toString=function(){return ze(this.Ld())};g.lb=function(a){od(this,a)};
  566. g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function gka(){}l(gka,$o);function Tl(a){Nl();var b=new gka;b.a=qf(a);return b}g=gka.prototype;g.Ld=function(){return this.a};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function rha(){}l(rha,$o);g=rha.prototype;g.Ld=function(){return this.a};
  567. g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function ap(){}l(ap,Ed);g=ap.prototype;g.bc=function(a,b){this.a.bc(a,b)};g.G=function(a){return this.a.G(a)};g.Wa=function(a){return this.a.Wa(a)};g.Rb=function(a,b){return this.a.Rb(a,b)};g.B=function(a){return this.a.B(a)};g.w=function(){return this.a.w()};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};
  568. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function hka(){}l(hka,ap);g=hka.prototype;g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Pe=!0;function vha(){}l(vha,hka);g=vha.prototype;g.Bb=function(a){return this.a.Bb(a)};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};
  569. g.Z=function(a){xc(this,a)};function wha(){}l(wha,ap);g=wha.prototype;g.Bb=function(a){return this.a.Bb(a)};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function ika(){this.b=!1}l(ika,n);g=ika.prototype;g.xe=function(a){this.a.xe(a);this.a.Lc();this.b=!1};g.i=function(){return this.a.Jc()};g.Jc=function(){return this.a.i()};g.j=function(){if(!this.i())throw Qd().s;this.b=!0;return this.a.Lc()};
  570. g.pd=function(){return bp(this.c,this.a.pd())};g.Lc=function(){if(!this.Jc())throw Qd().s;this.b=!0;return this.a.j()};g.Sd=function(){return this.pd()-1};g.ma=function(){Zj(this.b);this.a.ma();this.b=!1};g.Id=function(a){E(this.b);this.a.Id(a)};g.ea=function(a){Bb(this,a)};function cp(){}l(cp,Ed);function jka(a,b){a=a.w();Ri(b,a);return a-1-b}function bp(a,b){a=a.w();Si(b,a);return a-b}g=cp.prototype;g.bc=function(a,b){this.a.bc(bp(this,a),b)};g.ia=function(){this.a.ia()};
  571. g.Wa=function(a){return this.a.Wa(jka(this,a))};g.am=function(a,b){this.Gb(a,b).ia()};g.Rb=function(a,b){return this.a.Rb(jka(this,a),b)};g.G=function(a){return this.a.G(jka(this,a))};g.w=function(){return this.a.w()};g.Gb=function(a,b){sfa(a,b,this.w());return dp(this.a.Gb(bp(this,b),bp(this,a)))};g.h=function(){return this.ce()};g.Bb=function(a){a=bp(this,a);a=this.a.Bb(a);var b=new ika;b.c=this;b.a=a;return b};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};
  572. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function kka(){}l(kka,cp);g=kka.prototype;g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Pe=!0;function lka(){}l(lka,Ql);function mka(a){Nl();var b=new lka;b.a=a;return b}g=lka.prototype;g.indexOf=function(a){return ah(a)?mi(this.a,a.a):-1};
  573. g.lastIndexOf=function(a){return ah(a)?ti(this.a,a.a):-1};g.Gb=function(a,b){sfa(a,b,this.w());return mka(G(ne(this.a,a,b)))};g.Md=function(){return!1};g.G=function(a){Ri(a,this.w());return eh(this.a.charCodeAt(a))};g.w=function(){return this.a.length};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function ep(){}l(ep,Kk);g=ep.prototype;g.Jc=function(){return this.a.Jc()};g.Lc=function(){return this.b(this.a.Lc())};
  574. g.pd=function(){return this.a.pd()};g.Sd=function(){return this.a.Sd()};g.Id=function(){throw wb().s;};g.xe=function(){throw wb().s;};g.ea=function(a){Bb(this,a)};function fp(){}l(fp,ep);fp.prototype.b=function(a){return this.c.b.f(a)};fp.prototype.ea=function(a){Bb(this,a)};function nka(){}l(nka,Ed);g=nka.prototype;g.ia=function(){this.a.ia()};g.G=function(a){return this.b.f(this.a.G(a))};g.h=function(){return this.ce()};g.Bb=function(a){a=this.a.Bb(a);var b=new fp;b.c=this;b.a=G(a);return b};
  575. g.D=function(){return this.a.D()};g.da=function(a){var b=this;G(a);return this.a.da(fd(function(c){return a.Ca(b.b.f(c))}))};g.Wa=function(a){return this.b.f(this.a.Wa(a))};g.w=function(){return this.a.w()};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Pe=!0;g.ba=!0;function gp(){}l(gp,ep);gp.prototype.b=function(a){return this.c.b.f(a)};gp.prototype.ea=function(a){Bb(this,a)};function oka(){}l(oka,fo);g=oka.prototype;
  576. g.ia=function(){this.a.ia()};g.w=function(){return this.a.w()};g.Bb=function(a){a=this.a.Bb(a);var b=new gp;b.c=this;b.a=G(a);return b};g.da=function(a){var b=this;G(a);return this.a.da(fd(function(c){return a.Ca(b.b.f(c))}))};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.ba=!0;function Xl(a){var b=w();Um(b,a);return b}
  577. function dp(a){if(a instanceof Ql)a=a.gf();else if(a instanceof cp)a=a.a;else if(td(a)){var b=new kka;b.a=G(a);a=b}else b=new cp,b.a=G(a),a=b;return a}function xha(a,b){if(q(b,G(a)))return!0;if(!rd(b))return!1;var c=a.w();if(c!=b.w())return!1;if(td(a)&&td(b)){for(var d=0;d<c;d++)if(!dk(a.G(d),b.G(d)))return!1;return!0}a:{a=a.h();for(b=b.h();a.i();){if(!b.i()){b=!1;break a}c=a.j();d=b.j();if(!dk(c,d)){b=!1;break a}}b=!b.i()}return b}
  578. function rm(a){G(a);if(!(a instanceof Bk)){var b=new Ck;b.a=a;a=b}return a}function Wja(a,b){if(null==b)for(;a.i();){if(null==a.j())return!0}else for(;a.i();)if(cd(b,a.j()))return!0;return!1}function rga(a){for(var b=Og(Mg(),91),c=!0;a.i();)c||x(b,", "),c=!1,Wg(b,a.j());return Og(b,93).toString()}function Um(a,b){G(a);G(b);for(var c=!1;b.i();)c=!!(+c|+a.add(b.j()));return c}function pka(a,b){G(a);Fi(0<=b,"numberToAdvance must be nonnegative");var c;for(c=0;c<b&&a.i();c++)a.j();return c}
  579. function Kn(a){for(G(a);a.i();)a.j(),a.ma()}function qka(a){if(!(a instanceof al)){var b=new al;b.b=G(a);a=b}return a}function rka(){}l(rka,Kl);function Xga(a){ll();var b=new rka;b.a=a;return b}g=rka.prototype;g.h=function(){return rm(this.a.h())};g.B=function(a){return null!=a&&this.a.B(a)};g.Db=function(a){return this.a.Db(a)};g.w=function(){return this.a.w()};g.D=function(){return this.a.D()};g.qc=function(){return this.a.qc()};g.mb=function(a){return this.a.mb(a)};g.toString=function(){return ze(this.a)};
  580. g.da=function(a){return jd(this,a)};g.Y=function(){return Tc(this,0)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Ak(a){nd(a)?a=a.S():(a=a.Y(),a=md(null,a));return a}function hp(){}l(hp,n);hp.prototype.f=function(a){return a.h()};hp.prototype.ud=!0;function ip(){}l(ip,wk);ip.prototype.h=function(){var a=this.c.h(),b=this.b;G(a);G(b);var c=new Jk;c.a=a;c.f=b;Ik(c);return c};ip.prototype.Z=function(a){var b=this;G(a);this.c.Z(zb(function(c){b.b.Ca(c)&&a.pb(c)}))};
  581. ip.prototype.Y=function(){var a=this.c.Y(),b=this.b;G(a);G(b);var c=new iga;c.b=a;c.c=b;c.a=null;return c};function jp(){}l(jp,wk);jp.prototype.h=function(){var a=this.b.h(),b=this.c;G(b);return xga(b,a)};jp.prototype.Z=function(a){var b=this;G(a);this.b.Z(zb(function(c){a.pb(b.c.f(c))}))};jp.prototype.Y=function(){return nk(this.b.Y(),this.c)};function kp(){this.a=!1}l(kp,n);kp.prototype.i=function(){return this.b.i()};kp.prototype.j=function(){var a=this.b.j();this.a=!1;return a};
  582. kp.prototype.ma=function(){Zj(!this.a);this.b.ma()};kp.prototype.ea=function(a){Bb(this,a)};function lp(){this.c=0}l(lp,wk);lp.prototype.h=function(){if(rd(this.b)){var a=this.b,b=Math.min(a.w(),this.c);return a.Gb(b,a.w()).h()}a=this.b.h();pka(a,this.c);b=new kp;b.b=a;b.a=!0;return b};
  583. lp.prototype.Y=function(){if(rd(this.b)){var a=this.b,b=Math.min(a.w(),this.c);return a.Gb(b,a.w()).Y()}a=Ak(this.b);b=Cb(this.c);Mf(a);if(!b.I(hb(0))){var c=new dg,d=a.a,e=d.ec(64)?Mb(hb(0),Saa(d.nd(),b)):Yb;Mc(c,e,d.sd());c.a=b;c.b=d;a=md(a,c)}return a.pf()};lp.prototype.Z=function(a){xc(this,a)};
  584. function Wj(a){a=a.h();var b=a.j();if(a.i()){b=Wg(x(Mg(),"expected one element but was: <"),b);for(var c=0;4>c&&a.i();c++)Wg(x(b,", "),a.j());a.i()&&x(b,", ...");Og(b,62);throw ua(b.toString()).s;}return b}function bn(a,b){nd(b)?a.na(b):Um(a,G(b).h())}function mp(a,b){return yk(A([a,b],wc,Ac,1))}function np(a,b){G(a);G(b);var c=new ip;c.c=a;c.b=b;c.a=kj();return c}function op(a,b){G(a);G(b);var c=new jp;c.b=a;c.c=b;c.a=kj();return c}
  585. function pp(a,b){G(a);if(rd(a))b=a.G(b);else{a=a.h();if(0>b)throw Ka("position ("+b+") must not be negative").s;var c=pka(a,b);if(!a.i())throw Ka("position ("+b+") must be less than the number of elements that remained ("+c+")").s;b=a.j()}return b}function qp(a,b){a=a.h();return a.i()?a.j():b}function rp(a){if(rd(a)){if(a.D())throw Qd().s;return a.G(a.w()-1)}a:for(a=a.h();;){var b=a.j();if(!a.i())break a}return b}
  586. function sp(a){G(a);Fi(!0,"number to skip cannot be negative");var b=new lp;b.b=a;b.c=1;b.a=kj();return b}function tp(a){return nd(a)?a.D():!a.h().i()}function up(){this.b=hb(0)}l(up,$m);function vp(){var a=new up,b=bf();D(b.Qa());a.a=b;return a}up.prototype.Z=function(a){Jm(this,a)};up.prototype.Y=function(){return Pm(this)};up.prototype.da=function(a){return jd(this,a)};up.prototype.S=function(){return ld(this)};
  587. function so(a,b){G(a);try{return a.B(b)}catch(c){c=va(c);if(sb(c))return!1;throw c.s;}}function xk(){}l(xk,wk);xk.prototype.h=function(){var a=this.b.h();var b=new hp;G(b);a=xga(b,a);return Gga(a)};xk.prototype.Z=function(a){xc(this,a)};xk.prototype.Y=function(){return yc(this)};function wp(){Nk.call(this)}l(wp,Nk);wp.prototype.c=function(a){return this.f[a].h()};wp.prototype.ea=function(a){Bb(this,a)};function zk(){}l(zk,wk);
  588. zk.prototype.h=function(){var a=new wp,b=this.b.length;a.f=this.b;Si(0,b);a.b=b;a.a=0;return Gga(a)};zk.prototype.Z=function(a){xc(this,a)};zk.prototype.Y=function(){return yc(this)};function ska(){this.a=0}l(ska,n);function tka(a){var b=new ska;b.a=0;b.b=za([a],Zc,$c,0);return b}
  589. function xp(a,b){var c=a.a+1;if(c>a.b.length){var d=a.b.length;if(0>c)throw jb("cannot store more than MAX_VALUE elements").s;d=d+(d>>1)+1;d<c&&(d=lh(c-1)<<1);0>d&&(d=2147483647);c=za([d],Zc,$c,0);Di(a.b,0,c,0,a.a);a.b=c}a.b[a.a]=b;a.a+=1}function yp(a){if(0==a.a)var b=(zp(),uka);else{b=a.b;a=a.a;zp();var c=new Ap;c.c=b;c.a=0;c.b=a;b=c}return b}function Ap(){this.b=this.a=0}var uka;l(Ap,n);function Bp(a){zp();Gi(0<=a,"Invalid initialCapacity: %s",a);return tka(a)}
  590. function vka(){var a=za([0],Zc,$c,0),b=new Ap,c=a.length;b.c=a;b.a=0;b.b=c;return b}g=Ap.prototype;g.Ra=function(){return this.b-this.a};function Cp(a,b){Ri(b,a.Ra());return a.c[a.a+b]}g.S=function(){var a=this.c,b=this.a,c=this.b,d=a.length;if(b>c||0>b||c>d)throw Eaa("fromIndex: "+b+", toIndex: "+c+", length: "+d).s;d=new Rc;d.a=b;d.b=c;d.f=17488;d.c=a;return Mda(d)};
  591. g.I=function(a){if(q(a,this))return!0;if(!(a instanceof Ap)||this.Ra()!=a.Ra())return!1;for(var b=0;b<this.Ra();b++)if(Cp(this,b)!=Cp(a,b))return!1;return!0};g.P=function(){for(var a=1,b=this.a;b<this.b;b++)a*=31,a+=this.c[b];return a};g.toString=function(){if(this.b==this.a)return"[]";var a=Ng();Vg(Og(a,91),this.c[this.a]);for(var b=this.a+1;b<this.b;b++)Vg(x(a,", "),this.c[b]);Og(a,93);return a.toString()};function zp(){zp=function(){};uka=vka()}g.ba=!0;function Dp(){}var wka;l(Dp,n);
  592. function xka(){Gp();return wka}function Gp(){Gp=function(){};wka=yka()}function zka(){}l(zka,Dp);zka.prototype.c=function(a,b){Gi(1>=b,"Expected limit of at most 1, but found %s",b);var c=a.Ra();switch(c-this.b.Ra()){case 0:for(var d=b=0;d<c&&(Cp(a,d)==Cp(this.b,d)||0==b++);d++);return b;case 1:return Aka(this.b,a);case -1:return Aka(a,this.b);default:return 2}};function Aka(a,b){for(var c=a.Ra(),d=0;d<c;d++)if(Cp(b,d)!=Cp(a,d)){for(;d<c;d++)if(Cp(b,d+1)!=Cp(a,d))return 2;break}return 1}
  593. function Hp(){}l(Hp,n);function Bka(){}var Cka;l(Bka,Hp);Bka.prototype.a=function(a){Gp();var b=new zka;b.b=a;return b};function Dka(){Dka=function(){};Cka=new Bka}function Ip(){this.a=!1}l(Ip,n);Ip.prototype.f=function(){if(!this.a&&!this.a){var a=this.b.f();this.c=a;this.a=!0;return a}return this.c};Ip.prototype.toString=function(){return"Suppliers.memoize("+r(this.a?"<supplier that returned "+r(this.c)+">":this.b)+")"};Ip.prototype.ba=!0;function Jp(){this.b=!1}l(Jp,n);
  594. Jp.prototype.f=function(){if(!this.b&&!this.b){var a=this.a.f();this.c=a;this.b=!0;this.a=null;return a}return this.c};Jp.prototype.toString=function(){var a=this.a;return"Suppliers.memoize("+r(a?a:"<supplier that returned "+r(this.c)+">")+")"};function Eka(a){if(!(a instanceof Jp||a instanceof Ip)){if(null==a)var b=!1;else b=typeof a,b="boolean"===b||"number"===b||"string"===b||a.ba||Array.isArray(a);b?(b=new Ip,b.b=G(a),a=b):(b=new Jp,b.a=G(a),a=b)}return a}function Fka(){}l(Fka,n);
  595. Fka.prototype.f=function(){return(Gka(),Hka).a(this.a.b,this.a.f)};function Ika(){this.g=this.f=0}l(Ika,Dp);Ika.prototype.c=function(a,b){var c=a.Ra(),d=Math.abs(this.g-c);if(b<d)return d;if(0>=b)return this.b.I(a)?0:1;if(1>=b)return(Dka(),Cka).a(this.b,b).c(a,1);d=this.a;return d?64<this.g&&b<(c/10|0)?this.a.c(a,b):this.o.f().c(a,b):(this.a=d=(Jka(),Kka).a(this.b,this.f),d.c(a,b))};function Lka(){}var Mka;l(Lka,Hp);
  596. Lka.prototype.a=function(a,b){switch(a.Ra()){case 0:return xka();case 1:return Gp(),Ii(1==a.Ra(),"Expected seq of length 1, found ",a),b=new Nka,b.b=a,b;default:Gp();var c=new Ika;c.b=a;a=new Fka;a.a=c;c.o=Eka(a);c.a=null;c.f=b;c.g=c.b.Ra();return c}};function Oka(){Oka=function(){};Mka=new Lka}function Pka(){}var Kp;l(Pka,Dp);function Qka(a,b,c,d,e,f,h){var k=c.Ra(),m=d.Ra();b=0==b?0:Math.max(Math.max(f,h)+1,e);for(k=Math.min(m,k-a);b<k&&Cp(c,b+a)==Cp(d,b);)b++;return b}
  597. Pka.prototype.c=function(a,b){var c=this.b,d=a.Ra(),e=c.Ra()-d,f=Math.abs(e);if(f>b)return 2147483647;if(0>=e){Rka(this,f,!1);for(var h=0;h<=f;h++)this.o[h]=f-h-1,this.v[h]=-1}else for(Ska(this,f,!1),h=0;h<=f;h++)this.a[h]=-1,this.u[h]=-1;for(h=!0;;){var k=(f-e)/2|0;Rka(this,k,!0);h&&(this.o[k]=-1);for(var m=-1;0<k;k--)Ad(this.g,k,m=Qka(e+k,f-k,c,a,this.v[k-1],this.o[k],m));k=(f+e)/2|0;Ska(this,k,!0);h&&(this.a[k]=((f-e)/2|0)-1);for(var p=h?-1:(f-e)/2|0;0<k;k--)Ad(this.f,k,p=Qka(e-k,f-k,c,a,p,this.a[k],
  598. this.u[k-1]));k=Qka(e,f,c,a,p,this.a[0],m);if(k==d||++f>b||0>f)break;Ad(this.f,0,this.g[0]=k);this.u=this.a;this.a=this.f;this.f=this.u;k=this.v;this.v=this.o;this.o=this.g;this.g=k;h=!h}return f};function Ska(a,b,c){a.f.length<=b&&(b++,a.u=Lp(a.u,b,c),a.a=Lp(a.a,b,c),a.f=Lp(a.f,b,!1))}function Rka(a,b,c){a.g.length<=b&&(b++,a.v=Lp(a.v,b,c),a.o=Lp(a.o,b,c),a.g=Lp(a.g,b,!1))}function Lp(a,b,c){b=za([b],Zc,$c,0);c&&Di(a,0,b,0,a.length);return b}
  599. function Tka(){Tka=function(){};Gp();Kp=za([0],Zc,$c,0)}function Uka(){}var Kka;l(Uka,Hp);Uka.prototype.a=function(a){Tka();var b=new Pka;b.b=a;b.f=Kp;b.a=Kp;b.u=Kp;b.g=Kp;b.o=Kp;b.v=Kp;return b};function Jka(){Jka=function(){};Kka=new Uka}function Mp(){this.a=0}l(Mp,Dp);function Vka(a,b,c){a.b=b;a.a=b.Ra();a.o=c}function Wka(){this.f=this.g=this.a=0}l(Wka,Mp);
  600. Wka.prototype.c=function(a,b){var c=za([this.f],Zc,$c,0);Tda(c,0,c.length,2147483647);var d=za([this.f],Zc,$c,0),e=this.a,f=a.Ra();b=b+f-this.a;0>b&&(b=2147483647);var h=0;a:for(;h<f;h++)for(var k=this.o[Cp(a,h)],m=0,p=1,t=0,v=0;v<this.f;v++){var C=d[v],J=k[v]|C,K=c[v];m=(K&J)+K+(m>>>31|0);J|=m&2147483647^K;C|=~(J|K);K&=J;if(v==this.f-1)if(0!=(K&this.g))e--;else if(0!=(C&this.g)){if(e++,0>(b-=2))break a}else if(0>--b)break a;C=C<<1|p;p=C>>>31|0;K=K<<1|t;t=K>>>31|0;c[v]=(K|~(J|C))&2147483647;d[v]=
  601. J&C&2147483647}return e};function Xka(){this.f=this.a=0}l(Xka,Mp);Xka.prototype.c=function(a,b){var c=a.Ra();if(c-this.a>b||this.a-c>b)return b+1;var d=-1,e=0,f=this.a;b=b+c-this.a;0>b&&(b=2147483647);for(var h=0;h<c;h++){var k=this.o[Cp(a,h)]|e;k|=(k&d)+d^d;e|=~(k|d);d&=k;if(0!=(d&this.f))f--;else if(0!=(e&this.f)){if(f++,0>(b-=2))break}else if(0>--b)break;e=e<<1|1;d=d<<1|~(k|e);e&=k}return f};function Yka(){this.a=0;this.f=hb(0)}l(Yka,Mp);
  602. Yka.prototype.c=function(a,b){var c=a.Ra();if(c-this.a>b||this.a-c>b)return b+1;var d=Cb(-1),e=hb(0),f=this.a;b=b+c-this.a;0>b&&(b=2147483647);for(var h=0;h<c;h++){var k=Eb(this.o[Cp(a,h)],e),m=k;k=k.and(d).add(d).xor(d);k=m.or(k);e=Eb(e,Gaa(k.or(d)));d=k.and(d);if(!d.and(this.f).I(hb(0)))f--;else if(!e.and(this.f).I(hb(0))){if(f++,0>(b-=2))break}else if(0>--b)break;e=eb(e,1).or(hb(1));d=Eb(eb(d,1),Gaa(k.or(e)));e=k.and(e)}return f};var Zka=hb(1);function $ka(){}var Hka;l($ka,Hp);
  603. $ka.prototype.a=function(a,b){var c=a.Ra();if(0==c)a=xka();else if(32>=c){Gp();c=new Xka;b=za([b],Zc,$c,0);for(var d=a.Ra(),e=0;e<d;e++)b[Cp(a,e)]|=1<<e;Vka(c,a,b);c.f=1<<c.a-1;a=c}else if(64>=c){Gp();c=new Yka;b=za([b],Sb,$aa,aba);d=a.Ra();for(e=0;e<d;e++){var f=b,h=Cp(a,e);Ad(f,h,f[h].or(eb(Zka,e)))}Vka(c,a,b);c.f=eb(Zka,c.a-1);a=c}else{Gp();c=new Wka;b=za([b,null],Zc,$c,0);d=a.Ra();e=(d+31-1)/31|0;f=za([e],Zc,$c,0);Eg(b,b.length,f);for(var k=h=0,m=0;m<d;m++){var p=Cp(a,m),t=b[p];q(t,f)&&(t=Ad(b,
  604. p,za([e],Zc,$c,0)));t[h]|=1<<k;31==++k&&(k=0,h++)}Vka(c,a,b);c.f=(c.a+31-1)/31|0;c.g=1<<((c.a-1)%31|0);a=c}return a};function Gka(){Gka=function(){};Hka=new $ka}function ala(){}l(ala,Dp);function yka(){zp();var a=uka;Gp();var b=new ala;b.b=a;return b}ala.prototype.c=function(a){return a.Ra()};function Nka(){}l(Nka,Dp);Nka.prototype.c=function(a){if(a.b==a.a)a=1;else{var b=Cp(this.b,0);a:{for(var c=a.a;c<a.b;c++)if(a.c[c]==b){b=c-a.a;break a}b=-1}a=0<=b?a.Ra()-1:a.Ra()}return a};var bla;
  605. function cla(){cla=function(){};Np((dla(),ela));bla=Np((fla(),gla));Np((hla(),ila));Np((jla(),kla))}function lla(){}l(lla,n);function Np(a){var b=(Oka(),Mka),c=new lla;c.b=G(a);c.a=G(b);return c}function Op(){}l(Op,n);Op.prototype.f=function(a){for(var b=Bp(le(a)),c=0;c<le(a);c++)xp(b,me(a,c));return yp(b)};Op.prototype.ud=!0;function mla(){}l(mla,n);mla.prototype.a=function(a,b){var c=this.b.f(a);a=c.c;var d=c.a;c=c.b;Fc(d);Fc(c);Ld(d,d,a.length);a=Qda(a,za([c-d],Zc,$c,0),d,c);for(d=0;d<a.length;d++)b.a(Fc(a[d]))};
  606. function nla(){}l(nla,n);nla.prototype.a=function(a){a=this.c.f.yd(a);0==a&&(a=0);xp(this.b,a)};function ola(){}var pla;l(ola,n);
  607. function qla(a,b){Pp();a:{var c=new Qp;c.c=b;for(var d=a.h();d.i();){var e=d.j();e=b.f(e);for(var f=0;f<e.Ra();f++)if(0!=(Cp(e,f)&-128)){c=null;break a}}}if(c)return c;a:{c=za([256],Zc,$c,0);c[0]=1;for(d=a.h();d.i();)for(e=d.j(),e=b.f(e),f=0;f<e.Ra();f++){var h=Cp(e,f),k=h&255;if(c[k]!=h){if((c[k]&255)==k){c=null;break a}c[k]=h}}d=new Rp;d.c=b;d.g=c;c=d}if(c)return c;c=new mla;c.b=b;return rla(a,c)}
  608. function rla(a,b){Pp();var c=vp(),d=new sla;d.b=c;d.c=0;for(a=a.h();a.i();){var e=a.j();b.a(e,d)}c instanceof en||c instanceof Lm?d=c:(c=G(c),d=new en,d.a=c);c=new Sp;c.f=d;c.g=b;c.c=d.te().w()+1;return c}function Pp(){Pp=function(){};pla=new Op}function Sp(){this.c=0}l(Sp,ola);Sp.prototype.a=function(a){zp();var b=tka(10);var c=new nla;c.c=this;c.b=b;this.g.a(a,c);return yp(b)};Sp.prototype.b=function(){return this.c};function sla(){this.c=0}l(sla,n);
  609. sla.prototype.a=function(a){this.b.B(a)||this.b.Sg(a,++this.c)};function Tp(){}l(Tp,ola);Tp.prototype.a=function(a){a=this.c.f(a);for(var b=Bp(a.Ra()),c=0;c<a.Ra();c++)xp(b,this.f(Cp(a,c)));return yp(b)};function Qp(){}l(Qp,Tp);Qp.prototype.f=function(a){return 0==(a&-128)?a:128};Qp.prototype.b=function(){return 129};function Rp(){}l(Rp,Tp);Rp.prototype.f=function(a){var b=a&255;return a==this.g[b]?b:256};Rp.prototype.b=function(){return 257};function Up(){}l(Up,n);Up.prototype.toString=function(){return Na(la(ma(this)))};
  610. function Vp(){}l(Vp,n);Vp.prototype.f=function(a){for(var b=Bp(le(a)),c=0;c<le(a);c++)xp(b,Hg(me(a,c)).toLowerCase().charCodeAt(0));return yp(b)};Vp.prototype.ud=!0;function tla(){}var gla;l(tla,Up);tla.prototype.a=function(a){return qla(a,new Vp)};function fla(){fla=function(){};gla=new tla}function ula(){}var ela;l(ula,Up);ula.prototype.a=function(a){Pp();return qla(a,pla)};function dla(){dla=function(){};ela=new ula}function Wp(){}l(Wp,n);
  611. Wp.prototype.f=function(a){var b=a.toString();a=Bp(le(a));for(var c=0;c<b.length;){var d=void 0;var e=c,f=me(b,e++),h;if(h=55296<=f&&56319>=f&&e<b.length)e=d=me(b,e),h=56320<=e&&57343>=e;d=h?65536+((f&1023)<<10)+(d&1023):f;c+=65536<=d?2:1;xp(a,d)}return yp(a)};Wp.prototype.ud=!0;function vla(){}var kla,wla;l(vla,Up);vla.prototype.a=function(a){return qla(a,wla)};function jla(){jla=function(){};kla=new vla;wla=new Wp}function xla(){}l(xla,n);
  612. xla.prototype.a=function(a,b){for(a=a.h();a.i();){var c=a.j();b.a(c)}};function yla(){}var ila;l(yla,Up);function zla(){var a=new yla;a.b=new xla;return a}yla.prototype.a=function(a){return rla(a,this.b)};function hla(){hla=function(){};ila=zla()}function Ala(){}l(Ala,n);function Bla(a,b){for(var c in a)b(c)}function Xp(a){for(var b=a.length,c=0;c<b;c++)if(Yp(a.charCodeAt(c))){for(a=Ai(a);c<b;c++){var d=a[c];Yp(d)&&(a[c]=(d^32)&65535)}return Pg(a)}return a}
  613. function Cla(a){return Yp(a)?(a^32)&65535:a}function Zp(a){for(var b=a.length,c=0;c<b;c++){var d=a.charCodeAt(c);if(97<=d&&122>=d){for(a=Ai(a);c<b;c++)d=a[c],97<=d&&122>=d&&(a[c]=(d^32)&65535);return Pg(a)}}return a}function Dla(a){return 97<=a&&122>=a?(a^32)&65535:a}function Yp(a){return 65<=a&&90>=a}function $p(){this.a=0}var aq,Ela,Fla,Gla;l($p,z);function bq(a,b,c,d,e){a.b=b;a.a=c;a.v=d;a.u=e}function Hla(a,b){var c=Fla;G(c);G(b);return q(c,a)?b:a.f(c,b)}
  614. $p.prototype.f=function(a,b){for(var c=null,d=0,e=-1;-1!=(e=this.v.qj(b,++e));)0==d?(c=Ng(),x(c,a.o(ne(b,d,e)))):x(c,a.g(ne(b,d,e))),x(c,a.u),d=e+this.u.length;return 0==d?a.o(b):x(c,a.g(b.substr(d))).toString()};$p.prototype.o=function(a){return this.g(a)};function Ila(a){cq();return te(a)?a:Hg(Dla(a.charCodeAt(0)))+r(Xp(a.substr(1)))}function cq(){cq=function(){};aq=Jla();Ela=Kla();Lla();Fla=Mla();Gla=Nla()}function dq(){this.a=0}l(dq,$p);
  615. function Jla(){var a=Yi(45);cq();var b=new dq;bq(b,"LOWER_HYPHEN",0,a,"-");return b}dq.prototype.g=function(a){return Xp(a)};dq.prototype.f=function(a,b){return q(a,(cq(),Ela))?vi(b,45,95):q(a,(cq(),Gla))?Zp(vi(b,45,95)):$p.prototype.f.call(this,a,b)};dq.prototype.R=function(a){return $p.prototype.c.call(this,a)};function eq(){this.a=0}l(eq,$p);function Kla(){var a=Yi(95);cq();var b=new eq;bq(b,"LOWER_UNDERSCORE",1,a,"_");return b}eq.prototype.g=function(a){return Xp(a)};
  616. eq.prototype.f=function(a,b){return q(a,(cq(),aq))?vi(b,95,45):q(a,(cq(),Gla))?Zp(b):$p.prototype.f.call(this,a,b)};eq.prototype.R=function(a){return $p.prototype.c.call(this,a)};function fq(){this.a=0}l(fq,$p);function Lla(){var a=Cj(65,90);cq();bq(new fq,"LOWER_CAMEL",2,a,"")}fq.prototype.g=function(a){return Ila(a)};fq.prototype.o=function(a){return Xp(a)};fq.prototype.R=function(a){return $p.prototype.c.call(this,a)};function gq(){this.a=0}l(gq,$p);
  617. function Mla(){var a=Cj(65,90);cq();var b=new gq;bq(b,"UPPER_CAMEL",3,a,"");return b}gq.prototype.g=function(a){return Ila(a)};gq.prototype.R=function(a){return $p.prototype.c.call(this,a)};function hq(){this.a=0}l(hq,$p);function Nla(){var a=Yi(95);cq();var b=new hq;bq(b,"UPPER_UNDERSCORE",4,a,"_");return b}hq.prototype.g=function(a){return Zp(a)};hq.prototype.f=function(a,b){return q(a,(cq(),aq))?Xp(vi(b,95,45)):q(a,(cq(),Ela))?Xp(b):$p.prototype.f.call(this,a,b)};
  618. hq.prototype.R=function(a){return $p.prototype.c.call(this,a)};function iq(){this.u=!1;this.f=this.a=0}l(iq,nj);iq.prototype.ea=function(a){Bb(this,a)};function jq(){iq.call(this)}l(jq,iq);jq.prototype.A=function(a){return this.F.qj(this.b,a)};jq.prototype.v=function(a){return a+1};jq.prototype.ea=function(a){Bb(this,a)};function Ola(){}l(Ola,n);Ola.prototype.a=function(a,b){var c=new jq;c.F=this.b;c.c=(mj(),Afa);c.a=0;c.g=a.f;c.u=a.c;c.f=a.b;c.b=b;return c};function Pla(){}l(Pla,n);g=Pla.prototype;
  619. g.h=function(){var a=this.b;return a.a.a(a,this.a)};g.toString=function(){return Og(sk(qk(", "),Og(Mg(),91),this),93).toString()};g.Z=function(a){xc(this,a)};g.Y=function(){return yc(this)};g.Xa=!0;function Qla(){this.c=!1;this.b=0}l(Qla,n);function Rla(a,b,c,d){var e=new Qla;e.a=a;e.c=b;e.f=c;e.b=d;return e}function kq(a){var b=Yi(a);G(b);a=new Ola;a.b=b;b=new Qla;var c=(Wi(),Xi);b.a=a;b.c=!1;b.f=c;b.b=2147483647;return b}
  620. function Sla(){Fi(!0,"The separator may not be the empty string.");return kq(46)}function Tla(a){return Rla(a.a,!0,a.f,a.b)}function Ula(a){Gi(!0,"must be greater than zero: %s",2);return Rla(a.a,a.c,a.f,2)}function lq(a,b){G(b);var c=new Pla;c.b=a;c.a=b;return c}function mq(a,b){G(b);a=a.a.a(a,b);for(b=w();a.i();)b.add(a.j());return qf(b)}function Vla(){}l(Vla,ee);g=Vla.prototype;g.B=function(a){if(null!=a&&a.ol){var b=ol(nq(this.a),a.b);return!!b&&so(b.V(),fl(a.a,a.c))}return!1};
  621. g.sa=function(a){if(null!=a&&a.ol){var b=ol(nq(this.a),a.b),c;if(c=!!b){b=b.V();a=fl(a.a,a.c);G(b);try{c=b.sa(a)}catch(d){if(d=va(d),sb(d))c=!1;else throw d.s;}}return c}return!1};g.ia=function(){this.a.hm()};g.h=function(){var a=new oq;a.f=this.a;a.c=a.f.a.V().h();a.a=(Yk(),Xk);return a};g.Y=function(){return Wla(this.a)};g.w=function(){return Xla(this.a)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function oq(){}l(oq,n);
  622. oq.prototype.i=function(){return this.c.i()||this.a.i()};oq.prototype.j=function(){this.a.i()||(this.b=this.c.j(),this.a=this.b.O().V().h());var a=this.a.j(),b=this.b.M(),c=a.M();a=a.O();return Yla(b,c,a)};oq.prototype.ma=function(){this.a.ma();this.b.O().Qa()&&(this.c.ma(),this.b=null)};oq.prototype.ea=function(a){Bb(this,a)};function Zla(){}l(Zla,Rm);g=Zla.prototype;g.D=function(){return this.b.a.Qa()};g.ia=function(){this.b.a.Fa()};g.Y=function(){return Ud(this)};
  623. g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function pq(){}l(pq,n);pq.prototype.i=function(){return this.a.i()};pq.prototype.j=function(){var a=this.a.j();return $la(a)};pq.prototype.ma=function(){this.a.ma();ama(this.b)};pq.prototype.ea=function(a){Bb(this,a)};function qq(){}l(qq,In);function $la(a){var b=new qq;b.a=a;return b}qq.prototype.zb=function(){return this.a};qq.prototype.dd=function(a){return In.prototype.dd.call(this,G(a))};
  624. qq.prototype.I=function(a){a=Td(a)?dk(this.M(),a.M())&&dk(this.O(),a.O()):!1;return a};function bma(){}l(bma,Jn);function cma(a,b){var c=new bma;c.b=a;c.c=G(b);return c}function rq(a){return!a.a||a.a.Qa()&&a.b.a.X(a.c)?a.a=a.b.a.get(a.c):a.a}function ama(a){rq(a)&&a.a.Qa()&&(a.b.a.Ka(a.c),a.a=null)}g=bma.prototype;g.X=function(a){var b=rq(this);return null!=a&&!!b&&nl(b,a)};g.get=function(a){var b=rq(this);return null!=a&&b?ol(b,a):null};
  625. g.C=function(a,b){G(a);G(b);return this.a&&!this.a.Qa()?this.a.C(a,b):this.b.Mc(this.c,a,b)};g.Ka=function(a){var b=rq(this);if(!b)return null;a=yja(b,a);ama(this);return a};g.Fa=function(){var a=rq(this);a&&a.Fa();ama(this)};g.wa=function(){var a=rq(this);return a?a.wa():0};g.$c=function(){var a=rq(this);if(!a)return Yk(),Xk;a=a.V().h();var b=new pq;b.b=this;b.a=a;return b};g.xn=function(){var a=rq(this);return a?nk(a.V().Y(),u(function(b){return $la(b)})):(Bba(),zba)};
  626. g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};function sq(){}l(sq,n);sq.prototype.f=function(a){return cma(this.a.a.a,a)};sq.prototype.ud=!0;function dma(){}l(dma,Zla);g=dma.prototype;g.h=function(){var a=this.a.a.a.oa(),b=new sq;b.a=this;return $ga(b,a.h())};g.w=function(){return this.a.a.a.wa()};
  627. g.B=function(a){return Td(a)?null!=a.M()&&de(a.O())&&so(this.a.a.a.V(),a):!1};g.sa=function(a){return Td(a)?null!=a.M()&&de(a.O())&&this.a.a.a.V().sa(a):!1};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function ema(){}l(ema,Bn);g=ema.prototype;g.X=function(a){return this.a.Xi(a)};g.get=function(a){return this.a.Xi(a)?cma(this.a,a):null};g.Ka=function(a){return null==a?null:this.a.a.Ka(a)};
  628. g.gb=function(a,b){return Yd(this,a,b)};g.ib=function(a){Zd(this,a)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Fb=function(a){ce(this,a)};g.jm=function(){var a=new dma;a.a=this;a.b=this.a;return a};function tq(){}l(tq,n);g=tq.prototype;g.Xi=function(a){return nl(nq(this),a)};g.Yi=function(a,b){a=ol(nq(this),a);return!!a&&nl(a,b)};g.Ze=function(a,b){return(a=ol(nq(this),a))?ol(a,b):null};g.wn=function(){return 0==Xla(this)};
  629. g.hm=function(){Kn(this.eh().h())};g.il=function(a,b){return(a=ol(nq(this),a))?yja(a,b):null};g.Mc=function(a,b,c){return cma(this,a).C(b,c)};g.eh=function(){var a=this.c;a||(a=new Vla,a.a=this,a=this.c=a);return a};g.I=function(a){a=q(a,this)?!0:null!=a&&a.Qn?cd(this.eh(),a.eh()):!1;return a};g.P=function(){return ed(this.eh())};g.toString=function(){return ze(nq(this))};g.Qn=!0;function uq(){}l(uq,tq);g=uq.prototype;g.Yi=function(a,b){return null!=a&&null!=b&&tq.prototype.Yi.call(this,a,b)};
  630. g.Xi=function(a){return null!=a&&nl(this.a,a)};g.Ze=function(a,b){return null==a||null==b?null:tq.prototype.Ze.call(this,a,b)};g.wn=function(){return this.a.Qa()};function Xla(a){var b=0;for(a=a.a.values().h();a.i();){var c=a.j();b+=c.wa()}return b}g.hm=function(){this.a.Fa()};g.Mc=function(a,b,c){G(a);G(b);G(c);var d=this.a.get(a);d||(d=this.b.f(),this.a.C(a,d));return d.C(b,c)};
  631. g.il=function(a,b){if(null==a||null==b)return null;var c=ol(this.a,a);if(!c)return null;b=c.Ka(b);c.Qa()&&this.a.Ka(a);return b};g.eh=function(){return tq.prototype.eh.call(this)};function Wla(a){return ok(a.a.V().Y(),u(function(b){return nk(b.O().V().Y(),u(function(c){var d=b.M(),e=c.M();c=c.O();return Yla(d,e,c)}))}),65,Cb(Xla(a)))}function nq(a){var b=a.f;b?a=b:(b=new ema,b.a=a,a=a.f=b);return a}g.ba=!0;function vq(){}l(vq,n);
  632. vq.prototype.I=function(a){return q(a,this)?!0:null!=a&&a.ol?dk(this.b,a.b)&&dk(this.a,a.a)&&dk(this.c,a.c):!1};vq.prototype.P=function(){return Fg([this.b,this.a,this.c])};vq.prototype.toString=function(){return"("+r(this.b)+","+r(this.a)+")="+r(this.c)};vq.prototype.ol=!0;function fma(){}l(fma,vq);function Yla(a,b,c){var d=new fma;d.b=a;d.a=b;d.c=c;return d}fma.prototype.ba=!0;function gma(a,b){D(a.Qa());G(b);var c=new uq;c.a=a;c.b=b;return c}function hma(){this.a=0}l(hma,Po);
  633. function ima(){this.c=this.a=0}l(ima,hma);function wq(){var a=new ima,b=cf(Qm(12));eo(a,b);Pj(3,"expectedValuesPerKey");a.c=3;return a}ima.prototype.Qf=function(){return Kd()};function jma(){}var kma,lma,mma;l(jma,n);function xq(){xq=function(){};kma=new yq;lma=nma(-1);mma=nma(1)}function yq(){}l(yq,jma);yq.prototype.a=function(a,b){a=jc(a,b);return 0>a?(xq(),lma):0<a?(xq(),mma):(xq(),kma)};yq.prototype.c=function(){return 0};function zq(){this.b=0}l(zq,jma);
  634. function nma(a){xq();var b=new zq;b.b=a;return b}zq.prototype.a=function(){return this};zq.prototype.c=function(){return this.b};function Aq(){this.a=0}l(Aq,n);Aq.prototype.f=function(){return Wf(Qm(this.a))};Aq.prototype.ba=!0;function oma(){}l(oma,uq);function Bq(){var a=Uf(),b=new Aq;b.a=0;var c=new oma;c.a=a;c.b=b;return c}g=oma.prototype;g.Yi=function(a,b){return uq.prototype.Yi.call(this,a,b)};g.Xi=function(a){return uq.prototype.Xi.call(this,a)};
  635. g.Ze=function(a,b){return uq.prototype.Ze.call(this,a,b)};g.I=function(a){return uq.prototype.I.call(this,a)};g.il=function(a,b){return uq.prototype.il.call(this,a,b)};function Cq(){}l(Cq,rl);Cq.prototype.M=function(){return this.a.f};Cq.prototype.O=function(){return this.a.c};
  636. Cq.prototype.dd=function(a){var b=this.a.c,c=Dq(a);if(c==this.a.o&&dk(a,b))return a;Ii(!Eq(this.b.f,a,c),"value already present: %s",a);Fq(this.b.f,this.a);a=Gq(this.a.f,this.a.g,a,c);Hq(this.b.f,a,this.a);this.a.b=null;this.a.a=null;this.b.b=this.b.f.a;q(this.b.c,this.a)&&(this.b.c=a);this.a=a;return b};function Iq(){this.u=this.b=0}l(Iq,n);Iq.prototype.i=function(){if(this.a.a!=this.b)throw Oe().s;return!!this.o&&0<this.u};
  637. Iq.prototype.j=function(){if(!this.i())throw Qd().s;var a=this.o;this.o=a.a;this.c=a;this.u--;return this.g(a)};Iq.prototype.ma=function(){if(this.a.a!=this.b)throw Oe().s;Zj(!!this.c);Fq(this.a,this.c);this.b=this.a.a;this.c=null};Iq.prototype.ea=function(a){Bb(this,a)};function Mq(a){a.o=a.a.b;a.c=null;a.b=a.a.a;a.u=a.a.wa()}function Nq(){Iq.call(this)}l(Nq,Iq);Nq.prototype.g=function(a){var b=new Cq;b.b=this;b.a=a;return b};Nq.prototype.ea=function(a){Bb(this,a)};
  638. function Oq(){this.o=this.g=0}l(Oq,Rj);function Gq(a,b,c,d){var e=new Oq;e.f=a;e.c=c;e.g=b;e.o=d;return e}function Pq(a){return a instanceof Oq}function Qq(){}l(Qq,rl);Qq.prototype.M=function(){return this.a.c};Qq.prototype.O=function(){return this.a.f};Qq.prototype.dd=function(a){var b=this.a.f,c=Dq(a);if(c==this.a.g&&dk(a,b))return a;Ii(!Rq(this.b.f.a,a,c),"value already present: %s",a);Fq(this.b.f.a,this.a);this.a=a=Gq(a,c,this.a.c,this.a.o);Hq(this.b.f.a,a,null);this.b.b=this.b.f.a.a;return b};
  639. function Dq(a){a=Taa(Cb(null==a?0:ed(a)),pma).a;for(var b=15;0<b--;)a=a<<1|(0>a?1:0);return Za(qma,Cb(a)).a}function rma(a){a=Math.max(a,2);var b=lh(a);return a>Fb(b)?(b<<=1,0<b?b:1073741824):b}var pma=hb(-862048943),qma=hb(461845907);function Sq(){Iq.call(this)}l(Sq,Iq);Sq.prototype.g=function(a){return a.c};Sq.prototype.ea=function(a){Bb(this,a)};function sma(){}l(sma,An);g=sma.prototype;g.sa=function(a){return(a=Eq(this.b.a,a,Dq(a)))?(Fq(this.b.a,a),!0):!1};
  640. g.h=function(){var a=new Sq;a.a=this.b.a;Mq(a);return a};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function tma(){}l(tma,Jn);g=tma.prototype;g.wa=function(){return this.a.g};g.Fa=function(){this.a.Fa()};g.X=function(a){return this.a.kd(a)};g.get=function(a){return(a=Eq(this.a,a,Dq(a)))?a.M():null};
  641. g.C=function(a,b){var c=this.a,d=Dq(a),e=Dq(b),f=Eq(c,a,d),h=Rq(c,b,e);if(f&&e==f.g&&dk(b,f.f))a=b;else{if(h)throw ua("key already present: "+r(b)).s;f&&Fq(c,f);h&&Fq(c,h);Hq(c,Gq(b,e,a,d),h);h&&(h.b=null,h.a=null);f&&(f.b=null,f.a=null);uma(c);a=f?f.M():null}return a};g.Ka=function(a){return(a=Eq(this.a,a,Dq(a)))?(Fq(this.a,a),a.b=null,a.a=null,a.f):null};g.ef=function(){return this.a};g.oa=function(){var a=new sma;a.b=this;a.a=G(this);return a};g.values=function(){return this.a.oa()};
  642. g.$c=function(){var a=new Tq;a.f=this;a.a=this.a;Mq(a);return a};g.ib=function(a){G(a);this.a.ib(Wd(function(b,c){var d=a.a;d(c,b)}))};g.Fb=function(a){G(a);var b=this.a.b;for(this.Fa();b;b=b.a)this.C(b.c,a.a(b.c,b.f))};g.gb=function(a,b){return Yd(this,a,b)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Nd=!0;g.ba=!0;function Uq(){Iq.call(this)}l(Uq,Iq);Uq.prototype.g=function(a){return a.f};
  643. Uq.prototype.ea=function(a){Bb(this,a)};function vma(){}l(vma,An);g=vma.prototype;g.h=function(){var a=new Uq;a.a=this.b;Mq(a);return a};g.sa=function(a){return(a=Rq(this.b,a,Dq(a)))?(Fq(this.b,a),a.b=null,a.a=null,!0):!1};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function wma(){this.a=this.f=this.g=0}l(wma,Jn);
  644. function xma(){var a=new wma;Pj(16,"expectedSize");var b=rma(16);a.c=za([b],Oq,Pq,Oq.a);a.o=za([b],Oq,Pq,Oq.a);a.b=null;a.u=null;a.g=0;a.f=b-1;a.a=0;return a}function Fq(a,b){for(var c=b.g&a.f,d=null,e=a.c[c];;e=e.u){if(q(e,b)){d?d.u=b.u:a.c[c]=b.u;break}d=e}c=b.o&a.f;d=null;for(e=a.o[c];;e=e.v){if(q(e,b)){d?d.v=b.v:a.o[c]=b.v;break}d=e}b.b?b.b.a=b.a:a.b=b.a;b.a?b.a.b=b.b:a.u=b.b;a.g--;a.a++}
  645. function Hq(a,b,c){var d=b.g&a.f;b.u=a.c[d];a.c[d]=b;d=b.o&a.f;b.v=a.o[d];a.o[d]=b;c?(b.b=c.b,b.b?b.b.a=b:a.b=b,b.a=c.a,b.a?b.a.b=b:a.u=b):(b.b=a.u,b.a=null,a.u?a.u.a=b:a.b=b,a.u=b);a.g++;a.a++}function Rq(a,b,c){for(a=a.c[c&a.f];a;a=a.u)if(c==a.g&&dk(b,a.f))return a;return null}function Eq(a,b,c){for(a=a.o[c&a.f];a;a=a.v)if(c==a.o&&dk(b,a.c))return a;return null}g=wma.prototype;g.X=function(a){return!!Rq(this,a,Dq(a))};g.kd=function(a){return!!Eq(this,a,Dq(a))};
  646. g.get=function(a){return(a=Rq(this,a,Dq(a)))?a.O():null};g.C=function(a,b){var c;var d=Dq(a),e=Dq(b);if((c=Rq(this,a,d))&&e==c.o&&dk(b,c.c))c=b;else{if(Eq(this,b,e))throw ua("value already present: "+r(b)).s;a=Gq(a,d,b,e);c?(Fq(this,c),Hq(this,a,c),c.b=null,c.a=null,c=c.c):(Hq(this,a,null),uma(this),c=null)}return c};function uma(a){var b=a.c,c=b.length;if(a.g>c&&1073741824>c){b=2*b.length;a.c=za([b],Oq,Pq,Oq.a);a.o=za([b],Oq,Pq,Oq.a);a.f=b-1;a.g=0;for(b=a.b;b;b=b.a)Hq(a,b,b);a.a++}}
  647. g.Ka=function(a){return(a=Rq(this,a,Dq(a)))?(Fq(this,a),a.b=null,a.a=null,a.c):null};g.Fa=function(){this.g=0;var a=this.c;Eg(a,a.length,null);a=this.o;Eg(a,a.length,null);this.u=this.b=null;this.a++};g.wa=function(){return this.g};g.oa=function(){var a=new vma;a.b=this;a.a=G(this);return a};g.values=function(){return this.ef().oa()};g.$c=function(){var a=new Nq;a.f=this;a.a=this;Mq(a);return a};g.ib=function(a){G(a);for(var b=this.b;b;b=b.a){var c=a.a;c(b.f,b.c)}};
  648. g.Fb=function(a){G(a);var b=this.b;for(this.Fa();b;b=b.a)this.C(b.f,a.a(b.f,b.c))};g.ef=function(){var a=this.v;a||(a=new tma,a.a=this,a=this.v=a);return a};g.gb=function(a,b){return Yd(this,a,b)};g.Ya=function(a,b){return $d(this,a,b)};g.tb=function(a,b,c){ae(this,a,b,c)};g.qb=function(a,b){return be(this,a,b)};g.Nd=!0;g.ba=!0;function Tq(){Iq.call(this)}l(Tq,Iq);Tq.prototype.g=function(a){var b=new Qq;b.b=this;b.a=a;return b};Tq.prototype.ea=function(a){Bb(this,a)};function yma(){this.a=0}
  649. l(yma,So);function zma(){this.c=this.a=0}l(zma,yma);function Vq(){var a=new zma,b=cf(Qm(12));eo(a,b);a.c=2;D(!0);a.c=2;return a}zma.prototype.Qf=function(){return gf(Qm(this.c))};function Wq(){}l(Wq,n);Wq.prototype.i=function(){return!q(this.a,this.c.c)};Wq.prototype.j=function(){if(!this.i())throw Qd().s;var a=this.a;this.b=a;this.a=this.a.g;return a};Wq.prototype.ma=function(){Zj(!!this.b);this.c.eg(this.b.M(),this.b.O());this.b=null};Wq.prototype.ea=function(a){Bb(this,a)};
  650. function Xq(){this.b=0}l(Xq,Rj);function Ama(a,b,c){return a.b==c&&dk(a.O(),b)}Xq.prototype.Sm=function(){return this.u};Xq.prototype.qh=function(){return this.v};Xq.prototype.hn=function(a){this.u=a};Xq.prototype.jn=function(a){this.v=a};function Bma(a){return a instanceof Xq}function Yq(){this.b=0}l(Yq,n);function Cma(a){if(a.a.b!=a.b)throw Oe().s;}Yq.prototype.i=function(){Cma(this);return!q(this.c,this.a)};
  651. Yq.prototype.j=function(){if(!this.i())throw Qd().s;var a=this.c,b=a.O();this.f=a;this.c=a.qh();return b};Yq.prototype.ma=function(){Cma(this);Zj(!!this.f);this.a.sa(this.f.O());this.b=this.a.b;this.f=null};Yq.prototype.ea=function(a){Bb(this,a)};function Zq(){this.a=0}l(Zq,So);function Dma(){this.f=this.a=0}l(Dma,Zq);function $q(a,b){a.jn(b);b.hn(a)}function ar(a,b){a.g=b;b.o=a}
  652. function br(){var a=new Dma,b=Wf(Qm(16));eo(a,b);a.f=2;Pj(2,"expectedValuesPerKey");a.f=2;b=new Xq;b.f=null;b.c=null;b.b=0;b.a=null;a.c=b;ar(a.c,a.c);return a}g=Dma.prototype;g.Qf=function(){return Pha(Qm(this.f))};g.Bl=function(a){var b=new Ema,c=this.f;b.o=this;b.f=0;b.b=0;b.u=a;b.c=b;b.g=b;b.a=za([rma(c)],Xq,Bma,Xq.a);return b};g.Pd=function(){return Zq.prototype.Pd.call(this)};g.Pc=function(){return Zq.prototype.Pc.call(this)};g.Rc=function(){return Zq.prototype.Rc.call(this)};
  653. g.$c=function(){var a=new Wq;a.c=this;a.a=a.c.c.g;return a};g.Nj=function(){var a=this.Pd();return Tc(a,17)};g.zh=function(){return Zga(this.$c())};g.em=function(){return nk(this.Nj(),u(function(a){return a.O()}))};g.ye=function(){Zq.prototype.ye.call(this);ar(this.c,this.c)};function Ema(){this.b=this.f=0}l(Ema,Rm);g=Ema.prototype;g.Sm=function(){return this.g};g.qh=function(){return this.c};g.hn=function(a){this.g=a};g.jn=function(a){this.c=a};
  654. g.h=function(){var a=new Yq;a.a=this;a.c=a.a.c;a.b=a.a.b;return a};g.Z=function(a){G(a);for(var b=this.c;!q(b,this);b=b.qh())a.pb(b.O())};g.w=function(){return this.f};g.B=function(a){for(var b=Dq(a),c=this.a[b&this.a.length-1];c;c=c.a)if(Ama(c,a,b))return!0;return!1};
  655. g.add=function(a){for(var b=Dq(a),c=b&this.a.length-1,d=this.a[c],e=d;e;e=e.a)if(Ama(e,a,b))return!1;e=new Xq;e.f=this.u;e.c=a;e.b=b;e.a=d;$q(this.g,e);$q(e,this);ar(this.o.c.o,e);ar(e,this.o.c);this.a[c]=e;this.f++;this.b++;a=this.a.length;if(this.f>a&&1073741824>a)for(this.a=a=za([2*this.a.length],Xq,Bma,Xq.a),b=a.length-1,c=this.c;!q(c,this);c=c.qh())d=c,e=d.b&b,d.a=a[e],a[e]=d;return!0};
  656. g.sa=function(a){for(var b=Dq(a),c=b&this.a.length-1,d=null,e=this.a[c];e;d=e,e=e.a)if(Ama(e,a,b))return d?d.a=e.a:this.a[c]=e.a,$q(e.Sm(),e.qh()),ar(e.o,e.g),this.f--,this.b++,!0;return!1};g.ia=function(){var a=this.a;Eg(a,a.length,null);this.f=0;for(a=this.c;!q(a,this);a=a.qh()){var b=a;ar(b.o,b.g)}$q(this,this);this.b++};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Fma(){}l(Fma,fo);g=Fma.prototype;
  657. g.w=function(){var a=this.b.a.get(this.a);return a?a.a:0};g.Bb=function(a){var b=new cr,c=this.b,d=this.a;b.g=c;var e=(c=c.a.get(d))?c.a:0;Si(a,e);if(a>=(e/2|0))for(b.c=c?c.c:null,b.f=e;a++<e;)b.Lc();else for(b.b=c?c.b:null;0<a--;)b.j();b.o=d;b.a=null;return b};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Gma(){this.a=0}l(Gma,n);
  658. function Hma(a){var b=new Gma;b.b=a;b.c=a;a.a=null;a.c=null;b.a=1;return b}function dr(){}l(dr,rl);dr.prototype.M=function(){return this.g};dr.prototype.O=function(){return this.o};dr.prototype.dd=function(a){var b=this.o;this.o=a;return b};function cr(){this.f=0}l(cr,n);function Ima(a,b){var c=new cr;c.g=a;c.o=b;a=a.a.get(b);c.b=a?a.b:null;return c}g=cr.prototype;g.i=function(){return!!this.b};g.j=function(){er(this.b);this.c=this.a=this.b;this.b=this.b.c;this.f++;return this.a.o};g.Jc=function(){return!!this.c};
  659. g.Lc=function(){er(this.c);this.b=this.a=this.c;this.c=this.c.a;this.f--;return this.a.o};g.pd=function(){return this.f};g.Sd=function(){return this.f-1};g.ma=function(){Zj(!!this.a);q(this.a,this.b)?this.b=this.a.c:(this.c=this.a.a,this.f--);Jma(this.g,this.a);this.a=null};g.Id=function(a){E(!!this.a);this.a.o=a};g.xe=function(a){this.c=Kma(this.g,this.o,a,this.b);this.f++;this.a=null};g.ea=function(a){Bb(this,a)};function Lma(){}l(Lma,fo);g=Lma.prototype;g.w=function(){return this.a.f};
  660. g.Bb=function(a){return Mma(this.a,a)};g.Z=function(a){G(a);for(var b=this.a.c;b;b=b.f)a.pb(b)};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};function Nma(){this.o=this.f=0}l(Nma,n);function Mma(a,b){var c=new Nma;c.g=a;c.o=c.g.b;var d=a.Kd();Si(b,d);if(b>=(d/2|0))for(c.c=a.g,c.f=d;b++<d;)c.Lc();else for(c.b=a.c;0<b--;)c.j();c.a=null;return c}function fr(a){if(a.g.b!=a.o)throw Oe().s;}g=Nma.prototype;
  661. g.i=function(){fr(this);return!!this.b};g.j=function(){fr(this);er(this.b);this.c=this.a=this.b;this.b=this.b.f;this.f++;return this.a};g.ma=function(){fr(this);Zj(!!this.a);q(this.a,this.b)?this.b=this.a.f:(this.c=this.a.b,this.f--);Jma(this.g,this.a);this.a=null;this.o=this.g.b};g.Jc=function(){fr(this);return!!this.c};g.Lc=function(){fr(this);er(this.c);this.b=this.a=this.c;this.c=this.c.b;this.f--;return this.a};g.pd=function(){return this.f};g.Sd=function(){return this.f-1};
  662. g.ea=function(a){Bb(this,a)};g.xe=function(){throw wb().s;};g.Id=function(){throw wb().s;};function gr(){this.f=0}l(gr,n);function Oma(a){if(a.b.b!=a.f)throw Oe().s;}gr.prototype.i=function(){Oma(this);return!!this.a};gr.prototype.j=function(){Oma(this);er(this.a);this.c=this.a;this.g.add(this.c.g);do this.a=this.a.f;while(this.a&&!this.g.add(this.a.g));return this.c.g};gr.prototype.ma=function(){Oma(this);Zj(!!this.c);Kn(Ima(this.b,this.c.g));this.c=null;this.f=this.b.b};
  663. gr.prototype.ea=function(a){Bb(this,a)};function Pma(){}l(Pma,Rm);g=Pma.prototype;g.w=function(){return this.a.a.wa()};g.h=function(){var a=new gr;a.b=this.a;a.g=gf(Qm(a.b.Pc().w()));a.a=a.b.c;a.f=a.b.b;return a};g.B=function(a){return this.a.Yc(a)};g.sa=function(a){return!this.a.Nc(a).D()};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function hr(){}l(hr,ep);hr.prototype.Id=function(a){var b=this.c;E(!!b.a);b.a.o=a};
  664. hr.prototype.ea=function(a){Bb(this,a)};hr.prototype.b=function(a){return a.O()};function Qma(){}l(Qma,fo);g=Qma.prototype;g.w=function(){return this.a.f};g.Bb=function(a){a=Mma(this.a,a);var b=new hr;b.c=a;b.a=G(a);return b};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function Rma(){this.b=this.f=0}l(Rma,Rn);
  665. function Kma(a,b,c,d){var e=new dr;e.g=b;e.o=c;a.c?d?(a.a.get(b).a++,e.b=d.b,e.a=d.a,e.f=d,e.c=d,d.a?d.a.c=e:a.a.get(b).b=e,d.b?d.b.f=e:a.c=e,d.b=e,d.a=e):(a.g.f=e,e.b=a.g,a.g=e,(c=a.a.get(b))?(c.a++,b=c.c,b.c=e,e.a=b,c.c=e):(a.a.C(b,Hma(e)),a.b++)):(a.c=a.g=e,a.a.C(b,Hma(e)),a.b++);a.f++;return e}function Jma(a,b){b.b?b.b.f=b.f:a.c=b.f;b.f?b.f.b=b.b:a.g=b.b;if(b.a||b.c){var c=a.a.get(b.g);c.a--;b.a?b.a.c=b.c:c.b=b.c;b.c?b.c.a=b.a:c.c=b.a}else a.a.Ka(b.g).a=0,a.b++;a.f--}
  666. function er(a){if(null==a)throw Qd().s;}g=Rma.prototype;g.Kd=function(){return this.f};g.Rg=function(){return!this.c};g.Yc=function(a){return this.a.X(a)};g.Mj=function(a){return this.Rc().B(a)};g.Aa=function(a,b){Kma(this,a,b,null);return!0};g.Nc=function(a){var b=qf(Xl(Ima(this,a)));Kn(Ima(this,a));return b};g.ye=function(){this.g=this.c=null;this.a.Fa();this.f=0;this.b++};g.Ua=function(a){var b=new Fma;b.b=this;b.a=a;return b};g.df=function(){var a=new Pma;a.a=this;return a};g.Rc=function(){return Rn.prototype.Rc.call(this)};
  667. g.Bh=function(){var a=new Qma;a.a=this;return a};g.Pd=function(){return Rn.prototype.Pd.call(this)};g.Cl=function(){var a=new Lma;a.a=this;return a};g.$c=function(){throw jb("should never be called").s;};g.Zi=function(){var a=new Tja;a.a=G(this);return a};g.Wg=!0;g.ba=!0;function ir(){this.f=this.c=this.a=0}l(ir,n);
  668. function Sma(a,b){var c=new ir;c.u=G(a);c.b=G(b);try{a:{var d=b.length,e=(mha(),kha);pha();if(0>=d)throw ua("x ("+d+") must be > 0").s;switch(e.a){case 7:nha(!!(+(0<d)&+(0==(d&d-1))));case 1:case 3:var f=31-uh(d);break a;case 0:case 2:f=32-uh(d-1);break a;case 5:case 4:case 6:var h=uh(d);f=31-h+(~~((-1257966797>>>h|0)-d)>>>31|0);break a;default:throw ib().s;}}c.a=f}catch(m){m=va(m);if(m instanceof Pa)throw Maa("Illegal alphabet length "+b.length,m).s;throw m.s;}a=c.a;a=Math.min(8,a&-a);try{c.c=8/
  669. a|0,c.f=c.a/a|0}catch(m$0){m$0=va(m$0);if(m$0 instanceof Pa)throw c=m$0,Maa("Illegal alphabet "+r(Pg(b)),c).s;throw m$0.s;}a=za([128],rc,vc,0);f=a.length;for(d=0;d<f;++d)a[d]=-1;for(f=0;f<b.length;f++){d=b[f];if(!(d<a.length))throw ua(Hi("Non-ASCII character: %s",[eh(d)])).s;if(-1!=a[d])throw ua(Hi("Duplicate character: %s",[eh(d)])).s;a[d]=f<<24>>24}c.g=a;b=za([c.c],Yc,Iba,!1);for(a=0;a<c.f;a++){e=8*a;h=c.a;d=(mha(),lha);pha();G(d);if(0==h)throw Caa("/ by zero").s;f=e/h|0;var k=e-h*f;if(0!=k){e=
  670. 1|(e^h)>>31;switch(d.a){case 7:nha(0==k);case 1:d=!1;break;case 0:d=!0;break;case 2:d=0<e;break;case 3:d=0>e;break;case 6:case 5:case 4:k=Math.abs(k);h=k-(Math.abs(h)-k);d=0==h?q(d,iha)||!!(+q(d,jha)&+(0!=(f&1))):0<h;break;default:throw ib().s;}f=d?f+e:f}b[f]=!0}c.o=b;return c}function jr(a,b){if(127<b)throw kr("Unrecognized character: 0x"+r(na(b))).s;a=a.g[b];if(-1==a){if(32>=b||127==b)throw kr("Unrecognized character: 0x"+r(na(b))).s;throw kr("Unrecognized character: "+Hg(b)).s;}return a}
  671. ir.prototype.toString=function(){return this.u};ir.prototype.I=function(a){return a instanceof ir?Rda(this.b,a.b):!1};ir.prototype.P=function(){var a;if(a=this.b){for(var b=1,c=0;c<a.length;c++)b=31*b+a[c],b|=0;a=b}else a=0;return a};function Tma(){}l(Tma,xaa);function kr(a){var b=new Tma;sa(b,a);b.a(Error(b));return b}function Uma(){}var Vma;l(Uma,n);Uma.prototype.fl=function(a){return G(a)};
  672. function lr(){lr=function(){};Vma=Wma("base64()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");Wma("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");Xma("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");Xma("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV");Yma()}function mr(){}l(mr,Uma);function Xma(a,b){var c=eh(61);lr();Zma(new mr,Sma(a,Ai(b)),c)}
  673. function Zma(a,b,c){a.a=G(b);var d;(d=!c)||(d=c.a,d=!(d<b.g.length&&-1!=b.g[d]));Ii(d,"Padding character %s was already in alphabet",c);a.b=c}g=mr.prototype;g.fl=function(a){G(a);if(!this.b)return a;var b=this.b.a,c;for(c=le(a)-1;0<=c&&me(a,c)==b;c--);return $ba(a,0,c+1)};
  674. g.El=function(a,b){G(a);b=this.fl(b);var c=this.a;if(!c.o[le(b)%c.c|0])throw kr("Invalid input length "+le(b)).s;for(var d=c=0;d<le(b);d+=this.a.c){for(var e=hb(0),f=0,h=0;h<this.a.c;h++)e=eb(e,this.a.a),d+h<le(b)&&(e=Eb(e,Cb(jr(this.a,me(b,d+f++)))));f=8*this.a.f-f*this.a.a;for(h=8*(this.a.f-1);h>=f;h-=8){var k=c++,m=Haa(e,h).and(hb(255));a[k]=m.a<<24>>24}}return c};
  675. g.toString=function(){var a=ue("BaseEncoding.");x(a,this.a.toString());0!=(8%this.a.a|0)&&(this.b?x(Wg(x(a,".withPadChar('"),this.b),"')"):x(a,".omitPadding()"));return a.toString()};g.I=function(a){return a instanceof mr?this.a.I(a.a)&&dk(this.b,a.b):!1};g.P=function(){return this.a.P()^Fg([this.b])};function $ma(){}l($ma,mr);
  676. function Yma(){lr();var a=new $ma,b=Sma("base16()",Ai("0123456789ABCDEF"));Zma(a,b,null);a.c=za([512],Ob,Pb,0);D(16==b.b.length);for(var c=0;256>c;++c)a.c[c]=b.b[c>>>4|0],a.c[c|256]=b.b[c&15]}$ma.prototype.El=function(a,b){G(a);if(1==(le(b)%2|0))throw kr("Invalid input length "+le(b)).s;for(var c=0,d=0;d<le(b);d+=2){var e=jr(this.a,me(b,d))<<4|jr(this.a,me(b,d+1));Ad(a,c++,e<<24>>24)}return c};function ana(){}l(ana,mr);
  677. function Wma(a,b){var c=eh(61);lr();var d=new ana;a=Sma(a,Ai(b));Zma(d,a,c);D(64==a.b.length);return d}ana.prototype.El=function(a,b){G(a);b=this.fl(b);var c=this.a;if(!c.o[le(b)%c.c|0])throw kr("Invalid input length "+le(b)).s;for(var d=c=0;d<le(b);){var e=jr(this.a,me(b,d++))<<18;e|=jr(this.a,me(b,d++))<<12;Ad(a,c++,(e>>>16|0)<<24>>24);d<le(b)&&(e|=jr(this.a,me(b,d++))<<6,Ad(a,c++,((e>>>8|0)&255)<<24>>24),d<le(b)&&(e|=jr(this.a,me(b,d++)),Ad(a,c++,(e&255)<<24>>24)))}return c};
  678. function nr(){this.c=this.a=0}l(nr,Ed);g=nr.prototype;g.w=function(){return this.c-this.a};g.D=function(){return!1};g.G=function(a){Ri(a,this.w());return eh(this.b[this.a+a])};g.B=function(a){return ah(a)&&-1!=bna(this.b,a.a,this.a,this.c)};g.indexOf=function(a){return ah(a)&&(a=bna(this.b,a.a,this.a,this.c),0<=a)?a-this.a:-1};g.lastIndexOf=function(a){if(ah(a)){a:{a=a.a;for(var b=this.c-1;b>=this.a;b--)if(this.b[b]==a){a=b;break a}a=-1}if(0<=a)return a-this.a}return-1};
  679. g.Rb=function(a,b){Ri(a,this.w());var c=this.b[this.a+a];Ad(this.b,this.a+a,G(b).a);return eh(c)};g.Gb=function(a,b){var c=this.w();sfa(a,b,c);a==b?b=hf():(c=new nr,a=this.a+a,b=this.a+b,c.b=this.b,c.a=a,c.c=b,b=c);return b};g.I=function(a){if(q(a,this))return!0;if(a instanceof nr){var b=this.w();if(a.w()!=b)return!1;for(var c=0;c<b;c++)if(this.b[this.a+c]!=a.b[a.a+c])return!1;return!0}return Ed.prototype.I.call(this,a)};g.P=function(){for(var a=1,b=this.a;b<this.c;b++)a=31*a+this.b[b];return a};
  680. g.toString=function(){var a=Ng(3*this.w());Og(Og(a,91),this.b[this.a]);for(var b=this.a+1;b<this.c;b++)Og(x(a,", "),this.b[b]);return Og(a,93).toString()};g.lb=function(a){od(this,a)};g.Y=function(){return qd(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};g.Pe=!0;g.ba=!0;function bna(a,b,c,d){for(;c<d;c++)if(a[c]==b)return c;return-1}
  681. function cna(a){for(var b=0,c=0;c<a.length;c++)b+=a[c].length;b=za([b],Ob,Pb,0);for(var d=c=0;d<a.length;d++){var e=a[d];Di(e,0,b,c,e.length);c+=e.length}return b}var dna;function ena(){ena=function(){};cfa();dna=bfa}var fna,gna;function hna(){hna=function(){};fna=A("Sun Mon Tue Wed Thu Fri Sat".split(" "),B,y,1);gna=A("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),B,y,1)}function or(){}l(or,n);function pr(a){return 10>a?"0"+a:""+a}g=or.prototype;
  682. g.I=function(a){return a instanceof or&&qr(this).I(qr(a))};function qr(a){return gb(a.a.getTime())}g.P=function(){var a=qr(this);return a.xor(Haa(a,32)).a};g.toString=function(){var a=-this.a.getTimezoneOffset(),b=String(0<=a?"+":"")+(a/60|0);a=pr(Math.abs(a)%60|0);return r((hna(),fna)[this.a.getDay()])+" "+r(gna[this.a.getMonth()])+" "+r(pr(this.a.getDate()))+" "+r(pr(this.a.getHours()))+":"+r(pr(this.a.getMinutes()))+":"+r(pr(this.a.getSeconds()))+" GMT"+r(b)+r(a)+" "+this.a.getFullYear()};
  683. g.R=function(a){return bba(qr(this),qr(a))};g.ba=!0;function rr(){}l(rr,Ga);rr.prototype.M=function(){return this.f};function sr(a){this.a=a}l(sr,n);function ina(a){this.a=a}l(ina,n);
  684. function jna(a,b){if(null==a)return b;switch(typeof a){case "object":if(Array.isArray(a)){for(var c=0;c<a.length;c++)b=jna(a[c],b);a=b}else{for(c in a)isNaN(c)||(b=jna(a[c],b));a=b}return a;case "boolean":return 17*b+(a?1:3)|0;case "number":return 17*b+a|0;case "string":c=1;for(var d=a.length,e=d-4,f=0;f<e;)c=a.charCodeAt(f)+31*c|0,c=a.charCodeAt(f+1)+31*c|0,c=a.charCodeAt(f+2)+31*c|0,c=a.charCodeAt(f+3)+31*c|0,f+=4;for(;f<d;)c=a.charCodeAt(f++)+31*c|0;return 17*b+c|0;default:return b}}var tr;
  685. a:{var kna=ha.navigator;if(kna){var lna=kna.userAgent;if(lna){tr=lna;break a}}tr=""}function ur(a){return-1!=tr.indexOf(a)}function mna(){return ur("Firefox")||ur("FxiOS")}function nna(){return(ur("Chrome")||ur("CriOS"))&&!ur("Edge")}function ona(){return ur("iPhone")&&!ur("iPod")&&!ur("iPad")}function pna(){ona()||ur("iPad")||ur("iPod")}ur("Opera");ur("Trident")||ur("MSIE");ur("Edge");!ur("Gecko")||-1!=tr.toLowerCase().indexOf("webkit")&&!ur("Edge")||ur("Trident")||ur("MSIE")||ur("Edge");
  686. -1!=tr.toLowerCase().indexOf("webkit")&&!ur("Edge")&&ur("Mobile");ur("Macintosh");ur("Windows");ur("Linux")||ur("CrOS");var qna=ha.navigator||null;qna&&(qna.appVersion||"").indexOf("X11");ur("Android");ona();ur("iPad");ur("iPod");pna();tr.toLowerCase().indexOf("kaios");mna();ona()||ur("iPod");ur("iPad");!ur("Android")||nna()||mna()||ur("Opera")||ur("Silk");nna();!ur("Safari")||nna()||ur("Coast")||ur("Opera")||ur("Edge")||ur("Edg/")||ur("OPR")||mna()||ur("Silk")||ur("Android")||pna();
  687. ha.Symbol&&ha.Symbol.iterator&&(ca(),da());ca();da();function rna(){}function sna(){}function tna(a,b){if(!Array.isArray(a)||!Array.isArray(b))return!1;if(a===b)return!0;for(var c=una(a),d=una(b),e=c?a.length-1:a.length,f=d?b.length-1:b.length,h=0;h<e;h++)if(!vna(a[h],h,b,d,f))return!1;if(c)for(a=a[a.length-1],c=Object.keys(a),e=0;e<c.length;e++)if(h=+c[e],!vna(a[h],h,b,d,f))return!1;return!0}
  688. function vna(a,b,c,d,e){if(b<e){if(!wna(a,c[b]))return!1}else{if(!d)return wna(a,null);if(!wna(a,c[c.length-1][b]))return!1}return!0}function wna(a,b){return null==a&&null==b?!0:Array.isArray(a)?tna(a,b)?!0:!1:"object"==typeof a||"object"==typeof b||a!==b?!1:!0}function una(a){return 0==a.length?!1:(a=a[a.length-1])&&"object"===typeof a?!Array.isArray(a):!1}function vr(a,b){a=a[b];return null!=a?a|0:0}function wr(a,b){a=a[b];a=null!=a?String(a):"";return a}ca();da();
  689. function xna(a){return a.length&&0<a.length&&(a=a[a.length-1])&&"object"===typeof a&&!Array.isArray(a)?!0:!1}function yna(a){for(var b in a){var c=a[+b];!Array.isArray(c)||"$jspb_cached_msg_"in c||(a[+b]=c.slice())}}function xr(a,b,c){this.a=a;this.b=b;this.c=c;this.f=0}function zna(a,b,c){b=xna(a)?a.length-1:0<b?b:Number.MAX_VALUE;c&&!a[0]&&(a[0]=c);return new xr(a,b,c?0:-1)}function Ana(a,b){return b.$jspb_cached_msg_||(b.$jspb_cached_msg_=new a(b))}
  690. function Bna(a,b){a=a.a.slice();yna(a);if(xna(a)){var c=Object.assign({},a.pop());yna(c);a.push(c)}return Ana(b,a)}xr.prototype.freeze=function(){};xr.prototype.I=function(a){if(this===a)var b=!0;else b=this.a,a=a.a,b=tna(b,a)?tna(a,b):!1;return b};xr.prototype.P=function(){0===this.f&&(this.f=jna(this.a,0));return this.f};function yr(a,b){if(b<a.b)return a.a;(b=a.a[a.b])||(b=a.a[a.b]={});return b}function zr(a,b,c){b=b<a.b?b+a.c:b;a=yr(a,b);return c(a,b)}function Ar(a,b,c){this.kc=zna(a,b,c)}
  691. l(Ar,rna);function Cna(a){return ia(Dna,void 0,function(){return Ana(a,[])},function(){return Object.prototype.hasOwnProperty.call(a,paa)&&a[paa]||(a[paa]=++qaa)})}Ar.prototype.I=function(a){return this===a?!0:a instanceof this.constructor?this.kc.I(a.kc):!1};Ar.prototype.P=function(){return this.kc.P()};Ar.prototype.getExtension=function(a){return a.a()(this)};function Br(a){this.message=Bna(a.kc,a.constructor);this.kc=this.message.kc}l(Br,sna);
  692. function Ena(a){a=a.message;a=Bna(a.kc,a.constructor);a.kc.freeze();return a}Br.prototype.getExtension=function(a){return this.message.getExtension(a)};function Fna(a,b,c){var d=a.kc;b=b<d.b?b+d.c:b;yr(d,b)[b]=c|0;return a}function Gna(a,b,c){var d=a.kc;b=b<d.b?b+d.c:b;yr(d,b)[b]=String(c);return a}var Dna={};function Hna(a){this.kc=zna(a,-1,0)}l(Hna,Ar);Hna.prototype.a=function(){return new Ina(this)};function Ina(a){Br.call(this,a)}l(Ina,Br);function Jna(){this.b=this.a=0}l(Jna,n);
  693. function Cr(a,b){var c=new Jna;c.a=a;c.b=b;return c}Jna.prototype.toString=function(){return On(On(Qn(this),"line",this.a),"column",this.b).toString()};function Kna(){this.v=this.f=this.o=this.g=this.a=this.u=0}l(Kna,n);function Lna(a,b){b.D()?a.b.a.add(null):a.b.a.add(b);a.u++;a.a=0}function Mna(a,b){return Nna(a.c)&&Ona(a.c)==b?(a.c.a++,!0):!1}function Pna(a){if(!Nna(a.c))return!0;a=Ona(a.c);return 59==a||44==a}function Dr(){this.a=0}l(Dr,n);Dr.prototype.c=function(){return-1};Dr.prototype.g=function(){return-1};
  694. Dr.prototype.f=function(){return-1};Dr.prototype.b=function(){return-1};function Er(){this.o=this.v=this.u=this.a=0}l(Er,Dr);Er.prototype.c=function(){return this.u};Er.prototype.g=function(){return this.v};Er.prototype.f=function(){return this.o};Er.prototype.b=function(){return-1};function Qna(){Er.call(this);this.A=0}l(Qna,Er);Qna.prototype.b=function(){return this.A};function Rna(){this.b=0}l(Rna,n);function Sna(){var a=new Rna;a.a=null;a.o=Uf();return a}
  695. function Tna(a,b){if(3!=b.b)throw Fr("Unknown version: "+b.b).s;var c=b.c;if(null!=c&&te(c))throw Fr("File entry is empty").s;if(b.o)try{if(0<=b.a||null!=b.f||b.u||b.g)throw Fr("Invalid map format").s;for(var d=Una(),e=b.o.h();e.i();){var f=e.j(),h=f.c;q(f.f,(Gr(),Vna))&&(h=null);if(null==h)throw Fr("Unable to retrieve: "+r(f.c)).s;c=void 0;var k=d,m=h,p=k,t=f.b,v=f.a;E(0<=t);E(0<=v);p.a=Cr(t,v);var C=Sna();p=C;var J=Wna(m);Tna(p,J);var K=new Xna;K.a=k;c=K;k=!1;for(var Ca=p=m=null,Wa=null,Ma=C.a.w(),
  696. Vb=0;Vb<Ma;Vb++){var sc=C.a.G(Vb);if(sc)for(var gc=sc.w(),tc=0;tc<gc;tc++){var Qb=sc.G(tc);k&&(Yna(c.a,m,p,Ca,Wa,Cr(Vb,Qb.a)),k=!1);-1!=Qb.c()&&(k=!0,m=C.c[Qb.c()],p=-1!=Qb.b()?C.f[Qb.b()]:null,Ca=Cr(Qb.g(),Qb.f()),Wa=Cr(Vb,Qb.a))}}}var Wb=Mg(),Rd=b.c;Zna($na(d),new aoa);e=b=0;for(var Ne=d.u.h();Ne.i();){var Jc=Ne.j();Jc.c&&(Jc.f=b++,e=Math.max(e,Jc.b.a))}var kd=e+d.g.a+1;pe(Wb,"{\n");Hr(Wb,"version",!0);pe(Wb,"3");if(null!=Rd){var Cc=Ir(Rd);Hr(Wb,"file",!1);pe(Wb,Cc)}Rd=""+kd;Hr(Wb,"lineCount",!1);
  697. pe(Wb,Rd);if(null!=d.K&&!te(d.K)){var pc=Ir(d.K);Hr(Wb,"sourceRoot",!1);pe(Wb,pc)}Hr(Wb,"mappings",!1);var Db=new boa;Db.f=d;Db.c=-1;Db.b=0;Db.a=Wb;Db.g=kd;Og(Db.a,34);Zna($na(Db.f),Db);Og(Db.a,59);Og(Db.a,34);Hr(Wb,"sources",!1);pe(Wb,"[");coa(Wb,d.b);pe(Wb,"]");kd=!1;var Rb=d.b.wa(),Uc=Kd();Uc.na(Rca(Rb,""));for(var ad=d.A.V().h();ad.i();){var rf=ad.j(),uc=d.b.get(rf.M());uc&&uc.xb()<Rb&&(Uc.Rb(uc.xb(),rf.O()),kd=!0)}if(kd){Hr(Wb,"sourcesContent",!1);pe(Wb,"[");for(ad=0;ad<Rb;ad++){0!=ad&&pe(Wb,
  698. ",");var Nc=Uc.G(ad);pe(Wb,Ir(Nc||""))}pe(Wb,"]")}Hr(Wb,"names",!1);pe(Wb,"[");coa(Wb,d.f);pe(Wb,"]");for(var Xb=d.F.oa().h();Xb.i();){var Nb=Xb.j(),ic=d.F.get(Nb);Uc=void 0;y(ic)?Uc=Ir(ic):Uc=ze(ic);Rb=Wb;Hr(Rb,Nb,!1);pe(Rb,Uc)}pe(Wb,"\n}\n");var Vc=Wna(Wb.toString());Tna(a,Vc)}catch(sd){sd=va(sd);if(Fa(sd))throw Fr("IO exception: "+r(sd)).s;throw sd.s;}else{a.b=b.a;a.c=b.u;a.g=b.A;a.f=b.g;a.a=0<=a.b?Kd():w();a.o.Ud(b.v);d=new Kna;Wb=b.f;d.b=a;d.u=0;d.a=0;d.g=0;d.o=0;d.f=0;d.v=0;a=new doa;a.a=0;
  699. a.b=Wb;a.c=Wb.length;d.c=a;a=za([5],Zc,$c,0);for(Wb=w();Nna(d.c);)if(Mna(d,59))Lna(d,Wb),Wb.D()||(Wb=w());else{for(ic=0;!Pna(d);){Xb=ic;Nb=d.c;Rb=Vc=0;do Uc=yh(Nb.b,Nb.a++),Jr(),Nc=Kr[Uc],Uc=0!=(Nc&32),Nc&=31,Vc+=Nc<<Rb,Rb+=5;while(Uc);Nb=Vc;Vc=1==(Nb&1);Nb=Nb>>>1|0;a[Xb]=Vc?-Nb|-2147483648:Nb;ic++}a:switch(Xb=d,Nb=a,ic){case 1:ic=new Dr;ic.a=Nb[0]+Xb.a;Nb=ic;Xb.a=Nb.a;Xb=Nb;break a;case 4:Vc=ic=new Er;Rb=Nb[1]+Xb.g;Uc=Nb[2]+Xb.o;Nc=Nb[3]+Xb.f;Vc.a=Nb[0]+Xb.a;Vc.u=Rb;Vc.v=Uc;Vc.o=Nc;Nb=ic;Xb.a=Nb.a;
  700. Xb.g=Nb.c();Xb.o=Nb.g();Xb.f=Nb.f();Xb=Nb;break a;case 5:Vc=ic=new Qna;Rb=Nb[4]+Xb.v;Uc=Vc;Nc=Nb[1]+Xb.g;ad=Nb[2]+Xb.o;rf=Nb[3]+Xb.f;Uc.a=Nb[0]+Xb.a;Uc.u=Nc;Uc.v=ad;Uc.o=rf;Vc.A=Rb;Nb=ic;Xb.a=Nb.a;Xb.g=Nb.c();Xb.o=Nb.g();Xb.f=Nb.f();Xb.v=Nb.b();Xb=Nb;break a;default:throw Fr("Unexpected number of values for entry:"+ic).s;}Nb=d;ic=Xb;Vc=Nb.b.b;if(!(0>Nb.b.b||Nb.u<Nb.b.b))throw pb(Hi("line=%s, lineCount=%s",[Fc(Nb.u),Fc(Vc)])).s;E(-1==ic.c()||ic.c()<Nb.b.c.length);E(-1==ic.b()||ic.b()<Nb.b.f.length);
  701. Wb.add(Xb);Mna(d,44)}Wb.D()||Lna(d,Wb)}}function eoa(a,b,c){b--;c--;if(0>b||b>=a.a.w())return null;E(0<=b);E(0<=c);if(!a.a.G(b))return foa(a,b);var d=a.a.G(b);E(!d.D());if(d.G(0).a>c)return foa(a,b);a:{b=c;c=d.w()-1;for(var e=0;;){var f=((c-e)/2|0)+e;var h=b;h=d.G(f).a-h;if(0==h){b=f;break a}if(0>h){if(e=f+1,e>c){b=c;break a}}else if(c=f-1,c<e){b=c;break a}}}pfa(0<=b,"unexpected:%s",b);return goa(a,d.G(b))}
  702. function foa(a,b){do{if(0==b)return null;b--}while(!a.a.G(b));b=a.a.G(b);return goa(a,rp(b))}function goa(a,b){if(-1==b.c())return null;var c=void 0===c?Cna(Hna):c;c=new Ina(c);c=Gna(c,1,a.c[b.c()]);c=Fna(c,2,b.g()+1);c=Fna(c,3,b.f()+1);-1!=b.b()&&Gna(c,4,a.f[b.b()]);return Ena(c)}function hoa(){this.a=0}var Vna,ioa;l(hoa,z);function joa(a,b){var c=new hoa;c.b=a;c.a=b;return c}hoa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  703. function Gr(){Gr=function(){};Vna=joa("URL",0);ioa=joa("MAP",1)}function koa(){this.a=this.b=0}l(koa,n);function Xna(){}l(Xna,n);var Kr;function loa(a){Jr();return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(a)}function Jr(){Jr=function(){};Kr=za([256],Zc,$c,0);Tda(Kr,0,Kr.length,-1);for(var a=0;64>a;a++)Kr["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(a)]=a}
  704. function Lr(a,b){b=0>b?(-b<<1)+1:b<<1;do{var c=b&31;b=b>>>5|0;0<b&&(c|=32);Og(a,loa(c))}while(0<b)}function doa(){this.a=this.c=0}l(doa,n);function Ona(a){return a.b.charCodeAt(a.a)}function Nna(a){return a.a<a.c}function moa(){}l(moa,Da);function Fr(a){var b=new moa;sa(b,a);b.a(Error(b));return b}function noa(){this.a=this.c=0}l(noa,n);function ooa(a,b){a.b=b}function poa(a,b){a.f=b}function qoa(){this.a=this.b=0}l(qoa,n);
  705. function roa(a,b,c,d,e,f,h,k,m){var p=new qoa;p.b=a;p.a=b;p.c=c;p.f=d;p.u=e;p.A=f;p.g=h;p.o=k;p.v=m;return p}function Wna(a){var b=JSON.parse(a);a=new noa;a.c=b.version;a.g=b.file;a.a=-1;a.o=b.mappings;a.A=b.sourceRoot;if(b.sections){for(var c=Mj(),d=b.sections,e=0;e<d.length;e++)c.W(soa(d[e]));ooa(a,c.fa())}else a.b=null;a.v=b.sources;a.u=b.names;var f=Uf();Bla(b,function(h){zi(h,"x_")&&f.C(h,b[h])});poa(a,sf(f));return roa(a.c,a.a,a.g,a.o,a.v,a.F,a.u,a.b,a.f)}
  706. function soa(a){var b=a.offset.line,c=a.offset.column;if(null!=a.map&&null!=a.url)throw Fr("Invalid map format: section may not have both 'map' and 'url'").s;if(null!=a.url){a=a.url;var d=(Gr(),Vna),e=new koa;e.f=d;e.c=a;e.b=b;e.a=c;return e}if(null!=a.map)return a=r(a.map),d=(Gr(),ioa),e=new koa,e.f=d,e.c=a,e.b=b,e.a=c,e;throw Fr("Invalid map format: section must have either 'map' or 'url'").s;}function toa(){this.f=0;this.c=!1}l(toa,n);function uoa(){this.b=this.a=0}l(uoa,n);
  707. function $na(a){var b=new uoa;b.c=a;return b}function Zna(a,b){for(var c=Uk(),d=a.c.u.h();d.i();){for(var e=d.j();!c.D()&&!voa(c.Na(),e);){var f=c.Ta();woa(a,b,f)}var h=c.Na();f=a;var k=b,m=e.a.a+f.c.g.a,p=xoa(f,e.a);E(f.a<m||f.b<=p);(f.a<m||f.a==m&&f.b<p)&&yoa(f,k,h,m,p);c.Ea(e)}for(;!c.D();)d=c.Ta(),woa(a,b,d)}function xoa(a,b){var c=b.b;return 0!=b.a?c:c+a.c.g.b}function voa(a,b){var c=a.b.a,d=b.a.a;a=a.b.b;b=b.a.b;return c==d&&a>=b||c>d}
  708. function woa(a,b,c){var d=c.b.a+a.c.g.a,e=xoa(a,c.b);(a.a<d||a.a==d&&a.b<e)&&yoa(a,b,c,d,e)}function yoa(a,b,c,d,e){E(a.a<=d);E(a.a<d||a.b<e);if(a.a==d&&a.b==e)throw ob().s;b.F(c,a.a,a.b,d,e);a.a=d;a.b=e}function boa(){this.o=this.u=this.A=this.v=this.b=this.c=this.g=0}l(boa,n);
  709. boa.prototype.F=function(a,b,c,d,e){this.c!=b&&(this.b=0);if(b!=d||c!=e)if(b<this.g){this.c==b&&Og(this.a,44);Lr(this.a,c-this.b);this.b=c;if(a){e=this.f;var f=a.u;if(!q(f,e.v)){e.v=f;var h=e.b.get(f);h?e.c=h.xb():(e.c=e.b.wa(),e.b.C(f,Fc(e.c)))}e=e.c;Lr(this.a,e-this.v);this.v=e;e=a.o.a;f=a.o.b;Lr(this.a,e-this.A);this.A=e;Lr(this.a,f-this.u);this.u=f;null!=a.g&&(e=this.f,a=a.g,(f=e.f.get(a))?f=f.xb():(f=e.f.wa(),e.f.C(a,Fc(f))),a=f,Lr(this.a,a-this.o),this.o=a)}this.c=b;this.b=c}else E(!a);for(;b<=
  710. d&&b<this.g&&b!=d;b++)Og(this.a,59)};function aoa(){}l(aoa,n);aoa.prototype.F=function(a){a&&(a.c=!0)};var Mr;
  711. function Ir(a){zoa();var b=Ng();Og(b,34);for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);switch(d){case 10:x(b,"\\n");break;case 13:x(b,"\\r");break;case 9:x(b,"\\t");break;case 92:x(b,"\\\\");break;case 34:x(b,'\\"');break;case 39:x(b,"'");break;case 62:2<=c&&(45==a.charCodeAt(c-1)&&45==a.charCodeAt(c-2)||93==a.charCodeAt(c-1)&&93==a.charCodeAt(c-2))?x(b,"\\u003e"):Og(b,d);break;case 60:ui(a,!0,c+1,"/script",0,7)?x(b,"\\u003c"):ui(a,!1,c+1,"!--",0,3)?x(b,"\\u003c"):Og(b,d);break;default:31<d&&
  712. 127>=d?Og(b,d):Nr(b,d)}}Og(b,34);return b.toString()}function Nr(a,b){zoa();try{Aoa(b,a)}catch(c){c=va(c);if(Fa(c))throw yaa(c).s;throw c.s;}}function Aoa(a,b){65536<=a&&1114111>=a?(a=oea(a),Aoa(a[0],b),Aoa(a[1],b)):Og(Og(Og(Og(pe(b,"\\u"),Mr[(a>>>12|0)&15]),Mr[(a>>>8|0)&15]),Mr[(a>>>4|0)&15]),Mr[a&15])}function zoa(){zoa=function(){};Mr=A([48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102],Ob,Pb,1)}function Boa(){this.c=0}l(Boa,n);
  713. function Una(){var a=new Boa;a.u=w();a.b=Uf();a.A=Uf();a.f=Uf();a.v=null;a.c=-1;a.a=Cr(0,0);a.g=Cr(0,0);a.F=Uf();return a}
  714. function Yna(a,b,c,d,e,f){if(!(null==b||0>d.a)){var h=e,k=f;if(0!=a.a.a||0!=a.a.b){k=a.a.a;var m=h=a.a.b;0<e.a&&(h=0);0<f.a&&(m=0);h=Cr(e.a+k,e.b+h);k=Cr(f.a+k,f.b+m)}e=new toa;e.f=-1;e.c=!1;e.u=b;e.o=d;e.g=c;e.a=h;e.b=k;if(a.o){b=a.o.a.a;c=a.o.a.b;d=e.a.a;f=e.a.b;h=Fc(b);k=Fc(c);m=Fc(d);var p=Fc(f);if(!(d>b||d==b&&f>=c))throw pb(Hi("Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",[h,k,m,p])).s;}a.o=e;a.u.add(e)}}
  715. function coa(a,b){var c=0;for(b=b.V().h();b.i();){var d=b.j().M();0!=c&&pe(a,",");pe(a,Ir(d));c++}}function Hr(a,b,c){c||pe(a,",\n");pe(a,'"');pe(a,b);pe(a,'"');pe(a,":")}function Coa(){this.a=0}var Doa;l(Coa,z);function Eoa(){var a=new Coa;a.b="DEFAULT";a.a=0;return a}Coa.prototype.R=function(a){return z.prototype.c.call(this,a)};function Foa(){Foa=function(){};Doa=Eoa()}function Or(){this.U=this.ta=this.f=!1;this.v=this.u=0}l(Or,n);g=Or.prototype;g.mn=function(){};g.Mm=function(){};g.Km=function(){return!0};
  716. function Pr(a,b){Qr(a);if(!te(b)){var c=b.charCodeAt(0);(Rr(c)||92==c)&&Rr(a.Ye())?a.zc(" "):47==c&&47==a.Ye()?a.zc(" "):34!=c&&39!=c||!Rr(a.Ye())||a.Ib();c=0;for(var d=mi(b,10);0<=d;)d>c&&a.zc(ne(b,c,d)),a.Ff(),c=d+1,d=ni(b,10,c);b.length>c&&a.zc(b.substr(c))}}g.Dm=function(a){Pr(this,a)};g.Fm=function(){this.zc("{")};g.Em=function(){this.zc("}")};g.Ff=function(){};g.Df=function(){this.vh()};g.vh=function(){};g.Vd=function(){};g.dn=function(){};
  717. function Sr(a){a.f&&(a.zc(";"),a.Df());a.Fm();a.Vd();a.f=!1}function Tr(a,b){a.Em();b&&a.Vd();a.f=!1}g.Lg=function(){Pr(this,",");this.Df()};g.sc=function(a){a?(this.zc(";"),this.Df(),this.f=!1):this.ta&&(this.f=!0)};function Qr(a){a.f&&(a.zc(";"),a.Df(),a.Vd(),a.f=!1);a.ta=!0}g.cj=function(a){this.U=!0;a&&this.Vd()};g.yl=function(){this.zc(":")};g.Gl=function(){};function Goa(a){E(a.u==a.v);Qr(a);a.zc("`");a.u++}function Hoa(a){E(Ur(a));a.zc("${");a.v++}
  718. function Ioa(a){E(0<a.v);E(a.u==a.v);a.zc("}");a.v--}function Joa(a){E(0<a.u);E(Ur(a));a.zc("`");a.u--}function Ur(a){return a.u==a.v+1}g.Gm=function(a){this.zc(a)};function Wr(a,b,c){Qr(a);var d=b.charCodeAt(0),e=a.Ye();43!=d&&45!=d||e!=d?ch(d)&&Rr(e)?a.zc(" "):(45==e&&62==d||60==e&&33==d)&&a.zc(" "):a.zc(" ");a.Gm(b,c);c&&a.vh()}
  719. g.wf=function(a){var b=this.Ye(),c=0==a&&0>1/a;(0>a||c)&&45==b&&Pr(this," ");if(c)this.Se("-0");else if(Ua(gb(a))==a){c=b=gb(a);var d=0;if(100<=Math.abs(a))for(;Raa(Taa(Xa(c,hb(10)),gb(Math.pow(10,d+1))),b);)c=Xa(c,hb(10)),d++;2<d?this.Se(c+"E"+d):(a=0>ab(b,hb(0))?bb(b):b,0<ab(a,Va(-727379968,232))&&Tb(a,4).length+2<(""+a).length?this.Se(String(0>ab(b,hb(0))?"-":"")+"0x"+r(Tb(a,4))):this.Se(""+b))}else this.Se(nfa(wi(""+a,".0E","E"),"^(-?)0\\.","$1."))};g.Se=function(a){Pr(this,a)};
  720. function Rr(a){return 95==a||36==a||nea(a)}g.dm=function(){return!1};g.Ib=function(){};g.pk=function(a,b){return b};g.vk=function(){};function Koa(a){a.f=!1;a.ta=!1;a.U=!1;a.u=0;a.v=0}function Xr(){}l(Xr,n);function Yr(a){var b=new Xr;b.a=a;return b}Xr.prototype.P=function(){return Yg(this.a)};Xr.prototype.I=function(a){return q(this,a)?!0:null!=a&&q(la(ma(this)),Ig(a))?q(this.a,a.a):!1};Xr.prototype.toString=function(){return"InputId: "+r(this.a)};Xr.prototype.ba=!0;function Zr(){}l(Zr,n);
  721. Zr.prototype.toString=function(){return Ln(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Qn(this),"sourceComment",this.o),"markers",this.c),"parameters",this.a),"throwsDescriptions",this.v),"blockDescription",this.F),"fileOverview",this.u),"returnDescription",this.f),"version",this.A),"authors",this.b),"sees",this.g)).toString()};Zr.prototype.ba=!0;function Loa(){}l(Loa,n);function $r(){this.b=this.c=this.f=this.g=0}l($r,n);$r.prototype.o=function(a){this.a=a};
  722. function as(a,b,c,d,e){if(b>d)throw pb("Recorded bad position information\nstart-line: "+b+"\nend-line: "+d).s;if(b==d&&c>=e)throw pb("Recorded bad position information\nline: "+b+"\nstart-char: "+c+"\nend-char: "+e).s;a.g=b;a.f=c;a.c=d;a.b=e}function bs(a){a.a=null;a.g=0;a.f=0;a.c=0;a.b=0}function Moa(){$r.call(this)}l(Moa,$r);function cs(){$r.call(this)}l(cs,$r);function Noa(){var a=new cs;bs(a);return a}
  723. function Ooa(a,b){return a||b?!a&&b||a&&!b?!1:q(a.a,b.a)&&a.g==b.g&&a.f==b.f&&a.c==b.c&&a.b==b.b:!0}function Poa(){$r.call(this)}l(Poa,cs);function Qoa(){var a=new Poa;bs(a);return a}function Roa(a,b){Fi(32!=b.charCodeAt(0)&&32!=b.charCodeAt(b.length-1),"String has leading or trailing whitespace");cs.prototype.o.call(a,b)}Poa.prototype.o=function(a){Roa(this,a)};function Soa(){$r.call(this);this.u=!1}l(Soa,$r);function Toa(){this.a=0}var ds,es,fs;l(Toa,z);
  724. function Uoa(a,b){var c=new Toa;c.b=a;c.a=b;return c}Toa.prototype.R=function(a){return z.prototype.c.call(this,a)};function gs(){gs=function(){};ds=Uoa("STRONG",0);es=Uoa("WEAK",1);fs=Uoa("EXTERN",2)}function Voa(){}l(Voa,n);function Woa(a,b){var c=new Voa;c.a=a;c.b=b;return c}g=Voa.prototype;g.ub=function(){return this.a};g.Tf=function(){return this.b};g.Bn=function(a){if(1>a)throw pb("Should not call getLineOffset with line number "+a).s;return-2147483648};g.toString=function(){return this.a};
  725. g.Vg=function(){return q(this.Tf(),(gs(),fs))};g.lf=function(){return q(this.Tf(),(gs(),es))};g.ba=!0;function hs(){this.a=0}
  726. var is,Xoa,Yoa,Zoa,js,ks,ls,$oa,apa,bpa,cpa,dpa,epa,ms,ns,fpa,os,gpa,ps,qs,hpa,ipa,rs,ss,ts,us,vs,ws,xs,ys,jpa,zs,As,Bs,Cs,Ds,Es,Fs,Gs,Hs,Is,Js,Ks,Ls,Ms,Ns,Os,Ps,Qs,Rs,Ss,Ts,Us,Vs,Ws,Xs,Ys,Zs,$s,at,bt,ct,dt,et,ft,gt,rt,st,tt,ut,vt,wt,xt,yt,zt,At,Bt,Ct,Dt,Et,Ft,Gt,Ht,It,Jt,Kt,Lt,Mt,Nt,Ot,Pt,Qt,Rt,kpa,St,Tt,Ut,Vt,Wt,Xt,Yt,Zt,$t,au,bu,cu,du,eu,fu,gu,hu,iu,ju,ku,lu,mu,nu,lpa,ou,pu,qu,mpa,ru,su,tu,uu,vu,npa,opa,ppa,qpa,rpa,spa,tpa,upa,vpa,wpa,xpa,ypa,zpa,Apa,wu,Bpa,Cpa,xu,Dpa,yu,zu,Eu,Fu,Gu,Hu,Epa,Fpa,
  727. Iu,Gpa,Hpa,Ipa,Jpa,Ju,Ku,Lu,Mu,Nu,Ou;l(hs,z);function Pu(a,b){var c=new hs;c.b=a;c.a=b;return c}
  728. function Kpa(a){H();switch(a.a){case 147:case 45:case 152:case 86:case 85:case 78:case 28:case 31:case 156:case 92:case 79:case 93:case 150:case 153:case 76:case 70:case 154:case 155:case 23:case 46:case 48:case 148:case 151:case 41:case 0:case 89:case 149:case 95:case 71:case 124:case 47:case 80:case 107:return-1;case 84:case 37:case 112:case 94:case 165:case 32:case 35:case 33:case 34:case 126:case 36:case 38:return 0;case 108:case 20:case 167:case 96:case 68:case 73:case 24:case 88:case 90:case 67:case 166:case 118:case 120:case 102:case 140:case 22:case 19:case 119:case 121:case 21:case 91:case 125:case 42:case 25:case 163:case 83:return 1;
  729. case 13:case 65:case 50:case 57:case 53:case 51:case 52:case 60:case 54:case 61:case 59:case 62:case 55:case 58:case 56:case 3:case 1:case 2:case 72:case 66:case 82:case 49:case 122:case 127:case 16:case 75:case 160:case 4:case 18:case 9:case 27:case 26:case 30:case 29:case 8:case 43:case 44:case 87:case 7:case 10:case 6:case 17:case 15:case 168:case 5:case 64:case 11:case 39:case 40:case 14:case 123:case 12:case 74:case 81:return 2;case 100:case 77:case 105:case 106:case 69:case 63:case 109:case 157:return 3;
  730. default:throw pb("No arity defined for "+r(a)).s;}}hs.prototype.R=function(a){return z.prototype.c.call(this,a)};
  731. function H(){H=function(){};is=Pu("RETURN",0);Xoa=Pu("BITOR",1);Yoa=Pu("BITXOR",2);Zoa=Pu("BITAND",3);js=Pu("EQ",4);ks=Pu("NE",5);ls=Pu("LT",6);$oa=Pu("LE",7);apa=Pu("GT",8);bpa=Pu("GE",9);cpa=Pu("LSH",10);dpa=Pu("RSH",11);epa=Pu("URSH",12);ms=Pu("ADD",13);ns=Pu("SUB",14);fpa=Pu("MUL",15);os=Pu("DIV",16);gpa=Pu("MOD",17);ps=Pu("EXPONENT",18);qs=Pu("NOT",19);hpa=Pu("BITNOT",20);ipa=Pu("POS",21);rs=Pu("NEG",22);ss=Pu("NEW",23);ts=Pu("DELPROP",24);us=Pu("TYPEOF",25);vs=Pu("GETPROP",26);ws=Pu("GETELEM",
  732. 27);xs=Pu("CALL",28);ys=Pu("OPTCHAIN_GETPROP",29);jpa=Pu("OPTCHAIN_GETELEM",30);zs=Pu("OPTCHAIN_CALL",31);As=Pu("NAME",32);Bs=Pu("NUMBER",33);Cs=Pu("STRING",34);Ds=Pu("NULL",35);Es=Pu("THIS",36);Fs=Pu("FALSE",37);Gs=Pu("TRUE",38);Hs=Pu("SHEQ",39);Is=Pu("SHNE",40);Js=Pu("REGEXP",41);Ks=Pu("THROW",42);Ls=Pu("IN",43);Ms=Pu("INSTANCEOF",44);Ns=Pu("ARRAYLIT",45);Os=Pu("OBJECTLIT",46);Ps=Pu("TRY",47);Qs=Pu("PARAM_LIST",48);Rs=Pu("COMMA",49);Ss=Pu("ASSIGN",50);Ts=Pu("ASSIGN_BITOR",51);Us=Pu("ASSIGN_BITXOR",
  733. 52);Vs=Pu("ASSIGN_BITAND",53);Ws=Pu("ASSIGN_LSH",54);Xs=Pu("ASSIGN_RSH",55);Ys=Pu("ASSIGN_URSH",56);Zs=Pu("ASSIGN_ADD",57);$s=Pu("ASSIGN_SUB",58);at=Pu("ASSIGN_MUL",59);bt=Pu("ASSIGN_DIV",60);ct=Pu("ASSIGN_MOD",61);dt=Pu("ASSIGN_EXPONENT",62);et=Pu("HOOK",63);ft=Pu("OR",64);gt=Pu("AND",65);rt=Pu("COALESCE",66);st=Pu("INC",67);tt=Pu("DEC",68);ut=Pu("FUNCTION",69);vt=Pu("IF",70);wt=Pu("SWITCH",71);xt=Pu("CASE",72);yt=Pu("DEFAULT_CASE",73);zt=Pu("WHILE",74);At=Pu("DO",75);Bt=Pu("FOR",76);Ct=Pu("FOR_IN",
  734. 77);Dt=Pu("BREAK",78);Et=Pu("CONTINUE",79);Ft=Pu("VAR",80);Gt=Pu("WITH",81);Ht=Pu("CATCH",82);It=Pu("VOID",83);Jt=Pu("EMPTY",84);Kt=Pu("ROOT",85);Lt=Pu("BLOCK",86);Mt=Pu("LABEL",87);Nt=Pu("EXPR_RESULT",88);Ot=Pu("SCRIPT",89);Pt=Pu("GETTER_DEF",90);Qt=Pu("SETTER_DEF",91);Rt=Pu("CONST",92);kpa=Pu("DEBUGGER",93);St=Pu("LABEL_NAME",94);Tt=Pu("STRING_KEY",95);Ut=Pu("CAST",96);Vt=Pu("ARRAY_PATTERN",97);Wt=Pu("OBJECT_PATTERN",98);Xt=Pu("DESTRUCTURING_LHS",99);Yt=Pu("CLASS",100);Zt=Pu("CLASS_MEMBERS",101);
  735. $t=Pu("MEMBER_FUNCTION_DEF",102);au=Pu("SUPER",103);bu=Pu("LET",104);cu=Pu("FOR_OF",105);du=Pu("FOR_AWAIT_OF",106);eu=Pu("YIELD",107);fu=Pu("AWAIT",108);gu=Pu("IMPORT",109);hu=Pu("IMPORT_SPECS",110);iu=Pu("IMPORT_SPEC",111);ju=Pu("IMPORT_STAR",112);ku=Pu("EXPORT",113);lu=Pu("EXPORT_SPECS",114);mu=Pu("EXPORT_SPEC",115);nu=Pu("MODULE_BODY",116);lpa=Pu("DYNAMIC_IMPORT",117);ou=Pu("ITER_REST",118);pu=Pu("OBJECT_REST",119);qu=Pu("ITER_SPREAD",120);mpa=Pu("OBJECT_SPREAD",121);ru=Pu("COMPUTED_PROP",122);
  736. su=Pu("TAGGED_TEMPLATELIT",123);tu=Pu("TEMPLATELIT",124);uu=Pu("TEMPLATELIT_SUB",125);vu=Pu("TEMPLATELIT_STRING",126);npa=Pu("DEFAULT_VALUE",127);opa=Pu("NEW_TARGET",128);ppa=Pu("IMPORT_META",129);qpa=Pu("STRING_TYPE",130);rpa=Pu("BOOLEAN_TYPE",131);spa=Pu("NUMBER_TYPE",132);tpa=Pu("FUNCTION_TYPE",133);upa=Pu("PARAMETERIZED_TYPE",134);vpa=Pu("UNION_TYPE",135);wpa=Pu("ANY_TYPE",136);xpa=Pu("VOID_TYPE",138);ypa=Pu("NAMED_TYPE",140);zpa=Pu("RECORD_TYPE",142);Apa=Pu("UNDEFINED_TYPE",143);wu=Pu("ARRAY_TYPE",
  737. 144);Bpa=Pu("GENERIC_TYPE",145);Cpa=Pu("GENERIC_TYPE_LIST",146);xu=Pu("PIPE",148);Dpa=Pu("STAR",149);yu=Pu("QMARK",151);zu=Pu("BANG",152);Eu=Pu("EQUALS",153);Fu=Pu("LB",154);Gu=Pu("LC",155);Hu=Pu("COLON",156);Epa=Pu("INTERFACE",157);Fpa=Pu("INTERFACE_EXTENDS",158);Iu=Pu("INTERFACE_MEMBERS",159);Gpa=Pu("ENUM",160);Hpa=Pu("ENUM_MEMBERS",161);Ipa=Pu("IMPLEMENTS",162);Jpa=Pu("TYPE_ALIAS",163);Ju=Pu("DECLARE",164);Ku=Pu("MEMBER_VARIABLE_DEF",165);Lu=Pu("INDEX_SIGNATURE",166);Mu=Pu("CALL_SIGNATURE",167);
  738. Nu=Pu("NAMESPACE",168);Ou=Pu("NAMESPACE_ELEMENTS",169)}function Qu(a){return a instanceof hs}var Lpa;function Mpa(){Mpa=function(){};Lpa=new Ru}function Ru(){}l(Ru,n);Ru.prototype.b=function(){};Ru.prototype.a=function(){};function Su(){this.a=0}var Tu,Uu,Vu;l(Su,z);function Wu(a){Xu();return a?Tu:Uu}function Xu(){Xu=function(){};Uu=Npa();Tu=Opa();Vu=Ppa()}function Qpa(){this.a=0}l(Qpa,Su);function Npa(){Xu();var a=new Qpa;a.b="FALSE";a.a=0;return a}g=Qpa.prototype;g.Te=function(){return Xu(),Uu};
  739. g.Ne=function(){return Xu(),Tu};g.Bj=function(a){return a};g.ed=function(){return!1};g.toString=function(){return"false"};g.R=function(a){return Su.prototype.c.call(this,a)};function Rpa(){this.a=0}l(Rpa,Su);function Opa(){Xu();var a=new Rpa;a.b="TRUE";a.a=1;return a}g=Rpa.prototype;g.Te=function(a){return a};g.Ne=function(){return Xu(),Uu};g.Bj=function(){return Xu(),Tu};g.ed=function(){return!0};g.toString=function(){return"true"};g.R=function(a){return Su.prototype.c.call(this,a)};
  740. function Spa(){this.a=0}l(Spa,Su);function Ppa(){Xu();var a=new Spa;a.b="UNKNOWN";a.a=2;return a}g=Spa.prototype;g.Te=function(a){return cd((Xu(),Uu),a)?(Xu(),Uu):(Xu(),Vu)};g.Ne=function(){return Xu(),Vu};g.Bj=function(a){return cd((Xu(),Tu),a)?(Xu(),Tu):(Xu(),Vu)};g.ed=function(a){return a};g.toString=function(){return"unknown"};g.R=function(a){return Su.prototype.c.call(this,a)};function Yu(){this.a=0}var Zu,$u,Tpa;l(Yu,z);function av(a){bv();return a?Zu:$u}
  741. function bv(){bv=function(){};Zu=Upa();$u=Vpa();Tpa=Wpa()}function cv(){this.a=0}l(cv,Yu);function Upa(){bv();var a=new cv;a.b="TRUE";a.a=0;return a}cv.prototype.f=function(){return!0};cv.prototype.o=function(){return Xu(),Uu};cv.prototype.g=function(){return bv(),$u};cv.prototype.R=function(a){return Yu.prototype.c.call(this,a)};function dv(){this.a=0}l(dv,Yu);function Vpa(){bv();var a=new dv;a.b="FALSE";a.a=1;return a}dv.prototype.f=function(){return!1};dv.prototype.o=function(){return Xu(),Vu};
  742. dv.prototype.g=function(){return bv(),Zu};dv.prototype.R=function(a){return Yu.prototype.c.call(this,a)};function ev(){this.a=0}l(ev,Yu);function Wpa(){bv();var a=new ev;a.b="NULLISH";a.a=3;return a}ev.prototype.f=function(){return!1};ev.prototype.o=function(){return Xu(),Tu};ev.prototype.g=function(){return bv(),Zu};ev.prototype.R=function(a){return Yu.prototype.c.call(this,a)};function Xpa(){this.a=0}var fv,gv,hv,iv;l(Xpa,z);function jv(a,b){var c=new Xpa;c.b=a;c.a=b;return c}
  743. function kv(a){switch(a){case 0:return fv;case 1:return gv;case 2:return hv;case 3:return iv;default:throw ua("Ordinal: "+a).s;}}function Ypa(a,b){switch(a.a){case 0:return!1;case 1:return b;case 2:return!b;case 3:return!0;default:throw Ka("Ordinal: "+a.a).s;}}function Zpa(a){lv();return a?gv:hv}function $pa(a){return q(a,gv)?(Xu(),Tu):q(a,hv)?(Xu(),Uu):(Xu(),Vu)}Xpa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  744. function lv(){lv=function(){};fv=jv("EMPTY",0);gv=jv("TRUE",1);hv=jv("FALSE",2);iv=jv("BOTH",3)}function aqa(){this.a=0}var bqa,cqa,dqa,eqa,fqa,gqa,hqa,iqa,jqa,kqa,lqa,mqa,nqa,oqa,pqa,qqa,rqa,sqa,tqa,uqa,vqa,wqa,xqa;l(aqa,z);function mv(a,b){var c=new aqa;c.b=a;c.a=b;return c}aqa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  745. function nv(){nv=function(){};bqa=mv("ALL",0);cqa=mv("ARROW",1);dqa=mv("BOOLEAN",2);eqa=mv("ENUM",3);fqa=mv("ENUM_ELEMENT",4);gqa=mv("FUNCTION",5);hqa=mv("INSTANCE_OBJECT",6);iqa=mv("NAMED",7);jqa=mv("NO",8);kqa=mv("NO_OBJECT",9);lqa=mv("NO_RESOLVED",10);mqa=mv("NULL",11);nqa=mv("NUMBER",12);oqa=mv("PROTOTYPE_OBJECT",13);pqa=mv("PROXY_OBJECT",14);qqa=mv("RECORD",15);rqa=mv("STRING",16);sqa=mv("SYMBOL",17);tqa=mv("TEMPLATE",18);uqa=mv("TEMPLATIZED",19);vqa=mv("UNION",20);wqa=mv("UNKNOWN",21);xqa=mv("VOID",
  746. 22)}function ov(){this.a=0}var pv,qv,yqa,rv,zqa,sv,Aqa,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Dv,Ev,Bqa,Fv,Gv,Hv,Iv,Jv,Cqa,Kv,Lv,Dqa,Mv,Eqa,Nv,Ov,Pv,Qv,Rv,Sv,Fqa,Tv,Uv,Vv,Wv,Xv,Yv,Zv,$v,aw,bw,cw,dw,ew,fw,gw,hw,iw,jw,kw,lw,Gqa,mw,nw,Hqa,ow,pw,qw,vw;l(ov,z);function ww(a,b){var c=new ov;c.b=a;c.a=b;return c}ov.prototype.R=function(a){return z.prototype.c.call(this,a)};
  747. function I(){I=function(){};pv=ww("ARRAY_TYPE",0);qv=ww("ARRAY_FUNCTION_TYPE",1);yqa=ww("ASYNC_ITERABLE_FUNCTION_TYPE",2);rv=ww("ASYNC_ITERABLE_TYPE",3);zqa=ww("ASYNC_ITERATOR_FUNCTION_TYPE",4);sv=ww("ASYNC_ITERATOR_TYPE",5);Aqa=ww("ASYNC_GENERATOR_FUNCTION_TYPE",6);tv=ww("ASYNC_GENERATOR_TYPE",7);uv=ww("BOOLEAN_TYPE",8);vv=ww("BOOLEAN_OBJECT_TYPE",9);wv=ww("BOOLEAN_OBJECT_FUNCTION_TYPE",10);xv=ww("CHECKED_UNKNOWN_TYPE",11);yv=ww("DATE_TYPE",12);zv=ww("DATE_FUNCTION_TYPE",13);Av=ww("FUNCTION_TYPE",
  748. 14);Bv=ww("FUNCTION_FUNCTION_TYPE",15);Cv=ww("FUNCTION_PROTOTYPE",16);Dv=ww("GENERATOR_FUNCTION_TYPE",17);Ev=ww("GENERATOR_TYPE",18);Bqa=ww("I_ITERABLE_RESULT_FUNCTION_TYPE",19);Fv=ww("I_ITERABLE_RESULT_TYPE",20);Gv=ww("ITERABLE_FUNCTION_TYPE",21);Hv=ww("ITERABLE_TYPE",22);Iv=ww("ITERATOR_FUNCTION_TYPE",23);Jv=ww("ITERATOR_TYPE",24);Cqa=ww("I_ARRAY_LIKE_FUNCTION_TYPE",25);Kv=ww("I_ARRAY_LIKE_TYPE",26);Lv=ww("I_TEMPLATE_ARRAY_TYPE",27);Dqa=ww("I_OBJECT_FUNCTION_TYPE",28);Mv=ww("I_OBJECT_TYPE",29);
  749. Eqa=ww("I_THENABLE_FUNCTION_TYPE",30);Nv=ww("I_THENABLE_TYPE",31);Ov=ww("NULL_TYPE",32);Pv=ww("NUMBER_TYPE",33);Qv=ww("NUMBER_OBJECT_TYPE",34);Rv=ww("NUMBER_OBJECT_FUNCTION_TYPE",35);Sv=ww("PROMISE_TYPE",36);Fqa=ww("PROMISE_FUNCTION_TYPE",37);Tv=ww("OBJECT_TYPE",38);Uv=ww("OBJECT_FUNCTION_TYPE",39);Vv=ww("OBJECT_PROTOTYPE",40);Wv=ww("REGEXP_TYPE",41);Xv=ww("REGEXP_FUNCTION_TYPE",42);Yv=ww("STRING_OBJECT_TYPE",43);Zv=ww("STRING_OBJECT_FUNCTION_TYPE",44);$v=ww("STRING_TYPE",45);aw=ww("SYMBOL_OBJECT_TYPE",
  750. 46);bw=ww("SYMBOL_OBJECT_FUNCTION_TYPE",47);cw=ww("SYMBOL_TYPE",48);dw=ww("THENABLE_TYPE",49);ew=ww("UNKNOWN_TYPE",50);fw=ww("VOID_TYPE",51);gw=ww("ALL_TYPE",52);hw=ww("NO_TYPE",53);iw=ww("NO_OBJECT_TYPE",54);jw=ww("NO_RESOLVED_TYPE",55);kw=ww("GLOBAL_THIS",56);lw=ww("LEAST_FUNCTION_TYPE",57);Gqa=ww("GREATEST_FUNCTION_TYPE",58);mw=ww("NULL_VOID",59);nw=ww("NUMBER_STRING_BOOLEAN",60);Hqa=ww("VALUE_TYPES",61);ow=ww("NUMBER_SYMBOL",62);pw=ww("STRING_SYMBOL",63);qw=ww("NUMBER_STRING",64);vw=ww("NUMBER_STRING_SYMBOL",
  751. 65)}function xw(a){return a instanceof ov}function yw(){return zw((H(),Jt))}function Iqa(a,b,c){F(L(a)||Aw(a),a);F(Bw(b)||Cw(b)||Aw(b),b);F(Dw(c),c);return Ew((H(),gu),a,b,c)}function Fw(a,b,c){E(L(a));E(Gw(b));E(Hw(c));return Ew((H(),ut),a,b,c)}function Iw(a){for(var b=zw((H(),Qs)),c=0;c<a.length;c++){var d=a[c];E(L(d)||Jw(d));M(b,d)}return b}function Kw(a){for(var b=zw((H(),Kt)),c=0;c<a.length;c++){var d=a[c];E(q(d.c,Kt)||q(d.c,Ot));M(b,d)}return b}function Lw(){return zw((H(),Lt))}
  752. function Mw(a){Ji(Nw(a),"Block node cannot contain %s",a.c);return Ow((H(),Lt),a)}function Pw(a){for(var b=Lw(),c=0;c<a.length;c++){var d=a[c];E(Nw(d));M(b,d)}return b}function Qw(){return zw((H(),Ot))}function Rw(a,b){return Sw(a,b,(H(),Ft))}function Tw(a){return Uw(a,(H(),Ft))}function Vw(a,b){return Sw(a,b,(H(),bu))}function Ww(a,b){return Sw(a,b,(H(),Rt))}function Uw(a,b){F(L(a)||Xw(a)||Yw(a),a);Xw(a)&&(a=Ow((H(),Xt),a));return Ow(b,a)}
  753. function Sw(a,b,c){L(a)?E(!a.a):(E(Zw(a)||$w(a)),a=Ow((H(),Xt),a));Ji(ax(b),"%s can't be an expression",b);M(a,b);return Ow(c,a)}function bx(a){E(ax(a));return Ow((H(),is),a)}function cx(a){F(ax(a),a);return Ow((H(),Nt),a)}function dx(a,b){E(ax(a));E(Hw(b));return ex((H(),vt),a,b)}
  754. function fx(a,b,c,d){E(gx(a)||hx(a)||ix(a)||jx(a));E(jx(b));E(jx(c));E(Hw(d));var e=(H(),Bt);kx();var f=new lx;D(!a.o);D(!a.b);D(!a.g);D(!b.o);D(!b.b);D(!b.g);D(!c.o);D(!c.b);D(!c.g);D(!d.o);D(!d.b);D(!d.g);f.c=e;f.o=null;f.a=a;a.b=b;a.g=d;a.o=f;b.b=c;b.g=a;b.o=f;c.b=d;c.g=b;c.o=f;d.b=null;d.g=c;d.o=f;f.v=-1;return f}function Jqa(a,b){E(mx(a));E(Nw(b));return ex((H(),Mt),a,b)}function nx(a){E(!te(a));return ox((H(),St),a)}function Kqa(a){E(mx(a));return Ow((H(),Dt),a)}
  755. function px(a,b){a=Ow((H(),xs),a);for(var c=0;c<b.length;c++){var d=b[c];F(ax(d)||qx(d),d);M(a,d)}return a}function Lqa(a,b){a=Ow((H(),ss),a);for(var c=0;c<b.length;c++){var d=b[c];F(ax(d)||qx(d),d);M(a,d)}return a}function rx(a){Ji(-1==mi(a,46),"Invalid name '%s'. Did you mean to use NodeUtil.newQName?",a);return ox((H(),As),a)}function sx(a,b){E(ax(a));E(Dw(b));return ex((H(),vs),a,b)}
  756. function Mqa(a,b,c){E(ax(a));E(Dw(b));a=ex((H(),vs),a,b);for(b=0;b<c.length;b++){var d=c[b];E(Dw(d));a=ex(vs,a,d)}return a}function tx(a,b,c){E(ax(a));a=ex((H(),vs),a,ux(b));for(b=0;b<c.length;b++)a=ex(vs,a,ux(c[b]));return a}function vx(a,b){E(ax(a));E(ax(b));return ex((H(),ws),a,b)}function wx(a,b){F(xx(a),a);F(ax(b),b);return ex((H(),Ss),a,b)}function yx(a,b,c){E(ax(a));E(ax(b));E(ax(c));return Ew((H(),et),a,b,c)}function zx(a,b){return Ax((H(),Rs),a,b)}
  757. function Bx(a,b){return Ax((H(),gt),a,b)}function Cx(a,b){return Ax((H(),ft),a,b)}function Dx(a){return Ex((H(),qs),a)}function Nqa(a,b){return Ax((H(),ks),a,b)}function Oqa(a,b){return Ax((H(),Hs),a,b)}function Fx(a){return Ex((H(),It),a)}function Pqa(a){return Ex((H(),rs),a)}function Qqa(a,b){a=Ex((H(),Ut),a);Gx(a,b);return a}function Rqa(a){a=Ex((H(),st),a);Hx(a,(kx(),Ix),!1);return a}function Jx(a,b){return Ax((H(),ms),a,b)}
  758. function Kx(a){for(var b=zw((H(),Os)),c=0;c<a.length;c++){var d=a[c];switch(d.c.a){case 95:case 102:case 90:case 91:case 121:case 122:break;default:throw pb("Unexpected OBJECTLIT child: "+r(d)).s;}M(b,d)}return b}function Sqa(a,b){F(ax(a),a);F(ax(b),b);return ex((H(),ru),a,b)}function Tqa(a,b){E(Lx(a));E(!a.a);E(ax(b));Mx(a,b);return a}function Nx(a){return Uqa(lg(a))}function Uqa(a){var b=zw((H(),Ns));for(a=a.h();a.i();){var c=a.j();F(jx(c)||qx(c),c);M(b,c)}return b}
  759. function Ox(a){return ox((H(),Tt),a)}function Px(a,b){E(ax(b));a=Ox(a);Mx(a,b);return a}function Qx(){return zw((H(),Es))}function Rx(){return zw((H(),Gs))}function Sx(){return zw((H(),Fs))}function Tx(){return zw((H(),Ds))}function Ax(a,b,c){F(ax(b),b);F(ax(c),c);return ex(a,b,c)}function Ex(a,b){E(ax(b));return Ow(a,b)}function jx(a){return Aw(a)||ax(a)}
  760. function Vqa(a){switch(a.c.a){case 84:case 69:return!0;case 86:case 78:case 100:case 92:case 79:case 93:case 75:case 88:case 76:case 77:case 105:case 106:case 70:case 87:case 104:case 71:case 42:case 47:case 80:case 74:case 81:return!0;default:return!1}}function Nw(a){return Vqa(a)?!0:Ux(a)}
  761. function ax(a){switch(a.c.a){case 69:case 100:return!0;case 13:case 65:case 45:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 62:case 60:case 61:case 108:case 3:case 1:case 20:case 2:case 28:case 96:case 66:case 49:case 68:case 24:case 16:case 4:case 18:case 37:case 9:case 26:case 27:case 8:case 63:case 129:case 43:case 67:case 44:case 7:case 10:case 6:case 17:case 15:case 32:case 5:case 22:case 23:case 128:case 19:case 33:case 35:case 46:case 31:case 30:case 29:case 64:case 21:case 41:case 11:case 39:case 40:case 34:case 14:case 103:case 124:case 123:case 36:case 25:case 38:case 12:case 83:case 107:return!0;default:return!1}}
  762. function Vx(){}l(Vx,n);function Wx(a){var b=0,c=Mj();do{var d=ni(a,46,b);c.W(ne(a,b,0>d?a.length:d));b=d+1}while(0<=d);a=c.fa();return Wqa(a,a.w())}function Xx(a){for(;!a.Ed();)a=a.fe();return a.Wd()}Vx.prototype.Jm=function(){var a=Mj();Xqa(this,a);return a.fa()};function Xqa(a,b){var c=a.fe();c&&Xqa(c,b);b.W(a.Wd())}Vx.prototype.Vc=function(){var a=Mg();this.mk(a);return a.toString()};function Yqa(a,b){return Zqa(a,b)}function $qa(){}l($qa,Vx);
  763. function Zqa(a,b){var c=new $qa;c.a=a;c.b=b;return c}g=$qa.prototype;g.fe=function(){return this.a};g.Wd=function(){return this.b};g.Ed=function(){return!1};g.mk=function(a){this.a.mk(a);x(Og(a,46),this.b)};g.de=function(a){return N(a)&&q(O(a).l(),this.b)&&this.a.de(a.a)};function ara(){this.a=0}l(ara,Vx);function Wqa(a,b){var c=new ara;c.b=a;c.a=b;return c}g=ara.prototype;g.fe=function(){return 1<this.a?Wqa(this.b,this.a-1):null};g.Wd=function(){return this.b.G(this.a-1)};
  764. g.Ed=function(){return 1==this.a};g.mk=function(a){for(var b=0;b<this.a;b++)0<b&&Og(a,46),x(a,this.b.G(b))};g.Jm=function(){return this.b.Gb(0,this.a)};g.de=function(a){for(var b=this.a-1;0<b&&N(a);){if(!q(O(a).l(),this.b.G(b)))return!1;b--;a=a.a}if(0<b)return!1;switch(a.c.a){case 32:case 102:return q(this.b.G(0),a.l());case 36:return"this"===this.b.G(0);case 103:return"super"===this.b.G(0);default:return!1}};function bra(){}l(bra,n);function cra(a){var b=new bra;b.a=a;return b}
  765. function Yx(a,b){return Jg(b,n,taa)?Zx(a.a,b):Zx(a.a,[b])}function Zx(a,b){for(var c=0;c<b.length;c++)for(var d="{"+c+"}";ji(a,d);)a=wi(a,d,r(b[c]));return a}function dra(){}l(dra,n);function era(a){for(var b=0;b<a.length;b++)if(32!=a.charCodeAt(b))return a.substr(b);return a}function fra(a){this.kc=zna(a,-1,0)}l(fra,Ar);function gra(){var a=void 0===a?Cna(fra):a;return new hra(a)}fra.prototype.a=function(){return new hra(this)};function hra(a){Br.call(this,a)}l(hra,Br);
  766. var ira={"externs/es3.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview ECMAScript 3 Built-Ins. This include common extensions so this\n * is actually ES3+Reality.\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n * @author nicksantos@google.com (Nick Santos)\n * @author arv@google.com (Erik Arvidsson)\n * @author johnlenz@google.com (John Lenz)\n */\n\n\n// START ES6 RETROFIT CODE\n// symbol, Symbol and Symbol.iterator are actually ES6 types but some\n// base types require them to be part of their definition (such as Array).\n\n\n/**\n * @constructor\n * @param {*=} opt_description\n * @return {symbol}\n */\nfunction Symbol(opt_description) {}\n\n\n/**\n * @const {string|undefined}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/description\n */\nSymbol.prototype.description;\n\n\n/**\n * @param {string} sym\n * @return {symbol}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for\n */\nSymbol.for = function(sym) {};\n\n\n/**\n * @param {symbol} sym\n * @return {string|undefined}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor\n */\nSymbol.keyFor = function(sym) {};\n\n\n// Well known symbols\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/asyncIterator\n * @const {symbol}\n */\nSymbol.asyncIterator;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance\n * @const {symbol}\n */\nSymbol.hasInstance;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n * @const {symbol}\n */\nSymbol.isConcatSpreadable;\n\n/**\n * @const {symbol}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator\n */\nSymbol.iterator;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/match\n * @const {symbol}\n */\nSymbol.match;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/matchAll\n * @const {symbol}\n */\nSymbol.matchAll;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/replace\n * @const {symbol}\n */\nSymbol.replace;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/search\n * @const {symbol}\n */\nSymbol.search;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/species\n * @const {symbol}\n */\nSymbol.species;\n\n// /**\n// * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/split\n// * @const {symbol}\n// */\n// Symbol.split;\n\n/**\n * @const {symbol}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive\n */\nSymbol.toPrimitive;\n\n/**\n * @const {symbol}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag\n */\nSymbol.toStringTag;\n\n/**\n * @const {symbol}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/unscopables\n */\nSymbol.unscopables;\n\n\n/**\n * @record\n * @template VALUE\n */\nfunction IIterableResult() {};\n\n/** @type {boolean} */\nIIterableResult.prototype.done;\n\n/** @type {VALUE} */\nIIterableResult.prototype.value;\n\n\n\n/**\n * @interface\n * @template VALUE\n */\nfunction Iterable() {}\n\n// TODO(johnlenz): remove the suppression when the compiler understands\n// "symbol" natively\n/**\n * @return {!Iterator<VALUE, ?, *>}\n * @suppress {externsValidation}\n */\nIterable.prototype[Symbol.iterator] = function() {};\n\n\n\n/**\n * TODO(user): UNUSED_RETURN_T and UNUSED_NEXT_T are not yet used for\n * anything. https://github.com/google/closure-compiler/issues/3489\n * @interface\n * @template VALUE, UNUSED_RETURN_T, UNUSED_NEXT_T\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol\n */\nfunction Iterator() {}\n\n/**\n * @param {?=} opt_value\n * @return {!IIterableResult<VALUE>}\n */\nIterator.prototype.next = function(opt_value) {};\n\n\n/**\n * Use this to indicate a type is both an Iterator and an Iterable.\n *\n * @interface\n * @extends {Iterator<T, ?, *>}\n * @extends {Iterable<T>}\n * @template T\n */\nfunction IteratorIterable() {}\n\n// END ES6 RETROFIT CODE\n\n\n/**\n * @interface\n * @template IOBJECT_KEY, IOBJECT_VALUE\n */\nfunction IObject() {}\n\n/**\n * @record\n * @extends {IObject<number, VALUE2>}\n * @template VALUE2\n */\nfunction IArrayLike() {}\n\n/** @type {number} */\nIArrayLike.prototype.length;\n\n/**\n * @constructor\n * @implements {IArrayLike<?>}\n * @implements {Iterable<?>}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments\n */\nfunction Arguments() {}\n\n/**\n * @type {Function}\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee\n */\nArguments.prototype.callee;\n\n/**\n * Use the non-standard {@see Function.prototype.caller} property of a function\n * object instead.\n * @type {Function}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller\n * @deprecated\n */\nArguments.prototype.caller;\n\n/**\n * @type {number}\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/length\n */\nArguments.prototype.length;\n\n/**\n * Not actually a global variable, when running in a browser environment. But\n * we need it in order for the type checker to typecheck the "arguments"\n * variable in a function correctly.\n *\n * TODO(tbreisacher): There should be a separate \'arguments\' variable of type\n * `Array<string>`, in the d8 externs.\n *\n * @type {!Arguments}\n * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments\n */\nvar arguments;\n\n/**\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\n * @const\n */\nvar Infinity;\n\n/**\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\n * @const\n */\nvar NaN;\n\n/**\n * @type {undefined}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\n * @const\n */\nvar undefined;\n\n/**\n * @param {string} uri\n * @return {string}\n * @throws {URIError} when used wrongly.\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI\n */\nfunction decodeURI(uri) {}\n\n/**\n * @param {string} uri\n * @return {string}\n * @throws {URIError} when used wrongly.\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent\n */\nfunction decodeURIComponent(uri) {}\n\n/**\n * @param {string} uri\n * @return {string}\n * @throws {URIError} if one attempts to encode a surrogate which is not part of\n * a high-low pair.\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI\n */\nfunction encodeURI(uri) {}\n\n/**\n * @param {string} uri\n * @return {string}\n * @throws {URIError} if one attempts to encode a surrogate which is not part of\n * a high-low pair.\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\n */\nfunction encodeURIComponent(uri) {}\n\n/**\n * Should only be used in browsers where encode/decodeURIComponent\n * are not present, as the latter handle fancy Unicode characters.\n * @param {string} str\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\n */\nfunction escape(str) {}\n\n/**\n * Should only be used in browsers where encode/decodeURIComponent\n * are not present, as the latter handle fancy Unicode characters.\n * @param {string} str\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\n */\nfunction unescape(str) {}\n\n/**\n * @param {*} num\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite\n */\nfunction isFinite(num) {}\n\n/**\n * @param {*} num\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN\n */\nfunction isNaN(num) {}\n\n/**\n * @param {*} num\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat\n */\nfunction parseFloat(num) {}\n\n/**\n * Parse an integer. Use of `parseInt` without `base` is strictly\n * banned in Google. If you really want to parse octal or hex based on the\n * leader, then pass `undefined` as the base.\n *\n * @param {*} num\n * @param {number|undefined} base\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt\n */\nfunction parseInt(num, base) {}\n\n/**\n * @param {string} code\n * @return {*}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval\n */\nfunction eval(code) {}\n\n\n\n/**\n * @constructor\n * @param {*=} opt_value\n * @return {!Object}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\n */\nfunction Object(opt_value) {}\n\n/**\n * The constructor of the current object.\n * @type {Function}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor\n */\nObject.prototype.constructor = function() {};\n\n/**\n * Binds an object\'s property to a function to be called when that property is\n * looked up.\n * Mozilla-only.\n *\n * @param {string} sprop\n * @param {Function} fun\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter\n * @return {undefined}\n * @deprecated\n */\nObject.prototype.__defineGetter__ = function(sprop, fun) {};\n\n/**\n * Binds an object\'s property to a function to be called when an attempt is made\n * to set that property.\n * Mozilla-only.\n *\n * @param {string} sprop\n * @param {Function} fun\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineSetter\n * @return {undefined}\n * @deprecated\n */\nObject.prototype.__defineSetter__ = function(sprop, fun) {};\n\n/**\n * Returns whether the object has a property with the specified name.\n *\n * @param {*} propertyName Implicitly cast to a string.\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\n */\nObject.prototype.hasOwnProperty = function(propertyName) {};\n\n/**\n * Returns whether an object exists in another object\'s prototype chain.\n *\n * @param {Object} other\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf\n */\nObject.prototype.isPrototypeOf = function(other) {};\n\n/**\n * Return the function bound as a getter to the specified property.\n * Mozilla-only.\n *\n * @param {string} sprop a string containing the name of the property whose\n * getter should be returned\n * @return {Function}\n * @nosideeffects\n * @deprecated\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetter\n */\nObject.prototype.__lookupGetter__ = function(sprop) {};\n\n/**\n * Return the function bound as a setter to the specified property.\n * Mozilla-only.\n *\n * @param {string} sprop a string containing the name of the property whose\n * setter should be returned.\n * @return {Function}\n * @nosideeffects\n * @deprecated\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupSetter\n */\nObject.prototype.__lookupSetter__ = function(sprop) {};\n\n/**\n * Executes a function when a non-existent method is called on an object.\n * Mozilla-only.\n *\n * @param {Function} fun\n * @return {*}\n * @deprecated\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod\n */\nObject.prototype.__noSuchMethod__ = function(fun) {};\n\n/**\n * Points to an object\'s context. For top-level objects, this is the e.g. window.\n * Mozilla-only.\n *\n * @type {Object}\n * @deprecated\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/parent\n */\nObject.prototype.__parent__;\n\n/**\n * Points to the object which was used as prototype when the object was instantiated.\n * Mozilla-only.\n *\n * Will be null on Object.prototype.\n *\n * @type {Object}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto\n */\nObject.prototype.__proto__;\n\n/**\n * Determine whether the specified property in an object can be enumerated by a\n * for..in loop, with the exception of properties inherited through the\n * prototype chain.\n *\n * @param {string|symbol} propertyName\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable\n */\nObject.prototype.propertyIsEnumerable = function(propertyName) {};\n\n/**\n * Returns a localized string representing the object.\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString\n */\nObject.prototype.toLocaleString = function() {};\n\n/**\n * Returns a string representing the source code of the object.\n * Mozilla-only.\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource\n */\nObject.prototype.toSource = function() {};\n\n/**\n * Returns a string representing the object.\n * @this {*}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString\n */\nObject.prototype.toString = function() {};\n\n/**\n * Returns the object\'s `this` value.\n * @return {*}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf\n */\nObject.prototype.valueOf = function() {};\n\n/**\n * @constructor\n * @param {...*} var_args\n * @throws {Error}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\n */\nfunction Function(var_args) {}\n\n/**\n * @param {...*} var_args\n * @return {*}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\n */\nFunction.prototype.call = function(var_args) {};\n\n/**\n * @param {...*} var_args\n * @return {*}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\n */\nFunction.prototype.apply = function(var_args) {};\n\nFunction.prototype.arguments;\n\n/**\n * @type {number}\n * @deprecated\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity\n */\nFunction.prototype.arity;\n\n/**\n * Nonstandard; Mozilla and JScript only.\n * @type {Function}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller\n */\nFunction.prototype.caller;\n\n/**\n * Nonstandard.\n * @type {?}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName\n */\nFunction.prototype.displayName;\n\n/**\n * Expected number of arguments.\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length\n */\nFunction.prototype.length;\n\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\n */\nFunction.prototype.name;\n\n/**\n * @this {Function}\n * @return {string}\n * @nosideeffects\n * @override\n */\nFunction.prototype.toString = function() {};\n\n\n/**\n * @constructor\n * @implements {IArrayLike<T>}\n * @implements {Iterable<T>}\n * @param {...*} var_args\n * @return {!Array}\n * @nosideeffects\n * @template T\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\n */\nfunction Array(var_args) {}\n\n/**\n * @return {Iterator<T>}\n * @suppress {externsValidation}\n */\nArray.prototype[Symbol.iterator] = function() {};\n\n// Functions:\n\n/**\n * Returns a new array comprised of this array joined with other array(s)\n * and/or value(s).\n *\n * @param {...*} var_args\n * @return {!Array<?>}\n * @this {*}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat\n */\nArray.prototype.concat = function(var_args) {};\n\n/**\n * Joins all elements of an array into a string.\n *\n * @param {*=} opt_separator Specifies a string to separate each element of the\n * array. The separator is converted to a string if necessary. If omitted,\n * the array elements are separated with a comma.\n * @return {string}\n * @this {IArrayLike<?>|string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join\n */\nArray.prototype.join = function(opt_separator) {};\n\n/**\n * Removes the last element from an array and returns that element.\n *\n * @return {T}\n * @this {IArrayLike<T>}\n * @modifies {this}\n * @template T\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop\n */\nArray.prototype.pop = function() {};\n\n// TODO(bradfordcsmith): remove "undefined" from the var_args of push\n/**\n * Mutates an array by appending the given elements and returning the new\n * length of the array.\n *\n * @param {...(T|undefined)} var_args\n * @return {number} The new length of the array.\n * @this {IArrayLike<T>}\n * @template T\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push\n */\nArray.prototype.push = function(var_args) {};\n\n/**\n * Transposes the elements of an array in place: the first array element becomes the\n * last and the last becomes the first. The mutated array is also returned.\n *\n * @return {THIS} A reference to the original modified array.\n * @this {THIS}\n * @template THIS\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse\n */\nArray.prototype.reverse = function() {};\n\n/**\n * Removes the first element from an array and returns that element. This\n * method changes the length of the array.\n *\n * @this {IArrayLike<T>}\n * @modifies {this}\n * @return {T}\n * @template T\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift\n */\nArray.prototype.shift = function() {};\n\n/**\n * Extracts a section of an array and returns a new array.\n *\n * @param {?number=} begin Zero-based index at which to begin extraction.\n * @param {?number=} end Zero-based index at which to end extraction. slice\n * extracts up to but not including end.\n * @return {!Array<T>}\n * @this {IArrayLike<T>|string}\n * @template T\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\n */\nArray.prototype.slice = function(begin, end) {};\n\n/**\n * Sorts the elements of an array in place.\n *\n * @param {function(T,T):number=} opt_compareFn Specifies a function that\n * defines the sort order.\n * @this {IArrayLike<T>}\n * @template T\n * @modifies {this}\n * @return {!Array<T>}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\n */\nArray.prototype.sort = function(opt_compareFn) {};\n\n/**\n * Changes the content of an array, adding new elements while removing old\n * elements.\n *\n * @param {?number=} index Index at which to start changing the array. If\n * negative, will begin that many elements from the end.\n * @param {?number=} howMany An integer indicating the number of old array\n * elements to remove.\n * @param {...T} var_args\n * @return {!Array<T>}\n * @this {IArrayLike<T>}\n * @modifies {this}\n * @template T\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice\n */\nArray.prototype.splice = function(index, howMany, var_args) {};\n\n/**\n * @return {string}\n * @this {Object}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSource\n */\nArray.prototype.toSource;\n\n/**\n * @this {Array<?>}\n * @return {string}\n * @nosideeffects\n * @override\n */\nArray.prototype.toString = function() {};\n\n/**\n * Adds one or more elements to the beginning of an array and returns the new\n * length of the array.\n *\n * @param {...*} var_args\n * @return {number} The new length of the array\n * @this {IArrayLike<?>}\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift\n */\nArray.prototype.unshift = function(var_args) {};\n\n/**\n * Apply a function simultaneously against two values of the array (from\n * left-to-right) as to reduce it to a single value.\n *\n * @param {?function(?, T, number, !Array<T>) : R} callback\n * @param {*=} opt_initialValue\n * @return {R}\n * @this {IArrayLike<T>|string}\n * @template T,R\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce\n */\nArray.prototype.reduce = function(callback, opt_initialValue) {};\n\n/**\n * Apply a function simultaneously against two values of the array (from\n * right-to-left) as to reduce it to a single value.\n *\n * @param {?function(?, T, number, !Array<T>) : R} callback\n * @param {*=} opt_initialValue\n * @return {R}\n * @this {IArrayLike<T>|string}\n * @template T,R\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight\n */\nArray.prototype.reduceRight = function(callback, opt_initialValue) {};\n\n/**\n * Available in ECMAScript 5, Mozilla 1.6+.\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\n * @param {S=} opt_thisobj\n * @return {boolean}\n * @this {IArrayLike<T>|string}\n * @template T,S\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every\n */\nArray.prototype.every = function(callback, opt_thisobj) {};\n\n/**\n * Available in ECMAScript 5, Mozilla 1.6+.\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\n * @param {S=} opt_thisobj\n * @return {!Array<T>}\n * @this {IArrayLike<T>|string}\n * @template T,S\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\n */\nArray.prototype.filter = function(callback, opt_thisobj) {};\n\n/**\n * Available in ECMAScript 5, Mozilla 1.6+.\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\n * @param {S=} opt_thisobj\n * @this {IArrayLike<T>|string}\n * @template T,S\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach\n * @return {undefined}\n */\nArray.prototype.forEach = function(callback, opt_thisobj) {};\n\n/**\n * Available in ECMAScript 5, Mozilla 1.6+.\n * @param {T} obj\n * @param {number=} opt_fromIndex\n * @return {number}\n * @this {IArrayLike<T>|string}\n * @nosideeffects\n * @template T\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\n */\nArray.prototype.indexOf = function(obj, opt_fromIndex) {};\n\n/**\n * Available in ECMAScript 5, Mozilla 1.6+.\n * @param {T} obj\n * @param {number=} opt_fromIndex\n * @return {number}\n * @this {IArrayLike<T>|string}\n * @nosideeffects\n * @template T\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\n */\nArray.prototype.lastIndexOf = function(obj, opt_fromIndex) {};\n\n/**\n * Available in ECMAScript 5, Mozilla 1.6+.\n * @param {?function(this:S, T, number, !Array<T>): R} callback\n * @param {S=} opt_thisobj\n * @return {!Array<R>}\n * @this {IArrayLike<T>|string}\n * @template T,S,R\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map\n */\nArray.prototype.map = function(callback, opt_thisobj) {};\n\n/**\n * Available in ECMAScript 5, Mozilla 1.6+.\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\n * @param {S=} opt_thisobj\n * @return {boolean}\n * @this {IArrayLike<T>|string}\n * @template T,S\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some\n */\nArray.prototype.some = function(callback, opt_thisobj) {};\n\n/**\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/index\n */\nArray.prototype.index;\n\n/**\n * @type {?string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/input\n */\nArray.prototype.input;\n\n/**\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length\n */\nArray.prototype.length;\n\n/**\n * Introduced in 1.8.5.\n * @param {*} arr\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\n */\nArray.isArray = function(arr) {};\n\n/**\n * @constructor\n * @param {*=} opt_value\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\n */\nfunction Boolean(opt_value) {}\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toSource\n * @override\n */\nBoolean.prototype.toSource = function() {};\n\n/**\n * @this {boolean|Boolean}\n * @return {string}\n * @nosideeffects\n * @override\n */\nBoolean.prototype.toString = function() {};\n\n/**\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf\n * @override\n */\nBoolean.prototype.valueOf = function() {};\n\n/**\n * @constructor\n * @param {*=} opt_value\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\n */\nfunction Number(opt_value) {}\n\n/**\n * @this {Number|number}\n * @param {number=} opt_fractionDigits\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential\n */\nNumber.prototype.toExponential = function(opt_fractionDigits) {};\n\n/**\n * @this {Number|number}\n * @param {*=} opt_digits\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed\n */\nNumber.prototype.toFixed = function(opt_digits) {};\n\n/**\n * @this {Number|number}\n * @param {number=} opt_precision\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision\n */\nNumber.prototype.toPrecision = function(opt_precision) {};\n\n/**\n * Returns a string representing the number.\n * @this {Number|number}\n * @param {(number|Number)=} opt_radix An optional radix.\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString\n * @override\n */\nNumber.prototype.toString = function(opt_radix) {};\n\n// Properties.\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE\n */\nNumber.MAX_VALUE;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE\n */\nNumber.MIN_VALUE;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN\n */\nNumber.NaN;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY\n */\nNumber.NEGATIVE_INFINITY;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY\n */\nNumber.POSITIVE_INFINITY;\n\n\n/**\n * @const\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math\n */\nvar Math = {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs\n */\nMath.abs = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos\n */\nMath.acos = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin\n */\nMath.asin = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan\n */\nMath.atan = function(x) {};\n\n/**\n * @param {?} y\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2\n */\nMath.atan2 = function(y, x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil\n */\nMath.ceil = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos\n */\nMath.cos = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp\n */\nMath.exp = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor\n */\nMath.floor = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log\n */\nMath.log = function(x) {};\n\n/**\n * @param {...?} var_args\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max\n */\nMath.max = function(var_args) {};\n\n/**\n * @param {...?} var_args\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min\n */\nMath.min = function(var_args) {};\n\n/**\n * @param {?} x\n * @param {?} y\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow\n */\nMath.pow = function(x, y) {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random\n */\nMath.random = function() {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round\n */\nMath.round = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin\n */\nMath.sin = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt\n */\nMath.sqrt = function(x) {};\n\n/**\n * @param {?} x\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan\n */\nMath.tan = function(x) {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSource\n */\nMath.toSource = function() {};\n\n// Properties:\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E\n */\nMath.E;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2\n */\nMath.LN2;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10\n */\nMath.LN10;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E\n */\nMath.LOG2E;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E\n */\nMath.LOG10E;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI\n */\nMath.PI;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2\n */\nMath.SQRT1_2;\n\n/**\n * @const {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2\n */\nMath.SQRT2;\n\n\n/**\n * @param {?=} opt_yr_num\n * @param {?=} opt_mo_num\n * @param {?=} opt_day_num\n * @param {?=} opt_hr_num\n * @param {?=} opt_min_num\n * @param {?=} opt_sec_num\n * @param {?=} opt_ms_num\n * @constructor\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n */\nfunction Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,\n opt_sec_num, opt_ms_num) {}\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now\n */\nDate.now = function() {};\n\n/**\n * Parses a string representation of a date, and returns the number\n * of milliseconds since January 1, 1970, 00:00:00, local time.\n * @param {*} date\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\n */\nDate.parse = function(date) {};\n\n/**\n * @param {number} year\n * @param {number} month\n * @param {number=} opt_date\n * @param {number=} opt_hours\n * @param {number=} opt_minute\n * @param {number=} opt_second\n * @param {number=} opt_ms\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC\n */\nDate.UTC = function(year, month,\n opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate\n */\nDate.prototype.getDate = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay\n */\nDate.prototype.getDay = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth\n */\nDate.prototype.getMonth = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear\n */\nDate.prototype.getFullYear = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear\n */\nDate.prototype.getYear = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours\n */\nDate.prototype.getHours = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes\n */\nDate.prototype.getMinutes = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds\n */\nDate.prototype.getSeconds = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds\n */\nDate.prototype.getMilliseconds = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime\n */\nDate.prototype.getTime = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\n */\nDate.prototype.getTimezoneOffset = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate\n */\nDate.prototype.getUTCDate = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay\n */\nDate.prototype.getUTCDay = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth\n */\nDate.prototype.getUTCMonth = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear\n */\nDate.prototype.getUTCFullYear = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours\n */\nDate.prototype.getUTCHours = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes\n */\nDate.prototype.getUTCMinutes = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds\n */\nDate.prototype.getUTCSeconds = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds\n */\nDate.prototype.getUTCMilliseconds = function() {};\n\n/**\n * Sets the day of the month for a specified date according to local time.\n *\n * @param {number} dayValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\n * @return {number}\n */\nDate.prototype.setDate = function(dayValue) {};\n\n/**\n * Set the month for a specified date according to local time.\n *\n * @param {number} monthValue\n * @param {number=} opt_dayValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\n * @return {number}\n */\nDate.prototype.setMonth = function(monthValue, opt_dayValue) {};\n\n/**\n * Sets the full year for a specified date according to local time.\n *\n * @param {number} yearValue\n * @param {number=} opt_monthValue\n * @param {number=} opt_dayValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear\n * @return {number}\n */\nDate.prototype.setFullYear =\n function(yearValue, opt_monthValue, opt_dayValue) {};\n\n/**\n * Sets the year for a specified date according to local time.\n *\n * @param {number} yearValue\n * @deprecated\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear\n * @return {number}\n */\nDate.prototype.setYear = function(yearValue) {};\n\n/**\n * Sets the hours for a specified date according to local time.\n *\n * @param {number} hoursValue\n * @param {number=} opt_minutesValue\n * @param {number=} opt_secondsValue\n * @param {number=} opt_msValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours\n * @return {number}\n */\nDate.prototype.setHours = function(hoursValue, opt_minutesValue,\n opt_secondsValue, opt_msValue) {};\n\n/**\n * Sets the minutes for a specified date according to local time.\n *\n * @param {number} minutesValue\n * @param {number=} opt_secondsValue\n * @param {number=} opt_msValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes\n * @return {number}\n */\nDate.prototype.setMinutes =\n function(minutesValue, opt_secondsValue, opt_msValue) {};\n\n/**\n * Sets the seconds for a specified date according to local time.\n *\n * @param {number} secondsValue\n * @param {number=} opt_msValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds\n * @return {number}\n */\nDate.prototype.setSeconds = function(secondsValue, opt_msValue) {};\n\n/**\n * Sets the milliseconds for a specified date according to local time.\n *\n * @param {number} millisecondsValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds\n * @return {number}\n */\nDate.prototype.setMilliseconds = function(millisecondsValue) {};\n\n/**\n * Sets the Date object to the time represented by a number of milliseconds\n * since January 1, 1970, 00:00:00 UTC.\n *\n * @param {number} timeValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime\n * @return {number}\n */\nDate.prototype.setTime = function(timeValue) {};\n\n/**\n * Sets the day of the month for a specified date according to universal time.\n *\n * @param {number} dayValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate\n * @return {number}\n */\nDate.prototype.setUTCDate = function(dayValue) {};\n\n/**\n * Sets the month for a specified date according to universal time.\n *\n * @param {number} monthValue\n * @param {number=} opt_dayValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth\n * @return {number}\n */\nDate.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};\n\n/**\n * Sets the full year for a specified date according to universal time.\n *\n * @param {number} yearValue\n * @param {number=} opt_monthValue\n * @param {number=} opt_dayValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear\n * @return {number}\n */\nDate.prototype.setUTCFullYear = function(yearValue, opt_monthValue,\n opt_dayValue) {};\n\n/**\n * Sets the hour for a specified date according to universal time.\n *\n * @param {number} hoursValue\n * @param {number=} opt_minutesValue\n * @param {number=} opt_secondsValue\n * @param {number=} opt_msValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours\n * @return {number}\n */\nDate.prototype.setUTCHours = function(hoursValue, opt_minutesValue,\n opt_secondsValue, opt_msValue) {};\n\n/**\n * Sets the minutes for a specified date according to universal time.\n *\n * @param {number} minutesValue\n * @param {number=} opt_secondsValue\n * @param {number=} opt_msValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes\n * @return {number}\n */\nDate.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,\n opt_msValue) {};\n\n\n/**\n * Sets the seconds for a specified date according to universal time.\n *\n * @param {number} secondsValue\n * @param {number=} opt_msValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds\n * @return {number}\n */\nDate.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};\n\n/**\n * Sets the milliseconds for a specified date according to universal time.\n *\n * @param {number} millisecondsValue\n * @modifies {this}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds\n * @return {number}\n */\nDate.prototype.setUTCMilliseconds = function(millisecondsValue) {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource\n * @override\n */\nDate.prototype.toSource = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString\n */\nDate.prototype.toDateString = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString\n */\nDate.prototype.toGMTString = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString\n */\nDate.prototype.toTimeString = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\n */\nDate.prototype.toUTCString = function() {};\n\n/**\n * @param {(string|Array<string>)=} opt_locales\n * @param {Object=} opt_options\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString\n */\nDate.prototype.toLocaleDateString = function(opt_locales, opt_options) {};\n\n/**\n * @param {string} formatString\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat\n */\nDate.prototype.toLocaleFormat = function(formatString) {};\n\n/**\n * @param {string|Array<string>=} opt_locales\n * @param {Object=} opt_options\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1\n * @override\n */\nDate.prototype.toLocaleString = function(opt_locales, opt_options) {};\n\n/**\n * @param {(string|Array<string>)=} opt_locales\n * @param {Object=} opt_options\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString\n */\nDate.prototype.toLocaleTimeString = function(opt_locales, opt_options) {};\n\n/**\n * @this {Date}\n * @return {string}\n * @nosideeffects\n * @override\n */\nDate.prototype.toString = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf\n */\nDate.prototype.valueOf;\n\n/**\n * @constructor\n * @implements {Iterable<string>}\n * @param {*=} opt_str\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String\n */\nfunction String(opt_str) {}\n\n/**\n * @param {...number} var_args\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode\n */\nString.fromCharCode = function(var_args) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor\n */\nString.prototype.anchor = function() {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big\n */\nString.prototype.big = function() {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink\n */\nString.prototype.blink = function() {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold\n */\nString.prototype.bold = function() {};\n\n/**\n * Returns the specified character from a string.\n *\n * @this {String|string}\n * @param {number} index\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt\n */\nString.prototype.charAt = function(index) {};\n\n/**\n * Returns a number indicating the Unicode value of the character at the given\n * index.\n *\n * @this {String|string}\n * @param {number=} opt_index\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n */\nString.prototype.charCodeAt = function(opt_index) {};\n\n/**\n * Combines the text of two or more strings and returns a new string.\n *\n * @this {String|string}\n * @param {...*} var_args\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat\n */\nString.prototype.concat = function(var_args) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed\n */\nString.prototype.fixed = function() {};\n\n/**\n * @this {String|string}\n * @param {string} color\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor\n */\nString.prototype.fontcolor = function(color) {};\n\n/**\n * @this {String|string}\n * @param {number} size\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize\n */\nString.prototype.fontsize = function(size) {};\n\n/**\n * Returns the index within the calling String object of the first occurrence\n * of the specified value, starting the search at fromIndex, returns -1 if the\n * value is not found.\n *\n * @this {String|string}\n * @param {string|null} searchValue\n * @param {(number|null)=} opt_fromIndex\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf\n */\nString.prototype.indexOf = function(searchValue, opt_fromIndex) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics\n */\nString.prototype.italics = function() {};\n\n/**\n * Returns the index within the calling String object of the last occurrence of\n * the specified value, or -1 if not found. The calling string is searched\n * backward, starting at fromIndex.\n *\n * @this {String|string}\n * @param {string|null} searchValue\n * @param {(number|null)=} opt_fromIndex\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf\n */\nString.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};\n\n/**\n * @this {String|string}\n * @param {string} hrefAttribute\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link\n */\nString.prototype.link = function(hrefAttribute) {};\n\n/**\n * Returns a number indicating whether a reference string comes before or after\n * or is the same as the given string in sort order.\n *\n * @this {*}\n * @param {?string} compareString\n * @param {string|Array<string>=} locales\n * @param {Object=} options\n * @return {number}\n * @nosideeffects\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1\n */\nString.prototype.localeCompare = function(compareString, locales, options) {};\n\n/**\n * Used to retrieve the matches when matching a string against a regular\n * expression.\n *\n * @this {String|string}\n * @param {*} regexp\n * @return {Array<string>} This should really return an Array with a few\n * special properties, but we do not have a good way to model this in\n * our type system. Also see Regexp.prototype.exec.\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match\n */\nString.prototype.match = function(regexp) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote\n */\nString.prototype.quote = function() {};\n\n/**\n * Finds a match between a regular expression and a string, and replaces the\n * matched substring with a new substring.\n *\n * This may have side-effects if the replacement function has side-effects.\n *\n * @this {String|string}\n * @param {RegExp|string} pattern\n * @param {?string|function(string, ...?):*} replacement\n * @return {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace\n */\nString.prototype.replace = function(pattern, replacement) {};\n\n/**\n * Executes the search for a match between a regular expression and this String\n * object.\n *\n * @this {String|string}\n * @param {RegExp|string} pattern\n * @return {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search\n */\nString.prototype.search = function(pattern) {};\n\n/**\n * @this {String|string}\n * @param {number} begin\n * @param {number=} opt_end\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice\n */\nString.prototype.slice = function(begin, opt_end) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/small\n */\nString.prototype.small = function() {};\n\n/**\n * @this {String|string}\n * @param {*=} opt_separator\n * @param {number=} opt_limit\n * @return {!Array<string>}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split\n */\nString.prototype.split = function(opt_separator, opt_limit) {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strike\n */\nString.prototype.strike = function() {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sub\n */\nString.prototype.sub = function() {};\n\n/**\n * @this {String|string}\n * @param {number} start\n * @param {number=} opt_length\n * @return {string} The specified substring.\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr\n */\nString.prototype.substr = function(start, opt_length) {};\n\n/**\n * @this {String|string}\n * @param {number} start\n * @param {number=} opt_end\n * @return {string} The specified substring.\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring\n */\nString.prototype.substring = function(start, opt_end) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sup\n */\nString.prototype.sup = function() {};\n\n/**\n * @this {String|string}\n * @param {(string|Array<string>)=} opt_locales\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase\n */\nString.prototype.toLocaleUpperCase = function(opt_locales) {};\n\n/**\n * @this {String|string}\n * @param {(string|Array<string>)=} opt_locales\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase\n */\nString.prototype.toLocaleLowerCase = function(opt_locales) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase\n */\nString.prototype.toLowerCase = function() {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase\n */\nString.prototype.toUpperCase = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toSource\n * @override\n */\nString.prototype.toSource = function() {};\n\n/**\n * @this {string|String}\n * @return {string}\n * @nosideeffects\n * @override\n */\nString.prototype.toString = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf\n */\nString.prototype.valueOf;\n\n/**\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length\n */\nString.prototype.length;\n\n/**\n * @constructor\n * @param {*=} opt_pattern\n * @param {*=} opt_flags\n * @return {!RegExp}\n * @throws {SyntaxError} if opt_pattern is an invalid pattern.\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nfunction RegExp(opt_pattern, opt_flags) {}\n\n/**\n * @param {*} pattern\n * @param {*=} opt_flags\n * @return {void}\n * @modifies {this}\n * @deprecated\n * @see http://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compile\n */\nRegExp.prototype.compile = function(pattern, opt_flags) {};\n\n/**\n * @param {*} str The string to search.\n * @return {?RegExpResult}\n * @see http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec\n */\nRegExp.prototype.exec = function(str) {};\n\n/**\n * @param {*} str The string to search.\n * @return {boolean} Whether the string was matched.\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test\n */\nRegExp.prototype.test = function(str) {};\n\n/**\n * @this {RegExp}\n * @return {string}\n * @nosideeffects\n * @override\n */\nRegExp.prototype.toString = function() {};\n\n/**\n * @constructor\n * @extends {Array<string>}\n */\nvar RegExpResult = function() {};\n\n\n/** @type {number} */\nRegExpResult.prototype.index;\n\n\n/** @type {string} */\nRegExpResult.prototype.input;\n\n\n/** @type {number} */\nRegExpResult.prototype.length;\n\n\n/**\n * Not actually part of ES3; was added in 2018.\n * https://github.com/tc39/proposal-regexp-named-groups\n *\n * @type {!Object<string, string>}\n */\nRegExpResult.prototype.groups;\n\n\n// Constructor properties:\n\n/**\n * The string against which the last regexp was matched.\n * @type {string}\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.html\n */\nRegExp.input;\n\n/**\n * The last matched characters.\n * @type {string}\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.html\n */\nRegExp.lastMatch;\n\n/**\n * The last matched parenthesized substring, if any.\n * @type {string}\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.html\n */\nRegExp.lastParen;\n\n/**\n * The substring of the input up to the characters most recently matched.\n * @type {string}\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.html\n */\nRegExp.leftContext;\n\n/**\n * The substring of the input after the characters most recently matched.\n * @type {string}\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.html\n */\nRegExp.rightContext;\n\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$1;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$2;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$3;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$4;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$5;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$6;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$7;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$8;\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n */\nRegExp.$9;\n\n// Prototype properties:\n\n/**\n * Whether to test the regular expression against all possible matches\n * in a string, or only against the first.\n * @type {boolean}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/global\n */\nRegExp.prototype.global;\n\n/**\n * Whether to ignore case while attempting a match in a string.\n * @type {boolean}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase\n */\nRegExp.prototype.ignoreCase;\n\n/**\n * The index at which to start the next match.\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex\n */\nRegExp.prototype.lastIndex;\n\n/**\n * Whether or not the regular expression uses lastIndex.\n * @type {boolean}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky\n */\nRegExp.prototype.sticky;\n\n/**\n * Whether or not to search in strings across multiple lines.\n * @type {boolean}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline\n */\nRegExp.prototype.multiline;\n\n/**\n * The text of the pattern.\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source\n */\nRegExp.prototype.source;\n\n/**\n * The flags the regex was created with.\n * @type {string}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags\n */\nRegExp.prototype.flags;\n\n/**\n * @constructor\n * @param {*=} opt_message\n * @param {*=} opt_file\n * @param {*=} opt_line\n * @return {!Error}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\n */\nfunction Error(opt_message, opt_file, opt_line) {}\n\n\n/**\n * Chrome/v8 specific, altering the maximum depth of the stack trace\n * (10 by default).\n * @type {number}\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\n */\nError.stackTraceLimit;\n\n\n/**\n * Chrome/v8 specific, adds a stack trace to the error object. The optional\n * constructorOpt parameter allows you to pass in a function value. When\n * collecting the stack trace all frames above the topmost call to this\n * function, including that call, will be left out of the stack trace.\n * @param {Object} error The object to add the stack trace to.\n * @param {Function=} opt_constructor A function in the stack trace\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\n * @return {undefined}\n */\nError.captureStackTrace = function(error, opt_constructor){};\n\n\n/**\n * IE-only.\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx\n */\nError.prototype.description;\n\n\n/**\n * Mozilla-only.\n * @type {number}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber\n */\nError.prototype.lineNumber;\n\n/**\n * Mozilla-only\n * @type {string}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName\n */\nError.prototype.fileName;\n\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name\n */\nError.prototype.name;\n\n/**\n * @type {string}\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message\n */\nError.prototype.message;\n\n/**\n * Doesn\'t seem to exist, but closure/debug.js references it.\n */\nError.prototype.sourceURL;\n\n/** @type {string} */\nError.prototype.stack;\n\n\n/**\n * @constructor\n * @extends {Error}\n * @param {*=} opt_message\n * @param {*=} opt_file\n * @param {*=} opt_line\n * @return {!EvalError}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\n */\nfunction EvalError(opt_message, opt_file, opt_line) {}\n\n/**\n * @constructor\n * @extends {Error}\n * @param {*=} opt_message\n * @param {*=} opt_file\n * @param {*=} opt_line\n * @return {!RangeError}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\n */\nfunction RangeError(opt_message, opt_file, opt_line) {}\n\n/**\n * @constructor\n * @extends {Error}\n * @param {*=} opt_message\n * @param {*=} opt_file\n * @param {*=} opt_line\n * @return {!ReferenceError}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\n */\nfunction ReferenceError(opt_message, opt_file, opt_line) {}\n\n/**\n * @constructor\n * @extends {Error}\n * @param {*=} opt_message\n * @param {*=} opt_file\n * @param {*=} opt_line\n * @return {!SyntaxError}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\n */\nfunction SyntaxError(opt_message, opt_file, opt_line) {}\n\n/**\n * @constructor\n * @extends {Error}\n * @param {*=} opt_message\n * @param {*=} opt_file\n * @param {*=} opt_line\n * @return {!TypeError}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\n */\nfunction TypeError(opt_message, opt_file, opt_line) {}\n\n/**\n * @constructor\n * @extends {Error}\n * @param {*=} opt_message\n * @param {*=} opt_file\n * @param {*=} opt_line\n * @return {!URIError}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\n */\nfunction URIError(opt_message, opt_file, opt_line) {}\n\n\n// JScript extensions.\n// @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx\n * @type {function(new:?, string, string=)}\n * @deprecated\n */\nfunction ActiveXObject(progId, opt_location) {}\n',"externs/es5.js":'/*\n * Copyright 2009 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for ECMAScript 5.\n * @see https://es5.github.io/\n * @externs\n * @author djlee@google.com (DJ Lee)\n */\n\n\n/**\n * @param {?Object|undefined} selfObj Specifies the object to which |this|\n * should point when the function is run. If the value is null or undefined,\n * it will default to the global object.\n * @param {...*} var_args Additional arguments that are partially\n * applied to fn.\n * @return {!Function} A partially-applied form of the Function on which\n * bind() was invoked as a method.\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind\n */\nFunction.prototype.bind = function(selfObj, var_args) {};\n\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim\n */\nString.prototype.trim = function() {};\n\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimLeft\n */\nString.prototype.trimLeft = function() {};\n\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimRight\n */\nString.prototype.trimRight = function() {};\n\n\n/**\n * A object property descriptor used by Object.create, Object.defineProperty,\n * Object.defineProperties, Object.getOwnPropertyDescriptor.\n *\n * @record\n * @template THIS\n */\nfunction ObjectPropertyDescriptor() {}\n\n/** @type {(*|undefined)} */\nObjectPropertyDescriptor.prototype.value;\n\n/** @type {(function(this: THIS):?)|undefined} */\nObjectPropertyDescriptor.prototype.get;\n\n/** @type {(function(this: THIS, ?):void)|undefined} */\nObjectPropertyDescriptor.prototype.set;\n\n/** @type {boolean|undefined} */\nObjectPropertyDescriptor.prototype.writable;\n\n/** @type {boolean|undefined} */\nObjectPropertyDescriptor.prototype.enumerable;\n\n/** @type {boolean|undefined} */\nObjectPropertyDescriptor.prototype.configurable;\n\n\n/**\n * @param {?Object} proto\n * @param {?Object=} opt_properties A map of ObjectPropertyDescriptors.\n * @return {!Object}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create\n */\nObject.create = function(proto, opt_properties) {};\n\n\n/**\n * @param {!Object} obj\n * @param {string|symbol} prop\n * @param {!Object} descriptor A ObjectPropertyDescriptor.\n * @return {!Object}\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty\n */\nObject.defineProperty = function(obj, prop, descriptor) {};\n\n\n/**\n * @param {!Object} obj\n * @param {!Object} props A map of ObjectPropertyDescriptors.\n * @return {!Object}\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties\n */\nObject.defineProperties = function(obj, props) {};\n\n\n/**\n * @param {T} obj\n * @param {string|symbol} prop\n * @return {!ObjectPropertyDescriptor<T>|undefined}\n * @nosideeffects\n * @template T\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor\n */\nObject.getOwnPropertyDescriptor = function(obj, prop) {};\n\n\n/**\n * @param {!Object} obj\n * @return {!Array<string>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys\n */\nObject.keys = function(obj) {};\n\n\n/**\n * @param {!Object} obj\n * @return {!Array<string>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames\n */\nObject.getOwnPropertyNames = function(obj) {};\n\n\n/**\n * @param {!Object} obj\n * @return {Object}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf\n */\nObject.getPrototypeOf = function(obj) {};\n\n\n/**\n * @param {T} obj\n * @return {T}\n * @template T\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensions\n */\nObject.preventExtensions = function(obj) {};\n\n\n/**\n * @param {T} obj\n * @return {T}\n * @template T\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/seal\n */\nObject.seal = function(obj) {};\n\n\n/**\n * @param {T} obj\n * @return {T}\n * @template T\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze\n */\nObject.freeze = function(obj) {};\n\n\n/**\n * @param {!Object} obj\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensible\n */\nObject.isExtensible = function(obj) {};\n\n\n/**\n * @param {!Object} obj\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealed\n */\nObject.isSealed = function(obj) {};\n\n\n/**\n * @param {!Object} obj\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozen\n */\nObject.isFrozen = function(obj) {};\n\n\n/**\n * We acknowledge that this function does not exist on the `Object.prototype`\n * and is declared in this file for other reasons.\n *\n * When `toJSON` is defined as a property on an object it can be used in\n * conjunction with the JSON.stringify() function.\n *\n * It is defined here to:\n * (1) Prevent the compiler from renaming the property on internal classes.\n * (2) Enforce that the signature is correct for users defining it.\n *\n * @param {string=} opt_key The JSON key for this object.\n * @return {*} The serializable representation of this object. Note that this\n * need not be a string. See http://goo.gl/PEUvs.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#toJSON()_behavior\n */\nObject.prototype.toJSON = function(opt_key) {};\n\n\n/**\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString\n * @return {string}\n */\nDate.prototype.toISOString = function() {};\n\n\n/**\n * @param {*=} opt_ignoredKey\n * @return {string}\n * @override\n */\nDate.prototype.toJSON = function(opt_ignoredKey) {};\n\n\n/**\n * A fake type to model the JSON object.\n * @constructor\n */\nfunction JSONType() {}\n\n\n/**\n * @param {string} jsonStr The string to parse.\n * @param {(function(this:?, string, *) : *)=} opt_reviver\n * @return {*} The JSON object.\n * @throws {Error}\n */\nJSONType.prototype.parse = function(jsonStr, opt_reviver) {};\n\n\n/**\n * @param {*} jsonObj Input object.\n * @param {(Array<string>|(function(this:?, string, *) : *)|null)=} opt_replacer\n * @param {(number|string)=} opt_space\n * @return {string} JSON string which represents jsonObj.\n * @throws {Error}\n */\nJSONType.prototype.stringify = function(jsonObj, opt_replacer, opt_space) {};\n\n\n/**\n * @type {!JSONType}\n * @suppress {duplicate}\n */\nvar JSON;\n',
  767. "externs/es6.js":"/*\n * Copyright 2014 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for ECMAScript 6 and later.\n * @see https://tc39.github.io/ecma262/\n * @see https://www.khronos.org/registry/typedarray/specs/latest/\n * @externs\n */\n\n/**\n * Some es6 definitions:\n * Symbol, IIterableResult, Iterable, IteratorIterable, Iterator,\n * IteratorIterable moved to es3 file, because some base type requires them, and\n * we want to keep them together. If you add new externs related to those types\n * define them together in the es3 file.\n */\n\n/**\n * TODO(user): UNUSED_RETURN_T and UNUSED_NEXT_T are not yet used for\n * anything. https://github.com/google/closure-compiler/issues/3489\n * @interface\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\n * @extends {IteratorIterable<VALUE>}\n * @template VALUE, UNUSED_RETURN_T, UNUSED_NEXT_T\n */\nfunction Generator() {}\n\n/**\n * @param {?=} opt_value\n * @return {!IIterableResult<VALUE>}\n * @override\n */\nGenerator.prototype.next = function(opt_value) {};\n\n/**\n * @param {VALUE} value\n * @return {!IIterableResult<VALUE>}\n */\nGenerator.prototype.return = function(value) {};\n\n/**\n * @param {?} exception\n * @return {!IIterableResult<VALUE>}\n */\nGenerator.prototype.throw = function(exception) {};\n\n\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.log10 = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.log2 = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.log1p = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.expm1 = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.cosh = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.sinh = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.tanh = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.acosh = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.asinh = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.atanh = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.trunc = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.sign = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n */\nMath.cbrt = function(value) {};\n\n/**\n * @param {...number} var_args\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot\n */\nMath.hypot = function(var_args) {};\n\n/**\n * @param {number} value1\n * @param {number} value2\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\n */\nMath.imul = function(value1, value2) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\n */\nMath.clz32 = function(value) {};\n\n/**\n * @param {number} value\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround\n */\nMath.fround = function(value) {};\n\n\n/**\n * @param {*} a\n * @param {*} b\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nObject.is = function(a, b) {};\n\n\n/**\n * Returns a language-sensitive string representation of this number.\n * @param {(string|!Array<string>)=} opt_locales\n * @param {Object=} opt_options\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.2.1\n * @override\n */\nNumber.prototype.toLocaleString = function(opt_locales, opt_options) {};\n\n/**\n * Returns the wrapped primitive value of this Number object.\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/valueOf\n * @override\n */\nNumber.prototype.valueOf = function() {};\n\n\n/**\n * Pads the end of the string so that it reaches the given length.\n * NOTE: this is an ES2017 (ES8) extern.\n *\n * @param {number} targetLength The target length.\n * @param {string=} opt_padString The string to pad with.\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\n */\nString.prototype.padEnd = function(targetLength, opt_padString) {};\n\n/**\n * Pads the start of the string so that it reaches the given length.\n * NOTE: this is an ES2017 (ES8) extern.\n *\n * @param {number} targetLength The target length.\n * @param {string=} opt_padString The string to pad with.\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\n */\nString.prototype.padStart = function(targetLength, opt_padString) {};\n\n/**\n * Repeats the string the given number of times.\n *\n * @param {number} count The number of times the string is repeated.\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n */\nString.prototype.repeat = function(count) {};\n\n/**\n * @constructor\n * @extends {Array<string>}\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject\n */\nvar ITemplateArray = function() {};\n\n/**\n * @type {!Array<string>}\n */\nITemplateArray.prototype.raw;\n\n/**\n * @param {!ITemplateArray} template\n * @param {...*} var_args Substitution values.\n * @return {string}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw\n */\nString.raw = function(template, var_args) {};\n\n\n/**\n * @param {number} codePoint\n * @param {...number} var_args Additional codepoints\n * @return {string}\n */\nString.fromCodePoint = function(codePoint, var_args) {};\n\n\n/**\n * @param {number} index\n * @return {number}\n * @nosideeffects\n */\nString.prototype.codePointAt = function(index) {};\n\n\n/**\n * @param {string=} opt_form\n * @return {string}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize\n */\nString.prototype.normalize = function(opt_form) {};\n\n\n/**\n * @param {string} searchString\n * @param {number=} opt_position\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n */\nString.prototype.startsWith = function(searchString, opt_position) {};\n\n/**\n * @param {string} searchString\n * @param {number=} opt_position\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n */\nString.prototype.endsWith = function(searchString, opt_position) {};\n\n/**\n * @param {string} searchString\n * @param {number=} opt_position\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n */\nString.prototype.includes = function(searchString, opt_position) {};\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimStart\n */\nString.prototype.trimStart = function() {};\n\n\n/**\n * @this {String|string}\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimEnd\n */\nString.prototype.trimEnd = function() {};\n\n\n/**\n * @this {String|string}\n * @param {!RegExp|string} regexp\n * @return {!IteratorIterable<!RegExpResult>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/matchAll\n */\nString.prototype.matchAll = function(regexp) {};\n\n\n/**\n * @see http://dev.w3.org/html5/postmsg/\n * @interface\n */\nfunction Transferable() {}\n\n/**\n * @param {number} length The length in bytes\n * @constructor\n * @throws {Error}\n * @implements {Transferable}\n */\nfunction ArrayBuffer(length) {}\n\n/** @type {number} */\nArrayBuffer.prototype.byteLength;\n\n/**\n * @param {number} begin\n * @param {number=} opt_end\n * @return {!ArrayBuffer}\n * @nosideeffects\n */\nArrayBuffer.prototype.slice = function(begin, opt_end) {};\n\n/**\n * @param {*} arg\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView\n */\nArrayBuffer.isView = function(arg) {};\n\n\n/**\n * @constructor\n */\nfunction ArrayBufferView() {}\n\n/** @type {!ArrayBuffer} */\nArrayBufferView.prototype.buffer;\n\n/** @type {number} */\nArrayBufferView.prototype.byteOffset;\n\n/** @type {number} */\nArrayBufferView.prototype.byteLength;\n\n\n/**\n * @param {number} length The length in bytes\n * @constructor\n * @throws {Error}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer\n */\nfunction SharedArrayBuffer(length) {}\n\n/** @type {number} */\nSharedArrayBuffer.prototype.byteLength;\n\n/**\n * @param {number} begin\n * @param {number=} opt_end\n * @return {!SharedArrayBuffer}\n * @nosideeffects\n */\nSharedArrayBuffer.prototype.slice = function(begin, opt_end) {};\n\n\n/**\n * @typedef {!ArrayBuffer|!ArrayBufferView}\n */\nvar BufferSource;\n\n\n/**\n * @constructor\n * @implements {IArrayLike<number>}\n * @implements {Iterable<number>}\n * @extends {ArrayBufferView}\n */\nfunction TypedArray() {};\n\n/** @const {number} */\nTypedArray.prototype.BYTES_PER_ELEMENT;\n\n/**\n * @param {number} target\n * @param {number} start\n * @param {number=} opt_end\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin\n */\nTypedArray.prototype.copyWithin = function(target, start, opt_end) {};\n\n/**\n * @return {!IteratorIterable<!Array<number>>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries\n */\nTypedArray.prototype.entries = function() {};\n\n/**\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\n * @param {S=} opt_thisArg\n * @return {boolean}\n * @template S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every\n */\nTypedArray.prototype.every = function(callback, opt_thisArg) {};\n\n/**\n * @param {number} value\n * @param {number=} opt_begin\n * @param {number=} opt_end\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill\n */\nTypedArray.prototype.fill = function(value, opt_begin, opt_end) {};\n\n/**\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\n * @param {S=} opt_thisArg\n * @return {THIS}\n * @this {THIS}\n * @template THIS,S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter\n */\nTypedArray.prototype.filter = function(callback, opt_thisArg) {};\n\n/**\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\n * @param {S=} opt_thisArg\n * @return {(number|undefined)}\n * @template S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find\n */\nTypedArray.prototype.find = function(callback, opt_thisArg) {};\n\n/**\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\n * @param {S=} opt_thisArg\n * @return {number}\n * @template S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex\n */\nTypedArray.prototype.findIndex = function(callback, opt_thisArg) {};\n\n/**\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\n * @param {S=} opt_thisArg\n * @return {undefined}\n * @template S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach\n */\nTypedArray.prototype.forEach = function(callback, opt_thisArg) {};\n\n/**\n * NOTE: this is an ES2016 (ES7) extern.\n * @param {number} searchElement\n * @param {number=} opt_fromIndex\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes\n */\nTypedArray.prototype.includes = function(searchElement, opt_fromIndex) {};\n\n/**\n * @param {number} searchElement\n * @param {number=} opt_fromIndex\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf\n */\nTypedArray.prototype.indexOf = function(searchElement, opt_fromIndex) {};\n\n/**\n * @param {string=} opt_separator\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join\n */\nTypedArray.prototype.join = function(opt_separator) {};\n\n/**\n * @return {!IteratorIterable<number>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys\n */\nTypedArray.prototype.keys = function() {};\n\n/**\n * @param {number} searchElement\n * @param {number=} opt_fromIndex\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf\n */\nTypedArray.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};\n\n/** @type {number} */\nTypedArray.prototype.length;\n\n/**\n * @param {function(this:S, number, number, !TypedArray) : number} callback\n * @param {S=} opt_thisArg\n * @return {THIS}\n * @this {THIS}\n * @template THIS,S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map\n */\nTypedArray.prototype.map = function(callback, opt_thisArg) {};\n\n/**\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET}\n * callback\n * @param {INIT=} opt_initialValue\n * @return {RET}\n * @template INIT,RET\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce\n */\nTypedArray.prototype.reduce = function(callback, opt_initialValue) {};\n\n/**\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET}\n * callback\n * @param {INIT=} opt_initialValue\n * @return {RET}\n * @template INIT,RET\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight\n */\nTypedArray.prototype.reduceRight = function(callback, opt_initialValue) {};\n\n/**\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse\n */\nTypedArray.prototype.reverse = function() {};\n\n/**\n * @param {!ArrayBufferView|!Array<number>} array\n * @param {number=} opt_offset\n * @return {undefined}\n * @throws {!RangeError}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set\n */\nTypedArray.prototype.set = function(array, opt_offset) {};\n\n/**\n * @param {number=} opt_begin\n * @param {number=} opt_end\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice\n */\nTypedArray.prototype.slice = function(opt_begin, opt_end) {};\n\n/**\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\n * @param {S=} opt_thisArg\n * @return {boolean}\n * @template S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some\n */\nTypedArray.prototype.some = function(callback, opt_thisArg) {};\n\n/**\n * @param {(function(number, number) : number)=} opt_compareFunction\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort\n */\nTypedArray.prototype.sort = function(opt_compareFunction) {};\n\n/**\n * @param {number} begin\n * @param {number=} opt_end\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray\n */\nTypedArray.prototype.subarray = function(begin, opt_end) {};\n\n/**\n * @return {!IteratorIterable<number>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values\n */\nTypedArray.prototype.values = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString\n * @override\n */\nTypedArray.prototype.toLocaleString = function() {};\n\n/**\n * @return {string}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\n * @override\n */\nTypedArray.prototype.toString = function() {};\n\n/** @override */\nTypedArray.prototype[Symbol.iterator] = function() {};\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments} If the user passes a backing array, then indexed\n * accesses will modify the backing array. JSCompiler does not model\n * this well. In other words, if you have:\n * <code>\n * var x = new ArrayBuffer(1);\n * var y = new Int8Array(x);\n * y[0] = 2;\n * </code>\n * JSCompiler will not recognize that the last assignment modifies x.\n * We workaround this by marking all these arrays as @modifies {arguments},\n * to introduce the possibility that x aliases y.\n */\nfunction Int8Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nInt8Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Int8Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nInt8Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Int8Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nInt8Array.of = function(var_args) {};\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Uint8Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nUint8Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Uint8Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nUint8Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Uint8Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nUint8Array.of = function(var_args) {};\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Uint8ClampedArray(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nUint8ClampedArray.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Uint8ClampedArray}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nUint8ClampedArray.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Uint8ClampedArray}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nUint8ClampedArray.of = function(var_args) {};\n\n\n/**\n * @typedef {Uint8ClampedArray}\n * @deprecated CanvasPixelArray has been replaced by Uint8ClampedArray\n * in the latest spec.\n * @see http://www.w3.org/TR/2dcontext/#imagedata\n */\nvar CanvasPixelArray;\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Int16Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nInt16Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Int16Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nInt16Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Int16Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nInt16Array.of = function(var_args) {};\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Uint16Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nUint16Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Uint16Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nUint16Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Uint16Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nUint16Array.of = function(var_args) {};\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Int32Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nInt32Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Int32Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nInt32Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Int32Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nInt32Array.of = function(var_args) {};\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Uint32Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nUint32Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Uint32Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nUint32Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Uint32Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nUint32Array.of = function(var_args) {};\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Float32Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nFloat32Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Float32Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nFloat32Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Float32Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nFloat32Array.of = function(var_args) {};\n\n\n/**\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\n * length or array or buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_length\n * @constructor\n * @extends {TypedArray}\n * @throws {Error}\n * @modifies {arguments}\n */\nfunction Float64Array(length, opt_byteOffset, opt_length) {}\n\n/** @const {number} */\nFloat64Array.BYTES_PER_ELEMENT;\n\n/**\n * @param {string|!IArrayLike<number>|!Iterable<number>} source\n * @param {function(this:S, number): number=} opt_mapFn\n * @param {S=} opt_this\n * @template S\n * @return {!Float64Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\n */\nFloat64Array.from = function(source, opt_mapFn, opt_this) {};\n\n/**\n * @param {...number} var_args\n * @return {!Float64Array}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\n */\nFloat64Array.of = function(var_args) {};\n\n\n/**\n * @param {ArrayBuffer|SharedArrayBuffer} buffer\n * @param {number=} opt_byteOffset\n * @param {number=} opt_byteLength\n * @constructor\n * @extends {ArrayBufferView}\n * @throws {Error}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/DataView\n */\nfunction DataView(buffer, opt_byteOffset, opt_byteLength) {}\n\n/**\n * @param {number} byteOffset\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getInt8 = function(byteOffset) {};\n\n/**\n * @param {number} byteOffset\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getUint8 = function(byteOffset) {};\n\n/**\n * @param {number} byteOffset\n * @param {boolean=} opt_littleEndian\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getInt16 = function(byteOffset, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {boolean=} opt_littleEndian\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getUint16 = function(byteOffset, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {boolean=} opt_littleEndian\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getInt32 = function(byteOffset, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {boolean=} opt_littleEndian\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getUint32 = function(byteOffset, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {boolean=} opt_littleEndian\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getFloat32 = function(byteOffset, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {boolean=} opt_littleEndian\n * @return {number}\n * @throws {Error}\n */\nDataView.prototype.getFloat64 = function(byteOffset, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setInt8 = function(byteOffset, value) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setUint8 = function(byteOffset, value) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @param {boolean=} opt_littleEndian\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setInt16 = function(byteOffset, value, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @param {boolean=} opt_littleEndian\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setUint16 = function(byteOffset, value, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @param {boolean=} opt_littleEndian\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setInt32 = function(byteOffset, value, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @param {boolean=} opt_littleEndian\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setUint32 = function(byteOffset, value, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @param {boolean=} opt_littleEndian\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setFloat32 = function(\n byteOffset, value, opt_littleEndian) {};\n\n/**\n * @param {number} byteOffset\n * @param {number} value\n * @param {boolean=} opt_littleEndian\n * @throws {Error}\n * @return {undefined}\n */\nDataView.prototype.setFloat64 = function(\n byteOffset, value, opt_littleEndian) {};\n\n\n/**\n * @see https://github.com/promises-aplus/promises-spec\n * @typedef {{then: ?}}\n */\nvar Thenable;\n\n\n/**\n * This is not an official DOM interface. It is used to add generic typing\n * and respective type inference where available.\n * {@see goog.Thenable} inherits from this making all promises\n * interoperate.\n * @interface\n * @struct\n * @template TYPE\n */\nfunction IThenable() {}\n\n\n/**\n * @param {?(function(TYPE):VALUE)=} opt_onFulfilled\n * @param {?(function(*): *)=} opt_onRejected\n * @return {RESULT}\n * @template VALUE\n *\n * When a `Thenable` is fulfilled or rejected with another `Thenable`, the\n * payload of the second is used as the payload of the first.\n *\n * @template RESULT := type('IThenable',\n * cond(isUnknown(VALUE), unknown(),\n * mapunion(VALUE, (V) =>\n * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\n * templateTypeOf(V, 0),\n * cond(sub(V, 'Thenable'),\n * unknown(),\n * V)))))\n * =:\n */\nIThenable.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\n\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n * @param {function(\n * function((TYPE|IThenable<TYPE>|Thenable|null)=),\n * function(*=))} resolver\n * @constructor\n * @implements {IThenable<TYPE>}\n * @template TYPE\n */\nfunction Promise(resolver) {}\n\n\n/**\n * @param {VALUE=} opt_value\n * @return {RESULT}\n * @template VALUE\n * @template RESULT := type('Promise',\n * cond(isUnknown(VALUE), unknown(),\n * mapunion(VALUE, (V) =>\n * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\n * templateTypeOf(V, 0),\n * cond(sub(V, 'Thenable'),\n * unknown(),\n * V)))))\n * =:\n */\nPromise.resolve = function(opt_value) {};\n\n\n/**\n * @param {*=} opt_error\n * @return {!Promise<?>}\n */\nPromise.reject = function(opt_error) {};\n\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n * @param {!Iterable<VALUE>} iterable\n * @return {!Promise<!Array<RESULT>>}\n * @template VALUE\n * @template RESULT := mapunion(VALUE, (V) =>\n * cond(isUnknown(V),\n * unknown(),\n * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\n * templateTypeOf(V, 0),\n * cond(sub(V, 'Thenable'), unknown(), V))))\n * =:\n */\nPromise.all = function(iterable) {};\n\n/**\n * Record type representing a single element of the array value one gets from\n * Promise.allSettled.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled\n * @record\n * @template VALUE\n */\nPromise.AllSettledResultElement = function() {};\n\n/**\n * 'fulfilled' or 'rejected' to indicate the final state of the corresponding\n * Promise.\n * @type {string}\n */\nPromise.AllSettledResultElement.prototype.status;\n\n/**\n * Exists only if the status field is 'fulfilled'\n * @type {VALUE|undefined}\n */\nPromise.AllSettledResultElement.prototype.value;\n\n/**\n * Exists only if the status field is 'rejected'\n * @type {*|undefined}\n */\nPromise.AllSettledResultElement.prototype.reason;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled\n * @param {!Iterable<VALUE>} iterable\n * @return {!Promise<!Array<!Promise.AllSettledResultElement<RESULT>>>}\n * @template VALUE\n * @template RESULT := mapunion(VALUE, (V) =>\n * cond(isUnknown(V),\n * unknown(),\n * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\n * templateTypeOf(V, 0),\n * cond(sub(V, 'Thenable'), unknown(), V))))\n * =:\n */\nPromise.allSettled = function(iterable) {};\n\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n * @param {!Iterable<VALUE>} iterable\n * @return {!Promise<RESULT>}\n * @template VALUE\n * @template RESULT := mapunion(VALUE, (V) =>\n * cond(isUnknown(V),\n * unknown(),\n * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\n * templateTypeOf(V, 0),\n * cond(sub(V, 'Thenable'), unknown(), V))))\n * =:\n */\nPromise.race = function(iterable) {};\n\n\n/**\n * @param {?(function(this:void, TYPE):VALUE)=} opt_onFulfilled\n * @param {?(function(this:void, *): *)=} opt_onRejected\n * @return {RESULT}\n * @template VALUE\n *\n * When a `Thenable` is fulfilled or rejected with another `Thenable`, the\n * payload of the second is used as the payload of the first.\n *\n * @template RESULT := type('Promise',\n * cond(isUnknown(VALUE), unknown(),\n * mapunion(VALUE, (V) =>\n * cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\n * templateTypeOf(V, 0),\n * cond(sub(V, 'Thenable'),\n * unknown(),\n * V)))))\n * =:\n * @override\n */\nPromise.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\n\n\n/**\n * @param {function(*):VALUE} onRejected\n * @return {!Promise<TYPE|RESULT>} A Promise of the original type or a possibly\n * a different type depending on whether the parent promise was rejected.\n *\n * @template VALUE\n *\n * When a `Thenable` is rejected with another `Thenable`, the payload of the\n * second is used as the payload of the first.\n *\n * @template RESULT := cond(\n * isUnknown(VALUE),\n * unknown(),\n * mapunion(VALUE, (V) =>\n * cond(\n * isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\n * templateTypeOf(V, 0),\n * cond(\n * sub(V, 'Thenable'),\n * unknown(),\n * V))))\n * =:\n */\nPromise.prototype.catch = function(onRejected) {};\n\n\n/**\n * @param {function()} callback\n * @return {!Promise<TYPE>}\n */\nPromise.prototype.finally = function(callback) {};\n\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\n * @param {...T} var_args\n * @return {!Array<T>}\n * @template T\n */\nArray.of = function(var_args) {};\n\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from\n * @param {string|!IArrayLike<T>|!Iterable<T>} arrayLike\n * @param {function(this:S, (string|T), number): R=} opt_mapFn\n * @param {S=} opt_this\n * @return {!Array<R>}\n * @template T,S,R\n */\nArray.from = function(arrayLike, opt_mapFn, opt_this) {};\n\n\n/** @return {!IteratorIterable<number>} */\nArray.prototype.keys;\n\n\n/**\n * @return {!IteratorIterable<T>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values\n */\nArray.prototype.values;\n\n\n/**\n * @return {!IteratorIterable<!Array<number|T>>} Iterator of [key, value] pairs.\n */\nArray.prototype.entries;\n\n\n/**\n * @param {function(this:S, T, number, !Array<T>): boolean} predicateFn\n * @param {S=} opt_this\n * @return {T|undefined}\n * @this {IArrayLike<T>|string}\n * @template T,S\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.find\n */\nArray.prototype.find = function(predicateFn, opt_this) {};\n\n\n/**\n * @param {function(this:S, T, number, !Array<T>): boolean} predicateFn\n * @param {S=} opt_this\n * @return {number}\n * @this {IArrayLike<T>|string}\n * @template T,S\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.findindex\n */\nArray.prototype.findIndex = function(predicateFn, opt_this) {};\n\n\n/**\n * @param {T} value\n * @param {number=} opt_begin\n * @param {number=} opt_end\n * @return {!Array<T>}\n * @this {!IArrayLike<T>|string}\n * @template T\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.fill\n */\nArray.prototype.fill = function(value, opt_begin, opt_end) {};\n\n\n/**\n * @param {number} target\n * @param {number} start\n * @param {number=} opt_end\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.copywithin\n * @this {!IArrayLike<T>|string}\n * @template T\n * @return {!Array<T>}\n */\nArray.prototype.copyWithin = function(target, start, opt_end) {};\n\n\n/**\n * NOTE: this is an ES2016 (ES7) extern.\n * @param {T} searchElement\n * @param {number=} opt_fromIndex\n * @return {boolean}\n * @this {!IArrayLike<T>|string}\n * @template T\n * @nosideeffects\n * @see https://tc39.github.io/ecma262/#sec-array.prototype.includes\n */\nArray.prototype.includes = function(searchElement, opt_fromIndex) {};\n\n/**\n * Generates an array by passing every element of this array to a callback that\n * returns an array of zero or more elements to be added to the result.\n *\n * NOTE: The specified behavior of the method is that the callback can return\n * either an Array, which will be flattened into the result, or a non-array,\n * which will simply be included.\n *\n * However, while defining that in the type information here is possible it's\n * very hard to understand both for humans and automated tools other than\n * closure-compiler that process these files. Also, we think it's best to\n * encourage writing callbacks that just always return an Array for the sake\n * of readability.\n *\n * The polyfill for this method provided by closure-compiler does behave as\n * defined in the specification, though.\n *\n * @param {function(this: THIS, T, number, !IArrayLike<T>): !Array<S>}\n * callback\n * @param {THIS=} thisArg\n * @return {!Array<S>}\n * @this {!IArrayLike<T>}\n * @template T, THIS, S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap\n */\nArray.prototype.flatMap = function(callback, thisArg) {};\n\n/**\n * @param {number=} depth\n * @return {!Array<S>}\n * @this {!IArrayLike<T>}\n * @template T, S\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat\n */\nArray.prototype.flat = function(depth) {};\n\n/**\n * @param {!Object} obj\n * @return {!Array<symbol>}\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.getownpropertysymbols\n */\nObject.getOwnPropertySymbols = function(obj) {};\n\n\n/**\n * @param {!Object} obj\n * @param {?} proto\n * @return {!Object}\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.setprototypeof\n */\nObject.setPrototypeOf = function(obj, proto) {};\n\n\n/**\n * @const {number}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON\n */\nNumber.EPSILON;\n\n/**\n * @const {number}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER\n */\nNumber.MIN_SAFE_INTEGER;\n\n/**\n * @const {number}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER\n */\nNumber.MAX_SAFE_INTEGER;\n\n\n\n/**\n * Parse an integer. Use of `parseInt` without `base` is strictly\n * banned in Google. If you really want to parse octal or hex based on the\n * leader, then pass `undefined` as the base.\n *\n * @param {string} string\n * @param {number|undefined} radix\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt\n */\nNumber.parseInt = function(string, radix) {};\n\n/**\n * @param {string} string\n * @return {number}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat\n */\nNumber.parseFloat = function(string) {};\n\n/**\n * @param {number} value\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN\n */\nNumber.isNaN = function(value) {};\n\n/**\n * @param {number} value\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite\n */\nNumber.isFinite = function(value) {};\n\n/**\n * @param {number} value\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\n */\nNumber.isInteger = function(value) {};\n\n/**\n * @param {number} value\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger\n */\nNumber.isSafeInteger = function(value) {};\n\n\n\n/**\n * @param {!Object} target\n * @param {...(Object|null|undefined)} var_args\n * @return {!Object}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\nObject.assign = function(target, var_args) {};\n\n/**\n * TODO(user): find a better place for ES2017 externs like this one.\n * NOTE: this is an ES2017 (ES8) extern.\n * @param {!Object<T>} obj\n * @return {!Array<T>} values\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\n * @throws {Error}\n * @template T\n */\nObject.values = function(obj) {};\n\n/**\n * NOTE: this is an ES2017 (ES8) extern.\n * @param {!Object<T>} obj\n * @return {!Array<!Array<(string|T)>>} entries\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\n * @throws {Error}\n * @template T\n */\nObject.entries = function(obj) {};\n\n/**\n * @param {!Iterable<*>} iter\n * @return {!Object}\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries\n */\nObject.fromEntries = function(iter) {};\n\n/**\n * NOTE: this is an ES2017 (ES8) extern.\n * @param {!Object} obj\n * @return {!Object<!ObjectPropertyDescriptor>} descriptors\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors\n * @throws {Error}\n * @template T\n */\nObject.getOwnPropertyDescriptors = function(obj) {};\n\n\n\n/**\n * @const\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\n */\nvar Reflect = {};\n\n/**\n * @param {function(this: THIS, ...?): RESULT} targetFn\n * @param {THIS} thisArg\n * @param {!Array<?>} argList\n * @return {RESULT}\n * @template THIS, RESULT\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\n */\nReflect.apply = function(targetFn, thisArg, argList) {};\n\n/**\n * @param {function(new: ?, ...?)} targetConstructorFn\n * @param {!Array<?>} argList\n * @param {function(new: TARGET, ...?)=} opt_newTargetConstructorFn\n * @return {TARGET}\n * @template TARGET\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\n */\nReflect.construct = function(\n targetConstructorFn, argList, opt_newTargetConstructorFn) {};\n\n/**\n * @param {!Object} target\n * @param {string} propertyKey\n * @param {!ObjectPropertyDescriptor} attributes\n * @return {boolean}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\n */\nReflect.defineProperty = function(target, propertyKey, attributes) {};\n\n/**\n * @param {!Object} target\n * @param {string} propertyKey\n * @return {boolean}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\n */\nReflect.deleteProperty = function(target, propertyKey) {};\n\n/**\n * @param {!Object} target\n * @param {string} propertyKey\n * @param {!Object=} opt_receiver\n * @return {*}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\n */\nReflect.get = function(target, propertyKey, opt_receiver) {};\n\n/**\n * @param {!Object} target\n * @param {string} propertyKey\n * @return {?ObjectPropertyDescriptor}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor\n */\nReflect.getOwnPropertyDescriptor = function(target, propertyKey) {};\n\n/**\n * @param {!Object} target\n * @return {?Object}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf\n */\nReflect.getPrototypeOf = function(target) {};\n\n/**\n * @param {!Object} target\n * @param {string} propertyKey\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\n */\nReflect.has = function(target, propertyKey) {};\n\n/**\n * @param {!Object} target\n * @return {boolean}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible\n */\nReflect.isExtensible = function(target) {};\n\n/**\n * @param {!Object} target\n * @return {!Array<(string|symbol)>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\n */\nReflect.ownKeys = function(target) {};\n\n/**\n * @param {!Object} target\n * @return {boolean}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\n */\nReflect.preventExtensions = function(target) {};\n\n/**\n * @param {!Object} target\n * @param {string} propertyKey\n * @param {*} value\n * @param {!Object=} opt_receiver\n * @return {boolean}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\n */\nReflect.set = function(target, propertyKey, value, opt_receiver) {};\n\n/**\n * @param {!Object} target\n * @param {?Object} proto\n * @return {boolean}\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\n */\nReflect.setPrototypeOf = function(target, proto) {};\n\n\n/**\n * @const\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics\n */\nvar Atomics = {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} value\n * @return {number}\n */\nAtomics.add = function(typedArray, index, value) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} value\n * @return {number}\n */\nAtomics.and = function(typedArray, index, value) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} expectedValue\n * @param {number} replacementValue\n * @return {number}\n */\nAtomics.compareExchange = function(\n typedArray, index, expectedValue, replacementValue) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} value\n * @return {number}\n */\nAtomics.exchange = function(typedArray, index, value) {};\n\n/**\n * @param {number} size\n * @return {boolean}\n */\nAtomics.isLockFree = function(size) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @return {number}\n */\nAtomics.load = function(typedArray, index) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} value\n * @return {number}\n */\nAtomics.or = function(typedArray, index, value) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} value\n * @return {number}\n */\nAtomics.store = function(typedArray, index, value) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} value\n * @return {number}\n */\nAtomics.sub = function(typedArray, index, value) {};\n\n/**\n * @param {!Int32Array} typedArray\n * @param {number} index\n * @param {number} value\n * @param {number=} timeout\n * @return {String}\n */\nAtomics.wait = function(typedArray, index, value, timeout) {};\n\n/**\n * @param {!Int32Array} typedArray\n * @param {number} index\n * @param {number} count\n * @return {number}\n */\nAtomics.wake = function(typedArray, index, count) {};\n\n/**\n * @param {!TypedArray} typedArray\n * @param {number} index\n * @param {number} value\n * @return {number}\n */\nAtomics.xor = function(typedArray, index, value) {};\n\n\n/**\n * TODO(user): UNUSED_RETURN_T and UNUSED_NEXT_T are not yet used for\n * anything.\n * https://github.com/google/closure-compiler/issues/3489\n * @interface\n * @template VALUE, UNUSED_RETURN_T, UNUSED_NEXT_T\n * @see https://tc39.github.io/proposal-async-iteration/\n */\nfunction AsyncIterator() {}\n\n/**\n * @param {?=} opt_value\n * @return {!Promise<!IIterableResult<VALUE>>}\n */\nAsyncIterator.prototype.next;\n\n\n/**\n * @interface\n * @template VALUE\n */\nfunction AsyncIterable() {}\n\n\n/**\n * @return {!AsyncIterator<VALUE>}\n */\nAsyncIterable.prototype[Symbol.asyncIterator] = function() {};\n\n\n/**\n * @interface\n * @extends {AsyncIterator<VALUE>}\n * @extends {AsyncIterable<VALUE>}\n * @template VALUE\n * @see https://tc39.github.io/proposal-async-iteration/\n */\nfunction AsyncIteratorIterable() {}\n\n/**\n * @interface\n * @see https://tc39.github.io/proposal-async-iteration/\n * @extends {AsyncIteratorIterable<VALUE>}\n * @template VALUE\n */\nfunction AsyncGenerator() {}\n\n/**\n * @param {?=} opt_value\n * @return {!Promise<!IIterableResult<VALUE>>}\n * @override\n */\nAsyncGenerator.prototype.next = function(opt_value) {};\n\n/**\n * @param {VALUE} value\n * @return {!Promise<!IIterableResult<VALUE>>}\n */\nAsyncGenerator.prototype.return = function(value) {};\n\n/**\n * @param {?} exception\n * @return {!Promise<!IIterableResult<VALUE>>}\n */\nAsyncGenerator.prototype.throw = function(exception) {};\n\n/**\n * @type {!Global}\n */\nvar globalThis;\n",
  768. "externs/es6_collections.js":'/*\n * Copyright 2014 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for ECMAScript 6.\n * @see http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts\n * @externs\n */\n\n// TODO(johnlenz): Use Tuples for the Map and Set iterators where appropriate.\n\n/**\n * @constructor @struct\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\n * @implements {Iterable<!Array<KEY|VALUE>>}\n * @template KEY, VALUE\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\n */\nfunction Map(opt_iterable) {}\n\n/** @return {void} */\nMap.prototype.clear = function() {};\n\n/**\n * @param {KEY} key\n * @return {boolean}\n */\nMap.prototype.delete = function(key) {};\n\n/**\n * @return {!IteratorIterable<!Array<KEY|VALUE>>}\n * @nosideeffects\n */\nMap.prototype.entries = function() {};\n\n/**\n * @param {function(this:THIS, VALUE, KEY, MAP)} callback\n * @param {THIS=} opt_thisArg\n * @this {MAP}\n * @template MAP,THIS\n */\nMap.prototype.forEach = function(callback, opt_thisArg) {};\n\n/**\n * @param {KEY} key\n * @return {VALUE}\n * @nosideeffects\n */\nMap.prototype.get = function(key) {};\n\n/**\n * @param {KEY} key\n * @return {boolean}\n * @nosideeffects\n */\nMap.prototype.has = function(key) {};\n\n/**\n * @return {!IteratorIterable<KEY>}\n * @nosideeffects\n */\nMap.prototype.keys = function() {};\n\n/**\n * @param {KEY} key\n * @param {VALUE} value\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n */\nMap.prototype.set = function(key, value) {};\n\n/**\n * @type {number}\n * (readonly)\n */\nMap.prototype.size;\n\n/**\n * @return {!IteratorIterable<VALUE>}\n * @nosideeffects\n */\nMap.prototype.values = function() {};\n\n/**\n * @return {!Iterator<!Array<KEY|VALUE>>}\n */\nMap.prototype[Symbol.iterator] = function() {};\n\n\n/**\n * @constructor @struct\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\n * @template KEY, VALUE\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n */\nfunction WeakMap(opt_iterable) {}\n\n/** @return {void} */\nWeakMap.prototype.clear = function() {};\n\n/**\n * @param {KEY} key\n * @return {boolean}\n */\nWeakMap.prototype.delete = function(key) {};\n\n/**\n * @param {KEY} key\n * @return {VALUE}\n * @nosideeffects\n */\nWeakMap.prototype.get = function(key) {};\n\n/**\n * @param {KEY} key\n * @return {boolean}\n * @nosideeffects\n */\nWeakMap.prototype.has = function(key) {};\n\n/**\n * @param {KEY} key\n * @param {VALUE} value\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n */\nWeakMap.prototype.set = function(key, value) {};\n\n/**\n * @constructor @struct\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\n * @implements {Iterable<VALUE>}\n * @template VALUE\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n */\nfunction Set(opt_iterable) {}\n\n/**\n * @param {VALUE} value\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n */\nSet.prototype.add = function(value) {};\n\n/**\n * @return {void}\n */\nSet.prototype.clear = function() {};\n\n/**\n * @param {VALUE} value\n * @return {boolean}\n */\nSet.prototype.delete = function(value) {};\n\n/**\n * @return {!IteratorIterable<!Array<VALUE>>} Where each array has two entries:\n * [value, value]\n * @nosideeffects\n */\nSet.prototype.entries = function() {};\n\n/**\n * @param {function(this: THIS, VALUE, VALUE, SET)} callback\n * @param {THIS=} opt_thisArg\n * @this {SET}\n * @template SET,THIS\n */\nSet.prototype.forEach = function(callback, opt_thisArg) {};\n\n/**\n * @param {VALUE} value\n * @return {boolean}\n * @nosideeffects\n */\nSet.prototype.has = function(value) {};\n\n/**\n * @type {number} (readonly)\n */\nSet.prototype.size;\n\n/**\n * @return {!IteratorIterable<VALUE>}\n * @nosideeffects\n */\nSet.prototype.keys = function() {};\n\n/**\n * @return {!IteratorIterable<VALUE>}\n * @nosideeffects\n */\nSet.prototype.values = function() {};\n\n/**\n * @return {!Iterator<VALUE>}\n */\nSet.prototype[Symbol.iterator] = function() {};\n\n\n\n/**\n * @constructor @struct\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\n * @template VALUE\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\n */\nfunction WeakSet(opt_iterable) {}\n\n/**\n * @param {VALUE} value\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n */\nWeakSet.prototype.add = function(value) {};\n\n/**\n * @return {void}\n */\nWeakSet.prototype.clear = function() {};\n\n/**\n * @param {VALUE} value\n * @return {boolean}\n */\nWeakSet.prototype.delete = function(value) {};\n\n/**\n * @param {VALUE} value\n * @return {boolean}\n * @nosideeffects\n */\nWeakSet.prototype.has = function(value) {};\n',
  769. "externs/w3c_event.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s event specification.\n * The whole file has been fully type annotated.\n * Created from\n * http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n */\n\n\n/**\n * @interface\n * @see https://dom.spec.whatwg.org/#interface-eventtarget\n */\nfunction EventTarget() {}\n\n/**\n * @param {string} type\n * @param {EventListener|function(this:THIS, !Event):*} listener\n * @param {(boolean|!AddEventListenerOptions)=} opt_options\n * @return {undefined}\n * @this {THIS}\n * @template THIS\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener\n */\nEventTarget.prototype.addEventListener = function(type, listener, opt_options) {\n};\n\n/**\n * @param {string} type\n * @param {EventListener|function(this:THIS, !Event):*} listener\n * @param {(boolean|!EventListenerOptions)=} opt_options\n * @return {undefined}\n * @this {THIS}\n * @template THIS\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener\n */\nEventTarget.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/**\n * @param {!Event} evt\n * @return {boolean}\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent\n */\nEventTarget.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @interface\n */\nfunction EventListener() {}\n\n/**\n * @param {!Event} evt\n * @return {undefined}\n */\nEventListener.prototype.handleEvent = function(evt) {};\n\n// The EventInit interface and the parameters to the Event constructor are part\n// of DOM Level 3 (suggested) and the DOM "Living Standard" (mandated). They are\n// included here as externs cannot be redefined. The same applies to other\n// *EventInit interfaces and *Event constructors throughout this file. See:\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-initializers\n// http://dom.spec.whatwg.org/#constructing-events\n// https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#event-constructors\n\n/**\n * @record\n * @see https://dom.spec.whatwg.org/#dictdef-eventinit\n */\nfunction EventInit() {}\n\n/** @type {(undefined|boolean)} */\nEventInit.prototype.bubbles;\n\n/** @type {(undefined|boolean)} */\nEventInit.prototype.cancelable;\n\n/** @type {(undefined|boolean)} */\nEventInit.prototype.composed;\n\n\n/**\n * @constructor\n * @param {string} type\n * @param {EventInit=} opt_eventInitDict\n */\nfunction Event(type, opt_eventInitDict) {}\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\n */\nEvent.CAPTURING_PHASE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\n */\nEvent.AT_TARGET;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\n */\nEvent.BUBBLING_PHASE;\n\n/** @type {string} */\nEvent.prototype.type;\n\n/** @type {EventTarget} */\nEvent.prototype.target;\n\n/** @type {EventTarget} */\nEvent.prototype.currentTarget;\n\n/** @type {number} */\nEvent.prototype.eventPhase;\n\n/** @type {boolean} */\nEvent.prototype.bubbles;\n\n/** @type {boolean} */\nEvent.prototype.cancelable;\n\n/** @type {number} */\nEvent.prototype.timeStamp;\n\n/**\n * Present for events spawned in browsers that support shadow dom.\n * @type {Array<!Element>|undefined}\n */\nEvent.prototype.path;\n\n/**\n * Present for events spawned in browsers that support shadow dom.\n * @type {function():Array<!EventTarget>|undefined}\n * @see https://www.w3.org/TR/shadow-dom/#widl-Event-deepPath\n */\nEvent.prototype.deepPath;\n\n/**\n * @return {undefined}\n */\nEvent.prototype.stopPropagation = function() {};\n\n/**\n * @return {undefined}\n */\nEvent.prototype.preventDefault = function() {};\n\n/**\n * @param {string} eventTypeArg\n * @param {boolean=} canBubbleArg\n * @param {boolean=} cancelableArg\n * @return {undefined}\n */\nEvent.prototype.initEvent = function(eventTypeArg, canBubbleArg, cancelableArg) {};\n\n/**\n * @record\n * @extends {EventInit}\n * @template T\n * @see https://dom.spec.whatwg.org/#dictdef-customeventinit\n */\nfunction CustomEventInit() {}\n\n/** @type {(T|undefined)} */\nCustomEventInit.prototype.detail;\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {CustomEventInit<T>=} opt_eventInitDict\n * @template T\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEvent\n */\nfunction CustomEvent(type, opt_eventInitDict) {}\n\n/**\n * @param {string} eventType\n * @param {boolean} bubbles\n * @param {boolean} cancelable\n * @param {T} detail\n * @return {undefined}\n */\nCustomEvent.prototype.initCustomEvent = function(\n eventType, bubbles, cancelable, detail) {};\n\n/**\n * @type {T}\n */\nCustomEvent.prototype.detail;\n\n/**\n * @interface\n */\nfunction DocumentEvent() {}\n\n/**\n * @param {string} eventType\n * @return {!Event}\n */\nDocumentEvent.prototype.createEvent = function(eventType) {};\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://w3c.github.io/uievents/#idl-uieventinit\n */\nfunction UIEventInit() {}\n\n/** @type {undefined|?Window} */\nUIEventInit.prototype.view;\n\n/** @type {undefined|number} */\nUIEventInit.prototype.detail;\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {UIEventInit=} opt_eventInitDict\n */\nfunction UIEvent(type, opt_eventInitDict) {}\n\n/** @type {number} */\nUIEvent.prototype.detail;\n\n/**\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {Window} viewArg\n * @param {number} detailArg\n * @return {undefined}\n */\nUIEvent.prototype.initUIEvent = function(typeArg, canBubbleArg, cancelableArg,\n viewArg, detailArg) {};\n\n/**\n * @record\n * @extends {UIEventInit}\n * @see https://w3c.github.io/uievents/#dictdef-eventmodifierinit\n */\nfunction EventModifierInit() {}\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.ctrlKey;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.shiftKey;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.altKey;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.metaKey;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierAltGraph;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierCapsLock;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierFn;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierFnLock;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierHyper;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierNumLock;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierScrollLock;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierSuper;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierSymbol;\n\n/** @type {undefined|boolean} */\nEventModifierInit.prototype.modifierSymbolLock;\n\n/**\n * @record\n * @extends {EventModifierInit}\n * @see https://w3c.github.io/uievents/#idl-mouseeventinit\n */\nfunction MouseEventInit() {}\n\n/** @type {undefined|number} */\nMouseEventInit.prototype.screenX;\n\n/** @type {undefined|number} */\nMouseEventInit.prototype.screenY;\n\n/** @type {undefined|number} */\nMouseEventInit.prototype.clientX;\n\n/** @type {undefined|number} */\nMouseEventInit.prototype.clientY;\n\n/** @type {undefined|number} */\nMouseEventInit.prototype.button;\n\n/** @type {undefined|number} */\nMouseEventInit.prototype.buttons;\n\n/** @type {undefined|?EventTarget} */\nMouseEventInit.prototype.relatedTarget;\n\n/**\n * @constructor\n * @extends {UIEvent}\n * @param {string} type\n * @param {MouseEventInit=} opt_eventInitDict\n */\nfunction MouseEvent(type, opt_eventInitDict) {}\n\n/** @type {number} */\nMouseEvent.prototype.screenX;\n\n/** @type {number} */\nMouseEvent.prototype.screenY;\n\n/** @type {number} */\nMouseEvent.prototype.clientX;\n\n/** @type {number} */\nMouseEvent.prototype.clientY;\n\n/** @type {boolean} */\nMouseEvent.prototype.ctrlKey;\n\n/** @type {boolean} */\nMouseEvent.prototype.shiftKey;\n\n/** @type {boolean} */\nMouseEvent.prototype.altKey;\n\n/** @type {boolean} */\nMouseEvent.prototype.metaKey;\n\n/** @type {number} */\nMouseEvent.prototype.button;\n\n/** @type {EventTarget} */\nMouseEvent.prototype.relatedTarget;\n\n\n/**\n * @constructor\n * @extends {Event}\n */\nfunction MutationEvent() {}\n\n/** @type {Node} */\nMutationEvent.prototype.relatedNode;\n\n/** @type {string} */\nMutationEvent.prototype.prevValue;\n\n/** @type {string} */\nMutationEvent.prototype.newValue;\n\n/** @type {string} */\nMutationEvent.prototype.attrName;\n\n/** @type {number} */\nMutationEvent.prototype.attrChange;\n\n/**\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {Node} relatedNodeArg\n * @param {string} prevValueArg\n * @param {string} newValueArg\n * @param {string} attrNameArg\n * @param {number} attrChangeArg\n * @return {undefined}\n */\nMutationEvent.prototype.initMutationEvent = function(typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg) {};\n\n\n// DOM3\n/**\n * @record\n * @extends {EventModifierInit}\n * @see https://w3c.github.io/uievents/#idl-keyboardeventinit\n */\nfunction KeyboardEventInit() {}\n\n/** @type {undefined|string} */\nKeyboardEventInit.prototype.key;\n\n/** @type {undefined|string} */\nKeyboardEventInit.prototype.code;\n\n/** @type {undefined|number} */\nKeyboardEventInit.prototype.location;\n\n/** @type {undefined|boolean} */\nKeyboardEventInit.prototype.repeat;\n\n/** @type {undefined|boolean} */\nKeyboardEventInit.prototype.isComposing;\n\n/** @type {undefined|string} */\nKeyboardEventInit.prototype.char;\n\n/** @type {undefined|string} */\nKeyboardEventInit.prototype.locale;\n\n/**\n * @see https://w3c.github.io/uievents/#idl-keyboardevent\n * @constructor\n * @extends {UIEvent}\n * @param {string} type\n * @param {KeyboardEventInit=} opt_eventInitDict\n */\nfunction KeyboardEvent(type, opt_eventInitDict) {}\n\n/** @type {string} */\nKeyboardEvent.prototype.keyIdentifier;\n\n/** @type {boolean} */\nKeyboardEvent.prototype.ctrlKey;\n\n/** @type {boolean} */\nKeyboardEvent.prototype.shiftKey;\n\n/** @type {boolean} */\nKeyboardEvent.prototype.altKey;\n\n/** @type {boolean} */\nKeyboardEvent.prototype.metaKey;\n\n/** @type {number} */\nKeyboardEvent.DOM_KEY_LOCATION_STANDARD;\n\n/** @type {number} */\nKeyboardEvent.DOM_KEY_LOCATION_LEFT;\n\n/** @type {number} */\nKeyboardEvent.DOM_KEY_LOCATION_RIGHT;\n\n/** @type {number} */\nKeyboardEvent.DOM_KEY_LOCATION_NUMPAD;\n\n/**\n * @param {string} keyIdentifierArg\n * @return {boolean}\n */\nKeyboardEvent.prototype.getModifierState = function(keyIdentifierArg) {};\n\n/**\n * @record\n * @extends {UIEventInit}\n * @see https://w3c.github.io/uievents/#idl-focuseventinit\n */\nfunction FocusEventInit() {}\n\n/** @type {undefined|?EventTarget} */\nFocusEventInit.prototype.relatedTarget;\n\n\n/**\n * The FocusEvent interface provides specific contextual information associated\n * with Focus events.\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent\n *\n * @constructor\n * @extends {UIEvent}\n * @param {string} type\n * @param {FocusEventInit=} opt_eventInitDict\n */\nfunction FocusEvent(type, opt_eventInitDict) {}\n\n/** @type {EventTarget} */\nFocusEvent.prototype.relatedTarget;\n\n\n/**\n * See https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions\n * @record\n */\nvar EventListenerOptions = function() {};\n\n/** @type {boolean|undefined} */\nEventListenerOptions.prototype.capture;\n\n/**\n * See https://dom.spec.whatwg.org/#dictdef-addeventlisteneroptions\n * @record\n * @extends {EventListenerOptions}\n */\nvar AddEventListenerOptions = function() {};\n\n/** @type {boolean|undefined} */\nAddEventListenerOptions.prototype.passive;\n\n/** @type {boolean|undefined} */\nAddEventListenerOptions.prototype.once;\n\n/**\n * @record\n * @extends {UIEventInit}\n * @see https://w3c.github.io/uievents/#idl-inputeventinit\n * @see https://w3c.github.io/input-events/#interface-InputEvent\n */\nfunction InputEventInit() {}\n\n/** @type {undefined|?string} */\nInputEventInit.prototype.data;\n\n/** @type {undefined|boolean} */\nInputEventInit.prototype.isComposing;\n\n/** @type {undefined|string} */\nInputEventInit.prototype.inputType;\n\n/** @type {undefined|?DataTransfer} */\nInputEventInit.prototype.dataTransfer;\n\n\n// TODO(user): Add getTargetRanges() once a consensus has been made\n// regarding how to structure these values. See\n// https://github.com/w3c/input-events/issues/38.\n/**\n * @constructor\n * @extends {UIEvent}\n * @param {string} type\n * @param {InputEventInit=} opt_eventInitDict\n * @see https://www.w3.org/TR/uievents/#interface-inputevent\n * @see https://w3c.github.io/input-events/#interface-InputEvent\n */\nfunction InputEvent(type, opt_eventInitDict) {}\n\n/** @type {string} */\nInputEvent.prototype.data;\n\n/** @type {boolean} */\nInputEvent.prototype.isComposed;\n\n/** @type {string} */\nInputEvent.prototype.inputType;\n\n/** @type {?DataTransfer} */\nInputEvent.prototype.dataTransfer;\n',
  770. "externs/w3c_event3.js":'/*\n * Copyright 2010 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s event Level 3 specification.\n * This file depends on w3c_event.js.\n * The whole file has been partially type annotated.\n * Created from\n * http://www.w3.org/TR/DOM-Level-3-Events/#ecma-script-binding-ecma-binding\n *\n * @externs\n * @author ericdingle@google.com (Eric Dingle)\n */\n\n/**\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {Window} viewArg\n * @param {string} keyIdentifierArg\n * @param {number} keyLocationArg\n * @param {string} modifiersList\n * @return {undefined}\n */\nKeyboardEvent.prototype.initKeyboardEvent = function(typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersList) {};\n\n/** @type {string} */\nKeyboardEvent.prototype.char;\n\n/** @type {string} */\nKeyboardEvent.prototype.code;\n\n/** @type {string} */\nKeyboardEvent.prototype.key;\n\n/** @type {number} */\nKeyboardEvent.prototype.location;\n\n/** @type {boolean} */\nKeyboardEvent.prototype.repeat;\n\n/** @type {string} */\nKeyboardEvent.prototype.locale;\n\n/** @type {number} */\nMouseEvent.prototype.buttons;\n\n/**\n * @param {string} keyIdentifierArg\n * @return {boolean}\n */\nMouseEvent.prototype.getModifierState = function(keyIdentifierArg) {};\n\n/** @type {boolean} */\nEvent.prototype.defaultPrevented;\n\n/** @type {string} */\nEvent.prototype.namespaceURI;\n\n/** @return {undefined} */\nEvent.prototype.stopImmediatePropagation = function() {};\n',
  771. "externs/w3c_device_sensor_event.js":'/*\n * Copyright 2013 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s device orientation and device motion\n * events specification.\n * This file depends on w3c_event.js.\n * The whole file has been partially type annotated.\n * Created from http://dev.w3.org/geo/api/spec-source-orientation.\n *\n * @externs\n * @author lukaszbk@google.com (Lukasz Bieniasz-Krzywiec)\n */\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://w3c.github.io/deviceorientation/spec-source-orientation.html#deviceorientation\n */\nfunction DeviceOrientationEventInit() {}\n\n/** @type {number|undefined} */\nDeviceOrientationEventInit.prototype.alpha;\n\n/** @type {number|undefined} */\nDeviceOrientationEventInit.prototype.beta;\n\n/** @type {number|undefined} */\nDeviceOrientationEventInit.prototype.gamma;\n\n/** @type {boolean|undefined} */\nDeviceOrientationEventInit.prototype.absolute;\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {!DeviceOrientationEventInit=} opt_eventInitDict\n */\nfunction DeviceOrientationEvent(type, opt_eventInitDict) {}\n\n/** @type {?number} */\nDeviceOrientationEvent.prototype.alpha;\n\n/** @type {?number} */\nDeviceOrientationEvent.prototype.beta;\n\n/** @type {?number} */\nDeviceOrientationEvent.prototype.gamma;\n\n/** @type {boolean} */\nDeviceOrientationEvent.prototype.absolute;\n\n/**\n * @type {?number}\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassAccuracy\n */\nDeviceOrientationEvent.prototype.webkitCompassAccuracy;\n\n/**\n * @type {?number}\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassHeading\n */\nDeviceOrientationEvent.prototype.webkitCompassHeading;\n\n/**\n * @constructor\n */\nfunction DeviceAcceleration() {}\n\n/** @type {?number} */\nDeviceAcceleration.prototype.x;\n\n/** @type {?number} */\nDeviceAcceleration.prototype.y;\n\n/** @type {?number} */\nDeviceAcceleration.prototype.z;\n\n/**\n * @constructor\n */\nfunction DeviceRotationRate() {}\n\n/** @type {?number} */\nDeviceRotationRate.prototype.alpha;\n\n/** @type {?number} */\nDeviceRotationRate.prototype.beta;\n\n/** @type {?number} */\nDeviceRotationRate.prototype.gamma;\n\n/**\n * @constructor\n * @extends {Event}\n */\nfunction DeviceMotionEvent() {}\n\n/** @type {?DeviceAcceleration} */\nDeviceMotionEvent.prototype.acceleration;\n\n/** @type {?DeviceAcceleration} */\nDeviceMotionEvent.prototype.accelerationIncludingGravity;\n\n/** @type {?DeviceRotationRate} */\nDeviceMotionEvent.prototype.rotationRate;\n\n/** @type {?number} */\nDeviceMotionEvent.prototype.interval;\n',
  772. "externs/gecko_event.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for all the extensions over\n * W3C\'s event specification by Gecko. This file depends on\n * w3c_event.js.\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n */\n\n// TODO: Almost all of it has not been annotated with types.\n\n/** @const {number} */ Event.prototype.HORIZONTAL_AXIS;\n/** @const {number} */ Event.prototype.VERTICAL_AXIS;\n/** @type {boolean} */ Event.prototype.altKey;\n/** @type {number} */ Event.prototype.axis;\n/** @type {number} */ Event.prototype.button;\n/** @type {boolean} */ Event.prototype.cancelBubble;\n/** @type {number} */ Event.prototype.charCode;\n/** @type {number} */ Event.prototype.clientX;\n/** @type {number} */ Event.prototype.clientY;\n/** @type {boolean} */ Event.prototype.ctrlKey;\n/** @type {EventTarget} */ Event.prototype.explicitOriginalTarget;\n/** @type {boolean} */ Event.prototype.isChar;\n/** @type {boolean} */ Event.prototype.isTrusted;\n/** @type {number} */ Event.prototype.keyCode;\n/** @type {number} */ Event.prototype.layerX;\n/** @type {number} */ Event.prototype.layerY;\n/** @type {boolean} */ Event.prototype.metaKey;\n/** @type {EventTarget} */ Event.prototype.originalTarget;\n/** @type {number} */ Event.prototype.pageX;\n/** @type {number} */ Event.prototype.pageY;\n/** @type {EventTarget|undefined} */ Event.prototype.relatedTarget;\n/** @type {number} */ Event.prototype.screenX;\n/** @type {number} */ Event.prototype.screenY;\n/** @type {boolean} */ Event.prototype.shiftKey;\n/** @type {Window} */ Event.prototype.view;\n/** @type {number} */ Event.prototype.which;\n\n/** @constructor */ function nsIDOMPageTransitionEvent() {}\n/** @type {boolean} */ nsIDOMPageTransitionEvent.prototype.persisted;\n\n//Methods\nEvent.prototype.initKeyEvent;\n/**\n * @param {string} typeArg\n * @param {boolean=} canBubbleArg\n * @param {boolean=} cancelableArg\n * @param {?Window=} viewArg\n * @param {?number=} detailArg\n * @param {number=} screenXArg\n * @param {number=} screenYArg\n * @param {number=} clientXArg\n * @param {number=} clientYArg\n * @param {boolean=} ctrlKeyArg\n * @param {boolean=} altKeyArg\n * @param {boolean=} shiftKeyArg\n * @param {boolean=} metaKeyArg\n * @param {?number=} buttonArg\n * @param {?EventTarget=} relatedTargetArg\n */\nEvent.prototype.initMouseEvent = function(typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg) {};\nEvent.prototype.initUIEvent;\nEvent.prototype.initMessageEvent;\nEvent.prototype.preventBubble;\nEvent.prototype.preventCapture;\n',
  773. "externs/ie_event.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for all the extensions over the\n * W3C\'s event specification by IE in JScript. This file depends on\n * w3c_event.js.\n *\n * @see http://msdn.microsoft.com/en-us/library/ms535863.aspx\n * @externs\n * @author acleung@google.com (Alan Leung)\n */\n\n/** @type {string} */\nEvent.prototype.Abstract;\n\n/** @type {boolean} */\nEvent.prototype.altLeft;\n\n/** @type {string} */\nEvent.prototype.Banner;\n\n/**\n * A ClipboardData on IE, but a DataTransfer on WebKit.\n * @see http://msdn.microsoft.com/en-us/library/ms535220.aspx\n * @type {(ClipboardData|undefined)}\n */\nEvent.prototype.clipboardData;\n\n/** @type {boolean} */\nEvent.prototype.contentOverflow;\n\n/** @type {boolean} */\nEvent.prototype.ctrlLeft;\n\n/** @type {string} */\nEvent.prototype.dataFld;\n\nEvent.prototype.domain;\n\n/** @type {Element} */\nEvent.prototype.fromElement;\n\n/** @type {string} */\nEvent.prototype.MoreInfo;\n\n/** @type {string} */\nEvent.prototype.nextPage;\n\n/** @type {number} */\nEvent.prototype.offsetX;\n\n/** @type {number} */\nEvent.prototype.offsetY;\n\n/** @type {string} */\nEvent.prototype.propertyName;\n\n/** @type {string} */\nEvent.prototype.qualifier;\n\n/** @type {?} */\nEvent.prototype.reason;\n\n/** @type {Object<*>} */\nEvent.prototype.recordset;\n\n/** @type {boolean} */\nEvent.prototype.repeat;\n\n/** @type {(boolean|string|undefined)} */\nEvent.prototype.returnValue;\n\n/** @type {string} */\nEvent.prototype.saveType;\n\nEvent.prototype.scheme;\n\n/** @type {boolean} */\nEvent.prototype.shiftLeft;\n\n/** @type {Window} */\nEvent.prototype.source;\n\n/** @type {Element} */\nEvent.prototype.srcElement;\n\nEvent.prototype.srcFilter;\n\n/** @type {string} */\nEvent.prototype.srcUrn;\n\n/** @type {Element} */\nEvent.prototype.toElement;\n\nEvent.prototype.userName;\n\n/** @type {number} */\nEvent.prototype.wheelDelta;\n\n/** @type {number} */\nEvent.prototype.x;\n\n/** @type {number} */\nEvent.prototype.y;\n\n/**\n * @constructor\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441257.aspx\n */\nfunction MSPointerPoint() {}\n\n/** @type {number} */\nMSPointerPoint.prototype.pointerId;\n\n/** @type {number} */\nMSPointerPoint.prototype.pointerType;\n\n/**\n * @constructor\n * @extends {Event}\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441233.aspx\n */\nfunction MSPointerEvent() {}\n\n/** @const {number} */\nMSPointerEvent.MSPOINTER_TYPE_MOUSE;\n\n/** @const {number} */\nMSPointerEvent.MSPOINTER_TYPE_PEN;\n\n/** @const {number} */\nMSPointerEvent.MSPOINTER_TYPE_TOUCH;\n\n/** @type {number} */\nMSPointerEvent.prototype.height;\n\n/** @type {number} */\nMSPointerEvent.prototype.hwTimestamp;\n\n/** @type {boolean} */\nMSPointerEvent.prototype.isPrimary;\n\n/** @type {number} */\nMSPointerEvent.prototype.pointerId;\n\n/** @type {number} */\nMSPointerEvent.prototype.pointerType;\n\n/** @type {number} */\nMSPointerEvent.prototype.pressure;\n\n/** @type {number} */\nMSPointerEvent.prototype.rotation;\n\n/** @type {number} */\nMSPointerEvent.prototype.tiltX;\n\n/** @type {number} */\nMSPointerEvent.prototype.tiltY;\n\n/** @type {number} */\nMSPointerEvent.prototype.timeStamp;\n\n/** @type {number} */\nMSPointerEvent.prototype.width;\n\n/**\n * @param {number} pointerId\n * @return {undefined}\n */\nMSPointerEvent.prototype.msReleasePointerCapture;\n\n/**\n * @param {number} pointerId\n * @return {undefined}\n */\nMSPointerEvent.prototype.msSetPointerCapture;\n\n/**\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {Window} viewArg\n * @param {number} detailArg\n * @param {number} screenXArg\n * @param {number} screenYArg\n * @param {number} clientXArg\n * @param {number} clientYArg\n * @param {boolean} ctrlKeyArg\n * @param {boolean} altKeyArg\n * @param {boolean} shiftKeyArg\n * @param {boolean} metaKeyArg\n * @param {number} buttonArg\n * @param {Element} relatedTargetArg\n * @param {number} offsetXArg\n * @param {number} offsetYArg\n * @param {number} widthArg\n * @param {number} heightArg\n * @param {number} pressure\n * @param {number} rotation\n * @param {number} tiltX\n * @param {number} tiltY\n * @param {number} pointerIdArg\n * @param {number} pointerType\n * @param {number} hwTimestampArg\n * @param {boolean} isPrimary\n * @return {undefined}\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441246.aspx\n */\nMSPointerEvent.prototype.initPointerEvent;\n\n/**\n * @constructor\n * @see http://msdn.microsoft.com/en-us/library/ie/hh968249(v=vs.85).aspx\n */\nfunction MSGesture() {}\n\n/**\n * @type {Element}\n */\nMSGesture.prototype.target;\n\n/**\n * @param {number} pointerId\n * @return {undefined}\n */\nMSGesture.prototype.addPointer = function(pointerId) {};\n\nMSGesture.prototype.stop = function() {};\n\n/**\n * @constructor\n * @extends {Event}\n * @see http://msdn.microsoft.com/en-us/library/ie/hh772076(v=vs.85).aspx\n */\nfunction MSGestureEvent() {}\n\n/** @type {number} */\nMSGestureEvent.prototype.expansion;\n\n/** @type {!MSGesture} */\nMSGestureEvent.prototype.gestureObject;\n\n/** @type {number} */\nMSGestureEvent.prototype.hwTimestamp;\n\n/** @type {number} */\nMSGestureEvent.prototype.rotation;\n\n/** @type {number} */\nMSGestureEvent.prototype.scale;\n\n/** @type {number} */\nMSGestureEvent.prototype.translationX;\n\n/** @type {number} */\nMSGestureEvent.prototype.translationY;\n\n/** @type {number} */\nMSGestureEvent.prototype.velocityAngular;\n\n/** @type {number} */\nMSGestureEvent.prototype.velocityExpansion;\n\n/** @type {number} */\nMSGestureEvent.prototype.velocityX;\n\n/** @type {number} */\nMSGestureEvent.prototype.velocityY;\n\n/**\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {Window} viewArg\n * @param {number} detailArg\n * @param {number} screenXArg\n * @param {number} screenYArg\n * @param {number} clientXArg\n * @param {number} clientYArg\n * @param {number} offsetXArg\n * @param {number} offsetYArg\n * @param {number} translationXArg\n * @param {number} translationYArg\n * @param {number} scaleArg\n * @param {number} expansionArg\n * @param {number} rotationArg\n * @param {number} velocityXArg\n * @param {number} velocityYArg\n * @param {number} velocityExpansionArg\n * @param {number} velocityAngularArg\n * @param {number} hwTimestampArg\n * @param {EventTarget} relatedTargetArg\n * @return {undefined}\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441187.aspx\n */\nMSGestureEvent.prototype.initGestureEvent;\n',
  774. "externs/webkit_event.js":'/*\n * Copyright 2009 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for all the extensions over W3C\'s\n * event specification by WebKit. This file depends on w3c_event.js.\n * All the provided definitions have been type annotated\n *\n * @externs\n * @author djlee@google.com (DJ Lee)\n */\n\n/** @type {number} */\nEvent.prototype.wheelDeltaX;\n\n/** @type {number} */\nEvent.prototype.wheelDeltaY;\n\n/**\n * @constructor\n * @extends {Event}\n * @see http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.html\n */\nfunction WebKitAnimationEvent() {}\n\n/**\n * @const {string}\n */\nWebKitAnimationEvent.prototype.animationName;\n\n/**\n * @const {number}\n */\nWebKitAnimationEvent.prototype.elapsedTime;\n',
  775. "externs/w3c_pointer_events.js":'/*\n * Copyright 2014 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Pointer Events specification.\n * Created from\n * http://www.w3.org/TR/pointerevents/\n *\n * @externs\n */\n\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property\n */\nCSSProperties.prototype.touchAction;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-pointerEnabled\n */\nNavigator.prototype.pointerEnabled;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints\n */\nNavigator.prototype.maxTouchPoints;\n\n\n/**\n * @param {number} pointerId\n * @see https://www.w3.org/TR/pointerevents/#widl-Element-setPointerCapture-void-long-pointerId\n */\nElement.prototype.setPointerCapture = function(pointerId) {};\n\n/**\n * @param {number} pointerId\n * @see https://www.w3.org/TR/pointerevents/#widl-Element-releasePointerCapture-void-long-pointerId\n */\nElement.prototype.releasePointerCapture = function(pointerId) {};\n\n/**\n * @param {number} pointerId\n * @see https://www.w3.org/TR/pointerevents/#dom-element-haspointercapture\n * @return {boolean}\n */\nElement.prototype.hasPointerCapture = function(pointerId) {};\n\n\n/**\n * @record\n * @extends {MouseEventInit}\n * @see https://www.w3.org/TR/pointerevents/#idl-def-PointerEventInit\n */\nfunction PointerEventInit() {}\n\n/** @type {undefined|number} */\nPointerEventInit.prototype.pointerId;\n\n/** @type {undefined|number} */\nPointerEventInit.prototype.width;\n\n/** @type {undefined|number} */\nPointerEventInit.prototype.height;\n\n/** @type {undefined|number} */\nPointerEventInit.prototype.pressure;\n\n/** @type {undefined|number} */\nPointerEventInit.prototype.tiltX;\n\n/** @type {undefined|number} */\nPointerEventInit.prototype.tiltY;\n\n/** @type {undefined|string} */\nPointerEventInit.prototype.pointerType;\n\n/** @type {undefined|boolean} */\nPointerEventInit.prototype.isPrimary;\n\n/**\n * @constructor\n * @extends {MouseEvent}\n * @param {string} type\n * @param {PointerEventInit=} opt_eventInitDict\n * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface\n */\nfunction PointerEvent(type, opt_eventInitDict) {}\n\n/** @type {number} */\nPointerEvent.prototype.pointerId;\n\n/** @type {number} */\nPointerEvent.prototype.width;\n\n/** @type {number} */\nPointerEvent.prototype.height;\n\n/** @type {number} */\nPointerEvent.prototype.pressure;\n\n/** @type {number} */\nPointerEvent.prototype.tiltX;\n\n/** @type {number} */\nPointerEvent.prototype.tiltY;\n\n/** @type {string} */\nPointerEvent.prototype.pointerType;\n\n/** @type {boolean} */\nPointerEvent.prototype.isPrimary;\n\n// Microsoft pointerType values\n/** @const {string} */\nPointerEvent.prototype.MSPOINTER_TYPE_TOUCH;\n\n/** @const {string} */\nPointerEvent.prototype.MSPOINTER_TYPE_PEN;\n\n/** @const {string} */\nPointerEvent.prototype.MSPOINTER_TYPE_MOUSE;\n\n/**\n * @see https://w3c.github.io/pointerevents/extension.html\n * @return {!Array<!PointerEvent>}\n */\nPointerEvent.prototype.getCoalescedEvents = function() {};\n\n',
  776. "externs/w3c_gamepad.js":'/*\n * Copyright 2013 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Gamepad specification.\n * @see http://www.w3.org/TR/gamepad/\n * @externs\n */\n\n/**\n * @return {!Array.<!Gamepad>}\n */\nnavigator.getGamepads = function() {};\n\n/**\n * @return {!Array.<!Gamepad>}\n */\nnavigator.webkitGetGamepads = function() {};\n\n\n/**\n * @interface\n */\nvar Gamepad = function() {};\n\n/**\n * @type {string}\n */\nGamepad.prototype.id; // read-only\n\n/**\n * @type {number}\n */\nGamepad.prototype.index; // read-only\n\n/**\n * @type {boolean}\n */\nGamepad.prototype.connected; // read-only\n\n/**\n * @type {number}\n */\nGamepad.prototype.timestamp; // read-only\n\n/**\n * @type {string}\n */\nGamepad.prototype.mapping; // read-only\n\n/**\n * @type {!Array.<number>}\n */\nGamepad.prototype.axes; // read-only\n\n/**\n * Note: The W3C spec changed, this property now returns an array of\n * GamepadButton objects.\n *\n * @type {(!Array.<!GamepadButton>|!Array.<number>)}\n */\nGamepad.prototype.buttons;\n\n\n/**\n * @interface\n */\nvar GamepadButton = function() {};\n\n/**\n * @type {boolean}\n */\nGamepadButton.prototype.pressed; // read-only\n\n/**\n * @type {number}\n */\nGamepadButton.prototype.value; // read-only\n',
  777. "externs/w3c_selection.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Selection API.\n *\n * @see https://w3c.github.io/selection-api/\n *\n * @externs\n */\n\n/**\n * @constructor\n * @see http://w3c.github.io/selection-api/#selection-interface\n */\nfunction Selection() {}\n\n/**\n * @type {?Node}\n * @see https://w3c.github.io/selection-api/#dom-selection-anchornode\n */\nSelection.prototype.anchorNode;\n\n/**\n * @type {number}\n * @see https://w3c.github.io/selection-api/#dom-selection-anchoroffset\n */\nSelection.prototype.anchorOffset;\n\n/**\n * @type {?Node}\n * @see https://w3c.github.io/selection-api/#dom-selection-focusnode\n */\nSelection.prototype.focusNode;\n\n/**\n * @type {number}\n * @see https://w3c.github.io/selection-api/#dom-selection-focusoffset\n */\nSelection.prototype.focusOffset;\n\n/**\n * @type {boolean}\n * @see https://w3c.github.io/selection-api/#dom-selection-iscollapsed\n */\nSelection.prototype.isCollapsed;\n\n/**\n * @type {number}\n * @see https://w3c.github.io/selection-api/#dom-selection-rangecount\n */\nSelection.prototype.rangeCount;\n\n/**\n * @type {string}\n * @see https://w3c.github.io/selection-api/#dom-selection-type\n */\nSelection.prototype.type;\n\n/**\n * @param {number} index\n * @return {!Range}\n * @nosideeffects\n * @see https://w3c.github.io/selection-api/#dom-selection-getrangeat\n */\nSelection.prototype.getRangeAt = function(index) {};\n\n/**\n * TODO(user): Clean up internal usages and make the `range` parameter a\n * `!Range` per the spec.\n * @param {?Range} range\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-addrange\n */\nSelection.prototype.addRange = function(range) {};\n\n/**\n * @param {!Range} range\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-removerange\n */\nSelection.prototype.removeRange = function(range) {};\n\n/**\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-removeallranges\n */\nSelection.prototype.removeAllRanges = function() {};\n\n/**\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-empty\n */\nSelection.prototype.empty = function() {};\n\n/**\n * @param {?Node} node\n * @param {number=} offset\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-collapse\n */\nSelection.prototype.collapse = function(node, offset) {};\n\n/**\n * @param {?Node} node\n * @param {number=} offset\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-setposition\n */\nSelection.prototype.setPosition = function(node, offset) {};\n\n/**\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-collapsetostart\n */\nSelection.prototype.collapseToStart = function() {};\n\n/**\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-collapsetoend\n */\nSelection.prototype.collapseToEnd = function() {};\n\n/**\n * TODO(user): Clean up internal usages and make the `node` parameter a `!Node`\n * per the spec.\n * @param {?Node} node\n * @param {number=} offset\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-extend\n */\nSelection.prototype.extend = function(node, offset) {};\n\n/**\n * TODO(user): Clean up internal usages and make the `anchorNode` and\n * `focusNode` parameters `!Node` per the spec.\n * @param {?Node} anchorNode\n * @param {number} anchorOffset\n * @param {?Node} focusNode\n * @param {number} focusOffset\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-setbaseandextent\n */\nSelection.prototype.setBaseAndExtent = function(anchorNode, anchorOffset, focusNode, focusOffset) {};\n\n/**\n * TODO(user): Clean up internal usages and make the `node` parameter a `!Node`\n * per the spec.\n * @param {?Node} node\n * @return {undefined}\n * @see http://w3c.github.io/selection-api/#dom-selection-selectallchildren\n */\nSelection.prototype.selectAllChildren = function(node) {};\n\n/**\n * @return {undefined}\n * @see https://w3c.github.io/selection-api/#dom-selection-deletefromdocument\n */\nSelection.prototype.deleteFromDocument = function() {};\n\n/**\n * @param {!Node} node\n * @param {boolean=} allowPartialContainment\n * @return {boolean}\n * @nosideeffects\n * @see https://w3c.github.io/selection-api/#dom-selection-containsnode\n */\nSelection.prototype.containsNode = function(node, allowPartialContainment) {};\n\n/**\n * @return {?Selection}\n * @nosideeffects\n * @see https://w3c.github.io/selection-api/#dom-window-getselection\n */\nWindow.prototype.getSelection = function() {};\n\n/**\n * @return {?Selection}\n * @nosideeffects\n * @see https://w3c.github.io/selection-api/#dom-document-getselection\n */\nDocument.prototype.getSelection = function() {};\n\n/**\n * TODO(user): Clean up internal usages and make this `?function(!Event): void`\n * per the spec.\n * @type {?function(?Event)}\n * @see https://w3c.github.io/selection-api/#dom-globaleventhandlers-onselectstart\n */\nElement.prototype.onselectstart;\n\n/**\n * @type {?function(!Event): void}\n * @see https://w3c.github.io/selection-api/#dom-globaleventhandlers-onselectionchange\n */\nElement.prototype.onselectionchange;\n',
  778. "externs/nonstandard_selection.js":'/*\n * Copyright 2011 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Nonstandard enhancements to W3C\'s Selection API.\n *\n * @externs\n */\n\n// The following were sources from the webkit externs.\n\n/** @type {?Node} */\nSelection.prototype.baseNode;\n\n/** @type {number} */\nSelection.prototype.baseOffset;\n\n/** @type {?Node} */\nSelection.prototype.extentNode;\n\n/** @type {number} */\nSelection.prototype.extentOffset;\n\n/**\n * @param {string} alter\n * @param {string} direction\n * @param {string} granularity\n * @return {undefined}\n */\nSelection.prototype.modify = function(alter, direction, granularity) {};\n\n\n// The following were sources from the gecko externs.\n\n\n/**\n * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange\n */\nSelection.prototype.selectionLanguageChange;\n\n\n// The following were sources from the ie externs.\n\n\n/**\n * @type {?Selection}\n * @see http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx\n */\nDocument.prototype.selection;\n\n/**\n * @return {undefined}\n * @see http://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspx\n */\nSelection.prototype.clear = function() {};\n\n/**\n * @return {?TextRange|?ControlRange}\n * @see http://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspx\n */\nSelection.prototype.createRange = function() {};\n\n/**\n * @return {?Array<?TextRange>}\n * @see http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspx\n */\nSelection.prototype.createRangeCollection = function() {};\n',
  779. "externs/w3c_trusted_types.js":'/*\n * Copyright 2018 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Trusted Types specification.\n * @see https://github.com/WICG/trusted-types\n * @externs\n */\n\n\n/** @constructor */\nfunction TrustedHTML() {}\n\n/** @constructor */\nfunction TrustedScript() {}\n\n/** @constructor */\nfunction TrustedScriptURL() {}\n\n/** @constructor */\nfunction TrustedURL() {}\n\n\n/** @constructor */\nfunction TrustedTypePolicy() {}\n\n/**\n * @param {string} s\n * @return {!TrustedHTML}\n */\nTrustedTypePolicy.prototype.createHTML = function(s) {};\n\n/**\n * @param {string} s\n * @return {!TrustedScript}\n */\nTrustedTypePolicy.prototype.createScript = function(s) {};\n\n/**\n * @param {string} s\n * @return {!TrustedScriptURL}\n */\nTrustedTypePolicy.prototype.createScriptURL = function(s) {};\n\n/**\n * @param {string} s\n * @return {!TrustedURL}\n */\nTrustedTypePolicy.prototype.createURL = function(s) {};\n\n\n/** @constructor */\nfunction TrustedTypePolicyFactory() {}\n\n/** @record @private */\nfunction TrustedTypePolicyOptions() {};\n\n/**\n * @type {(function(string, ...*): string)|undefined},\n */\nTrustedTypePolicyOptions.prototype.createHTML;\n\n/**\n * @type {(function(string, ...*): string)|undefined},\n */\nTrustedTypePolicyOptions.prototype.createScript;\n\n/**\n * @type {(function(string, ...*): string)|undefined},\n */\nTrustedTypePolicyOptions.prototype.createScriptURL;\n\n/**\n * @type {(function(string, ...*): string)|undefined},\n */\nTrustedTypePolicyOptions.prototype.createURL;\n\n/**\n * @param {string} name\n * @param {!TrustedTypePolicyOptions} policy\n * @param {boolean=} opt_expose\n * @return {!TrustedTypePolicy}\n */\nTrustedTypePolicyFactory.prototype.createPolicy = function(\n name, policy, opt_expose) {};\n\n/**\n * @param {string} name\n * @return {!TrustedTypePolicy}\n * @deprecated\n */\nTrustedTypePolicyFactory.prototype.getExposedPolicy = function(name) {};\n\n/** @return {!Array<string>} */\nTrustedTypePolicyFactory.prototype.getPolicyNames = function() {};\n\n/**\n * @param {*} obj\n * @return {boolean}\n */\nTrustedTypePolicyFactory.prototype.isHTML = function(obj) {};\n\n/**\n * @param {*} obj\n * @return {boolean}\n */\nTrustedTypePolicyFactory.prototype.isScript = function(obj) {};\n\n/**\n * @param {*} obj\n * @return {boolean}\n */\nTrustedTypePolicyFactory.prototype.isScriptURL = function(obj) {};\n\n/**\n * @param {*} obj\n * @return {boolean}\n * @deprecated\n */\nTrustedTypePolicyFactory.prototype.isURL = function(obj) {};\n\n/** @type {!TrustedHTML} */\nTrustedTypePolicyFactory.prototype.emptyHTML;\n\n/**\n * @type {!TrustedTypePolicyFactory}\n * @deprecated\n */\nvar TrustedTypes;\n\n/** @type {!TrustedTypePolicyFactory} */\nvar trustedTypes;\n',
  780. "externs/w3c_dom1.js":"/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C's DOM Level 1 specification.\n * The whole file has been fully type annotated. Created from\n * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n */\n\n/**\n * @constructor\n * @param {string=} message\n * @param {string=} name\n * @see https://heycam.github.io/webidl/#idl-DOMException\n */\nfunction DOMException(message, name) {}\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.INDEX_SIZE_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.DOMSTRING_SIZE_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.HIERARCHY_REQUEST_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.WRONG_DOCUMENT_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.INVALID_CHARACTER_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.NO_DATA_ALLOWED_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.NO_MODIFICATION_ALLOWED_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.NOT_FOUND_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.NOT_SUPPORTED_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nDOMException.INUSE_ATTRIBUTE_ERR;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\n */\nfunction ExceptionCode() {}\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490\n */\nfunction DOMImplementation() {}\n\n/**\n * @param {string} feature\n * @param {string} version\n * @return {boolean}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7\n * @nosideeffects\n */\nDOMImplementation.prototype.hasFeature = function(feature, version) {};\n\n/**\n * @constructor\n * @implements {EventTarget}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nfunction Node() {}\n\n/** @override */\nNode.prototype.addEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nNode.prototype.removeEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nNode.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @type {NamedNodeMap<!Attr>}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\n */\nNode.prototype.attributes;\n\n/**\n * @type {!NodeList<!Node>}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes\n */\nNode.prototype.childNodes;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild\n */\nNode.prototype.firstChild;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild\n */\nNode.prototype.lastChild;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling\n */\nNode.prototype.nextSibling;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName\n */\nNode.prototype.nodeName;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue\n */\nNode.prototype.nodeValue;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType\n */\nNode.prototype.nodeType;\n\n/**\n * @type {Document}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument\n */\nNode.prototype.ownerDocument;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode\n */\nNode.prototype.parentNode;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling\n */\nNode.prototype.previousSibling;\n\n/**\n * @param {Node} newChild\n * @return {!Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild\n */\nNode.prototype.appendChild = function(newChild) {};\n\n/**\n * @param {boolean} deep\n * @return {THIS}\n * @this {THIS}\n * @template THIS\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode\n * @nosideeffects\n */\nNode.prototype.cloneNode = function(deep) {};\n\n/**\n * @return {boolean}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes\n * @nosideeffects\n */\nNode.prototype.hasChildNodes = function() {};\n\n/**\n * @param {Node} newChild\n * @param {Node} refChild\n * @return {!Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore\n */\nNode.prototype.insertBefore = function(newChild, refChild) {};\n\n/**\n * @param {Node} oldChild\n * @return {!Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild\n */\nNode.prototype.removeChild = function(oldChild) {};\n\n/**\n * @param {Node} newChild\n * @param {Node} oldChild\n * @return {!Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild\n */\nNode.prototype.replaceChild = function(newChild, oldChild) {};\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.ATTRIBUTE_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.CDATA_SECTION_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.COMMENT_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.DOCUMENT_FRAGMENT_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.DOCUMENT_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.DOCUMENT_TYPE_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.ELEMENT_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.ENTITY_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.ENTITY_REFERENCE_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.PROCESSING_INSTRUCTION_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.TEXT_NODE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\n */\nNode.NOTATION_NODE;\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3\n */\nfunction DocumentFragment() {}\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document\n */\nfunction Document() {}\n\n/**\n * @type {DocumentType}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype\n */\nDocument.prototype.doctype;\n\n/**\n * @type {!HTMLHtmlElement}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement\n */\nDocument.prototype.documentElement;\n\n/**\n * @type {DOMImplementation}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation\n */\nDocument.prototype.implementation;\n\n/**\n * @param {string} name\n * @return {!Attr}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute\n * @nosideeffects\n */\nDocument.prototype.createAttribute = function(name) {};\n\n/**\n * @param {string} data\n * @return {!Comment}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment\n * @nosideeffects\n */\nDocument.prototype.createComment = function(data) {};\n\n/**\n * @param {string} data\n * @return {!CDATASection}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection\n * @nosideeffects\n */\nDocument.prototype.createCDATASection = function(data) {};\n\n/**\n * @return {!DocumentFragment}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment\n * @nosideeffects\n */\nDocument.prototype.createDocumentFragment = function() {};\n\n/**\n * Create a DOM element.\n *\n * Web components introduced the second parameter as a way of extending existing\n * tags (e.g. document.createElement('button', 'fancy-button')).\n *\n * @param {string} tagName\n * @param {string=} opt_typeExtension\n * @return {!Element}\n * @nosideeffects\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate\n */\nDocument.prototype.createElement = function(tagName, opt_typeExtension) {};\n\n/**\n * @param {string} target\n * @param {string} data\n * @return {!ProcessingInstruction}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction\n * @nosideeffects\n */\nDocument.prototype.createProcessingInstruction = function(target, data) {};\n\n/**\n * @param {number|string} data\n * @return {!Text}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode\n * @nosideeffects\n */\nDocument.prototype.createTextNode = function(data) {};\n\n/**\n * @param {string} tagname\n * @return {!NodeList<!Element>}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094\n * @nosideeffects\n */\nDocument.prototype.getElementsByTagName = function(tagname) {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/open\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-open\n */\nDocument.prototype.open;\n\n/**\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-close\n */\nDocument.prototype.close = function() {};\n\n/**\n * @param {!TrustedHTML|string} text\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-write\n */\nDocument.prototype.write = function(text) {};\n\n/**\n * @param {!TrustedHTML|string} text\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-writeln\n */\nDocument.prototype.writeln = function(text) {};\n\n/**\n * @constructor\n * @implements {IArrayLike<T>}\n * @implements {Iterable<T>}\n * @template T\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177\n */\nfunction NodeList() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337\n */\nNodeList.prototype.length;\n\n/**\n * @param {number} index\n * @return {T|null}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136\n */\nNodeList.prototype.item = function(index) {};\n\n/**\n * @param {?function(this:S, T, number, !NodeList<T>): ?} callback\n * @param {S=} opt_thisobj\n * @template S\n * @return {undefined}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach\n */\nNodeList.prototype.forEach = function(callback, opt_thisobj) {};\n\n/**\n * @constructor\n * @implements {IObject<(string|number), T>}\n * @implements {IArrayLike<T>}\n * @implements {Iterable<T>}\n * @template T\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922\n */\nfunction NamedNodeMap() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E\n */\nNamedNodeMap.prototype.length;\n\n/**\n * @param {string} name\n * @return {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549\n * @nosideeffects\n */\nNamedNodeMap.prototype.getNamedItem = function(name) {};\n\n/**\n * @param {number} index\n * @return {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9\n * @nosideeffects\n */\nNamedNodeMap.prototype.item = function(index) {};\n\n/**\n * @param {string} name\n * @return {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193\n */\nNamedNodeMap.prototype.removeNamedItem = function(name) {};\n\n/**\n * @param {Node} arg\n * @return {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788\n */\nNamedNodeMap.prototype.setNamedItem = function(arg) {};\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306\n */\nfunction CharacterData() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359\n */\nCharacterData.prototype.data;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C\n */\nCharacterData.prototype.length;\n\n/**\n * @param {string} arg\n * @return {undefined}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F\n */\nCharacterData.prototype.appendData = function(arg) {};\n\n/**\n * @param {number} offset\n * @param {number} count\n * @return {undefined}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781\n */\nCharacterData.prototype.deleteData = function(offset, count) {};\n\n/**\n * @param {number} offset\n * @param {string} arg\n * @return {undefined}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F\n */\nCharacterData.prototype.insertData = function(offset, arg) {};\n\n/**\n * @param {number} offset\n * @param {number} count\n * @param {string} arg\n * @return {undefined}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB\n */\nCharacterData.prototype.replaceData = function(offset, count, arg) {};\n\n/**\n * @param {number} offset\n * @param {number} count\n * @return {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF\n * @nosideeffects\n */\nCharacterData.prototype.substringData = function(offset, count) {};\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024\n */\nfunction Attr() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403\n */\nAttr.prototype.name;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273\n */\nAttr.prototype.specified;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474\n */\nAttr.prototype.value;\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614\n */\nfunction Element() {}\n\n/**\n * @type {string}\n * @implicitCast\n * @see https://dom.spec.whatwg.org/index.html#dom-element-id\n */\nElement.prototype.id;\n\n/**\n * An Element always contains a non-null NamedNodeMap containing the attributes\n * of this node.\n * @type {!NamedNodeMap<!Attr>}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\n */\nElement.prototype.attributes;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName\n */\nElement.prototype.tagName;\n\n/**\n * @implicitCast\n * @type {?}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/className\n * We type it as ? even though it is a string, because some SVG elements have\n * className that is an object, which isn't a subtype of string.\n * Alternative: TypeScript types this as string and types className on\n * SVGElement as ?.\n */\nElement.prototype.className;\n\n/**\n * @param {string} name\n * @param {?number=} flags\n * @return {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\n * @nosideeffects\n */\nElement.prototype.getAttribute = function(name, flags) {};\n\n/**\n * @param {string} name\n * @return {Attr}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode\n * @nosideeffects\n */\nElement.prototype.getAttributeNode = function(name) {};\n\n/**\n * @param {string} tagname\n * @return {!NodeList<!Element>}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D\n * @nosideeffects\n */\nElement.prototype.getElementsByTagName = function(tagname) {};\n\n/**\n * @param {string} name\n * @return {undefined}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute\n */\nElement.prototype.removeAttribute = function(name) {};\n\n/**\n * @param {Attr} oldAttr\n * @return {?Attr}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode\n */\nElement.prototype.removeAttributeNode = function(oldAttr) {};\n\n/**\n * @param {string} name\n * @param {string|number|boolean|!TrustedHTML|!TrustedScriptURL|!TrustedURL}\n * value Values are converted to strings with ToString, so we accept number\n * and boolean since both convert easily to strings.\n * @return {undefined}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttribute\n */\nElement.prototype.setAttribute = function(name, value) {};\n\n/**\n * @param {Attr} newAttr\n * @return {?Attr}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode\n */\nElement.prototype.setAttributeNode = function(newAttr) {};\n\n// Event handlers\n// The DOM level 3 spec has a good index of these\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-types\n\n/** @type {?function (Event)} */ Element.prototype.onabort;\n/** @type {?function (Event)} */ Element.prototype.onbeforeinput;\n/** @type {?function (Event)} */ Element.prototype.onbeforeunload;\n/** @type {?function (Event)} */ Element.prototype.onblur;\n/** @type {?function (Event)} */ Element.prototype.onchange;\n/** @type {?function (Event)} */ Element.prototype.onclick;\n/** @type {?function (Event)} */ Element.prototype.oncompositionstart;\n/** @type {?function (Event)} */ Element.prototype.oncompositionupdate;\n/** @type {?function (Event)} */ Element.prototype.oncompositionend;\n/** @type {?function (Event)} */ Element.prototype.oncontextmenu;\n/** @type {?function (Event)} */ Element.prototype.oncopy;\n/** @type {?function (Event)} */ Element.prototype.oncut;\n/** @type {?function (Event)} */ Element.prototype.ondblclick;\n/** @type {?function (Event)} */ Element.prototype.onerror;\n/** @type {?function (Event)} */ Element.prototype.onfocus;\n/** @type {?function (Event)} */ Element.prototype.onfocusin;\n/** @type {?function (Event)} */ Element.prototype.onfocusout;\n/** @type {?function (Event)} */ Element.prototype.oninput;\n/** @type {?function (Event)} */ Element.prototype.onkeydown;\n/** @type {?function (Event)} */ Element.prototype.onkeypress;\n/** @type {?function (Event)} */ Element.prototype.onkeyup;\n/** @type {?function (Event): void} */ Element.prototype.onload;\n/** @type {?function (Event): void} */ Element.prototype.onunload;\n/** @type {?function (Event)} */ Element.prototype.onmousedown;\n/** @type {?function (Event)} */ Element.prototype.onmousemove;\n/** @type {?function (Event)} */ Element.prototype.onmouseout;\n/** @type {?function (Event)} */ Element.prototype.onmouseover;\n/** @type {?function (Event)} */ Element.prototype.onmouseup;\n/** @type {?function (Event)} */ Element.prototype.onmousewheel;\n/** @type {?function (Event)} */ Element.prototype.onpaste;\n/** @type {?function (Event)} */ Element.prototype.onreset;\n/** @type {?function (Event)} */ Element.prototype.onresize;\n/** @type {?function (Event)} */ Element.prototype.onscroll;\n/** @type {?function (Event)} */ Element.prototype.onselect;\n/** @type {?function (Event=)} */ Element.prototype.onsubmit;\n/** @type {?function (Event)} */ Element.prototype.ontextinput;\n/** @type {?function (Event)} */ Element.prototype.onwheel;\n\n/**\n * @constructor\n * @extends {CharacterData}\n * @param {string=} contents Optional textual content.\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772\n */\nfunction Text(contents) {}\n\n/**\n * @param {number} offset\n * @return {Text}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D\n */\nText.prototype.splitText = function(offset) {};\n\n/**\n * @constructor\n * @extends {CharacterData}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322\n */\nfunction Comment() {}\n\n/**\n * @constructor\n * @extends {Text}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212\n */\nfunction CDATASection() {}\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927\n */\nfunction DocumentType() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134\n */\nDocumentType.prototype.name;\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813\n */\nfunction ProcessingInstruction() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393\n */\nProcessingInstruction.prototype.data;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192\n */\nProcessingInstruction.prototype.target;\n\n\n/**\n * @constructor\n * @implements {EventTarget}\n */\nfunction Window() {}\nWindow.prototype.Window;\n\n/** @override */\nWindow.prototype.addEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nWindow.prototype.removeEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nWindow.prototype.dispatchEvent = function(evt) {};\n\n/** @type {?function (Event)} */ Window.prototype.onabort;\n/** @type {?function (Event)} */ Window.prototype.onbeforeunload;\n/** @type {?function (Event)} */ Window.prototype.onblur;\n/** @type {?function (Event)} */ Window.prototype.onchange;\n/** @type {?function (Event)} */ Window.prototype.onclick;\n/** @type {?function (Event)} */ Window.prototype.onclose;\n/** @type {?function (Event)} */ Window.prototype.oncontextmenu;\n/** @type {?function (Event)} */ Window.prototype.ondblclick;\n/** @type {?function (Event)} */ Window.prototype.ondragdrop;\n// onerror has a special signature.\n// See\n// https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror\n/**\n * @type {?function (string, string, number, number, !Error):?}\n */\nWindow.prototype.onerror;\n/** @type {?function (Event)} */ Window.prototype.onfocus;\n/** @type {?function (Event)} */ Window.prototype.onhashchange;\n/** @type {?function (Event)} */ Window.prototype.onkeydown;\n/** @type {?function (Event)} */ Window.prototype.onkeypress;\n/** @type {?function (Event)} */ Window.prototype.onkeyup;\n/** @type {?function (Event)} */ Window.prototype.onload;\n/** @type {?function (Event)} */ Window.prototype.onmousedown;\n/** @type {?function (Event)} */ Window.prototype.onmousemove;\n/** @type {?function (Event)} */ Window.prototype.onmouseout;\n/** @type {?function (Event)} */ Window.prototype.onmouseover;\n/** @type {?function (Event)} */ Window.prototype.onmouseup;\n/** @type {?function (Event)} */ Window.prototype.onmousewheel;\n/** @type {?function (Event)} */ Window.prototype.onpaint;\n/** @type {?function (Event)} */ Window.prototype.onpopstate;\n/** @type {?function (Event)} */ Window.prototype.onreset;\n/** @type {?function (Event)} */ Window.prototype.onresize;\n/** @type {?function (Event)} */ Window.prototype.onscroll;\n/** @type {?function (Event)} */ Window.prototype.onselect;\n/** @type {?function (Event=)} */ Window.prototype.onsubmit;\n/** @type {?function (Event)} */ Window.prototype.onunhandledrejection;\n/** @type {?function (Event)} */ Window.prototype.onunload;\n/** @type {?function (Event)} */ Window.prototype.onwheel;\n",
  781. "externs/w3c_dom2.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s DOM Level 2 specification.\n * This file depends on w3c_dom1.js.\n * The whole file has been fully type annotated.\n * Created from\n * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n *\n * @externs\n */\n\n/**\n * @param {string} s id.\n * @return {Element}\n * @nosideeffects\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBId\n */\nDocument.prototype.getElementById = function(s) {};\n\n/**\n * @param {?string} namespaceURI\n * @param {string} qualifiedName\n * @param {string=} opt_typeExtension\n * @return {!Element}\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\n */\nDocument.prototype.createElementNS =\n function(namespaceURI, qualifiedName, opt_typeExtension) {};\n\n/**\n * @param {?string} namespaceURI\n * @param {string} qualifiedName\n * @return {!Attr}\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\n */\nDocument.prototype.createAttributeNS =\n function(namespaceURI, qualifiedName) {};\n\n/**\n * @param {Node} root\n * @param {number=} whatToShow\n * @param {NodeFilter=} filter\n * @param {boolean=} entityReferenceExpansion\n * @return {!NodeIterator}\n * @see https://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/traversal.html#Traversal-Document\n * @see https://dom.spec.whatwg.org/#interface-document\n * @nosideeffects\n */\nDocument.prototype.createNodeIterator = function(\n root, whatToShow, filter, entityReferenceExpansion) {};\n\n/**\n * @param {Node} root\n * @param {number=} whatToShow\n * @param {NodeFilter=} filter\n * @param {boolean=} entityReferenceExpansion\n * @return {!TreeWalker}\n * @see https://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/traversal.html#Traversal-Document\n * @see https://dom.spec.whatwg.org/#interface-document\n * @nosideeffects\n */\nDocument.prototype.createTreeWalker = function(\n root, whatToShow, filter, entityReferenceExpansion) {};\n\n/**\n * @param {string} namespace\n * @param {string} name\n * @return {!NodeList<!Element>}\n * @nosideeffects\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS\n */\nDocument.prototype.getElementsByTagNameNS = function(namespace, name) {};\n\n/**\n * @param {!Node} externalNode\n * @param {boolean=} deep\n * @return {!Node}\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode\n */\nDocument.prototype.importNode = function(externalNode, deep) {};\n\n/**\n * @constructor\n * @implements {IObject<(string|number),T>}\n * @implements {IArrayLike<T>}\n * @implements {Iterable<T>}\n * @template T\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506\n */\nfunction HTMLCollection() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551\n */\nHTMLCollection.prototype.length;\n\n/**\n * @param {number} index\n * @return {T|null}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535\n * @nosideeffects\n */\nHTMLCollection.prototype.item = function(index) {};\n\n/**\n * @param {string} name\n * @return {T|null}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976\n * @nosideeffects\n */\nHTMLCollection.prototype.namedItem = function(name) {};\n\n/**\n * @constructor\n * @extends {HTMLCollection<HTMLOptionElement>}\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#htmloptionscollection\n */\nfunction HTMLOptionsCollection() {}\n\n/**\n * @type {number}\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-length\n * @nosideeffects\n */\nHTMLOptionsCollection.prototype.length;\n\n/**\n * @param {HTMLOptionElement|HTMLOptGroupElement} element\n * @param {HTMLElement|number=} before\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-add\n */\nHTMLOptionsCollection.prototype.add = function(element, before) {};\n\n/**\n * NOTE(user): The HTMLOptionsCollection#item method is inherited from\n * HTMLCollection, but it must be declared explicitly to work around an error\n * when building a jsinterop library for GWT.\n * @param {number} index\n * @return {HTMLOptionElement}\n * @override\n * @nosideeffects\n */\nHTMLOptionsCollection.prototype.item = function(index) {};\n\n/**\n * @param {number} index\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-remove\n */\nHTMLOptionsCollection.prototype.remove = function(index) {};\n\n/**\n * @constructor\n * @extends {Document}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268\n */\nfunction HTMLDocument() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827\n */\nHTMLDocument.prototype.title;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140\n */\nHTMLDocument.prototype.referrer;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147\n */\nHTMLDocument.prototype.domain;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437\n */\nHTMLDocument.prototype.URL;\n\n/**\n * @type {!HTMLBodyElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201\n */\nHTMLDocument.prototype.body;\n\n/**\n * @type {!HTMLCollection<!HTMLImageElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117\n */\nHTMLDocument.prototype.images;\n\n/**\n * @type {!HTMLCollection<!HTMLAppletElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862\n */\nHTMLDocument.prototype.applets;\n\n/**\n * @type {!HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919\n */\nHTMLDocument.prototype.links;\n\n/**\n * @type {!HTMLCollection<!HTMLFormElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064\n */\nHTMLDocument.prototype.forms;\n\n/**\n * @type {!HTMLCollection<!HTMLAnchorElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272\n */\nHTMLDocument.prototype.anchors;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038\n */\nHTMLDocument.prototype.cookie;\n\n/**\n * @param {string=} opt_mimeType\n * @param {string=} opt_replace\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\n * Even though official spec says "no parameters" some old browsers might take\n * optional parameters: https://msdn.microsoft.com/en-us/library/ms536652(v=vs.85).aspx\n * @override\n */\nHTMLDocument.prototype.open = function(opt_mimeType, opt_replace) {};\n\n/**\n * @param {string} elementName\n * @return {!NodeList<!Element>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259\n * @nosideeffects\n */\nHTMLDocument.prototype.getElementsByName = function(elementName) {};\n\n\n/** @typedef {{\n createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator,\n createTreeWalker: function(Node, number=, NodeFilter=, boolean=) : TreeWalker\n}} */\nvar TraversalDocument;\n\n/**\n * @record\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter\n*/\nfunction NodeFilter() {}\n\n/* Constants for whatToShow */\n/** @const {number} */ NodeFilter.SHOW_ALL;\n/** @const {number} */ NodeFilter.SHOW_ATTRIBUTE;\n/** @const {number} */ NodeFilter.SHOW_CDATA_SECTION;\n/** @const {number} */ NodeFilter.SHOW_COMMENT;\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT;\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_FRAGMENT;\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_TYPE;\n/** @const {number} */ NodeFilter.SHOW_ELEMENT;\n/** @const {number} */ NodeFilter.SHOW_ENTITY;\n/** @const {number} */ NodeFilter.SHOW_ENTITY_REFERENCE;\n/** @const {number} */ NodeFilter.SHOW_NOTATION;\n/** @const {number} */ NodeFilter.SHOW_PROCESSING_INSTRUCTION;\n/** @const {number} */ NodeFilter.SHOW_TEXT;\n\n/* Consants for acceptNode */\n/** @const {number} */ NodeFilter.FILTER_ACCEPT;\n/** @const {number} */ NodeFilter.FILTER_REJECT;\n/** @const {number} */ NodeFilter.FILTER_SKIP;\n\n/**\n * @param {Node} n\n * @return {number} Any of NodeFilter.FILTER_* constants.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNode\n*/\nNodeFilter.prototype.acceptNode = function(n) {};\n\n/**\n * @interface\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator\n*/\nfunction NodeIterator() {}\n\n/**\n * Detach and invalidate the NodeIterator.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach\n * @return {undefined}\n */\nNodeIterator.prototype.detach = function() {};\n\n/**\n * @return {Node} Next node in the set.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNode\n */\nNodeIterator.prototype.nextNode = function() {};\n\n/**\n * @return {Node} Previous node in the set.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNode\n */\nNodeIterator.prototype.previousNode = function() {};\n\n/**\n * @interface\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker\n*/\nfunction TreeWalker() {}\n\n/**\n * @return {?Node} The new Node or null.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChild\n */\nTreeWalker.prototype.firstChild = function() {};\n\n/**\n * @return {?Node} The new Node or null..\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChild\n */\nTreeWalker.prototype.lastChild = function() {};\n\n/**\n * @return {?Node} The new Node or null.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNode\n */\nTreeWalker.prototype.nextNode = function() {};\n\n/**\n * @return {?Node} The new Node or null.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSibling\n */\nTreeWalker.prototype.nextSibling = function() {};\n\n/**\n * @return {?Node} The new Node or null.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNode\n */\nTreeWalker.prototype.parentNode = function() {};\n\n/**\n * @return {?Node} The new Node or null.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNode\n */\nTreeWalker.prototype.previousNode = function() {};\n\n/**\n * @return {?Node} The new Node or null.\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSibling\n */\nTreeWalker.prototype.previousSibling = function() {};\n\n/**\n * @type {Node}\n */\nTreeWalker.prototype.root;\n\n/**\n * @type {number}\n */\nTreeWalker.prototype.whatToShow;\n\n/**\n * @type {NodeFilter}\n */\nTreeWalker.prototype.filter;\n\n/**\n * @type {boolean}\n */\nTreeWalker.prototype.expandEntityReference;\n\n/**\n * @type {Node}\n */\nTreeWalker.prototype.currentNode;\n\n/**\n * @constructor\n * @extends {Element}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037\n */\nfunction HTMLElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800\n */\nHTMLElement.prototype.title;\n\n/**\n * @type {!CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\n */\nHTMLElement.prototype.style;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807\n */\nHTMLElement.prototype.lang;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740\n */\nHTMLElement.prototype.dir;\n\n/**\n * @implicitCast\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176\n */\nHTMLElement.prototype.className;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705\n */\nHTMLElement.prototype.tabIndex;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296\n */\nfunction HTMLHtmlElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775\n */\nHTMLHtmlElement.prototype.version;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77253168\n */\nfunction HTMLHeadElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909\n */\nHTMLHeadElement.prototype.profile;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @implements {LinkStyle}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001\n */\nfunction HTMLLinkElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129\n */\nHTMLLinkElement.prototype.disabled;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491\n */\nHTMLLinkElement.prototype.charset;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588\n */\nHTMLLinkElement.prototype.href;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682\n */\nHTMLLinkElement.prototype.hreflang;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125\n */\nHTMLLinkElement.prototype.media;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587\n */\nHTMLLinkElement.prototype.rel;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461\n */\nHTMLLinkElement.prototype.rev;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095\n */\nHTMLLinkElement.prototype.target;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296\n */\nHTMLLinkElement.prototype.type;\n\n/** @type {StyleSheet} */\nHTMLLinkElement.prototype.sheet;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169\n */\nfunction HTMLTitleElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413\n */\nHTMLTitleElement.prototype.text;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454\n */\nfunction HTMLMetaElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826\n */\nHTMLMetaElement.prototype.content;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449\n */\nHTMLMetaElement.prototype.httpEquiv;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081\n */\nHTMLMetaElement.prototype.name;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789\n */\nHTMLMetaElement.prototype.scheme;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039\n */\nfunction HTMLBaseElement() {}\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887\n */\nHTMLBaseElement.prototype.href;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298\n */\nHTMLBaseElement.prototype.target;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003\n */\nfunction HTMLIsIndexElement() {}\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980\n */\nHTMLIsIndexElement.prototype.form;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862\n */\nHTMLIsIndexElement.prototype.prompt;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @implements {LinkStyle}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977\n */\nfunction HTMLStyleElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010\n */\nHTMLStyleElement.prototype.disabled;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738\n */\nHTMLStyleElement.prototype.media;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002\n */\nHTMLStyleElement.prototype.type;\n\n/** @type {StyleSheet} */\nHTMLStyleElement.prototype.sheet;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039\n */\nfunction HTMLBodyElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581\n */\nHTMLBodyElement.prototype.aLink;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810\n */\nHTMLBodyElement.prototype.background;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24940084\n */\nHTMLBodyElement.prototype.bgColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206\n */\nHTMLBodyElement.prototype.link;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763\n */\nHTMLBodyElement.prototype.text;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305\n */\nHTMLBodyElement.prototype.vLink;\n\n/**\n * @constructor\n * @extends {HTMLCollection<T>}\n * @implements {IObject<string, (T|RadioNodeList<T>)>}\n * @implements {IArrayLike<T>}\n * @template T\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface\n */\nfunction HTMLFormControlsCollection() {}\n\n/**\n * @param {string} name\n * @return {T|RadioNodeList<T>|null}\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem\n * @nosideeffects\n * @override\n */\nHTMLFormControlsCollection.prototype.namedItem = function(name) {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357\n */\nfunction HTMLFormElement() {}\n\n/**\n * @type {!HTMLFormControlsCollection<!HTMLElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479\n */\nHTMLFormElement.prototype.elements;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length\n */\nHTMLFormElement.prototype.length;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454\n */\nHTMLFormElement.prototype.name;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795\n */\nHTMLFormElement.prototype.acceptCharset;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184\n */\nHTMLFormElement.prototype.action;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810\n */\nHTMLFormElement.prototype.enctype;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539\n */\nHTMLFormElement.prototype.method;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890\n */\nHTMLFormElement.prototype.target;\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676\n */\nHTMLFormElement.prototype.submit = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677\n */\nHTMLFormElement.prototype.reset = function() {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980\n */\nfunction HTMLSelectElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172\n */\nHTMLSelectElement.prototype.type;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760\n */\nHTMLSelectElement.prototype.selectedIndex;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919\n */\nHTMLSelectElement.prototype.value;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486\n */\nHTMLSelectElement.prototype.length;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458\n */\nHTMLSelectElement.prototype.form;\n\n/**\n * @type {!HTMLOptionsCollection}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413\n */\nHTMLSelectElement.prototype.options;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918\n */\nHTMLSelectElement.prototype.disabled;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613\n */\nHTMLSelectElement.prototype.multiple;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323\n */\nHTMLSelectElement.prototype.name;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826\n */\nHTMLSelectElement.prototype.size;\n\n/**\n * @param {HTMLElement} element\n * @param {HTMLElement=} opt_before\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106\n */\nHTMLSelectElement.prototype.add = function(element, opt_before) {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144\n * @override\n */\nHTMLSelectElement.prototype.blur = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014\n * @override\n */\nHTMLSelectElement.prototype.focus = function() {};\n\n/**\n * @param {number=} opt_index\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570\n * @override\n */\nHTMLSelectElement.prototype.remove = function(opt_index) {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247\n */\nfunction HTMLOptGroupElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803\n */\nHTMLOptGroupElement.prototype.disabled;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054\n */\nHTMLOptGroupElement.prototype.label;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257\n */\nfunction HTMLOptionElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574\n */\nHTMLOptionElement.prototype.defaultSelected;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473\n */\nHTMLOptionElement.prototype.disabled;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503\n */\nHTMLOptionElement.prototype.form;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413\n */\nHTMLOptionElement.prototype.index;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115\n */\nHTMLOptionElement.prototype.label;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476\n */\nHTMLOptionElement.prototype.selected;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426\n */\nHTMLOptionElement.prototype.text;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554\n */\nHTMLOptionElement.prototype.value;\n\n\n\n/**\n * @constructor\n * @extends {HTMLOptionElement}\n * @param {*=} opt_text\n * @param {*=} opt_value\n * @param {*=} opt_defaultSelected\n * @param {*=} opt_selected\n */\nfunction Option(opt_text, opt_value, opt_defaultSelected, opt_selected) {}\n\n\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025\n */\nfunction HTMLInputElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520\n */\nHTMLInputElement.prototype.accept;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154\n */\nHTMLInputElement.prototype.accessKey;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182\n */\nHTMLInputElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314\n */\nHTMLInputElement.prototype.alt;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917\n */\nHTMLInputElement.prototype.checked;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171\n */\nHTMLInputElement.prototype.defaultChecked;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157\n */\nHTMLInputElement.prototype.defaultValue;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781\n */\nHTMLInputElement.prototype.disabled;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895\n */\nHTMLInputElement.prototype.form;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353\n */\nHTMLInputElement.prototype.maxLength;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498\n */\nHTMLInputElement.prototype.name;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592\n */\nHTMLInputElement.prototype.readOnly;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438\n */\nHTMLInputElement.prototype.size;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704\n */\nHTMLInputElement.prototype.src;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355\n */\nHTMLInputElement.prototype.tabIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744\n */\nHTMLInputElement.prototype.type;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706\n */\nHTMLInputElement.prototype.useMap;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485\n */\nHTMLInputElement.prototype.value;\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235\n * @override\n */\nHTMLInputElement.prototype.blur = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361\n * @override\n */\nHTMLInputElement.prototype.click = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295\n * @override\n */\nHTMLInputElement.prototype.focus = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168\n */\nHTMLInputElement.prototype.select = function() {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179\n */\nfunction HTMLTextAreaElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991\n */\nHTMLTextAreaElement.prototype.accessKey;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225\n */\nHTMLTextAreaElement.prototype.cols;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213\n */\nHTMLTextAreaElement.prototype.defaultValue;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443\n */\nHTMLTextAreaElement.prototype.disabled;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464\n */\nHTMLTextAreaElement.prototype.form;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578\n */\nHTMLTextAreaElement.prototype.name;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423\n */\nHTMLTextAreaElement.prototype.readOnly;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887\n */\nHTMLTextAreaElement.prototype.rows;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303\n */\nHTMLTextAreaElement.prototype.tabIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type\n */\nHTMLTextAreaElement.prototype.type;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579\n */\nHTMLTextAreaElement.prototype.value;\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689\n * @override\n */\nHTMLTextAreaElement.prototype.blur = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426\n * @override\n */\nHTMLTextAreaElement.prototype.focus = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622\n */\nHTMLTextAreaElement.prototype.select = function() {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697\n */\nfunction HTMLButtonElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431\n */\nHTMLButtonElement.prototype.accessKey;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155\n */\nHTMLButtonElement.prototype.disabled;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493\n */\nHTMLButtonElement.prototype.form;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910\n */\nHTMLButtonElement.prototype.name;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908\n */\nHTMLButtonElement.prototype.tabIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092\n */\nHTMLButtonElement.prototype.type;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782\n */\nHTMLButtonElement.prototype.value;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394\n */\nfunction HTMLLabelElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892\n */\nHTMLLabelElement.prototype.accessKey;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901\n */\nHTMLLabelElement.prototype.form;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813\n */\nHTMLLabelElement.prototype.htmlFor;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882\n */\nfunction HTMLFieldSetElement() {}\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630\n */\nHTMLFieldSetElement.prototype.form;\n\n/**\n * @type {boolean}\n * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled\n */\nHTMLFieldSetElement.prototype.disabled;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039\n */\nfunction HTMLLegendElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832\n */\nHTMLLegendElement.prototype.accessKey;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067\n */\nHTMLLegendElement.prototype.align;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519\n */\nHTMLLegendElement.prototype.form;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457\n */\nfunction HTMLUListElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178\n */\nHTMLUListElement.prototype.compact;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670\n */\nHTMLUListElement.prototype.type;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027\n */\nfunction HTMLOListElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506\n */\nHTMLOListElement.prototype.compact;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325\n */\nHTMLOListElement.prototype.start;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103\n */\nHTMLOListElement.prototype.type;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974\n */\nfunction HTMLDListElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539\n */\nHTMLDListElement.prototype.compact;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284\n */\nfunction HTMLDirectoryElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739\n */\nHTMLDirectoryElement.prototype.compact;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element\n */\nfunction HTMLMenuElement() {}\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464\n */\nHTMLMenuElement.prototype.compact;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021\n */\nfunction HTMLLIElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668\n */\nHTMLLIElement.prototype.type;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263\n */\nHTMLLIElement.prototype.value;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964\n */\nfunction HTMLDivElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791\n */\nHTMLDivElement.prototype.align;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076\n */\nfunction HTMLParagraphElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507\n */\nHTMLParagraphElement.prototype.align;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119\n */\nfunction HTMLHeadingElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462\n */\nHTMLHeadingElement.prototype.align;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763\n */\nfunction HTMLQuoteElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598\n */\nHTMLQuoteElement.prototype.cite;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425\n */\nfunction HTMLPreElement() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083\n */\nHTMLPreElement.prototype.width;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063\n */\nfunction HTMLBRElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081\n */\nHTMLBRElement.prototype.clear;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408\n */\nfunction HTMLBaseFontElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302\n */\nHTMLBaseFontElement.prototype.color;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969\n */\nHTMLBaseFontElement.prototype.face;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424\n */\nHTMLBaseFontElement.prototype.size;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847\n */\nfunction HTMLFontElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975\n */\nHTMLFontElement.prototype.color;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655\n */\nHTMLFontElement.prototype.face;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284\n */\nHTMLFontElement.prototype.size;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811\n */\nfunction HTMLHRElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012\n */\nHTMLHRElement.prototype.align;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978\n */\nHTMLHRElement.prototype.noShade;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587\n */\nHTMLHRElement.prototype.size;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198\n */\nHTMLHRElement.prototype.width;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609\n */\nfunction HTMLModElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708\n */\nHTMLModElement.prototype.cite;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678\n */\nHTMLModElement.prototype.dateTime;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443\n */\nfunction HTMLAnchorElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724\n */\nHTMLAnchorElement.prototype.accessKey;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266\n */\nHTMLAnchorElement.prototype.charset;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539\n */\nHTMLAnchorElement.prototype.coords;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319\n */\nHTMLAnchorElement.prototype.href;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513\n */\nHTMLAnchorElement.prototype.hreflang;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304\n */\nHTMLAnchorElement.prototype.name;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891\n */\nHTMLAnchorElement.prototype.rel;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771\n */\nHTMLAnchorElement.prototype.rev;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808\n */\nHTMLAnchorElement.prototype.shape;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466\n */\nHTMLAnchorElement.prototype.tabIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197\n */\nHTMLAnchorElement.prototype.target;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221\n */\nHTMLAnchorElement.prototype.type;\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939\n * @override\n */\nHTMLAnchorElement.prototype.blur = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313\n * @override\n */\nHTMLAnchorElement.prototype.focus = function() {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901\n */\nfunction HTMLImageElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094\n */\nHTMLImageElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861\n */\nHTMLImageElement.prototype.alt;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671\n */\nHTMLImageElement.prototype.border;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496\n */\nHTMLImageElement.prototype.height;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471\n */\nHTMLImageElement.prototype.hspace;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880\n */\nHTMLImageElement.prototype.isMap;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969\n */\nHTMLImageElement.prototype.longDesc;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910\n */\nHTMLImageElement.prototype.lowSrc;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097\n */\nHTMLImageElement.prototype.name;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984\n */\nHTMLImageElement.prototype.src;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181\n */\nHTMLImageElement.prototype.useMap;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897\n */\nHTMLImageElement.prototype.vspace;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076\n */\nHTMLImageElement.prototype.width;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177\n */\nfunction HTMLObjectElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097\n */\nHTMLObjectElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837\n */\nHTMLObjectElement.prototype.archive;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419\n */\nHTMLObjectElement.prototype.border;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146\n */\nHTMLObjectElement.prototype.code;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136\n */\nHTMLObjectElement.prototype.codeBase;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008\n */\nHTMLObjectElement.prototype.codeType;\n\n/**\n * @type {Document}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621\n */\nHTMLObjectElement.prototype.contentDocument;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986\n */\nHTMLObjectElement.prototype.data;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770\n */\nHTMLObjectElement.prototype.declare;\n\n/**\n * @type {HTMLFormElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773\n */\nHTMLObjectElement.prototype.form;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838\n */\nHTMLObjectElement.prototype.height;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376\n */\nHTMLObjectElement.prototype.hspace;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362\n */\nHTMLObjectElement.prototype.name;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673\n */\nHTMLObjectElement.prototype.standby;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787\n */\nHTMLObjectElement.prototype.tabIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621\n */\nHTMLObjectElement.prototype.type;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772\n */\nHTMLObjectElement.prototype.useMap;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483\n */\nHTMLObjectElement.prototype.vspace;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620\n */\nHTMLObjectElement.prototype.width;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273\n */\nfunction HTMLParamElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447\n */\nHTMLParamElement.prototype.name;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888\n */\nHTMLParamElement.prototype.type;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357\n */\nHTMLParamElement.prototype.value;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872\n */\nHTMLParamElement.prototype.valueType;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348\n */\nfunction HTMLAppletElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912\n */\nHTMLAppletElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064\n */\nHTMLAppletElement.prototype.alt;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360\n */\nHTMLAppletElement.prototype.archive;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645\n */\nHTMLAppletElement.prototype.code;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160\n */\nHTMLAppletElement.prototype.codeBase;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867\n */\nHTMLAppletElement.prototype.height;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197\n */\nHTMLAppletElement.prototype.hspace;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695\n */\nHTMLAppletElement.prototype.name;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523\n */\nHTMLAppletElement.prototype.object;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173\n */\nHTMLAppletElement.prototype.vspace;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327\n */\nHTMLAppletElement.prototype.width;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203\n */\nfunction HTMLMapElement() {}\n\n/**\n * @type {HTMLCollection<!HTMLAreaElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730\n */\nHTMLMapElement.prototype.areas;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514\n */\nHTMLMapElement.prototype.name;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118\n */\nfunction HTMLAreaElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457\n */\nHTMLAreaElement.prototype.accessKey;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416\n */\nHTMLAreaElement.prototype.alt;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476\n */\nHTMLAreaElement.prototype.coords;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936\n */\nHTMLAreaElement.prototype.href;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871\n */\nHTMLAreaElement.prototype.noHref;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271\n */\nHTMLAreaElement.prototype.shape;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121\n */\nHTMLAreaElement.prototype.tabIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682\n */\nHTMLAreaElement.prototype.target;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695\n */\nfunction HTMLScriptElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677\n */\nHTMLScriptElement.prototype.charset;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534\n */\nHTMLScriptElement.prototype.defer;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403\n */\nHTMLScriptElement.prototype.event;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266\n */\nHTMLScriptElement.prototype.htmlFor;\n\n/**\n * @type {?function(!Event)}\n */\nHTMLScriptElement.prototype.onreadystatechange;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231\n */\nHTMLScriptElement.prototype.src;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999\n */\nHTMLScriptElement.prototype.text;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818\n */\nHTMLScriptElement.prototype.type;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425\n */\nfunction HTMLTableElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977\n */\nHTMLTableElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985\n */\nHTMLTableElement.prototype.bgColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400\n */\nHTMLTableElement.prototype.border;\n\n/**\n * @type {HTMLTableCaptionElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520\n */\nHTMLTableElement.prototype.caption;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158\n */\nHTMLTableElement.prototype.cellPadding;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883\n */\nHTMLTableElement.prototype.cellSpacing;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476\n */\nHTMLTableElement.prototype.frame;\n\n/**\n * @type {HTMLCollection<!HTMLTableRowElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016\n */\nHTMLTableElement.prototype.rows;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553\n */\nHTMLTableElement.prototype.rules;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528\n */\nHTMLTableElement.prototype.summary;\n\n/**\n * @type {HTMLCollection<!HTMLTableSectionElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416\n */\nHTMLTableElement.prototype.tBodies;\n\n/**\n * @type {HTMLTableSectionElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097\n */\nHTMLTableElement.prototype.tFoot;\n\n/**\n * @type {HTMLTableSectionElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944\n */\nHTMLTableElement.prototype.tHead;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361\n */\nHTMLTableElement.prototype.width;\n\n/**\n * @return {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263\n */\nHTMLTableElement.prototype.createCaption = function() {};\n\n/**\n * @return {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710\n */\nHTMLTableElement.prototype.createTFoot = function() {};\n\n/**\n * @return {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345\n */\nHTMLTableElement.prototype.createTHead = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071\n */\nHTMLTableElement.prototype.deleteCaption = function() {};\n\n/**\n * @param {number} index\n * @return {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938\n */\nHTMLTableElement.prototype.deleteRow = function(index) {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258\n */\nHTMLTableElement.prototype.deleteTFoot = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198\n */\nHTMLTableElement.prototype.deleteTHead = function() {};\n\n/**\n * @param {number=} opt_index\n * @return {HTMLElement}\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement\n */\nHTMLTableElement.prototype.insertRow = function(opt_index) {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137\n */\nfunction HTMLTableCaptionElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068\n */\nHTMLTableCaptionElement.prototype.align;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186\n */\nfunction HTMLTableColElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447\n */\nHTMLTableColElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412\n */\nHTMLTableColElement.prototype.ch;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225\n */\nHTMLTableColElement.prototype.chOff;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335\n */\nHTMLTableColElement.prototype.span;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710\n */\nHTMLTableColElement.prototype.vAlign;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799\n */\nHTMLTableColElement.prototype.width;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573\n */\nfunction HTMLTableSectionElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119\n */\nHTMLTableSectionElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012\n */\nHTMLTableSectionElement.prototype.ch;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732\n */\nHTMLTableSectionElement.prototype.chOff;\n\n/**\n * @type {HTMLCollection<!HTMLTableRowElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650\n */\nHTMLTableSectionElement.prototype.rows;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116\n */\nHTMLTableSectionElement.prototype.vAlign;\n\n/**\n * @param {number} index\n * @return {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626\n */\nHTMLTableSectionElement.prototype.deleteRow = function(index) {};\n\n/**\n * @param {number=} opt_index\n * @return {HTMLElement}\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement\n */\nHTMLTableSectionElement.prototype.insertRow = function(opt_index) {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576\n */\nfunction HTMLTableRowElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257\n */\nHTMLTableRowElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327\n */\nHTMLTableRowElement.prototype.bgColor;\n\n/**\n * @type {HTMLCollection<!HTMLTableCellElement>}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879\n */\nHTMLTableRowElement.prototype.cells;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502\n */\nHTMLTableRowElement.prototype.ch;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461\n */\nHTMLTableRowElement.prototype.chOff;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567\n */\nHTMLTableRowElement.prototype.rowIndex;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79105901\n */\nHTMLTableRowElement.prototype.sectionRowIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058\n */\nHTMLTableRowElement.prototype.vAlign;\n\n/**\n * @param {number} index\n * @return {undefined}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598\n */\nHTMLTableRowElement.prototype.deleteCell = function(index) {};\n\n/**\n * @param {number} index\n * @return {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016\n */\nHTMLTableRowElement.prototype.insertCell = function(index) {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075\n */\nfunction HTMLTableCellElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037\n */\nHTMLTableCellElement.prototype.abbr;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879\n */\nHTMLTableCellElement.prototype.align;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418\n */\nHTMLTableCellElement.prototype.axis;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431\n */\nHTMLTableCellElement.prototype.bgColor;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363\n */\nHTMLTableCellElement.prototype.cellIndex;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780\n */\nHTMLTableCellElement.prototype.ch;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310\n */\nHTMLTableCellElement.prototype.chOff;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244\n */\nHTMLTableCellElement.prototype.colSpan;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817\n */\nHTMLTableCellElement.prototype.headers;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212\n */\nHTMLTableCellElement.prototype.height;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045\n */\nHTMLTableCellElement.prototype.noWrap;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625\n */\nHTMLTableCellElement.prototype.rowSpan;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952\n */\nHTMLTableCellElement.prototype.scope;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221\n */\nHTMLTableCellElement.prototype.vAlign;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795\n */\nHTMLTableCellElement.prototype.width;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095\n */\nfunction HTMLFrameSetElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594\n */\nHTMLFrameSetElement.prototype.cols;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247\n */\nHTMLFrameSetElement.prototype.rows;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553\n */\nfunction HTMLFrameElement() {}\n\n/**\n * @type {Document}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536\n */\nHTMLFrameElement.prototype.contentDocument;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633\n */\nHTMLFrameElement.prototype.frameBorder;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998\n */\nHTMLFrameElement.prototype.longDesc;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778\n */\nHTMLFrameElement.prototype.marginHeight;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969\n */\nHTMLFrameElement.prototype.marginWidth;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709\n */\nHTMLFrameElement.prototype.name;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578\n */\nHTMLFrameElement.prototype.noResize;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424\n */\nHTMLFrameElement.prototype.scrolling;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535\n */\nHTMLFrameElement.prototype.src;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718\n */\nfunction HTMLIFrameElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947\n */\nHTMLIFrameElement.prototype.align;\n\n/**\n * @type {Document}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006\n */\nHTMLIFrameElement.prototype.contentDocument;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410\n */\nHTMLIFrameElement.prototype.frameBorder;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118\n */\nHTMLIFrameElement.prototype.height;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105\n */\nHTMLIFrameElement.prototype.longDesc;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294\n */\nHTMLIFrameElement.prototype.marginHeight;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595\n */\nHTMLIFrameElement.prototype.marginWidth;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659\n */\nHTMLIFrameElement.prototype.name;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822\n */\nHTMLIFrameElement.prototype.scrolling;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957\n */\nHTMLIFrameElement.prototype.src;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005\n */\nHTMLIFrameElement.prototype.width;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\n */\nDOMException.INVALID_STATE_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\n */\nDOMException.SYNTAX_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\n */\nDOMException.INVALID_MODIFICATION_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\n */\nDOMException.NAMESPACE_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\n */\nDOMException.INVALID_ACCESS_ERR;\n/**\n * @type {boolean}\n * @see https://developer.mozilla.org/en/DOM/window.closed\n */\nWindow.prototype.closed;\n\n/**\n * @type {HTMLObjectElement|HTMLIFrameElement|null}\n * @see https://developer.mozilla.org/en/DOM/window.frameElement\n */\nWindow.prototype.frameElement;\n\n/**\n * Allows lookup of frames by index or by name.\n * @type {!Window}\n * @see https://developer.mozilla.org/en/DOM/window.frames\n */\nWindow.prototype.frames;\n\n/**\n * @type {!History}\n * @suppress {duplicate}\n * @see https://developer.mozilla.org/en/DOM/window.history\n */\nvar history;\n\n/**\n * @type {!History}\n * @see https://developer.mozilla.org/en/DOM/window.history\n */\nWindow.prototype.history;\n\n/**\n * Returns the number of frames (either frame or iframe elements) in the\n * window.\n *\n * @type {number}\n * @see https://developer.mozilla.org/en/DOM/window.length\n */\nWindow.prototype.length;\n\n/**\n * Location has an exception in the DeclaredGlobalExternsOnWindow pass\n * so we have to manually include it:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116\n *\n * @type {!Location}\n * @implicitCast\n * @see https://developer.mozilla.org/en/DOM/window.location\n */\nWindow.prototype.location;\n\n/**\n\n * @type {string}\n * @see https://developer.mozilla.org/en/DOM/window.name\n */\nWindow.prototype.name;\n\n/**\n * @type {Navigator}\n * @see https://developer.mozilla.org/en/DOM/window.navigator\n */\nWindow.prototype.navigator;\n\n/**\n * @type {?Window}\n * @see https://developer.mozilla.org/en/DOM/window.opener\n */\nWindow.prototype.opener;\n\n/**\n * @type {!Window}\n * @see https://developer.mozilla.org/en/DOM/window.parent\n */\nWindow.prototype.parent;\n\n/**\n * @type {!Window}\n * @see https://developer.mozilla.org/en/DOM/window.self\n */\nWindow.prototype.self;\n\n/**\n * @type {?string}\n * @see https://developer.mozilla.org/en/DOM/window.status\n */\nWindow.prototype.status;\n\n/**\n * @interface\n * @see https://html.spec.whatwg.org/multipage/window-object.html#the-status-bar-barprop-object\n */\nfunction BarProp() {}\n\n/** @const {boolean} */\nBarProp.prototype.visible;\n\n/**\n * @type {!BarProp}\n * @see https://developer.mozilla.org/en/DOM/window.locationbar\n */\nWindow.prototype.locationbar;\n\n/**\n * @type {!BarProp}\n * @see https://developer.mozilla.org/en/DOM/window.menubar\n */\nWindow.prototype.menubar;\n\n/**\n * @type {!BarProp}\n * @see https://developer.mozilla.org/en/DOM/window.personalbar\n */\nWindow.prototype.personalbar;\n\n\n/**\n * @type {!BarProp}\n * @see https://developer.mozilla.org/en/DOM/window.scrollbars\n */\nWindow.prototype.scrollbars;\n\n/**\n * @type {!BarProp}\n * @see https://developer.mozilla.org/en/DOM/window.statusbar\n */\nWindow.prototype.statusbar;\n\n/**\n * @type {!BarProp}\n * @see https://developer.mozilla.org/en/DOM/window.toolbar\n */\nWindow.prototype.toolbar;\n\n/**\n * @type {!Window}\n * @see https://developer.mozilla.org/en/DOM/window.self\n */\nWindow.prototype.top;\n\n/**\n * @type {!Window}\n * @see https://developer.mozilla.org/en/DOM/window.self\n */\nWindow.prototype.window;\n\n/**\n * @param {*} message\n * @see https://developer.mozilla.org/en/DOM/window.alert\n * @return {undefined}\n */\nWindow.prototype.alert = function(message) {};\n\n/**\n * @param {*} message\n * @return {boolean}\n * @see https://developer.mozilla.org/en/DOM/window.confirm\n */\nWindow.prototype.confirm = function(message) {};\n\n/**\n * @param {string} message\n * @param {string=} value\n * @return {?string}\n * @see https://developer.mozilla.org/en/DOM/window.prompt\n */\nWindow.prototype.prompt = function(message, value) {};\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.blur\n * @return {undefined}\n */\nWindow.prototype.blur = function() {};\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.close\n * @return {undefined}\n */\nWindow.prototype.close = function() {};\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.focus\n * @return {undefined}\n */\nWindow.prototype.focus = function() {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/print\n * @return {undefined}\n */\nWindow.prototype.print = function() {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/stop\n * @return {undefined}\n */\nWindow.prototype.stop = function() {};\n\n/**\n * @param {*=} url\n * @param {string=} windowName\n * @param {string=} windowFeatures\n * @param {boolean=} replace\n * @return {Window}\n * @see http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx\n */\nWindow.prototype.open = function(url, windowName, windowFeatures, replace) {};\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML\n * @implicitCast\n */\nElement.prototype.innerHTML;\n\n/**\n * @type {string}\n * @implicitCast\n * @see https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface\n */\nElement.prototype.outerHTML;\n\n',
  782. "externs/w3c_dom3.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s DOM Level 3 specification.\n * This file depends on w3c_dom2.js.\n * The whole file has been fully type annotated.\n * Created from\n * http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n */\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\n */\nDOMException.prototype.code;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\n */\nDOMException.VALIDATION_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\n */\nDOMException.TYPE_MISMATCH_ERR;\n\n/**\n * @constructor\n * @implements {IArrayLike<string>}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList\n */\nfunction DOMStringList() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length\n */\nDOMStringList.prototype.length;\n\n/**\n * @param {string} str\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains\n * @nosideeffects\n */\nDOMStringList.prototype.contains = function(str) {};\n\n/**\n * @param {number} index\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item\n * @nosideeffects\n */\nDOMStringList.prototype.item = function(index) {};\n\n/**\n * @constructor\n * @implements {IArrayLike<!DOMImplementation>}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList\n */\nfunction DOMImplementationList() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length\n */\nDOMImplementationList.prototype.length;\n\n/**\n * @param {number} index\n * @return {DOMImplementation}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item\n * @nosideeffects\n */\nDOMImplementationList.prototype.item = function(index) {};\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource\n */\nfunction DOMImplementationSource() {}\n\n/**\n * @param {?string} namespaceURI\n * @param {string} publicId\n * @param {DocumentType=} doctype\n * @return {Document}\n * @see https://dom.spec.whatwg.org/#ref-for-dom-domimplementation-createdocument%E2%91%A0\n * @nosideeffects\n */\nDOMImplementation.prototype.createDocument = function(namespaceURI, publicId, doctype) {};\n\n/**\n * @param {string} qualifiedName\n * @param {string} publicId\n * @param {string} systemId\n * @return {DocumentType}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType\n * @nosideeffects\n */\nDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {};\n\n/**\n * @param {string} features\n * @return {DOMImplementation}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl\n * @nosideeffects\n */\nDOMImplementationSource.prototype.getDOMImplementation = function(features) {};\n\n/**\n * @param {string} features\n * @return {DOMImplementationList}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls\n * @nosideeffects\n */\nDOMImplementationSource.prototype.getDOMImplementationList = function(features) {};\n\n/**\n * @param {Node} externalNode\n * @return {Node}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode\n */\nDocument.prototype.adoptNode = function(externalNode) {};\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI\n */\nDocument.prototype.documentURI;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncoding\n */\nDocument.prototype.inputEncoding;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encoding\n */\nDocument.prototype.xmlEncoding;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalone\n */\nDocument.prototype.xmlStandalone;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-version\n */\nDocument.prototype.xmlVersion;\n\n/**\n * @type {?string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI\n */\nNode.prototype.baseURI;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN\n */\nNode.prototype.localName;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname\n */\nNode.prototype.namespaceURI;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix\n */\nNode.prototype.prefix;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent\n */\nNode.prototype.textContent;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTED\n */\nNode.DOCUMENT_POSITION_DISCONNECTED;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDING\n */\nNode.DOCUMENT_POSITION_PRECEDING;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWING\n */\nNode.DOCUMENT_POSITION_FOLLOWING;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINS\n */\nNode.DOCUMENT_POSITION_CONTAINS;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BY\n */\nNode.DOCUMENT_POSITION_CONTAINED_BY;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\n */\nNode.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;\n\n/**\n * @param {Node} other\n * @return {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition\n * @nosideeffects\n */\nNode.prototype.compareDocumentPosition = function(other) {};\n\n/**\n * @param {string} feature\n * @param {string} version\n * @return {Object}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature\n * @nosideeffects\n */\nNode.prototype.getFeature = function(feature, version) {};\n\n/**\n * @param {string} key\n * @return {Object}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData\n * @nosideeffects\n */\nNode.prototype.getUserData = function(key) {};\n\n/**\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs\n * @nosideeffects\n */\nNode.prototype.hasAttributes = function() {};\n\n/**\n * @param {?string} namespaceURI\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace\n * @nosideeffects\n */\nNode.prototype.isDefaultNamespace = function(namespaceURI) {};\n\n/**\n * @param {Node} arg\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode\n * @nosideeffects\n */\nNode.prototype.isEqualNode = function(arg) {};\n\n/**\n * @param {Node} other\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode\n * @nosideeffects\n */\nNode.prototype.isSameNode = function(other) {};\n\n/**\n * @param {string} prefix\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI\n * @nosideeffects\n */\nNode.prototype.lookupNamespaceURI = function(prefix) {};\n\n/**\n * @param {?string} namespaceURI\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\n * @nosideeffects\n */\nNode.prototype.lookupPrefix = function(namespaceURI) {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize\n */\nNode.prototype.normalize = function() {};\n\n/**\n * @param {string} query\n * @return {?Element}\n * @see http://www.w3.org/TR/selectors-api/#queryselector\n * @nosideeffects\n */\nNode.prototype.querySelector = function(query) {};\n\n/**\n * @param {string} query\n * @return {!NodeList<!Element>}\n * @see http://www.w3.org/TR/selectors-api/#queryselectorall\n * @nosideeffects\n */\nNode.prototype.querySelectorAll = function(query) {};\n\n/**\n * @type {Element}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement\n */\nAttr.prototype.ownerElement;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId\n */\nAttr.prototype.isId;\n\n/**\n * @param {?string} namespaceURI\n * @param {string} localName\n * @return {Attr}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS\n * @nosideeffects\n */\nElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {};\n\n/**\n * @param {?string} namespaceURI\n * @param {string} localName\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS\n * @nosideeffects\n */\nElement.prototype.getAttributeNS = function(namespaceURI, localName) {};\n\n/**\n * @param {?string} namespaceURI\n * @param {string} localName\n * @return {!NodeList<!Element>}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942\n * @nosideeffects\n */\nElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {};\n\n/**\n * @param {string} name\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr\n * @nosideeffects\n */\nElement.prototype.hasAttribute = function(name) {};\n\n/**\n * @param {?string} namespaceURI\n * @param {string} localName\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS\n * @nosideeffects\n */\nElement.prototype.hasAttributeNS = function(namespaceURI, localName) {};\n\n/**\n * @param {?string} namespaceURI\n * @param {string} localName\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS\n */\nElement.prototype.removeAttributeNS = function(namespaceURI, localName) {};\n\n/**\n * @param {Attr} newAttr\n * @return {Attr}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS\n */\nElement.prototype.setAttributeNodeNS = function(newAttr) {};\n\n/**\n * @param {?string} namespaceURI\n * @param {string} qualifiedName\n * @param {string|number|boolean} value Values are converted to strings with\n * ToString, so we accept number and boolean since both convert easily to\n * strings.\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS\n */\nElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {};\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeText\n */\nText.prototype.wholeText;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMError\n */\nfunction DOMError() {}\n\n/**\n * @type {DOMLocator}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-location\n */\nDOMError.prototype.location;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-message\n */\nDOMError.prototype.message;\n\n/**\n * @type {Object}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedData\n */\nDOMError.prototype.relatedData;\n\n/**\n * @type {Object}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedException\n */\nDOMError.prototype.relatedException;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warning\n */\nDOMError.SEVERITY_WARNING;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-error\n */\nDOMError.SEVERITY_ERROR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-fatal-error\n */\nDOMError.SEVERITY_FATAL_ERROR;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity\n */\nDOMError.prototype.severity;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-type\n */\nDOMError.prototype.type;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/dom/#domerror\n */\nDOMError.prototype.name;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandler\n */\nfunction DOMErrorHandler() {}\n\n/**\n * @param {DOMError} error\n * @return {boolean}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleError\n */\nDOMErrorHandler.prototype.handleError = function(error) {};\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocator\n */\nfunction DOMLocator() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffset\n */\nDOMLocator.prototype.byteOffset;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-number\n */\nDOMLocator.prototype.columnNumber;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-number\n */\nDOMLocator.prototype.lineNumber;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-node\n */\nDOMLocator.prototype.relatedNode;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-uri\n */\nDOMLocator.prototype.uri;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offset\n */\nDOMLocator.prototype.utf16Offset;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicId\n */\nDocumentType.prototype.publicId;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemId\n */\nDocumentType.prototype.systemId;\n',
  783. "externs/w3c_dom4.js":'/*\n * Copyright 2016 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s DOM4 specification. This file depends on\n * w3c_dom3.js. The whole file has been fully type annotated. Created from\n * https://www.w3.org/TR/domcore/.\n *\n * @externs\n * @author zhoumotongxue008@gmail.com (Michael Zhou)\n */\n\n/**\n * @typedef {?(DocumentType|Element|CharacterData)}\n * @see https://www.w3.org/TR/domcore/#interface-childnode\n */\nvar ChildNode;\n\n/**\n * @return {undefined}\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\n */\nDocumentType.prototype.remove = function() {};\n\n/**\n * @return {undefined}\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\n */\nElement.prototype.remove = function() {};\n\n/**\n * @return {undefined}\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\n */\nCharacterData.prototype.remove = function() {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\n */\nDocumentType.prototype.replaceWith = function(nodes) {};\n\n/**\n * @const {string}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#sec-domerror\n */\nDOMException.prototype.name;\n\n/**\n * @const {string}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#sec-domerror\n */\nDOMException.prototype.message;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.SECURITY_ERR;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.NETWORK_ERR;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.ABORT_ERR;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.URL_MISMATCH_ERR;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.QUOTA_EXCEEDED_ERR;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.TIMEOUT_ERR;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.INVALID_NODE_TYPE_ERR;\n\n/**\n * @const {number}\n * @see https://www.w3.org/TR/2015/REC-dom-20151119/#dfn-error-names-table\n */\nDOMException.DATA_CLONE_ERR;\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\n */\nElement.prototype.replaceWith = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\n */\nCharacterData.prototype.replaceWith = function(nodes) {};\n\n/**\n * @return {!Array<string>}\n * @see https://dom.spec.whatwg.org/#dom-element-getattributenames\n */\nElement.prototype.getAttributeNames = function() {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-append\n */\nElement.prototype.append = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-append\n */\nDocument.prototype.append = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-append\n */\nDocumentFragment.prototype.append = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-prepend\n */\nElement.prototype.prepend = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-prepend\n */\nDocument.prototype.prepend = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-prepend\n */\nDocumentFragment.prototype.prepend = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-before\n */\nElement.prototype.before = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-before\n */\nDocumentType.prototype.before = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-before\n */\nCharacterData.prototype.before = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-after\n */\nElement.prototype.after = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-after\n */\nDocumentType.prototype.after = function(nodes) {};\n\n/**\n * @param {...(!Node|string)} nodes\n * @return {undefined}\n * @see https://dom.spec.whatwg.org/#dom-childnode-after\n */\nCharacterData.prototype.after = function(nodes) {};\n\n/**\n * @param {string} name\n * @param {boolean=} force\n * @return {boolean}\n * @throws {DOMException}\n * @see https://dom.spec.whatwg.org/#dom-element-toggleattribute\n */\nElement.prototype.toggleAttribute = function(name, force) {};\n\n/**\n * @type {Element}\n * @see http://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspx\n */\nNode.prototype.parentElement;\n\n/**\n * @param {string} name\n * @return {!HTMLCollection<!Element>}\n * @nosideeffects\n * @see https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname-classnames-classnames\n */\nDocument.prototype.getElementsByClassName = function(name) {};\n\n/**\n * @param {string} classNames\n * @return {!HTMLCollection<!Element>}\n * @nosideeffects\n * @see https://dom.spec.whatwg.org/#dom-element-getelementsbyclassname-classnames-classnames\n */\nElement.prototype.getElementsByClassName = function(classNames) {};\n',
  784. "externs/html5.js":"/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for all the extensions over the\n * W3C's DOM3 specification in HTML5. This file depends on\n * w3c_dom3.js. The whole file has been fully type annotated.\n *\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html\n * @see http://dev.w3.org/html5/spec/Overview.html\n *\n * This also includes Typed Array definitions from\n * http://www.khronos.org/registry/typedarray/specs/latest/\n *\n * This relies on w3c_event.js being included first.\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n */\n\n/** @type {?HTMLSlotElement} */\nNode.prototype.assignedSlot;\n\n/**\n * @type {string}\n * @see https://dom.spec.whatwg.org/#dom-element-slot\n */\nElement.prototype.slot;\n\n/**\n * Note: In IE, the contains() method only exists on Elements, not Nodes.\n * Therefore, it is recommended that you use the Conformance framework to\n * prevent calling this on Nodes which are not Elements.\n * @see https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n *\n * @param {Node} n The node to check\n * @return {boolean} If 'n' is this Node, or is contained within this Node.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node.contains\n * @nosideeffects\n */\nNode.prototype.contains = function(n) {};\n\n/** @type {boolean} */\nNode.prototype.isConnected;\n\n/**\n * Inserts the given HTML Element into the node at the location.\n * @param {string} where Where to insert the HTML text, one of 'beforeBegin',\n * 'afterBegin', 'beforeEnd', 'afterEnd'.\n * @param {!Element} element DOM Element to insert.\n * @return {?Element} The element that was inserted, or null, if the\n * insertion failed.\n * @see https://dom.spec.whatwg.org/#dom-element-insertadjacentelement\n */\nNode.prototype.insertAdjacentElement = function(where, element) {};\n\n/**\n * @type {boolean}\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-script-element\n */\nHTMLScriptElement.prototype.async;\n\n/**\n * @constructor\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element\n * @extends {HTMLElement}\n */\nfunction HTMLCanvasElement() {}\n\n/** @type {number} */\nHTMLCanvasElement.prototype.width;\n\n/** @type {number} */\nHTMLCanvasElement.prototype.height;\n\n/**\n * @see https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob\n * @param {function(!Blob)} callback\n * @param {string=} opt_type\n * @param {...*} var_args\n * @throws {Error}\n */\nHTMLCanvasElement.prototype.toBlob = function(callback, opt_type, var_args) {};\n\n/**\n * @param {string=} opt_type\n * @param {...*} var_args\n * @return {string}\n * @throws {Error}\n */\nHTMLCanvasElement.prototype.toDataURL = function(opt_type, var_args) {};\n\n/**\n * @modifies {this}\n * @param {string} contextId\n * @param {Object=} opt_args\n * @return {Object}\n */\nHTMLCanvasElement.prototype.getContext = function(contextId, opt_args) {};\n\n/**\n * @see https://www.w3.org/TR/mediacapture-fromelement/\n * @param {number=} opt_framerate\n * @return {!MediaStream}\n * @throws {Error}\n * */\nHTMLCanvasElement.prototype.captureStream = function(opt_framerate) {};\n\n/**\n * @see https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-transfercontroltooffscreen\n * @return {!OffscreenCanvas}\n * @throws {Error}\n * */\nHTMLCanvasElement.prototype.transferControlToOffscreen = function() {};\n\n/**\n * @see https://html.spec.whatwg.org/multipage/canvas.html#the-offscreencanvas-interface\n * @implements {EventTarget}\n * @implements {Transferable}\n * @param {number} width\n * @param {number} height\n * @nosideeffects\n * @constructor\n */\nfunction OffscreenCanvas(width, height) {}\n\n/** @override */\nOffscreenCanvas.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nOffscreenCanvas.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nOffscreenCanvas.prototype.dispatchEvent = function(evt) {};\n\n/** @type {number} */\nOffscreenCanvas.prototype.width;\n\n/** @type {number} */\nOffscreenCanvas.prototype.height;\n\n/**\n * @param {string} contextId\n * @param {!Object=} opt_options\n * @modifies {this}\n * @return {!Object}\n */\nOffscreenCanvas.prototype.getContext = function(contextId, opt_options) {};\n\n/**\n * @return {!ImageBitmap}\n */\nOffscreenCanvas.prototype.transferToImageBitmap = function() {};\n\n/**\n * @param {{type: (string|undefined), quality: (number|undefined)}=} opt_options\n * @return {!Promise<!Blob>}\n */\nOffscreenCanvas.prototype.convertToBlob = function(opt_options) {};\n\n// TODO(user): Find a way to add SVGImageElement to this typedef without making\n// svg.js part of core.\n/**\n * @typedef {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|\n * OffscreenCanvas}\n */\nvar CanvasImageSource;\n\n/**\n * @interface\n * @see https://www.w3.org/TR/2dcontext/#canvaspathmethods\n */\nfunction CanvasPathMethods() {}\n\n/**\n * @return {undefined}\n */\nCanvasPathMethods.prototype.closePath = function() {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n */\nCanvasPathMethods.prototype.moveTo = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n */\nCanvasPathMethods.prototype.lineTo = function(x, y) {};\n\n/**\n * @param {number} cpx\n * @param {number} cpy\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n */\nCanvasPathMethods.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\n\n/**\n * @param {number} cp1x\n * @param {number} cp1y\n * @param {number} cp2x\n * @param {number} cp2y\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n */\nCanvasPathMethods.prototype.bezierCurveTo = function(\n cp1x, cp1y, cp2x, cp2y, x, y) {};\n\n/**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} radius\n * @return {undefined}\n */\nCanvasPathMethods.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @return {undefined}\n */\nCanvasPathMethods.prototype.rect = function(x, y, w, h) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} radius\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean=} opt_anticlockwise\n * @return {undefined}\n */\nCanvasPathMethods.prototype.arc = function(\n x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\n\n/**\n * @constructor\n * @implements {CanvasPathMethods}\n * @see https://html.spec.whatwg.org/multipage/scripting.html#path2d-objects\n */\nfunction Path2D() {}\n\n/**\n * @return {undefined}\n * @override\n */\nPath2D.prototype.closePath = function() {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nPath2D.prototype.moveTo = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nPath2D.prototype.lineTo = function(x, y) {};\n\n/**\n * @param {number} cpx\n * @param {number} cpy\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nPath2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\n\n/**\n * @param {number} cp1x\n * @param {number} cp1y\n * @param {number} cp2x\n * @param {number} cp2y\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nPath2D.prototype.bezierCurveTo = function(\n cp1x, cp1y, cp2x, cp2y, x, y) {};\n\n/**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} radius\n * @return {undefined}\n * @override\n */\nPath2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @return {undefined}\n * @override\n */\nPath2D.prototype.rect = function(x, y, w, h) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} radius\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean=} optAnticlockwise\n * @return {undefined}\n * @override\n */\nPath2D.prototype.arc = function(\n x, y, radius, startAngle, endAngle, optAnticlockwise) {};\n\n/**\n * @param {Path2D} path\n * @return {undefined}\n */\nPath2D.prototype.addPath = function(path) {};\n\n/**\n * @interface\n * @see https://www.w3.org/TR/2dcontext/#canvasdrawingstyles\n */\nfunction CanvasDrawingStyles() {}\n\n/** @type {number} */\nCanvasDrawingStyles.prototype.lineWidth;\n\n/** @type {string} */\nCanvasDrawingStyles.prototype.lineCap;\n\n/** @type {string} */\nCanvasDrawingStyles.prototype.lineJoin;\n\n/** @type {number} */\nCanvasDrawingStyles.prototype.miterLimit;\n\n/**\n * @param {Array<number>} segments\n * @return {undefined}\n */\nCanvasDrawingStyles.prototype.setLineDash = function(segments) {};\n\n/**\n * @return {!Array<number>}\n */\nCanvasDrawingStyles.prototype.getLineDash = function() {};\n\n/** @type {string} */\nCanvasDrawingStyles.prototype.font;\n\n/** @type {string} */\nCanvasDrawingStyles.prototype.textAlign;\n\n/** @type {string} */\nCanvasDrawingStyles.prototype.textBaseline;\n\n// TODO(user): replace this with @record.\n/**\n * @constructor\n * @abstract\n * @implements {CanvasDrawingStyles}\n * @implements {CanvasPathMethods}\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\n */\nfunction BaseRenderingContext2D() {}\n\n/** @const {!HTMLCanvasElement|!OffscreenCanvas} */\nBaseRenderingContext2D.prototype.canvas;\n\n/**\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.save = function() {};\n\n/**\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.restore = function() {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.scale = function(x, y) {};\n\n/**\n * @param {number} angle\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.rotate = function(angle) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.translate = function(x, y) {};\n\n/**\n * @param {number} m11\n * @param {number} m12\n * @param {number} m21\n * @param {number} m22\n * @param {number} dx\n * @param {number} dy\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.transform = function(\n m11, m12, m21, m22, dx, dy) {};\n\n/**\n * @param {number} m11\n * @param {number} m12\n * @param {number} m21\n * @param {number} m22\n * @param {number} dx\n * @param {number} dy\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.setTransform = function(\n m11, m12, m21, m22, dx, dy) {};\n\n/**\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @return {!CanvasGradient}\n * @throws {Error}\n */\nBaseRenderingContext2D.prototype.createLinearGradient = function(\n x0, y0, x1, y1) {};\n\n/**\n * @param {number} x0\n * @param {number} y0\n * @param {number} r0\n * @param {number} x1\n * @param {number} y1\n * @param {number} r1\n * @return {!CanvasGradient}\n * @throws {Error}\n */\nBaseRenderingContext2D.prototype.createRadialGradient = function(\n x0, y0, r0, x1, y1, r1) {};\n\n/**\n * @param {CanvasImageSource} image\n * @param {string} repetition\n * @return {?CanvasPattern}\n * @throws {Error}\n * @see https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-createpattern\n */\nBaseRenderingContext2D.prototype.createPattern = function(\n image, repetition) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.clearRect = function(x, y, w, h) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.fillRect = function(x, y, w, h) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.strokeRect = function(x, y, w, h) {};\n\n/**\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.beginPath = function() {};\n\n/**\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.closePath = function() {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.moveTo = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.lineTo = function(x, y) {};\n\n/**\n * @param {number} cpx\n * @param {number} cpy\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.quadraticCurveTo = function(\n cpx, cpy, x, y) {};\n\n/**\n * @param {number} cp1x\n * @param {number} cp1y\n * @param {number} cp2x\n * @param {number} cp2y\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.bezierCurveTo = function(\n cp1x, cp1y, cp2x, cp2y, x, y) {};\n\n/**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} radius\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.rect = function(x, y, w, h) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} radius\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean=} opt_anticlockwise\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.arc = function(\n x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} radiusX\n * @param {number} radiusY\n * @param {number} rotation\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean=} opt_anticlockwise\n * @return {undefined}\n * @see http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipse\n */\nBaseRenderingContext2D.prototype.ellipse = function(\n x, y, radiusX, radiusY, rotation, startAngle, endAngle, opt_anticlockwise) {\n};\n\n/**\n * @param {Path2D|string=} optFillRuleOrPath\n * @param {string=} optFillRule\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.fill = function(optFillRuleOrPath, optFillRule) {};\n\n/**\n * @param {Path2D=} optStroke\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.stroke = function(optStroke) {};\n\n/**\n * @param {Element} element\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.drawFocusIfNeeded = function(element) {};\n\n/**\n * @param {Path2D|string=} optFillRuleOrPath\n * @param {string=} optFillRule\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.clip = function(optFillRuleOrPath, optFillRule) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke\n */\nBaseRenderingContext2D.prototype.isPointInStroke = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {string=} opt_fillRule\n * @return {boolean}\n * @nosideeffects\n */\nBaseRenderingContext2D.prototype.isPointInPath = function(\n x, y, opt_fillRule) {};\n\n/**\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {number=} opt_maxWidth\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.fillText = function(\n text, x, y, opt_maxWidth) {};\n\n/**\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {number=} opt_maxWidth\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.strokeText = function(\n text, x, y, opt_maxWidth) {};\n\n/**\n * @param {string} text\n * @return {!TextMetrics}\n * @nosideeffects\n */\nBaseRenderingContext2D.prototype.measureText = function(text) {};\n\n/**\n * @param {CanvasImageSource} image\n * @param {number} dx Destination x coordinate.\n * @param {number} dy Destination y coordinate.\n * @param {number=} opt_dw Destination box width. Defaults to the image width.\n * @param {number=} opt_dh Destination box height.\n * Defaults to the image height.\n * @param {number=} opt_sx Source box x coordinate. Used to select a portion of\n * the source image to draw. Defaults to 0.\n * @param {number=} opt_sy Source box y coordinate. Used to select a portion of\n * the source image to draw. Defaults to 0.\n * @param {number=} opt_sw Source box width. Used to select a portion of\n * the source image to draw. Defaults to the full image width.\n * @param {number=} opt_sh Source box height. Used to select a portion of\n * the source image to draw. Defaults to the full image height.\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.drawImage = function(\n image, dx, dy, opt_dw, opt_dh, opt_sx, opt_sy, opt_sw, opt_sh) {};\n\n/**\n * @param {number} sw\n * @param {number} sh\n * @return {!ImageData}\n * @throws {Error}\n * @nosideeffects\n */\nBaseRenderingContext2D.prototype.createImageData = function(sw, sh) {};\n\n/**\n * @param {number} sx\n * @param {number} sy\n * @param {number} sw\n * @param {number} sh\n * @return {!ImageData}\n * @throws {Error}\n */\nBaseRenderingContext2D.prototype.getImageData = function(sx, sy, sw, sh) {};\n\n/**\n * @param {ImageData} imagedata\n * @param {number} dx\n * @param {number} dy\n * @param {number=} opt_dirtyX\n * @param {number=} opt_dirtyY\n * @param {number=} opt_dirtyWidth\n * @param {number=} opt_dirtyHeight\n * @return {undefined}\n */\nBaseRenderingContext2D.prototype.putImageData = function(imagedata, dx, dy,\n opt_dirtyX, opt_dirtyY, opt_dirtyWidth, opt_dirtyHeight) {};\n\n/**\n * Note: WebKit only\n * @param {number|string=} opt_a\n * @param {number=} opt_b\n * @param {number=} opt_c\n * @param {number=} opt_d\n * @param {number=} opt_e\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\n * @return {undefined}\n * @deprecated\n */\nBaseRenderingContext2D.prototype.setFillColor = function(\n opt_a, opt_b, opt_c, opt_d, opt_e) {};\n\n/**\n * Note: WebKit only\n * @param {number|string=} opt_a\n * @param {number=} opt_b\n * @param {number=} opt_c\n * @param {number=} opt_d\n * @param {number=} opt_e\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\n * @return {undefined}\n * @deprecated\n */\nBaseRenderingContext2D.prototype.setStrokeColor = function(\n opt_a, opt_b, opt_c, opt_d, opt_e) {};\n\n/**\n * @return {!Array<number>}\n * @override\n */\nBaseRenderingContext2D.prototype.getLineDash = function() {};\n\n/**\n * @param {Array<number>} segments\n * @return {undefined}\n * @override\n */\nBaseRenderingContext2D.prototype.setLineDash = function(segments) {};\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.fillColor;\n\n/**\n * @type {string|!CanvasGradient|!CanvasPattern}\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle\n * @implicitCast\n */\nBaseRenderingContext2D.prototype.fillStyle;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.font;\n\n/** @type {number} */\nBaseRenderingContext2D.prototype.globalAlpha;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.globalCompositeOperation;\n\n/** @type {number} */\nBaseRenderingContext2D.prototype.lineWidth;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.lineCap;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.lineJoin;\n\n/** @type {number} */\nBaseRenderingContext2D.prototype.miterLimit;\n\n/** @type {number} */\nBaseRenderingContext2D.prototype.shadowBlur;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.shadowColor;\n\n/** @type {number} */\nBaseRenderingContext2D.prototype.shadowOffsetX;\n\n/** @type {number} */\nBaseRenderingContext2D.prototype.shadowOffsetY;\n\n/** @type {boolean} */\nBaseRenderingContext2D.prototype.imageSmoothingEnabled;\n\n/**\n * @type {string|!CanvasGradient|!CanvasPattern}\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle\n * @implicitCast\n */\nBaseRenderingContext2D.prototype.strokeStyle;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.strokeColor;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.textAlign;\n\n/** @type {string} */\nBaseRenderingContext2D.prototype.textBaseline;\n\n/** @type {number} */\nBaseRenderingContext2D.prototype.lineDashOffset;\n\n/**\n * @constructor\n * @extends {BaseRenderingContext2D}\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\n */\nfunction CanvasRenderingContext2D() {}\n\n/** @const {!HTMLCanvasElement} */\nCanvasRenderingContext2D.prototype.canvas;\n\n/**\n * @constructor\n * @extends {BaseRenderingContext2D}\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\n */\nfunction OffscreenCanvasRenderingContext2D() {}\n\n/** @const {!OffscreenCanvas} */\nOffscreenCanvasRenderingContext2D.prototype.canvas;\n\n/**\n * @constructor\n */\nfunction CanvasGradient() {}\n\n/**\n * @param {number} offset\n * @param {string} color\n * @return {undefined}\n */\nCanvasGradient.prototype.addColorStop = function(offset, color) {};\n\n/**\n * @constructor\n */\nfunction CanvasPattern() {}\n\n/**\n * @constructor\n */\nfunction TextMetrics() {}\n\n/** @const {number} */\nTextMetrics.prototype.width;\n\n/**\n * @param {!Uint8ClampedArray|number} dataOrWidth In the first form, this is the\n * array of pixel data. In the second form, this is the image width.\n * @param {number} widthOrHeight In the first form, this is the image width. In\n * the second form, this is the image height.\n * @param {number=} opt_height In the first form, this is the optional image\n * height. The second form omits this argument.\n * @see https://html.spec.whatwg.org/multipage/scripting.html#imagedata\n * @constructor\n */\nfunction ImageData(dataOrWidth, widthOrHeight, opt_height) {}\n\n/** @const {!Uint8ClampedArray} */\nImageData.prototype.data;\n\n/** @const {number} */\nImageData.prototype.width;\n\n/** @const {number} */\nImageData.prototype.height;\n\n/**\n * @see https://www.w3.org/TR/html51/webappapis.html#webappapis-images\n * @interface\n */\nfunction ImageBitmap() {}\n\n/**\n * @const {number}\n */\nImageBitmap.prototype.width;\n\n/**\n * @const {number}\n */\nImageBitmap.prototype.height;\n\n/**\n * @typedef {{\n * imageOrientation: (string|undefined),\n * premultiplyAlpha: (string|undefined),\n * colorSpaceConversion: (string|undefined),\n * resizeWidth: (number|undefined),\n * resizeHeight: (number|undefined),\n * resizeQuality: (string|undefined)\n * }}\n * @see https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#images-2\n */\nvar ImageBitmapOptions;\n\n/**\n * @param {(!HTMLCanvasElement|!Blob|!HTMLVideoElement|!HTMLImageElement|!ImageBitmap|!CanvasRenderingContext2D|!ImageData)}\n * image\n * @param {(number|!ImageBitmapOptions)=} sxOrOptions\n * @param {number=} sy\n * @param {number=} sw\n * @param {number=} sh\n * @param {!ImageBitmapOptions=} options\n * @return {!Promise<!ImageBitmap>}\n * @see * https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#dom-createimagebitmap\n */\nfunction createImageBitmap(image, sxOrOptions, sy, sw, sh, options) {}\n\n\n/**\n * @constructor\n */\nfunction ClientInformation() {}\n\n/** @type {boolean} */\nClientInformation.prototype.onLine;\n\n/**\n * @param {string} protocol\n * @param {string} uri\n * @param {string} title\n * @return {undefined}\n */\nClientInformation.prototype.registerProtocolHandler = function(\n protocol, uri, title) {};\n\n/**\n * @param {string} mimeType\n * @param {string} uri\n * @param {string} title\n * @return {undefined}\n */\nClientInformation.prototype.registerContentHandler = function(\n mimeType, uri, title) {};\n\n// HTML5 Database objects\n/**\n * @constructor\n */\nfunction Database() {}\n\n/**\n * @type {string}\n */\nDatabase.prototype.version;\n\n/**\n * @param {function(!SQLTransaction) : void} callback\n * @param {(function(!SQLError) : void)=} opt_errorCallback\n * @param {Function=} opt_Callback\n * @return {undefined}\n */\nDatabase.prototype.transaction = function(\n callback, opt_errorCallback, opt_Callback) {};\n\n/**\n * @param {function(!SQLTransaction) : void} callback\n * @param {(function(!SQLError) : void)=} opt_errorCallback\n * @param {Function=} opt_Callback\n * @return {undefined}\n */\nDatabase.prototype.readTransaction = function(\n callback, opt_errorCallback, opt_Callback) {};\n\n/**\n * @param {string} oldVersion\n * @param {string} newVersion\n * @param {function(!SQLTransaction) : void} callback\n * @param {function(!SQLError) : void} errorCallback\n * @param {Function} successCallback\n * @return {undefined}\n */\nDatabase.prototype.changeVersion = function(\n oldVersion, newVersion, callback, errorCallback, successCallback) {};\n\n/**\n * @interface\n */\nfunction DatabaseCallback() {}\n\n/**\n * @param {!Database} db\n * @return {undefined}\n */\nDatabaseCallback.prototype.handleEvent = function(db) {};\n\n/**\n * @constructor\n */\nfunction SQLError() {}\n\n/**\n * @type {number}\n */\nSQLError.prototype.code;\n\n/**\n * @type {string}\n */\nSQLError.prototype.message;\n\n/**\n * @constructor\n */\nfunction SQLTransaction() {}\n\n/**\n * @param {string} sqlStatement\n * @param {Array<*>=} opt_queryArgs\n * @param {SQLStatementCallback=} opt_callback\n * @param {(function(!SQLTransaction, !SQLError) : (boolean|void))=}\n * opt_errorCallback\n * @return {undefined}\n */\nSQLTransaction.prototype.executeSql = function(\n sqlStatement, opt_queryArgs, opt_callback, opt_errorCallback) {};\n\n/**\n * @typedef {(function(!SQLTransaction, !SQLResultSet) : void)}\n */\nvar SQLStatementCallback;\n\n/**\n * @constructor\n */\nfunction SQLResultSet() {}\n\n/**\n * @type {number}\n */\nSQLResultSet.prototype.insertId;\n\n/**\n * @type {number}\n */\nSQLResultSet.prototype.rowsAffected;\n\n/**\n * @type {!SQLResultSetRowList}\n */\nSQLResultSet.prototype.rows;\n\n/**\n * @constructor\n * @implements {IArrayLike<!Object>}\n * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist\n */\nfunction SQLResultSetRowList() {}\n\n/**\n * @type {number}\n */\nSQLResultSetRowList.prototype.length;\n\n/**\n * @param {number} index\n * @return {Object}\n * @nosideeffects\n */\nSQLResultSetRowList.prototype.item = function(index) {};\n\n/**\n * @param {string} name\n * @param {string} version\n * @param {string} description\n * @param {number} size\n * @param {(DatabaseCallback|function(Database))=} opt_callback\n * @return {!Database}\n */\nfunction openDatabase(name, version, description, size, opt_callback) {}\n\n/**\n * @param {string} name\n * @param {string} version\n * @param {string} description\n * @param {number} size\n * @param {(DatabaseCallback|function(Database))=} opt_callback\n * @return {!Database}\n */\nWindow.prototype.openDatabase =\n function(name, version, description, size, opt_callback) {};\n\n/**\n * @type {boolean}\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete\n */\nHTMLImageElement.prototype.complete;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth\n */\nHTMLImageElement.prototype.naturalWidth;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight\n */\nHTMLImageElement.prototype.naturalHeight;\n\n/**\n * @type {string}\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin\n */\nHTMLImageElement.prototype.crossOrigin;\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-currentsrc\n */\nHTMLImageElement.prototype.currentSrc;\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/images.html#image-decoding-hint\n */\nHTMLImageElement.prototype.decoding;\n\n/**\n * @return {!Promise<undefined>}\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-decode\n */\nHTMLImageElement.prototype.decode;\n\n\n/**\n * This is a superposition of the Window and Worker postMessage methods.\n * @param {*} message\n * @param {(string|!Array<!Transferable>)=} opt_targetOriginOrTransfer\n * @param {(string|!Array<!MessagePort>|!Array<!Transferable>)=}\n * opt_targetOriginOrPortsOrTransfer\n * @return {void}\n */\nfunction postMessage(message, opt_targetOriginOrTransfer,\n opt_targetOriginOrPortsOrTransfer) {}\n\n/**\n * @param {*} message\n * @param {string=} targetOrigin\n * @param {(!Array<!Transferable>)=} transfer\n * @return {void}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage\n */\nWindow.prototype.postMessage = function(message, targetOrigin, transfer) {};\n\n/**\n * The postMessage method (as implemented in Opera).\n * @param {string} message\n */\nDocument.prototype.postMessage = function(message) {};\n\n/**\n * Document head accessor.\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0\n * @type {HTMLHeadElement}\n */\nDocument.prototype.head;\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/dom.html#current-document-readiness\n */\nDocument.prototype.readyState;\n\n/**\n * @see https://html.spec.whatwg.org/#application-cache-api\n * @constructor\n * @implements {EventTarget}\n */\nfunction ApplicationCache() {}\n\n/** @override */\nApplicationCache.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nApplicationCache.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nApplicationCache.prototype.dispatchEvent = function(evt) {};\n\n/**\n * The object isn't associated with an application cache. This can occur if the\n * update process fails and there is no previous cache to revert to, or if there\n * is no manifest file.\n * @const {number}\n */\nApplicationCache.prototype.UNCACHED;\n\n/**\n * The object isn't associated with an application cache. This can occur if the\n * update process fails and there is no previous cache to revert to, or if there\n * is no manifest file.\n * @const {number}\n */\nApplicationCache.UNCACHED;\n\n/**\n * The cache is idle.\n * @const {number}\n */\nApplicationCache.prototype.IDLE;\n\n/**\n * The cache is idle.\n * @const {number}\n */\nApplicationCache.IDLE;\n\n/**\n * The update has started but the resources are not downloaded yet - for\n * example, this can happen when the manifest file is fetched.\n * @const {number}\n */\nApplicationCache.prototype.CHECKING;\n\n/**\n * The update has started but the resources are not downloaded yet - for\n * example, this can happen when the manifest file is fetched.\n * @const {number}\n */\nApplicationCache.CHECKING;\n\n/**\n * The resources are being downloaded into the cache.\n * @const {number}\n */\nApplicationCache.prototype.DOWNLOADING;\n\n/**\n * The resources are being downloaded into the cache.\n * @const {number}\n */\nApplicationCache.DOWNLOADING;\n\n/**\n * Resources have finished downloading and the new cache is ready to be used.\n * @const {number}\n */\nApplicationCache.prototype.UPDATEREADY;\n\n/**\n * Resources have finished downloading and the new cache is ready to be used.\n * @const {number}\n */\nApplicationCache.UPDATEREADY;\n\n/**\n * The cache is obsolete.\n * @const {number}\n */\nApplicationCache.prototype.OBSOLETE;\n\n/**\n * The cache is obsolete.\n * @const {number}\n */\nApplicationCache.OBSOLETE;\n\n/**\n * The current status of the application cache.\n * @type {number}\n */\nApplicationCache.prototype.status;\n\n/**\n * Sent when the update process finishes for the first time; that is, the first\n * time an application cache is saved.\n * @type {?function(!Event): void}\n */\nApplicationCache.prototype.oncached;\n\n/**\n * Sent when the cache update process begins.\n * @type {?function(!Event): void}\n */\nApplicationCache.prototype.onchecking;\n\n/**\n * Sent when the update process begins downloading resources in the manifest\n * file.\n * @type {?function(!Event): void}\n */\nApplicationCache.prototype.ondownloading;\n\n/**\n * Sent when an error occurs.\n * @type {?function(!Event): void}\n */\nApplicationCache.prototype.onerror;\n\n/**\n * Sent when the update process finishes but the manifest file does not change.\n * @type {?function(!Event): void}\n */\nApplicationCache.prototype.onnoupdate;\n\n/**\n * Sent when each resource in the manifest file begins to download.\n * @type {?function(!Event): void}\n */\nApplicationCache.prototype.onprogress;\n\n/**\n * Sent when there is an existing application cache, the update process\n * finishes, and there is a new application cache ready for use.\n * @type {?function(!Event): void}\n */\nApplicationCache.prototype.onupdateready;\n\n/**\n * Replaces the active cache with the latest version.\n * @throws {DOMException}\n * @return {undefined}\n */\nApplicationCache.prototype.swapCache = function() {};\n\n/**\n * Manually triggers the update process.\n * @throws {DOMException}\n * @return {undefined}\n */\nApplicationCache.prototype.update = function() {};\n\n/** @type {?ApplicationCache} */\nvar applicationCache;\n\n/** @type {ApplicationCache} */\nWindow.prototype.applicationCache;\n\n/**\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\n * @param {...!TrustedScriptURL|string} var_args\n * @return {undefined}\n */\nWindow.prototype.importScripts = function(var_args) {};\n\n/**\n * Decodes a string of data which has been encoded using base-64 encoding.\n *\n * @param {string} encodedData\n * @return {string}\n * @nosideeffects\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob\n */\nfunction atob(encodedData) {}\n\n/**\n * @param {string} stringToEncode\n * @return {string}\n * @nosideeffects\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa\n */\nfunction btoa(stringToEncode) {}\n\n/**\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\n * @param {...!TrustedScriptURL|string} var_args\n * @return {undefined}\n */\nfunction importScripts(var_args) {}\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @constructor\n * @implements {EventTarget}\n */\nfunction WebWorker() {}\n\n/** @override */\nWebWorker.prototype.addEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nWebWorker.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nWebWorker.prototype.dispatchEvent = function(evt) {};\n\n/**\n * Stops the worker process\n * @return {undefined}\n */\nWebWorker.prototype.terminate = function() {};\n\n/**\n * Posts a message to the worker thread.\n * @param {string} message\n * @return {undefined}\n */\nWebWorker.prototype.postMessage = function(message) {};\n\n/**\n * Sent when the worker thread posts a message to its creator.\n * @type {?function(!MessageEvent<*>): void}\n */\nWebWorker.prototype.onmessage;\n\n/**\n * Sent when the worker thread encounters an error.\n * @type {?function(!ErrorEvent): void}\n */\nWebWorker.prototype.onerror;\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @param {string} scriptURL\n * @param {!WorkerOptions=} opt_options\n * @constructor\n * @implements {EventTarget}\n */\nfunction Worker(scriptURL, opt_options) {}\n\n/** @override */\nWorker.prototype.addEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nWorker.prototype.removeEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nWorker.prototype.dispatchEvent = function(evt) {};\n\n/**\n * Stops the worker process\n * @return {undefined}\n */\nWorker.prototype.terminate = function() {};\n\n/**\n * Posts a message to the worker thread.\n * @param {*} message\n * @param {Array<!Transferable>=} opt_transfer\n * @return {undefined}\n */\nWorker.prototype.postMessage = function(message, opt_transfer) {};\n\n/**\n * Posts a message to the worker thread.\n * @param {*} message\n * @param {Array<!Transferable>=} opt_transfer\n * @return {undefined}\n */\nWorker.prototype.webkitPostMessage = function(message, opt_transfer) {};\n\n/**\n * Sent when the worker thread posts a message to its creator.\n * @type {?function(!MessageEvent<*>): void}\n */\nWorker.prototype.onmessage;\n\n/**\n * Sent when the worker thread encounters an error.\n * @type {?function(!ErrorEvent): void}\n */\nWorker.prototype.onerror;\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @record\n */\nfunction WorkerOptions() {}\n\n/**\n * Defines a name for the new global environment of the worker, primarily for\n * debugging purposes.\n * @type {string|undefined}\n */\nWorkerOptions.prototype.name;\n\n/**\n * 'classic' or 'module'. Default: 'classic'.\n * Specifying 'module' ensures the worker environment supports JavaScript\n * modules.\n * @type {string|undefined}\n */\nWorkerOptions.prototype.type;\n\n// WorkerOptions.prototype.credentials is defined in fetchapi.js.\n// if type = 'module', it specifies how scriptURL is fetched.\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @param {string} scriptURL The URL of the script to run in the SharedWorker.\n * @param {string=} opt_name A name that can later be used to obtain a\n * reference to the same SharedWorker.\n * @constructor\n * @implements {EventTarget}\n */\nfunction SharedWorker(scriptURL, opt_name) {}\n\n/** @override */\nSharedWorker.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nSharedWorker.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nSharedWorker.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @type {!MessagePort}\n */\nSharedWorker.prototype.port;\n\n/**\n * Called on network errors for loading the initial script.\n * @type {?function(!ErrorEvent): void}\n */\nSharedWorker.prototype.onerror;\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @see http://www.w3.org/TR/url-1/#dom-urlutilsreadonly\n * @interface\n */\nfunction WorkerLocation() {}\n\n/** @type {string} */\nWorkerLocation.prototype.href;\n\n/** @type {string} */\nWorkerLocation.prototype.origin;\n\n/** @type {string} */\nWorkerLocation.prototype.protocol;\n\n/** @type {string} */\nWorkerLocation.prototype.host;\n\n/** @type {string} */\nWorkerLocation.prototype.hostname;\n\n/** @type {string} */\nWorkerLocation.prototype.port;\n\n/** @type {string} */\nWorkerLocation.prototype.pathname;\n\n/** @type {string} */\nWorkerLocation.prototype.search;\n\n/** @type {string} */\nWorkerLocation.prototype.hash;\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @interface\n * @extends {EventTarget}\n */\nfunction WorkerGlobalScope() {}\n\n/** @type {!WorkerGlobalScope} */\nWorkerGlobalScope.prototype.self;\n\n/** @type {!WorkerLocation} */\nWorkerGlobalScope.prototype.location;\n\n/**\n * Closes the worker represented by this WorkerGlobalScope.\n * @return {undefined}\n */\nWorkerGlobalScope.prototype.close = function() {};\n\n/**\n * Sent when the worker encounters an error.\n * @type {?function(string, string, number, number, !Error): void}\n */\nWorkerGlobalScope.prototype.onerror;\n\n/**\n * Sent when the worker goes offline.\n * @type {?function(!Event): void}\n */\nWorkerGlobalScope.prototype.onoffline;\n\n/**\n * Sent when the worker goes online.\n * @type {?function(!Event): void}\n */\nWorkerGlobalScope.prototype.ononline;\n\n/** @type {!WorkerPerformance} */\nWorkerGlobalScope.prototype.performance;\n\n/** @type {!WorkerNavigator} */\nWorkerGlobalScope.prototype.navigator;\n\n/**\n * Worker postMessage method.\n * @param {*} message\n * @param {(!Array<!Transferable>)=} transfer\n * @return {void}\n */\nWorkerGlobalScope.prototype.postMessage = function(message, transfer) {};\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @interface\n * @extends {WorkerGlobalScope}\n */\nfunction DedicatedWorkerGlobalScope() {}\n\n/**\n * Posts a message to creator of this worker.\n * @param {*} message\n * @param {Array<!Transferable>=} opt_transfer\n * @return {undefined}\n */\nDedicatedWorkerGlobalScope.prototype.postMessage =\n function(message, opt_transfer) {};\n\n/**\n * Posts a message to creator of this worker.\n * @param {*} message\n * @param {Array<!Transferable>=} opt_transfer\n * @return {undefined}\n */\nDedicatedWorkerGlobalScope.prototype.webkitPostMessage =\n function(message, opt_transfer) {};\n\n/**\n * Sent when the creator posts a message to this worker.\n * @type {?function(!MessageEvent<*>): void}\n */\nDedicatedWorkerGlobalScope.prototype.onmessage;\n\n/**\n * @see http://dev.w3.org/html5/workers/\n * @interface\n * @extends {WorkerGlobalScope}\n */\nfunction SharedWorkerGlobalScope() {}\n\n/** @type {string} */\nSharedWorkerGlobalScope.prototype.name;\n\n/**\n * Sent when a connection to this worker is opened.\n * @type {?function(!Event)}\n */\nSharedWorkerGlobalScope.prototype.onconnect;\n\n/** @type {!Array<string>|undefined} */\nHTMLElement.observedAttributes;\n\n/**\n * @param {!Document} oldDocument\n * @param {!Document} newDocument\n */\nHTMLElement.prototype.adoptedCallback = function(oldDocument, newDocument) {};\n\n/**\n * @param {!{mode: string}} options\n * @return {!ShadowRoot}\n */\nHTMLElement.prototype.attachShadow = function(options) {};\n\n/**\n * @param {string} attributeName\n * @param {?string} oldValue\n * @param {?string} newValue\n * @param {?string} namespace\n */\nHTMLElement.prototype.attributeChangedCallback = function(attributeName, oldValue, newValue, namespace) {};\n\n/** @type {function()|undefined} */\nHTMLElement.prototype.connectedCallback;\n\n/** @type {Element} */\nHTMLElement.prototype.contextMenu;\n\n/** @type {function()|undefined} */\nHTMLElement.prototype.disconnectedCallback;\n\n/** @type {boolean} */\nHTMLElement.prototype.draggable;\n\n/**\n * This is actually a DOMSettableTokenList property. However since that\n * interface isn't currently defined and no known browsers implement this\n * feature, just define the property for now.\n *\n * @const {Object}\n */\nHTMLElement.prototype.dropzone;\n\n/** @type {boolean} */\nHTMLElement.prototype.hidden;\n\n/** @type {boolean} */\nHTMLElement.prototype.spellcheck;\n\n/**\n * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions\n * @typedef {{\n * composed: boolean\n * }}\n */\nvar GetRootNodeOptions;\n\n/**\n * @see https://dom.spec.whatwg.org/#dom-node-getrootnode\n * @param {GetRootNodeOptions=} opt_options\n * @return {!Node}\n */\nNode.prototype.getRootNode = function(opt_options) {};\n\n/**\n * @see http://www.w3.org/TR/components-intro/\n * @return {!ShadowRoot}\n */\nHTMLElement.prototype.createShadowRoot;\n\n/**\n * @see http://www.w3.org/TR/components-intro/\n * @return {!ShadowRoot}\n */\nHTMLElement.prototype.webkitCreateShadowRoot;\n\n/**\n * @see http://www.w3.org/TR/shadow-dom/\n * @type {ShadowRoot}\n */\nHTMLElement.prototype.shadowRoot;\n\n/**\n * @see http://www.w3.org/TR/shadow-dom/\n * @return {!NodeList<!Node>}\n */\nHTMLElement.prototype.getDestinationInsertionPoints = function() {};\n\n/**\n * @see http://www.w3.org/TR/components-intro/\n * @type {function()}\n */\nHTMLElement.prototype.createdCallback;\n\n/**\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\n * @type {function()}\n */\nHTMLElement.prototype.attachedCallback;\n\n/**\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\n * @type {function()}\n */\nHTMLElement.prototype.detachedCallback;\n\n/**\n * Cryptographic nonce used by Content Security Policy.\n * @see https://html.spec.whatwg.org/multipage/dom.html#elements-in-the-dom:noncedelement\n * @type {?string}\n */\nHTMLElement.prototype.nonce;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.download;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.hash;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.host;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.hostname;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.pathname;\n\n/**\n * The 'ping' attribute is known to be supported in recent versions (as of\n * mid-2014) of Chrome, Safari, and Firefox, and is not supported in any\n * current version of Internet Explorer.\n *\n * @type {string}\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\n */\nHTMLAnchorElement.prototype.ping;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.port;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.protocol;\n\n/** @type {!DOMTokenList} */\nHTMLAnchorElement.prototype.relList;\n\n/** @type {string} */\nHTMLAnchorElement.prototype.search;\n\n/** @type {string} */\nHTMLAreaElement.prototype.download;\n\n/**\n * @type {string}\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\n */\nHTMLAreaElement.prototype.ping;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdoc\n */\nHTMLIFrameElement.prototype.srcdoc;\n\n/**\n * @type {?DOMTokenList}\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandbox\n */\nHTMLIFrameElement.prototype.sandbox;\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-allow\n */\nHTMLIFrameElement.prototype.allow;\n\n/**\n * @type {Window}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow\n */\nHTMLIFrameElement.prototype.contentWindow;\n\n/** @type {string} */\nHTMLInputElement.prototype.autocomplete;\n\n/** @type {string} */\nHTMLInputElement.prototype.dirname;\n\n/** @type {FileList} */\nHTMLInputElement.prototype.files;\n\n/**\n * @type {boolean}\n * @see https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate\n */\nHTMLInputElement.prototype.indeterminate;\n\n/** @type {string} */\nHTMLInputElement.prototype.list;\n\n/** @implicitCast @type {string} */\nHTMLInputElement.prototype.max;\n\n/** @implicitCast @type {string} */\nHTMLInputElement.prototype.min;\n\n/** @type {string} */\nHTMLInputElement.prototype.pattern;\n\n/** @type {boolean} */\nHTMLInputElement.prototype.multiple;\n\n/** @type {string} */\nHTMLInputElement.prototype.placeholder;\n\n/** @type {boolean} */\nHTMLInputElement.prototype.required;\n\n/** @implicitCast @type {string} */\nHTMLInputElement.prototype.step;\n\n/** @type {Date} */\nHTMLInputElement.prototype.valueAsDate;\n\n/** @type {number} */\nHTMLInputElement.prototype.valueAsNumber;\n\n/**\n * Changes the form control's value by the value given in the step attribute\n * multiplied by opt_n.\n * @param {number=} opt_n step multiplier. Defaults to 1.\n * @return {undefined}\n */\nHTMLInputElement.prototype.stepDown = function(opt_n) {};\n\n/**\n * Changes the form control's value by the value given in the step attribute\n * multiplied by opt_n.\n * @param {number=} opt_n step multiplier. Defaults to 1.\n * @return {undefined}\n */\nHTMLInputElement.prototype.stepUp = function(opt_n) {};\n\n\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement\n */\nfunction HTMLMediaElement() {}\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_empty\n * @const {number}\n */\nHTMLMediaElement.NETWORK_EMPTY;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_empty\n * @const {number}\n */\nHTMLMediaElement.prototype.NETWORK_EMPTY;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_idle\n * @const {number}\n */\nHTMLMediaElement.NETWORK_IDLE;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_idle\n * @const {number}\n */\nHTMLMediaElement.prototype.NETWORK_IDLE;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_loading\n * @const {number}\n */\nHTMLMediaElement.NETWORK_LOADING;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_loading\n * @const {number}\n */\nHTMLMediaElement.prototype.NETWORK_LOADING;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_no_source\n * @const {number}\n */\nHTMLMediaElement.NETWORK_NO_SOURCE;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-network_no_source\n * @const {number}\n */\nHTMLMediaElement.prototype.NETWORK_NO_SOURCE;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_nothing\n * @const {number}\n */\nHTMLMediaElement.HAVE_NOTHING;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_nothing\n * @const {number}\n */\nHTMLMediaElement.prototype.HAVE_NOTHING;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_metadata\n * @const {number}\n */\nHTMLMediaElement.HAVE_METADATA;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_metadata\n * @const {number}\n */\nHTMLMediaElement.prototype.HAVE_METADATA;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_current_data\n * @const {number}\n */\nHTMLMediaElement.HAVE_CURRENT_DATA;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_current_data\n * @const {number}\n */\nHTMLMediaElement.prototype.HAVE_CURRENT_DATA;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_future_data\n * @const {number}\n */\nHTMLMediaElement.HAVE_FUTURE_DATA;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_future_data\n * @const {number}\n */\nHTMLMediaElement.prototype.HAVE_FUTURE_DATA;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_enough_data\n * @const {number}\n */\nHTMLMediaElement.HAVE_ENOUGH_DATA;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-have_enough_data\n * @const {number}\n */\nHTMLMediaElement.prototype.HAVE_ENOUGH_DATA;\n\n/** @type {MediaError} */\nHTMLMediaElement.prototype.error;\n\n/** @type {string} @implicitCast */\nHTMLMediaElement.prototype.src;\n\n/** @type {string} */\nHTMLMediaElement.prototype.currentSrc;\n\n/** @type {number} */\nHTMLMediaElement.prototype.networkState;\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.autobuffer;\n\n/** @type {!TimeRanges} */\nHTMLMediaElement.prototype.buffered;\n\n/** @type {?MediaStream} */\nHTMLMediaElement.prototype.srcObject;\n\n/**\n * Loads the media element.\n * @return {undefined}\n */\nHTMLMediaElement.prototype.load = function() {};\n\n/**\n * @param {string} type Type of the element in question in question.\n * @return {string} Whether it can play the type.\n * @nosideeffects\n */\nHTMLMediaElement.prototype.canPlayType = function(type) {};\n\n/** Event handlers */\n\n/** @type {?function(Event)} */\nHTMLMediaElement.prototype.onabort;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.oncanplay;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.oncanplaythrough;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.ondurationchange;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onemptied;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onended;\n\n/** @type {?function(Event)} */\nHTMLMediaElement.prototype.onerror;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onloadeddata;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onloadedmetadata;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onloadstart;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onpause;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onplay;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onplaying;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onprogress;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onratechange;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onseeked;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onseeking;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onstalled;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onsuspend;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.ontimeupdate;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onvolumechange;\n\n/** @type {?function(!Event)} */\nHTMLMediaElement.prototype.onwaiting;\n\n/** @type {?function(Event)} */\nHTMLImageElement.prototype.onload;\n\n/** @type {?function(Event)} */\nHTMLImageElement.prototype.onerror;\n\n/** @type {string} */\nHTMLMediaElement.prototype.preload;\n\n/** @type {number} */\nHTMLMediaElement.prototype.readyState;\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.seeking;\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/media.html#dom-media-crossorigin\n */\nHTMLMediaElement.prototype.crossOrigin;\n\n/**\n * The current time, in seconds.\n * @type {number}\n */\nHTMLMediaElement.prototype.currentTime;\n\n/**\n * The absolute timeline offset.\n * @return {!Date}\n */\nHTMLMediaElement.prototype.getStartDate = function() {};\n\n/**\n * The length of the media in seconds.\n * @type {number}\n */\nHTMLMediaElement.prototype.duration;\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.paused;\n\n/** @type {number} */\nHTMLMediaElement.prototype.defaultPlaybackRate;\n\n/** @type {number} */\nHTMLMediaElement.prototype.playbackRate;\n\n/** @type {TimeRanges} */\nHTMLMediaElement.prototype.played;\n\n/** @type {TimeRanges} */\nHTMLMediaElement.prototype.seekable;\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.ended;\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.autoplay;\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.loop;\n\n/**\n * Starts playing the media.\n * @return {?Promise<undefined>} This is a *nullable* Promise on purpose unlike\n * the HTML5 spec because supported older browsers (incl. Smart TVs) don't\n * return a Promise.\n */\nHTMLMediaElement.prototype.play = function() {};\n\n/**\n * Pauses the media.\n * @return {undefined}\n */\nHTMLMediaElement.prototype.pause = function() {};\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.controls;\n\n/**\n * The audio volume, from 0.0 (silent) to 1.0 (loudest).\n * @type {number}\n */\nHTMLMediaElement.prototype.volume;\n\n/** @type {boolean} */\nHTMLMediaElement.prototype.muted;\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack\n * @param {string} kind Kind of the text track.\n * @param {string=} opt_label Label of the text track.\n * @param {string=} opt_language Language of the text track.\n * @return {!TextTrack} TextTrack object added to the media element.\n */\nHTMLMediaElement.prototype.addTextTrack =\n function(kind, opt_label, opt_language) {};\n\n/** @type {!TextTrackList} */\nHTMLMediaElement.prototype.textTracks;\n\n/**\n * The ID of the audio device through which output is being delivered, or an\n * empty string if using the default device.\n *\n * Implemented as a draft spec in Chrome 49+.\n *\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\n * @type {string}\n */\nHTMLMediaElement.prototype.sinkId;\n\n/**\n * Sets the audio device through which output should be delivered.\n *\n * Implemented as a draft spec in Chrome 49+.\n *\n * @param {string} sinkId The ID of the audio output device, or empty string\n * for default device.\n *\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\n * @return {!Promise<void>}\n */\nHTMLMediaElement.prototype.setSinkId = function(sinkId) {};\n\n\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see https://html.spec.whatwg.org/multipage/dom.html#htmlunknownelement\n * @see https://html.spec.whatwg.org/multipage/scripting.html#customized-built-in-element-restrictions\n * @see https://w3c.github.io/webcomponents/spec/custom/#custom-elements-api\n */\nfunction HTMLUnknownElement() {}\n\n\n\n/**\n * @see http://www.w3.org/TR/shadow-dom/\n * @return {!NodeList<!Node>}\n */\nText.prototype.getDestinationInsertionPoints = function() {};\n\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist\n * @constructor\n * @implements {IArrayLike<!TextTrack>}\n */\nfunction TextTrackList() {}\n\n/** @type {number} */\nTextTrackList.prototype.length;\n\n/**\n * @param {string} id\n * @return {TextTrack}\n */\nTextTrackList.prototype.getTrackById = function(id) {};\n\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack\n * @constructor\n * @implements {EventTarget}\n */\nfunction TextTrack() {}\n\n/**\n * @param {TextTrackCue} cue\n * @return {undefined}\n */\nTextTrack.prototype.addCue = function(cue) {};\n\n/**\n * @param {TextTrackCue} cue\n * @return {undefined}\n */\nTextTrack.prototype.removeCue = function(cue) {};\n\n/**\n * @const {TextTrackCueList}\n */\nTextTrack.prototype.activeCues;\n\n/**\n * @const {TextTrackCueList}\n */\nTextTrack.prototype.cues;\n\n/**\n * @type {string}\n */\nTextTrack.prototype.mode;\n\n/** @override */\nTextTrack.prototype.addEventListener = function(\n type, listener, opt_useCapture) {};\n\n/** @override */\nTextTrack.prototype.dispatchEvent = function(evt) {};\n\n/** @override */\nTextTrack.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist\n * @constructor\n * @implements {IArrayLike<!TextTrackCue>}\n */\nfunction TextTrackCueList() {}\n\n/** @const {number} */\nTextTrackCueList.prototype.length;\n\n/**\n * @param {string} id\n * @return {TextTrackCue}\n */\nTextTrackCueList.prototype.getCueById = function(id) {};\n\n\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue\n * @constructor\n * @param {number} startTime\n * @param {number} endTime\n * @param {string} text\n */\nfunction TextTrackCue(startTime, endTime, text) {}\n\n/** @type {string} */\nTextTrackCue.prototype.id;\n\n/** @type {number} */\nTextTrackCue.prototype.startTime;\n\n/** @type {number} */\nTextTrackCue.prototype.endTime;\n\n/** @type {string} */\nTextTrackCue.prototype.text;\n\n\n\n/**\n * @see https://w3c.github.io/webvtt/#vttregion\n * @constructor\n */\nfunction VTTRegion() {}\n\n/** @type {string} */\nVTTRegion.prototype.id;\n\n/** @type {number} */\nVTTRegion.prototype.width;\n\n/** @type {number} */\nVTTRegion.prototype.lines;\n\n/** @type {number} */\nVTTRegion.prototype.regionAnchorX;\n\n/** @type {number} */\nVTTRegion.prototype.regionAnchorY;\n\n/** @type {number} */\nVTTRegion.prototype.viewportAnchorX;\n\n/** @type {number} */\nVTTRegion.prototype.viewportAnchorY;\n\n/**\n * @see https://w3c.github.io/webvtt/#enumdef-scrollsetting\n * @type {string}\n */\nVTTRegion.prototype.scroll;\n\n\n\n/**\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\n * @constructor\n * @extends {TextTrackCue}\n * @param {number} startTime\n * @param {number} endTime\n * @param {string} text\n */\nfunction VTTCue(startTime, endTime, text) {}\n\n/** @type {?VTTRegion} */\nVTTCue.prototype.region;\n\n/**\n * @see https://w3c.github.io/webvtt/#enumdef-directionsetting\n * @type {string}\n */\nVTTCue.prototype.vertical;\n\n/** @type {boolean} */\nVTTCue.prototype.snapToLines;\n\n/** @type {(number|string)} */\nVTTCue.prototype.line;\n\n/**\n * @see https://w3c.github.io/webvtt/#enumdef-linealignsetting\n * @type {string}\n */\nVTTCue.prototype.lineAlign;\n\n/** @type {(number|string)} */\nVTTCue.prototype.position;\n\n/**\n * @see https://w3c.github.io/webvtt/#enumdef-positionalignsetting\n * @type {string}\n */\nVTTCue.prototype.positionAlign;\n\n/** @type {number} */\nVTTCue.prototype.size;\n\n/**\n * @see https://w3c.github.io/webvtt/#enumdef-alignsetting\n * @type {string}\n */\nVTTCue.prototype.align;\n\n/** @type {string} */\nVTTCue.prototype.text;\n\n/** @return {!DocumentFragment} */\nVTTCue.prototype.getCueAsHTML = function() {};\n\n\n/**\n * @constructor\n * @extends {HTMLMediaElement}\n */\nfunction HTMLAudioElement() {}\n\n/**\n * @constructor\n * @extends {HTMLMediaElement}\n * The webkit-prefixed attributes are defined in\n * https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/html/media/HTMLMediaElement.idl\n */\nfunction HTMLVideoElement() {}\n\n/**\n * Starts displaying the video in full screen mode.\n * @return {undefined}\n */\nHTMLVideoElement.prototype.webkitEnterFullscreen = function() {};\n\n/**\n * Starts displaying the video in full screen mode.\n * @return {undefined}\n */\nHTMLVideoElement.prototype.webkitEnterFullScreen = function() {};\n\n/**\n * Stops displaying the video in full screen mode.\n * @return {undefined}\n */\nHTMLVideoElement.prototype.webkitExitFullscreen = function() {};\n\n/**\n * Stops displaying the video in full screen mode.\n * @return {undefined}\n */\nHTMLVideoElement.prototype.webkitExitFullScreen = function() {};\n\n/** @type {number} */\nHTMLVideoElement.prototype.width;\n\n/** @type {number} */\nHTMLVideoElement.prototype.height;\n\n/** @type {number} */\nHTMLVideoElement.prototype.videoWidth;\n\n/** @type {number} */\nHTMLVideoElement.prototype.videoHeight;\n\n/** @type {string} */\nHTMLVideoElement.prototype.poster;\n\n/** @type {boolean} */\nHTMLVideoElement.prototype.webkitSupportsFullscreen;\n\n/** @type {boolean} */\nHTMLVideoElement.prototype.webkitDisplayingFullscreen;\n\n/** @type {number} */\nHTMLVideoElement.prototype.webkitDecodedFrameCount;\n\n/** @type {number} */\nHTMLVideoElement.prototype.webkitDroppedFrameCount;\n\n/**\n * @typedef {{\n * creationTime: number,\n * totalVideoFrames: number,\n * droppedVideoFrames: number,\n * corruptedVideoFrames: number,\n * totalFrameDelay: number\n * }}\n */\nvar VideoPlaybackQuality;\n\n/**\n * @see https://w3c.github.io/media-source/#htmlvideoelement-extensions\n * @return {!VideoPlaybackQuality} Stats about the current playback.\n */\nHTMLVideoElement.prototype.getVideoPlaybackQuality = function() {};\n\n\n/**\n * @constructor\n * @see https://html.spec.whatwg.org/multipage/media.html#error-codes\n */\nfunction MediaError() {}\n\n/** @type {number} */\nMediaError.prototype.code;\n\n/** @type {string} */\nMediaError.prototype.message;\n\n/**\n * The fetching process for the media resource was aborted by the user agent at\n * the user's request.\n * @const {number}\n */\nMediaError.MEDIA_ERR_ABORTED;\n\n/**\n * A network error of some description caused the user agent to stop fetching\n * the media resource, after the resource was established to be usable.\n * @const {number}\n */\nMediaError.MEDIA_ERR_NETWORK;\n\n/**\n * An error of some description occurred while decoding the media resource,\n * after the resource was established to be usable.\n * @const {number}\n */\nMediaError.MEDIA_ERR_DECODE;\n\n/**\n * The media resource indicated by the src attribute was not suitable.\n * @const {number}\n */\nMediaError.MEDIA_ERR_SRC_NOT_SUPPORTED;\n\n// HTML5 MessageChannel\n/**\n * @see http://dev.w3.org/html5/spec/comms.html#messagechannel\n * @constructor\n */\nfunction MessageChannel() {}\n\n/**\n * Returns the first port.\n * @type {!MessagePort}\n */\nMessageChannel.prototype.port1;\n\n/**\n * Returns the second port.\n * @type {!MessagePort}\n */\nMessageChannel.prototype.port2;\n\n// HTML5 MessagePort\n/**\n * @see http://dev.w3.org/html5/spec/comms.html#messageport\n * @constructor\n * @implements {EventTarget}\n * @implements {Transferable}\n */\nfunction MessagePort() {}\n\n/** @override */\nMessagePort.prototype.addEventListener = function(type, listener, opt_options) {\n};\n\n/** @override */\nMessagePort.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nMessagePort.prototype.dispatchEvent = function(evt) {};\n\n\n/**\n * Posts a message through the channel, optionally with the given\n * Array of Transferables.\n * @param {*} message\n * @param {Array<!Transferable>=} opt_transfer\n * @return {undefined}\n */\nMessagePort.prototype.postMessage = function(message, opt_transfer) {\n};\n\n/**\n * Begins dispatching messages received on the port.\n * @return {undefined}\n */\nMessagePort.prototype.start = function() {};\n\n/**\n * Disconnects the port, so that it is no longer active.\n * @return {undefined}\n */\nMessagePort.prototype.close = function() {};\n\n/**\n * TODO(user): Change this to MessageEvent<*> and add casts as needed\n * @type {?function(!MessageEvent<?>): void}\n */\nMessagePort.prototype.onmessage;\n\n// HTML5 MessageEvent class\n/**\n * @typedef {Window|MessagePort|ServiceWorker}\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventsource\n */\nvar MessageEventSource;\n\n\n/**\n * @record\n * @extends {EventInit}\n * @template T\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventinit\n */\nfunction MessageEventInit() {}\n\n/** @type {T|undefined} */\nMessageEventInit.prototype.data;\n\n/** @type {(string|undefined)} */\nMessageEventInit.prototype.origin;\n\n/** @type {(string|undefined)} */\nMessageEventInit.prototype.lastEventId;\n\n/** @type {(?MessageEventSource|undefined)} */\nMessageEventInit.prototype.source;\n\n/** @type {(!Array<MessagePort>|undefined)} */\nMessageEventInit.prototype.ports;\n\n\n/**\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {MessageEventInit<T>=} opt_eventInitDict\n * @template T\n */\nfunction MessageEvent(type, opt_eventInitDict) {}\n\n/**\n * The data payload of the message.\n * @type {T}\n */\nMessageEvent.prototype.data;\n\n/**\n * The origin of the message, for server-sent events and cross-document\n * messaging.\n * @type {string}\n */\nMessageEvent.prototype.origin;\n\n/**\n * The last event ID, for server-sent events.\n * @type {string}\n */\nMessageEvent.prototype.lastEventId;\n\n/**\n * The window that dispatched the event.\n * @type {Window}\n */\nMessageEvent.prototype.source;\n\n/**\n * The Array of MessagePorts sent with the message, for cross-document\n * messaging and channel messaging.\n * @type {!Array<MessagePort>}\n */\nMessageEvent.prototype.ports;\n\n/**\n * Initializes the event in a manner analogous to the similarly-named methods in\n * the DOM Events interfaces.\n * @param {string} typeArg\n * @param {boolean=} canBubbleArg\n * @param {boolean=} cancelableArg\n * @param {T=} dataArg\n * @param {string=} originArg\n * @param {string=} lastEventIdArg\n * @param {?MessageEventSource=} sourceArg\n * @param {!Array<MessagePort>=} portsArg\n * @return {undefined}\n */\nMessageEvent.prototype.initMessageEvent = function(typeArg, canBubbleArg,\n cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {};\n\n/**\n * Initializes the event in a manner analogous to the similarly-named methods in\n * the DOM Events interfaces.\n * @param {string} namespaceURI\n * @param {string=} typeArg\n * @param {boolean=} canBubbleArg\n * @param {boolean=} cancelableArg\n * @param {T=} dataArg\n * @param {string=} originArg\n * @param {string=} lastEventIdArg\n * @param {?MessageEventSource=} sourceArg\n * @param {!Array<MessagePort>=} portsArg\n * @return {undefined}\n */\nMessageEvent.prototype.initMessageEventNS = function(namespaceURI, typeArg,\n canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg,\n portsArg) {};\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://html.spec.whatwg.org/multipage/web-sockets.html#the-closeevent-interface\n */\nfunction CloseEventInit() {}\n\n/**\n * @type {undefined|boolean}\n */\nCloseEventInit.prototype.wasClean;\n\n/**\n * @type {undefined|number}\n */\nCloseEventInit.prototype.code;\n\n/**\n * @type {undefined|string}\n */\nCloseEventInit.prototype.reason;\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {!CloseEventInit=} opt_init\n */\nvar CloseEvent = function(type, opt_init) {};\n\n/**\n * @type {boolean}\n */\nCloseEvent.prototype.wasClean;\n\n/**\n * @type {number}\n */\nCloseEvent.prototype.code;\n\n/**\n * @type {string}\n */\nCloseEvent.prototype.reason;\n\n/**\n * HTML5 BroadcastChannel class.\n * @param {string} channelName\n * @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n * @see https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel\n * @implements {EventTarget}\n * @constructor\n */\nfunction BroadcastChannel(channelName) {}\n\n/**\n * Sends the message, of any type of object, to each BroadcastChannel object\n * listening to the same channel.\n * @param {*} message\n */\nBroadcastChannel.prototype.postMessage = function(message) {};\n\n/**\n * Closes the channel object, indicating it won't get any new messages, and\n * allowing it to be, eventually, garbage collected.\n * @return {void}\n */\nBroadcastChannel.prototype.close = function() {};\n\n/** @override */\nBroadcastChannel.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\n\n/** @override */\nBroadcastChannel.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/**\n * An EventHandler property that specifies the function to execute when a\n * message event is fired on this object.\n * @type {?function(!MessageEvent<*>)}\n */\nBroadcastChannel.prototype.onmessage;\n\n/**\n * The name of the channel.\n * @type {string}\n */\nBroadcastChannel.prototype.name;\n\n/**\n * HTML5 DataTransfer class.\n *\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\n * @constructor\n */\nfunction DataTransfer() {}\n\n/** @type {string} */\nDataTransfer.prototype.dropEffect;\n\n/** @type {string} */\nDataTransfer.prototype.effectAllowed;\n\n/** @type {!Array<string>} */\nDataTransfer.prototype.types;\n\n/** @type {!FileList} */\nDataTransfer.prototype.files;\n\n/**\n * @param {string=} opt_format Format for which to remove data.\n * @return {undefined}\n */\nDataTransfer.prototype.clearData = function(opt_format) {};\n\n/**\n * @param {string} format Format for which to set data.\n * @param {string} data Data to add.\n * @return {boolean}\n */\nDataTransfer.prototype.setData = function(format, data) {};\n\n/**\n * @param {string} format Format for which to set data.\n * @return {string} Data for the given format.\n */\nDataTransfer.prototype.getData = function(format) { return ''; };\n\n/**\n * @param {HTMLElement} img The image to use when dragging.\n * @param {number} x Horizontal position of the cursor.\n * @param {number} y Vertical position of the cursor.\n * @return {undefined}\n */\nDataTransfer.prototype.setDragImage = function(img, x, y) {};\n\n/**\n * @param {HTMLElement} elem Element to receive drag result events.\n * @return {undefined}\n */\nDataTransfer.prototype.addElement = function(elem) {};\n\n/**\n * Addition for accessing clipboard file data that are part of the proposed\n * HTML5 spec.\n * @type {DataTransfer}\n */\nMouseEvent.prototype.dataTransfer;\n\n/**\n * @record\n * @extends {MouseEventInit}\n * @see https://w3c.github.io/uievents/#idl-wheeleventinit\n */\nfunction WheelEventInit() {}\n\n/** @type {undefined|number} */\nWheelEventInit.prototype.deltaX;\n\n/** @type {undefined|number} */\nWheelEventInit.prototype.deltaY;\n\n/** @type {undefined|number} */\nWheelEventInit.prototype.deltaZ;\n\n/** @type {undefined|number} */\nWheelEventInit.prototype.deltaMode;\n\n/**\n * @param {string} type\n * @param {WheelEventInit=} opt_eventInitDict\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-WheelEvent\n * @constructor\n * @extends {MouseEvent}\n */\nfunction WheelEvent(type, opt_eventInitDict) {}\n\n/** @const {number} */\nWheelEvent.DOM_DELTA_PIXEL;\n\n/** @const {number} */\nWheelEvent.DOM_DELTA_LINE;\n\n/** @const {number} */\nWheelEvent.DOM_DELTA_PAGE;\n\n/** @const {number} */\nWheelEvent.prototype.deltaX;\n\n/** @const {number} */\nWheelEvent.prototype.deltaY;\n\n/** @const {number} */\nWheelEvent.prototype.deltaZ;\n\n/** @const {number} */\nWheelEvent.prototype.deltaMode;\n\n/**\n * HTML5 DataTransferItem class.\n *\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\n * @constructor\n */\nfunction DataTransferItem() {}\n\n/** @type {string} */\nDataTransferItem.prototype.kind;\n\n/** @type {string} */\nDataTransferItem.prototype.type;\n\n/**\n * @param {function(string)} callback\n * @return {undefined}\n */\nDataTransferItem.prototype.getAsString = function(callback) {};\n\n/**\n * @return {?File} The file corresponding to this item, or null.\n * @nosideeffects\n */\nDataTransferItem.prototype.getAsFile = function() { return null; };\n\n/**\n * HTML5 DataTransferItemList class. There are some discrepancies in the docs\n * on the whatwg.org site. When in doubt, these prototypes match what is\n * implemented as of Chrome 30.\n *\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\n * @constructor\n * @implements {IArrayLike<!DataTransferItem>}\n */\nfunction DataTransferItemList() {}\n\n/** @type {number} */\nDataTransferItemList.prototype.length;\n\n/**\n * @param {number} i File to return from the list.\n * @return {DataTransferItem} The ith DataTransferItem in the list, or null.\n * @nosideeffects\n */\nDataTransferItemList.prototype.item = function(i) { return null; };\n\n/**\n * Adds an item to the list.\n * @param {string|!File} data Data for the item being added.\n * @param {string=} opt_type Mime type of the item being added. MUST be present\n * if the {@code data} parameter is a string.\n * @return {DataTransferItem}\n */\nDataTransferItemList.prototype.add = function(data, opt_type) {};\n\n/**\n * Removes an item from the list.\n * @param {number} i File to remove from the list.\n * @return {undefined}\n */\nDataTransferItemList.prototype.remove = function(i) {};\n\n/**\n * Removes all items from the list.\n * @return {undefined}\n */\nDataTransferItemList.prototype.clear = function() {};\n\n/** @type {!DataTransferItemList} */\nDataTransfer.prototype.items;\n\n/**\n * @record\n * @extends {MouseEventInit}\n * @see http://w3c.github.io/html/editing.html#dictdef-drageventinit\n */\nfunction DragEventInit() {}\n\n/** @type {undefined|?DataTransfer} */\nDragEventInit.prototype.dataTransfer;\n\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dragevent-interface\n * @constructor\n * @extends {MouseEvent}\n * @param {string} type\n * @param {DragEventInit=} opt_eventInitDict\n */\nfunction DragEvent(type, opt_eventInitDict) {}\n\n/** @type {DataTransfer} */\nDragEvent.prototype.dataTransfer;\n\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://www.w3.org/TR/progress-events/#progresseventinit\n */\nfunction ProgressEventInit() {}\n\n/** @type {undefined|boolean} */\nProgressEventInit.prototype.lengthComputable;\n\n/** @type {undefined|number} */\nProgressEventInit.prototype.loaded;\n\n/** @type {undefined|number} */\nProgressEventInit.prototype.total;\n\n/**\n * @constructor\n * @template TARGET\n * @param {string} type\n * @param {ProgressEventInit=} opt_progressEventInitDict\n * @extends {Event}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ProgressEvent\n */\nfunction ProgressEvent(type, opt_progressEventInitDict) {}\n\n/**\n * @override\n * @type {TARGET}\n */\nProgressEvent.prototype.target;\n\n/** @type {number} */\nProgressEvent.prototype.total;\n\n/** @type {number} */\nProgressEvent.prototype.loaded;\n\n/** @type {boolean} */\nProgressEvent.prototype.lengthComputable;\n\n\n/**\n * @constructor\n */\nfunction TimeRanges() {}\n\n/** @type {number} */\nTimeRanges.prototype.length;\n\n/**\n * @param {number} index The index.\n * @return {number} The start time of the range at index.\n * @throws {DOMException}\n */\nTimeRanges.prototype.start = function(index) { return 0; };\n\n/**\n * @param {number} index The index.\n * @return {number} The end time of the range at index.\n * @throws {DOMException}\n */\nTimeRanges.prototype.end = function(index) { return 0; };\n\n\n// HTML5 Web Socket class\n/**\n * @see https://html.spec.whatwg.org/multipage/web-sockets.html\n * @constructor\n * @param {string} url\n * @param {(string|!Array<string>)=} opt_protocol\n * @implements {EventTarget}\n */\nfunction WebSocket(url, opt_protocol) {}\n\n/**\n * The connection has not yet been established.\n * @const {number}\n */\nWebSocket.CONNECTING;\n\n/**\n * The connection has not yet been established.\n * @const {number}\n */\nWebSocket.prototype.CONNECTING;\n\n/**\n * The WebSocket connection is established and communication is possible.\n * @const {number}\n */\nWebSocket.OPEN;\n\n/**\n * The WebSocket connection is established and communication is possible.\n * @const {number}\n */\nWebSocket.prototype.OPEN;\n\n/**\n * The connection is going through the closing handshake, or the close() method has been invoked.\n * @const {number}\n */\nWebSocket.CLOSING;\n\n/**\n * The connection is going through the closing handshake, or the close() method has been invoked.\n * @const {number}\n */\nWebSocket.prototype.CLOSING;\n\n/**\n * The connection has been closed or could not be opened.\n * @const {number}\n */\nWebSocket.CLOSED;\n\n/**\n * The connection has been closed or could not be opened.\n * @const {number}\n */\nWebSocket.prototype.CLOSED;\n\n/** @override */\nWebSocket.prototype.addEventListener = function(type, listener, opt_options) {};\n\n/** @override */\nWebSocket.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nWebSocket.prototype.dispatchEvent = function(evt) {};\n\n/**\n * Returns the URL value that was passed to the constructor.\n * @type {string}\n */\nWebSocket.prototype.url;\n\n/**\n * Represents the state of the connection.\n * @type {number}\n */\nWebSocket.prototype.readyState;\n\n/**\n * Returns the number of bytes that have been queued but not yet sent.\n * @type {number}\n */\nWebSocket.prototype.bufferedAmount;\n\n/**\n * An event handler called on error event.\n * @type {?function(!Event): void}\n */\nWebSocket.prototype.onerror;\n\n/**\n * An event handler called on open event.\n * @type {?function(!Event): void}\n */\nWebSocket.prototype.onopen;\n\n/**\n * An event handler called on message event.\n * @type {?function(!MessageEvent<string|!ArrayBuffer|!Blob>): void}\n */\nWebSocket.prototype.onmessage;\n\n/**\n * An event handler called on close event.\n * @type {?function(!CloseEvent): void}\n */\nWebSocket.prototype.onclose;\n\n/**\n * Transmits data using the connection.\n * @param {string|!ArrayBuffer|!ArrayBufferView|!Blob} data\n * @return {void}\n */\nWebSocket.prototype.send = function(data) {};\n\n/**\n * Closes the Web Socket connection or connection attempt, if any.\n * @param {number=} opt_code\n * @param {string=} opt_reason\n * @return {undefined}\n */\nWebSocket.prototype.close = function(opt_code, opt_reason) {};\n\n/**\n * @type {string} Sets the type of data (blob or arraybuffer) for binary data.\n */\nWebSocket.prototype.binaryType;\n\n// HTML5 History\n/**\n * @constructor\n * @see http://w3c.github.io/html/browsers.html#the-history-interface\n */\nfunction History() {}\n\n/**\n * Goes back one step in the joint session history.\n * If there is no previous page, does nothing.\n *\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-history-back\n * @param {number=} opt_distance the number of entries to go back\n * (Mozilla doesn't support distance -- use #go instead)\n *\n * @return {undefined}\n */\nHistory.prototype.back = function(opt_distance) {};\n\n/**\n * Goes forward one step in the joint session history.\n * If there is no next page, does nothing.\n *\n * @return {undefined}\n */\nHistory.prototype.forward = function() {};\n\n/**\n * The number of entries in the joint session history.\n *\n * @type {number}\n */\nHistory.prototype.length;\n\n/**\n * Goes back or forward the specified number of steps in the joint session\n * history. A zero delta will reload the current page. If the delta is out of\n * range, does nothing.\n *\n * @param {number} delta The number of entries to go back.\n * @return {undefined}\n */\nHistory.prototype.go = function(delta) {};\n\n/**\n * Pushes a new state into the session history.\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\n * @param {*} data New state.\n * @param {string} title The title for a new session history entry.\n * @param {string=} opt_url The URL for a new session history entry.\n * @return {undefined}\n */\nHistory.prototype.pushState = function(data, title, opt_url) {};\n\n/**\n * Replaces the current state in the session history.\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\n * @param {*} data New state.\n * @param {string} title The title for a session history entry.\n * @param {string=} opt_url The URL for a new session history entry.\n * @return {undefined}\n */\nHistory.prototype.replaceState = function(data, title, opt_url) {};\n\n/**\n * Pending state object.\n * @see https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Reading_the_current_state\n * @type {*}\n */\nHistory.prototype.state;\n\n/**\n * Allows web applications to explicitly set default scroll restoration behavior\n * on history navigation. This property can be either auto or manual.\n *\n * Non-standard. Only supported in Chrome 46+.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History\n * @see https://majido.github.io/scroll-restoration-proposal/history-based-api.html\n * @type {string}\n */\nHistory.prototype.scrollRestoration;\n\n/**\n * Add history property to Window.\n *\n * @type {!History}\n */\nWindow.prototype.history;\n\n/**\n * @constructor\n * @see https://html.spec.whatwg.org/multipage/history.html#the-location-interface\n */\nfunction Location() {}\n\n/**\n * Returns the Location object's URL. Can be set, to navigate to the given URL.\n * @implicitCast\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-href\n */\nLocation.prototype.href;\n\n/**\n * Returns the Location object's URL's origin.\n * @const {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-origin\n */\nLocation.prototype.origin;\n\n/**\n * Returns the Location object's URL's scheme. Can be set, to navigate to the\n * same URL with a changed scheme.\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-protocol\n */\nLocation.prototype.protocol;\n\n/**\n * Returns the Location object's URL's host and port (if different from the\n * default port for the scheme). Can be set, to navigate to the same URL with\n * a changed host and port.\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-host\n */\nLocation.prototype.host;\n\n/**\n * Returns the Location object's URL's host. Can be set, to navigate to the\n * same URL with a changed host.\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-hostname\n */\nLocation.prototype.hostname;\n\n/**\n * Returns the Location object's URL's port. Can be set, to navigate to the\n * same URL with a changed port.\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#the-location-interface:dom-location-port\n */\nLocation.prototype.port;\n\n/**\n * Returns the Location object's URL's path. Can be set, to navigate to the\n * same URL with a changed path.\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-pathname\n */\nLocation.prototype.pathname;\n\n/**\n * Returns the Location object's URL's query (includes leading \"?\" if\n * non-empty). Can be set, to navigate to the same URL with a changed query\n * (ignores leading \"?\").\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-search\n */\nLocation.prototype.search;\n\n/**\n * Returns the Location object's URL's fragment (includes leading \"#\" if\n * non-empty). Can be set, to navigate to the same URL with a changed fragment\n * (ignores leading \"#\").\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-hash\n */\nLocation.prototype.hash;\n\n/**\n * Navigates to the given page.\n * @param {!TrustedURL|string} url\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-assign\n */\nLocation.prototype.assign = function(url) {};\n\n/**\n * Removes the current page from the session history and navigates to the given\n * page.\n * @param {!TrustedURL|string} url\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-replace\n */\nLocation.prototype.replace = function(url) {};\n\n/**\n * Reloads the current page.\n * @param {boolean=} forceReload If true, reloads the page from\n * the server. Defaults to false.\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-reload\n */\nLocation.prototype.reload = function(forceReload) {};\n\n/**\n * Returns a DOMStringList object listing the origins of the ancestor browsing\n * contexts, from the parent browsing context to the top-level browsing\n * context.\n * @type {DOMStringList}\n * @see https://html.spec.whatwg.org/multipage/history.html#dom-location-ancestororigins\n */\nLocation.prototype.ancestorOrigins;\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/#popstateevent\n * @constructor\n * @extends {Event}\n *\n * @param {string} type\n * @param {{state: *}=} opt_eventInitDict\n */\nfunction PopStateEvent(type, opt_eventInitDict) {}\n\n/**\n * @type {*}\n */\nPopStateEvent.prototype.state;\n\n/**\n * Initializes the event after it has been created with document.createEvent\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {*} stateArg\n * @return {undefined}\n */\nPopStateEvent.prototype.initPopStateEvent = function(typeArg, canBubbleArg,\n cancelableArg, stateArg) {};\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent\n * @constructor\n * @extends {Event}\n *\n * @param {string} type\n * @param {{oldURL: string, newURL: string}=} opt_eventInitDict\n */\nfunction HashChangeEvent(type, opt_eventInitDict) {}\n\n/** @type {string} */\nHashChangeEvent.prototype.oldURL;\n\n/** @type {string} */\nHashChangeEvent.prototype.newURL;\n\n/**\n * Initializes the event after it has been created with document.createEvent\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {string} oldURLArg\n * @param {string} newURLArg\n * @return {undefined}\n */\nHashChangeEvent.prototype.initHashChangeEvent = function(typeArg, canBubbleArg,\n cancelableArg, oldURLArg, newURLArg) {};\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent\n * @constructor\n * @extends {Event}\n *\n * @param {string} type\n * @param {{persisted: boolean}=} opt_eventInitDict\n */\nfunction PageTransitionEvent(type, opt_eventInitDict) {}\n\n/** @type {boolean} */\nPageTransitionEvent.prototype.persisted;\n\n/**\n * Initializes the event after it has been created with document.createEvent\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {*} persistedArg\n * @return {undefined}\n */\nPageTransitionEvent.prototype.initPageTransitionEvent = function(typeArg,\n canBubbleArg, cancelableArg, persistedArg) {};\n\n/**\n * @constructor\n * @implements {IArrayLike<!File>}\n */\nfunction FileList() {}\n\n/** @type {number} */\nFileList.prototype.length;\n\n/**\n * @param {number} i File to return from the list.\n * @return {File} The ith file in the list.\n * @nosideeffects\n */\nFileList.prototype.item = function(i) { return null; };\n\n/**\n * @type {boolean}\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#withcredentials\n */\nXMLHttpRequest.prototype.withCredentials;\n\n/**\n * @type {?function(!ProgressEvent): void}\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadstart\n */\nXMLHttpRequest.prototype.onloadstart;\n\n/**\n * @type {?function(!ProgressEvent): void}\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\n */\nXMLHttpRequest.prototype.onprogress;\n\n/**\n * @type {?function(!ProgressEvent): void}\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onabort\n */\nXMLHttpRequest.prototype.onabort;\n\n/**\n * @type {?function(!ProgressEvent): void}\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onload\n */\nXMLHttpRequest.prototype.onload;\n\n/**\n * @type {?function(!ProgressEvent): void}\n * @see https://xhr.spec.whatwg.org/#handler-xhr-ontimeout\n */\nXMLHttpRequest.prototype.ontimeout;\n\n/**\n * @type {?function(!ProgressEvent): void}\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadend\n */\nXMLHttpRequest.prototype.onloadend;\n\n/**\n * @type {XMLHttpRequestUpload}\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-upload-attribute\n */\nXMLHttpRequest.prototype.upload;\n\n/**\n * @param {string} mimeType The mime type to override with.\n * @return {undefined}\n */\nXMLHttpRequest.prototype.overrideMimeType = function(mimeType) {};\n\n/**\n * @type {string}\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-responsetype-attribute\n */\nXMLHttpRequest.prototype.responseType;\n\n/**\n * @type {?(ArrayBuffer|Blob|Document|Object|string)}\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-response-attribute\n */\nXMLHttpRequest.prototype.response;\n\n\n/**\n * @type {ArrayBuffer}\n * Implemented as a draft spec in Firefox 4 as the way to get a requested array\n * buffer from an XMLHttpRequest.\n * @see https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data_using_JavaScript_typed_arrays\n *\n * This property is not used anymore and should be removed.\n * @see https://github.com/google/closure-compiler/pull/1389\n */\nXMLHttpRequest.prototype.mozResponseArrayBuffer;\n\n/**\n * XMLHttpRequestEventTarget defines events for checking the status of a data\n * transfer between a client and a server. This should be a common base class\n * for XMLHttpRequest and XMLHttpRequestUpload.\n *\n * @constructor\n * @implements {EventTarget}\n */\nfunction XMLHttpRequestEventTarget() {}\n\n/** @override */\nXMLHttpRequestEventTarget.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nXMLHttpRequestEventTarget.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nXMLHttpRequestEventTarget.prototype.dispatchEvent = function(evt) {};\n\n/**\n * An event target to track the status of an upload.\n *\n * @constructor\n * @extends {XMLHttpRequestEventTarget}\n */\nfunction XMLHttpRequestUpload() {}\n\n/**\n * @type {?function(!ProgressEvent): void}\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\n */\nXMLHttpRequestUpload.prototype.onprogress;\n\n/**\n * @param {number=} opt_width\n * @param {number=} opt_height\n * @constructor\n * @extends {HTMLImageElement}\n */\nfunction Image(opt_width, opt_height) {}\n\n\n/**\n * Dataset collection.\n * This is really a DOMStringMap but it behaves close enough to an object to\n * pass as an object.\n * @const {!Object<string, string>}\n */\nHTMLElement.prototype.dataset;\n\n\n/**\n * @constructor\n * @implements {IArrayLike<string>}\n * @see https://dom.spec.whatwg.org/#interface-domtokenlist\n */\nfunction DOMTokenList() {}\n\n/**\n * Returns the number of CSS classes applied to this Element.\n * @type {number}\n */\nDOMTokenList.prototype.length;\n\n/**\n * Returns the string value applied to this Element.\n * @type {string|undefined}\n */\nDOMTokenList.prototype.value;\n\n/**\n * @param {number} index The index of the item to return.\n * @return {string} The CSS class at the specified index.\n * @nosideeffects\n */\nDOMTokenList.prototype.item = function(index) {};\n\n/**\n * @param {string} token The CSS class to check for.\n * @return {boolean} Whether the CSS class has been applied to the Element.\n * @nosideeffects\n */\nDOMTokenList.prototype.contains = function(token) {};\n\n/**\n * @param {...string} var_args The CSS class(es) to add to this element.\n * @return {undefined}\n */\nDOMTokenList.prototype.add = function(var_args) {};\n\n/**\n * @param {...string} var_args The CSS class(es) to remove from this element.\n * @return {undefined}\n */\nDOMTokenList.prototype.remove = function(var_args) {};\n\n/**\n * Replaces token with newToken.\n * @param {string} token The CSS class to replace.\n * @param {string} newToken The new CSS class to use.\n * @return {undefined}\n */\nDOMTokenList.prototype.replace = function(token, newToken) {};\n\n/**\n * @param {string} token The token to query for.\n * @return {boolean} Whether the token was found.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/supports\n * @nosideeffects\n */\nDOMTokenList.prototype.supports = function(token) {};\n\n/**\n * @param {string} token The CSS class to toggle from this element.\n * @param {boolean=} opt_force True to add the class whether it exists\n * or not. False to remove the class whether it exists or not.\n * This argument is not supported on IE 10 and below, according to\n * the MDN page linked below.\n * @return {boolean} False if the token was removed; True otherwise.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element.classList\n */\nDOMTokenList.prototype.toggle = function(token, opt_force) {};\n\n/**\n * @return {string} A stringified representation of CSS classes.\n * @nosideeffects\n * @override\n */\nDOMTokenList.prototype.toString = function() {};\n\n/**\n * @return {!IteratorIterable<string>} An iterator to go through all values of\n * the key/value pairs contained in this object.\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/values\n */\nDOMTokenList.prototype.values = function() {};\n\n/**\n * A better interface to CSS classes than className.\n * @const {!DOMTokenList}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/classList\n */\nElement.prototype.classList;\n\n/**\n * Constraint Validation API properties and methods\n * @see http://www.w3.org/TR/2009/WD-html5-20090423/forms.html#the-constraint-validation-api\n */\n\n/** @return {boolean} */\nHTMLFormElement.prototype.checkValidity = function() {};\n\n/** @return {boolean} */\nHTMLFormElement.prototype.reportValidity = function() {};\n\n/** @type {boolean} */\nHTMLFormElement.prototype.noValidate;\n\n/** @constructor */\nfunction ValidityState() {}\n\n/** @type {boolean} */\nValidityState.prototype.badInput;\n\n/** @type {boolean} */\nValidityState.prototype.customError;\n\n/** @type {boolean} */\nValidityState.prototype.patternMismatch;\n\n/** @type {boolean} */\nValidityState.prototype.rangeOverflow;\n\n/** @type {boolean} */\nValidityState.prototype.rangeUnderflow;\n\n/** @type {boolean} */\nValidityState.prototype.stepMismatch;\n\n/** @type {boolean} */\nValidityState.prototype.typeMismatch;\n\n/** @type {boolean} */\nValidityState.prototype.tooLong;\n\n/** @type {boolean} */\nValidityState.prototype.tooShort;\n\n/** @type {boolean} */\nValidityState.prototype.valid;\n\n/** @type {boolean} */\nValidityState.prototype.valueMissing;\n\n\n/** @type {boolean} */\nHTMLButtonElement.prototype.autofocus;\n\n/**\n * Can return null when hidden.\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\n * @const {?NodeList<!HTMLLabelElement>}\n */\nHTMLButtonElement.prototype.labels;\n\n/** @type {string} */\nHTMLButtonElement.prototype.validationMessage;\n\n/**\n * @const {ValidityState}\n */\nHTMLButtonElement.prototype.validity;\n\n/** @type {boolean} */\nHTMLButtonElement.prototype.willValidate;\n\n/** @return {boolean} */\nHTMLButtonElement.prototype.checkValidity = function() {};\n\n/** @return {boolean} */\nHTMLButtonElement.prototype.reportValidity = function() {};\n\n/**\n * @param {string} message\n * @return {undefined}\n */\nHTMLButtonElement.prototype.setCustomValidity = function(message) {};\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\n */\nHTMLButtonElement.prototype.formAction;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\n */\nHTMLButtonElement.prototype.formEnctype;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\n */\nHTMLButtonElement.prototype.formMethod;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\n */\nHTMLButtonElement.prototype.formTarget;\n\n/** @type {boolean} */\nHTMLInputElement.prototype.autofocus;\n\n/** @type {boolean} */\nHTMLInputElement.prototype.formNoValidate;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\n */\nHTMLInputElement.prototype.formAction;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\n */\nHTMLInputElement.prototype.formEnctype;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\n */\nHTMLInputElement.prototype.formMethod;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\n */\nHTMLInputElement.prototype.formTarget;\n\n/**\n * Can return null when hidden.\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\n * @const {?NodeList<!HTMLLabelElement>}\n */\nHTMLInputElement.prototype.labels;\n\n/** @type {string} */\nHTMLInputElement.prototype.validationMessage;\n\n/**\n * @type {number}\n * @implicitCast\n */\nHTMLInputElement.prototype.selectionStart;\n\n/**\n * @type {number}\n * @implicitCast\n */\nHTMLInputElement.prototype.selectionEnd;\n\n/** @type {string} */\nHTMLInputElement.prototype.selectionDirection;\n\n/**\n * @param {number} start\n * @param {number} end\n * @param {string=} direction\n * @see https://html.spec.whatwg.org/#dom-textarea/input-setselectionrange\n * @return {undefined}\n */\nHTMLInputElement.prototype.setSelectionRange = function(start, end, direction) {};\n\n/**\n * @const {ValidityState}\n */\nHTMLInputElement.prototype.validity;\n\n/** @type {boolean} */\nHTMLInputElement.prototype.willValidate;\n\n/** @return {boolean} */\nHTMLInputElement.prototype.checkValidity = function() {};\n\n/** @return {boolean} */\nHTMLInputElement.prototype.reportValidity = function() {};\n\n/**\n * @param {string} message\n * @return {undefined}\n */\nHTMLInputElement.prototype.setCustomValidity = function(message) {};\n\n/** @type {Element} */\nHTMLLabelElement.prototype.control;\n\n/** @type {boolean} */\nHTMLSelectElement.prototype.autofocus;\n\n/**\n * Can return null when hidden.\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\n * @const {?NodeList<!HTMLLabelElement>}\n */\nHTMLSelectElement.prototype.labels;\n\n/** @type {HTMLCollection<!HTMLOptionElement>} */\nHTMLSelectElement.prototype.selectedOptions;\n\n/** @type {string} */\nHTMLSelectElement.prototype.validationMessage;\n\n/**\n * @const {ValidityState}\n */\nHTMLSelectElement.prototype.validity;\n\n/** @type {boolean} */\nHTMLSelectElement.prototype.willValidate;\n\n/** @return {boolean} */\nHTMLSelectElement.prototype.checkValidity = function() {};\n\n/** @return {boolean} */\nHTMLSelectElement.prototype.reportValidity = function() {};\n\n/**\n * @param {string} message\n * @return {undefined}\n */\nHTMLSelectElement.prototype.setCustomValidity = function(message) {};\n\n/** @type {boolean} */\nHTMLTextAreaElement.prototype.autofocus;\n\n/**\n * Can return null when hidden.\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\n * @const {?NodeList<!HTMLLabelElement>}\n */\nHTMLTextAreaElement.prototype.labels;\n\n/** @type {string} */\nHTMLTextAreaElement.prototype.placeholder;\n\n/** @type {string} */\nHTMLTextAreaElement.prototype.validationMessage;\n\n/**\n * @const {ValidityState}\n */\nHTMLTextAreaElement.prototype.validity;\n\n/** @type {boolean} */\nHTMLTextAreaElement.prototype.willValidate;\n\n/** @return {boolean} */\nHTMLTextAreaElement.prototype.checkValidity = function() {};\n\n/** @return {boolean} */\nHTMLTextAreaElement.prototype.reportValidity = function() {};\n\n/**\n * @param {string} message\n * @return {undefined}\n */\nHTMLTextAreaElement.prototype.setCustomValidity = function(message) {};\n\n/**\n * @constructor\n * @extends {HTMLElement}\n * @see http://www.w3.org/TR/html5/the-embed-element.html#htmlembedelement\n */\nfunction HTMLEmbedElement() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-width\n */\nHTMLEmbedElement.prototype.width;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-height\n */\nHTMLEmbedElement.prototype.height;\n\n/**\n * @type {string}\n * @implicitCast\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-src\n */\nHTMLEmbedElement.prototype.src;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-type\n */\nHTMLEmbedElement.prototype.type;\n\n// Fullscreen APIs.\n\n/**\n * @record\n * @see https://fullscreen.spec.whatwg.org/#dictdef-fullscreenoptions\n */\nfunction FullscreenOptions() {}\n\n/** @type {string} */\nFullscreenOptions.prototype.navigationUI;\n\n/**\n * @see https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen\n * @param {!FullscreenOptions=} options\n * @return {!Promise<undefined>}\n */\nElement.prototype.requestFullscreen = function(options) {};\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabled\n */\nDocument.prototype.fullscreenEnabled;\n\n/**\n * @type {Element}\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelement\n */\nDocument.prototype.fullscreenElement;\n\n/**\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen\n * @return {undefined}\n */\nDocument.prototype.exitFullscreen = function() {};\n\n// Externs definitions of browser current implementations.\n// Firefox 10 implementation.\nElement.prototype.mozRequestFullScreen = function() {};\n\nElement.prototype.mozRequestFullScreenWithKeys = function() {};\n\n/** @type {boolean} */\nDocument.prototype.mozFullScreen;\n\nDocument.prototype.mozCancelFullScreen = function() {};\n\n/** @type {Element} */\nDocument.prototype.mozFullScreenElement;\n\n/** @type {boolean} */\nDocument.prototype.mozFullScreenEnabled;\n\n// Chrome 21 implementation.\n/**\n * The current fullscreen element for the document is set to this element.\n * Valid only for Webkit browsers.\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\n * Should use ALLOW_KEYBOARD_INPUT constant.\n * @return {undefined}\n */\nElement.prototype.webkitRequestFullScreen = function(opt_allowKeyboardInput) {};\n\n/**\n * The current fullscreen element for the document is set to this element.\n * Valid only for Webkit browsers.\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\n * Should use ALLOW_KEYBOARD_INPUT constant.\n * @return {undefined}\n */\nElement.prototype.webkitRequestFullscreen = function(opt_allowKeyboardInput) {};\n\n/** @type {boolean} */\nDocument.prototype.webkitIsFullScreen;\n\nDocument.prototype.webkitCancelFullScreen = function() {};\n\n/** @type {boolean} */\nDocument.prototype.webkitFullscreenEnabled;\n\n/** @type {Element} */\nDocument.prototype.webkitCurrentFullScreenElement;\n\n/** @type {Element} */\nDocument.prototype.webkitFullscreenElement;\n\n/** @type {boolean} */\nDocument.prototype.webkitFullScreenKeyboardInputAllowed;\n\n// IE 11 implementation.\n// http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx\n/** @return {void} */\nElement.prototype.msRequestFullscreen = function() {};\n\n/** @return {void} */\nDocument.prototype.msExitFullscreen = function() {};\n\n/** @type {boolean} */\nDocument.prototype.msFullscreenEnabled;\n\n/** @type {Element} */\nDocument.prototype.msFullscreenElement;\n\n/** @const {number} */\nElement.ALLOW_KEYBOARD_INPUT;\n\n/** @const {number} */\nElement.prototype.ALLOW_KEYBOARD_INPUT;\n\n\n/**\n * @typedef {{\n * childList: (boolean|undefined),\n * attributes: (boolean|undefined),\n * characterData: (boolean|undefined),\n * subtree: (boolean|undefined),\n * attributeOldValue: (boolean|undefined),\n * characterDataOldValue: (boolean|undefined),\n * attributeFilter: (!Array<string>|undefined)\n * }}\n */\nvar MutationObserverInit;\n\n\n/** @constructor */\nfunction MutationRecord() {}\n\n/** @type {string} */\nMutationRecord.prototype.type;\n\n/** @type {Node} */\nMutationRecord.prototype.target;\n\n/** @type {!NodeList<!Node>} */\nMutationRecord.prototype.addedNodes;\n\n/** @type {!NodeList<!Node>} */\nMutationRecord.prototype.removedNodes;\n\n/** @type {?Node} */\nMutationRecord.prototype.previousSibling;\n\n/** @type {?Node} */\nMutationRecord.prototype.nextSibling;\n\n/** @type {?string} */\nMutationRecord.prototype.attributeName;\n\n/** @type {?string} */\nMutationRecord.prototype.attributeNamespace;\n\n/** @type {?string} */\nMutationRecord.prototype.oldValue;\n\n\n/**\n * @see http://www.w3.org/TR/domcore/#mutation-observers\n * @param {function(!Array<!MutationRecord>, !MutationObserver)} callback\n * @constructor\n */\nfunction MutationObserver(callback) {}\n\n/**\n * @param {Node} target\n * @param {MutationObserverInit=} options\n * @return {undefined}\n */\nMutationObserver.prototype.observe = function(target, options) {};\n\nMutationObserver.prototype.disconnect = function() {};\n\n/**\n * @return {!Array<!MutationRecord>}\n */\nMutationObserver.prototype.takeRecords = function() {};\n\n/**\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\n */\nWindow.prototype.WebKitMutationObserver;\n\n/**\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\n */\nWindow.prototype.MozMutationObserver;\n\n\n/**\n * @see http://www.w3.org/TR/page-visibility/\n * @type {VisibilityState}\n */\nDocument.prototype.visibilityState;\n\n/**\n * @type {string}\n */\nDocument.prototype.mozVisibilityState;\n\n/**\n * @type {string}\n */\nDocument.prototype.webkitVisibilityState;\n\n/**\n * @type {string}\n */\nDocument.prototype.msVisibilityState;\n\n/**\n * @see http://www.w3.org/TR/page-visibility/\n * @type {boolean}\n */\nDocument.prototype.hidden;\n\n/**\n * @type {boolean}\n */\nDocument.prototype.mozHidden;\n\n/**\n * @type {boolean}\n */\nDocument.prototype.webkitHidden;\n\n/**\n * @type {boolean}\n */\nDocument.prototype.msHidden;\n\n/**\n * @see http://www.w3.org/TR/components-intro/\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\n * @param {string} type\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}=}\n * options\n * @return {function(new:Element, ...*)} a constructor for the new tag.\n * @deprecated document.registerElement() is deprecated in favor of\n * customElements.define()\n */\nDocument.prototype.registerElement = function(type, options) {};\n\n/**\n * @see http://www.w3.org/TR/components-intro/\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\n * @param {string} type\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}} options\n * @deprecated This method has been removed and will be removed soon from this file.\n */\nDocument.prototype.register = function(type, options) {};\n\n/**\n * @type {!FontFaceSet}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfacesource-fonts\n */\nDocument.prototype.fonts;\n\n\n/**\n * @type {?HTMLScriptElement}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript\n */\nDocument.prototype.currentScript;\n\n/**\n * Definition of ShadowRoot interface,\n * @see http://www.w3.org/TR/shadow-dom/#api-shadow-root\n * @constructor\n * @extends {DocumentFragment}\n */\nfunction ShadowRoot() {}\n\n/**\n * The host element that a ShadowRoot is attached to.\n * Note: this is not yet W3C standard but is undergoing development.\n * W3C feature tracking bug:\n * https://www.w3.org/Bugs/Public/show_bug.cgi?id=22399\n * Draft specification:\n * https://dvcs.w3.org/hg/webcomponents/raw-file/6743f1ace623/spec/shadow/index.html#shadow-root-object\n * @type {!Element}\n */\nShadowRoot.prototype.host;\n\n/**\n * @param {string} id id.\n * @return {HTMLElement}\n * @nosideeffects\n */\nShadowRoot.prototype.getElementById = function(id) {};\n\n\n/**\n * @return {Selection}\n * @nosideeffects\n */\nShadowRoot.prototype.getSelection = function() {};\n\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {Element}\n * @nosideeffects\n */\nShadowRoot.prototype.elementFromPoint = function(x, y) {};\n\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {!IArrayLike<!Element>}\n * @nosideeffects\n */\nShadowRoot.prototype.elementsFromPoint = function(x, y) {};\n\n\n/**\n * @type {?Element}\n */\nShadowRoot.prototype.activeElement;\n\n\n/**\n * @type {string}\n */\nShadowRoot.prototype.mode;\n\n\n/**\n * @type {?ShadowRoot}\n * @deprecated\n */\nShadowRoot.prototype.olderShadowRoot;\n\n\n/**\n * @type {string}\n * @implicitCast\n */\nShadowRoot.prototype.innerHTML;\n\n\n/**\n * @type {!StyleSheetList}\n */\nShadowRoot.prototype.styleSheets;\n\n\n\n/**\n * @see http://www.w3.org/TR/shadow-dom/#the-content-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLContentElement() {}\n\n/**\n * @type {string}\n */\nHTMLContentElement.prototype.select;\n\n/**\n * @return {!NodeList<!Node>}\n */\nHTMLContentElement.prototype.getDistributedNodes = function() {};\n\n\n/**\n * @see http://www.w3.org/TR/shadow-dom/#the-shadow-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLShadowElement() {}\n\n/**\n * @return {!NodeList<!Node>}\n */\nHTMLShadowElement.prototype.getDistributedNodes = function() {};\n\n\n/**\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\n *\n * @constructor\n * @extends {Event}\n *\n * @param {string} type\n * @param {ErrorEventInit=} opt_eventInitDict\n */\nfunction ErrorEvent(type, opt_eventInitDict) {}\n\n/** @const {string} */\nErrorEvent.prototype.message;\n\n/** @const {string} */\nErrorEvent.prototype.filename;\n\n/** @const {number} */\nErrorEvent.prototype.lineno;\n\n/** @const {number} */\nErrorEvent.prototype.colno;\n\n/** @const {*} */\nErrorEvent.prototype.error;\n\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://www.w3.org/TR/html5/webappapis.html#erroreventinit\n */\nfunction ErrorEventInit() {}\n\n/** @type {undefined|string} */\nErrorEventInit.prototype.message;\n\n/** @type {undefined|string} */\nErrorEventInit.prototype.filename;\n\n/** @type {undefined|number} */\nErrorEventInit.prototype.lineno;\n\n/** @type {undefined|number} */\nErrorEventInit.prototype.colno;\n\n/** @type {*} */\nErrorEventInit.prototype.error;\n\n\n/**\n * @see http://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument\n * @param {string=} opt_title A title to give the new HTML document\n * @return {!HTMLDocument}\n */\nDOMImplementation.prototype.createHTMLDocument = function(opt_title) {};\n\n\n\n/**\n * @constructor\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\n * @extends {HTMLElement}\n */\nfunction HTMLPictureElement() {}\n\n/**\n * @constructor\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\n * @extends {HTMLElement}\n */\nfunction HTMLSourceElement() {}\n\n/** @type {string} */\nHTMLSourceElement.prototype.media;\n\n/** @type {string} */\nHTMLSourceElement.prototype.sizes;\n\n/** @type {string} @implicitCast */\nHTMLSourceElement.prototype.src;\n\n/** @type {string} */\nHTMLSourceElement.prototype.srcset;\n\n/** @type {string} */\nHTMLSourceElement.prototype.type;\n\n/** @type {string} */\nHTMLImageElement.prototype.sizes;\n\n/** @type {string} */\nHTMLImageElement.prototype.srcset;\n\n\n/**\n * 4.11 Interactive elements\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html\n */\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-details-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLDetailsElement() {}\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-details-open\n * @type {boolean}\n */\nHTMLDetailsElement.prototype.open;\n\n\n// As of 2/20/2015, <summary> has no special web IDL interface nor global\n// constructor (i.e. HTMLSummaryElement).\n\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-type\n * @type {string}\n */\nHTMLMenuElement.prototype.type;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-label\n * @type {string}\n */\nHTMLMenuElement.prototype.label;\n\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menuitem-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLMenuItemElement() {}\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-type\n * @type {string}\n */\nHTMLMenuItemElement.prototype.type;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-label\n * @type {string}\n */\nHTMLMenuItemElement.prototype.label;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-icon\n * @type {string}\n */\nHTMLMenuItemElement.prototype.icon;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-disabled\n * @type {boolean}\n */\nHTMLMenuItemElement.prototype.disabled;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-checked\n * @type {boolean}\n */\nHTMLMenuItemElement.prototype.checked;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-radiogroup\n * @type {string}\n */\nHTMLMenuItemElement.prototype.radiogroup;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-default\n * @type {boolean}\n */\nHTMLMenuItemElement.prototype.default;\n\n// TODO(user): add HTMLMenuItemElement.prototype.command if it's implemented.\n\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#relatedevent\n * @param {string} type\n * @param {{relatedTarget: (EventTarget|undefined)}=} opt_eventInitDict\n * @constructor\n * @extends {Event}\n */\nfunction RelatedEvent(type, opt_eventInitDict) {}\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-relatedevent-relatedtarget\n * @type {EventTarget|undefined}\n */\nRelatedEvent.prototype.relatedTarget;\n\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLDialogElement() {}\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-open\n * @type {boolean}\n */\nHTMLDialogElement.prototype.open;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-returnvalue\n * @type {string}\n */\nHTMLDialogElement.prototype.returnValue;\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-show\n * @param {(MouseEvent|Element)=} opt_anchor\n * @return {undefined}\n */\nHTMLDialogElement.prototype.show = function(opt_anchor) {};\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-showmodal\n * @param {(MouseEvent|Element)=} opt_anchor\n * @return {undefined}\n */\nHTMLDialogElement.prototype.showModal = function(opt_anchor) {};\n\n/**\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-close\n * @param {string=} opt_returnValue\n * @return {undefined}\n */\nHTMLDialogElement.prototype.close = function(opt_returnValue) {};\n\n\n/**\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLTemplateElement() {}\n\n/**\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\n * @type {!DocumentFragment}\n */\nHTMLTemplateElement.prototype.content;\n\n\n/**\n * @type {?Document}\n * @see w3c_dom2.js\n * @see http://www.w3.org/TR/html-imports/#interface-import\n */\nHTMLLinkElement.prototype.import;\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/#attr-link-as\n * @see https://w3c.github.io/preload/#as-attribute\n */\nHTMLLinkElement.prototype.as;\n\n/**\n * @see https://html.spec.whatwg.org/#attr-link-crossorigin\n * @type {string}\n */\nHTMLLinkElement.prototype.crossOrigin;\n\n\n/**\n * @return {boolean}\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\n */\nHTMLFieldSetElement.prototype.checkValidity = function() {};\n\n/**\n * @type {HTMLCollection}\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\n */\nHTMLFieldSetElement.prototype.elements;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\n */\nHTMLFieldSetElement.prototype.name;\n\n/**\n * @param {string} message\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\n * @return {undefined}\n */\nHTMLFieldSetElement.prototype.setCustomValidity = function(message) {};\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-type\n */\nHTMLFieldSetElement.prototype.type;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\n */\nHTMLFieldSetElement.prototype.validationMessage;\n\n/**\n * @type {ValidityState}\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\n */\nHTMLFieldSetElement.prototype.validity;\n\n/**\n * @type {boolean}\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\n */\nHTMLFieldSetElement.prototype.willValidate;\n\n/**\n * @constructor\n * @extends {NodeList<T>}\n * @template T\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist\n */\nfunction RadioNodeList() {}\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist\n */\nRadioNodeList.prototype.value;\n\n\n/**\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLDataListElement() {}\n\n\n/** @type {HTMLCollection<!HTMLOptionElement>} */\nHTMLDataListElement.prototype.options;\n\n\n/**\n * @return {boolean}\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\n */\nHTMLObjectElement.prototype.checkValidity;\n\n/**\n * @param {string} message\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\n * @return {undefined}\n */\nHTMLObjectElement.prototype.setCustomValidity;\n\n/**\n * @type {string}\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\n */\nHTMLObjectElement.prototype.validationMessage;\n\n/**\n * @type {!ValidityState}\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\n */\nHTMLObjectElement.prototype.validity;\n\n/**\n * @type {boolean}\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\n */\nHTMLObjectElement.prototype.willValidate;\n\n\n/**\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-output-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLOutputElement() {}\n\n/**\n * @const {!DOMTokenList}\n */\nHTMLOutputElement.prototype.htmlFor;\n\n/**\n * @type {HTMLFormElement}\n */\nHTMLOutputElement.prototype.form;\n\n/**\n * @type {string}\n */\nHTMLOutputElement.prototype.name;\n\n/**\n * @const {string}\n */\nHTMLOutputElement.prototype.type;\n\n/**\n * @type {string}\n */\nHTMLOutputElement.prototype.defaultValue;\n\n/**\n * @type {string}\n */\nHTMLOutputElement.prototype.value;\n\n/**\n * @const {?NodeList<!HTMLLabelElement>}\n */\nHTMLOutputElement.prototype.labels;\n\n/** @type {string} */\nHTMLOutputElement.prototype.validationMessage;\n\n/**\n * @const {ValidityState}\n */\nHTMLOutputElement.prototype.validity;\n\n/** @type {boolean} */\nHTMLOutputElement.prototype.willValidate;\n\n/** @return {boolean} */\nHTMLOutputElement.prototype.checkValidity = function() {};\n\n/** @return {boolean} */\nHTMLOutputElement.prototype.reportValidity = function() {};\n\n/** @param {string} message */\nHTMLOutputElement.prototype.setCustomValidity = function(message) {};\n\n\n\n/**\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-progress-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLProgressElement() {}\n\n\n/** @type {number} */\nHTMLProgressElement.prototype.value;\n\n\n/** @type {number} */\nHTMLProgressElement.prototype.max;\n\n\n/** @type {number} */\nHTMLProgressElement.prototype.position;\n\n\n/** @type {?NodeList<!Node>} */\nHTMLProgressElement.prototype.labels;\n\n\n\n/**\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-track-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLTrackElement() {}\n\n\n/** @type {string} */\nHTMLTrackElement.prototype.kind;\n\n\n/** @type {string} @implicitCast */\nHTMLTrackElement.prototype.src;\n\n\n/** @type {string} */\nHTMLTrackElement.prototype.srclang;\n\n\n/** @type {string} */\nHTMLTrackElement.prototype.label;\n\n\n/** @type {boolean} */\nHTMLTrackElement.prototype.default;\n\n\n/** @const {number} */\nHTMLTrackElement.prototype.readyState;\n\n\n/** @const {!TextTrack} */\nHTMLTrackElement.prototype.track;\n\n\n\n/**\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-meter-element\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLMeterElement() {}\n\n\n/** @type {number} */\nHTMLMeterElement.prototype.value;\n\n\n/** @type {number} */\nHTMLMeterElement.prototype.min;\n\n\n/** @type {number} */\nHTMLMeterElement.prototype.max;\n\n\n/** @type {number} */\nHTMLMeterElement.prototype.low;\n\n\n/** @type {number} */\nHTMLMeterElement.prototype.high;\n\n\n/** @type {number} */\nHTMLMeterElement.prototype.optimum;\n\n\n/** @type {?NodeList<!Node>} */\nHTMLMeterElement.prototype.labels;\n\n\n/**\n * @interface\n * @see https://storage.spec.whatwg.org/#api\n */\nfunction NavigatorStorage() {};\n\n/**\n * @type {!StorageManager}\n */\nNavigatorStorage.prototype.storage;\n\n/**\n * @constructor\n * @implements NavigatorStorage\n * @see https://www.w3.org/TR/html5/webappapis.html#navigator\n */\nfunction Navigator() {}\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodename\n */\nNavigator.prototype.appCodeName;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appname\n */\nNavigator.prototype.appName;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appversion\n */\nNavigator.prototype.appVersion;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-platform\n */\nNavigator.prototype.platform;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-product\n */\nNavigator.prototype.product;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-useragent\n */\nNavigator.prototype.userAgent;\n\n/**\n * @return {boolean}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-taintenabled\n */\nNavigator.prototype.taintEnabled = function() {};\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-language\n */\nNavigator.prototype.language;\n\n/**\n * @type {boolean}\n * @see https://www.w3.org/TR/html5/browsers.html#navigatoronline\n */\nNavigator.prototype.onLine;\n\n/**\n * @type {boolean}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-cookieenabled\n */\nNavigator.prototype.cookieEnabled;\n\n/**\n * @param {string} scheme\n * @param {string} url\n * @param {string} title\n * @return {undefined}\n */\nNavigator.prototype.registerProtocolHandler = function(scheme, url, title) {}\n\n/**\n * @param {string} mimeType\n * @param {string} url\n * @param {string} title\n * @return {undefined}\n */\nNavigator.prototype.registerContentHandler = function(mimeType, url, title) {}\n\n/**\n * @param {string} scheme\n * @param {string} url\n * @return {undefined}\n */\nNavigator.prototype.unregisterProtocolHandler = function(scheme, url) {}\n\n/**\n * @param {string} mimeType\n * @param {string} url\n * @return {undefined}\n */\nNavigator.prototype.unregisterContentHandler = function(mimeType, url) {}\n\n/**\n * @type {!MimeTypeArray}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-mimetypes\n */\nNavigator.prototype.mimeTypes;\n\n/**\n * @type {!PluginArray}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-plugins\n */\nNavigator.prototype.plugins;\n\n/**\n * @return {boolean}\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-javaenabled\n * @nosideeffects\n */\nNavigator.prototype.javaEnabled = function() {};\n\n/**\n * @type {number}\n * @see https://developers.google.com/web/updates/2017/12/device-memory\n * https://github.com/w3c/device-memory\n */\nNavigator.prototype.deviceMemory;\n\n/**\n * @type {!StorageManager}\n * @see https://storage.spec.whatwg.org\n */\nNavigator.prototype.storage;\n\n/**\n * @param {!ShareData=} data\n * @return {!Promise<undefined>}\n * @see https://wicg.github.io/web-share/#share-method\n */\nNavigator.prototype.share = function(data) {};\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NavigatorConcurrentHardware/hardwareConcurrency\n */\nNavigator.prototype.hardwareConcurrency;\n\n/**\n * @constructor\n * @implements NavigatorStorage\n * @see https://html.spec.whatwg.org/multipage/workers.html#the-workernavigator-object\n */\nfunction WorkerNavigator() {}\n\n/**\n * @type {number}\n * @see https://developers.google.com/web/updates/2017/12/device-memory\n * https://github.com/w3c/device-memory\n */\nWorkerNavigator.prototype.deviceMemory;\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NavigatorConcurrentHardware/hardwareConcurrency\n */\nWorkerNavigator.prototype.hardwareConcurrency;\n\n/**\n * @type {!StorageManager}\n * @see https://storage.spec.whatwg.org\n */\nWorkerNavigator.prototype.storage;\n\n/**\n * @record\n * @see https://wicg.github.io/web-share/#sharedata-dictionary\n */\nfunction ShareData() {}\n\n/** @type {string|undefined} */\nShareData.prototype.title;\n\n/** @type {string|undefined} */\nShareData.prototype.text;\n\n/** @type {string|undefined} */\nShareData.prototype.url;\n\n/**\n * @constructor\n * @implements {IObject<(string|number),!Plugin>}\n * @implements {IArrayLike<!Plugin>}\n * @see https://www.w3.org/TR/html5/webappapis.html#pluginarray\n */\nfunction PluginArray() {}\n\n/** @type {number} */\nPluginArray.prototype.length;\n\n/**\n * @param {number} index\n * @return {Plugin}\n */\nPluginArray.prototype.item = function(index) {};\n\n/**\n * @param {string} name\n * @return {Plugin}\n */\nPluginArray.prototype.namedItem = function(name) {};\n\n/**\n * @param {boolean=} reloadDocuments\n * @return {undefined}\n */\nPluginArray.prototype.refresh = function(reloadDocuments) {};\n\n/**\n * @constructor\n * @implements {IObject<(string|number),!MimeType>}\n * @implements {IArrayLike<!MimeType>}\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetypearray\n */\nfunction MimeTypeArray() {}\n\n/**\n * @param {number} index\n * @return {MimeType}\n */\nMimeTypeArray.prototype.item = function(index) {};\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes\n */\nMimeTypeArray.prototype.length;\n\n/**\n * @param {string} name\n * @return {MimeType}\n */\nMimeTypeArray.prototype.namedItem = function(name) {};\n\n/**\n * @constructor\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetype\n */\nfunction MimeType() {}\n\n/** @type {string} */\nMimeType.prototype.description;\n\n/** @type {Plugin} */\nMimeType.prototype.enabledPlugin;\n\n/** @type {string} */\nMimeType.prototype.suffixes;\n\n/** @type {string} */\nMimeType.prototype.type;\n\n/**\n * @constructor\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-plugin\n */\nfunction Plugin() {}\n\n/** @type {string} */\nPlugin.prototype.description;\n\n/** @type {string} */\nPlugin.prototype.filename;\n\n/** @type {number} */\nPlugin.prototype.length;\n\n/** @type {string} */\nPlugin.prototype.name;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/custom-elements.html#customelementregistry\n * @constructor\n */\nfunction CustomElementRegistry() {}\n\n/**\n * @param {string} tagName\n * @param {function(new:HTMLElement)} klass\n * @param {{extends: string}=} options\n * @return {undefined}\n */\nCustomElementRegistry.prototype.define = function (tagName, klass, options) {};\n\n/**\n * @param {string} tagName\n * @return {function(new:HTMLElement)|undefined}\n */\nCustomElementRegistry.prototype.get = function(tagName) {};\n\n/**\n * @param {string} tagName\n * @return {!Promise<undefined>}\n */\nCustomElementRegistry.prototype.whenDefined = function(tagName) {};\n\n/**\n * @param {!Node} root\n * @return {undefined}\n */\nCustomElementRegistry.prototype.upgrade = function(root) {};\n\n/** @type {!CustomElementRegistry} */\nvar customElements;\n\n/**\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLSlotElement() {}\n\n/** @typedef {{flatten: boolean}} */\nvar AssignedNodesOptions;\n\n/**\n * @param {!AssignedNodesOptions=} options\n * @return {!Array<!Node>}\n */\nHTMLSlotElement.prototype.assignedNodes = function(options) {};\n\n/**\n * @param {!AssignedNodesOptions=} options\n * @return {!Array<!HTMLElement>}\n */\nHTMLSlotElement.prototype.assignedElements = function(options) {};\n\n/** @type {boolean} */\nEvent.prototype.composed;\n\n/**\n * @return {!Array<!EventTarget>}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath\n */\nEvent.prototype.composedPath = function() {};\n\n/**\n * @constructor\n * @param {{\n * firesTouchEvents: (string|undefined),\n * pointerMovementScrolls: (string|undefined)\n * }=} opt_options\n */\nfunction InputDeviceCapabilities(opt_options){}\n\n/** @type {boolean} */\nInputDeviceCapabilities.prototype.firesTouchEvents;\n\n/** @type {boolean} */\nInputDeviceCapabilities.prototype.pointerMovementScrolls;\n\n/** @type {?InputDeviceCapabilities} */\nMouseEvent.prototype.sourceCapabilities;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport\n * @constructor\n * @implements {EventTarget}\n */\nfunction VisualViewport() {}\n\n/** @type {number} */\nVisualViewport.prototype.offsetLeft;\n\n/** @type {number} */\nVisualViewport.prototype.offsetTop;\n\n/** @type {number} */\nVisualViewport.prototype.pageLeft;\n\n/** @type {number} */\nVisualViewport.prototype.pageTop;\n\n/** @type {number} */\nVisualViewport.prototype.width;\n\n/** @type {number} */\nVisualViewport.prototype.height;\n\n/** @type {number} */\nVisualViewport.prototype.scale;\n\n/** @override */\nVisualViewport.prototype.addEventListener = function(type, listener,\n opt_options) {};\n\n/** @override */\nVisualViewport.prototype.removeEventListener = function(type, listener,\n opt_options) {};\n\n/** @override */\nVisualViewport.prototype.dispatchEvent = function(evt) {};\n\n/** @type {?function(!Event)} */\nVisualViewport.prototype.onresize;\n\n/** @type {?function(!Event)} */\nVisualViewport.prototype.onscroll;\n\n/**\n * @see https://storage.spec.whatwg.org/\n * @constructor\n */\nfunction StorageManager() {}\n\n/** @return {!Promise<boolean>} */\nStorageManager.prototype.persisted = function() {};\n\n/** @return {!Promise<boolean>} */\nStorageManager.prototype.persist = function() {};\n\n/** @return {!Promise<StorageEstimate>} */\nStorageManager.prototype.estimate = function() {};\n\n/**\n * @see https://storage.spec.whatwg.org/\n * @typedef {{\n * usage: number,\n * quota: number\n * }}\n */\nvar StorageEstimate;\n\n/*\n * Focus Management APIs\n *\n * See https://html.spec.whatwg.org/multipage/interaction.html#focus-management-apis\n */\n\n\n/**\n * @type {?Element}\n * @see https://html.spec.whatwg.org/multipage/interaction.html#dom-document-activeelement\n */\nDocument.prototype.activeElement;\n\n/**\n * @see https://html.spec.whatwg.org/multipage/interaction.html#dom-document-hasfocus\n * @return {boolean}\n */\nDocument.prototype.hasFocus = function() {};\n\n/**\n * @param {{preventScroll: boolean}=} options\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/interaction.html#dom-focus\n */\nElement.prototype.focus = function(options) {};\n\n/**\n * @return {undefined}\n * @see https://html.spec.whatwg.org/multipage/interaction.html#dom-blur\n */\nElement.prototype.blur = function() {};\n",
  785. "externs/gecko_dom.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for all the extensions over\n * W3C\'s DOM specification by Gecko. This file depends on\n * w3c_dom2.js.\n *\n * When a non-standard extension appears in both Gecko and IE, we put\n * it in gecko_dom.js\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n */\n\n// TODO: Almost all of it has not been annotated with types.\n\n// Gecko DOM;\n\n/**\n * Mozilla only???\n * @constructor\n * @extends {HTMLElement}\n */\nfunction HTMLSpanElement() {}\n\n/**\n * @see https://developer.mozilla.org/en/Components_object\n */\nWindow.prototype.Components;\n\n/**\n * @type {Window}\n * @see https://developer.mozilla.org/en/DOM/window.content\n */\nWindow.prototype.content;\n\n/** @see https://developer.mozilla.org/en/DOM/window.controllers */\nWindow.prototype.controllers;\n\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\nWindow.prototype.crypto;\n\n/**\n * Gets/sets the status bar text for the given window.\n * @type {string}\n * @see https://developer.mozilla.org/en/DOM/window.defaultStatus\n */\nWindow.prototype.defaultStatus;\n\n/** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */\nWindow.prototype.dialogArguments;\n\n/** @see https://developer.mozilla.org/en/DOM/window.directories */\nWindow.prototype.directories;\n\n/**\n * @type {boolean}\n * @see https://developer.mozilla.org/en/DOM/window.fullScreen\n */\nWindow.prototype.fullScreen;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage\n */\nWindow.prototype.globalStorage;\n\n/** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */\nWindow.prototype.pkcs11;\n\n/** @see https://developer.mozilla.org/en/DOM/window */\nWindow.prototype.returnValue;\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX\n */\nWindow.prototype.scrollMaxX;\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY\n */\nWindow.prototype.scrollMaxY;\n\n/** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */\nWindow.prototype.sessionStorage;\n\n/** @see https://developer.mozilla.org/en/DOM/window.sidebar */\nWindow.prototype.sidebar;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.back\n * @return {undefined}\n */\nWindow.prototype.back = function() {};\n\n/** @deprecated */\nWindow.prototype.captureEvents;\n\n/**@see https://developer.mozilla.org/en/DOM/window.find */\nWindow.prototype.find;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.forward\n * @return {undefined}\n */\nWindow.prototype.forward = function() {};\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.getAttention\n * @return {undefined}\n */\nWindow.prototype.getAttention = function() {};\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.home\n * @return {undefined}\n */\nWindow.prototype.home = function() {};\n\nWindow.prototype.openDialog;\nWindow.prototype.releaseEvents;\nWindow.prototype.scrollByLines;\nWindow.prototype.scrollByPages;\n\n/**\n * @param {string} uri\n * @param {?=} opt_arguments\n * @param {string=} opt_options\n * @see https://developer.mozilla.org/en/DOM/window.showModalDialog\n */\nWindow.prototype.showModalDialog;\n\nWindow.prototype.sizeToContent;\n\nWindow.prototype.updateCommands;\n\n// properties of Document\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.alinkColor\n * @type {string}\n */\nDocument.prototype.alinkColor;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.anchors\n * @type {HTMLCollection<!HTMLAnchorElement>}\n */\nDocument.prototype.anchors;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.applets\n * @type {HTMLCollection<!HTMLAppletElement>}\n */\nDocument.prototype.applets;\n/** @type {?string} */ Document.prototype.baseURI;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.bgColor\n * @type {string}\n */\nDocument.prototype.bgColor;\n\n/** @type {HTMLBodyElement} */ Document.prototype.body;\nDocument.prototype.characterSet;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.compatMode\n * @type {string}\n */\nDocument.prototype.compatMode;\n\nDocument.prototype.contentType;\n/** @type {string} */ Document.prototype.cookie;\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView\n * @type {?Window}\n */\nDocument.prototype.defaultView;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.designMode\n * @type {string}\n */\nDocument.prototype.designMode;\n\nDocument.prototype.documentURIObject;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.domain\n * @type {string}\n */\nDocument.prototype.domain;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.embeds\n * @type {HTMLCollection<!HTMLEmbedElement>}\n */\nDocument.prototype.embeds;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.fgColor\n * @type {string}\n */\nDocument.prototype.fgColor;\n\n/** @type {Element} */ Document.prototype.firstChild;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.forms\n * @type {HTMLCollection<!HTMLFormElement>}\n */\nDocument.prototype.forms;\n\n/** @type {HTMLCollection<!HTMLImageElement>} */\nDocument.prototype.images;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/DOM/document.lastModified\n */\nDocument.prototype.lastModified;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/DOM/document.linkColor\n */\nDocument.prototype.linkColor;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.links\n * @type {HTMLCollection<(!HTMLAreaElement|!HTMLAnchorElement)>}\n */\nDocument.prototype.links;\n\n/**\n * @type {!Location}\n * @implicitCast\n */\nDocument.prototype.location;\n\nDocument.prototype.namespaceURI;\nDocument.prototype.nodePrincipal;\nDocument.prototype.plugins;\nDocument.prototype.popupNode;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/DOM/document.referrer\n */\nDocument.prototype.referrer;\n\n/**\n * @type {StyleSheetList}\n * @see https://developer.mozilla.org/en/DOM/document.styleSheets\n */\nDocument.prototype.styleSheets;\n\n/** @type {?string} */ Document.prototype.title;\nDocument.prototype.tooltipNode;\n/** @type {string} */ Document.prototype.URL;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/DOM/document.vlinkColor\n */\nDocument.prototype.vlinkColor;\n\n/** @type {number} */ Document.prototype.width;\n\n// Methods of Document\n/**\n * @see https://developer.mozilla.org/en/DOM/document.clear\n * @return {undefined}\n */\nDocument.prototype.clear = function() {};\n\n/**\n * @param {string} type\n * @return {Event}\n */\nDocument.prototype.createEvent = function(type) {};\nDocument.prototype.createNSResolver;\n/** @return {Range} */ Document.prototype.createRange = function() {};\nDocument.prototype.createTreeWalker;\n\nDocument.prototype.evaluate;\n\n/**\n * @param {string} commandName\n * @param {?boolean=} opt_showUi\n * @param {*=} opt_value\n * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands\n */\nDocument.prototype.execCommand;\n\nDocument.prototype.loadOverlay;\n\n/**\n * @see https://developer.mozilla.org/en/Midas\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\n */\nDocument.prototype.queryCommandEnabled;\n\n/**\n * @see https://developer.mozilla.org/en/Midas\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\n */\nDocument.prototype.queryCommandIndeterm;\n\n/**\n * @see https://developer.mozilla.org/en/Midas\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\n */\nDocument.prototype.queryCommandState;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\n * @param {string} command\n * @return {?} Implementation-specific.\n */\nDocument.prototype.queryCommandSupported;\n\n/**\n * @see https://developer.mozilla.org/en/Midas\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\n */\nDocument.prototype.queryCommandValue;\n\nDocument.prototype.ononline;\nDocument.prototype.onoffline;\n\n// XUL\n/**\n * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor\n * @return {BoxObject}\n * @nosideeffects\n */\nDocument.prototype.getBoxObjectFor = function(element) {};\n\n// From:\n// http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl\n\n/**\n * @param {!TrustedHTML|string} tag\n * @return {DocumentFragment}\n */\nRange.prototype.createContextualFragment;\n\n/**\n * @param {Node} parent\n * @param {number} offset\n * @return {boolean}\n * @nosideeffects\n */\nRange.prototype.isPointInRange;\n\n/**\n * @param {Node} parent\n * @param {number} offset\n * @return {number}\n * @nosideeffects\n */\nRange.prototype.comparePoint;\n\n/**\n * @param {Node} n\n * @return {boolean}\n * @nosideeffects\n */\nRange.prototype.intersectsNode;\n\n/**\n * @param {Node} n\n * @return {number}\n * @nosideeffects\n */\nRange.prototype.compareNode;\n\n/**\n * @type {!NodeList<!Element>}\n * @see https://developer.mozilla.org/en/DOM/element.children\n */\nElement.prototype.children;\n\n/**\n * Firebug sets this property on elements it is inserting into the DOM.\n * @type {boolean}\n */\nElement.prototype.firebugIgnore;\n\n/**\n * Note: According to the spec, name is defined on specific types of\n * HTMLElements, rather than on Node, Element, or HTMLElement directly.\n * Ignore this.\n * @type {string}\n */\nElement.prototype.name;\n\nElement.prototype.nodePrincipal;\n\n/**\n * @type {!CSSStyleDeclaration}\n * This belongs on HTMLElement rather than Element, but that\n * breaks a lot.\n * TODO(user): Remove this declaration once the breakage is fixed.\n */\nElement.prototype.style;\n\n/** @return {undefined} */\nElement.prototype.click = function() {};\n\n/** @type {number} */\nHTMLTextAreaElement.prototype.selectionStart;\n\n/** @type {number} */\nHTMLTextAreaElement.prototype.selectionEnd;\n\n/**\n * @param {number} selectionStart\n * @param {number} selectionEnd\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\n * @return {undefined}\n */\nHTMLTextAreaElement.prototype.setSelectionRange =\n function(selectionStart, selectionEnd) {};\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/Navigator.buildID\n */\nNavigator.prototype.buildID;\n\n/**\n * @type {!Array<string>|undefined}\n * @see https://developer.mozilla.org/en/Navigator.languages\n */\nNavigator.prototype.languages;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/Navigator.oscpu\n */\nNavigator.prototype.oscpu;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/Navigator.productSub\n */\nNavigator.prototype.productSub;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/Navigator.securityPolicy\n */\nNavigator.prototype.securityPolicy;\n\n/**\n * @param {string} url\n * @param {ArrayBufferView|Blob|string|FormData=} opt_data\n * @return {boolean}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon\n */\nNavigator.prototype.sendBeacon = function(url, opt_data) {};\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/Navigator.vendor\n */\nNavigator.prototype.vendor;\n\n/**\n * @type {string}\n * @see https://developer.mozilla.org/en/Navigator.vendorSub\n */\nNavigator.prototype.vendorSub;\n\n\n/** @constructor */\nfunction BoxObject() {}\n\n/** @type {Element} */\nBoxObject.prototype.element;\n\n/** @type {number} */\nBoxObject.prototype.screenX;\n\n/** @type {number} */\nBoxObject.prototype.screenY;\n\n/** @type {number} */\nBoxObject.prototype.x;\n\n/** @type {number} */\nBoxObject.prototype.y;\n\n/** @type {number} */\nBoxObject.prototype.width;\n\n\n/**\n * @param {Element} element\n * @param {?string=} pseudoElt\n * @return {?CSSStyleDeclaration}\n * @nosideeffects\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction getComputedStyle(element, pseudoElt) {}\n',
  786. "externs/ie_dom.js":"/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for all the extensions over the\n * W3C's DOM specification by IE in JScript. This file depends on\n * w3c_dom2.js. The whole file has NOT been fully type annotated.\n *\n * When a non-standard extension appears in both Gecko and IE, we put\n * it in gecko_dom.js\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n */\n\n// TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead\n// of kludging them as an inheritance hierarchy.\n\n/**\n * @constructor\n * @extends {Document}\n * @see http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspx\n */\nfunction XMLDOMDocument() {}\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspx\n */\nXMLDOMDocument.prototype.async;\n\n/**\n * @type {!Function}\n * @see http://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspx\n */\nXMLDOMDocument.prototype.ondataavailable;\n\n/**\n * @type {!Function}\n * @see http://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspx\n */\nXMLDOMDocument.prototype.onreadystatechange;\n\n/**\n * @type {!Function}\n * @see http://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspx\n */\nXMLDOMDocument.prototype.ontransformnode;\n\n/**\n * @type {Object}\n * @see http://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspx\n */\nXMLDOMDocument.prototype.parseError;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspx\n */\nXMLDOMDocument.prototype.preserveWhiteSpace;\n\n/**\n * @type {number}\n * @see http://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspx\n */\nXMLDOMDocument.prototype.readyState;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx\n * @type {boolean}\n */\nXMLDOMDocument.prototype.resolveExternals;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx\n * @param {string} name\n * @param {*} value\n * @return {undefined}\n */\nXMLDOMDocument.prototype.setProperty = function(name, value) {};\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspx\n */\nXMLDOMDocument.prototype.url;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspx\n */\nXMLDOMDocument.prototype.validateOnParse;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx\n * @return {undefined}\n */\nXMLDOMDocument.prototype.abort = function() {};\n\n/**\n * @param {*} type\n * @param {string} name\n * @param {string} namespaceURI\n * @return {Node}\n * @see http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx\n * @nosideeffects\n */\nXMLDOMDocument.prototype.createNode = function(type, name, namespaceURI) {};\n\n/**\n * @param {string} xmlString\n * @return {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx\n * @override\n */\nXMLDOMDocument.prototype.loadXML = function(xmlString) {};\n\n/**\n * @param {string} id\n * @return {Node}\n * @see http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspx\n */\nXMLDOMDocument.prototype.nodeFromID = function(id) {};\n\n//==============================================================================\n// XMLNode methods and properties\n// In a real DOM hierarchy, XMLDOMDocument inherits from XMLNode and Document.\n// Since we can't express that in our type system, we put XMLNode properties\n// on Node.\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspx\n */\nNode.prototype.baseName;\n\n/**\n * @type {?string}\n * @see http://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspx\n */\nNode.prototype.dataType;\n\n/**\n * @type {Node}\n * @see http://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspx\n */\nNode.prototype.definition;\n\n/**\n * IE5 used document instead of ownerDocument.\n * Old versions of WebKit used document instead of contentDocument.\n * @type {Document}\n */\nNode.prototype.document;\n\n\n/**\n * Inserts the given HTML text into the element at the location.\n * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin',\n * 'afterBegin', 'beforeEnd', 'afterEnd'.\n * @param {!TrustedHTML|string} sText HTML text to insert.\n * @see http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx\n * @return {undefined}\n */\nNode.prototype.insertAdjacentHTML = function(sWhere, sText) {};\n\n/**\n * @type {*}\n * @see http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspx\n */\nNode.prototype.nodeTypedValue;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspx\n */\nNode.prototype.nodeTypeString;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspx\n */\nNode.prototype.parsed;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspx\n */\nNode.prototype.specified;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspx\n */\nNode.prototype.text;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspx\n */\nNode.prototype.xml;\n\n/**\n * @param {string} expression An XPath expression.\n * @return {!NodeList<!Node>}\n * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx\n * @nosideeffects\n */\nNode.prototype.selectNodes = function(expression) {};\n\n/**\n * @param {string} expression An XPath expression.\n * @return {Node}\n * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx\n * @nosideeffects\n */\nNode.prototype.selectSingleNode = function(expression) {};\n\n/**\n * @param {Node} stylesheet XSLT stylesheet.\n * @return {string}\n * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx\n * @nosideeffects\n */\nNode.prototype.transformNode = function(stylesheet) {};\n\n/**\n * @param {Node} stylesheet XSLT stylesheet.\n * @param {Object} outputObject\n * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx\n * @return {Object}\n */\nNode.prototype.transformNodeToObject =\n function(stylesheet, outputObject) {};\n\n//==============================================================================\n// Node methods\n\n/**\n * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree.\n * Defaults to false.\n * @return {Node} The object that was removed.\n * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx\n */\nNode.prototype.removeNode = function(opt_bRemoveChildren) {};\n\n/**\n * @constructor\n */\nfunction ClipboardData() {}\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\n * @param {string=} opt_type Type of clipboard data to clear. 'Text' or\n * 'URL' or 'File' or 'HTML' or 'Image'.\n * @return {undefined}\n */\nClipboardData.prototype.clearData = function(opt_type) {};\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\n * @param {string} type Type of clipboard data to set ('Text' or 'URL').\n * @param {string} data Data to set\n * @return {boolean} Whether the data were set correctly.\n */\nClipboardData.prototype.setData = function(type, data) {};\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\n * @param {string} type Type of clipboard data to get ('Text' or 'URL').\n * @return {string} The current data\n */\nClipboardData.prototype.getData = function(type) { };\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\n * @type {ClipboardData}\n */\nWindow.prototype.clipboardData;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspx\n */\nWindow.prototype.dialogHeight;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspx\n */\nWindow.prototype.dialogLeft;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspx\n */\nWindow.prototype.dialogTop;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspx\n */\nWindow.prototype.dialogWidth;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspx\n */\nWindow.prototype.event;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspx\n */\nWindow.prototype.maxConnectionsPer1_0Server;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspx\n */\nWindow.prototype.maxConnectionsPerServer;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspx\n */\nWindow.prototype.offscreenBuffering;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\n * @type {number|undefined}\n */\nWindow.prototype.screenLeft;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\n * @type {number|undefined}\n */\nWindow.prototype.screenTop;\n\n// Functions\n\n/**\n * @param {string} event\n * @param {Function} handler\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\n */\nWindow.prototype.attachEvent;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx\n */\nWindow.prototype.createPopup;\n\n/**\n * @param {string} event\n * @param {Function} handler\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\n */\nWindow.prototype.detachEvent;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspx\n */\nWindow.prototype.execScript;\n\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspx\n */\nWindow.prototype.navigate;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\n */\nWindow.prototype.setActive;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspx\n */\nWindow.prototype.showHelp;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspx\n */\nWindow.prototype.showModelessDialog;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx\n * @const {!Object}\n */\nWindow.prototype.external;\n\n/**\n * @see https://msdn.microsoft.com/en-us/ie/dn265046(v=vs.94)\n * @const {!Object}\n */\nWindow.prototype.msCrypto;\n\n/**\n * @type {boolean}\n * @implicitCast\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\n */\nHTMLFrameElement.prototype.allowTransparency;\n\n/**\n * @type {Window}\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\n */\nHTMLFrameElement.prototype.contentWindow;\n\n/**\n * @type {boolean}\n * @implicitCast\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\n */\nHTMLIFrameElement.prototype.allowTransparency;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspx\n */\nHTMLBodyElement.prototype.createControlRange;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\n */\nHTMLScriptElement.prototype.readyState;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\n */\nHTMLIFrameElement.prototype.readyState;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\n */\nHTMLImageElement.prototype.readyState;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\n */\nHTMLObjectElement.prototype.readyState;\n\n\n/**\n * @constructor\n */\nfunction ControlRange() {}\n\nControlRange.prototype.add;\nControlRange.prototype.addElement;\nControlRange.prototype.execCommand;\nControlRange.prototype.item;\nControlRange.prototype.queryCommandEnabled;\nControlRange.prototype.queryCommandIndeterm;\nControlRange.prototype.queryCommandState;\nControlRange.prototype.queryCommandSupported;\nControlRange.prototype.queryCommandValue;\nControlRange.prototype.remove;\nControlRange.prototype.scrollIntoView;\nControlRange.prototype.select;\n\n/**\n * @constructor\n * @see http://msdn.microsoft.com/en-us/library/ms535872.aspx\n */\nfunction TextRange() {}\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspx\n */\nTextRange.prototype.boundingHeight;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspx\n */\nTextRange.prototype.boundingLeft;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533540(VS.85).aspx\n */\nTextRange.prototype.boundingTop;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspx\n */\nTextRange.prototype.boundingWidth;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspx\n */\nTextRange.prototype.htmlText;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspx\n */\nTextRange.prototype.offsetLeft;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspx\n */\nTextRange.prototype.offsetTop;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx\n */\nTextRange.prototype.text;\n\n/**\n * @param {boolean=} opt_toStart\n * @see http://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspx\n */\nTextRange.prototype.collapse;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspx\n */\nTextRange.prototype.compareEndPoints;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspx\n */\nTextRange.prototype.duplicate;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx\n */\nTextRange.prototype.execCommand;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspx\n */\nTextRange.prototype.expand;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspx\n */\nTextRange.prototype.findText;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspx\n */\nTextRange.prototype.getBookmark;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx\n */\nTextRange.prototype.getBoundingClientRect;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx\n */\nTextRange.prototype.getClientRects;\n\n/**\n * @param {TextRange|ControlRange} range\n * @return {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspx\n */\nTextRange.prototype.inRange;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspx\n */\nTextRange.prototype.isEqual;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspx\n */\nTextRange.prototype.move;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspx\n */\nTextRange.prototype.moveEnd;\n\n/**\n * @param {string} unit\n * @param {number=} opt_count\n * @see http://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspx\n */\nTextRange.prototype.moveStart;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspx\n */\nTextRange.prototype.moveToBookmark;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspx\n */\nTextRange.prototype.moveToElementText;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspx\n */\nTextRange.prototype.moveToPoint;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx\n * @return {?Element}\n */\nTextRange.prototype.parentElement;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspx\n */\nTextRange.prototype.pasteHTML;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\n */\nTextRange.prototype.queryCommandEnabled;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\n */\nTextRange.prototype.queryCommandIndeterm;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\n */\nTextRange.prototype.queryCommandState;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\n */\nTextRange.prototype.queryCommandSupported;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\n */\nTextRange.prototype.queryCommandValue;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspx\n */\nTextRange.prototype.scrollIntoView;\n\n/**\n * @return {undefined}\n * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx\n */\nTextRange.prototype.select = function() {};\n\n/**\n * @param {string} how\n * @param {TextRange|ControlRange} sourceRange\n * @see http://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspx\n */\nTextRange.prototype.setEndPoint;\n\n/**\n * @constructor\n * @see http://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspx\n */\nfunction controlRange() {}\n\n\nDocument.prototype.loadXML;\n\n\n// http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspx\n */\nDocument.prototype.charset;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspx\n */\nDocument.prototype.cookie;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspx\n */\nDocument.prototype.dir;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx\n */\nDocument.prototype.documentMode;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspx\n */\nDocument.prototype.expando;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533750(VS.85).aspx\n */\nDocument.prototype.fileCreatedDate;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspx\n */\nDocument.prototype.fileModifiedDate;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspx\n */\nDocument.prototype.fileSize;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspx\n * @type {?Window}\n */\nDocument.prototype.parentWindow;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\n */\nDocument.prototype.protocol;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\n */\nHTMLDocument.prototype.readyState;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspx\n */\nDocument.prototype.uniqueID;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspx\n */\nDocument.prototype.URLUnencoded;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspx\n */\nDocument.prototype.XMLDocument;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspx\n */\nDocument.prototype.XSLDocument;\n\n// functions\n\n/**\n * @param {string} event\n * @param {Function} handler\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\n */\nDocument.prototype.attachEvent;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspx\n */\nDocument.prototype.createEventObject;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx\n */\nDocument.prototype.createStyleSheet;\n\n/**\n * @param {string} event\n * @param {Function} handler\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\n */\nDocument.prototype.detachEvent;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\n */\nDocument.prototype.focus;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspx\n */\nDocument.prototype.mergeAttributes;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspx\n */\nDocument.prototype.recalc;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\n */\nDocument.prototype.releaseCapture;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\n */\nDocument.prototype.setActive;\n\n\n// collections\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspx\n */\nDocument.prototype.all;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspx\n */\nDocument.prototype.childNodes;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspx\n */\nDocument.prototype.frames;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspx\n */\nDocument.prototype.namespaces;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspx\n * @type {!HTMLCollection<!HTMLScriptElement>}\n */\nDocument.prototype.scripts;\n\n/**\n * @param {string} sUrl\n * @return {number}\n * @see http://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspx\n */\nElement.prototype.addBehavior = function(sUrl) {};\n\n/**\n * @param {string} event\n * @param {Function} handler\n * @see http://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspx\n */\nElement.prototype.attachEvent;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspx\n */\nElement.prototype.canHaveChildren;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspx\n */\nElement.prototype.classid;\n\n/**\n * @param {number} iCoordX Integer that specifies the client window coordinate\n * of x.\n * @param {number} iCoordY Integer that specifies the client window coordinate\n * of y.\n * @return {string} The component of an element located at the specified\n * coordinates.\n * @see http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx\n * @nosideeffects\n */\nElement.prototype.componentFromPoint = function(iCoordX, iCoordY) {};\n\n\n/**\n * TODO(user): Make this string once existing usages have been migrated.\n * @type {string|boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspx\n */\nElement.prototype.contentEditable;\n\n/**\n * @return {TextRange}\n * @see http://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspx\n */\nElement.prototype.createTextRange;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx\n * @type {?CSSStyleDeclaration}\n */\nElement.prototype.currentStyle;\n\n/**\n * @param {string} event\n * @param {Function} handler\n * @see http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspx\n */\nElement.prototype.detachEvent;\n\n/**\n * @param {string=} opt_action\n * @see http://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx\n * @return {undefined}\n */\nElement.prototype.doScroll = function(opt_action) {};\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspx\n */\nElement.prototype.fireEvent;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx\n */\nElement.prototype.hideFocus;\n\n/**\n * @type {string}\n * @implicitCast\n *\n * TODO(user): remove the @implicitCast to enforce assigning an explicit\n * string to innerText instead of relying on coercion.\n *\n * @see http://msdn.microsoft.com/en-us/library/ms533899.aspx\n */\nElement.prototype.innerText;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspx\n */\nElement.prototype.isContentEditable;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx\n * NOTE: Left untyped to avoid conflict with subclasses.\n */\nElement.prototype.load;\n\n/**\n * @param {number} pointerId Id of the pointer that is assign to the element.\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx\n * @return {undefined}\n */\nElement.prototype.msSetPointerCapture = function(pointerId) {};\n\n/**\n * @param {number} pointerId\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx\n * @return {undefined}\n */\nElement.prototype.msReleasePointerCapture = function(pointerId) {};\n\n/**\n * @type {?function(Event)}\n * @see http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspx\n */\nElement.prototype.onbeforedeactivate;\n\n/**\n * @type {?function(Event)}\n * @see http://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspx\n */\nElement.prototype.onmouseenter;\n\n/**\n * @type {?function(Event)}\n * @see http://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspx\n */\nElement.prototype.onmouseleave;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\n * @return {undefined}\n */\nElement.prototype.releaseCapture = function() {};\n\n/**\n * @param {number} iID\n * @return {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspx\n */\nElement.prototype.removeBehavior = function(iID) {};\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspx\n */\nElement.prototype.runtimeStyle;\n\n/**\n * @param {string} sStoreName The arbitrary name assigned to a persistent object\n * in a UserData store.\n * @see http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx\n * @return {undefined}\n */\nElement.prototype.save = function(sStoreName) {};\n\n/**\n * @param {boolean=} opt_bContainerCapture Events originating in a container are\n * captured by the container. Defaults to true.\n * @see http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx\n * @return {undefined}\n */\nElement.prototype.setCapture = function(opt_bContainerCapture) {};\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspx\n */\nElement.prototype.sourceIndex;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms537840.aspx\n */\nElement.prototype.unselectable;\n\n/**\n * @constructor\n * @see http://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspx\n */\nfunction HTMLFiltersCollection() {}\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx\n * @type {number}\n */\nHTMLFiltersCollection.prototype.length;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx\n * @type {HTMLFiltersCollection}\n */\nElement.prototype.filters;\n\n/**\n * @constructor\n * @see http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx\n */\nfunction HTMLFilter() {}\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx\n * @return {undefined}\n */\nHTMLFilter.prototype.apply = function() {};\n\n/**\n * @constructor\n * @extends {HTMLFilter}\n * @see http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspx\n */\nfunction AlphaFilter() {}\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx\n * @type {number}\n */\nAlphaFilter.prototype.Opacity;\n\n/**\n * @constructor\n * @extends {HTMLFilter}\n * @see http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx\n */\nfunction AlphaImageLoaderFilter() {}\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx\n * @type {string}\n */\nAlphaImageLoaderFilter.prototype.sizingMethod;\n\n// For IE, returns an object representing key-value pairs for all the global\n// variables prefixed with str, e.g. test*\n\n/** @param {*=} opt_str\n */\nfunction RuntimeObject(opt_str) {}\n\n\n/**\n * @type {StyleSheet}\n * @see http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspx\n */\nHTMLStyleElement.prototype.styleSheet;\n\n\n/**\n * IE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests)\n * via the XDomainRequest object.\n *\n * @constructor\n * @see http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx\n * @see http://www.w3.org/TR/cors/\n */\nfunction XDomainRequest() {}\n\n/**\n * Aborts the request.\n * @see http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx\n * @return {undefined}\n */\nXDomainRequest.prototype.abort = function() {};\n\n/**\n * Sets the method and URL for the request.\n * @param {string} bstrMethod Either \"GET\" or \"POST\"\n * @param {string} bstrUrl The target URL\n * @see http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx\n * @return {undefined}\n */\nXDomainRequest.prototype.open = function(bstrMethod, bstrUrl) {};\n\n/**\n * Sends the request.\n * @param {string=} varBody The POST body to send to the server. If omitted,\n * the behavior is identical to sending an empty string.\n * @see http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx\n * @return {undefined}\n */\nXDomainRequest.prototype.send = function(varBody) {};\n\n/**\n * Called if the request could not be completed. Note that error information is\n * not available.\n * @see http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx\n * @type {?function()}\n */\nXDomainRequest.prototype.onerror;\n\n/**\n * Called when the response has finished.\n * @see http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx\n * @type {?function()}\n */\nXDomainRequest.prototype.onload;\n\n/**\n * Called every time part of the response has been received.\n * @see http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx\n * @type {?function()}\n */\nXDomainRequest.prototype.onprogress;\n\n/**\n * Called if the timeout period has elapsed.\n * @see http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx\n * @type {?function()}\n */\nXDomainRequest.prototype.ontimeout;\n\n/**\n * The current response body.\n * @see http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx\n * @type {string}\n */\nXDomainRequest.prototype.responseText;\n\n/**\n * The timeout (in milliseconds) for the request.\n * @type {number}\n */\nXDomainRequest.prototype.timeout;\n\n/**\n * The Content-Type of the response, or an empty string.\n * @type {string}\n */\nXDomainRequest.prototype.contentType;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspx\n */\nNavigator.prototype.browserLanguage;\n\n/**\n * @type {number}\n * @see https://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx\n */\nNavigator.prototype.msMaxTouchPoints;\n\n/**\n * @type {boolean}\n * @see http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx\n */\nNavigator.prototype.msPointerEnabled;\n\n/**\n * @param {(!File|!Blob)} blob\n * @param {string=} opt_defaultName\n * @return {boolean}\n * @see https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspx\n */\nNavigator.prototype.msSaveBlob = function(blob, opt_defaultName) {};\n\n/**\n * @param {(!File|!Blob)} blob\n * @param {string=} opt_defaultName\n * @return {boolean}\n * @see https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx\n */\nNavigator.prototype.msSaveOrOpenBlob = function(blob, opt_defaultName) {};\n\n/**\n * @type {number}\n * @see http://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspx\n */\nScreen.prototype.deviceXDPI;\n\n/**\n * @type {number}\n * @see http://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspx\n */\nScreen.prototype.logicalXDPI;\n\n/**\n * @type {number}\n * @see http://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspx\n */\nScreen.prototype.logicalYDPI;\n",
  787. "externs/webkit_dom.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for all the extensions over W3C\'s DOM\n * specification by WebKit. This file depends on w3c_dom2.js.\n * All the provided definitions has been type annotated\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n */\n\n/**\n * @param {boolean=} opt_center\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510\n * @return {undefined}\n */\nElement.prototype.scrollIntoViewIfNeeded = function(opt_center) {};\n\n/**\n * @constructor\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl\n */\nfunction ScriptProfileNode() {};\n\n/** @type {string} */\nScriptProfileNode.prototype.functionName;\n\n/** @type {string} */\nScriptProfileNode.prototype.url;\n\n/** @type {number} */\nScriptProfileNode.prototype.lineNumber;\n\n/** @type {number} */\nScriptProfileNode.prototype.totalTime;\n\n/** @type {number} */\nScriptProfileNode.prototype.selfTime;\n\n/** @type {number} */\nScriptProfileNode.prototype.numberOfCalls;\n\n/** @type {Array<ScriptProfileNode>} */\nScriptProfileNode.prototype.children;\n\n/** @type {boolean} */\nScriptProfileNode.prototype.visible;\n\n/** @type {number} */\nScriptProfileNode.prototype.callUID;\n\n/**\n * @constructor\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl\n */\nfunction ScriptProfile() {};\n\n/** @type {string} */\nScriptProfile.prototype.title;\n\n/** @type {number} */\nScriptProfile.prototype.uid;\n\n/** @type {ScriptProfileNode} */\nScriptProfile.prototype.head;\n\n/**\n * @type {number}\n * @see http://developer.android.com/reference/android/webkit/WebView.html\n */\nWindow.prototype.devicePixelRatio;\n\n/**\n * @param {string} contextId\n * @param {string} name\n * @param {number} width\n * @param {number} height\n * @nosideeffects\n * @return {undefined}\n */\nDocument.prototype.getCSSCanvasContext =\n function(contextId, name, width, height) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {?Range}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\n */\nDocument.prototype.caretRangeFromPoint = function(x, y) {};\n\n/**\n * @return {!Promise<boolean>}\n * @nosideeffects\n * @see https://webkit.org/blog/8124/introducing-storage-access-api\n */\nDocument.prototype.hasStorageAccess = function() {};\n\n/**\n * @return {!Promise<void>}\n * @see https://webkit.org/blog/8124/introducing-storage-access-api\n * @see https://developer.mozilla.org/docs/Web/API/Document/requestStorageAccess#Syntax\n */\nDocument.prototype.requestStorageAccess = function() {};\n',
  788. "externs/w3c_geometry1.js":'/*\n * Copyright 2018 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Geometry Interfaces Module Level 1 spec.\n * The whole file has been fully type annotated. Created from\n * https://www.w3.org/TR/geometry-1/\n *\n * @externs\n * @author bobak@google.com (Andreas F. Bobak)\n */\n\n/**\n * @deprecated ClientRect has been replaced by DOMRect in the latest spec.\n * @constructor\n * @see https://www.w3.org/TR/cssom-view/#changes-from-2011-08-04\n */\nfunction ClientRect() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-top\n */\nClientRect.prototype.top;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-right\n */\nClientRect.prototype.right;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-bottom\n */\nClientRect.prototype.bottom;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-left\n */\nClientRect.prototype.left;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-width\n */\nClientRect.prototype.width;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-height\n */\nClientRect.prototype.height;\n\n/**\n * @constructor\n * @extends {ClientRect} for backwards compatibility\n * @param {number=} x\n * @param {number=} y\n * @param {number=} width\n * @param {number=} height\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-domrectreadonly\n */\nfunction DOMRectReadOnly(x, y, width, height) {}\n\n/**\n * @param {!DOMRectInit} other\n * @return {!DOMRectReadOnly}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-fromrect\n */\nDOMRectReadOnly.prototype.fromRect = function(other) {};\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-x\n */\nDOMRectReadOnly.prototype.x;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-y\n */\nDOMRectReadOnly.prototype.y;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-width\n */\nDOMRectReadOnly.prototype.width;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-height\n */\nDOMRectReadOnly.prototype.height;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-top\n */\nDOMRectReadOnly.prototype.top;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-right\n */\nDOMRectReadOnly.prototype.right;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-bottom\n */\nDOMRectReadOnly.prototype.bottom;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-left\n */\nDOMRectReadOnly.prototype.left;\n\n/**\n * @constructor\n * @extends {DOMRectReadOnly}\n * @param {number=} x\n * @param {number=} y\n * @param {number=} width\n * @param {number=} height\n * @see https://www.w3.org/TR/geometry-1/#dom-domrect-domrect\n */\nfunction DOMRect(x, y, width, height) {}\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrect-x\n */\nDOMRect.prototype.x;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrect-y\n */\nDOMRect.prototype.y;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrect-width\n */\nDOMRect.prototype.width;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrect-height\n */\nDOMRect.prototype.height;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-top\n */\nDOMRect.prototype.top;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-right\n */\nDOMRect.prototype.right;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-bottom\n */\nDOMRect.prototype.bottom;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectreadonly-left\n */\nDOMRect.prototype.left;\n\n/**\n * @constructor\n * @see https://www.w3.org/TR/geometry-1/#dictdef-domrectinit\n */\nfunction DOMRectInit() {}\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectinit-x\n */\nDOMRectInit.prototype.x;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectinit-y\n */\nDOMRectInit.prototype.y;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectinit-width\n */\nDOMRectInit.prototype.width;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/geometry-1/#dom-domrectinit-height\n */\nDOMRectInit.prototype.height;\n',
  789. "externs/w3c_css.js":"/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C's CSS specification\n * The whole file has been fully type annotated.\n * http://www.w3.org/TR/DOM-Level-2-Style/css.html\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n *\n * TODO(nicksantos): When there are no more occurrences of w3c_range.js and\n * gecko_dom.js being included directly in BUILD files, bug dbeam to split the\n * bottom part of this file into a separate externs.\n */\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet\n */\nfunction StyleSheet() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-type\n */\nStyleSheet.prototype.type;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabled\n */\nStyleSheet.prototype.disabled;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-owner\n */\nStyleSheet.prototype.ownerNode;\n\n/**\n * @type {StyleSheet}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet\n */\nStyleSheet.prototype.parentStyleSheet;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href\n */\nStyleSheet.prototype.href;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title\n */\nStyleSheet.prototype.title;\n\n/**\n * @type {MediaList}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media\n */\nStyleSheet.prototype.media;\n\n/**\n * @constructor\n * @implements {IArrayLike<!StyleSheet>}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList\n */\nfunction StyleSheetList() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length\n */\nStyleSheetList.prototype.length;\n\n/**\n * @param {number} index\n * @return {StyleSheet}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item\n */\nStyleSheetList.prototype.item = function(index) {};\n\n/**\n * @constructor\n * @implements {IArrayLike<!MediaList>}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList\n */\nfunction MediaList() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText\n */\nMediaList.prototype.mediaText;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length\n */\nMediaList.prototype.length;\n\n/**\n * @param {number} index\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item\n */\nMediaList.prototype.item = function(index) {};\n\n/**\n * @interface\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle\n */\nfunction LinkStyle() {}\n\n/**\n * @type {StyleSheet}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet\n */\nLinkStyle.prototype.sheet;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle\n */\nfunction DocumentStyle() {}\n\n/**\n * @type {StyleSheetList}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets\n */\nDocumentStyle.prototype.styleSheets;\n\n/**\n * @constructor\n * @extends {StyleSheet}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet\n */\nfunction CSSStyleSheet() {}\n\n/**\n * @type {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRule\n */\nCSSStyleSheet.prototype.ownerRule;\n\n/**\n * @type {CSSRuleList}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules\n */\nCSSStyleSheet.prototype.cssRules;\n\n/**\n * @param {string} rule\n * @param {number} index\n * @return {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule\n */\nCSSStyleSheet.prototype.insertRule = function(rule, index) {};\n\n/**\n * @param {number} index\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule\n * @return {undefined}\n */\nCSSStyleSheet.prototype.deleteRule = function(index) {};\n\n/**\n * @constructor\n * @implements {IArrayLike<!CSSRule>}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList\n */\nfunction CSSRuleList() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length\n */\nCSSRuleList.prototype.length;\n\n/**\n * @param {number} index\n * @return {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item\n */\nCSSRuleList.prototype.item = function(index) {};\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule\n */\nfunction CSSRule() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.prototype.type;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText\n */\nCSSRule.prototype.cssText;\n\n/**\n * @type {CSSStyleSheet}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet\n */\nCSSRule.prototype.parentStyleSheet;\n\n/**\n * @type {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule\n */\nCSSRule.prototype.parentRule;\n\n/**\n * @type {CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\n */\nCSSRule.prototype.style;\n\n/**\n * Indicates that the rule is a {@see CSSUnknownRule}.\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.UNKNOWN_RULE;\n\n/**\n * Indicates that the rule is a {@see CSSStyleRule}.\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.STYLE_RULE;\n\n/**\n * Indicates that the rule is a {@see CSSCharsetRule}.\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.CHARSET_RULE;\n\n/**\n * Indicates that the rule is a {@see CSSImportRule}.\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.IMPORT_RULE;\n\n/**\n * Indicates that the rule is a {@see CSSMediaRule}.\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.MEDIA_RULE;\n\n/**\n * Indicates that the rule is a {@see CSSFontFaceRule}.\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.FONT_FACE_RULE;\n\n/**\n * Indicates that the rule is a {@see CSSPageRule}.\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\n */\nCSSRule.PAGE_RULE;\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\n */\nfunction CSSStyleRule() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorText\n */\nCSSStyleRule.prototype.selectorText;\n\n/**\n * @type {CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-style\n */\nCSSStyleRule.prototype.style;\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule\n */\nfunction CSSMediaRule() {}\n\n/**\n * @type {MediaList}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypes\n */\nCSSMediaRule.prototype.media;\n\n/**\n * @type {CSSRuleList}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRules\n */\nCSSMediaRule.prototype.cssRules;\n\n/**\n * @param {string} rule\n * @param {number} index\n * @return {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRule\n */\nCSSMediaRule.prototype.insertRule = function(rule, index) {};\n\n/**\n * @param {number} index\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule\n * @return {undefined}\n */\nCSSMediaRule.prototype.deleteRule = function(index) {};\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule\n */\nfunction CSSFontFaceRule() {}\n\n/**\n * @type {CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-style\n */\nCSSFontFaceRule.prototype.style;\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule\n */\nfunction CSSPageRule() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-name\n */\nCSSPageRule.prototype.selectorText;\n\n/**\n * @type {CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-style\n */\nCSSPageRule.prototype.style;\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule\n */\nfunction CSSImportRule() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-href\n */\nCSSImportRule.prototype.href;\n\n/**\n * @type {MediaList}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-media\n */\nCSSImportRule.prototype.media;\n\n/**\n * @type {CSSStyleSheet}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheet\n */\nCSSImportRule.prototype.styleSheet;\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule\n */\nfunction CSSCharsetRule() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encoding\n */\nCSSCharsetRule.prototype.encoding;\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRule\n */\nfunction CSSUnknownRule() {}\n\n/**\n * @constructor\n * @extends {CSSProperties}\n * @implements {IObject<(string|number), string>}\n * @implements {IArrayLike<string>}\n * @implements {Iterable<string>}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration\n */\nfunction CSSStyleDeclaration() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssText\n */\nCSSStyleDeclaration.prototype.cssText;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-length\n */\nCSSStyleDeclaration.prototype.length;\n\n/**\n * @type {CSSRule}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRule\n */\nCSSStyleDeclaration.prototype.parentRule;\n\n/**\n * @param {string} propertyName\n * @return {CSSValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValue\n */\nCSSStyleDeclaration.prototype.getPropertyCSSValue = function(propertyName) {};\n\n/**\n * @param {string} propertyName\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriority\n */\nCSSStyleDeclaration.prototype.getPropertyPriority = function(propertyName) {};\n\n/**\n * @param {string} propertyName\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue\n */\nCSSStyleDeclaration.prototype.getPropertyValue = function(propertyName) {};\n\n/**\n * @param {number} index\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item\n */\nCSSStyleDeclaration.prototype.item = function(index) {};\n\n/**\n * @param {string} propertyName\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty\n */\nCSSStyleDeclaration.prototype.removeProperty = function(propertyName) {};\n\n/**\n * @param {string} propertyName\n * @param {string} value\n * @param {string=} opt_priority\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty\n */\nCSSStyleDeclaration.prototype.setProperty = function(propertyName, value, opt_priority) {};\n\n// IE-specific\n\n/**\n * @param {string} name\n * @param {number=} opt_flags\n * @return {string|number|boolean|null}\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\n */\nCSSStyleDeclaration.prototype.getAttribute = function(name, opt_flags) {};\n\n/**\n * @param {string} name\n * @return {string|number|boolean|null}\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\n */\nCSSStyleDeclaration.prototype.getExpression = function(name) {};\n\n/**\n * @param {string} name\n * @param {number=} opt_flags\n * @return {boolean}\n * @see http://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspx\n */\nCSSStyleDeclaration.prototype.removeAttribute =\n function(name, opt_flags) {};\n\n/**\n * @param {string} name\n * @return {boolean}\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\n */\nCSSStyleDeclaration.prototype.removeExpression = function(name) {};\n\n/**\n * @deprecated\n * @param {string} name\n * @param {*} value\n * @param {number=} opt_flags\n * @see http://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx\n * @return {undefined}\n */\nCSSStyleDeclaration.prototype.setAttribute = function(name, value, opt_flags) {};\n\n/**\n * @param {string} name\n * @param {string} expr\n * @param {string=} opt_language\n * @return {undefined}\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\n */\nCSSStyleDeclaration.prototype.setExpression =\n function(name, expr, opt_language) {};\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue\n */\nfunction CSSValue() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssText\n */\nCSSValue.prototype.cssText;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueType\n */\nCSSValue.prototype.cssValueType;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\n */\nCSSValue.CSS_INHERIT;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\n */\nCSSValue.CSS_PRIMITIVE_VALUE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\n */\nCSSValue.CSS_VALUE_LIST;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\n */\nCSSValue.CSS_CUSTOM;\n\n/**\n * @constructor\n * @extends {CSSValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nfunction CSSPrimitiveValue() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.prototype.primitiveType;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_UNKNOWN;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_NUMBER;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_PERCENTAGE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_EMS;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_EXS;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_PX;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_CM;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_MM;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_IN;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_PT;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_PC;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_DEG;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_RAD;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_GRAD;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_MS;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_S;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_HZ;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_KHZ;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_DIMENSION;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_STRING;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_URI;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_IDENT;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_ATTR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_COUNTER;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_RECT;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\n */\nCSSPrimitiveValue.CSS_RGBCOLOR;\n\n/**\n * @return {Counter}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\n */\nCSSPrimitiveValue.prototype.getCounterValue = function() {};\n\n/**\n * @param {number} unitType\n * @return {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\n */\nCSSPrimitiveValue.prototype.getFloatValue = function(unitType) {};\n\n/**\n * @return {RGBColor}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\n */\nCSSPrimitiveValue.prototype.getRGBColorValue = function() {};\n\n/**\n * @return {Rect}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\n */\nCSSPrimitiveValue.prototype.getRectValue = function() {};\n\n/**\n * @return {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\n */\nCSSPrimitiveValue.prototype.getStringValue = function() {};\n\n/**\n * @param {number} unitType\n * @param {number} floatValue\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\n * {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\n */\nCSSPrimitiveValue.prototype.setFloatValue = function(unitType, floatValue) {};\n\n/**\n * @param {number} stringType\n * @param {string} stringValue\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\n * {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\n */\nCSSPrimitiveValue.prototype.setStringValue = function(stringType, stringValue) {};\n\n/**\n * @constructor\n * @extends {CSSValue}\n * @implements {IArrayLike<!CSSValue>}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList\n */\nfunction CSSValueList() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length\n */\nCSSValueList.prototype.length;\n\n/**\n * @param {number} index\n * @return {CSSValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item\n */\nCSSValueList.prototype.item = function(index) {};\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor\n */\nfunction RGBColor() {}\n\n/**\n * @type {CSSPrimitiveValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red\n */\nRGBColor.prototype.red;\n\n/**\n * @type {CSSPrimitiveValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green\n */\nRGBColor.prototype.green;\n\n/**\n * @type {CSSPrimitiveValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue\n */\nRGBColor.prototype.blue;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect\n */\nfunction Rect() {}\n\n/**\n * @type {CSSPrimitiveValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top\n */\nRect.prototype.top;\n\n/**\n * @type {CSSPrimitiveValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right\n */\nRect.prototype.right;\n\n/**\n * @type {CSSPrimitiveValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom\n */\nRect.prototype.bottom;\n\n/**\n * @type {CSSPrimitiveValue}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left\n */\nRect.prototype.left;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter\n */\nfunction Counter() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier\n */\nCounter.prototype.identifier;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle\n */\nCounter.prototype.listStyle;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator\n */\nCounter.prototype.separator;\n\n/**\n * @interface\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSS\n */\nfunction ViewCSS() {}\n\n/**\n * @param {Element} elt\n * @param {?string=} opt_pseudoElt This argument is required according to the\n * CSS2 specification, but optional in all major browsers. See the note at\n * https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle\n * @return {?CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nViewCSS.prototype.getComputedStyle = function(elt, opt_pseudoElt) {};\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS\n */\nfunction DocumentCSS() {}\n\n/**\n * @param {Element} elt\n * @param {string} pseudoElt\n * @return {CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStyle\n */\nDocumentCSS.prototype.getOverrideStyle = function(elt, pseudoElt) {};\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS\n */\nfunction DOMImplementationCSS() {}\n\n/**\n * @param {string} title\n * @param {string} media\n * @return {CSSStyleSheet}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet\n * @throws DOMException {@see DomException.SYNTAX_ERR}\n */\nDOMImplementationCSS.prototype.createCSSStyleSheet = function(title, media) {};\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\n */\nfunction ElementCSSInlineStyle() {}\n\n/**\n * @type {CSSStyleDeclaration}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-style\n */\nElementCSSInlineStyle.prototype.style;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties\n */\nfunction CSSProperties() {}\n\n// CSS 2 properties\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuth\n */\nCSSProperties.prototype.azimuth;\n\n/**\n * @type {string}\n * @see https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty\n */\nCSSProperties.prototype.backdropFilter;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-background\n */\nCSSProperties.prototype.background;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachment\n */\nCSSProperties.prototype.backgroundAttachment;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColor\n */\nCSSProperties.prototype.backgroundColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImage\n */\nCSSProperties.prototype.backgroundImage;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPosition\n */\nCSSProperties.prototype.backgroundPosition;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeat\n */\nCSSProperties.prototype.backgroundRepeat;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-background/#the-background-size\n */\nCSSProperties.prototype.backgroundSize;\n\n/**\n * @implicitCast\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-border\n */\nCSSProperties.prototype.border;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapse\n */\nCSSProperties.prototype.borderCollapse;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColor\n */\nCSSProperties.prototype.borderColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacing\n */\nCSSProperties.prototype.borderSpacing;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStyle\n */\nCSSProperties.prototype.borderStyle;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTop\n */\nCSSProperties.prototype.borderTop;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRight\n */\nCSSProperties.prototype.borderRight;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottom\n */\nCSSProperties.prototype.borderBottom;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeft\n */\nCSSProperties.prototype.borderLeft;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColor\n */\nCSSProperties.prototype.borderTopColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColor\n */\nCSSProperties.prototype.borderRightColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColor\n */\nCSSProperties.prototype.borderBottomColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColor\n */\nCSSProperties.prototype.borderLeftColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStyle\n */\nCSSProperties.prototype.borderTopStyle;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStyle\n */\nCSSProperties.prototype.borderRightStyle;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStyle\n */\nCSSProperties.prototype.borderBottomStyle;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStyle\n */\nCSSProperties.prototype.borderLeftStyle;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidth\n */\nCSSProperties.prototype.borderTopWidth;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidth\n */\nCSSProperties.prototype.borderRightWidth;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidth\n */\nCSSProperties.prototype.borderBottomWidth;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidth\n */\nCSSProperties.prototype.borderLeftWidth;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidth\n */\nCSSProperties.prototype.borderWidth;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\n */\nCSSProperties.prototype.borderRadius;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\n */\nCSSProperties.prototype.borderBottomLeftRadius;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\n */\nCSSProperties.prototype.borderBottomRightRadius;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\n */\nCSSProperties.prototype.borderTopLeftRadius;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\n */\nCSSProperties.prototype.borderTopRightRadius;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-background/#the-border-image-source\n */\nCSSProperties.prototype.borderImageSource;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-image-slice\n */\nCSSProperties.prototype.borderImageSlice;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-image-width\n */\nCSSProperties.prototype.borderImageWidth;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-background/#the-border-image-outset\n */\nCSSProperties.prototype.borderImageOutset;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-background/#the-border-image-repeat\n */\nCSSProperties.prototype.borderImageRepeat;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-background/#the-border-image\n */\nCSSProperties.prototype.borderImage;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottom\n */\nCSSProperties.prototype.bottom;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSide\n */\nCSSProperties.prototype.captionSide;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clear\n */\nCSSProperties.prototype.clear;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clip\n */\nCSSProperties.prototype.clip;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-color\n */\nCSSProperties.prototype.color;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-content\n */\nCSSProperties.prototype.content;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrement\n */\nCSSProperties.prototype.counterIncrement;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterReset\n */\nCSSProperties.prototype.counterReset;\n\n/**\n * This is not an official part of the W3C spec. In practice, this is a settable\n * property that works cross-browser. It is used in goog.dom.setProperties() and\n * needs to be extern'd so the --disambiguate_properties JS compiler pass works.\n * @type {string}\n */\nCSSProperties.prototype.cssText;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cue\n */\nCSSProperties.prototype.cue;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfter\n */\nCSSProperties.prototype.cueAfter;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBefore\n */\nCSSProperties.prototype.cueBefore;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor\n */\nCSSProperties.prototype.cursor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction\n */\nCSSProperties.prototype.direction;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display\n */\nCSSProperties.prototype.display;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation\n */\nCSSProperties.prototype.elevation;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells\n */\nCSSProperties.prototype.emptyCells;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat\n */\nCSSProperties.prototype.cssFloat;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font\n */\nCSSProperties.prototype.font;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily\n */\nCSSProperties.prototype.fontFamily;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize\n */\nCSSProperties.prototype.fontSize;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust\n */\nCSSProperties.prototype.fontSizeAdjust;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch\n */\nCSSProperties.prototype.fontStretch;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle\n */\nCSSProperties.prototype.fontStyle;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant\n */\nCSSProperties.prototype.fontVariant;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight\n */\nCSSProperties.prototype.fontWeight;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height\n */\nCSSProperties.prototype.height;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left\n */\nCSSProperties.prototype.left;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing\n */\nCSSProperties.prototype.letterSpacing;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight\n */\nCSSProperties.prototype.lineHeight;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle\n */\nCSSProperties.prototype.listStyle;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage\n */\nCSSProperties.prototype.listStyleImage;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition\n */\nCSSProperties.prototype.listStylePosition;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType\n */\nCSSProperties.prototype.listStyleType;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin\n */\nCSSProperties.prototype.margin;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop\n */\nCSSProperties.prototype.marginTop;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight\n */\nCSSProperties.prototype.marginRight;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom\n */\nCSSProperties.prototype.marginBottom;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft\n */\nCSSProperties.prototype.marginLeft;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset\n */\nCSSProperties.prototype.markerOffset;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks\n */\nCSSProperties.prototype.marks;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight\n */\nCSSProperties.prototype.maxHeight;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth\n */\nCSSProperties.prototype.maxWidth;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight\n */\nCSSProperties.prototype.minHeight;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth\n */\nCSSProperties.prototype.minWidth;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans\n */\nCSSProperties.prototype.orphans;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline\n */\nCSSProperties.prototype.outline;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor\n */\nCSSProperties.prototype.outlineColor;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle\n */\nCSSProperties.prototype.outlineStyle;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth\n */\nCSSProperties.prototype.outlineWidth;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow\n */\nCSSProperties.prototype.overflow;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding\n */\nCSSProperties.prototype.padding;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop\n */\nCSSProperties.prototype.paddingTop;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight\n */\nCSSProperties.prototype.paddingRight;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom\n */\nCSSProperties.prototype.paddingBottom;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft\n */\nCSSProperties.prototype.paddingLeft;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page\n */\nCSSProperties.prototype.page;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter\n */\nCSSProperties.prototype.pageBreakAfter;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore\n */\nCSSProperties.prototype.pageBreakBefore;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside\n */\nCSSProperties.prototype.pageBreakInside;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause\n */\nCSSProperties.prototype.pause;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter\n */\nCSSProperties.prototype.pauseAfter;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore\n */\nCSSProperties.prototype.pauseBefore;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch\n */\nCSSProperties.prototype.pitch;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange\n */\nCSSProperties.prototype.pitchRange;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring\n */\nCSSProperties.prototype.playDuring;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position\n */\nCSSProperties.prototype.position;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes\n */\nCSSProperties.prototype.quotes;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-ui/#resize\n */\nCSSProperties.prototype.resize;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness\n */\nCSSProperties.prototype.richness;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right\n */\nCSSProperties.prototype.right;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size\n */\nCSSProperties.prototype.size;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak\n */\nCSSProperties.prototype.speak;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader\n */\nCSSProperties.prototype.speakHeader;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral\n */\nCSSProperties.prototype.speakNumeral;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation\n */\nCSSProperties.prototype.speakPunctuation;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate\n */\nCSSProperties.prototype.speechRate;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress\n */\nCSSProperties.prototype.stress;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout\n */\nCSSProperties.prototype.tableLayout;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign\n */\nCSSProperties.prototype.textAlign;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration\n */\nCSSProperties.prototype.textDecoration;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent\n */\nCSSProperties.prototype.textIndent;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow\n */\nCSSProperties.prototype.textShadow;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform\n */\nCSSProperties.prototype.textTransform;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top\n */\nCSSProperties.prototype.top;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi\n */\nCSSProperties.prototype.unicodeBidi;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign\n */\nCSSProperties.prototype.verticalAlign;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility\n */\nCSSProperties.prototype.visibility;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily\n */\nCSSProperties.prototype.voiceFamily;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume\n */\nCSSProperties.prototype.volume;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace\n */\nCSSProperties.prototype.whiteSpace;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows\n */\nCSSProperties.prototype.widows;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width\n */\nCSSProperties.prototype.width;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing\n */\nCSSProperties.prototype.wordSpacing;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap\n */\nCSSProperties.prototype.wordWrap;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex\n */\nCSSProperties.prototype.zIndex;\n\n// CSS 3 properties\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-background/#box-shadow\n */\nCSSProperties.prototype.boxShadow;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-ui/#box-sizing\n */\nCSSProperties.prototype.boxSizing;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-color/#transparency\n */\nCSSProperties.prototype.opacity;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-ui/#text-overflow\n */\nCSSProperties.prototype.textOverflow;\n\n// CSS 3 animations\n\n/**\n * @type {string|number}\n * @see https://www.w3.org/TR/css-animations-1/#animation\n */\nCSSProperties.prototype.animation;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-animations-1/#animation-delay\n */\nCSSProperties.prototype.animationDelay;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-animations-1/#animation-direction\n */\nCSSProperties.prototype.animationDirection;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-animations-1/#animation-duration\n */\nCSSProperties.prototype.animationDuration;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-animations-1/#animation-fill-mode\n */\nCSSProperties.prototype.animationFillMode;\n\n/**\n * @type {string|number}\n * @see https://www.w3.org/TR/css-animations-1/#animation-iteration-count\n */\nCSSProperties.prototype.animationIterationCount;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-animations-1/#animation-name\n */\nCSSProperties.prototype.animationName;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-animations-1/#animation-play-state\n */\nCSSProperties.prototype.animationPlayState;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-animations-1/#animation-timing-function\n */\nCSSProperties.prototype.animationTimingFunction;\n\n// CSS 3 transforms\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-2d-transforms/#backface-visibility-property\n */\nCSSProperties.prototype.backfaceVisibility;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective\n */\nCSSProperties.prototype.perspective;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective-origin\n */\nCSSProperties.prototype.perspectiveOrigin;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-2d-transforms/#effects\n */\nCSSProperties.prototype.transform;\n\n/**\n * @type {string|number}\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-origin\n */\nCSSProperties.prototype.transformOrigin;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-style\n */\nCSSProperties.prototype.transformStyle;\n\n// CSS 3 transitions\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-transitions/#transition\n */\nCSSProperties.prototype.transition;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-transitions/#transition-delay\n */\nCSSProperties.prototype.transitionDelay;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-transitions/#transition-duration\n */\nCSSProperties.prototype.transitionDuration;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-transitions/#transition-property-property\n */\nCSSProperties.prototype.transitionProperty;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css3-transitions/#transition-timing-function\n */\nCSSProperties.prototype.transitionTimingFunction;\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty\n */\nCSSProperties.prototype.pointerEvents;\n\n\n// CSS Flexbox 1\n\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#align-content-property\n */\nCSSProperties.prototype.alignContent;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\n */\nCSSProperties.prototype.alignItems;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\n */\nCSSProperties.prototype.alignSelf;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-property\n */\nCSSProperties.prototype.flex;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-basis-property\n */\nCSSProperties.prototype.flexBasis;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-direction-property\n */\nCSSProperties.prototype.flexDirection;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-flow-property\n */\nCSSProperties.prototype.flexFlow;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-grow-property\n */\nCSSProperties.prototype.flexGrow;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-shrink-property\n */\nCSSProperties.prototype.flexShrink;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property\n */\nCSSProperties.prototype.flexWrap;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-flexbox-1/#justify-content-property\n */\nCSSProperties.prototype.justifyContent;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/css-flexbox-1/#order-property\n */\nCSSProperties.prototype.order;\n\n// Externs for CSS Will Change Module Level 1\n// http://www.w3.org/TR/css-will-change/\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/css-will-change-1/#will-change\n */\nCSSProperties.prototype.willChange;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-ui-4/#propdef-user-select\n */\nCSSProperties.prototype.userSelect;\n\n// CSS 3 Images\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css3-images/#the-object-fit\n */\nCSSProperties.prototype.objectFit;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css3-images/#object-position\n */\nCSSProperties.prototype.objectPosition;\n\n// CSS Masking\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-masking-1/\n */\nCSSProperties.prototype.clipPath;\n\n// CSS Containment\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/css-contain-1/\n */\nCSSProperties.prototype.contain;\n\n// SVG Stroke Properties\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.stroke;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeAlignment;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeOpacity;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeWidth;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeLinecap;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeLinejoin;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeMiterlimit;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeDasharray;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeDashoffset;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeDashcorner;\n\n/**\n * @type {string}\n * @see https://www.w3.org/TR/svg-strokes/\n */\nCSSProperties.prototype.strokeDashadjust;\n\n/**\n * TODO(user): Put this in separate file named w3c_cssom.js.\n * Externs for the CSSOM View Module.\n * @see http://www.w3.org/TR/cssom-view/\n */\n\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface\n\n/**\n * @param {string} media_query_list\n * @return {!MediaQueryList}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-matchmedia\n */\nWindow.prototype.matchMedia = function(media_query_list) {};\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerwidth\n */\nWindow.prototype.innerWidth;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerheight\n */\nWindow.prototype.innerHeight;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollx\n */\nWindow.prototype.scrollX;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pagexoffset\n */\nWindow.prototype.pageXOffset;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrolly\n */\nWindow.prototype.scrollY;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pageyoffset\n */\nWindow.prototype.pageYOffset;\n\n/**\n * @typedef {{\n * left: (number|undefined),\n * top: (number|undefined),\n * behavior: (string|undefined)\n * }}\n * @see https://www.w3.org/TR/cssom-view/#dictdef-scrolltooptions\n */\nvar ScrollToOptions;\n\n/**\n * @record\n * @see https://www.w3.org/TR/cssom-view/#dictdef-scrollintoviewoptions\n */\nfunction ScrollIntoViewOptions () {}\n\n/** @type {string|undefined} */\nScrollIntoViewOptions.prototype.behavior;\n\n/** @type {string|undefined} */\nScrollIntoViewOptions.prototype.block;\n\n/** @type {string|undefined} */\nScrollIntoViewOptions.prototype.inline;\n\n/**\n * @param {number|!ScrollToOptions} scrollToOptionsOrX\n * @param {number=} opt_y\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scroll\n * @return {undefined}\n */\nWindow.prototype.scroll = function(scrollToOptionsOrX, opt_y) {};\n\n/**\n * @param {number|!ScrollToOptions} scrollToOptionsOrX\n * @param {number=} opt_y\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollto\n * @return {undefined}\n */\nWindow.prototype.scrollTo = function(scrollToOptionsOrX, opt_y) {};\n\n/**\n * @param {number|!ScrollToOptions} scrollToOptionsOrX\n * @param {number=} opt_y\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollby\n * @return {undefined}\n */\nWindow.prototype.scrollBy = function(scrollToOptionsOrX, opt_y) {};\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screenx\n */\nWindow.prototype.screenX;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screeny\n */\nWindow.prototype.screenY;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerwidth\n */\nWindow.prototype.outerWidth;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerheight\n */\nWindow.prototype.outerHeight;\n\n/**\n * @type {number}\n * @see https://www.w3.org/TR/cssom-view/#dom-window-devicepixelratio\n */\nWindow.prototype.devicePixelRatio;\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @see https://www.w3.org/TR/cssom-view/#dom-window-moveto\n */\nWindow.prototype.moveTo = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @see https://www.w3.org/TR/cssom-view/#dom-window-moveby\n */\nWindow.prototype.moveBy = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @see https://www.w3.org/TR/cssom-view/#dom-window-resizeto\n */\nWindow.prototype.resizeTo = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n * @see https://www.w3.org/TR/cssom-view/#dom-window-resizeby\n */\nWindow.prototype.resizeBy = function(x, y) {};\n\n/**\n * @constructor\n * @implements {EventTarget}\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylist\n */\nfunction MediaQueryList() {}\n\n/**\n * @type {string}\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-media\n */\nMediaQueryList.prototype.media;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matches\n */\nMediaQueryList.prototype.matches;\n\n/**\n * @param {MediaQueryListListener} listener\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener\n * @return {undefined}\n */\nMediaQueryList.prototype.addListener = function(listener) {};\n\n/**\n * @param {MediaQueryListListener} listener\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener\n * @return {undefined}\n */\nMediaQueryList.prototype.removeListener = function(listener) {};\n\n/** @override Not available in some browsers; use addListener instead. */\nMediaQueryList.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override Not available in old browsers; use removeListener instead. */\nMediaQueryList.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nMediaQueryList.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @typedef {(function(!MediaQueryList) : void)}\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylistlistener\n */\nvar MediaQueryListListener;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/cssom-view/#screen\n */\nfunction Screen() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availwidth\n */\nScreen.prototype.availWidth;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availheight\n */\nScreen.prototype.availHeight;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-width\n */\nScreen.prototype.width;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-height\n */\nScreen.prototype.height;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-colordepth\n */\nScreen.prototype.colorDepth;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-pixeldepth\n */\nScreen.prototype.pixelDepth;\n\n\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {?Element}\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint\n */\nDocument.prototype.elementFromPoint = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {!IArrayLike<!Element>}\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementsfrompoint\n */\nDocument.prototype.elementsFromPoint = function(x, y) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @return {CaretPosition}\n * @see http://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint\n */\nDocument.prototype.caretPositionFromPoint = function(x, y) {};\n\n/**\n * @type {Element}\n * @see http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement\n */\nDocument.prototype.scrollingElement;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/cssom-view/#caretposition\n */\nfunction CaretPosition() {}\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnode\n */\nCaretPosition.prototype.offsetNode;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offset\n */\nCaretPosition.prototype.offset;\n\n\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface\n\n/**\n * @return {!ClientRectList}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getclientrects\n */\nElement.prototype.getClientRects = function() {};\n\n/**\n * @return {!DOMRect}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect\n */\nElement.prototype.getBoundingClientRect = function() {};\n\n/**\n * @param {(boolean|ScrollIntoViewOptions)=} top\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview\n * @return {undefined}\n */\nElement.prototype.scrollIntoView = function(top) {};\n\n/**\n * @param {number|!ScrollToOptions} scrollToOptionsOrX\n * @param {number=} opt_y\n * @see https://www.w3.org/TR/cssom-view/#extension-to-the-element-interface\n * @return {undefined}\n */\nElement.prototype.scrollTo = function(scrollToOptionsOrX, opt_y) {};\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrolltop\n */\nElement.prototype.scrollTop;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollleft\n */\nElement.prototype.scrollLeft;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth\n */\nElement.prototype.scrollWidth;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollheight\n */\nElement.prototype.scrollHeight;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clienttop\n */\nElement.prototype.clientTop;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientleft\n */\nElement.prototype.clientLeft;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientwidth\n */\nElement.prototype.clientWidth;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientheight\n */\nElement.prototype.clientHeight;\n\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface\n\n/**\n * @type {Element}\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent\n */\nHTMLElement.prototype.offsetParent;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettop\n */\nHTMLElement.prototype.offsetTop;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetleft\n */\nHTMLElement.prototype.offsetLeft;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidth\n */\nHTMLElement.prototype.offsetWidth;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheight\n */\nHTMLElement.prototype.offsetHeight;\n\n\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-range-interface\n\n/**\n * @return {!ClientRectList}\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getclientrects\n */\nRange.prototype.getClientRects = function() {};\n\n/**\n * @return {!DOMRect}\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\n */\nRange.prototype.getBoundingClientRect = function() {};\n\n\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-mouseevent-interface\n\n// MouseEvent: screen{X,Y} and client{X,Y} are in DOM Level 2/3 Event as well,\n// so it seems like a specification issue. I've emailed www-style@w3.org in\n// hopes of resolving the conflict, but in the mean time they can live here\n// (http://lists.w3.org/Archives/Public/www-style/2012May/0039.html).\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screenx\n */\n//MouseEvent.prototype.screenX;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screeny\n */\n//MouseEvent.prototype.screenY;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagex\n */\nMouseEvent.prototype.pageX;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagey\n */\nMouseEvent.prototype.pageY;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clientx\n */\n//MouseEvent.prototype.clientX;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clienty\n */\n//MouseEvent.prototype.clientY;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-x\n */\nMouseEvent.prototype.x;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-y\n */\nMouseEvent.prototype.y;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetx\n */\nMouseEvent.prototype.offsetX;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsety\n */\nMouseEvent.prototype.offsetY;\n\n\n// http://www.w3.org/TR/cssom-view/#rectangles\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface\n * @implements {IArrayLike<!DOMRect>}\n */\nfunction ClientRectList() {}\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-length\n */\nClientRectList.prototype.length;\n\n/**\n * @param {number} index\n * @return {?DOMRect}\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-item\n */\nClientRectList.prototype.item = function(index) {};\n\n/**\n * @constructor\n * http://www.w3.org/TR/css3-conditional/#CSS-interface\n */\nfunction CSSInterface() {}\n\n/**\n * @param {string} ident\n * @return {string}\n * @see http://www.w3.org/TR/cssom/#the-css.escape()-method\n * @throws DOMException {@see DOMException.INVALID_CHARACTER_ERR}\n */\nCSSInterface.prototype.escape = function(ident) {};\n\n/**\n * @param {string} property\n * @param {string=} opt_value\n * @return {boolean}\n */\nCSSInterface.prototype.supports = function(property, opt_value) {};\n\n/**\n * TODO(nicksantos): This suppress tag probably isn't needed, and\n * should be removed.\n * @suppress {duplicate}\n * @type {CSSInterface}\n */\nvar CSS;\n\n/** @type {CSSInterface} */\nWindow.prototype.CSS;\n\n// http://dev.w3.org/csswg/css-font-loading/\n\n/**\n * Set of possible string values: 'error', 'loaded', 'loading', 'unloaded'.\n * @typedef {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\n */\nvar FontFaceLoadStatus;\n\n/**\n * @typedef {{\n * style: (string|undefined),\n * weight: (string|undefined),\n * stretch: (string|undefined),\n * unicodeRange: (string|undefined),\n * variant: (string|undefined),\n * featureSettings: (string|undefined)\n * }}\n * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors\n */\nvar FontFaceDescriptors;\n\n/**\n * @constructor\n * @param {string} fontFamily\n * @param {(string|ArrayBuffer|ArrayBufferView)} source\n * @param {!FontFaceDescriptors=} opt_descriptors\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor\n */\nfunction FontFace(fontFamily, source, opt_descriptors) {}\n\n/**\n * @type {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family\n */\nFontFace.prototype.family;\n\n/**\n * @type {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style\n */\nFontFace.prototype.style;\n\n/**\n * @type {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight\n */\nFontFace.prototype.weight;\n\n/**\n * @type {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch\n */\nFontFace.prototype.stretch;\n\n/**\n * @type {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange\n */\nFontFace.prototype.unicodeRange;\n\n/**\n * @type {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant\n */\nFontFace.prototype.variant;\n\n/**\n * @type {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings\n */\nFontFace.prototype.featureSettings;\n\n/**\n * @type {FontFaceLoadStatus}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status\n */\nFontFace.prototype.status;\n\n/**\n * @return {!Promise<!FontFace>}\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load\n */\nFontFace.prototype.load = function() {};\n\n/**\n * Set of possible string values: 'loaded', 'loading'.\n * @typedef {string}\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\n */\nvar FontFaceSetLoadStatus;\n\n/**\n * @interface\n * @extends {EventTarget}\n * @see http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface\n */\nfunction FontFaceSet() {}\n\n// Event handlers\n// http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-events\n\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloading;\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingdone;\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingerror;\n\n/**\n * @param {!FontFace} value\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add\n * @return {undefined}\n */\nFontFaceSet.prototype.add = function(value) {};\n\n/**\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear\n * @return {undefined}\n */\nFontFaceSet.prototype.clear = function() {};\n\n/**\n * @param {!FontFace} value\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete\n * @return {undefined}\n */\nFontFaceSet.prototype.delete = function(value) {};\n\n/**\n * @param {!FontFace} font\n * @return {boolean}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-has\n */\nFontFaceSet.prototype.has = function(font) {};\n\n/**\n * @param {function(!FontFace, number, !FontFaceSet)} callback\n * @param {?Object=} selfObj\n * see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach\n * @return {undefined}\n */\nFontFaceSet.prototype.forEach = function(callback, selfObj) {};\n\n/**\n * @param {string} font\n * @param {string=} opt_text\n * @return {!Promise<!Array<!FontFace>>}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load\n */\nFontFaceSet.prototype.load = function(font, opt_text) {};\n\n/**\n * @param {string} font\n * @param {string=} opt_text\n * @return {boolean}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check\n */\nFontFaceSet.prototype.check = function(font, opt_text) {};\n\n/**\n * @type {!Promise<!FontFaceSet>}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready\n */\nFontFaceSet.prototype.ready;\n\n/**\n * @type {FontFaceSetLoadStatus}\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status\n */\nFontFaceSet.prototype.status;\n\n/**\n * @constructor\n * @param {string} type\n * @param {{\n * animationName: (string|undefined),\n * elapsedTime: (number|undefined),\n * pseudoElement: (string|undefined)\n * }=} opt_animationEventInitDict\n * @extends {Event}\n * @see https://drafts.csswg.org/css-animations/#interface-animationevent\n */\nfunction AnimationEvent(type, opt_animationEventInitDict) {};\n\n/**\n * @type {string}\n * @see https://drafts.csswg.org/css-animations/#dom-animationevent-animationname\n */\nAnimationEvent.prototype.animationName;\n\n/**\n * @type {number}\n * @see https://drafts.csswg.org/css-animations/#dom-animationevent-elapsedtime\n */\nAnimationEvent.prototype.elapsedTime;\n\n/**\n * @type {string}\n * @see https://drafts.csswg.org/css-animations/#dom-animationevent-pseudoelement\n */\nAnimationEvent.prototype.pseudoElement;\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://dev.w3.org/csswg/css-animations/#csskeyframerule\n */\nfunction CSSKeyframeRule() {}\n\n/**\n * @type {string}\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframerule-keytext\n */\nCSSKeyframeRule.prototype.keyText;\n\n/**\n * @type {!CSSStyleDeclaration}\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframerule-style\n */\nCSSKeyframeRule.prototype.style;\n\n\n/**\n * @constructor\n * @extends {CSSRule}\n * @see http://dev.w3.org/csswg/css-animations/#csskeyframesrule\n */\nfunction CSSKeyframesRule() {}\n\n/**\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-name\n * @type {string}\n */\nCSSKeyframesRule.prototype.name;\n\n/**\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-cssrules\n * @type {!CSSRuleList}\n */\nCSSKeyframesRule.prototype.cssRules;\n\n/**\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-findrule\n * @param {string} key The key text for the rule to find.\n * @return {?CSSKeyframeRule}\n */\nCSSKeyframesRule.prototype.findRule = function(key) {};\n\n/**\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-appendrule\n * @param {string} rule The text for the rule to append.\n */\nCSSKeyframesRule.prototype.appendRule = function(rule) {};\n\n/**\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-deleterule\n * @param {string} key The key text for the rule to delete.\n */\nCSSKeyframesRule.prototype.deleteRule = function(key) {};\n",
  790. "externs/gecko_css.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for Gecko\'s custom CSS properties. Copied from:\n * http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl\n *\n * @externs\n * @author nicksantos@google.com (Nick Santos)\n */\n\n\n/** @type {string} */ CSSProperties.prototype.MozAppearance;\n/** @type {string} */ CSSProperties.prototype.MozBackfaceVisibility;\n/** @type {string} */ CSSProperties.prototype.MozBackgroundClip;\n/** @type {string} */ CSSProperties.prototype.MozBackgroundInlinePolicy;\n/** @type {string} */ CSSProperties.prototype.MozBackgroundOrigin;\n/** @type {string} */ CSSProperties.prototype.MozBinding;\n/** @type {string} */ CSSProperties.prototype.MozBorderBottomColors;\n/** @type {string} */ CSSProperties.prototype.MozBorderEnd;\n/** @type {string} */ CSSProperties.prototype.MozBorderEndColor;\n/** @type {string} */ CSSProperties.prototype.MozBorderEndStyle;\n/** @type {string} */ CSSProperties.prototype.MozBorderEndWidth;\n/** @type {string} */ CSSProperties.prototype.MozBorderImage;\n/** @type {string} */ CSSProperties.prototype.MozBorderLeftColors;\n/** @type {string} */ CSSProperties.prototype.MozBorderRadius;\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopleft;\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopright;\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomleft;\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomright;\n/** @type {string} */ CSSProperties.prototype.MozBorderRightColors;\n/** @type {string} */ CSSProperties.prototype.MozBorderStart;\n/** @type {string} */ CSSProperties.prototype.MozBorderStartColor;\n/** @type {string} */ CSSProperties.prototype.MozBorderStartStyle;\n/** @type {string} */ CSSProperties.prototype.MozBorderStartWidth;\n/** @type {string} */ CSSProperties.prototype.MozBorderTopColors;\n/** @type {string} */ CSSProperties.prototype.MozBoxAlign;\n/** @type {string} */ CSSProperties.prototype.MozBoxDirection;\n/** @type {string} */ CSSProperties.prototype.MozBoxFlex;\n/** @type {string} */ CSSProperties.prototype.MozBoxOrdinalGroup;\n/** @type {string} */ CSSProperties.prototype.MozBoxOrient;\n/** @type {string} */ CSSProperties.prototype.MozBoxPack;\n/** @type {string} */ CSSProperties.prototype.MozBoxSizing;\n/** @type {string} */ CSSProperties.prototype.MozBoxShadow;\n/** @type {string} */ CSSProperties.prototype.MozColumnCount;\n/** @type {string} */ CSSProperties.prototype.MozColumnGap;\n/** @type {string} */ CSSProperties.prototype.MozColumnRule;\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleColor;\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleStyle;\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleWidth;\n/** @type {string} */ CSSProperties.prototype.MozColumnWidth;\n/** @type {string} */ CSSProperties.prototype.MozFloatEdge;\n/** @type {string} */ CSSProperties.prototype.MozFontFeatureSettings;\n/** @type {string} */ CSSProperties.prototype.MozFontLanguageOverride;\n/** @type {string} */ CSSProperties.prototype.MozForceBrokenImageIcon;\n/** @type {string} */ CSSProperties.prototype.MozImageRegion;\n/** @type {string} */ CSSProperties.prototype.MozMarginEnd;\n/** @type {string} */ CSSProperties.prototype.MozMarginStart;\n/** @type {number|string} */ CSSProperties.prototype.MozOpacity;\n/** @type {string} */ CSSProperties.prototype.MozOutline;\n/** @type {string} */ CSSProperties.prototype.MozOutlineColor;\n/** @type {string} */ CSSProperties.prototype.MozOutlineOffset;\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadius;\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomleft;\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomright;\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopleft;\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopright;\n/** @type {string} */ CSSProperties.prototype.MozOutlineStyle;\n/** @type {string} */ CSSProperties.prototype.MozOutlineWidth;\n/** @type {string} */ CSSProperties.prototype.MozPaddingEnd;\n/** @type {string} */ CSSProperties.prototype.MozPaddingStart;\n/** @type {string} */ CSSProperties.prototype.MozPerspective;\n/** @type {string} */ CSSProperties.prototype.MozStackSizing;\n/** @type {string} */ CSSProperties.prototype.MozTabSize;\n/** @type {string} */ CSSProperties.prototype.MozTransform;\n/** @type {string} */ CSSProperties.prototype.MozTransformOrigin;\n/** @type {string} */ CSSProperties.prototype.MozTransition;\n/** @type {string} */ CSSProperties.prototype.MozTransitionDelay;\n/** @type {string} */ CSSProperties.prototype.MozTransitionDuration;\n/** @type {string} */ CSSProperties.prototype.MozTransitionProperty;\n/** @type {string} */ CSSProperties.prototype.MozTransitionTimingFunction;\n/** @type {string} */ CSSProperties.prototype.MozUserFocus;\n/** @type {string} */ CSSProperties.prototype.MozUserInput;\n/** @type {string} */ CSSProperties.prototype.MozUserModify;\n/** @type {string} */ CSSProperties.prototype.MozUserSelect;\n/** @type {string} */ CSSProperties.prototype.MozWindowShadow;\n\n\n// These are non-standard Gecko CSSOM properties on Window.prototype.screen.\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/En/DOM/window.screen.availTop\n */\nScreen.prototype.availTop;\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/En/DOM/window.screen.availLeft\n */\nScreen.prototype.availLeft;\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/En/DOM/window.screen.left\n */\nScreen.prototype.left;\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/En/DOM/window.screen.top\n */\nScreen.prototype.top;\n',
  791. "externs/ie_css.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for IE\'s custom CSS properties, as defined here:\n * http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx\n *\n * This page is also useful for the IDL definitions:\n * http://source.winehq.org/source/include/mshtml.idl\n *\n * @externs\n * @author nicksantos@google.com\n */\n\n/** @type {Element} */\nStyleSheet.prototype.owningElement;\n\n/** @type {boolean} */\nStyleSheet.prototype.readOnly;\n\n/** @type {StyleSheetList} */\nStyleSheet.prototype.imports;\n\n/** @type {string} */\nStyleSheet.prototype.id;\n\n/**\n * @param {string} bstrURL\n * @param {number} lIndex\n * @return {number}\n */\nStyleSheet.prototype.addImport;\n\n/**\n * @param {string} bstrSelector\n * @param {string} bstrStyle\n * @param {number=} opt_iIndex\n * @return {number}\n * @see http://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspx\n */\nStyleSheet.prototype.addRule;\n\n/**\n * @param {number} lIndex\n */\nStyleSheet.prototype.removeImport;\n\n/**\n * @param {number} lIndex\n */\nStyleSheet.prototype.removeRule;\n\n/** @type {string} */\nStyleSheet.prototype.cssText;\n\n/** @type {CSSRuleList} */\nStyleSheet.prototype.rules;\n\n// StyleSheet methods\n\n/**\n * @param {string} propName\n * @return {string}\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\n */\nStyleSheet.prototype.getExpression;\n\n/**\n * @param {string} name\n * @param {string} expression\n * @return {undefined}\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\n */\nStyleSheet.prototype.setExpression;\n\n/**\n * @param {string} expression\n * @return {undefined}\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\n */\nStyleSheet.prototype.removeExpression;\n\n// IE-only CSS style names.\n\n/** @type {string} */ CSSProperties.prototype.backgroundPositionX;\n\n/** @type {string} */ CSSProperties.prototype.backgroundPositionY;\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx\n * NOTE: Left untyped to avoid conflict with caller.\n */\nCSSProperties.prototype.behavior;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms533883.aspx\n */\nCSSProperties.prototype.imeMode;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspx\n */\nCSSProperties.prototype.msInterpolationMode;\n\n/** @type {string} */ CSSProperties.prototype.overflowX;\n\n/** @type {string} */ CSSProperties.prototype.overflowY;\n\n/** @type {number} */ CSSProperties.prototype.pixelWidth;\n\n/** @type {number} */ CSSProperties.prototype.pixelHeight;\n\n/** @type {number} */ CSSProperties.prototype.pixelLeft;\n\n/** @type {number} */ CSSProperties.prototype.pixelTop;\n\n/** @type {string} */ CSSProperties.prototype.styleFloat;\n\n/**\n * @type {string|number}\n * @see http://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspx\n */\nCSSProperties.prototype.zoom;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspx\n */\nCSSProperties.prototype.writingMode;\n\n/**\n * IE-specific extensions.\n * @see http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx\n */\n\n/** @type {string} */\nCSSProperties.prototype.MsAccelerator;\n\n/** @type {string} */\nCSSProperties.prototype.MsBackgroundPositionX;\n\n/** @type {string} */\nCSSProperties.prototype.MsBackgroundPositionY;\n\n/** @type {string} */\nCSSProperties.prototype.MsBehavior;\n\n/** @type {string} */\nCSSProperties.prototype.MsBlockProgression;\n\n/** @type {string} */\nCSSProperties.prototype.MsFilter;\n\n/** @type {string} */\nCSSProperties.prototype.MsImeMode;\n\n/** @type {string} */\nCSSProperties.prototype.MsLayoutGrid;\n\n/** @type {string} */\nCSSProperties.prototype.MsLayoutGridChar;\n\n/** @type {string} */\nCSSProperties.prototype.MsLayoutGridLine;\n\n/** @type {string} */\nCSSProperties.prototype.MsLayoutGridMode;\n\n/** @type {string} */\nCSSProperties.prototype.MsLayoutGridType;\n\n/** @type {string} */\nCSSProperties.prototype.MsLineBreak;\n\n/** @type {string} */\nCSSProperties.prototype.MsLineGridMode;\n\n/** @type {string} */\nCSSProperties.prototype.MsInterpolationMode;\n\n/** @type {string} */\nCSSProperties.prototype.MsOverflowX;\n\n/** @type {string} */\nCSSProperties.prototype.MsOverflowY;\n\n/** @type {string} */\nCSSProperties.prototype.MsScrollbar3dlightColor;\n\n/** @type {string} */\nCSSProperties.prototype.MsScrollbarArrowColor;\n\n/** @type {string} */\nCSSProperties.prototype.MsScrollbarBaseColor;\n\n/** @type {string} */\nCSSProperties.prototype.MsScrollbarDarkshadowColor;\n\n/** @type {string} */\nCSSProperties.prototype.MsScrollbarFaceColor;\n\nCSSProperties.prototype.MsScrollbarHighlightColor;\n\n/** @type {string} */\nCSSProperties.prototype.MsScrollbarShadowColor;\n\n/** @type {string} */\nCSSProperties.prototype.MsScrollbarTrackColor;\n\n/** @type {string} */\nCSSProperties.prototype.MsTextAlignLast;\n\n/** @type {string} */\nCSSProperties.prototype.MsTextAutospace;\n\n/** @type {string} */\nCSSProperties.prototype.MsTextJustify;\n\n/** @type {string} */\nCSSProperties.prototype.MsTextKashidaSpace;\n\n/** @type {string} */\nCSSProperties.prototype.MsTextOverflow;\n\n/** @type {string} */\nCSSProperties.prototype.MsTextUnderlinePosition;\n\n/** @type {string} */\nCSSProperties.prototype.MsWordBreak;\n\n/** @type {string} */\nCSSProperties.prototype.MsWordWrap;\n\n/** @type {string} */\nCSSProperties.prototype.MsWritingMode;\n\n/** @type {string} */\nCSSProperties.prototype.MsZoom;\n\n/** @type {string} */\nCSSProperties.prototype.msUserSelect;\n\n// See: http://msdn.microsoft.com/en-us/library/windows/apps/Hh702466.aspx\n\n/** @type {string} */\nCSSProperties.prototype.msContentZooming;\n\n/** @type {string} */\nCSSProperties.prototype.msTouchAction;\n\n/** @type {string} */\nCSSProperties.prototype.msTransform;\n\n/** @type {string} */\nCSSProperties.prototype.msTransition;\n',
  792. "externs/webkit_css.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for WebKit\'s custom CSS properties. Copied from:\n * {@link\n * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}\n *\n * If you make changes to this file, notice that every property appears\n * twice: once as an uppercase name and once as a lowercase name.\n * WebKit allows both. The uppercase version is preferred.\n *\n * @externs\n * @author nicksantos@google.com (Nick Santos)\n * @author mastepien@google.com (Marek Stepien)\n */\n\n/** @type {string} */ CSSProperties.prototype.WebkitAlignContent;\n/** @type {string} */ CSSProperties.prototype.WebkitAlignItems;\n/** @type {string} */ CSSProperties.prototype.WebkitAlignSelf;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimation;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDelay;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDirection;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDuration;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationFillMode;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationIterationCount;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationName;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationPlayState;\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationTimingFunction;\n/** @type {string} */ CSSProperties.prototype.WebkitAppearance;\n/** @type {string} */ CSSProperties.prototype.WebkitAppRegion;\n/** @type {string} */ CSSProperties.prototype.WebkitAspectRatio;\n/** @type {string} */ CSSProperties.prototype.WebkitBackfaceVisibility;\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundClip;\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundComposite;\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundOrigin;\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundSize;\n/** @type {string} */ CSSProperties.prototype.WebkitBinding;\n/** @type {string} */ CSSProperties.prototype.WebkitBlendMode;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfter;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterColor;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBefore;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeColor;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomLeftRadius;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomRightRadius;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEnd;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndColor;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderFit;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderHorizontalSpacing;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderImage;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderRadius;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStart;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartColor;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopLeftRadius;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopRightRadius;\n/** @type {string} */ CSSProperties.prototype.WebkitBorderVerticalSpacing;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxAlign;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDecorationBreak;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDirection;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlex;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlexGroup;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxLines;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrdinalGroup;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrient;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxPack;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxReflect;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxShadow;\n/** @type {string} */ CSSProperties.prototype.WebkitBoxSizing;\n/** @type {string} */ CSSProperties.prototype.WebkitColorCorrection;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnAxis;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakAfter;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakBefore;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakInside;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnCount;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnGap;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnProgression;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRule;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleColor;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitColumns;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnSpan;\n/** @type {string} */ CSSProperties.prototype.WebkitColumnWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitDashboardRegion;\n/** @type {string} */ CSSProperties.prototype.WebkitFilter;\n/** @type {string} */ CSSProperties.prototype.WebkitFlex;\n/** @type {string} */ CSSProperties.prototype.WebkitFlexBasis;\n/** @type {string} */ CSSProperties.prototype.WebkitFlexDirection;\n/** @type {string} */ CSSProperties.prototype.WebkitFlexFlow;\n/** @type {string} */ CSSProperties.prototype.WebkitFlexGrow;\n/** @type {string} */ CSSProperties.prototype.WebkitFlexShrink;\n/** @type {string} */ CSSProperties.prototype.WebkitFlexWrap;\n/** @type {string} */ CSSProperties.prototype.WebkitFlowFrom;\n/** @type {string} */ CSSProperties.prototype.WebkitFlowInto;\n/** @type {string} */ CSSProperties.prototype.WebkitFontSizeDelta;\n/** @type {string} */ CSSProperties.prototype.WebkitFontSmoothing;\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumn;\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumns;\n/** @type {string} */ CSSProperties.prototype.WebkitGridRow;\n/** @type {string} */ CSSProperties.prototype.WebkitGridRows;\n/** @type {string} */ CSSProperties.prototype.WebkitHighlight;\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateCharacter;\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitAfter;\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitBefore;\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitLines;\n/** @type {string} */ CSSProperties.prototype.WebkitHyphens;\n/** @type {string} */ CSSProperties.prototype.WebkitJustifyContent;\n/** @type {string} */ CSSProperties.prototype.WebkitLineAlign;\n/** @type {string} */ CSSProperties.prototype.WebkitLineBoxContain;\n/** @type {string} */ CSSProperties.prototype.WebkitLineBreak;\n/** @type {string} */ CSSProperties.prototype.WebkitLineClamp;\n/** @type {string} */ CSSProperties.prototype.WebkitLineGrid;\n/** @type {string} */ CSSProperties.prototype.WebkitLineSnap;\n/** @type {string} */ CSSProperties.prototype.WebkitLocale;\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalHeight;\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfter;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfterCollapse;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBefore;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBeforeCollapse;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBottomCollapse;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginCollapse;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginEnd;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginStart;\n/** @type {string} */ CSSProperties.prototype.WebkitMarginTopCollapse;\n/** @type {string} */ CSSProperties.prototype.WebkitMarquee;\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeDirection;\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeIncrement;\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeRepetition;\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeSpeed;\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitMask;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskAttachment;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImage;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageOutset;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageRepeat;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSlice;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSource;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskClip;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskComposite;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskImage;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskOrigin;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPosition;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionX;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionY;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeat;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatX;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatY;\n/** @type {string} */ CSSProperties.prototype.WebkitMaskSize;\n/** @type {string} */\nCSSProperties.prototype.WebkitMatchNearestMailBlockquoteColor;\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalHeight;\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalHeight;\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitNbspMode;\n/** @type {string} */ CSSProperties.prototype.WebkitOrder;\n/** @type {string} */ CSSProperties.prototype.WebkitOverflowScrolling;\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingAfter;\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingBefore;\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingEnd;\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingStart;\n/** @type {string} */ CSSProperties.prototype.WebkitPerspective;\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOrigin;\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginX;\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginY;\n/** @type {string} */ CSSProperties.prototype.WebkitPrintColorAdjust;\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakAfter;\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakBefore;\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakInside;\n/** @type {string} */ CSSProperties.prototype.WebkitRegionOverflow;\n/** @type {string} */ CSSProperties.prototype.WebkitRtlOrdering;\n/** @type {string} */ CSSProperties.prototype.WebkitRubyPosition;\n/** @type {string} */ CSSProperties.prototype.WebkitShapeInside;\n/** @type {string} */ CSSProperties.prototype.WebkitShapeMargin;\n/** @type {string} */ CSSProperties.prototype.WebkitShapeOutside;\n/** @type {string} */ CSSProperties.prototype.WebkitShapePadding;\n/** @type {string} */ CSSProperties.prototype.WebkitTapHighlightColor;\n/** @type {string} */ CSSProperties.prototype.WebkitTextAlignLast;\n/** @type {string} */ CSSProperties.prototype.WebkitTextCombine;\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationLine;\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationsInEffect;\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasis;\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisColor;\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisPosition;\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitTextFillColor;\n/** @type {string} */ CSSProperties.prototype.WebkitTextOrientation;\n/** @type {string} */ CSSProperties.prototype.WebkitTextSecurity;\n/** @type {string} */ CSSProperties.prototype.WebkitTextSizeAdjust;\n/** @type {string} */ CSSProperties.prototype.WebkitTextStroke;\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeColor;\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeWidth;\n/** @type {string} */ CSSProperties.prototype.WebkitTransform;\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOrigin;\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginX;\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginY;\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginZ;\n/** @type {string} */ CSSProperties.prototype.WebkitTransformStyle;\n/** @type {string} */ CSSProperties.prototype.WebkitTransition;\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDelay;\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDuration;\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionProperty;\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionRepeatCount;\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionTimingFunction;\n/** @type {string} */ CSSProperties.prototype.WebkitUserDrag;\n/** @type {string} */ CSSProperties.prototype.WebkitUserModify;\n/** @type {string} */ CSSProperties.prototype.WebkitUserSelect;\n/** @type {string} */ CSSProperties.prototype.WebkitWrap;\n/** @type {string} */ CSSProperties.prototype.WebkitWrapFlow;\n/** @type {string} */ CSSProperties.prototype.WebkitWrapThrough;\n/** @type {string} */ CSSProperties.prototype.WebkitWritingMode;\n\n// WebKit also adds bindings for the lowercase versions of these properties.\n// The uppercase version is preferred.\n\n/** @type {string} */ CSSProperties.prototype.webkitAlignContent;\n/** @type {string} */ CSSProperties.prototype.webkitAlignItems;\n/** @type {string} */ CSSProperties.prototype.webkitAlignSelf;\n/** @type {string} */ CSSProperties.prototype.webkitAnimation;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDelay;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDirection;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDuration;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationFillMode;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationIterationCount;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationName;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationPlayState;\n/** @type {string} */ CSSProperties.prototype.webkitAnimationTimingFunction;\n/** @type {string} */ CSSProperties.prototype.webkitAppearance;\n/** @type {string} */ CSSProperties.prototype.webkitAppRegion;\n/** @type {string} */ CSSProperties.prototype.webkitAspectRatio;\n/** @type {string} */ CSSProperties.prototype.webkitBackfaceVisibility;\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundClip;\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundComposite;\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundOrigin;\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundSize;\n/** @type {string} */ CSSProperties.prototype.webkitBinding;\n/** @type {string} */ CSSProperties.prototype.webkitBlendMode;\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfter;\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterColor;\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterStyle;\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterWidth;\n/** @type {string} */ CSSProperties.prototype.webkitBorderBefore;\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeColor;\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeStyle;\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeWidth;\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomLeftRadius;\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomRightRadius;\n/** @type {string} */ CSSProperties.prototype.webkitBorderEnd;\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndColor;\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndStyle;\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndWidth;\n/** @type {string} */ CSSProperties.prototype.webkitBorderFit;\n/** @type {string} */ CSSProperties.prototype.webkitBorderHorizontalSpacing;\n/** @type {string} */ CSSProperties.prototype.webkitBorderImage;\n/** @type {string} */ CSSProperties.prototype.webkitBorderRadius;\n/** @type {string} */ CSSProperties.prototype.webkitBorderStart;\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartColor;\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartStyle;\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartWidth;\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopLeftRadius;\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopRightRadius;\n/** @type {string} */ CSSProperties.prototype.webkitBorderVerticalSpacing;\n/** @type {string} */ CSSProperties.prototype.webkitBoxAlign;\n/** @type {string} */ CSSProperties.prototype.webkitBoxDecorationBreak;\n/** @type {string} */ CSSProperties.prototype.webkitBoxDirection;\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlex;\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlexGroup;\n/** @type {string} */ CSSProperties.prototype.webkitBoxLines;\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrdinalGroup;\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrient;\n/** @type {string} */ CSSProperties.prototype.webkitBoxPack;\n/** @type {string} */ CSSProperties.prototype.webkitBoxReflect;\n/** @type {string} */ CSSProperties.prototype.webkitBoxShadow;\n/** @type {string} */ CSSProperties.prototype.webkitBoxSizing;\n/** @type {string} */ CSSProperties.prototype.webkitColorCorrection;\n/** @type {string} */ CSSProperties.prototype.webkitColumnAxis;\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakAfter;\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakBefore;\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakInside;\n/** @type {string} */ CSSProperties.prototype.webkitColumnCount;\n/** @type {string} */ CSSProperties.prototype.webkitColumnGap;\n/** @type {string} */ CSSProperties.prototype.webkitColumnProgression;\n/** @type {string} */ CSSProperties.prototype.webkitColumnRule;\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleColor;\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleStyle;\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleWidth;\n/** @type {string} */ CSSProperties.prototype.webkitColumns;\n/** @type {string} */ CSSProperties.prototype.webkitColumnSpan;\n/** @type {string} */ CSSProperties.prototype.webkitColumnWidth;\n/** @type {string} */ CSSProperties.prototype.webkitDashboardRegion;\n/** @type {string} */ CSSProperties.prototype.webkitFilter;\n/** @type {string} */ CSSProperties.prototype.webkitFlex;\n/** @type {string} */ CSSProperties.prototype.webkitFlexBasis;\n/** @type {string} */ CSSProperties.prototype.webkitFlexDirection;\n/** @type {string} */ CSSProperties.prototype.webkitFlexFlow;\n/** @type {string} */ CSSProperties.prototype.webkitFlexGrow;\n/** @type {string} */ CSSProperties.prototype.webkitFlexShrink;\n/** @type {string} */ CSSProperties.prototype.webkitFlexWrap;\n/** @type {string} */ CSSProperties.prototype.webkitFlowFrom;\n/** @type {string} */ CSSProperties.prototype.webkitFlowInto;\n/** @type {string} */ CSSProperties.prototype.webkitFontSizeDelta;\n/** @type {string} */ CSSProperties.prototype.webkitFontSmoothing;\n/** @type {string} */ CSSProperties.prototype.webkitGridColumn;\n/** @type {string} */ CSSProperties.prototype.webkitGridColumns;\n/** @type {string} */ CSSProperties.prototype.webkitGridRow;\n/** @type {string} */ CSSProperties.prototype.webkitGridRows;\n/** @type {string} */ CSSProperties.prototype.webkitHighlight;\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateCharacter;\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitAfter;\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitBefore;\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitLines;\n/** @type {string} */ CSSProperties.prototype.webkitHyphens;\n/** @type {string} */ CSSProperties.prototype.webkitJustifyContent;\n/** @type {string} */ CSSProperties.prototype.webkitLineAlign;\n/** @type {string} */ CSSProperties.prototype.webkitLineBoxContain;\n/** @type {string} */ CSSProperties.prototype.webkitLineBreak;\n/** @type {string} */ CSSProperties.prototype.webkitLineClamp;\n/** @type {string} */ CSSProperties.prototype.webkitLineGrid;\n/** @type {string} */ CSSProperties.prototype.webkitLineSnap;\n/** @type {string} */ CSSProperties.prototype.webkitLocale;\n/** @type {string} */ CSSProperties.prototype.webkitLogicalHeight;\n/** @type {string} */ CSSProperties.prototype.webkitLogicalWidth;\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfter;\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfterCollapse;\n/** @type {string} */ CSSProperties.prototype.webkitMarginBefore;\n/** @type {string} */ CSSProperties.prototype.webkitMarginBeforeCollapse;\n/** @type {string} */ CSSProperties.prototype.webkitMarginBottomCollapse;\n/** @type {string} */ CSSProperties.prototype.webkitMarginCollapse;\n/** @type {string} */ CSSProperties.prototype.webkitMarginEnd;\n/** @type {string} */ CSSProperties.prototype.webkitMarginStart;\n/** @type {string} */ CSSProperties.prototype.webkitMarginTopCollapse;\n/** @type {string} */ CSSProperties.prototype.webkitMarquee;\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeDirection;\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeIncrement;\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeRepetition;\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeSpeed;\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeStyle;\n/** @type {string} */ CSSProperties.prototype.webkitMask;\n/** @type {string} */ CSSProperties.prototype.webkitMaskAttachment;\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImage;\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageOutset;\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageRepeat;\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSlice;\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSource;\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageWidth;\n/** @type {string} */ CSSProperties.prototype.webkitMaskClip;\n/** @type {string} */ CSSProperties.prototype.webkitMaskComposite;\n/** @type {string} */ CSSProperties.prototype.webkitMaskImage;\n/** @type {string} */ CSSProperties.prototype.webkitMaskOrigin;\n/** @type {string} */ CSSProperties.prototype.webkitMaskPosition;\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionX;\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionY;\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeat;\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatX;\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatY;\n/** @type {string} */ CSSProperties.prototype.webkitMaskSize;\n/** @type {string} */\nCSSProperties.prototype.webkitMatchNearestMailBlockquoteColor;\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalHeight;\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalWidth;\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalHeight;\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalWidth;\n/** @type {string} */ CSSProperties.prototype.webkitNbspMode;\n/** @type {string} */ CSSProperties.prototype.webkitOrder;\n/** @type {string} */ CSSProperties.prototype.webkitOverflowScrolling;\n/** @type {string} */ CSSProperties.prototype.webkitPaddingAfter;\n/** @type {string} */ CSSProperties.prototype.webkitPaddingBefore;\n/** @type {string} */ CSSProperties.prototype.webkitPaddingEnd;\n/** @type {string} */ CSSProperties.prototype.webkitPaddingStart;\n/** @type {string} */ CSSProperties.prototype.webkitPerspective;\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOrigin;\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginX;\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginY;\n/** @type {string} */ CSSProperties.prototype.webkitPrintColorAdjust;\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakAfter;\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakBefore;\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakInside;\n/** @type {string} */ CSSProperties.prototype.webkitRegionOverflow;\n/** @type {string} */ CSSProperties.prototype.webkitRtlOrdering;\n/** @type {string} */ CSSProperties.prototype.webkitRubyPosition;\n/** @type {string} */ CSSProperties.prototype.webkitShapeInside;\n/** @type {string} */ CSSProperties.prototype.webkitShapeMargin;\n/** @type {string} */ CSSProperties.prototype.webkitShapeOutside;\n/** @type {string} */ CSSProperties.prototype.webkitShapePadding;\n/** @type {string} */ CSSProperties.prototype.webkitTapHighlightColor;\n/** @type {string} */ CSSProperties.prototype.webkitTextAlignLast;\n/** @type {string} */ CSSProperties.prototype.webkitTextCombine;\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationLine;\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationsInEffect;\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationStyle;\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasis;\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisColor;\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisPosition;\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisStyle;\n/** @type {string} */ CSSProperties.prototype.webkitTextFillColor;\n/** @type {string} */ CSSProperties.prototype.webkitTextOrientation;\n/** @type {string} */ CSSProperties.prototype.webkitTextSecurity;\n/** @type {string} */ CSSProperties.prototype.webkitTextSizeAdjust;\n/** @type {string} */ CSSProperties.prototype.webkitTextStroke;\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeColor;\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeWidth;\n/** @type {string} */ CSSProperties.prototype.webkitTransform;\n/** @type {string} */ CSSProperties.prototype.webkitTransformOrigin;\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginX;\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginY;\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginZ;\n/** @type {string} */ CSSProperties.prototype.webkitTransformStyle;\n/** @type {string} */ CSSProperties.prototype.webkitTransition;\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDelay;\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDuration;\n/** @type {string} */ CSSProperties.prototype.webkitTransitionProperty;\n/** @type {string} */ CSSProperties.prototype.webkitTransitionRepeatCount;\n/** @type {string} */ CSSProperties.prototype.webkitTransitionTimingFunction;\n/** @type {string} */ CSSProperties.prototype.webkitUserDrag;\n/** @type {string} */ CSSProperties.prototype.webkitUserModify;\n/** @type {string} */ CSSProperties.prototype.webkitUserSelect;\n/** @type {string} */ CSSProperties.prototype.webkitWrap;\n/** @type {string} */ CSSProperties.prototype.webkitWrapFlow;\n/** @type {string} */ CSSProperties.prototype.webkitWrapThrough;\n/** @type {string} */ CSSProperties.prototype.webkitWritingMode;\n\n/**\n * @constructor\n * @param {number} x\n * @param {number} y\n */\nfunction WebKitPoint(x, y) {}\n\n/** @type {number} */\nWebKitPoint.prototype.x;\n\n/** @type {number} */\nWebKitPoint.prototype.y;\n',
  793. "externs/window.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview JavaScript Built-Ins for windows properties.\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n */\n\n// Window properties\n// Only common properties are here. Others such as open()\n// should be used with an explicit Window object.\n\n/**\n * @const {!Window}\n * @see https://developer.mozilla.org/en/DOM/window.top\n */\nvar top;\n\n/**\n * @const {!Navigator}\n * @see https://developer.mozilla.org/en/DOM/window.navigator\n */\nvar navigator;\n\n/**\n * @const {!HTMLDocument}\n * @see https://developer.mozilla.org/en/DOM/window.document\n */\nvar document;\n\n/**\n * @const {!Location}\n * @see https://developer.mozilla.org/en/DOM/window.location\n * @suppress {duplicate}\n * @implicitCast\n */\nvar location;\n\n/**\n * @const {!Screen}\n * @see https://developer.mozilla.org/En/DOM/window.screen\n */\nvar screen;\n\n/**\n * @const {!Window}\n * @see https://developer.mozilla.org/En/DOM/Window.self\n */\nvar self;\n\n/**\n * @type {!Window}\n * @see https://developer.mozilla.org/en/DOM/window\n */\nvar window;\n\n/**\n * @const {boolean}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/isSecureContext\n */\nvar isSecureContext;\n\n/**\n * @const {!VisualViewport}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/visualViewport\n */\nvar visualViewport;\n\n/**\n * @param {*} message\n * @see https://developer.mozilla.org/en/DOM/window.alert\n * @return {undefined}\n */\nfunction alert(message) {}\n\n/**\n * @param {number=} immediateID\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate\n * @see http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx\n * @return {undefined}\n */\nfunction clearImmediate(immediateID) {}\n\n/**\n * @param {?number|undefined} intervalID\n * @see https://developer.mozilla.org/en/DOM/window.clearInterval\n * @suppress {duplicate}\n * @return {undefined}\n */\nfunction clearInterval(intervalID) {}\n\n/**\n * @param {?number|undefined} timeoutID\n * @see https://developer.mozilla.org/en/DOM/window.clearTimeout\n * @suppress {duplicate}\n * @return {undefined}\n */\nfunction clearTimeout(timeoutID) {}\n\n/**\n * @param {*} message\n * @return {boolean}\n * @see https://developer.mozilla.org/en/DOM/window.confirm\n */\nfunction confirm(message) {}\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.dump\n * @param {*} x\n * @return {undefined}\n */\nfunction dump(x) {}\n\n/**\n * @param {string} message\n * @param {string=} opt_value\n * @return {?string}\n * @see https://developer.mozilla.org/en/DOM/window.prompt\n */\nfunction prompt(message, opt_value) {}\n\n/**\n * @param {function()} callback\n * @param {...?} callbackParams\n * @return {number}\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.setImmediate\n * @see http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx\n */\nfunction setImmediate(callback, callbackParams) {}\n\n/**\n * @param {Function|!TrustedScript|string} callback\n * @param {number=} opt_delay\n * @param {...?} callbackParams\n * @return {number}\n * @see https://developer.mozilla.org/en/DOM/window.setInterval\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\n */\nfunction setInterval(callback, opt_delay, callbackParams) {}\n\n/**\n * @param {Function|!TrustedScript|string} callback\n * @param {number=} opt_delay\n * @param {...*} callbackParams\n * @return {number}\n * @see https://developer.mozilla.org/en/DOM/window.setTimeout\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\n */\nfunction setTimeout(callback, opt_delay, callbackParams) {}\n\n/**\n * Returns whether the object has a property with the specified name.\n *\n * @param {*} propertyName Implicitly cast to a string.\n * @return {boolean}\n * @nosideeffects\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\n */\nfunction hasOwnProperty (propertyName) {}\n',
  794. "externs/deprecated.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview JavaScript Built-Ins that are not part of any specifications\n * but are still needed in some project\'s build.\n * @externs\n */\nvar opera = {};\n\nopera.postError;\n\n/** @nosideeffects */\nopera.version = function() {};\n\n/** @constructor */\nfunction XSLTProcessor() {}\n\n/**\n * @param {Node} styleSheet\n * @return {undefined}\n * @deprecated\n */\nXSLTProcessor.importStylesheet = function(styleSheet) {};\n\n/**\n * @param {Node} source\n * @return {Document}\n * @deprecated\n */\nXSLTProcessor.transformToDocument = function(source) {};\n\n// The "methods" object is a place to hang arbitrary external\n// properties. It is a throwback to pre-typed days, and should\n// not be used for any new definitions; it exists only to bridge\n// the gap between the old way and the new way.\nvar methods = {};\n',
  795. "externs/fido.js":'/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions from the FIDO Specifications\n * @see https://fidoalliance.org/download/\n *\n * @externs\n * @author arnarbi@gmail.com (Arnar Birgisson)\n */\n\n/**\n * U2F JavaScript API namespace\n * @see https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-javascript-api-v1.2-ps-20170411.html\n * @const\n */\nvar u2f = {};\n\n/**\n * Data object for a single sign request.\n * @typedef {string}\n */\nu2f.Transport;\n\n/**\n * Data object for a registered key.\n * @typedef {{\n * version: string,\n * keyHandle: string,\n * transports: (!Array<!u2f.Transport>|undefined),\n * appId: ?string\n * }}\n */\nu2f.RegisteredKey;\n\n/**\n * An error object for responses\n * @typedef {{\n * errorCode: number,\n * errorMessage: ?string\n * }}\n */\nu2f.Error;\n\n/**\n * Data object for a sign response.\n * @typedef {{\n * keyHandle: string,\n * signatureData: string,\n * clientData: string\n * }}\n */\nu2f.SignResponse;\n\n/**\n * @typedef {{\n * version: string,\n * challenge: string\n * }}\n */\nu2f.RegisterRequest\n\n/**\n * @param {string} appId\n * @param {string} challenge\n * @param {!Array<!u2f.RegisteredKey>} registeredKeys\n * @param {function((!u2f.Error|!u2f.SignResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\nu2f.sign = function(\n appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {};\n\n/**\n * @param {string} appId\n * @param {!Array<!u2f.RegisterRequest>} registerRequests\n * @param {!Array<!u2f.RegisteredKey>} registeredKeys\n * @param {function((!u2f.Error|!u2f.SignResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\nu2f.register = function(\n appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {};\n',
  796. "externs/w3c_fileapi.js":'/*\n * Copyright 2010 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for objects in the File API, File Writer API, and\n * File System API. Details of the API are at:\n * http://www.w3.org/TR/FileAPI/\n *\n * @externs\n */\n\n/** @record */\nfunction BlobPropertyBag() {};\n\n/** @type {(string|undefined)} */\nBlobPropertyBag.prototype.type;\n\n/**\n * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob\n * @param {Array<ArrayBuffer|ArrayBufferView|Blob|string>=} opt_blobParts\n * @param {BlobPropertyBag=} opt_options\n * @constructor\n * @nosideeffects\n */\nfunction Blob(opt_blobParts, opt_options) {}\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-size\n * @type {number}\n */\nBlob.prototype.size;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-type\n * @type {string}\n */\nBlob.prototype.type;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-slice\n * @param {number=} start\n * @param {number=} length\n * @param {string=} opt_contentType\n * @return {!Blob}\n * @nosideeffects\n */\nBlob.prototype.slice = function(start, length, opt_contentType) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#arraybuffer-method-algo\n * @return {!Promise<!ArrayBuffer>}\n * @nosideeffects\n */\nBlob.prototype.arrayBuffer = function() {};\n\n/**\n * @see https://www.w3.org/TR/FileAPI/#dom-blob-text\n * @return {!Promise<string>}\n * @nosideeffects\n */\nBlob.prototype.text = function() {};\n\n\n/**\n * @record\n * @extends {BlobPropertyBag}\n **/\nfunction FilePropertyBag() {};\n\n/** @type {(number|undefined)} */\nFilePropertyBag.prototype.lastModified;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-file\n * @param {!Array<string|!Blob|!ArrayBuffer>=} contents\n * @param {string=} name\n * @param {FilePropertyBag=} properties\n * @constructor\n * @extends {Blob}\n */\nfunction File(contents, name, properties) {}\n\n/**\n * Chrome uses this instead of name.\n * @deprecated Use name instead.\n * @type {string}\n */\nFile.prototype.fileName;\n\n/**\n * Chrome uses this instead of size.\n * @deprecated Use size instead.\n * @type {string}\n */\nFile.prototype.fileSize;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-name\n * @type {string}\n */\nFile.prototype.name;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate\n * @type {Date}\n */\nFile.prototype.lastModifiedDate;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModified\n * @type {number}\n */\nFile.prototype.lastModified;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-filereader\n * @constructor\n * @implements {EventTarget}\n */\nfunction FileReader() {}\n\n/** @override */\nFileReader.prototype.addEventListener = function(type, listener, opt_options) {\n};\n\n/** @override */\nFileReader.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nFileReader.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer\n * @param {!Blob} blob\n * @return {undefined}\n */\nFileReader.prototype.readAsArrayBuffer = function(blob) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync\n * @param {!Blob} blob\n * @return {undefined}\n */\nFileReader.prototype.readAsBinaryString = function(blob) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsText\n * @param {!Blob} blob\n * @param {string=} encoding\n * @return {undefined}\n */\nFileReader.prototype.readAsText = function(blob, encoding) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL\n * @param {!Blob} blob\n * @return {undefined}\n */\nFileReader.prototype.readAsDataURL = function(blob) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-abort\n * @return {undefined}\n */\nFileReader.prototype.abort = function() {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-empty\n * @const {number}\n */\nFileReader.prototype.EMPTY;\n\n/** @const {number} */\nFileReader.EMPTY;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-loading\n * @const {number}\n */\nFileReader.prototype.LOADING;\n\n/** @const {number} */\nFileReader.LOADING;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-done\n * @const {number}\n */\nFileReader.prototype.DONE;\n\n/** @const {number} */\nFileReader.DONE;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readystate\n * @type {number}\n */\nFileReader.prototype.readyState;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-result\n * @type {string|Blob|ArrayBuffer}\n */\nFileReader.prototype.result;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-error\n * @type {DOMError}\n */\nFileReader.prototype.error;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadstart\n * @type {?function(!ProgressEvent<!FileReader>)}\n */\nFileReader.prototype.onloadstart;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-onprogress\n * @type {?function(!ProgressEvent<!FileReader>)}\n */\nFileReader.prototype.onprogress;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-onload\n * @type {?function(!ProgressEvent<!FileReader>)}\n */\nFileReader.prototype.onload;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-onabort\n * @type {?function(!ProgressEvent<!FileReader>)}\n */\nFileReader.prototype.onabort;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-onerror\n * @type {?function(!ProgressEvent<!FileReader>)}\n */\nFileReader.prototype.onerror;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadend\n * @type {?function(!ProgressEvent<!FileReader>)}\n */\nFileReader.prototype.onloadend;\n\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#FileReaderSyncSync\n * @constructor\n */\nfunction FileReaderSync() {}\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBufferSync\n * @param {!Blob} blob\n * @return {!ArrayBuffer}\n */\nFileReaderSync.prototype.readAsArrayBuffer = function(blob) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringSync\n * @param {!Blob} blob\n * @return {string}\n */\nFileReaderSync.prototype.readAsBinaryString = function(blob) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsTextSync\n * @param {!Blob} blob\n * @param {string=} encoding\n * @return {string}\n */\nFileReaderSync.prototype.readAsText = function(blob, encoding) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURLSync\n * @param {!Blob} blob\n * @return {string}\n */\nFileReaderSync.prototype.readAsDataURL = function(blob) {};\n',
  797. "externs/nonstandard_fileapi.js":"/*\n * Copyright 2019 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for file api implemented in\n * various browsers but not part of https://www.w3.org/TR/FileAPI.\n * @externs\n */\n\n/**\n * This replaces Blob.slice in Chrome since WebKit revision 84005.\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\n * @param {number=} start\n * @param {number=} end\n * @param {string=} contentType\n * @return {!Blob}\n * @nosideeffects\n */\nBlob.prototype.webkitSlice = function(start, end, contentType) {};\n\n/**\n * This replaces Blob.slice in Firefox.\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\n * @param {number=} start\n * @param {number=} end\n * @param {string=} contentType\n * @return {!Blob}\n * @nosideeffects\n */\nBlob.prototype.mozSlice = function(start, end, contentType) {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface\n * @constructor\n */\nfunction BlobBuilder() {}\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\n * @param {string|Blob|ArrayBuffer} data\n * @param {string=} endings\n * @return {undefined}\n */\nBlobBuilder.prototype.append = function(data, endings) {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\n * @param {string=} contentType\n * @return {!Blob}\n */\nBlobBuilder.prototype.getBlob = function(contentType) {};\n\n/**\n * This has replaced BlobBuilder in Chrome since WebKit revision 84008.\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\n * @constructor\n */\nfunction WebKitBlobBuilder() {}\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\n * @param {string|Blob|ArrayBuffer} data\n * @param {string=} endings\n * @return {undefined}\n */\nWebKitBlobBuilder.prototype.append = function(data, endings) {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\n * @param {string=} contentType\n * @return {!Blob}\n */\nWebKitBlobBuilder.prototype.getBlob = function(contentType) {};\n\n/**\n * @record\n * @see https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary\n */\nfunction FileSystemFlags() {};\n\n/** @type {(undefined|boolean)} */\nFileSystemFlags.prototype.create;\n\n/** @type {(undefined|boolean)} */\nFileSystemFlags.prototype.exclusive;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface\n * @constructor\n * @extends {Entry}\n */\nfunction DirectoryEntry() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader\n * @return {!DirectoryReader}\n */\nDirectoryEntry.prototype.createReader = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile\n * @param {string} path\n * @param {!FileSystemFlags=} options\n * @param {function(!FileEntry)=} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nDirectoryEntry.prototype.getFile = function(\n path, options, successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory\n * @param {string} path\n * @param {!FileSystemFlags=} options\n * @param {function(!DirectoryEntry)=} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nDirectoryEntry.prototype.getDirectory = function(\n path, options, successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively\n * @param {function()} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nDirectoryEntry.prototype.removeRecursively = function(\n successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface\n * @constructor\n */\nfunction DirectoryReader() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries\n * @param {function(!Array<!Entry>)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nDirectoryReader.prototype.readEntries = function(\n successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-entry-interface\n * @constructor\n */\nfunction Entry() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isFile\n * @type {boolean}\n */\nEntry.prototype.isFile;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory\n * @type {boolean}\n */\nEntry.prototype.isDirectory;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-name\n * @type {string}\n */\nEntry.prototype.name;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath\n * @type {string}\n */\nEntry.prototype.fullPath;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem\n * @type {!FileSystem}\n */\nEntry.prototype.filesystem;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo\n * @param {!DirectoryEntry} parent\n * @param {string=} newName\n * @param {function(!Entry)=} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nEntry.prototype.moveTo = function(\n parent, newName, successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo\n * @param {!DirectoryEntry} parent\n * @param {string=} newName\n * @param {function(!Entry)=} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nEntry.prototype.copyTo = function(\n parent, newName, successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL\n * @param {string=} mimeType\n * @return {string}\n */\nEntry.prototype.toURL = function(mimeType) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove\n * @param {function()} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nEntry.prototype.remove = function(successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata\n * @param {function(!Metadata)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nEntry.prototype.getMetadata = function(successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getParent\n * @param {function(!Entry)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nEntry.prototype.getParent = function(successCallback, errorCallback) {};\n\n/**\n * @return {?Entry} The Entry corresponding to this item, or null. Note that\n * despite its name,this method only works in Chrome, and will eventually\n * be renamed to {@code getAsEntry}.\n * @nosideeffects\n */\nDataTransferItem.prototype.webkitGetAsEntry = function() {};\n\n/**\n * @see https://wicg.github.io/entries-api/#dom-file-webkitrelativepath\n * @type {string}\n */\nFile.prototype.webkitRelativePath;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface\n * @constructor\n * @extends {Entry}\n */\nfunction FileEntry() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter\n * @param {function(!FileWriter)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nFileEntry.prototype.createWriter = function(successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-file\n * @param {function(!File)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nFileEntry.prototype.file = function(successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface\n * @constructor\n * @extends {DOMError}\n */\nfunction FileError() {}\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR\n * @const {number}\n */\nFileError.prototype.NOT_FOUND_ERR;\n\n/** @const {number} */\nFileError.NOT_FOUND_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR\n * @const {number}\n */\nFileError.prototype.SECURITY_ERR;\n\n/** @const {number} */\nFileError.SECURITY_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR\n * @const {number}\n */\nFileError.prototype.ABORT_ERR;\n\n/** @const {number} */\nFileError.ABORT_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR\n * @const {number}\n */\nFileError.prototype.NOT_READABLE_ERR;\n\n/** @const {number} */\nFileError.NOT_READABLE_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR\n * @const {number}\n */\nFileError.prototype.ENCODING_ERR;\n\n/** @const {number} */\nFileError.ENCODING_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR\n * @const {number}\n */\nFileError.prototype.NO_MODIFICATION_ALLOWED_ERR;\n\n/** @const {number} */\nFileError.NO_MODIFICATION_ALLOWED_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR\n * @const {number}\n */\nFileError.prototype.INVALID_STATE_ERR;\n\n/** @const {number} */\nFileError.INVALID_STATE_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR\n * @const {number}\n */\nFileError.prototype.SYNTAX_ERR;\n\n/** @const {number} */\nFileError.SYNTAX_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR\n * @const {number}\n */\nFileError.prototype.INVALID_MODIFICATION_ERR;\n\n/** @const {number} */\nFileError.INVALID_MODIFICATION_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR\n * @const {number}\n */\nFileError.prototype.QUOTA_EXCEEDED_ERR;\n\n/** @const {number} */\nFileError.QUOTA_EXCEEDED_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR\n * @const {number}\n */\nFileError.prototype.TYPE_MISMATCH_ERR;\n\n/** @const {number} */\nFileError.TYPE_MISMATCH_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR\n * @const {number}\n */\nFileError.prototype.PATH_EXISTS_ERR;\n\n/** @const {number} */\nFileError.PATH_EXISTS_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception\n * @type {number}\n * @deprecated Use the 'name' or 'message' attributes of DOMError rather than\n * 'code'\n */\nFileError.prototype.code;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver\n * @constructor\n */\nfunction FileSaver() {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort\n * @return {undefined}\n */\nFileSaver.prototype.abort = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT\n * @const {number}\n */\nFileSaver.prototype.INIT;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING\n * @const {number}\n */\nFileSaver.prototype.WRITING;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE\n * @const {number}\n */\nFileSaver.prototype.DONE;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState\n * @type {number}\n */\nFileSaver.prototype.readyState;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error\n * @type {FileError}\n */\nFileSaver.prototype.error;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart\n * @type {?function(!ProgressEvent<!FileSaver>)}\n */\nFileSaver.prototype.onwritestart;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress\n * @type {?function(!ProgressEvent<!FileSaver>)}\n */\nFileSaver.prototype.onprogress;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite\n * @type {?function(!ProgressEvent<!FileSaver>)}\n */\nFileSaver.prototype.onwrite;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort\n * @type {?function(!ProgressEvent<!FileSaver>)}\n */\nFileSaver.prototype.onabort;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror\n * @type {?function(!ProgressEvent<!FileSaver>)}\n */\nFileSaver.prototype.onerror;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend\n * @type {?function(!ProgressEvent<!FileSaver>)}\n */\nFileSaver.prototype.onwriteend;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-filesystem-interface\n * @constructor\n */\nfunction FileSystem() {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-name\n * @type {string}\n */\nFileSystem.prototype.name;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-root\n * @type {!DirectoryEntry}\n */\nFileSystem.prototype.root;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter\n * @constructor\n * @extends {FileSaver}\n */\nfunction FileWriter() {}\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position\n * @type {number}\n */\nFileWriter.prototype.position;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length\n * @type {number}\n */\nFileWriter.prototype.length;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write\n * @param {!Blob} blob\n * @return {undefined}\n */\nFileWriter.prototype.write = function(blob) {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek\n * @param {number} offset\n * @return {undefined}\n */\nFileWriter.prototype.seek = function(offset) {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate\n * @param {number} size\n * @return {undefined}\n */\nFileWriter.prototype.truncate = function(size) {};\n\n/**\n * LocalFileSystem interface, implemented by Window and WorkerGlobalScope.\n * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem\n * @constructor\n */\nfunction LocalFileSystem() {}\n\n/**\n * Metadata interface.\n * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata\n * @constructor\n */\nfunction Metadata() {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime\n * @type {!Date}\n */\nMetadata.prototype.modificationTime;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size\n * @type {number}\n */\nMetadata.prototype.size;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY\n * @const {number}\n */\nWindow.prototype.TEMPORARY;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT\n * @const {number}\n */\nWindow.prototype.PERSISTENT;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\n * @param {number} type\n * @param {number} size\n * @param {function(!FileSystem)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nfunction requestFileSystem(type, size, successCallback, errorCallback) {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\n * @param {number} type\n * @param {number} size\n * @param {function(!FileSystem)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nWindow.prototype.requestFileSystem = function(\n type, size, successCallback, errorCallback) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\n * @param {string} uri\n * @param {function(!Entry)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nfunction resolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\n * @param {string} uri\n * @param {function(!Entry)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nWindow.prototype.resolveLocalFileSystemURI =\n function(uri, successCallback, errorCallback) {}\n\n/**\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\n * @param {number} type\n * @param {number} size\n * @param {function(!FileSystem)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nfunction webkitRequestFileSystem(type, size, successCallback, errorCallback) {}\n\n/**\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\n * @param {number} type\n * @param {number} size\n * @param {function(!FileSystem)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nWindow.prototype.webkitRequestFileSystem = function(type, size, successCallback,\n errorCallback) {};\n\n/**\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\n * 84224.\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\n * @param {string} uri\n * @param {function(!Entry)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nfunction webkitResolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\n\n/**\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\n * 84224.\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\n * @param {string} uri\n * @param {function(!Entry)} successCallback\n * @param {function(!FileError)=} errorCallback\n * @return {undefined}\n */\nWindow.prototype.webkitResolveLocalFileSystemURI = function(\n uri, successCallback, errorCallback) {}\n\n// WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.\n// There are three APIs for this: the old specced API, the new specced API, and\n// the webkit-prefixed API.\n// @see http://www.w3.org/TR/FileAPI/#creating-revoking\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\n * @param {!Object} obj\n * @return {string}\n */\nfunction createObjectURL(obj) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\n * @param {!Object} obj\n * @return {string}\n */\nWindow.prototype.createObjectURL = function(obj) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\n * @param {string} url\n * @return {undefined}\n */\nfunction revokeObjectURL(url) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\n * @param {string} url\n * @return {undefined}\n */\nWindow.prototype.revokeObjectURL = function(url) {};\n\n/**\n * This has been replaced by URL in Chrome since WebKit revision 75739.\n * @constructor\n * @param {string} urlString\n * @param {string=} base\n */\nfunction webkitURL(urlString, base) {}\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\n * @param {!Object} obj\n * @return {string}\n */\nwebkitURL.createObjectURL = function(obj) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\n * @param {string} url\n * @return {undefined}\n */\nwebkitURL.revokeObjectURL = function(url) {};\n\n/**\n * @see https://developers.google.com/chrome/whitepapers/storage\n * @constructor\n */\nfunction StorageInfo() {}\n\n/**\n * @see https://developers.google.com/chrome/whitepapers/storage\n * @const {number}\n * */\nStorageInfo.prototype.TEMPORARY;\n\n/**\n * @see https://developers.google.com/chrome/whitepapers/storage\n * @const {number}\n */\nStorageInfo.prototype.PERSISTENT;\n\n/**\n * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota\n * @param {number} type\n * @param {number} size\n * @param {function(number)} successCallback\n * @param {function(!DOMException)=} errorCallback\n * @return {undefined}\n */\nStorageInfo.prototype.requestQuota = function(\n type, size, successCallback, errorCallback) {};\n\n/**\n * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota\n * @param {number} type\n * @param {function(number, number)} successCallback\n * @param {function(!DOMException)=} errorCallback\n * @return {undefined}\n */\nStorageInfo.prototype.queryUsageAndQuota = function(\n type, successCallback, errorCallback) {};\n\n/**\n * @see https://developers.google.com/chrome/whitepapers/storage\n * @type {!StorageInfo}\n */\nWindow.prototype.webkitStorageInfo;\n\n/**\n * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface.\n * @constructor\n */\nfunction StorageQuota() {}\n\n/**\n * @param {number} size\n * @param {function(number)=} successCallback\n * @param {function(!DOMException)=} errorCallback\n * @return {undefined}\n */\nStorageQuota.prototype.requestQuota = function(\n size, successCallback, errorCallback) {};\n\n/**\n * @param {function(number, number)} successCallback\n * @param {function(!DOMException)=} errorCallback\n * @return {undefined}\n */\nStorageQuota.prototype.queryUsageAndQuota = function(\n successCallback, errorCallback) {};\n\n/**\n * @type {!StorageQuota}\n * @see https://developer.chrome.com/apps/offline_storage\n */\nNavigator.prototype.webkitPersistentStorage;\n\n/**\n * @type {!StorageQuota}\n * @see https://developer.chrome.com/apps/offline_storage\n */\nNavigator.prototype.webkitTemporaryStorage;\n\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriterSync\n * @constructor\n */\nfunction FileWriterSync() {}\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-position\n * @type {number}\n * @const\n */\nFileWriterSync.prototype.position;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-length\n * @type {number}\n * @const\n */\nFileWriterSync.prototype.length;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write\n * @param {!Blob} blob\n * @return {undefined}\n */\nFileWriterSync.prototype.write = function(blob) {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-seek\n * @param {number} offset\n * @return {undefined}\n */\nFileWriterSync.prototype.seek = function(offset) {};\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-truncate\n * @param {number} size\n * @return {undefined}\n */\nFileWriterSync.prototype.truncate = function(size) {};\n\n/**\n * LocalFileSystemSync interface, implemented by WorkerGlobalScope.\n * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystemSync\n * @constructor\n */\nfunction LocalFileSystemSync() {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/\n * #the-synchronous-filesystem-interface\n * @constructor\n */\nfunction FileSystemSync() {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystemSync-name\n * @type {string}\n * @const\n */\nFileSystemSync.prototype.name;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystemSync-root\n * @type {!DirectoryEntrySync}\n * @const\n */\nFileSystemSync.prototype.root;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystemSync-requestFileSystemSync-FileSystemSync-unsigned-short-type-unsigned-long-long-size\n * @param {number} type\n * @param {number} size\n * @return {!FileSystemSync}\n */\nfunction requestFileSystemSync(type, size) {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystemSync-requestFileSystemSync-FileSystemSync-unsigned-short-type-unsigned-long-long-size\n * @param {number} type\n * @param {number} size\n * @return {!FileSystemSync}\n */\nfunction webkitRequestFileSystemSync(type, size) {}\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-entrysync-interface\n * @constructor\n */\nfunction EntrySync() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-isFile\n * @type {boolean}\n * @const\n */\nEntrySync.prototype.isFile;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-isDirectory\n * @type {boolean}\n * @const\n */\nEntrySync.prototype.isDirectory;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-name\n * @type {string}\n * @const\n */\nEntrySync.prototype.name;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-fullPath\n * @type {string}\n * @const\n */\nEntrySync.prototype.fullPath;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-filesystem\n * @type {!FileSystemSync}\n * @const\n */\nEntrySync.prototype.filesystem;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-moveTo\n * @param {!DirectoryEntrySync} parent\n * @param {string=} newName\n * @return {!EntrySync}\n */\nEntrySync.prototype.moveTo = function(parent, newName) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-copyTo\n * @param {!DirectoryEntrySync} parent\n * @param {string=} newName\n * @return {!EntrySync}\n */\nEntrySync.prototype.copyTo = function(parent, newName) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-toURL\n * @param {string=} mimeType\n * @return {string}\n */\nEntrySync.prototype.toURL = function(mimeType) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-remove\n * @return {undefined}\n */\nEntrySync.prototype.remove = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-getMetadata\n * @return {!Metadata}\n */\nEntrySync.prototype.getMetadata = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-getParent\n * @return {!DirectoryEntrySync}\n */\nEntrySync.prototype.getParent = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-directoryentrysync-interface\n * @constructor\n * @extends {EntrySync}\n */\nfunction DirectoryEntrySync() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-createReader\n * @return {!DirectoryReaderSync}\n */\nDirectoryEntrySync.prototype.createReader = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-getFile\n * @param {string} path\n * @param {Object=} options\n * @return {!FileEntrySync}\n */\nDirectoryEntrySync.prototype.getFile = function(path, options) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-getDirectory\n * @param {string} path\n * @param {Object=} options\n * @return {!DirectoryEntrySync}\n */\nDirectoryEntrySync.prototype.getDirectory = function(path, options) {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-removeRecursively\n * @return {undefined}\n */\nDirectoryEntrySync.prototype.removeRecursively = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-directoryreadersync-interface\n * @constructor\n */\nfunction DirectoryReaderSync() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReaderSync-readEntries\n * @return {!Array<!EntrySync>}\n */\nDirectoryReaderSync.prototype.readEntries = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-fileentrysync-interface\n * @constructor\n * @extends {EntrySync}\n */\nfunction FileEntrySync() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntrySync-createWriter\n * @return {!FileWriterSync}\n */\nFileEntrySync.prototype.createWriter = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntrySync-file\n * @return {!File}\n */\nFileEntrySync.prototype.file = function() {};\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#the-fileexception-exception\n * @constructor\n */\nfunction FileException() {}\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR\n * @type {number}\n */\nFileException.prototype.NOT_FOUND_ERR;\n\n/** @type {number} */\nFileException.NOT_FOUND_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR\n * @type {number}\n */\nFileException.prototype.SECURITY_ERR;\n\n/** @type {number} */\nFileException.SECURITY_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#widl-FileException-ABORT_ERR\n * @type {number}\n */\nFileException.prototype.ABORT_ERR;\n\n/** @type {number} */\nFileException.ABORT_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#widl-FileException-NOT_READABLE_ERR\n * @type {number}\n */\nFileException.prototype.NOT_READABLE_ERR;\n\n/** @type {number} */\nFileException.NOT_READABLE_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#widl-FileException-ENCODING_ERR\n * @type {number}\n */\nFileException.prototype.ENCODING_ERR;\n\n/** @type {number} */\nFileException.ENCODING_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-NO_MODIFICATION_ALLOWED_ERR\n * @type {number}\n */\nFileException.prototype.NO_MODIFICATION_ALLOWED_ERR;\n\n/** @type {number} */\nFileException.NO_MODIFICATION_ALLOWED_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR\n * @type {number}\n */\nFileException.prototype.INVALID_STATE_ERR;\n\n/** @type {number} */\nFileException.INVALID_STATE_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR\n * @type {number}\n */\nFileException.prototype.SYNTAX_ERR;\n\n/** @type {number} */\nFileException.SYNTAX_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-INVALID_MODIFICATION_ERR\n * @type {number}\n */\nFileException.prototype.INVALID_MODIFICATION_ERR;\n\n/** @type {number} */\nFileException.INVALID_MODIFICATION_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-QUOTA_EXCEEDED_ERR\n * @type {number}\n */\nFileException.prototype.QUOTA_EXCEEDED_ERR;\n\n/** @type {number} */\nFileException.QUOTA_EXCEEDED_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR\n * @type {number}\n */\nFileException.prototype.TYPE_MISMATCH_ERR;\n\n/** @type {number} */\nFileException.TYPE_MISMATCH_ERR;\n\n/**\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR\n * @type {number}\n */\nFileException.prototype.PATH_EXISTS_ERR;\n\n/** @type {number} */\nFileException.PATH_EXISTS_ERR;\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception\n * @type {number}\n */\nFileException.prototype.code;\n",
  798. "externs/flash.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for all the Flash Object JavaScript methods. This\n * file depends on w3c_dom2.js.\n * Created from\n * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html\n *\n * @externs\n * @author ajp@google.com (Andy Perelson)\n */\n\n\n// Standard Methods.\n\n/**\n * Call a Flash function exported by ExternalInterface.\n * @param {string} xmlString The XML string passed to Flash. The outer element\n * should be {@code <invoke>}. A sample invocation string:\n * {@code <invoke name="function_name" returntype="javascript">\n * <string>test</string></invoke>}\n * @return {string} The serialized return value from Flash that you can eval.\n */\nHTMLObjectElement.prototype.CallFunction = function(xmlString) {};\n\n/**\n * Returns the value of the Flash variable specified by varName or null if the\n * variable does not exist.\n * @param {string} varName The variable name.\n * @return {?string} The variable value.\n */\nHTMLObjectElement.prototype.GetVariable = function(varName) {};\n\n/**\n * Activates the frame number specified by `frameNumber` in the current\n * movie.\n * @param {number} frameNumber A non-negative integer frame number.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.GotoFrame = function(frameNumber) {};\n\n/**\n * @return {boolean} Whether the movie is currently playing.\n */\nHTMLObjectElement.prototype.IsPlaying = function() {};\n\n/**\n * Loads the movie identified by `url` to the layer specified by\n * `layerNumber`.\n * @param {number} layerNumber The layer number.\n * @param {string} url The movie URL.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.LoadMovie = function(layerNumber, url) {};\n\n/**\n * Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to\n * specify whether the values for x and y are pixels or a percent of the window.\n * When mode is 0, the coordinates are pixels; when mode is 1, the coordinates\n * are percent of the window.\n * @param {number} x The x-coordinate.\n * @param {number} y The y-coordinate.\n * @param {number} mode The mode.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.Pan = function(x, y, mode) {};\n\n/**\n * @return {number} The percent of the Flash Player movie that has streamed\n * into the browser so far; Possible values are from 0 to 100.\n */\nHTMLObjectElement.prototype.PercentLoaded = function() {};\n\n/**\n * Starts playing the movie.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.Play = function() {};\n\n/**\n * Goes to the first frame.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.Rewind = function() {};\n\n/**\n * Sets the value of the flash variable.\n * @param {string} variableName The variable name.\n * @param {string} value The value.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.SetVariable = function(variableName, value) {};\n\n/**\n * Zooms in on a rectangular area of the movie. The units of the coordinates\n * are in twips (1440 units per inch).\n * @param {number} left The left coordinate.\n * @param {number} top The top coordinate.\n * @param {number} right The right coordinate.\n * @param {number} bottom The bottom coordinate.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.SetZoomRect = function(left, top, right, bottom) {};\n\n/**\n * Stops playing the movie.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.StopPlay = function() {};\n\n/**\n * @return {number} The total number of frames in the movie.\n */\nHTMLObjectElement.prototype.TotalFrames = function() {};\n\n/**\n * Zooms the view by a relative scale factor.\n * @param {number} percent The percentage scale factor, should be an integer.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.Zoom = function(percent) {};\n\n\n// TellTarget Methods.\n\n/**\n * Executes the action in the timeline specified by `target` in the\n * specified frame.\n * @param {string} target The timeline.\n * @param {number} frameNumber The frame number.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.TCallFrame = function(target, frameNumber) {};\n\n/**\n * Executes the action in the timeline specified by `target` in the\n * specified frame.\n * @param {string} target The timeline.\n * @param {string} label The frame label.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.TCallLabel = function(target, label) {};\n\n/**\n * Returns the number of the current frame for the specified timeline.\n * @param {string} target The timeline.\n * @return {number} The number of the current frame.\n */\nHTMLObjectElement.prototype.TCurentFrame = function(target) {};\n\n/**\n * Returns the label of the current frame for the specified timeline.\n * @param {string} target The timeline.\n * @return {string} The label of the current frame, empty string if no\n * current frame.\n */\nHTMLObjectElement.prototype.TCurrentLabel = function(target) {};\n\n/**\n * Returns a string indicating the value of the property in the\n * specified timeline.\n * @param {string} target The timeline.\n * @param {number} property The integer corresponding to the desired property.\n * @return {string} The value of the property.\n */\nHTMLObjectElement.prototype.TGetProperty = function(target, property) {};\n\n/**\n * Returns a number indicating the value of the property in the specified\n * timeline.\n * @param {string} target The timeline.\n * @param {number} property The integer corresponding to the desired property.\n * @return {number} A number indicating the value of the property.\n */\nHTMLObjectElement.prototype.TGetPropertyAsNumber = function(target, property) {};\n\n/**\n * Goes to the specified frame number in the specified timeline.\n * @param {string} target The timeline.\n * @param {number} frameNumber The frame number.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.TGotoFrame = function(target, frameNumber) {};\n\n/**\n * Goes to the specified frame label in the specified timeline.\n * @param {string} target The timeline.\n * @param {string} label The framelabel.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.TGotoLabel = function(target, label) {};\n\n/**\n * Plays the specified timeline.\n * @param {number} target The timeline.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.TPlay = function(target) {};\n\n/**\n * Sets the value of the property in the specified timeline.\n * @param {number} target The timeline.\n * @param {number} property The integer corresponding to the desired property.\n * @param {string|number} value The value.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.TSetProperty = function(target, property, value) {};\n\n/**\n * Stops the specified timeline.\n * @param {number} target The timeline.\n * @return {undefined}\n */\nHTMLObjectElement.prototype.TStopPlay = function(target) {};\n',
  799. "externs/gecko_xml.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for all the extensions over some of the\n * W3C\'s XML specifications by Gecko. This file depends on\n * w3c_xml.js. The whole file has been fully type annotated.\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n */\n\n/**\n * XMLSerializer can be used to convert DOM subtree or DOM document into text.\n * XMLSerializer is available to unprivileged scripts.\n *\n * XMLSerializer is mainly useful for applications and extensions based on\n * Mozilla platform. While it\'s available to web pages, it\'s not part of any\n * standard and level of support in other browsers is unknown.\n *\n * @constructor\n */\nfunction XMLSerializer() {}\n\n/**\n * Returns the serialized subtree in the form of a string\n * @param {Node} subtree\n * @return {string}\n */\nXMLSerializer.prototype.serializeToString = function(subtree) {};\n\n/**\n * The subtree rooted by the specified element is serialized to a byte stream\n * using the character set specified.\n *\n * @param {Node} subtree\n * @return {Object}\n */\nXMLSerializer.prototype.serializeToStream = function(subtree) {};\n\n/**\n * DOMParser is mainly useful for applications and extensions based on Mozilla\n * platform. While it\'s available to web pages, it\'s not part of any standard and\n * level of support in other browsers is unknown.\n *\n * @constructor\n */\nfunction DOMParser() {}\n\n/**\n * The string passed in is parsed into a DOM document.\n *\n * Example:\n * var parser = new DOMParser();\n * var doc = parser.parseFromString(aStr, "text/xml");\n *\n * @param {!TrustedHTML|string} src The UTF16 string to be parsed.\n * @param {string} type The content type of the string.\n * @return {Document}\n */\nDOMParser.prototype.parseFromString = function(src, type) {};\n',
  800. "externs/ie_vml.js":'/*\n * Copyright 2009 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for IE\'s vector markup language, or VML.\n *\n * @externs\n * @author robbyw@google.com (Robby Walker)\n */\n\n\n/**\n * @type {Object|string}\n * @see http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspx\n */\nElement.prototype.coordorigin;\n\n/**\n * @type {Object|string}\n * @see http://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspx\n */\nElement.prototype.coordsize;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspx\n */\nElement.prototype.fillcolor;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspx\n */\nElement.prototype.filled;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspx\n */\nElement.prototype.path;\n\n/**\n * @type {number|string}\n * @see http://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspx\n */\nElement.prototype.rotation;\n\n/**\n * @type {string}\n * @see http://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspx\n */\nElement.prototype.strokecolor;\n\n/**\n * @type {boolean}\n * @see http://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspx\n */\nElement.prototype.stroked;\n\n/**\n * @type {number|string}\n * @see http://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspx\n */\nElement.prototype.strokeweight;\n',
  801. "externs/intersection_observer.js":'/*\n * Copyright 2016 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Externs for Intersection Observer objects.\n * @see https://w3c.github.io/IntersectionObserver/\n * @externs\n * @author robadurbin@google.com (Rob Durbin)\n */\n\n// TODO(user): Once the Intersection Observer spec is adopted by W3C, add\n// a w3c_ prefix to this file\'s name.\n\n\n/**\n * These contain the information provided from a change event.\n * @see https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @record\n */\nfunction IntersectionObserverEntry() {}\n\n/**\n * The time the change was observed.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-time\n * @const {number}\n */\nIntersectionObserverEntry.prototype.time;\n\n/**\n * The root intersection rectangle, if target belongs to the same unit of\n * related similar-origin browsing contexts as the intersection root, null\n * otherwise.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-rootbounds\n * @const {{top: number, right: number, bottom: number, left: number,\n * height: number, width: number}}\n */\nIntersectionObserverEntry.prototype.rootBounds;\n\n/**\n * The rectangle describing the element being observed.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-boundingclientrect\n * @const {!{top: number, right: number, bottom: number, left: number,\n * height: number, width: number}}\n */\nIntersectionObserverEntry.prototype.boundingClientRect;\n\n/**\n * The rectangle describing the intersection between the observed element and\n * the viewport.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionrect\n * @const {!{top: number, right: number, bottom: number, left: number,\n * height: number, width: number}}\n */\nIntersectionObserverEntry.prototype.intersectionRect;\n\n/**\n * Ratio of intersectionRect area to boundingClientRect area.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionratio\n * @const {number}\n */\nIntersectionObserverEntry.prototype.intersectionRatio;\n\n/**\n * The Element whose intersection with the intersection root changed.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-target\n * @const {!Element}\n */\nIntersectionObserverEntry.prototype.target;\n\n/**\n * Whether or not the target is intersecting with the root.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting\n * @const {boolean}\n */\nIntersectionObserverEntry.prototype.isIntersecting;\n\n/**\n * Whether or not the target is visible with the root.\n * @see https://w3c.github.io/IntersectionObserver/v2/#dom-intersectionobserverentry-isvisible\n * @const {boolean|undefined}\n */\nIntersectionObserverEntry.prototype.isVisible;\n\n/**\n * Callback for the IntersectionObserver.\n * @see https://w3c.github.io/IntersectionObserver/#intersection-observer-callback\n * @typedef {function(!Array<!IntersectionObserverEntry>,!IntersectionObserver)}\n */\nvar IntersectionObserverCallback;\n\n/**\n * Options for the IntersectionObserver.\n * @see https://w3c.github.io/IntersectionObserver/v2/#intersection-observer-init\n * @typedef {{\n * threshold: (!Array<number>|number|undefined),\n * delay: (number|undefined),\n * trackVisibility: (boolean|undefined),\n * root: (?Element|undefined),\n * rootMargin: (string|undefined)\n * }}\n */\nvar IntersectionObserverInit;\n\n/**\n * This is the constructor for Intersection Observer objects.\n * @see https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {!IntersectionObserverCallback} handler The callback for the observer.\n * @param {!IntersectionObserverInit=} opt_options The object defining the\n * thresholds, etc.\n * @constructor\n */\nfunction IntersectionObserver(handler, opt_options) {};\n\n/**\n * The root Element to use for intersection, or null if the observer uses the\n * implicit root.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-root\n * @const {?Element}\n */\nIntersectionObserver.prototype.root;\n\n/**\n * Offsets applied to the intersection root\u2019s bounding box, effectively growing\n * or shrinking the box that is used to calculate intersections.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-rootmargin\n * @const {string}\n */\nIntersectionObserver.prototype.rootMargin;\n\n/**\n * A list of thresholds, sorted in increasing numeric order, where each\n * threshold is a ratio of intersection area to bounding box area of an observed\n * target.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-thresholds\n * @const {!Array<number>}\n */\nIntersectionObserver.prototype.thresholds;\n\n/**\n * This is used to set which element to observe.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-observe\n * @param {!Element} element The element to observe.\n * @return {undefined}\n */\nIntersectionObserver.prototype.observe = function(element) {};\n\n/**\n * This is used to stop observing a given element.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-unobserve\n * @param {!Element} element The elmenent to stop observing.\n * @return {undefined}\n */\nIntersectionObserver.prototype.unobserve = function(element) {};\n\n/**\n * Disconnect.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-disconnect\n */\nIntersectionObserver.prototype.disconnect = function() {};\n\n/**\n * Take records.\n * @see https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-takerecords\n * @return {!Array.<!IntersectionObserverEntry>}\n */\nIntersectionObserver.prototype.takeRecords = function() {};\n',
  802. "externs/iphone.js":'/*\n * Copyright 2009 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for all iPhone extensions. Created from:\n * http://developer.apple.com/library/safari/navigation/\n *\n * @externs\n * @author agrieve@google.com (Andrew Grieve)\n */\n\n\n/**\n * @type {number}\n */\nTouch.prototype.webkitForce;\n\n/**\n * @type {number}\n */\nTouch.prototype.webkitRadiusX;\n\n/**\n * @type {number}\n */\nTouch.prototype.webkitRadiusY;\n\n/**\n * The distance between two fingers since the start of an event as a multiplier\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\n * pinch open (to zoom in).\n * @type {number}\n */\nTouchEvent.prototype.scale;\n\n/**\n * The delta rotation since the start of an event, in degrees, where clockwise\n * is positive and counter-clockwise is negative. The initial value is 0.0.\n * @type {number}\n */\nTouchEvent.prototype.rotation;\n\n/**\n * Initializes a newly created TouchEvent object.\n * @param {string} type\n * @param {boolean} canBubble\n * @param {boolean} cancelable\n * @param {Window} view\n * @param {number} detail\n * @param {number} screenX\n * @param {number} screenY\n * @param {number} clientX\n * @param {number} clientY\n * @param {boolean} ctrlKey\n * @param {boolean} altKey\n * @param {boolean} shiftKey\n * @param {boolean} metaKey\n * @param {TouchList} touches\n * @param {TouchList} targetTouches\n * @param {TouchList} changedTouches\n * @param {number} scale\n * @param {number} rotation\n * @return {undefined}\n */\nTouchEvent.prototype.initTouchEvent = function(type, canBubble, cancelable,\n view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\n metaKey, touches, targetTouches, changedTouches, scale, rotation) {};\n\n/**\n * The GestureEvent class encapsulates information about a multi-touch gesture.\n *\n * GestureEvent objects are high-level events that encapsulate the low-level\n * TouchEvent objects. Both GestureEvent and TouchEvent events are sent during\n * a multi-touch sequence. Gesture events contain scaling and rotation\n * information allowing gestures to be combined, if supported by the platform.\n * If not supported, one gesture ends before another starts. Listen for\n * GestureEvent events if you want to respond to gestures only, not process\n * the low-level TouchEvent objects.\n *\n * @see http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/GestureEventClassReference/GestureEvent/GestureEvent.html\n * @extends {UIEvent}\n * @constructor\n */\nfunction GestureEvent() {}\n\n/**\n * The distance between two fingers since the start of an event as a multiplier\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\n * pinch open (to zoom in).\n * @type {number}\n */\nGestureEvent.prototype.scale;\n\n/**\n * The delta rotation since the start of an event, in degrees, where clockwise\n * is positive and counter-clockwise is negative. The initial value is 0.0.\n * @type {number}\n */\nGestureEvent.prototype.rotation;\n\n/**\n * The target of this gesture.\n * @type {EventTarget}\n */\nGestureEvent.prototype.target;\n\n/**\n * Initializes a newly created GestureEvent object.\n * @param {string} type\n * @param {boolean} canBubble\n * @param {boolean} cancelable\n * @param {Window} view\n * @param {number} detail\n * @param {number} screenX\n * @param {number} screenY\n * @param {number} clientX\n * @param {number} clientY\n * @param {boolean} ctrlKey\n * @param {boolean} altKey\n * @param {boolean} shiftKey\n * @param {boolean} metaKey\n * @param {EventTarget} target\n * @param {number} scale\n * @param {number} rotation\n * @return {undefined}\n */\nGestureEvent.prototype.initGestureEvent = function(type, canBubble, cancelable,\n view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\n metaKey, target, scale, rotation) {};\n\n\n/**\n * Specifies the JavaScript method to invoke when a gesture is started by\n * two or more fingers touching the surface.\n * @type {?function(!GestureEvent)}\n */\nElement.prototype.ongesturestart;\n\n/**\n * Specifies the JavaScript method to invoke when fingers are moved during a\n * gesture.\n * @type {?function(!GestureEvent)}\n */\nElement.prototype.ongesturechange;\n\n/**\n * Specifies the JavaScript method to invoke when a gesture ends (when there are\n * 0 or 1 fingers touching the surface).\n * @type {?function(!GestureEvent)}\n */\nElement.prototype.ongestureend;\n\n/**\n * Specifies the JavaScript method to invoke when the browser device\'s\n * orientation changes, i.e.the device is rotated.\n * @type {?function(!Event)}\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n */\nWindow.prototype.onorientationchange;\n\n/**\n * Returns the orientation of the browser\'s device, one of [-90, 0, 90, 180].\n * @type {number}\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n */\nWindow.prototype.orientation;\n\n/**\n * @implicitCast\n * @type {boolean}\n */\nHTMLInputElement.prototype.autocorrect;\n\n/**\n * @implicitCast\n * @type {boolean}\n */\nHTMLInputElement.prototype.autocapitalize;\n\n/**\n * @implicitCast\n * @type {boolean}\n */\nHTMLTextAreaElement.prototype.autocorrect;\n\n/**\n * @implicitCast\n * @type {boolean}\n */\nHTMLTextAreaElement.prototype.autocapitalize;\n',
  803. "externs/mediakeys.js":'/*\n * Copyright 2015 The Closure Compiler authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview MediaKey externs.\n * Based on {@link https://w3c.github.io/encrypted-media/ EME draft 5 December\n * 2019}.\n * @externs\n */\n\n\n/**\n * @typedef {{\n * contentType: string,\n * encryptionScheme: (?string|undefined),\n * robustness: (string|undefined)\n * }}\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemmediacapability-dictionary\n */\nvar MediaKeySystemMediaCapability;\n\n\n/** @typedef {{\n * label: (string|undefined),\n * initDataTypes: (!Array<string>|undefined),\n * audioCapabilities: (!Array<!MediaKeySystemMediaCapability>|undefined),\n * videoCapabilities: (!Array<!MediaKeySystemMediaCapability>|undefined),\n * distinctiveIdentifier: (string|undefined),\n * persistentState: (string|undefined),\n * sessionTypes: (!Array<string>|undefined)\n * }}\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemconfiguration-dictionary\n */\nvar MediaKeySystemConfiguration;\n\n\n/**\n * @param {string} keySystem\n * @param {!Array<!MediaKeySystemConfiguration>} supportedConfigurations\n * @return {!Promise<!MediaKeySystemAccess>}\n * @see https://w3c.github.io/encrypted-media/#navigator-extension-requestmediakeysystemaccess\n */\nNavigator.prototype.requestMediaKeySystemAccess =\n function(keySystem, supportedConfigurations) {};\n\n\n/** @const {MediaKeys} */\nHTMLMediaElement.prototype.mediaKeys;\n\n\n/**\n * @param {MediaKeys} mediaKeys\n * @return {!Promise}\n * @see https://w3c.github.io/encrypted-media/#dom-htmlmediaelement-setmediakeys\n */\nHTMLMediaElement.prototype.setMediaKeys = function(mediaKeys) {};\n\n\n\n/**\n * @interface\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemaccess-interface\n */\nfunction MediaKeySystemAccess() {}\n\n\n/** @return {!Promise<!MediaKeys>} */\nMediaKeySystemAccess.prototype.createMediaKeys = function() {};\n\n\n/** @return {!MediaKeySystemConfiguration} */\nMediaKeySystemAccess.prototype.getConfiguration = function() {};\n\n\n/** @const {string} */\nMediaKeySystemAccess.prototype.keySystem;\n\n\n\n/**\n * @interface\n * @see https://w3c.github.io/encrypted-media/#mediakeys-interface\n */\nfunction MediaKeys() {}\n\n\n/**\n * @param {string=} opt_sessionType defaults to "temporary"\n * @return {!MediaKeySession}\n * @throws {TypeError} if opt_sessionType is invalid.\n */\nMediaKeys.prototype.createSession = function(opt_sessionType) {};\n\n\n/**\n * @param {!BufferSource} serverCertificate\n * @return {!Promise}\n */\nMediaKeys.prototype.setServerCertificate = function(serverCertificate) {};\n\n\n\n/**\n * @interface\n * @see https://w3c.github.io/encrypted-media/#mediakeystatusmap-interface\n */\nfunction MediaKeyStatusMap() {}\n\n\n/** @const {number} */\nMediaKeyStatusMap.prototype.size;\n\n\n/**\n * Array entry 0 is the key, 1 is the value.\n * @return {!Iterator<!Array<!BufferSource|string>>}\n */\nMediaKeyStatusMap.prototype.entries = function() {};\n\n\n/**\n * The function is called with each value.\n * @param {function(string, !BufferSource)} callback A callback function to run for\n * each media key. The first parameter is the key status; the second\n * parameter is the key ID.\n * @return {undefined}\n */\nMediaKeyStatusMap.prototype.forEach = function(callback) {};\n\n\n/**\n * @param {!BufferSource} keyId\n * @return {string|undefined}\n */\nMediaKeyStatusMap.prototype.get = function(keyId) {};\n\n\n/**\n * @param {!BufferSource} keyId\n * @return {boolean}\n */\nMediaKeyStatusMap.prototype.has = function(keyId) {};\n\n\n/**\n * @return {!Iterator<!BufferSource>}\n */\nMediaKeyStatusMap.prototype.keys = function() {};\n\n\n/**\n * @return {!Iterator<string>}\n */\nMediaKeyStatusMap.prototype.values = function() {};\n\n\n\n/**\n * @interface\n * @extends {EventTarget}\n * @see https://w3c.github.io/encrypted-media/#mediakeysession-interface\n */\nfunction MediaKeySession() {}\n\n\n/** @const {string} */\nMediaKeySession.prototype.sessionId;\n\n\n/** @const {number} */\nMediaKeySession.prototype.expiration;\n\n\n/** @const {!Promise} */\nMediaKeySession.prototype.closed;\n\n\n/** @const {!MediaKeyStatusMap} */\nMediaKeySession.prototype.keyStatuses;\n\n\n/**\n * @param {string} initDataType\n * @param {!BufferSource} initData\n * @return {!Promise}\n */\nMediaKeySession.prototype.generateRequest = function(initDataType, initData) {};\n\n\n/**\n * @param {string} sessionId\n * @return {!Promise<boolean>}}\n */\nMediaKeySession.prototype.load = function(sessionId) {};\n\n\n/**\n * @param {!BufferSource} response\n * @return {!Promise}\n */\nMediaKeySession.prototype.update = function(response) {};\n\n\n/** @return {!Promise} */\nMediaKeySession.prototype.close = function() {};\n\n\n/** @return {!Promise} */\nMediaKeySession.prototype.remove = function() {};\n\n\n/** @override */\nMediaKeySession.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n\n/** @override */\nMediaKeySession.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n\n/** @override */\nMediaKeySession.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://w3c.github.io/encrypted-media/#dom-mediakeymessageeventinit\n */\nfunction MediaKeyMessageEventInit() {};\n\n/** @type {string} */\nMediaKeyMessageEventInit.prototype.messageType;\n\n/** @type {!ArrayBuffer} */\nMediaKeyMessageEventInit.prototype.message;\n\n\n/**\n * @constructor\n * @param {string} type\n * @param {MediaKeyMessageEventInit} eventInitDict\n * @extends {Event}\n * @see https://w3c.github.io/encrypted-media/#mediakeymessageevent\n */\nfunction MediaKeyMessageEvent(type, eventInitDict) {}\n\n\n/** @const {string} */\nMediaKeyMessageEvent.prototype.messageType;\n\n\n/** @const {!ArrayBuffer} */\nMediaKeyMessageEvent.prototype.message;\n\n\n/** @const {!MediaKeySession} */\nMediaKeyMessageEvent.prototype.target;\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit\n */\nfunction MediaEncryptedEventInit() {};\n\n/** @type {(string | undefined)} */\nMediaEncryptedEventInit.prototype.initDataType;\n\n/** @type {(ArrayBuffer | undefined)} */\nMediaEncryptedEventInit.prototype.initData;\n\n/**\n * @constructor\n * @param {string} type\n * @param {MediaEncryptedEventInit=} opt_eventInitDict\n * @extends {Event}\n * @see https://w3c.github.io/encrypted-media/#mediaencryptedevent\n */\nfunction MediaEncryptedEvent(type, opt_eventInitDict) {}\n\n\n/** @const {string} */\nMediaEncryptedEvent.prototype.initDataType;\n\n\n/** @const {ArrayBuffer} */\nMediaEncryptedEvent.prototype.initData;\n\n\n/** @const {!HTMLMediaElement} */\nMediaEncryptedEvent.prototype.target;\n\n',
  804. "externs/w3c_mediacapabilities.js":'/*\n * Copyright 2019 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview MediaCapabilities externs.\n * Based on {@link https://w3c.github.io/media-capabilities/ MC draft 6 November\n * 2019}.\n * @externs\n */\n\n/**\n * @typedef {string}\n * @see https://w3c.github.io/media-capabilities/#enumdef-hdrmetadatatype\n */\nvar HdrMetadataType;\n\n/**\n * @typedef {string}\n * @see https://w3c.github.io/media-capabilities/#enumdef-colorgamut\n */\nvar ColorGamut;\n\n/**\n * @typedef {string}\n * @see https://w3c.github.io/media-capabilities/#enumdef-transferfunction\n */\nvar TransferFunction;\n\n/**\n * @typedef {string}\n * @see https://w3c.github.io/media-capabilities/#enumdef-mediadecodingtype\n */\nvar MediaDecodingType;\n\n/**\n * @typedef {string}\n * @see https://w3c.github.io/media-capabilities/#enumdef-mediaencodingtype\n */\nvar MediaEncodingType;\n\n/**\n * @typedef {{\n * contentType: string,\n * width: number,\n * height: number,\n * bitrate: number,\n * framerate: number,\n * hasAlphaChannel: (boolean|undefined),\n * hdrMetadataType: (!HdrMetadataType|undefined),\n * colorGamut: (!ColorGamut|undefined),\n * transferFunction: (!TransferFunction|undefined)\n * }}\n * @see https://w3c.github.io/media-capabilities/#dictdef-videoconfiguration\n */\nvar VideoConfiguration;\n\n// NOTE: channels definition below is not yet stable in the spec as of Dec 2019.\n// "The channels needs to be defined as a double (2.1, 4.1, 5.1, ...), an\n// unsigned short (number of channels) or as an enum value. The current\n// definition is a placeholder."\n/**\n * @typedef {{\n * contentType: string,\n * channels: (*|undefined),\n * bitrate: (number|undefined),\n * samplerate: (number|undefined),\n * spatialRendering: (boolean|undefined)\n * }}\n * @see https://w3c.github.io/media-capabilities/#dictdef-audioconfiguration\n */\nvar AudioConfiguration;\n\n// NOTE: encryptionScheme is not yet in the MC spec as of Dec 2019, but has\n// already landed in EME and should be in MC soon.\n// https://github.com/w3c/media-capabilities/issues/100\n/**\n * @typedef {{\n * robustness: (string|undefined),\n * encryptionScheme: (string|undefined)\n * }}\n * @see https://w3c.github.io/media-capabilities/#dictdef-keysystemtrackconfiguration\n */\nvar KeySystemTrackConfiguration;\n\n/**\n * @typedef {{\n * keySystem: string,\n * initDataType: (string|undefined),\n * distinctiveIdentifier: (string|undefined),\n * persistentState: (string|undefined),\n * sessionTypes: (!Array<string>|undefined),\n * audio: (!KeySystemTrackConfiguration|undefined),\n * video: (!KeySystemTrackConfiguration|undefined)\n * }}\n * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitieskeysystemconfiguration\n */\nvar MediaCapabilitiesKeySystemConfiguration;\n\n/**\n * @record\n * @see https://w3c.github.io/media-capabilities/#dictdef-mediaconfiguration\n */\nfunction MediaConfiguration() {}\n\n/** @type {!VideoConfiguration|undefined} */\nMediaConfiguration.prototype.video;\n\n/** @type {!AudioConfiguration|undefined} */\nMediaConfiguration.prototype.audio;\n\n/**\n * @record\n * @extends {MediaConfiguration}\n * @see https://w3c.github.io/media-capabilities/#dictdef-mediadecodingconfiguration\n */\nfunction MediaDecodingConfiguration() {}\n\n/** @type {!MediaDecodingType} */\nMediaDecodingConfiguration.prototype.type;\n\n/** @type {!MediaCapabilitiesKeySystemConfiguration|undefined} */\nMediaDecodingConfiguration.prototype.keySystemConfiguration;\n\n/**\n * @record\n * @extends {MediaConfiguration}\n * @see https://w3c.github.io/media-capabilities/#dictdef-mediaencodingconfiguration\n */\nfunction MediaEncodingConfiguration() {}\n\n/** @type {!MediaEncodingType} */\nMediaEncodingConfiguration.prototype.type;\n\n/**\n * @record\n * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitiesinfo\n */\nfunction MediaCapabilitiesInfo() {}\n\n/** @type {boolean} */\nMediaCapabilitiesInfo.prototype.supported;\n\n/** @type {boolean} */\nMediaCapabilitiesInfo.prototype.smooth;\n\n/** @type {boolean} */\nMediaCapabilitiesInfo.prototype.powerEfficient;\n\n/**\n * @record\n * @extends {MediaCapabilitiesInfo}\n * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitiesdecodinginfo\n */\nfunction MediaCapabilitiesDecodingInfo() {}\n\n/** @type {?MediaKeySystemAccess} */\nMediaCapabilitiesDecodingInfo.prototype.keySystemAccess;\n\n/** @type {!MediaDecodingConfiguration} */\nMediaCapabilitiesDecodingInfo.prototype.configuration;\n\n/**\n * @record\n * @extends {MediaCapabilitiesInfo}\n * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitiesencodinginfo\n */\nfunction MediaCapabilitiesEncodingInfo() {}\n\n/** @type {!MediaEncodingConfiguration} */\nMediaCapabilitiesEncodingInfo.prototype.configuration;\n\n/**\n * @interface\n * @see https://w3c.github.io/media-capabilities/#mediacapabilities\n */\nfunction MediaCapabilities() {}\n\n/**\n * @param {!MediaDecodingConfiguration} configuration\n * @return {!Promise<!MediaCapabilitiesDecodingInfo>}\n */\nMediaCapabilities.prototype.decodingInfo = function(configuration) {};\n\n/**\n * @param {!MediaEncodingConfiguration} configuration\n * @return {!Promise<!MediaCapabilitiesEncodingInfo>}\n */\nMediaCapabilities.prototype.encodingInfo = function(configuration) {};\n\n/** @const {?MediaCapabilities} */\nNavigator.prototype.mediaCapabilities;\n\n/** @const {?MediaCapabilities} */\nWorkerNavigator.prototype.mediaCapabilities;\n',
  805. "externs/mediasource.js":'/*\n * Copyright 2012 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for the Media Source Extensions. Note that the\n * properties available here are the union of several versions of the spec.\n * @see http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html\n *\n * @externs\n * @author mattward@google.com (Matt Ward)\n */\n\n/**\n * @constructor\n * @implements {EventTarget}\n */\nfunction MediaSource() {}\n\n/** @override */\nMediaSource.prototype.addEventListener = function(type, listener, opt_options) {\n};\n\n/** @override */\nMediaSource.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nMediaSource.prototype.dispatchEvent = function(evt) {};\n\n/** @type {Array<SourceBuffer>} */\nMediaSource.prototype.sourceBuffers;\n\n/** @type {Array<SourceBuffer>} */\nMediaSource.prototype.activeSourceBuffers;\n\n/** @type {number} */\nMediaSource.prototype.duration;\n\n/**\n * @param {string} type\n * @return {SourceBuffer}\n */\nMediaSource.prototype.addSourceBuffer = function(type) {};\n\n/**\n * @param {SourceBuffer} sourceBuffer\n * @return {undefined}\n */\nMediaSource.prototype.removeSourceBuffer = function(sourceBuffer) {};\n\n/**\n * Updates the live seekable range.\n * @param {number} start\n * @param {number} end\n */\nMediaSource.prototype.setLiveSeekableRange = function(start, end) {};\n\n/**\n * Clears the live seekable range.\n * @return {void}\n */\nMediaSource.prototype.clearLiveSeekableRange = function() {};\n\n/** @type {string} */\nMediaSource.prototype.readyState;\n\n/**\n * @param {string=} opt_error\n * @return {undefined}\n */\nMediaSource.prototype.endOfStream = function(opt_error) {};\n\n/**\n * @param {string} type\n * @return {boolean}\n */\nMediaSource.isTypeSupported = function(type) {};\n\n\n/**\n * @constructor\n * @implements {EventTarget}\n */\nfunction SourceBuffer() {}\n\n/** @override */\nSourceBuffer.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nSourceBuffer.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nSourceBuffer.prototype.dispatchEvent = function(evt) {};\n\n/** @type {string} */\nSourceBuffer.prototype.appendMode;\n\n/** @type {boolean} */\nSourceBuffer.prototype.updating;\n\n/** @type {TimeRanges} */\nSourceBuffer.prototype.buffered;\n\n/** @type {number} */\nSourceBuffer.prototype.timestampOffset;\n\n/** @type {number} */\nSourceBuffer.prototype.appendWindowStart;\n\n/** @type {number} */\nSourceBuffer.prototype.appendWindowEnd;\n\n/**\n * @param {Uint8Array} data\n * @return {undefined}\n */\nSourceBuffer.prototype.append = function(data) {};\n\n/**\n * @param {ArrayBuffer|ArrayBufferView} data\n * @return {undefined}\n */\nSourceBuffer.prototype.appendBuffer = function(data) {};\n\n/**\n * Abort the current segment append sequence.\n * @return {undefined}\n */\nSourceBuffer.prototype.abort = function() {};\n\n/**\n * @param {number} start\n * @param {number} end\n * @return {undefined}\n */\nSourceBuffer.prototype.remove = function(start, end) {};\n\n/**\n * @param {string} type\n * @return {undefined}\n */\nSourceBuffer.prototype.changeType = function(type) {};\n',
  806. "externs/page_visibility.js":"/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Externs for Page Visibility.\n *\n * @see http://www.w3.org/TR/page-visibility\n * @externs\n */\n\n/**\n * Set of possible values: 'hidden', 'visible', 'prerender', 'unloaded'.\n * @typedef {string}\n * @see http://www.w3.org/TR/page-visibility/#VisibilityState\n */\nvar VisibilityState;\n",
  807. "externs/url.js":"/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for URL and URLSearchParams from the spec at\n * https://url.spec.whatwg.org.\n *\n * @externs\n * @author rdcronin@google.com (Devlin Cronin)\n */\n\n/**\n * @typedef {Array<string>}\n */\nvar URLSearchParamsTupleType;\n\n/**\n * Represents the query string of a URL.\n *\n * * When `init` is a string, it is basically parsed as a query string\n * `'name1=value1&name2=value2'`.\n *\n * * When `init` is an array of arrays of string\n * `([['name1', 'value1'], ['name2', 'value2']])`,\n * it must contain pairs of strings, where the first item in the pair will be\n * interpreted as a key and the second as a value.\n *\n * NOTE: The specification uses Iterable rather than Array, but this is not\n * supported in Edge 17 - 18.\n *\n * * When `init` is an object, keys and values will be interpreted as such\n * `({name1: 'value1', name2: 'value2'}).\n *\n * @see https://url.spec.whatwg.org/#interface-urlsearchparams\n * @constructor\n * @implements {Iterable<!Array<string>>}\n * @param {(string|!Array<!URLSearchParamsTupleType>|!Object<string,string>)=}\n * init\n */\nfunction URLSearchParams(init) {}\n\n/**\n * @param {string} name\n * @param {string} value\n * @return {undefined}\n */\nURLSearchParams.prototype.append = function(name, value) {};\n\n/**\n * @param {string} name\n * @return {undefined}\n */\nURLSearchParams.prototype.delete = function(name) {};\n\n/**\n * @return {!IteratorIterable<!Array<string>>}\n * @nosideeffects\n * @see https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/entries\n */\nURLSearchParams.prototype.entries = function() {};\n\n/**\n * @param {string} name\n * @return {?string}\n */\nURLSearchParams.prototype.get = function(name) {};\n\n/**\n * @param {string} name\n * @return {!Array<string>}\n */\nURLSearchParams.prototype.getAll = function(name) {};\n\n/**\n * @param {string} name\n * @return {boolean}\n */\nURLSearchParams.prototype.has = function(name) {};\n\n/**\n * @param {string} name\n * @param {string} value\n * @return {undefined}\n */\nURLSearchParams.prototype.set = function(name, value) {};\n\n/**\n * @return {undefined}\n */\nURLSearchParams.prototype.sort = function() {};\n\n/**\n * @see https://url.spec.whatwg.org\n * @constructor\n * @param {string} url\n * @param {(string|!URL)=} base\n */\nfunction URL(url, base) {}\n\n/** @type {string} */\nURL.prototype.href;\n\n/**\n * @const {string}\n */\nURL.prototype.origin;\n\n/** @type {string} */\nURL.prototype.protocol;\n\n/** @type {string} */\nURL.prototype.username;\n\n/** @type {string} */\nURL.prototype.password;\n\n/** @type {string} */\nURL.prototype.host;\n\n/** @type {string} */\nURL.prototype.hostname;\n\n/** @type {string} */\nURL.prototype.port;\n\n/** @type {string} */\nURL.prototype.pathname;\n\n/** @type {string} */\nURL.prototype.search;\n\n/**\n * @const {!URLSearchParams}\n */\nURL.prototype.searchParams;\n\n/** @type {string} */\nURL.prototype.hash;\n\n/**\n * @param {string} domain\n * @return {string}\n */\nURL.domainToASCII = function(domain) {};\n\n/**\n * @param {string} domain\n * @return {string}\n */\nURL.domainToUnicode = function(domain) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\n * @param {!File|!Blob|!MediaSource|!MediaStream} obj\n * @return {string}\n */\nURL.createObjectURL = function(obj) {};\n\n/**\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\n * @param {string} url\n * @return {undefined}\n */\nURL.revokeObjectURL = function(url) {};\n",
  808. "externs/v8.js":'/*\n * Copyright 2013 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview This file describes the externs API for V8-specific objects.\n * @externs\n */\n\n\n\n/**\n * Stack frame elements in V8.\n * @constructor\n */\nfunction CallSite() {}\n\n\n/**\n * Runs the garbage collector, provided that you start V8 with --expose-gc or\n * Chrome with --js-flags="--expose-gc".\n * See https://v8.dev/docs/memory-leaks\n * @type {undefined|function()}\n */\nCallSite.prototype.gc;\n\n\n/**\n * Returns the value of this.\n * @return {Object|undefined}\n */\nCallSite.prototype.getThis = function() {};\n\n\n/**\n * Returns the type of this as a string. This is the name of the function stored\n * in the constructor field of this, if available, otherwise the object\'s\n * [[Class]] internal property.\n * @return {string|undefined}\n */\nCallSite.prototype.getTypeName = function() {};\n\n\n/**\n * Returns the current function.\n * @return {!Function|undefined}\n */\nCallSite.prototype.getFunction = function() {};\n\n\n/**\n * Returns the name of the current function, typically its name property. If a\n * name property is not available an attempt will be made to try to infer a name\n * from the function\'s context.\n * @return {string|undefined}\n */\nCallSite.prototype.getFunctionName = function() {};\n\n\n/**\n * Returns the name of the property of this or one of its prototypes that holds\n * the current function.\n * @return {string|undefined}\n */\nCallSite.prototype.getMethodName = function() {};\n\n\n/**\n * If this function was defined in a script returns the name of the script\n * @return {string|undefined}\n */\nCallSite.prototype.getFileName = function() {};\n\n\n/**\n * If this function was defined in a script returns the current line number.\n * @return {number|undefined}\n */\nCallSite.prototype.getLineNumber = function() {};\n\n\n/**\n * If this function was defined in a script returns the current column number.\n * @return {number|undefined}\n */\nCallSite.prototype.getColumnNumber = function() {};\n\n\n/**\n * If this function was created using a call to eval, returns a CallSite object\n * representing the location where eval was called\n * @return {CallSite|undefined}\n */\nCallSite.prototype.getEvalOrigin = function() {};\n\n\n/**\n * Is this a toplevel invocation, that is, is this the global object?\n * @return {boolean}\n */\nCallSite.prototype.isToplevel = function() {};\n\n\n/**\n * Does this call take place in code defined by a call to eval?\n * @return {boolean}\n */\nCallSite.prototype.isEval = function() {};\n\n\n/**\n * Is this call in native V8 code?\n * @return {boolean}\n */\nCallSite.prototype.isNative = function() {};\n\n\n/**\n * Is this a constructor call?\n * @return {boolean}\n */\nCallSite.prototype.isConstructor = function() {};\n',
  809. "externs/w3c_abort.js":'/*\n * Copyright 2018 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for AbortController\n * @see https://dom.spec.whatwg.org/#aborting-ongoing-activities\n * @externs\n */\n\n\n\n/**\n * @record\n * @extends {EventTarget}\n * @see https://dom.spec.whatwg.org/#interface-AbortSignal\n */\nfunction AbortSignal() {}\n\n/** @type {boolean} */\nAbortSignal.prototype.aborted;\n\n/** @type {?function(!Event)} */\nAbortSignal.prototype.onabort;\n\n\n\n/**\n * @constructor\n * @see https://dom.spec.whatwg.org/#interface-abortcontroller\n */\nfunction AbortController() {}\n\n/** @const {!AbortSignal} */\nAbortController.prototype.signal;\n\n/** @return {void} */\nAbortController.prototype.abort = function() {};\n',
  810. "externs/w3c_anim_timing.js":'/*\n * Copyright 2011 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for timing control for script base animations. The\n * whole file has been fully type annotated.\n *\n * @see http://www.w3.org/TR/animation-timing/\n * @see http://webstuff.nfshost.com/anim-timing/Overview.html\n * @externs\n * @author bcornell@google.com (Brian Cornell)\n */\n\n/**\n * @typedef {function(number): undefined}\n * @see https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#framerequestcallback\n */\nvar FrameRequestCallback;\n\n/**\n * @param {!FrameRequestCallback} callback\n * @param {Element=} opt_element In early versions of this API, the callback\n * was invoked only if the element was visible.\n * @return {number}\n */\nfunction requestAnimationFrame(callback, opt_element) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction cancelRequestAnimationFrame(handle) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction cancelAnimationFrame(handle) {};\n',
  811. "externs/nonstandard_anim_timing.js":'/*\n * Copyright 2011 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Nonstandard definitions for timing control for script base animations.\n *\n * @externs\n */\n\n/**\n * @param {!FrameRequestCallback} callback\n * @param {Element=} opt_element\n * @return {number}\n */\nfunction webkitRequestAnimationFrame(callback, opt_element) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction webkitCancelRequestAnimationFrame(handle) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction webkitCancelAnimationFrame(handle) {};\n\n/**\n * @param {?FrameRequestCallback} callback It\'s legitimate to pass a null\n * callback and listen on the MozBeforePaint event instead.\n * @param {Element=} opt_element\n * @return {number}\n */\nfunction mozRequestAnimationFrame(callback, opt_element) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction mozCancelRequestAnimationFrame(handle) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction mozCancelAnimationFrame(handle) {};\n\n/**\n * @param {!FrameRequestCallback} callback\n * @param {Element=} opt_element\n * @return {number}\n */\nfunction msRequestAnimationFrame(callback, opt_element) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction msCancelRequestAnimationFrame(handle) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction msCancelAnimationFrame(handle) {};\n\n/**\n * @param {!FrameRequestCallback} callback\n * @param {Element=} opt_element\n * @return {number}\n */\nfunction oRequestAnimationFrame(callback, opt_element) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction oCancelRequestAnimationFrame(handle) {};\n\n/**\n * @param {number} handle\n * @return {undefined}\n */\nfunction oCancelAnimationFrame(handle) {};\n',
  812. "externs/w3c_audio.js":'/*\n * Copyright 2012 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for the API related to audio.\n * Definitions for the Web Audio API.\n * This file is based on the W3C Working Draft 08 December 2015.\n * @see http://www.w3.org/TR/webaudio/\n *\n * @externs\n */\n\n/**\n * @implements {EventTarget}\n * @constructor\n */\nfunction BaseAudioContext() {}\n\n/** @type {!AudioDestinationNode} */\nBaseAudioContext.prototype.destination;\n\n/** @type {number} */\nBaseAudioContext.prototype.sampleRate;\n\n/** @type {number} */\nBaseAudioContext.prototype.currentTime;\n\n/** @type {!AudioListener} */\nBaseAudioContext.prototype.listener;\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#BaseAudioContext for valid values\n */\nBaseAudioContext.prototype.state;\n\n/**\n * @param {number} numberOfChannels\n * @param {number} length\n * @param {number} sampleRate\n * @return {!AudioBuffer}\n */\nBaseAudioContext.prototype.createBuffer =\n function(numberOfChannels, length, sampleRate) {};\n\n/**\n * @param {!ArrayBuffer} audioData\n * @param {function(!AudioBuffer)=} successCallback\n * @param {function(?)=} errorCallback\n * @return {!Promise<!AudioBuffer>}\n */\nBaseAudioContext.prototype.decodeAudioData =\n function(audioData, successCallback, errorCallback) {};\n\n/**\n * @return {!AudioBufferSourceNode}\n */\nBaseAudioContext.prototype.createBufferSource = function() {};\n\n/**\n * @deprecated Use createAudioWorker instead\n * @param {number=} bufferSize\n * @param {number=} numberOfInputChannels_opt\n * @param {number=} numberOfOutputChannels_opt\n * @return {!ScriptProcessorNode}\n */\nBaseAudioContext.prototype.createScriptProcessor = function(bufferSize,\n numberOfInputChannels_opt, numberOfOutputChannels_opt) {};\n\n/**\n * @return {!AnalyserNode}\n */\nBaseAudioContext.prototype.createAnalyser = function() {};\n\n/**\n * @return {!GainNode}\n */\nBaseAudioContext.prototype.createGain = function() {};\n\n/**\n * @param {number=} maxDelayTime\n * @return {!DelayNode}\n */\nBaseAudioContext.prototype.createDelay = function(maxDelayTime) {};\n\n/**\n * @return {!BiquadFilterNode}\n */\nBaseAudioContext.prototype.createBiquadFilter = function() {};\n\n/**\n * @return {!WaveShaperNode}\n */\nBaseAudioContext.prototype.createWaveShaper = function() {};\n\n/**\n * @return {!PannerNode}\n */\nBaseAudioContext.prototype.createPanner = function() {};\n\n/**\n * @return {!StereoPannerNode}\n */\nBaseAudioContext.prototype.createStereoPanner = function() {};\n\n/**\n * @return {!ConvolverNode}\n */\nBaseAudioContext.prototype.createConvolver = function() {};\n\n/**\n * @param {number=} numberOfOutputs\n * @return {!ChannelSplitterNode}\n */\nBaseAudioContext.prototype.createChannelSplitter = function(numberOfOutputs) {};\n\n/**\n * @param {number=} numberOfInputs\n * @return {!ChannelMergerNode}\n */\nBaseAudioContext.prototype.createChannelMerger = function(numberOfInputs) {};\n\n/**\n * @return {!DynamicsCompressorNode}\n */\nBaseAudioContext.prototype.createDynamicsCompressor = function() {};\n\n/**\n * @return {!OscillatorNode}\n */\nBaseAudioContext.prototype.createOscillator = function() {};\n\n/**\n * @param {!Float32Array} real\n * @param {!Float32Array} imag\n * @return {!PeriodicWave}\n */\nBaseAudioContext.prototype.createPeriodicWave = function(real, imag) {};\n\n/**\n * @return {!Promise<void>}\n */\nBaseAudioContext.prototype.resume = function() {};\n\n/**\n * @return {!Promise<void>}\n */\nBaseAudioContext.prototype.suspend = function() {};\n\n/**\n * @return {!Promise<void>}\n */\nBaseAudioContext.prototype.close = function() {};\n\n/** @type {?function(!Event)} */\nBaseAudioContext.prototype.onstatechange;\n\n/**\n * @param {string} scriptURL\n * @return {!Promise<!AudioWorker>}\n */\nBaseAudioContext.prototype.createAudioWorker = function(scriptURL) {};\n\n/**\n * @param {!IArrayLike<number>} feedforward\n * @param {!IArrayLike<number>} feedback\n * @return {!IIRFilterNode}\n */\nBaseAudioContext.prototype.createIIRFilter = function(feedforward, feedback) {};\n\n/**\n * @return {!SpatialPannerNode}\n */\nBaseAudioContext.prototype.createSpatialPanner = function() {};\n\n/**\n * @record\n * @see https://webaudio.github.io/web-audio-api/#idl-def-AudioContextOptions\n */\nfunction AudioContextOptions() {};\n\n/** @type {(undefined|string|number)} */\nAudioContextOptions.prototype.latencyHint;\n\n/** @type {(undefined|number)} */\nAudioContextOptions.prototype.sampleRate;\n\n/**\n * Includes the non-standard contextOptions optional options parameter\n * implemented by Chrome and Firefox.\n * @param {!AudioContextOptions=} contextOptions\n * @constructor\n * @extends {BaseAudioContext}\n */\nfunction AudioContext(contextOptions) {}\n\n/**\n * @param {!HTMLMediaElement} mediaElement\n * @return {!MediaElementAudioSourceNode}\n */\nAudioContext.prototype.createMediaElementSource = function(mediaElement) {};\n\n/**\n * @return {!MediaStreamAudioDestinationNode}\n */\nAudioContext.prototype.createMediaStreamDestination = function() {};\n\n/**\n * @param {!MediaStream} mediaStream\n * @return {!MediaStreamAudioSourceNode}\n */\nAudioContext.prototype.createMediaStreamSource = function(mediaStream) {};\n\n/**\n * @deprecated Use createScriptProcessor instead.\n * @param {number} bufferSize\n * @param {number} numberOfInputs\n * @param {number} numberOfOuputs\n * @return {!ScriptProcessorNode}\n */\nAudioContext.prototype.createJavaScriptNode = function(bufferSize,\n numberOfInputs, numberOfOuputs) {};\n\n/**\n * @deprecated Use createGain instead.\n * @return {!GainNode}\n */\nAudioContext.prototype.createGainNode = function() {};\n\n/**\n * @deprecated Use createDelay instead.\n * @param {number=} maxDelayTime\n * @return {!DelayNode}\n */\nAudioContext.prototype.createDelayNode = function(maxDelayTime) {};\n\n/**\n * @param {number} numberOfChannels\n * @param {number} length\n * @param {number} sampleRate\n * @constructor\n * @extends {BaseAudioContext}\n */\nfunction OfflineAudioContext(numberOfChannels, length, sampleRate) {}\n\n/**\n * @return {!Promise<!AudioBuffer>}\n */\nOfflineAudioContext.prototype.startRendering = function() {};\n\n/** @type {function(!OfflineAudioCompletionEvent)} */\nOfflineAudioContext.prototype.oncomplete;\n\n/**\n * @constructor\n * @extends {Event}\n */\nfunction OfflineAudioCompletionEvent() {}\n\n/** @type {AudioBuffer} */\nOfflineAudioCompletionEvent.prototype.renderedBuffer;\n\n/**\n * @constructor\n * @implements {EventTarget}\n * @see https://www.w3.org/TR/webaudio/#the-audionode-interface\n */\nfunction AudioNode() {}\n\n/**\n * @override\n */\nAudioNode.prototype.addEventListener = function(type, listener,\n opt_useCapture) {};\n\n/**\n * @override\n */\nAudioNode.prototype.removeEventListener = function(type, listener,\n opt_useCapture) {};\n\n/**\n * @override\n * @return {boolean}\n */\nAudioNode.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @param {!AudioNode|!AudioParam} destination\n * @param {number=} output\n * @param {number=} input\n * @return {AudioNode|void}\n */\nAudioNode.prototype.connect = function(destination, output, input) {};\n\n/**\n * @param {!AudioNode|!AudioParam|number=} destination\n * @param {number=} output\n * @param {number=} input\n */\nAudioNode.prototype.disconnect = function(destination, output, input) {};\n\n/** @type {!AudioContext} */\nAudioNode.prototype.context;\n\n/** @type {number} */\nAudioNode.prototype.numberOfInputs;\n\n/** @type {number} */\nAudioNode.prototype.numberOfOutputs;\n\n/** @type {number} */\nAudioNode.prototype.channelCount;\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#the-audionode-interface for valid values\n */\nAudioNode.prototype.channelCountMode;\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#the-audionode-interface for valid values\n */\nAudioNode.prototype.channelInterpretation;\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction AudioSourceNode() {}\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction AudioDestinationNode() {}\n\n/**\n * @deprecated Use AudioDestinationNode#maxChannelCount\n * @type {number}\n */\nAudioDestinationNode.prototype.numberOfChannels;\n\n/** @type {number} */\nAudioDestinationNode.prototype.maxChannelCount;\n\n/**\n * @constructor\n */\nfunction AudioParam() {}\n\n/** @type {number} */\nAudioParam.prototype.value;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioParam.prototype.maxValue;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioParam.prototype.minValue;\n\n/** @type {number} */\nAudioParam.prototype.defaultValue;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioParam.prototype.units;\n\n/**\n * @param {number} value\n * @param {number} startTime\n * @return {!AudioParam}\n * @throws {!TypeError} if startTime is negative or not a finite number\n */\nAudioParam.prototype.setValueAtTime = function(value, startTime) {};\n\n/**\n * @param {number} value\n * @param {number} endTime\n * @return {!AudioParam}\n * @throws {!TypeError} if endTime is negative or not a finite number\n */\nAudioParam.prototype.linearRampToValueAtTime = function(value, endTime) {};\n\n/**\n * @param {number} value\n * @param {number} endTime\n * @return {!AudioParam}\n * @throws {!TypeError} if endTime is negative or not a finite number\n */\nAudioParam.prototype.exponentialRampToValueAtTime = function(value, endTime) {};\n\n/**\n * @param {number} target\n * @param {number} startTime\n * @param {number} timeConstant\n * @return {!AudioParam}\n * @throws {!TypeError} if startTime is negative or not a finite number, or\n * timeConstant is not strictly positive\n */\nAudioParam.prototype.setTargetAtTime = function(target, startTime,\n timeConstant) {};\n\n/**\n * @deprecated Use setTargetAtTime instead.\n * @param {number} target\n * @param {number} startTime\n * @param {number} timeConstant\n * @return {!AudioParam}\n */\nAudioParam.prototype.setTargetValueAtTime = function(target, startTime,\n timeConstant) {};\n\n/**\n * @param {!Float32Array} values\n * @param {number} startTime\n * @param {number} duration\n * @return {!AudioParam}\n * @throws {!TypeError} if startTime is negative or not a finite number\n */\nAudioParam.prototype.setValueCurveAtTime = function(values, startTime,\n duration) {};\n\n/**\n * @param {number} startTime\n * @return {!AudioParam}\n * @throws {!TypeError} if startTime is negative or not a finite number\n */\nAudioParam.prototype.cancelScheduledValues = function(startTime) {};\n\n/**\n * @constructor\n * @extends {AudioParam}\n */\nfunction AudioGain() {}\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction GainNode() {}\n\n/** @type {!AudioParam} */\nGainNode.prototype.gain;\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction DelayNode() {}\n\n/** @type {!AudioParam} */\nDelayNode.prototype.delayTime;\n\n/**\n * @constructor\n */\nfunction AudioBuffer() {}\n\n/**\n * @deprecated\n * @type {!AudioGain}\n */\nAudioBuffer.prototype.gain;\n\n/** @type {number} */\nAudioBuffer.prototype.sampleRate;\n\n/** @type {number} */\nAudioBuffer.prototype.length;\n\n/** @type {number} */\nAudioBuffer.prototype.duration;\n\n/** @type {number} */\nAudioBuffer.prototype.numberOfChannels;\n\n/**\n * @param {number} channel\n * @return {!Float32Array}\n */\nAudioBuffer.prototype.getChannelData = function(channel) {};\n\n/**\n * @param {!Float32Array} destination\n * @param {number} channelNumber\n * @param {number=} startInChannel\n */\nAudioBuffer.prototype.copyFromChannel = function(destination,\n channelNumber, startInChannel) {};\n\n/**\n * @param {!Float32Array} source\n * @param {number} channelNumber\n * @param {number=} startInChannel\n */\nAudioBuffer.prototype.copyToChannel = function(source, channelNumber,\n startInChannel) {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction AudioBufferSourceNode() {}\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioBufferSourceNode.prototype.UNSCHEDULED_STATE;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioBufferSourceNode.prototype.SCHEDULED_STATE;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioBufferSourceNode.prototype.PLAYING_STATE;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioBufferSourceNode.prototype.FINISHED_STATE;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioBufferSourceNode.prototype.playbackState;\n\n/** @type {AudioBuffer} */\nAudioBufferSourceNode.prototype.buffer;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioBufferSourceNode.prototype.gain;\n\n/** @type {!AudioParam} */\nAudioBufferSourceNode.prototype.playbackRate;\n\n/** @type {boolean} */\nAudioBufferSourceNode.prototype.loop;\n\n/** @type {number} */\nAudioBufferSourceNode.prototype.loopStart;\n\n/** @type {number} */\nAudioBufferSourceNode.prototype.loopEnd;\n\n/** @type {?function(!Event): void} */\nAudioBufferSourceNode.prototype.onended;\n\n/** @type {!AudioParam} */\nAudioBufferSourceNode.prototype.detune;\n\n/**\n * @param {number=} when\n * @param {number=} opt_offset\n * @param {number=} opt_duration\n * @throws {!TypeError} if any parameter is negative\n */\nAudioBufferSourceNode.prototype.start = function(when, opt_offset,\n opt_duration) {};\n\n/**\n * @param {number=} when\n * @throws {!TypeError} if when is negative\n */\nAudioBufferSourceNode.prototype.stop = function(when) {};\n\n/**\n * @deprecated Use AudioBufferSourceNode#start\n * @param {number} when\n * @return {undefined}\n */\nAudioBufferSourceNode.prototype.noteOn = function(when) {};\n\n/**\n * @param {number=} when\n * @param {number=} opt_offset\n * @param {number=} opt_duration\n * @deprecated Use AudioBufferSourceNode#start\n */\nAudioBufferSourceNode.prototype.noteGrainOn = function(when, opt_offset,\n opt_duration) {};\n\n/**\n * @param {number} when\n * @deprecated Use AudioBufferSourceNode#stop\n */\nAudioBufferSourceNode.prototype.noteOff = function(when) {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction MediaElementAudioSourceNode() {}\n\n/**\n * @constructor\n */\nfunction AudioWorker() {}\n\n/** @type {?function(!Event)} */\nAudioWorker.prototype.onloaded;\n\n/** @type {?function(!Event)} */\nAudioWorker.prototype.onmessage;\n\n/** @type {!Array<!AudioWorkerParamDescriptor>} */\nAudioWorker.prototype.parameters;\n\n/**\n * @param {string} name\n * @param {number} defaultValue\n * @return {!AudioParam}\n */\nAudioWorker.prototype.addParameter = function(name, defaultValue) {};\n\n/**\n * @param {number} numberOfInputs\n * @param {number} numberOfOutputs\n * @return {!AudioWorkerNode}\n */\nAudioWorker.prototype.createNode = function(numberOfInputs, numberOfOutputs) {};\n\n/**\n * @param {*} message\n * @param {!Array<!Transferable>=} transfer\n */\nAudioWorker.prototype.postMessage = function(message, transfer) {};\n\n/**\n * @param {string} name\n */\nAudioWorker.prototype.removeParameter = function(name) {};\n\n/**\n */\nAudioWorker.prototype.terminate = function() {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction AudioWorkerNode() {}\n\n/** @type {?function(!Event)} */\nAudioWorkerNode.prototype.onmessage;\n\n/**\n * @param {*} message\n * @param {!Array<!Transferable>=} transfer\n */\nAudioWorkerNode.prototype.postMessage = function(message, transfer) {};\n\n/**\n * @constructor\n */\nfunction AudioWorkerParamDescriptor() {}\n\n/** @type {number} */\nAudioWorkerParamDescriptor.prototype.defaultValue;\n\n/** @type {string} */\nAudioWorkerParamDescriptor.prototype.name;\n\n/**\n * @constructor\n */\nfunction AudioWorkerGlobalScope() {}\n\n/** @type {?function(!Event)} */\nAudioWorkerGlobalScope.prototype.onaudioprocess;\n\n/** @type {?function(!Event)} */\nAudioWorkerGlobalScope.prototype.onnodecreate;\n\n/** @type {!Array<!AudioWorkerParamDescriptor>} */\nAudioWorkerGlobalScope.prototype.parameters;\n\n/** @type {number} */\nAudioWorkerGlobalScope.prototype.sampleRate;\n\n/**\n * @param {string} name\n * @param {number} defaultValue\n * @return {!AudioParam}\n */\nAudioWorkerGlobalScope.prototype.addParameter = function(name, defaultValue) {};\n\n/**\n * @param {string} name\n */\nAudioWorkerGlobalScope.prototype.removeParameter = function(name) {};\n\n/**\n * @constructor\n */\nfunction AudioWorkerNodeProcessor() {}\n\n/** @type {?function(!Event)} */\nAudioWorkerNodeProcessor.prototype.onmessage;\n\n/**\n * @param {*} message\n * @param {!Array<!Transferable>=} transfer\n */\nAudioWorkerNodeProcessor.prototype.postMessage = function(message, transfer) {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n * @deprecated Use AudioWorkerNode\n */\nfunction JavaScriptAudioNode() {}\n\n/**\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\n * @deprecated Use AudioWorkerNode\n */\nJavaScriptAudioNode.prototype.onaudioprocess;\n\n/**\n * @type {number}\n * @deprecated Use AudioWorkerNode\n */\nJavaScriptAudioNode.prototype.bufferSize;\n\n/**\n * @constructor\n * @extends {AudioNode}\n * @deprecated Use AudioWorkerNode\n */\nfunction ScriptProcessorNode() {}\n\n/**\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\n * @deprecated Use AudioWorkerNode\n */\nScriptProcessorNode.prototype.onaudioprocess;\n\n/**\n * @type {number}\n * @deprecated Use AudioWorkerNode\n */\nScriptProcessorNode.prototype.bufferSize;\n\n/**\n * @constructor\n * @extends {Event}\n */\nfunction AudioWorkerNodeCreationEvent() {}\n\n/** @type {!Array} */\nAudioWorkerNodeCreationEvent.prototype.inputs;\n\n/** @type {!AudioWorkerNodeProcessor} */\nAudioWorkerNodeCreationEvent.prototype.node;\n\n/** @type {!Array} */\nAudioWorkerNodeCreationEvent.prototype.outputs;\n\n/**\n * @constructor\n * @extends {Event}\n */\nfunction AudioProcessEvent() {}\n\n/** @type {!Float32Array} */\nAudioProcessEvent.prototype.inputs;\n\n/** @type {!AudioWorkerNodeProcessor} */\nAudioProcessEvent.prototype.node;\n\n/** @type {!Float32Array} */\nAudioProcessEvent.prototype.outputs;\n\n/** @type {!Object} */\nAudioProcessEvent.prototype.parameters;\n\n/** @type {number} */\nAudioProcessEvent.prototype.playbackTime;\n\n/**\n * @constructor\n * @extends {Event}\n * @deprecated Use AudioProcessEvent\n */\nfunction AudioProcessingEvent() {}\n\n/**\n * @type {!ScriptProcessorNode}\n * @deprecated Use AudioProcessEvent\n */\nAudioProcessingEvent.prototype.node;\n\n/**\n * @type {number}\n * @deprecated Use AudioProcessEvent\n */\nAudioProcessingEvent.prototype.playbackTime;\n\n/**\n * @type {!AudioBuffer}\n * @deprecated Use AudioProcessEvent\n */\nAudioProcessingEvent.prototype.inputBuffer;\n\n/**\n * @type {!AudioBuffer}\n * @deprecated Use AudioProcessEvent\n */\nAudioProcessingEvent.prototype.outputBuffer;\n\n/**\n * @deprecated\n * @constructor\n * @extends {AudioNode}\n */\nfunction AudioPannerNode() {}\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioPannerNode.prototype.EQUALPOWER;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioPannerNode.prototype.HRTF;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioPannerNode.prototype.SOUNDFIELD;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioPannerNode.prototype.LINEAR_DISTANCE;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioPannerNode.prototype.INVERSE_DISTANCE;\n\n/**\n * @deprecated\n * @const {number}\n */\nAudioPannerNode.prototype.EXPONENTIAL_DISTANCE;\n\n/**\n * @deprecated\n * @type {number|string}\n */\nAudioPannerNode.prototype.panningModel;\n\n/**\n * @deprecated\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @return {undefined}\n */\nAudioPannerNode.prototype.setPosition = function(x, y, z) {};\n\n/**\n * @deprecated\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @return {undefined}\n */\nAudioPannerNode.prototype.setOrientation = function(x, y, z) {};\n\n/**\n * @deprecated\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @return {undefined}\n */\nAudioPannerNode.prototype.setVelocity = function(x, y, z) {};\n\n/**\n * @deprecated\n * @type {number|string}\n */\nAudioPannerNode.prototype.distanceModel;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioPannerNode.prototype.refDistance;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioPannerNode.prototype.maxDistance;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioPannerNode.prototype.rolloffFactor;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioPannerNode.prototype.coneInnerAngle;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioPannerNode.prototype.coneOuterAngle;\n\n/**\n * @deprecated\n * @type {number}\n */\nAudioPannerNode.prototype.coneOuterGain;\n\n/**\n * @deprecated\n * @type {!AudioGain}\n */\nAudioPannerNode.prototype.coneGain;\n\n/**\n * @deprecated\n * @type {!AudioGain}\n */\nAudioPannerNode.prototype.distanceGain;\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction PannerNode() {}\n\n/** @type {number} */\nPannerNode.prototype.coneInnerAngle;\n\n/** @type {number} */\nPannerNode.prototype.coneOuterAngle;\n\n/** @type {number} */\nPannerNode.prototype.coneOuterGain;\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\n */\nPannerNode.prototype.distanceModel;\n\n/** @type {number} */\nPannerNode.prototype.maxDistance;\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\n */\nPannerNode.prototype.panningModel;\n\n/** @type {number} */\nPannerNode.prototype.refDistance;\n\n/** @type {number} */\nPannerNode.prototype.rolloffFactor;\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\nPannerNode.prototype.setOrientation = function(x, y, z) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\nPannerNode.prototype.setPosition = function(x, y, z) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\nPannerNode.prototype.setVelocity = function(x, y, z) {};\n\n/**\n * @constructor\n * @deprecated Use SpatialListener\n */\nfunction AudioListener() {}\n\n/**\n * @type {number}\n * @deprecated Use SpatialListener\n */\nAudioListener.prototype.gain;\n\n/**\n * @type {number}\n * @deprecated Use SpatialListener\n */\nAudioListener.prototype.dopplerFactor;\n\n/**\n * @type {number}\n * @deprecated Use SpatialListener\n */\nAudioListener.prototype.speedOfSound;\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @deprecated Use SpatialListener\n */\nAudioListener.prototype.setPosition = function(x, y, z) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} xUp\n * @param {number} yUp\n * @param {number} zUp\n * @deprecated Use SpatialListener\n */\nAudioListener.prototype.setOrientation = function(x, y, z, xUp, yUp, zUp) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @deprecated Use SpatialListener\n */\nAudioListener.prototype.setVelocity = function(x, y, z) {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction SpatialPannerNode() {}\n\n/** @type {number} */\nSpatialPannerNode.prototype.coneInnerAngle;\n\n/** @type {number} */\nSpatialPannerNode.prototype.coneOuterAngle;\n\n/** @type {number} */\nSpatialPannerNode.prototype.coneOuterGain;\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\n */\nSpatialPannerNode.prototype.distanceModel;\n\n/** @type {number} */\nSpatialPannerNode.prototype.maxDistance;\n\n/** @type {!AudioParam} */\nSpatialPannerNode.prototype.orientationX;\n\n/** @type {!AudioParam} */\nSpatialPannerNode.prototype.orientationY;\n\n/** @type {!AudioParam} */\nSpatialPannerNode.prototype.orientationZ;\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\n */\nSpatialPannerNode.prototype.panningModel;\n\n/** @type {!AudioParam} */\nSpatialPannerNode.prototype.positionX;\n\n/** @type {!AudioParam} */\nSpatialPannerNode.prototype.positionY;\n\n/** @type {!AudioParam} */\nSpatialPannerNode.prototype.positionZ;\n\n/** @type {number} */\nSpatialPannerNode.prototype.refDistance;\n\n/** @type {number} */\nSpatialPannerNode.prototype.rolloffFactor;\n\n/**\n * @constructor\n */\nfunction SpatialListener() {}\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.forwardX;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.forwardY;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.forwardZ;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.positionX;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.positionY;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.positionZ;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.upX;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.upY;\n\n/** @type {!AudioParam} */\nSpatialListener.prototype.upZ;\n\n/**\n * @constructor\n * @extends {AudioNode}\n * @see http://webaudio.github.io/web-audio-api/#the-stereopannernode-interface\n */\nfunction StereoPannerNode() {}\n\n/** @type {!AudioParam} */\nStereoPannerNode.prototype.pan;\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction ConvolverNode() {}\n\n/** @type {?AudioBuffer} */\nConvolverNode.prototype.buffer;\n\n/** @type {boolean} */\nConvolverNode.prototype.normalize;\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nvar AnalyserNode = function() {};\n\n/**\n * @param {!Float32Array} array\n */\nAnalyserNode.prototype.getFloatFrequencyData = function(array) {};\n\n/**\n * @param {!Uint8Array} array\n */\nAnalyserNode.prototype.getByteFrequencyData = function(array) {};\n\n/**\n * @param {!Uint8Array} array\n */\nAnalyserNode.prototype.getByteTimeDomainData = function(array) {};\n\n/**\n * @param {!Float32Array} array\n */\nAnalyserNode.prototype.getFloatTimeDomainData = function(array) {};\n\n/** @type {number} */\nAnalyserNode.prototype.fftSize;\n\n/** @type {number} */\nAnalyserNode.prototype.frequencyBinCount;\n\n/** @type {number} */\nAnalyserNode.prototype.minDecibels;\n\n/** @type {number} */\nAnalyserNode.prototype.maxDecibels;\n\n/** @type {number} */\nAnalyserNode.prototype.smoothingTimeConstant;\n\n/**\n * @constructor\n * @extends {AnalyserNode}\n * @deprecated Use AnalyserNode\n *\n * This constructor has been added for backwards compatibility.\n */\nvar RealtimeAnalyserNode = function() {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction ChannelSplitterNode() {}\n\n/**\n * @constructor\n * @extends {ChannelSplitterNode}\n * @deprecated Use ChannelSplitterNode\n *\n * This constructor has been added for backwards compatibility.\n */\nfunction AudioChannelSplitter() {}\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction ChannelMergerNode() {}\n\n/**\n * @constructor\n * @extends {ChannelMergerNode}\n * @deprecated Use ChannelMergerNode\n *\n * This constructor has been added for backwards compatibility.\n */\nfunction AudioChannelMerger() {}\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction DynamicsCompressorNode() {}\n\n/** @type {!AudioParam} */\nDynamicsCompressorNode.prototype.threshold;\n\n/** @type {!AudioParam} */\nDynamicsCompressorNode.prototype.knee;\n\n/** @type {!AudioParam} */\nDynamicsCompressorNode.prototype.ratio;\n\n/** @type {number} */\nDynamicsCompressorNode.prototype.reduction;\n\n/** @type {!AudioParam} */\nDynamicsCompressorNode.prototype.attack;\n\n/** @type {!AudioParam} */\nDynamicsCompressorNode.prototype.release;\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction BiquadFilterNode() {}\n\n/**\n * A read-able and write-able string that specifies the type of the filter.\n * See http://webaudio.github.io/web-audio-api/#the-biquadfilternode-interface\n * for valid values.\n * @type {string}\n */\nBiquadFilterNode.prototype.type;\n\n/** @type {!AudioParam} */\nBiquadFilterNode.prototype.frequency;\n\n/** @type {!AudioParam} */\nBiquadFilterNode.prototype.detune;\n\n/** @type {!AudioParam} */\nBiquadFilterNode.prototype.Q;\n\n/** @type {!AudioParam} */\nBiquadFilterNode.prototype.gain;\n/**\n * @param {Float32Array} frequencyHz\n * @param {Float32Array} magResponse\n * @param {Float32Array} phaseResponse\n * @return {undefined}\n */\nBiquadFilterNode.prototype.getFrequencyResponse = function(\n frequencyHz, magResponse, phaseResponse) {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction IIRFilterNode() {}\n\n/**\n * @param {!Float32Array} frequencyHz\n * @param {!Float32Array} magResponse\n * @param {!Float32Array} phaseResponse\n * @return {undefined}\n */\nIIRFilterNode.prototype.getFrequencyResponse = function(\n frequencyHz, magResponse, phaseResponse) {};\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction WaveShaperNode() {}\n\n/** @type {Float32Array} */\nWaveShaperNode.prototype.curve;\n\n/** @type {string} */\nWaveShaperNode.prototype.oversample;\n\n/**\n * @deprecated\n * @constructor\n */\nfunction WaveTable() {}\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction OscillatorNode() {}\n\n/**\n * @type {string}\n * See https://www.w3.org/TR/webaudio/#the-oscillatornode-interface for valid values\n */\nOscillatorNode.prototype.type;\n\n/**\n * @deprecated\n * @type {number}\n */\nOscillatorNode.prototype.playbackState;\n\n/** @type {!AudioParam} */\nOscillatorNode.prototype.frequency;\n\n/** @type {!AudioParam} */\nOscillatorNode.prototype.detune;\n\n/**\n * @param {number=} when\n */\nOscillatorNode.prototype.start = function(when) {};\n\n/**\n * @param {number=} when\n */\nOscillatorNode.prototype.stop = function(when) {};\n\n/**\n * @deprecated\n * @param {!WaveTable} waveTable\n */\nOscillatorNode.prototype.setWaveTable = function(waveTable) {};\n\n/**\n * @param {!PeriodicWave} periodicWave\n */\nOscillatorNode.prototype.setPeriodicWave = function(periodicWave) {};\n\n/** @type {?function(!Event)} */\nOscillatorNode.prototype.onended;\n\n/**\n * @constructor\n */\nfunction PeriodicWave() {}\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction MediaStreamAudioSourceNode() {}\n\n/**\n * @constructor\n * @extends {AudioNode}\n */\nfunction MediaStreamAudioDestinationNode() {}\n\n/** @type {!MediaStream} */\nMediaStreamAudioDestinationNode.prototype.stream;\n',
  813. "externs/nonstandard_audio.js":'/*\n * Copyright 2012 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Nonstandard definitions for the API related to audio.\n *\n * @externs\n */\n\n/**\n * Definitions for the Web Audio API with webkit prefix.\n */\n\n/**\n * @constructor\n * @extends {AudioContext}\n */\nfunction webkitAudioContext() {}\n\n/**\n * @param {number} numberOfChannels\n * @param {number} length\n * @param {number} sampleRate\n * @constructor\n * @extends {OfflineAudioContext}\n */\nfunction webkitOfflineAudioContext(numberOfChannels, length, sampleRate) {}\n\n/**\n * @constructor\n * @extends {AudioPannerNode}\n */\nfunction webkitAudioPannerNode() {}\n\n/**\n * @constructor\n * @extends {PannerNode}\n */\nfunction webkitPannerNode() {}\n\n/**\n * Definitions for the Audio API as implemented in Firefox.\n * Please note that this document describes a non-standard experimental API.\n * This API is considered deprecated.\n * @see https://developer.mozilla.org/en/DOM/HTMLAudioElement\n */\n\n/**\n * @param {string=} src\n * @constructor\n * @extends {HTMLAudioElement}\n */\nfunction Audio(src) {}\n\n/**\n * @param {number} channels\n * @param {number} rate\n */\nAudio.prototype.mozSetup = function(channels, rate) {};\n\n/**\n * @param {Array|Float32Array} buffer\n */\nAudio.prototype.mozWriteAudio = function(buffer) {};\n\n/**\n * @return {number}\n */\nAudio.prototype.mozCurrentSampleOffset = function() {};\n',
  814. "externs/w3c_batterystatus.js":'/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Battery Status API.\n * The whole file has been fully type annotated. Created from\n * https://www.w3.org/TR/battery-status/\n *\n * @externs\n */\n\n\n\n/**\n * @interface\n * @extends {EventTarget}\n */\nfunction BatteryManager() {}\n\n\n/**\n * @type {boolean}\n */\nBatteryManager.prototype.charging;\n\n\n/**\n * @type {number}\n */\nBatteryManager.prototype.chargingTime;\n\n\n/**\n * @type {number}\n */\nBatteryManager.prototype.dischargingTime;\n\n\n/**\n * @type {number}\n */\nBatteryManager.prototype.level;\n\n\n/**\n * @type {?function(!Event): void}\n */\nBatteryManager.prototype.onchargingchange;\n\n\n/**\n * @type {?function(!Event): void}\n */\nBatteryManager.prototype.onchargingtimechange;\n\n\n/**\n * @type {?function(!Event): void}\n */\nBatteryManager.prototype.ondischargingtimechange;\n\n\n/**\n * @type {?function(!Event): void}\n */\nBatteryManager.prototype.onlevelchange;\n\n/**\n * @return {!Promise<!BatteryManager>}\n * @see http://www.w3.org/TR/battery-status/\n */\nNavigator.prototype.getBattery = function() {};\n',
  815. "externs/w3c_clipboardevent.js":'/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s ClipboardEvent API.\n * @see http://www.w3.org/TR/clipboard-apis/\n *\n * @externs\n * @author jhawkins@google.com (James Hawkins)\n */\n\n\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://www.w3.org/TR/clipboard-apis/#dfn-eventinit\n */\nfunction ClipboardEventInit() {}\n\n/** @type {?DataTransfer|undefined} */\nClipboardEventInit.prototype.clipboardData;\n\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {ClipboardEventInit=} opt_eventInitDict\n */\nfunction ClipboardEvent(type, opt_eventInitDict) {}\n\n\n/** @const {?DataTransfer} */\nClipboardEvent.prototype.clipboardData;\n',
  816. "externs/w3c_composition_event.js":'/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Composition Events specification.\n * @externs\n */\n\n/**\n * The `CompositionEvent` interface provides specific contextual information\n * associated with Composition Events.\n * @see https://www.w3.org/TR/uievents/#interface-compositionevent\n * @record\n * @extends {UIEventInit}\n */\nfunction CompositionEventInit() {}\n\n/**\n * `data` holds the value of the characters generated by an input method. This\n * MAY be a single Unicode character or a non-empty sequence of Unicode\n * characters. This attribute MAY be the empty string. The un-initialized value\n * of this attribute MUST be "" (the empty string).\n * @type {string}\n */\nCompositionEventInit.prototype.data;\n\n/**\n * Composition Events provide a means for inputing text in a supplementary or\n * alternate manner than by Keyboard Events, in order to allow the use of\n * characters that might not be commonly available on keyboard. For example,\n * Composition Events might be used to add accents to characters despite their\n * absence from standard US keyboards, to build up logograms of many Asian\n * languages from their base components or categories, to select word choices\n * from a combination of key presses on a mobile device keyboard, or to convert\n * voice commands into text using a speech recognition processor.\n *\n * Conceptually, a composition session consists of one `compositionstart` event,\n * one or more `compositionupdate` events, and one `compositionend` event, with\n * the value of the data attribute persisting between each stage of this event\n * chain during each session.\n *\n * Not all IME systems or devices expose the necessary data to the DOM, so the\n * active composition string (the "Reading Window" or "candidate selection" menu\n * option) might not be available through this interface, in which case the\n * selection MAY be represented by the empty string.\n *\n * @see https://www.w3.org/TR/uievents/#events-compositionevents\n * @param {string} type\n * @param {!CompositionEventInit=} opt_eventInitDict\n * @extends {UIEvent}\n * @constructor\n */\nfunction CompositionEvent(type, opt_eventInitDict) {}\n\n/**\n * Initializes attributes of a `CompositionEvent` object. This method has the\n * same behavior as `UIEvent.initUIEvent()`. The value of `detail` remains\n * undefined.\n *\n * @see https://www.w3.org/TR/uievents/#idl-interface-CompositionEvent-initializers\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {?Window} viewArg\n * @param {string} dataArg\n * @param {string} localeArg\n * @return {undefined}\n */\nCompositionEvent.prototype.initCompositionEvent = function(\n typeArg, canBubbleArg, cancelableArg, viewArg, dataArg, localeArg) {};\n\n/**\n * @type {string}\n */\nCompositionEvent.prototype.data;\n\n/**\n * @type {string}\n */\nCompositionEvent.prototype.locale;\n',
  817. "externs/w3c_css3d.js":'/*\n * Copyright 2010 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s CSS 3D Transforms specification.\n * The whole file has been fully type annotated. Created from\n * https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html\n *\n * @externs\n * @author rjfioravanti@google.com (Ryan Fioravanti)\n */\n\n/**\n * @constructor\n * @param {string=} opt_matrix\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#the-cssmatrix-interface\n */\nfunction CSSMatrix(opt_matrix) {}\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m11;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m12;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m13;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m14;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m21;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m22;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m23;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m24;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m31;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m32;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m33;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m34;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m41;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m42;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m43;\n\n/**\n * @type {number}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\n */\nCSSMatrix.prototype.m44;\n\n/**\n * @param {string} string\n * @return {void}\n */\nCSSMatrix.prototype.setMatrixValue = function(string) {};\n\n/**\n * @param {!CSSMatrix} secondMatrix\n * @return {!CSSMatrix}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-multiply-CSSMatrix-CSSMatrix-other\n */\nCSSMatrix.prototype.multiply = function(secondMatrix) {};\n\n/**\n * @return {CSSMatrix} Returns void if the matrix is non-invertable.\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-inverse-CSSMatrix\n */\nCSSMatrix.prototype.inverse = function() {};\n\n/**\n * @param {number=} opt_x Defaults to 0.\n * @param {number=} opt_y Defaults to 0.\n * @param {number=} opt_z Defaults to 0.\n * @return {!CSSMatrix}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-translate-CSSMatrix-unrestricted-double-tx-unrestricted-double-ty-unrestricted-double-tz\n */\nCSSMatrix.prototype.translate = function(opt_x, opt_y, opt_z) {};\n\n/**\n * @param {number=} opt_scaleX Defaults to 1.\n * @param {number=} opt_scaleY Defaults to scaleX.\n * @param {number=} opt_scaleZ Defaults to 1.\n * @return {!CSSMatrix}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-scale-CSSMatrix-unrestricted-double-scale-unrestricted-double-originX-unrestricted-double-originY\n */\nCSSMatrix.prototype.scale = function(opt_scaleX, opt_scaleY, opt_scaleZ) {};\n\n/**\n * @param {number=} opt_rotX Defaults to 0.\n * @param {number=} opt_rotY Defaults to 0.\n * @param {number=} opt_rotZ Defaults to rotX if rotY is not defined, else 0.\n * @return {!CSSMatrix}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotate-CSSMatrix-unrestricted-double-angle-unrestricted-double-originX-unrestricted-double-originY\n */\nCSSMatrix.prototype.rotate = function(opt_rotX, opt_rotY, opt_rotZ) {};\n\n/**\n * @param {number=} opt_x Defaults to 0.\n * @param {number=} opt_y Defaults to 0.\n * @param {number=} opt_z Defaults to 0.\n * @param {number=} opt_angle Defaults to 0.\n * @return {!CSSMatrix}\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotateAxisAngle-CSSMatrix-unrestricted-double-x-unrestricted-double-y-unrestricted-double-z-unrestricted-double-angle\n */\nCSSMatrix.prototype.rotateAxisAngle =\n function(opt_x, opt_y, opt_z, opt_angle) {};\n\n/**\n * @constructor\n * @param {string=} opt_matrix\n * @extends {CSSMatrix}\n * @see http://developer.apple.com/safari/library/documentation/AudioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatrix/WebKitCSSMatrix.html#//apple_ref/javascript/instm/WebKitCSSMatrix/setMatrixValue\n */\nfunction WebKitCSSMatrix(opt_matrix) {}\n\n/**\n * @constructor\n * @param {string=} opt_matrix\n * @extends {CSSMatrix}\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh453593.aspx\n */\nfunction MSCSSMatrix(opt_matrix) {}\n',
  818. "externs/w3c_elementtraversal.js":'/*\n * Copyright 2009 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for DOM Element Traversal interface.\n * This file depends on w3c_dom1.js.\n * The whole file has been fully type annotated.\n * Created from:\n * http://www.w3.org/TR/ElementTraversal/#ecmascript-bindings\n *\n * @externs\n * @author arv@google.com (Erik Arvidsson)\n */\n\n/**\n * @typedef {?(Document|DocumentFragment|Element)}\n * @see https://dom.spec.whatwg.org/#parentnode\n */\nvar ParentNode;\n\n/**\n * @typedef {?(Element|CharacterData)}\n * @see https://dom.spec.whatwg.org/#nondocumenttypechildnode\n */\nvar NonDocumentTypeChildNode;\n\n/**\n * @type {Element}\n * @see https://developer.mozilla.org/En/DOM/Element.firstElementChild\n */\nElement.prototype.firstElementChild;\n\n/**\n * @type {Element}\n * @see https://developer.mozilla.org/En/DOM/Element.lastElementChild\n */\nElement.prototype.lastElementChild;\n\n/**\n * @type {Element}\n * @see https://developer.mozilla.org/En/DOM/Element.previousElementSibling\n */\nElement.prototype.previousElementSibling;\n\n/**\n * @type {Element}\n * @see https://developer.mozilla.org/En/DOM/Element.nextElementSibling\n */\nElement.prototype.nextElementSibling;\n\n/**\n * @type {number}\n * @see https://developer.mozilla.org/En/DOM/Element.childElementCount\n */\nElement.prototype.childElementCount;\n\n/**\n * @type {?Element}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\n */\nDocument.prototype.firstElementChild;\n\n/**\n * @type {?Element}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\n */\nDocument.prototype.lastElementChild;\n\n/**\n * @type {number}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\n */\nDocument.prototype.childElementCount;\n\n/**\n * @type {?Element}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\n */\nDocumentFragment.prototype.firstElementChild;\n\n/**\n * @type {?Element}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\n */\nDocumentFragment.prototype.lastElementChild;\n\n/**\n * @type {number}\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\n */\nDocumentFragment.prototype.childElementCount;\n\n/**\n * @type {?Element}\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-previouselementsibling\n */\nCharacterData.prototype.previousElementSibling;\n\n/**\n * @type {?Element}\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-nextelementsibling\n */\nCharacterData.prototype.nextElementSibling;\n',
  819. "externs/w3c_eventsource.js":'/*\n * Copyright 2012 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s EventSource API.\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events\n *\n * @externs\n * @author jelbourn@google.com (Jeremy Elbourn)\n */\n\n/** @record */\nfunction EventSourceInit() {};\n\n/** @type {(boolean|undefined)} */\nEventSourceInit.prototype.withCredentials;\n\n/**\n * @constructor\n * @implements {EventTarget}\n * @param {string} url\n * @param {EventSourceInit=} opt_eventSourceInitDict\n */\nfunction EventSource(url, opt_eventSourceInitDict) {}\n\n/** @override */\nEventSource.prototype.addEventListener = function(type, listener, opt_options) {\n};\n\n/** @override */\nEventSource.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nEventSource.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @const {string}\n */\nEventSource.prototype.url;\n\n/** @const {boolean} */\nEventSource.prototype.withCredentials;\n\n/**\n * @const {number}\n */\nEventSource.prototype.CONNECTING;\n\n/**\n * @const {number}\n */\nEventSource.CONNECTING;\n\n/**\n * @const {number}\n */\nEventSource.prototype.OPEN;\n\n/**\n * @const {number}\n */\nEventSource.OPEN;\n\n/**\n * @const {number}\n */\nEventSource.prototype.CLOSED;\n\n/**\n * @const {number}\n */\nEventSource.CLOSED;\n\n/**\n * @const {number}\n */\nEventSource.prototype.readyState;\n\n/**\n * @type {?function(!Event): void}\n */\nEventSource.prototype.onopen = function(e) {};\n\n/**\n * @type {?function(!MessageEvent<string>): void}\n */\nEventSource.prototype.onmessage = function(e) {};\n\n/**\n * @type {?function(!Event): void}\n */\nEventSource.prototype.onerror = function(e) {};\n\n/**\n * @return {undefined}\n */\nEventSource.prototype.close = function() {};\n',
  820. "externs/w3c_geolocation.js":'/*\n * Copyright 2009 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Geolocation specification\n * http://www.w3.org/TR/geolocation-API/\n * @externs\n * @author ngd@google.com (Neil Dunn)\n */\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/geolocation-API/#geolocation\n */\nfunction Geolocation() {}\n\n/**\n * @typedef {function(!GeolocationPosition): void}\n */\nvar PositionCallback;\n\n/**\n * @typedef {function(!GeolocationPositionError): void}\n */\nvar PositionErrorCallback;\n\n/**\n * @param {PositionCallback} successCallback\n * @param {PositionErrorCallback=} opt_errorCallback\n * @param {GeolocationPositionOptions=} opt_options\n * @return {undefined}\n */\nGeolocation.prototype.getCurrentPosition = function(successCallback,\n opt_errorCallback,\n opt_options) {};\n\n/**\n * @param {PositionCallback} successCallback\n * @param {PositionErrorCallback=} opt_errorCallback\n * @param {GeolocationPositionOptions=} opt_options\n * @return {number}\n */\nGeolocation.prototype.watchPosition = function(successCallback,\n opt_errorCallback,\n opt_options) {};\n\n/**\n * @param {number} watchId\n * @return {undefined}\n */\nGeolocation.prototype.clearWatch = function(watchId) {};\n\n\n/**\n * @record\n * @see http://www.w3.org/TR/geolocation-API/#coordinates\n */\nfunction GeolocationCoordinates() {}\n/** @type {number} */\nGeolocationCoordinates.prototype.latitude;\n/** @type {number} */\nGeolocationCoordinates.prototype.longitude;\n/** @type {number} */\nGeolocationCoordinates.prototype.accuracy;\n/** @type {number|null} */\nGeolocationCoordinates.prototype.altitude;\n/** @type {number|null} */\nGeolocationCoordinates.prototype.altitudeAccuracy;\n/** @type {number|null} */\nGeolocationCoordinates.prototype.heading;\n/** @type {number|null} */\nGeolocationCoordinates.prototype.speed;\n\n\n/**\n * @record\n * @see http://www.w3.org/TR/geolocation-API/#position\n */\nfunction GeolocationPosition() {}\n/** @type {GeolocationCoordinates} */\nGeolocationPosition.prototype.coords;\n/** @type {number} */\nGeolocationPosition.prototype.timestamp;\n\n\n/**\n * @record\n * @see http://www.w3.org/TR/geolocation-API/#position-options\n */\nfunction GeolocationPositionOptions() {}\n/** @type {boolean|undefined} */\nGeolocationPositionOptions.prototype.enableHighAccuracy;\n/** @type {number|undefined} */\nGeolocationPositionOptions.prototype.maximumAge;\n/** @type {number|undefined} */\nGeolocationPositionOptions.prototype.timeout;\n\n\n/**\n * @record\n * @see http://www.w3.org/TR/geolocation-API/#position-error\n */\nfunction GeolocationPositionError() {}\n/** @type {number} */\nGeolocationPositionError.prototype.code;\n/** @type {string} */\nGeolocationPositionError.prototype.message;\n/** @const {number} */\nGeolocationPositionError.prototype.UNKNOWN_ERROR;\n/** @const {number} */\nGeolocationPositionError.prototype.PERMISSION_DENIED;\n/** @const {number} */\nGeolocationPositionError.prototype.POSITION_UNAVAILABLE;\n/** @const {number} */\nGeolocationPositionError.prototype.TIMEOUT;\n\n/** @type {Geolocation} */\nNavigator.prototype.geolocation;\n',
  821. "externs/w3c_indexeddb.js":"/*\n * Copyright 2011 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C's IndexedDB API and IndexedDB API 2.0.\n * @see http://www.w3.org/TR/2015/REC-IndexedDB-20150108/\n * @see https://www.w3.org/TR/2017/WD-IndexedDB-2-20170313/\n *\n * @externs\n * @author guido.tapia@picnet.com.au (Guido Tapia)\n * @author vobruba.martin@gmail.com (Martin Vobruba)\n */\n\n/** @type {!IDBFactory} */\nvar indexedDB;\n\n/** @type {!IDBFactory|undefined} */\nServiceWorkerGlobalScope.prototype.indexedDB;\n\n\n\n/**\n * Possible values: 'readonly', 'readwrite', 'versionchange'\n *\n * @typedef {string}\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBTransactionMode\n */\nvar IDBTransactionMode;\n\n\n/**\n * Possible values: 'pending', 'done'\n *\n * @typedef {string}\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBRequestReadyState\n */\nvar IDBRequestReadyState;\n\n\n/**\n * Possible values: 'next', 'nextunique', 'prev', 'prevunique'\n *\n * @typedef {string}\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorDirection\n */\nvar IDBCursorDirection;\n\n\n/**\n * @record\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBIndexParameters\n */\nfunction IDBIndexParameters(){};\n\n/** @type {(undefined|boolean)} */\nIDBIndexParameters.prototype.unique;\n\n/** @type {(undefined|boolean)} */\nIDBIndexParameters.prototype.multiEntry;\n\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEventInit\n */\nfunction IDBVersionChangeEventInit(){};\n\n/** @type {(undefined|number)} */\nIDBVersionChangeEventInit.prototype.oldVersion;\n\n/** @type {(undefined|number|null)} */\nIDBVersionChangeEventInit.prototype.newVersion;\n\n\n\n/**\n * @record\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStoreParameters\n */\nfunction IDBObjectStoreParameters() {};\n\n/** @type {(undefined|string|!Array<string>|null)} */\nIDBObjectStoreParameters.prototype.keyPath;\n\n/** @type {(undefined|boolean)} */\nIDBObjectStoreParameters.prototype.autoIncrement;\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBFactory\n */\nfunction IDBFactory() {}\n\n/**\n * @param {string} name The name of the database to open.\n * @param {number=} opt_version The version at which to open the database.\n * @return {!IDBOpenDBRequest} The IDBRequest object.\n */\nIDBFactory.prototype.open = function(name, opt_version) {};\n\n/**\n * @param {string} name The name of the database to delete.\n * @return {!IDBOpenDBRequest} The IDBRequest object.\n */\nIDBFactory.prototype.deleteDatabase = function(name) {};\n\n/**\n * @param {*} first\n * @param {*} second\n * @return {number}\n */\nIDBFactory.prototype.cmp = function(first, second) {};\n\n\n/**\n * @constructor\n * @template T\n * @implements {EventTarget}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\n */\nfunction IDBRequest() {}\n\n/** @override */\nIDBRequest.prototype.addEventListener = function(type, listener, opt_options) {\n};\n\n/** @override */\nIDBRequest.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nIDBRequest.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @type {!IDBRequestReadyState}\n */\nIDBRequest.prototype.readyState; // readonly\n\n/**\n * @type {function(!Event)}\n */\nIDBRequest.prototype.onsuccess = function(e) {};\n\n/**\n * @type {function(!Event)}\n */\nIDBRequest.prototype.onerror = function(e) {};\n\n/** @type {T} */\nIDBRequest.prototype.result; // readonly\n\n/**\n * @type {number}\n * @deprecated Use \"error\"\n */\nIDBRequest.prototype.errorCode; // readonly\n\n\n/** @type {?DOMError|?DOMException} */\nIDBRequest.prototype.error; // readonly\n\n/** @type {?IDBObjectStore|?IDBIndex|?IDBCursor} */\nIDBRequest.prototype.source; // readonly\n\n/** @type {?IDBTransaction} */\nIDBRequest.prototype.transaction; // readonly\n\n\n/**\n * @constructor\n * @extends {IDBRequest}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest\n */\nfunction IDBOpenDBRequest() {}\n\n/**\n * @type {function(!IDBVersionChangeEvent)}\n */\nIDBOpenDBRequest.prototype.onblocked = function(e) {};\n\n/**\n * @type {function(!IDBVersionChangeEvent)}\n */\nIDBOpenDBRequest.prototype.onupgradeneeded = function(e) {};\n\n\n/**\n * @constructor\n * @implements {EventTarget}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase\n * @see https://www.w3.org/TR/IndexedDB-2/#database-interface\n */\nfunction IDBDatabase() {}\n\n/**\n * @const {string}\n */\nIDBDatabase.prototype.name;\n\n/**\n * @const {number}\n */\nIDBDatabase.prototype.version;\n\n/**\n * @const {!DOMStringList}\n */\nIDBDatabase.prototype.objectStoreNames;\n\n/**\n * @param {string} name The name of the object store.\n * @param {!IDBObjectStoreParameters=} opt_parameters Parameters to be passed\n * creating the object store.\n * @return {!IDBObjectStore} The created/open object store.\n */\nIDBDatabase.prototype.createObjectStore =\n function(name, opt_parameters) {};\n\n/**\n * @param {string} name The name of the object store to remove.\n * @return {undefined}\n */\nIDBDatabase.prototype.deleteObjectStore = function(name) {};\n\n/**\n * @param {(string|!Array<string>|!DOMStringList)} storeNames The stores to open\n * in this transaction.\n * @param {!IDBTransactionMode=} mode The mode for opening the object stores.\n * @return {!IDBTransaction} The IDBRequest object.\n */\nIDBDatabase.prototype.transaction = function(storeNames, mode) {};\n\n/**\n * Closes the database connection.\n * @return {undefined}\n */\nIDBDatabase.prototype.close = function() {};\n\n/**\n * @type {?function(!Event)}\n */\nIDBDatabase.prototype.onabort;\n\n/**\n * @type {?function(!Event)}\n */\nIDBDatabase.prototype.onclose;\n\n/**\n * @type {?function(!Event)}\n */\nIDBDatabase.prototype.onerror;\n\n/**\n * @type {?function(!IDBVersionChangeEvent)}\n */\nIDBDatabase.prototype.onversionchange;\n\n/** @override */\nIDBDatabase.prototype.addEventListener = function(type, listener, opt_options) {\n};\n\n/** @override */\nIDBDatabase.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nIDBDatabase.prototype.dispatchEvent = function(evt) {};\n\n\n/**\n * Typedef for valid key types according to the w3 specification. Note that this\n * is slightly wider than what is actually allowed, as all Array elements must\n * have a valid key type.\n * @see http://www.w3.org/TR/IndexedDB/#key-construct\n * @see https://www.w3.org/TR/IndexedDB-2/#key-construct\n * @typedef {number|string|!Date|!Array<?>|!BufferSource}\n */\nvar IDBKeyType;\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore\n * @see https://www.w3.org/TR/IndexedDB-2/#object-store-interface\n */\nfunction IDBObjectStore() {}\n\n/**\n * @type {string}\n */\nIDBObjectStore.prototype.name;\n\n/**\n * @type {*}\n */\nIDBObjectStore.prototype.keyPath;\n\n/**\n * @type {!DOMStringList}\n */\nIDBObjectStore.prototype.indexNames;\n\n/** @type {!IDBTransaction} */\nIDBObjectStore.prototype.transaction;\n\n/** @type {boolean} */\nIDBObjectStore.prototype.autoIncrement;\n\n/**\n * @param {*} value The value to put into the object store.\n * @param {!IDBKeyType=} key The key of this value.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBObjectStore.prototype.put = function(value, key) {};\n\n/**\n * @param {*} value The value to add into the object store.\n * @param {!IDBKeyType=} key The key of this value.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBObjectStore.prototype.add = function(value, key) {};\n\n/**\n * @param {!IDBKeyType|!IDBKeyRange} key The key of this value.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBObjectStore.prototype.delete = function(key) {};\n\n/**\n * @param {!IDBKeyType|!IDBKeyRange} key The key of the document to retrieve.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBObjectStore.prototype.get = function(key) {};\n\n/**\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBObjectStore.prototype.clear = function() {};\n\n/**\n * @param {?IDBKeyRange=} range The range of the cursor.\n * Nullable because IE <11 has problems with undefined.\n * @param {!IDBCursorDirection=} direction The direction of cursor enumeration.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBObjectStore.prototype.openCursor = function(range, direction) {};\n\n/**\n * @param {string} name The name of the index.\n * @param {string|!Array<string>} keyPath The path to the index key.\n * @param {!IDBIndexParameters=} opt_paramters Optional parameters\n * for the created index.\n * @return {!IDBIndex} The IDBIndex object.\n */\nIDBObjectStore.prototype.createIndex = function(name, keyPath, opt_paramters) {};\n\n/**\n * @param {string} name The name of the index to retrieve.\n * @return {!IDBIndex} The IDBIndex object.\n */\nIDBObjectStore.prototype.index = function(name) {};\n\n/**\n * @param {string} indexName The name of the index to remove.\n * @return {undefined}\n */\nIDBObjectStore.prototype.deleteIndex = function(indexName) {};\n\n/**\n * @param {(!IDBKeyType|IDBKeyRange)=} key The key of this value.\n * @return {!IDBRequest} The IDBRequest object.\n * @see http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-count\n */\nIDBObjectStore.prototype.count = function(key) {};\n\n/**\n * @param {(!IDBKeyType|IDBKeyRange)=} query\n * @return {!IDBRequest} The IDBRequest object.\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getkey\n */\nIDBObjectStore.prototype.getKey = function(query) {};\n\n/**\n * @param {(!IDBKeyType|IDBKeyRange)=} query\n * @param {number=} count\n * @return {!IDBRequest} The IDBRequest object.\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getall\n */\nIDBObjectStore.prototype.getAll = function(query, count) {};\n\n/**\n * @param {(!IDBKeyType|IDBKeyRange)=} query\n * @param {number=} count\n * @return {!IDBRequest} The IDBRequest object.\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getallkeys\n */\nIDBObjectStore.prototype.getAllKeys = function(query, count) {};\n\n/**\n * @param {(!IDBKeyType|IDBKeyRange)=} query\n * @param {!IDBCursorDirection=} direction\n * @return {!IDBRequest} The IDBRequest object.\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-openkeycursor\n */\nIDBObjectStore.prototype.openKeyCursor = function(query, direction) {};\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex\n * @see https://www.w3.org/TR/IndexedDB-2/#index-interface\n */\nfunction IDBIndex() {}\n\n/**\n * @type {string}\n */\nIDBIndex.prototype.name;\n\n/**\n * @const {!IDBObjectStore}\n */\nIDBIndex.prototype.objectStore;\n\n/**\n * @const {*}\n */\nIDBIndex.prototype.keyPath;\n\n/**\n * @const {boolean}\n */\nIDBIndex.prototype.multiEntry;\n\n/**\n * @const {boolean}\n */\nIDBIndex.prototype.unique;\n\n/**\n * @param {(!IDBKeyType|?IDBKeyRange)=} range The range of the cursor.\n * Nullable because IE <11 has problems with undefined.\n * @param {!IDBCursorDirection=} direction The direction of cursor enumeration.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBIndex.prototype.openCursor = function(range, direction) {};\n\n/**\n * @param {(!IDBKeyType|?IDBKeyRange)=} range The range of the cursor.\n * Nullable because IE <11 has problems with undefined.\n * @param {!IDBCursorDirection=} direction The direction of cursor enumeration.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBIndex.prototype.openKeyCursor = function(range, direction) {};\n\n/**\n * @param {!IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBIndex.prototype.get = function(key) {};\n\n/**\n * @param {!IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBIndex.prototype.getKey = function(key) {};\n\n/**\n * @param {(!IDBKeyType|!IDBKeyRange)=} query\n * @param {number=} count\n * @return {!IDBRequest}\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getall\n */\nIDBIndex.prototype.getAll = function(query, count) {};\n\n/**\n * @param {(!IDBKeyType|!IDBKeyRange)=} query\n * @param {number=} count\n * @return {!IDBRequest}\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getallkeys\n */\nIDBIndex.prototype.getAllKeys = function(query, count) {};\n\n/**\n * @param {(!IDBKeyType|!IDBKeyRange)=} opt_key\n * @return {!IDBRequest}\n */\nIDBIndex.prototype.count = function(opt_key) {};\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\n */\nfunction IDBCursor() {}\n\n/**\n * @const {(!IDBObjectStore|!IDBIndex)}\n */\nIDBCursor.prototype.source;\n\n/**\n * @const {!IDBCursorDirection}\n */\nIDBCursor.prototype.direction;\n\n/**\n * @const {!IDBKeyType}\n */\nIDBCursor.prototype.key;\n\n/**\n * @const {!IDBKeyType}\n */\nIDBCursor.prototype.primaryKey;\n\n/**\n * @param {*} value The new value for the current object in the cursor.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBCursor.prototype.update = function(value) {};\n\n/**\n * Note: Must be quoted to avoid parse error.\n * @param {!IDBKeyType=} key Continue enumerating the cursor from the specified\n * key (or next).\n * @return {undefined}\n */\nIDBCursor.prototype.continue = function(key) {};\n\n/**\n * @param {!IDBKeyType} key\n * @param {!IDBKeyType} primaryKey\n * @return {undefined}\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbcursor-continueprimarykey\n */\nIDBCursor.prototype.continuePrimaryKey = function(key, primaryKey) {};\n\n/**\n * @param {number} count Number of times to iterate the cursor.\n * @return {undefined}\n */\nIDBCursor.prototype.advance = function(count) {};\n\n/**\n * Note: Must be quoted to avoid parse error.\n * @return {!IDBRequest} The IDBRequest object.\n */\nIDBCursor.prototype.delete = function() {};\n\n\n/**\n * @constructor\n * @extends {IDBCursor}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValue\n */\nfunction IDBCursorWithValue() {}\n\n/** @type {*} */\nIDBCursorWithValue.prototype.value; // readonly\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\n */\nfunction IDBTransaction() {}\n\n/**\n * @const {!DOMStringList}\n */\nIDBTransaction.prototype.objectStoreNames;\n\n/**\n * @const {!IDBTransactionMode}\n */\nIDBTransaction.prototype.mode;\n\n/**\n * @const {!IDBDatabase}\n */\nIDBTransaction.prototype.db;\n\n/**\n * @type {!DOMError|!DOMException}\n */\nIDBTransaction.prototype.error;\n\n/**\n * @param {string} name The name of the object store to retrieve.\n * @return {!IDBObjectStore} The object store.\n */\nIDBTransaction.prototype.objectStore = function(name) {};\n\n/**\n * Aborts the transaction.\n * @return {undefined}\n */\nIDBTransaction.prototype.abort = function() {};\n\n/**\n * @type {?function(!Event)}\n */\nIDBTransaction.prototype.onabort;\n\n/**\n * @type {?function(!Event)}\n */\nIDBTransaction.prototype.oncomplete;\n\n/**\n * @type {?function(!Event)}\n */\nIDBTransaction.prototype.onerror;\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\n */\nfunction IDBKeyRange() {}\n\n/**\n * @const {*}\n */\nIDBKeyRange.prototype.lower;\n\n/**\n * @const {*}\n */\nIDBKeyRange.prototype.upper;\n\n/**\n * @const {boolean}\n */\nIDBKeyRange.prototype.lowerOpen;\n\n/**\n * @const {boolean}\n */\nIDBKeyRange.prototype.upperOpen;\n\n/**\n * @param {!IDBKeyType} value The single key value of this range.\n * @return {!IDBKeyRange} The key range.\n */\nIDBKeyRange.only = function(value) {};\n\n/**\n * @param {!IDBKeyType} bound Creates a lower bound key range.\n * @param {boolean=} open Open the key range.\n * @return {!IDBKeyRange} The key range.\n */\nIDBKeyRange.lowerBound = function(bound, open) {};\n\n/**\n * @param {!IDBKeyType} bound Creates an upper bound key range.\n * @param {boolean=} open Open the key range.\n * @return {!IDBKeyRange} The key range.\n */\nIDBKeyRange.upperBound = function(bound, open) {};\n\n/**\n * @param {!IDBKeyType} left The left bound value.\n * @param {!IDBKeyType} right The right bound value.\n * @param {boolean=} openLeft Whether the left bound value should be excluded.\n * @param {boolean=} openRight Whether the right bound value should be excluded.\n * @return {!IDBKeyRange} The key range.\n */\nIDBKeyRange.bound = function(left, right, openLeft, openRight) {};\n\n/**\n * @param {!IDBKeyType} key\n * @return {boolean}\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbkeyrange-includes\n */\nIDBKeyRange.prototype.includes = function(key) {};\n\n\n/**\n * @param {string} type\n * @param {!IDBVersionChangeEventInit=} opt_eventInit\n * @constructor\n * @extends {Event}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\n */\nfunction IDBVersionChangeEvent(type, opt_eventInit) {}\n\n/**\n * @const {number}\n */\nIDBVersionChangeEvent.prototype.oldVersion;\n\n/**\n * @const {?number}\n */\nIDBVersionChangeEvent.prototype.newVersion;\n",
  822. "externs/nonstandard_indexeddb.js":'/*\n * Copyright 2011 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Browser specific definitions for W3C\'s IndexedDB API\n * @externs\n */\n\n/** @type {!IDBFactory|undefined} */\nWindow.prototype.moz_indexedDB;\n\n/** @type {!IDBFactory|undefined} */\nWindow.prototype.mozIndexedDB;\n\n/** @type {!IDBFactory|undefined} */\nWindow.prototype.webkitIndexedDB;\n\n/** @type {!IDBFactory|undefined} */\nWindow.prototype.msIndexedDB;\n\n/**\n * @constructor\n * @extends {IDBRequest}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\n */\nfunction webkitIDBRequest() {}\n\n/**\n * @constructor\n * @extends {IDBCursor}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\n */\nfunction webkitIDBCursor() {}\n\n/**\n * @constructor\n * @extends {IDBTransaction}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\n */\nfunction webkitIDBTransaction() {}\n\n/**\n * @constructor\n * @extends {IDBKeyRange}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\n */\nfunction webkitIDBKeyRange() {}\n\n/**\n * @param {string} type\n * @param {!IDBVersionChangeEventInit=} eventInit\n * @constructor\n * @extends {IDBVersionChangeEvent}\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\n */\nfunction webkitIDBVersionChangeEvent(type, eventInit) {}\n\n/**\n * @const {string}\n */\nwebkitIDBVersionChangeEvent.prototype.version;\n',
  823. "externs/w3c_midi.js":'/*\n * Copyright 2014 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview W3C Web MIDI specification.\n * @see http://www.w3.org/TR/webmidi/\n *\n * @externs\n */\n\n\n/**\n * @param {!MIDIOptions=} opt_options\n * @return {!Promise.<!MIDIAccess>}\n */\nnavigator.requestMIDIAccess = function(opt_options) {};\n\n\n/**\n * @typedef {{\n * sysex: boolean\n * }}\n */\nvar MIDIOptions;\n\n\n\n/**\n * @interface\n */\nvar MIDIInputMap = function() {};\n\n\n/**\n * @const {number}\n */\nMIDIInputMap.prototype.size;\n\n\n/**\n * @param {function(string)} iterator\n */\nMIDIInputMap.prototype.keys = function(iterator) {};\n\n\n/**\n * @param {function(!Array.<*>)} iterator\n */\nMIDIInputMap.prototype.entries = function(iterator) {};\n\n\n/**\n * @param {function(!MIDIInput)} iterator\n */\nMIDIInputMap.prototype.values = function(iterator) {};\n\n\n/**\n * @param {string} key\n * @return {!MIDIInput}\n */\nMIDIInputMap.prototype.get = function(key) {};\n\n\n/**\n * @param {string} key\n * @return {boolean}\n */\nMIDIInputMap.prototype.has = function(key) {};\n\n\n\n/**\n * @interface\n */\nvar MIDIOutputMap = function() {};\n\n\n/**\n * @const {number}\n */\nMIDIOutputMap.prototype.size;\n\n\n/**\n * @param {function(string)} iterator\n */\nMIDIOutputMap.prototype.keys = function(iterator) {};\n\n\n/**\n * @param {function(!Array.<*>)} iterator\n */\nMIDIOutputMap.prototype.entries = function(iterator) {};\n\n\n/**\n * @param {function(!MIDIOutput)} iterator\n */\nMIDIOutputMap.prototype.values = function(iterator) {};\n\n\n/**\n * @param {string} key\n * @return {!MIDIOutput}\n */\nMIDIOutputMap.prototype.get = function(key) {};\n\n\n/**\n * @param {string} key\n * @return {boolean}\n */\nMIDIOutputMap.prototype.has = function(key) {};\n\n\n\n/**\n * @interface\n * @extends {EventTarget}\n */\nvar MIDIAccess = function() {};\n\n\n/**\n * @const {!MIDIInputMap}\n */\nMIDIAccess.prototype.inputs;\n\n\n/**\n * @const {!MIDIOutputMap}\n */\nMIDIAccess.prototype.outputs;\n\n\n/**\n * @const {function(!MIDIConnectionEvent)}\n */\nMIDIAccess.prototype.onconnect;\n\n\n/**\n * @type {function(!MIDIConnectionEvent)}\n */\nMIDIAccess.prototype.ondisconnect;\n\n\n/**\n * @const {boolean}\n */\nMIDIAccess.prototype.sysexEnabled;\n\n\n\n/**\n * @interface\n * @extends {EventTarget}\n */\nvar MIDIPort = function() {};\n\n\n/**\n * @const {string}\n */\nMIDIPort.prototype.id;\n\n\n/**\n * @const {string}\n */\nMIDIPort.prototype.manufacturer;\n\n\n/**\n * @const {string}\n */\nMIDIPort.prototype.name;\n\n\n/**\n * @const {string}\n */\nMIDIPort.prototype.type;\n\n\n/**\n * @const {string}\n */\nMIDIPort.prototype.version;\n\n\n/**\n * @type {function(!MIDIConnectionEvent)}\n */\nMIDIPort.prototype.ondisconnect;\n\n\n\n/**\n * @interface\n * @extends {MIDIPort}\n */\nvar MIDIInput = function() {};\n\n\n/**\n * @type {function(!MIDIMessageEvent)}\n */\nMIDIInput.prototype.onmidimessage;\n\n\n\n/**\n * @interface\n * @extends {MIDIPort}\n */\nvar MIDIOutput = function() {};\n\n\n/**\n * @param {!Uint8Array} data\n * @param {number=} opt_timestamp\n */\nMIDIOutput.prototype.send = function(data, opt_timestamp) {};\n\n\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {!MIDIMessageEventInit=} opt_init\n */\nvar MIDIMessageEvent = function(type, opt_init) {};\n\n\n/**\n * @const {number}\n */\nMIDIMessageEvent.prototype.receivedTime;\n\n\n/**\n * @const {!Uint8Array}\n */\nMIDIMessageEvent.prototype.data;\n\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://www.w3.org/TR/webmidi/#midimessageeventinit-interface\n */\nfunction MIDIMessageEventInit() {}\n\n/** @type {undefined|number} */\nMIDIMessageEventInit.prototype.receivedTime;\n\n/** @type {undefined|!Uint8Array} */\nMIDIMessageEventInit.prototype.data;\n\n\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {!MIDIConnectionEventInit=} opt_init\n */\nvar MIDIConnectionEvent = function(type, opt_init) {};\n\n\n/**\n * @const {MIDIPort}\n */\nMIDIConnectionEvent.prototype.port;\n\n\n/**\n * @record\n * @extends {EventInit}\n * @see https://www.w3.org/TR/webmidi/#idl-def-MIDIConnectionEventInit\n */\nfunction MIDIConnectionEventInit() {}\n\n/** @type {undefined|!MIDIPort} */\nMIDIConnectionEventInit.prototype.port;\n',
  824. "externs/w3c_navigation_timing.js":"/*\n * Copyright 2011 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C's Navigation Timing specification.\n *\n * Created from\n * @see http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html\n * @see http://w3c-test.org/webperf/specs/ResourceTiming\n * @see http://www.w3.org/TR/performance-timeline\n * @see http://www.w3.org/TR/user-timing/\n *\n * @externs\n * @author rky@google.com (Ren\u00e9 Kyllingstad)\n */\n\n/** @constructor */\nfunction PerformanceTiming() {}\n/** @type {number} */ PerformanceTiming.prototype.navigationStart;\n/** @type {number} */ PerformanceTiming.prototype.unloadEventStart;\n/** @type {number} */ PerformanceTiming.prototype.unloadEventEnd;\n/** @type {number} */ PerformanceTiming.prototype.redirectStart;\n/** @type {number} */ PerformanceTiming.prototype.redirectEnd;\n/** @type {number} */ PerformanceTiming.prototype.fetchStart;\n/** @type {number} */ PerformanceTiming.prototype.domainLookupStart;\n/** @type {number} */ PerformanceTiming.prototype.domainLookupEnd;\n/** @type {number} */ PerformanceTiming.prototype.connectStart;\n/** @type {number} */ PerformanceTiming.prototype.connectEnd;\n/** @type {number} */ PerformanceTiming.prototype.secureConnectionStart;\n/** @type {number} */ PerformanceTiming.prototype.requestStart;\n/** @type {number} */ PerformanceTiming.prototype.responseStart;\n/** @type {number} */ PerformanceTiming.prototype.responseEnd;\n/** @type {number} */ PerformanceTiming.prototype.domLoading;\n/** @type {number} */ PerformanceTiming.prototype.domInteractive;\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventStart;\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventEnd;\n/** @type {number} */ PerformanceTiming.prototype.domComplete;\n/** @type {number} */ PerformanceTiming.prototype.loadEventStart;\n/** @type {number} */ PerformanceTiming.prototype.loadEventEnd;\n\n/** @constructor */\nfunction PerformanceEntry() {}\n/** @type {string} */ PerformanceEntry.prototype.name;\n/** @type {string} */ PerformanceEntry.prototype.entryType;\n/** @type {number} */ PerformanceEntry.prototype.startTime;\n/** @type {number} */ PerformanceEntry.prototype.duration;\n\n/**\n * https://www.w3.org/TR/resource-timing-2/#performanceresourcetiming\n * @constructor\n * @extends {PerformanceEntry}\n */\nfunction PerformanceResourceTiming() {}\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectStart;\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectEnd;\n/** @type {number} */ PerformanceResourceTiming.prototype.fetchStart;\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupStart;\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupEnd;\n/** @type {number} */ PerformanceResourceTiming.prototype.connectStart;\n/** @type {number} */ PerformanceResourceTiming.prototype.connectEnd;\n/** @type {number} */\nPerformanceResourceTiming.prototype.secureConnectionStart;\n/** @type {number} */ PerformanceResourceTiming.prototype.requestStart;\n/** @type {number} */ PerformanceResourceTiming.prototype.responseStart;\n/** @type {number} */ PerformanceResourceTiming.prototype.responseEnd;\n/** @type {string} */ PerformanceResourceTiming.prototype.initiatorType;\n/** @type {number|undefined} */\nPerformanceResourceTiming.prototype.transferSize;\n/** @type {number|undefined} */\nPerformanceResourceTiming.prototype.encodedBodySize;\n/** @type {number|undefined} */\nPerformanceResourceTiming.prototype.decodedBodySize;\n/** @type {number|undefined} */\nPerformanceResourceTiming.prototype.workerStart;\n/** @type {string} */ PerformanceResourceTiming.prototype.nextHopProtocol;\n\n/**\n * Possible values are 'navigate', 'reload', 'back_forward', and 'prerender'.\n * See https://w3c.github.io/navigation-timing/#sec-performance-navigation-types\n * @typedef {string}\n */\nvar NavigationType;\n\n/**\n * https://w3c.github.io/navigation-timing/#sec-PerformanceNavigationTiming\n * @constructor\n * @extends {PerformanceResourceTiming}\n */\nfunction PerformanceNavigationTiming() {}\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventStart;\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventEnd;\n/** @type {number} */ PerformanceNavigationTiming.prototype.domInteractive;\n/** @type {number} */ PerformanceNavigationTiming.prototype\n .domContentLoadedEventStart;\n/** @type {number} */ PerformanceNavigationTiming.prototype\n .domContentLoadedEventEnd;\n/** @type {number} */ PerformanceNavigationTiming.prototype.domComplete;\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventStart;\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventEnd;\n/** @type {NavigationType} */ PerformanceNavigationTiming.prototype.type;\n/** @type {number} */ PerformanceNavigationTiming.prototype.redirectCount;\n\n/**\n * https://w3c.github.io/paint-timing/#sec-PerformancePaintTiming\n * @constructor\n * @extends {PerformanceEntry}\n */\nfunction PerformancePaintTiming() {}\n\n/** @constructor */\nfunction PerformanceNavigation() {}\n/** @const {number} */ PerformanceNavigation.TYPE_NAVIGATE;\n/** @const {number} */ PerformanceNavigation.prototype.TYPE_NAVIGATE;\n/** @const {number} */ PerformanceNavigation.TYPE_RELOAD;\n/** @const {number} */ PerformanceNavigation.prototype.TYPE_RELOAD;\n/** @const {number} */ PerformanceNavigation.TYPE_BACK_FORWARD;\n/** @const {number} */ PerformanceNavigation.prototype.TYPE_BACK_FORWARD;\n/** @const {number} */ PerformanceNavigation.TYPE_RESERVED;\n/** @const {number} */ PerformanceNavigation.prototype.TYPE_RESERVED;\n/** @type {number} */ PerformanceNavigation.prototype.type;\n/** @type {number} */ PerformanceNavigation.prototype.redirectCount;\n\n/**\n * https://w3c.github.io/longtasks/#taskattributiontiming\n * @constructor\n * @extends {PerformanceEntry}\n */\nfunction TaskAttributionTiming() {}\n/** @type {string} */ TaskAttributionTiming.prototype.containerId;\n/** @type {string} */ TaskAttributionTiming.prototype.containerName;\n/** @type {string} */ TaskAttributionTiming.prototype.containerSrc;\n/** @type {string} */ TaskAttributionTiming.prototype.containerType;\n\n/**\n * https://w3c.github.io/longtasks/#performancelongtasktiming\n * @constructor\n * @extends {PerformanceEntry}\n */\nfunction PerformanceLongTaskTiming() {}\n/** @type {!Array<!TaskAttributionTiming>} */\nPerformanceLongTaskTiming.prototype.attribution;\n\n/**\n * https://wicg.github.io/layout-instability/#sec-layout-shift\n * @constructor\n * @extends {PerformanceEntry}\n */\nfunction LayoutShift() {}\n/** @type {number} */ LayoutShift.prototype.value;\n/** @type {boolean} */ LayoutShift.prototype.hadRecentInput;\n/** @type {number} */ LayoutShift.prototype.lastInputTime;\n\n/**\n * https://wicg.github.io/largest-contentful-paint/#largestcontentfulpaint\n * @constructor\n * @extends {PerformanceEntry}\n */\nfunction LargestContentfulPaint() {}\n/** @type {number} */ LargestContentfulPaint.prototype.renderTime;\n/** @type {number} */ LargestContentfulPaint.prototype.loadTime;\n/** @type {number} */ LargestContentfulPaint.prototype.size;\n/** @type {string} */ LargestContentfulPaint.prototype.id;\n/** @type {string} */ LargestContentfulPaint.prototype.url;\n/** @type {?Element} */ LargestContentfulPaint.prototype.element;\n\n/**\n * https://wicg.github.io/event-timing/#sec-performance-event-timing\n * @constructor\n * @extends {PerformanceEntry}\n */\nfunction PerformanceEventTiming() {}\n/** @type {number} */ PerformanceEventTiming.prototype.processingStart;\n/** @type {number} */ PerformanceEventTiming.prototype.processingEnd;\n/** @type {boolean} */ PerformanceEventTiming.prototype.cancelable;\n\n/** @constructor */\nfunction Performance() {}\n\n/** @type {PerformanceTiming} */\nPerformance.prototype.timing;\n\n/** @type {PerformanceNavigation} */\nPerformance.prototype.navigation;\n\n/** @type {number} */\nPerformance.prototype.timeOrigin;\n\n\n/**\n * Clears the buffer used to store the current list of\n * PerformanceResourceTiming resources.\n * @return {undefined}\n */\nPerformance.prototype.clearResourceTimings = function() {};\n\n/**\n * A callback that is invoked when the resourcetimingbufferfull event is fired.\n * @type {?function(Event)}\n */\nPerformance.prototype.onresourcetimingbufferfull = function() {};\n\n/**\n * Set the maximum number of PerformanceResourceTiming resources that may be\n * stored in the buffer.\n * @param {number} maxSize\n * @return {undefined}\n */\nPerformance.prototype.setResourceTimingBufferSize = function(maxSize) {};\n\n/**\n * @return {!Array<!PerformanceEntry>} A copy of the PerformanceEntry list,\n * in chronological order with respect to startTime.\n * @nosideeffects\n */\nPerformance.prototype.getEntries = function() {};\n\n/**\n * @param {string} entryType Only return `PerformanceEntry`s with this\n * entryType.\n * @return {!Array<!PerformanceEntry>} A copy of the PerformanceEntry list,\n * in chronological order with respect to startTime.\n * @nosideeffects\n */\nPerformance.prototype.getEntriesByType = function(entryType) {};\n\n/**\n * @param {string} name Only return `PerformanceEntry`s with this name.\n * @param {string=} opt_entryType Only return `PerformanceEntry`s with\n * this entryType.\n * @return {!Array<!PerformanceEntry>} PerformanceEntry list in chronological\n * order with respect to startTime.\n * @nosideeffects\n */\nPerformance.prototype.getEntriesByName = function(name, opt_entryType) {};\n\n/**\n * @return {number}\n * @nosideeffects\n */\nPerformance.prototype.now = function() {};\n\n/**\n * @param {string} markName\n * @return {undefined}\n */\nPerformance.prototype.mark = function(markName) {};\n\n/**\n * @param {string=} opt_markName\n * @return {undefined}\n */\nPerformance.prototype.clearMarks = function(opt_markName) {};\n\n/**\n * @param {string} measureName\n * @param {string=} opt_startMark\n * @param {string=} opt_endMark\n * @return {undefined}\n */\nPerformance.prototype.measure = function(\n measureName, opt_startMark, opt_endMark) {};\n\n/**\n * @param {string=} opt_measureName\n * @return {undefined}\n */\nPerformance.prototype.clearMeasures = function(opt_measureName) {};\n\n/** @type {Performance} */\nWindow.prototype.performance;\n\n/**\n * @type {!Performance}\n * @suppress {duplicate}\n */\nvar performance;\n\n/**\n * @constructor\n * @extends {Performance}\n */\nfunction WorkerPerformance() {}\n\n/**\n * @typedef {function(!PerformanceObserverEntryList, !PerformanceObserver): void}\n */\nvar PerformanceObserverCallback;\n\n/**\n * See:\n * https://w3c.github.io/performance-timeline/#the-performanceobserver-interface\n * @constructor\n * @param {!PerformanceObserverCallback} callback\n */\nfunction PerformanceObserver(callback) {}\n\n/**\n * @param {!PerformanceObserverInit} options\n */\nPerformanceObserver.prototype.observe = function(options) {};\n\n/** @return {void} */\nPerformanceObserver.prototype.disconnect = function() {};\n\n/**\n * See https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserver/takeRecords\n * @return {!PerformanceObserverEntryList}\n */\nPerformanceObserver.prototype.takeRecords = function() {};\n\n/** @const {!Array<string>} */\nPerformanceObserver.prototype.supportedEntryTypes;\n\n/**\n * @record\n */\nfunction PerformanceObserverInit() {}\n\n/** @type {undefined|!Array<string>} */\nPerformanceObserverInit.prototype.entryTypes;\n/** @type {undefined|string} */\nPerformanceObserverInit.prototype.type;\n/** @type {undefined|boolean} */\nPerformanceObserverInit.prototype.buffered;\n\n/**\n * @constructor\n */\nfunction PerformanceObserverEntryList() {}\n\n/** @return {!Array<!PerformanceEntry>} */\nPerformanceObserverEntryList.prototype.getEntries = function() {};\n/**\n * @param {string} type\n * @return {!Array<!PerformanceEntry>}\n */\nPerformanceObserverEntryList.prototype.getEntriesByName = function(type) {};\n/**\n * @param {string} name\n * @param {string=} opt_type\n * @return {!Array<!PerformanceEntry>}\n */\nPerformanceObserverEntryList.prototype.getEntriesByType = function(\n name, opt_type) {};\n",
  825. "externs/nonstandard_navigation_timing.js":'/*\n * Copyright 2011 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Nonstandard Definitions for W3C\'s Navigation Timing\n * specification.\n *\n * @externs\n */\n\n// Nonstandard. Only available in Blink.\n// Returns more granular results with the --enable-memory-info flag.\n/** @type {MemoryInfo} */ Performance.prototype.memory;\n\n/**\n * Clear out the buffer of performance timing events for webkit browsers.\n * @return {undefined}\n */\nPerformance.prototype.webkitClearResourceTimings = function() {};\n\n/**\n * @return {number}\n * @nosideeffects\n */\nPerformance.prototype.webkitNow = function() {};\n',
  826. "externs/w3c_netinfo.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Externs for the Network Information API.\n * @externs\n */\n\n/**\n * @see http://wicg.github.io/netinfo/#-dfn-networkinformation-dfn-interface\n * @constructor\n */\nfunction NetworkInformation() {}\n\n/** @type {ConnectionType} */\nNetworkInformation.prototype.type;\n\n/** @type {EffectiveConnectionType} */\nNetworkInformation.prototype.effectiveType;\n\n/** @type {Megabit} */\nNetworkInformation.prototype.downlinkMax;\n\n/** @type {Megabit} */\nNetworkInformation.prototype.downlink;\n\n/** @type {Millisecond} */\nNetworkInformation.prototype.rtt;\n\n/** @type {?function(Event)} */\nNetworkInformation.prototype.onchange;\n\n/** @type {boolean} */\nNetworkInformation.prototype.saveData;\n\n/**\n * @typedef {number}\n */\nvar Megabit;\n\n/**\n * @typedef {number}\n */\nvar Millisecond;\n\n/**\n * Enum of:\n * 'bluetooth',\n * 'cellular',\n * 'ethernet',\n * 'mixed',\n * 'none',\n * 'other',\n * 'unknown',\n * 'wifi',\n * 'wimax'\n * @typedef {string}\n */\nvar ConnectionType;\n\n/**\n * Enum of:\n * '2g',\n * '3g',\n * '4g',\n * 'slow-2g'\n * @typedef {string}\n */\nvar EffectiveConnectionType;\n\n/** @type {!NetworkInformation} */\nNavigator.prototype.connection;\n",
  827. "externs/w3c_payment_request.js":'/*\n * Copyright 2019 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Payment Request API.\n * @see https://w3c.github.io/payment-request/\n *\n * @externs\n */\n\n/**\n * @constructor\n * @param {!Array<!PaymentMethodData>} methodData\n * @param {!PaymentDetailsInit} details\n * @param {!PaymentOptions=} options\n * @implements {EventTarget}\n * @see https://w3c.github.io/payment-request/#paymentrequest-interface\n */\nfunction PaymentRequest(methodData, details, options) {}\n/**\n * @param {!Promise<!PaymentDetailsUpdate>=} detailsPromise\n * @return {!Promise<!PaymentResponse>}\n */\nPaymentRequest.prototype.show = function(detailsPromise) {};\n/** @return {!Promise<undefined>} */\nPaymentRequest.prototype.abort = function() {};\n/** @return {!Promise<boolean>} */\nPaymentRequest.prototype.canMakePayment = function() {};\n/** @return {!Promise<boolean>} */\nPaymentRequest.prototype.hasEnrolledInstrument = function() {};\n/** @const {string} */\nPaymentRequest.prototype.id;\n/** @const {?PaymentAddress} */\nPaymentRequest.prototype.shippingAddress;\n/** @const {?string} */\nPaymentRequest.prototype.shippingOption;\n/** @const {?string} */\nPaymentRequest.prototype.shippingType;\n/** @type {?function(!Event)} */\nPaymentRequest.prototype.onmerchantvalidation;\n/** @type {?function(!Event)} */\nPaymentRequest.prototype.onshippingaddresschange;\n/** @type {?function(!Event)} */\nPaymentRequest.prototype.onshippingoptionchange;\n/** @type {?function(!Event)} */\nPaymentRequest.prototype.onpaymentmethodchange;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentmethoddata-dictionary\n */\nfunction PaymentMethodData() {};\n/** @type {string} */\nPaymentMethodData.prototype.supportedMethods;\n/** @type {!Object|undefined} */\nPaymentMethodData.prototype.data;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentcurrencyamount-dictionary\n */\nfunction PaymentCurrencyAmount() {};\n/** @type {string} */\nPaymentCurrencyAmount.prototype.currency;\n/** @type {string} */\nPaymentCurrencyAmount.prototype.value;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentdetailsbase-dictionary\n */\nfunction PaymentDetailsBase() {};\n/** @type {!Array<!PaymentItem>|undefined} */\nPaymentDetailsBase.prototype.displayItems;\n/** @type {!Array<!PaymentShippingOption>|undefined} */\nPaymentDetailsBase.prototype.shippingOptions;\n/** @type {!Array<!PaymentDetailsModifier>|undefined} */\nPaymentDetailsBase.prototype.modifiers;\n\n/**\n * @extends {PaymentDetailsBase}\n * @record\n * @see https://w3c.github.io/payment-request/#paymentdetailsinit-dictionary\n */\nfunction PaymentDetailsInit() {};\n/** @type {string|undefined} */\nPaymentDetailsInit.prototype.id;\n/** @type {!PaymentItem} */\nPaymentDetailsInit.prototype.total;\n\n/**\n * @extends {PaymentDetailsBase}\n * @record\n * @see https://w3c.github.io/payment-request/#paymentdetailsupdate-dictionary\n */\nfunction PaymentDetailsUpdate() {};\n/** @type {string|undefined} */\nPaymentDetailsUpdate.prototype.error;\n/** @type {!PaymentItem|undefined} */\nPaymentDetailsUpdate.prototype.total;\n/** @type {!AddressErrors|undefined} */\nPaymentDetailsUpdate.prototype.shippingAddressErrors;\n/** @type {!PayerErrors|undefined} */\nPaymentDetailsUpdate.prototype.payerErrors;\n/** @type {!Object|undefined} */\nPaymentDetailsUpdate.prototype.paymentMethodErrors;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentdetailsmodifier-dictionary\n */\nfunction PaymentDetailsModifier() {};\n/** @type {string} */\nPaymentDetailsModifier.prototype.supportedMethods;\n/** @type {!PaymentItem|undefined} */\nPaymentDetailsModifier.prototype.total;\n/** @type {!Array<!PaymentItem>|undefined} */\nPaymentDetailsModifier.prototype.additionalDisplayItems;\n/** @type {!Object|undefined} */\nPaymentDetailsModifier.prototype.data;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentoptions-dictionary\n */\nfunction PaymentOptions() {};\n/** @type {boolean|undefined} */\nPaymentOptions.prototype.requestPayerName;\n/** @type {boolean|undefined} */\nPaymentOptions.prototype.requestBillingAddress;\n/** @type {boolean|undefined} */\nPaymentOptions.prototype.requestPayerEmail;\n/** @type {boolean|undefined} */\nPaymentOptions.prototype.requestPayerPhone;\n/** @type {boolean|undefined} */\nPaymentOptions.prototype.requestShipping;\n/** @type {string|undefined} */\nPaymentOptions.prototype.shippingType;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentitem-dictionary\n */\nfunction PaymentItem() {};\n/** @type {string} */\nPaymentItem.prototype.label;\n/** @type {!PaymentCurrencyAmount} */\nPaymentItem.prototype.amount;\n/** @type {boolean|undefined} */\nPaymentItem.prototype.pending;\n\n/**\n * @interface\n * @see https://w3c.github.io/payment-request/#paymentaddress-interface\n */\nfunction PaymentAddress() {}\n/**\n * @return {Object}\n * @override\n */\nPaymentAddress.prototype.toJSON = function() {};\n/** @const {string|undefined} */\nPaymentAddress.prototype.city;\n/** @const {string|undefined} */\nPaymentAddress.prototype.country;\n/** @const {string|undefined} */\nPaymentAddress.prototype.dependentLocality;\n/** @const {string|undefined} */\nPaymentAddress.prototype.organization;\n/** @const {string|undefined} */\nPaymentAddress.prototype.phone;\n/** @const {string|undefined} */\nPaymentAddress.prototype.postalCode;\n/** @const {string|undefined} */\nPaymentAddress.prototype.recipient;\n/** @const {string|undefined} */\nPaymentAddress.prototype.region;\n/** @const {string|undefined} */\nPaymentAddress.prototype.sortingCode;\n/** @const {!Array<string>|undefined} */\nPaymentAddress.prototype.addressLine;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#addressinit-dictionary\n */\nfunction AddressInit() {};\n/** @type {string|undefined} */\nAddressInit.prototype.country;\n/** @type {!Array<string>|undefined} */\nAddressInit.prototype.addressLine;\n/** @type {string|undefined} */\nAddressInit.prototype.region;\n/** @type {string|undefined} */\nAddressInit.prototype.city;\n/** @type {string|undefined} */\nAddressInit.prototype.dependentLocality;\n/** @type {string|undefined} */\nAddressInit.prototype.postalCode;\n/** @type {string|undefined} */\nAddressInit.prototype.sortingCode;\n/** @type {string|undefined} */\nAddressInit.prototype.organization;\n/** @type {string|undefined} */\nAddressInit.prototype.recipient;\n/** @type {string|undefined} */\nAddressInit.prototype.phone;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#addresserrors-dictionary\n */\nfunction AddressErrors() {};\n/** @type {string|undefined} */\nAddressErrors.prototype.addressLine;\n/** @type {string|undefined} */\nAddressErrors.prototype.city;\n/** @type {string|undefined} */\nAddressErrors.prototype.country;\n/** @type {string|undefined} */\nAddressErrors.prototype.dependentLocality;\n/** @type {string|undefined} */\nAddressErrors.prototype.organization;\n/** @type {string|undefined} */\nAddressErrors.prototype.phone;\n/** @type {string|undefined} */\nAddressErrors.prototype.postalCode;\n/** @type {string|undefined} */\nAddressErrors.prototype.recipient;\n/** @type {string|undefined} */\nAddressErrors.prototype.region;\n/** @type {string|undefined} */\nAddressErrors.prototype.sortingCode;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentshippingoption-dictionary\n */\nfunction PaymentShippingOption() {};\n/** @type {string} */\nPaymentShippingOption.prototype.id;\n/** @type {string} */\nPaymentShippingOption.prototype.label;\n/** @type {!PaymentCurrencyAmount} */\nPaymentShippingOption.prototype.amount;\n/** @type {boolean|undefined} */\nPaymentShippingOption.prototype.selected;\n\n/**\n * @constructor\n * @implements {EventTarget}\n * @see https://w3c.github.io/payment-request/#paymentresponse-interface\n */\nfunction PaymentResponse() {}\n/**\n * @return {!Object}\n * @override\n */\nPaymentResponse.prototype.toJSON = function() {};\n/** @const {string} */\nPaymentResponse.prototype.requestId;\n/** @const {string} */\nPaymentResponse.prototype.methodName;\n/** @const {!Object} */\nPaymentResponse.prototype.details;\n/** @const {?PaymentAddress} */\nPaymentResponse.prototype.shippingAddress;\n/** @const {?string} */\nPaymentResponse.prototype.shippingOption;\n/** @const {?string} */\nPaymentResponse.prototype.payerName;\n/** @const {?string} */\nPaymentResponse.prototype.payerEmail;\n/** @const {?string} */\nPaymentResponse.prototype.payerPhone;\n/**\n * @param {string=} result\n * @return {!Promise<undefined>}\n */\nPaymentResponse.prototype.complete = function(result) {};\n/**\n * @param {!PaymentValidationErrors=} errorFields\n * @return {!Promise<undefined>}\n */\nPaymentResponse.prototype.retry = function(errorFields) {};\n/** @type {?function(!Event)} */\nPaymentResponse.prototype.onpayerdetailchange;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#paymentvalidationerrors-dictionary\n */\nfunction PaymentValidationErrors() {};\n/** @type {!PayerErrors|undefined} */\nPaymentValidationErrors.prototype.payer;\n/** @type {!AddressErrors|undefined} */\nPaymentValidationErrors.prototype.shippingAddress;\n/** @type {string|undefined} */\nPaymentValidationErrors.prototype.error;\n/** @type {!Object|undefined} */\nPaymentValidationErrors.prototype.paymentMethod;\n\n/**\n * @record\n * @see https://w3c.github.io/payment-request/#payererrors-dictionary\n */\nfunction PayerErrors() {};\n/** @type {string|undefined} */\nPayerErrors.prototype.email;\n/** @type {string|undefined} */\nPayerErrors.prototype.name;\n/** @type {string|undefined} */\nPayerErrors.prototype.phone;\n\n/**\n * @constructor\n * @param {string} type\n * @param {!MerchantValidationEventInit=} eventInitDict\n * @extends {Event}\n * @see https://w3c.github.io/payment-request/#merchantvalidationevent-interface\n */\nfunction MerchantValidationEvent(type, eventInitDict) {};\n/** @const {string} */\nMerchantValidationEvent.prototype.methodName;\n/** @const {string} */\nMerchantValidationEvent.prototype.validationURL;\n/**\n * @param {!Promise<undefined>} merchantSessionPromise\n * @return {undefined}\n */\nMerchantValidationEvent.prototype.complete = function(\n merchantSessionPromise) {};\n\n/**\n * @extends {EventInit}\n * @record\n * @see https://w3c.github.io/payment-request/#merchantvalidationeventinit-dictionary\n */\nfunction MerchantValidationEventInit() {};\n/** @type {string|undefined} */\nMerchantValidationEventInit.prototype.methodName;\n/** @type {string|undefined} */\nMerchantValidationEventInit.prototype.validationURL;\n\n/**\n * @constructor\n * @param {string} type\n * @param {!PaymentMethodChangeEventInit=} eventInitDict\n * @extends {PaymentRequestUpdateEvent}\n * @see https://w3c.github.io/payment-request/#paymentmethodchangeevent-interface\n */\nfunction PaymentMethodChangeEvent(type, eventInitDict) {};\n/** @const {string} */\nPaymentMethodChangeEvent.prototype.methodName;\n/** @const {?Object} */\nPaymentMethodChangeEvent.prototype.methodDetails;\n\n/**\n * @extends {PaymentRequestUpdateEventInit}\n * @record\n * @see https://w3c.github.io/payment-request/#paymentmethodchangeeventinit-dictionary\n */\nfunction PaymentMethodChangeEventInit() {};\n/** @type {string|undefined} */\nPaymentMethodChangeEventInit.prototype.methodName;\n/** @type {?Object|undefined} */\nPaymentMethodChangeEventInit.prototype.methodDetails;\n\n/**\n * @constructor\n * @param {string} type\n * @param {!PaymentRequestUpdateEventInit=} eventInitDict\n * @extends {Event}\n * @see https://w3c.github.io/payment-request/#paymentrequestupdateevent-interface\n */\nfunction PaymentRequestUpdateEvent(type, eventInitDict) {};\n/**\n * @param {!Promise<!PaymentDetailsUpdate>} detailsPromise\n * @return {undefined}\n */\nPaymentRequestUpdateEvent.prototype.updateWith = function(detailsPromise) {};\n\n/**\n * @extends {EventInit}\n * @record\n * @see https://w3c.github.io/payment-request/#paymentrequestupdateeventinit-dictionary\n */\nfunction PaymentRequestUpdateEventInit() {};\n',
  828. "externs/w3c_permissions.js":"/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C's Permissions API.\n * @see https://w3c.github.io/permissions/\n *\n * @externs\n */\n\n\n/**\n * @typedef {{name: PermissionName}}\n * @see https://w3c.github.io/permissions/#permission-descriptor\n */\nvar PermissionDescriptor;\n\n\n/**\n * @typedef {{name: PermissionName, userVisibleOnly: boolean}}\n * @see https://w3c.github.io/permissions/#push\n */\nvar PushPermissionDescriptor;\n\n\n/**\n * @typedef {{name: PermissionName, sysex: boolean}}\n * @see https://w3c.github.io/permissions/#midi\n */\nvar MidiPermissionDescriptor;\n\n\n/**\n * Set of possible values: 'geolocation', 'notifications', 'push', 'midi'.\n * @typedef {string}\n * @see https://w3c.github.io/permissions/#idl-def-PermissionName\n */\nvar PermissionName;\n\n\n/**\n * Set of possible values: 'granted', 'denied', 'prompt'.\n * @typedef {string}\n * @see https://w3c.github.io/permissions/#idl-def-PermissionState\n */\nvar PermissionState;\n\n\n/**\n * @constructor\n * @implements {EventTarget}\n * @see https://w3c.github.io/permissions/#status-of-a-permission\n */\nfunction PermissionStatus() {}\n\n/** @type {PermissionState} */\nPermissionStatus.prototype.state;\n\n/**\n * @type {PermissionState}\n * @deprecated, use PermissionStatus.state for newer clients\n */\nPermissionStatus.prototype.status;\n\n/** @type {?function(!Event)} */\nPermissionStatus.prototype.onchange;\n\n/** @override */\nPermissionStatus.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nPermissionStatus.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nPermissionStatus.prototype.dispatchEvent = function(evt) {};\n\n\n/**\n * @constructor\n * @see https://w3c.github.io/permissions/#idl-def-permissions\n */\nfunction Permissions() {}\n\n/**\n * @param {PermissionDescriptor} permission The permission to look up\n * @return {!Promise<!PermissionStatus>}\n * @see https://w3c.github.io/permissions/#dom-permissions-query\n */\nPermissions.prototype.query = function(permission) {};\n\n\n/** @type {Permissions} */\nNavigator.prototype.permissions;\n",
  829. "externs/w3c_pointerlock.js":'/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Pointer Lock API.\n * @see https://w3c.github.io/pointerlock/\n *\n * @externs\n */\n\n/**\n * TODO(bradfordcsmith): update the link when PR is merged\n * @see https://github.com/w3c/pointerlock/pull/49/\n * @record\n */\nfunction PointerLockOptions() {}\n\n/** @type {undefined|boolean} */\nPointerLockOptions.prototype.unadjustedMovement;\n\n/**\n * @see https://w3c.github.io/pointerlock/#widl-Element-requestPointerLock-void\n * @param {!PointerLockOptions=} options\n * @return {void|!Promise<void>}\n */\nElement.prototype.requestPointerLock = function(options) {};\n\n/**\n * @see https://w3c.github.io/pointerlock/#widl-Document-pointerLockElement\n * @type {?Element}\n */\nDocument.prototype.pointerLockElement;\n\n/**\n * @see https://w3c.github.io/pointerlock/#widl-Document-exitPointerLock-void\n * @return {void}\n */\nDocument.prototype.exitPointerLock = function() {};\n\n/**\n * @see https://w3c.github.io/pointerlock/#widl-MouseEvent-movementX\n * @type {number}\n */\nMouseEvent.prototype.movementX;\n\n/**\n * @see https://w3c.github.io/pointerlock/#widl-MouseEvent-movementY\n * @type {number}\n */\nMouseEvent.prototype.movementY;\n',
  830. "externs/w3c_range.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s range specification.\n * This file depends on w3c_dom2.js.\n * The whole file has been fully type annotated.\n * Created from\n * http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n */\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interface\n */\nfunction Range() {}\n\n// constants on the constructor\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.START_TO_START;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.START_TO_END;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.END_TO_END;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.END_TO_START;\n\n// constants repeated on the prototype\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.prototype.START_TO_START;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.prototype.START_TO_END;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.prototype.END_TO_END;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\n */\nRange.prototype.END_TO_START;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParent\n */\nRange.prototype.startContainer;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffset\n */\nRange.prototype.startOffset;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParent\n */\nRange.prototype.endContainer;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffset\n */\nRange.prototype.endOffset;\n\n/**\n * @type {boolean}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsed\n */\nRange.prototype.collapsed;\n\n/**\n * @type {Node}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParent\n */\nRange.prototype.commonAncestorContainer;\n\n/**\n * @param {Node} refNode\n * @param {number} offset\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStart\n */\nRange.prototype.setStart = function(refNode, offset) {};\n\n/**\n * @param {Node} refNode\n * @param {number} offset\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEnd\n */\nRange.prototype.setEnd = function(refNode, offset) {};\n\n/**\n * @param {Node} refNode\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBefore\n */\nRange.prototype.setStartBefore = function(refNode) {};\n\n/**\n * @param {Node} refNode\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfter\n */\nRange.prototype.setStartAfter = function(refNode) {};\n\n/**\n * @param {Node} refNode\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBefore\n */\nRange.prototype.setEndBefore = function(refNode) {};\n\n/**\n * @param {Node} refNode\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfter\n */\nRange.prototype.setEndAfter = function(refNode) {};\n\n/**\n * @param {boolean} toStart\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapse\n */\nRange.prototype.collapse = function(toStart) {};\n\n/**\n * @param {Node} refNode\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNode\n */\nRange.prototype.selectNode = function(refNode) {};\n\n/**\n * @param {Node} refNode\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents\n */\nRange.prototype.selectNodeContents = function(refNode) {};\n\n/**\n * @param {number} how\n * @param {Range} sourceRange\n * @return {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPoints\n */\nRange.prototype.compareBoundaryPoints = function(how, sourceRange) {};\n\n/**\n * @return {number}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContents\n */\nRange.prototype.deleteContents = function() {};\n\n/**\n * @return {DocumentFragment}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContents\n */\nRange.prototype.extractContents = function() {};\n\n/**\n * @return {DocumentFragment}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContents\n */\nRange.prototype.cloneContents = function() {};\n\n/**\n * @param {Node} newNode\n * @return {DocumentFragment}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNode\n */\nRange.prototype.insertNode = function(newNode) {};\n\n/**\n * @param {Node} newParent\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContents\n */\nRange.prototype.surroundContents = function(newParent) {};\n\n/**\n * @return {Range}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clone\n */\nRange.prototype.cloneRange = function() {};\n\n/**\n * @return {undefined}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detach\n */\nRange.prototype.detach = function() {};\n\n// Introduced in DOM Level 2:\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl\n */\nfunction DocumentRange() {}\n\n/**\n * @return {Range}\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRange\n */\nDocumentRange.prototype.createRange = function() {};\n',
  831. "externs/w3c_referrer_policy.js":'/*\n * Copyright 2018 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s referrer policy specification.\n * @see https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-delivery\n * @externs\n */\n\n/** @type {string} */\nHTMLAnchorElement.prototype.referrerPolicy;\n\n/** @type {string} */\nHTMLAreaElement.prototype.referrerPolicy;\n\n/** @type {string} */\nHTMLImageElement.prototype.referrerPolicy;\n\n/** @type {string} */\nHTMLIFrameElement.prototype.referrerPolicy;\n\n/** @type {string} */\nHTMLLinkElement.prototype.referrerPolicy;\n',
  832. "externs/w3c_requestidlecallback.js":'/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for cooperative scheduling of background tasks in\n * the browser. This spec is still very likely to change.\n *\n * @see https://w3c.github.io/requestidlecallback/\n * @see https://developers.google.com/web/updates/2015/08/27/using-requestidlecallback?hl=en\n * @externs\n */\n\n\n/**\n * @typedef {{\n * timeout: (number|undefined)\n * }}\n */\nvar IdleCallbackOptions;\n\n\n/**\n * Schedules a callback to run when the browser is idle.\n * @param {function(!IdleDeadline): void} callback Called when the browser is idle.\n * @param {number|IdleCallbackOptions=} opt_options If set, gives the browser a time in ms by which\n * it must execute the callback. No timeout enforced otherwise.\n * @return {number} A handle that can be used to cancel the scheduled callback.\n */\nfunction requestIdleCallback(callback, opt_options) {}\n\n\n/**\n * Cancels a callback scheduled to run when the browser is idle.\n * @param {number} handle The handle returned by `requestIdleCallback` for\n * the scheduled callback to cancel.\n * @return {undefined}\n */\nfunction cancelIdleCallback(handle) {}\n\n\n\n/**\n * An interface for an object passed into the callback for\n * `requestIdleCallback` that remains up-to-date on the amount of idle\n * time left in the current time slice.\n * @interface\n */\nfunction IdleDeadline() {}\n\n\n/**\n * @return {number} The amount of idle time (milliseconds) remaining in the\n * current time slice. Will always be positive or 0.\n */\nIdleDeadline.prototype.timeRemaining = function() {};\n\n\n/**\n * Whether the callback was forced to run due to a timeout. Specifically,\n * whether the callback was invoked by the idle callback timeout algorithm:\n * https://w3c.github.io/requestidlecallback/#dfn-invoke-idle-callback-timeout-algorithm\n * @type {boolean}\n */\nIdleDeadline.prototype.didTimeout;\n',
  833. "externs/w3c_rtc.js":'/*\n * Copyright 2012 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for components of the WebRTC browser API.\n * @see https://www.w3.org/TR/webrtc/\n * @see https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-19\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API\n * @see https://www.w3.org/TR/mediacapture-streams/\n *\n * @externs\n * @author bemasc@google.com (Benjamin M. Schwartz)\n */\n\n/**\n * @typedef {string}\n * @see {https://www.w3.org/TR/mediacapture-streams/\n * #idl-def-MediaStreamTrackState}\n * In WebIDL this is an enum with values \'live\', \'mute\', and \'ended\',\n * but there is no mechanism in Closure for describing a specialization of\n * the string type.\n */\nvar MediaStreamTrackState;\n\n/**\n * @interface\n */\nfunction SourceInfo() {}\n\n/** @const {string} */\nSourceInfo.prototype.kind;\n\n/** @const {string} */\nSourceInfo.prototype.id;\n\n/** @const {?string} */\nSourceInfo.prototype.label;\n\n/** @const {boolean} */\nSourceInfo.prototype.facing;\n\n/**\n * @interface\n * @see https://w3c.github.io/mediacapture-image/#mediasettingsrange-section\n */\nfunction MediaSettingsRange() {}\n\n/**\n * @const {number}\n */\nMediaSettingsRange.prototype.max;\n\n/**\n * @const {number}\n */\nMediaSettingsRange.prototype.min;\n\n/**\n * @const {number}\n */\nMediaSettingsRange.prototype.step;\n\n/**\n * @interface\n * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaTrackCapabilities\n * @see https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section\n */\nfunction MediaTrackCapabilities() {}\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.width;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.height;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.aspectRatio;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.frameRate;\n\n/** @type {!Array<string>} */\nMediaTrackCapabilities.prototype.facingMode;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.volume;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.sampleRate;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.sampleSize;\n\n/** @type {!Array<boolean>} */\nMediaTrackCapabilities.prototype.echoCancellation;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.latency;\n\n/** @type {number} */\nMediaTrackCapabilities.prototype.channelCount;\n\n/** @type {string} */\nMediaTrackCapabilities.prototype.deviceId;\n\n/** @type {string} */\nMediaTrackCapabilities.prototype.groupId;\n\n/** @type {!Array<string>} */\nMediaTrackCapabilities.prototype.whiteBalanceMode;\n\n/** @type {!Array<string>} */\nMediaTrackCapabilities.prototype.exposureMode;\n\n/** @type {!Array<string>} */\nMediaTrackCapabilities.prototype.focusMode;\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.exposureCompensation;\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.colorTemperature\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.iso\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.brightness\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.contrast\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.saturation\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.sharpness\n\n/** @type {!MediaSettingsRange} */\nMediaTrackCapabilities.prototype.zoom\n\n/** @type {boolean} */\nMediaTrackCapabilities.prototype.torch\n\n/**\n * @interface\n * @see https://www.w3.org/TR/mediacapture-streams/#media-track-settings\n * @see https://w3c.github.io/mediacapture-image/#mediatracksettings-section\n */\nfunction MediaTrackSettings() {}\n\n/** @type {number} */\nMediaTrackSettings.prototype.width;\n\n/** @type {number} */\nMediaTrackSettings.prototype.height;\n\n/** @type {number} */\nMediaTrackSettings.prototype.aspectRatio;\n\n/** @type {number} */\nMediaTrackSettings.prototype.frameRate;\n\n/** @type {string} */\nMediaTrackSettings.prototype.facingMode;\n\n/** @type {number} */\nMediaTrackSettings.prototype.volume;\n\n/** @type {number} */\nMediaTrackSettings.prototype.sampleRate;\n\n/** @type {number} */\nMediaTrackSettings.prototype.sampleSize;\n\n/** @type {boolean} */\nMediaTrackSettings.prototype.echoCancellation;\n\n/** @type {number} */\nMediaTrackSettings.prototype.latency;\n\n/** @type {number} */\nMediaTrackSettings.prototype.channelCount;\n\n/** @type {string} */\nMediaTrackSettings.prototype.deviceId;\n\n/** @type {string} */\nMediaTrackSettings.prototype.groupId;\n\n/** @type {string} */\nMediaTrackSettings.prototype.whiteBalanceMode;\n\n/** @type {string} */\nMediaTrackSettings.prototype.exposureMode;\n\n/** @type {string} */\nMediaTrackSettings.prototype.focusMode;\n\n/** @type {!Array<{x: number, y: number}>} */\nMediaTrackSettings.prototype.pointsOfInterest;\n\n/** @type {number} */\nMediaTrackSettings.prototype.exposureCompensation;\n\n/** @type {number} */\nMediaTrackSettings.prototype.colorTemperature\n\n/** @type {number} */\nMediaTrackSettings.prototype.iso\n\n/** @type {number} */\nMediaTrackSettings.prototype.brightness\n\n/** @type {number} */\nMediaTrackSettings.prototype.contrast\n\n/** @type {number} */\nMediaTrackSettings.prototype.saturation\n\n/** @type {number} */\nMediaTrackSettings.prototype.sharpness\n\n/** @type {number} */\nMediaTrackSettings.prototype.zoom\n\n/** @type {boolean} */\nMediaTrackSettings.prototype.torch\n\n\n/**\n * @interface\n * @see https://w3c.github.io/mediacapture-main/#media-track-supported-constraints\n */\nfunction MediaTrackSupportedConstraints() {}\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.width;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.height;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.aspectRatio;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.frameRate;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.facingMode;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.volume;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.sampleRate;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.sampleSize;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.echoCancellation;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.autoGainControl;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.noiseSuppression;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.latency;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.channelCount;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.deviceId;\n\n/** @type {boolean|undefined} */\nMediaTrackSupportedConstraints.prototype.groupId;\n\n\n/**\n * @interface\n * @extends {EventTarget}\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\n */\nfunction MediaStreamTrack() {}\n\n/**\n * @const {string}\n */\nMediaStreamTrack.prototype.kind;\n\n/**\n * @const {string}\n */\nMediaStreamTrack.prototype.id;\n\n/**\n * @const {string}\n */\nMediaStreamTrack.prototype.label;\n\n/**\n * @type {boolean}\n */\nMediaStreamTrack.prototype.enabled;\n\n/**\n * @const {boolean}\n */\nMediaStreamTrack.prototype.muted;\n\n/**\n * @type {string}\n * @see https://crbug.com/653531\n * @see https://wicg.github.io/mst-content-hint/\n */\nMediaStreamTrack.prototype.contentHint;\n\n/**\n * @const {boolean}\n */\nMediaStreamTrack.prototype.remote;\n\n/**\n * @type {MediaStreamTrackState}\n * Read only.\n */\nMediaStreamTrack.prototype.readyState;\n\n/**\n * @type {?function(!Event)}\n */\nMediaStreamTrack.prototype.onmute;\n\n/**\n * @type {?function(!Event)}\n */\nMediaStreamTrack.prototype.onunmute;\n\n/**\n * @type {?function(!Event)}\n */\nMediaStreamTrack.prototype.onended;\n\n/**\n * @type {?function(!Event)}\n */\nMediaStreamTrack.prototype.onoverconstrained;\n\n/**\n * Applies the specified set of constraints to the track, if any specified; or\n * if no constraints are specified, removes all constraints from the track.\n *\n * @param {MediaTrackConstraints=} constraints Constraints to apply to the\n * track.\n * @return {!Promise<void>} A |Promise| that is resolved when the constraints\n * have been applied, or rejected if there was an error applying the\n * constraints.\n */\nMediaStreamTrack.prototype.applyConstraints = function(constraints) {};\n\n/**\n * @return {!MediaStreamTrack}\n */\nMediaStreamTrack.prototype.clone = function() {};\n\n/** @return {void} */\nMediaStreamTrack.prototype.stop = function() {};\n\n/** @return {!MediaTrackCapabilities} */\nMediaStreamTrack.prototype.getCapabilities = function() {};\n\n/** @return {!MediaTrackConstraints} */\nMediaStreamTrack.prototype.getConstraints = function() {};\n\n/** @return {!MediaTrackSettings} */\nMediaStreamTrack.prototype.getSettings = function() {};\n\n/**\n * @typedef {{track: MediaStreamTrack}}\n */\nvar MediaStreamTrackEventInit;\n\n\n/**\n * @param {string} type\n * @param {!MediaStreamTrackEventInit} eventInitDict\n * @constructor\n * @extends {Event}\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrackevent\n */\nfunction MediaStreamTrackEvent(type, eventInitDict) {}\n\n/**\n * @const {!MediaStreamTrack}\n */\nMediaStreamTrackEvent.prototype.track;\n\n/**\n * @param {!MediaStream|!Array<!MediaStreamTrack>=} streamOrTracks\n * @constructor\n * @implements {EventTarget}\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastream\n */\nfunction MediaStream(streamOrTracks) {}\n\n/**\n * @override\n */\nMediaStream.prototype.addEventListener = function(type, listener,\n opt_useCapture) {};\n\n/**\n * @override\n */\nMediaStream.prototype.removeEventListener = function(type, listener,\n opt_useCapture) {};\n\n/**\n * @override\n * @return {boolean}\n */\nMediaStream.prototype.dispatchEvent = function(evt) {};\n\n/**\n * TODO(user): Remove this property.\n * @deprecated\n * @const {string}\n */\nMediaStream.prototype.label;\n\n/**\n * @const {string}\n */\nMediaStream.prototype.id;\n\n/**\n * @return {!Array<!MediaStreamTrack>}\n */\nMediaStream.prototype.getAudioTracks = function() {};\n\n/**\n * @return {!Array<!MediaStreamTrack>}\n */\nMediaStream.prototype.getVideoTracks = function() {};\n\n/**\n * @return {!Array<!MediaStreamTrack>}\n */\nMediaStream.prototype.getTracks = function() {};\n\n/**\n * @param {string} trackId\n * @return {MediaStreamTrack}\n */\nMediaStream.prototype.getTrackById = function(trackId) {};\n\n/**\n * @param {!MediaStreamTrack} track\n * @return {undefined}\n */\nMediaStream.prototype.addTrack = function(track) {};\n\n/**\n * @param {!MediaStreamTrack} track\n * @return {undefined}\n */\nMediaStream.prototype.removeTrack = function(track) {};\n\n/**\n * @return {!MediaStream}\n */\nMediaStream.prototype.clone = function() {};\n\n/**\n * @deprecated\n * @type {boolean}\n */\nMediaStream.prototype.ended;\n\n/**\n * @deprecated\n * @type {?function(!Event)}\n */\nMediaStream.prototype.onended;\n\n/**\n * @type {boolean}\n */\nMediaStream.prototype.active;\n\n/**\n * @type {?function(!Event)}\n */\nMediaStream.prototype.onactive;\n\n/**\n * @type {?function(!Event)}\n */\nMediaStream.prototype.oninactive;\n\n/**\n * @type {?function(!MediaStreamTrackEvent)}\n */\nMediaStream.prototype.onaddtrack;\n\n/**\n * @type {?function(!MediaStreamTrackEvent)}\n */\nMediaStream.prototype.onremovetrack;\n\n/**\n * @deprecated\n * TODO(user): Remove this method once browsers have updated to\n * MediaStreamTrack.stop().\n * @return {undefined}\n */\nMediaStream.prototype.stop = function() {};\n\n/**\n * @typedef {{tone: string}}\n * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventinit\n */\nvar RTCDTMFToneChangeEventInit;\n\n\n/**\n * @param {string} type\n * @param {!RTCDTMFToneChangeEventInit} eventInitDict\n * @constructor\n * @extends {Event}\n * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeevent\n */\nfunction RTCDTMFToneChangeEvent(type, eventInitDict) {}\n\n/**\n * @const {string}\n */\nRTCDTMFToneChangeEvent.prototype.tone;\n\n\n/**\n * @interface\n * @see https://www.w3.org/TR/webrtc/#rtcdtmfsender\n */\nfunction RTCDTMFSender() {}\n\n/**\n * @param {string} tones\n * @param {number=} opt_duration\n * @param {number=} opt_interToneGap\n */\nRTCDTMFSender.prototype.insertDTMF =\n function(tones, opt_duration, opt_interToneGap) {};\n\n/**\n * @type {?boolean}\n */\nRTCDTMFSender.prototype.canInsertDTMF;\n\n/**\n * @type {?function(!RTCDTMFToneChangeEvent)}\n */\nRTCDTMFSender.prototype.ontonechange;\n\n/**\n * @const {string}\n */\nRTCDTMFSender.prototype.toneBuffer;\n\n\n/**\n * @typedef {{\n * mimeType: string,\n * clockRate: number,\n * channels: (number|undefined),\n * sdpFmtpLine: (string|undefined),\n * }}\n *\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpcodeccapability\n */\nvar RTCRtpCodecCapability;\n\n\n/**\n * @typedef {{\n * uri: string,\n * }}\n *\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpheaderextensioncapability\n */\nvar RTCRtpHeaderExtensionCapability;\n\n\n/**\n * @typedef {{\n * codecs: !Array<!RTCRtpCodecCapability>,\n * headerExtensions: !Array<!RTCRtpHeaderExtensionCapability>,\n * }}\n *\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpcapabilities\n */\nvar RTCRtpCapabilities;\n\n\n/**\n * @constructor\n * @see https://www.w3.org/TR/webrtc/#rtcrtpsender-interface\n */\nfunction RTCRtpSender() {}\n\n/**\n * @const {!RTCDTMFSender}\n */\nRTCRtpSender.prototype.dtmf;\n\n/**\n * @const {!MediaStreamTrack}\n */\nRTCRtpSender.prototype.track;\n\n/**\n * @param {?MediaStreamTrack} track\n * @return {!Promise<void>}\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpsender\n */\nRTCRtpSender.prototype.replaceTrack = function(track) {};\n\n\n/**\n * @return {!RTCRtpSendParameters}\n */\nRTCRtpSender.prototype.getParameters = function() {};\n\n\n/**\n * @param {!RTCRtpSendParameters} params\n * @return {!Promise<undefined>}\n */\nRTCRtpSender.prototype.setParameters = function(params) {};\n\n\n/**\n * @return {!Promise<!RTCStatsReport>}\n */\nRTCRtpSender.prototype.getStats = function() {};\n\n/**\n * @param {string} kind\n * @return {?RTCRtpCapabilities}\n */\nRTCRtpSender.getCapabilities = function(kind) {};\n\n\n/**\n * @record\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpsendparameters\n */\nfunction RTCRtpSendParameters() {}\n\n/**\n * @type {string|undefined}\n */\nRTCRtpSendParameters.prototype.transactionId;\n\n/**\n * @type {!Array<!RTCRtpEncodingParameters>}\n */\nRTCRtpSendParameters.prototype.encodings;\n\n/**\n * Possible string values are "maintain-framerate", "maintain-resolution", and\n * "balanced".\n * @type {string|undefined}\n */\nRTCRtpSendParameters.prototype.degradationPreference;\n\n\n/**\n * @interface\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpcontributingsource\n */\nfunction RTCRtpContributingSource() {}\n\n/**\n * @type {?number}\n */\nRTCRtpContributingSource.prototype.source;\n\n/**\n * @type {?Date|number}\n */\nRTCRtpContributingSource.prototype.timestamp;\n\n/**\n * @type {number|undefined}\n */\nRTCRtpContributingSource.prototype.audioLevel;\n\n/**\n * This is a relatively new field and browsers may not yet be compliant to the\n * spec.\n * @type {?number}\n * @see https://w3c.github.io/webrtc-pc/#dom-rtcrtpcontributingsource-rtptimestamp\n */\nRTCRtpContributingSource.prototype.rtpTimestamp;\n\n/**\n * @interface\n * @see https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface\n */\nfunction RTCRtpReceiver() {}\n\n/**\n * @const {!MediaStreamTrack}\n */\nRTCRtpReceiver.prototype.track;\n\n/**\n * @return {!Array<!RTCRtpContributingSource>}\n */\nRTCRtpReceiver.prototype.getContributingSources = function() {};\n\n/**\n * @return {!Array<!RTCRtpContributingSource>}\n */\nRTCRtpReceiver.prototype.getSynchronizationSources = function() {};\n\n\n/**\n * @return {!Promise<!RTCStatsReport>}\n */\nRTCRtpReceiver.prototype.getStats = function() {};\n\n/**\n * Deprecated, the remnant from Chrome Origin Trial experiment:\n * https://developers.chrome.com/origintrials/#/view_trial/1463669878895411201\n * It was embedded into Chrome M79 permamently under name\n * |playoutDelayHint|. We keep it for now for consistency with Chrome\n * clients below M79. Once Origin Trial expires on 4th December 2019, it can\n * be safely removed. TODO(user) clean it up.\n * @see https://github.com/henbos/webrtc-timing/issues/1\n * @type {?number|undefined}\n */\nRTCRtpReceiver.prototype.jitterBufferDelayHint;\n\n/**\n * Chrome exclusive hint to control jitter buffer delay. Measured in seconds.\n * @see https://henbos.github.io/webrtc-extensions/#dfn-playoutdelayhint\n * @type {?number|undefined}\n */\nRTCRtpReceiver.prototype.playoutDelayHint;\n\n/**\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverinit\n * @record\n */\nfunction RTCRtpTransceiverInit() {}\n\n/**\n * The direction of the `RTCRtpTransceiver`. Defaults to "sendrecv".\n * @type {?RTCRtpTransceiverDirection|undefined}\n */\nRTCRtpTransceiverInit.prototype.direction;\n\n/**\n * The streams to add to the tranceiver\'s sender.\n * @type {?Array<!MediaStream>|undefined}\n */\nRTCRtpTransceiverInit.prototype.streams;\n\n/**\n * @type {?Array<!RTCRtpEncodingParameters>|undefined}\n */\nRTCRtpTransceiverInit.prototype.sendEncodings;\n\n/**\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpencodingparameters\n * @record\n */\nfunction RTCRtpEncodingParameters() {}\n\n/**\n * @type {?number|undefined}\n */\nRTCRtpEncodingParameters.prototype.codecPayloadType;\n\n/**\n * Possible values are "disabled" and "enabled".\n * @type {?string|undefined}\n */\nRTCRtpEncodingParameters.prototype.dtx;\n\n/**\n * @type {?boolean|undefined}\n */\nRTCRtpEncodingParameters.prototype.active;\n\n/**\n * Possible values are "very-low", "low" (default), "medium", and "high".\n * @type {?string|undefined}\n */\nRTCRtpEncodingParameters.prototype.priority;\n\n/**\n * Possible values are "very-low", "low" (default), "medium", and "high".\n * @see https://w3c.github.io/webrtc-dscp-exp/\n * @type {?string|undefined}\n */\nRTCRtpEncodingParameters.prototype.networkPriority;\n\n/**\n * @type {?number|undefined}\n */\nRTCRtpEncodingParameters.prototype.ptime;\n\n/**\n * @type {?number|undefined}\n */\nRTCRtpEncodingParameters.prototype.maxBitrate;\n\n/**\n * @type {?number|undefined}\n */\nRTCRtpEncodingParameters.prototype.maxFramerate;\n\n/**\n * @type {?string|number}\n */\nRTCRtpEncodingParameters.prototype.rid;\n\n/**\n * @type {?number|number}\n */\nRTCRtpEncodingParameters.prototype.scaleResolutionDownBy;\n\n/**\n * @interface\n * @see https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface\n */\nfunction RTCRtpTransceiver() {}\n\n/**\n * @const {?string}\n */\nRTCRtpTransceiver.prototype.mid;\n\n/**\n * @const {boolean}\n */\nRTCRtpTransceiver.prototype.stopped;\n\n/**\n * @type {!RTCRtpTransceiverDirection}\n */\nRTCRtpTransceiver.prototype.direction;\n\n/**\n * @const {?RTCRtpTransceiverDirection}\n */\nRTCRtpTransceiver.prototype.currentDirection;\n\n/**\n * @param {!RTCRtpTransceiverDirection} direction\n */\nRTCRtpTransceiver.prototype.setDirection = function(direction) {};\n\n/**\n */\nRTCRtpTransceiver.prototype.stop = function() {};\n\n/**\n * @const {?RTCRtpSender}\n */\nRTCRtpTransceiver.prototype.sender;\n\n/**\n * @const {?RTCRtpReceiver}\n */\nRTCRtpTransceiver.prototype.receiver;\n\n/**\n * @param {!Array<!RTCRtpCodecCapability>} codecs\n */\nRTCRtpTransceiver.prototype.setCodecPreferences = function(codecs) {};\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-longrange\n * @record\n */\nfunction LongRange() {}\n\n/**\n * @type {number|undefined}\n */\nLongRange.prototype.max;\n\n/**\n * @type {number|undefined}\n */\nLongRange.prototype.min;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-doublerange\n * @record\n */\nfunction DoubleRange() {}\n\n/**\n * @type {number|undefined}\n */\nDoubleRange.prototype.max;\n\n/**\n * @type {number|undefined}\n */\nDoubleRange.prototype.min;\n\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainbooleanparameters\n * @record\n */\nfunction ConstrainBooleanParameters() {}\n\n/**\n * @type {boolean|undefined}\n */\nConstrainBooleanParameters.prototype.exact;\n\n/**\n * @type {boolean|undefined}\n */\nConstrainBooleanParameters.prototype.ideal;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomstringparameters\n * @record\n */\nfunction ConstrainDOMStringParameters() {}\n\n/**\n * @type {string|Array<string>|undefined}\n */\nConstrainDOMStringParameters.prototype.exact;\n\n/**\n * @type {string|Array<string>|undefined}\n */\nConstrainDOMStringParameters.prototype.ideal;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindoublerange\n * @record\n * @extends {DoubleRange}\n */\nfunction ConstrainDoubleRange() {}\n\n/**\n * @type {number|undefined}\n */\nConstrainDoubleRange.prototype.exact;\n\n/**\n * @type {number|undefined}\n */\nConstrainDoubleRange.prototype.ideal;\n\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlongrange\n * @record\n * @extends {LongRange}\n */\nfunction ConstrainLongRange() {}\n\n/**\n * @type {number|undefined}\n */\nConstrainLongRange.prototype.exact;\n\n/**\n * @type {number|undefined}\n */\nConstrainLongRange.prototype.ideal;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainboolean\n * @typedef {boolean|ConstrainBooleanParameters}\n */\nvar ConstrainBoolean;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomString\n * @typedef {string|Array<string>|ConstrainDOMStringParameters}\n */\nvar ConstrainDOMString;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindouble\n * @typedef {number|ConstrainDoubleRange}\n */\nvar ConstrainDouble;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlong\n * @typedef {number|ConstrainLongRange}\n */\nvar ConstrainLong;\n\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediatrackconstraintset\n * @record\n * @private\n */\nfunction MediaTrackConstraintSet() {}\n\n/**\n * @type {ConstrainBoolean|undefined}\n */\nMediaTrackConstraintSet.prototype.autoGainControl;\n\n/**\n * @type {ConstrainDouble|undefined}\n */\nMediaTrackConstraintSet.prototype.aspectRatio;\n\n/**\n * @type {ConstrainLong|undefined}\n */\nMediaTrackConstraintSet.prototype.channelCount;\n\n/**\n * @type {ConstrainDOMString|undefined}\n */\nMediaTrackConstraintSet.prototype.deviceId;\n\n/**\n * @type {ConstrainBoolean|undefined}\n */\nMediaTrackConstraintSet.prototype.echoCancellation;\n\n/**\n * @type {ConstrainDOMString|undefined}\n */\nMediaTrackConstraintSet.prototype.facingMode;\n\n/**\n * @type {ConstrainDouble|undefined}\n */\nMediaTrackConstraintSet.prototype.frameRate;\n\n/**\n * @type {ConstrainDOMString|undefined}\n */\nMediaTrackConstraintSet.prototype.groupId;\n\n/**\n * @type {ConstrainLong|undefined}\n */\nMediaTrackConstraintSet.prototype.height;\n\n/**\n * @type {ConstrainDouble|undefined}\n */\nMediaTrackConstraintSet.prototype.latency;\n\n/**\n * @type {ConstrainBoolean|undefined}\n */\nMediaTrackConstraintSet.prototype.noiseSuppression;\n\n/**\n * @type {ConstrainLong|undefined}\n */\nMediaTrackConstraintSet.prototype.sampleRate;\n\n/**\n * @type {ConstrainLong|undefined}\n */\nMediaTrackConstraintSet.prototype.sampleSize;\n\n/**\n * @type {ConstrainDouble|undefined}\n */\nMediaTrackConstraintSet.prototype.volume;\n\n/**\n * @type {ConstrainLong|undefined}\n */\nMediaTrackConstraintSet.prototype.width;\n\n\n/**\n * @record\n * @extends {MediaTrackConstraintSet}\n */\nfunction MediaTrackConstraints() {}\n\n/**\n * @type {Array<!MediaTrackConstraintSet>|undefined}\n */\nMediaTrackConstraints.prototype.advanced;\n\n/**\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints\n * @record\n */\nfunction MediaStreamConstraints() {}\n\n/**\n * @type {boolean|MediaTrackConstraints|undefined}\n */\nMediaStreamConstraints.prototype.audio;\n\n/**\n * @type {boolean|MediaTrackConstraints|undefined}\n */\nMediaStreamConstraints.prototype.video;\n\n/**\n * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html#\n * navigatorusermediaerror-and-navigatorusermediaerrorcallback}\n * @interface\n */\nfunction NavigatorUserMediaError() {}\n\n/**\n * @const {number}\n * @deprecated Removed from the standard and some browsers.\n */\nNavigatorUserMediaError.prototype.PERMISSION_DENIED;\n\n/**\n * @type {number}\n * @deprecated Removed from the standard and some browsers.\n * Read only.\n */\nNavigatorUserMediaError.prototype.code;\n\n/**\n * @type {string}\n * Read only.\n */\nNavigatorUserMediaError.prototype.name;\n\n/**\n * @type {?string}\n * Read only.\n */\nNavigatorUserMediaError.prototype.message;\n\n/**\n * @type {?string}\n * Read only.\n */\nNavigatorUserMediaError.prototype.constraintName;\n\n/**\n * @param {string} type\n * @param {!Object} eventInitDict\n * @constructor\n */\nfunction MediaStreamEvent(type, eventInitDict) {}\n\n/**\n * @const {?MediaStream}\n */\nMediaStreamEvent.prototype.stream;\n\n/**\n * @record\n * @see https://www.w3.org/TR/mediastream-recording/#dictdef-mediarecorderoptions\n */\nfunction MediaRecorderOptions() {}\n\n/** @type {(string|undefined)} */\nMediaRecorderOptions.prototype.mimeType\n\n/** @type {(number|undefined)} */\nMediaRecorderOptions.prototype.audioBitsPerSecond\n\n/** @type {(number|undefined)} */\nMediaRecorderOptions.prototype.videoBitsPerSecond\n\n/** @type {(number|undefined)} */\nMediaRecorderOptions.prototype.bitsPerSecond\n\n/**\n * @see https://www.w3.org/TR/mediastream-recording/#mediarecorder-api\n * @param {!MediaStream} stream\n * @param {MediaRecorderOptions=} options\n * @implements {EventTarget}\n * @constructor\n */\nfunction MediaRecorder(stream, options) {}\n\n/**\n * @override\n */\nMediaRecorder.prototype.addEventListener = function(type, listener,\n opt_useCapture) {};\n\n/**\n * @override\n */\nMediaRecorder.prototype.removeEventListener = function(type, listener,\n opt_useCapture) {};\n\n/**\n * @override\n * @return {boolean}\n */\nMediaRecorder.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @type {!MediaStream}\n */\nMediaRecorder.prototype.stream;\n\n/**\n * @type {string}\n */\nMediaRecorder.prototype.mimeType;\n\n/**\n * @type {string}\n */\nMediaRecorder.prototype.state;\n\n/**\n * @type {(function(!Event)|undefined)}\n */\nMediaRecorder.prototype.onstart;\n\n/**\n * @type {(function(!Event)|undefined)}\n */\nMediaRecorder.prototype.onstop;\n\n/**\n * @type {(function(!Event)|undefined)}\n */\nMediaRecorder.prototype.ondataavailable;\n\n/**\n * @type {(function(!Event)|undefined)}\n */\nMediaRecorder.prototype.onpause;\n\n/**\n * @type {(function(!Event)|undefined)}\n */\nMediaRecorder.prototype.onresume;\n\n/**\n * @type {(function(!Event)|undefined)}\n */\nMediaRecorder.prototype.onerror;\n\n/**\n * @type {number}\n */\nMediaRecorder.prototype.videoBitsPerSecond;\n\n/**\n * @type {number}\n */\nMediaRecorder.prototype.audioBitsPerSecond;\n\n/**\n * @param {number=} timeslice\n */\nMediaRecorder.prototype.start = function(timeslice) {};\n\n/** @return {void} */\nMediaRecorder.prototype.stop = function() {};\n\n/** @return {void} */\nMediaRecorder.prototype.pause = function() {};\n\n/** @return {void} */\nMediaRecorder.prototype.resume = function() {};\n\n/** @return {void} */\nMediaRecorder.prototype.requestData = function() {};\n\n/**\n * @param {string} type\n * @return {boolean}\n */\nMediaRecorder.isTypeSupported = function(type) {};\n\n/**\n * @constructor\n * @extends {Event}\n * @param {string} type\n * @param {{data: !Blob, timecode: (number|undefined)}} eventInitDict\n * @see https://www.w3.org/TR/mediastream-recording/#blobevent-section\n */\nfunction BlobEvent(type, eventInitDict) {}\n\n/** @type {!Blob} */\nBlobEvent.prototype.data;\n\n/** @type {number} */\nBlobEvent.prototype.timecode;\n\n/**\n * @interface\n * @see https://w3c.github.io/mediacapture-image/##photosettings-section\n */\nfunction PhotoSettings() {}\n\n/**\n * @type {string}\n */\nPhotoSettings.prototype.fillLightMode;\n\n/**\n * @type {number}\n */\nPhotoSettings.prototype.imageHeight;\n\n/**\n * @type {number}\n */\nPhotoSettings.prototype.imageWidth;\n\n/**\n * @type {boolean}\n */\nPhotoSettings.prototype.redEyeReduction;\n\n/**\n * @interface\n * @see https://w3c.github.io/mediacapture-image/##photocapabilities-section\n */\nfunction PhotoCapabilities() {}\n\n/**\n * @const {string}\n */\nPhotoCapabilities.prototype.redEyeReduction;\n\n/**\n * @const {!MediaSettingsRange}\n */\nPhotoCapabilities.prototype.imageHeight;\n\n/**\n * @const {!MediaSettingsRange}\n */\nPhotoCapabilities.prototype.imageWidth;\n\n/**\n * @const {!Array<string>}\n */\nPhotoCapabilities.prototype.fillLightMode;\n\n/**\n * @see https://w3c.github.io/mediacapture-image/\n * @param {!MediaStreamTrack} videoTrack\n * @constructor\n */\nfunction ImageCapture(videoTrack) {}\n\n/**\n * @param {!PhotoSettings=} photoSettings\n * @return {!Promise<!Blob>}\n */\nImageCapture.prototype.takePhoto = function(photoSettings) {};\n\n/**\n * @return {!Promise<!PhotoCapabilities>}\n */\nImageCapture.prototype.getPhotoCapabilities = function() {};\n\n/**\n * @return {!Promise<!ImageBitmap>}\n */\nImageCapture.prototype.grabFrame = function() {};\n\n/**\n * @const {!MediaStreamTrack}\n */\nImageCapture.prototype.track;\n\n/**\n * @see https://www.w3.org/TR/webrtc/#rtctrackevent\n * @param {string} type\n * @param {!Object} eventInitDict\n * @constructor\n */\nfunction RTCTrackEvent(type, eventInitDict) {}\n\n/**\n * @const {?RTCRtpReceiver}\n */\nRTCTrackEvent.prototype.receiver;\n\n/**\n * @const {?MediaStreamTrack}\n */\nRTCTrackEvent.prototype.track;\n\n/**\n * @const {?Array<!MediaStream>}\n */\nRTCTrackEvent.prototype.streams;\n\n/**\n * @const {?RTCRtpTransceiver}\n */\nRTCTrackEvent.prototype.transceiver;\n\n/**\n * @typedef {string}\n * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind\n * In WebIDL this is an enum with values \'audioinput\', \'audiooutput\', and\n * \'videoinput\', but there is no mechanism in Closure for describing a\n * specialization of the string type.\n */\nvar MediaDeviceKind;\n\n/**\n * Possible values are "sendrecv", "sendonly", "recvonly", and "inactive".\n * @typedef {string}\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverdirection\n */\nvar RTCRtpTransceiverDirection;\n\n/**\n * @interface\n */\nfunction MediaDeviceInfo() {}\n\n/** @const {string} */\nMediaDeviceInfo.prototype.deviceId;\n\n/** @const {!MediaDeviceKind} */\nMediaDeviceInfo.prototype.kind;\n\n/** @const {string} */\nMediaDeviceInfo.prototype.label;\n\n/** @const {string} */\nMediaDeviceInfo.prototype.groupId;\n\n/**\n * @interface\n * @extends {EventTarget}\n * @see https://www.w3.org/TR/mediacapture-streams/#mediadevices\n */\nfunction MediaDevices() {}\n\n/**\n * @return {!Promise<!Array<!MediaDeviceInfo>>}\n */\nMediaDevices.prototype.enumerateDevices = function() {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\n * @param {!MediaStreamConstraints} constraints\n * @return {!Promise<!MediaStream>}\n */\nMediaDevices.prototype.getUserMedia = function(constraints) {}\n\n/**\n * @see https://w3c.github.io/mediacapture-screen-share/#dom-mediadevices-getdisplaymedia\n * @param {!MediaStreamConstraints=} constraints\n * @return {!Promise<!MediaStream>}\n */\nMediaDevices.prototype.getDisplayMedia = function(constraints) {}\n\n/**\n * @see https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints\n * @return {!MediaTrackSupportedConstraints}\n */\nMediaDevices.prototype.getSupportedConstraints = function() {}\n\n/** @const {!MediaDevices} */\nNavigator.prototype.mediaDevices;\n\n/**\n * @typedef {string}\n * @see https://www.w3.org/TR/webrtc/#rtcsdptype\n * In WebIDL this is an enum with values \'offer\', \'pranswer\', and \'answer\',\n * but there is no mechanism in Closure for describing a specialization of\n * the string type.\n */\nvar RTCSdpType;\n\n/**\n * @param {!Object=} descriptionInitDict The RTCSessionDescriptionInit\n * dictionary. This optional argument may have type\n * {type:RTCSdpType, sdp:string}, but neither of these keys are required to be\n * present, and other keys are ignored, so the closest Closure type is Object.\n * @constructor\n * @see https://www.w3.org/TR/webrtc/#rtcsessiondescription-class\n */\nfunction RTCSessionDescription(descriptionInitDict) {}\n\n/**\n * @type {?RTCSdpType}\n * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-type\n */\nRTCSessionDescription.prototype.type;\n\n/**\n * @type {?string}\n * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-sdp\n */\nRTCSessionDescription.prototype.sdp;\n\n/**\n * TODO(user): Remove this definition once it is removed from the browser.\n * @param {string} label The label index (audio/video/data -> 0,1,2)\n * @param {string} sdp The ICE candidate in SDP text form\n * @constructor\n */\nfunction IceCandidate(label, sdp) {}\n\n/**\n * @return {string}\n */\nIceCandidate.prototype.toSdp = function() {};\n\n/**\n * @type {?string}\n */\nIceCandidate.prototype.label;\n\n/** @record */\nfunction RTCIceCandidateInit() {};\n\n/** @type {?string|undefined} */\nRTCIceCandidateInit.prototype.candidate;\n\n/** @type {(?string|undefined)} */\nRTCIceCandidateInit.prototype.sdpMid;\n\n/** @type {(?number|undefined)} */\nRTCIceCandidateInit.prototype.sdpMLineIndex;\n\n/** @type {(string|undefined)} */\nRTCIceCandidateInit.prototype.usernameFragment;\n\n/**\n * @param {!RTCIceCandidateInit=} candidateInitDict The RTCIceCandidateInit dictionary.\n * @constructor\n * @see https://www.w3.org/TR/webrtc/#rtcicecandidate-interface\n */\nfunction RTCIceCandidate(candidateInitDict) {}\n\n/**\n * @type {?string}\n */\nRTCIceCandidate.prototype.candidate;\n\n/**\n * @type {?string}\n */\nRTCIceCandidate.prototype.sdpMid;\n\n/**\n * @type {?number}\n */\nRTCIceCandidate.prototype.sdpMLineIndex;\n\n/**\n * @typedef {{urls: string}|{urls: !Array<string>}}\n * @private\n * @see https://www.w3.org/TR/webrtc/#rtciceserver-dictionary\n * This dictionary type also has an optional key {credential: ?string}.\n */\nvar RTCIceServerRecord_;\n\n/**\n * @interface\n * @private\n */\nfunction RTCIceServerInterface_() {}\n\n/**\n * @type {string|!Array<string>}\n */\nRTCIceServerInterface_.prototype.urls;\n\n/**\n * @type {?string}\n */\nRTCIceServerInterface_.prototype.username;\n\n/**\n * @type {?string}\n */\nRTCIceServerInterface_.prototype.credential;\n\n/**\n * This type, and several below it, are constructed as unions between records\n *\n * @typedef {RTCIceServerRecord_|RTCIceServerInterface_}\n * @private\n */\nvar RTCIceServer;\n\n/**\n * @typedef {{\n * iceServers: !Array<!RTCIceServer>,\n * sdpSemantics: (string|undefined)\n * }}\n * @private\n */\nvar RTCConfigurationRecord_;\n\n/**\n * @interface\n * @private\n */\nfunction RTCConfigurationInterface_() {}\n\n/**\n * @type {!Array<!RTCIceServer>}\n */\nRTCConfigurationInterface_.prototype.iceServers;\n\n/**\n * Allows specifying the SDP semantics. Valid values are "plan-b" and\n * "unified-plan".\n *\n * @see {@link https://webrtc.org/web-apis/chrome/unified-plan/}\n * @type {string|undefined}\n */\nRTCConfigurationInterface_.prototype.sdpSemantics;\n\n/**\n * @typedef {RTCConfigurationRecord_|RTCConfigurationInterface_}\n */\nvar RTCConfiguration;\n\n/**\n * @typedef {function(!RTCSessionDescription)}\n */\nvar RTCSessionDescriptionCallback;\n\n/**\n * @typedef {function(string)}\n */\nvar RTCPeerConnectionErrorCallback;\n\n/**\n * @typedef {function()}\n */\nvar RTCVoidCallback;\n\n/**\n * @typedef {string}\n */\nvar RTCSignalingState;\n\n/**\n * @typedef {string}\n */\nvar RTCIceConnectionState;\n\n/**\n * @typedef {string}\n */\nvar RTCIceGatheringState;\n\n/**\n * @see https://www.w3.org/TR/webrtc/#rtcpeerconnectionstate-enum\n * @typedef {string}\n */\nvar RTCPeerConnectionState;\n\n/**\n * @param {string} type\n * @param {!Object} eventInitDict\n * @constructor\n */\nfunction RTCPeerConnectionIceEvent(type, eventInitDict) {}\n\n/**\n * @const {RTCIceCandidate}\n */\nRTCPeerConnectionIceEvent.prototype.candidate;\n\n// Note: The specification of RTCStats types is still under development.\n// Declarations here will be updated and removed to follow the development of\n// modern browsers, breaking compatibility with older versions as they become\n// obsolete.\n/**\n * @see https://www.w3.org/TR/webrtc/#dom-rtcstats\n * @interface\n */\nfunction RTCStats() {}\n\n/**\n * @const {?Date|number}\n */\nRTCStats.prototype.timestamp;\n\n/**\n * https://www.w3.org/TR/webrtc-stats/#rtcstatstype-str*\n * @const {string}\n */\nRTCStats.prototype.type;\n\n/**\n * @const {string}\n */\nRTCStats.prototype.id;\n\n/**\n * @see https://www.w3.org/TR/webrtc-stats/#dom-rtcrtpstreamstats\n * @interface\n * @extends {RTCStats}\n */\nfunction RTCRtpStreamStats() {}\n\n/** @const {number} */\nRTCRtpStreamStats.prototype.ssrc;\n\n/** @const {string} */\nRTCRtpStreamStats.prototype.kind;\n\n/** @const {string} */\nRTCRtpStreamStats.prototype.transportId;\n\n/** @const {string} */\nRTCRtpStreamStats.prototype.codecId;\n\n/** @const {number} */\nRTCRtpStreamStats.prototype.firCount;\n\n/** @const {number} */\nRTCRtpStreamStats.prototype.pliCount;\n\n/** @const {number} */\nRTCRtpStreamStats.prototype.nackCount;\n\n/** @const {number} */\nRTCRtpStreamStats.prototype.sliCount;\n\n/** @const {number} */\nRTCRtpStreamStats.prototype.qpSum;\n\n\n/**\n * @see https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats\n * @interface\n * @extends {RTCRtpStreamStats}\n */\nfunction RTCReceivedRtpStreamStats() {}\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.packetsReceived;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.packetsLost;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.jitter;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.packetsDiscarded;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.packetsRepaired;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.burstPacketsLost;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.burstPacketsDiscarded;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.burstLossCount;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.burstDiscardCount;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.burstLossRate;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.burstDiscardRate;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.gapLossRate;\n\n/** @const {number} */\nRTCReceivedRtpStreamStats.prototype.gapDiscardRate;\n\n\n\n/**\n * @see https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats\n * @interface\n * @extends {RTCReceivedRtpStreamStats}\n */\nfunction RTCInboundRtpStreamStats() {}\n\n/** @const {string} */\nRTCInboundRtpStreamStats.prototype.trackId;\n\n/** @const {string} */\nRTCInboundRtpStreamStats.prototype.receiverId;\n\n/** @const {string} */\nRTCInboundRtpStreamStats.prototype.remoteId;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.framesDecoded;\n\n/** @const {?Date|number} */\nRTCInboundRtpStreamStats.prototype.lastPacketReceivedTimestamp;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.averageRtcpInterval;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.bytesReceived;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.packetsFailedDecryption;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.packetsDuplicated;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.audioLevel;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.frameWidth;\n\n/** @const {number} */\nRTCInboundRtpStreamStats.prototype.frameHeight;\n\n/**\n * Firefox specific value.\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.bitrateMean;\n\n/** @const {number|undefined} */\nRTCInboundRtpStreamStats.prototype.concealedSamples;\n\n/** @const {number|undefined} */\nRTCInboundRtpStreamStats.prototype.totalSamplesReceived;\n\n/** @const {number|undefined} */\nRTCInboundRtpStreamStats.prototype.jitterBufferDelay;\n\n/** @const {number|undefined} */\nRTCInboundRtpStreamStats.prototype.jitterBufferEmittedCount;\n\n/**\n * Experimental chrome stats under this origin trial:\n * https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/hE2B1iItPDk\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.jitterBufferFlushes;\n\n/**\n * Experimental chrome stats under this origin trial:\n * https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/hE2B1iItPDk\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.delayedPacketOutageSamples;\n\n/**\n * Safari still reprorting it as inbound-rtp, it supposed to be in remote part.\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.fractionLost;\n\n/**\n * Not available in Safari 13, Firefox 69 (Chrome 81+ only).\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.fecPacketsReceived;\n\n/**\n * Not available in Safari 13, Firefox 69 (Chrome 81+ only).\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.fecPacketsDiscarded;\n\n/**\n * Not available in Safari 13.\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.totalSamplesReceived;\n\n/**\n * Not available in Safari 13.\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.concealedSamples;\n\n/**\n * Not available in Safari 13.\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.silentConcealedSamples;\n\n/**\n * Not available in Safari 13.\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.insertedSamplesForDeceleration\n\n/**\n * Not available in Safari 13.\n * @const {number|undefined}\n */\nRTCInboundRtpStreamStats.prototype.removedSamplesForAcceleration;\n\n/** @const {string|undefined} */\nRTCInboundRtpStreamStats.prototype.decoderImplementation;\n\n\n\n/**\n * @see https://www.w3.org/TR/webrtc-stats/#dom-rtcremoteinboundrtpstreamstats\n * @interface\n * @extends {RTCReceivedRtpStreamStats}\n */\nfunction RTCRemoteInboundRtpStreamStats() {}\n\n/** @const {string} */\nRTCRemoteInboundRtpStreamStats.prototype.localId;\n\n/** @const {number} */\nRTCRemoteInboundRtpStreamStats.prototype.roundTripTime;\n\n/** @const {number} */\nRTCRemoteInboundRtpStreamStats.prototype.fractionLost;\n\n\n/**\n * @see https://www.w3.org/TR/webrtc-stats/#dom-rtcsentrtpstreamstats\n * @interface\n * @extends {RTCRtpStreamStats}\n */\nfunction RTCSentRtpStreamStats() {}\n\n/** @const {number} */\nRTCSentRtpStreamStats.prototype.packetsSent;\n\n/** @const {number} */\nRTCSentRtpStreamStats.prototype.packetsDiscardedOnSend;\n\n/** @const {number} */\nRTCSentRtpStreamStats.prototype.fecPacketsSent;\n\n/** @const {number} */\nRTCSentRtpStreamStats.prototype.bytesSent;\n\n/** @const {number} */\nRTCSentRtpStreamStats.prototype.bytesDiscardedOnSend;\n\n\n/**\n/**\n * @see https://www.w3.org/TR/webrtc-stats/#dom-rtcoutboundrtpstreamstats\n * @interface\n * @extends {RTCSentRtpStreamStats}\n */\nfunction RTCOutboundRtpStreamStats() {}\n\n/** @const {string} */\nRTCOutboundRtpStreamStats.prototype.trackId;\n\n/** @const {string} */\nRTCOutboundRtpStreamStats.prototype.senderId;\n\n/** @const {string} */\nRTCOutboundRtpStreamStats.prototype.remoteId;\n\n/** @const {number} */\nRTCOutboundRtpStreamStats.prototype.lastPacketSentTimestamp;\n\n/** @const {number} */\nRTCOutboundRtpStreamStats.prototype.targetBitrate;\n\n/** @const {number} */\nRTCOutboundRtpStreamStats.prototype.framesEncoded;\n\n/** @const {number} */\nRTCOutboundRtpStreamStats.prototype.totalEncodeTime;\n\n/** @const {number} */\nRTCOutboundRtpStreamStats.prototype.averageRTCPInterval;\n\n/** @const {number|undefined} */\nRTCOutboundRtpStreamStats.prototype.qualityLimitationResolutionChanges;\n\n/** @const {string|undefined} */\nRTCOutboundRtpStreamStats.prototype.qualityLimitationReason;\n\n/** @const {string} */\nRTCOutboundRtpStreamStats.prototype.mediaSourceId;\n\n/** @const {number} */\nRTCOutboundRtpStreamStats.prototype.frameWidth;\n\n/** @const {number} */\nRTCOutboundRtpStreamStats.prototype.frameHeight;\n\n/**\n * Firefox specific value.\n * @const {number|undefined}\n */\nRTCOutboundRtpStreamStats.prototype.bitrateMean;\n\n/** @const {string|undefined} */\nRTCOutboundRtpStreamStats.prototype.encoderImplementation;\n\n\n/**\n * @see https://www.w3.org/TR/webrtc-stats/#dom-rtcremoteoutboundrtpstreamstats\n * @interface\n * @extends {RTCSentRtpStreamStats}\n */\nfunction RTCRemoteOutboundRtpStreamStats() {}\n\n/** @const {string} */\nRTCRemoteOutboundRtpStreamStats.prototype.localId;\n\n/** @const {?Date|number} */\nRTCRemoteOutboundRtpStreamStats.prototype.remoteTimestamp;\n\n\n/**\n * @interface\n * @extends {Iterable<!Array<string|!RTCStats>>}\n * @see https://w3c.github.io/webrtc-pc/#rtcstatsreport-object\n */\nfunction RTCStatsReport() {}\n\n/**\n * @const {?Date|number}\n */\nRTCStatsReport.prototype.timestamp;\n\n/**\n * @return {!Array<string>}\n */\nRTCStatsReport.prototype.names = function() {};\n\n/**\n * @param {string} name\n * @return {string}\n */\nRTCStatsReport.prototype.stat = function(name) {};\n\n/**\n * @deprecated\n * @const {RTCStatsReport}\n */\nRTCStatsReport.prototype.local;\n\n/**\n * @deprecated\n * @const {RTCStatsReport}\n */\nRTCStatsReport.prototype.remote;\n\n/**\n * @const {string}\n */\nRTCStatsReport.prototype.type;\n\n/**\n * @const {string}\n */\nRTCStatsReport.prototype.id;\n\n// Note: Below are Map like methods supported by WebRTC statistics\n// specification-compliant RTCStatsReport. Currently only implemented by\n// Mozilla.\n// See https://www.w3.org/TR/webrtc/#rtcstatsreport-object for definition.\n/**\n * @param {function(this:SCOPE, !RTCStats, string, MAP)} callback\n * @param {SCOPE=} opt_thisObj The value of "this" inside callback function.\n * @this {MAP}\n * @template MAP,SCOPE\n */\nRTCStatsReport.prototype.forEach = function(callback, opt_thisObj) {};\n\n/**\n * @param {string} key\n * @return {!IteratorIterable<!Array<string|!RTCStats>>}\n */\nRTCStatsReport.prototype.entries = function(key) {};\n\n/**\n * @param {string} key\n * @return {!RTCStats}\n */\nRTCStatsReport.prototype.get = function(key) {};\n\n/**\n * @return {!IteratorIterable<string>}\n */\nRTCStatsReport.prototype.keys = function() {};\n\n/**\n * @return {!IteratorIterable<!RTCStats>}\n */\nRTCStatsReport.prototype.values = function() {};\n\n/**\n * @param {string} key\n * @return {boolean}\n */\nRTCStatsReport.prototype.has = function(key) {};\n\n/**\n * @const {number}\n */\nRTCStatsReport.prototype.size;\n\n/**\n * @return {!Iterator<!Array<string|!RTCStats>>}\n */\nRTCStatsReport.prototype[Symbol.iterator] = function() {};\n\n\n/**\n * TODO(user): Remove this type once it is no longer in use. It has already\n * been removed from the specification.\n * @typedef {RTCStatsReport}\n * @deprecated\n */\nvar RTCStatsElement;\n\n/**\n * @interface\n */\nfunction RTCStatsResponse() {}\n\n/**\n * @return {!Array<!RTCStatsReport>}\n */\nRTCStatsResponse.prototype.result = function() {};\n\n/**\n * @typedef {function(!RTCStatsResponse, MediaStreamTrack=)}\n */\nvar RTCStatsCallback;\n\n/**\n * This type is not yet standardized, so the properties here only represent\n * the current capabilities of libjingle (and hence Chromium).\n * TODO(user): Add a link to the relevant standard once MediaConstraint has a\n * standard definition.\n *\n * @interface\n * @private\n */\nfunction MediaConstraintSetInterface_() {}\n\n/**\n * @type {?boolean}\n */\nMediaConstraintSetInterface_.prototype.OfferToReceiveAudio;\n\n/**\n * @type {?boolean}\n */\nMediaConstraintSetInterface_.prototype.OfferToReceiveVideo;\n\n/**\n * @type {?boolean}\n */\nMediaConstraintSetInterface_.prototype.DtlsSrtpKeyAgreement;\n\n/**\n * @type {?boolean}\n */\nMediaConstraintSetInterface_.prototype.RtpDataChannels;\n\n/**\n * TODO(user): Make this type public once it is defined in a standard.\n *\n * @typedef {Object|MediaConstraintSetInterface_}\n * @private\n */\nvar MediaConstraintSet_;\n\n/**\n * @interface\n * @private\n */\nfunction MediaConstraintsInterface_() {}\n\n/**\n * @type {?MediaConstraintSet_}\n */\nMediaConstraintsInterface_.prototype.mandatory;\n\n/**\n * @type {?Array<!MediaConstraintSet_>}\n */\nMediaConstraintsInterface_.prototype.optional;\n\n/**\n * This type is used extensively in\n * {@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet\n * defined.\n *\n * @typedef {Object|MediaConstraintsInterface_}\n */\nvar MediaConstraints;\n\n/**\n * @interface\n * @extends {EventTarget}\n * @see https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\n */\nfunction RTCDataChannel() {}\n\n/**\n * @const {string}\n */\nRTCDataChannel.prototype.label;\n\n/**\n * @const {boolean}\n */\nRTCDataChannel.prototype.reliable;\n\n/**\n * An enumerated string type (RTCDataChannelState) with values:\n * "connecting", "open", "closing", and "closed".\n * @type {string}\n * Read only.\n */\nRTCDataChannel.prototype.readyState;\n\n/**\n * @type {number}\n * Read only.\n */\nRTCDataChannel.prototype.bufferedAmount;\n\n/**\n * @type {number}\n */\nRTCDataChannel.prototype.bufferedAmountLowThreshold;\n\n/**\n * @type {?function(!Event)}\n */\nRTCDataChannel.prototype.onopen;\n\n/**\n * @type {?function(!Event)}\n */\nRTCDataChannel.prototype.onerror;\n\n/**\n * @type {?function(!Event)}\n */\nRTCDataChannel.prototype.onclose;\n\nRTCDataChannel.prototype.close = function() {};\n\n/**\n * @type {?function(!MessageEvent<*>)}\n */\nRTCDataChannel.prototype.onmessage;\n\n/**\n * @type {?function(!Event)}\n */\nRTCDataChannel.prototype.onbufferedamountlow;\n\n/**\n * @type {string}\n */\nRTCDataChannel.prototype.binaryType;\n\n/**\n * @param {string|!Blob|!ArrayBuffer|!ArrayBufferView} data\n * @return {undefined}\n */\nRTCDataChannel.prototype.send = function(data) {};\n\n/**\n * @constructor\n * @extends {Event}\n * @private\n */\nfunction RTCDataChannelEvent() {}\n\n/**\n * @type {!RTCDataChannel}\n * Read only.\n */\nRTCDataChannelEvent.prototype.channel;\n\n/**\n * @typedef {{reliable: boolean}}\n */\nvar RTCDataChannelInitRecord_;\n\n/**\n * @interface\n * @private\n */\nfunction RTCDataChannelInitInterface_() {}\n\n/**\n * @type {boolean}\n */\nRTCDataChannelInitInterface_.prototype.reliable;\n\n/**\n * @typedef {{\n * ordered: (boolean|undefined),\n * maxPacketLifeTime: (number|undefined),\n * maxRetransmits: (number|undefined),\n * protocol: (string|undefined),\n * negotiated: (boolean|undefined),\n * id: (number|undefined),\n * priority: (string|undefined),\n * }}\n * see https://www.w3.org/TR/webrtc/#dom-rtcdatachannelinit for documentation\n * Type inconsistencies due to Closure limitations:\n * maxPacketLifeTime should be UnsignedShort\n * maxRetransmits should be UnsignedShort\n * protocol should be USVString\n * id should be UnsignedShort\n * In WebIDL priority is an enum with values \'very-low\', \'low\',\n * \'medium\' and \'high\', but there is no mechanism in Closure for describing\n * a specialization of the string type.\n */\nvar RTCDataChannelInitDictionary_;\n\n/**\n * @typedef {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_|RTCDataChannelInitDictionary_}\n */\nvar RTCDataChannelInit;\n\n/**\n * @typedef {{expires: number}}\n */\nvar RTCCertificate;\n\n/**\n * @param {RTCConfiguration} configuration\n * @param {!MediaConstraints=} constraints\n * @constructor\n * @implements {EventTarget}\n * @see https://www.w3.org/TR/webrtc/#interface-definition\n */\nfunction RTCPeerConnection(configuration, constraints) {}\n\n/**\n * @param {Object} keygenAlgorithm\n * @return {Promise<RTCCertificate>}\n */\nRTCPeerConnection.generateCertificate = function (keygenAlgorithm) {};\n\n/**\n * @override\n */\nRTCPeerConnection.prototype.addEventListener = function(\n type, listener, opt_useCapture) {};\n\n/**\n * @override\n */\nRTCPeerConnection.prototype.removeEventListener = function(\n type, listener, opt_useCapture) {};\n\n/**\n * @override\n * @return {boolean}\n */\nRTCPeerConnection.prototype.dispatchEvent = function(evt) {};\n\n\n// NB: Until closure annotations support overloading, many of the following\n// functions take odd unions of parameter types. This is to support the various\n// api differences between browsers. Generally, returning a promise means you\n// don\'t take callback function parameters and draw any further parameters\n// forward, and vice versa.\n\n/**\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\n * successCallbackOrConstraints\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\n * @param {!MediaConstraints=} constraints\n * @return {!Promise<!RTCSessionDescription>|undefined}\n */\nRTCPeerConnection.prototype.createOffer = function(successCallbackOrConstraints,\n errorCallback, constraints) {};\n\n/**\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\n * successCallbackOrConstraints\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\n * @param {!MediaConstraints=} constraints\n * @return {!Promise<!RTCSessionDescription>|undefined}\n */\nRTCPeerConnection.prototype.createAnswer =\n function(successCallbackOrConstraints, errorCallback, constraints) {};\n\n/**\n * @param {!RTCSessionDescription} description\n * @param {!RTCVoidCallback=} successCallback\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\n * @return {!Promise<!RTCSessionDescription>}\n */\nRTCPeerConnection.prototype.setLocalDescription = function(description,\n successCallback, errorCallback) {};\n\n/**\n * @param {!RTCSessionDescription} description\n * @param {!RTCVoidCallback=} successCallback\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\n * @return {!Promise<!RTCSessionDescription>}\n */\nRTCPeerConnection.prototype.setRemoteDescription = function(description,\n successCallback, errorCallback) {};\n\n/**\n * @type {?RTCSessionDescription}\n * Read only.\n */\nRTCPeerConnection.prototype.localDescription;\n\n/**\n * @type {?RTCSessionDescription}\n * Read only.\n */\nRTCPeerConnection.prototype.remoteDescription;\n\n/**\n * @type {RTCSignalingState}\n * Read only.\n */\nRTCPeerConnection.prototype.signalingState;\n\n/**\n * @param {?RTCConfiguration=} configuration\n * @param {?MediaConstraints=} constraints\n * @return {undefined}\n */\nRTCPeerConnection.prototype.updateIce = function(configuration, constraints) {};\n\n/**\n * Void in Chrome for now, a promise that you can then/catch in Firefox.\n * @param {!RTCIceCandidate} candidate\n * @param {!RTCVoidCallback=} successCallback\n * @param {function(DOMException)=} errorCallback\n * @return {!Promise|undefined}\n */\nRTCPeerConnection.prototype.addIceCandidate = function(candidate, successCallback, errorCallback) {};\n\n/**\n * @type {!RTCIceGatheringState}\n * Read only.\n */\nRTCPeerConnection.prototype.iceGatheringState;\n\n/**\n * @type {!RTCIceConnectionState}\n * Read only.\n */\nRTCPeerConnection.prototype.iceConnectionState;\n\n/**\n * @type {!RTCPeerConnectionState}\n * Read only.\n */\nRTCPeerConnection.prototype.connectionState;\n\n/**\n * @return {!Array<!MediaStream>}\n */\nRTCPeerConnection.prototype.getLocalStreams = function() {};\n\n/**\n * @return {!Array<!MediaStream>}\n */\nRTCPeerConnection.prototype.getRemoteStreams = function() {};\n\n/**\n * @param {string} streamId\n * @return {MediaStream}\n */\nRTCPeerConnection.prototype.getStreamById = function(streamId) {};\n\n/**\n * @return {!Array<!RTCRtpSender>}\n */\nRTCPeerConnection.prototype.getSenders = function() {};\n\n/**\n * @return {!Array<!RTCRtpReceiver>}\n */\nRTCPeerConnection.prototype.getReceivers = function() {};\n\n/**\n * @param {?string} label\n * @param {RTCDataChannelInit=} dataChannelDict\n * @return {!RTCDataChannel}\n */\nRTCPeerConnection.prototype.createDataChannel =\n function(label, dataChannelDict) {};\n/**\n * @param {!MediaStream} stream\n * @param {!MediaConstraints=} constraints\n * @return {undefined}\n */\nRTCPeerConnection.prototype.addStream = function(stream, constraints) {};\n\n/**\n * @param {!MediaStream} stream\n * @return {undefined}\n */\nRTCPeerConnection.prototype.removeStream = function(stream) {};\n\n/**\n * @param {!MediaStreamTrack} track\n * @param {!MediaStream} stream\n * @param {...MediaStream} var_args Additional streams.\n * @return {!RTCRtpSender}\n */\nRTCPeerConnection.prototype.addTrack = function(track, stream, var_args) {};\n\n/**\n * @param {!MediaStreamTrack|string} trackOrKind\n * @param {?RTCRtpTransceiverInit=} init\n * @return {!RTCRtpTransceiver}\n */\nRTCPeerConnection.prototype.addTransceiver = function(trackOrKind, init) {};\n\n/**\n * Returns the list of transceivers are currently attached to this peer.\n *\n * @return {!Array<!RTCRtpTransceiver>}\n */\nRTCPeerConnection.prototype.getTransceivers = function() {};\n\n/**\n * @return {!RTCConfiguration}\n */\nRTCPeerConnection.prototype.getConfiguration = function() {};\n\n/**\n * @param {!RTCConfiguration} configuration\n * @return {undefined}\n */\nRTCPeerConnection.prototype.setConfiguration = function(configuration) {};\n\n/**\n * @param {!RTCRtpSender} sender\n * @return {undefined}\n */\nRTCPeerConnection.prototype.removeTrack = function(sender) {};\n\n// TODO(user): Add identity provider stuff once implementations exist\n\n// TODO(user): Per w3c spec, getStats() should always return a Promise.\n// Remove RTCStatsReport from the return value once Firefox supports that.\n/**\n * Firefox\' getstats is synchronous and returns a much simpler\n * {!RTCStatsReport} Map-like object.\n * @param {!RTCStatsCallback=} successCallback\n * @param {MediaStreamTrack=} selector\n * @return {undefined|!RTCStatsReport|!Promise<!RTCStatsReport>}\n */\nRTCPeerConnection.prototype.getStats = function(successCallback, selector) {};\n\nRTCPeerConnection.prototype.close = function() {};\n\n/**\n * @type {?function(!Event)}\n */\nRTCPeerConnection.prototype.onnegotiationneeded;\n\n/**\n * @type {?function(!RTCPeerConnectionIceEvent)}\n */\nRTCPeerConnection.prototype.onicecandidate;\n\n/**\n * @type {?function(!Event)}\n */\nRTCPeerConnection.prototype.onicegatheringstatechange;\n\n/**\n * @type {?function(!Event)}\n */\nRTCPeerConnection.prototype.onsignalingstatechange;\n\n/**\n * @type {?function(!MediaStreamEvent)}\n */\nRTCPeerConnection.prototype.onaddstream;\n\n/**\n * @type {?function(!RTCTrackEvent)}\n */\nRTCPeerConnection.prototype.ontrack;\n\n/**\n * @type {?function(!MediaStreamEvent)}\n */\nRTCPeerConnection.prototype.onremovestream;\n\n/**\n * @type {?function(!Event)}\n */\nRTCPeerConnection.prototype.oniceconnectionstatechange;\n\n/**\n * @type {?function(!RTCDataChannelEvent)}\n */\nRTCPeerConnection.prototype.ondatachannel;\n\n/**\n * @type {?function(!Event)}\n */\nRTCPeerConnection.prototype.onconnectionstatechange;\n',
  834. "externs/nonstandard_rtc.js":'/*\n * Copyright 2019 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Nonstandard definitions for components of the WebRTC browser\n * API.\n *\n * @externs\n */\n\n/**\n * @type {function(new: MediaStream,\n * (!MediaStream|!Array<!MediaStreamTrack>)=)}\n */\nvar webkitMediaStream;\n\n/**\n * @param {MediaStreamConstraints} constraints A MediaStreamConstraints object.\n * @param {function(!MediaStream)} successCallback\n * A NavigatorUserMediaSuccessCallback function.\n * @param {function(!NavigatorUserMediaError)=} errorCallback A\n * NavigatorUserMediaErrorCallback function.\n * @see http://dev.w3.org/2011/webrtc/editor/getusermedia.html\n * @see https://www.w3.org/TR/mediacapture-streams/\n * @return {undefined}\n */\nNavigator.prototype.webkitGetUserMedia = function(\n constraints, successCallback, errorCallback) {};\n\n/** @const */\nvar webkitRTCPeerConnection = RTCPeerConnection;\n',
  835. "externs/w3c_screen_orientation.js":'/*\n * Copyright 2016 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Screen Orientation API.\n * @see https://w3c.github.io/screen-orientation/\n *\n * @externs\n */\n\n/**\n * @interface\n * @extends {EventTarget}\n * @see https://w3c.github.io/screen-orientation/#screenorientation-interface\n */\nvar ScreenOrientation = function() {};\n\n/**\n * @param {string} orientation\n * @return {!Promise<void>}\n */\nScreenOrientation.prototype.lock = function(orientation) {};\n\n/** @return {void} */\nScreenOrientation.prototype.unlock = function() {};\n\n/** @const {string} */\nScreenOrientation.prototype.type;\n\n/** @const {number} */\nScreenOrientation.prototype.angle;\n\n/** @type {?function(!Event)} */\nScreenOrientation.prototype.onchange;\n\n/**\n * @type {?ScreenOrientation}\n * @see https://w3c.github.io/screen-orientation/#extensions-to-the-screen-interface\n */\nScreen.prototype.orientation;\n',
  836. "externs/w3c_selectors.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Selectors API.\n * This file depends on w3c_dom1.js.\n * @see http://www.w3.org/TR/selectors-api2/\n *\n * @externs\n * @author mihaip@google.com (Mihai Parparita)\n */\n\n/**\n * @param {string} selectors\n * @return {?Element}\n * @override\n * @nosideeffects\n */\nDocument.prototype.querySelector = function(selectors) {};\n\n/**\n * @param {string} selectors\n * @return {!NodeList<!Element>}\n * @override\n * @nosideeffects\n */\nDocument.prototype.querySelectorAll = function(selectors) {};\n\n/**\n * @param {string} selectors\n * @return {?Element}\n * @override\n * @nosideeffects\n */\nElement.prototype.querySelector = function(selectors) {};\n\n/**\n * @param {string} selectors\n * @return {!NodeList<!Element>}\n * @override\n * @nosideeffects\n */\nElement.prototype.querySelectorAll = function(selectors) {};\n\n/**\n * https://dom.spec.whatwg.org/#dom-element-closest\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.closest\n * @param {string} selectors\n * @return {?Element}\n * @nosideeffects\n */\nElement.prototype.closest = function(selectors) {};\n\n/**\n * https://dom.spec.whatwg.org/#dom-element-matches\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.matches\n * @param {string} selectors\n * @return {boolean}\n * @nosideeffects\n */\nElement.prototype.matches = function(selectors) {};\n\n/**\n * @param {string} selectors\n * @param {(Node|NodeList<?>)=} refNodes\n * @return {boolean}\n * @nosideeffects\n */\nElement.prototype.matchesSelector = function(selectors, refNodes) {};\n\n/**\n * @see https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector\n * @param {string} selectors\n * @return {boolean}\n * @nosideeffects\n */\nElement.prototype.mozMatchesSelector = function(selectors) {};\n\n/**\n * @see http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html\n * @param {string} selectors\n * @return {boolean}\n * @nosideeffects\n */\nElement.prototype.webkitMatchesSelector = function(selectors) {};\n\n/**\n * @see http://msdn.microsoft.com/en-us/library/ff975201.aspx\n * @param {string} selectors\n * @return {boolean}\n * @nosideeffects\n */\nElement.prototype.msMatchesSelector = function(selectors) {};\n\n/**\n * @see http://www.opera.com/docs/changelogs/windows/1150/\n * @param {string} selectors\n * @return {boolean}\n * @nosideeffects\n */\nElement.prototype.oMatchesSelector = function(selectors) {};\n',
  837. "externs/w3c_serviceworker.js":"/*\n * Copyright 2014 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Externs for service worker.\n *\n * @see http://www.w3.org/TR/service-workers/\n * @externs\n */\n\n/**\n * @see http://www.w3.org/TR/service-workers/#service-worker-interface\n * @constructor\n * @extends {Worker}\n */\nfunction ServiceWorker() {}\n\n/** @type {string} */\nServiceWorker.prototype.scriptURL;\n\n/** @type {ServiceWorkerState} */\nServiceWorker.prototype.state;\n\n/** @type {?function(!Event)} */\nServiceWorker.prototype.onstatechange;\n\n/**\n * Set of possible string values: 'installing', 'installed', 'activating',\n * 'activated', 'redundant'.\n * @typedef {string}\n */\nvar ServiceWorkerState;\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#navigationpreloadmanager\n * @constructor\n */\nfunction NavigationPreloadManager() {}\n\n/** @return {!Promise<void>} */\nNavigationPreloadManager.prototype.enable = function() {};\n\n/** @return {!Promise<void>} */\nNavigationPreloadManager.prototype.disable = function() {};\n\n/**\n * @param {string=} value\n * @return {!Promise<void>}\n */\nNavigationPreloadManager.prototype.setHeaderValue = function(value) {};\n\n/** @return {!Promise<NavigationPreloadState>} */\nNavigationPreloadManager.prototype.getState = function() {};\n\n/**\n * @typedef {{\n * enabled: (boolean|undefined),\n * headerValue: (string|undefined)\n * }}\n */\nvar NavigationPreloadState;\n\n/** @record */\nfunction PushSubscriptionOptions() {}\n\n/** @type {ArrayBuffer|undefined} */\nPushSubscriptionOptions.prototype.applicationServerKey;\n\n/** @type {boolean|undefined} */\nPushSubscriptionOptions.prototype.userVisibleOnly;\n\n/** @record */\nfunction PushSubscriptionOptionsInit() {}\n\n/** @type {BufferSource|string|undefined} */\nPushSubscriptionOptionsInit.prototype.applicationServerKey;\n\n/** @type {boolean|undefined} */\nPushSubscriptionOptionsInit.prototype.userVisibleOnly;\n\n\n/**\n * @see https://w3c.github.io/push-api/\n * @constructor\n */\nfunction PushSubscription() {}\n\n/** @type {string} */\nPushSubscription.prototype.endpoint;\n\n/**\n * Please note there is an intent to deprecate this field in Chrome 43 or 44.\n * See https://www.chromestatus.com/feature/5283829761703936.\n * @type {string}\n */\nPushSubscription.prototype.subscriptionId;\n\n/** @type {!PushSubscriptionOptions} */\nPushSubscription.prototype.options;\n\n/** @return {!Promise<boolean>} */\nPushSubscription.prototype.unsubscribe = function() {};\n\n/** @enum {string} */\n// This is commented out since it has not been implemented yet in Chrome beta.\n// Uncomment once it is available.\n// var PushPermissionStatus = {\n// GRANTED: 'granted',\n// DENIED: 'denied',\n// DEFAULT: 'default'\n//};\n\n/**\n * @see https://w3c.github.io/push-api/#idl-def-PushManager\n * @constructor\n */\nfunction PushManager() {}\n\n/**\n * @param {PushSubscriptionOptionsInit=} opt_options\n * @return {!Promise<!PushSubscription>}\n */\nPushManager.prototype.subscribe = function(opt_options) {};\n\n/** @return {!Promise<PushSubscription>} */\nPushManager.prototype.getSubscription = function() {};\n\n/** @return {!Promise<PushPermissionStatus>} */\n// This is commented out since it has not been implemented yet in Chrome beta.\n// Uncomment once it is available.\n// PushManager.prototype.hasPermission = function() {};\n\n/**\n * @see https://wicg.github.io/BackgroundSync/spec/#sync-manager-interface\n * @constructor\n */\nfunction SyncManager() {}\n\n/**\n * @param {string} tag\n * @return {!Promise<void>}\n */\nSyncManager.prototype.register = function(tag) {}\n\n/**\n * @return {!Promise<Array<string>>}\n */\nSyncManager.prototype.getTags = function() {}\n\n/**\n * @see https://wicg.github.io/BackgroundSync/spec/#sync-event\n * @constructor\n * @extends{ExtendableEvent}\n */\nfunction SyncEvent() {}\n\n/** @type {string} */\nSyncEvent.prototype.tag;\n\n/** @type {boolean} */\nSyncEvent.prototype.lastChance;\n\n/**\n * @see http://www.w3.org/TR/push-api/#idl-def-PushMessageData\n * @constructor\n */\nfunction PushMessageData() {}\n\n/** @return {!ArrayBuffer} */\nPushMessageData.prototype.arrayBuffer = function() {};\n\n/** @return {!Blob} */\nPushMessageData.prototype.blob = function() {};\n\n/** @return {*} */\nPushMessageData.prototype.json = function() {};\n\n/** @return {string} */\nPushMessageData.prototype.text = function() {};\n\n\n/**\n * @see http://www.w3.org/TR/push-api/#idl-def-PushEvent\n * @constructor\n * @param {string} type\n * @param {!ExtendableEventInit=} opt_eventInitDict\n * @extends {ExtendableEvent}\n */\nfunction PushEvent(type, opt_eventInitDict) {}\n\n/** @type {?PushMessageData} */\nPushEvent.prototype.data;\n\n\n/**\n * @see http://www.w3.org/TR/service-workers/#service-worker-registration-interface\n * @interface\n * @extends {EventTarget}\n */\nfunction ServiceWorkerRegistration() {}\n\n/** @type {ServiceWorker} */\nServiceWorkerRegistration.prototype.installing;\n\n/** @type {ServiceWorker} */\nServiceWorkerRegistration.prototype.waiting;\n\n/** @type {ServiceWorker} */\nServiceWorkerRegistration.prototype.active;\n\n/** @type {NavigationPreloadManager} */\nServiceWorkerRegistration.prototype.navigationPreload;\n\n/** @type {string} */\nServiceWorkerRegistration.prototype.scope;\n\n/** @return {!Promise<boolean>} */\nServiceWorkerRegistration.prototype.unregister = function() {};\n\n/** @type {?function(!Event)} */\nServiceWorkerRegistration.prototype.onupdatefound;\n\n/** @return {!Promise<void>} */\nServiceWorkerRegistration.prototype.update = function() {};\n\n/**\n * @see https://w3c.github.io/push-api/\n * @type {!PushManager}\n */\nServiceWorkerRegistration.prototype.pushManager;\n\n/**\n * @see https://notifications.spec.whatwg.org/#service-worker-api\n * @param {string} title\n * @param {NotificationOptions=} opt_options\n * @return {!Promise<void>}\n */\nServiceWorkerRegistration.prototype.showNotification =\n function(title, opt_options) {};\n\n/**\n * @see https://notifications.spec.whatwg.org/#service-worker-api\n * @param {!GetNotificationOptions=} opt_filter\n * @return {!Promise<?Array<?Notification>>}\n */\nServiceWorkerRegistration.prototype.getNotifications = function(opt_filter) {};\n\n/**\n * @see https://wicg.github.io/BackgroundSync/spec/#service-worker-registration-extensions\n * @type {!SyncManager}\n */\nServiceWorkerRegistration.prototype.sync;\n\n/**\n * @see http://www.w3.org/TR/service-workers/#service-worker-container-interface\n * @interface\n * @extends {EventTarget}\n */\nfunction ServiceWorkerContainer() {}\n\n/** @type {?ServiceWorker} */\nServiceWorkerContainer.prototype.controller;\n\n/** @type {!Promise<!ServiceWorkerRegistration>} */\nServiceWorkerContainer.prototype.ready;\n\n/**\n * @param {string} scriptURL\n * @param {RegistrationOptions=} opt_options\n * @return {!Promise<!ServiceWorkerRegistration>}\n */\nServiceWorkerContainer.prototype.register = function(scriptURL, opt_options) {};\n\n/**\n * @param {string=} opt_documentURL\n * @return {!Promise<!ServiceWorkerRegistration|undefined>}\n */\nServiceWorkerContainer.prototype.getRegistration = function(opt_documentURL) {};\n\n/**\n * @return {!Promise<Array<!ServiceWorkerRegistration>>}\n */\nServiceWorkerContainer.prototype.getRegistrations = function() {};\n\n/** @type {?function(!Event): void} */\nServiceWorkerContainer.prototype.oncontrollerchange;\n\n/** @type {?function(!ExtendableMessageEvent): void} */\nServiceWorkerContainer.prototype.onmessage;\n\n/** @type {?function(!ErrorEvent): void} */\nServiceWorkerContainer.prototype.onerror;\n\n/**\n * @typedef {{scope: (string|undefined), useCache: (boolean|undefined), updateViaCache: (string|undefined)}}\n */\nvar RegistrationOptions;\n\n/** @type {!ServiceWorkerContainer} */\nNavigator.prototype.serviceWorker;\n\n/**\n * @see http://www.w3.org/TR/service-workers/#service-worker-global-scope-interface\n * @interface\n * @extends {WorkerGlobalScope}\n */\nfunction ServiceWorkerGlobalScope() {}\n\n/** @type {!Cache} */\nServiceWorkerGlobalScope.prototype.scriptCache;\n\n/** @type {!CacheStorage} */\nServiceWorkerGlobalScope.prototype.caches;\n\n/** @type {!ServiceWorkerClients} */\nServiceWorkerGlobalScope.prototype.clients;\n\n/** @type {string} */\nServiceWorkerGlobalScope.prototype.scope;\n\n/** @type {!ServiceWorkerRegistration} */\nServiceWorkerGlobalScope.prototype.registration;\n\n/** @return {!Promise<void>} */\nServiceWorkerGlobalScope.prototype.skipWaiting = function() {};\n\n/** @type {!Console} */\nServiceWorkerGlobalScope.prototype.console;\n\n/** @type {?function(!InstallEvent)} */\nServiceWorkerGlobalScope.prototype.oninstall;\n\n/** @type {?function(!ExtendableEvent)} */\nServiceWorkerGlobalScope.prototype.onactivate;\n\n/** @type {?function(!FetchEvent)} */\nServiceWorkerGlobalScope.prototype.onfetch;\n\n/**\n * TODO(mtragut): This handler should get a custom event in the future.\n * @type {?function(!Event)}\n */\nServiceWorkerGlobalScope.prototype.onbeforeevicted;\n\n/**\n * TODO(mtragut): This handler should get a custom event in the future.\n * @type {?function(!Event)}\n */\nServiceWorkerGlobalScope.prototype.onevicted;\n\n/** @type {?function(!MessageEvent)} */\nServiceWorkerGlobalScope.prototype.onmessage;\n\n/**\n * While not strictly correct, this should be effectively correct. Notification\n * is the Notification constructor but calling it from the Service Worker throws\n * (https://notifications.spec.whatwg.org/#constructors) so its only use is as\n * an object holding some static properties (note that requestPermission is only\n * exposed to window context - https://notifications.spec.whatwg.org/#api).\n *\n * @type {{\n * permission: string,\n * maxActions: number,\n * }}\n */\nServiceWorkerGlobalScope.prototype.Notification;\n\n/**\n * @see http://www.w3.org/TR/service-workers/#service-worker-client-interface\n * @constructor\n */\nfunction ServiceWorkerClient() {}\n\n/** @type {!Promise<void>} */\nServiceWorkerClient.prototype.ready;\n\n/** @type {boolean} */\nServiceWorkerClient.prototype.hidden;\n\n/** @type {boolean} */\nServiceWorkerClient.prototype.focused;\n\n/** @type {VisibilityState} */\nServiceWorkerClient.prototype.visibilityState;\n\n/** @type {string} */\nServiceWorkerClient.prototype.url;\n\n/** @type {string} */\nServiceWorkerClient.prototype.id;\n\n/**\n * // TODO(mtragut): Possibly replace the type with enum ContextFrameType once\n * the enum is defined.\n * @type {string}\n */\nServiceWorkerClient.prototype.frameType;\n\n/**\n * @param {*} message\n * @param {(!Array<!Transferable>|undefined)=} opt_transfer\n * @return {undefined}\n */\nServiceWorkerClient.prototype.postMessage = function(message, opt_transfer) {};\n\n/** @return {!Promise} */\nServiceWorkerClient.prototype.focus = function() {};\n\n/**\n * @param {string} url\n * @return {!Promise<!ServiceWorkerClient>}\n */\nServiceWorkerClient.prototype.navigate = function(url) {};\n\n/**\n * @see http://www.w3.org/TR/service-workers/#service-worker-clients-interface\n * @interface\n */\nfunction ServiceWorkerClients() {}\n\n/**\n * Deprecated in Chrome M43+, use matchAll instead. Reference:\n * https://github.com/slightlyoff/ServiceWorker/issues/610.\n * TODO(joeltine): Remove when getAll is fully deprecated.\n * @param {ServiceWorkerClientQueryOptions=} opt_options\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\n */\nServiceWorkerClients.prototype.getAll = function(opt_options) {};\n\n/**\n * @param {ServiceWorkerClientQueryOptions=} opt_options\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\n */\nServiceWorkerClients.prototype.matchAll = function(opt_options) {};\n\n/**\n * @return {!Promise<void>}\n */\nServiceWorkerClients.prototype.claim = function() {};\n\n/**\n * @param {string} url\n * @return {!Promise<!ServiceWorkerClient>}\n */\nServiceWorkerClients.prototype.openWindow = function(url) {};\n\n/**\n * @param {string} id\n * @return {!Promise<!ServiceWorkerClient|undefined>}\n */\nServiceWorkerClients.prototype.get = function(id) {};\n\n/** @typedef {{includeUncontrolled: (boolean|undefined)}} */\nvar ServiceWorkerClientQueryOptions;\n\n/**\n * @see http://www.w3.org/TR/service-workers/#cache-interface\n * @interface\n */\nfunction Cache() {}\n\n/**\n * @param {!RequestInfo} request\n * @param {CacheQueryOptions=} opt_options\n * @return {!Promise<!Response|undefined>}\n */\nCache.prototype.match = function(request, opt_options) {};\n\n/**\n * @param {RequestInfo=} opt_request\n * @param {CacheQueryOptions=} opt_options\n * @return {!Promise<!Array<!Response>>}\n */\nCache.prototype.matchAll = function(opt_request, opt_options) {};\n\n/**\n * @param {!RequestInfo} request\n * @return {!Promise<void>}\n */\nCache.prototype.add = function(request) {};\n\n/**\n * @param {!Array<!RequestInfo>} requests\n * @return {!Promise<void>}\n */\nCache.prototype.addAll = function(requests) {};\n\n/**\n * @param {!RequestInfo} request\n * @param {!Response} response\n * @return {!Promise<void>}\n */\nCache.prototype.put = function(request, response) {};\n\n/**\n * @param {!RequestInfo} request\n * @param {CacheQueryOptions=} opt_options\n * @return {!Promise<boolean>}\n */\nCache.prototype.delete = function(request, opt_options) {};\n\n/**\n * @param {RequestInfo=} opt_request\n * @param {CacheQueryOptions=} opt_options\n * @return {!Promise<!Array<!Request>>}\n */\nCache.prototype.keys = function(opt_request, opt_options) {};\n\n/**\n * @typedef {{\n * ignoreSearch: (boolean|undefined),\n * ignoreMethod: (boolean|undefined),\n * ignoreVary: (boolean|undefined),\n * prefixMatch: (boolean|undefined),\n * cacheName: (string|undefined)\n * }}\n */\nvar CacheQueryOptions;\n\n/**\n * @see http://www.w3.org/TR/service-workers/#cache-storage-interface\n * @interface\n */\nfunction CacheStorage() {}\n\n/**\n * Window instances have a property called caches which implements CacheStorage\n * @see https://www.w3.org/TR/service-workers/#cache-objects\n * @type {!CacheStorage}\n */\nWindow.prototype.caches;\n\n/**\n * @param {!RequestInfo} request\n * @param {CacheQueryOptions=} opt_options\n * @return {!Promise<!Response|undefined>}\n */\nCacheStorage.prototype.match = function(request, opt_options) {};\n\n/**\n * @param {string} cacheName\n * @return {!Promise<boolean>}\n */\nCacheStorage.prototype.has = function(cacheName) {};\n\n/**\n * @param {string} cacheName\n * @return {!Promise<!Cache>}\n */\nCacheStorage.prototype.open = function(cacheName) {};\n\n/**\n * @param {string} cacheName\n * @return {!Promise<boolean>}\n */\nCacheStorage.prototype.delete = function(cacheName) {};\n\n/** @return {!Promise<!Array<string>>} */\nCacheStorage.prototype.keys = function() {};\n\n/**\n * @see http://www.w3.org/TR/service-workers/#extendable-event-interface\n * @constructor\n * @param {string} type\n * @param {ExtendableEventInit=} opt_eventInitDict\n * @extends {Event}\n */\nfunction ExtendableEvent(type, opt_eventInitDict) {}\n\n/**\n * @param {IThenable} f\n * @return {undefined}\n */\nExtendableEvent.prototype.waitUntil = function(f) {};\n\n/**\n * @typedef {{\n * bubbles: (boolean|undefined),\n * cancelable: (boolean|undefined)\n * }}\n */\nvar ExtendableEventInit;\n\n/**\n * @see http://www.w3.org/TR/service-workers/#install-event-interface\n * @constructor\n * @param {string} type\n * @param {InstallEventInit=} opt_eventInitDict\n * @extends {ExtendableEvent}\n */\nfunction InstallEvent(type, opt_eventInitDict) {}\n\n/** @type {ServiceWorker} */\nExtendableEvent.prototype.activeWorker;\n\n/**\n * @typedef {{\n * bubbles: (boolean|undefined),\n * cancelable: (boolean|undefined),\n * activeWorker: (!ServiceWorker|undefined)\n * }}\n */\nvar InstallEventInit;\n\n/**\n * @see http://www.w3.org/TR/service-workers/#fetch-event-interface\n * @constructor\n * @param {string} type\n * @param {FetchEventInit=} opt_eventInitDict\n * @extends {ExtendableEvent}\n */\nfunction FetchEvent(type, opt_eventInitDict) {}\n\n/** @type {!Request} */\nFetchEvent.prototype.request;\n\n/**\n * @type {!Promise<Response>}\n */\nFetchEvent.prototype.preloadResponse;\n\n/**\n * @type {!ServiceWorkerClient}\n * @deprecated\n */\nFetchEvent.prototype.client;\n\n/** @type {?string} */\nFetchEvent.prototype.clientId;\n\n/** @type {boolean} */\nFetchEvent.prototype.isReload;\n\n/** @type {?string} */\nFetchEvent.prototype.resultingClientId;\n\n/**\n * @param {(Response|IThenable<Response>)} r\n * @return {undefined}\n */\nFetchEvent.prototype.respondWith = function(r) {};\n\n/**\n * @param {string} url\n * @return {!Promise<!Response>}\n */\nFetchEvent.prototype.forwardTo = function(url) {};\n\n/**\n * @return {!Promise<!Response>}\n */\nFetchEvent.prototype.default = function() {};\n\n/**\n * @typedef {{\n * bubbles: (boolean|undefined),\n * cancelable: (boolean|undefined),\n * request: (!Request|undefined),\n * preloadResponse: (!Promise<Response>),\n * client: (!ServiceWorkerClient|undefined),\n * isReload: (boolean|undefined)\n * }}\n */\nvar FetchEventInit;\n\n\n/**\n * @see https://www.w3.org/TR/service-workers/#extendablemessage-event-interface\n * @param {string} type\n * @param {!ExtendableMessageEventInit<T>=} opt_eventInitDict\n * @constructor\n * @extends {ExtendableEvent}\n * @template T\n */\nfunction ExtendableMessageEvent(type, opt_eventInitDict) {};\n\n/** @type {T} */\nExtendableMessageEvent.prototype.data;\n\n/** @type {string} */\nExtendableMessageEvent.prototype.origin;\n\n/** @type {string} */\nExtendableMessageEvent.prototype.lastEventId;\n\n/** @type {?ServiceWorkerClient|?ServiceWorker|?MessagePort} */\nExtendableMessageEvent.prototype.source;\n\n/** @type {?Array<!MessagePort>} */\nExtendableMessageEvent.prototype.ports;\n\n\n/**\n * @see https://www.w3.org/TR/service-workers/#extendablemessage-event-init-dictionary\n * @record\n * @extends {ExtendableEventInit}\n * @template T\n */\nfunction ExtendableMessageEventInit() {};\n\n/** @type {T} */\nExtendableMessageEventInit.prototype.data;\n\n/** @type {string|undefined} */\nExtendableMessageEventInit.prototype.origin;\n\n/** @type {string|undefined} */\nExtendableMessageEventInit.prototype.lastEventId;\n\n/** @type {!ServiceWorkerClient|!ServiceWorker|!MessagePort|undefined} */\nExtendableMessageEventInit.prototype.source;\n\n/** @type {!Array<!MessagePort>|undefined} */\nExtendableMessageEventInit.prototype.ports;\n",
  838. "externs/w3c_speech.js":'/*\n * Copyright 2011 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s Speech Input 2010 draft API and the\n * 2012 Web Speech draft API (in progress).\n * 2010 Speech Input API:\n * http://www.w3.org/2005/Incubator/htmlspeech/2010/10/google-api-draft.html\n * 2012 Web Speech API:\n * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html\n * This file contains only those functions/properties that are actively\n * used in the Voice Search experiment. Because the draft is under discussion\n * and constantly evolving, this file does not attempt to stay in sync with it.\n *\n * @externs\n * @author manas@google.com (Manas Tungare)\n */\n\n// W3C Speech Input API implemented in Chrome M12\n/**\n * @constructor\n * @extends {UIEvent}\n */\nfunction SpeechInputEvent() {}\n\n/** @type {SpeechInputResultList} */\nSpeechInputEvent.prototype.results;\n\n\n/**\n * @constructor\n */\nfunction SpeechInputResultList() {}\n\n/** @type {number} */\nSpeechInputResultList.prototype.length;\n\n\n/**\n * @constructor\n */\nfunction SpeechInputResult() {}\n\n/** @type {string} */\nSpeechInputResult.prototype.utterance;\n\n/** @type {number} */\nSpeechInputResult.prototype.confidence;\n\n\n// HTMLInputElement\n/** @type {boolean} */\nHTMLInputElement.prototype.webkitspeech;\n\n/** @type {?function (Event)} */\nHTMLInputElement.prototype.onwebkitspeechchange;\n\n\n\n// W3C Web Speech API implemented in Chrome M23\n/**\n * @constructor\n * @implements {EventTarget}\n */\nfunction SpeechRecognition() {}\n\n/** @override */\nSpeechRecognition.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nSpeechRecognition.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nSpeechRecognition.prototype.dispatchEvent = function(evt) {};\n\n/** @type {SpeechGrammarList} */\nSpeechRecognition.prototype.grammars;\n\n/** @type {string} */\nSpeechRecognition.prototype.lang;\n\n/** @type {boolean} */\nSpeechRecognition.prototype.continuous;\n\n/** @type {boolean} */\nSpeechRecognition.prototype.interimResults;\n\n/** @type {number} */\nSpeechRecognition.prototype.maxAlternatives;\n\n/** @type {string} */\nSpeechRecognition.prototype.serviceURI;\n\n/** @type {function()} */\nSpeechRecognition.prototype.start;\n\n/** @type {function()} */\nSpeechRecognition.prototype.stop;\n\n/** @type {function()} */\nSpeechRecognition.prototype.abort;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onaudiostart;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onsoundstart;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onspeechstart;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onspeechend;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onsoundend;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onaudioend;\n\n/** @type {?function(!SpeechRecognitionEvent)} */\nSpeechRecognition.prototype.onresult;\n\n/** @type {?function(!SpeechRecognitionEvent)} */\nSpeechRecognition.prototype.onnomatch;\n\n/** @type {?function(!SpeechRecognitionError)} */\nSpeechRecognition.prototype.onerror;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onstart;\n\n/** @type {?function(!Event)} */\nSpeechRecognition.prototype.onend;\n\n\n/**\n * @constructor\n * @extends {Event}\n */\nfunction SpeechRecognitionError() {}\n\n/** @type {string} */\nSpeechRecognitionError.prototype.error;\n\n/** @type {string} */\nSpeechRecognitionError.prototype.message;\n\n\n/**\n * @constructor\n */\nfunction SpeechRecognitionAlternative() {}\n\n/** @type {string} */\nSpeechRecognitionAlternative.prototype.transcript;\n\n/** @type {number} */\nSpeechRecognitionAlternative.prototype.confidence;\n\n\n/**\n * @constructor\n */\nfunction SpeechRecognitionResult() {}\n\n/**\n * @type {number}\n */\nSpeechRecognitionResult.prototype.length;\n\n/**\n * @type {function(number): SpeechRecognitionAlternative}\n */\nSpeechRecognitionResult.prototype.item = function(index) {};\n\n/**\n * @type {boolean}\n */\nSpeechRecognitionResult.prototype.isFinal;\n\n\n/**\n * @constructor\n */\nfunction SpeechRecognitionResultList() {}\n\n/**\n * @type {number}\n */\nSpeechRecognitionResultList.prototype.length;\n\n/**\n * @type {function(number): SpeechRecognitionResult}\n */\nSpeechRecognitionResultList.prototype.item = function(index) {};\n\n\n/**\n * @constructor\n * @extends {Event}\n */\nfunction SpeechRecognitionEvent() {}\n\n/** @type {number} */\nSpeechRecognitionEvent.prototype.resultIndex;\n\n/** @type {SpeechRecognitionResultList} */\nSpeechRecognitionEvent.prototype.results;\n\n/** @type {*} */\nSpeechRecognitionEvent.prototype.interpretation;\n\n/** @type {Document} */\nSpeechRecognitionEvent.prototype.emma;\n\n\n/**\n * @constructor\n */\nfunction SpeechGrammar() {}\n\n/** @type {string} */\nSpeechGrammar.prototype.src;\n\n/** @type {number} */\nSpeechGrammar.prototype.weight;\n\n\n/**\n * @constructor\n */\nfunction SpeechGrammarList() {}\n\n/**\n * @type {number}\n */\nSpeechGrammarList.prototype.length;\n\n/**\n * @type {function(number): SpeechGrammar}\n */\nSpeechGrammarList.prototype.item = function(index) {};\n\n/**\n * @type {function(string, number)}\n */\nSpeechGrammarList.prototype.addFromUri = function(src, weight) {};\n\n/**\n * @type {function(string, number)}\n */\nSpeechGrammarList.prototype.addFromString = function(str, weight) {};\n\n\n// Webkit implementations of Web Speech API\n/**\n * @constructor\n * @extends {SpeechGrammarList}\n */\nfunction webkitSpeechGrammarList() {}\n\n\n/**\n * @constructor\n * @extends {SpeechGrammar}\n */\nfunction webkitSpeechGrammar() {}\n\n\n/**\n * @constructor\n * @extends {SpeechRecognitionEvent}\n */\nfunction webkitSpeechRecognitionEvent() {}\n\n\n/**\n * @constructor\n * @extends {SpeechRecognitionError}\n */\nfunction webkitSpeechRecognitionError() {}\n\n\n/**\n * @constructor\n * @extends {SpeechRecognition}\n */\nfunction webkitSpeechRecognition() {}\n\n\n\n// W3C Web Speech Synthesis API is implemented in Chrome M33\n/**\n * @type {SpeechSynthesis}\n * @see https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section\n */\nvar speechSynthesis;\n\n\n/**\n * @constructor\n * @param {string} text\n */\nfunction SpeechSynthesisUtterance(text) {}\n\n/** @type {string} */\nSpeechSynthesisUtterance.prototype.text;\n\n/** @type {string} */\nSpeechSynthesisUtterance.prototype.lang;\n\n/** @type {number} */\nSpeechSynthesisUtterance.prototype.pitch;\n\n/** @type {number} */\nSpeechSynthesisUtterance.prototype.rate;\n\n/** @type {SpeechSynthesisVoice} */\nSpeechSynthesisUtterance.prototype.voice;\n\n/** @type {number} */\nSpeechSynthesisUtterance.prototype.volume;\n\n/**\n * @param {Event} event\n */\nSpeechSynthesisUtterance.prototype.onstart = function(event) {};\n\n/**\n * @param {Event} event\n */\nSpeechSynthesisUtterance.prototype.onend = function(event) {};\n\n/**\n * @param {Event} event\n */\nSpeechSynthesisUtterance.prototype.onerror = function(event) {};\n\n/**\n * @constructor\n */\nfunction SpeechSynthesisVoice() {}\n\n/** @type {string} */\nSpeechSynthesisVoice.prototype.voiceURI;\n\n/** @type {string} */\nSpeechSynthesisVoice.prototype.name;\n\n/** @type {string} */\nSpeechSynthesisVoice.prototype.lang;\n\n/** @type {boolean} */\nSpeechSynthesisVoice.prototype.localService;\n\n/** @type {boolean} */\nSpeechSynthesisVoice.prototype.default;\n\n\n/**\n * @constructor\n * @extends {Array<!SpeechSynthesisVoice>}\n */\nfunction SpeechSynthesisVoiceList() {}\n\n\n/**\n * @interface\n * @extends {EventTarget}\n */\nfunction SpeechSynthesis() {}\n\n/**\n * @param {SpeechSynthesisUtterance} utterance\n * @return {undefined}\n */\nSpeechSynthesis.prototype.speak = function(utterance) {};\n\n/** @type {function()} */\nSpeechSynthesis.prototype.cancel;\n\n/** @type {function()} */\nSpeechSynthesis.prototype.pause;\n\n/** @type {function()} */\nSpeechSynthesis.prototype.resume;\n\n/**\n * @return {SpeechSynthesisVoiceList}\n */\nSpeechSynthesis.prototype.getVoices = function() {};\n\n/**\n * @param {Event} event\n * @see https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi-errata.html\n */\nSpeechSynthesis.prototype.onvoiceschanged = function(event) {};\n',
  839. "externs/w3c_touch_event.js":"/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C's Touch Events specification.\n * @see http://www.w3.org/TR/touch-events/\n * @externs\n */\n\n/**\n * @typedef {{\n * identifier: number,\n * target: !EventTarget,\n * clientX: (number|undefined),\n * clientY: (number|undefined),\n * screenX: (number|undefined),\n * screenY: (number|undefined),\n * pageX: (number|undefined),\n * pageY: (number|undefined),\n * radiusX: (number|undefined),\n * radiusY: (number|undefined),\n * rotationAngle: (number|undefined),\n * force: (number|undefined)\n * }}\n */\nvar TouchInitDict;\n\n/**\n * The Touch class represents a single touch on the surface. A touch is the\n * presence or movement of a finger that is part of a unique multi-touch\n * sequence.\n * @see http://www.w3.org/TR/touch-events/#touch-interface\n * @param {!TouchInitDict} touchInitDict\n * @constructor\n */\nfunction Touch(touchInitDict) {}\n\n/**\n * The x-coordinate of the touch's location relative to the window's viewport.\n * @type {number}\n */\nTouch.prototype.clientX;\n\n/**\n * The y-coordinate of the touch's location relative to the window's viewport.\n * @type {number}\n */\nTouch.prototype.clientY;\n\n/**\n * The unique identifier for this touch object.\n * @type {number}\n */\nTouch.prototype.identifier;\n\n/**\n * The x-coordinate of the touch's location in page coordinates.\n * @type {number}\n */\nTouch.prototype.pageX;\n\n/**\n * The y-coordinate of the touch's location in page coordinates.\n * @type {number}\n */\nTouch.prototype.pageY;\n\n/**\n * The x-coordinate of the touch's location in screen coordinates.\n * @type {number}\n */\nTouch.prototype.screenX;\n\n/**\n * The y-coordinate of the touch's location in screen coordinates.\n * @type {number}\n */\nTouch.prototype.screenY;\n\n/**\n * The target of this touch.\n * @type {EventTarget}\n */\nTouch.prototype.target;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-force\n */\nTouch.prototype.force;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusX\n */\nTouch.prototype.radiusX;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusY\n */\nTouch.prototype.radiusY;\n\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngle\n */\nTouch.prototype.rotationAngle;\n\n\n/**\n * Creates a new Touch object.\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY\n * @param {Window} view\n * @param {EventTarget} target\n * @param {number} identifier\n * @param {number} pageX\n * @param {number} pageY\n * @param {number} screenX\n * @param {number} screenY\n * @return {Touch}\n */\nDocument.prototype.createTouch = function(view, target, identifier, pageX,\n pageY, screenX, screenY) {};\n\n\n/**\n * The TouchList class is used to represent a collection of Touch objects.\n * @see http://www.w3.org/TR/touch-events/#touchlist-interface\n * @constructor\n * @implements {IArrayLike<!Touch>}\n */\nfunction TouchList() {}\n\n/**\n * The number of Touch objects in this TouchList object.\n * @type {number}\n */\nTouchList.prototype.length;\n\n/**\n * Returns the Touch object at the given index.\n * @param {number} index\n * @return {?Touch}\n */\nTouchList.prototype.item = function(index) {};\n\n/**\n * @param {number} identifier\n * @return {?Touch}\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier\n */\nTouchList.prototype.identifiedTouch = function(identifier) {};\n\n/**\n * Creates a new TouchList object.\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches\n * @param {Array<?Touch>} touches\n * @return {TouchList}\n */\nDocument.prototype.createTouchList = function(touches) {};\n\n/**\n * @record\n * @extends {UIEventInit}\n */\nfunction TouchEventInit() {}\n\n/** @type {undefined|?EventTarget} */\nTouchEventInit.prototype.relatedTarget;\n\n/** @type {undefined|!Array<?Touch>} */\nTouchEventInit.prototype.touches;\n\n/** @type {undefined|!Array<?Touch>} */\nTouchEventInit.prototype.targetTouches;\n\n/** @type {undefined|!Array<?Touch>} */\nTouchEventInit.prototype.changedTouches;\n\n/**\n * The TouchEvent class encapsulates information about a touch event.\n *\n * <p>The system continually sends TouchEvent objects to an application as\n * fingers touch and move across a surface. A touch event provides a snapshot of\n * all touches during a multi-touch sequence, most importantly the touches that\n * are new or have changed for a particular target. A multi-touch sequence\n * begins when a finger first touches the surface. Other fingers may\n * subsequently touch the surface, and all fingers may move across the surface.\n * The sequence ends when the last of these fingers is lifted from the surface.\n * An application receives touch event objects during each phase of any touch.\n * </p>\n *\n * <p>The different types of TouchEvent objects that can occur are:\n * <ul>\n * <li>touchstart - Sent when a finger for a given event touches the surface.\n * <li>touchmove - Sent when a given event moves on the surface.\n * <li>touchend - Sent when a given event lifts from the surface.\n * <li>touchcancel - Sent when the system cancels tracking for the touch.\n * </ul>\n * TouchEvent objects are combined together to form high-level GestureEvent\n * objects that are also sent during a multi-touch sequence.</p>\n *\n * @see http://www.w3.org/TR/touch-events/#touchevent-interface\n * @param {string} type\n * @param {!TouchEventInit=} opt_eventInitDict\n * @extends {UIEvent}\n * @constructor\n */\nfunction TouchEvent(type, opt_eventInitDict) {}\n\n/**\n * A collection of Touch objects representing all touches associated with this\n * target.\n * @type {TouchList}\n */\nTouchEvent.prototype.touches;\n\n/**\n * A collection of Touch objects representing all touches associated with this\n * target.\n * @type {TouchList}\n */\nTouchEvent.prototype.targetTouches;\n\n/**\n * A collection of Touch objects representing all touches that changed in this event.\n * @type {TouchList}\n */\nTouchEvent.prototype.changedTouches;\n\n/**\n * @type {boolean}\n */\nTouchEvent.prototype.altKey;\n\n/**\n * @type {boolean}\n */\nTouchEvent.prototype.metaKey;\n\n/**\n * @type {boolean}\n */\nTouchEvent.prototype.ctrlKey;\n\n/**\n * @type {boolean}\n */\nTouchEvent.prototype.shiftKey;\n\n\n/**\n * Specifies the JavaScript method to invoke when the system cancels tracking\n * for the touch.\n * @type {?function(!TouchEvent)}\n */\nElement.prototype.ontouchcancel;\n\n/**\n * Specifies the JavaScript method to invoke when a given event lifts from the\n * surface.\n * @type {?function(!TouchEvent)}\n */\nElement.prototype.ontouchend;\n\n/**\n * Specifies the JavaScript method to invoke when a finger for a given event\n * moves on the surface.\n * @type {?function(!TouchEvent)}\n */\nElement.prototype.ontouchmove;\n\n/**\n * Specifies the JavaScript method to invoke when a finger for a given event\n * touches the surface.\n * @type {?function(!TouchEvent)}\n */\nElement.prototype.ontouchstart;\n",
  840. "externs/w3c_vibration.js":'/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for Vibration API based on "W3C Recommendation 18 October 2016"\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/\n *\n * @externs\n * @author vobruba.martin@gmail.com (Martin Vobruba)\n */\n\n\n/**\n * @typedef {number|!Array<number>}\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/#idl-def-vibratepattern\n */\nvar VibratePattern;\n\n\n/**\n * @param {!VibratePattern} pattern\n * @return {boolean}\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/#idl-def-navigator-vibrate(vibratepattern)\n */\nNavigator.prototype.vibrate = function(pattern) {};\n',
  841. "externs/w3c_webcrypto.js":'/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * @fileoverview Definitions for W3C\'s Web Cryptography specification\n * http://www.w3.org/TR/webCryptoAPI\n * @externs\n * @author chrismoon@google.com (Chris Moon)\n * This file was created using the best practices as described in:\n * chrome_extensions.js\n */\n\n\n/**\n * @const\n * @see http://www.w3.org/TR/webCryptoAPI\n */\nvar webCrypto = {};\n\n\n/**\n * @typedef {?{\n * name: string\n * }}\n * @see http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary\n */\nwebCrypto.Algorithm;\n\n\n/**\n * @typedef {string|!webCrypto.Algorithm}\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifier\n */\nwebCrypto.AlgorithmIdentifier;\n\n/**\n * @typedef {webCrypto.AlgorithmIdentifier}\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-HashAlgorithmIdentifier\n */\nwebCrypto.HashAlgorithmIdentifier;\n\n\n/**\n * @typedef {Uint8Array}\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-BigInteger\n */\nwebCrypto.BigInteger;\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKey\n */\nwebCrypto.CryptoKey = function() {};\n\n\n/**\n * @type {string} An enumerated value representing the type of the key, a secret\n * key (for symmetric algorithm), a public or a private key\n * (for an asymmetric algorithm).\n */\nwebCrypto.CryptoKey.prototype.type;\n\n\n/**\n * @type {boolean} Determines whether or not the raw keying material may be\n * exported by the application.\n */\nwebCrypto.CryptoKey.prototype.extractable;\n\n\n/**\n * @type {!Object} An opaque object representing a particular cipher the key\n * has to be used with.\n */\nwebCrypto.CryptoKey.prototype.algorithm;\n\n\n/**\n * @type {!Object} Returns the cached ECMAScript object associated with the\n * usages internal slot, which indicates which cryptographic operations are\n * permissible to be used with this key.\n */\nwebCrypto.CryptoKey.prototype.usages;\n\n\n/**\n * @constructor\n * @see https://www.w3.org/TR/WebCryptoAPI/#keypair\n */\nwebCrypto.CryptoKeyPair = function() {};\n\n\n/**\n * @type {!webCrypto.CryptoKey}\n */\nwebCrypto.CryptoKeyPair.prototype.publicKey;\n\n\n/**\n * @type {!webCrypto.CryptoKey}\n */\nwebCrypto.CryptoKeyPair.prototype.privateKey;\n\n\n/**\n * @typedef {?{\n * name: string\n * }}\n * @see http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-members\n */\nwebCrypto.KeyAlgorithm;\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey\n * @see Section 3.1:\n * https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41\n */\nwebCrypto.JsonWebKey = function() {};\n\n\n/**\n * @type {string} Identifies the cryptographic algorithm family used with\n * the key, such as "RSA" or "EC".\n */\nwebCrypto.JsonWebKey.prototype.kty;\n\n\n/**\n * @type {string} Identifies the intended use of the public key.\n */\nwebCrypto.JsonWebKey.prototype.use;\n\n\n/**\n * @type {!Array<string>} Identifies the operation(s) that the key is\n * intended to be used for.\n */\nwebCrypto.JsonWebKey.prototype.key_ops;\n\n\n/**\n * @type {string} Identifies the algorithm intended for use with the key.\n */\nwebCrypto.JsonWebKey.prototype.alg;\n\n\n/**\n * @type {boolean} Boolean to be used with kty values.\n */\nwebCrypto.JsonWebKey.prototype.ext;\n\n\n/**\n * @type {string} Identifies the cryptographic curve used with the key.\n */\nwebCrypto.JsonWebKey.prototype.crv;\n\n\n/**\n * @type {string} Contains the x coordinate for the elliptic curve point.\n */\nwebCrypto.JsonWebKey.prototype.x;\n\n\n/**\n * @type {string} Contains the y coordinate for the elliptic curve point.\n */\nwebCrypto.JsonWebKey.prototype.y;\n\n\n/**\n * @type {string} Contains the Elliptic Curve private key value.\n */\nwebCrypto.JsonWebKey.prototype.d;\n\n\n/**\n * @type {string} Contains the modulus value for the RSA public key.\n */\nwebCrypto.JsonWebKey.prototype.n;\n\n\n/**\n * @type {string} Contains the exponent value for the RSA public key.\n */\nwebCrypto.JsonWebKey.prototype.e;\n\n\n/**\n * @type {string} Contains the first prime factor.\n */\nwebCrypto.JsonWebKey.prototype.p;\n\n\n/**\n * @type {string} Contains the second prime factor.\n */\nwebCrypto.JsonWebKey.prototype.q;\n\n\n/**\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\n * the first factor.\n */\nwebCrypto.JsonWebKey.prototype.dp;\n\n\n/**\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\n * the second factor.\n */\nwebCrypto.JsonWebKey.prototype.dq;\n\n\n/**\n * @type {string} Contains the Chinese Remainder Theorem (CRT) coefficient\n * of the second factor.\n */\nwebCrypto.JsonWebKey.prototype.qi;\n\n\n/**\n * @type {!Array<!webCrypto.RsaOtherPrimesInfo>} Contains an array of\n * information about any third and subsequent primes, should they exist.\n */\nwebCrypto.JsonWebKey.prototype.oth;\n\n\n/**\n * @type {string} Contains the value of the symmetric (or other\n * single-valued) key.\n */\nwebCrypto.JsonWebKey.prototype.k;\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo\n * @see Section-6.3.2.7:\n * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40\n */\nwebCrypto.RsaOtherPrimesInfo = function() {};\n\n\n/**\n * @type {string} Parameter within an "oth" array member represents the value\n * of a subsequent prime factor.\n */\nwebCrypto.RsaOtherPrimesInfo.prototype.r;\n\n\n/**\n * @type {string} Parameter within an "oth" array member represents the CRT\n * exponent of the corresponding prime factor.\n */\nwebCrypto.RsaOtherPrimesInfo.prototype.d;\n\n\n/**\n * @type {string} Parameter within an "oth" array member represents the CRT\n * coefficient of the corresponding prime factor.\n */\nwebCrypto.RsaOtherPrimesInfo.prototype.t;\n\n\n/**\n * @record\n * @extends webCrypto.Algorithm\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaKeyGenParams\n */\nwebCrypto.RsaKeyGenParams;\n/**\n * @type {number}\n */\nwebCrypto.RsaKeyGenParams.prototype.modulusLength;\n/**\n * @type {webCrypto.BigInteger}\n */\nwebCrypto.RsaKeyGenParams.prototype.publicExponent;\n\n\n/**\n * @record\n * @extends webCrypto.RsaKeyGenParams\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaHashedKeyGenParams\n */\nwebCrypto.RsaHashedKeyGenParams;\n/**\n * @type {webCrypto.HashAlgorithmIdentifier}\n */\nwebCrypto.RsaHashedKeyGenParams.prototype.hash;\n\n\n/**\n * @record\n * @extends webCrypto.KeyAlgorithm\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaKeyAlgorithm\n */\nwebCrypto.RsaKeyAlgorithm;\n/**\n * @type {number}\n */\nwebCrypto.RsaKeyAlgorithm.prototype.modulusLength;\n/**\n * @type {webCrypto.BigInteger}\n */\nwebCrypto.RsaKeyAlgorithm.prototype.publicExponent;\n\n\n/**\n * @record\n * @extends webCrypto.RsaKeyAlgorithm\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaHashedKeyAlgorithm\n */\nwebCrypto.RsaHashedKeyAlgorithm;\n/**\n * @type {webCrypto.KeyAlgorithm}\n */\nwebCrypto.RsaHashedKeyAlgorithm.prototype.hash;\n\n\n/**\n * @record\n * @extends webCrypto.Algorithm\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaHashedImportParams\n */\nwebCrypto.RsaHashedImportParams;\n/**\n * @type {webCrypto.HashAlgorithmIdentifier}\n */\nwebCrypto.RsaHashedImportParams.prototype.hash;\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface\n */\nwebCrypto.SubtleCrypto = function() {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\n * values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\n * @param {!BufferSource} data Data to be encrypted (cleartext).\n * @return {!Promise<!ArrayBuffer>} Ciphertext generated by the encryption of\n * the cleartext.\n */\nwebCrypto.SubtleCrypto.prototype.encrypt = function(algorithm, key,\n data) {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\n * values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\n * @param {!BufferSource} data Data to be decrypted (ciphertext).\n * @return {!Promise<!ArrayBuffer>} Cleartext generated by the decryption of the\n * ciphertext.\n */\nwebCrypto.SubtleCrypto.prototype.decrypt = function(algorithm, key,\n data) {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\n * values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\n * @param {!BufferSource} data Data to be signed.\n * @return {!Promise<!ArrayBuffer>} Returns the signature on success.\n */\nwebCrypto.SubtleCrypto.prototype.sign = function(algorithm, key,\n data) {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\n * values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\n * @param {!BufferSource} signature Signature to verify.\n * @param {!BufferSource} data Data whose signature needs to be verified.\n * @return {!Promise<boolean>} Returns if the signature operating has been\n * successful.\n */\nwebCrypto.SubtleCrypto.prototype.verify = function(algorithm, key,\n signature, data) {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\n * values are: SHA-1, SHA-256, SHA-384, and SHA-512.\n * @param {!BufferSource} data Data to be hashed using the hashing algorithm.\n * @return {!Promise<!ArrayBuffer>} returns the hash on success.\n */\nwebCrypto.SubtleCrypto.prototype.digest = function(algorithm, data) {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier|webCrypto.RsaHashedKeyGenParams}\n * algorithm Supported values are: SHA-1, SHA-256, SHA-384, and SHA-512.\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\n * object at a later stage.\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\n * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\n * unwrapKey.\n * @return {!Promise<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the\n * generated key.\n */\nwebCrypto.SubtleCrypto.prototype.generateKey = function(algorithm,\n extractable, keyUsages) {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\n * algorithm to use. Supported values are: ECDH, DH, PBKDF2, and HKDF-CTR.\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\n * derivation algorithm.\n * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key\n * derivation algorithm to use.\n * @param {boolean} extractable Indicates if the key can be extracted from the\n * CryptoKey object at a later stage.\n * @param {!Array<string>} keyUsages Indicates what can be done with the\n * derivated key.\n * @return {!Promise<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the\n * generated key.\n */\nwebCrypto.SubtleCrypto.prototype.deriveKey = function(algorithm,\n baseKey, derivedKeyAlgo, extractable, keyUsages) {};\n\n\n/**\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\n * algorithm to use.\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\n * derivation algorithm.\n * @param {number} length\n * @return {!Promise<!ArrayBuffer>} returns the generated bits.\n */\nwebCrypto.SubtleCrypto.prototype.deriveBits = function(algorithm,\n baseKey, length) {};\n\n\n/**\n * @param {string} format Enumerated value describing the data\n * format of the key to imported.\n * @param {!BufferSource|!webCrypto.JsonWebKey} keyData The key\n * in the given format.\n * @param {!webCrypto.AlgorithmIdentifier|webCrypto.RsaHashedImportParams}\n * algorithm Supported values are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP,\n * AES-KW, HMAC, RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH.\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\n * object at a later stage.\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\n * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\n * unwrapKey.\n * @return {!Promise<!webCrypto.CryptoKey>} returns the generated key.\n */\nwebCrypto.SubtleCrypto.prototype.importKey = function(format, keyData,\n algorithm, extractable, keyUsages) {};\n\n\n/**\n * @param {string} format Enumerated value describing the data\n * format of the key to imported.\n * @param {!webCrypto.CryptoKey} key CryptoKey to export.\n * @return {!Promise<!ArrayBuffer|!webCrypto.JsonWebKey>} returns the key in the\n * requested format.\n */\nwebCrypto.SubtleCrypto.prototype.exportKey = function(format, key) {};\n\n\n/**\n * @param {string} format Value describing the data format in which the key must\n * be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\n * @param {!webCrypto.CryptoKey} key CryptoKey to wrap.\n * @param {!webCrypto.CryptoKey} wrappingKey CryptoKey used to perform\n * the wrapping.\n * @param {!webCrypto.AlgorithmIdentifier} wrapAlgorithm algorithm used\n * to perform the wrapping. It is one of the following: AES-CBC, AES-CTR,\n * AES-GCM, RSA-OAEP, and AES-KW.\n * @return {!Promise<!ArrayBuffer>} returns the wrapped key in the requested\n * format.\n */\nwebCrypto.SubtleCrypto.prototype.wrapKey = function(format,\n key, wrappingKey, wrapAlgorithm) {};\n\n\n/**\n * @param {string} format Value describing the data format in which the key must\n * be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\n * @param {!BufferSource} wrappedKey Contains the wrapped key in the given\n * format.\n * @param {!webCrypto.CryptoKey} unwrappingKey CryptoKey used to perform\n * the unwrapping.\n * @param {!webCrypto.AlgorithmIdentifier} unwrapAlgorithm Algorithm\n * used to perform the unwrapping. It is one of the following: AES-CBC,\n * AES-CTR, AES-GCM, RSA-OAEP, and AES-KW.\n * @param {!webCrypto.AlgorithmIdentifier} unwrappedKeyAlgorithm\n * Represents the algorithm of the wrapped key.\n * @param {boolean} extractable Indicates if the key can be extracted from the\n * CryptoKey object at a later stage.\n * @param {!Array<string>} keyUsages Indicates what can be done with the\n * derivated key.\n * @return {!Promise<!webCrypto.CryptoKey>} returns the unwrapped key.\n */\nwebCrypto.SubtleCrypto.prototype.unwrapKey = function(format, wrappedKey,\n unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable,\n keyUsages) {};\n\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto\n * @interface\n */\nwebCrypto.Crypto = function() {};\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues\n * @param {!ArrayBufferView} typedArray\n * @return {!ArrayBufferView}\n * @throws {Error}\n */\nwebCrypto.Crypto.prototype.getRandomValues = function(typedArray) {};\n\n/**\n * @type {?webCrypto.SubtleCrypto}\n * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle\n */\nwebCrypto.Crypto.prototype.subtle;\n\n/**\n * @see https://developer.mozilla.org/en/DOM/window.crypto\n * @type {!webCrypto.Crypto|undefined}\n */\nvar crypto;\n',
  842. "externs/w3c_xml.js":'/*\n * Copyright 2008 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for W3C\'s XML related specifications.\n * This file depends on w3c_dom2.js.\n * The whole file has been fully type annotated.\n *\n * Provides the XML standards from W3C.\n * Includes:\n * XPath - Fully type annotated\n * XMLHttpRequest - Fully type annotated\n *\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html\n * @see https://xhr.spec.whatwg.org/\n *\n * @externs\n * @author acleung@google.com (Alan Leung)\n * @author stevey@google.com (Steve Yegge)\n */\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException\n */\nfunction XPathException() {}\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR\n */\nXPathException.INVALID_EXPRESSION_ERR;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR\n */\nXPathException.TYPE_ERR;\n\n/**\n * @type {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#\n */\nXPathException.prototype.code;\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator\n */\nfunction XPathEvaluator() {}\n\n/**\n * @param {string} expr\n * @param {?XPathNSResolver=} opt_resolver\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression\n * @throws XPathException\n * @throws DOMException\n * @return {undefined}\n */\nXPathEvaluator.prototype.createExpression = function(expr, opt_resolver) {};\n\n/**\n * @param {Node} nodeResolver\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver\n * @return {undefined}\n */\nXPathEvaluator.prototype.createNSResolver = function(nodeResolver) {};\n\n/**\n * @param {string} expr\n * @param {Node} contextNode\n * @param {?XPathNSResolver=} opt_resolver\n * @param {?number=} opt_type\n * @param {*=} opt_result\n * @return {XPathResult}\n * @throws XPathException\n * @throws DOMException\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate\n */\nXPathEvaluator.prototype.evaluate = function(expr, contextNode, opt_resolver,\n opt_type, opt_result) {};\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression\n */\nfunction XPathExpression() {}\n\n/**\n * @param {Node} contextNode\n * @param {number=} opt_type\n * @param {*=} opt_result\n * @return {*}\n * @throws XPathException\n * @throws DOMException\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluate\n */\nXPathExpression.prototype.evaluate = function(contextNode, opt_type,\n opt_result) {};\n\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver\n */\nfunction XPathNSResolver() {}\n\n/**\n * @param {string} prefix\n * @return {?string}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURI\n */\nXPathNSResolver.prototype.lookupNamespaceURI = function(prefix) {};\n\n/**\n * From http://www.w3.org/TR/xpath\n *\n * XPath is a language for addressing parts of an XML document, designed to be\n * used by both XSLT and XPointer.\n *\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult\n */\nfunction XPathResult() {}\n\n/**\n * @type {boolean} {@see XPathException.TYPE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValue\n */\nXPathResult.prototype.booleanValue;\n\n/**\n * @type {boolean} {@see XPathException.TYPE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-state\n */\nXPathResult.prototype.invalidInteratorState;\n\n/**\n * @type {number}\n * @throws XPathException {@see XPathException.TYPE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValue\n */\nXPathResult.prototype.numberValue;\n\n/**\n * @type {number}\n * @throws XPathException {@see XPathException.TYPE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultType\n */\nXPathResult.prototype.resultType;\n\n/**\n * @type {Node}\n * @throws XPathException {@see XPathException.TYPE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValue\n */\nXPathResult.prototype.singleNodeValue;\n\n/**\n * @type {number}\n * @throws XPathException {@see XPathException.TYPE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-length\n */\nXPathResult.prototype.snapshotLength;\n\n/**\n * @type {string}\n * @throws XPathException {@see XPathException.TYPE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValue\n */\nXPathResult.prototype.stringValue;\n\n/**\n * @return {Node}\n * @throws XPathException {@see XPathException.TYPE_ERR}\n * @throws DOMException {@see DOMException.INVALID_STATE_ERR}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNext\n */\nXPathResult.prototype.iterateNext = function() {};\n\n/**\n * @param {number} index\n * @return {Node}\n * @throws XPathException\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItem\n */\nXPathResult.prototype.snapshotItem = function(index) {};\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE\n */\nXPathResult.ANY_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE\n */\nXPathResult.NUMBER_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE\n */\nXPathResult.STRING_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE\n */\nXPathResult.BOOLEAN_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPE\n */\nXPathResult.UNORDERED_NODE_ITERATOR_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPE\n */\nXPathResult.ORDERED_NODE_ITERATOR_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPE\n */\nXPathResult.UNORDERED_NODE_SNAPSHOT_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPE\n */\nXPathResult.ORDERED_NODE_SNAPSHOT_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPE\n */\nXPathResult.ANY_UNORDERED_NODE_TYPE;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPE\n */\nXPathResult.FIRST_ORDERED_NODE_TYPE;\n\n/**\n * @constructor\n * @extends {Node}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace\n */\nfunction XPathNamespace() {}\n\n/**\n * @type {Element}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElement\n */\nXPathNamespace.prototype.ownerElement;\n\n/**\n * @const {number}\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE\n */\nXPathNamespace.XPATH_NAMESPACE_NODE;\n\n/**\n * From https://xhr.spec.whatwg.org/#xmlhttprequest\n *\n * (Draft)\n *\n * The XMLHttpRequest Object specification defines an API that provides\n * scripted client functionality for transferring data between a client and a\n * server.\n *\n * @constructor\n * @implements {EventTarget}\n * @see https://xhr.spec.whatwg.org/#xmlhttprequest\n */\nfunction XMLHttpRequest() {}\n\n/** @override */\nXMLHttpRequest.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nXMLHttpRequest.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nXMLHttpRequest.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @param {string} method\n * @param {string} url\n * @param {?boolean=} opt_async\n * @param {?string=} opt_user\n * @param {?string=} opt_password\n * @return {undefined}\n * @see https://xhr.spec.whatwg.org/#the-open()-method\n */\nXMLHttpRequest.prototype.open = function(method, url, opt_async, opt_user,\n opt_password) {};\n\n/**\n * @param {string} header\n * @param {string} value\n * @return {undefined}\n * @see https://xhr.spec.whatwg.org/#the-setrequestheader()-method\n */\nXMLHttpRequest.prototype.setRequestHeader = function(header, value) {};\n\n/**\n * @param {ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string=} opt_data\n * @return {undefined}\n * @see https://xhr.spec.whatwg.org/#the-send()-method\n */\nXMLHttpRequest.prototype.send = function(opt_data) {};\n\n/**\n * @return {undefined}\n * @see https://xhr.spec.whatwg.org/#the-abort()-method\n */\nXMLHttpRequest.prototype.abort = function() {};\n\n/**\n * @return {string}\n * @see https://xhr.spec.whatwg.org/#the-getallresponseheaders()-method\n */\nXMLHttpRequest.prototype.getAllResponseHeaders = function() {};\n\n/**\n * @param {string} header\n * @return {string}\n * @see https://xhr.spec.whatwg.org/#the-getresponseheader()-method\n */\nXMLHttpRequest.prototype.getResponseHeader = function(header) {};\n\n/**\n * @type {string}\n * @see https://xhr.spec.whatwg.org/#the-responsetext-attribute\n */\nXMLHttpRequest.prototype.responseText;\n\n/**\n * This is not supported in any IE browser (as of August 2016).\n * @type {string}\n * @see https://xhr.spec.whatwg.org/#the-responseurl-attribute\n */\nXMLHttpRequest.prototype.responseURL;\n\n/**\n * @type {Document}\n * @see https://xhr.spec.whatwg.org/#the-responsexml-attribute\n */\nXMLHttpRequest.prototype.responseXML;\n\n/**\n * @type {number}\n * @see https://xhr.spec.whatwg.org/#dom-xmlhttprequest-readystate\n */\nXMLHttpRequest.prototype.readyState;\n\n/**\n * @type {number}\n * @see https://xhr.spec.whatwg.org/#the-status-attribute\n */\nXMLHttpRequest.prototype.status;\n\n/**\n * @type {string}\n * @see https://xhr.spec.whatwg.org/#the-statustext-attribute\n */\nXMLHttpRequest.prototype.statusText;\n\n/**\n * @type {number}\n * @see https://xhr.spec.whatwg.org/#the-timeout-attribute\n */\nXMLHttpRequest.prototype.timeout;\n\n/**\n * @type {?function(!Event)}\n * @see https://xhr.spec.whatwg.org/#event-handlers\n */\nXMLHttpRequest.prototype.onreadystatechange;\n\n/**\n * @type {?function(!Event)}\n * @see https://xhr.spec.whatwg.org/#event-handlers\n */\nXMLHttpRequest.prototype.onerror;\n\n/**\n * @const {number}\n * @see https://xhr.spec.whatwg.org/#states\n */\nXMLHttpRequest.UNSENT;\n\n/**\n * @const {number}\n * @see https://xhr.spec.whatwg.org/#states\n */\nXMLHttpRequest.OPENED;\n\n/**\n * @const {number}\n * @see https://xhr.spec.whatwg.org/#states\n */\nXMLHttpRequest.HEADERS_RECEIVED;\n\n/**\n * @const {number}\n * @see https://xhr.spec.whatwg.org/#states\n */\nXMLHttpRequest.LOADING;\n\n/**\n * @const {number}\n * @see https://xhr.spec.whatwg.org/#states\n */\nXMLHttpRequest.DONE;\n\n\n/**\n * @see https://xhr.spec.whatwg.org/#formdataentryvalue\n * @typedef {!File|string}\n */\nvar FormDataEntryValue;\n\n/**\n * The FormData object represents an ordered collection of entries. Each entry\n * has a name and value.\n *\n * @param {?Element=} form An optional form to use for constructing the form\n * data set.\n * @constructor\n * @implements {Iterable<!Array<!FormDataEntryValue>>}\n * @see https://xhr.spec.whatwg.org/#interface-formdata\n */\nfunction FormData(form) {}\n\n/**\n * @param {string} name\n * @param {?Blob|string} value\n * @param {string=} filename\n * @return {undefined}\n * @see https://xhr.spec.whatwg.org/#dom-formdata-append\n */\nFormData.prototype.append = function(name, value, filename) {};\n\n/**\n * @param {string} name\n * @return {undefined}\n * @see https://xhr.spec.whatwg.org/#dom-formdata-delete\n */\nFormData.prototype.delete = function(name) {};\n\n/**\n * @param {string} name\n * @return {?FormDataEntryValue}\n * @see https://xhr.spec.whatwg.org/#dom-formdata-get\n */\nFormData.prototype.get = function(name) {};\n\n/**\n * @param {string} name\n * @return {!Array<!FormDataEntryValue>}\n * @see https://xhr.spec.whatwg.org/#dom-formdata-getall\n */\nFormData.prototype.getAll = function(name) {};\n\n/**\n * @param {string} name\n * @return {boolean}\n * @see https://xhr.spec.whatwg.org/#dom-formdata-has\n */\nFormData.prototype.has = function(name) {};\n\n/**\n * @param {string} name\n * @param {!Blob|string} value\n * @param {string=} filename\n * @return {undefined}\n * @see https://xhr.spec.whatwg.org/#dom-formdata-set\n */\nFormData.prototype.set = function(name, value, filename) {};\n\n',
  843. "externs/webassembly.js":'/*\n * Copyright 2017 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for WebAssembly JS API\n *\n * @see http://webassembly.org/docs/js/\n *\n * @externs\n * @author loorongjie@gmail.com (Loo Rong Jie)\n */\n\n /**\n * @const\n */\nvar WebAssembly = {};\n\n/**\n * @constructor\n * @param {!BufferSource} bytes\n */\nWebAssembly.Module = function(bytes) {};\n\n/**\n * @constructor\n * @param {!WebAssembly.Module} moduleObject\n * @param {Object=} importObject\n */\nWebAssembly.Instance = function(moduleObject, importObject) {};\n\n/**\n * @typedef {{initial:number, maximum:(number|undefined)}}\n */\nvar MemoryDescriptor;\n\n/**\n * @constructor\n * @param {MemoryDescriptor} memoryDescriptor\n */\nWebAssembly.Memory = function(memoryDescriptor) {};\n\n/**\n * @typedef {{element:string, initial:number, maximum:(number|undefined)}}\n */\nvar TableDescriptor;\n\n/**\n * @constructor\n * @param {TableDescriptor} tableDescriptor\n */\nWebAssembly.Table = function(tableDescriptor) {};\n\n/**\n * @constructor\n * @extends {Error}\n */\nWebAssembly.CompileError = function() {};\n\n/**\n * @constructor\n * @extends {Error}\n */\nWebAssembly.LinkError = function() {};\n\n/**\n * @constructor\n * @extends {Error}\n */\nWebAssembly.RuntimeError = function() {};\n\n// Note: Closure compiler does not support function overloading, omit this overload for now.\n// {function(!WebAssembly.Module, Object=):!Promise<!WebAssembly.Instance>}\n/**\n * @param {!BufferSource} moduleObject\n * @param {Object=} importObject\n * @return {!Promise<{module:!WebAssembly.Module, instance:!WebAssembly.Instance}>}\n */\nWebAssembly.instantiate = function(moduleObject, importObject) {};\n\n/**\n * @param {!Promise<!Response>} moduleStream\n * @param {Object=} importObject\n * @return {!Promise<{module:!WebAssembly.Module, instance:!WebAssembly.Instance}>}\n */\nWebAssembly.instantiateStreaming = function(moduleStream, importObject) {};\n\n/**\n * @param {!BufferSource} bytes\n * @return {!Promise<!WebAssembly.Module>}\n */\nWebAssembly.compile = function(bytes) {};\n\n/**\n * @param {!Promise<!Response>} moduleStream\n * @return {!Promise<!WebAssembly.Module>}\n */\nWebAssembly.compileStreaming = function(moduleStream) {};\n\n/**\n * @param {!BufferSource} bytes\n * @return {boolean}\n * @nosideeffects\n */\nWebAssembly.validate = function(bytes) {};\n\n/**\n * @param {!WebAssembly.Module} moduleObject\n * @return {!Array<{name:string, kind:string}>}\n */\nWebAssembly.Module.exports = function(moduleObject) {};\n\n/**\n * @param {!WebAssembly.Module} moduleObject\n * @return {!Array<{module:string, name:string, kind:string}>}\n */\nWebAssembly.Module.imports = function(moduleObject) {};\n\n/**\n * @param {!WebAssembly.Module} moduleObject\n * @param {string} sectionName\n * @return {!Array<!ArrayBuffer>}\n */\nWebAssembly.Module.customSections = function(moduleObject, sectionName) {};\n\nWebAssembly.Instance.prototype.exports;\n\n/**\n * @param {number} delta\n * @return {number}\n */\nWebAssembly.Memory.prototype.grow = function(delta) {};\n\n/**\n * @type {!ArrayBuffer}\n */\nWebAssembly.Memory.prototype.buffer;\n\n/**\n * @param {number} delta\n * @return {number}\n */\nWebAssembly.Table.prototype.grow = function(delta) {};\n\n/**\n * @type {number}\n */\nWebAssembly.Table.prototype.length;\n\n/** @typedef {function(...)} */\nvar TableFunction;\n\n/**\n * @param {number} index\n * @return {TableFunction}\n */\nWebAssembly.Table.prototype.get = function(index) {};\n\n/**\n * @param {number} index\n * @param {?TableFunction} value\n * @return {undefined}\n */\nWebAssembly.Table.prototype.set = function(index, value) {};\n',
  844. "externs/webgl.js":"/*\n * Copyright 2010 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for WebGL functions as described at\n * http://www.khronos.org/registry/webgl/specs/latest/\n *\n * This file is current up to the WebGL 1.0.1 spec, including extensions.\n *\n * This relies on html5.js being included for Canvas and Typed Array support.\n *\n * This includes some extensions defined at\n * http://www.khronos.org/registry/webgl/extensions/\n *\n * @externs\n */\n\n\n/**\n * @typedef {ImageBitmap|ImageData|HTMLImageElement|HTMLCanvasElement|\n * HTMLVideoElement|OffscreenCanvas}\n */\nvar TexImageSource;\n\n/**\n * @constructor\n */\nfunction WebGLRenderingContext() {}\n\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_BUFFER_BIT;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BUFFER_BIT;\n\n/** @const {number} */\nWebGLRenderingContext.COLOR_BUFFER_BIT;\n\n/** @const {number} */\nWebGLRenderingContext.POINTS;\n\n/** @const {number} */\nWebGLRenderingContext.LINES;\n\n/** @const {number} */\nWebGLRenderingContext.LINE_LOOP;\n\n/** @const {number} */\nWebGLRenderingContext.LINE_STRIP;\n\n/** @const {number} */\nWebGLRenderingContext.TRIANGLES;\n\n/** @const {number} */\nWebGLRenderingContext.TRIANGLE_STRIP;\n\n/** @const {number} */\nWebGLRenderingContext.TRIANGLE_FAN;\n\n/** @const {number} */\nWebGLRenderingContext.ZERO;\n\n/** @const {number} */\nWebGLRenderingContext.ONE;\n\n/** @const {number} */\nWebGLRenderingContext.SRC_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.ONE_MINUS_SRC_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.SRC_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.ONE_MINUS_SRC_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.DST_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.ONE_MINUS_DST_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.DST_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.ONE_MINUS_DST_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.SRC_ALPHA_SATURATE;\n\n/** @const {number} */\nWebGLRenderingContext.FUNC_ADD;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_EQUATION;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_EQUATION_RGB;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_EQUATION_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.FUNC_SUBTRACT;\n\n/** @const {number} */\nWebGLRenderingContext.FUNC_REVERSE_SUBTRACT;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_DST_RGB;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_SRC_RGB;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_DST_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_SRC_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.CONSTANT_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.CONSTANT_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.ARRAY_BUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.ARRAY_BUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.STREAM_DRAW;\n\n/** @const {number} */\nWebGLRenderingContext.STATIC_DRAW;\n\n/** @const {number} */\nWebGLRenderingContext.DYNAMIC_DRAW;\n\n/** @const {number} */\nWebGLRenderingContext.BUFFER_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.BUFFER_USAGE;\n\n/** @const {number} */\nWebGLRenderingContext.CURRENT_VERTEX_ATTRIB;\n\n/** @const {number} */\nWebGLRenderingContext.FRONT;\n\n/** @const {number} */\nWebGLRenderingContext.BACK;\n\n/** @const {number} */\nWebGLRenderingContext.FRONT_AND_BACK;\n\n/** @const {number} */\nWebGLRenderingContext.CULL_FACE;\n\n/** @const {number} */\nWebGLRenderingContext.BLEND;\n\n/** @const {number} */\nWebGLRenderingContext.DITHER;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_TEST;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_TEST;\n\n/** @const {number} */\nWebGLRenderingContext.SCISSOR_TEST;\n\n/** @const {number} */\nWebGLRenderingContext.POLYGON_OFFSET_FILL;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLE_ALPHA_TO_COVERAGE;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLE_COVERAGE;\n\n/** @const {number} */\nWebGLRenderingContext.NO_ERROR;\n\n/** @const {number} */\nWebGLRenderingContext.INVALID_ENUM;\n\n/** @const {number} */\nWebGLRenderingContext.INVALID_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.INVALID_OPERATION;\n\n/** @const {number} */\nWebGLRenderingContext.OUT_OF_MEMORY;\n\n/** @const {number} */\nWebGLRenderingContext.CW;\n\n/** @const {number} */\nWebGLRenderingContext.CCW;\n\n/** @const {number} */\nWebGLRenderingContext.LINE_WIDTH;\n\n/** @const {number} */\nWebGLRenderingContext.ALIASED_POINT_SIZE_RANGE;\n\n/** @const {number} */\nWebGLRenderingContext.ALIASED_LINE_WIDTH_RANGE;\n\n/** @const {number} */\nWebGLRenderingContext.CULL_FACE_MODE;\n\n/** @const {number} */\nWebGLRenderingContext.FRONT_FACE;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_RANGE;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_CLEAR_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_FUNC;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_CLEAR_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_FUNC;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_PASS_DEPTH_PASS;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_REF;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_VALUE_MASK;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BACK_FUNC;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BACK_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BACK_REF;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BACK_VALUE_MASK;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BACK_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.VIEWPORT;\n\n/** @const {number} */\nWebGLRenderingContext.SCISSOR_BOX;\n\n/** @const {number} */\nWebGLRenderingContext.COLOR_CLEAR_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.COLOR_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.UNPACK_ALIGNMENT;\n\n/** @const {number} */\nWebGLRenderingContext.PACK_ALIGNMENT;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_TEXTURE_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_VIEWPORT_DIMS;\n\n/** @const {number} */\nWebGLRenderingContext.SUBPIXEL_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.RED_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.GREEN_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.BLUE_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.ALPHA_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.POLYGON_OFFSET_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.POLYGON_OFFSET_FACTOR;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_BINDING_2D;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLE_BUFFERS;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLES;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLE_COVERAGE_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLE_COVERAGE_INVERT;\n\n/** @const {number} */\nWebGLRenderingContext.COMPRESSED_TEXTURE_FORMATS;\n\n/** @const {number} */\nWebGLRenderingContext.DONT_CARE;\n\n/** @const {number} */\nWebGLRenderingContext.FASTEST;\n\n/** @const {number} */\nWebGLRenderingContext.NICEST;\n\n/** @const {number} */\nWebGLRenderingContext.GENERATE_MIPMAP_HINT;\n\n/** @const {number} */\nWebGLRenderingContext.BYTE;\n\n/** @const {number} */\nWebGLRenderingContext.UNSIGNED_BYTE;\n\n/** @const {number} */\nWebGLRenderingContext.SHORT;\n\n/** @const {number} */\nWebGLRenderingContext.UNSIGNED_SHORT;\n\n/** @const {number} */\nWebGLRenderingContext.INT;\n\n/** @const {number} */\nWebGLRenderingContext.UNSIGNED_INT;\n\n/** @const {number} */\nWebGLRenderingContext.FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_COMPONENT;\n\n/** @const {number} */\nWebGLRenderingContext.ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.RGB;\n\n/** @const {number} */\nWebGLRenderingContext.RGBA;\n\n/** @const {number} */\nWebGLRenderingContext.LUMINANCE;\n\n/** @const {number} */\nWebGLRenderingContext.LUMINANCE_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.UNSIGNED_SHORT_4_4_4_4;\n\n/** @const {number} */\nWebGLRenderingContext.UNSIGNED_SHORT_5_5_5_1;\n\n/** @const {number} */\nWebGLRenderingContext.UNSIGNED_SHORT_5_6_5;\n\n/** @const {number} */\nWebGLRenderingContext.FRAGMENT_SHADER;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_SHADER;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_VERTEX_ATTRIBS;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_VERTEX_UNIFORM_VECTORS;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_VARYING_VECTORS;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_FRAGMENT_UNIFORM_VECTORS;\n\n/** @const {number} */\nWebGLRenderingContext.SHADER_TYPE;\n\n/** @const {number} */\nWebGLRenderingContext.DELETE_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.LINK_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.VALIDATE_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.ATTACHED_SHADERS;\n\n/** @const {number} */\nWebGLRenderingContext.ACTIVE_UNIFORMS;\n\n/** @const {number} */\nWebGLRenderingContext.ACTIVE_ATTRIBUTES;\n\n/** @const {number} */\nWebGLRenderingContext.SHADING_LANGUAGE_VERSION;\n\n/** @const {number} */\nWebGLRenderingContext.CURRENT_PROGRAM;\n\n/** @const {number} */\nWebGLRenderingContext.NEVER;\n\n/** @const {number} */\nWebGLRenderingContext.LESS;\n\n/** @const {number} */\nWebGLRenderingContext.EQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.LEQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.GREATER;\n\n/** @const {number} */\nWebGLRenderingContext.NOTEQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.GEQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.ALWAYS;\n\n/** @const {number} */\nWebGLRenderingContext.KEEP;\n\n/** @const {number} */\nWebGLRenderingContext.REPLACE;\n\n/** @const {number} */\nWebGLRenderingContext.INCR;\n\n/** @const {number} */\nWebGLRenderingContext.DECR;\n\n/** @const {number} */\nWebGLRenderingContext.INVERT;\n\n/** @const {number} */\nWebGLRenderingContext.INCR_WRAP;\n\n/** @const {number} */\nWebGLRenderingContext.DECR_WRAP;\n\n/** @const {number} */\nWebGLRenderingContext.VENDOR;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERER;\n\n/** @const {number} */\nWebGLRenderingContext.VERSION;\n\n/** @const {number} */\nWebGLRenderingContext.NEAREST;\n\n/** @const {number} */\nWebGLRenderingContext.LINEAR;\n\n/** @const {number} */\nWebGLRenderingContext.NEAREST_MIPMAP_NEAREST;\n\n/** @const {number} */\nWebGLRenderingContext.LINEAR_MIPMAP_NEAREST;\n\n/** @const {number} */\nWebGLRenderingContext.NEAREST_MIPMAP_LINEAR;\n\n/** @const {number} */\nWebGLRenderingContext.LINEAR_MIPMAP_LINEAR;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_MAG_FILTER;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_MIN_FILTER;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_WRAP_S;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_WRAP_T;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_2D;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_CUBE_MAP;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_BINDING_CUBE_MAP;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_CUBE_MAP_TEXTURE_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE0;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE1;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE2;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE3;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE4;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE5;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE6;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE7;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE8;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE9;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE10;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE11;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE12;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE13;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE14;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE15;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE16;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE17;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE18;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE19;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE20;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE21;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE22;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE23;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE24;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE25;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE26;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE27;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE28;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE29;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE30;\n\n/** @const {number} */\nWebGLRenderingContext.TEXTURE31;\n\n/** @const {number} */\nWebGLRenderingContext.ACTIVE_TEXTURE;\n\n/** @const {number} */\nWebGLRenderingContext.REPEAT;\n\n/** @const {number} */\nWebGLRenderingContext.CLAMP_TO_EDGE;\n\n/** @const {number} */\nWebGLRenderingContext.MIRRORED_REPEAT;\n\n/** @const {number} */\nWebGLRenderingContext.FLOAT_VEC2;\n\n/** @const {number} */\nWebGLRenderingContext.FLOAT_VEC3;\n\n/** @const {number} */\nWebGLRenderingContext.FLOAT_VEC4;\n\n/** @const {number} */\nWebGLRenderingContext.INT_VEC2;\n\n/** @const {number} */\nWebGLRenderingContext.INT_VEC3;\n\n/** @const {number} */\nWebGLRenderingContext.INT_VEC4;\n\n/** @const {number} */\nWebGLRenderingContext.BOOL;\n\n/** @const {number} */\nWebGLRenderingContext.BOOL_VEC2;\n\n/** @const {number} */\nWebGLRenderingContext.BOOL_VEC3;\n\n/** @const {number} */\nWebGLRenderingContext.BOOL_VEC4;\n\n/** @const {number} */\nWebGLRenderingContext.FLOAT_MAT2;\n\n/** @const {number} */\nWebGLRenderingContext.FLOAT_MAT3;\n\n/** @const {number} */\nWebGLRenderingContext.FLOAT_MAT4;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLER_2D;\n\n/** @const {number} */\nWebGLRenderingContext.SAMPLER_CUBE;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_ENABLED;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_STRIDE;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_TYPE;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_NORMALIZED;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_POINTER;\n\n/** @const {number} */\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_FORMAT;\n\n/** @const {number} */\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_TYPE;\n\n/** @const {number} */\nWebGLRenderingContext.COMPILE_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.LOW_FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.MEDIUM_FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.HIGH_FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.LOW_INT;\n\n/** @const {number} */\nWebGLRenderingContext.MEDIUM_INT;\n\n/** @const {number} */\nWebGLRenderingContext.HIGH_INT;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.RGBA4;\n\n/** @const {number} */\nWebGLRenderingContext.RGB5_A1;\n\n/** @const {number} */\nWebGLRenderingContext.RGB565;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_COMPONENT16;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_INDEX;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_INDEX8;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_STENCIL;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_WIDTH;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_HEIGHT;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_INTERNAL_FORMAT;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_RED_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_GREEN_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_BLUE_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_ALPHA_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_DEPTH_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_STENCIL_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\n\n/** @const {number} */\nWebGLRenderingContext.COLOR_ATTACHMENT0;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.STENCIL_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.DEPTH_STENCIL_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.NONE;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_COMPLETE;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED;\n\n/** @const {number} */\nWebGLRenderingContext.FRAMEBUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.RENDERBUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.MAX_RENDERBUFFER_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.INVALID_FRAMEBUFFER_OPERATION;\n\n/** @const {number} */\nWebGLRenderingContext.UNPACK_FLIP_Y_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.CONTEXT_LOST_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.UNPACK_COLORSPACE_CONVERSION_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.BROWSER_DEFAULT_WEBGL;\n\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_BUFFER_BIT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BUFFER_BIT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.COLOR_BUFFER_BIT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.POINTS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINES;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINE_LOOP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINE_STRIP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TRIANGLES;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TRIANGLE_STRIP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TRIANGLE_FAN;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ZERO;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ONE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SRC_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SRC_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DST_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ONE_MINUS_DST_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DST_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ONE_MINUS_DST_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SRC_ALPHA_SATURATE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FUNC_ADD;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_EQUATION;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_EQUATION_RGB;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_EQUATION_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FUNC_SUBTRACT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FUNC_REVERSE_SUBTRACT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_DST_RGB;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_SRC_RGB;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_DST_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_SRC_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CONSTANT_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CONSTANT_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND_COLOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ARRAY_BUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ARRAY_BUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STREAM_DRAW;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STATIC_DRAW;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DYNAMIC_DRAW;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BUFFER_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BUFFER_USAGE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CURRENT_VERTEX_ATTRIB;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRONT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BACK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRONT_AND_BACK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CULL_FACE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLEND;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DITHER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_TEST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_TEST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SCISSOR_TEST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FILL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLE_ALPHA_TO_COVERAGE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NO_ERROR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INVALID_ENUM;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INVALID_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INVALID_OPERATION;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.OUT_OF_MEMORY;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CW;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CCW;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINE_WIDTH;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ALIASED_POINT_SIZE_RANGE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ALIASED_LINE_WIDTH_RANGE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CULL_FACE_MODE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRONT_FACE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_RANGE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_CLEAR_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_FUNC;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_CLEAR_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_FUNC;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_PASS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_REF;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_VALUE_MASK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BACK_FUNC;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BACK_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_FAIL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_PASS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BACK_REF;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BACK_VALUE_MASK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BACK_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VIEWPORT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SCISSOR_BOX;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.COLOR_CLEAR_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.COLOR_WRITEMASK;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNPACK_ALIGNMENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.PACK_ALIGNMENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_TEXTURE_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_VIEWPORT_DIMS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SUBPIXEL_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RED_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.GREEN_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BLUE_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ALPHA_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_BITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.POLYGON_OFFSET_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FACTOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_BINDING_2D;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLE_BUFFERS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLES;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_VALUE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_INVERT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.COMPRESSED_TEXTURE_FORMATS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DONT_CARE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FASTEST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NICEST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.GENERATE_MIPMAP_HINT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BYTE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNSIGNED_BYTE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SHORT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNSIGNED_SHORT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNSIGNED_INT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_COMPONENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RGB;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RGBA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LUMINANCE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LUMINANCE_ALPHA;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_4_4_4_4;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_5_5_1;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_6_5;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAGMENT_SHADER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_SHADER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_VERTEX_ATTRIBS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_VERTEX_UNIFORM_VECTORS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_VARYING_VECTORS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_FRAGMENT_UNIFORM_VECTORS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SHADER_TYPE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DELETE_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINK_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VALIDATE_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ATTACHED_SHADERS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ACTIVE_UNIFORMS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ACTIVE_ATTRIBUTES;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SHADING_LANGUAGE_VERSION;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CURRENT_PROGRAM;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NEVER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LESS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.EQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LEQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.GREATER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NOTEQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.GEQUAL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ALWAYS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.KEEP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.REPLACE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INCR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DECR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INVERT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INCR_WRAP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DECR_WRAP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VENDOR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERSION;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NEAREST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINEAR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_NEAREST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_NEAREST;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_LINEAR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_LINEAR;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_MAG_FILTER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_MIN_FILTER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_WRAP_S;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_WRAP_T;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_2D;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_BINDING_CUBE_MAP;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_X;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_X;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Y;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Y;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Z;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Z;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_CUBE_MAP_TEXTURE_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE0;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE1;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE2;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE3;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE4;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE5;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE6;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE7;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE8;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE9;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE10;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE11;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE12;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE13;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE14;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE15;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE16;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE17;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE18;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE19;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE20;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE21;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE22;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE23;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE24;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE25;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE26;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE27;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE28;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE29;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE30;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.TEXTURE31;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.ACTIVE_TEXTURE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.REPEAT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CLAMP_TO_EDGE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MIRRORED_REPEAT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FLOAT_VEC2;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FLOAT_VEC3;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FLOAT_VEC4;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INT_VEC2;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INT_VEC3;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INT_VEC4;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BOOL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BOOL_VEC2;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BOOL_VEC3;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BOOL_VEC4;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FLOAT_MAT2;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FLOAT_MAT3;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FLOAT_MAT4;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLER_2D;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.SAMPLER_CUBE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_ENABLED;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_STRIDE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_TYPE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_NORMALIZED;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_POINTER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.COMPILE_STATUS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LOW_FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MEDIUM_FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.HIGH_FLOAT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.LOW_INT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MEDIUM_INT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.HIGH_INT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RGBA4;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RGB5_A1;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RGB565;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_COMPONENT16;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_INDEX;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_INDEX8;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_STENCIL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_WIDTH;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_HEIGHT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_INTERNAL_FORMAT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_RED_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_GREEN_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_BLUE_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_ALPHA_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_DEPTH_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_STENCIL_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.COLOR_ATTACHMENT0;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.STENCIL_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.NONE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_COMPLETE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_UNSUPPORTED;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.FRAMEBUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.RENDERBUFFER_BINDING;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.MAX_RENDERBUFFER_SIZE;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.INVALID_FRAMEBUFFER_OPERATION;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNPACK_FLIP_Y_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.CONTEXT_LOST_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.UNPACK_COLORSPACE_CONVERSION_WEBGL;\n\n/** @const {number} */\nWebGLRenderingContext.prototype.BROWSER_DEFAULT_WEBGL;\n\n\n/**\n * @type {!HTMLCanvasElement}\n */\nWebGLRenderingContext.prototype.canvas;\n\n/**\n * @type {number}\n */\nWebGLRenderingContext.prototype.drawingBufferWidth;\n\n/**\n * @type {number}\n */\nWebGLRenderingContext.prototype.drawingBufferHeight;\n\n/**\n * @return {!WebGLContextAttributes}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getContextAttributes = function() {};\n\n/**\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isContextLost = function() {};\n\n/**\n * @return {!Array<string>}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getSupportedExtensions = function() {};\n\n/**\n * Note that this has side effects by enabling the extension even if the\n * result is not used.\n * @param {string} name\n * @return {Object}\n */\nWebGLRenderingContext.prototype.getExtension = function(name) {};\n\n/**\n * @param {number} texture\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.activeTexture = function(texture) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {WebGLShader} shader\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.attachShader = function(program, shader) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {number} index\n * @param {string} name\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.bindAttribLocation = function(\n program, index, name) {};\n\n/**\n * @param {number} target\n * @param {WebGLBuffer} buffer\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.bindBuffer = function(target, buffer) {};\n\n/**\n * @param {number} target\n * @param {WebGLFramebuffer} buffer\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.bindFramebuffer = function(target, buffer) {};\n\n/**\n * @param {number} target\n * @param {WebGLRenderbuffer} buffer\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.bindRenderbuffer = function(target, buffer) {};\n\n/**\n * @param {number} target\n * @param {WebGLTexture} texture\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.bindTexture = function(target, texture) {};\n\n/**\n * @param {number} red\n * @param {number} green\n * @param {number} blue\n * @param {number} alpha\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.blendColor = function(\n red, green, blue, alpha) {};\n\n/**\n * @param {number} mode\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.blendEquation = function(mode) {};\n\n/**\n * @param {number} modeRGB\n * @param {number} modeAlpha\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.blendEquationSeparate = function(\n modeRGB, modeAlpha) {};\n\n/**\n * @param {number} sfactor\n * @param {number} dfactor\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.blendFunc = function(sfactor, dfactor) {};\n\n/**\n * @param {number} srcRGB\n * @param {number} dstRGB\n * @param {number} srcAlpha\n * @param {number} dstAlpha\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.blendFuncSeparate = function(\n srcRGB, dstRGB, srcAlpha, dstAlpha) {};\n\n/**\n * @param {number} target\n * @param {ArrayBufferView|ArrayBuffer|number} data\n * @param {number} usage\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.bufferData = function(target, data, usage) {};\n\n/**\n * @param {number} target\n * @param {number} offset\n * @param {ArrayBufferView|ArrayBuffer} data\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.bufferSubData = function(\n target, offset, data) {};\n\n/**\n * @param {number} target\n * @return {number}\n */\nWebGLRenderingContext.prototype.checkFramebufferStatus = function(target) {};\n\n/**\n * @param {number} mask\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.clear = function(mask) {};\n\n/**\n * @param {number} red\n * @param {number} green\n * @param {number} blue\n * @param {number} alpha\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.clearColor = function(\n red, green, blue, alpha) {};\n\n/**\n * @param {number} depth\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.clearDepth = function(depth) {};\n\n/**\n * @param {number} s\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.clearStencil = function(s) {};\n\n/**\n * @param {boolean} red\n * @param {boolean} green\n * @param {boolean} blue\n * @param {boolean} alpha\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.colorMask = function(\n red, green, blue, alpha) {};\n\n/**\n * @param {WebGLShader} shader\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.compileShader = function(shader) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @param {number} border\n * @param {ArrayBufferView} data\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.compressedTexImage2D = function(\n target, level, internalformat, width, height, border, data) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} width\n * @param {number} height\n * @param {number} format\n * @param {ArrayBufferView} data\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.compressedTexSubImage2D = function(\n target, level, xoffset, yoffset, width, height, format, data) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} format\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {number} border\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.copyTexImage2D = function(\n target, level, format, x, y, width, height, border) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.copyTexSubImage2D = function(\n target, level, xoffset, yoffset, x, y, width, height) {};\n\n/**\n * @return {!WebGLBuffer}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.createBuffer = function() {};\n\n/**\n * @return {!WebGLFramebuffer}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.createFramebuffer = function() {};\n\n/**\n * @return {!WebGLProgram}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.createProgram = function() {};\n\n/**\n * @return {!WebGLRenderbuffer}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.createRenderbuffer = function() {};\n\n/**\n * @param {number} type\n * @return {!WebGLShader}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.createShader = function(type) {};\n\n/**\n * @return {!WebGLTexture}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.createTexture = function() {};\n\n/**\n * @param {number} mode\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.cullFace = function(mode) {};\n\n/**\n * @param {WebGLBuffer} buffer\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.deleteBuffer = function(buffer) {};\n\n/**\n * @param {WebGLFramebuffer} buffer\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.deleteFramebuffer = function(buffer) {};\n\n/**\n * @param {WebGLProgram} program\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.deleteProgram = function(program) {};\n\n/**\n * @param {WebGLRenderbuffer} buffer\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.deleteRenderbuffer = function(buffer) {};\n\n/**\n * @param {WebGLShader} shader\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.deleteShader = function(shader) {};\n\n/**\n * @param {WebGLTexture} texture\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.deleteTexture = function(texture) {};\n\n/**\n * @param {number} func\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.depthFunc = function(func) {};\n\n/**\n * @param {boolean} flag\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.depthMask = function(flag) {};\n\n/**\n * @param {number} nearVal\n * @param {number} farVal\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.depthRange = function(nearVal, farVal) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {WebGLShader} shader\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.detachShader = function(program, shader) {};\n\n/**\n * @param {number} flags\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.disable = function(flags) {};\n\n/**\n * @param {number} index\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.disableVertexAttribArray = function(\n index) {};\n\n/**\n * @param {number} mode\n * @param {number} first\n * @param {number} count\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.drawArrays = function(mode, first, count) {};\n\n/**\n * @param {number} mode\n * @param {number} count\n * @param {number} type\n * @param {number} offset\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.drawElements = function(\n mode, count, type, offset) {};\n\n/**\n * @param {number} cap\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.enable = function(cap) {};\n\n/**\n * @param {number} index\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.enableVertexAttribArray = function(\n index) {};\n\nWebGLRenderingContext.prototype.finish = function() {};\n\nWebGLRenderingContext.prototype.flush = function() {};\n\n/**\n * @param {number} target\n * @param {number} attachment\n * @param {number} renderbuffertarget\n * @param {WebGLRenderbuffer} renderbuffer\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.framebufferRenderbuffer = function(\n target, attachment, renderbuffertarget, renderbuffer) {};\n\n/**\n * @param {number} target\n * @param {number} attachment\n * @param {number} textarget\n * @param {WebGLTexture} texture\n * @param {number} level\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.framebufferTexture2D = function(\n target, attachment, textarget, texture, level) {};\n\n/**\n * @param {number} mode\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.frontFace = function(mode) {};\n\n/**\n * @param {number} target\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.generateMipmap = function(target) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {number} index\n * @return {WebGLActiveInfo}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getActiveAttrib = function(program, index) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {number} index\n * @return {WebGLActiveInfo}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getActiveUniform = function(program, index) {};\n\n/**\n * @param {WebGLProgram} program\n * @return {!Array<WebGLShader>}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getAttachedShaders = function(program) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {string} name\n * @return {number}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getAttribLocation = function(program, name) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getBufferParameter = function(target, pname) {};\n\n/**\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getParameter = function(pname) {};\n\n/**\n * @return {number}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getError = function() {};\n\n/**\n * @param {number} target\n * @param {number} attachment\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getFramebufferAttachmentParameter = function(\n target, attachment, pname) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getProgramParameter = function(\n program, pname) {};\n\n/**\n * @param {WebGLProgram} program\n * @return {string}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getProgramInfoLog = function(program) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getRenderbufferParameter = function(\n target, pname) {};\n\n/**\n * @param {WebGLShader} shader\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getShaderParameter = function(shader, pname) {};\n\n/**\n * @param {number} shadertype\n * @param {number} precisiontype\n * @return {WebGLShaderPrecisionFormat}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getShaderPrecisionFormat = function(shadertype,\n precisiontype) {};\n\n/**\n * @param {WebGLShader} shader\n * @return {string}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getShaderInfoLog = function(shader) {};\n\n/**\n * @param {WebGLShader} shader\n * @return {string}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getShaderSource = function(shader) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getTexParameter = function(target, pname) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {WebGLUniformLocation} location\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getUniform = function(program, location) {};\n\n/**\n * @param {WebGLProgram} program\n * @param {string} name\n * @return {WebGLUniformLocation}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getUniformLocation = function(program, name) {};\n\n/**\n * @param {number} index\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getVertexAttrib = function(index, pname) {};\n\n/**\n * @param {number} index\n * @param {number} pname\n * @return {number}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.getVertexAttribOffset = function(\n index, pname) {};\n\n/**\n * @param {number} target\n * @param {number} mode\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.hint = function(target, mode) {};\n\n/**\n * @param {WebGLObject} buffer\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isBuffer = function(buffer) {};\n\n/**\n * @param {number} cap\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isEnabled = function(cap) {};\n\n/**\n * @param {WebGLObject} framebuffer\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isFramebuffer = function(framebuffer) {};\n\n/**\n * @param {WebGLObject} program\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isProgram = function(program) {};\n\n/**\n * @param {WebGLObject} renderbuffer\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isRenderbuffer = function(renderbuffer) {};\n\n/**\n * @param {WebGLObject} shader\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isShader = function(shader) {};\n\n/**\n * @param {WebGLObject} texture\n * @return {boolean}\n * @nosideeffects\n */\nWebGLRenderingContext.prototype.isTexture = function(texture) {};\n\n/**\n * @param {number} width\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.lineWidth = function(width) {};\n\n/**\n * @param {WebGLProgram} program\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.linkProgram = function(program) {};\n\n/**\n * @param {number} pname\n * @param {number|boolean} param\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.pixelStorei = function(pname, param) {};\n\n/**\n * @param {number} factor\n * @param {number} units\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.polygonOffset = function(factor, units) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {number} format\n * @param {number} type\n * @param {ArrayBufferView} pixels\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.readPixels = function(\n x, y, width, height, format, type, pixels) {};\n\n/**\n * @param {number} target\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.renderbufferStorage = function(\n target, internalformat, width, height) {};\n\n/**\n * @param {number} coverage\n * @param {boolean} invert\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.sampleCoverage = function(coverage, invert) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.scissor = function(x, y, width, height) {};\n\n/**\n * @param {WebGLShader} shader\n * @param {string} source\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.shaderSource = function(shader, source) {};\n\n/**\n * @param {number} func\n * @param {number} ref\n * @param {number} mask\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.stencilFunc = function(func, ref, mask) {};\n\n/**\n * @param {number} face\n * @param {number} func\n * @param {number} ref\n * @param {number} mask\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.stencilFuncSeparate = function(\n face, func, ref, mask) {};\n\n/**\n * @param {number} mask\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.stencilMask = function(mask) {};\n\n/**\n * @param {number} face\n * @param {number} mask\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.stencilMaskSeparate = function(face, mask) {};\n\n/**\n * @param {number} fail\n * @param {number} zfail\n * @param {number} zpass\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.stencilOp = function(fail, zfail, zpass) {};\n\n/**\n * @param {number} face\n * @param {number} fail\n * @param {number} zfail\n * @param {number} zpass\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.stencilOpSeparate = function(\n face, fail, zfail, zpass) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} internalformat\n * @param {number} format or width\n * @param {number} type or height\n * @param {?TexImageSource|number} img or border\n * @param {number=} opt_format\n * @param {number=} opt_type\n * @param {ArrayBufferView=} opt_pixels\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.texImage2D = function(\n target, level, internalformat, format, type, img, opt_format, opt_type,\n opt_pixels) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @param {number} param\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.texParameterf = function(\n target, pname, param) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @param {number} param\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.texParameteri = function(\n target, pname, param) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} format or width\n * @param {number} type or height\n * @param {?TexImageSource|number} data or format\n * @param {number=} opt_type\n * @param {ArrayBufferView=} opt_pixels\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.texSubImage2D = function(\n target, level, xoffset, yoffset, format, type, data, opt_type,\n opt_pixels) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform1f = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Float32Array|Array<number>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform1fv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number|boolean} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform1i = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Int32Array|Array<number>|Array<boolean>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform1iv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number} value1\n * @param {number} value2\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform2f = function(\n location, value1, value2) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Float32Array|Array<number>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform2fv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number|boolean} value1\n * @param {number|boolean} value2\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform2i = function(\n location, value1, value2) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Int32Array|Array<number>|Array<boolean>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform2iv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number} value1\n * @param {number} value2\n * @param {number} value3\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform3f = function(\n location, value1, value2, value3) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Float32Array|Array<number>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform3fv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number|boolean} value1\n * @param {number|boolean} value2\n * @param {number|boolean} value3\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform3i = function(\n location, value1, value2, value3) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Int32Array|Array<number>|Array<boolean>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform3iv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number} value1\n * @param {number} value2\n * @param {number} value3\n * @param {number} value4\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform4f = function(\n location, value1, value2, value3, value4) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Float32Array|Array<number>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform4fv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {number|boolean} value1\n * @param {number|boolean} value2\n * @param {number|boolean} value3\n * @param {number|boolean} value4\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform4i = function(\n location, value1, value2, value3, value4) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {Int32Array|Array<number>|Array<boolean>} value\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniform4iv = function(location, value) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {Float32Array|Array<number>} data\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniformMatrix2fv = function(\n location, transpose, data) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {Float32Array|Array<number>} data\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniformMatrix3fv = function(\n location, transpose, data) {};\n\n/**\n * @param {WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {Float32Array|Array<number>} data\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.uniformMatrix4fv = function(\n location, transpose, data) {};\n\n/**\n * @param {WebGLProgram} program\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.useProgram = function(program) {};\n\n/**\n * @param {WebGLProgram} program\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.validateProgram = function(program) {};\n\n/**\n * @param {number} indx\n * @param {number} x\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib1f = function(indx, x) {};\n\n/**\n * @param {number} indx\n * @param {Float32Array|Array<number>} values\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib1fv = function(indx, values) {};\n\n/**\n * @param {number} indx\n * @param {number} x\n * @param {number} y\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib2f = function(\n indx, x, y) {};\n\n/**\n * @param {number} indx\n * @param {Float32Array|Array<number>} values\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib2fv = function(\n indx, values) {};\n\n/**\n * @param {number} indx\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib3f = function(\n indx, x, y, z) {};\n\n/**\n * @param {number} indx\n * @param {Float32Array|Array<number>} values\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib3fv = function(indx, values) {};\n\n/**\n * @param {number} indx\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib4f = function(\n indx, x, y, z, w) {};\n\n/**\n * @param {number} indx\n * @param {Float32Array|Array<number>} values\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttrib4fv = function(indx, values) {};\n\n/**\n * @param {number} indx\n * @param {number} size\n * @param {number} type\n * @param {boolean} normalized\n * @param {number} stride\n * @param {number} offset\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.vertexAttribPointer = function(\n indx, size, type, normalized, stride, offset) {};\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGLRenderingContext.prototype.viewport = function(x, y, width, height) {};\n\n\n/**\n * @constructor\n */\nfunction WebGLContextAttributes() {}\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.alpha;\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.depth;\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.stencil;\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.antialias;\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.premultipliedAlpha;\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.preserveDrawingBuffer;\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.desynchronized;\n\n/**\n * @type {boolean}\n */\nWebGLContextAttributes.prototype.failIfMajorPerformanceCaveat;\n\n/**\n * Possible values: 'default', 'low-power', 'high-performance'\n * @type {string}\n */\nWebGLContextAttributes.prototype.powerPreference;\n\n/**\n * @param {string} eventType\n * @constructor\n * @extends {Event}\n */\nfunction WebGLContextEvent(eventType) {}\n\n/**\n * @type {string}\n */\nWebGLContextEvent.prototype.statusMessage;\n\n\n/**\n * @constructor\n */\nfunction WebGLShaderPrecisionFormat() {}\n\n/**\n * @type {number}\n */\nWebGLShaderPrecisionFormat.prototype.rangeMin;\n\n/**\n * @type {number}\n */\nWebGLShaderPrecisionFormat.prototype.rangeMax;\n\n/**\n * @type {number}\n */\nWebGLShaderPrecisionFormat.prototype.precision;\n\n\n/**\n * @constructor\n */\nfunction WebGLObject() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLBuffer() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLFramebuffer() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLProgram() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLRenderbuffer() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLShader() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLTexture() {}\n\n\n/**\n * @constructor\n */\nfunction WebGLActiveInfo() {}\n\n/** @type {number} */\nWebGLActiveInfo.prototype.size;\n\n/** @type {number} */\nWebGLActiveInfo.prototype.type;\n\n/** @type {string} */\nWebGLActiveInfo.prototype.name;\n\n\n/**\n * @constructor\n */\nfunction WebGLUniformLocation() {}\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/\n * @constructor\n */\nfunction OES_texture_float() {}\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/\n * @constructor\n */\nfunction OES_texture_half_float() {}\n\n/** @type {number} */\nOES_texture_half_float.prototype.HALF_FLOAT_OES;\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/\n * @constructor\n */\nfunction WEBGL_lose_context() {}\n\nWEBGL_lose_context.prototype.loseContext = function() {};\n\nWEBGL_lose_context.prototype.restoreContext = function() {};\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/\n * @constructor\n */\nfunction OES_standard_derivatives() {}\n\n/** @type {number} */\nOES_standard_derivatives.prototype.FRAGMENT_SHADER_DERIVATIVE_HINT_OES;\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLVertexArrayObjectOES() {}\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\n * @constructor\n */\nfunction OES_vertex_array_object() {}\n\n/** @type {number} */\nOES_vertex_array_object.prototype.VERTEX_ARRAY_BINDING_OES;\n\n/**\n * @return {WebGLVertexArrayObjectOES}\n * @nosideeffects\n */\nOES_vertex_array_object.prototype.createVertexArrayOES = function() {};\n\n/**\n * @param {WebGLVertexArrayObjectOES} arrayObject\n * @return {undefined}\n */\nOES_vertex_array_object.prototype.deleteVertexArrayOES =\n function(arrayObject) {};\n\n/**\n * @param {WebGLVertexArrayObjectOES} arrayObject\n * @return {boolean}\n * @nosideeffects\n */\nOES_vertex_array_object.prototype.isVertexArrayOES = function(arrayObject) {};\n\n/**\n * @param {WebGLVertexArrayObjectOES} arrayObject\n * @return {undefined}\n */\nOES_vertex_array_object.prototype.bindVertexArrayOES = function(arrayObject) {};\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/\n * @constructor\n */\nfunction WEBGL_debug_renderer_info() {}\n\n/** @const {number} */\nWEBGL_debug_renderer_info.prototype.UNMASKED_VENDOR_WEBGL;\n\n/** @const {number} */\nWEBGL_debug_renderer_info.prototype.UNMASKED_RENDERER_WEBGL;\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/\n * @constructor\n */\nfunction WEBGL_debug_shaders() {}\n\n/**\n * @param {WebGLShader} shader\n * @return {string}\n * @nosideeffects\n */\nWEBGL_debug_shaders.prototype.getTranslatedShaderSource = function(shader) {};\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n * @constructor\n */\nfunction WEBGL_compressed_texture_s3tc() {}\n\n/** @const {number} */\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGB_S3TC_DXT1_EXT;\n\n/** @const {number} */\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT1_EXT;\n\n/** @const {number} */\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT3_EXT;\n\n/** @const {number} */\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT5_EXT;\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/\n * @constructor\n */\nfunction OES_depth_texture() {}\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/\n * @constructor\n */\nfunction OES_element_index_uint() {}\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/\n * @constructor\n */\nfunction EXT_texture_filter_anisotropic() {}\n\n/** @const {number} */\nEXT_texture_filter_anisotropic.prototype.TEXTURE_MAX_ANISOTROPY_EXT;\n\n/** @const {number} */\nEXT_texture_filter_anisotropic.prototype.MAX_TEXTURE_MAX_ANISOTROPY_EXT;\n\n\n/**\n * @see https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/\n * @constructor\n */\nfunction WEBGL_draw_buffers() {}\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT0_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT1_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT2_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT3_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT4_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT5_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT6_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT7_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT8_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT9_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT10_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT11_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT12_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT13_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT14_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT15_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER0_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER1_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER2_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER3_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER4_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER5_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER6_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER7_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER8_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER9_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER10_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER11_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER12_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER13_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER14_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.DRAW_BUFFER15_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.MAX_COLOR_ATTACHMENTS_WEBGL;\n\n/** @const {number} */\nWEBGL_draw_buffers.prototype.MAX_DRAW_BUFFERS_WEBGL;\n\n/**\n * @param {Array<number>} buffers Draw buffers.\n * @return {undefined}\n */\nWEBGL_draw_buffers.prototype.drawBuffersWEBGL = function(buffers) {};\n\n\n/**\n * @see http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/\n * @constructor\n */\nfunction ANGLE_instanced_arrays() {}\n\n\n/** @const {number} */\nANGLE_instanced_arrays.prototype.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE;\n\n\n/**\n * @param {number} mode Primitive type.\n * @param {number} first First vertex.\n * @param {number} count Number of vertices per instance.\n * @param {number} primcount Number of instances.\n * @return {undefined}\n */\nANGLE_instanced_arrays.prototype.drawArraysInstancedANGLE = function(\n mode, first, count, primcount) {};\n\n\n/**\n * @param {number} mode Primitive type.\n * @param {number} count Number of vertex indices per instance.\n * @param {number} type Type of a vertex index.\n * @param {number} offset Offset to the first vertex index.\n * @param {number} primcount Number of instances.\n * @return {undefined}\n */\nANGLE_instanced_arrays.prototype.drawElementsInstancedANGLE = function(\n mode, count, type, offset, primcount) {};\n\n\n/**\n * @param {number} index Attribute index.\n * @param {number} divisor Instance divisor.\n * @return {undefined}\n */\nANGLE_instanced_arrays.prototype.vertexAttribDivisorANGLE = function(\n index, divisor) {};\n\n",
  845. "externs/webgl2.js":'/*\n * Copyright 2018 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for WebGL functions as described at\n * http://www.khronos.org/registry/webgl/specs/latest/\n *\n * This file is current up to the WebGL 2.0 spec.\n *\n * This relies on webgl.js and html5.js being included for WebGL1, Canvas and\n * Typed Array support.\n *\n * @externs\n */\n\n\n/**\n * @constructor\n * @extends {WebGLRenderingContext}\n */\nfunction WebGL2RenderingContext() {}\n\n\n\n/** @const {number} */\nWebGL2RenderingContext.UNPACK_ROW_LENGTH;\n\n/** @const {number} */\nWebGL2RenderingContext.UNPACK_SKIP_ROWS;\n\n/** @const {number} */\nWebGL2RenderingContext.UNPACK_SKIP_PIXELS;\n\n/** @const {number} */\nWebGL2RenderingContext.PACK_ROW_LENGTH;\n\n/** @const {number} */\nWebGL2RenderingContext.PACK_SKIP_ROWS;\n\n/** @const {number} */\nWebGL2RenderingContext.PACK_SKIP_PIXELS;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR;\n\n/** @const {number} */\nWebGL2RenderingContext.DEPTH;\n\n/** @const {number} */\nWebGL2RenderingContext.STENCIL;\n\n/** @const {number} */\nWebGL2RenderingContext.RED;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB8;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA8;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB10_A2;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_BINDING_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.UNPACK_SKIP_IMAGES;\n\n/** @const {number} */\nWebGL2RenderingContext.UNPACK_IMAGE_HEIGHT;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_WRAP_R;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_3D_TEXTURE_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_2_10_10_10_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_ELEMENTS_VERTICES;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_ELEMENTS_INDICES;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_MIN_LOD;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_MAX_LOD;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_BASE_LEVEL;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_MAX_LEVEL;\n\n/** @const {number} */\nWebGL2RenderingContext.MIN;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX;\n\n/** @const {number} */\nWebGL2RenderingContext.DEPTH_COMPONENT24;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_TEXTURE_LOD_BIAS;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_COMPARE_MODE;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_COMPARE_FUNC;\n\n/** @const {number} */\nWebGL2RenderingContext.CURRENT_QUERY;\n\n/** @const {number} */\nWebGL2RenderingContext.QUERY_RESULT;\n\n/** @const {number} */\nWebGL2RenderingContext.QUERY_RESULT_AVAILABLE;\n\n/** @const {number} */\nWebGL2RenderingContext.STREAM_READ;\n\n/** @const {number} */\nWebGL2RenderingContext.STREAM_COPY;\n\n/** @const {number} */\nWebGL2RenderingContext.STATIC_READ;\n\n/** @const {number} */\nWebGL2RenderingContext.STATIC_COPY;\n\n/** @const {number} */\nWebGL2RenderingContext.DYNAMIC_READ;\n\n/** @const {number} */\nWebGL2RenderingContext.DYNAMIC_COPY;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_DRAW_BUFFERS;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER0;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER1;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER2;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER3;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER4;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER5;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER6;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER7;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER8;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER9;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER10;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER11;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER12;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER13;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER14;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_BUFFER15;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_FRAGMENT_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_VERTEX_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.SAMPLER_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.SAMPLER_2D_SHADOW;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAGMENT_SHADER_DERIVATIVE_HINT;\n\n/** @const {number} */\nWebGL2RenderingContext.PIXEL_PACK_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.PIXEL_UNPACK_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.PIXEL_PACK_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.PIXEL_UNPACK_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.FLOAT_MAT2x3;\n\n/** @const {number} */\nWebGL2RenderingContext.FLOAT_MAT2x4;\n\n/** @const {number} */\nWebGL2RenderingContext.FLOAT_MAT3x2;\n\n/** @const {number} */\nWebGL2RenderingContext.FLOAT_MAT3x4;\n\n/** @const {number} */\nWebGL2RenderingContext.FLOAT_MAT4x2;\n\n/** @const {number} */\nWebGL2RenderingContext.FLOAT_MAT4x3;\n\n/** @const {number} */\nWebGL2RenderingContext.SRGB;\n\n/** @const {number} */\nWebGL2RenderingContext.SRGB8;\n\n/** @const {number} */\nWebGL2RenderingContext.SRGB8_ALPHA8;\n\n/** @const {number} */\nWebGL2RenderingContext.COMPARE_REF_TO_TEXTURE;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA32F;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB32F;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA16F;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB16F;\n\n/** @const {number} */\nWebGL2RenderingContext.VERTEX_ATTRIB_ARRAY_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_ARRAY_TEXTURE_LAYERS;\n\n/** @const {number} */\nWebGL2RenderingContext.MIN_PROGRAM_TEXEL_OFFSET;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_PROGRAM_TEXEL_OFFSET;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_VARYING_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_BINDING_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.R11F_G11F_B10F;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_10F_11F_11F_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB9_E5;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_5_9_9_9_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_MODE;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_VARYINGS;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_START;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN;\n\n/** @const {number} */\nWebGL2RenderingContext.RASTERIZER_DISCARD;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS;\n\n/** @const {number} */\nWebGL2RenderingContext.INTERLEAVED_ATTRIBS;\n\n/** @const {number} */\nWebGL2RenderingContext.SEPARATE_ATTRIBS;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA32I;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB32I;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA16I;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB16I;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA8I;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB8I;\n\n/** @const {number} */\nWebGL2RenderingContext.RED_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.SAMPLER_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.SAMPLER_2D_ARRAY_SHADOW;\n\n/** @const {number} */\nWebGL2RenderingContext.SAMPLER_CUBE_SHADOW;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_VEC2;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_VEC3;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_VEC4;\n\n/** @const {number} */\nWebGL2RenderingContext.INT_SAMPLER_2D;\n\n/** @const {number} */\nWebGL2RenderingContext.INT_SAMPLER_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.INT_SAMPLER_CUBE;\n\n/** @const {number} */\nWebGL2RenderingContext.INT_SAMPLER_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_2D;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_CUBE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.DEPTH_COMPONENT32F;\n\n/** @const {number} */\nWebGL2RenderingContext.DEPTH32F_STENCIL8;\n\n/** @const {number} */\nWebGL2RenderingContext.FLOAT_32_UNSIGNED_INT_24_8_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_RED_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_DEFAULT;\n\n/** @const {number} */\nWebGL2RenderingContext.DEPTH_STENCIL_ATTACHMENT;\n\n/** @const {number} */\nWebGL2RenderingContext.DEPTH_STENCIL;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_INT_24_8;\n\n/** @const {number} */\nWebGL2RenderingContext.DEPTH24_STENCIL8;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNED_NORMALIZED;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_FRAMEBUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.READ_FRAMEBUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.DRAW_FRAMEBUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.READ_FRAMEBUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.RENDERBUFFER_SAMPLES;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_COLOR_ATTACHMENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT1;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT2;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT3;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT4;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT5;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT6;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT7;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT8;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT9;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT10;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT11;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT12;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT13;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT14;\n\n/** @const {number} */\nWebGL2RenderingContext.COLOR_ATTACHMENT15;\n\n/** @const {number} */\nWebGL2RenderingContext.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_SAMPLES;\n\n/** @const {number} */\nWebGL2RenderingContext.HALF_FLOAT;\n\n/** @const {number} */\nWebGL2RenderingContext.RG;\n\n/** @const {number} */\nWebGL2RenderingContext.RG_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.R8;\n\n/** @const {number} */\nWebGL2RenderingContext.RG8;\n\n/** @const {number} */\nWebGL2RenderingContext.R16F;\n\n/** @const {number} */\nWebGL2RenderingContext.R32F;\n\n/** @const {number} */\nWebGL2RenderingContext.RG16F;\n\n/** @const {number} */\nWebGL2RenderingContext.RG32F;\n\n/** @const {number} */\nWebGL2RenderingContext.R8I;\n\n/** @const {number} */\nWebGL2RenderingContext.R8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.R16I;\n\n/** @const {number} */\nWebGL2RenderingContext.R16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.R32I;\n\n/** @const {number} */\nWebGL2RenderingContext.R32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RG8I;\n\n/** @const {number} */\nWebGL2RenderingContext.RG8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RG16I;\n\n/** @const {number} */\nWebGL2RenderingContext.RG16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.RG32I;\n\n/** @const {number} */\nWebGL2RenderingContext.RG32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.VERTEX_ARRAY_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.R8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.RG8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.RGBA8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.SIGNED_NORMALIZED;\n\n/** @const {number} */\nWebGL2RenderingContext.COPY_READ_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.COPY_WRITE_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.COPY_READ_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.COPY_WRITE_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BUFFER_START;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_VERTEX_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_FRAGMENT_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_COMBINED_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_UNIFORM_BUFFER_BINDINGS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_UNIFORM_BLOCK_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BUFFER_OFFSET_ALIGNMENT;\n\n/** @const {number} */\nWebGL2RenderingContext.ACTIVE_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_TYPE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BLOCK_INDEX;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_OFFSET;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_ARRAY_STRIDE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_MATRIX_STRIDE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_IS_ROW_MAJOR;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BLOCK_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BLOCK_DATA_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BLOCK_ACTIVE_UNIFORMS;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER;\n\n/** @const {number} */\nWebGL2RenderingContext.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER;\n\n/** @const {number} */\nWebGL2RenderingContext.INVALID_INDEX;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_VERTEX_OUTPUT_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_FRAGMENT_INPUT_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_SERVER_WAIT_TIMEOUT;\n\n/** @const {number} */\nWebGL2RenderingContext.OBJECT_TYPE;\n\n/** @const {number} */\nWebGL2RenderingContext.SYNC_CONDITION;\n\n/** @const {number} */\nWebGL2RenderingContext.SYNC_STATUS;\n\n/** @const {number} */\nWebGL2RenderingContext.SYNC_FLAGS;\n\n/** @const {number} */\nWebGL2RenderingContext.SYNC_FENCE;\n\n/** @const {number} */\nWebGL2RenderingContext.SYNC_GPU_COMMANDS_COMPLETE;\n\n/** @const {number} */\nWebGL2RenderingContext.UNSIGNALED;\n\n/** @const {number} */\nWebGL2RenderingContext.SIGNALED;\n\n/** @const {number} */\nWebGL2RenderingContext.ALREADY_SIGNALED;\n\n/** @const {number} */\nWebGL2RenderingContext.TIMEOUT_EXPIRED;\n\n/** @const {number} */\nWebGL2RenderingContext.CONDITION_SATISFIED;\n\n/** @const {number} */\nWebGL2RenderingContext.WAIT_FAILED;\n\n/** @const {number} */\nWebGL2RenderingContext.SYNC_FLUSH_COMMANDS_BIT;\n\n/** @const {number} */\nWebGL2RenderingContext.VERTEX_ATTRIB_ARRAY_DIVISOR;\n\n/** @const {number} */\nWebGL2RenderingContext.ANY_SAMPLES_PASSED;\n\n/** @const {number} */\nWebGL2RenderingContext.ANY_SAMPLES_PASSED_CONSERVATIVE;\n\n/** @const {number} */\nWebGL2RenderingContext.SAMPLER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.RGB10_A2UI;\n\n/** @const {number} */\nWebGL2RenderingContext.INT_2_10_10_10_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_PAUSED;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_ACTIVE;\n\n/** @const {number} */\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_IMMUTABLE_FORMAT;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_ELEMENT_INDEX;\n\n/** @const {number} */\nWebGL2RenderingContext.TEXTURE_IMMUTABLE_LEVELS;\n\n/** @const {number} */\nWebGL2RenderingContext.TIMEOUT_IGNORED;\n\n/** @const {number} */\nWebGL2RenderingContext.MAX_CLIENT_WAIT_TIMEOUT_WEBGL;\n\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNPACK_ROW_LENGTH;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNPACK_SKIP_ROWS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNPACK_SKIP_PIXELS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.PACK_ROW_LENGTH;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.PACK_SKIP_ROWS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.PACK_SKIP_PIXELS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DEPTH;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.STENCIL;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB10_A2;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_BINDING_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNPACK_SKIP_IMAGES;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNPACK_IMAGE_HEIGHT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_WRAP_R;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_3D_TEXTURE_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_2_10_10_10_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_ELEMENTS_VERTICES;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_ELEMENTS_INDICES;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_MIN_LOD;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_MAX_LOD;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_BASE_LEVEL;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_MAX_LEVEL;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MIN;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DEPTH_COMPONENT24;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_TEXTURE_LOD_BIAS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_COMPARE_MODE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_COMPARE_FUNC;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.CURRENT_QUERY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.QUERY_RESULT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.QUERY_RESULT_AVAILABLE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.STREAM_READ;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.STREAM_COPY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.STATIC_READ;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.STATIC_COPY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DYNAMIC_READ;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DYNAMIC_COPY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_DRAW_BUFFERS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER0;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER1;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER2;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER3;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER4;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER5;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER6;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER7;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER9;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER10;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER11;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER12;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER13;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER14;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_BUFFER15;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_FRAGMENT_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_VERTEX_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SAMPLER_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SAMPLER_2D_SHADOW;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAGMENT_SHADER_DERIVATIVE_HINT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.PIXEL_PACK_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.PIXEL_UNPACK_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.PIXEL_PACK_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.PIXEL_UNPACK_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FLOAT_MAT2x3;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FLOAT_MAT2x4;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FLOAT_MAT3x2;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FLOAT_MAT3x4;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FLOAT_MAT4x2;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FLOAT_MAT4x3;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SRGB;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SRGB8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SRGB8_ALPHA8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COMPARE_REF_TO_TEXTURE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA32F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB32F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA16F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB16F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.VERTEX_ATTRIB_ARRAY_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_ARRAY_TEXTURE_LAYERS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MIN_PROGRAM_TEXEL_OFFSET;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_PROGRAM_TEXEL_OFFSET;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_VARYING_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_BINDING_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R11F_G11F_B10F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_10F_11F_11F_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB9_E5;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_5_9_9_9_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_MODE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_VARYINGS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_START;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RASTERIZER_DISCARD;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS =\n 0x8C8A;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.INTERLEAVED_ATTRIBS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SEPARATE_ATTRIBS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA32I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB32I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA16I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB16I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA8I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB8I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RED_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SAMPLER_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SAMPLER_2D_ARRAY_SHADOW;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SAMPLER_CUBE_SHADOW;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_VEC2;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_VEC3;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_VEC4;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.INT_SAMPLER_2D;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.INT_SAMPLER_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.INT_SAMPLER_CUBE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.INT_SAMPLER_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_2D;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_3D;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_CUBE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_2D_ARRAY;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DEPTH_COMPONENT32F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DEPTH32F_STENCIL8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FLOAT_32_UNSIGNED_INT_24_8_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_RED_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_DEFAULT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DEPTH_STENCIL;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_INT_24_8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DEPTH24_STENCIL8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNED_NORMALIZED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_FRAMEBUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.READ_FRAMEBUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.DRAW_FRAMEBUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.READ_FRAMEBUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RENDERBUFFER_SAMPLES;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_COLOR_ATTACHMENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT1;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT2;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT3;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT4;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT5;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT6;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT7;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT9;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT10;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT11;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT12;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT13;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT14;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT15;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_SAMPLES;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.HALF_FLOAT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG_INTEGER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG8;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R16F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R32F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG16F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG32F;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R8I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R16I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R32I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG8I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG8UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG16I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG16UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG32I;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG32UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.VERTEX_ARRAY_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.R8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RG8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGBA8_SNORM;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SIGNED_NORMALIZED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COPY_READ_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COPY_WRITE_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COPY_READ_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.COPY_WRITE_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_START;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_VERTEX_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_FRAGMENT_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_COMBINED_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_UNIFORM_BUFFER_BINDINGS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_UNIFORM_BLOCK_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_OFFSET_ALIGNMENT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.ACTIVE_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_TYPE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_INDEX;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_OFFSET;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_ARRAY_STRIDE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_MATRIX_STRIDE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_IS_ROW_MAJOR;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_DATA_SIZE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_ACTIVE_UNIFORMS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.INVALID_INDEX;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_VERTEX_OUTPUT_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_FRAGMENT_INPUT_COMPONENTS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_SERVER_WAIT_TIMEOUT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.OBJECT_TYPE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SYNC_CONDITION;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SYNC_STATUS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SYNC_FLAGS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SYNC_FENCE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SYNC_GPU_COMMANDS_COMPLETE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.UNSIGNALED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SIGNALED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.ALREADY_SIGNALED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TIMEOUT_EXPIRED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.CONDITION_SATISFIED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.WAIT_FAILED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SYNC_FLUSH_COMMANDS_BIT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.VERTEX_ATTRIB_ARRAY_DIVISOR;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.ANY_SAMPLES_PASSED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.ANY_SAMPLES_PASSED_CONSERVATIVE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.SAMPLER_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.RGB10_A2UI;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.INT_2_10_10_10_REV;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_PAUSED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_ACTIVE;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BINDING;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_IMMUTABLE_FORMAT;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_ELEMENT_INDEX;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TEXTURE_IMMUTABLE_LEVELS;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.TIMEOUT_IGNORED;\n\n/** @const {number} */\nWebGL2RenderingContext.prototype.MAX_CLIENT_WAIT_TIMEOUT_WEBGL;\n\n/* Buffer objects */\n\n/**\n * @param {number} target\n * @param {?ArrayBufferView|?ArrayBuffer|number} data\n * @param {number} usage\n * @param {number=} opt_srcOffset\n * @param {number=} opt_length\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.bufferData = function(\n target, data, usage, opt_srcOffset, opt_length) {};\n\n/**\n * @param {number} target\n * @param {number} offset\n * @param {?ArrayBufferView|?ArrayBuffer} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_length\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.bufferSubData = function(\n target, offset, data, opt_srcOffset, opt_length) {};\n\n/**\n * @param {number} readTarget\n * @param {number} writeTarget\n * @param {number} readOffset\n * @param {number} writeOffset\n * @param {number} size\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.copyBufferSubData = function(\n readTarget, writeTarget, readOffset, writeOffset, size) {};\n\n/**\n * @param {number} target\n * @param {number} srcByteOffset\n * @param {?ArrayBufferView|?ArrayBuffer} dstBuffer\n * @param {number=} opt_dstOffset\n * @param {number=} opt_length\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.getBufferSubData = function(\n target, srcByteOffset, dstBuffer, opt_dstOffset, opt_length) {};\n\n/* Framebuffer objects */\n\n/**\n * @param {number} srcX0\n * @param {number} srcY0\n * @param {number} srcX1\n * @param {number} srcY1\n * @param {number} dstX0\n * @param {number} dstY0\n * @param {number} dstX1\n * @param {number} dstY1\n * @param {number} mask\n * @param {number} filter\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.blitFramebuffer = function(\n srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) {};\n\n/**\n * @param {number} target\n * @param {number} attachment\n * @param {?WebGLTexture} texture\n * @param {number} level\n * @param {number} layer\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.framebufferTextureLayer = function(\n target, attachment, texture, level, layer) {};\n\n/**\n * @param {number} target\n * @param {!Array<number>} attachments\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.invalidateFramebuffer = function(\n target, attachments) {};\n\n/**\n * @param {number} target\n * @param {!Array<number>} attachments\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.invalidateSubFramebuffer = function(\n target, attachments, x, y, width, height) {};\n\n/**\n * @param {number} src\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.readBuffer = function(src) {};\n\n/* Renderbuffer objects */\n\n/**\n * @param {number} target\n * @param {number} internalformat\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGL2RenderingContext.prototype.getInternalformatParameter = function(\n target, internalformat, pname) {};\n\n/**\n * @param {number} target\n * @param {number} samples\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.renderbufferStorageMultisample = function(\n target, samples, internalformat, width, height) {};\n\n/* Texture objects */\n\n/**\n * @param {number} target\n * @param {number} levels\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.texStorage2D = function(\n target, levels, internalformat, width, height) {};\n\n/**\n * @param {number} target\n * @param {number} levels\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @param {number} depth\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.texStorage3D = function(\n target, levels, internalformat, width, height, depth) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} internalformat\n * @param {number} formatOrWidth\n * @param {number} typeOrHeight\n * @param {?TexImageSource|number} imgOrBorder\n * @param {number=} opt_format\n * @param {number=} opt_type\n * @param {?ArrayBufferView|?TexImageSource|number=} opt_imgOrOffset\n * @param {number=} opt_srcOffset\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.texImage2D = function(\n target, level, internalformat, formatOrWidth, typeOrHeight, imgOrBorder,\n opt_format, opt_type, opt_imgOrOffset, opt_srcOffset) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} formatOrWidth\n * @param {number} typeOrHeight\n * @param {?TexImageSource|number} dataOrFormat\n * @param {number=} opt_type\n * @param {?ArrayBufferView|?TexImageSource|number=} opt_imgOrOffset\n * @param {number=} opt_srcOffset\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.texSubImage2D = function(\n target, level, xoffset, yoffset, formatOrWidth, typeOrHeight, dataOrFormat,\n opt_type, opt_imgOrOffset, opt_srcOffset) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @param {number} depth\n * @param {number} border\n * @param {number} format\n * @param {number} type\n * @param {?ArrayBufferView|?TexImageSource|number} srcData\n * @param {number=} opt_srcOffset\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.texImage3D = function(\n target, level, internalformat, width, height, depth, border, format, type,\n srcData, opt_srcOffset) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} zoffset\n * @param {number} width\n * @param {number} height\n * @param {number} depth\n * @param {number} format\n * @param {number} type\n * @param {?ArrayBufferView|?TexImageSource|number} srcData\n * @param {number=} opt_srcOffset\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.texSubImage3D = function(\n target, level, xoffset, yoffset, zoffset, width, height, depth, format,\n type, srcData, opt_srcOffset) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} zoffset\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.copyTexSubImage3D = function(\n target, level, xoffset, yoffset, zoffset, x, y, width, height) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @param {number} border\n * @param {?ArrayBufferView|number} srcDataOrSize\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLengthOverride\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.compressedTexImage2D = function(\n target, level, internalformat, width, height, border, srcDataOrSize,\n opt_srcOffset, opt_srcLengthOverride) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @param {number} depth\n * @param {number} border\n * @param {!ArrayBufferView|number} srcDataOrSize\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLengthOverride\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.compressedTexImage3D = function(\n target, level, internalformat, width, height, depth, border, srcDataOrSize,\n opt_srcOffset, opt_srcLengthOverride) {};\n\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} width\n * @param {number} height\n * @param {number} format\n * @param {?ArrayBufferView|number} srcDataOrSize\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLengthOverride\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.compressedTexSubImage2D = function(\n target, level, xoffset, yoffset, width, height, format, srcDataOrSize,\n opt_srcOffset, opt_srcLengthOverride) {};\n\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} xoffset\n * @param {number} yoffset\n * @param {number} zoffset\n * @param {number} width\n * @param {number} height\n * @param {number} depth\n * @param {number} format\n * @param {!ArrayBufferView|number} srcDataOrSize\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLengthOverride\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.compressedTexSubImage3D = function(\n target, level, xoffset, yoffset, zoffset, width, height, depth, format,\n srcDataOrSize, opt_srcOffset, opt_srcLengthOverride) {};\n\n/* Programs and shaders */\n\n/**\n * @param {!WebGLProgram} program\n * @param {string} name\n * @return {number}\n * @nosideeffects\n */\nWebGL2RenderingContext.prototype.getFragDataLocation = function(\n program, name) {};\n\n/* Uniforms */\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform1ui = function(location, v0) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform2ui = function(location, v0, v1) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform3ui = function(location, v0, v1, v2) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @param {number} v3\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform4ui = function(\n location, v0, v1, v2, v3) {};\n\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Float32Array|?Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform1fv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Float32Array|?Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform2fv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Float32Array|?Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform3fv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Float32Array|?Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform4fv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform1iv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform2iv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform3iv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniform4iv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform1uiv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform2uiv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform3uiv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniform4uiv = function(\n location, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {?Float32Array|?Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniformMatrix2fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniformMatrix3x2fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniformMatrix4x2fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniformMatrix2x3fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {?Float32Array|?Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniformMatrix3fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniformMatrix4x3fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniformMatrix2x4fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniformMatrix3x4fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/**\n * @param {?WebGLUniformLocation} location\n * @param {boolean} transpose\n * @param {?Float32Array|?Array<number>} data\n * @param {number=} opt_srcOffset\n * @param {number=} opt_srcLength\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.uniformMatrix4fv = function(\n location, transpose, data, opt_srcOffset, opt_srcLength) {};\n\n/* Vertex attribs */\n\n/**\n * @param {number} index\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.vertexAttribI4i = function(\n index, x, y, z, w) {};\n\n/**\n * @param {number} index\n * @param {!Int32Array|!Array<number>|!Array<boolean>} values\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.vertexAttribI4iv = function(index, values) {};\n\n/**\n * @param {number} index\n * @param {number} x\n * @param {number} y\n * @param {number} z\n * @param {number} w\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.vertexAttribI4ui = function(\n index, x, y, z, w) {};\n\n/**\n * @param {number} index\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} values\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.vertexAttribI4uiv = function(index, values) {};\n\n/**\n * @param {number} index\n * @param {number} size\n * @param {number} type\n * @param {number} stride\n * @param {number} offset\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.vertexAttribIPointer = function(\n index, size, type, stride, offset) {};\n\n/* Writing to the drawing buffer */\n\n/**\n * @param {number} index\n * @param {number} divisor\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.vertexAttribDivisor = function(\n index, divisor) {};\n\n/**\n * @param {number} mode\n * @param {number} first\n * @param {number} count\n * @param {number} instanceCount\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.drawArraysInstanced = function(\n mode, first, count, instanceCount) {};\n\n/**\n * @param {number} mode\n * @param {number} count\n * @param {number} type\n * @param {number} offset\n * @param {number} instanceCount\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.drawElementsInstanced = function(\n mode, count, type, offset, instanceCount) {};\n\n/**\n * @param {number} mode\n * @param {number} start\n * @param {number} end\n * @param {number} count\n * @param {number} type\n * @param {number} offset\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.drawRangeElements = function(\n mode, start, end, count, type, offset) {};\n\n/* Reading back pixels */\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {number} format\n * @param {number} type\n * @param {?ArrayBufferView|number} dstDataOrOffset\n * @param {number=} opt_dstOffset\n * @return {undefined}\n * @override\n */\nWebGL2RenderingContext.prototype.readPixels = function(\n x, y, width, height, format, type, dstDataOrOffset, opt_dstOffset) {};\n\n/* Multiple Render Targets */\n\n/**\n * @param {!Array<number>} buffers\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.drawBuffers = function(buffers) {};\n\n\n/**\n * @param {number} buffer\n * @param {number} drawbuffer\n * @param {!Float32Array|!Array<number>} values\n * @param {number=} opt_srcOffset\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.clearBufferfv = function(\n buffer, drawbuffer, values, opt_srcOffset) {};\n\n/**\n * @param {number} buffer\n * @param {number} drawbuffer\n * @param {!Int32Array|!Array<number>|!Array<boolean>} values\n * @param {number=} opt_srcOffset\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.clearBufferiv = function(\n buffer, drawbuffer, values, opt_srcOffset) {};\n\n/**\n * @param {number} buffer\n * @param {number} drawbuffer\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} values\n * @param {number=} opt_srcOffset\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.clearBufferuiv = function(\n buffer, drawbuffer, values, opt_srcOffset) {};\n\n/**\n * @param {number} buffer\n * @param {number} drawbuffer\n * @param {number} depth\n * @param {number} stencil\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.clearBufferfi = function(\n buffer, drawbuffer, depth, stencil) {};\n\n/* Query Objects */\n\n/**\n * @return {?WebGLQuery}\n */\nWebGL2RenderingContext.prototype.createQuery = function() {};\n\n/**\n * @param {?WebGLQuery} query\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.deleteQuery = function(query) {};\n\n/**\n * @param {?WebGLQuery} query\n * @return {boolean}\n */\nWebGL2RenderingContext.prototype.isQuery = function(query) {};\n\n/**\n * @param {number} target\n * @param {!WebGLQuery} query\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.beginQuery = function(target, query) {};\n\n/**\n * @param {number} target\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.endQuery = function(target) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @return {?WebGLQuery}\n * @nosideeffects\n */\nWebGL2RenderingContext.prototype.getQuery = function(target, pname) {};\n\n/**\n * @param {!WebGLQuery} query\n * @param {number} pname\n * @return {*}\n */\nWebGL2RenderingContext.prototype.getQueryParameter = function(query, pname) {};\n\n/* Sampler Objects */\n\n/**\n * @return {?WebGLSampler}\n */\nWebGL2RenderingContext.prototype.createSampler = function() {};\n\n/**\n * @param {?WebGLSampler} sampler\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.deleteSampler = function(sampler) {};\n\n/**\n * @param {?WebGLSampler} sampler\n * @return {boolean}\n */\nWebGL2RenderingContext.prototype.isSampler = function(sampler) {};\n\n/**\n * @param {number} unit\n * @param {?WebGLSampler} sampler\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.bindSampler = function(unit, sampler) {};\n\n/**\n * @param {!WebGLSampler} sampler\n * @param {number} pname\n * @param {number} param\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.samplerParameteri = function(\n sampler, pname, param) {};\n\n/**\n * @param {!WebGLSampler} sampler\n * @param {number} pname\n * @param {number} param\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.samplerParameterf = function(\n sampler, pname, param) {};\n\n/**\n * @param {!WebGLSampler} sampler\n * @param {number} pname\n * @return {*}\n * @nosideeffects\n */\nWebGL2RenderingContext.prototype.getSamplerParameter = function(\n sampler, pname) {};\n\n/* Sync objects */\n\n/**\n * @param {number} condition\n * @param {number} flags\n * @return {?WebGLSync}\n */\nWebGL2RenderingContext.prototype.fenceSync = function(condition, flags) {};\n\n/**\n * @param {?WebGLSync} sync\n * @return {boolean}\n */\nWebGL2RenderingContext.prototype.isSync = function(sync) {};\n\n/**\n * @param {?WebGLSync} sync\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.deleteSync = function(sync) {};\n\n/**\n * @param {!WebGLSync} sync\n * @param {number} flags\n * @param {number} timeout\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.clientWaitSync = function(\n sync, flags, timeout) {};\n\n/**\n * @param {!WebGLSync} sync\n * @param {number} flags\n * @param {number} timeout\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.waitSync = function(sync, flags, timeout) {};\n\n/**\n * @param {!WebGLSync} sync\n * @param {number} pname\n * @return {*}\n */\nWebGL2RenderingContext.prototype.getSyncParameter = function(sync, pname) {};\n\n/* Transform Feedback */\n\n/**\n * @return {?WebGLTransformFeedback}\n */\nWebGL2RenderingContext.prototype.createTransformFeedback = function() {};\n\n/**\n * @param {?WebGLTransformFeedback} tf\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.deleteTransformFeedback = function(tf) {};\n\n/**\n * @param {?WebGLTransformFeedback} tf\n * @return {boolean}\n */\nWebGL2RenderingContext.prototype.isTransformFeedback = function(tf) {};\n\n/**\n * @param {number} target\n * @param {?WebGLTransformFeedback} tf\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.bindTransformFeedback = function(\n target, tf) {};\n\n/**\n * @param {number} primitiveMode\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.beginTransformFeedback = function(\n primitiveMode) {};\n\n/**\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.endTransformFeedback = function() {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {!Array<string>} varyings\n * @param {number} bufferMode\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.transformFeedbackVaryings = function(\n program, varyings, bufferMode) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} index\n * @return {?WebGLActiveInfo}\n * @nosideeffects\n */\nWebGL2RenderingContext.prototype.getTransformFeedbackVarying = function(\n program, index) {};\n\n/**\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.pauseTransformFeedback = function() {};\n\n/**\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.resumeTransformFeedback = function() {};\n\n/* Uniform Buffer Objects and Transform Feedback Buffers */\n\n/**\n * @param {number} target\n * @param {number} index\n * @param {?WebGLBuffer} buffer\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.bindBufferBase = function(\n target, index, buffer) {};\n\n/**\n * @param {number} target\n * @param {number} index\n * @param {?WebGLBuffer} buffer\n * @param {number} offset\n * @param {number} size\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.bindBufferRange = function(\n target, index, buffer, offset, size) {};\n\n/**\n * @param {number} target\n * @param {number} index\n * @return {*}\n */\nWebGL2RenderingContext.prototype.getIndexedParameter = function(\n target, index) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {!Array<string>} uniformNames\n * @return {!Array<number>}\n */\nWebGL2RenderingContext.prototype.getUniformIndices = function(\n program, uniformNames) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {!Array<number>} uniformIndices\n * @param {number} pname\n * @return {*}\n */\nWebGL2RenderingContext.prototype.getActiveUniforms = function(\n program, uniformIndices, pname) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {string} uniformBlockName\n * @return {number}\n * @nosideeffects\n */\nWebGL2RenderingContext.prototype.getUniformBlockIndex = function(\n program, uniformBlockName) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} uniformBlockIndex\n * @param {number} pname\n * @return {*}\n */\nWebGL2RenderingContext.prototype.getActiveUniformBlockParameter = function(\n program, uniformBlockIndex, pname) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} uniformBlockIndex\n * @return {?string}\n * @nosideeffects\n */\nWebGL2RenderingContext.prototype.getActiveUniformBlockName = function(\n program, uniformBlockIndex) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} uniformBlockIndex\n * @param {number} uniformBlockBinding\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.uniformBlockBinding = function(\n program, uniformBlockIndex, uniformBlockBinding) {};\n\n/* Vertex Array Objects */\n\n/**\n * @return {?WebGLVertexArrayObject}\n */\nWebGL2RenderingContext.prototype.createVertexArray = function() {};\n\n/**\n * @param {?WebGLVertexArrayObject} vertexArray\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.deleteVertexArray = function(vertexArray) {};\n\n/**\n * @param {?WebGLVertexArrayObject} vertexArray\n * @return {boolean}\n */\nWebGL2RenderingContext.prototype.isVertexArray = function(vertexArray) {};\n\n/**\n * @param {?WebGLVertexArrayObject} array\n * @return {undefined}\n */\nWebGL2RenderingContext.prototype.bindVertexArray = function(array) {};\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLQuery() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLSampler() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLSync() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLTransformFeedback() {}\n\n\n/**\n * @constructor\n * @extends {WebGLObject}\n */\nfunction WebGLVertexArrayObject() {}\n',
  846. "externs/webgl2_compute.js":'/*\n * Copyright 2019 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for WebGL functions as described at\n * http://www.khronos.org/registry/webgl/specs/latest/\n *\n * This file is current up to the WebGL 2.0 Compute spec.\n *\n * This relies on webgl2.js and html5.js being included for WebGL2, Canvas and\n * Typed Array support.\n *\n * @externs\n */\n\n\n/**\n * @constructor\n * @extends {WebGL2RenderingContext}\n * @see https://www.khronos.org/registry/webgl/specs/latest/2.0-compute/#webgl2-compute-context\n */\nfunction WebGL2ComputeRenderingContext() {}\n\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.COMPUTE_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_SHARED_MEMORY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_WORK_GROUP_INVOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_WORK_GROUP_COUNT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_WORK_GROUP_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.COMPUTE_WORK_GROUP_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.DISPATCH_INDIRECT_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.DISPATCH_INDIRECT_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.COMPUTE_SHADER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.DRAW_INDIRECT_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.DRAW_INDIRECT_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_UNIFORM_LOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.FRAMEBUFFER_DEFAULT_WIDTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.FRAMEBUFFER_DEFAULT_HEIGHT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.FRAMEBUFFER_DEFAULT_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_FRAMEBUFFER_WIDTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_FRAMEBUFFER_HEIGHT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_FRAMEBUFFER_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNIFORM;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNIFORM_BLOCK;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.PROGRAM_INPUT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.PROGRAM_OUTPUT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.BUFFER_VARIABLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_STORAGE_BLOCK;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ATOMIC_COUNTER_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TRANSFORM_FEEDBACK_VARYING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ACTIVE_RESOURCES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_NAME_LENGTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_NUM_ACTIVE_VARIABLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.NAME_LENGTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ARRAY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.BLOCK_INDEX;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ARRAY_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MATRIX_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IS_ROW_MAJOR;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ATOMIC_COUNTER_BUFFER_INDEX;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.BUFFER_DATA_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.NUM_ACTIVE_VARIABLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ACTIVE_VARIABLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.REFERENCED_BY_VERTEX_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.REFERENCED_BY_FRAGMENT_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.REFERENCED_BY_COMPUTE_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TOP_LEVEL_ARRAY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TOP_LEVEL_ARRAY_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.LOCATION;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_SHADER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.FRAGMENT_SHADER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ALL_SHADER_BITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ATOMIC_COUNTER_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ATOMIC_COUNTER_BUFFER_START;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ATOMIC_COUNTER_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_VERTEX_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMBINED_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_VERTEX_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_FRAGMENT_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMBINED_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_ATOMIC_COUNTER_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_ATOMIC_COUNTER_BUFFER_BINDINGS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ACTIVE_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNSIGNED_INT_ATOMIC_COUNTER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_IMAGE_UNITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_VERTEX_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_FRAGMENT_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMBINED_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_BINDING_NAME;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_BINDING_LEVEL;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_BINDING_LAYERED;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_BINDING_LAYER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_BINDING_ACCESS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_BINDING_FORMAT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_ATTRIB_ARRAY_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ELEMENT_ARRAY_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNIFORM_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_FETCH_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_IMAGE_ACCESS_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.COMMAND_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.PIXEL_BUFFER_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_UPDATE_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.BUFFER_UPDATE_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.FRAMEBUFFER_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TRANSFORM_FEEDBACK_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ATOMIC_COUNTER_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_STORAGE_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.ALL_BARRIER_BITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_2D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_3D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_CUBE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.INT_IMAGE_2D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.INT_IMAGE_3D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.INT_IMAGE_CUBE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.INT_IMAGE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNSIGNED_INT_IMAGE_2D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNSIGNED_INT_IMAGE_3D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNSIGNED_INT_IMAGE_CUBE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNSIGNED_INT_IMAGE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_FORMAT_COMPATIBILITY_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_FORMAT_COMPATIBILITY_BY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.IMAGE_FORMAT_COMPATIBILITY_BY_CLASS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.READ_ONLY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.WRITE_ONLY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.READ_WRITE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_STORAGE_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_STORAGE_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_STORAGE_BUFFER_START;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_STORAGE_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_VERTEX_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_FRAGMENT_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMPUTE_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMBINED_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_SHADER_STORAGE_BUFFER_BINDINGS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_SHADER_STORAGE_BLOCK_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COMBINED_SHADER_OUTPUT_RESOURCES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.DEPTH_STENCIL_TEXTURE_MODE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.STENCIL_INDEX;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MIN_PROGRAM_TEXTURE_GATHER_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_PROGRAM_TEXTURE_GATHER_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SAMPLE_POSITION;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SAMPLE_MASK;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SAMPLE_MASK_VALUE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_SAMPLE_MASK_WORDS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_COLOR_TEXTURE_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_DEPTH_TEXTURE_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_INTEGER_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_BINDING_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_FIXED_SAMPLE_LOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_WIDTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_HEIGHT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_DEPTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_INTERNAL_FORMAT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_RED_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_GREEN_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_BLUE_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_ALPHA_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_DEPTH_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_STENCIL_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_SHARED_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_RED_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_GREEN_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_BLUE_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_ALPHA_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_DEPTH_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.TEXTURE_COMPRESSED;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.SAMPLER_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.INT_SAMPLER_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_ATTRIB_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_ATTRIB_RELATIVE_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_BINDING_DIVISOR;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_BINDING_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_BINDING_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.VERTEX_BINDING_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_VERTEX_ATTRIB_RELATIVE_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_VERTEX_ATTRIB_BINDINGS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.MAX_VERTEX_ATTRIB_STRIDE;\n\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.COMPUTE_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_UNIFORM_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_TEXTURE_IMAGE_UNITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_SHARED_MEMORY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_WORK_GROUP_INVOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_WORK_GROUP_COUNT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_WORK_GROUP_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.COMPUTE_WORK_GROUP_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.DISPATCH_INDIRECT_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.DISPATCH_INDIRECT_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.COMPUTE_SHADER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.DRAW_INDIRECT_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.DRAW_INDIRECT_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_UNIFORM_LOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.FRAMEBUFFER_DEFAULT_WIDTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.FRAMEBUFFER_DEFAULT_HEIGHT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.FRAMEBUFFER_DEFAULT_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype\n .FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_FRAMEBUFFER_WIDTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_FRAMEBUFFER_HEIGHT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_FRAMEBUFFER_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNIFORM;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNIFORM_BLOCK;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.PROGRAM_INPUT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.PROGRAM_OUTPUT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.BUFFER_VARIABLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_STORAGE_BLOCK;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ATOMIC_COUNTER_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TRANSFORM_FEEDBACK_VARYING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ACTIVE_RESOURCES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_NAME_LENGTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_NUM_ACTIVE_VARIABLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.NAME_LENGTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ARRAY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.BLOCK_INDEX;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ARRAY_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MATRIX_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IS_ROW_MAJOR;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ATOMIC_COUNTER_BUFFER_INDEX;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.BUFFER_DATA_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.NUM_ACTIVE_VARIABLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ACTIVE_VARIABLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.REFERENCED_BY_VERTEX_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.REFERENCED_BY_FRAGMENT_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.REFERENCED_BY_COMPUTE_SHADER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TOP_LEVEL_ARRAY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TOP_LEVEL_ARRAY_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.LOCATION;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_SHADER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.FRAGMENT_SHADER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ALL_SHADER_BITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ATOMIC_COUNTER_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ATOMIC_COUNTER_BUFFER_START;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ATOMIC_COUNTER_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_VERTEX_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMBINED_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_VERTEX_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_FRAGMENT_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMBINED_ATOMIC_COUNTERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_ATOMIC_COUNTER_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_ATOMIC_COUNTER_BUFFER_BINDINGS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ACTIVE_ATOMIC_COUNTER_BUFFERS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNSIGNED_INT_ATOMIC_COUNTER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_IMAGE_UNITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_VERTEX_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_FRAGMENT_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMBINED_IMAGE_UNIFORMS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_BINDING_NAME;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_BINDING_LEVEL;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_BINDING_LAYERED;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_BINDING_LAYER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_BINDING_ACCESS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_BINDING_FORMAT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ELEMENT_ARRAY_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNIFORM_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_FETCH_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_IMAGE_ACCESS_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.COMMAND_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.PIXEL_BUFFER_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_UPDATE_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.BUFFER_UPDATE_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.FRAMEBUFFER_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TRANSFORM_FEEDBACK_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ATOMIC_COUNTER_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_STORAGE_BARRIER_BIT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.ALL_BARRIER_BITS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_2D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_3D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_CUBE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.INT_IMAGE_2D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.INT_IMAGE_3D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.INT_IMAGE_CUBE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.INT_IMAGE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNSIGNED_INT_IMAGE_2D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNSIGNED_INT_IMAGE_3D;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNSIGNED_INT_IMAGE_CUBE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNSIGNED_INT_IMAGE_2D_ARRAY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_FORMAT_COMPATIBILITY_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_FORMAT_COMPATIBILITY_BY_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.IMAGE_FORMAT_COMPATIBILITY_BY_CLASS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.READ_ONLY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.WRITE_ONLY;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.READ_WRITE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_STORAGE_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_STORAGE_BUFFER_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_STORAGE_BUFFER_START;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_STORAGE_BUFFER_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_VERTEX_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_FRAGMENT_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMPUTE_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMBINED_SHADER_STORAGE_BLOCKS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_SHADER_STORAGE_BUFFER_BINDINGS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_SHADER_STORAGE_BLOCK_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COMBINED_SHADER_OUTPUT_RESOURCES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.DEPTH_STENCIL_TEXTURE_MODE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.STENCIL_INDEX;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MIN_PROGRAM_TEXTURE_GATHER_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_PROGRAM_TEXTURE_GATHER_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SAMPLE_POSITION;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SAMPLE_MASK;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SAMPLE_MASK_VALUE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_SAMPLE_MASK_WORDS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_COLOR_TEXTURE_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_DEPTH_TEXTURE_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_INTEGER_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_BINDING_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_SAMPLES;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_FIXED_SAMPLE_LOCATIONS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_WIDTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_HEIGHT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_DEPTH;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_INTERNAL_FORMAT;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_RED_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_GREEN_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_BLUE_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_ALPHA_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_DEPTH_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_STENCIL_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_SHARED_SIZE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_RED_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_GREEN_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_BLUE_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_ALPHA_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_DEPTH_TYPE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.TEXTURE_COMPRESSED;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.SAMPLER_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.INT_SAMPLER_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_ATTRIB_BINDING;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_ATTRIB_RELATIVE_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_BINDING_DIVISOR;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_BINDING_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_BINDING_STRIDE;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.VERTEX_BINDING_BUFFER;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_VERTEX_ATTRIB_RELATIVE_OFFSET;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_VERTEX_ATTRIB_BINDINGS;\n\n/** @const {number} */\nWebGL2ComputeRenderingContext.prototype.MAX_VERTEX_ATTRIB_STRIDE;\n\n\n/**\n * @param {number} num_groups_x\n * @param {number} num_groups_y\n * @param {number} num_groups_z\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.dispatchCompute = function(\n num_groups_x, num_groups_y, num_groups_z) {};\n\n/**\n * @param {number} offset\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.dispatchComputeIndirect = function(\n offset) {};\n\n/**\n * @param {number} mode\n * @param {number} offset\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.drawArraysIndirect = function(\n mode, offset) {};\n\n/**\n * @param {number} mode\n * @param {number} type\n * @param {number} offset\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.drawElementsIndirect = function(\n mode, type, offset) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @param {number} param\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.framebufferParameter = function(\n target, pname, param) {};\n\n/**\n * @param {number} target\n * @param {number} pname\n * @return {*}\n */\nWebGL2ComputeRenderingContext.prototype.getFramebufferParameter = function(\n target, pname) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} programInterface\n * @param {number} pname\n * @return {*}\n */\nWebGL2ComputeRenderingContext.prototype.getProgramInterfaceParameter = function(\n program, programInterface, pname) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} programInterface\n * @param {number} index\n * @param {!Array<number>} props\n * @return {?Array<*>}\n */\nWebGL2ComputeRenderingContext.prototype.getProgramResource = function(\n program, programInterface, index, props) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} programInterface\n * @param {string} name\n * @return {number}\n */\nWebGL2ComputeRenderingContext.prototype.getProgramResourceIndex = function(\n program, programInterface, name) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} programInterface\n * @param {number} index\n * @return {?string}\n */\nWebGL2ComputeRenderingContext.prototype.getProgramResourceName = function(\n program, programInterface, index) {};\n\n/**\n * @param {!WebGLProgram} program\n * @param {number} programInterface\n * @param {string} name\n * @return {*}\n */\nWebGL2ComputeRenderingContext.prototype.getProgramResourceLocation = function(\n program, programInterface, name) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform1i = function(\n program, location, v0) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform2i = function(\n program, location, v0, v1) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform3i = function(\n program, location, v0, v1, v2) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @param {number} v3\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform4i = function(\n program, location, v0, v1, v2, v3) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform1ui = function(\n program, location, v0) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform2ui = function(\n program, location, v0, v1) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform3ui = function(\n program, location, v0, v1, v2) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @param {number} v3\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform4ui = function(\n program, location, v0, v1, v2, v3) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform1f = function(\n program, location, v0) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform2f = function(\n program, location, v0, v1) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform3f = function(\n program, location, v0, v1, v2) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} v0\n * @param {number} v1\n * @param {number} v2\n * @param {number} v3\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform4f = function(\n program, location, v0, v1, v2, v3) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Int32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform1iv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Int32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform2iv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Int32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform3iv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Int32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform4iv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform1uiv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform2uiv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform3uiv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform4uiv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform1fv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform2fv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform3fv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniform4fv = function(\n program, location, count, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix2fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix3fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix4fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix2x3fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix3x2fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix2x4fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix4x2fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix3x4fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {?WebGLProgram} program\n * @param {?WebGLUniformLocation} location\n * @param {number} count\n * @param {boolean} transpose\n * @param {!Float32Array|!Array<number>} data\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.programUniformMatrix4x3fv = function(\n program, location, count, transpose, data) {};\n\n/**\n * @param {number} unit\n * @param {?WebGLTexture} texture\n * @param {number} level\n * @param {boolean} layered\n * @param {number} layer\n * @param {number} access\n * @param {number} format\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.bindImageTexture = function(\n unit, texture, level, layered, layer, access, format) {};\n\n/**\n * @param {number} barriers\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.memoryBarrier = function(barriers) {};\n\n/**\n * @param {number} barriers\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.memoryBarrierByRegion = function(\n barriers) {};\n\n/**\n * @param {number} target\n * @param {number} samples\n * @param {number} internalformat\n * @param {number} width\n * @param {number} height\n * @param {boolean} fixedsamplelocations\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.texStorage2DMultisample = function(\n target, samples, internalformat, width, height, fixedsamplelocations) {};\n\n/**\n * @param {number} target\n * @param {number} level\n * @param {number} pname\n * @return {*}\n */\nWebGL2ComputeRenderingContext.prototype.getTexLevelParameter = function(\n target, level, pname) {};\n\n/**\n * @param {number} pname\n * @param {number} index\n * @return {*}\n */\nWebGL2ComputeRenderingContext.prototype.getMultisample = function(\n pname, index) {};\n\n/**\n * @param {number} index\n * @param {number} mask\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.sampleMask = function(index, mask) {};\n\n/**\n * @param {number} bindingindex\n * @param {?WebGLBuffer} buffer\n * @param {number} offset\n * @param {number} stride\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.bindVertexBuffer = function(\n bindingindex, buffer, offset, stride) {};\n\n/**\n * @param {number} attribindex\n * @param {number} size\n * @param {number} type\n * @param {boolean} normalized\n * @param {number} relativeoffset\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.vertexAttribFormat = function(\n attribindex, size, type, normalized, relativeoffset) {};\n\n/**\n * @param {number} attribindex\n * @param {number} size\n * @param {number} type\n * @param {number} relativeoffset\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.vertexAttribIFormat = function(\n attribindex, size, type, relativeoffset) {};\n\n/**\n * @param {number} attribindex\n * @param {number} bindingindex\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.vertexAttribBinding = function(\n attribindex, bindingindex) {};\n\n/**\n * @param {number} bindingindex\n * @param {number} divisor\n * @return {undefined}\n */\nWebGL2ComputeRenderingContext.prototype.vertexBindingDivisor = function(\n bindingindex, divisor) {};\n',
  847. "externs/webkit_notifications.js":'/*\n * Copyright 2010 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for W3C\'s Notifications specification.\n * @externs\n * @author atwilson@google.com (Drew Wilson)\n */\n\n/**\n * @typedef {{\n * dir: (string|undefined),\n * lang: (string|undefined),\n * body: (string|undefined),\n * tag: (string|undefined),\n * image: (string|undefined),\n * icon: (string|undefined),\n * badge: (string|undefined),\n * vibrate: (!Array<number>|undefined),\n * timestamp: (number|undefined),\n * renotify: (boolean|undefined),\n * silent: (boolean|undefined),\n * requireInteraction: (boolean|undefined),\n * data: (*|undefined),\n * actions: (!Array<!NotificationAction>|undefined),\n * }}\n * TODO(user): change the type of data to a serializable object\n * (https://html.spec.whatwg.org/multipage/structured-data.html).\n *\n * @see http://notifications.spec.whatwg.org/#notification\n */\nvar NotificationOptions;\n\n/**\n * @typedef {{action: string, title: string, icon: (string|undefined)}}\n * @see https://notifications.spec.whatwg.org/#dictdef-notificationoptions\n */\nvar NotificationAction;\n\n/**\n * @typedef {{tag: (string|undefined)}}\n * @see https://notifications.spec.whatwg.org/#dictdef-getnotificationoptions\n */\nvar GetNotificationOptions;\n\n/** @interface */\nvar NotificationOptionsInterface_ = function() {}\n/** @type {string} */ NotificationOptionsInterface_.prototype.dir;\n/** @type {string} */ NotificationOptionsInterface_.prototype.lang;\n/** @type {string} */ NotificationOptionsInterface_.prototype.body;\n/** @type {string} */ NotificationOptionsInterface_.prototype.tag;\n/** @type {string} */ NotificationOptionsInterface_.prototype.icon;\n/** @type {boolean} */\n NotificationOptionsInterface_.prototype.requireInteraction;\n\n/**\n * @param {string} title\n * @param {NotificationOptions=} opt_options\n * @constructor\n * @implements {EventTarget}\n * @see http://notifications.spec.whatwg.org/#notification\n */\nfunction Notification(title, opt_options) {}\n\n/**\n * @type {string}\n */\nNotification.permission;\n\n/**\n * @param {NotificationPermissionCallback=} opt_callback\n * @return {!Promise<string>}\n */\nNotification.requestPermission = function(opt_callback) {};\n\n/** @override */\nNotification.prototype.addEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nNotification.prototype.removeEventListener = function(\n type, listener, opt_options) {};\n\n/** @override */\nNotification.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @type {string}\n */\nNotification.prototype.title;\n\n/**\n * @type {string}\n */\nNotification.prototype.body;\n\n/**\n * @type {string}\n */\nNotification.prototype.icon;\n\n/**\n * The string used by clients to identify the notification.\n * @type {string}\n */\nNotification.prototype.tag;\n\n/**\n * The ID used by clients to uniquely identify notifications to eliminate\n * duplicate notifications.\n * @type {string}\n * @deprecated Use NotificationOptions.tag instead.\n */\nNotification.prototype.replaceId;\n\n/**\n * @type {*}\n */\nNotification.prototype.data;\n\n/**\n * The string used by clients to specify the directionality (rtl/ltr) of the\n * notification.\n * @type {string}\n * @deprecated Use NotificationOptions.titleDir and bodyDir instead.\n */\nNotification.prototype.dir;\n\n/**\n * Displays the notification.\n * @return {undefined}\n */\nNotification.prototype.show = function() {};\n\n/**\n * Prevents the notification from being displayed, or closes it if it is already\n * displayed.\n * @return {undefined}\n */\nNotification.prototype.cancel = function() {};\n\n/**\n * Prevents the notification from being displayed, or closes it if it is already\n * displayed.\n * @return {undefined}\n */\nNotification.prototype.close = function() {};\n\n/**\n * An event handler called when notification is closed.\n * @type {?function(Event)}\n */\nNotification.prototype.onclose;\n\n/**\n * An event handler called if the notification could not be displayed due to\n * an error (i.e. resource could not be loaded).\n * @type {?function(Event)}\n */\nNotification.prototype.onerror;\n\n/**\n * An event handler called when the notification has become visible.\n * @type {?function(Event)}\n * @deprecated Use onshow instead.\n */\nNotification.prototype.ondisplay;\n\n/**\n * An event handler called when the notification has become visible.\n * @type {?function(Event)}\n */\nNotification.prototype.onshow;\n\n/**\n * An event handler called when the notification has been clicked on.\n * @type {?function(Event)}\n */\nNotification.prototype.onclick;\n\n\n\n/**\n * @typedef {function(string)}\n * @see http://notifications.spec.whatwg.org/#notificationpermissioncallback\n */\nvar NotificationPermissionCallback;\n\n/**\n * @constructor\n * @see http://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if\n * @deprecated Use Notification instead.\n */\nfunction NotificationCenter() {}\n\n/**\n * Creates a text+icon notification and displays it to the user.\n * @param {string} iconUrl\n * @param {string} title\n * @param {string} body\n * @return {Notification}\n */\nNotificationCenter.prototype.createNotification =\n function(iconUrl, title, body) {};\n\n/**\n * Creates an HTML notification and displays it to the user.\n * @param {string} url\n * @return {Notification}\n */\nNotificationCenter.prototype.createHTMLNotification = function(url) {};\n\n/**\n * Checks if the user has permission to display notifications.\n * @return {number}\n */\nNotificationCenter.prototype.checkPermission = function() {};\n\n/**\n * Requests permission from the user to display notifications.\n * @param {Function=} opt_callback\n * @return {void}\n */\nNotificationCenter.prototype.requestPermission = function(opt_callback) {};\n\n/**\n * WebKit browsers expose the NotificationCenter API through\n * window.webkitNotifications.\n * @type {NotificationCenter}\n */\nWindow.prototype.webkitNotifications;\n\n\n/**\n * @see https://notifications.spec.whatwg.org/#notificationevent\n * @constructor\n * @param {string} type\n * @param {!ExtendableEventInit=} opt_eventInitDict\n * @extends {ExtendableEvent}\n */\nfunction NotificationEvent(type, opt_eventInitDict) {}\n\n/** @type {!Notification} */\nNotificationEvent.prototype.notification;\n\n/** @type {string} */\nNotificationEvent.prototype.action;\n',
  848. "externs/webkit_usercontent.js":'/*\n * Copyright 2016 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for WKWebView\'s User Content interface.\n * https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/\n * https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h\n *\n * @externs\n */\n\n/** @constructor */\nfunction WebKitNamespace() {}\n\n\n/**\n * @type {!UserMessageHandlersNamespace}\n */\nWebKitNamespace.prototype.messageHandlers;\n\n\n/**\n * @constructor\n * @implements {IObject<string, UserMessageHandler>}\n */\nfunction UserMessageHandlersNamespace() {}\n\n\n/** @constructor */\nfunction UserMessageHandler() {}\n\n\n/**\n * @param {*} message\n * @return {undefined}\n */\nUserMessageHandler.prototype.postMessage = function(message) {};\n\n\n/**\n * @const {!WebKitNamespace}\n */\nvar webkit;\n',
  849. "externs/webstorage.js":'/*\n * Copyright 2009 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions for W3C\'s WebStorage specification.\n * This file depends on html5.js.\n * @externs\n * @author jeffbailey@google.com (Jeff Bailey)\n */\n\n/**\n * @interface\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interface\n */\nfunction Storage() {}\n\n/**\n * @const {number}\n */\nStorage.prototype.length;\n\n/**\n * @param {number} index\n * @return {?string}\n */\nStorage.prototype.key = function(index) {};\n\n/**\n * @param {string} key\n * @return {?string}\n */\nStorage.prototype.getItem = function(key) {};\n\n/**\n * @param {string} key\n * @param {string} data\n * @return {void}\n */\nStorage.prototype.setItem = function(key, data) {};\n\n/**\n * @param {string} key\n * @return {void}\n */\nStorage.prototype.removeItem = function(key) {};\n\n/**\n * @return {void}\n */\nStorage.prototype.clear = function() {};\n\n/**\n * @interface\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attribute\n */\nfunction WindowSessionStorage() {}\n\n/**\n * @type {Storage}\n */\nWindowSessionStorage.prototype.sessionStorage;\n\n/**\n * Window implements WindowSessionStorage\n *\n * @type {Storage}\n */\nWindow.prototype.sessionStorage;\n\n/**\n * @interface\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attribute\n */\nfunction WindowLocalStorage() {}\n\n/**\n * @type {Storage}\n */\nWindowLocalStorage.prototype.localStorage;\n\n/**\n * Window implements WindowLocalStorage\n *\n * @type {Storage}\n */\nWindow.prototype.localStorage;\n\n/**\n * This is the storage event interface.\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event\n * @extends {Event}\n * @constructor\n */\nfunction StorageEvent() {}\n\n/**\n * @type {string}\n */\nStorageEvent.prototype.key;\n\n/**\n * @type {?string}\n */\nStorageEvent.prototype.oldValue;\n\n/**\n * @type {?string}\n */\nStorageEvent.prototype.newValue;\n\n/**\n * @type {string}\n */\nStorageEvent.prototype.url;\n\n/**\n * @type {?Storage}\n */\nStorageEvent.prototype.storageArea;\n\n/**\n * @param {string} typeArg\n * @param {boolean} canBubbleArg\n * @param {boolean} cancelableArg\n * @param {string} keyArg\n * @param {?string} oldValueArg\n * @param {?string} newValueArg\n * @param {string} urlArg\n * @param {?Storage} storageAreaArg\n * @return {void}\n */\nStorageEvent.prototype.initStorageEvent = function(typeArg, canBubbleArg,\n cancelableArg, keyArg,\n oldValueArg, newValueArg,\n urlArg, storageAreaArg) {};\n\n',
  850. "externs/whatwg_encoding.js":'/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for WHATWG\'s Encoding specification\n * https://encoding.spec.whatwg.org\n * @externs\n */\n\n/**\n * @constructor\n * @param {string=} encoding\n * @param {Object=} options\n */\nfunction TextDecoder(encoding, options) {}\n\n/** @type {string} **/ TextDecoder.prototype.encoding;\n/** @type {boolean} **/ TextDecoder.prototype.fatal;\n/** @type {boolean} **/ TextDecoder.prototype.ignoreBOM;\n\n/**\n * @param {!BufferSource=} input\n * @param {?Object=} options\n * @return {string}\n * @see https://encoding.spec.whatwg.org/#textdecoder\n */\nTextDecoder.prototype.decode = function decode(input, options) {};\n\n/**\n * @constructor\n * @param {string=} utfLabel\n */\nfunction TextEncoder(utfLabel) {}\n\n/** @type {string} **/ TextEncoder.prototype.encoding;\n\n/**\n * @param {string=} input\n * @return {!Uint8Array}\n */\nTextEncoder.prototype.encode = function(input) {};\n',
  851. "externs/web_app_manifest.js":"/*\n * Copyright 2017 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Externs for web app manifest APIs.\n *\n * @see https://www.w3.org/TR/appmanifest/\n * @externs\n */\n\n/**\n * @see https://www.w3.org/TR/appmanifest/#beforeinstallpromptevent-interface\n * @constructor\n * @extends {Event}\n */\nfunction BeforeInstallPromptEvent() {}\n\n/** @type {!Promise<{outcome: !AppBannerPromptOutcome}>} */\nBeforeInstallPromptEvent.prototype.userChoice;\n\n/** @return {!Promise<!PromptResponseObject>} */\nBeforeInstallPromptEvent.prototype.prompt = function() {};\n\n/**\n * @typedef {string}\n * @see https://www.w3.org/TR/appmanifest/#appbannerpromptoutcome-enum\n * Possible values: 'accepted', 'dismissed'\n */\nvar AppBannerPromptOutcome;\n\n/** @typedef {{userChoice: !AppBannerPromptOutcome}} */\nvar PromptResponseObject;\n\n/** @type {?function(!BeforeInstallPromptEvent)} */\nWindow.prototype.onbeforeinstallprompt;\n\n/** @type {?function(!Event)} */\nWindow.prototype.onappinstalled;\n",
  852. "externs/intl.js":'/*\n * Copyright 2013 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for the JS Internationalization API as defined in\n * http://www.ecma-international.org/ecma-402/1.0/\n *\n * @externs\n */\n\n/** @const */\nvar Intl = {};\n\n/**\n * NOTE: this API is not from ecma402 and is subject to change.\n * @param {string|Array<string>=} opt_locales\n * @param {{type: (string|undefined)}=}\n * opt_options\n * @constructor\n */\nIntl.v8BreakIterator = function(opt_locales, opt_options) {};\n\n/**\n * @param {string} text\n * @return {undefined}\n */\nIntl.v8BreakIterator.prototype.adoptText = function(text) {};\n\n/**\n * @return {string}\n */\nIntl.v8BreakIterator.prototype.breakType = function() {};\n\n/**\n * @return {number}\n */\nIntl.v8BreakIterator.prototype.current = function() {};\n\n/**\n * @return {number}\n */\nIntl.v8BreakIterator.prototype.first = function() {};\n\n/**\n * @return {number}\n */\nIntl.v8BreakIterator.prototype.next = function() {};\n\n/**\n * @constructor\n * @param {string|Array<string>=} opt_locales\n * @param {{usage: (string|undefined), localeMatcher: (string|undefined),\n * sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined),\n * numeric: (boolean|undefined), caseFirst: (string|undefined)}=}\n * opt_options\n */\nIntl.Collator = function(opt_locales, opt_options) {};\n\n/**\n * @param {Array<string>} locales\n * @param {{localeMatcher: (string|undefined)}=} opt_options\n * @return {Array<string>}\n */\nIntl.Collator.supportedLocalesOf = function(locales, opt_options) {};\n\n/**\n * @param {string} arg1\n * @param {string} arg2\n * @return {number}\n */\nIntl.Collator.prototype.compare = function(arg1, arg2) {};\n\n/**\n * @return {{locale: string, usage: string, sensitivity: string,\n * ignorePunctuation: boolean, collation: string, numeric: boolean,\n * caseFirst: string}}\n */\nIntl.Collator.prototype.resolvedOptions = function() {};\n\n/**\n * @constructor\n * @param {string|Array<string>=} opt_locales\n * @param {{localeMatcher: (string|undefined), useGrouping: (boolean|undefined),\n * numberingSystem: (string|undefined), style: (string|undefined),\n * currency: (string|undefined), currencyDisplay: (string|undefined),\n * minimumIntegerDigits: (number|undefined),\n * minimumFractionDigits: (number|undefined),\n * maximumFractionDigits: (number|undefined),\n * minimumSignificantDigits: (number|undefined),\n * maximumSignificantDigits: (number|undefined)}=}\n * opt_options\n */\nIntl.NumberFormat = function(opt_locales, opt_options) {};\n\n/**\n * @param {Array<string>} locales\n * @param {{localeMatcher: (string|undefined)}=} opt_options\n * @return {Array<string>}\n */\nIntl.NumberFormat.supportedLocalesOf = function(locales, opt_options) {};\n\n/**\n * @param {number} num\n * @return {string}\n */\nIntl.NumberFormat.prototype.format = function(num) {};\n\n/**\n * @param {number} num\n * @return {!Array<{type: string, value: string}>}\n * @see http://www.ecma-international.org/ecma-402/#sec-intl.numberformat.prototype.formattoparts\n */\nIntl.NumberFormat.prototype.formatToParts = function(num) {};\n\n/**\n * @return {{locale: string, numberingSystem: string, style: string,\n * currency: (string|undefined), currencyDisplay: (string|undefined),\n * minimumIntegerDigits: number, minimumFractionDigits: number,\n * maximumFractionDigits: number, minimumSignificantDigits: number,\n * maximumSignificantDigits: number, useGrouping: boolean}}\n */\nIntl.NumberFormat.prototype.resolvedOptions = function() {};\n\n/**\n * @constructor\n * @param {string|Array<string>=} opt_locales\n * @param {{localeMatcher: (string|undefined),\n * formatMatcher: (string|undefined), calendar: (string|undefined),\n * numberingSystem: (string|undefined), tz: (string|undefined),\n * weekday: (string|undefined), era: (string|undefined),\n * year: (string|undefined), month: (string|undefined),\n * day: (string|undefined), hour: (string|undefined),\n * minute: (string|undefined), second: (string|undefined),\n * timeZoneName: (string|undefined), hour12: (boolean|undefined)}=}\n * opt_options\n */\nIntl.DateTimeFormat = function(opt_locales, opt_options) {};\n\n/**\n * @param {Array<string>} locales\n * @param {{localeMatcher: string}=} opt_options\n * @return {Array<string>}\n */\nIntl.DateTimeFormat.supportedLocalesOf = function(locales, opt_options) {};\n\n/**\n * @param {(!Date|number)=} date\n * @return {string}\n */\nIntl.DateTimeFormat.prototype.format = function(date) {};\n\n/**\n * @param {(!Date|number)=} date\n * @return {Array<{type: string, value: string}>}\n */\nIntl.DateTimeFormat.prototype.formatToParts = function(date) {};\n\n/**\n * @return {{locale: string, calendar: string, numberingSystem: string,\n * timeZone: (string|undefined), weekday: (string|undefined),\n * era: (string|undefined), year: (string|undefined),\n * month: (string|undefined), day: (string|undefined),\n * hour: (string|undefined), minute: (string|undefined),\n * second: (string|undefined), timeZoneName: (string|undefined),\n * hour12: (boolean|undefined)}}\n */\nIntl.DateTimeFormat.prototype.resolvedOptions = function() {};\n\n/**\n * @constructor\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules#Syntax\n * @param {string|Array<string>=} opt_locales\n * @param {{localeMatcher: (string|undefined), type: (string|undefined)}=}\n * opt_options\n */\nIntl.PluralRules = function(opt_locales, opt_options) {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules/supportedLocalesOf#Syntax\n * @param {Array<string>} locales\n * @param {{localeMatcher: string}=} opt_options\n * @return {Array<string>}\n */\nIntl.PluralRules.supportedLocalesOf = function(locales, opt_options) {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules/resolvedOptions#Syntax\n * @return {{locale: string, pluralCategories: Array<string>, type: string}}\n */\nIntl.PluralRules.prototype.resolvedOptions = function() {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules/select#Syntax\n * @param {number} number\n * @return {string}\n */\nIntl.PluralRules.prototype.select = function(number) {};\n\n/**\n * @constructor\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat#Syntax\n * @param {string|Array<string>=} opt_locales\n * @param {{localeMatcher: (string|undefined),\n * numeric: (string|undefined),\n * style: (string|undefined)}=}\n * opt_options\n */\nIntl.RelativeTimeFormat = function(opt_locales, opt_options) {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/supportedLocalesOf#Syntax\n * @param {Array<string>} locales\n * @param {{localeMatcher: string}=} opt_options\n * @return {Array<string>}\n */\nIntl.RelativeTimeFormat.supportedLocalesOf = function(locales, opt_options) {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/format#Syntax\n * @param {number} value\n * @param {string} unit\n * @return {string}\n */\nIntl.RelativeTimeFormat.prototype.format = function(value, unit) {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/formatToParts#Syntax\n * @param {number} value\n * @param {string} unit\n * @return {Array<string>}\n */\nIntl.RelativeTimeFormat.prototype.formatToParts = function(value, unit) {};\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/resolvedOptions#Syntax\n * @return {{locale: string, pluralCategories: Array<string>, type: string}}\n */\nIntl.RelativeTimeFormat.prototype.resolvedOptions = function() {};\n',
  853. "externs/fetchapi.js":"/*\n * Copyright 2014 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Definitions of the fetch api.\n *\n * This api is still in development and not yet stable. Use at your\n * own risk.\n *\n * Based on Living Standard \u2014 Last Updated 17 August 2016\n *\n * @see https://fetch.spec.whatwg.org/\n * @externs\n */\n\n\n/**\n * @typedef {string}\n * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy\n * Possible values: '', 'no-referrer', 'no-referrer-when-downgrade',\n * 'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin',\n * 'strict-origin-when-cross-origin', 'unsafe-url'\n */\nvar ReferrerPolicy;\n\n\n/**\n * @typedef {!Headers|!Array<!Array<string>>|!Object<string,string>}\n * @see https://fetch.spec.whatwg.org/#typedefdef-headersinit\n */\nvar HeadersInit;\n\n\n/**\n * @param {!HeadersInit=} opt_headersInit\n * @constructor\n * @implements {Iterable<!Array<string>>}\n * @see https://fetch.spec.whatwg.org/#headers\n */\nfunction Headers(opt_headersInit) {}\n\n/**\n * @param {string} name\n * @param {string} value\n * @return {undefined}\n */\nHeaders.prototype.append = function(name, value) {};\n\n/**\n * @param {string} name\n * @return {undefined}\n */\nHeaders.prototype.delete = function(name) {};\n\n/** @return {!IteratorIterable<!Array<string>>} */\nHeaders.prototype.entries = function() {};\n\n/**\n * @param {string} name\n * @return {?string}\n */\nHeaders.prototype.get = function(name) {};\n\n/**\n * @param {string} name\n * @return {!Array<string>}\n */\nHeaders.prototype.getAll = function(name) {};\n\n/**\n * @param {string} name\n * @return {boolean}\n */\nHeaders.prototype.has = function(name) {};\n\n/** @return {!IteratorIterable<string>} */\nHeaders.prototype.keys = function() {};\n\n/**\n * @param {string} name\n * @param {string} value\n * @return {undefined}\n */\nHeaders.prototype.set = function(name, value) {};\n\n/** @return {!Iterator<string>} */\nHeaders.prototype.values = function() {};\n\n/** @return {!Iterator<!Array<string>>} */\nHeaders.prototype[Symbol.iterator] = function() {};\n\n\n/**\n * @typedef {\n * !Blob|!BufferSource|!FormData|!URLSearchParams|!ReadableStream|string}\n * @see https://fetch.spec.whatwg.org/#bodyinit\n */\nvar BodyInit;\n\n\n/**\n * @typedef {!BodyInit|!ReadableStream}\n * @see https://fetch.spec.whatwg.org/#responsebodyinit\n */\nvar ResponseBodyInit;\n\n\n/**\n * @interface\n * @see https://fetch.spec.whatwg.org/#body\n */\nfunction Body() {};\n\n/** @type {boolean} */\nBody.prototype.bodyUsed;\n\n/** @return {!Promise<!ArrayBuffer>} */\nBody.prototype.arrayBuffer = function() {};\n\n/** @return {!Promise<!Blob>} */\nBody.prototype.blob = function() {};\n\n/** @return {!Promise<!FormData>} */\nBody.prototype.formData = function() {};\n\n/** @return {!Promise<*>} */\nBody.prototype.json = function() {};\n\n/** @return {!Promise<string>} */\nBody.prototype.text = function() {};\n\n\n/**\n * @typedef {!Request|string}\n * @see https://fetch.spec.whatwg.org/#requestinfo\n */\nvar RequestInfo;\n\n\n/**\n * @param {!RequestInfo} input\n * @param {!RequestInit=} opt_init\n * @constructor\n * @implements {Body}\n * @see https://fetch.spec.whatwg.org/#request\n */\nfunction Request(input, opt_init) {}\n\n/** @override */\nRequest.prototype.bodyUsed;\n\n/** @override */\nRequest.prototype.arrayBuffer = function() {};\n\n/** @override */\nRequest.prototype.blob = function() {};\n\n/** @override */\nRequest.prototype.formData = function() {};\n\n/** @override */\nRequest.prototype.json = function() {};\n\n/** @override */\nRequest.prototype.text = function() {};\n\n/** @type {string} */\nRequest.prototype.method;\n\n/** @type {string} */\nRequest.prototype.url;\n\n/** @type {!Headers} */\nRequest.prototype.headers;\n\n/** @type {!FetchRequestType} */\nRequest.prototype.type;\n\n/** @type {!RequestDestination} */\nRequest.prototype.destination;\n\n/** @type {string} */\nRequest.prototype.referrer;\n\n/** @type {!RequestMode} */\nRequest.prototype.mode;\n\n/** @type {!RequestCredentials} */\nRequest.prototype.credentials;\n\n/** @type {!RequestCache} */\nRequest.prototype.cache;\n\n/** @type {!RequestRedirect} */\nRequest.prototype.redirect;\n\n/** @type {string} */\nRequest.prototype.integrity;\n\n/** @type {boolean} */\nRequest.prototype.isHistoryNavigation;\n\n/** @type {(undefined|boolean)} */\nRequest.prototype.keepalive;\n\n/** @return {!Request} */\nRequest.prototype.clone = function() {};\n\n\n/**\n * @record\n * @see https://fetch.spec.whatwg.org/#requestinit\n */\nfunction RequestInit() {};\n\n/** @type {(undefined|string)} */\nRequestInit.prototype.method;\n\n/** @type {(undefined|!HeadersInit)} */\nRequestInit.prototype.headers;\n\n/** @type {(undefined|?BodyInit)} */\nRequestInit.prototype.body;\n\n/** @type {(undefined|string)} */\nRequestInit.prototype.referrer;\n\n/** @type {(undefined|!ReferrerPolicy)} */\nRequestInit.prototype.referrerPolicy;\n\n/** @type {(undefined|!RequestMode)} */\nRequestInit.prototype.mode;\n\n/** @type {(undefined|!RequestCredentials)} */\nRequestInit.prototype.credentials;\n\n/** @type {(undefined|!RequestCache)} */\nRequestInit.prototype.cache;\n\n/** @type {(undefined|!RequestRedirect)} */\nRequestInit.prototype.redirect;\n\n/** @type {(undefined|string)} */\nRequestInit.prototype.integrity;\n\n/** @type {(undefined|!AbortSignal)} */\nRequestInit.prototype.signal;\n\n/** @type {(undefined|boolean)} */\nRequestInit.prototype.keepalive;\n\n/** @type {(undefined|null)} */\nRequestInit.prototype.window;\n\n/**\n * @typedef {string}\n * @see https://fetch.spec.whatwg.org/#requesttype\n * Possible values: '', 'audio', 'font', 'image', 'script', 'style',\n * 'track', 'video'\n */\nvar FetchRequestType;\n\n\n/**\n * @typedef {string}\n * @see https://fetch.spec.whatwg.org/#requestdestination\n * Possible values: '', 'document', 'embed', 'font', 'image', 'manifest',\n * 'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker',\n * 'style', 'worker', 'xslt'\n */\nvar RequestDestination;\n\n\n/**\n * @typedef {string}\n * @see https://fetch.spec.whatwg.org/#requestmode\n * Possible values: 'navigate', 'same-origin', 'no-cors', 'cors'\n */\nvar RequestMode ;\n\n\n/**\n * @typedef {string}\n * @see https://fetch.spec.whatwg.org/#requestcredentials\n * Possible values: 'omit', 'same-origin', 'include'\n */\nvar RequestCredentials;\n\n\n/**\n * @typedef {string}\n * @see https://fetch.spec.whatwg.org/#requestcache\n * Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache',\n * 'only-if-cached'\n */\nvar RequestCache;\n\n\n/**\n * @typedef {string}\n * @see https://fetch.spec.whatwg.org/#requestredirect\n * Possible values: 'follow', 'error', 'manual'\n */\nvar RequestRedirect;\n\n\n/**\n * @param {?ResponseBodyInit=} opt_body\n * @param {!ResponseInit=} opt_init\n * @constructor\n * @implements {Body}\n * @see https://fetch.spec.whatwg.org/#response\n */\nfunction Response(opt_body, opt_init) {}\n\n/** @return {!Response} */\nResponse.error = function() {};\n\n/**\n * @param {string} url\n * @param {number=} opt_status\n * @return {!Response}\n */\nResponse.redirect = function(url, opt_status) {};\n\n/** @override */\nResponse.prototype.bodyUsed;\n\n/** @override */\nResponse.prototype.arrayBuffer = function() {};\n\n/** @override */\nResponse.prototype.blob = function() {};\n\n/** @override */\nResponse.prototype.formData = function() {};\n\n/** @override */\nResponse.prototype.json = function() {};\n\n/** @override */\nResponse.prototype.text = function() {};\n\n/** @type {!ResponseType} */\nResponse.prototype.type;\n\n/** @type {string} */\nResponse.prototype.url;\n\n/** @type {boolean} */\nResponse.prototype.redirected;\n\n/** @type {number} */\nResponse.prototype.status;\n\n/** @type {boolean} */\nResponse.prototype.ok;\n\n/** @type {string} */\nResponse.prototype.statusText;\n\n/** @type {!Headers} */\nResponse.prototype.headers;\n\n/** @type {?ReadableStream} */\nResponse.prototype.body;\n\n/** @type {!Promise<!Headers>} */\nResponse.prototype.trailer;\n\n/** @return {!Response} */\nResponse.prototype.clone = function() {};\n\n\n/**\n * @record\n * @see https://fetch.spec.whatwg.org/#responseinit\n */\nfunction ResponseInit() {};\n\n/** @type {(undefined|number)} */\nResponseInit.prototype.status;\n\n/** @type {(undefined|string)} */\nResponseInit.prototype.statusText;\n\n/** @type {(undefined|!HeadersInit)} */\nResponseInit.prototype.headers;\n\n\n/**\n * @typedef {string}\n * @see https://fetch.spec.whatwg.org/#responsetype\n * Possible values: 'basic', 'cors', 'default', 'error', 'opaque',\n * 'opaqueredirect'\n */\nvar ResponseType;\n\n/**\n * @param {!RequestInfo} input\n * @param {!RequestInit=} opt_init\n * @return {!Promise<!Response>}\n * @see https://fetch.spec.whatwg.org/#fetch-method\n */\nfunction fetch(input, opt_init) {}\n\n/**\n * @param {!RequestInfo} input\n * @param {!RequestInit=} opt_init\n * @return {!Promise<!Response>}\n * @see https://fetch.spec.whatwg.org/#fetch-method\n */\nWindow.prototype.fetch = function(input, opt_init) {};\n\n/**\n * @param {!RequestInfo} input\n * @param {!RequestInit=} opt_init\n * @return {!Promise<!Response>}\n * @see https://fetch.spec.whatwg.org/#fetch-method\n */\nWorkerGlobalScope.prototype.fetch = function(input, opt_init) {};\n\n/**\n * if WorkerOptions.type = 'module', it specifies how `scriptURL` is fetched.\n * WorkerOptions is defined in html5.js.\n * @type {!RequestCredentials|undefined}\n */\nWorkerOptions.prototype.credentials;\n",
  854. "externs/streamsapi.js":'/*\n * Copyright 2015 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @fileoverview Streams API definitions\n *\n * Based on Living Standard \u2014 Last Updated 5 August 2016\n * https://streams.spec.whatwg.org/commit-snapshots/34ecaadbcce8df9943d7a2cdb7fca4dc25914df4/\n *\n * @see https://streams.spec.whatwg.org/\n * @externs\n */\n\n\n/** @typedef {{ value:*, done:boolean }} */\nvar IteratorResult;\n\n\n/**\n * @typedef {!CountQueuingStrategy|!ByteLengthQueuingStrategy|{\n * size: (undefined|function(*): number),\n * highWaterMark: (number|undefined),\n * }}\n */\nvar QueuingStrategy;\n\n/**\n * The TransformStreamDefaultController class has methods that allow\n * manipulation of the associated ReadableStream and WritableStream.\n *\n * This class cannot be directly constructed and is instead passed by the\n * TransformStream to the methods of its transformer.\n *\n * @interface\n * @see https://streams.spec.whatwg.org/#ts-default-controller-class\n */\nfunction TransformStreamDefaultController() {};\n\n/**\n * @type {number}\n * @see https://streams.spec.whatwg.org/#ts-default-controller-desired-size\n */\nTransformStreamDefaultController.prototype.desiredSize;\n\n/**\n * @param {*} chunk\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#ts-default-controller-enqueue\n */\nTransformStreamDefaultController.prototype.enqueue = function(chunk) {};\n\n/**\n * @param {*} reason\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#ts-default-controller-error\n */\nTransformStreamDefaultController.prototype.error = function(reason) {};\n\n/**\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#ts-default-controller-terminate\n */\nTransformStreamDefaultController.prototype.terminate = function() {};\n\n\n/**\n * @record\n * @see https://streams.spec.whatwg.org/#transformer-api\n */\nfunction TransformStreamTransformer() {};\n\n/**\n * @type {(undefined|\n * function(!TransformStreamDefaultController):(!IThenable<*>|undefined))}\n */\nTransformStreamTransformer.prototype.start;\n\n/**\n * @type {(undefined|\n * function(*,\n * !TransformStreamDefaultController):(!IThenable<*>|undefined))}\n */\nTransformStreamTransformer.prototype.transform;\n\n/**\n * @type {(undefined|\n * function(!TransformStreamDefaultController):(!IThenable<*>|undefined))}\n */\nTransformStreamTransformer.prototype.flush;\n\n\n/**\n * A transform stream (https://streams.spec.whatwg.org/#transform-stream).\n * @record\n */\nfunction ITransformStream() {};\n\n/** @type {!WritableStream} */\nITransformStream.prototype.writable;\n\n/** @type {!ReadableStream} */\nITransformStream.prototype.readable;\n\n/**\n * @param {!TransformStreamTransformer=} transformer\n * @param {!QueuingStrategy=} writableStrategy\n * @param {!QueuingStrategy=} readableStrategy\n * @constructor\n * @implements ITransformStream\n * @see https://streams.spec.whatwg.org/#ts-class\n */\nfunction TransformStream(transformer, writableStrategy, readableStrategy) {};\n\n/** @type {!WritableStream} */\nTransformStream.prototype.writable;\n\n/** @type {!ReadableStream} */\nTransformStream.prototype.readable;\n\n/**\n * @record\n */\nfunction PipeOptions() {};\n\n/** @type {undefined|boolean} */\nPipeOptions.prototype.preventClose;\n\n/** @type {undefined|boolean} */\nPipeOptions.prototype.preventAbort;\n\n/** @type {undefined|boolean} */\nPipeOptions.prototype.preventCancel;\n\n\n/**\n * @record\n */\nfunction ReadableStreamSource() {};\n\n/**\n * @type {(undefined|\n * function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\n */\nReadableStreamSource.prototype.start;\n\n/**\n * @type {(undefined|\n * function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\n */\nReadableStreamSource.prototype.pull;\n\n/** @type {(undefined|function(*):(!Promise<*>|undefined))} */\nReadableStreamSource.prototype.cancel;\n\n/** @type {(undefined|string)} */\nReadableStreamSource.prototype.type;\n\n/** @type {(undefined|number)} */\nReadableStreamSource.prototype.autoAllocateChunkSize;\n\n/**\n * @record\n */\nfunction ReadableStreamIteratorOptions() {};\n\n/** @type {undefined|boolean} */\nReadableStreamIteratorOptions.prototype.preventCancel;\n\n/**\n * @param {!ReadableStreamSource=} opt_underlyingSource\n * @param {!QueuingStrategy=} opt_queuingStrategy\n * @constructor\n * @see https://streams.spec.whatwg.org/#rs-class\n */\nfunction ReadableStream(opt_underlyingSource, opt_queuingStrategy) {};\n\n/**\n * @type {boolean}\n * @see https://streams.spec.whatwg.org/#rs-locked\n */\nReadableStream.prototype.locked;\n\n/**\n * @param {*} reason\n * @return {!Promise<void>}\n * @see https://streams.spec.whatwg.org/#rs-cancel\n */\nReadableStream.prototype.cancel = function(reason) {};\n\n/**\n * @param {!ReadableStreamIteratorOptions=} options\n * @return {!AsyncIterator}\n * @see https://streams.spec.whatwg.org/#rs-get-iterator\n */\nReadableStream.prototype.getIterator = function(options) {};\n\n/**\n * @param {{ mode:(undefined|string) }=} opt_options\n * @return {(!ReadableStreamDefaultReader|!ReadableStreamBYOBReader)}\n * @see https://streams.spec.whatwg.org/#rs-get-reader\n */\nReadableStream.prototype.getReader = function(opt_options) {};\n\n/**\n * @param {!ITransformStream} transform\n * @param {!PipeOptions=} opt_options\n * @return {!ReadableStream}\n * @see https://streams.spec.whatwg.org/#rs-pipe-through\n */\nReadableStream.prototype.pipeThrough = function(transform, opt_options) {};\n\n/**\n * @param {!WritableStream} dest\n * @param {!PipeOptions=} opt_options\n * @return {!Promise<void>}\n * @see https://streams.spec.whatwg.org/#rs-pipe-to\n */\nReadableStream.prototype.pipeTo = function(dest, opt_options) {};\n\n/**\n * @return {!Array<!ReadableStream>}\n * @see https://streams.spec.whatwg.org/#rs-tee\n */\nReadableStream.prototype.tee = function() {};\n\n/**\n * @param {!ReadableStreamIteratorOptions=} options\n * @return {!AsyncIterator}\n * @see https://streams.spec.whatwg.org/#rs-asynciterator\n */\nReadableStream.prototype[Symbol.asyncIterator] = function(options) {};\n\n/**\n * The ReadableStreamDefaultReader constructor is generally not meant to be used directly;\n * instead, a stream\u2019s getReader() method should be used.\n *\n * @interface\n * @see https://streams.spec.whatwg.org/#default-reader-class\n */\nfunction ReadableStreamDefaultReader() {};\n\n/**\n * @type {!Promise<void>}\n * @see https://streams.spec.whatwg.org/#default-reader-closed\n */\nReadableStreamDefaultReader.prototype.closed;\n\n/**\n * @param {*} reason\n * @return {!Promise<*>}\n * @see https://streams.spec.whatwg.org/#default-reader-cancel\n */\nReadableStreamDefaultReader.prototype.cancel = function(reason) {};\n\n/**\n * @return {!Promise<!IteratorResult>}\n * @see https://streams.spec.whatwg.org/#default-reader-read\n */\nReadableStreamDefaultReader.prototype.read = function() {};\n\n/**\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#default-reader-release-lock\n */\nReadableStreamDefaultReader.prototype.releaseLock = function() {};\n\n\n/**\n * The ReadableStreamBYOBReader constructor is generally not meant to be used\n * directly; instead, a stream\u2019s getReader() method should be used.\n *\n * @interface\n * @see https://streams.spec.whatwg.org/#byob-reader-class\n */\nfunction ReadableStreamBYOBReader() {};\n\n/**\n * @type {!Promise<void>}\n * @see https://streams.spec.whatwg.org/#byob-reader-closed\n */\nReadableStreamBYOBReader.prototype.closed;\n\n/**\n * @param {*} reason\n * @return {!Promise<*>}\n * @see https://streams.spec.whatwg.org/#byob-reader-cancel\n */\nReadableStreamBYOBReader.prototype.cancel = function(reason) {};\n\n/**\n * @param {!ArrayBufferView} view\n * @return {!Promise<!IteratorResult>}\n * @see https://streams.spec.whatwg.org/#byob-reader-read\n */\nReadableStreamBYOBReader.prototype.read = function(view) {};\n\n/**\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#byob-reader-release-lock\n */\nReadableStreamBYOBReader.prototype.releaseLock = function() {};\n\n\n/**\n * The ReadableStreamDefaultController constructor cannot be used directly;\n * it only works on a ReadableStream that is in the middle of being constructed.\n *\n * @interface\n * @see https://streams.spec.whatwg.org/#rs-default-controller-class\n */\nfunction ReadableStreamDefaultController() {};\n\n/**\n * @type {number}\n * @see https://streams.spec.whatwg.org/#rs-default-controller-desired-size\n */\nReadableStreamDefaultController.prototype.desiredSize;\n\n/**\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rs-default-controller-close\n */\nReadableStreamDefaultController.prototype.close = function() {};\n\n/**\n * @param {*} chunk\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rs-default-controller-enqueue\n */\nReadableStreamDefaultController.prototype.enqueue = function(chunk) {};\n\n/**\n * @param {*} err\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rs-default-controller-error\n */\nReadableStreamDefaultController.prototype.error = function(err) {};\n\n\n/**\n * The ReadableByteStreamController constructor cannot be used directly;\n * it only works on a ReadableStream that is in the middle of being constructed.\n *\n * @interface\n * @see https://streams.spec.whatwg.org/#rbs-controller-class\n */\nfunction ReadableByteStreamController() {};\n\n/**\n * @type {!ReadableStreamBYOBRequest}\n * @see https://streams.spec.whatwg.org/#rbs-controller-byob-request\n */\nReadableByteStreamController.prototype.byobRequest;\n\n/**\n * @type {number}\n * @see https://streams.spec.whatwg.org/#rbs-controller-desired-size\n */\nReadableByteStreamController.prototype.desiredSize;\n\n/**\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rbs-controller-close\n */\nReadableByteStreamController.prototype.close = function() {};\n\n/**\n * @param {!ArrayBufferView} chunk\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rbs-controller-enqueue\n */\nReadableByteStreamController.prototype.enqueue = function(chunk) {};\n\n/**\n * @param {*} err\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rbs-controller-error\n */\nReadableByteStreamController.prototype.error = function(err) {};\n\n\n/**\n * @interface\n * @see https://streams.spec.whatwg.org/#rs-byob-request-class\n */\nfunction ReadableStreamBYOBRequest() {};\n\n/**\n * @type {!ArrayBufferView}\n * @see https://streams.spec.whatwg.org/#rs-byob-request-view\n */\nReadableStreamBYOBRequest.prototype.view;\n\n/**\n * @param {number} bytesWritten\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond\n */\nReadableStreamBYOBRequest.prototype.respond = function(bytesWritten) {};\n\n/**\n * @param {!ArrayBufferView} view\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond-with-new-view\n */\nReadableStreamBYOBRequest.prototype.respondWithNewView = function(view) {};\n\n\n/**\n * @record\n */\nfunction WritableStreamSink() {};\n\n/** @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\nWritableStreamSink.prototype.start;\n\n/** @type {(undefined|function(*, !WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\nWritableStreamSink.prototype.write;\n\n/** @type {(undefined|function():(!IThenable<*>|undefined))} */\nWritableStreamSink.prototype.close;\n\n/** @type {(undefined|function(*):(!IThenable<*>|undefined))} */\nWritableStreamSink.prototype.abort;\n\n\n/**\n * @param {!WritableStreamSink=} opt_underlyingSink\n * @param {!QueuingStrategy=} opt_queuingStrategy\n * @constructor\n * @see https://streams.spec.whatwg.org/#ws-class\n */\nfunction WritableStream(opt_underlyingSink, opt_queuingStrategy) {};\n\n/**\n * @type {boolean}\n * @see https://streams.spec.whatwg.org/#ws-locked\n */\nWritableStream.prototype.locked;\n\n/**\n * @param {*} reason\n * @return {!Promise<undefined>}\n * @see https://streams.spec.whatwg.org/#ws-abort\n */\nWritableStream.prototype.abort = function(reason) {};\n\n/**\n * @return {!Promise<undefined>}\n * @see https://streams.spec.whatwg.org/#ws-close\n */\nWritableStream.prototype.close = function() {};\n\n/**\n * @return {!WritableStreamDefaultWriter}\n * @see https://streams.spec.whatwg.org/#ws-get-writer\n */\nWritableStream.prototype.getWriter = function() {};\n\n\n/**\n * @interface\n * @see https://streams.spec.whatwg.org/#default-writer-class\n */\nfunction WritableStreamDefaultWriter() {};\n\n/**\n * @type {!Promise<undefined>}\n * @see https://streams.spec.whatwg.org/#default-writer-closed\n */\nWritableStreamDefaultWriter.prototype.closed;\n\n/**\n * @type {number}\n * @see https://streams.spec.whatwg.org/#default-writer-desiredSize\n */\nWritableStreamDefaultWriter.prototype.desiredSize;\n\n/**\n * @type {!Promise<number>}\n * @see https://streams.spec.whatwg.org/#default-writer-ready\n */\nWritableStreamDefaultWriter.prototype.ready;\n\n/**\n * @param {*} reason\n * @return {!Promise<undefined>}\n * @see https://streams.spec.whatwg.org/#default-writer-abort\n */\nWritableStreamDefaultWriter.prototype.abort = function(reason) {};\n\n/**\n * @return {!Promise<undefined>}\n * @see https://streams.spec.whatwg.org/#default-writer-close\n */\nWritableStreamDefaultWriter.prototype.close = function() {};\n\n/**\n * @return {undefined}\n * @see https://streams.spec.whatwg.org/#default-writer-release-lock\n */\nWritableStreamDefaultWriter.prototype.releaseLock = function() {};\n\n/**\n * @param {*} chunk\n * @return {!Promise<undefined>}\n * @see https://streams.spec.whatwg.org/#default-writer-write\n */\nWritableStreamDefaultWriter.prototype.write = function(chunk) {};\n\n\n/**\n * The WritableStreamDefaultController constructor cannot be used directly;\n * it only works on a WritableStream that is in the middle of being constructed.\n *\n * @interface\n * @see https://streams.spec.whatwg.org/#ws-default-controller-class\n */\nfunction WritableStreamDefaultController() {};\n\n/**\n * @param {*} err\n * @return {!Promise<undefined>}\n * @see https://streams.spec.whatwg.org/#ws-default-controller-error\n */\nWritableStreamDefaultController.prototype.error = function(err) {};\n\n\n/**\n * @param {{ highWaterMark:number }} config\n * @constructor\n * @see https://streams.spec.whatwg.org/#blqs-class\n */\nfunction ByteLengthQueuingStrategy(config) {}\n\n/**\n * If we don\'t want to be strict we can define chunk as {*}\n * and return as {number|undefined}\n *\n * @param {{ byteLength:number }} chunk\n * @return {number}\n * @see https://streams.spec.whatwg.org/#blqs-size\n */\nByteLengthQueuingStrategy.prototype.size = function(chunk) {};\n\n\n/**\n * @param {{ highWaterMark:number }} config\n * @constructor\n * @see https://streams.spec.whatwg.org/#cqs-class\n */\nfunction CountQueuingStrategy(config) {}\n\n/**\n * @param {*} chunk\n * @return {number}\n * @see https://streams.spec.whatwg.org/#cqs-size\n */\nCountQueuingStrategy.prototype.size = function(chunk) {};\n',
  855. "externs/web_animations.js":"/*\n * Copyright 2016 The Closure Compiler authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * @fileoverview Basic externs for the Web Animations API. This is not\n * nessecarily exhaustive. For more information, see the spec-\n * https://w3c.github.io/web-animations\n * @externs\n */\n\n\n/**\n * @param {!Object} frames\n * @param {(number|KeyframeAnimationOptions)=} options\n * @return {!Animation}\n * @see https://www.w3.org/TR/web-animations/#the-animatable-interface-mixin\n */\nElement.prototype.animate = function(frames, options) {};\n\n/**\n * @return {!Array<!Animation>}\n */\nElement.prototype.getAnimations = function() {};\n\n\n/**\n * @constructor\n * @param {AnimationEffectReadOnly=} effect\n * @param {AnimationTimeline=} timeline\n * @implements {EventTarget}\n */\nvar Animation = function(effect, timeline) {};\n\n/** @override */\nAnimation.prototype.addEventListener = function(type, listener, options) {};\n\n/** @override */\nAnimation.prototype.removeEventListener = function(type, listener, options) {};\n\n/** @override */\nAnimation.prototype.dispatchEvent = function(evt) {};\n\n/**\n * @return {undefined}\n */\nAnimation.prototype.cancel = function() {};\n\n/**\n * @return {undefined}\n */\nAnimation.prototype.finish = function() {};\n\n/**\n * @return {undefined}\n */\nAnimation.prototype.pause = function() {};\n\n/**\n * @return {undefined}\n */\nAnimation.prototype.play = function() {};\n\n/**\n * @return {undefined}\n */\nAnimation.prototype.reverse = function() {};\n\n/** @type {number} */\nAnimation.prototype.currentTime;\n\n/** @type {AnimationEffectReadOnly} */\nAnimation.prototype.effect;\n\n/** @type {!Promise<void>} */\nAnimation.prototype.finished;\n\n/** @type {string} */\nAnimation.prototype.id;\n\n/** @type {?function(!Event)} */\nAnimation.prototype.oncancel;\n\n/** @type {?function(!Event)} */\nAnimation.prototype.onfinish;\n\n/** @type {number} */\nAnimation.prototype.playbackRate;\n\n/** @type {string} */\nAnimation.prototype.playState;\n\n/** @type {!Promise<void>} */\nAnimation.prototype.ready;\n\n/** @type {number} */\nAnimation.prototype.startTime;\n\n/** @type {!AnimationTimeline} */\nAnimation.prototype.timeline;\n\n\n/**\n * @interface\n */\nvar AnimationEffectReadOnly = function() {};\n\n/**\n * @return {!ComputedTimingProperties}\n */\nAnimationEffectReadOnly.prototype.getComputedTiming = function() {};\n\n/** @type {!AnimationEffectTiming} */\nAnimationEffectReadOnly.prototype.timing;\n\n\n/**\n * @constructor\n * @param {Element} target\n * @param {(!Array<!Object<string, *>>|!Object<string, !Array<*>>)} frames\n * @param {(number|AnimationEffectTimingProperties)=} options\n * @implements {AnimationEffectReadOnly}\n */\nvar KeyframeEffectReadOnly = function(target, frames, options) {};\n\n/** @override */\nKeyframeEffectReadOnly.prototype.getComputedTiming = function() {};\n\n/** @override */\nKeyframeEffectReadOnly.prototype.timing;\n\n\n/**\n * @constructor\n * @param {Element} target\n * @param {(!Array<!Object<string, *>>|!Object<string, !Array<*>>)} frames\n * @param {(number|AnimationEffectTimingProperties)=} options\n * @extends {KeyframeEffectReadOnly}\n */\nvar KeyframeEffect = function(target, frames, options) {};\n\n\n/**\n * @record\n */\nvar AnimationEffectTimingProperties = function() {};\n\n/** @type {number|undefined} */\nAnimationEffectTimingProperties.prototype.delay;\n\n/** @type {number|undefined} */\nAnimationEffectTimingProperties.prototype.endDelay;\n\n/** @type {string|undefined} */\nAnimationEffectTimingProperties.prototype.fill;\n\n/** @type {number|undefined} */\nAnimationEffectTimingProperties.prototype.iterationStart;\n\n/** @type {number|undefined} */\nAnimationEffectTimingProperties.prototype.iterations;\n\n/** @type {number|string|undefined} */\nAnimationEffectTimingProperties.prototype.duration;\n\n/** @type {string|undefined} */\nAnimationEffectTimingProperties.prototype.direction;\n\n/** @type {string|undefined} */\nAnimationEffectTimingProperties.prototype.easing;\n\n/**\n * @record\n * @extends {AnimationEffectTimingProperties}\n */\nvar KeyframeEffectOptions = function() {};\n\n/**\n * Possible values: 'replace', 'accumulate'\n * @type {string|undefined}\n */\nKeyframeEffectOptions.prototype.iterationComposite;\n\n/**\n * Possible values: 'replace', 'add', 'accumulate'\n * @type {string|undefined}\n */\nKeyframeEffectOptions.prototype.composite;\n\n/**\n * @record\n * @extends {KeyframeEffectOptions}\n */\nvar KeyframeAnimationOptions = function() {};\n\n/** @type {string|undefined} */\nKeyframeAnimationOptions.prototype.id;\n\n\n/**\n * @record\n * @extends {AnimationEffectTimingProperties}\n */\nvar ComputedTimingProperties = function() {};\n\n/** @type {number} */\nComputedTimingProperties.prototype.endTime;\n\n/** @type {number} */\nComputedTimingProperties.prototype.activeDuration;\n\n/** @type {?number} */\nComputedTimingProperties.prototype.localTime;\n\n/** @type {?number} */\nComputedTimingProperties.prototype.progress;\n\n/** @type {?number} */\nComputedTimingProperties.prototype.currentIteration;\n\n\n/**\n * @interface\n */\nvar AnimationEffectTimingReadOnly = function() {};\n\n/** @type {number} */\nAnimationEffectTimingReadOnly.prototype.delay;\n\n/** @type {number} */\nAnimationEffectTimingReadOnly.prototype.endDelay;\n\n/** @type {string} */\nAnimationEffectTimingReadOnly.prototype.fill;\n\n/** @type {number} */\nAnimationEffectTimingReadOnly.prototype.iterationStart;\n\n/** @type {number} */\nAnimationEffectTimingReadOnly.prototype.iterations;\n\n/** @type {number|string} */\nAnimationEffectTimingReadOnly.prototype.duration;\n\n/** @type {string} */\nAnimationEffectTimingReadOnly.prototype.direction;\n\n/** @type {string} */\nAnimationEffectTimingReadOnly.prototype.easing;\n\n\n/**\n * @interface\n * @extends {AnimationEffectTimingReadOnly}\n */\nvar AnimationEffectTiming = function() {};\n\n\n/**\n * @interface\n */\nvar AnimationTimeline = function() {};\n\n/** @type {?number} */\nAnimationTimeline.prototype.currentTime;\n\n\n/**\n * @constructor\n * @implements {AnimationTimeline}\n */\nvar DocumentTimeline = function() {};\n\n/** @override */\nDocumentTimeline.prototype.currentTime;\n\n\n/** @type {!DocumentTimeline} */\nDocument.prototype.timeline;\n\n/**\n * Externs for the Web Animations API (Level 2 / Groups).\n *\n * This defines externs for the \"-next\" version of the Web Animations API\n * polyfill found online at:\n * https://github.com/web-animations/web-animations.js\n *\n * These features are NOT natively implemented in browsers and are not clearly\n * part of the official spec. This is NOT intended to be exhaustive, and\n * requires the base externs from web-animations.js.\n *\n */\n\n\n/** @type {Element} */\nKeyframeEffectReadOnly.prototype.target;\n\n/** @type {?function(number, !KeyframeEffect, !Animation)|undefined} */\nKeyframeEffectReadOnly.prototype.onsample;\n\n\n/**\n * @param {!AnimationEffectReadOnly} effect\n * @return {!Animation}\n */\nDocumentTimeline.prototype.play = function(effect) {};\n\n/**\n * @return {!Array<!Animation>}\n */\nDocumentTimeline.prototype.getAnimations = function() {};\n\n\n/**\n * @param {!Array<!AnimationEffectReadOnly>} children\n * @param {AnimationEffectTimingProperties=} timing\n * @constructor\n * @implements {AnimationEffectReadOnly}\n */\nvar SequenceEffect = function(children, timing) {};\n\n/** @override */\nSequenceEffect.prototype.getComputedTiming = function() {};\n\n/** @override */\nSequenceEffect.prototype.timing;\n\n/** @type {!Array<!AnimationEffectReadOnly>} */\nSequenceEffect.prototype.children;\n\n\n/**\n * @param {!Array<!AnimationEffectReadOnly>} children\n * @param {AnimationEffectTimingProperties=} timing\n * @constructor\n * @implements {AnimationEffectReadOnly}\n */\nvar GroupEffect = function(children, timing) {};\n\n/** @override */\nGroupEffect.prototype.getComputedTiming = function() {};\n\n/** @override */\nGroupEffect.prototype.timing;\n\n/** @type {!Array<!AnimationEffectReadOnly>} */\nGroupEffect.prototype.children;\n",
  856. "externs/whatwg_console.js":'/*\n * Copyright 2019 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for console debugging facilities.\n * https://console.spec.whatwg.org/\n * @externs\n */\n\n/**\n * @constructor\n * @see https://console.spec.whatwg.org/\n */\nfunction Console() {};\n\n/**\n * If condition is false, perform Logger("error", data).\n * @param {*} condition\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.assert = function(condition, var_data) {};\n\n/**\n * @return {undefined}\n */\nConsole.prototype.clear = function() {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.debug = function(var_data) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.error = function(var_data) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.info = function(var_data) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.log = function(var_data) {};\n\n/**\n * @param {!Object} tabularData\n * @param {*=} properties\n * @return {undefined}\n */\nConsole.prototype.table = function(tabularData, properties) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.trace = function(var_data) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.warn = function(var_data) {};\n\n/**\n * @param {*} item\n * @return {undefined}\n */\nConsole.prototype.dir = function(item) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.dirxml = function(var_data) {};\n\n/**\n * @param {string=} label\n * @return {undefined}\n */\nConsole.prototype.count = function(label) {};\n\n/**\n * @param {string=} label\n * @return {undefined}\n */\nConsole.prototype.countReset = function(label) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.group = function(var_data) {};\n\n/**\n * @param {...*} var_data\n * @return {undefined}\n */\nConsole.prototype.groupCollapsed = function(var_data) {};\n\n/**\n * @return {undefined}\n */\nConsole.prototype.groupEnd = function() {};\n\n/**\n * @param {string} label\n * @return {undefined}\n */\nConsole.prototype.time = function(label) {};\n\n/**\n * @param {string} label\n * @param {...*} data\n * @return {undefined}\n */\nConsole.prototype.timeLog = function(label, data) {};\n\n/**\n * @param {string} label\n * @return {undefined}\n */\nConsole.prototype.timeEnd = function(label) {};\n\n/** @type {!Console} */\nWindow.prototype.console;\n\n/**\n * @type {!Console}\n * @suppress {duplicate}\n */\nvar console;\n',
  857. "externs/nonstandard_console.js":'/*\n * Copyright 2019 The Closure Compiler Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Definitions for console debugging facilities implemented in\n * various browsers but not part of https://console.spec.whatwg.org/.\n * @externs\n */\n\n/**\n * @constructor\n * @see https://cs.chromium.org/search/?q=%22interface+MemoryInfo%22+file:idl+file:WebKit+package:chromium&type=cs\n */\nfunction MemoryInfo() {};\n\n/** @type {number} */\nMemoryInfo.prototype.totalJSHeapSize;\n\n/** @type {number} */\nMemoryInfo.prototype.usedJSHeapSize;\n\n/** @type {number} */\nMemoryInfo.prototype.jsHeapSizeLimit;\n\n/**\n * @param {*} value\n * @return {undefined}\n */\nConsole.prototype.markTimeline = function(value) {};\n\n/**\n * @param {string=} title\n * @return {undefined}\n */\nConsole.prototype.profile = function(title) {};\n\n/** @type {Array<ScriptProfile>} */\nConsole.prototype.profiles;\n\n/**\n * @param {string=} title\n * @return {undefined}\n */\nConsole.prototype.profileEnd = function(title) {};\n\n/**\n * @param {*} value\n * @return {undefined}\n */\nConsole.prototype.timeStamp = function(value) {};\n\n/** @type {MemoryInfo} */\nConsole.prototype.memory;\n',
  858. "js/base.js":'/*\n * Copyright 2012 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * @fileoverview The base namespace for code injected by the compiler\n * at compile-time.\n */\n\n/** @const */\nvar $jscomp = $jscomp || {};\n\n/** @const Locals for goog.scope */\n$jscomp.scope = {};\n',
  859. "js/es6/array.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Brings in all ES6 Array polyfills.\n * @suppress {uselessCode}\n */\n'require es6/array/copywithin';\n'require es6/array/entries';\n'require es6/array/fill';\n'require es6/array/find';\n'require es6/array/findindex';\n'require es6/array/flat';\n'require es6/array/flatmap';\n'require es6/array/from';\n'require es6/array/includes';\n'require es6/array/keys';\n'require es6/array/of';\n'require es6/array/values';\n",
  860. "js/es6/array/copywithin.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.copyWithin', function(orig) {\n // requires strict mode to throw for invalid `this` or params\n 'use strict';\n\n if (orig) return orig;\n\n /**\n * Copies elements from one part of the array to another.\n *\n * @this {!IArrayLike<VALUE>}\n * @param {number} target Start index to copy elements to.\n * @param {number} start Start index to copy elements from.\n * @param {number=} opt_end Index from which to end copying.\n * @return {!IArrayLike<VALUE>} The array, with the copy performed in-place.\n * @template VALUE\n */\n var polyfill = function(target, start, opt_end) {\n var len = this.length;\n target = toInteger(target);\n start = toInteger(start);\n var end = opt_end === undefined ? len : toInteger(opt_end);\n var to = target < 0 ? Math.max(len + target, 0) : Math.min(target, len);\n var from = start < 0 ? Math.max(len + start, 0) : Math.min(start, len);\n var final = end < 0 ? Math.max(len + end, 0) : Math.min(end, len);\n if (to < from) {\n while (from < final) {\n if (from in this) {\n this[to++] = this[from++];\n } else {\n delete this[to++];\n from++;\n }\n }\n } else {\n final = Math.min(final, len + from - to);\n to += final - from;\n while (final > from) {\n if (--final in this) {\n this[--to] = this[final];\n } else {\n delete this[--to];\n }\n }\n }\n return this;\n };\n\n /**\n * @param {number} arg\n * @return {number}\n */\n function toInteger(arg) {\n var n = Number(arg);\n if (n === Infinity || n === -Infinity) {\n return n;\n }\n return n | 0;\n }\n\n return polyfill;\n}, 'es6', 'es3');\n",
  861. "js/es6/array/entries.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n'require es6/util/iteratorfromarray';\n\n$jscomp.polyfill('Array.prototype.entries', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns an iterator of [key, value] arrays, one for each entry\n * in the given array.\n *\n * @this {!IArrayLike<VALUE>}\n * @return {!IteratorIterable<!Array<number|VALUE>>}\n * @template VALUE\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function() {\n return $jscomp.iteratorFromArray(\n this, function(i, v) { return [i, v]; });\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  862. "js/es6/array/fill.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.fill', function(orig) {\n if (orig) return orig;\n\n /**\n * Fills elements of an array with a constant value.\n *\n * @this {!IArrayLike<VALUE>}\n * @param {VALUE} value Value to fill.\n * @param {number=} opt_start Start index, or zero if omitted.\n * @param {number=} opt_end End index, or length if omitted.\n * @return {!IArrayLike<VALUE>} The array, with the fill performed in-place.\n * @template VALUE\n * @suppress {reportUnknownTypes, strictPrimitiveOperators}\n */\n var polyfill = function(value, opt_start, opt_end) {\n var length = this.length || 0;\n if (opt_start < 0) {\n opt_start = Math.max(0, length + /** @type {number} */ (opt_start));\n }\n if (opt_end == null || opt_end > length) opt_end = length;\n opt_end = Number(opt_end);\n if (opt_end < 0) opt_end = Math.max(0, length + opt_end);\n for (var i = Number(opt_start || 0); i < opt_end; i++) {\n this[i] = value;\n }\n return this;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  863. "js/es6/array/find.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/findinternal';\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.find', function(orig) {\n if (orig) return orig;\n\n /**\n * Finds and returns an element that satisfies the given predicate.\n *\n * @this {!IArrayLike<VALUE>}\n * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\n * callback\n * @param {THIS=} opt_thisArg\n * @return {VALUE|undefined} The found value, or undefined.\n * @template VALUE, THIS\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function(callback, opt_thisArg) {\n return $jscomp.findInternal(this, callback, opt_thisArg).v;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  864. "js/es6/array/findindex.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/findinternal';\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.findIndex', function(orig) {\n if (orig) return orig;\n\n /**\n * Finds an element that satisfies the given predicate, returning its index.\n *\n * @this {!IArrayLike<VALUE>}\n * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\n * callback\n * @param {THIS=} opt_thisArg\n * @return {number} The found value, or undefined.\n * @template VALUE, THIS\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function(callback, opt_thisArg) {\n return $jscomp.findInternal(this, callback, opt_thisArg).i;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  865. "js/es6/array/flat.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @fileoverview @suppress {uselessCode} */\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.flat', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfills Array.prototype.flat.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat\n *\n * @param {number=} depth\n * @return {!Array<S>}\n * @this {!IArrayLike<T>}\n * @template T, S\n * @suppress {reportUnknownTypes}\n */\n var flat = function(depth) {\n // TODO(sdh): Consider respecting Symbol.species (b/121061255).\n depth = depth === undefined ? 1 : depth;\n var flattened = [];\n for (var i = 0; i < this.length; i++) {\n var element = this[i];\n if (Array.isArray(element) && depth > 0) {\n var inner = Array.prototype.flat.call(element, depth - 1);\n flattened.push.apply(flattened, inner);\n } else {\n flattened.push(element);\n }\n }\n return flattened;\n };\n\n return flat;\n}, 'es9', 'es5');\n",
  866. "js/es6/array/flatmap.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @fileoverview @suppress {uselessCode} */\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.flatMap', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfills Array.prototype.flatMap.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap\n *\n * @param {function(this: THIS, T, number, !IArrayLike<T>): !Array<S>} callback\n * @param {THIS=} thisArg\n * @return {!Array<S>}\n * @this {!IArrayLike<T>}\n * @template T, THIS, S\n * @suppress {reportUnknownTypes}\n */\n var flatMap = function(callback, thisArg) {\n var mapped = [];\n for (var i = 0; i < this.length; i++) {\n var result = callback.call(thisArg, this[i], i, this);\n if (Array.isArray(result)) {\n mapped.push.apply(mapped, result);\n } else {\n // NOTE: The specification says the callback can return a non-Array.\n // We intentionally don't include that in the type information on\n // this function or the corresponding extern in order to encourage\n // more readable code and avoid complex TTL in the type annotations,\n // but we still want to behave correctly if the callback gives us a\n // non-Array.\n mapped.push(result);\n }\n }\n return mapped;\n };\n\n return flatMap;\n}, 'es9', 'es5');\n",
  867. "js/es6/array/from.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Array.from', function(orig) {\n if (orig) return orig;\n\n /**\n * Creates a new Array from an array-like or iterable object.\n *\n * <p>Polyfills the static function Array.from(). Does not support\n * constructor inheritance (i.e. (subclass of Array).from), and\n * relies on the compiler to check the validity of inputs rather\n * than producing spec-compliant TypeErrors.\n *\n * @param {!IArrayLike<INPUT>|!Iterable<INPUT>} arrayLike\n * An array-like or iterable.\n * @param {(function(this: THIS, INPUT, number): OUTPUT)=} opt_mapFn\n * Function to call on each argument.\n * @param {THIS=} opt_thisArg\n * Object to use as 'this' when calling mapFn.\n * @return {!Array<OUTPUT>}\n * @template INPUT, OUTPUT, THIS\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function(arrayLike, opt_mapFn, opt_thisArg) {\n opt_mapFn = opt_mapFn != null ? opt_mapFn : function(x) { return x; };\n var result = [];\n // NOTE: this is cast to ? because [] on @struct is an error\n var iteratorFunction = typeof Symbol != 'undefined' && Symbol.iterator &&\n (/** @type {?} */ (arrayLike)[Symbol.iterator]);\n if (typeof iteratorFunction == 'function') {\n arrayLike = iteratorFunction.call(arrayLike);\n var next;\n var k = 0;\n while (!(next = arrayLike.next()).done) {\n result.push(\n opt_mapFn.call(/** @type {?} */ (opt_thisArg), next.value, k++));\n }\n } else {\n var len = arrayLike.length; // need to support non-iterables\n for (var i = 0; i < len; i++) {\n result.push(\n opt_mapFn.call(/** @type {?} */ (opt_thisArg), arrayLike[i], i));\n }\n }\n return result;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  868. "js/es6/array/includes.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/object/is';\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.includes', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfills Array.prototype.includes.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes\n *\n * @this {!IArrayLike<T>}\n * @param {T} searchElement\n * @param {number=} opt_fromIndex\n * @return {boolean}\n * @template T\n * @suppress {reportUnknownTypes}\n */\n var includes = function(searchElement, opt_fromIndex) {\n var array = this;\n if (array instanceof String) {\n array = /** @type {!IArrayLike} */ (String(array));\n }\n var len = array.length;\n var i = opt_fromIndex || 0;\n if (i < 0) {\n i = Math.max(i + len, 0);\n }\n for (; i < len; i++) {\n var element = array[i];\n if (element === searchElement || Object.is(element, searchElement)) {\n return true;\n }\n }\n return false;\n };\n\n return includes;\n}, 'es7', 'es3');\n",
  869. "js/es6/array/keys.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/util/iteratorfromarray';\n'require util/polyfill';\n\n$jscomp.polyfill('Array.prototype.keys', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns an iterator of keys of the given array.\n *\n * @this {!IArrayLike}\n * @return {!IteratorIterable<number>}\n */\n var polyfill = function() {\n return $jscomp.iteratorFromArray(this, function(i) { return i; });\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  870. "js/es6/array/of.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/array/from';\n'require util/polyfill';\n\n$jscomp.polyfill('Array.of', function(orig) {\n if (orig) return orig;\n\n /**\n * Creates an array from a fixed set of arguments.\n *\n * <p>Polyfills the static function Array.of(). Does not support\n * constructor inheritance (i.e. (subclass of Array).of).\n *\n * @param {...T} var_args Elements to include in the array.\n * @return {!Array<T>}\n * @template T\n */\n var polyfill = function(var_args) {\n return Array.from(arguments);\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  871. "js/es6/array/values.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/util/iteratorfromarray';\n'require util/polyfill';\n\n// NOTE: Although Array.prototype.values was added to the 2015 edition of the\n// spec, we consider it an \"ES8\" feature because many browsers which are\n// otherwise ES6-compatible, have not implemented it due to web compatibility\n// issues. See https://bugs.chromium.org/p/chromium/issues/detail?id=615873\n$jscomp.polyfill('Array.prototype.values', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns an iterator of values of the given array.\n *\n * @this {!IArrayLike<VALUE>}\n * @return {!IteratorIterable<VALUE>}\n * @template VALUE\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function() {\n return $jscomp.iteratorFromArray(this, function(k, v) { return v; });\n };\n\n return polyfill;\n}, 'es8', 'es3');\n",
  872. "js/es6/async_generator_wrapper.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Runtime logic for transpiled Async Generators.\n * @suppress {uselessCode}\n */\n'require base';\n'require es6/promise/promise';\n'require es6/symbol';\n'require es6/util/makeasynciterator';\n\n\n/** @enum {number} */\n$jscomp.AsyncGeneratorWrapper$ActionEnum = {\n /** Yield the value from the wrapper generator */\n YIELD_VALUE: 0,\n /** Yield each value from a delegate generator */\n YIELD_STAR: 1,\n /** Resolve the value as a Promise and continue execution */\n AWAIT_VALUE: 2,\n};\n\n/**\n * @param {!$jscomp.AsyncGeneratorWrapper$ActionEnum} action\n * @param {VALUE} value\n * @constructor\n * @template VALUE\n * @struct\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper$ActionRecord = function(action, value) {\n /**\n * @public\n * @const\n * @type {!$jscomp.AsyncGeneratorWrapper$ActionEnum}\n */\n this.action = action;\n\n /**\n * @public\n * @const\n * @type {VALUE}\n */\n this.value = /** @type {VALUE} */ (value);\n};\n\n/** @enum {string} */\n$jscomp.AsyncGeneratorWrapper$GeneratorMethod = {\n NEXT: 'next', THROW: 'throw', RETURN: 'return',\n};\n\n/**\n * Records the details of a call to `next()`, `throw()`, or `return()`.\n *\n * One of these objects will be created for each call.\n *\n * @param {$jscomp.AsyncGeneratorWrapper$GeneratorMethod} method\n * Method to call on generator\n * @param {?} param\n * Parameter for method called on generator\n *\n * @param {function(!IIterableResult<VALUE>)} resolve\n * Function to resolve the Promise associated with this frame.\n * @param {function(?)} reject\n * Function to reject the Promise associated with this frame.\n *\n * @constructor\n * @private\n * @template VALUE\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper$ExecutionFrame_ = function(\n method, param, resolve, reject) {\n /** @type {$jscomp.AsyncGeneratorWrapper$GeneratorMethod} */\n this.method = method;\n /** @type {?} */\n this.param = param;\n /** @type {function(!IIterableResult<VALUE>)} */\n this.resolve = resolve;\n /** @type {function(?)} */\n this.reject = reject;\n};\n\n/**\n * @param {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>} frame\n * The frame at this position in the queue\n * @param {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>} next\n * The node containing the frame to be executed after this one completes\n *\n * @constructor\n * @private\n * @template VALUE\n */\n$jscomp.AsyncGeneratorWrapper$ExecutionNode_ = function(frame, next) {\n /** @type {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>} */\n this.frame = frame;\n /** @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>} */\n this.next = next;\n};\n\n/**\n * A minimalistic queue backed by a linked-list.\n *\n * @constructor\n * @private\n * @template VALUE\n */\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_ = function() {\n /**\n * @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>}\n * @private\n */\n this.head_ = null;\n\n /**\n *\n * @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>}\n * @private\n */\n this.tail_ = null;\n};\n\n/**\n * @return {boolean}\n */\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.isEmpty = function() {\n return this.head_ === null;\n};\n\n/**\n * Returns the current head frame if it exists, otherwise throws Error.\n *\n * @return {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>}\n * @throws {Error} if the queue is empty\n */\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.first = function() {\n if (this.head_) {\n return this.head_.frame;\n } else {\n throw new Error('no frames in executionQueue');\n }\n};\n\n/**\n * Drops the current head frame off the head of the queue. Performs same\n * operations as a theoretical \"pop\", but saves time by not storing or returning\n * the popped frame.\n *\n * If the queue is empty, no operation is performed.\n */\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.drop = function() {\n if (this.head_) {\n this.head_ = this.head_.next;\n if (!this.head_) {\n this.tail_ = null;\n }\n }\n};\n\n/**\n * @param {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>} newFrame\n * the new frame to be executed after all frames currently in the queue\n */\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.enqueue = function(\n newFrame) {\n var node = new $jscomp.AsyncGeneratorWrapper$ExecutionNode_(newFrame, null);\n if (this.tail_) {\n this.tail_.next = node;\n this.tail_ = node;\n } else {\n this.head_ = node;\n this.tail_ = node;\n }\n};\n\n/**\n * @constructor\n * @implements {AsyncGenerator<VALUE>}\n * @implements {AsyncIterable<VALUE>}\n * @template VALUE\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper = function(\n /** @type {!Generator<$jscomp.AsyncGeneratorWrapper$ActionRecord<VALUE>>} */\n generator) {\n /** @private */\n this.generator_ = generator;\n\n /**\n * @private\n * @type {AsyncIterator<VALUE>}\n */\n this.delegate_ = null;\n\n /**\n * @type {!$jscomp.AsyncGeneratorWrapper$ExecutionQueue_<VALUE>}\n * @private\n */\n this.executionQueue_ = new $jscomp.AsyncGeneratorWrapper$ExecutionQueue_();\n\n $jscomp.initSymbolAsyncIterator();\n\n /** @type {$jscomp.AsyncGeneratorWrapper<VALUE>} */\n this[Symbol.asyncIterator] =\n /** @return {$jscomp.AsyncGeneratorWrapper<VALUE>} */ function() {\n return this;\n };\n\n var self = this;\n\n /**\n * @this {undefined}\n * @param {!IIterableResult<VALUE>} record\n * @private\n */\n this.boundHandleDelegateResult_ = function(record) {\n self.handleDelegateResult_(record);\n };\n\n /**\n * @this {undefined}\n * @param {*} thrownError\n * @private\n */\n this.boundHandleDelegateError_ = function(thrownError) {\n self.handleDelegateError_(thrownError);\n };\n\n /**\n * @this {undefined}\n * @param {*} err\n * @private\n */\n this.boundRejectAndClose_ = function(err) {\n self.rejectAndClose_(err);\n };\n};\n\n/**\n * @param {!$jscomp.AsyncGeneratorWrapper$GeneratorMethod} method\n * @param {?} param\n * @return {!Promise<!IIterableResult<VALUE>>}\n * @private\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.enqueueMethod_ = function(\n method, param) {\n var self = this;\n return new Promise(function(resolve, reject) {\n var wasEmpty = self.executionQueue_.isEmpty();\n self.executionQueue_.enqueue(\n new $jscomp.AsyncGeneratorWrapper$ExecutionFrame_(\n method, param, resolve, reject));\n if (wasEmpty) {\n self.runFrame_();\n }\n });\n};\n\n/**\n * @override\n * @param {?=} opt_value\n * @return {!Promise<!IIterableResult<VALUE>>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.next = function(opt_value) {\n return this.enqueueMethod_(\n $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT, opt_value);\n};\n\n/**\n * @override\n * @param {VALUE} value\n * @return {!Promise<!IIterableResult<VALUE>>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.return = function(value) {\n return this.enqueueMethod_(\n $jscomp.AsyncGeneratorWrapper$GeneratorMethod.RETURN,\n new $jscomp.AsyncGeneratorWrapper$ActionRecord(\n $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE, value));\n};\n\n/**\n * @override\n * @param {*=} exception\n * @return {!Promise<!IIterableResult<VALUE>>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.throw = function(exception) {\n return this.enqueueMethod_(\n $jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW, exception);\n};\n\n/**\n * Recursively executes all frames in the executionQueue until it is empty.\n * Frames that are added to the queue while execution is being performed will\n * be executed when they are reached.\n *\n * In order to guarantee each frame in the entire queue will be processed\n * exactly once, each branch in runDelegateFrame and runGeneratorFrame should\n * conclude with the following specification:\n *\n * If the frame is ready to be resolved/rejected:\n *\n * 1. Resolve or reject the frame.\n * 2. Drop the frame from the head of the queue.\n * 3. End with a call to runFrame.\n *\n * Otherwise, if another action must be performed:\n *\n * 1. Mutate the frame's method and param to reflect the next action.\n * 2. End with a call to runFrame.\n *\n * @private\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.runFrame_ = function() {\n if (!this.executionQueue_.isEmpty()) {\n try {\n if (this.delegate_) {\n this.runDelegateFrame_();\n } else {\n this.runGeneratorFrame_();\n }\n } catch (err) {\n this.rejectAndClose_(err);\n }\n }\n};\n\n/**\n * For safety, all branches should meet invariants listed in runFrame.\n *\n * @private\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.runGeneratorFrame_ = function() {\n var self = this;\n var frame = this.executionQueue_.first();\n try {\n var genRec = this.generator_[frame.method](frame.param);\n if (genRec.value instanceof $jscomp.AsyncGeneratorWrapper$ActionRecord) {\n switch (genRec.value.action) {\n case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE:\n Promise.resolve(genRec.value.value)\n .then(\n function(resolvedValue) {\n frame.resolve({value: resolvedValue, done: genRec.done});\n self.executionQueue_.drop();\n self.runFrame_();\n },\n function(e) {\n frame.reject(e);\n self.executionQueue_.drop();\n self.runFrame_();\n })\n .catch(this.boundRejectAndClose_);\n return;\n\n case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR:\n self.delegate_ = $jscomp.makeAsyncIterator(genRec.value.value);\n frame.method = $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;\n frame.param = undefined;\n self.runFrame_();\n return;\n\n case $jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE:\n Promise.resolve(genRec.value.value)\n .then(\n function(resolvedValue) {\n frame.method =\n $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;\n frame.param = resolvedValue;\n self.runFrame_();\n },\n function(thrownErr) {\n frame.method =\n $jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;\n frame.param = thrownErr;\n self.runFrame_();\n })\n .catch(this.boundRejectAndClose_);\n return;\n\n default:\n throw new Error('Unrecognized AsyncGeneratorWrapper$ActionEnum');\n }\n }\n else {\n frame.resolve(genRec);\n self.executionQueue_.drop();\n self.runFrame_();\n }\n } catch (e) {\n frame.reject(e);\n self.executionQueue_.drop();\n self.runFrame_();\n }\n};\n\n\n/**\n * For safety, all branches should meet invariants listed in runFrame.\n *\n * @private\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.runDelegateFrame_ = function() {\n if (!this.delegate_) {\n throw new Error(\"no delegate to perform execution\");\n }\n var frame = this.executionQueue_.first();\n if (frame.method in this.delegate_) {\n try {\n this.delegate_[frame.method](frame.param)\n .then(this.boundHandleDelegateResult_, this.boundHandleDelegateError_)\n .catch(this.boundRejectAndClose_);\n } catch (err) {\n this.handleDelegateError_(err);\n }\n } else {\n this.delegate_ = null;\n this.runFrame_();\n }\n};\n\n/**\n * @param {!IIterableResult<VALUE>} record\n * @private\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.handleDelegateResult_ = function(\n record) {\n var frame = this.executionQueue_.first();\n if (record.done === true) {\n // Delegate is done. Its return value becomes the value of the `yield*`\n // expression. We must continue the async generator as if next() were called\n // with that value here.\n this.delegate_ = null;\n frame.method = $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;\n frame.param = record.value;\n this.runFrame_();\n } else {\n frame.resolve({value: record.value, done: false});\n this.executionQueue_.drop();\n this.runFrame_();\n }\n};\n\n/**\n * @param {*} thrownError\n * @private\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncGeneratorWrapper.prototype.handleDelegateError_ = function(\n thrownError) {\n var frame = this.executionQueue_.first();\n // The delegate threw an exception or rejected a promise, so we must continue\n // our generator as if the `yield *` threw the exception.\n this.delegate_ = null;\n frame.method = $jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;\n frame.param = thrownError;\n this.runFrame_();\n};\n\n/**\n * Rejects the current frame and closes the generator.\n *\n * @param {*} err Error causing the rejection\n * @private\n */\n$jscomp.AsyncGeneratorWrapper.prototype.rejectAndClose_ = function(err) {\n if (!this.executionQueue_.isEmpty()) {\n this.executionQueue_.first().reject(err);\n this.executionQueue_.drop();\n }\n\n if (this.delegate_ && 'return' in this.delegate_) {\n this.delegate_['return'](undefined);\n this.delegate_ = null;\n }\n this.generator_['return'](undefined);\n\n // Keep processing all frames remaining in the queue.\n // Note: Some of these frames might be throw requests, but our backing\n // generator will handle these appropriately.\n this.runFrame_();\n};\n",
  873. "js/es6/conformance.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/global';\n\n\n/**\n * @fileoverview Check one of the most obscure features of ES6 as a proxy\n * for full conformance. If this is enabled, this test is used instead of\n * larger, more specific conformance tests.\n */\n\n/**\n * Check ES6 conformance by checking an obscure detail of Proxy that\n * wasn't implemented correctly until after all other ES6 features in\n * most browsers.\n * @return {boolean} Whether Proxy works correctly.\n * @suppress {reportUnknownTypes}\n */\n$jscomp.checkEs6ConformanceViaProxy = function() {\n try {\n var proxied = {};\n var proxy = Object.create(new $jscomp.global['Proxy'](proxied, {\n 'get': function (target, key, receiver) {\n return target == proxied && key == 'q' && receiver == proxy;\n }\n }));\n return proxy['q'] === true;\n } catch (err) {\n return false;\n }\n};\n\n/**\n * If this is true, assume that a runtime which implements Proxy also\n * implements the rest of the ECMAScript 2015 spec.\n * @define {boolean}\n */\n$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS = false;\n\n/**\n * Whether the runtime implements the entire ECMAScript 2015 spec.\n * @const {boolean}\n */\n$jscomp.ES6_CONFORMANCE =\n $jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS &&\n $jscomp.checkEs6ConformanceViaProxy();\n",
  874. "js/es6/execute_async_generator.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Runtime logic for transpiled async functions.\n * @suppress {uselessCode}\n */\n'require base';\n'require es6/promise/promise';\n'require es6/generator_engine';\n\n/**\n * Handles the execution of an async function.\n *\n * An async function, foo(a, b), will be rewritten as:\n *\n * ```\n * function foo(a, b) {\n * let $jscomp$async$this = this;\n * let $jscomp$async$arguments = arguments;\n * let $jscomp$async$super$get$x = () => super.x;\n * function* $jscomp$async$generator() {\n * // original body of foo() with:\n * // - await (x) replaced with yield (x)\n * // - arguments replaced with $jscomp$async$arguments\n * // - this replaced with $jscomp$async$this\n * // - super.x replaced with $jscomp$async$super$get$x()\n * // - super.x(5) replaced with $jscomp$async$super$get$x()\n * // .call($jscomp$async$this, 5)\n * }\n * return $jscomp.executeAsyncGenerator($jscomp$async$generator());\n * }\n * ```\n * @param {!Generator<?>} generator\n * @return {!Promise<?>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.asyncExecutePromiseGenerator = function(generator) {\n function passValueToGenerator(value) {\n return generator.next(value);\n }\n\n function passErrorToGenerator(error) {\n return generator.throw(error);\n }\n\n return new Promise(function(resolve, reject) {\n function handleGeneratorRecord(/** !IIterableResult<*> */ genRec) {\n if (genRec.done) {\n resolve(genRec.value);\n } else {\n // One can await a non-promise, so genRec.value\n // might not already be a promise.\n Promise.resolve(genRec.value)\n .then(passValueToGenerator, passErrorToGenerator)\n .then(handleGeneratorRecord, reject);\n }\n }\n\n handleGeneratorRecord(generator.next());\n });\n};\n\n/**\n * Handles the execution of a generator function returning promises.\n *\n * An async function, foo(a, b), will be rewritten as:\n *\n * ```\n * function foo(a, b) {\n * let $jscomp$async$this = this;\n * let $jscomp$async$arguments = arguments;\n * let $jscomp$async$super$get$x = () => super.x;\n * return $jscomp.asyncExecutePromiseGeneratorFunction(\n * function* () {\n * // original body of foo() with:\n * // - await (x) replaced with yield (x)\n * // - arguments replaced with $jscomp$async$arguments\n * // - this replaced with $jscomp$async$this\n * // - super.x replaced with $jscomp$async$super$get$x()\n * // - super.x(5) replaced with $jscomp$async$super$get$x()\n * // .call($jscomp$async$this, 5)\n * });\n * }\n * ```\n * @param {function(): !Generator<?>} generatorFunction\n * @return {!Promise<?>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.asyncExecutePromiseGeneratorFunction = function(generatorFunction) {\n return $jscomp.asyncExecutePromiseGenerator(generatorFunction());\n};\n\n/**\n * Handles the execution of a state machine program that represents transpiled\n * async function.\n *\n * @final\n * @param {function(!$jscomp.generator.Context<?>): (void|{value: ?})} program\n * @return {!Promise<?>}\n * @suppress {reportUnknownTypes, visibility}\n */\n$jscomp.asyncExecutePromiseGeneratorProgram = function(program) {\n return $jscomp.asyncExecutePromiseGenerator(\n new $jscomp.generator.Generator_(\n new $jscomp.generator.Engine_(\n program)));\n};\n",
  875. "js/es6/generator_engine.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require base';\n'require es6/symbol';\n'require es6/util/setprototypeof';\n'require es6/util/makeiterator';\n\n/**\n * @fileoverview Implementation for $jscomp.generator\n *\n * This closure-compiler internal JavaScript library provides an ES3-compatible\n * API for writing generator functions using a minimum of boilerplate.\n *\n * Example:\n * ```javascript\n * // yields numbers starting with the given value, then incrementing by the\n * // value supplied to the next() method until the computed value is <= min or\n * // >= max. Then it returns the total number of times it yielded.\n * // If the client code calls throw(), the error will be logged and then\n * // yielded, but the generator won't terminate.\n * function *es6Definition(start, min, max) {\n * let currentValue = start;\n * let yieldCount = 0;\n * while (currentValue > min && currentValue < max) {\n * try {\n * currentValue += yield(currentValue);\n * } catch (e) {\n * yield(e);\n * console.log('client threw error', e);\n * } finally {\n * yieldCount++;\n * }\n * }\n * return [yieldCount, currentValue];\n * }\n *\n * function es3Definition(start, min, max) {\n * var currentValue;\n * var yieldCount;\n * var e;\n *\n * return $jscomp.generator.createGenerator(\n * es3Definition,\n * function (context$) {\n * switch (context$.nextAddress) {\n * case 1: // execution always starts with 1\n * currentValue = start;\n * yieldCount = 0;\n * // fall-through\n *\n * case 2:\n * if (!(currentValue > min && currentValue < max)) {\n * // exit while loop:\n * return context$.jumpTo(3);\n * }\n * // try {\n * JSCompiler_temp_const$jscomp$1 = currentValue;\n * context$.setCatchFinallyBlocks(4, 5);\n * return context$.yield(currentValue, 7);\n *\n * case 7:\n * currentValue =\n * JSCompiler_temp_const$jscomp$1 + context$.yieldResult;\n * // fall-through: execute finally block\n *\n * case 5: // finally block start\n * context$.enterFinallyBlock();\n * yieldCount++;\n * return context$.leaveFinallyBlock(6);\n *\n * case 4: // catch block start\n * e = context$.enterCatchBlock();\n * return context$.yield(e, 8);\n *\n * case 8: // finish catch block\n * console.log('client threw error', e);\n * return context$.jumpTo(5);\n *\n * case 6:\n * context$.jumpTo(2);\n * break;\n *\n * case 3:\n * // come back here when while loop block exits\n * return context$.return([yieldCount, currentValue]);\n * }\n * }\n * });\n * };\n * ```\n */\n\n/** @const */\n$jscomp.generator = {};\n\n/**\n * Ensures that the iterator result is actually an object.\n *\n * @private\n * @final\n * @param {*} result\n * @return {void}\n * @throws {TypeError} if the result is not an instenace of Object.\n */\n$jscomp.generator.ensureIteratorResultIsObject_ = function(result) {\n if (result instanceof Object) {\n return;\n }\n throw new TypeError('Iterator result ' + result + ' is not an object');\n};\n\n\n/**\n * Tracks state machine state used by generator.Engine.\n *\n * @template VALUE\n * @constructor\n * @final\n * @struct\n */\n$jscomp.generator.Context = function() {\n /**\n * Whether the generator program is being executed at the moment in the\n * current context. Is used to prevent reentrancy.\n *\n * @private\n * @type {boolean}\n */\n this.isRunning_ = false;\n\n /**\n * An iterator that should yield all its values before the main program can\n * continue.\n *\n * @private\n * @type {?Iterator<VALUE>}\n */\n this.yieldAllIterator_ = null;\n\n /**\n * The value that will be sent to the program as the result of suspended\n * yield expression.\n *\n * @type {?}\n */\n this.yieldResult = undefined;\n\n /**\n * The next address where the state machine execution should be resumed.\n *\n * <p>Program execution starts at 1 and ends at 0.\n *\n * @type {number}\n */\n this.nextAddress = 1;\n\n /**\n * The address that should be executed once an exception is thrown.\n *\n * <p>Value of 0 means no catch block exist that would handles an exception.\n *\n * @private\n * @type {number}\n */\n this.catchAddress_ = 0;\n\n /**\n * The address that should be executed once the result is being returned\n * or if the exception is thrown and there is no catchAddress specified.\n *\n * <p>Value of 0 means no finally block is set.\n *\n * @private\n * @type {number}\n */\n this.finallyAddress_ = 0;\n\n /**\n * Stores information for the runtime propagation of values and control\n * flow such as the behaviour of statements (break, continue, return and\n * throw) that perform nonlocal transfers of control.\n *\n * @private\n * @type {null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}}.\n */\n this.abruptCompletion_ = null;\n\n /**\n * The preserved abruptCompletion_ when entering a `finally` block. If\n * the `finally` block completes normally the preserved abruptCompletion_ is\n * restored:\n * <pre>\n * try {\n * } finally { // nesting level 0\n * // abruptCompletion_ is saved in finallyContexts_[0]\n * try {\n * } finally { // nesting level 1\n * // abruptCompletion_ is saved in finallyContexts_[1]\n * ...\n * // abruptCompletion_ is restored from finallyContexts_[1]\n * }\n * // abruptCompletion_ is restored from finallyContexts_[0]\n * }\n * <pre>\n *\n * @private\n * @type {?Array<null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}>}.\n */\n this.finallyContexts_ = null;\n};\n\n/**\n * Marks generator program as being run.\n *\n * @private\n * @final\n * @return {void}\n * @throws {TypeError} if generator is already running.\n */\n$jscomp.generator.Context.prototype.start_ = function() {\n if (this.isRunning_) {\n throw new TypeError('Generator is already running');\n }\n this.isRunning_ = true;\n};\n\n/**\n *\n *\n * @private\n * @final\n * @return {void}\n */\n$jscomp.generator.Context.prototype.stop_ = function() {\n this.isRunning_ = false;\n};\n\n/**\n * Transfers program execution to an appropriate catch/finally block that\n * should be executed if exception occurs.\n *\n * @private\n * @final\n * @return {void}\n */\n$jscomp.generator.Context.prototype.jumpToErrorHandler_ = function() {\n this.nextAddress = this.catchAddress_ || this.finallyAddress_;\n};\n\n/**\n * Sets the result of suspended yield expression.\n *\n * @private\n * @final\n * @param {?=} value The value to send to the generator.\n * @return {void}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.prototype.next_ = function(value) {\n this.yieldResult = value;\n};\n\n/**\n * Throws exception as the result of suspended yield.\n *\n * @private\n * @final\n * @param {?} e\n * @return {void}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.prototype.throw_ = function(e) {\n this.abruptCompletion_ = {exception: e, isException: true};\n this.jumpToErrorHandler_();\n};\n\n/**\n * Returns a value as the result of generator function.\n *\n * @final\n * @param {VALUE=} value\n * @return {void}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.prototype.return = function(value) {\n this.abruptCompletion_ = {return: /** @type {VALUE} */ (value)};\n this.nextAddress = this.finallyAddress_;\n};\n\n/**\n * Changes the context so the program execution will continue from the given\n * state after executing nessesary pending finally blocks first.\n *\n * @final\n * @param {number} nextAddress The state that should be run.\n * @return {void}\n */\n$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks = function(\n nextAddress) {\n this.abruptCompletion_ = {jumpTo: nextAddress};\n this.nextAddress = this.finallyAddress_;\n};\n\n/**\n * Pauses the state machine program assosiated with generator function to yield\n * a value.\n *\n * @final\n * @param {VALUE} value The value to return from the generator function via\n * the iterator protocol.\n * @param {number} resumeAddress The address where the program should resume.\n * @return {{value: VALUE}}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.prototype.yield = function(value, resumeAddress) {\n this.nextAddress = resumeAddress;\n return {value: value};\n};\n\n/**\n * Causes the state machine program to yield all values from an iterator.\n *\n * @final\n * @param {string|!Iterator<VALUE>|!Iterable<VALUE>|!Arguments} iterable\n * Iterator to yeild all values from.\n * @param {number} resumeAddress The address where the program should resume.\n * @return {void | {value: VALUE}}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.prototype.yieldAll = function(\n iterable, resumeAddress) {\n /** @const @type {!Iterator<VALUE>} */ var iterator =\n $jscomp.makeIterator(iterable);\n /** @const */ var result = iterator.next();\n $jscomp.generator.ensureIteratorResultIsObject_(result);\n if (result.done) {\n // If `someGenerator` in `x = yield *someGenerator` completes immediately,\n // x is the return value of that generator.\n this.yieldResult = result.value;\n this.nextAddress = resumeAddress;\n return;\n }\n this.yieldAllIterator_ = iterator;\n return this.yield(result.value, resumeAddress);\n};\n\n/**\n * Changes the context so the program execution will continue from the given\n * state.\n *\n * @final\n * @param {number} nextAddress The state the program should continue\n * @return {void}\n */\n$jscomp.generator.Context.prototype.jumpTo = function(nextAddress) {\n this.nextAddress = nextAddress;\n};\n\n/**\n * Changes the context so the program execution ends.\n *\n * @final\n * @return {void}\n */\n$jscomp.generator.Context.prototype.jumpToEnd = function() {\n this.nextAddress = 0;\n};\n\n/**\n * Sets catch / finally handlers.\n * Used for try statements with catch blocks.\n *\n * @final\n * @param {number} catchAddress The address of the catch block.\n * @param {number=} finallyAddress The address of the finally block.\n * @return {void}\n */\n$jscomp.generator.Context.prototype.setCatchFinallyBlocks = function(\n catchAddress, finallyAddress) {\n this.catchAddress_ = catchAddress;\n if (finallyAddress != undefined) {\n this.finallyAddress_ = finallyAddress;\n }\n};\n\n/**\n * Sets finally handler.\n * Used for try statements without catch blocks.\n *\n * @const\n * @param {number=} finallyAddress The address of the finally block or 0.\n * @return {void}\n */\n$jscomp.generator.Context.prototype.setFinallyBlock = function(finallyAddress) {\n this.catchAddress_ = 0;\n this.finallyAddress_ = finallyAddress || 0;\n};\n\n/**\n * Sets a catch handler and jumps to the next address.\n * Used for try statements without finally blocks.\n *\n * @final\n * @param {number} nextAddress The state that should be run next.\n * @param {number=} catchAddress The address of the catch block or 0.\n * @return {void}\n */\n$jscomp.generator.Context.prototype.leaveTryBlock = function(\n nextAddress, catchAddress) {\n this.nextAddress = nextAddress;\n this.catchAddress_ = catchAddress || 0;\n};\n\n/**\n * Initializes exception variable in the beginning of catch block.\n *\n * @final\n * @param {number=} nextCatchBlockAddress The address of the next catch block\n * that is preceded by no finally blocks.\n * @return {?} Returns an exception that was thrown from \"try\" block.\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.prototype.enterCatchBlock = function(\n nextCatchBlockAddress) {\n this.catchAddress_ = nextCatchBlockAddress || 0;\n /** @const */ var exception =\n /** @type {{exception, isException: boolean}} */ (this.abruptCompletion_)\n .exception;\n this.abruptCompletion_ = null;\n return exception;\n};\n\n/**\n * Saves the current throw context which will be restored at the end of finally\n * block.\n *\n * @final\n * @param {number=} nextCatchAddress\n * @param {number=} nextFinallyAddress\n * @param {number=} finallyDepth The nesting level of current \"finally\" block.\n * @return {void}\n */\n$jscomp.generator.Context.prototype.enterFinallyBlock = function(\n nextCatchAddress, nextFinallyAddress, finallyDepth) {\n if (!finallyDepth) {\n this.finallyContexts_ = [this.abruptCompletion_];\n } else {\n /**\n * @type {!Array<null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}>}\n */\n (this.finallyContexts_)[finallyDepth] = this.abruptCompletion_;\n }\n this.catchAddress_ = nextCatchAddress || 0;\n this.finallyAddress_ = nextFinallyAddress || 0;\n};\n\n/**\n * Figures out whether the program execution should continue normally, or jump\n * to the closest catch/finally block.\n *\n * @final\n * @param {number} nextAddress The state that should be run next.\n * @param {number=} finallyDepth The nesting level of current \"finally\" block.\n * @return {void}\n * @suppress {strictMissingProperties}\n */\n$jscomp.generator.Context.prototype.leaveFinallyBlock = function(\n nextAddress, finallyDepth) {\n // There could be trailing finally contexts if a nested finally throws an\n // exception or return.\n // e.g.\n // try {\n // ...\n // return 1;\n // } finally {\n // // finallyDepth == 0\n // // finallyContext == [{return: 1}]\n // try {\n // ...\n // try {\n // throw new Error(2);\n // } finally {\n // // finallyDepth == 1\n // // finallyContext == [{return: 1}, {exception: Error(2)}]\n // try {\n // throw new Error(3);\n // } finally {\n // // finallyDepth == 2\n // // finallyContext == [\n // // {return: 1},\n // // {exception: Error(2)},\n // // {exception: Error(3)}\n // // ]\n // throw new Error(4); // gets written in abruptCompletion_\n // // leaveFinallyBlock() never gets called here\n // }\n // // leaveFinallyBlock() never gets called here\n // }\n // } catch (e) {\n // // swallow error\n // // abruptCompletion becomes null\n // } finally {\n // // finallyDepth == 1\n // // finallyContext == [\n // // {return: 1},\n // // null, // overwritten, because catch swallowed the error\n // // {exception: Error(3)} // left over\n // // ]\n // // leaveFinallyBlock() called here\n // // finallyContext == [{return: 1}]\n // // abruptCompletion == null\n // }\n // // leaveFinallyBlock() called here\n // // finallyContext = []\n // // abruptCompletion == {return: 1};\n // }\n /** @const */ var preservedContext =\n /**\n * @type {!Array<null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}>}\n */\n (this.finallyContexts_).splice(finallyDepth || 0)[0];\n /** @const */ var abruptCompletion = this.abruptCompletion_ =\n this.abruptCompletion_ || preservedContext;\n if (abruptCompletion) {\n if (abruptCompletion.isException) {\n return this.jumpToErrorHandler_();\n }\n // Check if there is a pending break/continue jump that is not preceded by\n // finally blocks that should be executed before.\n // We always generate case numbers for the start and end of loops before\n // numbers for anything they contain, so any finally blocks within will be\n // guaranteed to have higher addresses than the loop break and continue\n // positions.\n // e.g.\n // l1: while (...) { // generated addresses: 100: break l1;\n // try { // generated addresses: 101: finally,\n // try { // generated addresses: 102: finally,\n // l2: while (...) { // generated addresses: 103: break l2;\n //\n // if (...) {\n // break l1; // becomes\n // // $context.jumpThroughFinallyBlocks(101),\n // // since 2 finally blocks must be crossed\n // }\n // break l2; // becomes $context.jumpTo(103)\n // }\n // } finally {\n // // When leaving this finally block:\n // // 1. We keep the abrupt completion indicating 'break l1'\n // // 2. We jump to the enclosing finally block.\n // }\n // } finally {\n // // When leaving this finally block:\n // // 1. We complete the abruptCompletion indicating 'break l1' by\n // // jumping to the loop start address.\n // // 2. Abrupt completion is now null, so normal execution\n // // continues from there.\n // }\n // }\n if (abruptCompletion.jumpTo != undefined &&\n this.finallyAddress_ < abruptCompletion.jumpTo) {\n this.nextAddress = abruptCompletion.jumpTo;\n this.abruptCompletion_ = null;\n } else {\n this.nextAddress = this.finallyAddress_;\n }\n } else {\n this.nextAddress = nextAddress;\n }\n};\n\n/**\n * Is used in transpilation of `for in` statements.\n *\n * <p><code>for (var i in obj) {...}</code> becomes:\n * <pre>\n * for (var i, $for$in = context$.forIn(obj);\n * (i = $for$in.getNext()) != null;\n * ) {\n * ...\n * }\n * </pre>\n *\n * @final\n * @param {?} object\n * @return {!$jscomp.generator.Context.PropertyIterator}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.prototype.forIn = function(object) {\n return new $jscomp.generator.Context.PropertyIterator(object);\n};\n\n/**\n * @constructor\n * @final\n * @struct\n * @param {?} object\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.PropertyIterator = function(object) {\n /**\n * @private\n * @const\n * @type {?}\n */\n this.object_ = object;\n\n /**\n * @private\n * @const\n * @type {!Array<string>}\n */\n this.properties_ = [];\n\n for (var property in /** @type {!Object} */ (object)) {\n this.properties_.push(property);\n }\n this.properties_.reverse();\n};\n\n/**\n * Returns the next object's property that is still valid.\n *\n * @final\n * @return {?string}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Context.PropertyIterator.prototype.getNext = function() {\n // The JS spec does not require that properties added after the loop begins\n // be included in the loop, but it does require that the current property\n // must still exist on the object when the loop iteration starts.\n while (this.properties_.length > 0) {\n /** @const */ var property = this.properties_.pop();\n if (property in /** @type {!Object} */ (this.object_)) {\n return property;\n }\n }\n return null;\n};\n\n/**\n * Engine handling execution of a state machine associated with the generator\n * program and its context.\n *\n * @private\n * @template VALUE\n * @constructor\n * @final\n * @struct\n * @param {function(!$jscomp.generator.Context<VALUE>): (void|{value: VALUE})} program\n */\n$jscomp.generator.Engine_ = function(program) {\n /**\n * @private\n * @const\n * @type {!$jscomp.generator.Context<VALUE>}\n */\n this.context_ = new $jscomp.generator.Context();\n\n /**\n * @private\n * @const\n * @type {function(!$jscomp.generator.Context<VALUE>): (void|{value: VALUE})}\n */\n this.program_ = program;\n};\n\n/**\n * Returns an object with two properties done and value.\n * You can also provide a parameter to the next method to send a value to the\n * generator.\n *\n * @private\n * @final\n * @param {?=} value The value to send to the generator.\n * @return {!IIterableResult<VALUE>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Engine_.prototype.next_ = function(value) {\n this.context_.start_();\n if (this.context_.yieldAllIterator_) {\n return this.yieldAllStep_(\n this.context_.yieldAllIterator_.next, value, this.context_.next_);\n }\n this.context_.next_(value);\n return this.nextStep_();\n};\n\n/**\n * Attempts to finish the generator with a given value.\n *\n * @private\n * @final\n * @param {VALUE} value The value to return.\n * @return {!IIterableResult<VALUE>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Engine_.prototype.return_ = function(value) {\n this.context_.start_();\n /** @const */ var yieldAllIterator = this.context_.yieldAllIterator_;\n if (yieldAllIterator) {\n /** @const @type {function(VALUE): !IIterableResult<VALUE>} */ var\n returnFunction =\n 'return' in yieldAllIterator ? yieldAllIterator['return'] :\n function(v) {\n return {value: v, done: true};\n };\n return this.yieldAllStep_(returnFunction, value, this.context_.return);\n }\n this.context_.return(value);\n return this.nextStep_();\n};\n\n/**\n * Resumes the execution of a generator by throwing an error into it and\n * returns an object with two properties done and value.\n *\n * @private\n * @final\n * @param {?} exception The exception to throw.\n * @return {!IIterableResult<VALUE>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Engine_.prototype.throw_ = function(exception) {\n this.context_.start_();\n if (this.context_.yieldAllIterator_) {\n return this.yieldAllStep_(\n this.context_.yieldAllIterator_['throw'], exception,\n this.context_.next_);\n }\n this.context_.throw_(exception);\n return this.nextStep_();\n};\n\n/**\n * Redirects next/throw/return method calls to an iterator passed to \"yield *\".\n *\n * @private\n * @final\n * @template T\n * @param {function(this:Iterator<VALUE>, T): !IIterableResult<VALUE>} action\n * @param {T} value\n * @param {function(this:$jscomp.generator.Context, VALUE): void} nextAction\n * @return {!IIterableResult<VALUE>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Engine_.prototype.yieldAllStep_ = function(\n action, value, nextAction) {\n try {\n /** @const */ var result = action.call(\n /** @type {!Iterator<VALUE>} */ (this.context_.yieldAllIterator_),\n value);\n $jscomp.generator.ensureIteratorResultIsObject_(result);\n if (!result.done) {\n this.context_.stop_();\n return result;\n }\n // After `x = yield *someGenerator()` x is the return value of the\n // generator, not a value passed to this generator by the next() method.\n /** @const */ var resultValue = result.value;\n } catch (e) {\n this.context_.yieldAllIterator_ = null;\n this.context_.throw_(e);\n return this.nextStep_();\n }\n this.context_.yieldAllIterator_ = null;\n nextAction.call(this.context_, resultValue);\n return this.nextStep_();\n};\n\n/**\n * Continues/resumes program execution until the next suspension point (yield).\n *\n * @private\n * @final\n * @return {!IIterableResult<VALUE>}\n * @suppress {reportUnknownTypes, strictMissingProperties}\n */\n$jscomp.generator.Engine_.prototype.nextStep_ = function() {\n while (this.context_.nextAddress) {\n try {\n /** @const */ var yieldValue = this.program_(this.context_);\n if (yieldValue) {\n this.context_.stop_();\n return {value: yieldValue.value, done: false};\n }\n } catch (e) {\n this.context_.yieldResult = undefined;\n this.context_.throw_(e);\n }\n }\n\n this.context_.stop_();\n if (this.context_.abruptCompletion_) {\n /** @const */ var abruptCompletion = this.context_.abruptCompletion_;\n this.context_.abruptCompletion_ = null;\n if (abruptCompletion.isException) {\n throw abruptCompletion.exception;\n }\n return {value: abruptCompletion.return, done: true};\n }\n return {value: /** @type {?} */ (undefined), done: true};\n};\n\n/**\n * The Generator object that is returned by a generator function and it\n * conforms to both the iterable protocol and the iterator protocol.\n *\n * @private\n * @template VALUE\n * @constructor\n * @final\n * @implements {Generator<VALUE>}\n * @param {!$jscomp.generator.Engine_<VALUE>} engine\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.Generator_ = function(engine) {\n /** @const @override */\n this.next = function(opt_value) {\n return engine.next_(opt_value);\n };\n\n /** @const @override */\n this.throw = function(exception) {\n return engine.throw_(exception);\n };\n\n /** @const @override */\n this.return = function(value) {\n return engine.return_(value);\n };\n\n $jscomp.initSymbolIterator();\n\n /** @this {$jscomp.generator.Generator_<VALUE>} */\n this[Symbol.iterator] = function() {\n return this;\n };\n\n // TODO(user): uncomment once Symbol.toStringTag is polyfilled:\n // this[Symbol.toStringTag] = 'Generator';\n};\n\n/**\n * Creates a generator backed up by Engine running a given program.\n *\n * @final\n * @template VALUE\n * @param {function(this:?, ...): (!Iterator<VALUE>|!Iterable<VALUE>)} generator\n * @param {function(!$jscomp.generator.Context<VALUE>): (void|{value: VALUE})} program\n * @return {!Generator<VALUE>}\n * @suppress {reportUnknownTypes}\n */\n$jscomp.generator.createGenerator = function(generator, program) {\n /** @const */ var result =\n new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program));\n // The spec says that `myGenFunc() instanceof myGenFunc` must be true.\n // We'll make this work by setting the prototype before calling the\n // constructor every time. All of the methods of the object are defined on the\n // instance by the constructor, so this does no harm.\n // We also cast Generator_ to Object to hide dynamic inheritance from\n // jscompiler, it makes ConformanceRules$BanUnknownThis happy.\n if ($jscomp.setPrototypeOf) {\n /** @type {function(!Object, ?Object): !Object} */ ($jscomp.setPrototypeOf)(\n result, generator.prototype);\n }\n return result;\n};\n",
  876. "js/es6/globalthis.js":"/*\n * Copyright 2019 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require util/polyfill';\n'require util/global';\n\n$jscomp.polyfill('globalThis', function(orig) {\n return orig || $jscomp.global;\n}, 'es_2020', 'es3');\n",
  877. "js/es6/map.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/conformance';\n'require es6/symbol';\n'require es6/util/makeiterator';\n'require es6/weakmap';\n'require util/defines';\n'require util/owns';\n'require util/polyfill';\n\n\n/**\n * Internal record type for entries.\n * @record\n * @template KEY, VALUE\n * @suppress {reportUnknownTypes}\n */\n$jscomp.MapEntry = function() {\n /** @type {!$jscomp.MapEntry<KEY, VALUE>} */\n this.previous;\n /** @type {!$jscomp.MapEntry<KEY, VALUE>} */\n this.next;\n /** @type {?Object} */\n this.head;\n /** @type {KEY} */\n this.key;\n /** @type {VALUE} */\n this.value;\n};\n\n\n$jscomp.polyfill('Map',\n /**\n * @param {*} NativeMap\n * @return {*}\n * @suppress {reportUnknownTypes}\n */\n function(NativeMap) {\n\n /**\n * Checks conformance of the existing Map.\n * @return {boolean} True if the browser's implementation conforms.\n * @suppress {missingProperties} \"entries\" unknown prototype\n */\n function isConformant() {\n if ($jscomp.ASSUME_NO_NATIVE_MAP ||\n !NativeMap ||\n typeof NativeMap != \"function\" ||\n !NativeMap.prototype.entries ||\n typeof Object.seal != 'function') {\n return false;\n }\n // Some implementations don't support constructor arguments.\n try {\n NativeMap = /** @type {function(new: Map, !Iterator=)} */ (NativeMap);\n var key = Object.seal({x: 4});\n var map = new NativeMap($jscomp.makeIterator([[key, 's']]));\n if (map.get(key) != 's' || map.size != 1 || map.get({x: 4}) ||\n map.set({x: 4}, 't') != map || map.size != 2) {\n return false;\n }\n var /** !Iterator<!Array> */ iter = map.entries();\n var item = iter.next();\n if (item.done || item.value[0] != key || item.value[1] != 's') {\n return false;\n }\n item = iter.next();\n if (item.done || item.value[0].x != 4 ||\n item.value[1] != 't' || !iter.next().done) {\n return false;\n }\n return true;\n } catch (err) { // This should hopefully never happen, but let's be safe.\n return false;\n }\n }\n\n if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\n if (NativeMap && $jscomp.ES6_CONFORMANCE) return NativeMap;\n } else {\n if (isConformant()) return NativeMap;\n }\n\n // We depend on Symbol.iterator, so ensure it's loaded.\n $jscomp.initSymbolIterator();\n\n\n /** @const {!WeakMap<!Object, string>} */\n var idMap = new WeakMap();\n\n\n /**\n * Polyfill for the global Map data type.\n * @constructor\n * @struct\n * @extends {Map<KEY, VALUE>}\n * @implements {Iterable<!Array<KEY|VALUE>>}\n * @template KEY, VALUE\n * @param {!Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\n * opt_iterable Optional data to populate the map.\n */\n // TODO(sdh): fix param type if heterogeneous arrays ever supported.\n var PolyfillMap = function(opt_iterable) {\n /** @private {!Object<!Array<!$jscomp.MapEntry<KEY, VALUE>>>} */\n this.data_ = {};\n\n /** @private {!$jscomp.MapEntry<KEY, VALUE>} */\n this.head_ = createHead();\n\n // Note: this property should not be changed. If we're willing to give up\n // ES3 support, we could define it as a property directly. It should be\n // marked readonly if such an annotation ever comes into existence.\n /** @type {number} */\n this.size = 0;\n\n if (opt_iterable) {\n var iter = $jscomp.makeIterator(opt_iterable);\n var entry;\n while (!(entry = iter.next()).done) {\n var item =\n /** @type {!IIterableResult<!Array<KEY|VALUE>>} */ (entry).value;\n this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\n }\n }\n };\n\n\n /** @override */\n PolyfillMap.prototype.set = function(key, value) {\n // normalize -0/+0 to +0\n key = key === 0 ? 0 : key;\n var r = maybeGetEntry(this, key);\n if (!r.list) {\n r.list = (this.data_[r.id] = []);\n }\n if (!r.entry) {\n r.entry = {\n next: this.head_,\n previous: this.head_.previous,\n head: this.head_,\n key: key,\n value: value,\n };\n r.list.push(r.entry);\n this.head_.previous.next = r.entry;\n this.head_.previous = r.entry;\n this.size++;\n } else {\n r.entry.value = value;\n }\n return this;\n };\n\n\n /** @override */\n PolyfillMap.prototype.delete = function(key) {\n var r = maybeGetEntry(this, key);\n if (r.entry && r.list) {\n r.list.splice(r.index, 1);\n if (!r.list.length) delete this.data_[r.id];\n r.entry.previous.next = r.entry.next;\n r.entry.next.previous = r.entry.previous;\n r.entry.head = null;\n this.size--;\n return true;\n }\n return false;\n };\n\n\n /** @override */\n PolyfillMap.prototype.clear = function() {\n this.data_ = {};\n this.head_ = this.head_.previous = createHead();\n this.size = 0;\n };\n\n\n /** @override */\n PolyfillMap.prototype.has = function(key) {\n return !!(maybeGetEntry(this, key).entry);\n };\n\n\n /** @override */\n PolyfillMap.prototype.get = function(key) {\n var entry = maybeGetEntry(this, key).entry;\n // NOTE: this cast is a lie, but so is the extern.\n return /** @type {VALUE} */ (entry &&\n /** @type {VALUE} */ (entry.value));\n };\n\n\n /** @override */\n PolyfillMap.prototype.entries = function() {\n return makeIterator(this, /** @return {!Array<(KEY|VALUE)>} */ function(\n /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\n return ([entry.key, entry.value]);\n });\n };\n\n\n /** @override */\n PolyfillMap.prototype.keys = function() {\n return makeIterator(this, /** @return {KEY} */ function(\n /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\n return entry.key;\n });\n };\n\n\n /** @override */\n PolyfillMap.prototype.values = function() {\n return makeIterator(this, /** @return {VALUE} */ function(\n /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\n return entry.value;\n });\n };\n\n\n /** @override */\n PolyfillMap.prototype.forEach = function(callback, opt_thisArg) {\n var iter = this.entries();\n var item;\n while (!(item = iter.next()).done) {\n var entry = item.value;\n callback.call(\n /** @type {?} */ (opt_thisArg),\n /** @type {VALUE} */ (entry[1]),\n /** @type {KEY} */ (entry[0]),\n this);\n }\n };\n\n\n /** @type {?} */ (PolyfillMap.prototype)[Symbol.iterator] =\n PolyfillMap.prototype.entries;\n\n\n /**\n * Returns an entry or undefined.\n * @param {!PolyfillMap<KEY, VALUE>} map\n * @param {KEY} key\n * @return {{id: string,\n * list: (!Array<!$jscomp.MapEntry<KEY, VALUE>>|undefined),\n * index: number,\n * entry: (!$jscomp.MapEntry<KEY, VALUE>|undefined)}}\n * @template KEY, VALUE\n */\n var maybeGetEntry = function(map, key) {\n var id = getId(key);\n var list = map.data_[id];\n if (list && $jscomp.owns(map.data_, id)) {\n for (var index = 0; index < list.length; index++) {\n var entry = list[index];\n if ((key !== key && entry.key !== entry.key) || key === entry.key) {\n return {id: id, list: list, index: index, entry: entry};\n }\n }\n }\n return {id: id, list: list, index: -1, entry: undefined};\n };\n\n\n /**\n * Maps over the entries with the given function.\n * @param {!PolyfillMap<KEY, VALUE>} map\n * @param {function(!$jscomp.MapEntry<KEY, VALUE>): T} func\n * @return {!IteratorIterable<T>}\n * @template KEY, VALUE, T\n * @private\n */\n var makeIterator = function(map, func) {\n var entry = map.head_;\n return $jscomp.iteratorPrototype(function() {\n if (entry) {\n while (entry.head != map.head_) {\n entry = entry.previous;\n }\n while (entry.next != entry.head) {\n entry = entry.next;\n return {done: false, value: func(entry)};\n }\n entry = null; // make sure depletion is permanent\n }\n return {done: true, value: void 0};\n });\n };\n\n\n /**\n * Makes a new \"head\" element.\n * @return {!$jscomp.MapEntry<KEY, VALUE>}\n * @template KEY, VALUE\n * @suppress {checkTypes} ignore missing key/value for head only\n */\n var createHead = function() {\n var head = /** type {!$jscomp.MapEntry<KEY, VALUE>} */ ({});\n head.previous = head.next = head.head = head;\n return head;\n };\n\n\n /**\n * Counter for generating IDs.\n * @private {number}\n */\n var mapIndex = 0;\n\n\n /**\n * @param {*} obj An extensible object.\n * @return {string} A unique ID.\n */\n var getId = function(obj) {\n var type = obj && typeof obj;\n if (type == 'object' || type == 'function') {\n obj = /** @type {!Object} */ (obj);\n if (!idMap.has(obj)) {\n var id = '' + (++mapIndex);\n idMap.set(obj, id);\n return id;\n }\n return idMap.get(obj);\n }\n // Add a prefix since obj could be '__proto__';\n return 'p_' + obj;\n };\n\n\n return PolyfillMap;\n}, 'es6', 'es3');\n",
  878. "js/es6/math.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Brings in all ES6 Math polyfills.\n * @suppress {uselessCode}\n */\n'require es6/math/acosh';\n'require es6/math/asinh';\n'require es6/math/atanh';\n'require es6/math/cbrt';\n'require es6/math/clz32';\n'require es6/math/cosh';\n'require es6/math/expm1';\n'require es6/math/fround';\n'require es6/math/hypot';\n'require es6/math/imul';\n'require es6/math/log10';\n'require es6/math/log1p';\n'require es6/math/log2';\n'require es6/math/sign';\n'require es6/math/sinh';\n'require es6/math/tanh';\n'require es6/math/trunc';\n",
  879. "js/es6/math/acosh.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.acosh', function(orig) {\n if (orig) return orig;\n\n /**\n * Computes the inverse hyperbolic cosine.\n *\n * <p>Polyfills the static function Math.acosh().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The inverse hyperbolic cosine of x.\n */\n var polyfill = function(x) {\n x = Number(x);\n return Math.log(x + Math.sqrt(x * x - 1));\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  880. "js/es6/math/asinh.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.asinh', function(orig) {\n if (orig) return orig;\n\n /**\n * Computes the inverse hyperbolic sine.\n *\n * <p>Polyfills the static function Math.asinh().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The inverse hyperbolic sine of x.\n */\n var polyfill = function(x) {\n x = Number(x);\n if (x === 0) return x;\n var y = Math.log(Math.abs(x) + Math.sqrt(x * x + 1));\n return x < 0 ? -y : y;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  881. "js/es6/math/atanh.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n'require es6/math/log1p';\n\n$jscomp.polyfill('Math.atanh', function(orig) {\n if (orig) return orig;\n var log1p = Math.log1p;\n\n /**\n * Computes the inverse hyperbolic tangent.\n *\n * <p>Polyfills the static function Math.atanh().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The inverse hyperbolic tangent +x.\n */\n var polyfill = function(x) {\n x = Number(x);\n return (log1p(x) - log1p(-x)) / 2;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  882. "js/es6/math/cbrt.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.cbrt', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns the cube root of the number, handling negatives safely.\n *\n * <p>Polyfills the static function Math.cbrt().\n *\n * @param {number} x Any number, or value that can be coerced into a number.\n * @return {number} The cube root of x.\n */\n var polyfill = function(x) {\n if (x === 0) return x;\n x = Number(x);\n var y = Math.pow(Math.abs(x), 1 / 3);\n return x < 0 ? -y : y;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  883. "js/es6/math/clz32.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.clz32', function(orig) {\n if (orig) return orig;\n\n /**\n * Counts the leading zeros in the 32-bit binary representation.\n *\n * <p>Polyfills the static function Math.clz32().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The number of leading zero bits.\n */\n var polyfill = function(x) {\n // This binary search algorithm is taken from v8.\n x = Number(x) >>> 0; // first ensure we have a 32-bit unsigned integer.\n if (x === 0) return 32;\n var result = 0;\n if ((x & 0xFFFF0000) === 0) {\n x <<= 16;\n result += 16;\n }\n if ((x & 0xFF000000) === 0) {\n x <<= 8;\n result += 8;\n }\n if ((x & 0xF0000000) === 0) {\n x <<= 4;\n result += 4;\n }\n if ((x & 0xC0000000) === 0) {\n x <<= 2;\n result += 2;\n }\n if ((x & 0x80000000) === 0) result++;\n return result;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  884. "js/es6/math/cosh.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.cosh', function(orig) {\n if (orig) return orig;\n var exp = Math.exp;\n\n /**\n * Computes the hyperbolic cosine.\n *\n * <p>Polyfills the static function Math.cosh().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The hyperbolic cosine of x.\n */\n var polyfill = function(x) {\n x = Number(x);\n return (exp(x) + exp(-x)) / 2;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  885. "js/es6/math/expm1.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Implements Math.expm1 polyfill\n * @suppress {uselessCode}\n */\n'require util/polyfill';\n\n$jscomp.polyfill('Math.expm1', function(orig) {\n if (orig) return orig;\n\n /**\n * Exponentiates x and then subtracts one. This is implemented in a\n * way that is accurate for numbers close to zero.\n *\n * <p>Polyfills the static function Math.expm1().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The exponential of x, less 1.\n */\n var polyfill = function(x) {\n // This implementation is based on the Taylor expansion\n // exp(x) ~ 1 + x + x^2/2 + x^3/6 + x^4/24 + ...\n x = Number(x);\n if (x < .25 && x > -.25) {\n var y = x;\n var d = 1;\n var z = x;\n var zPrev = 0;\n while (zPrev != z) {\n y *= x / (++d);\n z = (zPrev = z) + y;\n }\n return z;\n }\n return Math.exp(x) - 1;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  886. "js/es6/math/fround.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n'require util/defines';\n\n$jscomp.polyfill('Math.fround', function(orig) {\n if (orig) return orig;\n\n if ($jscomp.SIMPLE_FROUND_POLYFILL || typeof Float32Array !== 'function') {\n // Explicitly requested a no-op polyfill, or Float32Array not available.\n return /** @return {number} */ function(/** number */ arg) {\n return arg;\n };\n }\n\n var arr = new Float32Array(1);\n /**\n * Rounds the given double-precision number to single-precision (float32).\n *\n * Polyfills the static function Math.fround().\n *\n * This polyfill is slightly incorrect for IE8 and IE9, where it performs no\n * rounding at all. This is generally not a problem, since Math.fround is\n * primarily used for optimization (to force faster 32-bit operations rather\n * than 64-bit), but in cases where (a) the logic actually depends on a\n * correct fround implementation and (b) the application targets very old\n * browsers, this polyfill will be insufficient. For that case, see\n * https://gist.github.com/shicks/7a97ec6b3f10212e60a89a7f6d2d097d for a\n * more correct polyfill that does not depend on Float32Array.\n *\n * @param {number} arg A 64-bit double-precision number.\n * @return {number} The closest float32 to the argument.\n */\n var polyfill = function(arg) {\n arr[0] = arg;\n return arr[0];\n };\n return polyfill;\n}, 'es6', 'es3');\n",
  887. "js/es6/math/hypot.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.hypot', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns the sum of its arguments in quadrature.\n *\n * <p>Polyfills the static function Math.hypot().\n *\n * @param {...number} var_args Any number, or value that can be coerced to a\n * number.\n * @return {number} The square root of the sum of the squares.\n */\n var polyfill = function(var_args) {\n if (arguments.length < 2) {\n return arguments.length ? Math.abs(arguments[0]) : 0;\n }\n\n var i, z, sum, max;\n // Note: we need to normalize the numbers in case of over/underflow.\n for (max = 0, i = 0; i < arguments.length; i++) {\n max = Math.max(max, Math.abs(arguments[i]));\n }\n // TODO(sdh): Document where these constants come from.\n if (max > 1e100 || max < 1e-100) {\n if (!max) return max; // Handle 0 and NaN before trying to divide.\n sum = 0;\n for (i = 0; i < arguments.length; i++) {\n z = Number(arguments[i]) / max;\n sum += z * z;\n }\n return Math.sqrt(sum) * max;\n } else {\n sum = 0;\n for (i = 0; i < arguments.length; i++) {\n z = Number(arguments[i]);\n sum += z * z;\n }\n return Math.sqrt(sum);\n }\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  888. "js/es6/math/imul.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.imul', function(orig) {\n if (orig) return orig;\n\n /**\n * Performs C-like 32-bit signed integer multiplication.\n *\n * <p>Polyfills the static function Math.imul().\n *\n * @param {number} a Any number, or value that can be coerced to a number.\n * @param {number} b Any number, or value that can be coerced to a number.\n * @return {number} The 32-bit integer product of a and b.\n */\n var polyfill = function(a, b) {\n // This algorithm is taken from v8.\n // Note: If multiplication overflows 32 bits, then we risk losing\n // precision. We must therefore break the inputs into 16-bit\n // words and multiply separately.\n a = Number(a);\n b = Number(b);\n var ah = (a >>> 16) & 0xFFFF; // Treat individual words as unsigned\n var al = a & 0xFFFF;\n var bh = (b >>> 16) & 0xFFFF;\n var bl = b & 0xFFFF;\n var lh = ((ah * bl + al * bh) << 16) >>> 0; // >>> 0 casts to uint\n return (al * bl + lh) | 0; // | 0 casts back to signed\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  889. "js/es6/math/log10.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.log10', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns the base-10 logarithm.\n *\n * <p>Polyfills the static function Math.log10().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The common log of x.\n */\n var polyfill = function(x) {\n return Math.log(x) / Math.LN10;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  890. "js/es6/math/log1p.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.log1p', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns the natural logarithm of 1+x, implemented in a way that is\n * accurate for numbers close to zero.\n *\n * <p>Polyfills the static function Math.log1p().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The natural log of 1+x.\n */\n var polyfill = function(x) {\n // This implementation is based on the Taylor expansion\n // log(1 + x) ~ x - x^2/2 + x^3/3 - x^4/4 + x^5/5 - ...\n x = Number(x);\n if (x < 0.25 && x > -0.25) {\n var y = x;\n var d = 1;\n var z = x;\n var zPrev = 0;\n var s = 1;\n while (zPrev != z) {\n y *= x;\n s *= -1;\n z = (zPrev = z) + s * y / (++d);\n }\n return z;\n }\n return Math.log(1 + x);\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  891. "js/es6/math/log2.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.log2', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns the base-2 logarithm.\n *\n * <p>Polyfills the static function Math.log2().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The base-2 log of x.\n */\n var polyfill = function(x) {\n return Math.log(x) / Math.LN2;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  892. "js/es6/math/sign.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.sign', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns the sign of the number, indicating whether it is\n * positive, negative, or zero.\n *\n * <p>Polyfills the static function Math.sign().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The sign, +1 if x is positive, -1 if x is\n * negative, or 0 if x is zero.\n */\n var polyfill = function(x) {\n x = Number(x);\n return x === 0 || isNaN(x) ? x : x > 0 ? 1 : -1;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  893. "js/es6/math/sinh.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.sinh', function(orig) {\n if (orig) return orig;\n var exp = Math.exp;\n\n /**\n * Computes the hyperbolic sine.\n *\n * <p>Polyfills the static function Math.sinh().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The hyperbolic sine of x.\n */\n var polyfill = function(x) {\n x = Number(x);\n if (x === 0) return x;\n return (exp(x) - exp(-x)) / 2;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  894. "js/es6/math/tanh.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.tanh', function(orig) {\n if (orig) return orig;\n\n /**\n * Computes the hyperbolic tangent.\n *\n * <p>Polyfills the static function Math.tanh().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number} The hyperbolic tangent of x.\n */\n var polyfill = function(x) {\n x = Number(x);\n if (x === 0) return x;\n // Ensure exponent is negative to prevent overflow.\n var y = Math.exp(-2 * Math.abs(x));\n var z = (1 - y) / (1 + y);\n return x < 0 ? -z : z;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  895. "js/es6/math/trunc.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Math.trunc', function(orig) {\n if (orig) return orig;\n\n /**\n * Truncates any fractional digits from its argument (towards zero).\n *\n * <p>Polyfills the static function Math.trunc().\n *\n * @param {number} x Any number, or value that can be coerced to a number.\n * @return {number}\n */\n var polyfill = function(x) {\n x = Number(x);\n if (isNaN(x) || x === Infinity || x === -Infinity || x === 0) return x;\n var y = Math.floor(Math.abs(x));\n return x < 0 ? -y : y;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  896. "js/es6/modules/runtime.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Light weight implementation of a module loader that is based on\n * CommonJS.\n *\n * This is meant to be used by the Closure Library to help debug load transpiled\n * ES6 modules. Closure can transpile ES6 modules to a function that is\n * compatible with registerModule. Then it can call the global $jscomp.require\n * when it wants to retrieve a reference to the module object.\n *\n * Example:\n * \"import {x} from './other.js'; export {x as Y}; use(x);\"\n *\n * Might be transpiled as:\n *\n * $jscomp.registerModule(function($$exports, $$require, $$module) {\n * Object.defineProperties($$exports, {\n * Y: enumerable: true, get: function() { return module$other.x }\n * });\n * const module$other = $$require('./other.js');\n * use(module$other.x);\n * }, 'example.js', ['./other.js']);\n *\n * @suppress {uselessCode} The require statements below are not useless.\n */\n\n'require base';\n'require es6/map';\n'require es6/set';\n'require util/global';\n\n(function() {\n/**\n * @param {string} id\n * @param {?=} opt_exports\n *\n * @struct @constructor @final\n */\nvar Module = function(id, opt_exports) {\n /** @const {string} */\n this.id = id;\n /** @type {?} */\n this.exports = opt_exports || {};\n};\n\n\n/**\n * @param {?} other\n */\nModule.prototype.exportAllFrom = function(other) {\n var module = this;\n var define = {};\n for (var key in other) {\n if (key == 'default' || key in module.exports || key in define) {\n continue;\n }\n define[key] = {\n enumerable: true,\n get: (function(key) {\n return function() {\n return other[key];\n };\n })(key)\n };\n }\n $jscomp.global.Object.defineProperties(module.exports, define);\n};\n\n\n/**\n * @param {?function(function(string), ?, !Module)} def The module definition\n * function which has the arguments (require, exports, module).\n * @param {!Module} module\n * @param {string} path\n *\n * @struct @constructor @final\n */\nvar CacheEntry = function(def, module, path) {\n /** @type {?function(function(string), ?, !Module)} */\n this.def = def;\n /** @type {!Module} */\n this.module = module;\n /** @type {string} */\n this.path = path;\n /** @const {!Set<string>} */\n this.blockingDeps = new Set();\n};\n\n\n/**\n * Loads the module by calling its module definition function if it has not\n * already been loaded.\n *\n * @return {?} The module's exports property.\n */\nCacheEntry.prototype.load = function() {\n if (this.def) {\n var def = this.def;\n this.def = null;\n callRequireCallback(def, this.module);\n }\n\n return this.module.exports;\n};\n\n\n/**\n * @param {function(function(string), ?, !Module)|function(function(string))}\n * callback A module definition function with arguments (require, exports,\n * module) or a require.ensure callback which has the argument (require).\n * @param {!Module=} opt_module If provided then the callback is assumed to be\n * this module's definition function.\n */\nfunction callRequireCallback(callback, opt_module) {\n var oldPath = currentModulePath;\n\n try {\n if (opt_module) {\n currentModulePath = opt_module.id;\n callback.call(\n opt_module, createRequire(opt_module), opt_module.exports,\n opt_module);\n } else {\n callback($jscomp.require);\n }\n } finally {\n currentModulePath = oldPath;\n }\n}\n\n\n/** @type {!Map<string, !CacheEntry>} */\nvar moduleCache = new Map();\n\n\n/** @type {string} */\nvar currentModulePath = '';\n\n\n/**\n * Normalize a file path by removing redundant \"..\" and extraneous \".\" file\n * path components.\n *\n * @param {string} path\n * @return {string}\n */\nfunction normalizePath(path) {\n var components = path.split('/');\n var i = 0;\n while (i < components.length) {\n if (components[i] == '.') {\n components.splice(i, 1);\n } else if (\n i && components[i] == '..' && components[i - 1] &&\n components[i - 1] != '..') {\n components.splice(--i, 2);\n } else {\n i++;\n }\n }\n return components.join('/');\n}\n\n\n/** @return {?string} */\n$jscomp.getCurrentModulePath = function() {\n return currentModulePath;\n};\n\n\n/**\n * @param {string} id\n * @return {!CacheEntry}\n */\nfunction getCacheEntry(id) {\n var cacheEntry = moduleCache.get(id);\n if (cacheEntry === undefined) {\n throw new Error('Module ' + id + ' does not exist.');\n }\n return cacheEntry;\n}\n\n\n/**\n * Map of absolute module path to list of require.ensure callbacks waiting for\n * the given module to load.\n *\n * @const {!Map<string, !Array<!CallbackEntry>>}\n */\nvar ensureMap = new Map();\n\n\n/**\n * @param {!Set<string>} requireSet\n * @param {function(function(string))} callback\n *\n * @struct @constructor @final\n */\nvar CallbackEntry = function(requireSet, callback) {\n /** @const */\n this.requireSet = requireSet;\n /** @const */\n this.callback = callback;\n};\n\n\n/**\n * Normalizes two paths if the second is relative.\n *\n * @param {string} root\n * @param {string} absOrRelativePath\n * @return {string}\n */\nfunction maybeNormalizePath(root, absOrRelativePath) {\n if (absOrRelativePath.startsWith('./') ||\n absOrRelativePath.startsWith('../')) {\n return normalizePath(root + '/../' + absOrRelativePath);\n } else {\n return absOrRelativePath;\n }\n}\n\n\n/**\n * Creates a require function which resolves paths against the given module, if\n * any.\n *\n * @param {!Module=} opt_module\n * @return {function(string):?}\n */\nfunction createRequire(opt_module) {\n /**\n * @param {string} absOrRelativePath\n * @return {?}\n */\n function require(absOrRelativePath) {\n var absPath = absOrRelativePath;\n if (opt_module) {\n absPath = maybeNormalizePath(opt_module.id, absPath);\n }\n return getCacheEntry(absPath).load();\n }\n\n /**\n * @param {!Array<string>} requires\n * @param {function(function(string))} callback\n */\n function requireEnsure(requires, callback) {\n if (currentModulePath) {\n for (var i = 0; i < requires.length; i++) {\n requires[i] = maybeNormalizePath(currentModulePath, requires[i]);\n }\n }\n\n var blockingRequires = [];\n for (var i = 0; i < requires.length; i++) {\n var required = moduleCache.get(requires[i]);\n if (!required || required.blockingDeps.size) {\n blockingRequires.push(requires[i]);\n }\n }\n\n if (blockingRequires.length) {\n var requireSet = new Set(blockingRequires);\n var callbackEntry = new CallbackEntry(requireSet, callback);\n requireSet.forEach(function(require) {\n var arr = ensureMap.get(require);\n if (!arr) {\n arr = [];\n ensureMap.set(require, arr);\n }\n arr.push(callbackEntry);\n });\n } else {\n callback(require);\n }\n }\n require.ensure = requireEnsure;\n\n return require;\n}\n\n\n/** @const {function(string): ?} */\n$jscomp.require = createRequire();\n\n\n/**\n * @param {string} id\n * @return {boolean}\n */\n$jscomp.hasModule = function(id) {\n return moduleCache.has(id);\n};\n\n\n/**\n * Marks the given module as being available and calls any require.ensure\n * callbacks waiting for it.\n *\n * @param {string} absModulePath\n */\nfunction markAvailable(absModulePath) {\n var ensures = ensureMap.get(absModulePath);\n\n if (ensures) {\n for (var i = 0; i < ensures.length; i++) {\n var entry = ensures[i];\n entry.requireSet.delete(absModulePath);\n if (!entry.requireSet.size) {\n ensures.splice(i--, 1);\n callRequireCallback(entry.callback);\n }\n }\n\n if (!ensures.length) {\n ensureMap.delete(absModulePath);\n }\n }\n}\n\n\n/**\n * Registers a CommonJS-like module for use with this runtime. Does not execute\n * the module until it is required.\n *\n * @param {function(function(string), ?, !Module)} moduleDef The module\n * definition.\n * @param {string} absModulePath\n * @param {!Array<string>=} opt_shallowDeps List of dependencies this module\n * directly depends on. Paths can be relative to the given module. This\n * module will considered available until all of its dependencies are also\n * available for require.\n */\n$jscomp.registerModule = function(moduleDef, absModulePath, opt_shallowDeps) {\n if (moduleCache.has(absModulePath)) {\n throw new Error(\n 'Module ' + absModulePath + ' has already been registered.');\n }\n\n if (currentModulePath) {\n throw new Error('Cannot nest modules.');\n }\n\n var shallowDeps = opt_shallowDeps || [];\n for (var i = 0; i < shallowDeps.length; i++) {\n shallowDeps[i] = maybeNormalizePath(absModulePath, shallowDeps[i]);\n }\n\n var /** !Set<string> */ blockingDeps = new Set();\n for (var i = 0; i < shallowDeps.length; i++) {\n getTransitiveBlockingDepsOf(shallowDeps[i]).forEach(function(transitive) {\n blockingDeps.add(transitive);\n });\n }\n\n // Make sure this module isn't blocking itself in the event of a cycle.\n blockingDeps.delete(absModulePath);\n\n var cacheEntry =\n new CacheEntry(moduleDef, new Module(absModulePath), absModulePath);\n moduleCache.set(absModulePath, cacheEntry);\n\n blockingDeps.forEach(function(blocker) {\n addAsBlocking(cacheEntry, blocker);\n });\n\n if (!blockingDeps.size) {\n markAvailable(cacheEntry.module.id);\n }\n\n removeAsBlocking(cacheEntry);\n};\n\n\n/**\n * @param {string} moduleId\n * @return {!Set<string>}\n */\nfunction getTransitiveBlockingDepsOf(moduleId) {\n var cacheEntry = moduleCache.get(moduleId);\n var /** !Set<string> */ blocking = new Set();\n\n if (cacheEntry) {\n cacheEntry.blockingDeps.forEach(function(dep) {\n getTransitiveBlockingDepsOf(dep).forEach(function(transitive) {\n blocking.add(transitive);\n });\n });\n } else {\n blocking.add(moduleId);\n }\n\n return blocking;\n}\n\n\n/** @const {!Map<string, !Set<!CacheEntry>>} */\nvar blockingModulePathToBlockedModules = new Map();\n\n\n/**\n * @param {!CacheEntry} blocked\n * @param {string} blocker\n */\nfunction addAsBlocking(blocked, blocker) {\n if (blocked.module.id != blocker) {\n var blockedModules = blockingModulePathToBlockedModules.get(blocker);\n\n if (!blockedModules) {\n blockedModules = new Set();\n blockingModulePathToBlockedModules.set(blocker, blockedModules);\n }\n\n blockedModules.add(blocked);\n blocked.blockingDeps.add(blocker);\n }\n}\n\n\n/**\n * Marks the given module as no longer blocking any modules. Instead marks the\n * module's blockers as blocking these modules. If this totally unblocks a\n * module it is marked as available.\n *\n * @param {!CacheEntry} cacheEntry\n */\nfunction removeAsBlocking(cacheEntry) {\n var blocked = blockingModulePathToBlockedModules.get(cacheEntry.module.id);\n\n if (blocked) {\n blockingModulePathToBlockedModules.delete(cacheEntry.module.id);\n\n blocked.forEach(function(blockedCacheEntry) {\n blockedCacheEntry.blockingDeps.delete(cacheEntry.module.id);\n\n cacheEntry.blockingDeps.forEach(function(blocker) {\n addAsBlocking(blockedCacheEntry, blocker);\n });\n\n if (!blockedCacheEntry.blockingDeps.size) {\n removeAsBlocking(blockedCacheEntry);\n markAvailable(blockedCacheEntry.module.id);\n }\n });\n }\n}\n\n\n/**\n * Forces module evaluation as soon as it is available for require.\n *\n * @param {function(function(string), ?, !Module)} moduleDef\n * @param {string} absModulePath\n * @param {!Array<string>} shallowDeps\n * @suppress {strictMissingProperties} \"ensure\" is not declared.\n */\n$jscomp.registerAndLoadModule = function(\n moduleDef, absModulePath, shallowDeps) {\n $jscomp.require.ensure([absModulePath], function(require) {\n require(absModulePath);\n });\n $jscomp.registerModule(moduleDef, absModulePath, shallowDeps);\n};\n\n\n/**\n * Registers an object as if it is the exports of an ES6 module so that it may\n * be retrieved via $jscomp.require.\n *\n * Used by Closure Library in the event that only some ES6 modules need\n * transpilation.\n *\n * @param {string} absModulePath\n * @param {?} exports\n */\n$jscomp.registerEs6ModuleExports = function(absModulePath, exports) {\n if (moduleCache.has(absModulePath)) {\n throw new Error(\n 'Module at path ' + absModulePath + ' is already registered.');\n }\n\n var entry =\n new CacheEntry(null, new Module(absModulePath, exports), absModulePath);\n moduleCache.set(absModulePath, entry);\n markAvailable(absModulePath);\n};\n\n\n/**\n * Hook to clear all loaded modules. Meant to only be used by tests.\n */\n$jscomp.clearModules = function() {\n moduleCache.clear();\n};\n})();\n",
  897. "js/es6/nopolyfill.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * @fileoverview Specifies objects that the compiler does NOT polyfill.\n * NOTE: this file should never be injected, since all the implementations\n * are null.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Proxy', null, 'es6', 'es6');\n\n$jscomp.polyfill('String.raw', null, 'es6', 'es6');\n$jscomp.polyfill('String.prototype.normalize', null, 'es6', 'es6');\n",
  898. "js/es6/number.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Brings in all ES6 Number polyfills.\n */\n'require es6/number/constants';\n'require es6/number/isfinite';\n'require es6/number/isinteger';\n'require es6/number/isnan';\n'require es6/number/issafeinteger';\n'require es6/number/parsefloat';\n'require es6/number/parseint';\n",
  899. "js/es6/number/constants.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n\n$jscomp.polyfill('Number.EPSILON', function(orig) {\n /**\n * The difference 1 and the smallest number greater than 1.\n *\n * <p>Polyfills the static field Number.EPSILON.\n */\n return Math.pow(2, -52);\n}, 'es6', 'es3');\n\n\n$jscomp.polyfill('Number.MAX_SAFE_INTEGER', function() {\n /**\n * The maximum safe integer, 2^53 - 1.\n *\n * <p>Polyfills the static field Number.MAX_SAFE_INTEGER.\n */\n return 0x1fffffffffffff;\n}, 'es6', 'es3');\n\n\n$jscomp.polyfill('Number.MIN_SAFE_INTEGER', function() {\n /**\n * The minimum safe integer, -(2^53 - 1).\n *\n * <p>Polyfills the static field Number.MIN_SAFE_INTEGER.\n */\n return -0x1fffffffffffff;\n}, 'es6', 'es3');\n",
  900. "js/es6/number/isfinite.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Number.isFinite', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns whether the given argument is a finite number.\n *\n * <p>Polyfills the static function Number.isFinite().\n *\n * @param {number} x Any value.\n * @return {boolean} True if x is a number and not NaN or infinite.\n */\n var polyfill = function(x) {\n if (typeof x !== 'number') return false;\n return !isNaN(x) && x !== Infinity && x !== -Infinity;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  901. "js/es6/number/isinteger.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/number/isfinite';\n'require util/polyfill';\n\n$jscomp.polyfill('Number.isInteger', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns whether the given argument is an integer.\n *\n * <p>Polyfills the static function Number.isInteger().\n *\n * @param {number} x Any value.\n * @return {boolean} True if x is an integer.\n */\n var polyfill = function(x) {\n if (!Number.isFinite(x)) return false;\n return x === Math.floor(x);\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  902. "js/es6/number/isnan.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Number.isNaN', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns whether the given argument is the value NaN,\n * guaranteeing not to coerce to a number first.\n *\n * <p>Polyfills the static function Number.isNaN().\n *\n * @param {number} x Any value.\n * @return {boolean} True if x is exactly NaN.\n */\n var polyfill = function(x) {\n return typeof x === 'number' && isNaN(x);\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  903. "js/es6/number/issafeinteger.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/number/constants';\n'require es6/number/isinteger';\n'require util/polyfill';\n\n$jscomp.polyfill('Number.isSafeInteger', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns whether the given argument is a \"safe\" integer,\n * that is, its magnitude is less than 2^53.\n *\n * <p>Polyfills the static function Number.isSafeInteger().\n *\n * @param {number} x Any value.\n * @return {boolean} True if x is a safe integer.\n */\n var polyfill = function(x) {\n return Number.isInteger(x) && Math.abs(x) <= Number.MAX_SAFE_INTEGER;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  904. "js/es6/number/parsefloat.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Number.parseFloat', function(orig) {\n return orig || parseFloat;\n}, 'es6', 'es3');\n",
  905. "js/es6/number/parseint.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Number.parseInt', function(orig) {\n return orig || parseInt;\n}, 'es6', 'es3');\n",
  906. "js/es6/object.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Brings in all ES6 Object polyfills.\n * @suppress {uselessCode}\n */\n'require es6/object/assign';\n'require es6/object/entries';\n'require es6/object/fromentries';\n'require es6/object/getownpropertydescriptors';\n'require es6/object/getownpropertysymbols';\n'require es6/object/is';\n'require es6/object/setprototypeof';\n'require es6/object/values';\n",
  907. "js/es6/object/assign.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require es6/util/assign';\n'require util/polyfill';\n\n$jscomp.polyfill('Object.assign', function(orig) {\n return orig || $jscomp.assign;\n}, 'es6', 'es3');\n",
  908. "js/es6/object/entries.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/owns';\n'require util/polyfill';\n\n$jscomp.polyfill('Object.entries', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns an array of [key, value] arrays, one for each entry\n * in the given object.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\n *\n * @param {!Object<KEY, VALUE>} obj\n * @return {!Array<!Array<KEY|VALUE>>}\n * @template KEY, VALUE\n */\n var entries = function(obj) {\n var result = [];\n for (var key in obj) {\n if ($jscomp.owns(obj, key)) {\n result.push([key, obj[key]]);\n }\n }\n return result;\n };\n\n return entries;\n}, 'es8', 'es3');\n",
  909. "js/es6/object/fromentries.js":"/*\n * Copyright 2019 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require es6/symbol';\n'require util/defineproperty';\n'require util/polyfill';\n\n$jscomp.polyfill('Object.fromEntries', function(orig) {\n if (orig) {\n return orig;\n }\n\n /**\n * @param {!Iterable<*>} iter\n * @return {!Object}\n * @see https://github.com/tc39/proposal-object-from-entries/blob/master/polyfill.js\n */\n function fromEntries(iter) {\n var obj = {};\n\n $jscomp.initSymbolIterator();\n\n if (!(Symbol.iterator in iter)) {\n throw new TypeError('' + iter + ' is not iterable');\n }\n\n var iteratorFn = (/** @type {function(): !Iterator<!Object<number, *>>} */ (\n iter[Symbol.iterator]));\n var iterator = iteratorFn.call(iter);\n\n for (var result = iterator.next(); !result.done; result = iterator.next()) {\n var pair = result.value;\n\n if (Object(pair) !== pair) {\n throw new TypeError('iterable for fromEntries should yield objects');\n }\n\n var key = pair[0];\n var val = pair[1];\n obj[key] = val;\n }\n\n return obj;\n }\n\n return fromEntries;\n}, 'es_2019', 'es3');\n",
  910. "js/es6/object/getownpropertydescriptors.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/reflect/ownkeys';\n'require util/polyfill';\n\n$jscomp.polyfill('Object.getOwnPropertyDescriptors', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfills Object.getOwnPropertyDescriptors.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\n *\n * @param {!Object} obj\n * @return {!Object<!ObjectPropertyDescriptor>}\n */\n var getOwnPropertyDescriptors = function(obj) {\n var result = {};\n var keys = Reflect.ownKeys(obj);\n for (var i = 0; i < keys.length; i++) {\n result[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return result;\n };\n\n return getOwnPropertyDescriptors;\n}, 'es8', 'es5');\n",
  911. "js/es6/object/getownpropertysymbols.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Object.getOwnPropertySymbols', function(orig) {\n if (orig) return orig;\n\n // NOTE: The symbol polyfill is a string, so symbols show up in\n // Object.getOwnProperytyNames instead. It's been decided that\n // the trade-off of \"fixing\" this behavior is not worth the costs\n // in (a) code size, (b) brittleness, and (c) complexity.\n return function() { return []; };\n}, 'es6', 'es5'); // Same as Object.getOwnPropertyNames\n",
  912. "js/es6/object/is.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('Object.is', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfill for Object.is() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n *\n * Determines whether two values are the same value (that is,\n * functionally equivalent). This is the same as ===-equality,\n * except for two cases: 0 is not the same as -0, and NaN is\n * the same as NaN.\n *\n * @param {*} left\n * @param {*} right\n * @return {boolean}\n */\n var polyfill = function(left, right) {\n if (left === right) {\n // Handle the 0 === -0 exception\n return (left !== 0) || (1 / left === 1 / /** @type {number} */ (right));\n } else {\n // Handle the NaN !== NaN exception\n return (left !== left) && (right !== right);\n }\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  913. "js/es6/object/setprototypeof.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require util/polyfill';\n'require es6/util/setprototypeof';\n\n\n$jscomp.polyfill('Object.setPrototypeOf', function(orig) {\n // Note that $jscomp.setPrototypeOf will be `null` if it isn't possible to\n // implement this method.\n return orig || $jscomp.setPrototypeOf;\n}, 'es6', 'es5');\n",
  914. "js/es6/object/values.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/owns';\n'require util/polyfill';\n\n$jscomp.polyfill('Object.values', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns an array of values from the given object.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\n *\n * @param {!Object<KEY, VALUE>} obj\n * @return {!Array<VALUE>}\n * @template KEY, VALUE\n */\n var values = function(obj) {\n var result = [];\n for (var key in obj) {\n if ($jscomp.owns(obj, key)) {\n result.push(obj[key]);\n }\n }\n return result;\n };\n\n return values;\n}, 'es8', 'es3');\n",
  915. "js/es6/promise.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Brings in all Promise polyfills.\n * @suppress {uselessCode}\n */\n'require es6/promise/promise';\n'require es6/promise/allSettled';\n'require es6/promise/finally';\n",
  916. "js/es6/promise/allSettled.js":"/*\n * Copyright 2019 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require util/polyfill';\n'require es6/promise/promise';\n'require es6/array/from';\n\n$jscomp.polyfill('Promise.allSettled', function(orig) {\n if (orig) return orig;\n\n /**\n * @param {*} value\n * @return {{status: string, value: *}}\n */\n function fulfilledResult(value) {\n return {status: 'fulfilled', value: value};\n }\n\n /**\n * @param {*} reason\n * @return {{status: string, reason: *}}\n */\n function rejectedResult(reason) {\n return {status: 'rejected', reason: reason};\n }\n\n /**\n * These types are weaker than they could be, but they're strong enough for\n * this context.\n * @this {typeof Promise}\n * @param {!Iterable<*>} thenablesOrValues\n * @return {!Promise<!Array<*>>}\n */\n var polyfill = function(thenablesOrValues) {\n // The spec requires allSettled to be called directly on the Promise\n // constructor, which is consistent with its requirement for Promise.all().\n /** @type {typeof Promise} */\n var PromiseConstructor = this;\n\n /**\n * @param {*} maybeThenable\n * @return {!Promise<*>}\n */\n function convertToAllSettledResult(maybeThenable) {\n return PromiseConstructor.resolve(maybeThenable)\n .then(fulfilledResult, rejectedResult);\n }\n\n // Create an array of promises that resolve to the appropriate result\n // objects and never reject.\n var wrappedResults =\n Array.from(thenablesOrValues, convertToAllSettledResult);\n return PromiseConstructor.all(wrappedResults);\n };\n return polyfill;\n}, 'es_2020', 'es3');\n",
  917. "js/es6/promise/finally.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n'require es6/promise/promise';\n\n$jscomp.polyfill('Promise.prototype.finally', function(orig) {\n if (orig) return orig;\n\n /**\n * @this {!Promise<VALUE>}\n * @param {function():?} onFinally\n * @return {!Promise<VALUE>}\n * @template VALUE\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function(onFinally) {\n return this.then(\n function(value) {\n var promise = Promise.resolve(onFinally());\n return promise.then(function () { return value; });\n },\n function(reason) {\n var promise = Promise.resolve(onFinally());\n return promise.then(function () { throw reason; });\n });\n };\n\n return polyfill;\n}, 'es9', 'es3');\n",
  918. "js/es6/promise/promise.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require base';\n'require es6/util/makeiterator';\n'require util/global';\n'require util/polyfill';\n\n/**\n * Should we unconditionally override a native Promise implementation with our\n * own?\n * @define {boolean}\n */\n$jscomp.FORCE_POLYFILL_PROMISE = false;\n\n\n$jscomp.polyfill('Promise',\n /**\n * @param {*} NativePromise\n * @return {*}\n * @suppress {reportUnknownTypes}\n */\n function(NativePromise) {\n // TODO(bradfordcsmith): Do we need to add checks for standards conformance?\n // e.g. The version of FireFox we currently use for testing has a Promise\n // that fails to reject attempts to fulfill it with itself, but that\n // isn't reasonably testable here.\n if (NativePromise && !$jscomp.FORCE_POLYFILL_PROMISE) {\n return NativePromise;\n }\n\n /**\n * Schedules code to be executed asynchronously.\n * @constructor\n * @struct\n */\n function AsyncExecutor() {\n /**\n * Batch of functions to execute.\n *\n * Will be `null` initially and immediately after a batch finishes\n * executing.\n * @private {?Array<function()>}\n */\n this.batch_ = null;\n }\n\n /**\n * Schedule a function to execute asynchronously.\n *\n * - The function will execute:\n * - After the current call stack has completed executing.\n * - After any functions previously scheduled using this object.\n * - The return value will be ignored.\n * - An exception thrown by the method will be caught and asynchronously\n * rethrown when it cannot interrupt any other code. This class provides\n * no way to catch such exceptions.\n * @param {function():?} f\n */\n AsyncExecutor.prototype.asyncExecute = function(f) {\n if (this.batch_ == null) {\n // no batch created yet, or last batch was fully executed\n this.batch_ = [];\n var self = this;\n this.asyncExecuteFunction(function() { self.executeBatch_(); });\n }\n this.batch_.push(f);\n };\n\n // NOTE: We want to make sure AsyncExecutor will work as expected even if\n // testing code should override setTimeout()\n /** @const {function(!Function, number)} */\n var nativeSetTimeout = $jscomp.global['setTimeout'];\n\n /**\n * Schedule a function to execute asynchronously as soon as possible.\n *\n * NOTE: May be overridden for testing.\n * @package\n * @param {function()} f\n */\n AsyncExecutor.prototype.asyncExecuteFunction = function(f) {\n nativeSetTimeout(f, 0);\n };\n\n /**\n * Execute scheduled jobs in a batch until all are executed or the batch\n * execution time limit has been reached.\n * @private\n */\n AsyncExecutor.prototype.executeBatch_ = function() {\n while (this.batch_ && this.batch_.length) {\n var /** !Array<?function()> */ executingBatch = this.batch_;\n // Executions scheduled while executing this batch go into a new one to\n // avoid the batch array getting too big.\n this.batch_ = [];\n for (var i = 0; i < executingBatch.length; ++i) {\n var f = /** @type {function()} */ (executingBatch[i]);\n executingBatch[i] = null; // free memory\n try {\n f();\n } catch (error) {\n this.asyncThrow_(error);\n }\n }\n }\n // All jobs finished executing, so force scheduling a new batch next\n // time asyncExecute() is called.\n this.batch_ = null;\n };\n\n /**\n * @private\n * @param {*} exception\n */\n AsyncExecutor.prototype.asyncThrow_ = function(exception) {\n this.asyncExecuteFunction(function() { throw exception; });\n };\n\n /**\n * @enum {number}\n */\n var PromiseState = {\n /** The Promise is waiting for resolution. */\n PENDING: 0,\n\n /** The Promise has been resolved with a fulfillment value. */\n FULFILLED: 1,\n\n /** The Promise has been resolved with a rejection reason. */\n REJECTED: 2\n };\n\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\n * @param {function(\n * function((TYPE|IThenable<TYPE>|Thenable|null)=),\n * function(*=))} executor\n * @constructor\n * @extends {Promise<TYPE>}\n * @template TYPE\n */\n var PolyfillPromise = function(executor) {\n /** @private {PromiseState} */\n this.state_ = PromiseState.PENDING;\n\n /**\n * The settled result of the Promise. Immutable once set with either a\n * fulfillment value or rejection reason.\n * @private {*}\n */\n this.result_ = undefined;\n\n /**\n * These functions must be asynchronously executed when this promise\n * settles.\n * @private {?Array<function()>}\n */\n this.onSettledCallbacks_ = [];\n\n var resolveAndReject = this.createResolveAndReject_();\n try {\n executor(resolveAndReject.resolve, resolveAndReject.reject);\n } catch (e) {\n resolveAndReject.reject(e);\n }\n };\n\n\n /**\n * Create a pair of functions for resolving or rejecting this Promise.\n *\n * <p>After the resolve or reject function has been called once, later calls\n * do nothing.\n * @private\n * @return {{\n * resolve: function((TYPE|IThenable<TYPE>|Thenable|null)=),\n * reject: function(*=)\n * }}\n */\n PolyfillPromise.prototype.createResolveAndReject_ = function() {\n var thisPromise = this;\n var alreadyCalled = false;\n /**\n * @param {function(this:PolyfillPromise<TYPE>, T=)} method\n * @return {function(T=)}\n * @template T\n */\n function firstCallWins(method) {\n return function(/** T= */ x) {\n if (!alreadyCalled) {\n alreadyCalled = true;\n method.call(thisPromise, x);\n }\n };\n }\n return {\n resolve: firstCallWins(this.resolveTo_),\n reject: firstCallWins(this.reject_)\n };\n };\n\n\n /**\n * @private\n * @param {*=} value\n */\n PolyfillPromise.prototype.resolveTo_ = function(value) {\n if (value === this) {\n this.reject_(new TypeError('A Promise cannot resolve to itself'));\n } else if (value instanceof PolyfillPromise) {\n this.settleSameAsPromise_(/** @type {!PolyfillPromise} */ (value));\n } else if (isObject(value)) {\n this.resolveToNonPromiseObj_(/** @type {!Object} */ (value));\n } else {\n this.fulfill_(value);\n }\n };\n\n\n /**\n * @private\n * @param {!Object} obj\n * @suppress {strictMissingProperties} obj.then\n */\n PolyfillPromise.prototype.resolveToNonPromiseObj_ = function(obj) {\n var thenMethod = undefined;\n\n try {\n thenMethod = obj.then;\n } catch (error) {\n this.reject_(error);\n return;\n }\n if (typeof thenMethod == 'function') {\n this.settleSameAsThenable_(thenMethod, /** @type {!Thenable} */ (obj));\n } else {\n this.fulfill_(obj);\n }\n };\n\n\n /**\n * @param {*} value anything\n * @return {boolean}\n */\n function isObject(value) {\n switch (typeof value) {\n case 'object':\n return value != null;\n case 'function':\n return true;\n default:\n return false;\n }\n }\n\n /**\n * Reject this promise for the given reason.\n * @private\n * @param {*=} reason\n * @throws {!Error} if this promise is already fulfilled or rejected.\n */\n PolyfillPromise.prototype.reject_ = function(reason) {\n this.settle_(PromiseState.REJECTED, reason);\n };\n\n /**\n * Fulfill this promise with the given value.\n * @private\n * @param {!TYPE} value\n * @throws {!Error} when this promise is already fulfilled or rejected.\n */\n PolyfillPromise.prototype.fulfill_ = function(value) {\n this.settle_(PromiseState.FULFILLED, value);\n };\n\n /**\n * Fulfill or reject this promise with the given value/reason.\n * @private\n * @param {!PromiseState} settledState (FULFILLED or REJECTED)\n * @param {*} valueOrReason\n * @throws {!Error} when this promise is already fulfilled or rejected.\n */\n PolyfillPromise.prototype.settle_ = function(settledState, valueOrReason) {\n if (this.state_ != PromiseState.PENDING) {\n throw new Error(\n 'Cannot settle(' + settledState + ', ' + valueOrReason +\n '): Promise already settled in state' + this.state_);\n }\n this.state_ = settledState;\n this.result_ = valueOrReason;\n this.executeOnSettledCallbacks_();\n };\n\n PolyfillPromise.prototype.executeOnSettledCallbacks_ = function() {\n if (this.onSettledCallbacks_ != null) {\n for (var i = 0; i < this.onSettledCallbacks_.length; ++i) {\n asyncExecutor.asyncExecute(this.onSettledCallbacks_[i]);\n }\n this.onSettledCallbacks_ = null; // free memory\n }\n };\n\n /**\n * All promise async execution is managed by a single executor for the\n * sake of efficiency.\n * @const {!AsyncExecutor}\n */\n var asyncExecutor = new AsyncExecutor();\n\n /**\n * Arrange to settle this promise in the same way as the given thenable.\n * @private\n * @param {!PolyfillPromise} promise\n */\n PolyfillPromise.prototype.settleSameAsPromise_ = function(promise) {\n var methods = this.createResolveAndReject_();\n\n // Calling then() would create an unnecessary extra promise.\n promise.callWhenSettled_(methods.resolve, methods.reject);\n };\n\n /**\n * Arrange to settle this promise in the same way as the given thenable.\n * @private\n * @param {function(\n * function((TYPE|IThenable<TYPE>|Thenable|null)=),\n * function(*=))\n * } thenMethod\n * @param {!Thenable} thenable\n */\n PolyfillPromise.prototype.settleSameAsThenable_ = function(\n thenMethod, thenable) {\n var methods = this.createResolveAndReject_();\n\n // Don't trust an unknown thenable implementation not to throw exceptions.\n try {\n thenMethod.call(thenable, methods.resolve, methods.reject);\n } catch (error) {\n methods.reject(error);\n }\n };\n\n /** @override */\n PolyfillPromise.prototype.then = function(onFulfilled, onRejected) {\n var resolveChild;\n var rejectChild;\n var childPromise = new PolyfillPromise(function(resolve, reject) {\n resolveChild = resolve;\n rejectChild = reject;\n });\n function createCallback(paramF, defaultF) {\n // The spec says to ignore non-function values for onFulfilled and\n // onRejected\n if (typeof paramF == 'function') {\n return function(x) {\n try {\n resolveChild(paramF(x));\n } catch (error) {\n rejectChild(error);\n }\n };\n } else {\n return defaultF;\n }\n }\n\n this.callWhenSettled_(\n createCallback(onFulfilled, resolveChild),\n createCallback(onRejected, rejectChild));\n return childPromise;\n };\n\n /** @override */\n PolyfillPromise.prototype.catch = function(onRejected) {\n return this.then(undefined, onRejected);\n };\n\n\n PolyfillPromise.prototype.callWhenSettled_ = function(\n onFulfilled, onRejected) {\n var /** !PolyfillPromise */ thisPromise = this;\n function callback() {\n switch (thisPromise.state_) {\n case PromiseState.FULFILLED:\n onFulfilled(thisPromise.result_);\n break;\n case PromiseState.REJECTED:\n onRejected(thisPromise.result_);\n break;\n default:\n throw new Error('Unexpected state: ' + thisPromise.state_);\n }\n }\n if (this.onSettledCallbacks_ == null) {\n // we've already settled\n asyncExecutor.asyncExecute(callback);\n } else {\n this.onSettledCallbacks_.push(callback);\n }\n };\n\n // called locally, so give it a name\n function resolvingPromise(opt_value) {\n if (opt_value instanceof PolyfillPromise) {\n return opt_value;\n } else {\n return new PolyfillPromise(function(resolve, reject) {\n resolve(opt_value);\n });\n }\n }\n PolyfillPromise['resolve'] = resolvingPromise;\n\n\n PolyfillPromise['reject'] = function(opt_reason) {\n return new PolyfillPromise(function(resolve, reject) {\n reject(opt_reason);\n });\n };\n\n\n PolyfillPromise['race'] = function(thenablesOrValues) {\n return new PolyfillPromise(function(resolve, reject) {\n var /** !Iterator<*> */ iterator =\n $jscomp.makeIterator(thenablesOrValues);\n for (var /** !IIterableResult<*> */ iterRec = iterator.next();\n !iterRec.done;\n iterRec = iterator.next()) {\n // Using resolvingPromise() allows us to treat all elements the same\n // way.\n // NOTE: resolvingPromise(promise) always returns the argument\n // unchanged.\n // Using .callWhenSettled_() instead of .then() avoids creating an\n // unnecessary extra promise.\n resolvingPromise(iterRec.value).callWhenSettled_(resolve, reject);\n }\n });\n };\n\n\n PolyfillPromise['all'] = function(thenablesOrValues) {\n var /** !Iterator<*> */ iterator = $jscomp.makeIterator(thenablesOrValues);\n var /** !IIterableResult<*> */ iterRec = iterator.next();\n\n if (iterRec.done) {\n return resolvingPromise([]);\n } else {\n return new PolyfillPromise(function(resolveAll, rejectAll) {\n var resultsArray = [];\n var unresolvedCount = 0;\n\n function onFulfilled(i) {\n return function(ithResult) {\n resultsArray[i] = ithResult;\n unresolvedCount--;\n if (unresolvedCount == 0) {\n resolveAll(resultsArray);\n }\n };\n }\n\n do {\n resultsArray.push(undefined);\n unresolvedCount++;\n // Using resolvingPromise() allows us to treat all elements the same\n // way.\n // NOTE: resolvingPromise(promise) always returns the argument\n // unchanged. Using .callWhenSettled_() instead of .then() avoids\n // creating an unnecessary extra promise.\n resolvingPromise(iterRec.value)\n .callWhenSettled_(\n onFulfilled(resultsArray.length - 1), rejectAll);\n iterRec = iterator.next();\n } while (!iterRec.done);\n });\n }\n };\n\n return PolyfillPromise;\n}, 'es6', 'es3');\n",
  919. "js/es6/reflect.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Rolls together all ES6 Reflect polyfills.\n */\n'require es6/reflect/apply';\n'require es6/reflect/construct';\n'require es6/reflect/defineproperty';\n'require es6/reflect/deleteproperty';\n'require es6/reflect/get';\n'require es6/reflect/getownpropertydescriptor';\n'require es6/reflect/getprototypeof';\n'require es6/reflect/has';\n'require es6/reflect/isextensible';\n'require es6/reflect/ownkeys';\n'require es6/reflect/preventextensions';\n'require es6/reflect/set';\n'require es6/reflect/setprototypeof';\n",
  920. "js/es6/reflect/apply.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.apply', function(orig) {\n if (orig) return orig;\n var apply = Function.prototype.apply;\n\n /**\n * Polyfill for Reflect.apply() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\n *\n * Calls a target function with arguments as specified, just\n * as Function.prototype.apply.\n *\n * @param {function(this: THIS, ...*): RESULT} target The function to call.\n * @param {THIS} thisArg The 'this' argument.\n * @param {!Array} argList The arguments as a list.\n * @return {RESULT} The result of the function call.\n * @template THIS, RESULT\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function(target, thisArg, argList) {\n return apply.call(target, thisArg, argList);\n };\n return polyfill;\n}, 'es6', 'es3');\n",
  921. "js/es6/reflect/construct.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n\n'require es6/util/construct';\n'require util/polyfill';\n\n$jscomp.polyfill('Reflect.construct', function(orig) {\n // NOTE: This is just Reflect.construct if it's present and functional.\n return $jscomp.construct;\n}, 'es6', 'es3');\n",
  922. "js/es6/reflect/defineproperty.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.defineProperty', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfill for Reflect.defineProperty() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\n *\n * Version of Object.defineProperty that returns a boolean.\n *\n * @param {!Object} target Target on which to define the property.\n * @param {string} propertyKey Name of the property to define.\n * @param {!ObjectPropertyDescriptor} attributes Property attributes.\n * @return {boolean} Whether the property was defined.\n */\n var polyfill = function(target, propertyKey, attributes) {\n try {\n Object.defineProperty(target, propertyKey, attributes);\n var desc = Object.getOwnPropertyDescriptor(target, propertyKey);\n if (!desc) return false;\n return desc.configurable === (attributes.configurable || false) &&\n desc.enumerable === (attributes.enumerable || false) &&\n ('value' in desc ?\n desc.value === attributes.value &&\n desc.writable === (attributes.writable || false) :\n desc.get === attributes.get &&\n desc.set === attributes.set);\n } catch (err) {\n return false;\n }\n };\n return polyfill;\n}, 'es6', 'es5'); // ES5: Requires Object.defineProperty\n",
  923. "js/es6/reflect/deleteproperty.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/owns';\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.deleteProperty', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfill for Reflect.deleteProperty() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\n *\n * Applies the 'delete' operator as a function.\n *\n * @param {!Object} target Target on which to delete the property.\n * @param {string} propertyKey Name of the property to delete.\n * @return {boolean} Whether the property was deleted.\n */\n var polyfill = function(target, propertyKey) {\n if (!$jscomp.owns(target, propertyKey)) {\n return true;\n }\n try {\n return delete target[propertyKey];\n } catch (err) {\n return false;\n }\n };\n return polyfill;\n}, 'es6', 'es3');\n",
  924. "js/es6/reflect/get.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/finddescriptor';\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.get', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfill for Reflect.get() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\n *\n * Applies the 'getprop' operator as a function.\n *\n * @param {!Object} target Target on which to get the property.\n * @param {string} propertyKey Name of the property to get.\n * @param {!Object=} opt_receiver An optional 'this' to use for a getter.\n * @return {*} The value of the property.\n * @suppress {reportUnknownTypes}\n */\n var polyfill = function(target, propertyKey, opt_receiver) {\n if (arguments.length <= 2) {\n return target[propertyKey];\n }\n var property = $jscomp.findDescriptor(target, propertyKey);\n if (property) {\n return property.get ? property.get.call(opt_receiver) : property.value;\n }\n return undefined;\n };\n return polyfill;\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\n",
  925. "js/es6/reflect/getownpropertydescriptor.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.getOwnPropertyDescriptor', function(orig) {\n // NOTE: We don't make guarantees about correct throwing behavior.\n // Non-object arguments should be prevented by the type checker.\n return orig || Object.getOwnPropertyDescriptor;\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyDescriptor\n",
  926. "js/es6/reflect/getprototypeof.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.getPrototypeOf', function(orig) {\n // NOTE: We don't make guarantees about correct throwing behavior.\n // Non-object arguments should be prevented by the type checker.\n return orig || Object.getPrototypeOf;\n}, 'es6', 'es5'); // ES5: Requires Object.getPrototypeOf\n",
  927. "js/es6/reflect/has.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.has', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfill for Reflect.has() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\n *\n * Applies the 'in' operator as a function.\n *\n * @param {!Object} target\n * @param {*} propertyKey\n * @return {boolean}\n */\n var polyfill = function(target, propertyKey) {\n return propertyKey in target;\n };\n return polyfill;\n}, 'es6', 'es3');\n",
  928. "js/es6/reflect/isextensible.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/defines';\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.isExtensible', function(orig) {\n if (orig) return orig;\n if ($jscomp.ASSUME_ES5 || typeof Object.isExtensible == 'function') {\n return Object.isExtensible;\n }\n return function() { return true; };\n}, 'es6', 'es3');\n",
  929. "js/es6/reflect/ownkeys.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n'require es6/object/getownpropertysymbols';\n\n\n$jscomp.polyfill('Reflect.ownKeys',\n /**\n * @param {*} orig\n * @return {*}\n * @suppress {reportUnknownTypes}\n */\n function(orig) {\n if (orig) return orig;\n\n var symbolPrefix = 'jscomp_symbol_';\n function isSymbol(key) {\n return key.substring(0, symbolPrefix.length) == symbolPrefix;\n }\n\n /**\n * Polyfill for Reflect.ownKeys() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\n *\n * Returns an array of the object's own property keys.\n *\n * @param {!Object} target\n * @return {!Array<(string|symbol)>}\n */\n var polyfill = function(target) {\n var keys = [];\n var names = Object.getOwnPropertyNames(target);\n var symbols = Object.getOwnPropertySymbols(target);\n for (var i = 0; i < names.length; i++) {\n (isSymbol(names[i]) ? symbols : keys).push(names[i]);\n }\n return keys.concat(symbols);\n };\n return polyfill;\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyNames\n",
  930. "js/es6/reflect/preventextensions.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/defines';\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.preventExtensions', function(orig) {\n if (orig) return orig;\n\n if (!($jscomp.ASSUME_ES5 || typeof Object.preventExtensions == 'function')) {\n return function() { return false; };\n }\n\n /**\n * Polyfill for Reflect.preventExtensions() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\n *\n * Same function as Object.preventExtensions (the spec says\n * to throw if the input is not an object, but jscompiler will\n * fail to typecheck, so there's no reason to distinguish here).\n *\n * @param {!Object} target\n * @return {boolean}\n */\n var polyfill = function(target) {\n Object.preventExtensions(target);\n return !Object.isExtensible(target);\n };\n return polyfill;\n}, 'es6', 'es3');\n",
  931. "js/es6/reflect/set.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/reflect/isextensible';\n'require util/finddescriptor';\n'require util/polyfill';\n\n\n$jscomp.polyfill('Reflect.set', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfill for Reflect.set() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\n *\n * Applies the 'setprop' operator as a function.\n *\n * @param {!Object} target Target on which to get the property.\n * @param {string} propertyKey Name of the property to get.\n * @param {*} value Value to set.\n * @param {!Object=} opt_receiver An optional 'this' to use for a setter.\n * @return {boolean} Whether setting was successful.\n */\n var polyfill = function(target, propertyKey, value, opt_receiver) {\n var property = $jscomp.findDescriptor(target, propertyKey);\n if (!property) {\n if (Reflect.isExtensible(target)) {\n target[propertyKey] = value;\n return true;\n }\n return false;\n }\n if (property.set) {\n property.set.call(arguments.length > 3 ? opt_receiver : target, value);\n return true;\n } else if (property.writable && !Object.isFrozen(target)) {\n target[propertyKey] = value;\n return true;\n }\n return false;\n };\n return polyfill;\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\n",
  932. "js/es6/reflect/setprototypeof.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require util/polyfill';\n'require es6/util/setprototypeof';\n\n\n$jscomp.polyfill(\n 'Reflect.setPrototypeOf',\n /**\n * These annotations are intended to match the signature of\n * $jscomp.polyfill(). Being more specific makes the compiler unhappy.\n * @suppress {reportUnknownTypes}\n * @param {?*} orig\n * @return {*}\n */\n function(orig) {\n if (orig) {\n return orig;\n } else if ($jscomp.setPrototypeOf) {\n /** @const {!function(!Object,?Object):!Object} */\n var setPrototypeOf = $jscomp.setPrototypeOf;\n /**\n * @param {!Object} target\n * @param {?Object} proto\n * @return {boolean}\n */\n var polyfill = function(target, proto) {\n try {\n setPrototypeOf(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n };\n return polyfill;\n } else {\n // it isn't possible to implement this method\n return null;\n }\n },\n 'es6', 'es5');\n",
  933. "js/es6/set.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/conformance';\n'require es6/map';\n'require es6/symbol';\n'require util/defines';\n'require util/polyfill';\n\n$jscomp.polyfill('Set',\n /**\n * @param {*} NativeSet\n * @return {*}\n * @suppress {reportUnknownTypes}\n */\n function(NativeSet) {\n\n /**\n * Checks conformance of the existing Set.\n * @return {boolean} True if the browser's implementation conforms.\n * @suppress {missingProperties} \"entries\" unknown prototype\n */\n function isConformant() {\n if ($jscomp.ASSUME_NO_NATIVE_SET ||\n !NativeSet ||\n typeof NativeSet != \"function\" ||\n !NativeSet.prototype.entries ||\n typeof Object.seal != 'function') {\n return false;\n }\n // Some implementations don't support constructor arguments.\n try {\n NativeSet = /** @type {function(new: Set, !Iterator=)} */ (NativeSet);\n var value = Object.seal({x: 4});\n var set = new NativeSet($jscomp.makeIterator([value]));\n if (!set.has(value) || set.size != 1 || set.add(value) != set ||\n set.size != 1 || set.add({x: 4}) != set || set.size != 2) {\n return false;\n }\n var iter = set.entries();\n var item = iter.next();\n if (item.done || item.value[0] != value || item.value[1] != value) {\n return false;\n }\n item = iter.next();\n if (item.done || item.value[0] == value || item.value[0].x != 4 ||\n item.value[1] != item.value[0]) {\n return false;\n }\n return iter.next().done;\n } catch (err) { // This should hopefully never happen, but let's be safe.\n return false;\n }\n }\n\n if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\n if (NativeSet && $jscomp.ES6_CONFORMANCE) return NativeSet;\n } else {\n if (isConformant()) return NativeSet;\n }\n\n // We depend on Symbol.iterator, so ensure it's loaded.\n $jscomp.initSymbolIterator();\n\n\n\n /**\n * Polyfill for the global Map data type.\n * @constructor\n * @struct\n * @extends {Set<VALUE>}\n * @implements {Iterable<VALUE>}\n * @template KEY, VALUE\n * @param {!Iterable<VALUE>|!Array<VALUE>|null=} opt_iterable\n * Optional data to populate the set.\n */\n // TODO(sdh): fix param type if heterogeneous arrays ever supported.\n var PolyfillSet = function(opt_iterable) {\n /** @private @const {!Map<VALUE, VALUE>} */\n this.map_ = new Map();\n if (opt_iterable) {\n var iter = $jscomp.makeIterator(opt_iterable);\n var entry;\n while (!(entry = iter.next()).done) {\n var item = /** @type {!IIterableResult<VALUE>} */ (entry).value;\n this.add(item);\n }\n }\n // Note: this property should not be changed. If we're willing to give up\n // ES3 support, we could define it as a property directly. It should be\n // marked readonly if such an annotation ever comes into existence.\n this.size = this.map_.size;\n };\n\n\n /** @override */\n PolyfillSet.prototype.add = function(value) {\n // normalize -0/+0 to +0\n value = value === 0 ? 0 : value;\n this.map_.set(value, value);\n this.size = this.map_.size;\n return this;\n };\n\n\n /** @override */\n PolyfillSet.prototype.delete = function(value) {\n var result = this.map_.delete(value);\n this.size = this.map_.size;\n return result;\n };\n\n\n /** @override */\n PolyfillSet.prototype.clear = function() {\n this.map_.clear();\n this.size = 0;\n };\n\n\n /** @override */\n PolyfillSet.prototype.has = function(value) {\n return this.map_.has(value);\n };\n\n\n /** @override */\n PolyfillSet.prototype.entries = function() {\n return this.map_.entries();\n };\n\n\n /** @override */\n PolyfillSet.prototype.values = function() {\n return this.map_.values();\n };\n\n\n /** @override */\n PolyfillSet.prototype.keys = PolyfillSet.prototype.values;\n\n\n /** @type {?} */ (PolyfillSet.prototype)[Symbol.iterator] =\n PolyfillSet.prototype.values;\n\n\n /** @override */\n PolyfillSet.prototype.forEach = function(callback, opt_thisArg) {\n var set = this;\n this.map_.forEach(function(value) {\n return callback.call(/** @type {?} */ (opt_thisArg), value, value, set);\n });\n };\n\n\n return PolyfillSet;\n}, 'es6', 'es3');\n",
  934. "js/es6/string.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Brings in all ES6 String polyfills.\n * @suppress {uselessCode}\n */\n'require es6/string/codepointat';\n'require es6/string/endswith';\n'require es6/string/fromcodepoint';\n'require es6/string/includes';\n'require es6/string/matchall';\n'require es6/string/padend';\n'require es6/string/padstart';\n'require es6/string/repeat';\n'require es6/string/startswith';\n'require es6/string/trimend';\n'require es6/string/trimstart';\n",
  935. "js/es6/string/codepointat.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/checkstringargs';\n'require util/polyfill';\n\n$jscomp.polyfill('String.prototype.codePointAt', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns the UTF-16 codepoint at the given index.\n *\n * <p>Polyfills the instance method String.prototype.codePointAt().\n *\n * @this {string}\n * @param {number} position\n * @return {number|undefined} The codepoint.\n */\n var polyfill = function(position) {\n // NOTE: this is taken from v8's harmony-string.js StringCodePointAt\n 'use strict';\n var string = $jscomp.checkStringArgs(this, null, 'codePointAt');\n var size = string.length;\n // Make 'position' a number (non-number coerced to NaN and then or to zero).\n position = Number(position) || 0;\n if (!(position >= 0 && position < size)) {\n return void 0;\n }\n // Truncate 'position' to an integer.\n position = position | 0;\n var first = string.charCodeAt(position);\n if (first < 0xD800 || first > 0xDBFF || position + 1 === size) {\n return first;\n }\n var second = string.charCodeAt(position + 1);\n if (second < 0xDC00 || second > 0xDFFF) {\n return first;\n }\n return (first - 0xD800) * 0x400 + second + 0x2400;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  936. "js/es6/string/endswith.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/checkstringargs';\n'require util/polyfill';\n\n$jscomp.polyfill('String.prototype.endsWith', function(orig) {\n if (orig) return orig;\n\n /**\n * Tests whether the string ends with a given substring.\n *\n * <p>Polyfills the instance method String.prototype.endsWith().\n *\n * @this {string}\n * @param {string} searchString\n * @param {number=} opt_position\n * @return {boolean}\n */\n var polyfill = function(searchString, opt_position) {\n 'use strict';\n var string = $jscomp.checkStringArgs(this, searchString, 'endsWith');\n searchString = searchString + '';\n if (opt_position === void 0) opt_position = string.length;\n var i = Math.max(0, Math.min(opt_position | 0, string.length));\n var j = searchString.length;\n while (j > 0 && i > 0) {\n if (string[--i] != searchString[--j]) return false;\n }\n return j <= 0;\n };\nreturn polyfill;\n}, 'es6', 'es3');\n",
  937. "js/es6/string/fromcodepoint.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/polyfill';\n\n$jscomp.polyfill('String.fromCodePoint', function(orig) {\n if (orig) return orig;\n\n /**\n * Creates a new string from the given codepoints.\n *\n * <p>Polyfills the static function String.fromCodePoint().\n *\n * @param {...number} var_args\n * @return {string}\n */\n var polyfill = function(var_args) {\n // Note: this is taken from v8's harmony-string.js StringFromCodePoint.\n var result = '';\n for (var i = 0; i < arguments.length; i++) {\n var code = Number(arguments[i]);\n if (code < 0 || code > 0x10FFFF || code !== Math.floor(code)) {\n throw new RangeError('invalid_code_point ' + code);\n }\n if (code <= 0xFFFF) {\n result += String.fromCharCode(code);\n } else {\n code -= 0x10000;\n result += String.fromCharCode((code >>> 10) & 0x3FF | 0xD800);\n result += String.fromCharCode(code & 0x3FF | 0xDC00);\n }\n }\n return result;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  938. "js/es6/string/includes.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/checkstringargs';\n'require util/polyfill';\n\n$jscomp.polyfill('String.prototype.includes', function(orig) {\n if (orig) return orig;\n\n /**\n * Searches for a substring, starting at the given position.\n *\n * <p>Polyfills the instance method String.prototype.includes().\n *\n * @this {string}\n * @param {string} searchString\n * @param {number=} opt_position\n * @return {boolean}\n */\n var polyfill = function(searchString, opt_position) {\n 'use strict';\n var string = $jscomp.checkStringArgs(this, searchString, 'includes');\n return string.indexOf(searchString, opt_position || 0) !== -1;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  939. "js/es6/string/matchall.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require es6/symbol';\n'require util/polyfill';\n\n$jscomp.polyfill('String.prototype.matchAll', function(orig) {\n if (orig) return orig;\n\n // We depend on Symbol.iterator, so ensure it's loaded.\n $jscomp.initSymbolIterator();\n\n /**\n * Returns an iterator of all results matching a string against a\n * regular expression, including capturing groups.\n *\n * Polyfills the instance method String.prototype.matchAll().\n *\n * The spec calls for any non-RegExp object to be automatically converted,\n * so we accept anything here, even though our externs only allow\n * RegExp|string.\n *\n * @this {string}\n * @param {*} regexp\n * A regular expression object. If a non-RegExp object obj is passed,\n * it is implicitly converted to a RegExp with a global tag by using\n * new RegExp(obj).\n * @return {!IteratorIterable<!RegExpResult>}\n */\n var polyfill = function(regexp) {\n if (regexp instanceof RegExp && !regexp.global) {\n throw new TypeError('RegExp passed into String.prototype.matchAll() must have global tag.');\n }\n var /** !RegExp */ regexCopy =\n new RegExp(regexp, regexp instanceof RegExp ? undefined : 'g');\n var matchString = this;\n var /** boolean */ finished = false;\n var matchAllIterator = {\n next: function() {\n var result = {};\n var previousIndex = regexCopy.lastIndex;\n if (finished) {\n return {value: undefined, done: true};\n }\n var match = regexCopy.exec(matchString);\n if (!match) {\n finished = true;\n return {value: undefined, done: true};\n }\n if (regexCopy.lastIndex === previousIndex) {\n // matchAll() is not allowed to get \"stuck\" returning an empty\n // string match infinitely, so we must make sure lastIndex always\n // increases.\n regexCopy.lastIndex += 1;\n }\n result.value = match;\n result.done = false;\n return result;\n }\n };\n matchAllIterator[Symbol.iterator] = function() { return matchAllIterator; };\n return /**@type {!IteratorIterable<!RegExpResult>}> */ (matchAllIterator);\n };\n return polyfill;\n}, 'es_2020', 'es3');\n",
  940. "js/es6/string/padend.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/checkstringargs';\n'require util/stringpadding';\n'require util/polyfill';\n\n$jscomp.polyfill('String.prototype.padEnd', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfills String.prototype.padEnd.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\n *\n * @this {string}\n * @param {number} targetLength\n * @param {string=} opt_padString\n * @return {string}\n */\n var padEnd = function(targetLength, opt_padString) {\n var string = $jscomp.checkStringArgs(this, null, 'padStart');\n var padLength = targetLength - string.length;\n return string + $jscomp.stringPadding(opt_padString, padLength);\n };\n\n return padEnd;\n}, 'es8', 'es3');\n",
  941. "js/es6/string/padstart.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/checkstringargs';\n'require util/polyfill';\n'require util/stringpadding';\n\n$jscomp.polyfill('String.prototype.padStart', function(orig) {\n if (orig) return orig;\n\n /**\n * Polyfills String.prototype.padStart.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\n *\n * @this {string}\n * @param {number} targetLength\n * @param {string=} opt_padString\n * @return {string}\n */\n var padStart = function(targetLength, opt_padString) {\n var string = $jscomp.checkStringArgs(this, null, 'padStart');\n var padLength = targetLength - string.length;\n return $jscomp.stringPadding(opt_padString, padLength) + string;\n };\n\n return padStart;\n}, 'es8', 'es3');\n",
  942. "js/es6/string/repeat.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/checkstringargs';\n'require util/polyfill';\n\n$jscomp.polyfill('String.prototype.repeat', function(orig) {\n if (orig) return orig;\n\n /**\n * Returns a new string repeated the given number of times.\n *\n * <p>Polyfills the instance method String.prototype.repeat().\n *\n * @this {string}\n * @param {number} copies\n * @return {string}\n */\n var polyfill = function(copies) {\n 'use strict';\n var string = $jscomp.checkStringArgs(this, null, 'repeat');\n if (copies < 0 || copies > 0x4FFFFFFF) { // impose a 1GB limit\n throw new RangeError('Invalid count value');\n }\n copies = copies | 0; // cast to a signed integer.\n var result = '';\n while (copies) {\n if (copies & 1) result += string;\n if ((copies >>>= 1)) string += string;\n }\n return result;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  943. "js/es6/string/startswith.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require util/checkstringargs';\n'require util/polyfill';\n\n$jscomp.polyfill('String.prototype.startsWith', function(orig) {\n if (orig) return orig;\n\n /**\n * Tests whether the string starts with a given substring.\n *\n * <p>Polyfills the instance method String.prototype.startsWith().\n *\n * @this {string}\n * @param {string} searchString\n * @param {number=} opt_position\n * @return {boolean}\n */\n var polyfill = function(searchString, opt_position) {\n 'use strict';\n var string = $jscomp.checkStringArgs(this, searchString, 'startsWith');\n searchString = searchString + '';\n var strLen = string.length;\n var searchLen = searchString.length;\n var i = Math.max(\n 0,\n Math.min(/** @type {number} */ (opt_position) | 0, string.length));\n var j = 0;\n while (j < searchLen && i < strLen) {\n if (string[i++] != searchString[j++]) return false;\n }\n return j >= searchLen;\n };\n\n return polyfill;\n}, 'es6', 'es3');\n",
  944. "js/es6/string/trimend.js":"/*\n * Copyright 2019 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require util/polyfill';\n\n// Most browsers implemented trimRight around ES5-time-frame, but it wasn't\n// officially part of the language specification until ES_2019, so we have\n// to provide a polyfill for it.\n// IE11 doesn't have it, of course...\n$jscomp.polyfill('String.prototype.trimRight', function(orig) {\n /**\n * @this {string}\n * @return {string}\n */\n function polyfill() {\n return this.replace(/[\\s\\xa0]+$/, '');\n }\n return orig || polyfill;\n}, 'es_2019', 'es3');\n\n$jscomp.polyfill('String.prototype.trimEnd', function(orig) {\n return orig || String.prototype.trimRight;\n}, 'es_2019', 'es3');\n",
  945. "js/es6/string/trimstart.js":"/*\n * Copyright 2019 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require util/polyfill';\n\n// Most browsers implemented trimLeft around ES5-time-frame, but it wasn't\n// officially part of the language specification until ES_2019, so we have\n// to provide a polyfill for it.\n// IE11 doesn't have it, of course...\n$jscomp.polyfill('String.prototype.trimLeft', function(orig) {\n /**\n * @this {string}\n * @return {string}\n */\n function polyfill() {\n return this.replace(/^[\\s\\xa0]+/, '');\n }\n return orig || polyfill;\n}, 'es_2019', 'es3');\n\n$jscomp.polyfill('String.prototype.trimStart', function(orig) {\n return orig || String.prototype.trimLeft;\n}, 'es_2019', 'es3');\n",
  946. "js/es6/symbol.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Symbol polyfill.\n * @suppress {uselessCode}\n */\n\n'require es6/util/arrayiterator';\n'require util/defineproperty';\n'require util/global';\n\n/** @const {string} */\n$jscomp.SYMBOL_PREFIX = 'jscomp_symbol_';\n\n/**\n * Initializes the Symbol function.\n * @suppress {reportUnknownTypes}\n */\n$jscomp.initSymbol = function() {\n // Only need to do this once. All future calls are no-ops.\n $jscomp.initSymbol = function() {};\n\n if (!$jscomp.global['Symbol']) {\n $jscomp.global['Symbol'] = $jscomp.Symbol;\n }\n};\n\n\n/**\n * @struct @constructor\n * @param {string} id\n * @param {string=} opt_description\n */\n$jscomp.SymbolClass = function(id, opt_description) {\n /** @private @const {string} */\n this.$jscomp$symbol$id_ = id;\n\n /** @const {string|undefined} */\n this.description;\n\n // description is read-only.\n $jscomp.defineProperty(\n this, 'description',\n {configurable: true, writable: true, value: opt_description});\n};\n\n\n/** @override */\n$jscomp.SymbolClass.prototype.toString = function() {\n return this.$jscomp$symbol$id_;\n};\n\n\n/**\n * Produces \"symbols\" (actually just unique strings).\n * @param {string=} opt_description\n * @return {symbol}\n */\n$jscomp.Symbol = /** @type {function(): !Function} */ (function() {\n var counter = 0;\n\n /**\n * @param {string=} opt_description\n * @return {symbol}\n * @suppress {reportUnknownTypes}\n */\n function Symbol(opt_description) {\n if (/** @type {?} */ (this) instanceof Symbol) {\n throw new TypeError('Symbol is not a constructor');\n }\n return /** @type {?} */ (new $jscomp.SymbolClass(\n $jscomp.SYMBOL_PREFIX + (opt_description || '') + '_' + (counter++),\n opt_description));\n }\n\n return Symbol;\n})();\n\n/**\n * Initializes Symbol.iterator (if it's not already defined) and adds a\n * Symbol.iterator property to the Array prototype.\n * @suppress {reportUnknownTypes}\n */\n$jscomp.initSymbolIterator = function() {\n $jscomp.initSymbol();\n var symbolIterator = $jscomp.global['Symbol'].iterator;\n if (!symbolIterator) {\n symbolIterator = $jscomp.global['Symbol'].iterator =\n $jscomp.global['Symbol']('Symbol.iterator');\n }\n\n if (typeof Array.prototype[symbolIterator] != 'function') {\n $jscomp.defineProperty(\n Array.prototype, symbolIterator, {\n configurable: true,\n writable: true,\n /**\n * @this {Array}\n * @return {!IteratorIterable}\n */\n value: function() {\n return $jscomp.iteratorPrototype(\n $jscomp.arrayIteratorImpl(this));\n }\n });\n }\n\n // Only need to do this once. All future calls are no-ops.\n $jscomp.initSymbolIterator = function() {};\n};\n\n\n/**\n * Initializes Symbol.asyncIterator (if it's not already defined)\n * @suppress {reportUnknownTypes}\n */\n$jscomp.initSymbolAsyncIterator = function() {\n $jscomp.initSymbol();\n var symbolAsyncIterator = $jscomp.global['Symbol'].asyncIterator;\n if (!symbolAsyncIterator) {\n symbolAsyncIterator = $jscomp.global['Symbol'].asyncIterator =\n $jscomp.global['Symbol']('Symbol.asyncIterator');\n }\n\n // Only need to do this once. All future calls are no-ops.\n $jscomp.initSymbolAsyncIterator = function() {};\n};\n\n/**\n * Returns an iterator with the given `next` method. Passing\n * all iterators through this function allows easily extending\n * the definition of `%IteratorPrototype%` if methods are ever\n * added to it in the future.\n *\n * @param {function(this: Iterator<T>): T} next\n * @return {!IteratorIterable<T>}\n * @template T\n * @suppress {reportUnknownTypes}\n */\n$jscomp.iteratorPrototype = function(next) {\n $jscomp.initSymbolIterator();\n\n var iterator = {next: next};\n /**\n * @this {IteratorIterable}\n * @return {!IteratorIterable}\n */\n iterator[$jscomp.global['Symbol'].iterator] = function() {\n return this;\n };\n return /** @type {!IteratorIterable} */ (iterator);\n};\n",
  947. "js/es6/util/arrayfromiterable.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Polyfill for array destructuring.\n */\n'require es6/util/makeiterator';\n'require es6/util/arrayfromiterator';\n\n\n/**\n * Copies the values from an Iterable into an Array.\n * @param {string|!Array<T>|!Iterable<T>|!Arguments} iterable\n * @return {!Array<T>}\n * @template T\n */\n$jscomp.arrayFromIterable = function(iterable) {\n if (iterable instanceof Array) {\n return iterable;\n } else {\n return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable));\n }\n};\n",
  948. "js/es6/util/arrayfromiterator.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Polyfill for array destructuring.\n */\n'require base';\n\n\n/**\n * Copies the values from an Iterator into an Array. The important difference\n * between this and $jscomp.arrayFromIterable is that if the iterator's\n * next() method has already been called one or more times, this method returns\n * only the values that haven't been yielded yet.\n * @param {!Iterator<T>} iterator\n * @return {!Array<T>}\n * @template T\n * @suppress {reportUnknownTypes}\n */\n$jscomp.arrayFromIterator = function(iterator) {\n var i;\n var arr = [];\n while (!(i = iterator.next()).done) {\n arr.push(i.value);\n }\n return arr;\n};\n",
  949. "js/es6/util/arrayiterator.js":'/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Utility method for creating an iterator for Arrays.\n */\n\'require base\';\n\n/**\n * Returns an internal iterator from the given array.\n * @param {!Array<T>} array\n * @return {function():!IIterableResult<T>}\n * @template T\n */\n$jscomp.arrayIteratorImpl = function(array) {\n var index = 0;\n return function() {\n if (index < array.length) {\n return {\n done: false,\n value: array[index++],\n };\n } else {\n return {done: true};\n }\n };\n};\n\n/**\n * Returns an internal iterator from the given array.\n * @param {!Array<T>} array\n * @return {!Iterator<T>}\n * @template T\n */\n$jscomp.arrayIterator = function(array) {\n return /** @type {!Iterator<T>} */ ({next: $jscomp.arrayIteratorImpl(array)});\n};\n\n',
  950. "js/es6/util/assign.js":"/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n'require util/owns';\n\n/**\n * Equivalent to the Object.assign() method, but guaranteed to be available for use in code\n * generated by the compiler.\n *\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n *\n * Copies values of all enumerable own properties from one or more\n * sources to the given target object, and returns the target.\n *\n * @final\n * @param {!Object} target The target object onto which to copy.\n * @param {...?Object} var_args The source objects.\n * @return {!Object} The target object is returned.\n */\n$jscomp.assign = (typeof Object.assign == 'function') ?\n Object.assign :\n /**\n * @param {!Object} target\n * @param {...?Object} var_args\n * @return {!Object}\n * @suppress {reportUnknownTypes}\n */\n function(target, var_args) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n if (!source) continue;\n for (var key in source) {\n if ($jscomp.owns(source, key)) target[key] = source[key];\n }\n }\n return target;\n };\n",
  951. "js/es6/util/construct.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n\n'require util/objectcreate';\n\n/**\n * Polyfill for Reflect.construct() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\n *\n * Calls a constructor as with the 'new' operator.\n * TODO(sdh): how to type 'target' with (new: TARGET) if opt_newTarget missing?\n *\n * @param {function(new: ?, ...?)} target The constructor to call.\n * @param {!Array} argList The arguments as a list.\n * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\n * @return {TARGET} The result of the function call.\n * @template TARGET\n */\n$jscomp.construct = /** @type {function(): !Function} */ (function() {\n\n // Check for https://github.com/Microsoft/ChakraCore/issues/3217\n /** @return {boolean} */\n function reflectConstructWorks() {\n /** @constructor */ function Base() {}\n /** @constructor */ function Derived() {}\n new Base();\n Reflect.construct(Base, [], Derived);\n return new Base() instanceof Base;\n }\n\n if (typeof Reflect != 'undefined' && Reflect.construct) {\n if (reflectConstructWorks()) return Reflect.construct;\n var brokenConstruct = Reflect.construct;\n /**\n * @param {function(new: ?, ...?)} target The constructor to call.\n * @param {!Array} argList The arguments as a list.\n * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\n * @return {TARGET} The result of the function call.\n * @template TARGET\n * @suppress {reportUnknownTypes}\n */\n var patchedConstruct = function(target, argList, opt_newTarget) {\n var out = brokenConstruct(target, argList);\n if (opt_newTarget) Reflect.setPrototypeOf(out, opt_newTarget.prototype);\n return out;\n };\n return patchedConstruct;\n }\n\n /**\n * @param {function(new: ?, ...?)} target The constructor to call.\n * @param {!Array} argList The arguments as a list.\n * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\n * @return {TARGET} The result of the function call.\n * @template TARGET\n * @suppress {reportUnknownTypes}\n */\n function construct(target, argList, opt_newTarget) {\n if (opt_newTarget === undefined) opt_newTarget = target;\n var proto = opt_newTarget.prototype || Object.prototype;\n var obj = $jscomp.objectCreate(proto);\n var apply = Function.prototype.apply;\n var out = apply.call(target, obj, argList);\n return out || obj;\n }\n return construct;\n})();\n",
  952. "js/es6/util/createtemplatetagfirstarg.js":'/*\n * Copyright 2020 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Polyfill for a tagged template\'s argument\n * @suppress {uselessCode}\n */\n\'require base\';\n\n/**\n * Simply accepts an ITemplateArray and returns it after setting its raw\n * property\n * @param {!ITemplateArray} arrayStrings\n * @return {!ITemplateArray}\n * @noinline\n */\n$jscomp.createTemplateTagFirstArg = function(arrayStrings) {\n arrayStrings.raw = arrayStrings;\n return /** @type {!ITemplateArray} */ (arrayStrings);\n};\n\n/**\n * Simply accepts an ITemplateArray and returns it after setting its raw\n * property\n * @param {!ITemplateArray} arrayStrings\n * @param {!ITemplateArray} rawArrayStrings raw string values of arrayString\n * @return {!ITemplateArray}\n * @noinline\n */\n$jscomp.createTemplateTagFirstArgWithRaw = function(\n arrayStrings, rawArrayStrings) {\n arrayStrings.raw = rawArrayStrings;\n return /** @type {!ITemplateArray} */ (arrayStrings);\n};\n',
  953. "js/es6/util/inherits.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Polyfill for ES6 extends keyword.\n * @suppress {uselessCode}\n */\n'require base';\n'require util/objectcreate';\n'require es6/util/setprototypeof';\n\n\n/**\n * Inherit the prototype methods and static methods from one constructor\n * into another.\n *\n * This wires up the prototype chain (like goog.inherits) and copies static\n * properties, for ES6-to-ES{3,5} transpilation.\n *\n * Usage:\n * <pre>\n * function ParentClass() {}\n *\n * // Regular method.\n * ParentClass.prototype.foo = function(a) {};\n *\n * // Static method.\n * ParentClass.bar = function() {};\n *\n * function ChildClass() {\n * ParentClass.call(this);\n * }\n * $jscomp.inherits(ChildClass, ParentClass);\n *\n * var child = new ChildClass();\n * child.foo();\n * ChildClass.bar(); // Static inheritance.\n * </pre>\n *\n * @param {!Function} childCtor Child class.\n * @param {!Function} parentCtor Parent class.\n * @suppress {strictMissingProperties} 'superClass_' is not defined on Function\n */\n$jscomp.inherits = function(childCtor, parentCtor) {\n childCtor.prototype = $jscomp.objectCreate(parentCtor.prototype);\n /** @override */ childCtor.prototype.constructor = childCtor;\n if ($jscomp.setPrototypeOf) {\n // avoid null dereference warning\n /** @const {!Function} */\n var setPrototypeOf = $jscomp.setPrototypeOf;\n setPrototypeOf(childCtor, parentCtor);\n } else {\n // setPrototypeOf is not available so we need to copy the static\n // methods to the child\n for (var p in parentCtor) {\n if (p == 'prototype') {\n // Don't copy parentCtor.prototype to childCtor.\n continue;\n }\n if (Object.defineProperties) {\n var descriptor = Object.getOwnPropertyDescriptor(parentCtor, p);\n if (descriptor) {\n Object.defineProperty(childCtor, p, descriptor);\n }\n } else {\n // Pre-ES5 browser. Just copy with an assignment.\n childCtor[p] = parentCtor[p];\n }\n }\n }\n\n childCtor.superClass_ = parentCtor.prototype;\n};\n",
  954. "js/es6/util/iteratorfromarray.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Utilities for iterator-returning methods.\n */\n'require es6/symbol';\n\n\n/**\n * Creates an iterator from an array-like, with a transformation function.\n * @param {!IArrayLike<INPUT>} array\n * @param {function(number, INPUT): OUTPUT} transform\n * @return {!IteratorIterable<OUTPUT>}\n * @template INPUT, OUTPUT\n * @suppress {checkTypes|reportUnknownTypes}\n */\n$jscomp.iteratorFromArray = function(array, transform) {\n $jscomp.initSymbolIterator();\n // NOTE: IE8 doesn't support indexing from boxed Strings.\n if (array instanceof String) array = array + '';\n var i = 0;\n var iter = {\n next: function() {\n if (i < array.length) {\n var index = i++;\n return {value: transform(index, array[index]), done: false};\n }\n iter.next = function() { return {done: true, value: void 0}; };\n return iter.next();\n }\n };\n iter[Symbol.iterator] = function() { return iter; };\n return iter;\n};\n",
  955. "js/es6/util/makeasynciterator.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Polyfill for for-of loops.\n */\n'require es6/symbol';\n'require es6/util/makeiterator';\n\n/**\n * Creates an iterator for the given iterable.\n *\n * @param {string|!AsyncIterable<T>|!Iterable<T>|!Iterator<T>|!Arguments} iterable\n * @return {!AsyncIteratorIterable<T>}\n * @template T\n * @suppress {reportUnknownTypes}\n */\n$jscomp.makeAsyncIterator = function(iterable) {\n $jscomp.initSymbolAsyncIterator();\n var asyncIteratorFunction = (iterable)[Symbol.asyncIterator];\n if (asyncIteratorFunction !== undefined) {\n return asyncIteratorFunction.call(iterable);\n }\n return new $jscomp.AsyncIteratorFromSyncWrapper($jscomp.makeIterator(\n /** @type {string|!Iterable<T>|!Iterator<T>|!Arguments} */\n (iterable)));\n};\n\n/**\n *\n * @param {!Iterator<T>} iterator\n * @constructor\n * @implements {AsyncIteratorIterable<T>}\n * @template T\n * @suppress {reportUnknownTypes}\n */\n$jscomp.AsyncIteratorFromSyncWrapper = function(iterator) {\n /**\n * @return {!AsyncIterator<T>}\n */\n this[Symbol.asyncIterator] = function() {\n return this;\n };\n\n /**\n * @return {!Iterator<!Promise<!IIterableResult<T>>>}\n */\n this[Symbol.iterator] = function() {\n return iterator;\n };\n\n /**\n * @param {?=} param\n * @return {!Promise<!IIterableResult<T>>}\n */\n this.next = function(param) {\n return Promise.resolve(iterator.next(param));\n };\n\n if (iterator['throw'] !== undefined) {\n /**\n * @param {?} param\n * @return {!Promise<!IIterableResult<T>>}\n */\n this['throw'] = function(param) {\n return Promise.resolve(iterator['throw'](param));\n };\n }\n\n if (iterator['return'] !== undefined) {\n /**\n * @param {T} param\n * @return {!Promise<!IIterableResult<T>>}\n */\n this['return'] = function(param) {\n return Promise.resolve(iterator['return'](param));\n };\n }\n};\n",
  956. "js/es6/util/makeiterator.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Polyfill for for-of loops.\n */\n'require es6/util/arrayiterator';\n\n/**\n * Creates an iterator for the given iterable. This iterator should never\n * be exposed to user code.\n *\n * @param {string|!Iterable<T>|!Iterator<T>|!Arguments} iterable\n * @return {!Iterator<T>}\n * @template T\n * @suppress {reportUnknownTypes}\n */\n$jscomp.makeIterator = function(iterable) {\n // NOTE: Disabling typechecking because [] not allowed on @struct.\n var iteratorFunction = typeof Symbol != 'undefined' && Symbol.iterator &&\n (/** @type {?} */ (iterable)[Symbol.iterator]);\n return iteratorFunction ? iteratorFunction.call(iterable) :\n $jscomp.arrayIterator(/** @type {!Array} */ (iterable));\n};\n",
  957. "js/es6/util/setprototypeof.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n\n/**\n * @suppress {missingProperties,reportUnknownTypes}\n * @return {boolean}\n */\n$jscomp.underscoreProtoCanBeSet = function() {\n var x = {a: true};\n var y = {};\n try {\n y.__proto__ = x;\n return y.a;\n } catch (e) {\n // __proto__ property is readonly (possibly IE 10?)\n }\n return false;\n};\n\n/**\n * If we can implement it, this will be a function that attempts to set the\n * prototype of an object, otherwise it will be `null`.\n *\n * It returns the first argument if successful. Throws a `TypeError` if the\n * object is not extensible.\n *\n * @type {null|function(!Object, ?Object): !Object}\n */\n$jscomp.setPrototypeOf = (typeof Object.setPrototypeOf == 'function') ?\n Object.setPrototypeOf :\n $jscomp.underscoreProtoCanBeSet() ?\n function(target, proto) {\n target.__proto__ = proto;\n if (target.__proto__ !== proto) {\n throw new TypeError(target + ' is not extensible');\n }\n return target;\n } :\n null;\n",
  958. "js/es6/weakmap.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/conformance';\n'require es6/util/makeiterator';\n'require util/defineproperty';\n'require util/owns';\n'require util/polyfill';\n\n$jscomp.polyfill('WeakMap',\n /**\n * @param {*} NativeWeakMap\n * @return {*}\n * @suppress {reportUnknownTypes}\n */\n function(NativeWeakMap) {\n /**\n * Checks conformance of the existing WeakMap.\n * @return {boolean} True if the browser's implementation conforms.\n */\n function isConformant() {\n if (!NativeWeakMap || !Object.seal) return false;\n try {\n var x = Object.seal({});\n var y = Object.seal({});\n var map = new /** @type {function(new: WeakMap, !Array)} */ (\n NativeWeakMap)([[x, 2], [y, 3]]);\n if (map.get(x) != 2 || map.get(y) != 3) return false;\n map.delete(x);\n map.set(y, 4);\n return !map.has(x) && map.get(y) == 4;\n } catch (err) { // This should hopefully never happen, but let's be safe.\n return false;\n }\n }\n if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\n if (NativeWeakMap && $jscomp.ES6_CONFORMANCE) return NativeWeakMap;\n } else {\n if (isConformant()) return NativeWeakMap;\n }\n\n var prop = '$jscomp_hidden_' + Math.random();\n\n /** @constructor */\n function WeakMapMembership() {}\n\n /**\n * Returns whether the argument is a valid WeakMap key.\n * @param {*} key\n * @return {boolean}\n */\n function isValidKey(key) {\n var type = typeof key;\n return (type === 'object' && key !== null) || type === 'function';\n }\n\n /**\n * Inserts the hidden property into the target.\n * @param {!Object} target\n */\n function insert(target) {\n if (!$jscomp.owns(target, prop)) {\n var obj = new WeakMapMembership();\n // TODO(sdh): This property will be enumerated in IE8. If this becomes\n // a problem, we could avoid it by copying an infrequently-used non-enum\n // method (like toLocaleString) onto the object itself and encoding the\n // property on the copy instead. This codepath must be easily removable\n // if IE8 support is not needed.\n $jscomp.defineProperty(target, prop, {value: obj});\n }\n }\n\n /**\n * Monkey-patches the freezing methods to ensure that the hidden\n * property is added before any freezing happens.\n * @param {string} name\n */\n function patch(name) {\n var prev = Object[name];\n if (prev) {\n Object[name] = function(target) {\n if (target instanceof WeakMapMembership) {\n return target;\n } else {\n insert(target);\n return prev(target);\n }\n };\n }\n }\n patch('freeze');\n patch('preventExtensions');\n patch('seal');\n // Note: no need to patch Reflect.preventExtensions since the polyfill\n // just calls Object.preventExtensions anyway (and if it's not polyfilled\n // then neither is WeakMap).\n\n var index = 0;\n\n /**\n * Polyfill for WeakMap:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\n *\n * This implementation is as non-leaky as possible, due to patching\n * the freezing and sealing operations. It does not include any logic\n * to handle cases where a key was somehow made non-extensible without\n * the special hidden property being added. It takes some care to ensure\n * the hidden property is not enumerated over nor discoverable, though\n * it's not completely secure (particularly in IE8).\n *\n * @constructor\n * @extends {WeakMap<KEY, VALUE>}\n * @template KEY, VALUE\n * @param {!Iterator<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\n * opt_iterable Optional initial data.\n */\n var PolyfillWeakMap = function(opt_iterable) {\n /** @private @const {string} */\n this.id_ = (index += (Math.random() + 1)).toString();\n\n if (opt_iterable) {\n var iter = $jscomp.makeIterator(opt_iterable);\n var entry;\n while (!(entry = iter.next()).done) {\n var item = entry.value;\n this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\n }\n }\n };\n\n /** @override */\n PolyfillWeakMap.prototype.set = function(key, value) {\n if (!isValidKey(key)) {\n throw new Error('Invalid WeakMap key');\n }\n insert(key);\n if (!$jscomp.owns(key, prop)) {\n // NOTE: If the insert() call fails on the key, but the property\n // has previously successfully been added higher up the prototype\n // chain, then we'll silently misbehave. Instead, throw immediately\n // before doing something bad. If this becomes a problem (e.g. due\n // to some rogue frozen objects) then we may need to add a slow and\n // leaky fallback array to each WeakMap instance, as well as extra\n // logic in each accessor to use it (*only*) when necessary.\n throw new Error('WeakMap key fail: ' + key);\n }\n key[prop][this.id_] = value;\n return this;\n };\n\n /** @override */\n PolyfillWeakMap.prototype.get = function(key) {\n return isValidKey(key) && $jscomp.owns(key, prop) ? key[prop][this.id_] :\n undefined;\n };\n\n /** @override */\n PolyfillWeakMap.prototype.has = function(key) {\n return isValidKey(key) && $jscomp.owns(key, prop) &&\n $jscomp.owns(key[prop], this.id_);\n };\n\n /** @override */\n PolyfillWeakMap.prototype.delete = function(key) {\n if (!isValidKey(key) || !$jscomp.owns(key, prop) ||\n !$jscomp.owns(key[prop], this.id_)) {\n return false;\n }\n return delete key[prop][this.id_];\n };\n\n return PolyfillWeakMap;\n}, 'es6', 'es3');\n",
  959. "js/es6/weakset.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/conformance';\n'require es6/util/makeiterator';\n'require util/polyfill';\n'require es6/weakmap';\n\n$jscomp.polyfill('WeakSet',\n /**\n * @param {*} NativeWeakSet\n * @return {*}\n * @suppress {reportUnknownTypes}\n */\n function(NativeWeakSet) {\n /**\n * Checks conformance of the existing WeakSet.\n * @return {boolean} True if the browser's implementation conforms.\n */\n function isConformant() {\n if (!NativeWeakSet || !Object.seal) return false;\n try {\n var x = Object.seal({});\n var y = Object.seal({});\n var set = new /** @type {function(new: WeakSet, !Array)} */ (\n NativeWeakSet)([x]);\n if (!set.has(x) || set.has(y)) return false;\n set.delete(x);\n set.add(y);\n return !set.has(x) && set.has(y);\n } catch (err) { // This should hopefully never happen, but let's be safe.\n return false;\n }\n }\n if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\n if (NativeWeakSet && $jscomp.ES6_CONFORMANCE) return NativeWeakSet;\n } else {\n if (isConformant()) return NativeWeakSet;\n }\n\n /**\n * @constructor\n * @extends {WeakSet<TYPE>}\n * @template TYPE\n * @param {!Iterator<TYPE>|!Array<TYPE>|null=} opt_iterable\n */\n var PolyfillWeakSet = function(opt_iterable) {\n /** @private @const {!WeakMap<TYPE, boolean>} */\n this.map_ = new WeakMap();\n\n if (opt_iterable) {\n var iter = $jscomp.makeIterator(opt_iterable);\n var entry;\n while (!(entry = iter.next()).done) {\n var item = entry.value;\n this.add(item);\n }\n }\n };\n\n /** @override */\n PolyfillWeakSet.prototype.add = function(elem) {\n this.map_.set(elem, true);\n return this;\n };\n\n /** @override */\n PolyfillWeakSet.prototype.has = function(elem) {\n return this.map_.has(elem);\n };\n\n /** @override */\n PolyfillWeakSet.prototype.delete = function(elem) {\n return this.map_.delete(elem);\n };\n\n return PolyfillWeakSet;\n}, 'es6', 'es3');\n",
  960. "js/es6_dart_runtime.js":"/*\n * Copyright 2014 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Additional runtime functions required for transpilation from\n * ES6 to ES5 of code generated by the Dart Dev Compiler.\n *\n * Note that DDC's output cannot currently be lowered to ES3 (heavy use of\n * getters or setters, including in the runtime), so these helpers make no\n * attempt of fallback behaviour when methods like Object.getPrototypeOf or\n * Object.getOwnPropertyDescriptor are undefined (unlike helpers in es6/*.js).\n */\n'require base';\n\n/**\n * Gets a property descriptor for a target instance, skipping its class\n * and walking up the super-classes hierarchy.\n *\n * @private\n * @param {!Object} target\n * @param {!string} name\n * @return {?}\n */\n$jscomp.getSuperPropertyDescriptor_ = function(target, name) {\n var getPrototypeOf = Object.getPrototypeOf;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var cls = getPrototypeOf(target);\n while (cls != null) {\n cls = getPrototypeOf(cls);\n if (cls != null) {\n var desc = getOwnPropertyDescriptor(cls, name);\n if (desc != null) {\n return desc;\n }\n }\n }\n return undefined;\n};\n\n/**\n * Gets a property of a target instance using its super class getter or value,\n * or returns undefined if that property is not defined on any ancestor.\n *\n * @param {!Object} target\n * @param {!string} propertyName\n * @return {*}\n */\n$jscomp.superGet = function(target, propertyName) {\n var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\n return desc && (desc.get ? desc.get.call(target) : desc.value);\n};\n\n/**\n * Sets a property on a target instance using its super setter if is defined\n * on any ancestor, or setting it as a simple property on the target otherwise.\n *\n * @template T\n * @param {!Object} target\n * @param {!string} propertyName\n * @param {T} value\n * @return {T}\n */\n$jscomp.superSet = function(target, propertyName, value) {\n var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\n if (desc) {\n if (!desc.set) {\n throw new TypeError('No setter for super.' + propertyName);\n }\n desc.set.call(target, value);\n } else {\n target[propertyName] = value;\n }\n return value;\n};\n",
  961. "js/es6_runtime.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Assorted runtime logic code and polyfills.\n * @suppress {uselessCode}\n */\n'require es6/array';\n'require es6/async_generator_wrapper';\n'require es6/execute_async_generator';\n'require es6/generator_engine';\n'require es6/globalthis';\n'require es6/map';\n'require es6/math';\n'require es6/number';\n'require es6/object';\n'require es6/promise';\n'require es6/reflect';\n'require es6/set';\n'require es6/string';\n'require es6/symbol';\n'require es6/util/createtemplatetagfirstarg';\n'require es6/util/arrayfromiterable';\n'require es6/util/arrayfromiterator';\n'require es6/util/inherits';\n'require es6/util/iteratorfromarray';\n'require es6/util/makeiterator';\n'require es6/weakmap';\n'require es6/weakset';\n",
  962. "js/modules.js":'/*\n * Copyright 2018 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview\n * @suppress {uselessCode}\n */\n\n\'require es6/modules/runtime\';\n',
  963. "js/runtime_type_check.js":"/*\n * Copyright 2010 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * @fileoverview Provides the boilerplate code for run-time type checking.\n *\n *\n * @suppress {uselessCode} The require statements below are not useless.\n */\n'require base';\n\n/** @const */\n$jscomp.typecheck = {};\n\n/**\n * A state variable to suspend checking, to avoid infinite calls\n * caused by calling checked code from the checking functions.\n *\n * @type {boolean}\n */\n$jscomp.typecheck.suspendChecking = false;\n\n\n/**\n * Log and possibly format the run-time type check warning. This\n * function is customized at compile-time.\n *\n * @param {string} warning the warning to log.\n * @param {*} expr the faulty expression.\n */\n$jscomp.typecheck.log = function(warning, expr) {};\n\n/**\n * Checks that the given expression matches one of the given checkers,\n * logging if not, and returning the expression regardless.\n *\n * @param {*} expr the expression to check.\n * @param {!Array<!$jscomp.typecheck.Checker>} checkers the checkers to\n * use in checking, one of these has to match for checking to succeed.\n * @return {*} the given expression back.\n */\n$jscomp.typecheck.checkType = function(expr, checkers) {\n if ($jscomp.typecheck.suspendChecking) {\n return expr;\n }\n $jscomp.typecheck.suspendChecking = true;\n\n for (var i = 0; i < checkers.length; i++) {\n var checker = checkers[i];\n var ok = checker.check(expr);\n if (ok) {\n $jscomp.typecheck.suspendChecking = false;\n return expr;\n }\n }\n\n var warning = $jscomp.typecheck.prettify_(expr) + ' not in ' +\n checkers.join(' ');\n\n $jscomp.typecheck.log(warning, expr);\n\n $jscomp.typecheck.suspendChecking = false;\n return expr;\n};\n\n\n/**\n * Prettify the given expression for printing.\n *\n * @param {*} expr the expression.\n * @return {string} a string representation of the given expression.\n * @private\n */\n$jscomp.typecheck.prettify_ = function(expr) {\n var className = $jscomp.typecheck.getClassName_(expr);\n if (className) {\n return className;\n }\n try {\n return String(expr);\n }\n catch (e) {}\n return '<unknown>';\n};\n\n/**\n * Gets the class name if the given expression is an object.\n *\n * @param {*} expr the expression.\n * @return {string|undefined} the class name or undefined if the\n * expression is not an object.\n * @private\n * @suppress {strictMissingProperties}\n */\n$jscomp.typecheck.getClassName_ = function(expr) {\n var className = void 0;\n if (typeof expr == 'object' && expr && expr.constructor) {\n className = expr.constructor.name;\n if (!className) {\n var funNameRe = /function (.{1,})\\(/;\n var m = (funNameRe).exec(expr.constructor.toString());\n className = m && m.length > 1 ? m[1] : void 0;\n }\n }\n return className;\n};\n\n/**\n * Interface for all checkers.\n *\n * @interface\n */\n$jscomp.typecheck.Checker = function() {};\n\n\n/**\n * Checks the given expression.\n *\n * @param {*} expr the expression to check.\n * @return {boolean} whether the given expression matches this checker.\n */\n$jscomp.typecheck.Checker.prototype.check = function(expr) {};\n\n\n\n/**\n * A class for all value checkers, except the null checker.\n *\n * @param {string} type the value type (e.g. 'number') of this checker.\n * @constructor\n * @implements {$jscomp.typecheck.Checker}\n * @private\n */\n$jscomp.typecheck.ValueChecker_ = function(type) {\n /**\n * The value type of this checker.\n * @type {string}\n * @private\n */\n this.type_ = type;\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ValueChecker_.prototype.check = function(expr) {\n return typeof(expr) == this.type_;\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ValueChecker_.prototype.toString = function() {\n return 'value(' + this.type_ + ')';\n};\n\n\n\n/**\n * A checker class for null values.\n *\n * @constructor\n * @implements {$jscomp.typecheck.Checker}\n * @private\n */\n$jscomp.typecheck.NullChecker_ = function() {};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.NullChecker_.prototype.check = function(expr) {\n return expr === null;\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.NullChecker_.prototype.toString = function() {\n return 'value(null)';\n};\n\n\n/**\n * A checker class for a class defined in externs, including built-in\n * JS types.\n *\n * <p>If the class type is undefined, then checking is suspended to\n * avoid spurious warnings. This is necessary because some externs\n * types are not defined in all browsers. For example, Window is not\n * defined Chrome, as window has the type DOMWindow.\n *\n * <p>Another subtlety is that a built-in type may be referenced in a\n * different frame than the one in which it was created. This causes\n * instanceOf to return false even though the object is of the correct\n * type. We work around this by checking as many windows as possible,\n * redefining open on top and window to keep track of them.\n *\n * @param {string} className the name of the extern class to check.\n * @constructor\n * @implements {$jscomp.typecheck.Checker}\n * @private\n */\n$jscomp.typecheck.ExternClassChecker_ = function(className) {\n /**\n * The name of the extern class to check.\n * @type {string}\n * @private\n */\n this.className_ = className;\n};\n\n\n/**\n * A list of (hopefully all) open windows.\n *\n * @type {!Array<!Window>}\n */\n$jscomp.typecheck.ExternClassChecker_.windows = [];\n\n\n/**\n * A list of the original open methods that have been redefined.\n *\n * @type {!Array<!Function>}\n */\n$jscomp.typecheck.ExternClassChecker_.oldOpenFuns = [];\n\n\n/**\n * Redefines the open method on the given window, adding tracking.\n *\n * @param {!Window} win the window to track.\n * @suppress {uselessCode}\n */\n$jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow = function(win) {\n // Declare the property we add to the window object.\n // NOTE: we add a declaration in a \"if (false) ...\" to ensure we\n // don't reference \"Window\" on platforms that don't have a global\n // Window object (node, service workers, etc).\n if (false) {\n /** @type {boolean} */\n Window.prototype.tracked;\n }\n\n if (win.tracked) {\n return;\n }\n\n win.tracked = true;\n\n var key = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.length;\n\n $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.push(win.open);\n $jscomp.typecheck.ExternClassChecker_.windows.push(win);\n\n win.open = function() {\n var w = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns[key].apply(\n this, arguments);\n $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(w);\n return w;\n };\n};\n\n\n/**\n * Returns the global 'this' object. This will normally be the same as 'window'\n * but when running in a worker thread, the DOM is not available.\n *\n * This does not work when strict mode is enabled.\n *\n * @return {!Window}\n * @private\n */\n$jscomp.typecheck.ExternClassChecker_.getGlobalThis_ = function() {\n return (function() { return this; }).call(null);\n};\n\n\n// Install listeners on the global 'this' object.\n(function() {\n var globalThis = $jscomp.typecheck.ExternClassChecker_.getGlobalThis_();\n $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(globalThis);\n\n var theTop = globalThis['top'];\n if (theTop) {\n $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(theTop);\n }\n})();\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ExternClassChecker_.prototype.check = function(expr) {\n var classTypeDefined = [ false ];\n for (var i = 0; i < $jscomp.typecheck.ExternClassChecker_.windows.length;\n i++) {\n var w = $jscomp.typecheck.ExternClassChecker_.windows[i];\n if (this.checkWindow_(w, expr, classTypeDefined)) {\n return true;\n }\n }\n return !classTypeDefined[0];\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ExternClassChecker_.prototype.toString = function() {\n return 'ext_class(' + this.className_ + ')';\n};\n\n\n/**\n * Checks whether the given expression is an instance of this extern\n * class in this window or any of its frames and subframes.\n *\n * @param {!Window} w the window to start checking from.\n * @param {*} expr the expression to check.\n * @param {!Array<boolean>} classTypeDefined a wrapped boolean\n * updated to indicate whether the class type was seen in any frame.\n * @return {boolean} true if the given expression is an instance of this class.\n * @private\n */\n$jscomp.typecheck.ExternClassChecker_.prototype.checkWindow_ =\n function(w, expr, classTypeDefined) {\n var classType = /** @type {function(new: ?)} */ (w[this.className_]);\n classTypeDefined[0] = classTypeDefined[0] || !!classType;\n if (classType && expr instanceof classType) {\n return true;\n }\n for (var i = 0; i < w.length; i++) {\n if (this.checkWindow_(w.frames[i], expr, classTypeDefined)) {\n return true;\n }\n }\n return false;\n};\n\n\n\n/**\n * A class for all checkers of user-defined classes.\n *\n * @param {string} className name of the class to check.\n * @constructor\n * @implements {$jscomp.typecheck.Checker}\n * @private\n */\n$jscomp.typecheck.ClassChecker_ = function(className) {\n\n /**\n * The name of the class to check.\n * @type {string}\n * @private\n */\n this.className_ = className;\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ClassChecker_.prototype.check = function(expr) {\n return !!(expr && expr['instance_of__' + this.className_]);\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ClassChecker_.prototype.toString = function() {\n return 'class(' + this.className_ + ')';\n};\n\n\n\n/**\n * A class for all checkers of user-defined interfaces.\n *\n * @param {string} interfaceName name of the interface to check.\n * @constructor\n * @implements {$jscomp.typecheck.Checker}\n * @private\n */\n$jscomp.typecheck.InterfaceChecker_ = function(interfaceName) {\n\n /**\n * The name of the interface to check.\n * @type {string}\n * @private\n */\n this.interfaceName_ = interfaceName;\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.InterfaceChecker_.prototype.check = function(expr) {\n return !!(expr && expr['implements__' + this.interfaceName_]);\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.InterfaceChecker_.prototype.toString = function() {\n return 'interface(' + this.interfaceName_ + ')';\n};\n\n\n\n/**\n * A checker for object types (possibly with non-standard prototype: might not\n * inherit from Object).\n *\n * @constructor\n * @implements {$jscomp.typecheck.Checker}\n * @private\n */\n$jscomp.typecheck.ObjectChecker_ = function() {};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ObjectChecker_.prototype.check = function(expr) {\n return (typeof(expr) == 'object' || typeof(expr) == 'function') && !!expr;\n};\n\n\n/** @inheritDoc */\n$jscomp.typecheck.ObjectChecker_.prototype.toString = function() {\n return 'value(object)';\n};\n\n\n\n/**\n * A checker for null values.\n *\n * @type {!$jscomp.typecheck.Checker} a checker.\n */\n$jscomp.typecheck.nullChecker = new $jscomp.typecheck.NullChecker_();\n\n\n/**\n * Creates a checker for the given value type (excluding the null type).\n *\n * @param {string} type the value type.\n * @return {!$jscomp.typecheck.Checker} a checker.\n */\n$jscomp.typecheck.valueChecker = function(type) {\n return new $jscomp.typecheck.ValueChecker_(type);\n};\n\n\n/**\n * Creates a checker for the given extern class name.\n *\n * @param {string} className the class name.\n * @return {!$jscomp.typecheck.Checker} a checker.\n */\n$jscomp.typecheck.externClassChecker = function(className) {\n return new $jscomp.typecheck.ExternClassChecker_(className);\n};\n\n\n/**\n * Creates a checker for the given user-defined class.\n *\n * @param {string} className the class name.\n * @return {!$jscomp.typecheck.Checker} a checker.\n */\n$jscomp.typecheck.classChecker = function(className) {\n return new $jscomp.typecheck.ClassChecker_(className);\n};\n\n\n/**\n * Creates a checker for the given user-defined interface.\n *\n * @param {string} interfaceName the interface name.\n * @return {!$jscomp.typecheck.Checker} a checker.\n */\n$jscomp.typecheck.interfaceChecker = function(interfaceName) {\n return new $jscomp.typecheck.InterfaceChecker_(interfaceName);\n};\n\n\n/**\n * A checker for objects.\n *\n * @type {!$jscomp.typecheck.Checker} a checker.\n */\n$jscomp.typecheck.objectChecker = new $jscomp.typecheck.ObjectChecker_();\n",
  964. "js/util/checkstringargs.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require base';\n\n\n/**\n * Throws if the argument is a RegExp, or if thisArg is undefined.\n * @param {?} thisArg The 'this' arg, which must be defined.\n * @param {*} arg The first argument of the function, which mustn't be a RegExp.\n * @param {string} func Name of the function, for reporting.\n * @return {string} The thisArg, coerced to a string.\n * @suppress {reportUnknownTypes}\n */\n$jscomp.checkStringArgs = function(thisArg, arg, func) {\n if (thisArg == null) {\n throw new TypeError(\n \"The 'this' value for String.prototype.\" + func +\n ' must not be null or undefined');\n }\n if (arg instanceof RegExp) {\n throw new TypeError(\n 'First argument to String.prototype.' + func +\n ' must not be a regular expression');\n }\n return thisArg + '';\n};\n",
  965. "js/util/defineproperty.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Provides methods to polyfill native objects.\n * @suppress {reportUnknownTypes}\n */\n'require util/defines';\n\n\n/**\n * Polyfill for Object.defineProperty() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n *\n * Refuses to define properties on Array.prototype and Object.prototype,\n * since we can't make them non-enumerable and this messes up peoples' for\n * loops. Beyond this, we simply assign values and not worry\n * about enumerability or writeability.\n * @param {?} target\n * @param {string} property\n * @param {?} descriptor\n * @suppress {reportUnknownTypes}\n */\n$jscomp.defineProperty =\n $jscomp.ASSUME_ES5 || typeof Object.defineProperties == 'function' ?\n Object.defineProperty :\n function(target, property, descriptor) {\n descriptor = /** @type {!ObjectPropertyDescriptor} */ (descriptor);\n // NOTE: This is currently never called with a descriptor outside\n // the control of the compiler. If we ever decide to polyfill either\n // Object.defineProperty or Reflect.defineProperty for ES3, we should\n // explicitly check for `get` or `set` on the descriptor and throw a\n // TypeError, since it's impossible to properly polyfill it.\n if (target == Array.prototype || target == Object.prototype) return;\n target[property] = descriptor.value;\n };\n",
  966. "js/util/defines.js":'/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\'require base\';\n\n\n/**\n * Whether to assume ES5 is available. This enables removing several\n * internal polyfills, which must otherwise be detected at runtime.\n * @define {boolean}\n */\n$jscomp.ASSUME_ES5 = false;\n\n/**\n * Whether to skip the conformance check and simply use the polyfill always.\n * @define {boolean}\n */\n$jscomp.ASSUME_NO_NATIVE_MAP = false;\n\n/**\n * Whether to skip the conformance check and simply use the polyfill always.\n * @define {boolean}\n */\n$jscomp.ASSUME_NO_NATIVE_SET = false;\n\n/**\n * Whether to provide an incorrect but tiny Math.fround polyfill that just\n * returns the number given. This is usually okay to do, particularly if\n * `Math.fround` is only used to allow the JavaScript engine to use faster\n * 32-bit float operations, but could cause problems if program logic is\n * dependent on floats being truncated consistently.\n * @define {boolean}\n */\n$jscomp.SIMPLE_FROUND_POLYFILL = false;\n',
  967. "js/util/finddescriptor.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/reflect/getownpropertydescriptor';\n'require es6/reflect/getprototypeof';\n\n\n/**\n * Helper function to find a descriptor.\n * @param {!Object} target\n * @param {string} propertyKey\n * @return {!ObjectPropertyDescriptor|undefined}\n */\n$jscomp.findDescriptor = function(target, propertyKey) {\n var /** ?Object */ obj = target;\n while (obj) {\n var property = Reflect.getOwnPropertyDescriptor(obj, propertyKey);\n if (property) {\n return property;\n }\n obj = Reflect.getPrototypeOf(obj);\n }\n return undefined;\n};\n",
  968. "js/util/findinternal.js":'/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Utility for Array methods that find elements.\n */\n\'require base\';\n\n// TODO(sdh): would be nice to template on the ARRAY type as well,\n// so that the third arg type of callback can be refined to be\n// exactly the same as the array type, but then there\'s no way to\n// enforce that it must, in fact, be an array.\n/**\n * Internal implementation of find.\n * @param {!IArrayLike<VALUE>} array\n * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *} callback\n * @param {THIS} thisArg\n * @return {{i: number, v: (VALUE|undefined)}}\n * @template THIS, VALUE\n * @suppress {reportUnknownTypes}\n */\n$jscomp.findInternal = function(array, callback, thisArg) {\n if (array instanceof String) {\n array = /** @type {!IArrayLike} */ (String(array));\n }\n var len = array.length;\n for (var i = 0; i < len; i++) {\n var value = array[i];\n if (callback.call(thisArg, value, i, array)) return {i: i, v: value};\n }\n return {i: -1, v: void 0};\n};\n',
  969. "js/util/global.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Runtime code to store the global object.\n * @suppress {uselessCode}\n */\n'require base';\n\n/**\n * Locate and return a reference to the global object.\n *\n * NOTE: This method is marked with `noinline`, because `RemoveUnusedCode` has\n * trouble removing the loop it contains if it gets inlined into the global\n * scope.\n * @param {?Object} passedInThis\n * @return {!Global} The global object.\n * @suppress {undefinedVars|reportUnknownTypes}\n * @noinline\n */\n$jscomp.getGlobal = function(passedInThis) {\n var possibleGlobals = [\n // Web Audio Worklets do not have any way to refer to their global object\n // other than `globalThis`.\n // This use of `globalThis` does not prevent removal of the `globalThis`\n // polyfill, because the usage is guarded by a typeof check.\n 'object' == typeof globalThis && globalThis,\n // Browser windows always have `window`\n 'object' == typeof window && window,\n // WebWorkers have `self`\n 'object' == typeof self && self,\n // NodeJS has `global`\n 'object' == typeof global && global,\n // Rhino (used by older Google Docs Script projects) has none of the above,\n // but `this` from the global scope is the global object.\n // NOTE: If the compiler's output is wrapped in a strict-mode function,\n // this file's code won't actually be executing in global scope, so this\n // value will be undefined.\n passedInThis\n ];\n for (var i = 0; i < possibleGlobals.length; ++i) {\n var maybeGlobal = possibleGlobals[i];\n // It can happen that an environment has, for example, both `global` and\n // `window` defined in the global scope, but one of them isn't actually\n // the global object, so check that it really seems to be the global object.\n // We use `Math` to check for this because it's only 4 characters long,\n // exists in all possible JS environments, and doesn't have the problematic\n // equality behavior of `NaN`.\n if (maybeGlobal && maybeGlobal['Math'] == Math) {\n return /** @type {!Global} */ (maybeGlobal);\n }\n }\n // Throw an exception if we cannot find the global object.\n // We have to be sneaky about it, otherwise the compiler will think this code\n // has a side effect (throwing an exception) that prevents it from being\n // removed, even when all usages of `$jscomp.global` get removed.\n // Casting through unknown is necessary to keep the compiler from rejecting\n // this code.\n return /** @type {!Global} */ (\n /** @type {?} */ ({\n valueOf: function() {\n throw new Error('Cannot find global object');\n }\n }.valueOf()));\n};\n\n\n/**\n * The global object.\n * @const {!Global}\n */\n$jscomp.global = $jscomp.getGlobal(this);\n",
  970. "js/util/objectcreate.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Provides a partial internal polyfill for Object.create.\n */\n'require util/defines';\n\n\n/**\n * Polyfill for Object.create() method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create\n *\n * Does not implement the second argument.\n * @param {!Object} prototype\n * @return {!Object}\n */\n$jscomp.objectCreate =\n ($jscomp.ASSUME_ES5 || typeof Object.create == 'function') ?\n Object.create :\n function(prototype) {\n /** @constructor */\n var ctor = function() {};\n ctor.prototype = prototype;\n return new ctor();\n };\n",
  971. "js/util/owns.js":'/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\'require base\';\n\n/**\n * Synonym for Object.prototype.hasOwnProperty.call(obj, prop).\n * @param {!Object} obj\n * @param {string} prop\n * @return {boolean}\n */\n$jscomp.owns = function(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};\n',
  972. "js/util/polyfill.js":"/*\n * Copyright 2016 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Provides methods to polyfill native objects.\n */\n'require util/defineproperty';\n'require util/global';\n\n\n/**\n * @param {string} target Qualified name of the class or method to polyfill,\n * e.g. 'Array.prototype.includes' or 'Map'.\n * @param {?function(*): *} polyfill A function that takes the current browser\n * implementation of the target and returns an optional new polyfill\n * implementation. If null is returned, then no polyfill will be added. A\n * null argument for this parameter indicates that the function will not be\n * polyfilled, and is only useful for `build_polyfill_table.js` bookkeeping.\n * @param {string} fromLang The language level in which the target is expected\n * to already be present in the browser. The compiler requires that\n * `languageOut < fromLang` before injecting a polyfill (i.e. if the\n * specified output language already includes the feature then there's no\n * need to polyfill it).\n * @param {string} toLang The language level required by the polyfill\n * implementation. The compiler will issue an error if a polyfill is\n * required, but `languageOut < toLang`. Additionally, the\n * `build_polyfill_table.js` script audits the polyfill dependency tree to\n * ensure that no polyfill with a lower `toLang` depends on one with a\n * higher `toLang`.\n * @suppress {reportUnknownTypes}\n * @noinline\n * NOTE: We prevent inlining so RemoveUnusedPolyfills can always recognize this\n * call.\n */\n$jscomp.polyfill = function(target, polyfill, fromLang, toLang) {\n if (!polyfill) return;\n var obj = $jscomp.global;\n var split = target.split('.');\n for (var i = 0; i < split.length - 1; i++) {\n var key = split[i];\n if (!(key in obj)) obj[key] = {}; // Might want to be defineProperty.\n obj = obj[key];\n }\n var property = split[split.length - 1];\n var orig = obj[property];\n var impl = polyfill(orig);\n if (impl == orig || impl == null) return;\n $jscomp.defineProperty(\n obj, property, {configurable: true, writable: true, value: impl});\n};\n",
  973. "js/util/reflectobject.js":'/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\'require base\';\n\n/**\n * Definition for object reflection.\n *\n * Internal compiler version of closure library goog.reflect.object.\n *\n * Use this if you have an object literal whose keys need to have the same names\n * as the properties of some class even after they are renamed by the compiler.\n *\n * @param {?Object} type class, interface, or record\n * @param {T} object Object literal whose properties must be renamed\n * consistently with type\n * @return {T} The object literal.\n * @template T\n */\n$jscomp.reflectObject = function(type, object) {\n return object;\n};\n\n/**\n * Definition for object property reflection.\n *\n * Internal compiler version of closure library goog.reflect.objectProperty.\n *\n * Use this if you have a string that needs renamed as if it were an unquoted\n * property of a class.\n *\n * @param {string} propName\n * @param {?Object} type class, interface, or record\n * @return {string}\n */\n$jscomp.reflectProperty = function(propName, type) {\n return propName;\n};\n',
  974. "js/util/stringpadding.js":"/*\n * Copyright 2017 The Closure Compiler Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'require es6/string/repeat';\n\n/**\n * Repeats the given string as necessary to reach the given length,\n * truncating any extra characters.\n * @param {string|undefined} padString\n * @param {number} padLength\n * @return {string}\n */\n$jscomp.stringPadding = function(padString, padLength) {\n var padding = padString !== undefined ? String(padString) : ' ';\n if (!(padLength > 0) || !padding) return '';\n var repeats = Math.ceil(padLength / padding.length);\n return padding.repeat(repeats).substring(0, padLength);\n};\n",
  975. "js/polyfills.txt":"Array.from es6 es3 es6/array/from\nArray.of es6 es3 es6/array/of\nArray.prototype.copyWithin es6 es3 es6/array/copywithin\nArray.prototype.entries es6 es3 es6/array/entries\nArray.prototype.fill es6 es3 es6/array/fill\nArray.prototype.find es6 es3 es6/array/find\nArray.prototype.findIndex es6 es3 es6/array/findindex\nArray.prototype.flat es9 es5 es6/array/flat\nArray.prototype.flatMap es9 es5 es6/array/flatmap\nArray.prototype.includes es7 es3 es6/array/includes\nArray.prototype.keys es6 es3 es6/array/keys\nArray.prototype.values es8 es3 es6/array/values\nMap es6 es3 es6/map\nMath.acosh es6 es3 es6/math/acosh\nMath.asinh es6 es3 es6/math/asinh\nMath.atanh es6 es3 es6/math/atanh\nMath.cbrt es6 es3 es6/math/cbrt\nMath.clz32 es6 es3 es6/math/clz32\nMath.cosh es6 es3 es6/math/cosh\nMath.expm1 es6 es3 es6/math/expm1\nMath.fround es6 es3 es6/math/fround\nMath.hypot es6 es3 es6/math/hypot\nMath.imul es6 es3 es6/math/imul\nMath.log10 es6 es3 es6/math/log10\nMath.log1p es6 es3 es6/math/log1p\nMath.log2 es6 es3 es6/math/log2\nMath.sign es6 es3 es6/math/sign\nMath.sinh es6 es3 es6/math/sinh\nMath.tanh es6 es3 es6/math/tanh\nMath.trunc es6 es3 es6/math/trunc\nNumber.EPSILON es6 es3 es6/number/constants\nNumber.MAX_SAFE_INTEGER es6 es3 es6/number/constants\nNumber.MIN_SAFE_INTEGER es6 es3 es6/number/constants\nNumber.isFinite es6 es3 es6/number/isfinite\nNumber.isInteger es6 es3 es6/number/isinteger\nNumber.isNaN es6 es3 es6/number/isnan\nNumber.isSafeInteger es6 es3 es6/number/issafeinteger\nNumber.parseFloat es6 es3 es6/number/parsefloat\nNumber.parseInt es6 es3 es6/number/parseint\nObject.assign es6 es3 es6/object/assign\nObject.entries es8 es3 es6/object/entries\nObject.fromEntries es_2019 es3 es6/object/fromentries\nObject.getOwnPropertyDescriptors es8 es5 es6/object/getownpropertydescriptors\nObject.getOwnPropertySymbols es6 es5 es6/object/getownpropertysymbols\nObject.is es6 es3 es6/object/is\nObject.setPrototypeOf es6 es5 es6/object/setprototypeof\nObject.values es8 es3 es6/object/values\nPromise es6 es3 es6/promise/promise\nPromise.allSettled es_2020 es3 es6/promise/allSettled\nPromise.prototype.finally es9 es3 es6/promise/finally\nProxy es6 es6\nReflect.apply es6 es3 es6/reflect/apply\nReflect.construct es6 es3 es6/reflect/construct\nReflect.defineProperty es6 es5 es6/reflect/defineproperty\nReflect.deleteProperty es6 es3 es6/reflect/deleteproperty\nReflect.get es6 es5 es6/reflect/get\nReflect.getOwnPropertyDescriptor es6 es5 es6/reflect/getownpropertydescriptor\nReflect.getPrototypeOf es6 es5 es6/reflect/getprototypeof\nReflect.has es6 es3 es6/reflect/has\nReflect.isExtensible es6 es3 es6/reflect/isextensible\nReflect.ownKeys es6 es5 es6/reflect/ownkeys\nReflect.preventExtensions es6 es3 es6/reflect/preventextensions\nReflect.set es6 es5 es6/reflect/set\nReflect.setPrototypeOf es6 es5 es6/reflect/setprototypeof\nSet es6 es3 es6/set\nString.fromCodePoint es6 es3 es6/string/fromcodepoint\nString.prototype.codePointAt es6 es3 es6/string/codepointat\nString.prototype.endsWith es6 es3 es6/string/endswith\nString.prototype.includes es6 es3 es6/string/includes\nString.prototype.matchAll es_2020 es3 es6/string/matchall\nString.prototype.normalize es6 es6\nString.prototype.padEnd es8 es3 es6/string/padend\nString.prototype.padStart es8 es3 es6/string/padstart\nString.prototype.repeat es6 es3 es6/string/repeat\nString.prototype.startsWith es6 es3 es6/string/startswith\nString.prototype.trimEnd es_2019 es3 es6/string/trimend\nString.prototype.trimLeft es_2019 es3 es6/string/trimstart\nString.prototype.trimRight es_2019 es3 es6/string/trimend\nString.prototype.trimStart es_2019 es3 es6/string/trimstart\nString.raw es6 es6\nWeakMap es6 es3 es6/weakmap\nWeakSet es6 es3 es6/weakset\nglobalThis es_2020 es3 es6/globalthis\n",
  976. "parsing/ParserConfig.properties":"# Copyright 2009 The Closure Compiler Authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# Configuration options for the Parser.\n#\n# Allows us to update the allowed JSDoc annotations independently of the\n# Compiler binary, so we can add new JSDoc annotations to old binaries.\n\n# The version of the compiler that we're currently building.\n# Should be formatted as:\n# Version# (Revision XXX)\ncompiler.version = ${compiler.version}\n\n# The datestamp of the compiler that we're currently building.\ncompiler.date = ${compiler.date}\n\n# A comma-delimited list.\n# Some of these are not used by JSCompiler, but appear in third-party JS code.\n# http://usejsdoc.org/\n# It's not strictly necessary for the natively-supported annotations to be\n# listed here, but it's nice to have them all in one place.\njsdoc.annotations =\\\n addon,\\\n alias,\\\n animations,\\\n appliesMixin,\\\n augments,\\\n author,\\\n base,\\\n borrows,\\\n bug,\\\n channel, \\\n class,\\\n classdesc,\\\n closurePrimitive,\\\n codepen,\\\n config,\\\n constructor,\\\n constructs,\\\n copyright,\\\n default,\\\n delegate,\\\n demo,\\\n deprecated,\\\n desc,\\\n description,\\\n dict,\\\n docsNotRequired,\\\n docs-private,\\\n element,\\\n enhance,\\\n enhanceable,\\\n enum,\\\n event,\\\n eventOf,\\\n eventType,\\\n example,\\\n exception,\\\n exec,\\\n export,\\\n exportDoc,\\\n exportInterface,\\\n expose,\\\n externs,\\\n field,\\\n file,\\\n fires,\\\n function,\\\n global,\\\n hassoydelcall,\\\n hassoydeltemplate,\\\n hideconstructor, \\\n id,\\\n idGenerator,\\\n ignore,\\\n inner,\\\n instance,\\\n kind,\\\n lends,\\\n link,\\\n meaning,\\\n member,\\\n memberOf,\\\n memberof,\\\n method,\\\n methodOf,\\\n mixes,\\\n mixin,\\\n modName,\\\n moddedBy,\\\n model,\\\n modifies,\\\n mods,\\\n module,\\\n multiElement,\\\n name,\\\n namespace,\\\n ngInject,\\\n ngdoc,\\\n nocompile,\\\n package,\\\n param,\\\n parent,\\\n pintomodule,\\\n preserveTry,\\\n priority,\\\n private,\\\n property,\\\n propertyOf,\\\n protected,\\\n provideGoog,\\\n pseudoElement,\\\n public,\\\n readonly,\\\n requirecss,\\\n requires,\\\n requireExtern,\\\n restrict,\\\n returns,\\\n scope,\\\n see,\\\n since,\\\n static,\\\n struct,\\\n summary,\\\n supported,\\\n this,\\\n throws,\\\n todo,\\\n transaction,\\\n tutorial,\\\n type,\\\n typedef,\\\n typeSummary,\\\n url,\\\n usage,\\\n version,\\\n virtual,\\\n visibility,\\\n wizSupportsSymbolicLookup,\\\n wizaction,\\\n wizmodule\n\n# Comma-delimited list of valid suppressions.\n# This should be a subset of the list of DiagnosticGroups.\njsdoc.suppressions =\\\n accessControls,\\\n checkDebuggerStatement,\\\n checkPrototypalTypes,\\\n checkRegExp,\\\n checkTypes,\\\n checkVars,\\\n closureDepMethodUsageChecks,\\\n const,\\\n constantProperty,\\\n deprecated,\\\n duplicate,\\\n es5Strict,\\\n externsValidation,\\\n extraProvide,\\\n extraRequire,\\\n globalThis,\\\n invalidCasts,\\\n legacyGoogScopeRequire,\\\n lateProvide,\\\n lintChecks,\\\n messageConventions,\\\n misplacedTypeAnnotation,\\\n missingOverride, \\\n missingPolyfill, \\\n missingProperties,\\\n missingProvide,\\\n missingRequire,\\\n missingReturn,\\\n missingSourcesWarnings,\\\n moduleLoad,\\\n nonStandardJsDocs,\\\n partialAlias,\\\n polymer,\\\n reportUnknownTypes,\\\n strictCheckTypes,\\\n strictMissingProperties,\\\n strictModuleDepCheck,\\\n strictPrimitiveOperators,\\\n suspiciousCode,\\\n transitionalSuspiciousCodeWarnings,\\\n undefinedNames,\\\n undefinedVars,\\\n underscore,\\\n unknownDefines,\\\n untranspilableFeatures,\\\n unusedLocalVariables,\\\n unusedPrivateMembers,\\\n useOfGoogProvide,\\\n uselessCode,\\\n visibility,\\\n with\n\n# A comma-delimited list of valid closure primitive ids.\n# This correspond to the ClosurePrimitive enum once normalized (see ClosurePrimitive.fromStringId)\njsdoc.primitives =\\\n asserts.fail,\\\n asserts.matchesReturn,\\\n asserts.truthy,\\\n\n# A comma-delimited list of reserved words that we should not rename variables\n# to. Used when an extension is released that steps on globals.\n# This prevents the compiler from renaming variables to these names, but not\n# from allowing externs for these names.\n#\n# i,j - common loop variables often overwritten by browser extensions\n# s \u2013 commonly defined by browser extensions when injecting scripts.\n# $j,$ - common jquery aliases often overwritten by browser extensions\n# o - overwritten by Norton Identity Protection's Chrome extension.\n# ga,_gaq - global variable names used by Google Analytics.\n# sun,java - May cause issues in older browsers with remnants of Java support.\n# XR - extern added by the webXR platform API.\n# TODO(tbreisacher): Remove 'ga' and '_gaq' if/when we enable\n# --isolation_mode=IIFE by default.\ncompiler.reserved.vars = i,j,s,$,$j,o,ga,_gaq,sun,XR,java\n",
  977. "rhino/Messages.properties":'#\n# Default JavaScript messages file.\n#\n# ***** BEGIN LICENSE BLOCK *****\n# Version: MPL 1.1/GPL 2.0\n#\n# The contents of this file are subject to the Mozilla Public License Version\n# 1.1 (the "License"); you may not use this file except in compliance with\n# the License. You may obtain a copy of the License at\n# http://www.mozilla.org/MPL/\n#\n# Software distributed under the License is distributed on an "AS IS" basis,\n# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n# for the specific language governing rights and limitations under the\n# License.\n#\n# The Original Code is Rhino code, released\n# May 6, 1999.\n#\n# The Initial Developer of the Original Code is\n# Netscape Communications Corporation.\n# Portions created by the Initial Developer are Copyright (C) 1997-1999\n# the Initial Developer. All Rights Reserved.\n#\n# Contributor(s):\n# Norris Boyd\n# Bob Jervis\n# Pascal-Louis Perez\n#\n# Alternatively, the contents of this file may be used under the terms of\n# the GNU General Public License Version 2 or later (the "GPL"), in which\n# case the provisions of the GPL are applicable instead of those above. If\n# you wish to allow use of your version of this file only under the terms of\n# the GPL and not to allow others to use your version of this file under the\n# MPL, indicate your decision by deleting the provisions above and replacing\n# them with the notice and other provisions required by the GPL. If you do\n# not delete the provisions above, a recipient may use your version of this\n# file under either the MPL or the GPL.\n#\n# ***** END LICENSE BLOCK *****\n\n# This is replaced during jar assembly from property string\n# and should not be translated\nimplementation.version = @IMPLEMENTATION.VERSION@\n\n#\n# To add JavaScript error messages for a particular locale, create a\n# new Messages_[locale].properties file, where [locale] is the Java\n# string abbreviation for that locale. For example, JavaScript\n# messages for the Polish locale should be located in\n# Messages_pl.properties, and messages for the Italian Swiss locale\n# should be located in Messages_it_CH.properties. Message properties\n# files should be accessible through the classpath under\n# org.mozilla.javascript.resources\n#\n# See:\n# java.util.ResourceBundle\n# java.text.MessageFormat\n#\n\n# SomeJavaClassWhereUsed\n\n# Codegen\nmsg.dup.parms =\\\n Duplicate parameter name "{0}".\n\nmsg.unexpected.eof =\\\n Unexpected end of file\n\nmsg.extra.trailing.comma =\\\n Trailing comma is not legal in an ECMA-262 object initializer\n\nmsg.end.annotation.expected =\\\n expected end of line or comment.\n\nmsg.bad.jsdoc.tag =\\\n illegal use of unknown JSDoc tag "{0}"; ignoring it\n\nmsg.bad.fileoverview.visibility.annotation =\\\n {0} visibility not allowed in @fileoverview block\n\nmsg.missing.variable.name =\\\n expecting a variable name in a @param tag.\n\nmsg.dup.variable.name =\\\n duplicate variable name "{0}"\n\nmsg.invalid.variable.name =\\\n invalid param name "{0}"\n\nmsg.jsdoc.incompat.type =\\\n type annotation incompatible with other annotations.\n\nmsg.jsdoc.type.syntax =\\\n type not recognized due to syntax error.\n\nmsg.jsdoc.name.syntax =\\\n name not recognized due to syntax error.\n\nmsg.jsdoc.override =\\\n extra @override/@inheritDoc tag.\n\nmsg.jsdoc.final =\\\n extra @final tag.\n\nmsg.jsdoc.extra.visibility=\\\n extra visibility tag\n\nmsg.jsdoc.idgen.duplicate =\\\n extra @idGenerator tag\n\nmsg.jsdoc.idgen.bad =\\\n malformed @idGenerator tag\n\nmsg.jsdoc.wizaction =\\\n extra @wizaction tag\n\nmsg.jsdoc.idgen.unknown =\\\n unknown @idGenerator parameter: {0}\n\nmsg.jsdoc.hidden =\\\n extra @hidden tag\n\nmsg.jsdoc.const =\\\n conflicting @const tag\n\nmsg.jsdoc.desc.extra =\\\n extra @desc tag\n\nmsg.jsdoc.meaning.extra =\\\n extra @meaning tag\n\nmsg.jsdoc.fileoverview.extra =\\\n extra @fileoverview tag\n\nmsg.jsdoc.lends.incompatible =\\\n @lends tag incompatible with other annotations.\n\nmsg.jsdoc.lends.missing =\\\n missing object name in @lends tag.\n\nmsg.jsdoc.closurePrimitive.extra =\\\n conflicting @closurePrimitive tag\n\nmsg.jsdoc.closurePrimitive.invalid =\\\n invalid id in @closurePrimitive tag.\n\nmsg.jsdoc.closurePrimitive.missing =\\\n missing id in @closurePrimitive tag.\n\nmsg.jsdoc.preserve.nobuilder =\\\n @preserve or @license annotation without file to associate it with\n\nmsg.jsdoc.missing.lc =\\\n missing opening \'{\'\n\nmsg.jsdoc.missing.lp =\\\n missing opening (\n\nmsg.jsdoc.missing.braces =\\\n Type annotations should have curly braces.\n\nmsg.jsdoc.unnecessary.braces =\\\n braces are not required here\n\nmsg.jsdoc.missing.rc =\\\n expected closing }\n\nmsg.jsdoc.missing.rp =\\\n missing closing )\n\nmsg.jsdoc.missing.gt =\\\n missing closing >\n\nmsg.jsdoc.missing.rb =\\\n missing closing ]\n\nmsg.jsdoc.missing.colon =\\\n expecting colon after this\n\nmsg.jsdoc.function.this =\\\n expecting this but {0} found\n\nmsg.jsdoc.function.newnotobject =\\\n constructed type must be an object type\n\nmsg.jsdoc.function.varargs =\\\n variable length argument must be last.\n\nmsg.jsdoc.type.union =\\\n union type element with bad syntax\n\nmsg.jsdoc.type.record.duplicate =\\\n Duplicate record field {0}.\n\nmsg.jsdoc.enum =\\\n conflicting @enum tag\n\nmsg.jsdoc.constructor =\\\n conflicting @constructor tag\n\nmsg.jsdoc.deprecated =\\\n extra @deprecated tag\n\nmsg.jsdoc.interface =\\\n extra @interface tag\n\nmsg.jsdoc.interface.constructor =\\\n cannot be both an interface and a constructor.\n\nmsg.jsdoc.record =\\\n conflicting @record tag.\n\nmsg.jsdoc.implements.duplicate =\\\n duplicate @implements tag.\n\nmsg.jsdoc.implements.extraqualifier =\\\n @implements/@extends requires a bare interface/record name without ! or ?.\n\nmsg.jsdoc.nosideeffects =\\\n conflicting @nosideeffects tag\n\nmsg.jsdoc.implicitcast =\\\n extra @implicitCast tag.\n\nmsg.jsdoc.this =\\\n conflicting @this tag\n\nmsg.jsdoc.this.object =\\\n @this must specify an object type\n\nmsg.jsdoc.type =\\\n conflicting @type tag\n\nmsg.jsdoc.define =\\\n conflicting @define tag\n\nmsg.jsdoc.define.badtype =\\\n @define tag only permits literal types\n\nmsg.jsdoc.extends =\\\n conflicting @extends tag\n\nmsg.jsdoc.extends.duplicate =\\\n duplicate @extends tag\n\nmsg.jsdoc.export =\\\n extra @export tag\n\nmsg.jsdoc.expose =\\\n extra @expose tag\n\nmsg.jsdoc.externs =\\\n extra @externs tag\n\nmsg.jsdoc.typesummary =\\\n extra @typeSummary tag\n\nmsg.jsdoc.nocompile =\\\n extra @nocompile tag\n\nmsg.jsdoc.nocollapse =\\\n extra @nocollapse tag\n\nmsg.jsdoc.noinline =\\\n extra @noinline tag\n\nmsg.jsdoc.seemissing =\\\n @see tag missing description\n\nmsg.jsdoc.authormissing =\\\n @author tag missing author\n\nmsg.jsdoc.versionmissing =\\\n @version tag missing version information\n\nmsg.jsdoc.extraversion =\\\n conflicting @version tag\n\nmsg.jsdoc.suppress =\\\n malformed @suppress tag\n\nmsg.jsdoc.suppress.unknown =\\\n unknown @suppress parameter: {0}\n\nmsg.jsdoc.modifies =\\\n malformed @modifies tag\n\nmsg.jsdoc.modifies.duplicate =\\\n conflicting @modifies tag\n\nmsg.jsdoc.modifies.unknown =\\\n unknown @modifies parameter: {0}\n\nmsg.jsdoc.polymerBehavior.extra =\\\n extra @polymerBehavior tag\n\nmsg.jsdoc.polymer.extra =\\\n extra @polymer tag\n\nmsg.jsdoc.customElement.extra =\\\n extra @customElement tag\n\nmsg.jsdoc.mixinClass.extra =\\\n extra @mixinClass tag\n\nmsg.jsdoc.mixinFunction.extra =\\\n extra @mixinFunction tag\n\nmsg.jsdoc.disposeparameter.missing =\\\n @disposes tag missing parameter name.\n\nmsg.jsdoc.disposeparameter.error =\\\n @disposes parameter unknown or parameter specified multiple times.\n\nmsg.jsdoc.nginject.extra =\\\n extra @ngInject tag\n\nmsg.no.type.name =\\\n expecting a type name.\n\n\nmsg.jsdoc.template.boundedgenerics.used =\\\n Bounded generic semantics are currently still in development\n\nmsg.jsdoc.template.name.missing =\\\n @template tag missing type name.\n\nmsg.jsdoc.template.name.redeclaration =\\\n Type name(s) for @template annotation declared twice.\n\nmsg.jsdoc.template.multipleDeclaration =\\\n Multiple template names cannot be declared with bounds or TTL.\n\nmsg.jsdoc.template.boundsWithTTL =\\\n Template types cannot combine bounds and TTL.\n\nmsg.jsdoc.template.typetransformation.missingDelimiter =\\\n Expected end delimiter for a type transformation.\n\nmsg.jsdoc.template.typetransformation.expressionMissing =\\\n Missing type transformation expression.\n\n\nmsg.jsdoc.typetransformation.invalid =\\\n Invalid {0}\n\nmsg.jsdoc.typetransformation.invalid.expression =\\\n Invalid {0} expression\n\nmsg.jsdoc.typetransformation.missing.param =\\\n Missing parameter in {0}\n\nmsg.jsdoc.typetransformation.extra.param =\\\n Found extra parameter in {0}\n\nmsg.jsdoc.typetransformation.invalid.inside =\\\n Invalid expression inside {0}\n\nmsg.jsdoc.import =\\\n Import in typedef is not supported.'};
  978. function jra(a){if(a in ira)return ira[a];throw Ha("Resource not found: "+r(a)).s;}function kra(){}var lra;l(kra,n);function $x(a,b){a=a.a.a.get(b);if(null==a)throw a=new rr,sa(a,"no key found"),a.f=b,a.a(Error(a)),a.s;return a}
  979. function mra(a){nra();if("com.google.javascript.rhino.Messages"===a)a="rhino/Messages.properties";else if("com.google.javascript.jscomp.parsing.ParserConfig"===a)a="parsing/ParserConfig.properties";else throw Ha("ResourceBundle not available: "+r(a)).s;var b=lra.get(a);if(!b){b=jra(a);b=yi(b,"\r?\n",0);for(var c=el(),d=0;d<b.length;++d){var e=b[d];if(!(te(e)||zi(e,"#")||zi(e,"!"))){var f="";var h=e;h=ji(h,":")||ji(h,"=")?-1==mi(h,58)?mi(h,61):-1==mi(h,61)?mi(h,58):Math.min(mi(h,61),mi(h,58)):mi(h,
  980. 32);if(-1!=h){var k=Ci(ne(e,0,h));for(e=era(e.substr(h+1));;)if(ki(e,"\\")){f=r(f)+r(ne(e,0,e.length-1));if(d+1==b.length)break;e=era(b[++d])}else{f=r(f)+r(e);break}c.L(k,f)}}}c=c.Jb();b=new dra;b.a=c;c=new kra;c.a=b;b=c;lra.C(a,b)}return b}function nra(){nra=function(){};lra=bf()}
  981. function ay(a,b){hfa();nra();var c=mra("com.google.javascript.rhino.Messages");try{var d=$x(c,a)}catch(e){e=va(e);if(e instanceof rr)throw Ha("no message resource found for message property "+r(a)).s;throw e.s;}return Yx(cra(d),b)}function by(a,b){var c=a.Mb(b);return c?c.ya():a.Ge()?a.Ge().$d(b):null}function ora(){this.a=!1}l(ora,n);function pra(a){var b=new ora;b.c=Mg();b.b="";b.a=a;return b}function cy(a,b){x(a.c,b);return a}function dy(a,b){b.Ec(a);return a}
  982. function qra(a,b,c){var d=!1;for(b=b.h();b.i();){var e=b.j();d?cy(a,c):d=!0;ey(e)?dy(a,e):cy(a,e)}return a}function fy(a,b){!a.a||!b.Ab()||b.aa()||gy(b)||hy(b)||iy(b)||jy(b)||ky(b)||cy(a,"!");return dy(a,b)}function rra(a){x(x(a.c,"\n"),a.b)}function sra(a,b){var c=a.b;a.b=r(c)+" ";ub(b);a.b=c}function tra(a){var b=pra(a.a);b.b=a.b;return b}function ly(){this.jb=this.Za=this.jd=!1}var ura;l(ly,n);function my(a,b){ny();return q(a,b)}
  983. function oy(a,b,c){a.f=null;a.Za=!1;a.jb=!1;a.a=b;a.ta=c?c:b.c;b=b.a;E(!a.f);b.c.Sb(a)}function py(a,b){return qy(a.a,b)}g=ly.prototype;g.jg=function(){return null};g.tc=function(){return null};g.Xd=function(){return ry(),sy};function ty(a,b){return!cd(a.Xd(b,!1),(ry(),sy))}g.xc=function(){return!1};g.wc=function(){return!1};g.Cf=function(){return!1};function uy(a){return a.xc()||a.Cf()||a.wc()||my(a,vra(a.a,(I(),lw)))}g.Rl=function(){return!1};g.xj=function(){return!1};g.mc=function(){return!1};
  984. g.Tl=function(){return!1};g.an=function(){return!1};g.bn=function(){return!1};g.th=function(){return!1};g.Ul=function(){return!1};function wra(a){return vy(a,py(a,(I(),$v)))||vy(a,py(a,(I(),Yv)))}function xra(a){return vy(a,py(a,(I(),Pv)))||vy(a,py(a,(I(),Qv)))}function wy(a){return vy(a,py(a,(I(),cw)))||vy(a,py(a,(I(),aw)))}g.Af=function(){return!1};g.Nk=function(){return!1};g.rj=function(){return!1};g.Sl=function(){return!1};g.Ok=function(){return!1};g.Kc=function(){return!1};g.Zb=function(){return!1};
  985. g.bd=function(){return!1};g.aa=function(){return!1};g.sj=function(){return!1};function jy(a){return!!a.nb()}function xy(a){return 0<a.Zd()&&!yy(a)}g.be=function(){if(this.Ab()){var a=zy(this),b=a.ua();if(b)return yra(b);a=a.jg();return!!a&&Ay(a,4194304)}return!1};g.Jg=function(){if(this.Ab()){var a=zy(this),b=a.ua();if(b)return zra(b);a=a.jg();return!!a&&Ay(a,8388608)}return!1};function Ara(a,b){b=Bra(b);return q(a.La(b),(By(),Cy))}function ky(a){return a instanceof Dy?a.Ha:!1}g.nb=function(){return null};
  986. function iy(a){return!!a.ha()}g.ha=function(){return null};function Cra(a){return Mi(a.ha(),"not a FunctionType: %s",a)}function Ey(a){return Mi(zy(a),"Not an ObjectType: %s",a)}function Fy(a){ny();return a?a.ha():null}function Gy(a){return(a=a.Wb())?a.b:null}g.Wb=function(){return null};g.fd=function(){return null};g.Bc=function(){return null};function hy(a){return!!a.Cc()}g.yj=function(){return!1};g.Kg=function(){return!1};g.Cc=function(){return null};function yy(a){return!!a.Xb()}g.Xb=function(){return null};
  987. function gy(a){return!!a.bf()}g.bf=function(){return null};function Hy(a){if(a.jb)return!1;a.jb=!0;var b=a.Pj();a.jb=!1;return b}g.Pj=function(){return Dra(this.Ma())};g.Ma=function(){return this.ta};function Ly(a){var b=a.Ma();return b.a.Gb(b.a.w()-a.Zd(),b.a.w())}g.Zd=function(){return 0};function Era(a,b){Fra(a,b);xy(b)&&(b=My(a.a,b,Ll()));var c=a.Ma();b=Ny(b.Ma(),c.a,c.b);a.ta=b}g.Ab=function(){return!1};g.xa=function(){return!1};g.Rd=function(){return!1};g.Eb=function(){return!1};g.Aj=function(){return this.jd};
  988. function Fra(a,b){if(b.Bc()&&!b.f||b.Aj())a.jd=!0}g.cd=function(){return!1};g.Ja=function(){return!1};g.Xf=function(){return!1};g.I=function(a){return ey(a)&&Gra(Oy(Py(),(Qy(),Ry)),this,a)};function Hra(a,b){return!Gra(Oy(Py(),(Qy(),Ira)),a,b)}g.P=function(){if(this.Za)return-1;this.Za=!0;var a=this.Gd();this.Za=!1;return a};g.$b=function(){return!1};g.fc=function(){return!1};g.we=function(){return!1};g.Qc=function(){return!1};
  989. function Sy(a,b){b=a.ej(b);if(!b)return null;if(a.Ma().a.D()||!Hy(b))return b;a=Ty(a.a,a.Ma(),!1,!1,!1);return b.La(a)}g.ej=function(a){var b=Uy(this.rc());return b?Sy(b,a):null};g.Ue=function(){return!1};function Vy(a,b){return a.pc(ura,b)}g.rc=function(){return null};function zy(a){return Wy(a)?a:null}g.Fc=function(){var a=this.Ia(),b=a.rc();return b?b:a};g.Qb=function(a){return Jra(this,this,a)};
  990. function Jra(a,b,c){if(c.bd()||c.aa()||c.wc()||b.bd()||b.aa()||b.wc())return Xu(),Vu;var d=uy(b),e=uy(c);if(d||e)return d&&e?(Xu(),Tu):(Xu(),Vu);if(iy(b)||iy(c)){b=iy(b)?c:b;if(wy(b))return Xu(),Uu;a=b.Gc(py(a,(I(),Tv)));return a.xc()||a.Cf()?(Xu(),Uu):(Xu(),Vu)}return c.Wb()||jy(c)?c.Qb(b):wy(b)?Vy(c,py(a,(I(),cw)))||Vy(c,py(a,(I(),aw)))?(Xu(),Vu):(Xu(),Uu):wy(c)?Vy(b,py(a,(I(),cw)))||Vy(b,py(a,(I(),aw)))?(Xu(),Vu):(Xu(),Uu):null}
  991. function Kra(a,b){if(uy(a)||uy(b))return vy(a,b)||vy(b,a);b=a.Gc(b);return!uy(b)||my(b,qy(a.a,(I(),lw)))}g.td=function(){return!1};g.ve=function(){return!1};g.vj=function(){return!1};g.Wi=function(){return this};g.uc=function(a){if(my(this,a))return this;a=Xy(a);return jy(a)?a.nb().uc(this):Lra(this,a)};function Lra(a,b){ny();return a.I(b)?a:Xy(Yy(a.a,A([a,b],ly,ey,1)))}g.Gc=function(a){return Mra(this,a)};
  992. function Mra(a,b){ny();if(iy(a)&&iy(b))return Nra(a.ha(),b.ha(),!1);if(a.I(b))return a;if(a.aa()||b.aa())return a.I(b)?a:py(a,(I(),ew));if(jy(a))return Ora(a.nb(),b);if(jy(b))return Ora(b.nb(),a);if(yy(a))return Pra(a.Xb(),b);if(yy(b))return Pra(b.Xb(),a);if(vy(a,b))return Xy(a);if(vy(b,a))return Xy(b);if(hy(a))return Qra(a.Cc(),b);if(hy(b))return Qra(b.Cc(),a);if(a.Wb()){var c=Rra(a.Wb(),b);if(c)return c}else if(b.Wb()&&(c=Rra(b.Wb(),a)))return c;return a.Ab()&&b.Ab()?py(a,(I(),iw)):py(a,(I(),hw))}
  993. function Xy(a){ny();if(a.wc())return py(a,(I(),jw));if(jy(a)){for(var b=!1,c=Zy(a.nb()),d=0;d<c.w();d++)if(c.G(d).wc()){b=!0;break}if(b){a=$y(az(a.a),py(a,(I(),jw)));for(b=0;b<c.w();b++)d=c.G(b),d.wc()||$y(a,d);return bz(a)}}return a}g.ph=function(a){return a.f()&&my(this,py(this,(I(),ew)))?py(this,(I(),xv)):a.o().ed(!1)?my(this,py(this,(I(),fw)))||my(this,py(this,(I(),Ov)))?this:py(this,(I(),hw)):Ypa(this.ad(),a.f())?this:py(this,(I(),hw))};
  994. g.Hk=function(a){if(jy(a))return a=a.nb().Hk(this),cz(a.b,a.a);switch(this.Qb(a).a){case 0:return cz(null,null);case 1:case 2:return cz(this,a)}throw ob().s;};g.Ik=function(a){return jy(a)?(a=a.nb().Ik(this),cz(a.b,a.a)):(this.Kc()||this.Zb())&&(a.Kc()||a.Zb())?(a=qy(this.a,(I(),hw)),cz(a,a)):cz(this,a)};g.Jk=function(a){return jy(a)?(a=a.nb().Jk(this),cz(a.b,a.a)):my(this,a)&&(this.Kc()||this.Zb())?cz(null,null):cz(this,a)};function dz(a){return jy(a)?Zy(a.nb()):null}g.Ia=function(){return this};
  995. g.cg=function(){return this};g.cl=function(){return this};function ez(a,b){return Sra(Tra(Ura(Vra(Wra(Xra(a.a),a),b),!1),(fz(),gz)))}function vy(a,b){return Sra(Tra(Ura(Vra(Wra(Xra(a.a),a),b),!0),(fz(),gz)))}function hz(a,b,c){return Sra(Tra(Ura(Vra(Wra(Xra(a.a),a),b),!0),c))}function iz(a,b){F(!cd(a.a.a.a,(jz(),kz)),"Types cannot be resolved while the registry is open");a.f||(a.f=a,a.f=a.Wc(b),E(!!a.f));return a.f}function lz(a){E(!a.f);a.f=a;mz(a.a.a,a,a.cc())}
  996. function nz(a,b){ny();return a?iz(a,b):null}g.Ef=function(a){return a.ca(this)};g.toString=function(){return dy(pra(!1),this).c.toString()};function oz(a,b){var c=pra(!0);return(q(b,(pz(),qz))?fy(c,a):dy(c,a)).c.toString()}g.Mg=function(){};function ny(){ny=function(){};ura=new Yra}function ey(a){return a instanceof ly}g.ba=!0;function rz(){ly.call(this);this.pa=this.rb=!1}l(rz,ly);g=rz.prototype;g.lc=function(){return Zra()};g.nf=function(a){return(a=sz(this.lc(),a))?a.b:null};g.Mb=function(a){return this.lc().a.get(a)};
  997. g.vb=function(){return null};g.Td=function(){return null};g.jg=function(){return this.Tc};g.Jf=function(a){this.Tc=a};function $ra(a){var b;a:{a.rb=!0;for(b=a.Va();b;){if(b.rb){b=!0;break a}b.rb=!0;b=b.Va()}b=a;do b.rb=!1,b=b.Va();while(b);b=!1}b||(b=a.yf(),b=nd(b)?so(b,a):Wja(b.h(),a));if(b)return!0;a=a.ua();return!!a&&!!asa(a,ef(),w())}function tz(a){return null!=a.Ba()}
  998. function bsa(a){a=a.Ba();if(null!=a){var b=mi(a,40);if(-1!=b){var c=ti(a,41);b=ne(a,0,b);return 0==c+(1%a.length|0)?b:r(b)+r(a.substr(c+1))}}return a}g.tc=function(){return bsa(this)};function csa(){ny();return"(Proxy)"}g.Um=function(){return!tz(this)};function uz(a){var b=a.Xb();return b?b.c:a}
  999. g.Qb=function(a){var b=ly.prototype.Qb.call(this,a);return b?b:a.aa()||vy(a,py(this,(I(),Tv)))||vy(a,py(this,(I(),Pv)))||vy(a,py(this,(I(),$v)))||vy(a,py(this,(I(),uv)))||vy(a,py(this,(I(),cw)))?(Xu(),Vu):(Xu(),Uu)};g.Ic=function(){var a=this.Va();return a?(a=a.Va())?a.ua():null:null};function dsa(a,b){return sz(a.lc(),b)}function esa(a){return new Bc(function(){var b=new vz;b.f=a;Ik(b);b.a=b.f;return b})}function wz(a,b,c,d){c=a.Zc(b,c,!1,d);xz(a.a,b,a);return c}
  1000. function yz(a,b,c,d){if(ty(a,b)){if(zz(a,b))return;c=G(a.Sa(b)).uc(c)}a.Zc(b,c,!0,d);xz(a.a,b,a)}g.Fj=function(){return!1};function Az(a,b){return(a=a.nf(b))?a.N():null}function Bz(a,b){return(a=a.Mb(b))?a.Yb():null}g.yh=function(){};g.ej=function(a){return ty(this,a)?this.Sa(a):null};g.Sa=function(a){return(a=this.nf(a))?a.qa():this.wc()||this.sj()?py(this,(I(),xv)):uy(this)?py(this,(I(),hw)):py(this,(I(),ew))};g.Xd=function(a){a=uy(this)||this.aa()||!!this.nf(a);ry();return a?Cz:sy};
  1001. function Dz(a,b){return!cd(a.Mb(b)?(ry(),Cz):(ry(),sy),(ry(),sy))}g.Hc=function(){return this.lc().a.oa()};function fsa(a,b){return(a=a.nf(b))?a.Vb():!1}function zz(a,b){return(a=a.nf(b))?!a.Vb():!1}g.Kg=function(){var a=this.ua();return!!a&&a.yj()};function gsa(a,b){return Dz(a,b)&&zz(a,b)}g.La=function(a){return a.md(this)};g.pc=function(a,b){return Ez(a,this,b)};function Fz(a){for(ny();a instanceof Gz;)if(yy(a))a=a.Xb().c;else if(a.Bc()){if(!a.f||a.wc())break;a=a.Bc().c}else a=a.c;return a}
  1002. g.ad=function(){return lv(),gv};g.aa=function(){if(this.pa){var a=this.Va();if(!a||a.Eb())for(this.pa=!1,a=this.Fe().h();a.i();){if(a.j().aa()){this.pa=!0;break}}else this.pa=a.aa()}return this.pa};g.Ab=function(){return!0};g.Kk=function(){return!this.pa};g.We=function(){this.pa=!0};g.Eb=function(){return!1};function Uy(a){ny();return a?zy(a):null}g.mc=function(){return!!this.vc()};g.vc=function(){return null};g.bm=function(){};g.yf=function(){return dm()};g.Fe=function(){return dm()};g.Om=function(){return null};
  1003. function Hz(a){a.Tc=null;a.pa=!0}function Wy(a){return a instanceof rz}g.ba=!0;function Dy(){rz.call(this);this.Ob=0;this.K=this.Ha=this.Lb=!1}var hsa;l(Dy,rz);function Iz(a,b){oy(a,b.v,b.F);Hz(a);isa();var c=new Jz,d=Xh();c.b=null;c.f=null;c.c=0;c.a=d;a.ja=c;a.Da=null;a.K=!1;a.Oa=b.Oa;a.Ob=b.Ha;a.Lb=b.za;a.Ha=b.K;c=a.ja;q(c,jsa)||(c.b=a,ksa(c));a.Lb||b.ta?Kz(a,b.ta):Kz(a,Lz(a.a,(I(),Tv)));a.Ha&&E(null==a.Oa);G(a.ta);E(a.ta.a.w()>=a.Ob);mz(a.a.a,a,hsa)}g=Dy.prototype;g.cc=function(){return hsa};
  1004. function Mz(a){Nz();var b=new Oz;b.v=a;b.F=a.c;return b}g.lc=function(){return this.ja};g.Zc=function(a,b,c,d){if(gsa(this,a))return!1;b=lsa(a,b,c,d);c=this.ja;(d=c.a.get(a))?(d=d.Yb(),b.f=d):ksa(c);c.a.C(a,b);return!0};g.Fj=function(a){var b=this.ja;b.a.Ka(a)?(ksa(b),a=!0):a=!1;return a};g.yh=function(a,b){b&&(this.ja.a.get(a)||yz(this,a,this.Sa(a),null),a=this.ja.a.get(a))&&(a.f=b)};g.$b=function(){return this.Rl()||this.Ok()||this.Nk()||this.Tl()||msa(this,"valueOf")};
  1005. g.fc=function(){return this.bn()||this.Tl()||this.Ok()||this.Sl()||this.Af()||this.Rl()||this.Nk()||msa(this,"toString")};g.we=function(){return this.an()};function msa(a,b){if(a.Eb())return!1;var c=a.Sa(b);a=(iy(a)?Lz(a.a,(I(),Cv)):Lz(a.a,(I(),Vv))).Sa(b);return!my(c,a)}g.Qc=function(){return!0};
  1006. g.Ec=function(a){var b=this;if(tz(this))cy(a,a.a?bsa(this):this.Ba());else if(this.K){for(var c=xm(),d=this;d&&!(d.Eb()||10<c.w());d=d.Va())c.na(d.Hc());this.K=!1;var e=!a.a&&1<c.w();sra(cy(a,"{"),new tb(function(){e&&rra(a);for(var f=0,h=c.h();h.i();){var k=h.j();f++;if(!a.a&&10<f){cy(a,"...");break}fy(cy(cy(a,k),": "),b.Sa(k));f<c.w()&&(cy(a,","),e?rra(a):cy(a," "))}}));e&&rra(a);cy(a,"}");this.K=!0}else cy(a,a.a?"?":"{...}")};g.ua=function(){return null};g.Va=function(){return this.hd};
  1007. function Kz(a,b){E(!a.Kk());(a.hd=b)&&Fra(a,b)}g.Zd=function(){return this.Ob};g.Ba=function(){return null!=this.Oa?this.Oa:this.Da?r(this.Da.Ba())+".prototype":null};g.Eb=function(){return this.Lb};g.bm=function(a){E(!this.Da||!a);this.Da=a};g.vc=function(){return this.Da};g.yf=function(){return this.mc()?Pz(this.vc()):Ll()};g.Fe=function(){return this.mc()?this.vc().u:Ll()};
  1008. g.Wc=function(a){var b=this.Va();if(b&&(this.hd=iz(b,a),b=this.ua())){var c=b.Ic();c&&(D(my(c,b.Ic())),b.jc||nsa(c,b))}for(b=this.ja.a.values().h();b.i();)c=b.j(),osa(c,nz(c.qa(),a));return this};g.Mg=function(a){if(!tz(this))if(hy(a))psa(this,zy(a));else if(jy(a))for(a=Zy(a.nb()).h();a.i();){var b=a.j();hy(b)&&psa(this,zy(b))}};function psa(a,b){for(var c=b.Hc().h();c.i();){var d=c.j(),e=b.Sa(d);if(!zz(a,d)){var f=e;ty(a,d)||(f=py(a,(I(),fw)).uc(e));yz(a,d,f,null)}}}
  1009. g.Gd=function(){return this.Kg()?Fg([this.Oa,this.ja]):Ah(this)};function Nz(){Nz=function(){};ny();hsa=(nv(),oqa)}function Qz(){Dy.call(this)}var qsa;l(Qz,Dy);g=Qz.prototype;g.cc=function(){return qsa};g.fd=function(){return this};g.Va=function(){return Lz(this.a,(I(),Tv))};g.Om=function(){return this.b.b};g.Qb=function(a){var b=Dy.prototype.Qb.call(this,a);return b?b:this.I(a)?(Xu(),Tu):(Xu(),Uu)};g.Ec=function(a){cy(a,a.a?"!Object":this.Ba())};g.tc=function(){return this.b.tc()};g.La=function(a){return a.md(this)};
  1010. g.pc=function(a,b){return Ez(a,this,b)};g.ua=function(){return null};g.$b=function(){return!1};g.fc=function(){return!0};g.Qc=function(){return!0};g.Wc=function(a){this.b=iz(this.b,a);return Dy.prototype.Wc.call(this,a)};function rsa(){rsa=function(){};Nz();qsa=(nv(),eqa)}function ssa(){this.a=0}var sy,Cz,tsa;l(ssa,z);function usa(a,b){var c=new ssa;c.b=a;c.a=b;return c}ssa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1011. function ry(){ry=function(){};sy=usa("ABSENT",0);Cz=usa("KNOWN_PRESENT",1);tsa=usa("MAYBE_PRESENT",2)}function Rz(a,b){var c=a.ob(b.Vc());return c&&!c.Vb()?c.qa():b.Ed()||!(a=a.Ac(b.fe()))||a.aa()?null:Sy(a,b.Wd())}function vsa(){this.g=!1}l(vsa,n);function lsa(a,b,c,d){var e=new vsa;e.f=null;e.b=G(a);e.c=Mi(b,"Null type specified for {}",a);e.g=c;e.a=d;return e}g=vsa.prototype;g.va=function(){return this.b};g.N=function(){return this.a};g.Me=function(){return this.a?Sz(this.a):null};g.hg=function(){return this};
  1012. g.hb=function(){return this.a?this:null};g.qa=function(){return this.c};g.Vb=function(){return this.g};function osa(a,b){a.c=Mi(b,"Null type specified for property {}",a.b)}g.Yb=function(){return this.f};g.toString=function(){return"Property { name: "+r(this.b)+", type:"+r(this.c)+", inferred: "+this.g+"}"};g.ya=function(){throw wb().s;};g.P=function(){return Fg([this.b,this.c])};g.ba=!0;g.ba=!0;function wsa(){}l(wsa,n);function xsa(a,b){var c=new wsa;c.a=a;c.b=b;return c}
  1013. function ysa(a){return a.a.mc()?Tz(a.a.vc()):a.a}function zsa(a){return a.a.mc()?a.a.vc().Ja():a.a.Ja()}function Jz(){this.c=0}var jsa;l(Jz,n);function Asa(){var a=Vj(),b=new Jz;b.b=null;b.f=null;b.c=0;b.a=a;return b}function Zra(){isa();return jsa}function Uz(a){return a.b?(a=a.b.Va())?a.lc():null:null}function Bsa(a){return a.b?a.b.ua()&&a.b.ua().A?a.b.ua().U:a.b.Fe():Ll()}
  1014. function Csa(a,b){for(var c=null,d=a;d;d=Uz(d)){var e=d.a.get(b);e&&(c=xsa(d.b,e))}if(c)return c;for(;a;a=Uz(a))for(c=Bsa(a).h();c.i();)if(d=c.j().lc())if(d=Csa(d,b))return d;return null}function sz(a,b){for(var c=a;c;c=Uz(c)){var d=c.a.get(b);if(d)return xsa(c.b,d)}for(;a;a=Uz(a))for(c=Bsa(a).h();c.i();)if(d=c.j().lc())if(d=sz(d,b))return d;return null}
  1015. function Vz(a){var b=kf();Dsa(a,b);for(var c=0,d=b.h();d.i();){var e=d.j();e.c>c&&(c=e.c)}if(c!=a.c||!a.f){d=xm();for(b=b.h();b.i();)e=b.j(),e.c=c,e.f=null,d.na(e.a.oa());a.f=Lha(d)}return a.f}function Dsa(a,b){if(b.add(a)){var c=Uz(a);c&&Dsa(c,b);for(a=Bsa(a).h();a.i();)(c=a.j().lc())&&Dsa(c,b)}}Jz.prototype.P=function(){return dd(this.a.oa())};function ksa(a){a.c++;a.f=null;E(0<=a.c)}function isa(){isa=function(){};jsa=Asa()}Jz.prototype.ba=!0;function Esa(){}l(Esa,n);
  1016. Esa.prototype.toString=function(){return"RecordProperty{type: "+r(this.b)+", node: "+r(this.a)+"}"};function Fsa(){this.a=this.b=!1}l(Fsa,n);function Wz(a){var b=new Fsa;b.b=!0;b.a=!0;b.c=bf();b.f=a;return b}function Xz(a,b,c,d){a.b=!1;var e=new Esa;e.b=c;e.a=d;a.c.C(b,e)}
  1017. function Yz(a){if(a.b)return Lz(a.f,(I(),Tv));var b=cka();b.$k(a.c);var c=a.f;b=b.Jb();a=a.a;Gsa();var d=new Hsa;Iz(d,Mz(c));d.b=!1;d.K=!0;d.c=a;for(var e=b.oa().h();e.i();){var f=e.j(),h=b.get(f);if(!h)throw pb("RecordProperty associated with a property should not be null!").s;a?wz(d,f,h.b,h.a):d.Zc(f,h.b,!1,h.a)}d.b=!0;mz(c.a,d,Isa);return d}function Jsa(){}l(Jsa,n);function cz(a,b){var c=new Jsa;c.a=a;c.b=b;return c}function Ksa(a,b){for(var c=0;c<b.w();c++)if(a.Ca(b.G(c)))return!0;return!1}
  1018. function Zz(a,b){return Ksa(a,Zy(b))}function Lsa(a,b){a:{b=Zy(b);for(var c=0;c<b.w();c++)if(!a.Ca(b.G(c))){a=!1;break a}a=!0}return a}function Msa(a,b){for(var c=Mj(),d=0;d<b.w();d++)c.W(a.f(b.G(d)));return c.fa()}function $z(a,b){return bz(aA(az(b.a),Msa(a,Zy(b))))}function bA(){rz.call(this);this.b=!1}l(bA,rz);function Nsa(a,b){ny();var c=new bA;oy(c,a,null);Hz(c);lz(c);c.b=b;return c}g=bA.prototype;g.cc=function(){return nv(),wqa};g.aa=function(){return!0};g.sj=function(){return this.b};
  1019. g.Ue=function(){return!0};g.$b=function(){return!0};g.Qc=function(){return!0};g.fc=function(){return!0};g.we=function(){return!0};g.Qb=function(){return Xu(),Vu};g.td=function(){return!0};g.ve=function(){return!0};g.La=function(a){return a.sk()};g.pc=function(){return!0};g.Ec=function(a){cy(a,this.Ba())};g.Zc=function(){return!0};g.Va=function(){return null};g.ua=function(){return null};g.Ba=function(){return this.b?"??":"?"};g.tc=function(){return"Unknown"};g.ad=function(){return lv(),iv};
  1020. g.Wc=function(){throw ib().s;};g.Gd=function(){return Ah(this)};function Osa(){this.o=0;this.u=this.g=this.f=this.v=!1;this.c=0;this.A=!1}l(Osa,n);function Psa(a,b){var c=new Osa;Qsa(c);c.F=null;c.b=a;c.o=b;return c}function aA(a,b){for(var c=0;c<b.w();c++)$y(a,b.G(c));return a}
  1021. function $y(a,b){Rsa(a);if(jy(b))return aA(a,Zy(b.nb())),a;if(a.a.w()>a.o)return a;if(!b.f){for(var c=a.a.h();c.i();){var d=c.j();if(my(d,b))return a}a.a.add(b);return a}if(b.xc())return a;a.f=a.f||b.bd();a.v=a.v||b.Zb();c=b instanceof bA;a.g=a.g||c;c&&(a.u=a.u&&b.sj());if(a.f||a.g)return a;if(iy(b)&&-1!=a.c)return c=a.a.G(a.c).ha(),b=Nra(b.ha(),c,!0),a.a.Rb(a.c,b),a;for(c=0;c<a.a.w();c++){d=!1;var e=a.a.G(c);if(e.f){if(b.aa()||e.aa()||b.wc()||e.wc()||Hy(b)||Hy(e)){if(b.I(e))return a}else if(yy(b)||
  1022. yy(e))if(yy(e))if(yy(b)){E(yy(e)&&yy(b));var f=e.Xb(),h=b.Xb();if(yy(h)&&f.b.I(h.Xb().b)){if(e.I(b))return a;b=My(a.b,f.c,Ll());d=!0}}else ez(e,b)&&(d=!0);else{if(ez(b,e))return a}else{if(ez(b,e))return b.Cc()&&e.Cc()&&Ssa(a.b,b.Cc(),e.Cc()),a;ez(e,b)&&(e.Cc()&&b.Cc()&&Ssa(a.b,e.Cc(),b.Cc()),d=!0)}d&&(a.a.Wa(c),c==a.c?a.c=-1:c<a.c&&a.c--,c--)}}iy(b)&&(E(-1==a.c),a.c=a.a.w());a.a.add(b);return a}
  1023. function bz(a){E(!a.F);var b=Tsa(a);if(1==b.w())b=b.G(0);else{var c=a.b;a=a.o;cA();var d=new dA;oy(d,c,null);E(!b.D());d.b=b;d.c=a;mz(c.a,d,Usa);b=d}return b}function Tsa(a){Rsa(a);a.A=!0;var b;return(b=a.f?qy(a.b,(I(),gw)):a.g?a.u?qy(a.b,(I(),xv)):qy(a.b,(I(),ew)):null)?a.v?Sl(b,qy(a.b,(I(),fw))):Ml(b):a.a.D()?Ml(qy(a.b,(I(),hw))):a.a.w()>a.o?Ml(qy(a.b,(I(),ew))):Wl(a.a)}function Rsa(a){F(!a.A,"Cannot reuse a `UnionType.Builder` that has already filled.")}
  1024. function Qsa(a){a.a=w();a.v=!1;a.f=!1;a.g=!1;a.u=!0;a.c=-1;a.A=!1}function dA(){ly.call(this);this.c=0}var Usa;l(dA,ly);g=dA.prototype;g.cc=function(){return Usa};function az(a){cA();return Psa(a,30)}function Zy(a){!a.f&&Ksa(fd(function(b){return jy(b)}),a.b)&&Vsa(a);return a.b}function Vsa(a){var b=new Osa,c=a.c;Qsa(b);b.F=a;b.b=a.a;b.o=c;b=Tsa(aA(b,a.b));E(!b.D());a.b=b}g.$b=function(){return Zz(fd(function(a){return a.$b()}),this)};g.fc=function(){return Zz(fd(function(a){return a.fc()}),this)};
  1025. g.we=function(){return Zz(fd(function(a){return a.we()}),this)};g.Qc=function(){return Zz(fd(function(a){return a.Qc()}),this)};g.ej=function(a){for(var b=null,c=this.b.h();c.i();){var d=c.j();d.Kc()||d.Zb()||(d=Sy(d,a))&&(b=b?b.uc(d):d)}return b};g.Ue=function(){return Lsa(fd(function(a){return a.Ue()}),this)};g.Fc=function(){return $z(u(function(a){return a.Fc()}),this)};g.Ia=function(){return $z(u(function(a){return a.Ia()}),this)};g.cg=function(){return $z(u(function(a){return a.cg()}),this)};
  1026. g.cl=function(){return $z(u(function(a){return a.cl()}),this)};g.Qb=function(a){for(var b=null,c=0;c<this.b.w();c++){var d=this.b.G(c).Qb(a);if(!b)b=d;else if(!cd(b,d))return Xu(),Vu}return b};g.td=function(){return Zz(fd(function(a){return a.td()}),this)};g.ve=function(){return Zz(fd(function(a){return a.ve()}),this)};g.vj=function(){return Zz(fd(function(a){return a.vj()}),this)};g.aa=function(){return Zz(fd(function(a){return a.aa()}),this)};
  1027. g.be=function(){return Zz(fd(function(a){return a.be()}),this)};g.Jg=function(){return Zz(fd(function(a){return a.Jg()}),this)};g.uc=function(a){if(!a.aa()&&!jy(a))for(var b=0;b<this.b.w();b++){var c=this.b.G(b);if(!c.aa()&&vy(a,c))return this}return Lra(this,a)};
  1028. function Ora(a,b){cA();for(var c=a.a,d=az(c),e=0;e<a.b.w();e++){var f=a.b.G(e);vy(f,b)&&$y(d,f)}if(jy(b))for(e=Zy(b.nb()),f=0;f<e.w();f++){var h=e.G(f);vy(h,a)&&$y(d,h)}else vy(b,a)&&$y(d,b);d=bz(d);return d.xc()?a.Ab()&&b.Ab()&&!b.xc()?qy(c,(I(),iw)):qy(c,(I(),hw)):d}g.Xd=function(a,b){for(var c=!1,d=!0,e=0;e<this.b.w();e++){var f=this.b.G(e);if(!f.Kc()&&!f.Zb()){switch(f.Xd(a,b).a){case 1:c=!0;break;case 0:d=!1;break;case 2:c=!0,d=!1}if(c&&!d)break}}return c?d?(ry(),Cz):(ry(),tsa):(ry(),sy)};
  1029. g.Gd=function(){for(var a=this.b.w(),b=0;b<this.b.w();b++)a*=this.b.G(b).P();return a};g.nb=function(){return this};g.Ab=function(){return Lsa(fd(function(a){return a.Ab()}),this)};function Wsa(a,b){for(var c=az(a.a),d=0;d<a.b.w();d++){var e=a.b.G(d);(e.aa()||e.wc()||!vy(e,b))&&$y(c,e)}return bz(c)}g.Ec=function(a){cy(a,"(");for(var b=xm(),c=this.b.h();c.i();){var d=c.j();b.add(dy(tra(a),d).c.toString())}qra(a,b,"|");cy(a,")")};g.ph=function(a){return $z(u(function(b){return b.ph(a)}),this)};
  1030. g.ad=function(){for(var a=(lv(),fv),b=0;b<this.b.w();b++){var c=this.b.G(b).ad();a=kv(a.a|c.a);if(q(a,iv))break}return a};g.Hk=function(a){for(var b=az(this.a),c=az(this.a),d=0;d<this.b.w();d++){var e=this.b.G(d).Hk(a);e.a&&$y(b,e.a);e.b&&$y(c,e.b)}return cz(bz(b),bz(c))};g.Ik=function(a){for(var b=az(this.a),c=az(this.a),d=0;d<this.b.w();d++){var e=this.b.G(d).Ik(a);e.a&&$y(b,e.a);e.b&&$y(c,e.b)}return cz(bz(b),bz(c))};
  1031. g.Jk=function(a){for(var b=az(this.a),c=az(this.a),d=0;d<this.b.w();d++){var e=this.b.G(d).Jk(a);e.a&&$y(b,e.a);e.b&&$y(c,e.b)}return cz(bz(b),bz(c))};g.La=function(a){return a.yg(this)};g.pc=function(a,b){a:{for(var c=!1,d=Zy(this).h();d.i();){var e=d.j();if(!e.Zb()&&!e.Kc()&&(c=!0,e.pc(a,b))){a=!0;break a}}c?a=!1:(c=py(this,(I(),Ov)),d=py(this,fw),a=c.pc(a,b)||d.pc(a,b))}return a};g.Wc=function(a){for(var b=0;b<this.b.w();b++)iz(this.b.G(b),a);Vsa(this);return 1==this.b.w()?this.b.G(0):this};
  1032. g.Wi=function(){for(var a=null,b=null,c=0;c<this.b.w();c++){var d=this.b.G(c);if(d.aa())return py(this,(I(),ew));var e=zy(d);if(e){if(a)return py(this,(I(),gw));if(b){d=this.a;b=Xsa(b);e=Xsa(e);for(d=Lz(d,(I(),Tv));!b.D()&&!e.D();){var f=b.Wa(b.w()-1),h=e.Wa(e.w()-1);if(f.I(h))d=f;else break}b=d}else b=e}else{if(a||b)return py(this,(I(),gw));a=d}}return b};g.Mg=function(a){for(var b=0;b<this.b.w();b++)this.b.G(b).Mg(a)};function Ysa(a){return Zz(fd(function(b){return Hy(b)}),a)}g.Pj=function(){return Ysa(this)};
  1033. function cA(){cA=function(){};ny();Usa=(nv(),vqa)}function Hsa(){Dy.call(this);this.b=this.c=!1}var Isa;l(Hsa,Dy);g=Hsa.prototype;g.cc=function(){return Isa};g.Va=function(){return Lz(this.a,(I(),Tv))};g.Zc=function(a,b,c,d){return this.b?!1:Dy.prototype.Zc.call(this,a,b,c,d)};
  1034. function Qra(a,b){if(hy(b)){b=b.Cc();var c=Wz(a.a);c.a=!1;for(var d=Lz(a.a,(I(),hw)),e=a.Hc().h();e.i();){var f=e.j(),h=a.Sa(f);if(ty(b,f)){var k=b.Sa(f);h=h.Gc(k);if(h.I(d))return d}Xz(c,f,h,Az(a,f))}for(d=b.Hc().h();d.i();)e=d.j(),ty(a,e)||Xz(c,e,b.Sa(e),Az(b,e));return Yz(c)}c=qy(a.a,(I(),iw));if(!uy(qy(a.a,Tv).Gc(b)))for(d=a.Hc().h();d.i();){e=d.j();f=a.Sa(e);h=az(a.a);k=a.a;var m=e;for(k=(k.U.X(m)?k.U.get(m).values():Ll()).h();k.i();){m=k.j();var p=m.Sa(e);p&&!m.I(a)&&vy(m,b)&&vy(p,f)&&$y(h,
  1035. m)}c=c.uc(bz(h))}return c}g.Cc=function(){return this};g.Kg=function(){return!0};function Gsa(){Gsa=function(){};Nz();Isa=(nv(),qqa)}function Zsa(){this.a=0}var eA,fA,$sa,ata;l(Zsa,z);function gA(a,b){var c=new Zsa;c.b=a;c.a=b;return c}Zsa.prototype.R=function(a){return z.prototype.c.call(this,a)};function hA(){hA=function(){};eA=gA("ORDINARY",0);fA=gA("CONSTRUCTOR",1);$sa=gA("INTERFACE",2);ata=gA("NONE",3)}function iA(){Dy.call(this);this.jc=this.A=this.kb=!1}var bta,cta;l(iA,Dy);
  1036. function dta(a,b){Iz(a,b);a.Kb=(jA(),eta);a.U=Ll();a.u=Ll();a.F=null;a.jc=!1;a.K=!0;var c=b.ja;D(!c||P(c)||kA(c));a.c=c;a.v=b.b;if(b.o)a.g=b.o;else if(a instanceof lA)a.g=qy(a.a,(I(),ew));else switch(a.v.a){case 1:case 2:fta();c=new gta;var d=a.a;c.v=d;c.F=d.c;c=mA(nA(oA(c,a.Ba()),null),a.Eb());c.K=a.Ha;d=pA(qA(c,a.Ma()),a.Zd());d.b=a;c=b.U;if(!c.D()){var e=a.ta;var f=Mj();f.fb(e.a.Gb(0,e.b.w()));for(var h=e.b.w();h<e.a.w();h++){var k=e.a.G(h);c.B(k)||f.W(k)}e=f.fa().w()==e.a.w()?e:rA(e.f,f.fa(),
  1037. e.b);pA(qA(d,e),a.Zd()-c.w())}a.g=d.a();break;case 0:a.g=Lz(a.a,(I(),ew));break;case 3:a.g=a}q(a.v,(hA(),fA))&&(a.$=(sA(),hta));c=a.a;d=b.f;e=b.g?a.g:b.c;f=b.A;ita();h=new tA;oy(h,c,null);h.b=d?d:uA(c,A([py(h,(I(),ew))],ly,ey,1));h.c=e?e:py(h,(I(),ew));h.g=f;mz(c.a,h,jta);a.b=h;a.za=b.u;a.kb=!1;a.A=b.$;Fi(!b.pa||q(a.v,(hA(),fA)),"Only constructors should have canonical representations");b.Da&&vA(a,b.Da,null);mz(a.a.a,a,bta)}g=iA.prototype;g.cc=function(){return bta};
  1038. g.ua=function(){return G(vra(this.a,(I(),Bv)))};g.cd=function(){return my(this,qy(this.a,(I(),Av)))};g.xa=function(){return q(this.v,(hA(),fA))};g.Ja=function(){return q(this.v,(hA(),$sa))};g.Xf=function(){return q(this.v,(hA(),eA))};function yra(a){if(!wA(a))return!1;if(q(a.$,(sA(),kta)))return!0;if(q(a.$,(sA(),xA)))return!1;var b=a.Ic();return b&&yra(b)?(yA(a),!0):!1}
  1039. function zra(a){if(!a.xa())return!1;if(q(a.$,(sA(),zA)))return!0;if(q(a.$,(sA(),xA)))return!1;var b=a.Ic();return b&&zra(b)?(a.$=(sA(),zA),!0):!1}function yA(a){a.$=(sA(),kta)}g.ha=function(){return this};g.Ue=function(){return!0};function AA(a){return(a=a.b.b)?BA(a):jf()}function CA(a){var b=w();for(a=AA(a).h();a.i();){var c=a.j();b.add(c.f)}return b}function lta(a){var b=0,c=0;for(a=AA(a).h();a.i();){var d=a.j();b++;DA(d)||EA(d)||(c=b)}return c}
  1040. function FA(a){if(a=a.b.b){var b=O(a);if(!b||!EA(b))return GA(a)}return 2147483647}function HA(a){return a.b.c}g.nf=function(a){return"prototype"===a?(IA(this),this.o):Dy.prototype.nf.call(this,a)};g.Hc=function(){if(this.o){var a=Nj();a.W("prototype");a.fb(Dy.prototype.Hc.call(this));return a.fa()}return Dy.prototype.Hc.call(this)};function IA(a){a.o||(null==a.Ba()?mta(a,Lz(a.a,(I(),ew)),null):JA(a,mA(nA(oA(Mz(a.a),r(a.Ba())+".prototype"),Lz(a.a,(I(),Tv))),a.Eb()).a(),null));return a.o.qa()}
  1041. function vA(a,b,c){if(a.c&&kA(a.c)){var d=b.ua();d&&Kz(a,d);Fra(a,b)}if(tz(b)||a.Eb()||b.mc()){if(a.o&&wA(a)&&b.I(Tz(a)))return;b=nA(oA(Mz(a.a),r(a.Ba())+".prototype"),b).a()}JA(a,b,c)}function JA(a,b,c){!b||a.xa()&&my(b,Tz(a))||mta(a,b,c)}function mta(a,b,c){var d=a.o?a.o.qa():null,e=!!d;a.o=lsa("prototype",b,!0,c?c:a.c);b.bm(a);d&&d.bm(null);if(a.xa()||a.Ja()){if(b=a.Ic())nsa(b,a),a.jc=!0;if(a.Ja())for(b=a.u.h();b.i();)c=b.j(),c.ua()&&nsa(c.ua(),a)}e&&a.We()}
  1042. function nta(a){for(var b=pm(),c=Pz(a).h();c.i();){var d=c.j();ota(a,d,b)}return b}function ota(a,b,c){var d=b.ua();if(d&&d.Ja()&&c.add(b))for(b=b.Fe().h();b.i();)d=b.j(),ota(a,d,c)}function pta(a){var b=ef();a.xa()?b.na(Pz(a)):b.na(a.u);return b}function Pz(a){var b=a.xa()?a.Ic():null;if(!b)return a.U;var c=Mj();for(c.fb(a.U);b;)c.fb(b.U),b=b.Ic();return c.fa()}function qta(a,b){E(a.xa());a.U=Wl(b);for(b=b.h();b.i();){var c=b.j(),d=a;a.a.Oa.Aa(c.Ba(),d);Era(a.g,c)}}
  1043. function rta(a,b){E(a.Ja());a.u=Wl(b);for(b=b.h();b.i();){var c=b.j();Era(a.g,c)}}
  1044. g.Sa=function(a){if(!Dz(this,a)){var b="call"===a;if(b||"bind"===a){var c=!b;var d=KA(LA(MA(this.a),b?HA(this):sta(this,-1)),this.Ma().a);var e=this.b.b;if(e){e=NA(e);var f=ox((H(),As),"thisType");var h=this.a;var k=this.vb();h=Yy(h,A([k,qy(h,(I(),fw)),qy(h,Ov)],ly,ey,1));Q(f,h);Mx(e,f);if(c)for(b=f.b;b;b=b.b)OA(b,!0);else b&&(b=f.b,(!b||DA(b)||EA(b))&&OA(f,!0));PA(d,e)}d=QA(d);wz(this,a,d,this.c)}else"apply"===a&&(d=RA(this.a),SA(d,A([TA(this.a,this.vb()),TA(this.a,qy(this.a,(I(),Tv)))],ly,ey,1)),
  1045. wz(this,a,QA(KA(LA(PA(MA(this.a),d.a),HA(this)),this.Ma().a)),this.c))}return Dy.prototype.Sa.call(this,a)};function sta(a,b){var c=KA(LA(MA(a.a),HA(a)),a.Ma().a);if(0<=b&&(a=a.b.b)){a=NA(a);for(var d=1;d<b&&a.a&&!EA(a.a);d++)UA(a);PA(c,a)}return QA(c)}g.Zc=function(a,b,c,d){if("prototype"===a){if(a=zy(b)){if(this.o&&a.I(this.o.qa()))return!0;vA(this,a,d);return!0}return!1}return Dy.prototype.Zc.call(this,a,b,c,d)};
  1046. function Nra(a,b,c){G(b);if(a.I(b))return a;if(a.Xf()&&b.Xf()&&!tta(a.b)&&!tta(b.b)){var d=vy(a,b),e=vy(b,a);if(d&&!e)return c?b:a;if(e&&!d)return c?a:b;d=Oy(Py(),(Qy(),Ry));e=a.b;var f=b.b;E(!d.a);d.a=!0;if(my(e,f)||uta(d,e,f)){var h=a.b.b;d=c?a.b.c.uc(b.b.c):a.b.c.Gc(b.b.c);e=bd(a.g,b.g)?a.g:c?a.g.uc(b.g):a.g.Gc(b.g);f=a.b.g||b.b.g;h=PA(MA(a.a),h);h.c=d;h.A=f;d=QA(VA(h,e))}else d=null;if(d)return d}d=qy(a.a,(I(),Av));if(d.I(b))return c?b:a;if(d.I(a))return c?a:b;b=qy(a.a,Av);a=qy(a.a,lw);return c?
  1047. b:a}g.Ic=function(){D(this.xa()||this.Ja());var a=IA(this).Va();return a?a.ua():null};g.Gd=function(){var a=ed(this.v);switch(this.v.a){case 1:case 2:return 31*a+Ah(this);case 0:return a=31*a+this.g.P(),a=31*a+this.b.P();default:throw ib().s;}};function vta(a,b){return Gra(Oy(Py(),(Qy(),Ry)),a.b,b.b)}
  1048. g.Ec=function(a){if(!this.K||my(this,qy(this.a,(I(),Av))))cy(a,a.a?"!Function":"Function");else if(wA(this)&&this.c)cy(dy(cy(a,"(typeof "),Tz(this)),")");else{this.K=!1;cy(a,"function(");var b=GA(this.b.b),c=!(this.g instanceof bA);c&&(this.xa()?cy(a,"new:"):cy(a,"this:"),dy(a,this.g));if(0<b)for(c&&cy(a,", "),b=this.b.b.a,wta(this,a,b),b=b.b;b;)cy(a,", "),wta(this,a,b),b=b.b;cy(a,"): ");fy(a,this.b.c);this.K=!0}};
  1049. function wta(a,b,c){EA(c)?(a=c.f,fy(cy(b,"..."),a)):DA(c)?(c=c.f,jy(c)&&(c=Wsa(c.nb(),qy(a.a,(I(),fw)))),cy(fy(b,c),"=")):fy(b,c.f)}g.La=function(a){return a.Ve(this)};g.pc=function(a,b){return Ez(a,this,b)};function Tz(a){E(wA(a));return zy(a.g)}function wA(a){return a.xa()||a.Ja()}g.vb=function(){return uy(this.g)?Lz(this.a,(I(),ew)):this.g};function xta(a,b){!a.o||b&&a.o.N()||(a.o=lsa(a.o.va(),a.o.qa(),a.o.Vb(),b));a.c=b}function nsa(a,b){a.F||(a.F=w());a.F.add(b)}
  1050. g.We=function(){Dy.prototype.We.call(this);if(this.F)for(var a=this.F.h();a.i();)a.j().We();this.Eb()||(wA(this)&&Tz(this).We(),this.o&&this.o.qa().We())};function yta(a){return mp(a.F?a.F:Ll(),a.a.Oa.Ua(a.Ba()))}g.Kk=function(){return!!this.o||Dy.prototype.Kk.call(this)};
  1051. g.Wc=function(a){this.b=nz(this.b,a);this.o&&osa(this.o,nz(this.o.qa(),a));var b=nz(this.g,a);if(b)if(b.Kc()||b.Zb())this.g=b;else if(b=Uy(b.Ia()))this.g=b;if(b=zta(this,this.U,a))this.U=b;if(b=zta(this,this.u,a))this.u=b;if(this.F)for(b=0;b<this.F.w();b++){var c=this.F.G(b);this.F.Rb(b,Fy(iz(c,a)))}return Dy.prototype.Wc.call(this,a)};
  1052. function zta(a,b,c){var d=!1,e=Mj();for(b=b.h();b.i();){var f=b.j(),h=iz(f,c);h.Ab()?(h=zy(h),e.W(h),d=!!(+d|+!my(h,f))):c.b("not an object type: "+r(h)+" (at "+r(a.toString())+")",WA(a.c),XA(a.c),YA(a.c))}return d?e.fa():null}g.Pj=function(){return 0<this.Zd()||Hy(this.g)||Hy(this.b)};g.yj=function(){return this.Ja()&&this.kb};
  1053. function asa(a,b,c){if(a=a.u)for(a=a.h();a.i();){var d=a.j().ua();if(d){if(b.B(d)){for(c.add(d);!my(c.G(0),d);)c.Wa(0);return c}b.add(d);c.add(d);var e=asa(d,b,c);if(e)return e;b.sa(d);c.Wa(c.w()-1)}}return null}function Ata(a){var b=ZA(VA($A(aB(MA(a.a),a.Ba()),a.c),Tz(a)),a.v);b.pa=a;b=QA(b);a=Tz(a);vA(b,a,null);return b}
  1054. function Bta(a){if(q(a.Kb,(jA(),eta))){if(a.aa())var b=(jA(),bB);else if(a.Eb())b=(jA(),cB);else if(b=a.Ic())if(Bta(b))b=(jA(),bB);else{var c;a.c?c=(jA(),cB):c=tz(a)&&ki(a.Ba(),cta)?(jA(),cB):(jA(),bB);b=c}else b=(jA(),bB);a.Kb=b}return q(a.Kb,(jA(),bB))}function MA(a){dB();var b=new Cta;b.v=a;b.F=a.c;b.ja=null;b.f=null;b.c=null;b.o=null;b.Da=null;b.U=dm();b.b=(hA(),eA);b.u=null;b.pa=null;nA(b,G(Lz(a,(I(),Cv))));return b}function dB(){dB=function(){};Nz();bta=(nv(),gqa);cta=csa()}g.ba=!0;
  1055. function eB(){iA.call(this)}l(eB,iA);function fB(a,b){dta(a,mA(gB(ZA(MA(b),(hA(),ata))),!0));lz(a)}g=eB.prototype;g.cc=function(){return nv(),kqa};g.ha=function(){return null};g.Cf=function(){return!0};g.Va=function(){return null};g.Ba=function(){return null};g.$b=function(){return!0};g.Qc=function(){return!0};g.fc=function(){return!0};g.we=function(){return!0};g.Gd=function(){return Ah(this)};g.Zc=function(){return!0};g.Fj=function(){return!1};g.yh=function(){};g.La=function(a){return a.Oi()};
  1056. g.pc=function(){return!0};g.Ec=function(a){cy(a,a.a?"?":"NoObject")};g.ua=function(){return null};g.Wc=function(){throw ib().s;};function hB(){iA.call(this)}l(hB,eB);g=hB.prototype;g.cc=function(){return nv(),jqa};g.Cf=function(){return!1};g.xc=function(){return!0};g.td=function(){return!0};g.ve=function(){return!0};g.ad=function(){return lv(),iv};g.La=function(a){return a.Al(this)};g.pc=function(){return!0};g.Ec=function(a){cy(a,a.a?"?":"None")};function Dta(){}l(Dta,n);
  1057. function RA(a){var b=new Dta;b.a=zw((H(),Qs));b.b=a;return b}function iB(a,b){var c=O(a.a);if(c&&(DA(c)||EA(c)))return!1;for(c=0;c<b.length;c++)jB(a,b[c]);return!0}function SA(a,b){if(Eta(a))return!1;for(var c=0;c<b.length;c++)OA(jB(a,Fta(a.b,b[c])),!0);return!0}function kB(a,b){if(Eta(a))return!1;lB(jB(a,b),!0);return!0}function Gta(a,b){a=jB(a,b.f);lB(a,EA(b));OA(a,DA(b));return a}function jB(a,b){var c=ox((H(),As),"");Q(c,b);M(a.a,c);return c}function Eta(a){a=O(a.a);return!!a&&EA(a)}
  1058. function Hta(){this.f=this.u=this.o=this.v=!1}l(Hta,n);function Ita(a,b){var c=Wl(b.oa()),d=og(tg(tg(c.S(),u(function(e){return b.get(e)})),u(function(e){return e?e:qy(a,(I(),ew))})),Rl());c=Ny(a.c,c,d);return Ty(a,c,!0,!0,!0)}function Ty(a,b,c,d,e){var f=new Hta;f.f=!1;f.b=kf();f.a=a;f.c=b;f.v=c;f.o=d;f.u=e;return f}g=Hta.prototype;g.Al=function(a){return a};g.qk=function(a){return a};g.zl=function(){return mB(this,(I(),gw))};g.Mi=function(){return mB(this,(I(),uv))};
  1059. g.Oi=function(){return mB(this,(I(),iw))};g.Ve=function(a){var b=this;return nB(this,a,u(function(c){if(!c.Eb()&&(c.Xf()||c.xa())){var d=!1,e=c.vb();var f=(f=e.La(b))?f:Lz(b.a,(I(),ew));q(e,f)||(d=!0);var h=HA(c);e=h.La(b);q(h,e)||(d=!0);h=RA(b.a);for(var k=AA(c).h();k.i();){var m=k.j(),p=m.f,t=p.La(b);q(p,t)||(d=!0);DA(m)?SA(h,A([t],ly,ey,1)):EA(m)?kB(h,t):iB(h,A([t],ly,ey,1))}d&&(d=KA(VA(LA(PA(ZA(MA(b.a),c.v),h.a),e),f),Ly(c)),d.u=c.za,c=QA(d))}return c}))};
  1060. g.md=function(a){var b=this;return nB(this,a,u(function(c){if(!(!b.v||c.Rd()||c instanceof Gz)&&hy(c)){for(var d=!1,e=Wz(b.a),f=c.Hc().h();f.i();){var h=f.j(),k=Az(c,h),m=c.Sa(h),p=m.La(b);q(m,p)||(d=!0);Xz(e,h,p,k)}c=d?Yz(e):c}return c}))};g.Ui=function(a){var b=this;return nB(this,a,u(function(c){var d=!1,e=c.c,f=Uy(e.La(b));q(e,f)||(d=!0);e=Mj();for(var h=c.Td().h();h.i();){var k=h.j(),m=k.La(b);q(k,m)||(d=!0);e.W(m)}d&&(c=My(b.a,f,e.fa()));return c}))};g.sk=function(){return mB(this,(I(),ew))};
  1061. g.Pi=function(){return mB(this,(I(),Ov))};g.Qi=function(){return mB(this,(I(),Pv))};g.Ri=function(){return mB(this,(I(),$v))};g.Si=function(){return mB(this,(I(),cw))};g.Vi=function(){return mB(this,(I(),fw))};g.yg=function(a){var b=this;return nB(this,a,u(function(c){for(var d=!1,e=w(),f=Zy(c).h();f.i();){var h=f.j(),k=h.La(b);q(k,h)||(d=!0);e.add(k)}return d?oB(b.a,e):c}))};
  1062. g.Ti=function(a){this.f=!0;if(!pB(this.c,a))return this.o?mB(this,(I(),ew)):a;if(this.b.B(a))return a;if(-1!=qB(this.c,a)){var b=Jta(this.c,a),c;if(!(c=q(b,this.g)))a:{if(c=b.Ia().Xb())for(c=c.Td().h();c.i();){var d=c.j(),e;if(e=gy(d))d=d.bf(),e=q(a,d)||q(a,Jta(this.c,d));if(e){c=!0;break a}}c=!1}if(c)return a;this.b.add(a);b=b.La(this);this.b.sa(a);Ji(!q(b,this.g),"Trying to replace key %s with the same value",this.g);return b}return this.u?mB(this,(I(),ew)):a};
  1063. function mB(a,b){return qy(a.a,b)}g.Ni=function(a){return a};g.rk=function(a){var b=this;return nB(this,a,u(function(c){var d=c.b,e=d.La(b);return q(e,d)?c:e}))};function nB(a,b,c){if(!a.b.add(b))return b;try{return c.f(b)}finally{a.b.sa(b)}}function rB(){}l(rB,n);
  1064. function rA(a,b,c){var d=new rB;G(b);G(c);D(c.w()<=b.w());d.f=a;d.a=b;d.b=c;a=Ty(a,d,!1,!1,!0);b=d.b.w();c=d.a.w();for(var e=za([c],ly,ey,ly.a),f=0;f<c;f++)if(f<b){var h=d.a.G(f);a.g=h;h=d.b.G(f);Ad(e,f,h.La(a))}else Ad(e,f,d.a.G(f).g);d.c=e;return d}function Ny(a,b,c){var d=b.w()-c.w();Fi(0<=d,Fc(d));if(0==Kta(a)&&b.D())return a;b=Mj().fb(a.a).fb(b).fa();d=w();d.na(a.b);Lta(a,a.a,d);d.na(c);return rA(a.f,b,Wl(d))}function pB(a,b){for(a=a.a.h();a.i();){var c=a.j();if(my(b,c))return!0}return!1}
  1065. function Kta(a){return a.a.w()-a.b.w()}function Jta(a,b){b=qB(a,b);return-1==b?qy(a.f,(I(),ew)):a.b.G(b)}function qB(a,b){for(var c=Math.min(a.a.w(),a.b.w())-1;0<=c;c--)if(my(a.a.G(c),b))return c;return-1}function sB(a,b){var c=qB(a,b);return-1==c?Mta(a,b):a.c[c]}function Dra(a){if(a.c){a=a.c;for(var b=0;b<a.length;b++)if(Hy(a[b]))return!0}return!1}
  1066. rB.prototype.toString=function(){var a="",b=this.a.w();a=r(a)+"{ ";for(var c=0;c<b;c++)a=r(a)+"(",a=r(a)+r(this.a.G(c)),a=r(a)+",",a=r(a)+r(c<this.b.w()?this.b.G(c):""),a=r(a)+",",a=r(a)+r(this.c&&c<this.c.length?this.c[c]:""),a=r(a)+") ";return a=r(a)+"}"};function Lta(a,b,c){D(c.w()<=b.w());for(var d=c.w();d<b.w();d++)c.add(Mta(a,b.G(d)))}function Mta(a,b){return b.g.aa()?qy(a.f,(I(),ew)):b}rB.prototype.ba=!0;function Gz(){rz.call(this)}var Nta;l(Gz,rz);
  1067. function Ota(a,b,c,d){oy(a,b,d);Hz(a);tB(a,G(c));mz(b.a,a,Nta)}g=Gz.prototype;g.cc=function(){return Nta};g.Xd=function(a,b){return this.b.Xd(a,b)};g.lc=function(){return this.c?this.c.lc():Zra()};function tB(a,b){G(b);a.b=b;Wy(b)?a.c=b:a.c=null}g.Aj=function(){return this.b.Aj()};g.Ef=function(a){return this.b.Ef(a)};g.Ba=function(){return this.c?this.c.Ba():""};g.$b=function(){return this.b.$b()};g.fc=function(){return this.b.fc()};g.we=function(){return this.b.we()};g.Qc=function(){return this.b.Qc()};
  1068. g.Ue=function(){return this.b.Ue()};g.Kg=function(){return this.b.Kg()};g.xc=function(){return this.b.xc()};g.Cf=function(){return this.b.Cf()};g.wc=function(){return this.b.wc()};g.aa=function(){return this.b.aa()};g.sj=function(){return this.b.sj()};g.td=function(){return this.b.td()};g.ve=function(){return this.b.ve()};g.fd=function(){return this.b.fd()};g.xa=function(){return this.b.xa()};g.Rd=function(){return this.b.Rd()};g.cd=function(){return this.b.cd()};g.Ja=function(){return this.b.Ja()};
  1069. g.Xf=function(){return this.b.Xf()};g.bd=function(){return this.b.bd()};g.be=function(){return this.b.be()};g.Jg=function(){return this.b.Jg()};g.Eb=function(){return this.c?this.c.Eb():!1};g.Cc=function(){return this.b.Cc()};g.nb=function(){return this.b.nb()};g.ha=function(){return this.b.ha()};g.Wb=function(){return this.b.Wb()};g.Qb=function(a){return this.b.Qb(a)};g.vc=function(){return this.c?this.c.vc():null};g.yf=function(){return this.c?this.c.yf():Ll()};
  1070. g.Fe=function(){return this.c?this.c.Fe():hf()};g.Gd=function(){return this.b.P()};g.Ec=function(a){this.b.Ec(a)};g.Va=function(){return this.c?this.c.Va():null};g.Zc=function(a,b,c,d){return!this.c||this.c.Zc(a,b,c,d)};g.Fj=function(a){return this.c?this.c.Fj(a):!1};g.ej=function(a){return Sy(this.b,a)};g.jg=function(){return this.b.jg()};g.Jf=function(a){this.c&&this.c.Jf(a)};g.yh=function(a,b){this.c&&this.c.yh(a,b)};g.ua=function(){return this.c?this.c.ua():null};
  1071. g.Td=function(){return this.c?this.c.Td():null};g.Zd=function(){return this.b.Zd()};g.La=function(a){return a.rk(this)};g.pc=function(a,b){return this.b.pc(a,b)};g.Wc=function(a){tB(this,iz(this.b,a));return this};g.vb=function(){return this.c?this.c.vb():rz.prototype.vb.call(this)};g.Wi=function(){return jy(this.b)?this.b.Wi():this};g.Mg=function(a){this.b.Mg(a)};g.Xb=function(){return this.b.Xb()};g.bf=function(){return this.b.bf()};g.mm=function(){return Hy(this.b)};g.Ma=function(){return this.b.Ma()};
  1072. g.Pj=function(){return this.mm()};function uB(){uB=function(){};ny();Nta=(nv(),pqa)}function Pta(){rz.call(this);this.u=!1}var Qta;l(Pta,Gz);function Rta(a,b,c){Sta();var d=new Pta;var e=b.Ma(),f=Kta(e)-c.w();Fi(0<=f,Fc(f));0==Kta(e)?c=e:(f=w(),f.na(e.b),f.na(c),Lta(e,e.a,f),c=rA(e.f,e.a,Wl(f)));Ota(d,a,b,c);c=Mj();e=!0;for(b=Ly(b).h();b.i();)f=b.j(),f=sB(d.Ma(),f),c.W(f),e=e&&f.aa();d.g=c.fa();d.u=e;d.o=Ty(a,d.Ma(),!1,!1,!1);mz(a.a,d,Qta);return d}g=Pta.prototype;g.cc=function(){return Qta};
  1073. g.yf=function(){for(var a=pm(),b=this.c.yf().h();b.i();){var c=b.j();a.add(zy(c.La(this.o)))}return a};g.Fe=function(){for(var a=pm(),b=this.c.Fe().h();b.i();){var c=b.j();a.add(zy(c.La(this.o)))}return a};g.Ec=function(a){Gz.prototype.Ec.call(this,a);this.g.D()||cy(qra(cy(a,"<"),this.g,","),">")};g.Gd=function(){var a=Gz.prototype.Gd.call(this);return this.u?a:Fg([this.g,Fc(a)])};g.La=function(a){return a.Ui(this)};g.pc=function(a,b){return this.b.pc(a,b)};g.Xb=function(){return this};g.Td=function(){return this.g};
  1074. g.Sa=function(a){return(a=Gz.prototype.Sa.call(this,a))?a.La(this.o):null};function Pra(a,b){G(b);if(!yy(b)||!a.b.I(b.Xb().b)){if(!yy(b)){if(vy(a,b))return a;if(vy(b,a))return Xy(b)}return a.Ab()&&b.Ab()?py(a,(I(),iw)):py(a,(I(),hw))}b=b.Xb();G(b);return a.I(b)?a:a.c}g.Ma=function(){return this.ta};g.mm=function(){return Dra(this.ta)};
  1075. g.Wc=function(a){var b=this.c;Gz.prototype.Wc.call(this,a);b=!q(b,this.c);for(var c=Mj(),d=this.g.h();d.i();){var e=d.j(),f=iz(e,a);b=!!(+b|+!q(f,e));c.W(f)}return b?Rta(this.a,this.c,c.fa()):this};function Sta(){Sta=function(){};uB();Qta=(nv(),uqa)}function vB(){}l(vB,n);g=vB.prototype;g.Al=function(a){return this.Oc(a)};g.qk=function(a){return this.Oc(a)};g.zl=function(){return this.Oc(null)};g.Mi=function(){return this.Oc(null)};g.Oi=function(){return this.Oc(null)};g.Ve=function(a){return this.Oc(a)};
  1076. g.md=function(a){return this.Oc(a)};g.sk=function(){return this.Oc(null)};g.Pi=function(){return this.Oc(null)};g.Ni=function(a){return this.Oc(a)};g.rk=function(a){return this.Oc(a)};g.Qi=function(){return this.Oc(null)};g.Ri=function(){return this.Oc(null)};g.Si=function(){return this.Oc(null)};g.Vi=function(){return this.Oc(null)};g.yg=function(a){return this.Oc(a)};g.Ui=function(a){return this.Oc(a)};g.Ti=function(a){return this.Oc(a)};function Tta(){this.a=0}var Cy,wB,Uta;l(Tta,z);
  1077. function Vta(a,b){var c=new Tta;c.b=a;c.a=b;return c}Tta.prototype.R=function(a){return z.prototype.c.call(this,a)};function By(){By=function(){};Cy=Vta("PRESENT",0);wB=Vta("ABSENT",1);Uta=Vta("CYCLE",2)}function Wta(){}l(Wta,vB);function Bra(a){var b=new Wta;b.b=kf();b.a=a;return b}g=Wta.prototype;g.Oc=function(a){return this.a?my(a,this.a)?(By(),Cy):(By(),wB):(By(),wB)};g.Ti=function(a){return Xta(this,a,a.g)};g.Ni=function(a){return Xta(this,a,a.b)};g.Ui=function(a){return Xta(this,a,a.c)};
  1078. g.yg=function(a){if(my(a,this.a))return By(),Cy;for(a=Zy(a).h();a.i();){var b=a.j().La(this);if(!q(b,(By(),wB)))return b}return By(),wB};function Xta(a,b,c){if(my(b,a.a))return By(),Cy;if(a.b.B(b))return By(),Uta;a.b.add(b);return c.La(a)}function xB(){rz.call(this)}var Yta;l(xB,Gz);function yB(a,b){zB();var c=new xB;Zta(c,a,b,null,null);return c}function Zta(a,b,c,d,e){var f=d?d:Lz(b,(I(),ew));Ota(a,b,f,null);a.o=c;a.g=d?d:Lz(b,(I(),ew));a.u=e;mz(b.a,a,Yta)}g=xB.prototype;g.cc=function(){return Yta};
  1079. g.Ba=function(){return this.o};g.Ec=function(a){my(this.g,Lz(this.a,(I(),ew)))?cy(a,this.o):dy(cy(cy(a,this.o)," extends "),this.g)};g.bf=function(){return this};g.mm=function(){return!0};g.La=function(a){return a.Ti(this)};g.pc=function(){return!0};g.Ef=function(a){return a.ca(this)};function $ta(a){var b=Bra(null);return q(a.La(b),(By(),Uta))}function zB(){zB=function(){};uB();Yta=(nv(),tqa)}function AB(a){return a instanceof xB}function aua(){this.a=0}var BB,bua,CB;l(aua,z);
  1080. function cua(a,b){var c=new aua;c.b=a;c.a=b;return c}aua.prototype.R=function(a){return z.prototype.c.call(this,a)};function DB(){DB=function(){};BB=cua("NONE",0);bua=cua("TYPE_NAME",1);CB=cua("TYPEOF",2)}function dua(){this.a=this.b=0;this.o=!1}l(dua,n);function eua(a,b){var c=new dua;c.c=Ll();c.A=a;c.f=b;c.v=qy(a,(I(),ew));return c}function fua(a,b){a.F=b;return a}function GB(a,b){a.g=b;return a}function gua(a,b){a.v=b;return a}function hua(){this.a=!1}l(hua,n);function lA(){iA.call(this)}
  1081. l(lA,hB);g=lA.prototype;g.cc=function(){return nv(),lqa};g.Ba=function(){return this.vd};g.Td=function(){return this.wd};g.wc=function(){return!0};g.xc=function(){return!1};g.Ec=function(a){cy(a,a.a?"?":"NoResolvedType")};function HB(){rz.call(this);this.A=this.F=0;this.K=!1}var iua;l(HB,Gz);function jua(a){IB();E(tz(a));a=G(a.Ba());return Yg(a)}
  1082. function JB(a){IB();var b=new HB;Ota(b,a.A,a.v,null);b.o=null;G(a.f);G(a.g);G(a.c);cd(a.g,(DB(),CB))&&E(zi(a.f,"typeof "));b.K=a.o;b.u=a.F;b.g=a.f;b.v=a.u;b.F=a.b;b.A=a.a;b.ja=a.c;b.$=a.g;mz(b.a.a,b,iua);return b}g=HB.prototype;g.cc=function(){return iua};g.Td=function(){return this.ja};g.Zc=function(a,b,c,d){if(this.f)return Gz.prototype.Zc.call(this,a,b,c,d);this.o||(this.o=w());var e=new hua;e.b=a;e.f=b;e.a=c;e.c=d;this.o.add(e);return!0};
  1083. function kua(a){var b=a.c;if(b&&!b.aa()&&a.o)for(b=a.o.h();b.i();){var c=b.j();a.Zc(c.b,c.f,c.a,c.c)}a.o=null}g.Ba=function(){return this.g};g.Ec=function(a){var b=this.b;!this.f||b.wc()?cy(a,this.Ba()):dy(a,b)};g.Bc=function(){return this};g.Rd=function(){return this.f?Gz.prototype.Rd.call(this):!0};g.Gd=function(){return this.f&&!this.wc()?Gz.prototype.Gd.call(this):jua(this)};
  1084. g.Wc=function(a){var b=Msa(u(function(e){return iz(e,a)}),this.ja);if(cd(this.$,(DB(),BB)))return Gz.prototype.Wc.call(this,a);F(this.b.aa(),"NamedTypes given a referenced type pre-resolution should have ResolutionKind.NONE");if(!this.u)return this;lua(this,a)||mua(this,a);Gz.prototype.Wc.call(this,a);$ra(this)&&nua(this,a);kua(this);var c=this.b;if(this.f&&!this.wc()){this.u=null;if(!c.Ab()||b.D())return c;var d=zy(c);if(!d||!xy(d))return c;c=c.Zd();c<b.w()&&(b=b.Gb(0,c));c=My(this.a,d,b);tB(this,
  1085. iz(c,a))}return c};
  1086. function mua(a,b){var c=KB(a.a,a.u,a.g);if(c)oua(a,c,b);else if(a.a.Lb.B(a.g)){b=a.a;c=a.Ba();var d=a.Td();dB();var e=new lA;fB(e,b);e.vd=c;e.wd=d;tB(a,e);a.U&&a.U.ca(a.b)}else{c="Bad type annotation. Unknown type "+r(a.g);if(ki(a.v,"ids.js")||ki(a.v,"_wiz.js"))c=r(c)+" (If you are using modules, this error message might mean that you are missing a module dependency that defines this type in your application. See http://go/pintomodulesystem-faq for more information.)";d=ji(a.g,".")?ne(a.g,0,a.g.indexOf(".")):
  1087. a.g;a:{if(e=a.u.ob(d))if(Li(e.ya(),e),e=e.ya().Ge()){e=!!e.ob(d);break a}e=!1}e&&(c=r(c)+String("\nIt's possible that a local variable called '"+r(d)+"' is shadowing the intended global namespace."));b.b(c,a.v,a.F,a.A)}}
  1088. function lua(a,b){if(!cd(a.$,(DB(),CB)))return!1;var c=a.u.Ac(Wx(a.g.substr(7)));!c||c.aa()?(b.b("Missing type for `typeof` value. The value must be declared and const.",a.v,a.F,a.A),oua(a,qy(a.a,(I(),ew)),b)):(ky(c)&&(c=JB(gua(GB(LB(a.a,a.Ba()),(DB(),BB)),c))),oua(a,c,b));return!0}function oua(a,b,c){a.K&&(b=b.Ia());a.U&&a.U.ca(b);tB(a,b);b=a.b;b instanceof MB&&my(a,b.b)&&nua(a,c);my(a.b,a)&&nua(a,c)}
  1089. function nua(a,b){tB(a,Lz(a.a,(I(),ew)));var c="Cycle detected in inheritance chain of type "+r(a.g);b.b(c,a.v,a.F,a.A)}g.Ef=function(a){if(this.f)return Gz.prototype.Ef.call(this,a);this.U=a;return!0};g.Ab=function(){return this.Wb()?this.Wb().Ab():Gz.prototype.Ab.call(this)};g.La=function(a){return a.Ni(this)};function LB(a,b){IB();return eua(a,b)}
  1090. function pua(a){F(!a.f,"Only call toBuilder on unresolved NamedTypes");var b=GB(fua(eua(a.a,a.g),a.u),a.$),c=a.F,d=a.A;b.u=a.v;b.b=c;b.a=d;b.c=a.ja;b=gua(b,a.b);b.o=a.K;return b}function IB(){IB=function(){};uB();iua=(nv(),iqa)}function NB(){ly.call(this)}l(NB,ly);g=NB.prototype;g.cc=function(){return nv(),bqa};g.bd=function(){return!0};g.fc=function(){return!0};g.Qc=function(){return!0};g.Qb=function(){return Xu(),Vu};g.Ec=function(a){cy(a,"*")};g.tc=function(){return"<Any Type>"};g.La=function(a){return a.zl()};
  1091. g.pc=function(){return!0};g.ad=function(){return lv(),iv};g.Wc=function(){throw ib().s;};g.Gd=function(){return Ah(this)};g.td=function(){return!0};g.ve=function(){return!0};function tA(){ly.call(this);this.g=!1}var jta;l(tA,ly);g=tA.prototype;g.cc=function(){return jta};g.Gd=function(){var a=dd(this.c);if(this.b)for(var b=this.b.a;b;)a=31*a+dd(b.f),b=b.b;return a};g.uc=function(){throw wb().s;};g.Gc=function(){throw wb().s;};g.Qb=function(){throw wb().s;};g.La=function(){throw wb().s;};
  1092. g.pc=function(){throw wb().s;};g.ad=function(){return lv(),gv};g.Wc=function(a){this.c=nz(this.c,a);if(this.b)for(var b=this.b.a;b;b=b.b)Q(b,iz(b.f,a));return this};function tta(a){if(a.b)for(var b=a.b.a;b;b=b.b){var c=b.f;if(!c||c.aa())return!0}return!a.c||a.c.aa()}g.Ec=function(a){cy(a,"[ArrowType]")};g.Pj=function(){var a;if(!(a=Hy(this.c)))a:{if(this.b)for(a=this.b.a;a;a=a.b){var b=a.f;if(b&&Hy(b)){a=!0;break a}}a=!1}return a};function ita(){ita=function(){};ny();jta=(nv(),cqa)}
  1093. function OB(){ly.call(this)}l(OB,ly);function PB(a,b){oy(a,b,null);lz(a)}g=OB.prototype;g.Wc=function(){throw ib().s;};g.Ec=function(a){cy(a,this.tc())};g.pc=function(a,b){return Ez(a,this,b)};g.Xd=function(a,b){return b&&this.rc()?this.rc().Xd(a,b):ly.prototype.Xd.call(this,a,b)};g.Gd=function(){return Ah(this)};function qua(){ly.call(this)}l(qua,OB);g=qua.prototype;g.cc=function(){return nv(),dqa};
  1094. g.Qb=function(a){var b=OB.prototype.Qb.call(this,a);return b?b:a.aa()||vy(a,py(this,(I(),nw)))||a.Ab()?(Xu(),Vu):(Xu(),Uu)};g.rj=function(){return!0};g.$b=function(){return!0};g.fc=function(){return!0};g.Qc=function(){return!0};g.rc=function(){return py(this,(I(),vv))};g.tc=function(){return"boolean"};g.ad=function(){return lv(),iv};g.La=function(a){return a.Mi()};function Oz(){this.K=this.za=!1;this.Ha=0}l(Oz,n);function oA(a,b){a.Oa=b;return a}function nA(a,b){a.ta=b;return a}
  1095. function mA(a,b){a.za=b;return a}function qA(a,b){a.F=b;return a}function pA(a,b){a.Ha=b;return a}Oz.prototype.a=function(){Nz();var a=new Dy;Iz(a,this);return a};function rua(){this.a=0}var sua,tua,uua,vua;l(rua,z);function wua(a,b){var c=new rua;c.b=a;c.a=b;return c}rua.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1096. function QB(){QB=function(){};tua=wua("ASSERTS_FAIL",0);uua=wua("ASSERTS_MATCHES_RETURN",1);vua=wua("ASSERTS_TRUTHY",2);sua=Pga("asserts.fail",tua,"asserts.truthy",vua,"asserts.matchesReturn",uua)}function Cta(){Oz.call(this);this.g=this.A=this.$=!1}l(Cta,Oz);function aB(a,b){return oA(a,b)}function $A(a,b){a.ja=b;return a}function PA(a,b){a.f=b;return a}function LA(a,b){a.c=b;return a}function gB(a){a.g=!0;return a}function VA(a,b){a.o=b;return a}
  1097. function KA(a,b){return pA(qA(a,Ny(a.v.c,b,Ll())),b.w())}function RB(a,b){return KA(a,Yl(b))}function ZA(a,b){a.b=b;return a}function SB(a){a.b=(hA(),fA);return a}function xua(a){a.b=(hA(),$sa);a.f=zw((H(),Qs));return a}function yua(a,b){a.$=b;return a}function zua(a,b){pA(qA(mA(oA(a,b.Ba()),b.Eb()),b.Ma()),b.Zd());a.ja=b.c;a.f=b.b.b;a.c=HA(b);a.o=b.vb();a.b=b.v;a.A=b.b.g;a.$=b.A;a.u=b.za;return a}
  1098. function QA(a){switch(a.b.a){case 3:E(a.g);break;case 0:E(!a.g)}a.g&&(E(!a.c),E(!a.o));switch(a.b.a){case 3:case 0:E(a.U.D())}dB();var b=new iA;dta(b,a);return b}function TB(a){return G(QA(a).ha())}Cta.prototype.a=function(){return QA(this)};function Aua(){}l(Aua,n);function UB(){this.c=!1}l(UB,Aua);function Bua(a,b,c){var d=new UB;d.c=a;d.a=b;d.b=c;return d}UB.prototype.toString=function(){return"ModuleSlot{isLegacyModule="+this.c+", definitionNode="+r(this.a)+", type="+r(this.b)+"}"};
  1099. UB.prototype.I=function(a){return q(a,this)?!0:a instanceof Aua?this.c==a.c&&(this.a?cd(this.a,a.a):!a.a)&&(this.b?this.b.I(a.b):!a.b):!1};UB.prototype.P=function(){var a=1000003^(this.c?1231:1237);a=1000003*a^(this.a?ed(this.a):0);return a=1000003*a^(this.b?this.b.P():0)};function Cua(){this.a=0}var Dua,VB,WB,Eua;l(Cua,z);function XB(a,b){var c=new Cua;c.b=a;c.a=b;return c}Cua.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1100. function YB(){YB=function(){};Dua=XB("UNKNOWN",0);VB=XB("KNOWN",1);WB=XB("LOOSE",2);Eua=XB("LOOSE_UNION",3)}function ZB(a){this.a=a}l(ZB,n);function $B(a,b,c,d){var e;return e=a.a,e(b,c,d)}function aC(){this.b=this.c=0}var Fua,bC;l(aC,n);function cC(a,b,c,d,e){var f=new aC;f.a=a;f.c=b;f.g=c;f.b=d;f.f=e;E(kh(f.b)==f.f.length);a=f.f;for(b=0;b<a.length;b++)G(a[b]);return f}function dC(){Gua();return Fua}aC.prototype.toString=function(){var a=x(Mg(),"{");null==this.a||Hua(this,a);return x(a,"}").toString()};
  1101. function Hua(a,b){1<b.Ra()&&x(b,", ");Wg(x(Wg(b,a.a),": "),a.g);a=a.f;for(var c=0;c<a.length;c++)Hua(a[c],b)}function eC(a,b){return null==a.a?null:Iua(a,b,wh(ed(b)))}function Iua(a,b,c){if(c==a.c&&cd(b,a.a))return a.g;var d=1<<(c>>>28|0);return 0!=(a.b&d)?Iua(a.f[kh(a.b&d-1)],b,c<<4):null}function Jua(a,b,c){G(c);return null==a.a?cC(b,wh(ed(b)),c,0,bC):fC(a,b,wh(ed(b)),c)}
  1102. function fC(a,b,c,d){if(c==a.c&&cd(b,a.a))return cd(d,a.g)?a:cC(b,c,d,a.b,a.f);if(0>Kua(c,a.c)){var e=c,f=a.c<<4;c=1<<(a.c>>>28|0);var h=kh(a.b&c-1);0!=(a.b&c)?h=gC(a.f,h,fC(a.f[h],a.a,f,a.g)):(f=cC(a.a,f,a.g,0,bC),h=hC(a.f,h,f));return cC(b,e,d,a.b|c,h)}e=c>>>28|0;c<<=4;h=1<<e;e=kh(a.b&h-1);if(0!=(a.b&h))return h=a.f[e],b=fC(h,b,c,d),q(h,b)?a:iC(a,a.b,gC(a.f,e,b));b=cC(b,c,d,0,bC);return iC(a,a.b|h,hC(a.f,e,b))}function Lua(a,b){return null==a.a?a:Mua(a,b,wh(ed(b)),null)}
  1103. function Mua(a,b,c,d){if(c==a.c&&cd(b,a.a)){var e=jC(a.b,a.f);d&&(d[0]=a.g);return e?e:dC()}e=1<<(c>>>28|0);if(0==(a.b&e))return a;var f=kh(a.b&e-1),h=a.f[f];d=Mua(h,b,c<<4,d);return q(d,h)?a:q(d,Fua)?iC(a,a.b&~e,Nua(a.f,f)):iC(a,a.b,gC(a.f,f,d))}function Oua(a,b,c){return(a=kC(null==a.a?null:a,null==b.a?null:b,new ZB(function(d,e,f){return G($B(c,d,e,f))})))?a:dC()}
  1104. function kC(a,b,c){if(q(a,b))return a;if(!a){a=$B(c,b.a,null,b.g);for(var d=Dg(b.f,b.f.length),e=0;e<d.length;e++)Ad(d,e,kC(null,d[e],c));return null!=a?cC(b.a,b.c,a,b.b,d):jC(b.b,d)}if(!b){b=$B(c,a.a,a.g,null);d=Dg(a.f,a.f.length);for(e=0;e<d.length;e++)Ad(d,e,kC(d[e],null,c));return null!=b?cC(a.a,a.c,b,a.b,d):jC(a.b,d)}e=d=!0;var f=Kua(a.c,b.c),h=a.a,k=a.c;0>f?(b=Pua(b),e=!1):0<f?(a=Pua(a),d=!1,h=b.a,k=b.c):cd(a.a,b.a)||(b=Qua(b,a.a,a.c,null,Array(1)),e=!1);f=bd(a.g,b.g)?a.g:$B(c,null!=a.a?a.a:
  1105. b.a,a.g,b.g);var m=a.b|b.b;d=!!(+d&+(m==a.b));e=!!(+e&+(m==b.b));for(var p=0!=m?za([kh(m)],aC,lC,aC.a):bC,t=m,v=0;0!=t;){var C=t&-t;t&=~C;var J=mC(a,C),K=mC(b,C);Ad(p,v,kC(J,K,c));d=!!(+d&+q(p[v],J));e=!!(+e&+q(p[v],K));null!=p[v]?v++:m&=~C}return d&&cd(a.g,f)?a:e&&cd(b.g,f)?b:null==f?jC(m,p):cC(h,k,f,m,p)}function Rua(a,b,c){return Sua(null==a.a?null:a,null==b.a?null:b,c)}
  1106. function Sua(a,b,c){if(q(a,b))return!0;if(!a||!b||a.c!=b.c||!cd(a.a,b.a)&&(b=Qua(b,a.a,a.c,null,Array(1)),null==b.a))return!1;var d;if(d=c.a,!d(a.g,b.g))return!1;for(d=a.b|b.b;0!=d;){var e=d&-d;d&=~e;if(!Sua(mC(a,e),mC(b,e),c))return!1}return!0}function mC(a,b){return 0!=(a.b&b)?a.f[kh(a.b&b-1)]:null}function Kua(a,b){var c=(a>>>2|0)-(b>>>2|0);return 0!=c?c:(a&3)-(b&3)}
  1107. function Qua(a,b,c,d,e){var f=a.b,h=a.f;if(c==a.c&&cd(b,a.a))e[0]=a.g;else{var k=c>>>28|0,m=a.c>>>28|0;if(k==m)m=1<<k,0!=(a.b&m)&&(m=kh(a.b&m-1),a=Qua(h[m],b,c<<4,a,e),h=gC(h,m,a));else{k=1<<k;if(0!=(a.b&k)){var p=kh(a.b&k-1),t=Mua(h[p],b,c<<4,e);null==t.a?(h=Nua(h,p),f&=~k):h=gC(h,p,t)}k=1<<m;m=kh(f&k-1);0!=(a.b&k)?(a=fC(h[m],a.a,a.c<<4,a.g),h=gC(h,m,a)):(h=hC(h,m,cC(a.a,a.c<<4,a.g,0,bC)),f|=k)}}return d?cC(d.a,d.c<<4,d.g,f,h):cC(b,c,e[0],f,h)}
  1108. function Pua(a){var b=1<<(a.c>>>28|0),c=kh(a.b&b-1);if(0!=(a.b&b))return b=fC(a.f[c],a.a,a.c<<4,a.g),cC(null,0,null,a.b,gC(a.f,c,b));var d=cC(a.a,a.c<<4,a.g,0,bC);return cC(null,0,null,a.b|b,hC(a.f,c,d))}function iC(a,b,c){return b==a.b&&q(c,a.f)?a:cC(a.a,a.c,a.g,b,c)}function jC(a,b){if(0==a)return null;var c=b[0],d=c.c>>>4|0|zea(a)<<28,e=jC(c.b,c.f);return e?cC(c.a,d,c.g,a,gC(b,0,e)):cC(c.a,d,c.g,a&~(a&-a),Nua(b,0))}
  1109. function hC(a,b,c){var d=za([a.length+1],aC,lC,aC.a);d[b]=c;Di(a,0,d,0,b);Di(a,b,d,b+1,a.length-b);return d}function gC(a,b,c){a=Dg(a,a.length);a[b]=c;return a}function Nua(a,b){if(1==a.length)return bC;var c=za([a.length-1],aC,lC,aC.a);Di(a,0,c,0,b);Di(a,b+1,c,b,a.length-b-1);return c}function Gua(){Gua=function(){};bC=za([0],aC,lC,aC.a);Fua=cC(null,0,null,0,bC)}function lC(a){return a instanceof aC}aC.prototype.ba=!0;function nC(){}l(nC,n);
  1110. function Tua(a,b){var c=new nC;c.a=a;a=a instanceof nC?a.b:dC();for(b=b.h();b.i();){var d=b.j();a=Jua(a,d.Ba(),d)}c.b=a;return c}g=nC.prototype;g.ka=function(){return this.a.ka()};g.Ge=function(){return this.a.Ge()};g.ob=function(a){return this.a.ob(a)};g.Mb=function(a){return this.a.Mb(a)};g.Xc=function(){return this.a.Xc()};g.$d=function(a){return eC(this.b,a)?this:this.a.$d(a)};g.Ac=function(a){return Rz(this,a)};g.Fh=!0;g.ba=!0;function Uua(){this.a=!1}l(Uua,n);
  1111. Uua.prototype.f=function(){E(!this.a);this.a=!0;var a=this.b;E(cd(a.a,(jz(),kz)));E(a.c.D());for(a.a=Vua;!a.f.D();){var b=a.f.qd();iz(b,a.b.o)}a.a=oC;b=qy(a.b,(I(),kw));var c=KB(a.b,null,"Window");b.aa()&&((c=Uy(c))?Kz(b,c):Kz(b,qy(a.b,Tv)))};function Wua(){this.a=0}var oC,kz,Vua;l(Wua,z);function Xua(a,b){var c=new Wua;c.b=a;c.a=b;return c}Wua.prototype.R=function(a){return z.prototype.c.call(this,a)};function jz(){jz=function(){};oC=Xua("CLOSED",0);kz=Xua("OPEN",1);Vua=Xua("CLOSING",2)}
  1112. function Yua(){}l(Yua,n);function mz(a,b,c){if(c.I(b.cc()))switch(c=a.c.Ke(),Ki(my(b,c),"Captured %s; Expected %s",b,c),a.a.a){case 0:case 2:iz(b,a.b.o);break;case 1:a.f.Sb(b)}}function Zua(a){E(cd(a.a,(jz(),oC)));E(a.c.D());a.a=kz;var b=new Uua;b.b=a;b.a=!1;return b}Yua.prototype.ba=!0;function $ua(){ly.call(this)}l($ua,OB);g=$ua.prototype;g.cc=function(){return nv(),mqa};g.Kc=function(){return!0};g.td=function(){return!0};g.$b=function(){return!0};g.Qc=function(){return!1};g.fc=function(){return!0};
  1113. g.Ia=function(){return qy(this.a,(I(),hw))};g.cl=function(){return qy(this.a,(I(),hw))};g.Qb=function(a){var b=OB.prototype.Qb.call(this,a);return b?b:a.Kc()||a.Zb()?(Xu(),Tu):a.aa()||a.td()?(Xu(),Vu):(Xu(),Uu)};g.tc=function(){return"null"};g.ad=function(){return lv(),hv};g.La=function(a){return a.Pi()};function ava(){ly.call(this)}l(ava,OB);g=ava.prototype;g.cc=function(){return nv(),nqa};
  1114. g.Qb=function(a){var b=OB.prototype.Qb.call(this,a);return b?b:a.aa()||vy(a,py(this,(I(),Tv)))||vy(a,py(this,(I(),Pv)))||vy(a,py(this,(I(),$v)))||vy(a,py(this,(I(),uv)))?(Xu(),Vu):(Xu(),Uu)};g.xj=function(){return!0};g.$b=function(){return!0};g.fc=function(){return!0};g.Qc=function(){return!0};g.tc=function(){return"number"};g.ad=function(){return lv(),iv};g.La=function(a){return a.Qi()};g.rc=function(){return py(this,(I(),Qv))};function bva(){ly.call(this)}l(bva,OB);g=bva.prototype;
  1115. g.cc=function(){return nv(),rqa};g.Qb=function(a){var b=OB.prototype.Qb.call(this,a);return b?b:a.aa()||vy(a,py(this,(I(),Tv)))||vy(a,py(this,(I(),Pv)))||vy(a,py(this,(I(),$v)))||vy(a,py(this,(I(),uv)))?(Xu(),Vu):(Xu(),Uu)};g.th=function(){return!0};g.$b=function(){return!0};g.fc=function(){return!0};g.Qc=function(){return!0};g.tc=function(){return"string"};g.rc=function(){return py(this,(I(),Yv))};g.ad=function(){return lv(),iv};g.La=function(a){return a.Ri()};function cva(){ly.call(this)}
  1116. l(cva,OB);g=cva.prototype;g.cc=function(){return nv(),sqa};g.Qb=function(a){var b=OB.prototype.Qb.call(this,a);return b?b:Vy(a,py(this,(I(),cw)))||Vy(a,py(this,(I(),aw)))?(Xu(),Vu):(Xu(),Uu)};g.Ul=function(){return!0};g.$b=function(){return!1};g.fc=function(){return!1};g.we=function(){return!0};g.Qc=function(){return!0};g.tc=function(){return"symbol"};g.rc=function(){return py(this,(I(),aw))};g.ad=function(){return lv(),gv};g.La=function(a){return a.Si()};function dva(){ly.call(this)}l(dva,OB);
  1117. g=dva.prototype;g.cc=function(){return nv(),xqa};g.Ia=function(){return qy(this.a,(I(),hw))};g.cg=function(){return qy(this.a,(I(),hw))};g.Qb=function(a){return cd((Xu(),Vu),OB.prototype.Qb.call(this,a))?(Xu(),Vu):vy(a,this)||vy(a,py(this,(I(),Ov)))?(Xu(),Tu):(Xu(),Uu)};g.$b=function(){return!1};g.Qc=function(){return!1};g.fc=function(){return!0};g.Zb=function(){return!0};g.ve=function(){return!0};g.vj=function(){return!0};g.tc=function(){return"undefined"};g.ad=function(){return lv(),hv};g.La=function(a){return a.Vi()};
  1118. function eva(){}var fva;l(eva,n);function pC(a){G(a.ja);return a.ja}function gva(a){var b=mi(a,46);return-1!=b?ne(a,0,b):a}function qC(a,b){return a&&a.Ge()?a.$d(gva(b)):a}function rC(a,b){b=b?b.ka():null;return!b||sC(b)||tC(b)?a.jc:b}function hva(a){Fi(!ji(a,"<"),"Type names cannot contain template annotations.")}
  1119. function KB(a,b,c){hva(c);if(b instanceof nC){var d;if(d=eC(b.b,c))return d}d=qC(b,c);var e=uC(a,d,c);if(e)a=e;else a:if(b=d?d:b,te(c)||null==b||!b.Fh)a=null;else{d=gva(c);d=b.ob(d);if(!(d&&d.ya()&&d.ya().Ge())){b:for(d=c,e=Mj();;){var f=a.pa.get(d);if(f){d=f.c?null:iva(a,f.b,f.a,e.fa().gf());break b}f=d.lastIndexOf(".");if(0>f){d=null;break b}e.W(d.substr(f+1));d=ne(d,0,f)}if(d){a=d;break a}}G(c);D(!te(c));d=gva(c);(b=b.Mb(d))?(c=Vl(sp(lq(fva,c))),a=iva(a,b.qa(),null,c)):a=null}return a}
  1120. function iva(a,b,c,d){if(d.D()&&(c=c?vC(c):null))return c;if(!b||b.bd()||b.xc())return null;for(c=0;c<d.w();c++){var e=d.G(c);b=Uy(b);if(!b||te(e)||!Dz(b,e))return null;if(c==d.w()-1){var f=Az(b,e);if(f=f?vC(f):null)return f}b=b.Sa(e)}return b?iy(b)&&(b.xa()||b.Ja())?Tz(b.ha()):b.Cf()?Lz(a,(I(),iw)):b instanceof Qz?b.b:null:null}function uC(a,b,c){b=rC(a,b);return a.f.Ze(b,c)}function wC(a,b){xC(a,null,b,b.toString())}function xC(a,b,c,d){hva(d);b=qC(b,d);a.f.Mc(rC(a,b),d,c)}
  1121. function jva(a,b,c){a.f.il(rC(a,qC(b,c)),c)}function yC(a,b,c){a.Za[b.a]=c}function Ssa(a,b,c){var d=!1;for(b=b.lc().a.oa().h();b.i();){var e=b.j();ty(c,e)||(d=!0,a.Ha.add(e))}d&&a.kb.na(c.lc().a.oa())}function xz(a,b,c){var d=c.Ia();if(hy(d)||ky(d))a.rb||(a.rb=zC(a,null)),c=a.rb;jy(c)?a.u.Oj(b,Zy(c.nb())):a.u.Aa(b,c);kva(a,b,c);a.Da.Ka(b)}
  1122. function kva(a,b,c){if(Wy(c)&&tz(c))a.U.gb(b,u(function(){return Uf()})).C(c.Ba(),c);else if(c instanceof HB)kva(a,b,c.b);else if(jy(c))for(c=Zy(c.nb()).h();c.i();){var d=c.j();kva(a,b,d)}}
  1123. function lva(a,b,c){if(b.be())switch(b.Xd(c,!0).a){case 1:return YB(),VB;case 2:return YB(),VB}else{if(!uy(b)&&!b.aa())switch(b.Xd(c,!0).a){case 1:return YB(),VB;case 2:return YB(),VB}if(a.u.Yc(c))for(var d=a.u.Ua(c).h();d.i();){var e=d.j().Gc(b);if(!uy(e)&&(e=e.Cc(),!e||e.c))return YB(),WB}if(b.Cc()){d=!1;for(b=b.Cc().lc().a.oa().h();b.i();)if(e=b.j(),a.kb.B(e)){d=!0;break}if(d&&a.Ha.B(c))return YB(),WB}}return YB(),Dua}function Xsa(a){for(var b=Kd();a;a=a.Va())b.add(a);return b}
  1124. function AC(a,b,c,d){E(!te(c));uC(a,qC(b,c),c)||xC(a,b,d,c)}function mva(a){if(a instanceof NB||a instanceof OB)return a.toString();if(a.mc())return a.toString();if(Wy(a)){if(!nva(zy(a)))return null;var b=zy(a).ua().c;return b&&(F(P(b)||kA(b),b),b=BC(b.a),null!=b)?b:a.toString()}if(a instanceof dA){b=null;for(a=Zy(a.nb()).h();a.i();){var c=a.j();c=mva(c);if(null==c)return null;b=null==b?"("+r(c):r(b)+String("|"+r(c))}return b=r(b)+")"}return null}
  1125. function CC(a,b,c){var d=ova(a,b);c&&(c=d.Fc(),c.xc()||(d=c));c=mva(d);return null!=c?c:N(b)&&(c=zy(ova(a,b.a).Fc()))&&(a=O(b).l(),c=(c=sz(c.lc(),a))?c.a:null,nva(c))?r(c)+"."+r(a):DC(b)?EC(b):iy(d)?"function":d.toString()}function nva(a){if(a){if(a.cd()||a.mc())return!0;if(a.Wb())return!!a.Wb().ua()}return!1}function ova(a,b){return(b=b.f)?b:qy(a,(I(),ew))}function FC(a,b,c){return KB(a,b,c)}
  1126. function pva(a,b,c,d,e,f){switch(c){case "boolean":return qy(a,(I(),uv));case "number":return qy(a,(I(),Pv));case "string":return qy(a,(I(),$v));case "undefined":case "void":return qy(a,(I(),fw))}var h=null;b&&b.Xc()&&(h=zy(b.Xc()));if(h){a:{for(h=h.Ma().a.h();h.i();){var k=h.j();if(li(k.Ba(),c)){h=k;break a}}h=null}if(h)return Ji(gy(h),"expected:%s",h),h}(h=KB(a,b,c))?d=h:(a=GB(fua(LB(a,c),b),(DB(),bua)),a.u=d,a.b=e,a.a=f,d=JB(a));return d}function qy(a,b){return a.Za[b.a]}
  1127. function Lz(a,b){return qy(a,b)}function vra(a,b){return qy(a,b)}function Fta(a,b){return b instanceof bA||b.bd()?b:Yy(a,A([b,qy(a,(I(),fw))],ly,ey,1))}function TA(a,b){return Yy(a,A([b,qy(a,(I(),Ov))],ly,ey,1))}function Yy(a,b){return oB(a,Yl(b))}function oB(a,b){return bz(aA(az(a),b))}function GC(a,b){for(var c=az(a),d=0;d<b.length;d++)$y(c,qy(a,b[d]));return bz(c)}function HC(a,b,c){return IC(a,b,JC(a,c))}function IC(a,b,c){return QA(LA(PA(MA(a),c),b))}function JC(a,b){return qva(a,!1,b)}
  1128. function qva(a,b,c){a=RA(a);for(var d=c.length-1,e=0;e<=d;e++)b&&e==d?kB(a,c[e]):iB(a,A([c[e]],ly,ey,1));return a.a}function uA(a,b){return qva(a,!0,b)}function KC(a,b){a=RA(a);SA(a,b);return a.a}function LC(a,b){a=Wz(a);for(b=b.V().h();b.i();){var c=b.j();Xz(a,c.M(),c.O(),null)}return Yz(a)}function zC(a,b){a=Mz(a);a.K=!0;a=a.a();a.K=!0;a.Jf(b);return a}function rva(a,b){a instanceof Dy&&(a.We(),Kz(a,b))}function sva(a,b,c){zB();var d=new xB;Zta(d,a,b,c,null);return d}
  1129. function tva(a,b,c){zB();var d=new xB;Zta(d,a,b,null,c);return d}function My(a,b,c){G(b);return Rta(a,b,c)}function uva(a,b,c){var d=qy(a,(I(),ew));return My(a,b,Msa(u(function(e){return c.Ya(e,d)}),Ly(b)))}function MC(a,b,c){return My(a,b,Yl(c))}function NC(a,b,c){G(c);b=qC(b,c);a.jb.Aa(rC(a,b),c)}function OC(a,b,c){G(c);b=qC(b,c);return Sn(a.jb,rC(a,b),c)}function PC(a,b,c){return QC(a,b.a,b.b,c)}
  1130. function QC(a,b,c,d){switch(b.c.a){case 155:var e=b.a;b=Wz(a);for(e=e.a;e;e=e.b){var f=e;var h=!1;q(e.c,(H(),Hu))&&(f=e.a,h=!0);var k=f.l();if(zi(k,"'")||zi(k,'"'))k=ne(k,1,k.length-1);h=h?QC(a,O(e),c,d):qy(a,(I(),ew));Xz(b,k,h,f)}return Yz(b);case 152:return a=QC(a,b.a,c,d),a instanceof HB?a.K||(a.f?a=a.wc()||a.Bc()&&a.aa()?a:a.b.Ia():(a=pua(a),a.o=!0,a=JB(a))):a=a.Ia(),a;case 151:return(b=b.a)?TA(a,QC(a,b,c,d)):qy(a,(I(),ew));case 153:return Fta(a,QC(a,b.a,c,d));case 118:return QC(a,b.a,c,d);case 149:return qy(a,
  1131. (I(),gw));case 148:e=Mj();for(b=b.a;b;b=b.b)e.W(QC(a,b,c,d));return oB(a,e.fa());case 84:return qy(a,(I(),ew));case 83:return qy(a,(I(),fw));case 25:c=b.a.l();f=Wx(c);k=Xx(f);e=d.$d(k);k=d.ob(k);f=d.Ac(f);if(!f||f.aa()||!q(k.ya(),e))return a=GB(fua(LB(a,"typeof "+r(c)),d),(DB(),CB)),a.u=WA(b),a.b=XA(b),a.a=YA(b),JB(a);ky(f)&&(d=f,f=JB(gua(GB(LB(a,"typeof "+r(c)),(DB(),BB)),d)));return f;case 34:case 32:e=pva(a,d,b.l(),c,XA(b),YA(b));k=e;if(h=b.a){f=w();for(h=BA(h).h();h.i();){var m=h.j();f.add(QC(a,
  1132. m,c,d))}(li(b.l(),"Object")||li(b.l(),"window.Object"))&&1==f.w()&&f.bc(0,qy(a,(I(),ew)));k.Bc()&&!k.f?c=Wl(f):(h=k.Zd(),f.w()<=h?c=Wl(f):(k.aa()||OC(a,d,b.l())||(k=RC(b.a,h),m="Too many template parameters\nFound "+f.w()+", required at most "+h,a.o.b(m,c,XA(k),YA(k))),c=Wl(f.Gb(0,h))))}else c=null;return e.Bc()&&!e.f?(c&&(e=pua(e.Bc()),e.c=c,e=JB(e)),vva(a,b,e,d)):!Wy(e)||OC(a,d,b.l())?e:c&&xy(e)&&!e.aa()?vva(a,b,My(a,e,c),d):vva(a,b,e,d);case 69:e=null;f=!1;b=b.a;if(SC(b)||TC(b))f=b.a,k=QC(a,f,
  1133. c,d),k.Kc()||k.Zb()?e=k:SC(b)?e=k.Ia():TC(b)&&((e=Uy(k.Ia()))||a.o.b(ay("msg.jsdoc.function.newnotobject",[]),c,XA(f),YA(f))),f=q(b.c,(H(),ss)),b=b.b;k=RA(a);if(q(b.c,(H(),Qs))){for(h=b.a;h;h=h.b)q(h.c,(H(),ou))?h.a?kB(k,QC(a,h.a,c,d)):kB(k,qy(a,(I(),ew))):(m=QC(a,h,c,d),q(h.c,(H(),Eu))?SA(k,A([m],ly,ey,1))||a.o.b(ay("msg.jsdoc.function.varargs",[]),c,XA(h),YA(h)):iB(k,A([m],ly,ey,1)));b=b.b}d=QC(a,b,c,d);return QA(ZA(VA(LA(PA(MA(a),k.a),d),e),f?(hA(),fA):(hA(),eA)))}throw pb("Unexpected node in type expression: "+
  1134. r(b)).s;}function vva(a,b,c,d){F(L(b)||Dw(b),b);G(c);return OC(a,d,b.l())?c:gy(c)?c:b.m()&&q(b.m().c,(H(),zu))?c:TA(a,c)}function UC(a,b){return aB(SB(mA(MA(a),!0)),b)}function VC(a,b,c){a=aB(xua(mA(MA(a),!0)),b);0<c.length&&RB(a,c);return QA(a)}function wva(){wva=function(){};fva=kq(46)}eva.prototype.ba=!0;function WC(){this.c=0}l(WC,n);WC.prototype.P=function(){return this.c};WC.prototype.I=function(a){return q(this,a)?!0:!!(+!!(+q(this.a,a.a)&+q(this.b,a.b))|+!!(+q(this.a,a.b)&+q(this.b,a.a)))};
  1135. function xva(){this.a=0}var Ry,Ira;l(xva,z);function yva(a,b){var c=new xva;c.b=a;c.a=b;return c}xva.prototype.R=function(a){return z.prototype.c.call(this,a)};function Qy(){Qy=function(){};Ry=yva("IDENTITY",0);Ira=yva("DATA_FLOW",1)}function zva(){this.a=0;this.f=!1}var XC,Ava,YC;l(zva,z);function Bva(a,b,c){var d=new zva;d.b=a;d.a=b;d.f=c;return d}function Cva(a){ZC();return a?XC:Ava}zva.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1136. function ZC(){ZC=function(){};XC=Bva("MATCH",0,!0);Ava=Bva("NOT_MATCH",1,!1);YC=Bva("PROCESSING",2,!0)}function Dva(){this.c=0;this.a=!1}l(Dva,n);function Oy(a,b){E(!a.a);E(!a.f);a.f=b;return a}function Py(){var a=new Dva;a.c=0;a.a=!1;return a}function Gra(a,b,c){E(!a.a);a.a=!0;return $C(a,b,c)}
  1137. function $C(a,b,c){20<a.c&&!a.b&&(a.b=bf());if(!a.b)try{return a.c++,Eva(a,b,c)}finally{a.c--}var d=new WC;d.a=b;d.b=c;d.c=Ah(b)^Ah(c);var e=a.b.qb(d,(ZC(),YC));return e?q(e,YC)?(a.b.C(d,XC),!0):e.f:(b=Eva(a,b,c),a.b.C(d,Cva(b)),b)}
  1138. function Eva(a,b,c){if(my(b,c))return!0;if(!b||!c)return!1;if(b.wc()&&c.wc())return b.Bc()&&c.Bc()?Jba(b.Bc().Ba(),c.Bc().Ba()):!0;var d=b.aa(),e=c.aa();if(d||e){if(q(a.f,(Qy(),Ira)))return d&&e;if(d&&e&&+b.Rd()^+c.Rd())return!1}if(jy(b)&&jy(c)){a:if(d=c.nb(),c=Zy(b.nb()),b=Zy(d),q(a.f,(Qy(),Ry))&&c.w()!=b.w())a=!1;else{d=0;b:for(;d<b.w();d++){e=b.G(d);for(var f=0;f<c.w();f++){var h=c.G(f);if($C(a,h,e))continue b}a=!1;break a}a=!0}return a}if(iy(b)&&iy(c)){a:if(b=b.ha(),c=c.ha(),my(b,c))a=!0;else if(bd(b.v,
  1139. c.v))switch(b.v.a){case 1:case 2:a=!1;break a;case 0:a=$C(a,b.vb(),c.vb())&&$C(a,b.b,c.b);break a;default:throw ib().s;}else a=!1;return a}if(b instanceof tA&&c instanceof tA)return $C(a,b.c,c.c)&&uta(a,b,c);a:{d=b.Ma();e=c.Ma();f=d.a;h=e.a;var k=0;b:for(;k<f.w();k++){var m=f.G(k),p=sB(d,m),t=0;c:for(;t<h.w();t++){var v=h.G(t),C=sB(e,v);if(!my(m,v))continue c;if($C(a,p,C))continue b}d=!1;break a}d=!0}if(!d)return!1;if(hy(b)&&hy(c)){a:if(b=b.Cc(),c=c.Cc(),d=b.Hc(),e=c.Hc(),cd(e,d)){for(d=d.h();d.i();)if(e=
  1140. d.j(),!$C(a,b.Sa(e),c.Sa(e))){a=!1;break a}a=!0}else a=!1;return a}if(b.Rd()&&c.Rd()){d=Fva(zy(b));a=Fva(zy(c));E(d.Rd()&&a.Rd());if(b.f&&c.f)return my(d,a);c=G(d.Ba());a=G(a.Ba());return q(c,a)}return b instanceof Gz&&!AB(b)?$C(a,b.b,c):c instanceof Gz&&!AB(c)?$C(a,b,c.b):!1}function uta(a,b,c){b=b.b.a;for(c=c.b.a;b&&c;){var d=b.f,e=c.f;if(d){if(e&&!$C(a,d,e))return!1}else if(e)return!1;if(DA(b)!=DA(c)||EA(b)!=EA(c))return!1;b=b.b;c=c.b}return q(b,c)}
  1141. function Fva(a){return a.f&&(a.Bc()||yy(a))?Fva(a.Bc()?a.Bc().c:a.Xb().c):a}function Gva(){this.a=0}var eta,bB,cB;l(Gva,z);function Hva(a,b){var c=new Gva;c.b=a;c.a=b;return c}Gva.prototype.R=function(a){return z.prototype.c.call(this,a)};function jA(){jA=function(){};eta=Hva("UNKNOWN",0);bB=Hva("CONSTRUCTS_AMBIGUOUS_OBJECTS",1);cB=Hva("CONSTRUCTS_UNAMBIGUOUS_OBJECTS",2)}function Iva(){this.a=0}var hta,kta,xA,zA;l(Iva,z);function aD(a,b){var c=new Iva;c.b=a;c.a=b;return c}
  1142. Iva.prototype.R=function(a){return z.prototype.c.call(this,a)};function sA(){sA=function(){};hta=aD("ANY",0);xA=aD("ANY_EXPLICIT",1);kta=aD("STRUCT",2);zA=aD("DICT",3)}function gta(){Oz.call(this)}l(gta,Oz);gta.prototype.a=function(){fta();var a=new Jva;Iz(a,this);a.b=G(this.b);mz(a.a.a,a,Kva);return a};function Jva(){Dy.call(this)}var Kva;l(Jva,Dy);g=Jva.prototype;g.cc=function(){return Kva};g.Ba=function(){return this.ua().Ba()};g.Va=function(){return IA(this.ua())};g.ua=function(){return this.b};
  1143. g.Zc=function(a,b,c,d){var e=this.Va();return e&&gsa(e,a)?!1:Dy.prototype.Zc.call(this,a,b,c,d)};g.Ec=function(a){if(tz(this.b))if(a.a)cy(a,bsa(this.b));else{var b=this.b.Ba();if(te(b)){var c=this.b.c;cy(cy(cy(cy(cy(a,"<anonymous@"),c?WA(c):"unknown"),":"),""+(c?XA(c):0)),">")}cy(a,b)}else Dy.prototype.Ec.call(this,a)};g.bn=function(){return this.ua().Eb()&&"Object"===this.Ba()};g.cd=function(){return!0};g.Af=function(){return this.ua().Eb()&&"Array"===this.Ba()};
  1144. g.Tl=function(){return this.ua().Eb()&&"String"===this.Ba()};g.an=function(){return this.ua().Eb()&&"Symbol"===this.Ba()};g.Nk=function(){return this.ua().Eb()&&"Boolean"===this.Ba()};g.Rl=function(){return this.ua().Eb()&&"Number"===this.Ba()};g.Ok=function(){return this.ua().Eb()&&"Date"===this.Ba()};g.Sl=function(){return this.ua().Eb()&&"RegExp"===this.Ba()};g.Rd=function(){return tz(this)};g.Gd=function(){return tz(this)?jua(this):Dy.prototype.P.call(this)};g.yf=function(){return Pz(this.ua())};
  1145. g.Fe=function(){return this.ua().u};g.Um=function(){return Bta(this.ua())};function fta(){fta=function(){};Nz();Kva=(nv(),hqa)}function vz(){}l(vz,Gk);vz.prototype.c=function(){return(this.a=this.a.Va())?this.a:Hk(this)};vz.prototype.ea=function(a){Bb(this,a)};function MB(){rz.call(this)}var Lva;l(MB,rz);function Mva(a,b,c,d){Nva();var e=new MB;oy(e,a,null);Hz(e);e.b=b;e.c=zy(b);e.o=c;e.g=d;mz(a.a,e,Lva);return e}g=MB.prototype;g.cc=function(){return Lva};g.Xd=function(a,b){return this.b.Xd(a,b)};
  1146. g.Wb=function(){return this};g.$b=function(){return this.b.$b()};g.fc=function(){return this.b.fc()};g.Qc=function(){return this.b.Qc()};g.Ue=function(){return this.b.Ue()};g.Ab=function(){return this.b.Ab()};g.Qb=function(a){return this.b.Qb(a)};g.td=function(){return this.b.td()};g.ve=function(){return this.b.ve()};g.Rd=function(){return tz(this)};g.Gd=function(){return tz(this)?jua(this):2};g.Ec=function(a){a.a?dy(a,this.b):cy(dy(cy(cy(a,this.Ba()),"<"),this.b),">")};g.Ba=function(){return this.o};
  1147. g.La=function(a){return a.qk(this)};g.pc=function(a,b){return this.b.pc(a,b)};g.Zc=function(){return!0};g.Va=function(){return null};g.ej=function(a){return Sy(this.b,a)};g.ua=function(){return this.c?this.c.ua():null};g.rc=function(){return this.b.rc()};function Rra(a,b){Nva();b=a.b.Gc(b);return uy(b)?null:Mva(a.a,b,a.o,a.g)}g.Wc=function(a){this.b=iz(this.b,a);this.c=Uy(this.b);return this};g.lc=function(){return this.c?this.c.lc():Zra()};function Nva(){Nva=function(){};ny();Lva=(nv(),fqa)}
  1148. function Yra(){}l(Yra,n);function Ova(a){return(a=zy(a))?(a=a.ua(),!!a&&a.Ja()):!1}function Ez(a,b,c){if(c.aa()||c.bd()||c.Cf()||c.xc()||hy(b)||hy(c)||Ova(b)||Ova(c))b=!0;else if(c.Wb())b=b.pc(a,c.Wb().b);else if(jy(c))a:{for(c=Zy(c.nb()).h();c.i();){var d=c.j();if(b.pc(a,d)){b=!0;break a}}b=!1}else iy(c)?(a=c.ha(),b=iy(b)?!0:vy(b,a)||vy(a,b)):b=yy(c)?b.pc(a,c.Xb().b):vy(b,c)||vy(c,b);return b}function Pva(){this.a=0}var qz,bD;l(Pva,z);function Qva(a,b){var c=new Pva;c.b=a;c.a=b;return c}
  1149. Pva.prototype.R=function(a){return z.prototype.c.call(this,a)};function pz(){pz=function(){};qz=Qva("EXPLICIT",0);bD=Qva("IMPLICIT",1)}function Rva(){this.a=0}var gz,Sva;l(Rva,z);function Tva(a,b){var c=new Rva;c.b=a;c.a=b;return c}Rva.prototype.R=function(a){return z.prototype.c.call(this,a)};function fz(){fz=function(){};gz=Tva("NORMAL",0);Sva=Tva("IGNORE_NULL_UNDEFINED",1)}function cD(){this.c=0}l(cD,n);cD.prototype.P=function(){return this.c};
  1150. cD.prototype.I=function(a){return q(this.a,a.a)&&q(this.b,a.b)?!0:bd(this.a,a.a)&&bd(this.b,a.b)};function Uva(){this.a=0}var Vva,Wva;l(Uva,z);function Xva(a,b){var c=new Uva;c.b=a;c.a=b;return c}Uva.prototype.R=function(a){return z.prototype.c.call(this,a)};function Yva(){Yva=function(){};Vva=Xva("VOIDABLE_PROPS_ARE_OPTIONAL",0);Wva=Xva("ALL_PROPS_ARE_REQUIRED",1)}function Zva(){this.a=0}var dD,$va,awa,bwa;l(Zva,z);function eD(a,b){var c=new Zva;c.b=a;c.a=b;return c}
  1151. Zva.prototype.R=function(a){return z.prototype.c.call(this,a)};function fD(){fD=function(){};dD=eD("COVARIANT",0);$va=eD("CONTRAVARIANT",1);awa=eD("BIVARIANT",2);bwa=eD("INVARIANT",3)}function cwa(){this.a=!1;this.f=0}var dwa;l(cwa,n);function Vra(a,b){E(!a.a);E(!a.u);a.u=G(b);return a}function Wra(a,b){E(!a.a);E(!a.o);a.o=G(b);return a}function Ura(a,b){E(!a.a);E(null==a.v);a.v=b;return a}function Tra(a,b){E(!a.a);E(!a.c);a.c=G(b);return a}
  1152. function Xra(a){ewa();var b=new cwa;b.a=!1;b.f=0;b.g=a;return b}function Sra(a){E(!a.a);a.a=!0;return gD(a,a.o,a.u)}function gD(a,b,c){G(b);G(c);20<a.f&&!a.b&&(a.b=bf());if(!a.b)try{return a.f++,hD(a,b,c)}finally{a.f--}var d=new cD;d.a=b;d.b=c;d.c=31*b.P()+c.P();var e=a.b.qb(d,(ZC(),YC));return e?q(e,YC)?(a.b.C(d,XC),!0):e.f:(b=hD(a,b,c),a.b.C(d,Cva(b)),b)}
  1153. function hD(a,b,c){switch(b.cc().a){case 1:a:if(c instanceof tA&&gD(a,b.c,c.c)){b=b.b.a;for(c=c.b.a;b&&c;){var d=b.f,e=c.f;if(d&&(!e||!gD(a,e,d))){a=!1;break a}d=EA(b);var f=EA(c),h=d||DA(b),k=f||DA(c);if(!h&&k&&(!f||e&&!e.aa()&&!e.xc())){a=!1;break a}d||(b=b.b);f||(c=c.b);d&&f&&(c=b=null)}a=!b||DA(b)||EA(b)||!!c}else a=!1;return a;case 4:return c.Wb()&&my(b.g,c.Wb().g)?gD(a,b.b,c.Wb().b):iD(a,b,c)?!0:gD(a,b.b,c);case 3:return c.I(qy(a.g,(I(),Tv)))||b.I(qy(a.g,(I(),Vv)))||iD(a,b,c);case 9:case 8:case 10:return iD(a,
  1154. b,c)?!0:b instanceof lA?!c.xc():c.Ab()&&!c.xc()&&!c.wc();case 5:return iD(a,b,c)?a=!0:iy(c)?(c=c.ha(),a=c.Ja()?!0:b.Ja()?!1:fwa(a,b,c)&&gD(a,b.b,c.b)):a=gD(a,qy(a.g,(I(),Cv)),c),a;case 18:return b.g.aa()||!gy(c)||c.bf().g.aa()?hD(a,b.b,c):q(b.La(Bra(c)),(By(),Cy));case 14:return hD(a,b.b,c);default:return iD(a,b,c)}}
  1155. function iD(a,b,c){return my(b,c)||c.aa()||c.bd()||b.aa()||b.xc()||q(a.c,(fz(),Sva))&&(b.Kc()||b.Zb())||bd(b,c)?!0:b.Bc()?hD(a,b.Bc().b,c):c.Bc()?hD(a,b,c.Bc().b):jy(b)?Lsa(fd(function(d){return gD(a,d,c)}),b.nb()):jy(c)?Zz(fd(function(d){return gD(a,b,d)}),c.nb()):b.Ab()&&c.Ab()?gwa(a,Ey(b),Ey(c)):!1}
  1156. function gwa(a,b,c){var d=b.Ma(),e=c.Ma(),f=!1,h=hwa(c);if(h&&dwa.B(h.Ba())){h=b.a.v;f=sB(d,h);h=sB(e,h);if(!jD(a,(fD(),awa),f,h))return!1;f=!0}if(a.v&&c.Kg())return iwa(a,b,c,(Yva(),Vva));if(hy(c))return iwa(a,b,c,(Yva(),Wva));if(!f)if(f=jwa(c)){if(d=sB(d,f),e=sB(e,f),!jD(a,(fD(),dD),d,e))return!1}else{a:{if(!b.mc())for(e=b.Ma(),d=c.Ma(),f=d.a.h();f.i();){h=f.j();var k=h;for(var m=0,p=e.a.h();p.i();){var t=p.j();my(k,t)&&m++}k=m;if(0==k){if(b.Aj())continue;e=!1;break a}if(!(1<k||(k=sB(e,h),h=sB(d,
  1157. h),jD(a,(fD(),bwa),k,h)))){e=!1;break a}}e=!0}if(!e)return!1}e=b.ua();d=c.ua();if(e&&e.Ja())for(e=b.Fe().h();e.i();){if(d=e.j(),gD(a,d,c))return!0}else if(d&&d.Ja())for(e=b.yf().h();e.i();)if(d=e.j(),gD(a,d,c))return!0;a:{a=b;c=Fz(c);for(a=Fz(a);a;a=Fz(a.Va()))if(my(c,a)){c=!0;break a}c=!1}return c}function iwa(a,b,c,d){for(var e=(hy(c)?c.Hc():Vz(c.lc())).h();e.i();){var f=e.j(),h=c.Sa(f);if(ty(b,f)){if(f=b.Sa(f),!gD(a,f,h))return!1}else if(!q(d,Vva)||!h.vj())return!1}return!0}
  1158. function jD(a,b,c,d){switch(b.a){case 0:return gD(a,c,d);case 1:return gD(a,d,c);case 2:return jD(a,(fD(),dD),d,c)||jD(a,(fD(),$va),d,c);case 3:return jD(a,(fD(),dD),d,c)&&jD(a,(fD(),$va),d,c)}throw ib().s;}
  1159. function jwa(a){ewa();if(yy(a)){var b=a.Xb();if(pB(b.Ma(),G(b.a.A)))return G(b.a.A)}b=(a=hwa(a))?a.Ba():null;if(null==b)return null;switch(b){case "Iterator":return G(a.a.F);case "Generator":return G(a.a.$);case "AsyncIterator":return G(a.a.K);case "Iterable":return G(a.a.b);case "AsyncIterable":return G(a.a.g);default:return null}}function fwa(a,b,c){return zy(c.vb())&&zy(c.vb()).ua()&&zy(c.vb()).ua().Ja()?!0:kwa(a,(fz(),gz),new ina(function(){return gD(a,c.vb(),b.vb())||gD(a,b.vb(),c.vb())}))}
  1160. function kwa(a,b,c){var d=a.c;try{a.c=b;var e;return e=c.a,e()}finally{a.c=d}}function hwa(a){return(a=Fz(zy(a)))&&a.Eb()?a:null}function ewa(){ewa=function(){};dwa=gm("Object","IArrayLike","Array")}function kD(){}var lD;l(kD,n);function mD(a,b){nD();var c=new kD;c.a=a;c.b=b;return c}function lwa(a,b){if(!a)return null;for(var c=BA(a).h();c.i();){var d=c.j();lwa(d,b)}return Dw(a)&&b.B(a.l())?(b=zw((H(),yu)),oD(b,pD(a)),a.m()&&qD(a,b),b):a}
  1161. function mwa(a){var b=Mj();nwa(a.a,zb(function(c){b.W(c)}));return b.fa()}function owa(a){var b=Nj();nwa(a.a,zb(function(c){b.W(c.l())}));return b.fa()}function nwa(a,b){if(a){for(var c=BA(a).h();c.i();){var d=c.j();nwa(d,b)}Dw(a)&&b.pb(a)}}function rD(a){return q(a.a.c,(H(),Eu))}function pwa(a){return q(a.a.c,(H(),ou))}function sD(a,b,c){b=QC(c,a.a,a.b,b);Q(a.a,b);return b}kD.prototype.I=function(a){return a instanceof kD&&tD(a.a,this.a)};kD.prototype.P=function(){return ed(this.a)};
  1162. kD.prototype.toString=function(){return"type: "+r(uD(this.a))};function qwa(a){return mD(NA(a.a),a.b)}function rwa(a,b){if(a){for(var c=BA(a).h();c.i();){var d=c.j();rwa(d,b)}Lx(a)&&b.W(a.l())}}function nD(){nD=function(){};lD=mD(zw((H(),yu)),"");vD(lD.a,Woa("<IMPLICT_TEMPLATE_BOUND>",(gs(),ds)))}kD.prototype.ba=!0;function wD(){this.v=0}l(wD,n);
  1163. wD.prototype.toString=function(){return Ln(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Qn(this),"bitfield",0==this.v?null:na(this.v)),"baseType",this.A),"extendedInterfaces",this.c),"implementedInterfaces",this.f),"parameters",this.a),"thrownTypes",this.o),"templateTypeNames",this.b),"disposedParameters",this.ta),"typeTransformations",this.u),"description",this.pa),"meaning",this.za),"deprecated",this.K),"license",this.$),"suppressions",this.g),"modifies",this.F),"lendsName",this.U),"closurePrimitiveId",
  1164. this.ja)).toString()};function swa(a){var b=new wD;b.pa=a.pa;b.za=a.za;b.K=a.K;b.$=a.$;b.g=a.g?nm(a.g):null;b.F=a.F?nm(a.F):null;b.ja=a.ja;b.v=a.v;return b}function twa(a,b){var c=null;if(a)for(c=Kd(a.w()),a=a.h();a.i();){var d=a.j();c.add(xD(d,b))}return c}function yD(a,b){b=uwa(b);a.v|=b}function zD(a,b){return 0!=(uwa(b)&a.v)}function uwa(a){Fi(0<=a,"Bit index should be non-negative integer");return 1<<a}wD.prototype.ba=!0;function vwa(){this.a=0}
  1165. var wwa,xwa,ywa,zwa,Awa,Bwa,Cwa,Dwa,Ewa,Fwa,Gwa,Hwa;l(vwa,z);function AD(a,b){var c=new vwa;c.b=a;c.a=b;return c}vwa.prototype.R=function(a){return z.prototype.c.call(this,a)};function BD(){BD=function(){};wwa=AD("BASE",0);xwa=AD("ENUM",1);ywa=AD("EXTENDS",2);zwa=AD("IMPLEMENTS",3);Awa=AD("LEND",4);Bwa=AD("PARAM",5);Cwa=AD("RETURN",6);Dwa=AD("TEMPLATE",7);Ewa=AD("THIS",8);Fwa=AD("THROWS",9);Gwa=AD("TYPE",10);Hwa=AD("TYPEDEF",11)}function Iwa(){this.a=0}var CD,Jwa,DD,ED,FD;l(Iwa,z);
  1166. function GD(a,b){var c=new Iwa;c.b=a;c.a=b;return c}Iwa.prototype.R=function(a){return z.prototype.c.call(this,a)};function HD(){HD=function(){};CD=GD("PRIVATE",0);Jwa=GD("PACKAGE",1);DD=GD("PROTECTED",2);ED=GD("PUBLIC",3);FD=GD("INHERITED",4)}function ID(){this.g=0;this.o=this.A=!1;this.v=0}l(ID,n);function Kwa(a){var b=new ID;b.o=a;return b}function Lwa(a,b){if(b){var c=NA(b.a);a=lwa(c,a);b=mD(a,b.b)}else b=null;return b}
  1167. function Mwa(a,b){if(!a)return null;var c=Uf();for(a=a.V().h();a.i();){var d=a.j(),e=d.M();d=d.O();d=Lwa(b,d);c.C(e,d)}return c}function Nwa(a,b){if(!a)return null;var c=w();for(a=a.h();a.i();){var d=a.j();d=Lwa(b,d);c.add(d)}return c}
  1168. function JD(a,b){var c=new ID;if(a.a){var d=a.a;var e=swa(d);e.A=xD(d.A,b);e.c=twa(d.c,b);e.f=twa(d.f,b);var f=d.a,h=null;if(f)for(h=Uf(),f=f.V().h();f.i();){var k=f.j(),m=k.O();h.C(k.M(),xD(m,b))}e.a=h;e.o=twa(d.o,b);e.b=d.b?Xf(d.b):null;e.ta=d.ta?ff(d.ta):null;e.u=d.u?Xf(d.u):null;d=e}else d=null;c.a=d;c.b=a.b;c.c=a.c;c.g=a.g;c.u=xD(a.u,b);c.f=xD(a.f,b);c.o=a.o;c.v=a.v;return c}function xD(a,b){return a?b?qwa(a):a:null}
  1169. function Owa(a,b){if(!a&&!b)return!0;if(!a||!b||!bd(KD(a),KD(b)))return!1;for(var c=KD(a).h();c.i();){var d=c.j();if(!bd(LD(a,d),LD(b,d)))return!1}if(MD(a).w()!=MD(b).w())return!1;c=MD(a).h();for(d=MD(b).h();c.i();){var e=c.j(),f=d.j();if(e||f)if(!e&&f||e&&!f)f=!1;else{var h;if(h=Ooa(e.b,f.b)){h=e.c;var k=f.c;h=h||k?!h&&k||h&&!k||!h.a&&k.a||h.a&&!k.a?!1:(!h.a&&!k.a||tD(h.a,k.a))&&h.g==k.g&&h.f==k.f&&h.c==k.c&&h.b==k.b:!0}if(h=h&&Ooa(e.a,f.a))e=e.f,f=f.f,h=e||f?!e&&f||e&&!f||!e.a&&f.a||e.a&&!f.a?!1:
  1170. (!e.a&&!f.a||tD(e.a,f.a))&&e.g==f.g&&e.f==f.f&&e.c==f.c&&e.b==f.b&&e.u==f.u:!0;f=h}else f=!0;if(!f)return!1}return bd(a.b?a.b.b:null,b.b?b.b.b:null)&&bd(ND(a),ND(b))&&q(OD(a),OD(b))&&q(a.b?a.b.u:null,b.b?b.b.u:null)&&bd(PD(a),PD(b))&&bd(QD(a,1610612736),QD(b,1610612736))&&bd(RD(a),RD(b))&&bd(SD(a),SD(b))&&q(TD(a),TD(b))&&q(UD(a),UD(b))&&bd(VD(a),VD(b))&&q(a.b?a.b.o:null,b.b?b.b.o:null)&&(a.a?a.a.v:0)==(b.a?b.a.v:0)&&bd(a.b?a.b.g:null,b.b?b.b.g:null)&&q(a.b?a.b.f:null,b.b?b.b.f:null)&&bd(QD(a,1073741824),
  1171. QD(b,1073741824))&&bd(WD(a),WD(b))&&bd(XD(a),XD(b))&&bd(a.f,b.f)&&bd(YD(a),YD(b))&&bd(QD(a,-2147483648),QD(b,-2147483648))&&bd(ZD(a),ZD(b))&&q(a.b?a.b.A:null,b.b?b.b.A:null)&&bd(a.c,b.c)&&q($D(a),$D(b))&&a.g==b.g}function aE(a,b,c){a.g=b?a.g|c:a.g&~c}function bE(a){return Ay(a,37)||null!=cE(a)}function dE(a){return Ay(a,2)}function eE(a){return Ay(a,512)||Ay(a,134217728)}function fE(a){return dE(a)||eE(a)}
  1172. function Pwa(a){return gE(a)||hE(a)||iE(a)||jE(a)||!!a.f||0<kE(a)||0<lE(a)||!!ND(a)||!q(a.c,(HD(),FD))||Ay(a,135292742)}function mE(a){return Pwa(a)||Ay(a,1)}function Qwa(a){return gE(a)&&P(ZD(a).a)||hE(a)||!!a.f||0<kE(a)||Ay(a,2)||Ay(a,16384)&&!gE(a)}function Rwa(a){return dE(a)||eE(a)||iE(a)||jE(a)}function Ay(a,b){return 0!=(a.g&b)}function nE(a){a.a||(a.a=new wD)}function oE(a){if(!a.o)return!1;a.b||(a.b=new Zr);return!0}function LD(a,b){return a.a&&a.a.a?a.a.a.get(b):null}
  1173. function Swa(a,b){return a.a&&a.a.a?a.a.a.X(b):!1}function KD(a){return a.a&&a.a.a?nm(a.a.a.oa()):dm()}function kE(a){return a.a&&a.a.a?a.a.a.wa():0}function pE(a,b,c){if(0!=(a.g&-536870912))throw pb("API tried to add two incompatible type tags. This should have been blocked and emitted a warning.").s;a.g=a.g&1073741823|c;a.u=b}function YD(a){return a.a&&a.a.o?qf(a.a.o):Ll()}function iE(a){return 1610612736==(a.g&-536870912)}function jE(a){return-2147483648==(a.g&-536870912)}
  1174. function hE(a){return 1073741824==(a.g&-536870912)}function gE(a){return 536870912==(a.g&-536870912)}function ZD(a){return QD(a,536870912)}function QD(a,b){return(-536870912&a.g)==b?a.u:null}function ND(a){return a.a?a.a.A:null}function cE(a){return a.a?a.a.pa:null}function UD(a){return a.a?a.a.za:null}function SD(a){return a.a?a.a.U:null}function $D(a){return a.a?a.a.ja:null}function qE(a){return!!a.a&&zD(a.a,0)}function rE(a){return!!a.a&&zD(a.a,2)}function sE(a){return!!a.a&&zD(a.a,3)}
  1175. function tE(a){return!!a.a&&zD(a.a,4)}function uE(a){return!!a.a&&zD(a.a,5)}function vE(a){return!!a.a&&zD(a.a,6)}function TD(a){return a.a?a.a.$:null}ID.prototype.toString=function(){return"JSDocInfo"};function PD(a){return a.a&&a.a.f?qf(a.a.f):Ll()}function lE(a){return a.a&&a.a.f?a.a.f.w():0}function RD(a){return a.a&&a.a.c?qf(a.a.c):Ll()}function wE(a){return a.a&&a.a.c?a.a.c.w():0}function xE(a){return a.a?a.a.K:null}function WD(a){return(a=a.a?a.a.g:null)?a:jf()}
  1176. function VD(a){return(a=a.a?a.a.F:null)?a:jf()}function OD(a){return a.b?a.b.F:null}function MD(a){return a.b&&a.b.c?a.b.c:Ll()}function XD(a){return a.a&&a.a.b?Wl(a.a.b.oa()):Ll()}function yE(a){return a.a&&a.a.b?il(a.a.b):Vj()}function zE(a){return a.a&&a.a.u?il(a.a.u):Vj()}
  1177. function Twa(a){var b=Uf();if(a.u)if(gE(a))b.C(a.u,(BD(),Gwa));else if(iE(a))b.C(a.u,(BD(),xwa));else if(hE(a))b.C(a.u,(BD(),Cwa));else if(jE(a))b.C(a.u,(BD(),Hwa));else throw pb("type field holds none of @type, @enum, @return or @typedef types").s;a.f&&b.C(a.f,(BD(),Ewa));if(a.a){a.a.A&&b.C(a.a.A,(BD(),wwa));if(a.a.c)for(var c=a.a.c.h();c.i();){var d=c.j();d&&b.C(d,(BD(),ywa))}if(a.a.f)for(c=a.a.f.h();c.i();)(d=c.j())&&b.C(d,(BD(),zwa));if(a.a.a)for(c=a.a.a.values().h();c.i();)(d=c.j())&&b.C(d,(BD(),
  1178. Bwa));if(a.a.o)for(c=a.a.o.h();c.i();)(d=c.j())&&b.C(d,(BD(),Fwa));a.a.U&&b.C(a.a.U,(BD(),Awa));if(a.a.b)for(a=a.a.b.values().h();a.i();)(c=a.j())&&b.C(c,(BD(),Dwa))}return b}function AE(a){var b=w();for(a=Twa(a).oa().h();a.i();){var c=a.j();b.add(c.a)}return b}function Uwa(a){a=VD(a);return 1<a.w()||1==a.w()&&!a.B("this")}ID.prototype.ba=!0;function BE(){}l(BE,n);BE.prototype.i=function(){return!!this.a.a};BE.prototype.j=function(){if(!this.i())throw Qd().s;var a=this.a.a;this.a.a=this.a.a.m();return a};
  1179. BE.prototype.ma=function(){throw wb().s;};BE.prototype.ea=function(a){Bb(this,a)};function CE(){}l(CE,n);function DE(a){var b=new CE;b.a=a;return b}CE.prototype.h=function(){var a=new BE;a.a=this;return a};CE.prototype.Z=function(a){xc(this,a)};CE.prototype.Y=function(){return yc(this)};CE.prototype.Xa=!0;function EE(){this.a=0}l(EE,n);EE.prototype.ba=!0;function FE(){this.c=this.a=0}l(FE,EE);function Vwa(a,b,c){var d=new FE;d.a=a;d.b=c;d.c=b;return d}FE.prototype.g=function(){return this.c};
  1180. FE.prototype.o=function(){throw wb().s;};FE.prototype.toString=function(){return""+this.c};FE.prototype.f=function(a){return Vwa(this.a,this.c,a)};function lx(){this.u=this.v=0}var Ix,GE,Wwa,HE,Xwa,IE,JE,Ywa,KE,Zwa,$wa,LE,axa,bxa,ME,NE,OE,PE,QE,RE,SE,TE,UE,cxa,VE,dxa,WE,XE,exa,YE,fxa,ZE,gxa,$E;l(lx,n);function hxa(a){null==aF(a,(bF(),cF))?a="":(a=aF(a,(bF(),cF)),a=null==a.a?"":a.a);return a}function zw(a){kx();var b=new lx;dF(b,a);return b}function dF(a,b){a.c=b;a.o=null;a.v=-1}
  1181. function Ow(a,b){kx();var c=new lx;ixa(c,a,b);return c}function ixa(a,b,c){Fi(!c.o,"new child has existing parent");Fi(!c.b,"new child has existing next sibling");Fi(!c.g,"new child has existing previous sibling");a.c=b;a.o=null;a.a=c;c.b=null;c.g=a.a;c.o=a;a.v=-1}
  1182. function ex(a,b,c){kx();var d=new lx;Fi(!b.o,"first new child has existing parent");Fi(!b.b,"first new child has existing next sibling");Fi(!b.g,"first new child has existing previous sibling");Fi(!c.o,"second new child has existing parent");Fi(!c.b,"second new child has existing next sibling");Fi(!c.g,"second new child has existing previous sibling");d.c=a;d.o=null;d.a=b;b.b=c;b.g=c;b.o=d;c.b=null;c.g=b;c.o=d;d.v=-1;return d}
  1183. function Ew(a,b,c,d){kx();var e=new lx;D(!b.o);D(!b.b);D(!b.g);D(!c.o);D(!c.b);D(!c.g);D(!d.o);D(!d.b);D(!d.g);e.c=a;e.o=null;e.a=b;b.b=c;b.g=d;b.o=e;c.b=d;c.g=b;c.o=e;d.b=null;d.g=c;d.o=e;e.v=-1;return e}function eF(a){kx();return jxa(a)}function ux(a){kx();return kxa((H(),Cs),a)}function ox(a,b){kx();return kxa(a,b)}function lxa(a){var b=(H(),Ft);a.c=b}function fF(a){E(gF(a));return a.a}function hF(a){return a.a.a}function R(a){return a.a.b}function O(a){return a.a?a.a.g:null}
  1184. function iF(a){return q(a,a.o.a)?null:a.g}function RC(a,b){for(a=a.a;0<b;)a=a.b,b--;return a}function jF(a,b){a=a.a;for(var c=0;a;){if(q(b,a))return c;a=a.b;c++}return-1}function Mx(a,b){D(!b.o);D(!b.b);D(!b.g);b.o=a;(b.b=a.a)?(b.g=a.a.g,b.b=a.a,a.a.g=b):b.g=b;a.a=b}function M(a,b){if(b.o)throw ua(Hi("Cannot add already-owned child node.\nChild: %s\nExisting parent: %s\nNew parent: %s",[b,b.o,a])).s;D(!b.b);D(!b.g);if(a.a){var c=a.a.g;c.b=b;b.g=c;a.a.g=b}else b.g=b,a.a=b;b.o=a}
  1185. function kF(a,b){if(b){Li(b.g,b);for(var c=b;c;c=c.b)D(!c.o),c.o=a;c=b.g;a.a&&(b.g=a.a.g,c.b=a.a,a.a.g=c);a.a=b}}function oD(a,b){lF(a,b,O(a))}function mF(a,b,c){Fi(q(c.o,a),"The existing child node of the parent should not be null.");Fi(!b.b,"The new child node has next siblings.");Fi(!b.g,"The new child node has previous siblings.");Fi(!b.o,"The new child node already has a parent.");q(a.a,c)?(c=a.a.g,b.o=a,b.b=a.a,b.g=c,a.a.g=b,a.a=b):nF(a,b,c.g)}
  1186. function nF(a,b,c){Fi(!b.b,"The new child node has next siblings.");Fi(!b.g,"The new child node has previous siblings.");b.g=b;lF(a,b,c)}function lF(a,b,c){if(b)if(D(!c||q(c.o,a)),Li(b.g,b),c){for(var d=b;d;d=d.b)D(!d.o),d.o=a;d=b.g;var e=c.b;(d.b=e)?e.g=d:a.a.g=d;c.b=b;b.g=c}else kF(a,b)}function oF(a,b){Ki(q(b.o,a),"%s is not the parent of %s",a,b);G(b.g);var c=a.a.g,d=b.g,e=b.b;if(q(a.a,b)){if(a.a=e)e.g=c}else q(b,c)?(a.a.g=d,d.b=null):(d.b=e,e.g=d);b.b=null;b.g=null;b.o=null}
  1187. function qD(a,b){pF(a.o,a,b)}function pF(a,b,c){Fi(!c.b,"The new child node has next siblings.");Fi(!c.g,"The new child node has previous siblings.");Fi(!c.o,"The new child node already has a parent.");Ki(q(b.o,a),"%s is not the parent of %s",a,b);qF(c,b);c.o=a;var d=b.b,e=b.g,f=a.a.g;q(b,e)?(a.a=c,a.a.g=c):(q(b,a.a)?a.a=c:e.b=c,q(b,f)?a.a.g=c:d.g=c,c.g=e);c.b=d;b.b=null;b.g=null;b.o=null}function mxa(a,b){b=b.a<<24>>24;for(a=a.A;a&&b!=a.a;)a=a.b;return a}
  1188. function rF(a,b){F(!a.A,"Node has existing properties.");a.A=b.A;return a}function sF(a,b){b=nxa(a,a.A,b.a<<24>>24);q(b,a.A)||(a.A=b)}function nxa(a,b,c){if(b){if(b.a==c)return b.b;a=nxa(a,b.b,c);return q(a,b.b)?b:b.f(a)}return null}function aF(a,b){return(a=mxa(a,b))?a.o():null}function tF(a,b){return 0!=uF(a,b)}function uF(a,b){return(a=mxa(a,b))?a.g():0}function vF(a,b,c){sF(a,b);null!=c&&(a.A=oxa(b.a<<24>>24,c,a.A))}function Hx(a,b,c){wF(a,b,c?1:0)}
  1189. function wF(a,b,c){sF(a,b);0!=c&&(a.A=Vwa(b.a<<24>>24,c,a.A))}function xF(a,b){vF(a,(bF(),yF),b)}function zF(a){return aF(a,(bF(),yF))}function AF(a,b){vF(a,(bF(),BF),b)}function CF(a){return aF(a,(bF(),BF))}g=lx.prototype;g.ab=function(){if(q(this.c,(H(),Bs)))throw pb("Number node not created with Node.newNumber").s;throw xb(r(this)+" is not a number node").s;};
  1190. g.dl=function(){if(q(this.c,(H(),Bs)))throw pb("Number node not created with Node.newNumber").s;throw xb(r(this)+" is not a string node").s;};g.l=function(){if(q(this.c,(H(),Cs)))throw pb("String node not created with Node.newString").s;throw xb(r(this)+" is not a string node").s;};g.Ga=function(){if(q(this.c,(H(),Cs))||q(this.c,(H(),As)))throw pb("String node not created with Node.newString").s;throw xb(r(this)+" is not a string node").s;};
  1191. g.oj=function(){if(q(this.c,(H(),vu)))throw pb("Template Literal String node not created with Node.newTemplateLitString").s;throw xb(r(this)+" is not a template literal string node").s;};g.Ad=function(){if(q(this.c,(H(),vu)))throw pb("Template Literal String node not created with Node.newTemplateLitString").s;throw xb(r(this)+" is not a template literal string node").s;};g.toString=function(){return pxa(this,!0,!0,!0)};
  1192. function pxa(a,b,c,d){var e=Mg();Wg(e,a.c);if(a instanceof DF)Og(e,32),x(e,a.l());else if(q(a.c,(H(),ut)))Og(e,32),a.a&&q(a.a.c,(H(),As))?x(e,a.a.l()):x(e,"<invalid>");else if(q(a.c,(H(),Bs))){Og(e,32);var f=a.ab();e.$a=r(e.$a)+f}b&&(b=XA(a),-1!=b&&(Og(e,32),Vg(e,b)),0!=a.u&&(x(e," [length: "),Vg(e,a.u),Og(e,93)));if(c){b=0;for(c=a.A;c;c=c.b)b++;c=za([b],rc,vc,0);for(f=a.A;f;f=f.b)b--,c[b]=f.a;c.sort(Yda());for(b=0;b<c.length;b++){bF();f=A([cF,EF,FF,GF,HF,IF,JF,KF,LF,MF,qxa,rxa,NF,sxa,OF,PF,QF,txa,
  1193. uxa,vxa,RF,SF,wxa,xxa,TF,yxa,zxa,UF,Axa,VF,Bxa,Cxa,Dxa,Exa,yF,BF,Fxa,Gxa,Hxa,Ixa,Jxa,Kxa,Lxa,Mxa,Nxa,Oxa,Pxa,Qxa,WF,Rxa,Sxa,Txa,XF,Uxa,Vxa,YF,Wxa],ZF,Xxa,1)[c[b]];var h=mxa(a,f);x(e," [");x(e,Xp(r(f)));x(e,": ");Wg(e,h);Og(e,93)}}d&&a.f&&(a=a.f.toString(),null!=a&&(x(e," : "),x(e,a)));return e.toString()}function uD(a){try{var b=Mg();Yxa(a,0,b);return b.toString()}catch(c){c=va(c);if(Fa(c))throw Ha("Should not happen\n"+r(c)).s;throw c.s;}}
  1194. function Yxa(a,b,c){for(var d=0;d!=b;++d)pe(c," ");pe(c,a.toString());Og(c,10);for(a=a.a;a;a=a.b)Yxa(a,b+1,c)}function $F(a,b){if(b.A&&(!a.A||a.A.a==(bF(),PF).a&&!a.A.b)){for(var c=b.A;c.b;)c=c.b;if(c.a==(bF(),PF).a){a.A=c;return}}vD(a,Sz(b))}function vD(a,b){vF(a,(bF(),PF),b);return a}function WA(a){return(a=Sz(a))?a.ub():null}function Sz(a){return aF(a,(bF(),PF))}function aG(a){return aF(a,(bF(),QF))}function BC(a){return aF(a,(bF(),LF))}function bG(a,b){vF(a,(bF(),LF),b)}
  1195. function cG(a){Hx(a,(bF(),Kxa),!0)}function dG(a){cG(a);for(a=BA(a).h();a.i();)dG(a.j())}function eG(a){return(a=Sz(a))?a.Vg():!1}function Zxa(a,b){a.u=b}function $xa(a,b){a.u=b;for(a=a.a;a;a=a.b)$xa(a,b)}function XA(a){a=a.v;kx();return-1==a?-1:a>>>12|0}function YA(a){a=a.v;kx();return-1==a?-1:a&4095}function aya(a){var b=Sz(a);if(!b)return-1;var c=XA(a);return-1==c?-1:b.Bn(c)+YA(a)}function bya(a,b){var c=YA(a);-1==c&&(c=0);a.v=fG(b,c)}function cya(a,b){a.v=b;for(a=a.a;a;a=a.b)cya(a,b)}
  1196. function fG(a,b){kx();return 0>a||0>b?-1:0!=(b&-4096)?a<<12|4095:a<<12|b&4095}function BA(a){return a.a?dya(a.a):jf()}g.m=function(){return this.o};function gG(a){return a.o?a.o.o:null}function hG(a,b){for(D(0<=b);a&&0<b--;)a=a.m();return a}function iG(a,b){return q(b,a.m())&&!iF(a)}function jG(a,b){a=iF(a);return!!a&&iG(a,b)}function gF(a){return!!a.a&&!a.a.b}function kG(a){return!!a.a&&!!a.a.b&&q(a.a.b,O(a))}function lG(a){return!!a.a&&!!a.a.b}
  1197. function mG(a,b){var c=0;for(a=a.a;a&&c<=b;a=a.b)c++;return c==b}function GA(a){var b=0;for(a=a.a;a;a=a.b)b++;return b}function eya(a,b){for(a=a.a;a;a=a.b)if(q(b,a))return!0;return!1}function tD(a,b){return a.ae(b,!1,!0,!1,!1)}
  1198. g.ae=function(a,b,c,d,e){if(!q(this.c,a.c)||GA(this)!=GA(a)||!q(la(ma(this)),Ig(a))||b&&!bd(this.f,a.f)||d&&!Owa(nG(this),nG(a)))return!1;var f=zF(this),h=zF(a);if(!(!f&&!h||f&&h&&f.ae(h,b,c,d,!1)))return!1;for(f=Wwa.h();f.i();)if(h=f.j(),!bd(h.f(this),h.f(a)))return!1;if(e&&(oG(this)!=oG(a)||pG(this)!=pG(a)))return!1;if(c)for(f=this.a,a=a.a;f;f=f.b,a=a.b)if(!f.ae(a,b,c,d,e))return!1;return!0};
  1199. function EC(a){switch(a.c.a){case 32:return a=a.l(),te(a)?null:a;case 26:return(a=fya(a,0))?a.toString():null;case 36:return"this";case 103:return"super";default:return null}}function qG(a){return DC(a)?gya(a):null}function fya(a,b){var c=O(a).l();b+=1+c.length;if(N(a.a)){if(a=fya(a.a,b),!a)return null}else{b=EC(a.a);if(null==b)return null;a=Ng();x(a,b)}x(Og(a,46),c);return a}
  1200. function wG(a){if(q(a.c,(H(),As))){var b=BC(a);null==b&&(b=a.l());return te(b)?null:b}if(q(a.c,(H(),vs))){b=wG(a.a);if(null==b)return null;var c=BC(O(a));null==c&&(c=O(a).l());return r(b)+"."+r(c)}return q(a.c,(H(),Es))?"this":q(a.c,(H(),au))?"super":null}function DC(a){switch(a.c.a){case 32:return!te(a.l());case 36:case 103:return!0;case 26:return DC(a.a);default:return!1}}function xG(a,b){if(!q(a.c,(a.c,H(),As)))return!1;a=a.l();return!te(a)&&q(b,a)}function yG(a,b){return hya(a,b,b.length)}
  1201. function hya(a,b,c){var d=c-1;var e=ii(46);d=b.lastIndexOf(e,d)+1;switch(a.c.a){case 32:case 112:return a=a.l(),0==d&&!te(a)&&a.length==c&&zi(b,a);case 36:return 0==d&&4==c&&zi(b,"this");case 103:return 0==d&&5==c&&zi(b,"super");case 26:e=O(a).l();var f;if(f=1<d&&e.length==c-d)f=ui(e,!1,0,b,d,c-d);return f&&hya(a.a,b,d-1);default:return!1}}
  1202. function zG(a,b){if(!q(b.c,a.c))return!1;switch(a.c.a){case 32:return a=a.l(),""!==a&&q(a,b.l());case 36:case 103:return!0;case 26:return q(O(a).l(),O(b).l())&&zG(a.a,b.a);default:return!1}}function AG(a){switch(a.c.a){case 32:return""!==a.l();case 26:return AG(a.a);default:return!1}}function xx(a){switch(a.c.a){case 32:case 26:case 27:case 97:case 98:return!0;default:return!1}}function S(a){G(a.o);oF(a.o,a);return a}function UA(a){var b=a.a;b&&oF(a,b);return b}
  1203. function pD(a){for(var b=a.a,c=a.a;c;c=c.b)c.o=null;a.a=null;return b}function BG(a){for(var b=a.a;b;){var c=b.b;b.o=null;b.b=null;b.g=null;b=c}a.a=null}function CG(a){return a.fh(!1)}g.fh=function(a){return DG(this,zw(this.c),a)};function DG(a,b,c){b.v=a.v;b.u=a.u;Q(b,a.f);b.A=a.A;c&&(a=nG(a))&&Gx(b,JD(a,!0));return b}function NA(a){return EG(a,!1)}function EG(a,b){var c=a.fh(b),d=null,e=null;if(a.a){for(a=a.a;a;a=a.b){var f=EG(a,b);f.o=c;d?(e.b=f,f.g=e,e=f):e=d=f}d.g=e;e.b=null;c.a=d}return c}
  1204. function FG(a,b){$F(a,b);vF(a,(bF(),LF),aF(b,LF));a.v=b.v;a.u=b.u;return a}function GG(a,b){return FG(a,b)}function HG(a,b){FG(a,b);for(var c=a.a;c;c=c.b)HG(c,b);return a}function IG(a,b){return HG(a,b)}function qF(a,b){Sz(a)||($F(a,b),a.v=b.v,a.u=b.u);null==aF(a,(bF(),LF))&&vF(a,(bF(),LF),aF(b,LF));return a}function JG(a,b){qF(a,b);for(var c=a.a;c;c=c.b)JG(c,b);return a}function iya(a){Mi(a.f,"no jstype: %s",a);return a.f}function Q(a,b){a.f=b;return a}function nG(a){return aF(a,(bF(),EF))}
  1205. function Gx(a,b){vF(a,(bF(),EF),b);return a}function KG(a){return uF(a,(bF(),uxa))}function LG(a,b){vF(a,(bF(),Vxa),b)}function vC(a){return aF(a,(bF(),Vxa))}function pG(a){return tF(a,(bF(),Sxa))}function MG(a,b){Hx(a,(bF(),XF),b)}function NG(a){return tF(a,(bF(),XF))}function lB(a,b){Hx(a,(bF(),FF),b)}function EA(a){return tF(a,(bF(),FF))}function OA(a,b){Hx(a,(bF(),IF),b)}function DA(a){return tF(a,(bF(),IF))}function OG(a){return tF(a,(bF(),Fxa))}
  1206. function jya(a){E(q(a.c,(H(),Lt)));Hx(a,(bF(),JF),!0)}function PG(a){return tF(a,(bF(),JF))}function QG(a){Hx(a,(bF(),KF),!0)}function RG(a){return tF(a,(bF(),KF))}function SG(a,b){Hx(a,(bF(),RF),b)}function TG(a){return tF(a,(bF(),RF))}function kya(a,b){Hx(a,(bF(),SF),b)}function UG(a){return tF(a,(bF(),SF))}function VG(a,b){Hx(a,(bF(),Axa),b)}function WG(a){return tF(a,(bF(),Axa))}function lya(a,b){E(XG(a)||YG(a)||ZG(a));Hx(a,(bF(),Wxa),b)}function $G(a){return tF(a,(bF(),Wxa))}
  1207. function mya(a,b){E(P(a));Hx(a,(bF(),wxa),b)}function aH(a){return P(a)&&tF(a,(bF(),wxa))}function nya(a,b){E(P(a));Hx(a,(bF(),xxa),b)}function bH(a){return P(a)&&tF(a,(bF(),xxa))}function cH(a){return bH(a)&&UG(a)}function dH(a){return tF(a,(bF(),TF))}function oya(a,b){Ji(eH(a)||TC(a)||fH(a),"Side-effect flags can only be set on invocation nodes; got %s",a);wF(a,(bF(),MF),~b&31)}function oG(a){return~uF(a,(bF(),MF))&31}function pya(a,b){return 0!=(a&b)}
  1208. function qya(a,b,c){var d=uF(a,(bF(),UF));wF(a,UF,c?d|b:d&~b)}function rya(a){Ji(L(a)||Cw(a),"Should only be called on name or import * nodes. Found %s",a);return pya(uF(a,(bF(),UF)),1)}function gH(a,b){Ji(L(a)||Cw(a),"Should only be called on name or import * nodes. Found %s",a);qya(a,1,b)}function sya(a){Ji(L(a)||Cw(a),"Should only be called on name or import * nodes. Found %s",a);return pya(uF(a,(bF(),UF)),2)}g.bb=function(){return!1};
  1209. g.Pg=function(){throw pb(r(this)+" is not a StringNode").s;};function hH(a){return q(a.c,(H(),ms))}function iH(a){return q(a.c,(H(),gt))}function jH(a){return q(a.c,(H(),Ns))}function Zw(a){return q(a.c,(H(),Vt))}function kH(a){return q(a.c,(H(),Ss))}function Hw(a){return q(a.c,(H(),Lt))}function sC(a){return q(a.c,(H(),Kt))}function lH(a){return q(a.c,(H(),Dt))}function eH(a){return q(a.c,(H(),xs))}function mH(a){return q(a.c,(H(),xt))}function nH(a){return q(a.c,(H(),Ut))}
  1210. function oH(a){return q(a.c,(H(),Ht))}function kA(a){return q(a.c,(H(),Yt))}function pH(a){return q(a.c,(H(),Zt))}function qH(a){return q(a.c,(H(),Rs))}function rH(a){return q(a.c,(H(),ru))}function sH(a){return q(a.c,(H(),Et))}function ix(a){return q(a.c,(H(),Rt))}function tH(a){return q(a.c,(H(),tt))}function uH(a){return q(a.c,(H(),yt))}function vH(a){return q(a.c,(H(),npa))}function wH(a){return q(a.c,(H(),ts))}function Yw(a){return q(a.c,(H(),Xt))}function Xw(a){return $w(a)||Zw(a)}
  1211. function tya(a){return q(a.c,(H(),At))}function Aw(a){return q(a.c,(H(),Jt))}function xH(a){return q(a.c,(H(),ku))}function uya(a){return q(a.c,(H(),mu))}function yH(a){return q(a.c,(H(),Nt))}function zH(a){return q(a.c,(H(),Bt))}function AH(a){return q(a.c,(H(),Ct))}function BH(a){return q(a.c,(H(),cu))}function vya(a){return q(a.c,(H(),du))}function P(a){return q(a.c,(H(),ut))}function CH(a){return q(a.c,(H(),Pt))}function DH(a){return q(a.c,(H(),ws))}function N(a){return q(a.c,(H(),vs))}
  1212. function EH(a){return q(a.c,(H(),et))}function FH(a){return q(a.c,(H(),vt))}function GH(a){return q(a.c,(H(),gu))}function Cw(a){return q(a.c,(H(),ju))}function Bw(a){return q(a.c,(H(),iu))}function wya(a){return q(a.c,(H(),hu))}function HH(a){return q(a.c,(H(),Ls))}function IH(a){return q(a.c,(H(),st))}function JH(a){return q(a.c,(H(),Ms))}function KH(a){return q(a.c,(H(),Mt))}function mx(a){return q(a.c,(H(),St))}function hx(a){return q(a.c,(H(),bu))}function LH(a){return q(a.c,(H(),$t))}
  1213. function MH(a){return q(a.c,(H(),Ku))}function NH(a){return q(a.c,(H(),nu))}function L(a){return q(a.c,(H(),As))}function OH(a){return q(a.c,(H(),ks))}function TC(a){return q(a.c,(H(),ss))}function PH(a){return q(a.c,(H(),qs))}function QH(a){return q(a.c,(H(),Ds))}function xya(a){return q(a.c,(H(),rt))}function RH(a){return q(a.c,(H(),Bs))}function SH(a){return q(a.c,(H(),Os))}function $w(a){return q(a.c,(H(),Wt))}function ZG(a){return q(a.c,(H(),zs))}function XG(a){return q(a.c,(H(),jpa))}
  1214. function YG(a){return q(a.c,(H(),ys))}function TH(a){return q(a.c,(H(),ft))}function Gw(a){return q(a.c,(H(),Qs))}function UH(a){return q(a.c,(H(),Js))}function Jw(a){return q(a.c,(H(),ou))||q(a.c,(H(),pu))}function Ux(a){return q(a.c,(H(),is))}function tC(a){return q(a.c,(H(),Ot))}function VH(a){return q(a.c,(H(),Qt))}function qx(a){return q(a.c,(H(),qu))||q(a.c,(H(),mpa))}function Dw(a){return q(a.c,(H(),Cs))}function Lx(a){return q(a.c,(H(),Tt))}function WH(a){return q(a.c,(H(),au))}
  1215. function XH(a){return q(a.c,(H(),wt))}function fH(a){return q(a.c,(H(),su))}function yya(a){return q(a.c,(H(),tu))}function YH(a){return q(a.c,(H(),vu))}function ZH(a){return q(a.c,(H(),uu))}function SC(a){return q(a.c,(H(),Es))}function $H(a){return q(a.c,(H(),Ks))}function aI(a){return q(a.c,(H(),Gs))}function bI(a){return q(a.c,(H(),Ps))}function cI(a){return q(a.c,(H(),us))}function gx(a){return q(a.c,(H(),Ft))}function dI(a){return q(a.c,(H(),eu))}
  1216. function kx(){kx=function(){};HE=(bF(),EF);Ix=GF;GE=HF;Xwa=LF;IE=qxa;JE=rxa;Ywa=sxa;KE=OF;Zwa=txa;$wa=vxa;LE=RF;axa=SF;bxa=TF;ME=yxa;NE=zxa;OE=Bxa;PE=Cxa;QE=Dxa;RE=Exa;SE=Fxa;TE=Gxa;UE=Hxa;cxa=Ixa;VE=Jxa;dxa=Lxa;WE=Mxa;XE=Oxa;exa=Pxa;YE=Qxa;fxa=Rxa;ZE=Txa;gxa=XF;$E=Uxa;Wwa=sha(u(function(a){return aH(a)}),u(function(a){return bH(a)}),u(function(a){return cH(a)}),u(function(a){return UG(a)}),u(function(a){return TG(a)}),u(function(a){return dH(a)}),u(function(a){return Fc(uF(a,txa))}),u(function(a){return Fc(uF(a,
  1217. GF))}),u(function(a){return Fc(uF(a,HF))}),u(function(a){return tF(a,OF)}),u(function(a){return tF(a,Bxa)}),u(function(a){return tF(a,Cxa)}),A([u(function(a){return tF(a,Dxa)})],fba,hba,1))}function eI(a){return a instanceof lx}g.ba=!0;function fI(){lx.call(this);this.F=0}l(fI,lx);function jxa(a){kx();var b=new fI;dF(b,(H(),Bs));b.F=a;return b}fI.prototype.ab=function(){return this.F};fI.prototype.dl=function(a){this.F=a};
  1218. fI.prototype.ae=function(a,b,c,d,e){return lx.prototype.ae.call(this,a,b,c,d,e)&&(b=this.ab(),a=a.ab(),b==a)?0!=b||1/b==1/a:!1};fI.prototype.fh=function(a){return DG(this,jxa(this.F),a)};function gI(){this.a=0}l(gI,EE);function oxa(a,b,c){var d=new gI;d.a=a;d.b=c;d.c=b;return d}gI.prototype.g=function(){throw wb().s;};gI.prototype.o=function(){return this.c};gI.prototype.toString=function(){return r(this.c)};gI.prototype.f=function(a){return oxa(this.a,this.c,a)};function ZF(){this.a=0}
  1219. var cF,yF,BF,PF,QF,LF,Kxa,EF,uxa,WF,Vxa,Sxa,XF,FF,IF,Fxa,JF,NF,KF,RF,SF,Axa,VF,Wxa,wxa,xxa,TF,YF,MF,UF,GF,HF,qxa,rxa,sxa,OF,txa,vxa,yxa,zxa,Bxa,Cxa,Dxa,Exa,Gxa,Hxa,Ixa,Jxa,Lxa,Mxa,Oxa,Pxa,Qxa,Rxa,Txa,Uxa,Nxa;l(ZF,z);function hI(a,b){var c=new ZF;c.b=a;c.a=b;return c}ZF.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1220. function bF(){bF=function(){};cF=hI("NON_JSDOC_COMMENT",0);EF=hI("JSDOC_INFO",1);FF=hI("VAR_ARGS",2);GF=hI("INCRDECR",3);HF=hI("QUOTED",4);IF=hI("OPT_ARG",5);JF=hI("SYNTHETIC",6);KF=hI("ADDED_BLOCK",7);LF=hI("ORIGINALNAME",8);MF=hI("SIDE_EFFECT_FLAGS",9);qxa=hI("IS_CONSTANT_NAME",10);rxa=hI("IS_NAMESPACE",11);NF=hI("DIRECTIVES",12);sxa=hI("DIRECT_EVAL",13);OF=hI("FREE_CALL",14);PF=hI("SOURCE_FILE",15);QF=hI("INPUT_ID",16);txa=hI("SLASH_V",17);uxa=hI("CHANGE_TIME",18);vxa=hI("REFLECTED_OBJECT",19);
  1221. RF=hI("STATIC_MEMBER",20);SF=hI("GENERATOR_FN",21);wxa=hI("ARROW_FN",22);xxa=hI("ASYNC_FN",23);TF=hI("YIELD_ALL",24);yxa=hI("EXPORT_DEFAULT",25);zxa=hI("EXPORT_ALL_FROM",26);UF=hI("CONSTANT_VAR_FLAGS",27);Axa=hI("IS_GENERATOR_MARKER",28);VF=hI("IS_GENERATOR_SAFE",29);Bxa=hI("COMPUTED_PROP_METHOD",30);Cxa=hI("COMPUTED_PROP_GETTER",31);Dxa=hI("COMPUTED_PROP_SETTER",32);Exa=hI("COMPUTED_PROP_VARIABLE",33);yF=hI("DECLARED_TYPE_EXPR",34);BF=hI("TYPE_BEFORE_CAST",35);Fxa=hI("OPT_ES6_TYPED",36);Gxa=hI("GENERIC_TYPE",
  1222. 37);Hxa=hI("IMPLEMENTS",38);Ixa=hI("CONSTRUCT_SIGNATURE",39);Jxa=hI("ACCESS_MODIFIER",40);Kxa=hI("NON_INDEXABLE",41);Lxa=hI("PARSE_RESULTS",42);Mxa=hI("GOOG_MODULE",43);Nxa=hI("GOOG_MODULE_REQUIRE",44);Oxa=hI("FEATURE_SET",45);Pxa=hI("WAS_PREVIOUSLY_PROVIDED",46);Qxa=hI("TRANSPILED",47);WF=hI("DELETED",48);Rxa=hI("MODULE_ALIAS",49);Sxa=hI("IS_UNUSED_PARAMETER",50);Txa=hI("MODULE_EXPORT",51);XF=hI("IS_SHORTHAND_PROPERTY",52);Uxa=hI("ES6_MODULE",53);Vxa=hI("TYPEDEF_TYPE",54);YF=hI("DEFINE_NAME",55);
  1223. Wxa=hI("START_OF_OPT_CHAIN",56)}function Xxa(a){return a instanceof ZF}function iI(){}l(iI,n);iI.prototype.i=function(){return!!this.a};iI.prototype.j=function(){if(!this.a)throw Qd().s;var a=this.a;this.a=this.a.b;return a};iI.prototype.ma=function(){throw wb().s;};iI.prototype.ea=function(a){Bb(this,a)};function jI(){}l(jI,n);function dya(a){var b=new jI;b.a=a;return b}jI.prototype.h=function(){var a=new iI;a.a=this.a;return a};jI.prototype.Z=function(a){xc(this,a)};jI.prototype.Y=function(){return yc(this)};
  1224. jI.prototype.Xa=!0;function zya(){this.a=0}l(zya,n);function Aya(a){a.a|=7;return a}zya.prototype.toString=function(){var a=ue("Side effects: ");0!=(this.a&2)&&x(a,"this ");0!=(this.a&1)&&x(a,"global ");0!=(this.a&8)&&x(a,"throw ");0!=(this.a&4)&&x(a,"args ");0!=(this.a&16)&&x(a,"return ");return a.toString()};function DF(){lx.call(this)}l(DF,lx);function kxa(a,b){kx();var c=new DF;dF(c,a);c.Ga(b);return c}function Bya(a,b,c,d){kx();var e=new DF;e.c=a;e.o=null;e.v=fG(c,d);e.Ga(b);return e}g=DF.prototype;
  1225. g.l=function(){return this.F};g.Ga=function(a){if(null==a)throw ua("StringNode: str is null").s;this.F=a};g.ae=function(a,b,c,d,e){return lx.prototype.ae.call(this,a,b,c,d,e)&&q(this.F,a.F)};g.bb=function(){return tF(this,(bF(),HF))};g.Pg=function(){Hx(this,(bF(),HF),!0)};g.fh=function(a){var b=new DF;dF(b,this.c);b.F=this.F;return DG(this,b,a)};function kI(){lx.call(this)}l(kI,lx);kI.prototype.oj=function(){return this.K};kI.prototype.Ad=function(){return this.F};
  1226. kI.prototype.ae=function(a,b,c,d,e){return lx.prototype.ae.call(this,a,b,c,d,e)&&q(this.K,a.K)&&q(this.F,a.F)};kI.prototype.fh=function(a){var b=new kI;dF(b,(H(),vu));b.K=this.K;b.F=this.F;return DG(this,b,a)};function lI(){lx.call(this)}l(lI,lx);function Cya(a,b){kx();var c=new lI;dF(c,a);c.F=b;return c}function mI(a){kx();var b=new lI;dF(b,a);return b}function nI(a,b){kx();var c=new lI;ixa(c,a,b);return c}lI.prototype.l=function(){return this.F};
  1227. lI.prototype.fh=function(a){return DG(this,Cya(this.c,this.F),a)};function Dya(){}l(Dya,n);Dya.prototype.ba=!0;function Eya(){}l(Eya,Vx);function gya(a){var b=new Eya;b.a=a;return b}g=Eya.prototype;g.fe=function(){return N(this.a)?gya(this.a.a):null};g.Wd=function(){switch(this.a.c.a){case 26:return O(this.a).l();case 36:return"this";case 103:return"super";case 32:case 102:return this.a.l();default:throw pb("Not a qualified name: "+r(this.a)).s;}};g.Ed=function(){return!N(this.a)};
  1228. g.mk=function(a){x(a,this.Vc())};g.Vc=function(){return EC(this.a)};g.de=function(a){return zG(a,this.a)};function Fya(){this.a=0;this.g=this.f=!1}var oI,pI,qI,Gya,Hya,Iya,rI;l(Fya,z);function Jya(a,b){var c=new Fya;c.b=a;c.a=b;c.f=!1;c.g=!1;return c}function Kya(a,b,c,d){var e=new Fya;e.b=a;e.a=b;e.f=c;e.g=d;return e}Fya.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1229. function sI(){sI=function(){};oI=Jya("STATEMENT",0);pI=Jya("BEFORE_DANGLING_ELSE",1);qI=Jya("START_OF_EXPR",2);Gya=Kya("IN_FOR_INIT_CLAUSE",3,!0,!1);Hya=Kya("START_OF_ARROW_FN_BODY",4,!1,!0);Iya=Kya("START_OF_ARROW_FN_IN_FOR_INIT",5,!0,!0);rI=Jya("OTHER",6)}function tI(){this.g=this.o=this.c=this.f=this.F=!1}l(tI,n);function Lya(a){var b=new tI;b.v=bf();b.a=a;b.$=null;b.F=!1;b.c=!0;b.f=!1;b.o=!1;b.g=!1;b.A=(uI(),vI);b.K=Mya(!1);return b}
  1230. function Nya(a,b,c){a.v=bf();a.a=b;a.$=new Oya;a.F=c.Hn;a.c=c.tm;a.f=c.$j;b=q(c.ke,(wI(),Pya))?!1:c.Kh||xI((uI(),yI),zI(c));a.o=b;a.g=c.li;a.A=zI(c);a.K=Mya(a.g)}function AI(a,b){Pr(a.a,b)}function BI(a,b){a.b(b,(sI(),rI))}
  1231. tI.prototype.b=function(a,b){if(this.a.Km()){if(this.f&&nG(a)){var c=Qya(this.K,nG(a));"/** */ "===c||AI(this,c)}var d=a.c;var e=Rya(d);var f=GA(a);c=a.a;var h=O(a);if(null==e||q(c,h)){this.a.mn(a);switch(d.a){case 47:E(Hw(c.b)&&!lG(c.b));E(2<=f&&3>=f);AI(this,"try");BI(this,c);(c=c.b.a)&&BI(this,c);3==f&&(this.a.Ib(),AI(this,"finally"),BI(this,h));break;case 82:F(2==f,a);this.a.Ib();AI(this,"catch");this.a.Ib();Aw(c)||(AI(this,"("),BI(this,c),AI(this,")"));BI(this,h);break;case 42:F(1==f,a);AI(this,
  1232. "throw");this.a.Ib();BI(this,c);this.a.sc(!0);break;case 0:AI(this,"return");1==f?(this.a.Ib(),this.f&&nG(c)?(AI(this,"("),BI(this,c),AI(this,")")):BI(this,c)):F(0==f,a);this.a.sc(!1);break;case 80:AI(this,"var ");CI(this,c,!1,DI(b),",");a.m()&&!EI(a)||this.a.sc(!1);break;case 92:AI(this,"const ");CI(this,c,!1,DI(b),",");a.m()&&!EI(a)||this.a.sc(!1);break;case 104:AI(this,"let ");CI(this,c,!1,DI(b),",");a.m()&&!EI(a)||this.a.sc(!1);break;case 94:F(!te(a.l()),a);FI(this,a.l());break;case 99:BI(this,
  1233. c);q(c,h)||(F(2==f,a),Wr(this.a,"=",!0),BI(this,h));break;case 32:this.g&&null!=BC(a)?FI(this,BC(a)):FI(this,a.l());Sya(this,a);GI(this,a);c&&!Aw(c)&&(F(1==f,a),Wr(this.a,"=",!0),qH(c)||nH(c)&&qH(c.a)?HI(this,c,II((H(),Ss)),(sI(),rI)):HI(this,c,0,DI(b)));break;case 45:AI(this,"[");Tya(this,c);AI(this,"]");break;case 97:AI(this,"[");Tya(this,c);AI(this,"]");GI(this,a);break;case 48:aH(a.m())&&gF(a)&&L(c)&&!JI(this.A,(KI(),Uya))?BI(this,c):(AI(this,"("),LI(this,c),AI(this,")"));break;case 127:BI(this,
  1234. c);GI(this,a);Wr(this.a,"=",!0);HI(this,c.b,1,(sI(),rI));break;case 49:F(2==f,a);Vya(this,a,(H(),Rs),",",b,DI(b),0,0);break;case 33:F(0==f,a);this.a.wf(a.ab(),a);break;case 25:case 83:case 19:case 20:case 21:F(1==f,a);Wr(this.a,Wya(d),!1);HI(this,c,II(d),(sI(),rI));break;case 22:F(1==f,a);RH(a.a)?this.a.wf(-a.a.ab(),a.a):(Wr(this.a,Wya(d),!1),HI(this,c,II(d),(sI(),rI)));break;case 63:F(3==f,a);d=II(d);e=DI(b);HI(this,c,d+1,b);Wr(this.a,"?",!0);HI(this,c.b,1,e);Wr(this.a,":",!0);HI(this,h,1,e);break;
  1235. case 41:if(!Dw(c)||!Dw(h))throw Ra("Expected children to be strings").s;c=Xya(this,c.l());2==f?AI(this,r(c)+r(h.l())):(F(1==f,a),AI(this,c));break;case 69:if(!q(Ig(a),la(lx)))throw Ra("Unexpected Node subclass.").s;F(3==f,a);aH(a)?Yya(this,a,c,h,b):Zya(this,a,c,h,b);break;case 118:case 119:AI(this,"...");BI(this,c);GI(this,a);break;case 120:case 121:AI(this,"...");BI(this,a.a);break;case 113:AI(this,"export");tF(a,(kx(),ME))&&AI(this,"default");tF(a,(kx(),NE))?(AI(this,"*"),F(!!c&&Aw(c),a)):BI(this,
  1236. c);2==f&&(AI(this,"from"),BI(this,h));MI(this,c,b);break;case 109:AI(this,"import");b=c.b;Aw(c)||(BI(this,c),Aw(b)||this.a.Lg());Aw(b)||BI(this,b);Aw(c)&&Aw(b)||AI(this,"from");BI(this,h);this.a.sc(!1);break;case 114:case 110:AI(this,"{");for(b=c;b;b=b.b)q(b,c)||this.a.Lg(),BI(this,b);AI(this,"}");break;case 115:case 111:BI(this,c);if(NG(a)&&li(c.l(),h.l()))break;AI(this,"as");BI(this,h);break;case 112:AI(this,"*");AI(this,"as");AI(this,a.l());break;case 117:AI(this,"import(");HI(this,c,II(d),b);
  1237. AI(this,")");break;case 129:AI(this,"import.meta");break;case 100:F(3==f,a);(d=q(b,(sI(),qI)))&&AI(this,"(");e=c.b;AI(this,"class");Aw(c)||BI(this,c);NI(this,c);Aw(e)||(AI(this,"extends"),BI(this,e));if(c=aF(a,(kx(),UE)))for(AI(this,"implements"),c=c.a,BI(this,c);c=c.b;)AI(this,","),this.a.Ib(),BI(this,c);BI(this,h);q(b,oI)&&this.a.Vd();d&&AI(this,")");break;case 101:case 159:case 169:for(Sr(this.a);c;c=c.b)BI(this,c),MI(this,c,b),this.a.Vd();Tr(this.a,!1);break;case 161:for(Sr(this.a);c;c=c.b)BI(this,
  1238. c),c.b&&AI(this,","),this.a.Vd();Tr(this.a,!1);break;case 90:case 91:case 102:case 165:E(SH(a.m())||pH(a.m())||q(a.m().c,(H(),Iu))||q(a.m().c,(H(),zpa))||q(a.m().c,(H(),Lu)));$ya(this,a);TG(a)&&AI(this,"static ");LH(a)&&bH(a.a)&&AI(this,"async ");!MH(a)&&UG(a.a)&&(F(q(d,(H(),$t)),a),AI(this,"*"));switch(d.a){case 90:F(!R(c).a,a);AI(this,"get ");break;case 91:F(gF(R(c)),a),AI(this,"set ")}b=a.l();MH(a)?(AI(this,a.l()),Sya(this,a),GI(this,a)):(F(1==f,a),F(P(c),c),F(te(c.a.l()),c),h=R(c),d=O(c),!a.bb()&&
  1239. OI.test(b)&&aza(b)?(AI(this,b),NI(this,c.a)):(b=bza(b),isNaN(b)?cza(this,a):this.a.wf(b,a)),Sya(this,c),BI(this,h),GI(this,c),BI(this,d));break;case 89:case 116:case 86:case 85:if(!q(Ig(a),la(lx)))throw Ra("Unexpected Node subclass.").s;(h=Hw(a)&&!PG(a))&&Sr(this.a);for(d=q(d,(H(),Ot))||q(d,(H(),Lt))&&!h&&tC(a.m());c;c=c.b)this.b(c,(sI(),oI)),(P(c)||kA(c))&&this.a.Df(),d&&this.a.dn();h&&Tr(this.a,this.a.pk(a,q(b,(sI(),oI))));break;case 76:F(4==f,a);AI(this,"for");this.a.Ib();AI(this,"(");PI(c)?this.b(c,
  1240. (sI(),Gya)):HI(this,c,0,(sI(),Gya));AI(this,";");Aw(c.b)||this.a.Ib();BI(this,c.b);AI(this,";");Aw(c.b.b)||this.a.Ib();BI(this,c.b.b);AI(this,")");QI(this,h,RI(b),!1);break;case 77:F(3==f,a);AI(this,"for");this.a.Ib();AI(this,"(");BI(this,c);AI(this,"in");BI(this,c.b);AI(this,")");QI(this,h,RI(b),!1);break;case 105:F(3==f,a);AI(this,"for");this.a.Ib();AI(this,"(");BI(this,c);this.a.Ib();AI(this,"of");this.a.Ib();HI(this,c.b,II((H(),Ss)),(sI(),rI));AI(this,")");QI(this,h,RI(b),!1);break;case 106:F(3==
  1241. f,a);AI(this,"for await");this.a.Ib();AI(this,"(");BI(this,c);this.a.Ib();AI(this,"of");this.a.Ib();HI(this,c.b,II((H(),Ss)),(sI(),rI));AI(this,")");QI(this,h,RI(b),!1);break;case 75:F(2==f,a);AI(this,"do");QI(this,c,(sI(),rI),!1);this.a.Ib();AI(this,"while");this.a.Ib();AI(this,"(");BI(this,h);AI(this,")");this.a.sc(!1);break;case 74:F(2==f,a);AI(this,"while");this.a.Ib();AI(this,"(");BI(this,c);AI(this,")");QI(this,h,RI(b),!1);break;case 84:F(0==f,a);break;case 29:pfa(2==f,"Bad OPTCHAIN_GETPROP: expected 2 children, but got %s",
  1242. f);F(Dw(h),"Bad OPTCHAIN_GETPROP: RHS should be STRING");HI(this,c,II(d),b);AI(this,$G(a)?"?.":".");FI(this,h.l());break;case 26:if(this.g&&null!=BC(a)){yG(a.a,"$jscomp.scope")&&kH(a.m())&&AI(this,"var ");FI(this,BC(a));break}pfa(2==f,"Bad GETPROP: expected 2 children, but got %s",f);F(Dw(h),"Bad GETPROP: RHS should be STRING");e=SI(c);(e=RH(c)||e)&&AI(this,"(");HI(this,c,II(d),b);e&&AI(this,")");this.o&&TI(h.l())?(AI(this,"["),BI(this,h),AI(this,"]")):(AI(this,"."),FI(this,h.l()));break;case 30:qfa(2==
  1243. f,f,a);HI(this,c,II(d),b);$G(a)&&AI(this,"?.");AI(this,"[");BI(this,c.b);AI(this,"]");break;case 27:qfa(2==f,f,a);(h=SI(c))&&AI(this,"(");HI(this,c,II(d),b);h&&AI(this,")");AI(this,"[");BI(this,c.b);AI(this,"]");break;case 81:F(2==f,a);AI(this,"with(");BI(this,c);AI(this,")");QI(this,h,RI(b),!1);break;case 67:case 68:F(1==f,a);h=q(d,(H(),st))?"++":"--";tF(a,(kx(),Ix))?(HI(this,c,II(d),b),Wr(this.a,h,!1)):(Wr(this.a,h,!1),BI(this,c));break;case 31:dza(c)||tF(a,(kx(),KE))&&(UI(c)||eza(c))?(AI(this,
  1244. "(0,"),HI(this,c,II((H(),Rs)),(sI(),rI)),AI(this,")")):HI(this,c,II(d),b);c=c.b;$G(a)&&AI(this,"?.");AI(this,"(");LI(this,c);AI(this,")");break;case 28:h=SI(c);dza(c)||tF(a,(kx(),KE))&&(UI(c)||eza(c))?(AI(this,"(0,"),HI(this,c,II((H(),Rs)),(sI(),rI)),AI(this,")")):(h&&AI(this,"("),HI(this,c,II(d),b),h&&AI(this,")"));c=c.b;AI(this,"(");LI(this,c);AI(this,")");break;case 70:F(2==f||3==f,a);d=3==f;(e=q(b,(sI(),pI))&&!d)&&Sr(this.a);AI(this,"if");this.a.Ib();AI(this,"(");BI(this,c);AI(this,")");d?(QI(this,
  1245. c.b,(sI(),pI),!1),this.a.Ib(),AI(this,"else"),QI(this,h,RI(b),!1)):QI(this,c.b,(sI(),rI),!1);e&&Tr(this.a,!1);break;case 35:F(0==f,a);this.a.Se("null");break;case 36:F(0==f,a);AI(this,"this");break;case 103:F(0==f,a);AI(this,"super");break;case 128:F(0==f,a);AI(this,"new.target");break;case 107:AI(this,"yield");dH(a)&&(G(c),AI(this,"*"));c&&(this.a.Ib(),HI(this,c,II(d),(sI(),rI)));break;case 108:AI(this,"await ");HI(this,c,II(d),(sI(),rI));break;case 37:F(0==f,a);this.a.Se("false");break;case 38:F(0==
  1246. f,a);this.a.Se("true");break;case 79:F(1>=f,a);AI(this,"continue");if(1==f){if(!mx(c))throw Ra("Unexpected token type. Should be LABEL_NAME.").s;AI(this," ");BI(this,c)}this.a.sc(!1);break;case 93:F(0==f,a);AI(this,"debugger");this.a.sc(!1);break;case 78:F(1>=f,a);AI(this,"break");if(1==f){if(!mx(c))throw Ra("Unexpected token type. Should be LABEL_NAME.").s;AI(this," ");BI(this,c)}this.a.sc(!1);break;case 88:F(1==f,a);this.b(c,(sI(),qI));this.a.sc(!1);break;case 23:AI(this,"new ");b=II(d);h=II(c.c);
  1247. h==b&&(b+=1);VI(c,Ti(function(p){return eH(p)}),(T(),WI))&&(b=II(c.c)+1);HI(this,c,b,(sI(),rI));if(c=c.b)AI(this,"("),LI(this,c),AI(this,")");break;case 95:fza(this,a);break;case 34:Ji(0==f,"String node %s may not have children",a);cza(this,a);break;case 24:F(1==f,a);AI(this,"delete ");BI(this,c);break;case 46:(b=q(b,(sI(),qI))||b.g)&&AI(this,"(");AI(this,"{");for(h=c;h;h=h.b)q(h,c)||this.a.Lg(),F(gza(h)||qx(h),h),BI(this,h);AI(this,"}");b&&AI(this,")");break;case 122:$ya(this,a);tF(a,(kx(),LE))&&
  1248. AI(this,"static ");tF(a,(kx(),PE))?AI(this,"get "):tF(a,(kx(),QE))?AI(this,"set "):tF(a,(kx(),OE))&&(bH(h)&&AI(this,"async"),tF(h,(kx(),axa))&&AI(this,"*"));AI(this,"[");HI(this,c,1,(sI(),rI));AI(this,"]");GI(this,a);tF(a,(kx(),OE))||tF(a,(kx(),PE))||tF(a,(kx(),QE))?(c=c.b,b=O(c),BI(this,R(c)),BI(this,b)):(b=pH(a.m()),(c=c.b)?(F(!b,"initializers should only exist in object literals, not classes"),Pr(this.a,":"),HI(this,c,1,rI)):F(tF(a,(kx(),RE)),a));break;case 98:hza(this,a);GI(this,a);break;case 71:AI(this,
  1249. "switch(");BI(this,c);AI(this,")");Sr(this.a);iza(this,c.b);Tr(this.a,q(b,(sI(),oI)));break;case 72:F(2==f,a);AI(this,"case ");BI(this,c);jza(this,h);break;case 73:F(1==f,a);AI(this,"default");jza(this,c);break;case 87:F(2==f,a);if(!mx(c))throw Ra("Unexpected token type. Should be LABEL_NAME.").s;BI(this,c);AI(this,":");Hw(h)||this.a.Ib();QI(this,h,RI(b),!0);break;case 96:this.f?(AI(this,"("),BI(this,c),AI(this,")")):this.b(c,b);break;case 123:this.b(c,(sI(),qI));BI(this,c.b);break;case 124:for(Goa(this.a);c;c=
  1250. c.b)YH(c)?AI(this,kza(c.oj())):(Hoa(this.a),this.b(c.a,(sI(),qI)),Ioa(this.a));Joa(this.a);break;case 130:AI(this,"string");break;case 131:AI(this,"boolean");break;case 132:AI(this,"number");break;case 136:AI(this,"any");break;case 138:AI(this,"void");break;case 140:BI(this,c);break;case 144:HI(this,c,II((H(),wu)),b);AI(this,"[]");break;case 133:AI(this,"(");LI(this,c.b);AI(this,")");Wr(this.a,"=>",!0);BI(this,c);break;case 135:CI(this,c,!0,(sI(),rI),"|");break;case 142:AI(this,"{");CI(this,c,!1,
  1251. (sI(),rI),",");AI(this,"}");break;case 134:BI(this,c);AI(this,"<");LI(this,c.b);AI(this,">");break;case 146:AI(this,"<");CI(this,c,!1,(sI(),oI),",");AI(this,">");break;case 145:FI(this,a.l());a.a&&(AI(this,"extends"),this.a.Ib(),BI(this,a.a));break;case 157:F(3==f,a);b=c.b;AI(this,"interface");BI(this,c);NI(this,c);if(!Aw(b))for(AI(this,"extends"),c=b.a,BI(this,c);c=c.b;)AI(this,","),this.a.Ib(),BI(this,c);BI(this,h);break;case 160:F(2==f,a);AI(this,"enum");BI(this,c);BI(this,h);break;case 168:F(2==
  1252. f,a);AI(this,"namespace");BI(this,c);BI(this,h);break;case 163:AI(this,"type");AI(this,a.l());Wr(this.a,"=",!0);BI(this,h);this.a.sc(!0);break;case 164:AI(this,"declare");BI(this,c);MI(this,a,b);break;case 166:AI(this,"[");BI(this,c);AI(this,"]");GI(this,a);this.a.sc(!0);break;case 167:tF(a,(kx(),cxa))&&AI(this,"new ");NI(this,a);BI(this,c);GI(this,a);this.a.sc(!0);break;default:throw Ha("Unknown token "+r(d)+"\n"+r(uD(a))).s;}this.a.Mm(a)}else{if(2!=f)throw pb(Hi('Bad binary operator "%s": expected 2 arguments but got %s',
  1253. [e,Fc(f)])).s;f=lza(this,a);var k=DI(b),m=(q(b,(sI(),qI))||b.g)&&$w(c);kH(a)&&m&&AI(this,"(");XI(a)||q(d,(H(),ps))?(HI(this,c,f+1,b),Wr(this.a,e,!0),HI(this,h,f,k)):Vya(this,a,d,e,b,k,f,f+1);kH(a)&&m&&AI(this,")")}}};function FI(a,b){a.a.Dm(mza(b))}function lza(a,b){return nH(b)?lza(a,b.a):II(b.c)}
  1254. function Yya(a,b,c,d,e){F(te(c.l()),c);var f;if(f=b.m()){T();a:switch(f.c.a){case 64:case 65:case 66:case 1:case 2:case 3:case 4:case 5:case 39:case 40:case 6:case 8:case 7:case 9:case 44:case 43:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:var h=!0;break a;default:h=!1}h||nza(f)||oza(f)||fH(f)||N(f)?f=!0:DH(f)||eH(f)||EH(f)?(f=b.m(),f=!!f&&q(b,f.a)):f=!1}else f=!1;f&&AI(a,"(");NI(a,c);bH(b)&&AI(a,"async");BI(a,c.b);GI(a,b);Wr(a.a,"=>",!0);Hw(d)?BI(a,d):HI(a,d,II((H(),Rs))+
  1255. 1,e.f?(sI(),Iya):(sI(),Hya));a.a.cj(q(e,(sI(),oI)));f&&AI(a,")")}function Zya(a,b,c,d,e){var f=q(e,(sI(),qI));f&&AI(a,"(");AI(a,bH(b)?"async function":"function");UG(b)&&(AI(a,"*"),te(c.l())||a.a.Ib());BI(a,c);NI(a,c);BI(a,c.b);GI(a,b);BI(a,d);a.a.cj(q(e,oI));f&&AI(a,")")}function $ya(a,b){(b=aF(b,(kx(),VE)))&&AI(a,r(Xp(b.toString()))+" ")}function GI(a,b){zF(b)&&(AI(a,":"),a.a.Ib(),BI(a,zF(b)))}function NI(a,b){(b=aF(b,(kx(),TE)))&&BI(a,b)}function Sya(a,b){tF(b,(kx(),SE))&&AI(a,"?")}
  1256. function Vya(a,b,c,d,e,f,h,k){for(var m=b.a;q(m.c,c);)m=m.a;HI(a,m,h,e);c=m;do c=c.m(),Wr(a.a,d,!0),HI(a,R(c),k,f);while(!q(c,b))}
  1257. function bza(a){a:{var b=a.length;if(0==b)b=!1;else{for(var c=0;c<b;c++){var d=a.charCodeAt(c);if(48>d||57<d){b=!1;break a}}b=1==b||48!=a.charCodeAt(0)}}if(b)try{if(null==a)throw gh("null").s;b=a;var e=a.length;c=!1;if(0<e){var f=a.charCodeAt(0);if(45==f||43==f)a=a.substr(1),e--,c=45==f}if(0==e)throw Jb(b).s;for(;0<a.length&&48==a.charCodeAt(0);)a=a.substr(1),e--;if(e>(tea(),qea)[10])throw Jb(b).s;for(f=0;f<e;f++)if(-1==bh(a.charCodeAt(f),10))throw Jb(b).s;var h=hb(0),k=(tea(),rea)[10],m=Cb(fh[10]),
  1258. p=bb(sea[10]);f=!0;d=e%k|0;0<d&&(h=Cb(-parseInt(ne(a,0,d),10)),a=a.substr(d),e-=d,f=!1);for(;e>=k;){d=parseInt(ne(a,0,k),10);a=a.substr(k);e-=k;if(f)f=!1;else{if(0>ab(h,p))throw Jb(b).s;h=Za(h,m)}h=Ya(h,Cb(d))}if(0<ab(h,hb(0)))throw Jb(b).s;if(!c&&(h=bb(h),0>ab(h,hb(0))))throw Jb(b).s;var t=h;if(0>ab(t,pza))return Ua(t)}catch(v){if(v=va(v),!hh(v))throw v.s;}return NaN}function dza(a){return L(a)&&"eval"===a.l()&&!tF(a,(kx(),Ywa))}
  1259. function QI(a,b,c,d){var e=b;if(!d&&!Hw(b))throw Ra("Missing BLOCK child.").s;if(Hw(b)){d=qza(b,2);if(0==d){a.a.dm()?(Sr(a.a),Tr(a.a,a.a.pk(b,q(c,(sI(),oI))))):a.a.sc(!0);return}if(1==d&&(e=rza(b),a.a.dm()||sza(e))){Sr(a.a);a.b(e,(sI(),oI));a.a.Df();Tr(a.a,a.a.pk(b,q(c,oI)));return}}Aw(e)?a.a.sc(!0):a.b(e,c)}function sza(a){if(KH(a)){var b=O(a);return Hw(b)?1==qza(a,2)?sza(rza(a)):!1:sza(b)}switch(a.c.a){case 104:case 92:case 69:case 100:case 75:return!0;default:return!1}}
  1260. function HI(a,b,c,d){if(d.f&&HH(b))c=!0;else{var e;if(e=nza(b))e=b.m(),e=!!e&&q(e.c,(H(),ps))&&q(e.a,b);if(e)c=!0;else{var f=b.m();e=iH(b)||TH(b);f=!!f&&xya(f);(e=e&&f)||(e=b.m(),e=!!e&&(iH(e)||TH(e)),e=xya(b)&&e);c=e?!0:lza(a,b)<c}}c?(AI(a,"("),a.b(b,(sI(),rI)),AI(a,")")):a.b(b,d)}function LI(a,b){CI(a,b,!0,(sI(),rI),",")}function CI(a,b,c,d,e){for(var f=b;f;f=f.b)q(f,b)?HI(a,f,c?1:0,d):(Wr(a.a,e,!0),HI(a,f,c?1:0,DI(d)))}
  1261. function fza(a,b){var c=b.l();if(b.bb()||a.o&&TI(c)||!OI.test(c)||!aza(c))c=bza(c),isNaN(c)?cza(a,b):a.a.wf(c,b);else{if(NG(b)){var d=b.a;if(yG(d,c)||vH(d)&&yG(d.a,c)){BI(a,d);return}}AI(a,c)}b.a&&(AI(a,":"),HI(a,b.a,1,(sI(),rI)))}function hza(a,b){AI(a,"{");for(var c=b.a;c;c=c.b)q(c,b.a)||a.a.Lg(),BI(a,c);AI(a,"}")}function Tya(a,b){for(var c=!1,d=b;d;d=d.b)q(d,b)||a.a.Lg(),HI(a,d,1,(sI(),rI)),c=Aw(d);c&&a.a.Lg()}function jza(a,b){F(Hw(b),b);a.a.yl();iza(a,b.a);a.a.Gl()}
  1262. function iza(a,b){for(;b;b=b.b)BI(a,b)}function cza(a,b){var c=b.l(),d=tF(b,(kx(),Zwa));if(d)AI(a,tza(a,b.l(),d));else{var e=a.v.get(c);null==e&&(e=tza(a,b.l(),d),a.v.C(c,e));AI(a,e)}}function tza(a,b,c){for(var d=0,e=0,f=0;f<b.length;f++)switch(b.charCodeAt(f)){case 34:e++;break;case 39:d++}(a.F?d<=e:d<e)?(f=39,d='"',e="\\'"):(f=34,d='\\"',e="'");return Hg(f)+r(uza(a,b,d,e,"\\\\",c,!1))+Hg(f)}function Xya(a,b){return Hg(47)+r(uza(a,b,'"',"'","\\",!1,!0))+Hg(47)}
  1263. function uza(a,b,c,d,e,f,h){for(var k=Ng(),m=0;m<b.length;m++){var p=b.charCodeAt(m);switch(p){case 0:x(k,"\\x00");break;case 11:f?x(k,"\\v"):x(k,"\\x0B");break;case 8:x(k,"\\b");break;case 12:x(k,"\\f");break;case 10:x(k,"\\n");break;case 13:x(k,"\\r");break;case 9:x(k,"\\t");break;case 92:x(k,e);break;case 34:x(k,c);break;case 39:x(k,d);break;case 36:x(k,"$");break;case 96:x(k,"`");break;case 61:a.c||h?Og(k,p):x(k,"\\x3d");break;case 38:a.c||h?Og(k,p):x(k,"\\x26");break;case 62:if(!a.c&&!h){x(k,
  1264. "\\x3e");break}2<=m&&(45==b.charCodeAt(m-1)&&45==b.charCodeAt(m-2)||93==b.charCodeAt(m-1)&&93==b.charCodeAt(m-2))?x(k,"\\x3e"):Og(k,p);break;case 60:if(!a.c&&!h){x(k,"\\x3c");break}ui(b,!0,m+1,"/script",0,7)?x(k,"\\x3c"):ui(b,!1,m+1,"!--",0,3)?x(k,"\\x3c"):Og(k,p);break;default:if(h||!YI(a.A,(KI(),ZI))){if(8232==p){x(k,"\\u2028");break}if(8233==p){x(k,"\\u2029");break}}31<p&&127>p?Og(k,p):Nr(k,p)}}return k.toString()}
  1265. function kza(a){for(var b=Mg(),c=0;c<a.length;c++){var d=a.charCodeAt(c);switch(d){case 8:case 12:case 10:case 13:case 9:case 92:case 34:case 39:case 36:case 96:case 8232:case 8233:Og(b,d);break;default:31<d&&127>d?Og(b,d):Nr(b,d)}}return b.toString()}function mza(a){if(aza(a))return a;for(var b=Mg(),c=0;c<a.length;c++){var d=a.charCodeAt(c);31<d&&127>d?Og(b,d):Nr(b,d)}return b.toString()}function qza(a,b){var c=0;for(a=a.a;a&&c<b;a=a.b)Hw(a)?c+=qza(a,b-c):Aw(a)||c++;return c}
  1266. function rza(a){for(a=a.a;a;a=a.b)if(Hw(a)){var b=rza(a);if(b)return b}else if(!Aw(a))return a;return null}function RI(a){return q(a,(sI(),pI))?(sI(),pI):(sI(),rI)}function DI(a){return a.f?a:(sI(),rI)}
  1267. function MI(a,b,c){switch(b.c.a){case 100:case 157:case 160:case 168:q(c,(sI(),oI))&&a.a.Vd();break;case 69:Aw(O(b))?a.a.sc(!0):a.a.cj(q(c,(sI(),oI)));break;case 164:q(b.m().c,(H(),Ou))||MI(a,b.a,c);break;case 113:q(b.m().c,(H(),Ou))||q(b.a.c,(H(),Ju))||MI(a,b.a,c);break;case 122:gF(b)&&a.a.sc(!0);break;case 102:case 90:case 91:Aw(O(b.a))&&a.a.sc(!0);break;case 165:a.a.sc(!0);break;default:q(c,(sI(),oI))&&a.a.sc(!1)}}function vza(){}l(vza,n);function wza(){this.a=0}var xza,yza,zza;l(wza,z);
  1268. function Aza(a,b){var c=new wza;c.b=a;c.a=b;return c}wza.prototype.R=function(a){return z.prototype.c.call(this,a)};function Bza(){Bza=function(){};zza=Aza("COMPACT",0);yza=Aza("PRETTY",1);xza=Aza("TYPED",2)}function Cza(){this.a=0}var Dza,Eza,Fza;l(Cza,z);function Gza(a,b,c){var d=new Cza;d.b=a;d.a=b;d.f=c;return d}Cza.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1269. function $I(){$I=function(){};Dza=Gza("OFF",0,null);Eza=Gza("UNMAPPED",1,A([36],Ob,Pb,1));Fza=Gza("MAPPED",2,A([36],Ob,Pb,1))}function Hza(){this.a=0}var Iza,Jza;l(Hza,z);function Kza(a,b){var c=new Hza;c.b=a;c.a=b;return c}Hza.prototype.R=function(a){return z.prototype.c.call(this,a)};function Lza(){Lza=function(){};Iza=Kza("DEFAULT",0);Jza=Kza("EXTERNS",1)}function Mza(){this.a=0}var aJ,Nza,Oza;l(Mza,z);function Pza(a,b){var c=new Mza;c.b=a;c.a=b;return c}
  1270. function bJ(a){return q(a,aJ)||q(a,Nza)}Mza.prototype.R=function(a){return z.prototype.c.call(this,a)};function cJ(){cJ=function(){};Oza=Pza("RAW",0);aJ=Pza("NORMALIZED",1);Nza=Pza("NORMALIZED_OBFUSCATED",2)}Mza.prototype.ba=!0;function Qza(){}var Rza;l(Qza,n);function dJ(a){if(a.v){a=eJ(a);Sza();var b=new Tza;Uza(b,a);a=b}else a=Vza();return a}function fJ(a){var b=a.a.Tc;Wza();var c=new Xza;c.a=G(a);c.b=b;return c}
  1271. function gJ(){gJ=function(){};Rza=U("JSC_READ_ERROR","Cannot read file {0}: {1}")}function Yza(){this.f=this.a=0}var hJ,iJ,jJ,Zza;l(Yza,z);function $za(a,b,c){var d=new Yza;d.b=a;d.a=b;d.f=c<<24>>24;return d}function aAa(a,b){a=a.f|b.f;switch(a){case 0:return hJ;case 1:return iJ;case 2:return jJ;case 3:return Zza;default:throw pb("unexpected value: "+a).s;}}Yza.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1272. function kJ(){kJ=function(){};hJ=$za("NORMAL",0,0);iJ=$za("GETTER_ONLY",1,1);jJ=$za("SETTER_ONLY",2,2);Zza=$za("GETTER_AND_SETTER",3,3)}function bAa(){}l(bAa,n);function cAa(a){var b=new bAa;b.a=a;return b}function Xza(){this.b=!1}var dAa,eAa,fAa,gAa,hAa;l(Xza,n);function lJ(a,b){return mJ(a,b,!1)}
  1273. function nJ(a,b){F(eH(b)||fH(b)||ZG(b),b);if(16==(oG(b)|16)||16==((oG(b)|16)&-5)&&iAa(b))return!1;var c=b.a;if(L(c)){if(c=c.l(),dAa.B(c))return!1}else if(N(c)||YG(c)){if(gF(b)&&eAa.B(O(c).l())||16==((oG(b)|16)&-3)&&oJ(c.a))return!1;if(L(c.a)&&DC(c)&&li(c.a.l(),"Math"))switch(O(c).l()){case "abs":case "acos":case "acosh":case "asin":case "asinh":case "atan":case "atanh":case "atan2":case "cbrt":case "ceil":case "cos":case "cosh":case "exp":case "expm1":case "floor":case "hypot":case "log":case "log10":case "log1p":case "log2":case "max":case "min":case "pow":case "round":case "sign":case "sin":case "sinh":case "sqrt":case "tan":case "tanh":case "trunc":return!1;
  1274. case "random":return!gF(b)}if(!a.a.le){if(UH(c.a)&&fAa.B(O(c).l()))return!1;a:if(b=c.a,Dw(b))a=!0;else{if(a.a.a.jc&&(b=b.f)&&(a=qy(eJ(a.a),(I(),$v)),b.I(a))){a=!0;break a}a=!1}if(a&&(a=O(c).l(),c=c.b))if(Dw(c)){if(gAa.B(a))return!1}else if(UH(c)){if("replace"===a)return!Dw(c.b);if(gAa.B(a))return!1}}}return!0}
  1275. function mJ(a,b,c){var d=b.m();switch(b.c.a){case 42:case 107:case 108:case 106:case 105:case 77:case 80:case 104:case 92:case 113:return!0;case 103:return!1;case 46:case 45:case 41:if(c)return!0;break;case 119:case 121:if(a.b)break;return!0;case 118:case 120:if(pJ(b))return!0;break;case 32:if(b.a)return!0;break;case 69:return c||qJ(b);case 90:case 91:case 102:return!1;case 100:return c||rJ(b)||mJ(a,R(b),c)||mJ(a,O(b),c);case 101:for(b=b.a;b;b=b.b)if(rH(b)&&mJ(a,b.a,c))return!0;return!1;case 23:if(c)return!0;
  1276. if(!sJ(b))break;return!0;case 28:case 31:if(!nJ(a,b))break;return!0;case 123:return nJ(a,b);case 96:case 65:case 86:case 85:case 88:case 63:case 70:case 48:case 127:case 33:case 64:case 66:case 36:case 38:case 37:case 35:case 34:case 71:case 125:case 47:case 84:case 124:case 126:case 122:break;case 95:if($w(d)&&(0!=(jAa(a,b.l()).f&1)||q(O(d).c,(H(),pu))))return!0;break;case 27:case 30:break;case 26:case 29:if(0!=(jAa(a,O(b).l()).f&3))return!0;break;default:if(!kAa(b)){if(XI(b)){d=b.a;if(L(d)||mJ(a,
  1277. b.a,c)||mJ(a,O(b),c))return!0;if(UI(d)){a=d.a;if(oJ(a))return!1;for(;UI(a);)a=a.a;return!tJ(a,!0)}return!tJ(d,!0)}return!0}}for(b=b.a;b;b=b.b)if(mJ(a,b,c))return!0;return!1}function sJ(a){Ii(TC(a),"Expected NEW node, got %s",a.c);if(16==(oG(a)|16)||16==((oG(a)|16)&-5)&&iAa(a))return!1;a=a.a;return!L(a)||!hAa.B(a.l())}
  1278. function lAa(a,b){G(a.a);if(XI(b))return!0;switch(b.c.a){case 24:case 68:case 67:case 107:case 42:case 108:case 77:case 105:case 106:return!0;case 31:case 28:case 123:return nJ(a,b);case 23:return sJ(b);case 32:return!!b.a;case 99:return!0;case 119:case 121:return!a.b;case 118:case 120:return pJ(b);case 95:if($w(b.m()))return 0!=(jAa(a,b.l()).f&1);break;case 26:case 29:return 0!=(jAa(a,O(b).l()).f&3)}return!1}function jAa(a,b){return a.b?(kJ(),hJ):a.a.Ha.a.Ya(b,(kJ(),hJ))}
  1279. function Wza(){Wza=function(){};hAa=jm("Array","Date","Error","Object","RegExp","XMLHttpRequest",A([],B,y,1));dAa=jm("Object","Array","String","Number","Boolean","RegExp",A(["Error"],B,y,1));eAa=em("toString","valueOf");fAa=em("test","exec");gAa=hm("match","replace","search","split")}function mAa(){}l(mAa,n);
  1280. function nAa(a){var b="";a.a||(b=r(b)+" assertionKind");a.c||(b=r(b)+" paramIndex");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.b;var c=a.a,d=a.c.xb(),e=new uJ;e.b=a.f;e.a=b;e.f=c;e.c=d;F(null!=e.b||!!e.a,"Must provide a function name or ClosurePrimitive for each spec");return e}function oAa(){}l(oAa,mAa);function pAa(a,b){a.f=b;return a}function qAa(a,b){if(!b)throw rb("Null assertionKind").s;a.a=b;return a}function rAa(){var a=new oAa;a.c=Fc(0);return a}function sAa(){}l(sAa,n);
  1281. function tAa(a){return a instanceof sAa}function uJ(){this.c=0}l(uJ,sAa);uJ.prototype.toString=function(){return"AssertionFunctionSpec{functionName="+r(this.b)+", closurePrimitive="+r(this.a)+", assertionKind="+r(this.f)+", paramIndex="+this.c+"}"};uJ.prototype.I=function(a){return q(a,this)?!0:tAa(a)?(null==this.b?null==a.b:q(this.b,a.b))&&(this.a?cd(this.a,a.a):!a.a)&&cd(this.f,a.f)&&this.c==a.c:!1};
  1282. uJ.prototype.P=function(){var a=1000003^(null==this.b?0:Yg(this.b));a=1000003*a^(this.a?ed(this.a):0);a=1000003*a^ed(this.f);return a=1000003*a^this.c};function uAa(){this.a=0}var vAa,wAa;l(uAa,z);function xAa(a,b){var c=new uAa;c.b=a;c.a=b;return c}uAa.prototype.R=function(a){return z.prototype.c.call(this,a)};function yAa(){yAa=function(){};vAa=xAa("TRUTHY",0);wAa=xAa("MATCHES_RETURN_TYPE",1)}function zAa(){}l(zAa,n);function AAa(a,b,c){var d=new zAa;d.c=a;d.a=b;d.b=c;return d}function BAa(){}
  1283. l(BAa,n);function CAa(){}l(CAa,n);function DAa(a,b,c){var d=new CAa;d.c=a;d.b=b;d.a=c;return d}function EAa(){this.a=0}var vJ,wJ,xJ;l(EAa,z);function FAa(a,b){var c=new EAa;c.b=a;c.a=b;return c}EAa.prototype.R=function(a){return z.prototype.c.call(this,a)};function yJ(){yJ=function(){};wJ=FAa("ERROR",0);xJ=FAa("WARNING",1);vJ=FAa("OFF",2)}EAa.prototype.ba=!0;function zJ(){}l(zJ,n);function U(a,b){return GAa(a,(yJ(),wJ),b)}function AJ(a,b){return GAa(a,(yJ(),xJ),b)}
  1284. function BJ(a,b){return GAa(a,(yJ(),vJ),b)}function GAa(a,b,c){c=cra(c);var d=new zJ;d.a=a;d.c=b;d.b=c;return d}zJ.prototype.I=function(a){return CJ(a)&&q(a.a,this.a)};zJ.prototype.P=function(){return Yg(this.a)};zJ.prototype.R=function(a){return kc(this.a,a.a)};function CJ(a){return a instanceof zJ}zJ.prototype.ba=!0;function HAa(){}l(HAa,n);
  1285. function IAa(a,b,c){var d=new HAa;Ii(DC(b),"Expected qualified name, found: %s",b);Ii(DC(c),"Expected qualified name, found: %s",c);d.c=a;d.a=EC(b);d.b=EC(c);return d}function JAa(){this.a=0}var DJ,KAa;l(JAa,z);function LAa(a,b){var c=new JAa;c.b=a;c.a=b;return c}JAa.prototype.R=function(a){return z.prototype.c.call(this,a)};function EJ(){EJ=function(){};DJ=LAa("INHERITS",0);KAa=LAa("MIXIN",1)}function MAa(){}l(MAa,n);function FJ(a,b){var c=new MAa;c.a=a;c.c=b;c.b=IA(a);return c}
  1286. function NAa(){this.a=0}var OAa,PAa,QAa,RAa,SAa,TAa,UAa,VAa,WAa,XAa,YAa,ZAa;l(NAa,z);function GJ(a,b){var c=new NAa;c.b=a;c.a=b;return c}function $Aa(a){switch(a.a){case 0:case 1:return!1;default:return!0}}
  1287. function HJ(a){switch(a.a){case 0:return uI(),yI;case 1:case 2:return uI(),IJ;case 3:return uI(),JJ;case 5:return uI(),KJ;case 6:return uI(),LJ;case 7:return uI(),MJ;case 8:return uI(),NJ;case 9:return uI(),OJ;case 10:case 13:return uI(),PJ;case 11:return uI(),QJ;case 14:return uI(),RJ;case 4:return uI(),SJ;case 12:throw xb("STABLE has different feature sets for language in and out. Use STABLE_IN or STABLE_OUT.").s;}throw ob().s;}NAa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1288. function TJ(){TJ=function(){};PAa=GJ("ECMASCRIPT3",0);QAa=GJ("ECMASCRIPT5",1);OAa=GJ("ECMASCRIPT_2015",3);RAa=GJ("ECMASCRIPT6_TYPED",4);SAa=GJ("ECMASCRIPT_2016",5);TAa=GJ("ECMASCRIPT_2017",6);UAa=GJ("ECMASCRIPT_2018",7);VAa=GJ("ECMASCRIPT_2019",8);WAa=GJ("ECMASCRIPT_2020",9);XAa=GJ("STABLE",12);YAa=GJ("NO_TRANSPILE",13);ZAa=VAa}function UJ(){this.a=0}
  1289. var Uya,ZI,aBa,VJ,WJ,XJ,bBa,cBa,YJ,ZJ,dBa,$J,aK,bK,cK,dK,eK,fK,gK,hK,iK,jK,kK,lK,mK,nK,eBa,fBa,gBa,oK,pK,qK,rK,sK,tK,uK,vK,wK,xK,yK,zK,AK,BK,CK,DK,EK,hBa,iBa,FK,GK,jBa,kBa,lBa,mBa,nBa,oBa,pBa,qBa,rBa,sBa,tBa,uBa,vBa;l(UJ,z);function HK(a,b,c,d){var e=new UJ;e.b=a;e.a=b;e.f=c;e.g=d;return e}UJ.prototype.toString=function(){return this.f};UJ.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1290. function KI(){KI=function(){};aBa=HK("ES3_KEYWORDS_AS_IDENTIFIERS",0,"ES3 keywords as identifiers",(wBa(),IK));VJ=HK("GETTER",1,"getters",IK);WJ=HK("KEYWORDS_AS_PROPERTIES",2,"reserved words as properties",IK);XJ=HK("SETTER",3,"setters",IK);bBa=HK("STRING_CONTINUATION",4,"string continuation",IK);cBa=HK("TRAILING_COMMA",5,"trailing comma",IK);YJ=HK("ARRAY_PATTERN_REST",6,"array pattern rest",JK);ZJ=HK("ARROW_FUNCTIONS",7,"arrow function",JK);dBa=HK("BINARY_LITERALS",8,"binary literal",JK);$J=HK("BLOCK_SCOPED_FUNCTION_DECLARATION",
  1291. 9,"block-scoped function declaration",JK);aK=HK("CLASSES",10,"class",JK);bK=HK("CLASS_EXTENDS",11,"class extends",JK);cK=HK("CLASS_GETTER_SETTER",12,"class getters/setters",JK);dK=HK("COMPUTED_PROPERTIES",13,"computed property",JK);eK=HK("CONST_DECLARATIONS",14,"const declaration",JK);fK=HK("DEFAULT_PARAMETERS",15,"default parameter",JK);gK=HK("ARRAY_DESTRUCTURING",16,"array destructuring",JK);hK=HK("OBJECT_DESTRUCTURING",17,"object destructuring",JK);iK=HK("EXTENDED_OBJECT_LITERALS",18,"extended object literal",
  1292. JK);jK=HK("FOR_OF",19,"for-of loop",JK);kK=HK("GENERATORS",20,"generator",JK);lK=HK("LET_DECLARATIONS",21,"let declaration",JK);mK=HK("MEMBER_DECLARATIONS",22,"member declaration",JK);nK=HK("NEW_TARGET",23,"new.target",JK);eBa=HK("OCTAL_LITERALS",24,"octal literal",JK);fBa=HK("REGEXP_FLAG_U",25,"RegExp flag 'u'",JK);gBa=HK("REGEXP_FLAG_Y",26,"RegExp flag 'y'",JK);oK=HK("REST_PARAMETERS",27,"rest parameter",JK);pK=HK("SPREAD_EXPRESSIONS",28,"spread expression",JK);qK=HK("SUPER",29,"super",JK);rK=HK("TEMPLATE_LITERALS",
  1293. 30,"template literal",JK);sK=HK("MODULES",31,"modules",JK);tK=HK("EXPONENT_OP",32,"exponent operator (**)",xBa);uK=HK("ASYNC_FUNCTIONS",33,"async function",yBa);vK=HK("TRAILING_COMMA_IN_PARAM_LIST",34,"trailing comma in param list",yBa);wK=HK("OBJECT_LITERALS_WITH_SPREAD",35,"object literals with spread",KK);xK=HK("OBJECT_PATTERN_REST",36,"object pattern rest",KK);yK=HK("ASYNC_GENERATORS",37,"async generator functions",KK);zK=HK("FOR_AWAIT_OF",38,"for-await-of loop",KK);AK=HK("REGEXP_FLAG_S",39,"RegExp flag 's'",
  1294. KK);BK=HK("REGEXP_LOOKBEHIND",40,"RegExp Lookbehind",KK);CK=HK("REGEXP_NAMED_GROUPS",41,"RegExp named groups",KK);DK=HK("REGEXP_UNICODE_PROPERTY_ESCAPE",42,"RegExp unicode property escape",KK);ZI=HK("UNESCAPED_UNICODE_LINE_OR_PARAGRAPH_SEP",43,"Unescaped unicode line or paragraph separator",zBa);EK=HK("OPTIONAL_CATCH_BINDING",44,"Optional catch binding",zBa);hBa=HK("DYNAMIC_IMPORT",45,"Dynamic module import",LK);iBa=HK("IMPORT_META",46,"import.meta",ABa);FK=HK("NULL_COALESCE_OP",47,"Nullish coalescing",
  1295. ABa);GK=HK("OPTIONAL_CHAINING",48,"Optional chaining",LK);jBa=HK("ACCESSIBILITY_MODIFIER",49,"accessibility modifier",MK);kBa=HK("AMBIENT_DECLARATION",50,"ambient declaration",MK);lBa=HK("CALL_SIGNATURE",51,"call signature",MK);mBa=HK("CONSTRUCTOR_SIGNATURE",52,"constructor signature",MK);nBa=HK("ENUM",53,"enum",MK);oBa=HK("GENERICS",54,"generics",MK);pBa=HK("IMPLEMENTS",55,"implements",MK);qBa=HK("INDEX_SIGNATURE",56,"index signature",MK);rBa=HK("INTERFACE",57,"interface",MK);sBa=HK("MEMBER_VARIABLE_IN_CLASS",
  1296. 58,"member variable in class",MK);tBa=HK("NAMESPACE_DECLARATION",59,"namespace declaration",MK);uBa=HK("OPTIONAL_PARAMETER",60,"optional parameter",MK);vBa=HK("TYPE_ALIAS",61,"type alias",MK);Uya=HK("TYPE_ANNOTATION",62,"type annotation",MK)}function NK(a){return a instanceof UJ}function BBa(){this.a=0}var IK,JK,xBa,yBa,KK,zBa,LK,ABa,MK,CBa,DBa,EBa;l(BBa,z);function OK(a,b){var c=new BBa;c.b=a;c.a=b;return c}
  1297. function PK(a){var b=tn();KI();var c=A([aBa,VJ,WJ,XJ,bBa,cBa,YJ,ZJ,dBa,$J,aK,bK,cK,dK,eK,fK,gK,hK,iK,jK,kK,lK,mK,nK,eBa,fBa,gBa,oK,pK,qK,rK,sK,tK,uK,vK,wK,xK,yK,zK,AK,BK,CK,DK,ZI,EK,hBa,iBa,FK,GK,jBa,kBa,lBa,mBa,nBa,oBa,pBa,qBa,rBa,sBa,tBa,uBa,vBa,Uya],UJ,NK,1);for(var d=0;d<c.length;d++){var e=c[d];q(e.g,a)&&b.add(e)}return b}BBa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1298. function wBa(){wBa=function(){};CBa=OK("ES3",0);IK=OK("ES5",1);JK=OK("ES6",2);xBa=OK("ES7",3);yBa=OK("ES8",4);KK=OK("ES2018",5);zBa=OK("ES2019",6);ABa=OK("ES2020",7);DBa=OK("ES_NEXT_IN",8);EBa=OK("ES_NEXT",9);LK=OK("ES_UNSUPPORTED",10);MK=OK("TYPESCRIPT",11)}function QK(){}var vI,SJ,yI,IJ,JJ,KJ,LJ,MJ,NJ,OJ,PJ,QJ,RJ,RK,SK,FBa,TK,UK,GBa,HBa;l(QK,n);function VK(a){var b=new QK;b.a=nm(a);return b}
  1299. function IBa(a){if(xI(yI,a))return"es3";if(xI(IJ,a))return"es5";if(xI(JJ,a))return"es6";if(xI(KJ,a))return"es7";if(xI(LJ,a))return"es8";if(xI(MJ,a))return"es9";if(xI(NJ,a))return"es_2019";if(xI(OJ,a))return"es_2020";if(xI(PJ,a))return"es_next";if(xI(QJ,a))return"es_next_in";if(xI(RJ,a))return"es_unsupported";if(xI(SJ,a))return"ts";if(xI(RK,a))return"ts_unsupported";throw pb(a.toString()).s;}function WK(a,b,c){return VK(JBa(a.a,wn(b,c)))}function XK(a,b){return VK(JBa(a.a,b.a))}
  1300. function YK(a,b){return VK(ZK(a.a,b.a))}function xI(a,b){return a.a.Db(b.a)}function YI(a,b){return a.a.Db(yia(b))}function KBa(a){return a.D()?tn():Qga(a)}function ZK(a,b){a=KBa(a);a.na(b);return a}function JBa(a,b){a=KBa(a);a.Nb(b);return a}function $K(a,b){a.a.B(b)?b=a:(a=KBa(a.a),a.add(b),b=VK(a));return b}function aL(a,b){return VK(ZK(a.a,Cha(b)))}function bL(a,b){return VK(ZK(a.a,b))}function JI(a,b){return a.a.B(b)}QK.prototype.I=function(a){return a instanceof QK&&a.a.I(this.a)};
  1301. QK.prototype.P=function(){return this.a.P()};QK.prototype.toString=function(){return this.a.toString()};
  1302. function LBa(a){uI();switch(a){case "es3":return yI;case "es5":return IJ;case "es6":return SK;case "es7":return FBa;case "es8":return TK;case "es2018":case "es9":return UK;case "es_2019":return GBa;case "es_2020":return HBa;case "es_next":return PJ;case "es_next_in":return QJ;case "es_unsupported":return RJ;case "ts":return SJ;case "ts_unsupported":return RK;default:throw ua("No such FeatureSet: "+r(a)).s;}}function cL(){uI();return RK}function dL(){uI();return PJ}
  1303. function uI(){uI=function(){};vI=VK(tn());yI=bL(vI,PK((wBa(),CBa)));IJ=bL(yI,PK(IK));JJ=bL(IJ,PK(JK));SK=WK(JJ,(KI(),sK),A([],UJ,NK,1));KJ=bL(JJ,PK(xBa));FBa=WK(KJ,sK,A([],UJ,NK,1));LJ=bL(KJ,PK(yBa));TK=WK(LJ,sK,A([],UJ,NK,1));MJ=bL(LJ,PK(KK));UK=WK(MJ,sK,A([],UJ,NK,1));NJ=bL(MJ,PK(zBa));GBa=WK(NJ,sK,A([],UJ,NK,1));OJ=bL(NJ,PK(ABa));HBa=WK(OJ,sK,A([],UJ,NK,1));PJ=bL(OJ,PK(EBa));QJ=bL(PJ,PK(DBa));RJ=bL(QJ,PK(LK));SJ=bL(QJ,PK(MK));WK(NJ,AK,A([BK,CK,DK],UJ,NK,1));RK=bL(SJ,PK(LK))}QK.prototype.ba=!0;
  1304. function MBa(){this.a=0}var eL,NBa,OBa,PBa;l(MBa,z);function QBa(a,b,c){var d=new MBa;d.b=a;d.a=b;d.f=c;return d}function RBa(a,b){return a.I(eL)?fL(b)&&tF(b.ka().m(),(kx(),WE)):gL(b.ka())}function SBa(a){hL();switch(a){case "arguments":return NBa;case "super":return OBa;case "this":return PBa;case "exports":return eL;default:return null}}MBa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1305. function hL(){hL=function(){};NBa=QBa("ARGUMENTS",0,"arguments");eL=QBa("EXPORTS",1,"exports");OBa=QBa("SUPER",2,"super");PBa=QBa("THIS",3,"this")}function iL(){}l(iL,n);function TBa(a,b){return jL(a,b)}iL.prototype.I=function(a){return a instanceof iL?li(this.ze(),a.ze())&&cd(this.od(),a.od()):!1};iL.prototype.P=function(){return Fg([this.ze(),this.od()])};function UBa(){this.g=0}var VBa;l(UBa,iL);g=UBa.prototype;g.va=function(){return this.o};g.N=function(){return this.a};
  1306. g.Me=function(){return Sz(this.a?this.a:this.b.ka())};g.hg=function(){return this};g.hb=function(){return this.a?this:null};function kL(a){return a.a?a.a.m():null}function WBa(a){a=kL(a);return!!a&&lL(a)}g.ya=function(){return this.b};function mL(a){return nL(a.b)}function oL(a){return!a.c||pL(a.c)}function qL(a){return a.a?rya(a.a)||sya(a.a)||tF(a.a,(kx(),IE)):!1}function rL(a){return sL(a.a)}g.Yb=function(){return this.a?tL(this.a):null};function uL(a){return q(vL(a),(H(),bu))}
  1307. function wL(a){return q(vL(a),(H(),Rt))}function xL(a){return q(vL(a),(H(),Qs))}function XBa(a){var b=a.a.m();return Gw(b.m())&&vH(b)&&q(b.a,a.a)}function YBa(a){return"arguments"===a.o&&yL(a.b)}function ZBa(a){return fL(a.b)&&"exports"===a.o&&$Ba(a)}function $Ba(a){var b=SBa(a.o);return!!b&&RBa(b,a.b)}function vL(a){for(var b=a.a;b;b=b.m())if(VBa.B(b.c))return b.c;Ki($Ba(a),"The nameNode for %s must be a descendant of one of: %s",a,VBa);return null}g.ze=function(){return this.va()};g.od=function(){return this.b.ka()};
  1308. function aCa(){aCa=function(){};VBa=zn((H(),Ft),A([bu,Rt,ut,Yt,Ht,gu,Qs],hs,Qu,1))}g.ba=!0;function bCa(){}l(bCa,n);
  1309. function cCa(a,b,c){switch(b.c.a){case 28:if(kG(b)&&N(b.a)&&xG(hF(b),"goog"))switch(a.a.B((zL(),AL))||a.a.add((zL(),AL)),c=O(b),O(b.a).l()){case "module":a.c.C("module","goog");case "provide":if(!Dw(c))return;a.b.add(c.l());return;case "require":if(!Dw(c))return;a.a.add(dCa(c.l()));return;case "requireType":if(!Dw(c))return;a.g.add(c.l());return;case "loadModule":b=O(c);break;default:return}else if(N(c)&&yG(c,"goog.declareModuleId")&&eH(c.m())){c=R(c.m());if(!Dw(c))return;a.b.add(c.l())}break;case 116:tF(c,
  1310. (kx(),WE))||(a.b.add(BL(a.f)),a.c.C("module","es6"));break;case 109:eCa(a,O(b),b);return;case 113:fCa(b)&&eCa(a,O(b),b);return;case 80:xG(b.a,"goog")&&CL(b.a)&&a.b.add("goog");break;case 88:case 92:case 86:case 89:case 32:case 99:case 104:break;default:return}for(c=b.a;c;c=c.b)cCa(a,c,b)}function eCa(a,b,c){D(Dw(b));D(xH(c)||GH(c));c=b.l();if(zi(c,"goog:"))a.a.add(dCa(c.substr(5)));else{var d=DL(a.f,c,a.f.toString(),XA(b),YA(b));d||(d=EL(a.f,c));a.a.add(gCa(BL(d),b.l()))}}function hCa(){}l(hCa,n);
  1311. function iCa(){}l(iCa,hCa);function jCa(a,b){if(null==b)throw rb("Null symbol").s;a.b=b;return a}function rCa(a){var b=new iCa;if(null==a)throw rb("Null rawText").s;b.a=a;return b}function sCa(a,b){if(!b)throw rb("Null type").s;a.c=b;return a}function tCa(a){var b="";null==a.b&&(b=r(b)+" symbol");null==a.a&&(b=r(b)+" rawText");a.c||(b=r(b)+" type");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.b;var c=a.a;a=a.c;zL();var d=new FL;d.a=b;d.b=c;d.c=a;return d}function uCa(){}var AL;
  1312. l(uCa,n);function GL(a){zL();return og(tg(Ak(a),u(function(b){return b.a})),Rl())}function dCa(a){zL();return tCa(sCa(jCa(rCa(a),a),(HL(),vCa)))}function gCa(a,b){zL();return tCa(sCa(jCa(rCa(b),a),(HL(),wCa)))}function xCa(a){zL();return tCa(sCa(jCa(rCa(a),a),(HL(),yCa)))}function zL(){zL=function(){};AL=dCa("goog")}uCa.prototype.ba=!0;function FL(){}l(FL,uCa);FL.prototype.toString=function(){return"Require{symbol="+r(this.a)+", rawText="+r(this.b)+", type="+r(this.c)+"}"};
  1313. FL.prototype.I=function(a){return q(a,this)?!0:a instanceof uCa?q(this.a,a.a)&&q(this.b,a.b)&&cd(this.c,a.c):!1};FL.prototype.P=function(){var a=1000003^Yg(this.a);a=1000003*a^Yg(this.b);return a=1000003*a^ed(this.c)};function zCa(){this.a=0}var vCa,wCa,ACa,yCa;l(zCa,z);function BCa(a,b){var c=new zCa;c.b=a;c.a=b;return c}zCa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1314. function HL(){HL=function(){};vCa=BCa("GOOG_REQUIRE_SYMBOL",0);wCa=BCa("ES6_IMPORT",1);ACa=BCa("COMMON_JS",3);yCa=BCa("COMPILER_MODULE",4)}var CCa;function DCa(a){IL();return ECa(FCa(a))}function GCa(a){IL();return HCa(FCa(a))}function FCa(a){IL();a=wi(wi(wi(wi(wi(vi(vi(a,58,45),92,47)," ","%20"),"[","%5B"),"]","%5D"),"<","%3C"),">","%3E");return ICa(a)}
  1315. function HCa(a){IL();ki(a,".js")&&(a=ne(a,0,a.length-3),ki(a,".js.i")&&(a=ne(a,0,a.length-5)));return wi(vi(vi(vi(vi(vi(vi(wi(nfa(a,"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),"%20","_")}function ECa(a){IL();zi(a,"/")&&(a=a.substr(1));return"module$"+r(HCa(a))}
  1316. function ICa(a){IL();a=yi(a,"/",0);var b=za([a.length],B,y,B.a),c=0,d=0,e=1<a.length&&te(a[0]);e&&--d;for(var f=0;f<a.length;f++){var h=a[f];"."!==h&&(".."===h?0<d?(--c,--d,b[c]=null):e||(b[c]=h,++c):(b[c]=h,++c,++d))}return e&&1==c?"/":uk(CCa,Dg(b,c))}function IL(){IL=function(){};CCa=qk("/")}function JCa(){}l(JCa,n);function KCa(a,b){var c=new JCa;c.a=a;c.b=b;return c}JCa.prototype.toString=function(){return this.b};function BL(a){return ECa(a.b)}
  1317. function DL(a,b,c,d,e){b=a.a.b.b(a.b,b,c,d,e);return null!=b?KCa(a.a,b):null}function EL(a,b){return KCa(a.a,a.a.b.g(a.b,b))}function JL(){}l(JL,n);function LCa(a,b,c,d,e){a.o=b;a.f=c;a.a=d;a.u=e}JL.prototype.g=function(a,b){ki(b,".js")||(b=r(b)+".js");var c=this.u.f(b);KL(b)&&(b=a.lastIndexOf("/"),c=ICa(r(ne(a,0,b+1))+r(c)));return LL(c,this.f)};
  1318. function MCa(a,b,c){c=b=NCa(a,b,c);ML(b)&&(c="/"+r(b));if(a.o.B(c))return b;for(var d=a.f.h();d.i();){var e=d.j();e=r(e)+r(c);if(a.o.B(e))return b}return null}function NCa(a,b,c){a=a.u.f(c);KL(c)&&(c=b.lastIndexOf("/"),a=ICa(r(ne(b,0,c+1))+r(a)));return a}function OCa(){}var PCa;l(OCa,JL);
  1319. OCa.prototype.b=function(a,b,c,d,e){if(ML(b))return this.a.rd((yJ(),xJ),NL(c,d,e,(OL(),QCa),A([b,(PL(),RCa).toString()],B,y,1))),null;a=MCa(this,a,b);null==a&&this.a.rd((yJ(),xJ),NL(c,d,e,(OL(),QL),A([b],B,y,1)));return a};function SCa(){SCa=function(){};PCa=new TCa(function(a,b,c,d){var e=new OCa;LCa(e,a,b,c,d);return e})}function TCa(a){this.b=a}l(TCa,n);TCa.prototype.a=function(a,b,c,d){var e;return e=this.b,e(a,b,c,d)};function RL(){this.a=0}var UCa,VCa;l(RL,z);
  1320. function SL(){SL=function(){};UCa=WCa();VCa=XCa()}function YCa(){this.a=0}l(YCa,RL);function WCa(){SL();var a=new YCa;a.b="ESCAPE";a.a=0;return a}YCa.prototype.f=function(a){return FCa(a)};YCa.prototype.R=function(a){return RL.prototype.c.call(this,a)};function ZCa(){this.a=0}l(ZCa,RL);function XCa(){SL();var a=new ZCa;a.b="CANONICALIZE_ONLY";a.a=1;return a}ZCa.prototype.f=function(a){return ICa(a)};ZCa.prototype.R=function(a){return RL.prototype.c.call(this,a)};function TL(){}l(TL,n);
  1321. function UL(a,b){return VL(a,Yx(a.b,b),null,-1,-1,null,a.c)}function NL(a,b,c,d,e){return VL(d,Yx(d.b,e),a,b,c,null,d.c)}function $Ca(a,b,c,d,e,f){return VL(e,Yx(e.b,f),a,b,c,null,d)}function V(a,b,c){return VL(b,Yx(b.b,c),WA(a),XA(a),YA(a),a,b.c)}function aDa(a,b,c,d){return VL(c,Yx(c.b,d),WA(a),XA(a),YA(a),a,b)}
  1322. TL.prototype.toString=function(){var a=null!=(this.a||null)?this.a:"(unknown source)",b=-1!=this.c?""+this.c:"(unknown line)",c=-1!=this.b?""+this.b:"(unknown column)";return r(this.o.a)+". "+r(this.g)+" at "+r(a)+" line "+r(b)+" : "+r(c)};function bDa(a,b,c){switch(b.a){case 0:return cDa(c,a,!1);case 1:return cDa(c,a,!0);default:return null}}TL.prototype.ba=!0;function dDa(){this.b=this.c=0}l(dDa,TL);
  1323. function VL(a,b,c,d,e,f,h){var k=new dDa;if(!a)throw rb("Null type").s;k.o=a;if(null==b)throw rb("Null description").s;k.g=b;k.a=c;k.c=d;k.b=e;k.f=f;if(!h)throw rb("Null defaultLevel").s;k.u=h;return k}dDa.prototype.I=function(a){return q(a,this)?!0:a instanceof TL?this.o.I(a.o)&&q(this.g,a.g)&&(null==this.a?null==a.a:q(this.a,a.a))&&this.c==a.c&&this.b==a.b&&(this.f?cd(this.f,a.f):!a.f)&&cd(this.u,a.u):!1};
  1324. dDa.prototype.P=function(){var a=1000003^this.o.P();a=1000003*a^Yg(this.g);a=1000003*a^(null==this.a?0:Yg(this.a));a=1000003*a^this.c;a=1000003*a^this.b;a=1000003*a^(this.f?ed(this.f):0);return a=1000003*a^ed(this.u)};function eDa(){this.a=0}var RCa,WL;l(eDa,z);function fDa(a,b){var c=new eDa;c.b=a;c.a=b;return c}eDa.prototype.R=function(a){return z.prototype.c.call(this,a)};function PL(){PL=function(){};RCa=fDa("BROWSER",0);WL=fDa("WEBPACK",3)}function gDa(){}l(gDa,n);gDa.prototype.rd=function(){};
  1325. function hDa(){this.a=0}var iDa;l(hDa,z);function jDa(){jDa=function(){};iDa=kDa()}hDa.prototype.ud=!0;function lDa(){this.a=0}l(lDa,hDa);function kDa(){jDa();var a=new lDa;a.b="RELATIVE";a.a=0;return a}lDa.prototype.R=function(a){return hDa.prototype.c.call(this,a)};lDa.prototype.f=function(a){return a};function mDa(){}var QCa,QL,nDa;l(mDa,n);
  1326. function oDa(a,b,c,d,e,f){G(b);G(c);G(e);G(f);a.o=e;a.f=f;a.a=new gDa;a.c=pDa(b,e,f);a.g=qDa(op(op(c,gj(function(h){return h.eb()})),e),a.c,f);a.b=d.a(a.g,a.c,a.a,a.f)}function rDa(){var a=Ll(),b=Ll(),c=(SCa(),PCa);OL();var d=new mDa;oDa(d,a,b,c,(jDa(),iDa),(SL(),UCa));return d}function sDa(a,b){return KCa(a,LL(a.f.f(a.o.f(b)),a.c))}function KL(a){OL();return zi(a,"./")||zi(a,"../")}function tDa(a){OL();return zi(a,"/")}function ML(a){OL();return!tDa(a)&&!KL(a)}
  1327. function pDa(a,b,c){var d=um(bc(new $b(function(f){return f.length})).hc(ec()).ac());for(a=a.h();a.i();){var e=a.j();e=c.f(b.f(e));ML(e)&&(e="/"+r(e));d.add(e)}return Wl(d)}function qDa(a,b,c){var d=Nj(),e=ef();for(a=a.h();a.i();){var f=a.j(),h=c.f(f);if(!e.add(LL(h,b)))throw ua("Duplicate module path after resolving: "+r(f)).s;ML(h)&&(h="/"+r(h));d.W(h)}return d.fa()}
  1328. function LL(a,b){OL();var c=a;ML(c)&&(c="/"+r(c));for(b=b.h();b.i();){var d=b.j();if(zi(c,d)&&(d=c.substr(d.length),zi(d,"/")))return d.substr(1)}return a}function uDa(a,b){b?a.a=b:a.a=new gDa;a.b.a=a.a}
  1329. function OL(){OL=function(){};AJ("JSC_MODULE_CONFLICT","File cannot be a combination of goog.provide, goog.module, and/or ES6 module: {0}");QL=U("JSC_JS_MODULE_LOAD_WARNING",'Failed to load module "{0}"');QCa=U("JSC_INVALID_MODULE_PATH",'Invalid module path "{0}" for resolution mode "{1}"');nDa=rDa()}function XL(){}l(XL,n);function vDa(a,b){var c=new XL;wDa(c,a,b);return c}function wDa(a,b,c){a.g=null;a.a=null;a.b=null;if(!b)throw ua("a source must have a name").s;a.c=b;a.f=c}g=XL.prototype;
  1330. g.Bn=function(a){xDa(this);if(1>a||a>this.a.length)throw ua("Expected line number between 1 and "+this.a.length+"\nActual: "+a).s;return this.a[a-1]};function xDa(a){if(!a.a)try{var b=yi(a.b,"\n",-1);a.a=za([b.length],Zc,$c,0);for(var c=1;c<b.length;++c)a.a[c]=a.a[c-1]+b[c-1].length+1}catch(d){if(d=va(d),Fa(d))a.a=za([1],Zc,$c,0),a.a[0]=0;else throw d.s;}}g.gn=function(a){this.b=null!=a&&zi(a,"\ufeff")?a.substr(1):a;this.a=null};function YL(a){return null!=a.g?a.g:a.c}g.io=function(a){this.g=a};
  1331. g.ub=function(){return this.c};g.Tf=function(){return this.f};g.toString=function(){return this.c};function ZL(a,b){var c=(gs(),ds),d=new yDa;d.a=ds;ena();d.b=null;d.a=c;c=new zDa;var e=d.b;wDa(c,a,d.a);XL.prototype.io.call(c,e);XL.prototype.gn.call(c,b);return c}g.Vg=function(){return q(this.Tf(),(gs(),fs))};g.lf=function(){return q(this.Tf(),(gs(),es))};g.ba=!0;function zDa(){}l(zDa,XL);zDa.prototype.Vg=function(){return q(this.Tf(),(gs(),fs))};
  1332. zDa.prototype.lf=function(){return q(this.Tf(),(gs(),es))};function yDa(){}l(yDa,n);function $L(){}l($L,n);$L.prototype.ba=!0;function ADa(){this.a=0}var aM,BDa,bM,CDa,DDa,cM;l(ADa,z);function dM(a,b){var c=new ADa;c.b=a;c.a=b;return c}ADa.prototype.R=function(a){return z.prototype.c.call(this,a)};function eM(){eM=function(){};aM=dM("NONE",0);BDa=dM("GOOG",1);bM=dM("ES6",2);CDa=dM("COMMONJS",3);DDa=dM("JSON",4);cM=dM("IMPORTED_SCRIPT",5)}function fM(){}l(fM,Da);function EDa(){}l(EDa,n);
  1333. function FDa(a,b,c){var d=ef();for(b=Vk(b);!b.D();){var e=b.Ta();if(d.add(e))for(e=GL(e.Yd()).h();e.i();){var f=e.j();f=a.a.get(f);null!=f&&b.add(f)}}b=Mj();for(a=(c?a.f:a.b).h();a.i();)c=a.j(),d.B(c)&&b.W(c);return b.fa()}function GDa(a,b){a=HDa(a,b);if(null!=a)return a;a=new fM;sa(a,b);a.a(Error(a));throw a.s;}function HDa(a,b){return a.a.X(b)?a.a.get(b):a.o.get(DCa(b))}function IDa(a,b){if(!a.c.B(b)){a.c.add(b);for(var c=a.g.Ua(b).h();c.i();){var d=c.j();IDa(a,d)}a.f.add(b)}}
  1334. function gM(){this.a=this.f=0}l(gM,$L);function JDa(a){var b=new gM;b.b=w();b.c=w();b.g=a;b.f=-1;b.a=-1;return b}g=gM.prototype;g.eb=function(){return this.g};g.He=function(){return Ml(this.g)};g.Dg=function(){return!1};g.kh=function(){return!1};g.Yd=function(){for(var a=Mj(),b=this.c.h();b.i();){var c=b.j();a.W(xCa(c.eb()))}return a.fa()};g.Wf=function(){return Ll()};g.Ll=function(){throw wb().s;};g.nh=function(){throw wb().s;};function hM(a,b){a.b.add(b);iM(b,a)}
  1335. function KDa(a,b){iM(b,null);a.b.sa(b)}function LDa(a){var b=kf();b.na(a.c);for(a=Vk(a.c);!a.D();)for(var c=a.Ta().c.h();c.i();){var d=c.j();b.add(d)&&a.Ea(d)}return b}g.toString=function(){return this.g};function MDa(a){return a instanceof gM}g.ba=!0;function NDa(){}l(NDa,n);NDa.prototype.ba=!0;function ODa(){}l(ODa,n);ODa.prototype.ba=!0;function PDa(){}l(PDa,n);PDa.prototype.b=function(a,b,c,d){this.f.add(new NDa);this.g.b(a,b,c,d)};
  1336. PDa.prototype.a=function(a,b,c,d){this.c.add(new NDa);this.g.a(a,b,c,d)};function QDa(){this.a=!1}var RDa,SDa;l(QDa,n);function TDa(a,b){if(!a.a){a.a=!0;var c=YL(a.b);try{var d=a.b.b,e=Sna(),f=Wna(d);Tna(e,f);a.c=e}catch(h){if(h=va(h),Fa(h))c=UL(RDa,A([c,h.b],B,y,1)),b.rd(c.u,c);else if(h instanceof moa)c=UL(SDa,A([c,h.b],B,y,1)),b.rd(c.u,c);else throw h.s;}}return a.c}
  1337. function UDa(){UDa=function(){};RDa=AJ("SOURCEMAP_RESOLVE_FAILED","Failed to resolve sourcemap at {0}: {1}");SDa=AJ("SOURCEMAP_PARSE_FAILED","Failed to parse malformed sourcemap in {0}: {1}")}QDa.prototype.ba=!0;function VDa(){this.a=0}var WDa,XDa,YDa,ZDa,$Da,aEa,bEa,cEa,dEa,eEa,fEa,gEa,hEa,iEa,jEa,kEa,lEa,mEa,nEa,oEa,pEa,qEa,rEa,sEa,tEa,uEa,vEa,wEa,xEa,yEa,zEa,AEa,BEa,CEa,DEa,EEa,FEa,GEa,HEa,IEa,JEa,KEa,LEa,MEa,NEa,jM,OEa,PEa,QEa,REa,SEa,TEa,UEa,VEa,WEa,XEa,YEa,ZEa,$Ea;l(VDa,z);
  1338. function kM(a,b){var c=new VDa;c.b=a;c.a=b;return c}VDa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1339. function lM(){lM=function(){};WDa=kM("NG_INJECT",0);XDa=kM("ABSTRACT",1);YDa=kM("AUTHOR",2);ZDa=kM("CLOSURE_PRIMITIVE",3);$Da=kM("CONSTANT",4);aEa=kM("CONSTRUCTOR",5);bEa=kM("CUSTOM_ELEMENT",6);cEa=kM("RECORD",7);dEa=kM("DEFINE",8);eEa=kM("DEPRECATED",9);fEa=kM("DESC",10);gEa=kM("DICT",11);hEa=kM("ENUM",12);iEa=kM("EXTENDS",13);jEa=kM("EXTERNS",14);kEa=kM("EXPORT",15);lEa=kM("EXPOSE",16);mEa=kM("FILE_OVERVIEW",17);nEa=kM("FINAL",18);oEa=kM("HIDDEN",19);pEa=kM("IDGENERATOR",20);qEa=kM("IMPLEMENTS",
  1340. 21);rEa=kM("IMPLICIT_CAST",22);sEa=kM("INHERIT_DOC",23);tEa=kM("INTERFACE",24);uEa=kM("LENDS",25);vEa=kM("LICENSE",26);wEa=kM("MEANING",27);xEa=kM("MIXIN_CLASS",28);yEa=kM("MIXIN_FUNCTION",29);zEa=kM("MODIFIES",30);AEa=kM("NO_COLLAPSE",31);BEa=kM("NO_COMPILE",32);CEa=kM("NO_INLINE",33);DEa=kM("NO_SIDE_EFFECTS",34);EEa=kM("NOT_IMPLEMENTED",35);FEa=kM("OVERRIDE",36);GEa=kM("PACKAGE",37);HEa=kM("PARAM",38);IEa=kM("POLYMER",39);JEa=kM("POLYMER_BEHAVIOR",40);KEa=kM("PRESERVE",41);LEa=kM("PRIVATE",42);
  1341. MEa=kM("PROTECTED",43);NEa=kM("PUBLIC",44);jM=kM("RETURN",45);OEa=kM("SEE",46);PEa=kM("STRUCT",47);QEa=kM("SUPPRESS",48);REa=kM("TEMPLATE",49);SEa=kM("THIS",50);TEa=kM("THROWS",51);UEa=kM("TYPE",52);VEa=kM("TYPEDEF",53);WEa=kM("TYPE_SUMMARY",54);XEa=kM("UNRESTRICTED",55);YEa=kM("VERSION",56);ZEa=kM("WIZACTION",57);$Ea=Gj().L("ngInject",WDa).L("abstract",XDa).L("argument",HEa).L("author",YDa).L("closurePrimitive",ZDa).L("const",$Da).L("constant",$Da).L("constructor",aEa).L("customElement",bEa).L("copyright",
  1342. vEa).L("define",dEa).L("deprecated",eEa).L("desc",fEa).L("dict",gEa).L("enum",hEa).L("export",kEa).L("expose",lEa).L("extends",iEa).L("externs",jEa).L("fileoverview",mEa).L("final",nEa).L("hidden",oEa).L("idGenerator",pEa).L("implements",qEa).L("implicitCast",rEa).L("inheritDoc",sEa).L("interface",tEa).L("record",cEa).L("lends",uEa).L("license",vEa).L("meaning",wEa).L("mixinClass",xEa).L("mixinFunction",yEa).L("modifies",zEa).L("nocollapse",AEa).L("nocompile",BEa).L("noinline",CEa).L("nosideeffects",
  1343. DEa).L("override",FEa).L("owner",YDa).L("package",GEa).L("param",HEa).L("polymer",IEa).L("polymerBehavior",JEa).L("preserve",KEa).L("private",LEa).L("protected",MEa).L("public",NEa).L("return",jM).L("returns",jM).L("see",OEa).L("struct",PEa).L("suppress",QEa).L("template",REa).L("this",SEa).L("throws",TEa).L("type",UEa).L("typedef",VEa).L("typeSummary",WEa).L("unrestricted",XEa).L("version",YEa).L("wizaction",ZEa).Jb()}function aFa(){this.a=0}var mM,bFa,nM;l(aFa,z);
  1344. function cFa(a,b){var c=new aFa;c.b=a;c.a=b;return c}aFa.prototype.R=function(a){return z.prototype.c.call(this,a)};function oM(){oM=function(){};mM=cFa("TYPES_ONLY",0);bFa=cFa("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2);nM=cFa("INCLUDE_ALL_COMMENTS",3)}function pM(){this.a=0}var dFa,qM,eFa,fFa,gFa,hFa,iFa,jFa,kFa,lFa,mFa,rM;l(pM,z);function sM(a,b,c){var d=new pM;d.b=a;d.a=b;d.f=c;return d}
  1345. function nFa(a){tM();var b=A([qM,eFa,fFa,gFa,dFa,hFa,iFa,jFa,kFa,lFa,mFa,rM],pM,oFa,1);for(var c=0;c<b.length;c++){var d=b[c];if(JI(d.f,a))return d}throw pb("No input language mode supports feature: "+r(a)).s;}pM.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1346. function tM(){tM=function(){};qM=sM("ECMASCRIPT3",0,(uI(),yI));eFa=sM("ECMASCRIPT5",1,IJ);fFa=sM("ECMASCRIPT6",2,JJ);gFa=sM("ECMASCRIPT7",3,KJ);dFa=sM("ECMASCRIPT8",4,LJ);hFa=sM("ECMASCRIPT_2018",5,MJ);iFa=sM("ECMASCRIPT_2019",6,NJ);jFa=sM("ECMASCRIPT_2020",7,OJ);kFa=sM("ES_NEXT",8,PJ);lFa=sM("ES_NEXT_IN",9,QJ);mFa=sM("UNSUPPORTED",10,RJ);rM=sM("TYPESCRIPT",11,SJ)}function oFa(a){return a instanceof pM}function pFa(){this.a=0}var qFa,rFa;l(pFa,z);
  1347. function sFa(a,b){var c=new pFa;c.b=a;c.a=b;return c}pFa.prototype.R=function(a){return z.prototype.c.call(this,a)};function uM(){uM=function(){};qFa=sFa("STOP_AFTER_ERROR",0);rFa=sFa("KEEP_GOING",1)}function tFa(){this.a=0}var vM,uFa;l(tFa,z);function vFa(a,b){var c=new tFa;c.b=a;c.a=b;return c}tFa.prototype.R=function(a){return z.prototype.c.call(this,a)};function wM(){wM=function(){};vM=vFa("STRICT",0);uFa=vFa("SLOPPY",1)}function wFa(){}l(wFa,n);function xFa(){}l(xFa,n);
  1348. function yFa(){var a=zFa(AFa(BFa(CFa(new DFa,(tM(),rM)),(wM(),vM)),(oM(),mM)),(uM(),qFa));var b=dm();a=EFa(a,FFa(b));b=dm();a.b=nm(b);a=GFa(a,dm());a.a=!1;return a}function FFa(a){var b=el();b.$k((lM(),$Ea));for(a=a.h();a.i();){var c=a.j();te(c)||$Ea.X(c)||b.L(c,EEa)}return b.Jb()}function xM(){this.u=!1}l(xM,xFa);
  1349. xM.prototype.toString=function(){return"Config{languageMode="+r(this.a)+", strictMode="+r(this.c)+", jsDocParsingMode="+r(this.b)+", runMode="+r(this.f)+", annotations="+r(this.g)+", suppressionNames="+r(this.v)+", closurePrimitiveNames="+r(this.o)+", parseInlineSourceMaps="+this.u+"}"};xM.prototype.I=function(a){return q(a,this)?!0:a instanceof xFa?cd(this.a,a.a)&&cd(this.c,a.c)&&cd(this.b,a.b)&&cd(this.f,a.f)&&this.g.I(a.g)&&this.v.I(a.v)&&this.o.I(a.o)&&this.u==a.u:!1};
  1350. xM.prototype.P=function(){var a=1000003^ed(this.a);a=1000003*a^ed(this.c);a=1000003*a^ed(this.b);a=1000003*a^ed(this.f);a=1000003*a^this.g.P();a=1000003*a^this.v.P();a=1000003*a^this.o.P();return a=1000003*a^(this.u?1231:1237)};function DFa(){}l(DFa,wFa);function CFa(a,b){if(!b)throw rb("Null languageMode").s;a.o=b;return a}function BFa(a,b){if(!b)throw rb("Null strictMode").s;a.v=b;return a}function AFa(a,b){if(!b)throw rb("Null jsDocParsingMode").s;a.g=b;return a}
  1351. function zFa(a,b){if(!b)throw rb("Null runMode").s;a.u=b;return a}function EFa(a,b){if(!b)throw rb("Null annotations").s;a.c=b;return a}function GFa(a,b){a.f=nm(b);return a}
  1352. function HFa(a){var b="";a.o||(b=r(b)+" languageMode");a.v||(b=r(b)+" strictMode");a.g||(b=r(b)+" jsDocParsingMode");a.u||(b=r(b)+" runMode");a.c||(b=r(b)+" annotations");a.b||(b=r(b)+" suppressionNames");a.f||(b=r(b)+" closurePrimitiveNames");null==a.a&&(b=r(b)+" parseInlineSourceMaps");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.a;var c=new xM,d=a.v,e=a.g,f=a.u,h=a.c,k=a.b,m=a.f;c.a=a.o;c.c=d;c.b=e;c.f=f;c.g=h;c.v=k;c.o=m;c.u=b;return c}function yM(){this.a=0;this.g=!1}
  1353. var IFa,JFa,KFa,LFa,MFa,NFa,OFa,PFa,QFa,RFa,SFa,TFa,UFa,zM,VFa,WFa,XFa,YFa,ZFa,$Fa,aGa,bGa,cGa,dGa,eGa,fGa,gGa,hGa,iGa,jGa,kGa,lGa,mGa,nGa,oGa,pGa,qGa,rGa,sGa,tGa,uGa,vGa,wGa,xGa,yGa,zGa,AGa,BGa,CGa,DGa,EGa;l(yM,z);function AM(a,b,c,d){var e=new yM;e.b=a;e.a=b;e.o=c;e.f=d;e.g=FGa(d);return e}yM.prototype.toString=function(){return this.o};function BM(a,b){CM();return!!GGa(a,b)}function DM(a){CM();return!!HGa(a)}
  1354. function FGa(a){CM();switch(a.a){case 111:case 110:case 112:case 113:return!0;default:return!1}}function GGa(a,b){CM();a=IFa.get(a);return!a||!b&&a.g?null:a}function HGa(a){CM();return JFa.get(a)}yM.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1355. function CM(){CM=function(){};KFa=AM("BREAK",0,"break",(W(),IGa));LFa=AM("CASE",1,"case",JGa);MFa=AM("CATCH",2,"catch",KGa);NFa=AM("CONTINUE",3,"continue",LGa);OFa=AM("DEBUGGER",4,"debugger",MGa);PFa=AM("DEFAULT",5,"default",NGa);QFa=AM("DELETE",6,"delete",OGa);RFa=AM("DO",7,"do",PGa);SFa=AM("ELSE",8,"else",QGa);TFa=AM("FINALLY",9,"finally",RGa);UFa=AM("FOR",10,"for",EM);zM=AM("FUNCTION",11,"function",FM);VFa=AM("IF",12,"if",GM);WFa=AM("IN",13,"in",HM);XFa=AM("INSTANCEOF",14,"instanceof",SGa);YFa=
  1356. AM("NEW",15,"new",IM);ZFa=AM("RETURN",16,"return",TGa);$Fa=AM("SWITCH",17,"switch",UGa);aGa=AM("THIS",18,"this",VGa);bGa=AM("THROW",19,"throw",WGa);cGa=AM("TRY",20,"try",XGa);dGa=AM("TYPEOF",21,"typeof",JM);eGa=AM("VAR",22,"var",YGa);fGa=AM("VOID",23,"void",ZGa);gGa=AM("WHILE",24,"while",$Ga);hGa=AM("WITH",25,"with",aHa);iGa=AM("CLASS",26,"class",KM);jGa=AM("CONST",27,"const",LM);kGa=AM("ENUM",28,"enum",MM);lGa=AM("EXPORT",29,"export",NM);mGa=AM("EXTENDS",30,"extends",OM);nGa=AM("IMPORT",31,"import",
  1357. PM);oGa=AM("SUPER",32,"super",bHa);pGa=AM("IMPLEMENTS",33,"implements",cHa);qGa=AM("INTERFACE",34,"interface",QM);rGa=AM("LET",35,"let",RM);sGa=AM("PACKAGE",36,"package",dHa);tGa=AM("PRIVATE",37,"private",eHa);uGa=AM("PROTECTED",38,"protected",fHa);vGa=AM("PUBLIC",39,"public",gHa);wGa=AM("STATIC",40,"static",hHa);xGa=AM("YIELD",41,"yield",iHa);yGa=AM("NULL",42,"null",jHa);zGa=AM("TRUE",43,"true",kHa);AGa=AM("FALSE",44,"false",lHa);BGa=AM("DECLARE",45,"declare",mHa);CGa=AM("TYPE",46,"type",nHa);DGa=
  1358. AM("MODULE",47,"module",SM);EGa=AM("NAMESPACE",48,"namespace",TM);var a=el(),b=Kia();var c=A([KFa,LFa,MFa,NFa,OFa,PFa,QFa,RFa,SFa,TFa,UFa,zM,VFa,WFa,XFa,YFa,ZFa,$Fa,aGa,bGa,cGa,dGa,eGa,fGa,gGa,hGa,iGa,jGa,kGa,lGa,mGa,nGa,oGa,pGa,qGa,rGa,sGa,tGa,uGa,vGa,wGa,xGa,yGa,zGa,AGa,BGa,CGa,DGa,EGa],yM,oHa,1);for(var d=0;d<c.length;d++){var e=c[d];a.L(e.o,e);b.C(e.f,e)}IFa=a.Jb();JFa=Uja(b)}function oHa(a){return a instanceof yM}function UM(){this.a=0}
  1359. var IGa,JGa,KGa,LGa,MGa,NGa,OGa,PGa,QGa,RGa,EM,FM,GM,HM,SGa,IM,TGa,UGa,VGa,WGa,XGa,JM,YGa,ZGa,$Ga,aHa,KM,LM,MM,NM,OM,PM,bHa,cHa,QM,RM,dHa,eHa,fHa,gHa,hHa,iHa,jHa,kHa,lHa,mHa,nHa,SM,TM,VM,pHa,WM,XM,YM,ZM,$M,aN,bN,cN,dN,eN,fN,gN,qHa,rHa,hN,sHa,tHa,uHa,vHa,wHa,xHa,iN,jN,yHa,zHa,AHa,BHa,CHa,DHa,EHa,kN,FHa,GHa,HHa,lN,mN,nN,oN,pN,qN,rN,IHa,JHa,KHa,LHa,MHa,NHa,OHa,PHa,QHa,RHa,SHa,THa,UHa,VHa,sN,tN,WHa,uN,vN,XHa,YHa,wN;l(UM,z);function xN(a,b){var c=new UM;c.b=a;c.a=b;c.f=null;return c}
  1360. function yN(a,b,c){var d=new UM;d.b=a;d.a=b;d.f=c;return d}UM.prototype.toString=function(){return null==this.f?HGa(this).toString():this.f};UM.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1361. function W(){W=function(){};VM=yN("END_OF_FILE",0,"End of File");pHa=yN("ERROR",1,"error");WM=yN("IDENTIFIER",2,"identifier");IGa=xN("BREAK",3);JGa=xN("CASE",4);KGa=xN("CATCH",5);LGa=xN("CONTINUE",6);MGa=xN("DEBUGGER",7);NGa=xN("DEFAULT",8);OGa=xN("DELETE",9);PGa=xN("DO",10);QGa=xN("ELSE",11);RGa=xN("FINALLY",12);EM=xN("FOR",13);FM=xN("FUNCTION",14);GM=xN("IF",15);HM=xN("IN",16);SGa=xN("INSTANCEOF",17);IM=xN("NEW",18);TGa=xN("RETURN",19);UGa=xN("SWITCH",20);VGa=xN("THIS",21);WGa=xN("THROW",22);XGa=
  1362. xN("TRY",23);JM=xN("TYPEOF",24);YGa=xN("VAR",25);ZGa=xN("VOID",26);$Ga=xN("WHILE",27);aHa=xN("WITH",28);KM=xN("CLASS",29);LM=xN("CONST",30);MM=xN("ENUM",31);NM=xN("EXPORT",32);OM=xN("EXTENDS",33);PM=xN("IMPORT",34);bHa=xN("SUPER",35);cHa=xN("IMPLEMENTS",36);QM=xN("INTERFACE",37);RM=xN("LET",38);dHa=xN("PACKAGE",39);eHa=xN("PRIVATE",40);fHa=xN("PROTECTED",41);gHa=xN("PUBLIC",42);hHa=xN("STATIC",43);iHa=xN("YIELD",44);XM=yN("OPEN_CURLY",45,"{");YM=yN("CLOSE_CURLY",46,"}");ZM=yN("OPEN_PAREN",47,"(");
  1363. $M=yN("CLOSE_PAREN",48,")");aN=yN("OPEN_SQUARE",49,"[");bN=yN("CLOSE_SQUARE",50,"]");cN=yN("PERIOD",51,".");dN=yN("SEMI_COLON",52,";");eN=yN("COMMA",53,",");fN=yN("OPEN_ANGLE",54,"<");gN=yN("CLOSE_ANGLE",55,">");qHa=yN("LESS_EQUAL",56,"<=");rHa=yN("GREATER_EQUAL",57,">=");hN=yN("ARROW",58,"=>");sHa=yN("EQUAL_EQUAL",59,"==");tHa=yN("NOT_EQUAL",60,"!=");uHa=yN("EQUAL_EQUAL_EQUAL",61,"===");vHa=yN("NOT_EQUAL_EQUAL",62,"!==");wHa=yN("PLUS",63,"+");xHa=yN("MINUS",64,"-");iN=yN("STAR",65,"*");jN=yN("STAR_STAR",
  1364. 66,"**");yHa=yN("PERCENT",67,"%");zHa=yN("PLUS_PLUS",68,"++");AHa=yN("MINUS_MINUS",69,"--");BHa=yN("LEFT_SHIFT",70,"<<");CHa=yN("RIGHT_SHIFT",71,">>");DHa=yN("UNSIGNED_RIGHT_SHIFT",72,">>>");EHa=yN("AMPERSAND",73,"&");kN=yN("BAR",74,"|");FHa=yN("CARET",75,"^");GHa=yN("BANG",76,"!");HHa=yN("TILDE",77,"~");lN=yN("AND",78,"&&");mN=yN("OR",79,"||");nN=yN("QUESTION",80,"?");oN=yN("QUESTION_QUESTION",81,"??");pN=yN("QUESTION_DOT",82,"?.");qN=yN("COLON",83,":");rN=yN("EQUAL",84,"=");IHa=yN("PLUS_EQUAL",
  1365. 85,"+=");JHa=yN("MINUS_EQUAL",86,"-=");KHa=yN("STAR_EQUAL",87,"*=");LHa=yN("STAR_STAR_EQUAL",88,"**=");MHa=yN("PERCENT_EQUAL",89,"%=");NHa=yN("LEFT_SHIFT_EQUAL",90,"<<=");OHa=yN("RIGHT_SHIFT_EQUAL",91,">>=");PHa=yN("UNSIGNED_RIGHT_SHIFT_EQUAL",92,">>>=");QHa=yN("AMPERSAND_EQUAL",93,"&=");RHa=yN("BAR_EQUAL",94,"|=");SHa=yN("CARET_EQUAL",95,"^=");THa=yN("SLASH",96,"/");UHa=yN("SLASH_EQUAL",97,"/=");VHa=yN("POUND",98,"#");jHa=xN("NULL",99);kHa=xN("TRUE",100);lHa=xN("FALSE",101);sN=yN("NUMBER",102,"number literal");
  1366. tN=yN("STRING",103,"string literal");WHa=yN("REGULAR_EXPRESSION",104,"regular expression literal");uN=yN("ELLIPSIS",105,"...");vN=yN("TEMPLATE_HEAD",106,"template head");XHa=yN("TEMPLATE_MIDDLE",107,"template middle");YHa=yN("TEMPLATE_TAIL",108,"template tail");wN=yN("NO_SUBSTITUTION_TEMPLATE",109,"no substitution template");nHa=xN("TYPE",110);mHa=xN("DECLARE",111);SM=xN("MODULE",112);TM=xN("NAMESPACE",113)}function ZHa(a){return a instanceof UM}function $Ha(){}l($Ha,n);function aIa(){}l(aIa,Ga);
  1367. function bIa(){}l(bIa,Ga);function cIa(){}l(cIa,Ga);function dIa(a){var b=new cIa;sa(b,a);b.a(Error(b));return b}function eIa(){}l(eIa,Ga);function fIa(a){var b=new eIa;sa(b,a);b.a(Error(b));return b}function gIa(){}l(gIa,Ga);function hIa(){}l(hIa,Ga);function iIa(){}l(iIa,Ga);function jIa(){}l(jIa,Ga);function kIa(a){var b=new jIa;sa(b,a);b.a(Error(b));return b}function lIa(){this.A=0;this.c=this.o=this.F=this.v=this.u=this.K=this.g=!1;this.f=this.a=this.$=this.b=0}l(lIa,n);
  1368. function mIa(a,b){switch(b){case 43:var c=a.g;a.g=!0;break;case 44:c=a.K;a.K=!0;break;case 45:c=a.u;a.u=!0;break;case 40:c=a.v;a.v=!0;break;case 35:c=a.F;a.F=!0;break;case 32:c=a.o;a.o=!0;break;case 48:c=a.c;a.c=!0;break;default:return!1}if(c)throw Ha(""+b).s;a.U||(a.U=Ng());Og(a.U,b&65535);return!0}function nIa(a){if(116==a.b||84==a.b)throw kIa(Hg(a.b)+""+Hg(a.$)).s;throw kIa(Hg(a.b)).s;}function oIa(){this.a=this.f=this.c=0}l(oIa,n);function pIa(a){return ne(a.b,a.f,a.a)}
  1369. function zN(a){return a.a<a.c?a.b.charCodeAt(a.a):-1}function AN(a){if(a.a>=a.c){throw kIa(pIa(a)).s;throw(void 0).s;}return yh(a.b,a.a++)}function BN(a){return 48<=a&&57>=a}function qIa(a,b,c){b.f=c;return 46==zN(a)?rIa(a,b):sIa(a,b)}function rIa(a,b){AN(a);if(BN(zN(a))){var c=tIa(a);b.a=c;return sIa(a,b)}throw kIa(pIa(a)).s;throw(void 0).s;}function sIa(a,b){var c=AN(a);b.b=c;if(116==c||84==c)a=AN(a),b.$=a;return b}
  1370. function tIa(a){for(var b=hb(0);a.a<a.c&&BN(a.b.charCodeAt(a.a));){var c=Cb(yh(a.b,a.a++)-48);b=Za(hb(10),b).add(c);if(0<ab(b,Cb(2147483647))){for(;BN(zN(a));)AN(a);return-1}}return b.a}function uIa(){}l(uIa,n);
  1371. function CN(a,b){var c=new uIa;c.c=Mg();var d=new oIa;d.b=a;d.c=a.length;for(var e=0,f=null,h=!1,k=a.length,m=0;m<k;){var p=m;m=ni(a,37,m);m=-1==m?k:m;m>p&&Yf(c.c,a,p,m);if(m<k){p=d;m+=1;p.f=m;p.a=m;a:{var t=m=new lIa;t.A=-1;t.b=65535;t.a=-1;t.f=-1;t=p.a;var v=zN(p);if(BN(v)){var C=tIa(p);if(36==zN(p)){AN(p);if(-1==C)throw dIa(pIa(p)).s;m.A=Math.max(0,C-1)}else if(48==v)p.a=t;else{m=qIa(p,m,C);break a}}else 60==v&&(m.A=-2,AN(p));for(;mIa(m,zN(p));)AN(p);v=zN(p);m=BN(v)?qIa(p,m,tIa(p)):46==v?rIa(p,
  1372. m):sIa(p,m)}t=null;if(37!=m.b&&110!=m.b){t=-1==m.A?e++:m.A;p=b;v=d;if(-2==t&&!h)throw dIa("<").s;if(p){if(t>=p.length)throw dIa(pIa(v)).s;t=-2==t?f:p[t]}else t=null;f=t;h=!0}a:{p=c;p.a=m;p.b=t;if(!(m.g||m.K||m.u||m.v||m.F||m.o||m.c)&&-1==m.f&&-1==m.a)switch(m.b){case 115:if(null==p.b){p="null";break a}case 100:if(jh(p.b)||Lb(p.b)){p=ze(p.b);break a}}t=p.a;C=v=!1;var J=!0,K=!1,Ca=!1,Wa=!1,Ma=!1,Vb=!0,sc=!0,gc=!0;switch(t.b){case 99:case 67:case 116:case 84:Vb=!1;break;case 103:case 71:v=C=K=Wa=Ma=
  1373. !0;break;case 102:Ma=v=C=K=Ca=Wa=!0;break;case 101:case 69:v=K=Ca=Wa=Ma=!0;break;case 97:case 65:v=Ca=Wa=Ma=!0;break;case 100:v=C=K=Wa=Ma=!0;Vb=!1;break;case 111:case 120:case 88:Ca=Ma=!0;null==p.b&&(v=K=Wa=!0);Vb=!1;break;case 110:gc=Vb=sc=J=!1;break;case 37:Vb=gc=!1;break;case 115:case 83:case 98:case 66:case 104:case 72:break;default:throw Ha("unknownFormatConversionException").s;}var tc=null;!v&&t.g?tc="+":!C&&t.K?tc=",":!J&&t.u?tc="-":!K&&t.v?tc="(":!Ca&&t.F?tc="#":!Wa&&t.o?tc=" ":!Ma&&t.c&&
  1374. (tc="0");if(null!=tc){if(110==t.b)throw Ha("IllegalFormatFlagsException:"+r(tc)).s;throw Ha("FormatFlagsConversionMismatchException:"+r(tc)+","+Hg(t.b)).s;}if((t.u||t.c)&&-1==t.f)throw a=new iIa,sa(a,"-"+Hg(t.b)),a.a(Error(a)),a.s;if(!gc&&-1!=t.A)throw fIa(t.U?t.U.toString():"").s;if(!Vb&&-1!=t.a)throw a=new gIa,sa(a,"Precision: "+t.a),a.a(Error(a)),a.s;if(!sc&&-1!=t.f)throw a=new hIa,sa(a,"Width:"+t.f),a.a(Error(a)),a.s;if(t.g&&t.o)throw fIa("the '+' and ' ' flags are incompatible").s;if(t.u&&t.c)throw fIa("the '-' and '0' flags are incompatible").s;
  1375. switch(m.b){case 66:case 98:t="boolean"===typeof p.b?ze(p.b):null==p.b?"false":"true";p=DN(p,t,0);break;case 72:case 104:if(null!=p.b)throw Ha("Integer.toHexString is outside the GWT subset").s;p=DN(p,"null",0);break;case 83:case 115:t=r(p.b);p=DN(p,t,0);break;case 67:case 99:if(null==p.b)p=DN(p,"null",0);else if(ah(p.b))p=DN(p,r(p.b),0);else if(jh(p.b)){t=p.b;t="number"==typeof t?Fb(t):t.xb();if(!(0<=t&&1114111>=t))throw a=new aIa,sa(a,"codePoint:"+t),a.a(Error(a)),a.s;t=65536>t?Hg(t&65535):Pg(oea(t));
  1376. p=DN(p,t,0)}else throw EN(p).s;break;case 100:case 111:case 120:case 88:b:{v=0;C=Mg();J=p.a.b;if(Lb(p.b))t=p.b.Wk();else if(jh(p.b))t=p.b.Wk();else throw EN(p).s;p.a.F&&(111==J?(x(C,"0"),v+=1):(x(C,"0x"),v+=2));if(100==J)if(p.a.K?Wg(C,p.b):(J=t,C.$a=r(C.$a)+J),0>ab(t,hb(0))){if(p.a.v){p=vIa(p,C);break b}p.a.c&&v++}else p.a.g?(Xg(C,0,Hg(43)),v+=1):p.a.o&&(Xg(C,0,Hg(32)),v+=1);else jh(p.b)&&(t=t.and(Va(-1,0))),111==J?x(C,Tb(t,3)):x(C,Tb(t,4));p=DN(p,C,v)}break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:p=
  1377. wIa(p);break;case 37:p=DN(p,"%",0);break;case 110:p="\n";break;case 116:case 84:if(null==p.b)p=xIa(p);else{if(Lb(p.b))t=new or,t.a=new Date(Ua(p.b.Wk()));else if(p.b instanceof or)t=p.b;else throw EN(p).s;v=Mg();Wg(v,t);p=DN(p,v,0)}break;default:throw nIa(m).s;}dh(m.b)&&null!=p&&(p=Zp(p.toString()))}null!=p&&Yf(c.c,p,0,le(p));m=d.a}}return c.c.toString()}function EN(a){var b=Ig(a.b),c=new bIa;a="ConvertionType = "+Hg(a.a.b)+" class = "+r(b);sa(c,a);c.a(Error(c));throw c.s;}
  1378. function DN(a,b,c){var d=a.a.f,e=a.a.a,f=le(b);if(0<=e)if(f=Math.min(f,e),b instanceof Lg){e=b;var h=f,k=e.Ra();h<k?e.$a=ne(e.$a,0,h):h>k&&(e.$a=r(e.$a)+r(Pg(za([h-k],Ob,Pb,0))))}else b=$ba(b,0,f);0<d&&(d=Math.max(le(b),d));if(f>=d)return b;e=32;a.a.c?e=48:c=0;d=za([d-f],Ob,Pb,0);f=d.length;for(h=0;h<f;++h)d[h]=e;a=a.a.u;b instanceof Lg||(f=new Lg,f.$a=b.toString(),b=f);a?$da(b,d):Xg(b,c,Pg(d));return b}
  1379. function vIa(a,b){var c=b,d=Hg(40);c.$a=r(ne(c.$a,0,0))+r(d)+r(c.$a.substr(1));a.a.c?(--a.a.f,b=DN(a,b,1),Og(b,41)):(Og(b,41),b=DN(a,b,0));return b}function xIa(a){a.a.c=!1;return DN(a,"null",0)}
  1380. function wIa(a){if(null==a.b)return xIa(a);if("number"!==typeof a.b)throw EN(a).s;a:{var b=a.b;if("number"===typeof b||b instanceof Gb){b=Zba(a.b);if(isNaN(b))b="NaN";else if(Infinity==b)b=a.a.g?"+Infinity":a.a.o?" Infinity":"Infinity";else if(-Infinity==b)b=a.a.v?"(Infinity)":"-Infinity";else{b=null;break a}a.a.a=-1;a.a.c=!1;b=DN(a,b,0)}else b=null}if(null!=b)return b;b=a.a.b;97!=b&&65!=b&&-1==a.a.a&&(a.a.a=6);var c=Mg();switch(b){case 97:case 65:if("number"===typeof a.b)throw Ha("Double.toHexString is outside the GWT subset").s;
  1381. throw EN(a).s;case 101:case 69:yIa(a,c);break;case 102:zIa(a,c);break;case 103:case 71:var d=a.a.a;d=0==d?1:d;a.a.a=d;var e=Zba(a.b);0==e?(d--,a.a.a=d,zIa(a,c)):(e=Math.abs(e),Hb(e)?(d=a.a.a,d--,a.a.a=d,yIa(a,c)):zIa(a,c));break;default:throw nIa(a.a).s;}a.a.a=-1;d=0;if(45==c.$a.charCodeAt(0)){if(a.a.v)return vIa(a,c)}else a.a.o&&(Xg(c,0,Hg(32)),d++),a.a.g&&(Xg(c,0,Hg(43)),d++);e=c.$a.charCodeAt(0);!a.a.c||43!=e&&45!=e||(d=1);if(97==b||65==b)d+=2;return DN(a,c,d)}
  1382. function yIa(a,b){var c=Mg();Og(c,48);if(0<a.a.a){Og(c,46);for(var d=za([a.a.a],Ob,Pb,0),e=d.length,f=0;f<e;++f)d[f]=48;$da(c,d)}x(c,"E+00");c=ze(a.b);x(b,vi(c,69,101));a.a.F&&0==a.a.a&&(a=b.$a.indexOf("e"),Xg(b,a,"."))}function zIa(a,b){var c=a.a.a;a=ze(a.b);if(ji(a,".")){var d=mi(a,46);d+c<a.length&&(a=ne(a,0,d+c+1));x(b,a)}else x(b,a)}function AIa(){this.c=this.b=this.a=0}l(AIa,n);
  1383. AIa.prototype.toString=function(){return CN("%s(%d, %d)",[this.f?rp(lq(kq(47),this.f.b)):"",Fc(this.b+1),Fc(this.c+1)])};function BIa(){}l(BIa,n);function FN(a,b){var c=new BIa;c.a=a;c.b=b;return c}BIa.prototype.toString=function(){return CN("<%s - %s>",[this.a,this.b])};function GN(){}l(GN,n);function CIa(a,b){var c=new GN;c.a=a;c.b=b;return c}GN.prototype.toString=function(){return this.a.toString()};function HN(){}l(HN,GN);function IN(a,b,c){var d=new HN;d.a=a;d.b=c;d.c=b;return d}
  1384. HN.prototype.toString=function(){return this.c};function DIa(){}l(DIa,HN);function EIa(a,b,c,d,e){var f=new DIa;f.a=a;f.b=e;f.c=b;f.f=c;f.g=d;return f}DIa.prototype.toString=function(){return this.c};function FIa(){}l(FIa,GN);function GIa(a,b){var c=new FIa,d=(W(),WM);c.a=d;c.b=a;c.c=b;return c}FIa.prototype.toString=function(){return this.c};function HIa(){this.a=0}
  1385. var IIa,JIa,KIa,LIa,MIa,NIa,OIa,PIa,QIa,RIa,SIa,TIa,UIa,VIa,WIa,XIa,YIa,ZIa,$Ia,aJa,bJa,cJa,dJa,eJa,fJa,gJa,JN,hJa,iJa,jJa,kJa,lJa,mJa,nJa,oJa,pJa,qJa,rJa,sJa,tJa,uJa,vJa,wJa,xJa,yJa,zJa,AJa,BJa,CJa,DJa,EJa,FJa,GJa,HJa,IJa,JJa,KJa,LJa,MJa,KN,NJa,OJa,PJa,QJa,RJa,SJa,TJa,UJa,LN,VJa,WJa,XJa,YJa,ZJa,$Ja,aKa,bKa,cKa,dKa,eKa,fKa,gKa,hKa,iKa,jKa,kKa,lKa,mKa,nKa,oKa,pKa,qKa,rKa,sKa,tKa,uKa,vKa,wKa,xKa,yKa,zKa;l(HIa,z);function MN(a,b){var c=new HIa;c.b=a;c.a=b;return c}
  1386. HIa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1387. function NN(){NN=function(){};IIa=MN("PROGRAM",0);JIa=MN("FUNCTION_DECLARATION",1);KIa=MN("BLOCK",2);LIa=MN("VARIABLE_STATEMENT",3);MIa=MN("VARIABLE_DECLARATION",4);NIa=MN("EMPTY_STATEMENT",5);OIa=MN("EXPRESSION_STATEMENT",6);PIa=MN("IF_STATEMENT",7);QIa=MN("DO_WHILE_STATEMENT",8);RIa=MN("WHILE_STATEMENT",9);SIa=MN("FOR_IN_STATEMENT",10);TIa=MN("FOR_STATEMENT",11);UIa=MN("VARIABLE_DECLARATION_LIST",12);VIa=MN("CONTINUE_STATEMENT",13);WIa=MN("BREAK_STATEMENT",14);XIa=MN("RETURN_STATEMENT",15);YIa=
  1388. MN("WITH_STATEMENT",16);ZIa=MN("CASE_CLAUSE",17);$Ia=MN("DEFAULT_CLAUSE",18);aJa=MN("SWITCH_STATEMENT",19);bJa=MN("LABELLED_STATEMENT",20);cJa=MN("THROW_STATEMENT",21);dJa=MN("CATCH",22);eJa=MN("TRY_STATEMENT",23);fJa=MN("DEBUGGER_STATEMENT",24);gJa=MN("THIS_EXPRESSION",25);JN=MN("IDENTIFIER_EXPRESSION",26);hJa=MN("LITERAL_EXPRESSION",27);iJa=MN("ARRAY_LITERAL_EXPRESSION",28);jJa=MN("OBJECT_LITERAL_EXPRESSION",29);kJa=MN("COMPREHENSION",30);lJa=MN("COMPREHENSION_IF",31);mJa=MN("COMPREHENSION_FOR",
  1389. 32);nJa=MN("GET_ACCESSOR",33);oJa=MN("SET_ACCESSOR",34);pJa=MN("PROPERTY_NAME_ASSIGNMENT",35);qJa=MN("COMPUTED_PROPERTY_DEFINITION",36);rJa=MN("COMPUTED_PROPERTY_GETTER",37);sJa=MN("COMPUTED_PROPERTY_METHOD",38);tJa=MN("COMPUTED_PROPERTY_SETTER",39);uJa=MN("MISSING_PRIMARY_EXPRESSION",40);vJa=MN("COMMA_EXPRESSION",41);wJa=MN("BINARY_OPERATOR",42);xJa=MN("CONDITIONAL_EXPRESSION",43);yJa=MN("UNARY_EXPRESSION",44);zJa=MN("UPDATE_EXPRESSION",45);AJa=MN("MEMBER_EXPRESSION",46);BJa=MN("OPT_CHAIN_MEMBER_EXPRESSION",
  1390. 47);CJa=MN("NEW_EXPRESSION",48);DJa=MN("ARGUMENT_LIST",49);EJa=MN("CALL_EXPRESSION",50);FJa=MN("OPT_CHAIN__CALL_EXPRESSION",51);GJa=MN("CLASS_DECLARATION",52);HJa=MN("INTERFACE_DECLARATION",53);IJa=MN("NAMESPACE_DECLARATION",54);JJa=MN("NAMESPACE_NAME",55);KJa=MN("ENUM_DECLARATION",56);LJa=MN("MEMBER_LOOKUP_EXPRESSION",57);MJa=MN("OPT_CHAIN_MEMBER_LOOKUP_EXPRESSION",58);KN=MN("PAREN_EXPRESSION",59);NJa=MN("FINALLY",60);OJa=MN("SUPER_EXPRESSION",61);PJa=MN("ARRAY_PATTERN",62);QJa=MN("OBJECT_PATTERN",
  1391. 63);RJa=MN("FORMAL_PARAMETER_LIST",64);SJa=MN("ITER_SPREAD",65);TJa=MN("OBJECT_SPREAD",66);UJa=MN("NULL",67);LN=MN("ITER_REST",68);VJa=MN("OBJECT_REST",69);WJa=MN("EXPORT_DECLARATION",71);XJa=MN("EXPORT_SPECIFIER",72);YJa=MN("IMPORT_DECLARATION",73);ZJa=MN("IMPORT_SPECIFIER",74);$Ja=MN("FOR_OF_STATEMENT",75);aKa=MN("FOR_AWAIT_OF_STATEMENT",76);bKa=MN("YIELD_EXPRESSION",77);cKa=MN("DEFAULT_PARAMETER",78);dKa=MN("TEMPLATE_LITERAL_EXPRESSION",79);eKa=MN("TEMPLATE_LITERAL_PORTION",80);fKa=MN("TEMPLATE_SUBSTITUTION",
  1392. 81);gKa=MN("TYPE_NAME",82);hKa=MN("TYPE_QUERY",83);iKa=MN("TYPED_PARAMETER",84);jKa=MN("OPTIONAL_PARAMETER",85);kKa=MN("PARAMETERIZED_TYPE_TREE",86);lKa=MN("ARRAY_TYPE",87);mKa=MN("RECORD_TYPE",88);nKa=MN("UNION_TYPE",89);oKa=MN("FUNCTION_TYPE",90);pKa=MN("GENERIC_TYPE_LIST",91);qKa=MN("MEMBER_VARIABLE",92);rKa=MN("COMPUTED_PROPERTY_MEMBER_VARIABLE",93);sKa=MN("TYPE_ALIAS",94);tKa=MN("AMBIENT_DECLARATION",95);uKa=MN("INDEX_SIGNATURE",96);vKa=MN("CALL_SIGNATURE",97);wKa=MN("NEW_TARGET_EXPRESSION",
  1393. 98);xKa=MN("AWAIT_EXPRESSION",99);yKa=MN("DYNAMIC_IMPORT_EXPRESSION",100);zKa=MN("IMPORT_META_EXPRESSION",101)}function ON(){}l(ON,n);function PN(a,b,c){a.a=b;a.b=c}function AKa(a){for(;q(a.a,(NN(),KN));)a=a.c;switch(a.a.a){case 26:case 46:case 57:case 62:case 63:case 78:return!0;default:return!1}}ON.prototype.toString=function(){return r(this.a)+"@"+r(this.b)};function BKa(){}l(BKa,ON);function CKa(){}l(CKa,ON);function DKa(){}l(DKa,ON);function EKa(){}l(EKa,ON);function FKa(){}l(FKa,ON);
  1394. function QN(a,b,c,d){var e=new FKa;PN(e,(NN(),wJa),a);e.f=b;e.c=c;e.g=d;return e}function GKa(){}l(GKa,ON);function HKa(a,b){var c=new GKa;PN(c,(NN(),KIa),a);c.c=b;return c}function IKa(){}l(IKa,ON);function JKa(){}l(JKa,ON);function KKa(){}l(KKa,ON);function LKa(){}l(LKa,ON);function RN(a,b){var c=new LKa;PN(c,(NN(),RJa),a);c.c=b;return c}function MKa(){}l(MKa,ON);function NKa(){this.c=!1}l(NKa,ON);function OKa(){}l(OKa,ON);
  1395. function PKa(a,b,c){var d=new OKa;PN(d,(NN(),ZIa),a);d.f=b;d.c=c;return d}function QKa(){}l(QKa,ON);function RKa(){}l(RKa,ON);function SKa(){}l(SKa,ON);function TKa(a,b){var c=new SKa;PN(c,(NN(),vJa),a);c.c=b;return c}function UKa(){}l(UKa,ON);function VKa(){}l(VKa,ON);function WKa(){this.a=0}var XKa,YKa;l(WKa,z);function ZKa(a,b){var c=new WKa;c.b=a;c.a=b;return c}WKa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1396. function $Ka(){$Ka=function(){};XKa=ZKa("ARRAY",0);YKa=ZKa("GENERATOR",1)}function aLa(){}l(aLa,ON);function bLa(){}l(bLa,ON);function cLa(a,b,c){var d=new bLa;PN(d,(NN(),qJa),a);d.c=b;d.f=c;return d}function dLa(){this.c=!1}l(dLa,ON);function eLa(){this.f=!1}l(eLa,ON);function fLa(){}l(fLa,ON);function SN(a,b,c,d){var e=new fLa;PN(e,(NN(),sJa),a);e.f=b;e.g=c;e.c=d;return e}function gLa(){this.c=!1}l(gLa,ON);function hLa(){}l(hLa,ON);function iLa(){}l(iLa,ON);function jLa(){}l(jLa,ON);
  1397. function kLa(){}l(kLa,ON);function lLa(a,b){var c=new kLa;PN(c,(NN(),$Ia),a);c.c=b;return c}function mLa(){}l(mLa,ON);function nLa(a,b,c){var d=new mLa;PN(d,(NN(),cKa),a);d.f=b;d.c=c;return d}function oLa(){}l(oLa,ON);function pLa(){}l(pLa,ON);function qLa(){}l(qLa,ON);function TN(a){var b=new qLa;PN(b,(NN(),NIa),a);return b}function rLa(){}l(rLa,ON);function sLa(){this.g=this.u=!1}l(sLa,ON);function tLa(){}l(tLa,ON);function uLa(){}l(uLa,ON);function vLa(){}l(vLa,ON);function wLa(){}l(wLa,ON);
  1398. function xLa(){}l(xLa,ON);function yLa(){}l(yLa,ON);function zLa(){}l(zLa,ON);function ALa(){this.a=0}var UN,VN,WN,BLa;l(ALa,z);function CLa(a,b){var c=new ALa;c.b=a;c.a=b;return c}ALa.prototype.R=function(a){return z.prototype.c.call(this,a)};function XN(){XN=function(){};UN=CLa("DECLARATION",0);VN=CLa("EXPRESSION",1);WN=CLa("MEMBER",2);BLa=CLa("ARROW",3)}function DLa(){this.a=this.c=this.b=this.f=!1}l(DLa,n);
  1399. function YN(a){var b=new DLa;b.A=null;b.v=null;b.o=null;b.F=null;b.u=null;b.g=null;b.f=!1;b.b=!1;b.c=!1;b.a=!1;b.K=a;return b}function $N(a,b){a.A=b;return a}function ELa(a,b){a.v=b;return a}function aO(a,b){a.o=b;return a}function FLa(a,b){a.F=b;return a}function bO(a,b){a.u=b;return a}function GLa(a,b){a.g=b;return a}function cO(a,b){a.f=b;return a}function dO(a,b){a.b=b;return a}function eO(a){a.a=!0;return a}
  1400. function fO(a,b){a.U=b;b=new HLa;PN(b,(NN(),JIa),a.U);b.A=a.A;b.U=a.v;b.c=a.f;b.g=a.b;b.v=a.c;b.F=a.g;b.o=G(a.K);b.K=G(a.o);b.$=a.F;b.u=G(a.u);b.f=a.a;return b}function HLa(){this.f=this.v=this.g=this.c=!1}l(HLa,ON);function ILa(){}l(ILa,ON);function JLa(){this.f=!1}l(JLa,ON);function KLa(){}l(KLa,ON);function LLa(a,b){var c=new KLa;PN(c,(NN(),JN),a);c.c=b;return c}function MLa(){}l(MLa,ON);function NLa(){}l(NLa,ON);function OLa(){}l(OLa,ON);function PLa(){}l(PLa,ON);function QLa(){}l(QLa,ON);
  1401. function RLa(){}l(RLa,ON);function SLa(){}l(SLa,ON);function TLa(){}l(TLa,ON);function ULa(){}l(ULa,ON);function VLa(){}l(VLa,ON);function WLa(a,b){var c=new VLa;PN(c,(NN(),hJa),a);c.c=b;return c}function XLa(){}l(XLa,ON);function YLa(a,b,c){var d=new XLa;PN(d,(NN(),AJa),a);d.c=b;d.f=c;return d}function ZLa(){}l(ZLa,ON);function $La(a,b,c){var d=new ZLa;PN(d,(NN(),LJa),a);d.c=b;d.f=c;return d}function aMa(){this.c=this.f=!1}l(aMa,ON);
  1402. function bMa(a,b,c,d,e,f){var h=new aMa;PN(h,(NN(),qKa),a);h.u=b;h.f=c;h.c=d;h.g=e;h.o=f;return h}function cMa(){}l(cMa,ON);function gO(a){var b=new cMa;PN(b,(NN(),uJa),a);return b}function dMa(){}l(dMa,ON);function eMa(){}l(eMa,ON);function fMa(){}l(fMa,ON);function gMa(){}l(gMa,ON);function hMa(){}l(hMa,ON);function hO(a){var b=new hMa;PN(b,(NN(),UJa),a);return b}function iMa(){}l(iMa,ON);function jMa(){}l(jMa,ON);function kMa(){}l(kMa,ON);
  1403. function lMa(a,b){var c=new kMa;PN(c,(NN(),VJa),a);c.c=b;return c}function mMa(){}l(mMa,ON);function nMa(){this.c=!1}l(nMa,ON);function oMa(){this.c=!1}l(oMa,ON);function pMa(){this.c=!1}l(pMa,ON);function qMa(){}l(qMa,ON);function rMa(){}l(rMa,ON);function sMa(a,b){var c=new rMa;PN(c,(NN(),gKa),a);c.c=b;return c}function tMa(){}l(tMa,ON);function uMa(){}l(uMa,ON);function vMa(){this.a=0}var wMa,iO,xMa,yMa,zMa;l(vMa,z);function jO(a,b){var c=new vMa;c.b=a;c.a=b;return c}
  1404. vMa.prototype.R=function(a){return z.prototype.c.call(this,a)};function kO(){kO=function(){};wMa=jO("BLOCK",0);iO=jO("LINE",1);xMa=jO("JSDOC",2);yMa=jO("SHEBANG",3);zMa=jO("IMPORTANT",4)}function AMa(){}l(AMa,n);function BMa(){}l(BMa,ON);function CMa(){}l(CMa,ON);function DMa(a,b,c){var d=new CMa;PN(d,(NN(),pJa),a);d.c=b;d.f=c;return d}function EMa(){}l(EMa,ON);function FMa(){}l(FMa,ON);function GMa(){this.c=!1}l(GMa,ON);function HMa(){}l(HMa,ON);function IMa(){}l(IMa,ON);function JMa(){}l(JMa,ON);
  1405. function KMa(a,b,c){var d=new JMa;PN(d,(NN(),dKa),a);d.c=b;d.f=c;return d}function LMa(){}l(LMa,ON);function MMa(a,b){var c=new LMa;PN(c,(NN(),eKa),a);c.c=b;return c}function NMa(){}l(NMa,ON);function OMa(a,b){var c=new NMa;PN(c,(NN(),fKa),a);c.c=b;return c}function PMa(){}l(PMa,ON);function QMa(){}l(QMa,ON);function RMa(){}l(RMa,ON);function SMa(){}l(SMa,ON);function TMa(){}l(TMa,ON);function UMa(){}l(UMa,ON);function VMa(){}l(VMa,ON);function WMa(){}l(WMa,ON);function XMa(){this.a=0}var YMa,ZMa;
  1406. l(XMa,z);function $Ma(a,b){var c=new XMa;c.b=a;c.a=b;return c}XMa.prototype.R=function(a){return z.prototype.c.call(this,a)};function aNa(){aNa=function(){};YMa=$Ma("PREFIX",0);ZMa=$Ma("POSTFIX",1)}function bNa(){}l(bNa,ON);function cNa(){}l(cNa,ON);function dNa(){}l(dNa,ON);function eNa(){}l(eNa,ON);function fNa(){}l(fNa,ON);function gNa(){}l(gNa,ON);function hNa(){this.f=!1}l(hNa,ON);function iNa(){}l(iNa,ON);var OI=/^[a-zA-Z_$][\w$]*$/;
  1407. function TI(a){var b=!1;a:{var c=null;b:switch(a.length){case 2:var d=a.charCodeAt(1);if(102==d){if(105==a.charCodeAt(0)){b=!0;break a}}else if(110==d){if(105==a.charCodeAt(0)){b=!0;break a}}else if(111==d&&100==a.charCodeAt(0)){b=!0;break a}break b;case 3:switch(a.charCodeAt(0)){case 102:if(114==a.charCodeAt(2)&&111==a.charCodeAt(1)){b=!0;break a}break b;case 105:if(116==a.charCodeAt(2)&&110==a.charCodeAt(1)){b=!0;break a}break b;case 110:if(119==a.charCodeAt(2)&&101==a.charCodeAt(1)){b=!0;break a}break b;
  1408. case 116:if(121==a.charCodeAt(2)&&114==a.charCodeAt(1)){b=!0;break a}break b;case 118:if(114==a.charCodeAt(2)&&97==a.charCodeAt(1)){b=!0;break a}break b}break b;case 4:switch(a.charCodeAt(0)){case 98:c="byte";b=!0;break b;case 99:d=a.charCodeAt(3);if(101==d){if(115==a.charCodeAt(2)&&97==a.charCodeAt(1)){b=!0;break a}}else if(114==d&&97==a.charCodeAt(2)&&104==a.charCodeAt(1)){b=!0;break a}break b;case 101:d=a.charCodeAt(3);if(101==d){if(115==a.charCodeAt(2)&&108==a.charCodeAt(1)){b=!0;break a}}else if(109==
  1409. d&&117==a.charCodeAt(2)&&110==a.charCodeAt(1)){b=!0;break a}break b;case 103:c="goto";b=!0;break b;case 108:c="long";b=!0;break b;case 110:c="null";b=!0;break b;case 116:d=a.charCodeAt(3);if(101==d){if(117==a.charCodeAt(2)&&114==a.charCodeAt(1)){b=!0;break a}}else if(115==d&&105==a.charCodeAt(2)&&104==a.charCodeAt(1)){b=!0;break a}break b;case 118:c="void";b=!0;break b;case 119:c="with";b=!0;break b}break b;case 5:switch(a.charCodeAt(2)){case 97:c="class";b=!0;break b;case 101:c="break";b=!0;break b;
  1410. case 105:c="while";b=!0;break b;case 108:c="false";b=!0;break b;case 110:d=a.charCodeAt(0);99==d?(c="const",b=!0):102==d&&(c="final",b=!0);break b;case 111:d=a.charCodeAt(0);102==d?(c="float",b=!0):115==d&&(c="short",b=!0);break b;case 112:c="super";b=!0;break b;case 114:c="throw";b=!0;break b;case 116:c="catch";b=!0;break b}break b;case 6:switch(a.charCodeAt(1)){case 97:c="native";b=!0;break b;case 101:d=a.charCodeAt(0);100==d?(c="delete",b=!0):114==d&&(c="return",b=!0);break b;case 104:c="throws";
  1411. b=!0;break b;case 109:c="import";b=!0;break b;case 111:c="double";b=!0;break b;case 116:c="static";b=!0;break b;case 117:c="public";b=!0;break b;case 119:c="switch";b=!0;break b;case 120:c="export";b=!0;break b;case 121:c="typeof";b=!0;break b}break b;case 7:switch(a.charCodeAt(1)){case 97:c="package";b=!0;break b;case 101:c="default";b=!0;break b;case 105:c="finally";b=!0;break b;case 111:c="boolean";b=!0;break b;case 114:c="private";b=!0;break b;case 120:c="extends";b=!0;break b}break b;case 8:switch(a.charCodeAt(0)){case 97:c=
  1412. "abstract";b=!0;break b;case 99:c="continue";b=!0;break b;case 100:c="debugger";b=!0;break b;case 102:c="function";b=!0;break b;case 118:c="volatile";b=!0;break b}break b;case 9:d=a.charCodeAt(0);105==d?(c="interface",b=!0):112==d?(c="protected",b=!0):116==d&&(c="transient",b=!0);break b;case 10:d=a.charCodeAt(1);109==d?(c="implements",b=!0):110==d&&(c="instanceof",b=!0);break b;case 12:c="synchronized",b=!0}if(null!=c&&!q(c,a)&&!q(c,a))return!1}return b}
  1413. function jNa(a){a=a.h();for(var b=rx(a.j());a.i();)b=sx(b,ux(a.j()));return nI((H(),ypa),b)}function kNa(a,b){b&&xF(a,b);return a}function lNa(a,b,c,d,e){a=nI((H(),tpa),a);G(b);G(c);for(b=b.V().h();b.i();){var f=b.j(),h=rx(f.M());M(a,kNa(h,f.O()))}for(c=c.V().h();c.i();)b=c.j(),f=rx(b.M()),Hx(f,(kx(),SE),!0),M(a,kNa(f,b.O()));null!=d&&(d=Ow(ou,rx(d)),M(a,kNa(d,e)));return a}
  1414. function mNa(a){Fi(!tp(a),"union must have at least one option");var b=mI((H(),vpa));for(a=a.h();a.i();){var c=a.j();M(b,c)}return b}function nNa(){}l(nNa,n);function lO(a,b){if(b)if(q(b.a,(W(),WM)))b=mO(a,b,!0);else{if(q(b.a,(W(),sN))){a=a.a;var c=oNa(a,b);c=pNa(a,""+c);(a=qNa(a,rNa(a,b.b)))&&Gx(c,a);nO(c,b);b=c}else b=sNa(a,b);Hx(b,(kx(),GE),!0)}else return tNa(a);E(Dw(b));return b}
  1415. function uNa(a,b){switch(b.a.a){case 78:b=oO(a,b);var c=b.a;a=pO(a.a,(H(),Tt),c.l());vNa(a,c);MG(a,!0);M(a,b);return a;case 35:c=lO(a,b.c);var d=(H(),Tt);c.c=d;(d=b.f)?a=wNa(a,d):(a=xNa(a,b.c),MG(c,!0));Mx(c,a);return c;case 36:return qO(a.a,b,(KI(),dK)),c=rO(a.a,b.c),d=wNa(a,b.f),a=sO(a.a,(H(),ru),c,d),tO(a,b),a;case 69:return qO(a.a,b,(KI(),xK)),c=uO(a.a,b.c),a=vO(a.a,(H(),pu),c),tO(a,b),a;default:throw pb("Unexpected object pattern element: "+r(b)).s;}}
  1416. function wNa(a,b){if(q(b.a,(NN(),cKa)))a=oO(a,b);else{var c;q(b.a,(NN(),JN))?c=xNa(a,b.c):c=uO(a.a,b);a=c}return a}function yNa(a){for(var b=null;zNa(a.a);){var c=UA(a).a.l();b||(b=yl());b.W(c)}b&&(b=b.fa(),1==b.w()&&b.B("use strict")&&(b=(wO(),ANa)),vF(a,(bF(),NF),b))}function zNa(a){return a?q(a.c,(H(),Nt))&&Dw(a.a)&&(wO(),BNa).B(a.a.l()):!1}function CNa(a,b){a=pO(a.a,(H(),St),b.c);nO(a,b);return a}function DNa(a,b,c){return b?rO(a.a,b):(a=xO(a.a,(H(),Jt)),tO(a,c),a)}
  1417. function ENa(a,b,c){return b?mO(a,b,!1):(a=xO(a.a,(H(),Jt)),tO(a,c),a)}function FNa(a,b){var c=xO(a.a,(H(),Qs));if(!GNa(a,b.c))return c;for(b=b.c.h();b.i();){var d=b.j();switch(d.a.a){case 78:d=oO(a,d);break;case 68:qO(a.a,d,(KI(),oK));d=uO(a.a,d);break;default:d=uO(a.a,d)}E(L(d)||Jw(d)||Zw(d)||$w(d)||vH(d));M(c,d)}return c}function oO(a,b){qO(a.a,b,(KI(),fK));var c=b.f,d;q(c.a,(NN(),JN))?d=xNa(a,c.c):d=uO(a.a,c);c=d;a=sO(a.a,(H(),npa),c,rO(a.a,b.c));tO(a,b);return a}
  1418. function mO(a,b,c){c?a=pO(a.a,(H(),Cs),b.c):(c=a.a,c=qNa(c,rNa(c,b.b)),HNa(a,b),a=pO(a.a,(H(),As),b.c),c&&Gx(a,c));nO(a,b);return a}function sNa(a,b){D(q(b.a,(W(),tN)));a=pO(a.a,(H(),Cs),INa(a.a,b,!1));nO(a,b);return a}function xNa(a,b){var c=JNa(a.a,b.b),d=null;if(q(a.a.f.b,(oM(),nM))){var e=KNa(a.a,b.b);e.D()||(d=LNa(e))}HNa(a,b);e=pO(a.a,(H(),As),b.c);c&&Gx(e,c);q(a.a.f.b,(oM(),nM))&&d&&(a=d,vF(e,(bF(),cF),a));nO(e,b);return e}
  1419. function MNa(a,b){TI(b.l())&&(a.a.c=$K(a.a.c,(KI(),WJ)),q(a.a.f.a,(tM(),qM))&&a.a.a.b("Keywords and reserved words are not allowed as unquoted property names in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.b,XA(b),YA(b)))}
  1420. function HNa(a,b){var c=b.c,d=!1;TI(c)&&(a.a.c=$K(a.a.c,(KI(),aBa)),d=q(a.a.f.a,(tM(),qM)));a.a.F&&a.a.F.B(c)&&(a.a.c=$K(a.a.c,(KI(),WJ)),d=q(a.a.f.a,(tM(),qM)));d&&a.a.a.a("identifier is a reserved word",a.a.b,yO(b.b.a),zO(b.b.a))}function tNa(a){return pO(a.a,(H(),As),"__missing_expression__")}
  1421. function NNa(a,b){switch(b.a.a){case 33:var c=b.g;var d=b.f;var e=!0;break;case 34:c=b.f;d=b.c;e=!0;break;case 1:c=b.A;d=b.c;e=b.g||b.f;break;default:return!1}return d||!cd(c.a,(W(),WM))||"constructor"!==c.c?!1:e?(a.a.a.a("Class constructor may not be getter, setter, async, or generator.",a.a.b,AO(b),BO(b)),!1):!0}function CO(a,b,c){c&&(ONa(a.a,c.b,nG(b)),DO(a,c,(KI(),Uya)),c=rO(a.a,c),Dw(c)&&(c=EO(a.a,Cya((H(),Cs),c.l()))),xF(b,c))}
  1422. function PNa(a,b,c){c&&(DO(a,c,(KI(),oBa)),vF(b,(kx(),TE),rO(a.a,c)))}
  1423. function GNa(a,b){for(var c=!1,d=!0,e=0;e<b.w();e++){var f=b.G(e),h=null;q(f.a,(NN(),iKa))&&(h=rO(a.a,f.f),f=f.c);switch(f.a.a){case 26:c&&(a.a.a.a("A required parameter cannot follow an optional parameter.",a.a.b,AO(f),BO(f)),d=!1);break;case 85:c=!0;break;case 68:e!=b.w()-1&&(a.a.a.a("A rest parameter must be last in a parameter list.",a.a.b,AO(f),BO(f)),d=!1),h&&!q(h.c,(H(),wu))&&(a.a.a.a("A rest parameter must be of an array type.",a.a.b,AO(f),BO(f)),d=!1)}}return d}
  1424. function QNa(a,b,c){b=xO(a.a,b);for(c=c.h();c.i();){var d=c.j();M(b,rO(a.a,d))}return b}function RNa(a,b,c){return!c||c.D()?xO(a.a,(H(),Jt)):QNa(a,b,c)}function SNa(a,b,c,d){if(d){switch(d.a){case 42:d=(HD(),ED);break;case 41:d=(HD(),DD);break;case 40:d=(HD(),CD);break;default:throw pb("Unexpected access modifier type").s;}DO(a,b,(KI(),jBa));vF(c,(kx(),VE),d)}}
  1425. function DO(a,b,c){q(a.a.f.a,(tM(),rM))||a.a.a.b("type syntax is only supported in ES6 typed mode: "+r(c),a.a.b,AO(b),BO(b));a.a.c=$K(a.a.c,c);a=a.a;b=b.b;a.U&&a.a.a("Can only have JSDoc or inline type annotations, not both",a.b,yO(b.a),zO(b.a))}function TNa(a,b){a.a.a.a("unsupported language feature: array/generator comprehensions",a.a.b,AO(b),BO(b));return tNa(a)}
  1426. function UNa(a,b){switch(b.c.a.a){case 102:var c=oNa(a.a,b.c);a=a.a;a=rF(eF(c),a.g);tO(a,b);return a;case 103:c=b.c;b=sNa(a,c);var d=b.l();-1!=mi(d,11)&&(d=c.b.a.a,c=c.b.b.a,d<a.a.ja.length&&ji(ne(a.a.ja,d,Math.min(a.a.ja.length,c)),"\\v")&&Hx(b,(kx(),Zwa),!0));return b;case 101:case 100:a=a.a;a:switch(b=b.c.a,wO(),b.a){case 100:b=(H(),Gs);break a;case 101:b=(H(),Fs);break a;default:throw pb(r(b)).s;}return xO(a,b);case 99:return xO(a.a,(H(),Ds));case 104:c=b.c;d=a.a;var e=c.c;var f=ti(e,47),h=mi(e,
  1427. 92);if(-1==h)e=ne(e,1,f);else{for(var k=Mg(),m=1;-1!=h;){Yf(k,e,m,h);h++;m=e.charCodeAt(h);switch(m){case 94:case 36:case 92:case 47:case 46:case 42:case 43:case 63:case 40:case 41:case 91:case 93:case 123:case 125:case 124:case 45:case 98:case 66:case 99:case 100:case 68:case 102:case 110:case 112:case 80:case 114:case 115:case 83:case 116:case 117:case 118:case 119:case 87:case 120:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:Og(k,92);default:Og(k,m)}m=h+1;h=ni(e,
  1428. 92,m)}Yf(k,e,m,f);e=k.toString()}d=pNa(d,e);nO(d,c);d=vO(a.a,(H(),Js),d);f=c.c;h=ti(f,47);e="";h<f.length&&(e=f.substr(h+1));for(f=mka(G(e)).h();f.i();)switch(h=f.j().a,h){case 103:case 105:case 109:break;case 117:case 121:h=117==h?(KI(),fBa):(KI(),gBa);qO(a.a,b,h);break;case 115:qO(a.a,b,(KI(),AK));break;default:a.a.a.a("Invalid RegExp flag '"+Hg(h)+"'",a.a.b,AO(b),BO(b))}te(e)||(a=pNa(a.a,e),nO(a,c),M(d,a));return d;default:throw pb("Unexpected literal type: "+r(Ig(b.c))+" type: "+r(b.c.a)).s;}}
  1429. function VNa(a,b){switch(b.a.a){case 42:var c=a.a;if(c.u&&c.u.a.b.a<=b.g.b.a.a){q(b.c.a,(W(),jN))||q(b.c.a,(W(),LHa))?qO(a.a,b,(KI(),tK)):q(b.c.a,(W(),oN))&&qO(a.a,b,(KI(),FK));var d=sO(a.a,WNa(b.c.a),rO(a.a,b.f),rO(a.a,b.g))}else{for(var e=b,f=null,h=null,k;e;){(q(e.c.a,(W(),jN))||q(e.c.a,(W(),LHa)))&&qO(a.a,e,(KI(),tK));q(e.c.a,(W(),oN))&&qO(a.a,e,(KI(),FK));k=h;h=vO(a.a,WNa(e.c.a),rO(a.a,e.g));tO(h,e);k&&Mx(k,h);if(e.f instanceof FKa)e=e.f;else{var m=rO(a.a,e.f);Mx(h,m);e=null}f||(f=h)}d=f}return d;
  1430. case 28:for(var p=xO(a.a,(H(),Ns)),t=b.c.h();t.i();){var v=t.j(),C=rO(a.a,v);M(p,C)}return p;case 79:qO(a.a,b,(KI(),rK));var J=xO(a.a,(H(),tu));tO(J,b);for(var K=b.c?sO(a.a,su,rO(a.a,b.c),J):J,Ca=b.f.h();Ca.i();){var Wa=Ca.j();M(J,rO(a.a,Wa))}return K;case 80:var Ma=b.c;D(q(Ma.a,(W(),wN))||q(Ma.a,(W(),vN))||q(Ma.a,(W(),XHa))||q(Ma.a,(W(),YHa)));var Vb=null!=Ma.f?XNa(a.a,null,Ma.c):XNa(a.a,INa(a.a,Ma,!0),Ma.c);nO(Vb,Ma);return Vb;case 81:return vO(a.a,(H(),uu),rO(a.a,b.c));case 44:var sc=YNa(b.c.a),
  1431. gc=rO(a.a,b.f);if(q(sc,(H(),rs))&&RH(gc)){gc.dl(-gc.ab());bya(gc,-1);FO(gc,b.c.b.a,b.f.b.b);var tc=gc}else!q(sc,(H(),ts))||N(gc)||DH(gc)||L(gc)||YG(gc)||XG(gc)||a.a.a.a("Invalid delete operand. Only properties can be deleted.",a.a.b,XA(gc),0),tc=vO(a.a,sc,gc);return tc;case 2:for(var Qb=xO(a.a,(H(),Lt)),Wb=b.c.h();Wb.i();){var Rd=Wb.j();M(Qb,rO(a.a,Rd))}return Qb;case 14:var Ne=xO(a.a,(H(),Dt));if(null!=(b.c?b.c.c:null)){var Jc=CNa(a,b.c);M(Ne,Jc)}return Ne;case 50:for(var kd=vO(a.a,(H(),xs),rO(a.a,
  1432. b.c)),Cc=b.f.c.h();Cc.i();){var pc=Cc.j();M(kd,rO(a.a,pc))}return kd;case 51:qO(a.a,b,(KI(),GK));for(var Db=vO(a.a,(H(),zs),rO(a.a,b.g)),Rb=b.f.c.h();Rb.i();){var Uc=Rb.j();M(Db,rO(a.a,Uc))}lya(Db,b.c);return Db;case 17:var ad=b.f,rf=vO(a.a,(H(),xt),rO(a.a,ad)),uc=xO(a.a,Lt);QG(uc);tO(uc,b);if(b.c)for(var Nc=b.c.h();Nc.i();){var Xb=Nc.j();M(uc,rO(a.a,Xb))}M(rf,uc);return rf;case 18:var Nb=xO(a.a,(H(),yt)),ic=xO(a.a,Lt);QG(ic);tO(ic,b);if(b.c)for(var Vc=b.c.h();Vc.i();){var sd=Vc.j();M(ic,rO(a.a,sd))}M(Nb,
  1433. ic);return Nb;case 22:return q(b.c.a,(NN(),NIa))&&qO(a.a,b,(KI(),EK)),sO(a.a,(H(),Ht),rO(a.a,b.c),GO(a.a,b.f));case 13:var Ye=xO(a.a,(H(),Et));if(null!=(b.c?b.c.c:null)){var Hf=CNa(a,b.c);M(Ye,Hf)}return Ye;case 8:return sO(a.a,(H(),At),GO(a.a,b.c),rO(a.a,b.f));case 5:return xO(a.a,(H(),Jt));case 6:var Ie=xO(a.a,(H(),Nt));M(Ie,rO(a.a,b.c));return Ie;case 24:return xO(a.a,(H(),kpa));case 25:return xO(a.a,(H(),Es));case 11:var Be=HO(a.a,(H(),Bt),DNa(a,b.o,b),DNa(a,b.f,b),DNa(a,b.g,b));M(Be,GO(a.a,b.c));
  1434. return Be;case 10:var fe=rO(a.a,b.g);return HO(a.a,(H(),Ct),fe,rO(a.a,b.f),GO(a.a,b.c));case 1:var mh=q(b.o,(XN(),UN)),mf=q(b.o,WN),Od=q(b.o,BLa),Se=b.f,eg=b.g,pg=q(b.u.a,(NN(),NIa));eg&&qO(a.a,b,(KI(),kK));mf&&qO(a.a,b,(KI(),mK));Od&&qO(a.a,b,(KI(),ZJ));Se&&qO(a.a,b,(KI(),uK));eg&&Se&&qO(a.a,b,(KI(),yK));var vf=b.A;if(vf)var qe=xNa(a,vf);else mh||mf?(a.a.a.a("unnamed function statement",a.a.b,AO(b),BO(b)),qe=pO(a.a,(H(),As),"__missing_name__")):qe=pO(a.a,(H(),As),""),tO(qe,b);var Pd=xO(a.a,(H(),
  1435. ut));mf&&qe.Ga("");M(Pd,qe);PNa(a,Pd.a,b.U);M(Pd,rO(a.a,b.K));CO(a,Pd,b.$);var wf=rO(a.a,b.u);Od||pg||Hw(wf)||(E(q(a.a.f.f,(uM(),rFa))),wf=Lw());yNa(wf);M(Pd,wf);kya(Pd,eg);mya(Pd,Od);nya(Pd,Se);Hx(Pd,(kx(),SE),b.v);if(mf){tO(Pd,b);var fg=pO(a.a,$t,vf.c);M(fg,Pd);SG(fg,b.c);SNa(a,b,fg,b.F);xF(Pd,zF(Pd));nO(fg,vf);var Ec=fg}else Ec=Pd;return Ec;case 57:return sO(a.a,(H(),ws),rO(a.a,b.c),rO(a.a,b.f));case 58:qO(a.a,b,(KI(),GK));var oi=sO(a.a,(H(),jpa),rO(a.a,b.g),rO(a.a,b.f));lya(oi,b.c);return oi;
  1436. case 46:var Qf=rO(a.a,b.c),Ni=lO(a,b.f);Ni.bb()||a.a.v||MNa(a,Ni);return sO(a.a,(H(),vs),Qf,Ni);case 47:qO(a.a,b,(KI(),GK));var re=rO(a.a,b.g),Je=lO(a,b.f);Je.bb()||a.a.v||MNa(a,Je);var Ce=sO(a.a,(H(),ys),re,Je);lya(Ce,b.c);return Ce;case 43:return HO(a.a,(H(),et),rO(a.a,b.c),rO(a.a,b.f),rO(a.a,b.g));case 7:var nf=xO(a.a,(H(),vt));M(nf,rO(a.a,b.f));M(nf,GO(a.a,b.g));b.c&&M(nf,GO(a.a,b.c));return nf;case 20:var Xc=rO(a.a,b.f);if(P(Xc)||kA(Xc)||hx(Xc)||ix(Xc)){a.a.a.a("Lexical declarations are only allowed at top level or inside a block.",
  1437. a.a.b,AO(b),BO(b));var nh=Xc}else nh=sO(a.a,(H(),Mt),CNa(a,b.c),Xc);return nh;case 59:if(q(b.c.a,(NN(),vJa))){var Dd=rp(b.c.c);q(Dd.a,(NN(),LN))&&a.a.a.a("A rest parameter must be in a parameter list.",a.a.b,AO(Dd),BO(Dd))}return rO(a.a,b.c);case 26:return mO(a,b.c,!1);case 48:var Qg=vO(a.a,(H(),ss),rO(a.a,b.f));if(b.c)for(var Rf=b.c.c.h();Rf.i();){var pi=Rf.j();M(Qg,rO(a.a,pi))}return Qg;case 29:for(var gg=xO(a.a,(H(),Os)),Rh=!1,If=b.c.h();If.i();){var ke=If.j();if(q(ke.a,(NN(),cKa)))a.a.a.a("Default value cannot appear at top level of an object literal.",
  1438. a.a.b,AO(ke),0);else{var Gd;if(!(Gd=!q(ke.a,(NN(),nJa)))){var xf=a,Oi=ke;xf.a.c=$K(xf.a.c,(KI(),VJ));if(q(xf.a.f.a,(tM(),qM))){xf.a.a.a("getters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",xf.a.b,AO(Oi),0);var Sh=!0}else Sh=!1;Gd=!Sh}if(Gd){var Ag;if(!(Ag=!q(ke.a,(NN(),oJa)))){var se=a,jk=ke;se.a.c=$K(se.a.c,(KI(),XJ));if(q(se.a.f.a,(tM(),qM))){se.a.a.a("setters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",
  1439. se.a.b,AO(jk),0);var oh=!0}else oh=!1;Ag=!oh}if(Ag){var qg=rO(a.a,ke);rH(qg)||qg.bb()||qx(qg)||a.a.v||MNa(a,qg);NG(qg)&&(Rh=!0);M(gg,qg)}}}}Rh&&qO(a.a,b,(KI(),iK));return gg;case 36:return qO(a.a,b,(KI(),dK)),sO(a.a,(H(),ru),rO(a.a,b.c),rO(a.a,b.f));case 37:qO(a.a,b,(KI(),dK));var yf=rO(a.a,b.g),of=rO(a.a,b.f),hg=Fw(rx(""),Iw(A([],lx,eI,1)),of);JG(hg,of);var ig=sO(a.a,(H(),ru),yf,hg);Hx(ig,(kx(),PE),!0);Hx(ig,LE,b.c);return ig;case 93:qO(a.a,b,(KI(),dK));DO(a,b,sBa);var ph=vO(a.a,(H(),ru),rO(a.a,
  1440. b.o));CO(a,ph,b.g);Hx(ph,(kx(),RE),!0);vF(ph,VE,b.c);SG(ph,b.f);SNa(a,b,ph,b.c);return ph;case 38:qO(a.a,b,(KI(),dK));var Jf=sO(a.a,(H(),ru),rO(a.a,b.g),rO(a.a,b.c));Hx(Jf,(kx(),OE),!0);b.c.c&&SG(Jf,!0);SNa(a,b,Jf,b.f);return Jf;case 39:qO(a.a,b,(KI(),dK));var xd=rO(a.a,b.o),Bg=FNa(a,b.f);tO(Bg,b.f);var qh=rO(a.a,b.g),ai=Fw(rx(""),Bg,qh);JG(ai,qh);var Rg=sO(a.a,(H(),ru),xd,ai);Hx(Rg,(kx(),QE),!0);Hx(Rg,LE,b.c);return Rg;case 15:var rh=xO(a.a,(H(),is));b.c&&M(rh,rO(a.a,b.c));return rh;case 45:a:{var ge=
  1441. b.g.a;wO();switch(ge.a){case 68:var Ke=(H(),st);break a;case 69:Ke=(H(),tt);break a;default:throw pb(r(ge)).s;}}var pf=rO(a.a,b.c),jg=Ke,sh=q(b.f,(aNa(),ZMa));xx(nH(pf)?pf.a:pf)||a.a.a.a(CN("Invalid %s %s operand.",[sh?"postfix":"prefix",q(jg,(H(),st))?"increment":"decrement"]),a.a.b,XA(pf),YA(pf));var uj=vO(a.a,jg,pf);Hx(uj,(kx(),Ix),sh);return uj;case 0:for(var Cg=xO(a.a,(H(),Ot)),Pi=b.f.h();Pi.i();){var Eh=Pi.j();M(Cg,rO(a.a,Eh))}yNa(Cg);D(tC(Cg));if(Cg.a){var th=Cg.a;if(yH(th)){var Sg=th.a;var id=
  1442. eH(Sg)?yG(Sg.a,"goog.module"):!1}else id=!1}else id=!1;if(id||JI(a.a.c,(KI(),sK))){var Md=xO(a.a,nu);tO(Md,b);oD(Md,pD(Cg));M(Cg,Md);id?Hx(Cg,(kx(),WE),!0):Hx(Cg,(kx(),$E),!0)}return Cg;case 27:return UNa(a,b);case 19:for(var vj=vO(a.a,(H(),wt),rO(a.a,b.f)),cj=b.c.h();cj.i();){var bi=cj.j();M(vj,rO(a.a,bi))}return vj;case 21:return vO(a.a,(H(),Ks),rO(a.a,b.c));case 23:var wj=vO(a.a,(H(),Ps),GO(a.a,b.c)),ci=xO(a.a,Lt),Sf=!1,Th=b.f;Th&&(tO(ci,Th),Sf=!0,M(ci,rO(a.a,Th)));M(wj,ci);var qi=b.g;qi&&M(wj,
  1443. GO(a.a,qi));!Sf&&qi&&tO(ci,qi);return wj;case 3:return VNa(a.a.K,b.c);case 12:switch(b.f.a){case 30:qO(a.a,b,(KI(),eK));var ri=(H(),Rt);break;case 38:qO(a.a,b,(KI(),lK));ri=(H(),bu);break;case 25:ri=(H(),Ft);break;default:throw ob().s;}for(var di=xO(a.a,ri),ei=b.c.h();ei.i();){var Qi=ei.j();M(di,uO(a.a,Qi))}return di;case 4:var kk=uO(a.a,b.f),Tg=Xw(kk)?vO(a.a,(H(),Xt),kk):kk;if(b.c){var Il=rO(a.a,b.c);M(Tg,Il);Tg.u=b.b.b.a-b.b.a.a}CO(a,Tg,b.g);return Tg;case 9:return sO(a.a,(H(),zt),rO(a.a,b.f),GO(a.a,
  1444. b.c));case 16:return sO(a.a,(H(),Gt),rO(a.a,b.f),GO(a.a,b.c));case 41:var Fh=xO(a.a,(H(),Rs)),dj=b.c.G(0).b.a,Hj=b.c.G(1).b.b;FO(Fh,dj,Hj);for(var Ij=b.c.h();Ij.i();){var ej=Ij.j();2>GA(Fh)?M(Fh,rO(a.a,ej)):(Hj=ej.b.b,Fh=sO(a.a,Rs,Fh,rO(a.a,ej)),FO(Fh,dj,Hj))}return Fh;case 67:return xO(a.a,(H(),Jt));case 60:return GO(a.a,b.c);case 40:return tNa(a);case 35:var Gh=lO(a,b.c),lk=(H(),Tt);Gh.c=lk;if(b.f)Mx(Gh,rO(a.a,b.f));else{var Ug=CG(Gh);MG(Gh,!0);Ug.c=As;Mx(Gh,Ug)}return Gh;case 33:var Jq=lO(a,b.g),
  1445. Jj=(H(),Pt);Jq.c=Jj;var ht=rO(a.a,b.c),un=pO(a.a,As,"");tO(un,b.c);var gl=xO(a.a,Qs);tO(gl,b.c);var uo=HO(a.a,ut,un,gl,ht);tO(uo,b.c);Mx(Jq,uo);CO(a,uo,b.o);SG(Jq,b.f);return Jq;case 34:var vo=lO(a,b.f),Iy=(H(),Qt);vo.c=Iy;var it=FNa(a,b.o);tO(it,b.o);var km=rO(a.a,b.g),jt=pO(a.a,As,"");nO(jt,b.f);var kt=HO(a.a,ut,jt,it,km);tO(kt,b.g);Mx(vo,kt);SG(vo,b.c);return vo;case 64:return FNa(a,b);case 52:qO(a.a,b,(KI(),aK));var hl=ENa(a,b.o,b);PNa(a,hl,b.f);var Kq=DNa(a,b.u,b);Aw(Kq)||(a.a.c=$K(a.a.c,bK));
  1446. var Ep=RNa(a,(H(),Ipa),b.g),Fp=xO(a.a,Zt);tO(Fp,b);for(var lt=!1,Lq=b.c.h();Lq.i();){var Jl=Lq.j();switch(Jl.a.a){case 92:case 93:DO(a,Jl,sBa)}switch(Jl.a.a){case 37:case 39:case 33:case 34:a.a.c=$K(a.a.c,cK)}NNa(a,Jl)&&(lt&&a.a.a.a("Class may have only one constructor.",a.a.b,AO(Jl),BO(Jl)),lt=!0);M(Fp,rO(a.a,Jl))}var mt=HO(a.a,Yt,hl,Kq,Fp);Aw(Ep)||(DO(a,b,pBa),vF(mt,(kx(),UE),Ep));return mt;case 61:return qO(a.a,b,(KI(),qK)),xO(a.a,(H(),au));case 98:return qO(a.a,b,(KI(),nK)),xO(a.a,(H(),opa));
  1447. case 77:var Hm=xO(a.a,(H(),eu));b.c&&M(Hm,rO(a.a,b.c));var rw=b.f;Hx(Hm,(bF(),TF),rw);return Hm;case 99:qO(a.a,b,(KI(),uK));var nt=xO(a.a,(H(),fu));M(nt,rO(a.a,b.c));return nt;case 75:qO(a.a,b,(KI(),jK));var Jy=rO(a.a,b.g);return HO(a.a,(H(),cu),Jy,rO(a.a,b.f),GO(a.a,b.c));case 76:qO(a.a,b,(KI(),zK));var Au=rO(a.a,b.g);return HO(a.a,(H(),du),Au,rO(a.a,b.f),GO(a.a,b.c));case 71:qO(a.a,b,(KI(),sK));var Vr=null;b.g?E(!b.c&&!b.f):b.c?(E(!b.f),Vr=rO(a.a,b.c)):Vr=QNa(a,(H(),lu),b.f);Vr||(Vr=xO(a.a,(H(),
  1448. Jt)));tO(Vr,b);var lm=vO(a.a,(H(),ku),Vr);if(b.o){var ot=sNa(a,b.o);M(lm,ot)}Hx(lm,(kx(),NE),b.g);Hx(lm,ME,b.u);return lm;case 72:var wo=mO(a,b.f,!0),Bu=(H(),As);wo.c=Bu;var xo=vO(a.a,mu,wo);if(b.c){var sw=mO(a,b.c,!0);sw.c=As;M(xo,sw)}else MG(xo,!0),M(xo,NA(wo));return xo;case 73:qO(a.a,b,(KI(),sK));var si=ENa(a,b.f,b);if(b.c){var vn=pO(a.a,(H(),ju),b.c.c);nO(vn,b.c)}else vn=RNa(a,(H(),hu),b.g),tO(vn,b);var EB=sNa(a,b.o);return HO(a.a,(H(),gu),si,vn,EB);case 74:var Cu=mO(a,b.f,!0),rG=(H(),As);Cu.c=
  1449. rG;var Du=vO(a.a,iu,Cu);b.c?M(Du,mO(a,b.c,!1)):(MG(Du,!0),M(Du,NA(Cu)));return Du;case 100:qO(a.a,b,(KI(),hBa));var sG=rO(a.a,b.c);return vO(a.a,(H(),lpa),sG);case 101:return qO(a.a,b,(KI(),sK)),qO(a.a,b,iBa),xO(a.a,(H(),ppa));case 62:qO(a.a,b,(KI(),gK));for(var pt=xO(a.a,(H(),Vt)),FB=b.c.h();FB.i();){var tw=FB.j(),tG=void 0;switch(tw.a.a){case 78:tG=oO(a,tw);break;case 68:qO(a.a,tw,YJ);tG=uO(a.a,tw);break;default:tG=uO(a.a,tw)}M(pt,tG)}return pt;case 63:qO(a.a,b,(KI(),hK));for(var UX=xO(a.a,(H(),
  1450. Wt)),VX=b.c.h();VX.i();){var Kca=VX.j(),WX=uNa(a,Kca);M(UX,WX)}return UX;case 30:return TNa(a,b);case 32:return TNa(a,b);case 31:return TNa(a,b);case 78:return oO(a,b);case 68:var XX=uO(a.a,b.c);return vO(a.a,(H(),ou),XX);case 65:return qO(a.a,b,(KI(),pK)),vO(a.a,(H(),qu),rO(a.a,b.c));case 69:return uNa(a,b);case 66:return qO(a.a,b,(KI(),wK)),vO(a.a,(H(),mpa),rO(a.a,b.c));case 82:if(1==b.c.w())switch(b.c.G(0)){case "any":var qt=EO(a.a,mI((H(),wpa)));break;case "number":qt=EO(a.a,mI((H(),spa)));break;
  1451. case "boolean":qt=EO(a.a,mI((H(),rpa)));break;case "string":qt=EO(a.a,mI((H(),qpa)));break;case "void":qt=EO(a.a,mI((H(),xpa)));break;case "undefined":qt=EO(a.a,mI((H(),Apa)));break;default:qt=EO(a.a,jNa(b.c))}else qt=EO(a.a,jNa(b.c));tO(qt,b);return qt;case 84:var uG=rO(a.a,b.c);CO(a,uG,b.f);return uG;case 85:DO(a,b,(KI(),uBa));var YX=rO(a.a,b.c);Hx(YX,(kx(),SE),!0);return YX;case 86:for(var ZX=Mj(),uw=b.c.h();uw.i();){var $X=uw.j();ZX.W(rO(a.a,$X))}var aY=rO(a.a,b.f),vG=EO,Lca=a.a;var bY=ZX.fa();
  1452. if(tp(bY))var cY=aY;else{for(var dY=nI((H(),upa),aY),ZN=bY.h();ZN.i();){var eY=ZN.j();M(dY,eY)}cY=dY}return vG(Lca,cY);case 87:var CQb=EO,DQb=a.a,EQb=rO(a.a,b.c);var FQb=nI((H(),wu),EQb);return CQb(DQb,FQb);case 88:for(var Kgb=mI((H(),zpa)),Lgb=b.c.h();Lgb.i();){var GQb=Lgb.j();M(Kgb,rO(a.a,GQb))}return EO(a.a,Kgb);case 89:for(var Mgb=Mj(),Ngb=b.c.h();Ngb.i();){var HQb=Ngb.j();Mgb.W(rO(a.a,HQb))}return EO(a.a,mNa(Mgb.fa()));case 90:var Ogb=Uf(),Pgb=Uf(),Qgb=null,Rgb=null;if(GNa(a,b.c.c))for(var Sgb=
  1453. b.c.c.h();Sgb.i();){var Ky=Sgb.j(),Mca=null;if(q(Ky.a,(NN(),iKa))){var Tgb=Ky;Mca=rO(a.a,Tgb.f);Ky=Tgb.c}switch(Ky.a.a){case 26:Ogb.C(Ky.c.c,Mca);break;case 85:DO(a,Ky,(KI(),uBa));Pgb.C(Ky.c.c.c,Mca);break;case 68:Qgb=Ky.c.c.c;Rgb=Mca;break;default:throw pb("Illegal parameter type: "+r(Ky.a)).s;}}return EO(a.a,lNa(rO(a.a,b.f),Ogb,Pgb,Qgb,Rgb));case 83:for(var kCa=b.c.h(),lCa=pO(a.a,(H(),As),kCa.j());kCa.i();)lCa=sx(lCa,ux(kCa.j()));return EO(a.a,nI(us,lCa));case 91:for(var Ugb=xO(a.a,(H(),Cpa)),Vgb=
  1454. b.c.V().h();Vgb.i();){var Wgb=Vgb.j(),Xgb=pO(a.a,Bpa,Wgb.M().c),Ygb=Wgb.O();Ygb&&M(Xgb,rO(a.a,Ygb));M(Ugb,Xgb)}return Ugb;case 92:var fY=pO(a.a,(H(),Ku),b.u.c);CO(a,fY,b.o);SG(fY,b.f);Hx(fY,(kx(),SE),b.c);SNa(a,b,fY,b.g);return fY;case 53:DO(a,b,(KI(),rBa));var Zgb=mO(a,b.g,!1);PNa(a,Zgb,b.f);var IQb=RNa(a,(H(),Fpa),b.o),mCa=xO(a.a,Iu);tO(mCa,b);for(var $gb=b.c.h();$gb.i();){var JQb=$gb.j();M(mCa,rO(a.a,JQb))}return HO(a.a,Epa,Zgb,IQb,mCa);case 56:DO(a,b,(KI(),nBa));var KQb=mO(a,b.f,!1),nCa=xO(a.a,
  1455. (H(),Hpa));tO(nCa,b);for(var ahb=b.c.h();ahb.i();){var LQb=ahb.j(),gY=rO(a.a,LQb);NG(gY)&&(oF(gY,O(gY)),MG(gY,!1));M(nCa,gY)}return sO(a.a,Gpa,KQb,nCa);case 94:DO(a,b,(KI(),vBa));var bhb=pO(a.a,(H(),Jpa),b.c.c);Mx(bhb,rO(a.a,b.f));return bhb;case 95:return DO(a,b,(KI(),kBa)),vO(a.a,(H(),Ju),rO(a.a,b.c));case 54:DO(a,b,(KI(),tBa));var hY=b.f,oCa=hY.c;if(1==oCa.w()){var chb=pO(a.a,(H(),As),oCa.G(0));tO(chb,hY);var dhb=chb}else{var pCa=oCa.h(),iY=rx(pCa.j());for(tO(iY,hY);pCa.i();){var ehb=pO(a.a,(H(),
  1456. Cs),pCa.j());tO(ehb,hY);iY=sO(a.a,vs,iY,ehb);tO(iY,hY)}dhb=iY}var qCa=xO(a.a,(H(),Ou));tO(qCa,b);for(var fhb=b.c.h();fhb.i();){var MQb=fhb.j();M(qCa,rO(a.a,MQb))}return sO(a.a,Nu,dhb,qCa);case 96:DO(a,b,(KI(),qBa));var ghb=rO(a.a,b.c),hhb=zF(ghb);q(hhb.c,(H(),spa))||q(hhb.c,(H(),qpa))||a.a.a.a("Index signature parameter type must be 'string' or 'number'",a.a.b,AO(b.c),BO(b.c));var ihb=vO(a.a,(H(),Lu),ghb);CO(a,ihb,b.f);return ihb;case 97:DO(a,b,b.c?(KI(),mBa):(KI(),lBa));var Nca=vO(a.a,(H(),Mu),rO(a.a,
  1457. b.f));CO(a,Nca,b.o);PNa(a,Nca,b.g);Hx(Nca,(kx(),cxa),b.c);return Nca}a.a.a.a("Unsupported syntax: "+r(b.a),a.a.b,AO(b),0);return xO(a.a,(H(),Jt))}function ZNa(){this.a=this.b=0}l(ZNa,n);function $Na(){this.a=0}var IO,JO,aOa,bOa,KO,cOa,dOa,LO,MO,eOa,NO,OO,PO,fOa,QO,RO,SO,TO,UO,VO,WO;l($Na,z);function XO(a,b){var c=new $Na;c.b=a;c.a=b;return c}$Na.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1458. function YO(){YO=function(){};IO=XO("EOF",0);JO=XO("EOL",1);aOa=XO("LEFT_ANGLE",2);bOa=XO("RIGHT_ANGLE",3);KO=XO("STRING",4);cOa=XO("LEFT_SQUARE",5);dOa=XO("RIGHT_SQUARE",6);LO=XO("LEFT_CURLY",7);MO=XO("RIGHT_CURLY",8);eOa=XO("LEFT_PAREN",9);NO=XO("RIGHT_PAREN",10);OO=XO("COMMA",11);PO=XO("COLON",12);fOa=XO("ITER_REST",13);QO=XO("ANNOTATION",14);RO=XO("PIPE",15);SO=XO("STAR",16);TO=XO("EOC",17);UO=XO("QMARK",18);VO=XO("BANG",19);WO=XO("EQUALS",20)}function gOa(){}l(gOa,n);
  1459. function hOa(a,b){var c=new gOa;c.a=a;c.b=b;return c}function iOa(){this.a=0}var ZO,jOa;l(iOa,z);function kOa(a,b){var c=new iOa;c.b=a;c.a=b;return c}iOa.prototype.R=function(a){return z.prototype.c.call(this,a)};function $O(){$O=function(){};ZO=kOa("SEARCHING_ANNOTATION",0);jOa=kOa("SEARCHING_NEWLINE",1)}function lOa(){this.a=0}var aP,mOa,nOa;l(lOa,z);function oOa(a,b){var c=new lOa;c.b=a;c.a=b;return c}lOa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1460. function bP(){bP=function(){};aP=oOa("PRESERVE",0);mOa=oOa("TRIM",1);nOa=oOa("SINGLE_LINE",2)}var pOa=/\s/;function qOa(a){return 127>=a?32==a||9==a||12==a||11==a:160==a}function rOa(a){switch(a){case 11:return Xu(),Vu;case 32:case 10:case 13:case 9:case 160:case 12:case 8232:case 8233:case 65279:return Xu(),Tu;default:return Xu(),Uu}}function sOa(){this.u=this.K=this.$=this.U=this.c=this.a=this.g=this.F=this.f=this.o=0}l(sOa,n);function tOa(a,b,c){var d=new sOa;uOa(d,a,b,c);return d}
  1461. function uOa(a,b,c,d){a.b="";a.v=za([128],Ob,Pb,0);a.A=za([3],Zc,$c,0);a.F=0;a.g=-1;a.c=-1;G(b);a.a=c;a.ja=b;a.K=b.length;a.u=0;a.$=c;a.U=d}
  1462. function vOa(a){for(a.o=0;;){for(;;){a.c=-1;var b=cP(a);if(-1==b)return YO(),IO;if(10==b)return YO(),JO;if(!qOa(b))break}switch(b){case 64:do if(b=cP(a),90>=b?65<=b:97<=b&&122>=b)dP(a,b);else return eP(a,b),a.b=fP(a),a.o=0,YO(),QO;while(1);case 42:b:if(b=a,0!=b.f)--b.f,-1==b.c&&(b.c=gP(b)),b=b.A[b.f];else for(;;){if(b.u==b.K){-1==b.c&&(b.c=gP(b));b=-1;break b}var c=yh(b.ja,b.u++);if(127>=c){if(10==c||13==c)b.g=c,c=10}else{if(127<c)continue;wOa(c)&&(b.g=c,c=10)}-1==b.c&&(b.c=gP(b));b=c;break b}47==
  1463. b?a=!0:(Ad(a.A,a.f++,b),a=!1);return a?(YO(),TO):(YO(),SO);case 44:return YO(),OO;case 62:return YO(),bOa;case 40:return YO(),eOa;case 41:return YO(),NO;case 123:return YO(),LO;case 125:return YO(),MO;case 91:return YO(),cOa;case 93:return YO(),dOa;case 63:return YO(),UO;case 33:return YO(),VO;case 58:return YO(),PO;case 61:return YO(),WO;case 124:return YO(),RO;case 60:return YO(),aOa;case 46:b=cP(a);if(60==b)return YO(),aOa;if(46==b){b=cP(a);if(46==b)return YO(),fOa;dP(a,46)}Ad(a.A,a.f++,b);b=46;
  1464. default:if(dP(a,b),c=cP(a),xOa(c)){do{b=c;c=cP(a);if(46==b&&60==c)return eP(a,c),eP(a,b),a.b=fP(a),a.o=0,YO(),KO;if(xOa(c))dP(a,b);else return eP(a,c),dP(a,b),a.b=fP(a),a.o=0,YO(),KO}while(1)}else return eP(a,c),a.b=fP(a),a.o=0,YO(),KO}}}function hP(a){return a.a==a.$?a.U+a.c:a.c}function fP(a){return Ub(a.v,0,a.o)}function dP(a,b){var c=a.o;if(c==a.v.length){var d=za([2*a.v.length],Ob,Pb,0);Di(a.v,0,d,0,c);a.v=d}a.v[c]=b&65535;a.o=c+1}function eP(a,b){Ad(a.A,a.f++,b)}
  1465. function xOa(a){switch(a){case 64:case 42:case 44:case 60:case 62:case 58:case 40:case 41:case 123:case 125:case 91:case 93:case 63:case 33:case 124:case 61:case -1:case 10:return!1;default:return!qOa(a)}}
  1466. function cP(a){if(0!=a.f)return--a.f,-1==a.c&&(a.c=gP(a)),a.A[a.f];for(;;){if(a.u==a.K)return-1==a.c&&(a.c=gP(a)),-1;var b=yh(a.ja,a.u++);if(0<=a.g){if(13==a.g&&10==b){a.g=10;continue}a.g=-1;a.F=a.u-1;a.a++}if(127>=b){if(10==b||13==b)a.g=b,b=10}else{if(127<b)continue;wOa(b)&&(a.g=b,b=10)}-1==a.c&&(a.c=gP(a));return b}}function wOa(a){return 0!=(a&57296)?!1:10==a||13==a||8232==a||8233==a}function gP(a){return a.u-a.F-a.f-1}function yOa(){this.a=0}var iP,jP,zOa,kP,AOa;l(yOa,z);
  1467. function lP(a,b){var c=new yOa;c.b=a;c.a=b;return c}yOa.prototype.R=function(a){return z.prototype.c.call(this,a)};function mP(){mP=function(){};iP=lP("TYPE_CONSTRUCTOR",0);jP=lP("OPERATION",1);zOa=lP("STRING_PREDICATE",2);kP=lP("TYPE_PREDICATE",3);AOa=lP("TYPEVAR_PREDICATE",4)}function nP(){this.o=this.u=this.a=0}var BOa,COa,DOa,EOa,FOa,GOa,HOa,IOa,JOa,KOa,oP,pP,LOa,qP,rP,MOa,NOa,OOa,POa,sP,QOa,ROa,SOa,TOa,UOa;l(nP,z);
  1468. function tP(a,b,c,d,e,f){var h=new nP;h.b=a;h.a=b;h.f=c;h.u=d;h.o=e;h.g=f;return h}function uP(a){vP();BOa||(BOa=cda(VOa()));return dda(a,BOa)}function VOa(){vP();return A([COa,DOa,EOa,FOa,GOa,HOa,IOa,JOa,KOa,oP,pP,LOa,qP,rP,MOa,NOa,OOa,POa,sP,QOa,ROa,SOa,TOa,UOa],nP,WOa,1)}nP.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1469. function vP(){vP=function(){};COa=tP("ALL",0,"all",0,0,(mP(),iP));DOa=tP("COND",1,"cond",3,3,jP);EOa=tP("EQ",2,"eq",2,2,kP);FOa=tP("ISCTOR",3,"isCtor",1,1,kP);GOa=tP("ISDEFINED",4,"isDefined",1,1,AOa);HOa=tP("ISRECORD",5,"isRecord",1,1,kP);IOa=tP("ISTEMPLATIZED",6,"isTemplatized",1,1,kP);JOa=tP("ISUNKNOWN",7,"isUnknown",1,1,kP);KOa=tP("INSTANCEOF",8,"instanceOf",1,1,jP);oP=tP("MAPUNION",9,"mapunion",2,2,jP);pP=tP("MAPRECORD",10,"maprecord",2,2,jP);LOa=tP("NONE",11,"none",0,0,iP);qP=tP("PRINTTYPE",
  1470. 12,"printType",2,2,jP);rP=tP("PROPTYPE",13,"propType",2,2,jP);MOa=tP("RAWTYPEOF",14,"rawTypeOf",1,1,iP);NOa=tP("SUB",15,"sub",2,2,kP);OOa=tP("STREQ",16,"streq",2,2,zOa);POa=tP("RECORD",17,"record",1,2147483647,iP);sP=tP("TEMPLATETYPEOF",18,"templateTypeOf",2,2,iP);QOa=tP("TYPE",19,"type",2,2147483647,iP);ROa=tP("TYPEEXPR",20,"typeExpr",1,1,iP);SOa=tP("TYPEOFVAR",21,"typeOfVar",1,1,jP);TOa=tP("UNION",22,"union",2,2147483647,iP);UOa=tP("UNKNOWN",23,"unknown",0,0,iP);BOa=null}
  1471. function WOa(a){return a instanceof nP}function XOa(){this.f=this.a=0}l(XOa,n);function wP(a,b,c){a.b.b("Bad type annotation. "+r(ay(b,[c])),a.c.ub(),a.a,a.f)}function YOa(a){for(var b=VOa(),c=0;c<b.length;c++)if(q(b[c].f,a))return!0;return!1}function ZOa(a,b){return YOa(a)&&q(uP(Zp(a)).g,b)}function $Oa(a){Ii(P(a),"Expected a function node, found %s",a);return GA(R(a))}function aPa(a){Ii(P(a),"Expected a function node, found %s",a);return RC(a,2)}
  1472. function xP(a){Ii(eH(a),"Expected a call node, found %s",a);return a.a.l()}function yP(a,b){Ii(eH(a),"Expected a call node, found %s",a);return RC(a,b+1)}function zP(a){Ii(eH(a),"Expected a call node, found %s",a);return GA(a)-1}function AP(a,b){wP(a,"msg.jsdoc.typetransformation.invalid",b)}function BP(a,b){wP(a,"msg.jsdoc.typetransformation.invalid.expression",b)}function bPa(a,b){wP(a,"msg.jsdoc.typetransformation.missing.param",b)}
  1473. function cPa(a,b){wP(a,"msg.jsdoc.typetransformation.extra.param",b)}function CP(a,b){wP(a,"msg.jsdoc.typetransformation.invalid.inside",b)}function DP(a,b,c){b=zP(b);return b<c.u?(bPa(a,c.f),!1):b>c.o?(cPa(a,c.f),!1):!0}function dPa(a,b){bya(b,XA(b)+a.a);for(b=BA(b).h();b.i();){var c=b.j();dPa(a,c)}}
  1474. function ePa(a,b){if(!DP(a,b,(vP(),QOa)))return!1;var c=zP(b),d=yP(b,0);if(!L(d)&&!Dw(d))return AP(a,"type name or type variable"),CP(a,"template type operation"),!1;for(d=1;d<c;d++)if(!EP(a,yP(b,d)))return CP(a,"template type operation"),!1;return!0}function fPa(a,b){if(!DP(a,b,(vP(),sP)))return!1;if(!EP(a,yP(b,0)))return CP(a,(vP(),sP).f),!1;if(!RH(yP(b,1)))return AP(a,"index"),CP(a,(vP(),sP).f),!1;b=yP(b,1).ab();return 0>b||0!=b%1?(AP(a,"index"),CP(a,(vP(),sP).f),!1):!0}
  1475. function gPa(a,b){if(SH(b))for(b=BA(b).h();b.i();){var c=b.j();if(NG(c))return AP(a,"property, missing type"),!1;if(!EP(a,c.a))return!1}else if(!EP(a,b))return!1;return!0}
  1476. function hPa(a,b){var c=xP(b);switch(uP(Zp(c)).a){case 19:return ePa(a,b);case 22:a:if(DP(a,b,(vP(),TOa))){c=zP(b);for(var d=0;d<c;d++)if(!EP(a,yP(b,d))){CP(a,"union type");b=!1;break a}b=!0}else b=!1;return b;case 11:return DP(a,b,(vP(),LOa));case 0:return DP(a,b,(vP(),COa));case 23:return DP(a,b,(vP(),UOa));case 14:return DP(a,b,(vP(),MOa))?EP(a,yP(b,0))?b=!0:(CP(a,(vP(),MOa).f),b=!1):b=!1,b;case 18:return fPa(a,b);case 17:a:if(DP(a,b,(vP(),POa))){for(c=0;c<zP(b);c++)if(!gPa(a,yP(b,c))){CP(a,(vP(),
  1477. POa).f);b=!1;break a}b=!0}else b=!1;return b;case 20:if(DP(a,b,(vP(),ROa)))if(c=yP(b,0),Dw(c)){a=c.l();iPa();d=HFa(GFa(BFa(CFa(yFa(),(tM(),qM)),(wM(),uFa)),mm("testPrimitive")));var e=new sOa;uOa(e,a,0,0);a=jPa(e,a,0,null,d,(Mpa(),Lpa));a=FP(a,GP(a));S(c);M(b,a);b=!0}else BP(a,"native type"),CP(a,(vP(),ROa).f),b=!1;else b=!1;return b;default:throw pb("Invalid type expression").s;}}
  1478. function kPa(a,b){if(iH(b)||TH(b)||PH(b))return(PH(b)?kPa(a,b.a):kPa(a,b.a)&&kPa(a,R(b)))?a=!0:(CP(a,"boolean"),a=!1),a;if(!eH(b))return BP(a,"boolean"),!1;var c=xP(b);if(!(ZOa(c,(mP(),zOa))||ZOa(c,(mP(),kP))||ZOa(c,(mP(),AOa))))return AP(a,"boolean predicate"),!1;c=xP(b);c=uP(Zp(c));if(!DP(a,b,c))return!1;switch(c.g.a){case 3:a:{c=zP(b);for(var d=0;d<c;d++)if(!EP(a,yP(b,d))){CP(a,"boolean");a=!1;break a}a=!0}return a;case 2:a:{c=zP(b);for(d=0;d<c;d++){var e=a;var f=yP(b,d);L(f)||Dw(f)?te(f.l())?
  1479. (AP(e,"string parameter"),e=!1):e=!0:(AP(e,"string"),e=!1);if(!e){CP(a,"boolean");a=!1;break a}}a=!0}return a;case 4:a:{c=zP(b);for(d=0;d<c;d++)if(e=a,f=yP(b,d),L(f)?e=!0:(AP(e,"name"),e=!1),!e){CP(a,"boolean");a=!1;break a}a=!0}return a;default:throw pb("Invalid boolean expression").s;}}function lPa(a,b){return DP(a,b,(vP(),DOa))?kPa(a,yP(b,0))&&EP(a,yP(b,1))&&EP(a,yP(b,2))?!0:(CP(a,"conditional"),!1):!1}
  1480. function mPa(a,b){if(!DP(a,b,(vP(),oP)))return!1;if(!EP(a,yP(b,0)))return CP(a,(vP(),oP).f,yP(b,0)),!1;if(!P(yP(b,1)))return AP(a,"map function",yP(b,1)),CP(a,(vP(),oP).f,yP(b,1)),!1;var c=yP(b,1),d=$Oa(c);if(1>d)return bPa(a,"map function"),CP(a,(vP(),oP).f,yP(b,1)),!1;if(1<d)return cPa(a,"map function"),CP(a,(vP(),oP).f,yP(b,1)),!1;b=aPa(c);return EP(a,b)?!0:(CP(a,"map function body"),!1)}
  1481. function nPa(a,b){if(!DP(a,b,(vP(),pP)))return!1;if(!EP(a,yP(b,0)))return CP(a,(vP(),pP).f,yP(b,0)),!1;if(!P(yP(b,1)))return AP(a,"map function",yP(b,1)),CP(a,(vP(),pP).f,yP(b,1)),!1;var c=yP(b,1),d=$Oa(c);if(2>d)return bPa(a,"map function"),CP(a,(vP(),pP).f,yP(b,1)),!1;if(2<d)return cPa(a,"map function"),CP(a,(vP(),pP).f,yP(b,1)),!1;b=aPa(c);return EP(a,b)?!0:(CP(a,"map function body"),!1)}
  1482. function oPa(a,b){return DP(a,b,(vP(),qP))?Dw(yP(b,0))?EP(a,yP(b,1))?!0:(CP(a,(vP(),qP).f),!1):(AP(a,"message"),CP(a,(vP(),qP).f),!1):!1}function pPa(a,b){return DP(a,b,(vP(),rP))?Dw(yP(b,0))?EP(a,yP(b,1))?!0:(CP(a,(vP(),rP).f),!1):(AP(a,"property name"),CP(a,(vP(),rP).f),!1):!1}
  1483. function qPa(a,b){var c=xP(b);switch(uP(Zp(c)).a){case 1:return lPa(a,b);case 9:return mPa(a,b);case 10:return nPa(a,b);case 21:return DP(a,b,(vP(),SOa))?Dw(yP(b,0))?a=!0:(AP(a,"name"),CP(a,(vP(),SOa).f),a=!1):a=!1,a;case 8:return DP(a,b,(vP(),KOa))?EP(a,yP(b,0))?a=!0:(CP(a,(vP(),KOa).f),a=!1):a=!1,a;case 12:return oPa(a,b);case 13:return pPa(a,b);default:throw pb("Invalid type transformation operation").s;}}
  1484. function EP(a,b){if(!(L(b)||Dw(b)||eH(b)))return BP(a,"type transformation"),!1;if(L(b)||Dw(b))return!0;var c=xP(b);if(!YOa(c))return BP(a,"type transformation"),!1;switch(uP(Zp(c)).g.a){case 0:return hPa(a,b);case 1:return qPa(a,b);default:throw pb("Invalid type transformation expression").s;}}function rPa(){this.c=this.b=!1}l(rPa,n);function HP(a){var b=new rPa;b.a=Kwa(a);b.c=a;b.b=!1;b.g=ef();return b}function sPa(a,b){var c=new rPa;c.a=a;c.c=b;c.b=!0;c.g=ef();return c}
  1485. function IP(a){var b=JD(a,!1);q(b.c,(HD(),FD))&&(b.c=null);return sPa(b,a.o)}function JP(a){return a?IP(a):HP(!0)}function tPa(a,b){var c=JD(a,!1);gE(a)&&(c.g=c.g&536870911,pE(c,b,536870912));return sPa(c,a.o)}function KP(a){return uPa(a,!1)}function uPa(a,b){if(a.b||b){E(!!a.a);b=a.a;a.a=null;if(!b.c){var c=(HD(),FD);b.c=c}a.b=!1;return b}return null}function LP(a,b){a.b=!0;a=a.a;oE(a)&&null==a.b.F&&(a.b.F=b)}function MP(a,b){if(a.a.c)return!1;a.b=!0;a.a.c=b;return!0}
  1486. function vPa(a,b,c){var d;if(d=!NP(a))d=a.a,nE(d),d.a.a||(d.a.a=Uf()),d.a.a.X(b)?d=!1:(d.a.a.C(b,c),d=!0);return d?a.b=!0:!1}function OP(a,b,c){a:{var d=a.a;nE(d);c=c?c:(nD(),lD);if(d.a.u&&d.a.u.X(b)||jE(d))b=!1;else{if(!d.a.b)d.a.b=Uf();else if(d.a.b.X(b)){b=!1;break a}d.a.b.C(b,c);b=!0}}return b?a.b=!0:!1}function wPa(a,b){var c=a.a;nE(c);null!=c.a.K?b=!1:(c.a.K=b,b=!0);b&&(a.b=!0)}function xPa(a,b){var c=a.a;nE(c);c.a.g&&(b=Eia(b,c.a.g));c.a.g=nm(b);a.b=!0}
  1487. function PP(a,b){var c=a.a;nE(c);c.a.g?c.a.g=yl().fb(c.a.g).W(b).fa():c.a.g=mm(b);a.b=!0}function QP(a,b){return b&&!yPa(a)?(pE(a.a,b,536870912),a.b=!0):!1}function zPa(a,b){var c;if(c=b&&!yPa(a))c=a.a,XD(c).D()?(pE(c,b,-2147483648),c=!0):c=!1;return c?a.b=!0:!1}function RP(a,b){if(!b||QD(a.a,1073741824)||NP(a))return!1;pE(a.a,b,1073741824);return a.b=!0}function APa(a,b){return b&&!yPa(a)?(pE(a.a,b,1610612736),a.b=!0):!1}function BPa(a,b){if(!b||NP(a)||a.a.f)return!1;a.a.f=b;return a.b=!0}
  1488. function SP(a,b){if(!b||NP(a)||ND(a.a))return!1;var c=a.a;nE(c);c.a.A=b;return a.b=!0}function TP(a){if(Ay(a.a,1))return!1;aE(a.a,!0,1);return a.b=!0}function CPa(a,b){var c=a.a;aE(c,!0,4096);oE(c)?null!=c.b.u?b=!1:(c.b.u=b,b=!0):b=!0;return b?a.b=!0:!1}function DPa(a,b){if(a.g.add(b)){var c=TD(a.a);null==c&&(c="");var d=a.a;b=r(c)+r(b);nE(d);d.a.$=b;a.b=!0}}function EPa(a){if(Ay(a.a,67108864))return!1;aE(a.a,!0,67108864);return a.b=!0}
  1489. function FPa(a){if(Ay(a.a,2048))return!1;aE(a.a,!0,2048);return a.b=!0}function UP(a){if(NP(a)||fE(a.a))return!1;aE(a.a,!0,2);return a.b=!0}function GPa(a){if(NP(a)||eE(a.a)||dE(a.a))return!1;aE(a.a,!0,512);aE(a.a,!0,134217728);return a.b=!0}function HPa(a){if(NP(a)||eE(a.a)||Ay(a.a,8388608)||Ay(a.a,4194304)||Ay(a.a,2097152))return!1;aE(a.a,!0,2097152);return a.b=!0}function IPa(a){return NP(a)||eE(a.a)||Ay(a.a,268435456)||Ay(a.a,32)||q(a.a.c,(HD(),CD))?!1:(aE(a.a,!0,268435456),a.b=!0)}
  1490. function JPa(a){if(NP(a)||Ay(a.a,8388608)||Ay(a.a,4194304)||Ay(a.a,2097152))return!1;aE(a.a,!0,4194304);return a.b=!0}function KPa(a){if(NP(a)||Ay(a.a,8388608)||Ay(a.a,4194304)||Ay(a.a,2097152))return!1;aE(a.a,!0,8388608);return a.b=!0}function LPa(a){if(Ay(a.a,64))return!1;aE(a.a,!0,64);return a.b=!0}function MPa(a){if(Ay(a.a,256))return!1;aE(a.a,!0,256);return a.b=!0}function VP(a){if(NP(a)||dE(a.a)||eE(a.a)||Ay(a.a,268435456))return!1;aE(a.a,!0,512);return a.b=!0}
  1491. function NPa(a){if(Ay(a.a,1024))return!1;aE(a.a,!0,1024);return a.b=!0}function WP(a,b){var c;if(c=b)c=a.a,nE(c),c.a.f||(c.a.f=Kd()),c.a.f.B(b)?c=!1:(c.a.f.add(b),c=!0);return c?a.b=!0:!1}function XP(a,b){var c;if(c=b)c=a.a,nE(c),c.a.c||(c.a.c=Kd()),c.a.c.B(b)?c=!1:(c.a.c.add(b),c=!0);return c?a.b=!0:!1}function OPa(a,b){if(yPa(a))return!1;var c=a.a;nE(c);c.a.U=b;return a.b=!0}function PPa(a){if(!qE(a.a)){var b=a.a;nE(b);yD(b.a,0);a.b=!0}}
  1492. function yPa(a){return dE(a.a)||eE(a.a)||Ay(a.a,268435456)||0<kE(a.a)||hE(a.a)||!!ND(a.a)||0<wE(a.a)||!!SD(a.a)||!!a.a.f||NP(a)}function NP(a){return gE(a.a)||jE(a.a)||iE(a.a)}function QPa(a){var b;(b=Ay(a.a,16384))||(a=a.a,b=!!a.a&&!!a.a.F);return b}function RPa(){this.A=!1}var SPa,TPa,UPa,VPa;l(RPa,n);function YP(a,b,c){var d=a.b.a,e=hP(a.b);a.g.b(ay(b,[c]),ZP(a),d,e)}function $P(a,b){aQ(a,b,a.b.a,hP(a.b))}function aQ(a,b,c,d){a.g.b(ay(b,[]),ZP(a),c,d)}
  1493. function WPa(a,b,c,d,e){a.g.b("Bad type annotation. "+r(ay(b,[c]))+" See https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler for more information.",ZP(a),d,e)}function bQ(a,b){cQ(a,b,a.b.a,hP(a.b))}function cQ(a,b,c,d){a.g.b("Bad type annotation. "+r(ay(b,[]))+" See https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler for more information.",ZP(a),c,d)}
  1494. function XPa(a,b,c){a.g.b("Missing type declaration.",ZP(a),b,c)}function jPa(a,b,c,d,e,f){iPa();var h=new RPa;h.u=null;h.c=null;h.b=a;h.a=HP(!q(e.b,mM));null!=b&&(a=h.a,a.c&&(a=a.a,oE(a)&&(a.b.o=b)),b=h.a,b.c&&(b.a.v=c));h.F=e.g;h.U=e.v;h.K=e.o;c=e.b;h.A=q(c,bFa)||q(c,nM);h.g=f;h.o=d?d:Qw();return h}function ZP(a){return(a=Sz(a.o))?a.ub():null}function YPa(a,b,c,d,e){if(d){var f=a.a,h=a.b.a;a=hP(a.b);if(f.f){var k=new Soa;bs(k);k.u=!1;k.o(d);k.u=e;as(k,b,c,h,a);f.f.f=k}}}
  1495. function ZPa(a,b,c){var d=a.b.a,e=hP(a.b),f=a.b.b,h=a.F.get(f);if(!h||te(f))YP(a,"msg.bad.jsdoc.tag",f);else{var k,m,p=a.a,t=d,v=e;var C=p.a;if(oE(C)){C.b.c||(C.b.c=w());var J=new Loa;C.b.c.add(J);var K=J}else K=null;if(K){var Ca=Qoa();Roa(Ca,f);as(Ca,t,v,t,v+f.length);K.b=Ca;p.b=!0}p.f=K;switch(h.a){case 0:return qE(a.a.a)?$P(a,"msg.jsdoc.nginject.extra"):PPa(a.a),dQ(a);case 1:return IPa(a.a)||bQ(a,"msg.jsdoc.incompat.type"),dQ(a);case 2:if(a.a.c){var Wa=$Pa(a),Ma=Wa.a;if(te(Ma))$P(a,"msg.jsdoc.authormissing");
  1496. else{var Vb=a.a;var sc=Vb.a;oE(sc)&&(sc.b.b||(sc.b.b=w()),sc.b.b.add(Ma));Vb.b=!0}b=Wa.b}else b=dQ(a);return b;case 55:return HPa(a.a)||bQ(a,"msg.jsdoc.incompat.type"),dQ(a);case 47:return JPa(a.a)||bQ(a,"msg.jsdoc.incompat.type"),dQ(a);case 11:return KPa(a.a)||bQ(a,"msg.jsdoc.incompat.type"),dQ(a);case 5:return UP(a.a)||(eE(a.a.a)?bQ(a,"msg.jsdoc.interface.constructor"):bQ(a,"msg.jsdoc.incompat.type")),dQ(a);case 7:return GPa(a.a)||bQ(a,"msg.jsdoc.record"),dQ(a);case 9:MPa(a.a)||$P(a,"msg.jsdoc.deprecated");
  1497. var gc=eQ(a,b);var tc=gc.a;0<tc.length&&wPa(a.a,tc);return b=gc.b;case 24:return VP(a.a)||(dE(a.a.a)?bQ(a,"msg.jsdoc.interface.constructor"):bQ(a,"msg.jsdoc.incompat.type")),dQ(a);case 10:if(null!=cE(a.a.a))return $P(a,"msg.jsdoc.desc.extra"),dQ(a);var Qb=eQ(a,b);var Wb=a.a,Rd=Qb.a;if(null!=Rd&&null==cE(Wb.a)){var Ne=Wb.a;nE(Ne);Ne.a.pa=Rd;Wb.b=!0}return b=Qb.b;case 17:var Jc="";if(a.a.c&&!aQa(a,64)){var kd=bQa(a,b,cQa(a,(bP(),mOa)),!1);Jc=kd.a;b=kd.b}else b=dQ(a);CPa(a.a,Jc)||$P(a,"msg.jsdoc.fileoverview.extra");
  1498. return b;case 26:case 41:var Cc=bQa(a,b,(bP(),aP),!0);var pc=Cc.a;0<pc.length&&a.v&&DPa(a.v,pc);return b=Cc.b;case 12:b=GP(a);d=a.b.a;e=hP(a.b);var Db=null;if(q(b,(YO(),JO))||q(b,(YO(),TO)))a.c=b;else{var Rb=dQa(a,b);if(Rb&&Dw(Rb)){var Uc=Rb.l();SPa.B(Uc)||(Rb=fQ(a,(H(),zu),Rb))}Db=gQ(a,Rb)}Db||(Db=gQ(a,eQa(a,"number",a.b.a,hP(a.b))));APa(a.a,Db)||cQ(a,"msg.jsdoc.incompat.type",d,e);return dQ(a);case 16:var ad=a.a;if(Ay(ad.a,1048576))var rf=!1;else aE(ad.a,!0,1048576),rf=ad.b=!0;rf||$P(a,"msg.jsdoc.expose");
  1499. return dQ(a);case 14:var uc=a.a;if(Ay(uc.a,32768)||Ay(uc.a,16))var Nc=!1;else aE(uc.a,!0,32768),Nc=uc.b=!0;Nc||$P(a,"msg.jsdoc.externs");return dQ(a);case 54:var Xb=a.a;if(Ay(Xb.a,16)||Ay(Xb.a,32768))var Nb=!1;else aE(Xb.a,!0,16),Nb=Xb.b=!0;Nb||$P(a,"msg.jsdoc.typesummary");return dQ(a);case 13:case 21:hQ(a);b=GP(a);d=a.b.a;e=hP(a.b);var ic=!1;q(b,(YO(),LO))&&(b=GP(a),ic=!0);if(q(b,(YO(),KO))){var Vc=d,sd=e,Ye=ic;var Hf=b;if(q(Hf,(YO(),LO))){hQ(a);var Ie=fQa(a,GP(a));Ie&&(hQ(a),iQ(a,(YO(),MO))?GP(a):
  1500. jQ(a,"msg.jsdoc.missing.rc"));var Be=Ie}else Be=fQa(a,Hf);YPa(a,Vc,sd,Be,Ye);var fe=Be;d=a.b.a;e=hP(a.b);fe=fQ(a,(H(),zu),fe);Db=gQ(a,fe);if(q(h,(lM(),iEa))){var mh=a.b.a,mf=hP(a.b),Od=new ZNa;Od.c=Db;Od.b=mh;Od.a=mf;c.add(Od)}else E(q(h,(lM(),qEa))),WP(a.a,Db)||cQ(a,"msg.jsdoc.implements.duplicate",d,e);b=GP(a);ic?q(b,(YO(),MO))?b=GP(a):bQ(a,"msg.jsdoc.missing.rc"):q(b,(YO(),JO))||q(b,(YO(),IO))||q(b,(YO(),TO))||bQ(a,"msg.end.annotation.expected")}else q(b,(YO(),VO))||q(b,(YO(),UO))?cQ(a,"msg.jsdoc.implements.extraqualifier",
  1501. d,e):cQ(a,"msg.no.type.name",d,e);return b=gQa(a,b);case 19:var Se=a.a;if(Ay(Se.a,8))var eg=!1;else aE(Se.a,!0,8),eg=Se.b=!0;eg||$P(a,"msg.jsdoc.hidden");return dQ(a);case 25:hQ(a);ic=!1;iQ(a,(YO(),LO))&&(b=GP(a),ic=!0);if(iQ(a,(YO(),KO))){var pg=gQ(a,hQa(a,GP(a)));OPa(a.a,pg)||bQ(a,"msg.jsdoc.lends.incompatible")}else bQ(a,"msg.jsdoc.lends.missing");ic&&!iQ(a,(YO(),MO))&&bQ(a,"msg.jsdoc.missing.rc");return dQ(a);case 27:var vf=eQ(a,b);var qe=vf.a;b=vf.b;var Pd=a.a;if(null!=qe&&null==UD(Pd.a)){var wf=
  1502. Pd.a;nE(wf);wf.a.za=qe;var fg=Pd.b=!0}else fg=!1;fg||$P(a,"msg.jsdoc.meaning.extra");return b;case 3:hQ(a);var Ec=GP(a);if(q(Ec,(YO(),LO)))if(iQ(a,(YO(),KO))){var oi=a.b.b;if(a.K.B(oi)){var Qf=a.a;if(null!=oi&&null==$D(Qf.a)){var Ni=Qf.a;nE(Ni);Ni.a.ja=oi;var re=Qf.b=!0}else re=!1;re||$P(a,"msg.jsdoc.closurePrimitive.extra")}else YP(a,"msg.jsdoc.closurePrimitive.invalid",oi);Ec=GP(a);iQ(a,(YO(),MO))?Ec=GP(a):$P(a,"msg.jsdoc.missing.rc");var Je=dQ(a)}else $P(a,"msg.jsdoc.closurePrimitive.missing"),
  1503. Je=Ec;else $P(a,"msg.jsdoc.missing.lc"),Je=Ec;return Je;case 32:var Ce=a.a;if(Ay(Ce.a,131072))var nf=!1;else aE(Ce.a,!0,131072),nf=Ce.b=!0;nf||$P(a,"msg.jsdoc.nocompile");return dQ(a);case 31:return EPa(a.a)||$P(a,"msg.jsdoc.nocollapse"),dQ(a);case 33:return FPa(a.a)||$P(a,"msg.jsdoc.noinline"),dQ(a);case 35:return dQ(a);case 23:case 36:return LPa(a.a)||bQ(a,"msg.jsdoc.override"),dQ(a);case 39:if(sE(a.a.a))$P(a,"msg.jsdoc.polymer.extra");else{var Xc=a.a;if(!sE(Xc.a)){var nh=Xc.a;nE(nh);yD(nh.a,3);
  1504. Xc.b=!0}}return dQ(a);case 40:if(rE(a.a.a))$P(a,"msg.jsdoc.polymerBehavior.extra");else{var Dd=a.a;if(!rE(Dd.a)){var Qg=Dd.a;nE(Qg);yD(Qg.a,2);Dd.b=!0}}return dQ(a);case 6:if(tE(a.a.a))$P(a,"msg.jsdoc.customElement.extra");else{var Rf=a.a;if(!tE(Rf.a)){var pi=Rf.a;nE(pi);yD(pi.a,4);Rf.b=!0}}return dQ(a);case 28:if(uE(a.a.a))$P(a,"msg.jsdoc.mixinClass.extra");else{var gg=a.a;if(!uE(gg.a)){var Rh=gg.a;nE(Rh);yD(Rh.a,5);gg.b=!0}}return dQ(a);case 29:if(vE(a.a.a))$P(a,"msg.jsdoc.mixinFunction.extra");
  1505. else{var If=a.a;if(!vE(If.a)){var ke=If.a;nE(ke);yD(ke.a,6);If.b=!0}}return dQ(a);case 51:hQ(a);b=GP(a);d=a.b.a;e=hP(a.b);Db=null;if(q(b,(YO(),LO))&&(Db=gQ(a,dQa(a,b)),!Db))return dQ(a);b=iQa(a);var Gd=a.a;if(Db&&!NP(Gd)){var xf=Gd.a,Oi=Db;nE(xf);xf.a.o||(xf.a.o=w());xf.a.o.add(Oi);Gd.b=!0}var Sh=aQa(a,64);if(a.a.c&&!Sh){var Ag=eQ(a,b),se=Ag.a;if(0<se.length){var jk=a.a;var oh=jk.a,qg=Db;if(oE(oh))if(oh.b.v||(oh.b.v=Uf()),oh.b.v.X(qg))var yf=!1;else oh.b.v.C(qg,se),yf=!0;else yf=!0;yf&&(jk.b=!0)}b=
  1506. Ag.b}else b=dQ(a);return b;case 38:hQ(a);b=GP(a);d=a.b.a;e=hP(a.b);Db=null;var of=!1;if(q(b,(YO(),LO))){var hg=b;D(q(hg,(YO(),LO)));var ig=a.b.a,ph=hP(a.b);D(q(hg,LO));hQ(a);var Jf=jQa(a,GP(a));Jf&&(iQ(a,MO)?GP(a):jQ(a,"msg.jsdoc.missing.rc"));YPa(a,ig,ph,Jf,!0);Db=gQ(a,Jf);if(!Db)return dQ(a);hQ(a);b=GP(a);d=a.b.a;e=hP(a.b);of=!0}var xd=null;(k=q((YO(),cOa),b))&&(b=GP(a));if(q(KO,b)){of||XPa(a,a.b.a,hP(a.b));xd=a.b.b;if(k)if(b=GP(a),q(WO,b)&&(b=GP(a),q(KO,b)&&(b=GP(a))),q(dOa,b)){if(Db){var Bg=Db;
  1507. nD();if(rD(Bg)||pwa(Bg))Db=Bg;else{var qh=Ow((H(),Eu),Bg.a);rF(qh,Bg.a);Db=mD(qh,Bg.b)}}}else jQ(a,"msg.jsdoc.missing.rb");if(OI.test(xd))vPa(a.a,xd,Db)||(Swa(a.a.a,xd)?WPa(a,"msg.dup.variable.name",xd,d,e):WPa(a,"msg.jsdoc.incompat.type",xd,d,e));else{var ai=d,Rg=e;a.g.b(ay("msg.invalid.variable.name",[xd]),ZP(a),ai,Rg);xd=null}}else cQ(a,"msg.missing.variable.name",d,e);if(null==xd)return b=gQa(a,b);var rh=a.a,ge=xd,Ke=a.o,pf=d,jg=e;if(rh.f){var sh=Qoa();Roa(sh,ge);as(sh,pf,jg,pf,jg+ge.length);
  1508. var uj=new Moa;bs(uj);var Cg=(H(),As);kx();var Pi=Bya(Cg,ge,pf,jg);Pi.u=ge.length;Ke&&$F(Pi,Ke);uj.o(Pi);as(uj,pf,jg,pf,jg+ge.length);rh.f.c=uj}if(a.a.c&&!q(b,QO)){var Eh=eQ(a,b),th=Eh.a;if(0<th.length){var Sg=a.a;var id=Sg.a,Md=xd;if(oE(id))if(id.b.a||(id.b.a=Uf()),id.b.a.X(Md))var vj=!1;else id.b.a.C(Md,th),vj=!0;else vj=!0;vj&&(Sg.b=!0)}b=Eh.b}else q(b,TO)||q(b,IO)||(b=dQ(a));return b;case 34:var cj=a.a;if(QPa(cj)||Ay(cj.a,16384))var bi=!1;else aE(cj.a,!0,16384),bi=cj.b=!0;bi||$P(a,"msg.jsdoc.nosideeffects");
  1509. return dQ(a);case 30:a:{var wj=GP(a);if(q(wj,(YO(),LO))){for(var ci=ef();;){if(iQ(a,(YO(),KO))){var Sf=a.b.b;UPa.B(Sf)||Swa(a.a.a,Sf)||YP(a,"msg.jsdoc.modifies.unknown",Sf);ci.add(a.b.b);wj=GP(a)}else{$P(a,"msg.jsdoc.modifies");b=wj;break a}if(iQ(a,(YO(),RO)))wj=GP(a);else break}if(iQ(a,(YO(),MO))){wj=GP(a);var Th=a.a,qi;if(qi=!QPa(Th)){var ri=Th.a;nE(ri);ri.a.F?qi=!1:(ri.a.F=nm(ci),qi=!0)}var di=qi?Th.b=!0:!1;di||$P(a,"msg.jsdoc.modifies.duplicate")}else $P(a,"msg.jsdoc.modifies")}b=wj}return b;
  1510. case 22:var ei=a.a;if(Ay(ei.a,8192))var Qi=!1;else aE(ei.a,!0,8192),Qi=ei.b=!0;Qi||bQ(a,"msg.jsdoc.implicitcast");return dQ(a);case 46:if(a.a.c){var kk=$Pa(a),Tg=kk.a;if(te(Tg))$P(a,"msg.jsdoc.seemissing");else{var Il=a.a;var Fh=Il.a;oE(Fh)&&(Fh.b.g||(Fh.b.g=w()),Fh.b.g.add(Tg));Il.b=!0}b=kk.b}else b=dQ(a);return b;case 48:a:{var dj=GP(a);if(q(dj,(YO(),LO))){for(var Hj=ef();;){if(iQ(a,(YO(),KO))){var Ij=a.b.b;a.U.B(Ij)||YP(a,"msg.jsdoc.suppress.unknown",Ij);Hj.add(a.b.b);dj=GP(a)}else{$P(a,"msg.jsdoc.suppress");
  1511. b=dj;break a}var ej=a,Gh=(YO(),RO),lk=OO;ej.c=GP(ej);if(q(ej.c,Gh)||q(ej.c,lk))dj=GP(a);else break}iQ(a,(YO(),MO))?(dj=GP(a),xPa(a.a,Hj)):$P(a,"msg.jsdoc.suppress");b=dQ(a)}else $P(a,"msg.jsdoc.suppress"),b=dj}return b;case 49:var Ug=null;if(iQ(a,(YO(),LO))){aQ(a,"msg.jsdoc.template.boundedgenerics.used",d,e);var Jq=kQa(a,GP(a));Jq&&(Ug=gQ(a,Jq))}var Jj=w();if(!iQ(a,(YO(),PO))){do{var ht=hQa(a,GP(a)),un=ht?ht.l():null,gl=un;null!=gl&&!te(gl)&&TPa.uh(gl)&&Jj.add(un)}while(lQa(a))}var uo=null;if(iQ(a,
  1512. (YO(),PO))){var vo=bQa(a,iQa(a),(bP(),mOa),!1);b=vo.b;var Iy=d,it=e,km=vo.a;if(zi(km,"=")){km=km.substr(1);var jt=km.indexOf("=:");0<=jt?km=ne(km,0,jt):cQ(a,"msg.jsdoc.template.typetransformation.missingDelimiter",Iy,it);km=Ci(km);if(te(km))cQ(a,"msg.jsdoc.template.typetransformation.expressionMissing",Iy,it),uo=null;else{var kt=Sz(a.o),hl=new XOa,Kq=a.g;hl.o=km;hl.c=kt;hl.b=Kq;hl.a=Iy;hl.f=it;var Ep=HFa(BFa(CFa(yFa(),(tM(),fFa)),(wM(),uFa))),Fp=mQa(hl.c,hl.o,Ep,hl.b).a;if(Fp&&tC(Fp)&&Fp.a&&yH(Fp.a)){var lt=
  1513. hF(Fp);if(EP(hl,lt)){dPa(hl,lt);hl.g=lt;var Lq=!0}else Lq=!1}else BP(hl,"type transformation"),Lq=!1;uo=Lq?hl.g:null}}else uo=null}else b=gQa(a,iQa(a));switch(Jj.w()){case 0:return cQ(a,"msg.jsdoc.template.name.missing",d,e),b;case 1:break;default:(Ug||uo)&&cQ(a,"msg.jsdoc.template.multipleDeclaration",d,e)}if(Ug&&uo)return cQ(a,"msg.jsdoc.template.boundsWithTTL",d,e),b;if(uo){var Jl=a.a,mt=Jj.G(0);b:{var Hm=Jl.a,rw=uo;nE(Hm);if(Hm.a.b&&Hm.a.b.X(mt))var nt=!1;else{if(!Hm.a.u)Hm.a.u=Uf();else if(Hm.a.u.X(mt)){nt=
  1514. !1;break b}Hm.a.u.C(mt,rw);nt=!0}}var Jy=nt?Jl.b=!0:!1;Jy||cQ(a,"msg.jsdoc.template.name.redeclaration",d,e)}else if(Ug)OP(a.a,Jj.G(0),Ug)||cQ(a,"msg.jsdoc.template.name.redeclaration",d,e);else for(var Au=Jj.h();Au.i();){var Vr=Au.j();OP(a.a,Vr,null)||cQ(a,"msg.jsdoc.template.name.redeclaration",d,e)}return b;case 20:a:{var lm=GP(a),ot="unique";if(q(lm,(YO(),LO))){if(iQ(a,(YO(),KO))){var wo=a.b.b;VPa.B(wo)||Swa(a.a.a,wo)||YP(a,"msg.jsdoc.idgen.unknown",wo);ot=wo;lm=GP(a)}else{$P(a,"msg.jsdoc.idgen.bad");
  1515. b=lm;break a}iQ(a,(YO(),MO))?lm=GP(a):$P(a,"msg.jsdoc.idgen.bad")}switch(ot){case "unique":var Bu=a.a;if(Ay(Bu.a,524288))var xo=!1;else aE(Bu.a,!0,524288),xo=Bu.b=!0;xo||$P(a,"msg.jsdoc.idgen.duplicate");break;case "consistent":var sw=a.a;if(Ay(sw.a,262144))var si=!1;else aE(sw.a,!0,262144),si=sw.b=!0;si||$P(a,"msg.jsdoc.idgen.duplicate");break;case "stable":var vn=a.a;if(Ay(vn.a,16777216))var EB=!1;else aE(vn.a,!0,16777216),EB=vn.b=!0;EB||$P(a,"msg.jsdoc.idgen.duplicate");break;case "xid":var Cu=
  1516. a.a;if(Ay(Cu.a,65536))var rG=!1;else aE(Cu.a,!0,65536),rG=Cu.b=!0;rG||$P(a,"msg.jsdoc.idgen.duplicate");break;case "mapped":var Du=a.a;if(Ay(Du.a,33554432))var sG=!1;else aE(Du.a,!0,33554432),sG=Du.b=!0;sG||$P(a,"msg.jsdoc.idgen.duplicate")}b=lm}return b;case 57:var pt=a.a,FB=pt.a;if(FB.a&&zD(FB.a,1))var tw=!1;else{var tG=pt.a;nE(tG);yD(tG.a,1);tw=pt.b=!0}tw||$P(a,"msg.jsdoc.wizaction");return dQ(a);case 56:var UX=$Pa(a);var VX=UX.a;if(te(VX))$P(a,"msg.jsdoc.versionmissing");else{var Kca=a.a;var WX=
  1517. Kca.a;if(oE(WX))if(null!=WX.b.A)var XX=!1;else WX.b.A=VX,XX=!0;else XX=!0;var qt=XX?Kca.b=!0:!1;qt||$P(a,"msg.jsdoc.extraversion")}return b=UX.b;case 4:case 18:case 8:case 15:case 45:case 37:case 42:case 43:case 44:case 50:case 52:case 53:d=a.b.a;e=hP(a.b);var uG=null;var YX=aQa(a,123);var ZX=(m=q(h,(lM(),GEa))||q(h,(lM(),LEa))||q(h,(lM(),MEa))||q(h,(lM(),NEa))||q(h,(lM(),$Da))||q(h,(lM(),nEa))||q(h,(lM(),kEa)))||q(h,(lM(),jM));Db=null;q(h,(lM(),jM))&&!YX&&XPa(a,a.b.a,hP(a.b));if(YX||!ZX)hQ(a),b=
  1518. GP(a),uG=dQa(a,b),q(h,(lM(),SEa))&&(uG=fQ(a,(H(),zu),uG)),Db=gQ(a,uG);if(Db||ZX){(Db&&m||q(h,(lM(),UEa)))&&!QP(a.a,Db)&&cQ(a,"msg.jsdoc.incompat.type",d,e);var uw=aQa(a,64);switch(h.a){case 4:TP(a.a)||$P(a,"msg.jsdoc.const");break;case 18:var $X=a.a;if(Ay($X.a,32))var aY=!1;else aE($X.a,!0,32),aY=$X.b=!0;aY||bQ(a,"msg.jsdoc.final");break;case 8:var vG=a.a;if(Db&&!bE(vG.a)&&!Ay(vG.a,4)&&QP(vG,Db)){aE(vG.a,!0,4);var Lca=vG.b=!0}else Lca=!1;Lca||aQ(a,"msg.jsdoc.define",d,e);if(!uw)return kQ(a,b);break;
  1519. case 15:NPa(a.a)?MP(a.a,(HD(),ED))||aQ(a,"msg.jsdoc.extra.visibility",d,e):aQ(a,"msg.jsdoc.export",d,e);if(!uw)return kQ(a,b);break;case 42:MP(a.a,(HD(),CD))||aQ(a,"msg.jsdoc.extra.visibility",d,e);if(!uw)return kQ(a,b);break;case 37:MP(a.a,(HD(),Jwa))||aQ(a,"msg.jsdoc.extra.visibility",d,e);if(!uw)return kQ(a,b);break;case 43:MP(a.a,(HD(),DD))||aQ(a,"msg.jsdoc.extra.visibility",d,e);if(!uw)return kQ(a,b);break;case 44:MP(a.a,(HD(),ED))||aQ(a,"msg.jsdoc.extra.visibility",d,e);if(!uw)return kQ(a,b);
  1520. break;case 45:Db||(Db=gQ(a,lQ(a,(H(),yu))));if(!RP(a.a,Db)){cQ(a,"msg.jsdoc.incompat.type",d,e);break}if(a.a.c&&!uw){var bY=eQ(a,b),cY=bY.a;if(0<cY.length){var dY=a.a;var ZN=dY.a;if(oE(ZN))if(null!=ZN.b.f)var eY=!1;else ZN.b.f=cY,eY=!0;else eY=!0;eY&&(dY.b=!0)}b=bY.b}else b=dQ(a);return b;case 50:BPa(a.a,Db)||cQ(a,"msg.jsdoc.incompat.type",d,e);break;case 53:zPa(a.a,Db)||cQ(a,"msg.jsdoc.incompat.type",d,e)}}return dQ(a)}}return GP(a)}function kQ(a,b){return b=a.a.c?eQ(a,b).b:nQa(a,b)}
  1521. function oQa(a,b){for(b=b.h();b.i();){var c=b.j();eE(a.a.a)?XP(a.a,c.c)||aQ(a,"msg.jsdoc.extends.duplicate",c.b,c.a):SP(a.a,c.c)||cQ(a,"msg.jsdoc.incompat.type",c.b,c.a)}}function dQa(a,b){var c=a.b.a,d=hP(a.b),e=q(b,(YO(),LO));b=kQa(a,b);YPa(a,c,d,b,e);return b}
  1522. function pQa(a,b){switch(b.a){case 14:return"@"+r(a.b.b);case 19:return"!";case 11:return",";case 12:return":";case 3:return">";case 5:return"[";case 7:return"{";case 9:return"(";case 2:return"<";case 18:return"?";case 15:return"|";case 6:return"]";case 8:return"}";case 10:return")";case 16:return"*";case 13:return"...";case 20:return"=";case 4:return a.b.b;default:throw pb(b.toString()).s;}}function gQ(a,b){return b?mD(b,ZP(a)):null}
  1523. function $Pa(a){var b=a.b;b.c=gP(b);b=a.b.a;var c=hP(a.b)+1,d=Ci(qQa(a));if(0<d.length){var e=a.a,f=c+d.length;if(e.f){var h=Noa();h.o(d);as(h,b,c,b,f);e.f.a=h}}return hOa(d,GP(a))}function eQ(a,b){return bQa(a,b,cQa(a,(bP(),nOa)),!1)}function bQa(a,b,c,d){return q(b,(YO(),TO))||q(b,(YO(),JO))||q(b,(YO(),IO))?hOa("",b):rQa(a,b,c,!0,d)}function cQa(a,b){return a.A?(bP(),aP):b}
  1524. function rQa(a,b,c,d,e){var f=Mg(),h=-1,k=-1;d&&(b=a.b,b.c=gP(b),h=a.b.a,k=hP(a.b)+1,b=qQa(a),q(c,(bP(),aP))||(b=Ci(b)),x(f,b),a.f=($O(),ZO),b=GP(a));var m=!1,p=-1;do switch(b.a){case 16:m?(p=hP(a.b)+1,m=!1):(sQa(a,f,p,c),p=-1,Og(f,42));for(b=GP(a);q(b,(YO(),SO));)-1!=p&&(sQa(a,f,p,c),p=-1),Og(f,42),b=GP(a);continue;case 1:q(c,(bP(),nOa))||Og(f,10);m=!0;p=0;b=GP(a);continue;default:m=!1;a.f=($O(),ZO);var t=q(b,(YO(),TO));t||(sQa(a,f,p,c),p=-1);if(q(b,TO)||q(b,IO)||q(b,QO)&&!e)return e=f.toString(),
  1525. q(c,(bP(),aP))||(e=Ci(e)),d&&!te(e)&&(c=a.a,d=e,f=a.b.a,a=hP(a.b),c.f&&(m=Noa(),m.o(d),as(m,h,k,f,a),c.f.a=m)),hOa(e,b);x(f,pQa(a,b));b=qQa(a);if(!q(c,(bP(),aP))){for(t=0;t<b.length;)if(pOa.test(b.charCodeAt(b.length-t-1)))t++;else break;b=0==t?b:ne(b,0,b.length-t)}x(f,b);b=GP(a)}while(1)}function sQa(a,b,c,d){if(-1!=c&&q(d,(bP(),aP)))for(a=hP(a.b)-c,c=0;c<a;c++)Og(b,32);else 0<b.Ra()&&(10!=b.$a.charCodeAt(b.Ra()-1)||q(d,(bP(),aP)))&&Og(b,32)}
  1526. function kQa(a,b){if(q(b,(YO(),LO))){hQ(a);if(b=FP(a,GP(a)))hQ(a),iQ(a,(YO(),MO))?GP(a):Dw(b)&&"import"===b.l()?jQ(a,"msg.jsdoc.import"):jQ(a,"msg.jsdoc.missing.rc");return b}jQ(a,"msg.jsdoc.missing.braces");return mQ(a,b)}function jQa(a,b){var c=!1;if(q(b,(YO(),fOa))){b=GP(a);if(q(b,(YO(),MO)))return a.c=b,fQ(a,(H(),ou),lQ(a,Jt));c=!0}if(b=FP(a,b))hQ(a),c?b=fQ(a,(H(),ou),b):iQ(a,(YO(),WO))&&(GP(a),hQ(a),b=fQ(a,(H(),Eu),b));return b}
  1527. function FP(a,b){var c=mQ(a,b);return c&&iQ(a,(YO(),RO))?(GP(a),hQ(a),b=GP(a),tQa(a,b,c)):c}
  1528. function mQ(a,b){var c=a.b.a,d=hP(a.b);if(q(b,(YO(),UO)))return b=GP(a),q(b,(YO(),OO))||q(b,(YO(),WO))||q(b,(YO(),dOa))||q(b,(YO(),MO))||q(b,(YO(),NO))||q(b,(YO(),RO))||q(b,(YO(),bOa))||q(b,(YO(),TO))||q(b,(YO(),JO))||q(b,(YO(),IO))?(a.c=b,lQ(a,(H(),yu))):nQ(a,(H(),yu),uQa(a,b),c,d);if(q(b,(YO(),VO)))return nQ(a,(H(),zu),uQa(a,GP(a)),c,d);b=uQa(a,b);c=a.b.a;d=hP(a.b);if(b){if(iQ(a,(YO(),UO)))return GP(a),nQ(a,(H(),yu),b,c,d);if(iQ(a,(YO(),VO)))return GP(a),nQ(a,(H(),zu),b,c,d)}return b}
  1529. function uQa(a,b){if(q(b,(YO(),SO)))return lQ(a,(H(),Dpa));if(q(b,(YO(),LO))){hQ(a);var c=GP(a);b=lQ(a,(H(),Gu));b:{var d=c;c=lQ(a,Fu);var e=ef();do{d=vQa(a,d);if(!d){c=null;break b}var f=Lx(d)?d.l():d.a.l();e.add(f)?M(c,d):WPa(a,"msg.jsdoc.type.record.duplicate",f,a.b.a,hP(a.b));hQ(a);if(!iQ(a,(YO(),OO)))break;GP(a);hQ(a);if(iQ(a,(YO(),MO)))break;d=GP(a)}while(1)}c?(hQ(a),iQ(a,(YO(),MO))?(GP(a),M(b,c),a=b):a=jQ(a,"msg.jsdoc.missing.rc")):a=jQ(a,"msg.jsdoc.type.syntax");return a}if(q(b,(YO(),eOa)))return hQ(a),
  1530. b=GP(a),tQa(a,b,null);if(q(b,(YO(),KO)))switch(c=a.b.b,c){case "function":return hQ(a),wQa(a,GP(a));case "null":case "undefined":return eQa(a,c,a.b.a,hP(a.b));case "typeof":return hQ(a),c=GP(a),q(c,(YO(),LO))?a=jQ(a,"msg.jsdoc.unnecessary.braces"):(b=lQ(a,(H(),us)),(c=hQa(a,c))?(hQ(a),Mx(b,c),a=b):a=null),a;default:return fQa(a,b)}a.c=b;return jQ(a,"msg.jsdoc.type.syntax")}
  1531. function hQa(a,b){if(!q(b,(YO(),KO)))return aQ(a,"msg.jsdoc.name.syntax",a.b.a,hP(a.b)),null;b=a.b.b;for(var c=a.b.a,d=hP(a.b);iQ(a,(YO(),JO))&&ki(b,".");)hQ(a),iQ(a,(YO(),KO))&&(GP(a),b=r(b)+r(a.b.b));return eQa(a,b,c,d)}
  1532. function fQa(a,b){b=hQa(a,b);if(iQ(a,(YO(),aOa))){GP(a);hQ(a);a:{var c=b.l();var d=GP(a);if(d=FP(a,d)){var e=lQ(a,(H(),Lt)),f=1;for(M(e,d);iQ(a,(YO(),OO));){GP(a);hQ(a);d=FP(a,GP(a));if(!d){c=null;break a}f++;M(e,d)}"Object"===c&&1==f&&Mx(e,lQ(a,yu));c=e}else c=null}if(c){Mx(b,c);hQ(a);if(!iQ(a,(YO(),bOa)))return jQ(a,"msg.jsdoc.missing.gt");GP(a)}}return b}
  1533. function wQa(a,b){if(!q(b,(YO(),eOa)))return a.c=b,jQ(a,"msg.jsdoc.missing.lp");var c=lQ(a,(H(),ut)),d=null;hQ(a);if(!iQ(a,(YO(),NO))){b=GP(a);var e=!0;if(q(b,(YO(),KO))){var f=a.b.b,h="this"===f;if(h||"new"===f){if(iQ(a,(YO(),PO))){GP(a);hQ(a);f=h?Es:ss;h=GP(a);h=q(h,(YO(),UO))?lQ(a,yu):uQa(a,h);f=fQ(a,f,h);if(!f)return null;Mx(c,f)}else return jQ(a,"msg.jsdoc.missing.colon");iQ(a,(YO(),OO))?(GP(a),hQ(a),b=GP(a)):e=!1}}if(e){a:{d=lQ(a,Qs);e=!1;f=null;if(!q(b,(YO(),NO))){do{f&&(GP(a),hQ(a),b=GP(a));
  1534. q(b,(YO(),fOa))?(hQ(a),iQ(a,(YO(),NO))?f=lQ(a,ou):(hQ(a),f=fQ(a,ou,mQ(a,GP(a))),hQ(a)),e=!0):(f=mQ(a,b),iQ(a,(YO(),WO))&&(hQ(a),GP(a),f=fQ(a,Eu,f)));if(!f){d=null;break a}M(d,f);if(e)break}while(iQ(a,(YO(),OO)))}d=e&&iQ(a,(YO(),OO))?jQ(a,"msg.jsdoc.function.varargs"):d}if(!d)return null}}d&&M(c,d);hQ(a);if(!iQ(a,(YO(),NO)))return jQ(a,"msg.jsdoc.missing.rp");hQ(a);GP(a);hQ(a);iQ(a,(YO(),PO))?(GP(a),hQ(a),iQ(a,(YO(),KO))&&"void"===a.b.b?(GP(a),a=lQ(a,It)):a=mQ(a,GP(a))):a=lQ(a,Jt);if(a)M(c,a);else return null;
  1535. return c}function tQa(a,b,c){var d=lQ(a,(H(),xu));c&&M(d,c);var e=null;do{e&&(hQ(a),b=GP(a),E(q(b,(YO(),RO))),hQ(a),b=GP(a));e=mQ(a,b);if(!e)return null;M(d,e)}while(iQ(a,(YO(),RO)));if(!c){hQ(a);if(!iQ(a,(YO(),NO)))return jQ(a,"msg.jsdoc.missing.rp");GP(a)}return gF(d)?(a=d.a,oF(d,a),a):d}
  1536. function vQa(a,b){a:switch(b.a){case 4:b=a.b.b;var c=(H(),Tt);var d=a.b.a,e=hP(a.b);kx();c=Bya(c,b,d,e);c=rF(c,a.o);c.u=b.length;b=c;break a;default:b=null}if(!b)return null;hQ(a);if(!iQ(a,(YO(),PO)))return b;GP(a);hQ(a);c=mQ(a,GP(a));if(!c)return null;a=lQ(a,(H(),Hu));M(a,b);M(a,c);return a}function fQ(a,b,c){return c?nQ(a,b,c,XA(c),YA(c)):null}function nQ(a,b,c,d,e){if(c){kx();var f=new lx;ixa(f,b,c);f.v=fG(d,e);a=rF(f,a.o)}else a=null;return a}
  1537. function lQ(a,b){var c=a.b.a,d=hP(a.b);kx();var e=new lx;e.c=b;e.o=null;e.v=fG(c,d);return rF(e,a.o)}function eQa(a,b,c,d){kx();c=Bya((H(),Cs),b,c,d);a=rF(c,a.o);a.u=b.length;return a}function jQ(a,b){cQ(a,b,a.b.a,hP(a.b));return null}function dQ(a){return gQa(a,GP(a))}function gQa(a,b){return q(b,(YO(),QO))?(a.f=($O(),ZO),b):nQa(a,b)}function nQa(a,b){do{if(q(b,(YO(),JO))||q(b,(YO(),TO))||q(b,(YO(),IO)))return a.f=($O(),ZO),b;b=GP(a)}while(1)}function iQ(a,b){a.c=GP(a);return q(a.c,b)}
  1538. function lQa(a){var b=(YO(),OO);return iQ(a,b)?(GP(a),!0):!1}function GP(a){return a.c?iQa(a):vOa(a.b)}function iQa(a){var b=a.c;a.c=null;return b}function hQ(a){for(;iQ(a,(YO(),JO));)GP(a),iQ(a,(YO(),SO))&&GP(a)}function qQa(a){a:{var b=a.b;for(var c;;)switch(c=cP(b),c){case 42:var d=b,e=cP(d);eP(d,e);if(47!=e){dP(b,c);break}case -1:case 10:eP(b,c);b.b=fP(b);b.o=0;b=b.b;break a;default:dP(b,c)}}a.c=null;return b}
  1539. function aQa(a,b){for(var c=!1,d;;)if(d=cP(a.b),32!=d){d==b&&(c=!0);break}eP(a.b,d);return c}function iPa(){iPa=function(){};TPa=(Mfa(),Lfa).Zf(Yi(95));UPa=em("this","arguments");VPa=im("unique","consistent","stable","mapped","xid");SPa=hm("number","string","boolean","symbol")}
  1540. function oQ(a,b){G(a);switch(a.c.a){case 84:case 27:case 26:break;case 32:b.pb(a);break;case 118:case 119:case 95:case 127:oQ(a.a,b);break;case 122:oQ(R(a),b);break;case 98:case 97:case 48:for(a=a.a;a;a=a.b)oQ(a,b);break;default:throw pb("Unexpected parameter structure").s;}}function xQa(){this.U=this.v=!1}var ANa,BNa,yQa,zQa;l(xQa,n);function AQa(a){for(;a.i();){var b=a.j();if(q(b.b,(kO(),xMa)))return b}return null}
  1541. function BQa(a){switch(a.c.a){case 76:case 77:case 105:case 106:case 74:case 75:case 71:return!0;default:return!1}}function CQa(a){switch(a.c.a){case 76:case 77:case 105:case 106:case 74:case 75:return!0;default:return!1}}function DQa(a,b){return li(a.a.l(),b.l())}function EQa(a,b){if(Gw(b)){var c=pm();for(b=b.a;b;b=b.b)oQ(b,zb(function(d){var e=d.l();c.add(e)||a.a.b(CN('Duplicate parameter name "%s"',[e]),a.b,XA(d),YA(d))}))}}
  1542. function ONa(a,b,c){c&&0!=(c.g&-536870912)&&(a.U=!0,li(IBa(a.c),"ts")&&a.a.a("Can only have JSDoc or inline type annotations, not both",a.b,yO(b.a),zO(b.a)));return c}function GO(a,b){b=rO(a,b);Hw(b)||(Aw(b)?(a=(H(),Lt),b.c=a):(a=vO(a,(H(),Lt),b),vNa(a,b),b=a),QG(b));return b}function FQa(a,b){return q(b.u,a.o)?!1:(a.o=b.u,Ay(a.o,32768)&&(a.v=!0),!0)}function rNa(a,b){for(var c=null;a.u&&a.u.a.b.a<=b.a.a;)c=a.u,a.u=AQa(a.ta);return c}
  1543. function qNa(a,b){if(b){var c=GQa(a,b);a.$.add(b);if(!FQa(a,c))return ONa(a,b.a,KP(c.a))}return null}function LNa(a){wO();var b="";a=a.h();for(var c=2147483647,d=2147483647,e=0;a.i();){var f=a.j();f.a.a.a<d&&(d=f.a.a.a);f.a.b.a>e&&(e=f.a.b.a);for(;c<f.a.a.b;)b=r(b)+"\n",c++;b=r(b)+r(f.c);a.i()&&(c=f.a.b.b)}a=new Dya;a.a=b;return a}function HQa(a){for(;a.i();){var b=a.j();if(q(b.b,(kO(),iO))||q(b.b,(kO(),wMa)))return b}return null}
  1544. function KNa(a,b){for(var c=w();a.A&&a.A.a.b.a<=b.a.a;)c.add(a.A),a.A=HQa(a.za);return c}
  1545. function rO(a,b){a:switch(b.a.a){case 6:case 20:case 71:case 81:var c=!1;break a;case 50:case 43:case 42:case 46:case 57:case 45:b:for(c=b;;)switch(c.a.a){case 6:c=c.c;continue;case 50:c=c.c;continue;case 42:c=c.f;continue;case 43:c=c.c;continue;case 46:c=c.c;continue;case 57:c=c.c;continue;case 45:c=c.c;continue;default:break b}c=q(c.a,(NN(),KN))?!1:!0;break a;default:c=!0}c=c?qNa(a,rNa(a,b.b)):null;var d=null;if(q(a.f.b,(oM(),nM))){var e=KNa(a,b.b);e.D()||(d=LNa(e))}e=VNa(a.K,b);c&&(q(b.a,(NN(),
  1546. KN))&&gE(c)&&(e=vO(a,(H(),Ut),e)),Gx(e,c));q(a.f.b,(oM(),nM))&&d&&(a=d,vF(e,(bF(),cF),a));tO(e,b);return e}function uO(a,b){var c=JNa(a,b.b),d=null;if(q(a.f.b,(oM(),nM))){var e=KNa(a,b.b);e.D()||(d=LNa(e))}e=VNa(a.K,b);c&&Gx(e,c);q(a.f.b,(oM(),nM))&&d&&(a=d,vF(e,(bF(),cF),a));tO(e,b);return e}
  1547. function JNa(a,b){var c=rNa(a,b);if(c&&!ji(c.c,"@")){var d=c.c,e=yO(c.a.a),f=zO(c.a.a);c=jPa(tOa(d.substr(3),e,f+3),d,c.a.a.a,a.g,a.f,a.a);hQ(c);d=GP(c);e=c.b.a;f=hP(c.b);var h=jQa(c,d);YPa(c,e,f,h,q(d,(YO(),LO)));(d=gQ(c,h))?(QP(c.a,d),c.a.a.A=!0,c=KP(c.a)):c=null;a=ONa(a,b,c)}else a=qNa(a,c);return a}function AO(a){wO();return yO(a.b.a)}function IQa(a){wO();return yO(a.b.a)}function yO(a){wO();return a.b+1}function BO(a){wO();return zO(a.b.a)}function JQa(a){wO();return zO(a.b.a)}
  1548. function zO(a){wO();return a.c}function KQa(a){var b=nFa(a);return q(b,(tM(),mFa))?"This language feature is not currently supported by the compiler: "+r(a):"This language feature is only supported for "+r(nFa(a))+" mode or better: "+r(a)}function qO(a,b,c){a.c=$K(a.c,c);JI(a.f.a.f,c)||a.a.b(KQa(c),a.b,AO(b),BO(b))}function LQa(a,b,c){a.c=$K(a.c,c);JI(a.f.a.f,c)||a.a.b(KQa(c),a.b,IQa(b),JQa(b))}function vNa(a,b){bya(a,XA(b));var c=YA(b);a.v=fG(XA(a),c);a.u=b.u}
  1549. function tO(a,b){-1==XA(a)&&FO(a,b.b.a,b.b.b)}function nO(a,b){FO(a,b.b.a,b.b.b)}function FO(a,b,c){if(-1==XA(a)){var d=yO(b);bya(a,d);d=zO(b);a.v=fG(XA(a),d);a.u=c.a-b.a}}
  1550. function GQa(a,b){var c=b.c,d=yO(b.a.a),e=zO(b.a.a),f=b.a.a.a;c=jPa(tOa(c.substr(3),d,e+3),c,f,a.g,a.f,a.a);c.v=a.pa;c.u=a.o;if(q(b.b,(kO(),zMa))&&0<b.c.length)c.f=($O(),ZO),hQ(c),a=GP(c),a=rQa(c,a,(bP(),aP),!1,!0),a=" "+r(a.a),c.v?DPa(c.v,a):c.a.c?LP(c.a,a):LP(c.a,"");else a:for(c.f=($O(),ZO),hQ(c),a=GP(c),c.a.c?(b=rQa(c,a,cQa(c,(bP(),mOa)),!1,!1),a=b.b,te(b.a)||LP(c.a,b.a)):q(a,(YO(),QO))||q(a,(YO(),TO))||LP(c.a,""),b=w();;)switch(a.a){case 14:q(c.f,ZO)?(c.f=jOa,a=ZPa(c,a,b)):a=GP(c);break;case 17:oQa(c,
  1551. b);a=c.a;if(a.b&&(Ay(a.a,4096)||Ay(a.a,32768)||Ay(a.a,131072)||Ay(a.a,16)))switch(c.u=KP(c.a),a=c.u.c,a.a){case 0:case 2:YP(c,"msg.bad.fileoverview.visibility.annotation",Xp(a.toString()))}break a;case 0:KP(c.a);$P(c,"msg.unexpected.eof");oQa(c,b);break a;case 1:q(c.f,jOa)&&(c.f=ZO);a=GP(c);break;default:q(a,(YO(),SO))&&q(c.f,ZO)?a=GP(c):(c.f=jOa,a=nQa(c,GP(c)))}return c}
  1552. function INa(a,b,c){var d=b.c;d=xi(d,"\r\n?","\n");var e=c?0:1,f=mi(d,92);if(-1==f)return c?d:ne(d,1,d.length-1);for(var h=Mg();-1!=f;){Yf(h,d,e,f);f+=1;var k=d.charCodeAt(f);switch(k){case 98:Og(h,8);break;case 102:Og(h,12);break;case 110:Og(h,10);break;case 114:Og(h,13);break;case 116:Og(h,9);break;case 118:Og(h,11);break;case 10:LQa(a,b,(KI(),bBa));a.a.b("String continuations are not recommended. See https://google.github.io/styleguide/jsguide.html#features-strings-no-line-continuations",a.b,yO(b.b.a),
  1553. zO(b.b.a));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:e=f+1<d.length&&MQa(d.charCodeAt(f+1))?f+2<d.length&&MQa(d.charCodeAt(f+2))?3:2:1;!q(a.f.c,vM)&&!c||48==k&&1==e||a.a.b("Octal literals in strings are not supported in this language mode.",a.b,yO(b.b.a),zO(b.b.a));Og(h,vh(ne(d,f,f+e),8)&65535);f+=e-1;break;case 120:Og(h,16*NQa(d.charCodeAt(f+1))+NQa(d.charCodeAt(f+2))&65535);f+=2;break;case 117:if(123!=d.charCodeAt(f+1))e=f+5,f=ne(d,f+1,e);else{for(e=f+2;0<=bh(d.charCodeAt(e),
  1554. 16);)e++;f=ne(d,f+2,e);e++}k=vh(f,16);1114111<k?(a.a.a("Undefined Unicode code-point",a.b,yO(b.b.a),zO(b.b.a)),x(h,"\\u{"),x(h,f),x(h,"}")):$da(h,oea(k));f=e-1;break;default:Og(h,k)}e=f+1;f=ni(d,92,e)}Yf(h,d,e,c?d.length:d.length-1);return h.toString()}
  1555. function oNa(a,b){var c=b.c,d=b.b,e=c.length;E(0<e);E(45!=c.charCodeAt(0)&&43!=c.charCodeAt(0));if(46==c.charCodeAt(0))return Ib(Hg(48)+r(c));if(48==c.charCodeAt(0)&&1<e){var f;switch(c.charCodeAt(1)){case 46:case 101:case 69:return Ib(c);case 98:case 66:LQa(a,b,(KI(),dBa));d=0;for(a=1;++a<e;){d*=2;b=c.charCodeAt(a);if(48<=b&&49>=b)b-=48;else throw pb("unexpected: "+Hg(b)).s;d+=b}return d;case 111:case 79:LQa(a,b,(KI(),eBa));a=0;for(d=1;++d<e;)a=8*a+OQa(c.charCodeAt(d));return a;case 120:case 88:a=
  1556. 0;for(d=1;++d<e;)a=16*a+NQa(c.charCodeAt(d));return a;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:for(f=b=0;++f<e;){var h=c.charCodeAt(f);if(MQa(h))b=8*b+OQa(h);else return a.a.a("Invalid octal digit in octal literal.",a.b,yO(d.a),zO(d.a)),0}q(a.f.c,vM)?a.a.a("Octal integer literals are not supported in strict mode.",a.b,yO(d.a),zO(d.a)):a.a.b("Octal integer literals are not supported in strict mode.",a.b,yO(d.a),zO(d.a));return b;case 56:case 57:return a.a.a("Invalid octal digit in octal literal.",
  1557. a.b,yO(d.a),zO(d.a)),0;default:throw pb("Unexpected character in number literal: "+Hg(c.charCodeAt(1))).s;}}else return Ib(c)}function MQa(a){return 48<=a&&55>=a}function OQa(a){if(MQa(a))return a-48;throw pb("unexpected: "+Hg(a)).s;}
  1558. function NQa(a){switch(a){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15;default:throw pb("unexpected: "+Hg(a)).s;}}
  1559. function YNa(a){wO();switch(a.a){case 76:return H(),qs;case 77:return H(),hpa;case 63:return H(),ipa;case 64:return H(),rs;case 9:return H(),ts;case 24:return H(),us;case 26:return H(),It;default:throw pb(r(a)).s;}}
  1560. function WNa(a){wO();switch(a.a){case 74:return H(),Xoa;case 75:return H(),Yoa;case 73:return H(),Zoa;case 59:return H(),js;case 60:return H(),ks;case 54:return H(),ls;case 56:return H(),$oa;case 55:return H(),apa;case 57:return H(),bpa;case 70:return H(),cpa;case 71:return H(),dpa;case 72:return H(),epa;case 63:return H(),ms;case 64:return H(),ns;case 65:return H(),fpa;case 96:return H(),os;case 67:return H(),gpa;case 66:return H(),ps;case 61:return H(),Hs;case 62:return H(),Is;case 16:return H(),
  1561. Ls;case 17:return H(),Ms;case 53:return H(),Rs;case 84:return H(),Ss;case 94:return H(),Ts;case 95:return H(),Us;case 93:return H(),Vs;case 90:return H(),Ws;case 91:return H(),Xs;case 92:return H(),Ys;case 85:return H(),Zs;case 86:return H(),$s;case 87:return H(),at;case 88:return H(),dt;case 97:return H(),bt;case 89:return H(),ct;case 79:return H(),ft;case 78:return H(),gt;case 81:return H(),rt;default:throw pb(r(a)).s;}}function xO(a,b){return rF(zw(b),a.g)}
  1562. function vO(a,b,c){return rF(Ow(b,c),a.g)}function sO(a,b,c,d){return rF(ex(b,c,d),a.g)}function HO(a,b,c,d,e){return rF(Ew(b,c,d,e),a.g)}function pNa(a,b){return rF(ux(b),a.g)}function pO(a,b,c){return rF(ox(b,c),a.g)}function XNa(a,b,c){kx();var d=new kI;dF(d,(H(),vu));d.F=b;if(null==c)throw ua("TemplateLiteralSubstringNode: raw str is null").s;d.K=c;return rF(d,a.g)}function EO(a,b){b.A||rF(b,a.g);for(var c=BA(b).h();c.i();){var d=c.j();EO(a,d)}return b}
  1563. function wO(){wO=function(){};BNa=ANa=mm("use strict");zQa=jm("class","const","enum","export","extends","import",A(["super"],B,y,1));yQa=jm("class","const","enum","export","extends","import",A("super implements interface let package private protected public static yield".split(" "),B,y,1))}function PQa(){this.a=!1}l(PQa,n);function pQ(a,b,c,d){a.a=!0;c=CN(c,d);a.g(b,c)}function QQa(a,b,c,d){c=CN(c,d);a.o(b,c)}function RQa(){this.c=this.b=this.a=!1}l(RQa,PQa);
  1564. RQa.prototype.g=function(a,b){if(this.c||!this.b)this.b=!0,this.f.a(b,a.f.b,a.b+1,a.c)};RQa.prototype.o=function(a,b){this.f.b(b,a.f.b,a.b+1,a.c)};function SQa(){}l(SQa,n);function TQa(){}l(TQa,n);function UQa(a,b,c,d){d=Ci(d);zi(d,"//# sourceMappingURL=")&&(a.b.v=d.substr(21));var e=new AMa;e.c=d;e.a=c;e.b=b;a.a.W(e)}function VQa(){this.a=0}var WQa,XQa,YQa,ZQa,$Qa,aRa,bRa,cRa;l(VQa,z);function qQ(a,b){var c=new VQa;c.b=a;c.a=b;return c}VQa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1565. function rQ(){rQ=function(){};WQa=qQ("ES3",0);XQa=qQ("ES5",1);YQa=qQ("ES6_OR_ES7",2);ZQa=qQ("ES8_OR_GREATER",3);$Qa=qQ("ES_NEXT",4);aRa=qQ("ES_NEXT_IN",5);bRa=qQ("UNSUPPORTED",6);cRa=qQ("TYPESCRIPT",7)}function dRa(){this.g=this.f=this.b=this.c=this.a=!1}l(dRa,n);function eRa(){this.a=0}var sQ,tQ;l(eRa,z);function fRa(a,b){var c=new eRa;c.b=a;c.a=b;return c}eRa.prototype.R=function(a){return z.prototype.c.call(this,a)};function uQ(){uQ=function(){};sQ=fRa("NO_IN",0);tQ=fRa("NORMAL",1)}
  1566. function gRa(){this.a=0;this.g=this.f=!1}var vQ,wQ,xQ,yQ;l(gRa,z);function hRa(a,b,c,d){var e=new gRa;e.b=a;e.a=b;e.f=c;e.g=d;return e}gRa.prototype.R=function(a){return z.prototype.c.call(this,a)};function zQ(){zQ=function(){};vQ=hRa("NORMAL",0,!1,!1);wQ=hRa("GENERATOR",1,!0,!1);xQ=hRa("ASYNCHRONOUS",2,!1,!0);yQ=hRa("ASYNCHRONOUS_GENERATOR",3,!0,!0)}function iRa(){this.a=0}var AQ,BQ,jRa;l(iRa,z);function kRa(a,b){var c=new iRa;c.b=a;c.a=b;return c}
  1567. iRa.prototype.R=function(a){return z.prototype.c.call(this,a)};function CQ(){CQ=function(){};AQ=kRa("IMPLEMENTATION",0);BQ=kRa("SIGNATURE",1);jRa=kRa("TYPE_EXPRESSION",2)}function lRa(){this.a=this.f=!1}l(lRa,n);function DQ(a){var b=new lRa;b.f=!1;b.a=!1;b.c=null;b.b=a;return b}function mRa(){this.a=0}var EQ,nRa;l(mRa,z);function oRa(a,b){var c=new mRa;c.b=a;c.a=b;return c}mRa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1568. function FQ(){FQ=function(){};EQ=oRa("INITIALIZER",0);nRa=oRa("ANY",1)}function pRa(){this.b=this.a=this.c=this.g=0}l(pRa,n);function GQ(a,b){var c=a.a;if(!(b>=a.a))throw ua(Hi("Must call rewindTo before calling getSourcePosition for an earlier line (%s < %s)",[Fc(b),Fc(c)])).s;for(;b>=a.b;)qRa(a);c=new AIa;var d=a.c,e=b-a.a;c.f=a.o;c.a=b;c.b=d;c.c=e;return c}function rRa(a,b,c){return FN(GQ(a,b),GQ(a,c))}function sRa(a,b){D(bd(b.f,a.o));b.a<a.a&&(a.c=b.b-1,a.b=b.a-b.c,qRa(a))}
  1569. function qRa(a){a.c++;a.a=a.b;for(var b=a.a;b<a.g;b++){var c=a.f.charCodeAt(b);a:switch(c){case 10:case 13:case 8232:case 8233:var d=!0;break a;default:d=!1}if(d){13==c&&b+1<a.g&&10==a.f.charCodeAt(b+1)&&b++;a.b=b+1;return}}a.b=2147483647}function tRa(){}l(tRa,n);function uRa(){this.f=!1}l(uRa,HN);function vRa(a,b,c){var d=new uRa,e=(W(),tN);d.a=e;d.b=b;d.c=a;d.f=c;return d}function wRa(){this.A=!1;this.o=this.a=this.v=0}l(wRa,n);function xRa(a,b){sRa(a.b,b);a.g.ia();a.a=b.a}
  1570. function HQ(a){return a.g.D()?GQ(a.b,a.a):IQ(a,0).b.a}function JQ(a,b){return rRa(a.b,b,a.a)}function yRa(a,b){sRa(a.b,b);return rRa(a.b,b.a,a.a)}function zRa(a){IQ(a,0);return a.g.Wa(0)}function ARa(a){var b=KQ(a);if(!BRa(b)||42==b)return LQ(a,"Expected regular expression first char"),!1;if(!CRa(a))return!1;for(;!MQ(a)&&BRa(KQ(a));)if(!CRa(a))return!1;return!0}
  1571. function CRa(a){switch(KQ(a)){case 92:return DRa(a);case 91:a:{for(NQ(a);!MQ(a)&&93!=KQ(a)&&!OQ(KQ(a));){var b=a;92==KQ(b)?b=DRa(b):(NQ(b),b=!0);if(!b){a=!1;break a}}93!=KQ(a)?(LQ(a,"']' expected"),a=!1):(NQ(a),a=!0)}return a;default:return NQ(a),!0}}function DRa(a){NQ(a);if(OQ(KQ(a)))return LQ(a,"New line not allowed in regular expression literal"),!1;NQ(a);return!0}function BRa(a){switch(a){case 47:return!1;case 92:case 91:return!0;default:return!OQ(a)}}
  1572. function IQ(a,b){for(;a.g.w()<=b;)a.g.add(ERa(a));return a.g.G(b)}function MQ(a){return!FRa(a,a.a)}function FRa(a,b){return!!(+(0<=b)&+(b<a.v))}function GRa(a){a:switch(KQ(a)){case 9:case 11:case 12:case 32:case 160:case 65279:case 10:case 13:case 8232:case 8233:case 12288:a=!0;break a;default:a=!1}return a}function OQ(a){switch(a){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function HRa(a){switch(a){case 8232:case 8233:return!1;default:return OQ(a)}}
  1573. function IRa(a){var b;for(b=!1;!MQ(a)&&GRa(a);)OQ(NQ(a))&&(b=!0);if(!MQ(a))switch(PQ(a,0)){case 47:switch(PQ(a,1)){case 47:return JRa(a,(kO(),iO)),!0;case 42:b=a.a;NQ(a);for(NQ(a);!MQ(a)&&(42!=KQ(a)||47!=PQ(a,1));)NQ(a);if(MQ(a))LQ(a,"unterminated comment");else{NQ(a);NQ(a);var c=(kO(),wMa);4<a.a-b&&(42==a.f.charCodeAt(b+2)?c=xMa:33==a.f.charCodeAt(b+2)&&(c=zMa));var d=rRa(a.b,b,a.a);UQa(a.u,c,d,ne(a.f,b,a.a))}return!0}break;case 60:if(33==PQ(a,1)&&45==PQ(a,2)&&45==PQ(a,3))return KRa(a),JRa(a,(kO(),
  1574. iO)),!0;break;case 45:if(b&&45==PQ(a,1)&&62==PQ(a,2))return KRa(a),JRa(a,(kO(),iO)),!0;break;case 35:if(0==a.a&&33==PQ(a,1))return JRa(a,(kO(),yMa)),!0}return!1}function KRa(a){QQa(a.c,HQ(a),"In some cases, '\x3c!--' and '--\x3e' are treated as a '//' for legacy reasons. Removing this from your code is safe for all browsers currently in use.",[])}function JRa(a,b){for(var c=a.a;!MQ(a)&&!OQ(KQ(a));)NQ(a);var d=rRa(a.b,c,a.a);UQa(a.u,b,d,ne(a.f,c,a.a))}
  1575. function ERa(a){for(;IRa(a););var b=a.a;if(MQ(a))return QQ(a,(W(),VM),b);var c=NQ(a);switch(c){case 123:return QQ(a,(W(),XM),b);case 125:return QQ(a,(W(),YM),b);case 40:return QQ(a,(W(),ZM),b);case 41:return QQ(a,(W(),$M),b);case 91:return QQ(a,(W(),aN),b);case 93:return QQ(a,(W(),bN),b);case 46:return LRa(KQ(a))?(RQ(a),MRa(a,b)):46==KQ(a)&&46==PQ(a,1)?(NQ(a),NQ(a),QQ(a,(W(),uN),b)):QQ(a,(W(),cN),b);case 59:return QQ(a,(W(),dN),b);case 44:return QQ(a,(W(),eN),b);case 126:return QQ(a,(W(),HHa),b);
  1576. case 63:return 63==KQ(a)?(NQ(a),QQ(a,(W(),oN),b)):46!=KQ(a)||LRa(PQ(a,1))?QQ(a,(W(),nN),b):(NQ(a),QQ(a,(W(),pN),b));case 58:return QQ(a,(W(),qN),b);case 60:switch(KQ(a)){case 60:return NQ(a),61==KQ(a)?(NQ(a),QQ(a,(W(),NHa),b)):QQ(a,(W(),BHa),b);case 61:return NQ(a),QQ(a,(W(),qHa),b);default:return QQ(a,(W(),fN),b)}case 62:if(0<a.o)return QQ(a,(W(),gN),b);switch(KQ(a)){case 62:switch(NQ(a),KQ(a)){case 61:return NQ(a),QQ(a,(W(),OHa),b);case 62:return NQ(a),61==KQ(a)?(NQ(a),QQ(a,(W(),PHa),b)):QQ(a,(W(),
  1577. DHa),b);default:return QQ(a,(W(),CHa),b)}case 61:return NQ(a),QQ(a,(W(),rHa),b);default:return QQ(a,(W(),gN),b)}case 61:switch(KQ(a)){case 61:return NQ(a),61==KQ(a)?(NQ(a),QQ(a,(W(),uHa),b)):QQ(a,(W(),sHa),b);case 62:return NQ(a),QQ(a,(W(),hN),b);default:return QQ(a,(W(),rN),b)}case 33:return 61==KQ(a)?(NQ(a),61==KQ(a)?(NQ(a),QQ(a,(W(),vHa),b)):QQ(a,(W(),tHa),b)):QQ(a,(W(),GHa),b);case 42:return 61==KQ(a)?(NQ(a),QQ(a,(W(),KHa),b)):42==KQ(a)?(NQ(a),61==KQ(a)?(NQ(a),QQ(a,(W(),LHa),b)):QQ(a,(W(),jN),
  1578. b)):QQ(a,(W(),iN),b);case 37:return 61==KQ(a)?(NQ(a),QQ(a,(W(),MHa),b)):QQ(a,(W(),yHa),b);case 94:return 61==KQ(a)?(NQ(a),QQ(a,(W(),SHa),b)):QQ(a,(W(),FHa),b);case 47:return 61==KQ(a)?(NQ(a),QQ(a,(W(),UHa),b)):QQ(a,(W(),THa),b);case 43:switch(KQ(a)){case 43:return NQ(a),QQ(a,(W(),zHa),b);case 61:return NQ(a),QQ(a,(W(),IHa),b);default:return QQ(a,(W(),wHa),b)}case 45:switch(KQ(a)){case 45:return NQ(a),QQ(a,(W(),AHa),b);case 61:return NQ(a),QQ(a,(W(),JHa),b);default:return QQ(a,(W(),xHa),b)}case 38:switch(KQ(a)){case 38:return NQ(a),
  1579. QQ(a,(W(),lN),b);case 61:return NQ(a),QQ(a,(W(),QHa),b);default:return QQ(a,(W(),EHa),b)}case 124:switch(KQ(a)){case 124:return NQ(a),QQ(a,(W(),mN),b);case 61:return NQ(a),QQ(a,(W(),RHa),b);default:return QQ(a,(W(),kN),b)}case 35:return QQ(a,(W(),VHa),b);case 48:return NRa(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return RQ(a),ORa(a,b);case 34:case 39:a:{for(var d=GQ(a.b,b),e=!1;!MQ(a)&&KQ(a)!=c&&!HRa(KQ(a));){var f=KQ(a);e=e||8232==f||8233==f;f=a;92==KQ(f)?f=PRa(f):
  1580. (NQ(f),f=!0);if(!f){a=vRa(SQ(a,b),yRa(a,d),e);break a}}KQ(a)!=c?(c=GQ(a.b,b),pQ(a.c,c,"Unterminated string literal",[])):NQ(a);a=vRa(SQ(a,b),yRa(a,d),e)}return a;case 96:return MQ(a)&&(b=GQ(a.b,b),pQ(a.c,b,"Unterminated template literal",[])),QRa(a,(W(),wN),vN);default:a:{d=a.a-1;c=92==c;f=!1;var h=c?1:0;for(e=KQ(a);RRa(e)||92==e||123==e&&2==h||125==e&&f;){92==e&&(c=!0);(92==e||0<h)&&h++;123==e&&(f=!0);if(125==e||6<=h&&!f)f=!1,h=0;NQ(a);e=KQ(a)}d=ne(a.f,d,a.a);if(c&&(d=SRa(d),null==d)){c=GQ(a.b,a.a);
  1581. pQ(a.c,c,"Invalid escape sequence",[]);a=QQ(a,(W(),pHa),b);break a}c=d.charCodeAt(0);TRa(c)?a=(c=GGa(d,a.A))?CIa(c.f,JQ(a,b)):GIa(JQ(a,b),d):(d=GQ(a.b,b),c=[eh(c),Fc(c)],pQ(a.c,d,"Character '%c' (U+%04X) is not a valid identifier start char",c),a=QQ(a,(W(),pHa),b))}return a}}
  1582. function NRa(a,b){switch(KQ(a)){case 98:case 66:NQ(a);for(URa(KQ(a))||LQ(a,"Binary Integer Literal must contain at least one digit");URa(KQ(a));)NQ(a);return IN((W(),sN),SQ(a,b),JQ(a,b));case 111:case 79:NQ(a);for(VRa(KQ(a))||LQ(a,"Octal Integer Literal must contain at least one digit");VRa(KQ(a));)NQ(a);56!=KQ(a)&&57!=KQ(a)||LQ(a,"Invalid octal digit in octal literal.");return IN((W(),sN),SQ(a,b),JQ(a,b));case 120:case 88:NQ(a);for(0<=bh(KQ(a),16)||LQ(a,"Hex Integer Literal must contain at least one digit");0<=
  1583. bh(KQ(a),16);)NQ(a);return IN((W(),sN),SQ(a,b),JQ(a,b));case 101:case 69:return MRa(a,b);case 46:return ORa(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return RQ(a),46==KQ(a)&&(NQ(a),RQ(a)),IN((W(),sN),SQ(a,b),JQ(a,b));default:return IN((W(),sN),SQ(a,b),JQ(a,b))}}function QQ(a,b,c){return CIa(b,JQ(a,c))}
  1584. function SRa(a){for(;ji(a,"\\");){var b=mi(a,92);try{if(117!=a.charCodeAt(b+1))return null;var c=void 0,d=void 0;if(123!=a.charCodeAt(b+2))d=b+6,c=ne(a,b+2,d);else{for(d=b+3;0<=bh(a.charCodeAt(d),16);)d++;if(125!=a.charCodeAt(d))return null;c=ne(a,b+3,d);d++}var e=vh(c,16)&65535;if(!RRa(e))return null;a=r(ne(a,0,b))+Hg(e)+r(a.substr(d))}catch(f){f=va(f);if(hh(f)||f instanceof aea)return null;throw f.s;}}return a}
  1585. function TRa(a){return 127>=a?!!(+!!(+!!(+(65<=a)&+(90>=a))|+!!(+(97<=a)&+(122>=a)))|+!!(+(95==a)|+(36==a))):629==a||916==a||ch(a)}function RRa(a){return 127>=a?!!(+!!(+!!(+!!(+(65<=a)&+(90>=a))|+!!(+(97<=a)&+(122>=a)))|+!!(+(48<=a)&+(57>=a)))|+!!(+(95==a)|+(36==a))):TRa(a)||mea(a)}
  1586. function QRa(a,b,c){var d=a.a,e;a:for(e=TQ(a,null);!MQ(a);){var f;switch(KQ(a)){case 96:break a;case 92:(f=WRa(a))&&null==e.a&&(e=f);break;case 36:if(123==PQ(a,1))break a;default:NQ(a)}}MQ(a)&&(f=GQ(a.b,d),pQ(a.c,f,"Unterminated template literal",[]));f=SQ(a,d);switch(KQ(a)){case 96:return NQ(a),EIa(b,f,e.a,e.b,JQ(a,d-1));case 36:return NQ(a),NQ(a),EIa(c,f,e.a,e.b,JQ(a,d-1));default:return EIa(b,f,e.a,e.b,JQ(a,d-1))}}function SQ(a,b){return ne(a.f,b,a.a)}
  1587. function WRa(a){var b;NQ(a);if(MQ(a))return LQ(a,"Unterminated template literal escape sequence"),null;if(OQ(KQ(a)))return 13==NQ(a)&&10==KQ(a)&&NQ(a),null;switch(NQ(a)){case 48:return VRa(KQ(a))?TQ(a,"Invalid escape sequence"):null;case 49:case 50:case 51:case 52:case 53:case 54:case 55:return TQ(a,"Invalid escape sequence");case 120:return(b=UQ(a)&&UQ(a))?null:TQ(a,"Hex digit expected");case 117:if(123==KQ(a)){NQ(a);if(125==KQ(a))return TQ(a,"Empty unicode escape");for(b=!0;125!=KQ(a)&&b;)b=b&&
  1588. UQ(a);if(!b)return TQ(a,"Hex digit expected");NQ(a);return null}return UQ(a)&&UQ(a)&&UQ(a)&&UQ(a)?null:TQ(a,"Hex digit expected");default:return null}}
  1589. function PRa(a){NQ(a);if(MQ(a))return LQ(a,"Unterminated string literal escape sequence"),!1;if(HRa(KQ(a)))return 13==NQ(a)&&10==KQ(a)&&NQ(a),!0;var b=NQ(a);switch(b){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:case 48:return!0;case 120:return(b=UQ(a)&&UQ(a))||LQ(a,"Hex digit expected"),b;case 117:if(123==KQ(a)){NQ(a);if(125==KQ(a))return LQ(a,"Empty unicode escape"),!1;for(b=!0;125!=KQ(a)&&b;)b=b&&UQ(a);b||LQ(a,"Hex digit expected");NQ(a);return b}(b=UQ(a)&&
  1590. UQ(a)&&UQ(a)&&UQ(a))||LQ(a,"Hex digit expected");return b}47!=b&&(b=[eh(b),eh(b)],QQa(a.c,HQ(a),"Unnecessary escape: '\\%s' is equivalent to just '%s'",b));return!0}function UQ(a){if(!(0<=bh(KQ(a),16)))return!1;NQ(a);return!0}function ORa(a,b){46==KQ(a)&&(NQ(a),RQ(a));return MRa(a,b)}function MRa(a,b){switch(KQ(a)){case 101:case 69:NQ(a);switch(KQ(a)){case 43:case 45:NQ(a)}LRa(KQ(a))||LQ(a,"Exponent part must contain at least one digit");RQ(a)}return IN((W(),sN),SQ(a,b),JQ(a,b))}
  1591. function RQ(a){for(;LRa(KQ(a));)NQ(a)}function LRa(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return!0;default:return!1}}function VRa(a){a:switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:a-=48;break a;default:a=-1}return 0<=a}function URa(a){a:switch(a){case 48:a=0;break a;case 49:a=1;break a;default:a=-1}return 0<=a}function NQ(a){return MQ(a)?0:yh(a.f,a.a++)}function KQ(a){return PQ(a,0)}
  1592. function PQ(a,b){return FRa(a,a.a+b)?a.f.charCodeAt(a.a+b):0}function LQ(a,b){var c=HQ(a);pQ(a.c,c,b,[])}function TQ(a,b){a=HQ(a);var c=new tRa;c.a=b;c.b=a;return c}function XRa(){}l(XRa,Ga);function YRa(){this.a=!1}l(YRa,PQa);YRa.prototype.g=function(){var a=new XRa;pa(a);a.a(Error(a));throw a.s;};YRa.prototype.o=function(){};function ZRa(){}l(ZRa,n);
  1593. function $Ra(a,b,c,d,e,f){var h=new TQa;h.b=a;h.a=Mj();a.o=h;a.f=Uk();a.u=(uI(),vI);a.b=b;a.g=c;h=new wRa;b=b.a;var k=a.o;h.g=w();h.A=b;h.c=c;h.u=k;h.F=d;c=new pRa;b=h.F;c.c=-1;c.a=-1;c.b=0;c.o=b;c.f=b.a;c.g=c.f.length;h.b=c;h.f=d.a;h.v=d.a.length;h.a=e;h.o=0;a.a=h;a.f.Sb(f?(zQ(),wQ):(zQ(),vQ));a.c=HQ(a.a)}
  1594. function aSa(a){if(VQ(a,(W(),PM))&&(WQ(a,1)||XQ(a,1,(W(),tN))||XQ(a,1,(W(),XM))||XQ(a,1,(W(),iN)))){var b=YQ(a);ZQ(a,(W(),PM));if(VQ(a,tN)){var c=ZQ(a,tN);$Q(a);var d=new NLa;a=aR(a,b);PN(d,(NN(),YJa),a);d.f=null;d.g=null;d.c=null;d.o=c;a=d}else{var e=c=d=null,f=!0;if(bR(a))d=cR(a),VQ(a,eN)?ZQ(a,eN):f=!1;else if(DM(dR(a))){var h=eR(a);fR(a,h,"cannot use keyword '%s' here.",[h])}if(f)if(VQ(a,iN))ZQ(a,iN),gR(a,"as"),c=cR(a);else{e=Mj();for(ZQ(a,XM);WQ(a,0);)e.W(bSa(a)),VQ(a,YM)||ZQ(a,eN);ZQ(a,YM);e=
  1595. e.fa()}gR(a,"from");f=(f=ZQ(a,tN))?f:null;$Q(a);h=new NLa;a=aR(a,b);b=d;d=e;PN(h,(NN(),YJa),a);h.f=b;h.g=d;h.c=c;h.o=f;a=h}}else VQ(a,(W(),NM))?a=cSa(a,!1):VQ(a,(W(),QM))?a=dSa(a):VQ(a,(W(),MM))?a=eSa(a):VQ(a,(W(),nHa))&&!hR(a,1)&&XQ(a,1,(W(),WM))&&XQ(a,2,(W(),rN))?a=fSa(a):(VQ(a,(W(),mHa))&&!hR(a,1)&&(XQ(a,1,(W(),YGa))||XQ(a,1,(W(),RM))||XQ(a,1,(W(),LM))||XQ(a,1,(W(),FM))||XQ(a,1,(W(),KM))||XQ(a,1,(W(),MM))||XQ(a,1,(W(),SM))||XQ(a,1,(W(),TM)))?c=gSa(a):c=(VQ(a,(W(),SM))||VQ(a,(W(),TM)))&&!hR(a,1)&&
  1596. XQ(a,1,(W(),WM))?hSa(a,!1):iR(a),a=c);return a}function iSa(a){return VQ(a,(W(),QM))?dSa(a):VQ(a,(W(),NM))?cSa(a,!0):jSa(a)}function bSa(a){var b=YQ(a),c=jR(a),d=null;kR(a,"as")?(gR(a,"as"),d=cR(a)):BM(c.c,a.b.a)&&lR(a,null,"as");var e=new PLa;a=aR(a,b);PN(e,(NN(),ZJa),a);e.f=c;e.c=d;return e}
  1597. function cSa(a,b){var c=YQ(a),d=!1,e=!1,f=!1,h=!0;ZQ(a,(W(),NM));var k=null,m=null;switch(dR(a).a){case 65:e=!0;eR(a);break;case 2:k=kSa(a);break;case 14:k=b?lSa(a):mSa(a);h=b;break;case 29:k=nSa(a,!1,b);h=!1;break;case 37:k=dSa(a);h=!1;break;case 31:k=eSa(a);h=!1;break;case 112:case 113:k=hSa(a,b);h=!1;break;case 111:k=gSa(a);h=!1;break;case 8:d=!0;eR(a);k=mR(a);h=!1;break;case 45:f=!0;m=Mj();for(ZQ(a,XM);WQ(a,0);)m.W(oSa(a)),VQ(a,YM)||ZQ(a,eN);ZQ(a,YM);m=m.fa();break;case 110:k=fSa(a);break;default:k=
  1598. b?pSa(a):qSa(a,(uQ(),tQ))}b=null;if(e||f&&kR(a,"from"))gR(a,"from"),b=ZQ(a,tN);else if(f)for(f=m.h();f.i();){var p=f.j().f;BM(p.c,a.b.a)&&fR(a,p,"cannot use keyword '%s' here.",[p.c])}(h||hR(a,0))&&$Q(a);h=new sLa;a=aR(a,c);PN(h,(NN(),WJa),a);h.u=d;h.g=e;h.c=k;h.f=m;h.o=b;return h}function oSa(a){var b=YQ(a),c=jR(a),d=null;kR(a,"as")&&(gR(a,"as"),d=jR(a));var e=new tLa;a=aR(a,b);PN(e,(NN(),XJa),a);e.f=c;e.c=d;return e}
  1599. function dSa(a){var b=YQ(a);ZQ(a,(W(),QM));var c=cR(a),d=nR(a),e=Mj();if(VQ(a,OM)){ZQ(a,OM);var f=oR(a);for(e.W(f);VQ(a,eN);)ZQ(a,eN),(f=oR(a))&&e.W(f)}ZQ(a,XM);f=rSa(a);ZQ(a,YM);a=aR(a,b);e=e.fa();b=new RLa;PN(b,(NN(),HJa),a);b.g=c;b.f=d;b.o=e;b.c=f;return b}function rSa(a){for(var b=Mj();sSa(a);)b.W(tSa(a)),VQ(a,(W(),YM))||(hR(a,0)?$Q(a):ZQ(a,(W(),eN)));return b.fa()}function sSa(a){a=pR(a);switch(a.a.a){case 18:case 2:case 49:case 65:case 54:case 47:return!0;default:return DM(a.a)}}
  1600. function tSa(a){var b=YQ(a),c=!!qR(a,(W(),iN)),d=null,e=dR(a);if(q(e,IM))return uSa(a,!0);if(q(e,WM)||DM(e))d=jR(a);else{if(q(e,aN))return vSa(a);if(q(e,fN)||q(e,ZM))return uSa(a,!1)}e=!1;VQ(a,nN)&&(ZQ(a,nN),e=!0);if(VQ(a,ZM)||VQ(a,fN))return wSa(a,b,d,!1,c,e,null);c=rR(a);return bMa(aR(a,b),d,!1,e,null,c)}
  1601. function eSa(a){var b=YQ(a);ZQ(a,(W(),MM));var c=cR(a);ZQ(a,XM);var d=aR(a,YQ(a));for(var e,f=Mj();bR(a);)e=sR(a).c,e=DMa(d,e,null),f.W(e),VQ(a,YM)||ZQ(a,eN);d=f.fa();ZQ(a,YM);f=new rLa;a=aR(a,b);PN(f,(NN(),KJa),a);f.f=c;f.c=d;return f}
  1602. function nSa(a,b,c){var d=YQ(a);ZQ(a,(W(),KM));var e=null;if(!b||bR(a))e=cR(a);b=nR(a);var f=null;VQ(a,OM)&&(ZQ(a,OM),f=mR(a));var h=Mj();if(a.b.a&&VQ(a,cHa)){ZQ(a,cHa);var k=oR(a);for(h.W(k);VQ(a,eN);)ZQ(a,eN),(k=oR(a))&&h.W(k)}ZQ(a,XM);a:for(k=Mj();;){var m=pR(a);switch(m.a.a){case 52:ZQ(a,dN);continue;case 2:case 102:case 65:case 43:case 103:case 49:break;default:if(!DM(m.a)){c=k.fa();break a}}k.W(xSa(a,c))}ZQ(a,YM);a=aR(a,d);d=h.fa();h=new RKa;PN(h,(NN(),GJa),a);h.o=e;h.f=b;h.u=f;h.g=d;h.c=c;
  1603. return h}function xSa(a,b){if(VQ(a,(W(),dN)))return ySa(a);var c=DQ(YQ(a));c.f=b;b=a.b.a&&zSa(a)?eR(a).a:null;c.c=b;c.a=!!qR(a,(W(),hHa));return ASa(a)?BSa(a,c):CSa(a)?DSa(a,c):ESa(a)?FSa(a,c):GSa(a,c)}function ESa(a){return kR(a,"async")&&!hR(a,1)&&(tR(a,1)||XQ(a,1,(W(),iN))&&tR(a,2))}
  1604. function GSa(a,b){var c=!!qR(a,(W(),iN));if(uR(a,0))if(WQ(a,0)){var d=null;var e=jR(a);BM(e.c,!1)&&vR(a,(KI(),WJ))}else e=null,d=wR(a);else{if(a.b.a&&HSa(a))return b=vSa(a),$Q(a),b;d=xR(a);e=null}if(!a.b.a||VQ(a,ZM)||VQ(a,fN)){if(d){var f=(XN(),VN);var h=null}else f=(XN(),WN),h=b.c;b.f?(c=wSa(a,b.b,e,b.a,c,!1,b.c),$Q(a)):(e=GLa(cO($N(YN(f),e),b.a),h),yR(a,e,c?(zQ(),wQ):(zQ(),vQ)),c=fO(e,aR(a,b.b)));return q(f,(XN(),WN))?c:SN(aR(a,b.b),b.c,d,c)}c&&zR(a,"Member variable cannot be prefixed by '*' (generator function)",
  1605. []);f=rR(a);VQ(a,rN)&&zR(a,"Member variable initializers ('=') are not supported",[]);$Q(a);d?(c=new eLa,a=aR(a,b.b),e=b.a,b=b.c,PN(c,(NN(),rKa),a),c.o=d,c.f=e,c.c=b,c.g=f,b=c):b=bMa(aR(a,b.b),e,b.a,!1,b.c,f);return b}
  1606. function FSa(a,b){gR(a,"async");var c=VQ(a,(W(),iN));c&&ZQ(a,iN);if(uR(a,0)){if(WQ(a,0)){var d=jR(a),e=GLa($N(cO(dO(eO(YN((XN(),WN))),c),b.a),d),b.c);b.f?(bO(FLa(aO(ELa(e,nR(a)),AR(a,(CQ(),BQ))),rR(a)),TN(aR(a,b.b))),$Q(a)):yR(a,e,c?(zQ(),yQ):(zQ(),xQ));return fO(e,aR(a,d.b.a))}d=wR(a);e=cO(dO(eO(YN((XN(),VN))),c),b.a);yR(a,e,c?(zQ(),yQ):(zQ(),xQ));c=fO(e,aR(a,d.b.a));return SN(aR(a,d.b.a),b.c,d,c)}if(a.b.a&&HSa(a))return b=vSa(a),$Q(a),b;d=xR(a);e=cO(dO(eO(YN((XN(),VN))),c),b.a);yR(a,e,c?(zQ(),yQ):
  1607. (zQ(),xQ));c=fO(e,aR(a,d.b.a));return SN(aR(a,d.b.a),b.c,d,c)}function wSa(a,b,c,d,e,f,h){c=dO(cO($N(YN((XN(),WN)),c),d),e);c.c=f;return fO(bO(FLa(aO(ELa(GLa(c,h),nR(a)),AR(a,(CQ(),BQ))),rR(a)),TN(aR(a,b))),aR(a,b))}function yR(a,b,c){a.f.Sb(c);bO(FLa(aO(ELa(dO(b,c.f),nR(a)),AR(a,(CQ(),AQ))),rR(a)),BR(a));a.f.Ke()}
  1608. function hSa(a,b){var c=YQ(a);qR(a,(W(),SM))||ZQ(a,(W(),TM));var d=YQ(a),e=cR(a),f=ISa(a,e);e=new dMa;d=aR(a,d);PN(e,(NN(),JJa),d);e.c=f;ZQ(a,(W(),XM));if(b){for(b=Mj();JSa(a);)b.W(iSa(a));b=b.fa()}else{for(b=Mj();!VQ(a,YM)&&!VQ(a,VM);)b.W(aSa(a));b=b.fa()}ZQ(a,YM);d=new eMa;PN(d,IJa,aR(a,c));d.f=e;d.c=b;return d}function iR(a){return KSa(a)?kSa(a):XQ(a,0,(W(),FM))?mSa(a):VQ(a,(W(),KM))?nSa(a,!1,!1):VQ(a,(W(),RM))?LSa(a):MSa(a)}
  1609. function NSa(a){var b;if(!(b=XQ(a,0,(W(),FM))))a:switch(dR(a).a){case 45:case 25:case 30:case 52:case 15:case 10:case 27:case 13:case 6:case 3:case 19:case 28:case 20:case 22:case 23:case 7:case 44:case 2:case 110:case 111:case 112:case 113:case 21:case 29:case 35:case 102:case 103:case 109:case 106:case 99:case 100:case 96:case 97:case 101:case 49:case 47:case 18:case 9:case 26:case 24:case 68:case 69:case 63:case 64:case 77:case 76:b=!0;break a;default:b=!1}b||(b=VQ(a,(W(),RM))||VQ(a,(W(),KM)));
  1610. return b}function KSa(a){return kR(a,"async")&&!hR(a,1)&&XQ(a,1,(W(),FM))}function OSa(a){gR(a,"async");ZQ(a,(W(),FM))}function HSa(a){return VQ(a,(W(),aN))&&XQ(a,1,(W(),WM))&&XQ(a,2,(W(),qN))}function vSa(a){var b=YQ(a);ZQ(a,(W(),aN));var c=jR(a);ZQ(a,qN);var d=PSa(a);ZQ(a,bN);ZQ(a,qN);var e=oR(a);c=bMa(aR(a,b),c,!1,!1,null,d);d=new QLa;a=aR(a,b);PN(d,(NN(),uKa),a);d.c=c;d.f=e;return d}
  1611. function uSa(a,b){var c=YQ(a);b&&ZQ(a,(W(),IM));var d=nR(a),e=AR(a,(CQ(),BQ)),f=rR(a),h=new NKa;a=aR(a,c);PN(h,(NN(),vKa),a);h.c=b;h.g=d;h.f=e;h.o=f;return h}function JSa(a){return VQ(a,(W(),YGa))||VQ(a,(W(),RM))||VQ(a,(W(),LM))||VQ(a,(W(),FM))||VQ(a,(W(),KM))||VQ(a,(W(),QM))||VQ(a,(W(),MM))||VQ(a,(W(),SM))||VQ(a,(W(),TM))||VQ(a,(W(),NM))}function mSa(a){var b=YQ(a);ZQ(a,(CM(),zM).f);var c=!!qR(a,(W(),iN)),d=$N(YN((XN(),UN)),cR(a));yR(a,d,c?(zQ(),wQ):(zQ(),vQ));return fO(d,aR(a,b))}
  1612. function kSa(a){var b=YQ(a);OSa(a);var c=VQ(a,(W(),iN));c&&ZQ(a,iN);var d=eO($N(YN((XN(),UN)),cR(a)));yR(a,d,c?(zQ(),yQ):(zQ(),xQ));return fO(d,aR(a,b))}function lSa(a){var b=YQ(a);ZQ(a,(CM(),zM).f);var c=!!qR(a,(W(),iN)),d=cR(a);return fO(bO(FLa(aO(ELa(dO($N(YN((XN(),UN)),d),c),nR(a)),AR(a,(CQ(),BQ))),rR(a)),TN(aR(a,b))),aR(a,b))}function QSa(a,b){return bR(a)||VQ(a,(W(),uN))?!0:q(b,(CQ(),jRa))?!1:VQ(a,(W(),aN))||VQ(a,(W(),XM))}
  1613. function RSa(a,b){var c=YQ(a);if(VQ(a,(W(),uN)))var d=SSa(a,(FQ(),EQ));else if(bR(a)){if(d=sR(a),VQ(a,(W(),nN))){ZQ(a,(W(),nN));var e=new qMa,f=aR(a,c);PN(e,(NN(),jKa),f);e.c=d;d=e}}else if(!q(b,(CQ(),jRa))&&TSa(a))d=CR(a,(FQ(),EQ));else throw pb("parseParameterCalled() without confirming a parameter exists.").s;f=e=null;VQ(a,(W(),qN))&&(XQ(a,1,(W(),tN))?(ZQ(a,(W(),qN)),e=wR(a)):e=USa(a),f=aR(a,YQ(a)));q(b,(CQ(),AQ))&&!q(d.a,(NN(),LN))&&VQ(a,(W(),rN))&&(ZQ(a,(W(),rN)),b=DR(a),d=nLa(aR(a,c),d,b));
  1614. e&&(a=new UMa,c=f,PN(a,(NN(),iKa),c),a.c=d,a.f=e,d=a);return d}function AR(a,b){var c=YQ(a);ZQ(a,(W(),ZM));for(var d=Mj();QSa(a,b);)if(d.W(RSa(a,b)),!VQ(a,$M)){var e=ZQ(a,eN);VQ(a,$M)&&(vR(a,(KI(),vK)),a.b.b||fR(a,e,"Invalid trailing comma in formal parameter list",[]))}ZQ(a,$M);return RN(aR(a,c),d.fa())}
  1615. function VSa(a){var b=AR(a,(CQ(),AQ));1!=b.c.w()&&WSa(a,b,"Setter must have exactly 1 parameter, found %d",[Fc(b.c.w())]);if(1<=b.c.w()){var c=b.c.G(0);q(c.a,(NN(),LN))&&WSa(a,c,"Setter must not have a rest parameter",[])}return b}function USa(a){ZQ(a,(W(),qN));return oR(a)}
  1616. function oR(a){var b=YQ(a);if(!bR(a)&&!wn((W(),ZGa),A([ZM,XM,JM],UM,ZHa,1)).B(dR(a)))return zR(a,"Unexpected token '%s' in type expression",[dR(a)]),sMa(aR(a,b),Ml("error"));var c=YQ(a);a:{if(a.b.a&&VQ(a,(W(),ZM))||VQ(a,(W(),fN))){var d=a.b,e=new YRa,f=a.a.F;var h=a.a;h=h.g.D()?h.a:IQ(h,0).b.a.a;var k=new ZRa;$Ra(k,d,e,f,h,a.f.Je().f);try{nR(k);AR(k,(CQ(),jRa));VQ(k,(W(),qN))&&USa(k);var m=VQ(k,(W(),hN));break a}catch(p){if(p=va(p),!(p instanceof XRa))throw p.s;}}m=!1}m?(m=AR(a,(CQ(),AQ)),ZQ(a,(W(),
  1617. hN)),d=oR(a),e=new ILa,c=aR(a,c),PN(e,(NN(),oKa),c),e.c=m,e.f=d,c=e):c=XSa(a);m=c;if(!VQ(a,(W(),kN)))return m;c=Mj();c.W(m);do ZQ(a,(W(),kN)),c.W(XSa(a));while(VQ(a,(W(),kN)));a=aR(a,b);b=c.fa();c=new WMa;PN(c,(NN(),nKa),a);c.c=b;return c}
  1618. function XSa(a){var b=YQ(a);if(VQ(a,(W(),ZM))){ZQ(a,(W(),ZM));var c=oR(a);ZQ(a,$M)}else if(c=YQ(a),VQ(a,(W(),XM))){ZQ(a,(W(),XM));c=aR(a,c);var d=rSa(a),e=new EMa;PN(e,(NN(),mKa),c);e.c=d;c=e;ZQ(a,YM)}else if(c=YQ(a),VQ(a,(W(),JM))){ZQ(a,(W(),JM));d=cR(a);e=Mj();for(d&&e.W(d.c);VQ(a,cN);){ZQ(a,cN);d=cR(a);if(!d)break;e.W(d.c)}d=e.fa();e=new TMa;c=aR(a,c);PN(e,(NN(),hKa),c);e.c=d;c=e}else if(d=YQ(a),c=PSa(a),VQ(a,(W(),fN))){ZQ(a,(W(),fN));a.a.o++;e=Mj();var f=oR(a);for(e.W(f);VQ(a,eN);)ZQ(a,eN),(f=
  1619. oR(a))&&e.W(f);ZQ(a,gN);a.a.o--;e=e.fa();f=new tMa;d=aR(a,d);PN(f,(NN(),kKa),d);f.f=c;f.c=e;c=f}for(f=c;!hR(a,0)&&VQ(a,(W(),aN));)ZQ(a,(W(),aN)),ZQ(a,bN),d=c=new DKa,e=aR(a,b),PN(d,(NN(),lKa),e),d.c=f,f=c;return f}function PSa(a){var b=YQ(a),c=jR(a);return sMa(aR(a,b),ISa(a,c))}function ISa(a,b){var c=Mj();for(c.W(b?b.c:"");VQ(a,(W(),cN));){ZQ(a,(W(),cN));b=cR(a);if(!b)break;c.W(b.c)}return c.fa()}function BR(a){var b=YQ(a);ZQ(a,(W(),XM));var c=YSa(a);ZQ(a,YM);return HKa(aR(a,b),c)}
  1620. function YSa(a){for(var b=Mj();NSa(a);)b.W(iR(a));return b.fa()}function ZSa(a){var b=YQ(a);ZQ(a,(W(),uN));var c=DR(a),d=new TLa;a=aR(a,b);PN(d,(NN(),SJa),a);d.c=c;return d}
  1621. function MSa(a){switch(dR(a).a){case 45:return $Sa(a);case 30:case 25:return LSa(a);case 52:return ySa(a);case 15:var b=YQ(a);ZQ(a,(W(),GM));ZQ(a,ZM);var c=mR(a);ZQ(a,$M);var d=iR(a),e=null;VQ(a,QGa)&&(ZQ(a,QGa),e=iR(a));var f=new MLa;a=aR(a,b);PN(f,(NN(),PIa),a);f.f=c;f.g=d;f.c=e;return f;case 10:return e=YQ(a),ZQ(a,(W(),PGa)),c=iR(a),ZQ(a,$Ga),ZQ(a,ZM),d=mR(a),ZQ(a,$M),VQ(a,dN)&&ZQ(a,dN),f=new oLa,a=aR(a,e),PN(f,(NN(),QIa),a),f.c=c,f.f=d,f;case 27:return e=YQ(a),ZQ(a,(W(),$Ga)),ZQ(a,ZM),c=mR(a),
  1622. ZQ(a,$M),d=iR(a),f=new fNa,a=aR(a,e),PN(f,(NN(),RIa),a),f.f=c,f.c=d,f;case 13:return aTa(a);case 6:return f=YQ(a),ZQ(a,(W(),LGa)),d=null,hR(a,0)||(d=bTa(a)),$Q(a),c=new iLa,a=aR(a,f),PN(c,(NN(),VIa),a),c.c=d,c;case 3:return f=YQ(a),ZQ(a,(W(),IGa)),d=null,hR(a,0)||(d=bTa(a)),$Q(a),c=new IKa,a=aR(a,f),PN(c,(NN(),WIa),a),c.c=d,c;case 19:return f=YQ(a),ZQ(a,(W(),TGa)),d=null,hR(a,0)||(d=mR(a)),$Q(a),c=new FMa,a=aR(a,f),PN(c,(NN(),XIa),a),c.c=d,c;case 28:return e=YQ(a),ZQ(a,(W(),aHa)),ZQ(a,ZM),c=mR(a),
  1623. ZQ(a,$M),d=iR(a),f=new gNa,a=aR(a,e),PN(f,(NN(),YIa),a),f.f=c,f.c=d,f;case 20:d=YQ(a);ZQ(a,(W(),UGa));ZQ(a,ZM);c=mR(a);ZQ(a,$M);ZQ(a,XM);a:for(f=!1,e=Mj();;){var h=YQ(a);switch(dR(a).a){case 4:ZQ(a,JGa);b=mR(a);ZQ(a,qN);var k=cTa(a);e.W(PKa(aR(a,h),b,k));break;case 8:f?zR(a,"Switch statements may have at most one default clause",[]):f=!0;ZQ(a,NGa);ZQ(a,qN);e.W(lLa(aR(a,h),cTa(a)));break;default:e=e.fa();break a}}ZQ(a,YM);f=new IMa;a=aR(a,d);d=e;PN(f,(NN(),aJa),a);f.f=c;f.c=d;return f;case 22:return f=
  1624. YQ(a),ZQ(a,(W(),WGa)),d=null,hR(a,0)?zR(a,"semicolon/newline not allowed after 'throw'",[]):d=mR(a),$Q(a),c=new QMa,a=aR(a,f),PN(c,(NN(),cJa),a),c.c=d,c;case 23:return d=YQ(a),ZQ(a,(W(),XGa)),c=$Sa(a),f=null,VQ(a,KGa)&&(k=YQ(a),ZQ(a,KGa),b=TN(FN(a.c,YQ(a))),q(pR(a).a,ZM)?(ZQ(a,ZM),TSa(a)?b=CR(a,(FQ(),EQ)):b=sR(a),ZQ(a,$M)):vR(a,(KI(),EK)),f=$Sa(a),e=new QKa,k=aR(a,k),PN(e,(NN(),dJa),k),e.c=b,e.f=f,f=e),b=null,VQ(a,RGa)&&(k=YQ(a),ZQ(a,RGa),e=$Sa(a),b=new vLa,k=aR(a,k),PN(b,(NN(),NJa),k),b.c=e),f||
  1625. b||zR(a,"'catch' or 'finally' expected.",[]),e=new RMa,a=aR(a,d),d=f,f=b,PN(e,(NN(),eJa),a),e.c=c,e.f=d,e.g=f,e;case 7:return d=YQ(a),ZQ(a,(W(),MGa)),$Q(a),c=new jLa,a=aR(a,d),PN(c,(NN(),fJa),a),c;default:return bR(a)&&XQ(a,1,(W(),qN))?(e=YQ(a),c=cR(a),ZQ(a,(W(),qN)),d=iR(a),f=new ULa,a=aR(a,e),PN(f,(NN(),bJa),a),f.c=c,f.f=d,a=f):(f=YQ(a),c=mR(a),$Q(a),d=new uLa,a=aR(a,f),PN(d,(NN(),OIa),a),d.c=c,a=d),a}}function $Sa(a){var b=YQ(a);ZQ(a,(W(),XM));var c=YSa(a);ZQ(a,YM);return HKa(aR(a,b),c)}
  1626. function cTa(a){for(var b=Mj();NSa(a);)b.W(iR(a));return b.fa()}function LSa(a){var b=YQ(a),c=qSa(a,(uQ(),tQ));$Q(a);var d=new eNa;a=aR(a,b);PN(d,(NN(),LIa),a);d.c=c;return d}function pSa(a){for(var b=qSa(a,(uQ(),sQ)),c=b.c.h();c.i();)c.j().c&&zR(a,"Ambient variable declaration may not have initializer",[]);return b}
  1627. function qSa(a,b){var c=YQ(a),d=dR(a);switch(d.a){case 30:case 38:case 25:ZQ(a,d);break;default:return fR(a,pR(a),"expected declaration",[]),null}var e=Mj();for(e.W(dTa(a,d,b));VQ(a,(W(),eN));)ZQ(a,(W(),eN)),e.W(dTa(a,d,b));a=aR(a,c);e=e.fa();b=new dNa;PN(b,(NN(),UIa),a);b.f=d;b.c=e;return b}
  1628. function dTa(a,b,c){var d=YQ(a),e=null;if(TSa(a))var f=CR(a,(FQ(),EQ));else f=sR(a),VQ(a,(W(),qN))&&(e=USa(a));var h=null;VQ(a,(W(),rN))?(ZQ(a,(W(),rN)),h=ER(a,c)):q(c,(uQ(),sQ))||eTa(a,b,f);b=new cNa;a=aR(a,d);PN(b,(NN(),MIa),a);b.f=f;b.g=e;b.c=h;return b}function ySa(a){var b=YQ(a);ZQ(a,(W(),dN));return TN(aR(a,b))}
  1629. function aTa(a){var b=YQ(a);ZQ(a,(W(),EM));var c=kR(a,"await");c&&gR(a,"await");ZQ(a,ZM);a:switch(dR(a).a){case 25:case 30:case 38:var d=!0;break a;default:d=!1}if(d){d=qSa(a,(uQ(),sQ));if(VQ(a,HM))return c&&zR(a,"for-await-of is the only allowed asynchronous iteration",[]),1<d.c.w()&&zR(a,"for-in statement may not have more than one variable declaration",[]),c=d.c.G(0),c.c&&(a.b.c?zR(a,"for-in statement may not have initializer",[]):QQa(a.g,c.b.a,"for-in statement should not have initializer",[])),
  1630. fTa(a,b,d);if(kR(a,"of"))return 1<d.c.w()&&(c?zR(a,"for-await-of statement may not have more than one variable declaration",[]):zR(a,"for-of statement may not have more than one variable declaration",[])),d.c.G(0).c&&(c?zR(a,"for-await-of statement may not have initializer",[]):zR(a,"for-of statement may not have initializer",[])),c?gTa(a,b,d):hTa(a,b,d);for(c=d.c.h();c.i();){var e=c.j();e.c||eTa(a,d.f,e.f)}return iTa(a,b,d)}if(VQ(a,dN))return iTa(a,b,null);d=jTa(a,(uQ(),sQ));if(VQ(a,HM)||VQ(a,rN)||
  1631. kR(a,"of"))d=kTa(a,d),AKa(d)||zR(a,"invalid assignment target",[]);return!VQ(a,HM)&&!kR(a,"of")||q(d.a,(NN(),wJa))||q(d.a,(NN(),vJa))?iTa(a,b,d):VQ(a,HM)?fTa(a,b,d):c?gTa(a,b,d):hTa(a,b,d)}function hTa(a,b,c){gR(a,"of");var d=mR(a);ZQ(a,(W(),$M));var e=iR(a),f=new yLa;a=aR(a,b);PN(f,(NN(),$Ja),a);f.g=c;f.f=d;f.c=e;return f}function gTa(a,b,c){gR(a,"of");var d=mR(a);ZQ(a,(W(),$M));var e=iR(a),f=new wLa;a=aR(a,b);PN(f,(NN(),aKa),a);f.g=c;f.f=d;f.c=e;return f}
  1632. function eTa(a,b,c){if(q(b,(W(),LM)))zR(a,"const variables must have an initializer",[]);else{a:{for(b=c;q(b.a,(NN(),KN));)b=b.c;switch(b.a.a){case 62:case 63:b=!0;break a;default:b=!1}}b&&zR(a,"destructuring must have an initializer",[])}}function iTa(a,b,c){c||(c=hO(FN(a.c,YQ(a))));ZQ(a,(W(),dN));var d;VQ(a,dN)?d=hO(FN(a.c,YQ(a))):d=mR(a);ZQ(a,dN);var e;VQ(a,$M)?e=hO(FN(a.c,YQ(a))):e=mR(a);ZQ(a,$M);var f=iR(a),h=new zLa;a=aR(a,b);PN(h,(NN(),TIa),a);h.o=c;h.f=d;h.g=e;h.c=f;return h}
  1633. function fTa(a,b,c){ZQ(a,(W(),HM));var d=mR(a);ZQ(a,$M);var e=iR(a),f=new xLa;a=aR(a,b);PN(f,(NN(),SIa),a);f.g=c;f.f=d;f.c=e;return f}
  1634. function lTa(a){switch(dR(a).a){case 29:return nSa(a,!0,!1);case 35:var b=YQ(a);ZQ(a,(W(),bHa));VQ(a,pN)&&zR(a,"Optional chaining is forbidden in super?.",[]);var c=new HMa;a=aR(a,b);PN(c,(NN(),OJa),a);return c;case 21:return b=YQ(a),ZQ(a,(W(),VGa)),c=new PMa,a=aR(a,b),PN(c,(NN(),gJa),a),c;case 34:var d=YQ(a);ZQ(a,(W(),PM));VQ(a,pN)&&zR(a,"Optional chaining is forbidden in import?.",[]);ZQ(a,ZM);c=DR(a);ZQ(a,$M);vR(a,(KI(),hBa));b=new pLa;a=aR(a,d);PN(b,(NN(),yKa),a);b.c=c;return b;case 2:case 110:case 111:case 112:case 113:return sR(a);
  1635. case 102:case 103:case 100:case 101:case 99:return wR(a);case 109:case 106:return mTa(a,null);case 49:if(q(FR(a,1),(W(),EM)))a=nTa(a,($Ka(),XKa),(W(),aN),bN);else{b=YQ(a);c=Mj();ZQ(a,(W(),aN));for(d=null;VQ(a,eN)||VQ(a,uN)||oTa(a);)d=null,VQ(a,eN)?c.W(hO(aR(a,YQ(a)))):VQ(a,uN)?(vR(a,(KI(),pK)),c.W(ZSa(a))):c.W(DR(a)),VQ(a,bN)||(d=ZQ(a,eN));ZQ(a,bN);pTa(a,d);a=aR(a,b);c=c.fa();b=new BKa;PN(b,(NN(),iJa),a);b.c=c;a=b}return a;case 45:c=YQ(a);b=Mj();ZQ(a,(W(),XM));for(d=null;(VQ(a,uN)||tR(a,0)||VQ(a,
  1636. iN)||zSa(a))&&(b.W(qTa(a)),d=qR(a,eN),d););ZQ(a,YM);pTa(a,d);b=b.fa();d=new iMa;a=aR(a,c);PN(d,(NN(),jJa),a);d.c=b;return d;case 47:return rTa(a);case 96:case 97:c=YQ(a);b=a.a;b.g.D()||xRa(b,IQ(b,0).b.a);d=b.a;NQ(b);if(ARa(b))if(47!=KQ(b))LQ(b,"Expected '/' in regular expression literal");else for(NQ(b);RRa(KQ(b));)NQ(b);b=IN((W(),WHa),SQ(b,d),JQ(b,d));a.c=b.b.b;return WLa(aR(a,c),b);default:return c=YQ(a),eR(a),zR(a,"primary expression expected",[]),gO(aR(a,c))}}
  1637. function sR(a){var b=YQ(a),c=cR(a);return LLa(aR(a,b),c)}function wR(a){var b=YQ(a),c=eR(a);q(c.a,(W(),tN))&&c.f&&vR(a,(KI(),ZI));return WLa(aR(a,b),c)}
  1638. function mTa(a,b){var c=b?b.b.a:YQ(a),d=eR(a);d instanceof DIa||fR(a,d,"Unexpected template literal token %s.",[d.a.toString()]);var e=!!b,f=d;e||null!=f.f&&pQ(a.g,f.g,"%s",[f.f]);d=Mj();d.W(MMa(f.b,f));if(q(f.a,(W(),wN)))return KMa(aR(a,c),b,d.fa());f=mR(a);for(d.W(OMa(f.b,f));!a.g.a;){f=a;var h=f.a;var k=zRa(h);if(MQ(h)||!q(k.a,(W(),YM)))k=GQ(h.b,h.a),pQ(h.c,k,"Expected '}' after expression in template literal",[]);h=QRa(h,(W(),YHa),XHa);f.c=h.b.b;f=h;if(q(f.a,pHa)||q(f.a,VM))break;e||null!=f.f&&
  1639. pQ(a.g,f.g,"%s",[f.f]);d.W(MMa(f.b,f));if(q(f.a,YHa))break;f=mR(a);d.W(OMa(f.b,f))}return KMa(aR(a,c),b,d.fa())}function nTa(a,b,c,d){b=YQ(a);ZQ(a,c);for(c=Mj();VQ(a,(W(),EM))||VQ(a,(W(),GM));)VQ(a,(W(),EM))?c.W(sTa(a)):c.W(tTa(a));DR(a);ZQ(a,d);a=aR(a,b);c.fa();d=new aLa;PN(d,(NN(),kJa),a);return d}function sTa(a){var b=YQ(a);ZQ(a,(W(),EM));ZQ(a,ZM);bR(a)?sR(a):CR(a,(FQ(),nRa));gR(a,"of");DR(a);ZQ(a,$M);var c=new UKa;a=aR(a,b);PN(c,(NN(),mJa),a);return c}
  1640. function tTa(a){var b=YQ(a);ZQ(a,(W(),GM));ZQ(a,ZM);DR(a);ZQ(a,$M);var c=new VKa;a=aR(a,b);PN(c,(NN(),lJa),a);return c}function pTa(a,b){b&&(vR(a,(KI(),cBa)),a.b.g&&QQa(a.g,b.b.a,"Trailing comma is not legal in an ECMA-262 object initializer",[]))}function tR(a,b){return uR(a,b)||q(FR(a,b),(W(),aN))}function uR(a,b){a=FR(a,b);switch(a.a){case 2:case 103:case 102:return!0;default:return DM(a)}}
  1641. function qTa(a){var b=dR(a);if(q(b,(W(),iN))){b=FR(a,1);if(q(b,(W(),tN))||q(b,(W(),sN))||q(b,(W(),WM))||DM(b))a=GSa(a,DQ(YQ(a)));else{b=YQ(a);ZQ(a,(W(),iN));var c=xR(a),d=YN((XN(),VN));yR(a,d,(zQ(),wQ));d=fO(d,aR(a,b));a=SN(aR(a,b),null,c,d)}return a}if(q(b,(W(),uN)))return vR(a,(KI(),wK)),d=YQ(a),ZQ(a,(W(),uN)),b=DR(a),c=new mMa,a=aR(a,d),PN(c,(NN(),TJa),a),c.c=b,c;if(q(b,(W(),tN))||q(b,(W(),sN))||q(b,(W(),WM))||DM(b)){if(ASa(a))a=BSa(a,DQ(YQ(a)));else if(CSa(a))a=DSa(a,DQ(YQ(a)));else if(ESa(a))a=
  1642. FSa(a,DQ(YQ(a)));else if(q(FR(a,1),(W(),ZM)))a=GSa(a,DQ(YQ(a)));else a:{b=YQ(a);c=uTa(a);d=qR(a,(W(),qN));if(!d)if(!q(c.a,WM))lR(a,pR(a),qN);else if(BM(c.c,!1))fR(a,c,"Cannot use keyword in short object literal",[]);else if(VQ(a,rN)){c=LLa(aR(a,b),c);ZQ(a,rN);d=DR(a);a=nLa(aR(a,b),c,d);break a}d=d?DR(a):null;a=DMa(aR(a,b),c,d)}return a}if(q(b,(W(),aN))){b=YQ(a);c=xR(a);if(VQ(a,(W(),qN)))return ZQ(a,(W(),qN)),d=DR(a),cLa(aR(a,b),c,d);d=YN((XN(),VN));yR(a,d,(zQ(),vQ));d=fO(d,aR(a,b));return SN(aR(a,
  1643. b),null,c,d)}throw Ha("unreachable").s;}function xR(a){ZQ(a,(W(),aN));var b=DR(a);ZQ(a,bN);return b}function ASa(a){return kR(a,"get")&&tR(a,1)}function gR(a,b){var c=cR(a);c&&q(c.c,b)||lR(a,c,b)}function kR(a,b){return XQ(a,0,(W(),WM))&&li(IQ(a.a,0).c,b)}
  1644. function BSa(a,b){gR(a,"get");if(uR(a,0)){var c=uTa(a);ZQ(a,(W(),ZM));ZQ(a,$M);var d=rR(a),e=BR(a);vR(a,(KI(),VJ));var f=new JLa;a=aR(a,b.b);b=b.a;PN(f,(NN(),nJa),a);f.g=c;f.f=b;f.o=d;f.c=e;return f}c=xR(a);ZQ(a,(W(),ZM));ZQ(a,$M);rR(a);d=BR(a);vR(a,(KI(),VJ));e=new dLa;a=aR(a,b.b);b=b.a;PN(e,(NN(),rJa),a);e.g=c;e.c=b;e.f=d;return e}function CSa(a){return kR(a,"set")&&tR(a,1)}
  1645. function DSa(a,b){gR(a,"set");if(uR(a,0)){var c=uTa(a),d=VSa(a);rR(a)&&fR(a,IQ(a.a,0),"setter should not have any returns",[]);var e=BR(a);vR(a,(KI(),XJ));var f=new GMa;a=aR(a,b.b);b=b.a;PN(f,(NN(),oJa),a);f.f=c;f.c=b;f.o=d;f.g=e;return f}c=xR(a);d=VSa(a);e=BR(a);vR(a,(KI(),XJ));f=new gLa;a=aR(a,b.b);b=b.a;PN(f,(NN(),tJa),a);f.o=c;f.c=b;f.f=d;f.g=e;return f}
  1646. function rTa(a){if(q(FR(a,1),(W(),EM)))return nTa(a,($Ka(),YKa),(W(),ZM),$M);var b=YQ(a);ZQ(a,(W(),ZM));if(VQ(a,$M)){ZQ(a,$M);if(VQ(a,hN))return RN(aR(a,b),Ll());zR(a,"invalid parenthesized expression",[]);return gO(aR(a,b))}if(VQ(a,uN)){var c=Ml(RSa(a,(CQ(),AQ)));ZQ(a,$M);if(VQ(a,hN))return RN(aR(a,b),c);zR(a,"invalid parenthesized expression",[]);return gO(aR(a,b))}var d=mR(a);VQ(a,eN)&&(ZQ(a,eN),d=TKa(aR(a,b),Sl(d,RSa(a,(CQ(),AQ)))));ZQ(a,$M);c=new uMa;a=aR(a,b);b=d;PN(c,(NN(),KN),a);c.c=b;return c}
  1647. function nR(a){if(!VQ(a,(W(),fN)))return null;var b=YQ(a);ZQ(a,(W(),fN));a.a.o++;var c=Uf();do{var d=cR(a),e=null;VQ(a,OM)&&(ZQ(a,OM),e=oR(a));c.C(d,e);VQ(a,eN)&&ZQ(a,eN)}while(bR(a));ZQ(a,gN);a.a.o--;d=new MKa;a=aR(a,b);PN(d,(NN(),pKa),a);d.c=c;return d}function rR(a){var b=null;VQ(a,(W(),qN))&&(b=USa(a));return b}function mR(a){return jTa(a,(uQ(),tQ))}
  1648. function oTa(a){switch(dR(a).a){case 76:case 29:case 9:case 101:case 14:case 2:case 110:case 111:case 112:case 113:case 64:case 69:case 18:case 99:case 102:case 45:case 47:case 49:case 63:case 68:case 96:case 97:case 103:case 109:case 106:case 35:case 21:case 77:case 100:case 24:case 26:case 44:return!0;case 34:return VQ(a,(W(),PM))&&XQ(a,1,(W(),ZM))||vTa(a);default:return!1}}
  1649. function jTa(a,b){var c=YQ(a),d=ER(a,b);if(VQ(a,(W(),eN))&&!XQ(a,1,(W(),uN))){var e=Mj();for(e.W(d);VQ(a,(W(),eN))&&!XQ(a,1,(W(),uN));)ZQ(a,(W(),eN)),e.W(ER(a,b));return TKa(aR(a,c),e.fa())}return d}function DR(a){return ER(a,(uQ(),tQ))}
  1650. function ER(a,b){if(VQ(a,(W(),iHa))&&a.f.Je().f){var c=YQ(a);ZQ(a,(W(),iHa));var d=!1,e=null;hR(a,0)||(d=!!qR(a,iN),oTa(a)?e=ER(a,b):d&&zR(a,"yield* requires an expression",[]));b=new hNa;a=aR(a,c);PN(b,(NN(),bKa),a);b.f=d;b.c=e;return b}e=YQ(a);d=YQ(a);c=YQ(a);var f=YQ(a);for(var h=wTa(a,b);VQ(a,(W(),mN));){var k=ZQ(a,(W(),mN));var m=wTa(a,b);h=QN(aR(a,f),h,k,m)}f=h;if(VQ(a,(W(),oN))){for(q(f.a,(NN(),wJa))&&(q(f.c.a,(W(),lN))||q(f.c.a,(W(),mN)))&&zR(a,"Logical OR and logical AND require parentheses when used with '??'",
  1651. []);VQ(a,(W(),oN));)h=ZQ(a,(W(),oN)),k=xTa(a,b),f=QN(aR(a,c),f,h,k);(VQ(a,(W(),lN))||VQ(a,(W(),mN)))&&zR(a,"Logical OR and logical AND require parentheses when used with '??'",[]);k=f}else k=f;VQ(a,(W(),nN))?(ZQ(a,(W(),nN)),c=ER(a,b),ZQ(a,qN),f=ER(a,b),h=new hLa,d=aR(a,d),PN(h,(NN(),xJa),d),h.c=k,h.f=c,h.g=f,d=h):d=k;f=d;q(f.a,(NN(),JN))?c="async"===f.c.c&&!hR(a,0)&&bR(a)&&!hR(a,1)&&XQ(a,1,(W(),hN)):q(f.a,(NN(),EJa))?(c=f.c,f=f.f,c=q(c.a,(NN(),JN))&&"async"===c.c.c&&c.b.b.b==f.b.a.b&&!hR(a,0)&&VQ(a,
  1652. (W(),hN))):c=!1;if(c)return yTa(a,d),e=YQ(a),gR(a,"async"),hR(a,0)&&zR(a,"No newline allowed between `async` and arrow function parameter list",[]),VQ(a,(W(),ZM))?d=AR(a,(CQ(),AQ)):(d=sR(a),d=RN(d.b,Ml(d))),hR(a,0)&&zR(a,"No newline allowed before '=>'",[]),ZQ(a,(W(),hN)),b=zTa(a,b,(zQ(),xQ)),fO(bO(aO(eO(YN((XN(),BLa))),d),b),aR(a,e));if(VQ(a,(W(),hN))){e=d;if(q(e.a,(NN(),EJa)))b=e.c,b.b.b.b<e.f.b.a.b?(a.c=b.b.b,xRa(a.a,a.c),a=b):(zR(a,"'=>' unexpected",[]),a=e);else{switch(e.a.a){case 64:break;case 26:e=
  1653. RN(e.b,Ml(e));break;case 49:case 59:yTa(a,e);e=AR(a,(CQ(),AQ));break;default:WSa(a,e,"invalid arrow function parameters",[]),e=RN(e.b,Ll())}hR(a,0)&&zR(a,"No newline allowed before '=>'",[]);ZQ(a,(W(),hN));b=zTa(a,b,(zQ(),vQ));a=fO(bO(aO(YN((XN(),BLa)),e),b),aR(a,e.b.a))}return a}a:switch(dR(a).a){case 84:case 87:case 88:case 97:case 89:case 85:case 86:case 90:case 91:case 92:case 93:case 95:case 94:c=!0;break a;default:c=!1}if(c){d=kTa(a,d);if(!AKa(d))return zR(a,"invalid assignment target",[]),
  1654. gO(aR(a,YQ(a)));c=eR(a);b=ER(a,b);return QN(aR(a,e),d,c,b)}return d}function zTa(a,b,c){a.f.Sb(c);var d;VQ(a,(W(),XM))?d=BR(a):d=ER(a,b);a.f.Ke();return d}function kTa(a,b){switch(b.a.a){case 28:case 29:return yTa(a,b),CR(a,(FQ(),nRa));default:return b}}function yTa(a,b){a.c=b.b.a;xRa(a.a,a.c)}function wTa(a,b){for(var c=YQ(a),d=xTa(a,b);VQ(a,(W(),lN));){var e=ZQ(a,(W(),lN)),f=xTa(a,b);d=QN(aR(a,c),d,e,f)}return d}
  1655. function xTa(a,b){for(var c=YQ(a),d=ATa(a,b);VQ(a,(W(),kN));){var e=ZQ(a,(W(),kN)),f=ATa(a,b);d=QN(aR(a,c),d,e,f)}return d}function ATa(a,b){for(var c=YQ(a),d=BTa(a,b);VQ(a,(W(),FHa));){var e=ZQ(a,(W(),FHa)),f=BTa(a,b);d=QN(aR(a,c),d,e,f)}return d}function BTa(a,b){for(var c=YQ(a),d=CTa(a,b);VQ(a,(W(),EHa));){var e=ZQ(a,(W(),EHa)),f=CTa(a,b);d=QN(aR(a,c),d,e,f)}return d}function CTa(a,b){for(var c=YQ(a),d=DTa(a,b);ETa(a);){var e=eR(a),f=DTa(a,b);d=QN(aR(a,c),d,e,f)}return d}
  1656. function ETa(a){switch(dR(a).a){case 59:case 60:case 61:case 62:return!0;default:return!1}}function DTa(a,b){for(var c=YQ(a),d=FTa(a);GTa(a,b);){var e=eR(a),f=FTa(a);d=QN(aR(a,c),d,e,f)}return d}function GTa(a,b){switch(dR(a).a){case 54:case 55:case 57:case 56:case 17:return!0;case 16:return q(b,(uQ(),tQ));default:return!1}}function FTa(a){for(var b=YQ(a),c=HTa(a);ITa(a);){var d=eR(a),e=HTa(a);c=QN(aR(a,b),c,d,e)}return c}
  1657. function ITa(a){switch(dR(a).a){case 70:case 71:case 72:return!0;default:return!1}}function HTa(a){for(var b=YQ(a),c=JTa(a);KTa(a);){var d=eR(a),e=JTa(a);c=QN(aR(a,b),c,d,e)}return c}function KTa(a){switch(dR(a).a){case 63:case 64:return!0;default:return!1}}function JTa(a){for(var b=YQ(a),c=LTa(a);MTa(a);){var d=eR(a),e=LTa(a);c=QN(aR(a,b),c,d,e)}return c}function MTa(a){switch(dR(a).a){case 65:case 96:case 67:return!0;default:return!1}}
  1658. function LTa(a){var b=YQ(a),c=NTa(a);if(VQ(a,(W(),jN))){q(c.a,(NN(),yJa))&&zR(a,"Unary operator '%s' requires parentheses before '**'",[c.c]);var d=eR(a),e=LTa(a);return QN(aR(a,b),c,d,e)}return c}
  1659. function NTa(a){var b=YQ(a);a:switch(dR(a).a){case 9:case 26:case 24:case 63:case 64:case 77:case 76:var c=!0;break a;default:c=!1}if(c){c=eR(a);var d=NTa(a),e=new VMa;a=aR(a,b);PN(e,(NN(),yJa),a);e.c=c;e.f=d;return e}if(kR(a,"await"))d=YQ(a),!a.f.D()&&a.f.Je().g||zR(a,"'await' used in a non-async function context",[]),gR(a,"await"),b=NTa(a),c=new EKa,a=aR(a,d),PN(c,(NN(),xKa),a),c.c=b,a=c;else if(b=YQ(a),OTa(a)){c=eR(a);d=NTa(a);e=(aNa(),YMa);var f=new bNa;a=aR(a,b);PN(f,(NN(),zJa),a);f.g=c;f.f=
  1660. e;f.c=d;a=f}else c=PTa(a),OTa(a)&&!hR(a,0)?(d=eR(a),e=(aNa(),ZMa),f=new bNa,a=aR(a,b),PN(f,(NN(),zJa),a),f.g=d,f.f=e,f.c=c,a=f):a=c;return a}function OTa(a){switch(dR(a).a){case 68:case 69:return!0;default:return!1}}function vTa(a){return VQ(a,(W(),PM))&&XQ(a,1,(W(),cN))}
  1661. function PTa(a){var b=YQ(a),c=QTa(a);if(!(c instanceof fMa)||c.c){for(;RTa(a);){var d;switch(dR(a).a){case 47:var e=STa(a);var f=d=new KKa,h=aR(a,b);PN(f,(NN(),EJa),h);f.c=c;f.f=e;c=d;break;case 49:ZQ(a,(W(),aN));d=mR(a);ZQ(a,bN);c=$La(aR(a,b),c,d);break;case 51:ZQ(a,(W(),cN));d=jR(a);c=YLa(aR(a,b),c,d);break;case 109:case 106:c=mTa(a,c);break;default:throw jb("unexpected case: "+r(dR(a))).s;}}d=c;for(b=YQ(a);VQ(a,(W(),pN));){ZQ(a,(W(),pN));switch(dR(a).a){case 47:e=STa(a);f=c=new nMa;h=aR(a,b);PN(f,
  1662. (NN(),FJa),h);f.g=d;f.f=e;f.c=!0;d=c;break;case 49:ZQ(a,aN);e=mR(a);ZQ(a,bN);f=c=new pMa;h=aR(a,b);PN(f,(NN(),MJa),h);f.g=d;f.f=e;f.c=!0;d=c;break;case 2:e=jR(a);f=c=new oMa;h=aR(a,b);PN(f,(NN(),BJa),h);f.g=d;f.f=e;f.c=!0;d=c;break;case 109:case 106:zR(a,"template literal cannot be used within optional chaining",[]);break;default:zR(a,"syntax error: %s not allowed in optional chain",[dR(a)])}c=a;f=d;for(d=YQ(c);TTa(c);){if(q(dR(c),wN)||q(dR(c),vN)){zR(c,"template literal cannot be used within optional chaining",
  1663. []);break}switch(dR(c).a){case 51:ZQ(c,cN);var k=jR(c);e=h=new oMa;var m=aR(c,d);PN(e,(NN(),BJa),m);e.g=f;e.f=k;e.c=!1;f=h;break;case 47:k=STa(c);e=h=new nMa;m=aR(c,d);PN(e,(NN(),FJa),m);e.g=f;e.f=k;e.c=!1;f=h;break;case 49:ZQ(c,aN);k=mR(c);ZQ(c,bN);e=h=new pMa;m=aR(c,d);PN(e,(NN(),MJa),m);e.g=f;e.f=k;e.c=!1;f=h;break;default:throw jb("unexpected case: "+r(dR(c))).s;}}d=f}c=d}return c}function RTa(a){return VQ(a,(W(),ZM))||VQ(a,(W(),aN))||VQ(a,(W(),cN))||VQ(a,(W(),wN))||VQ(a,(W(),vN))}
  1664. function TTa(a){return VQ(a,(W(),ZM))||VQ(a,(W(),aN))||VQ(a,(W(),cN))||VQ(a,(W(),wN))||VQ(a,(W(),vN))}function UTa(a){return VQ(a,(W(),aN))||VQ(a,(W(),cN))||VQ(a,(W(),wN))||VQ(a,(W(),vN))}
  1665. function QTa(a){if(VQ(a,(W(),IM))){if(XQ(a,1,(W(),cN))){var b=YQ(a);ZQ(a,(W(),IM));ZQ(a,cN);gR(a,"target");var c=new gMa;a=aR(a,b);PN(c,(NN(),wKa),a);return c}var d=YQ(a);ZQ(a,(W(),IM));VQ(a,pN)&&zR(a,"Optional chaining is forbidden in `new?.target` contexts.",[]);c=QTa(a);VQ(a,pN)&&zR(a,"Optional chaining is forbidden in construction contexts.",[]);var e=null;VQ(a,ZM)&&(e=STa(a));b=new fMa;a=aR(a,d);PN(b,(NN(),CJa),a);b.f=c;b.c=e;return b}c=YQ(a);vTa(a)?(e=YQ(a),ZQ(a,(W(),PM)),ZQ(a,cN),gR(a,"meta"),
  1666. b=new OLa,e=aR(a,e),PN(b,(NN(),zKa),e)):KSa(a)?(b=YQ(a),OSa(a),(e=VQ(a,(W(),iN)))&&ZQ(a,iN),d=eO($N(YN((XN(),VN)),bTa(a))),yR(a,d,e?(zQ(),yQ):(zQ(),xQ)),b=fO(d,aR(a,b))):XQ(a,0,(W(),FM))?(b=YQ(a),ZQ(a,(CM(),zM).f),e=!!qR(a,(W(),iN)),d=$N(YN((XN(),VN)),bTa(a)),yR(a,d,e?(zQ(),wQ):(zQ(),vQ)),b=fO(d,aR(a,b))):b=lTa(a);for(;UTa(a);)switch(dR(a).a){case 49:ZQ(a,(W(),aN));e=mR(a);ZQ(a,bN);b=$La(aR(a,c),b,e);break;case 51:ZQ(a,(W(),cN));e=jR(a);b=YLa(aR(a,c),b,e);break;case 109:case 106:b=mTa(a,b);break;
  1667. default:throw Ha("unreachable").s;}return b}function STa(a){var b=YQ(a),c=Mj();for(ZQ(a,(W(),ZM));VTa(a);)if(c.W(WTa(a)),!VQ(a,$M)){var d=ZQ(a,eN);VQ(a,$M)&&(vR(a,(KI(),vK)),a.b.b||fR(a,d,"Invalid trailing comma in arguments list",[]))}ZQ(a,$M);a=aR(a,b);c=c.fa();b=new JKa;PN(b,(NN(),DJa),a);b.c=c;return b}function VTa(a){return VQ(a,(W(),uN))||oTa(a)}function WTa(a){return VQ(a,(W(),uN))?ZSa(a):DR(a)}function TSa(a){return VQ(a,(W(),aN))||VQ(a,(W(),XM))}
  1668. function CR(a,b){switch(dR(a).a){case 49:var c=YQ(a),d=Mj();for(ZQ(a,(W(),aN));VQ(a,eN)||oTa(a);)if(VQ(a,eN)){var e=YQ(a);ZQ(a,eN);d.W(hO(aR(a,e)))}else if(d.W(XTa(a,b)),VQ(a,eN))ZQ(a,eN);else break;VQ(a,uN)&&(vR(a,(KI(),YJ)),d.W(SSa(a,b)));ZQ(a,bN)?(b=d.fa(),d=new CKa,a=aR(a,c),PN(d,(NN(),PJa),a),d.c=b,a=d):a=gO(aR(a,YQ(a)));return a;default:c=YQ(a);d=Mj();for(ZQ(a,(W(),XM));tR(a,0);)if(d.W(YTa(a,b)),VQ(a,eN))ZQ(a,eN);else break;VQ(a,uN)&&(vR(a,(KI(),xK)),e=YQ(a),ZQ(a,uN),b=ZTa(a,b),d.W(lMa(aR(a,
  1669. e),b)));ZQ(a,YM);b=d.fa();d=new jMa;a=aR(a,c);PN(d,(NN(),QJa),a);d.c=b;return d}}function SSa(a,b){var c=YQ(a);ZQ(a,(W(),uN));b=ZTa(a,b);var d=new SLa;a=aR(a,c);PN(d,(NN(),LN),a);d.c=b;return d}function ZTa(a,b){b=$Ta(a,b);VQ(a,(W(),rN))&&zR(a,"A default value cannot be specified after '...'",[]);return b}
  1670. function YTa(a,b){var c=YQ(a);if(q(dR(a),(W(),aN))){var d=xR(a);ZQ(a,(W(),qN));b=XTa(a,b);return cLa(aR(a,c),d,b)}if(WQ(a,0)){if(d=jR(a),!VQ(a,(W(),qN)))return b=d,BM(b.c,!1)&&zR(a,"cannot use keyword '%s' here.",[d]),VQ(a,(W(),rN))?(d=LLa(aR(a,c),b),ZQ(a,(W(),rN)),b=DR(a),nLa(aR(a,c),d,b)):DMa(aR(a,c),d,null)}else d=wR(a).c;ZQ(a,(W(),qN));b=XTa(a,b);return DMa(aR(a,c),d,b)}function XTa(a,b){var c=YQ(a);b=$Ta(a,b);if(VQ(a,(W(),rN))){ZQ(a,(W(),rN));var d=DR(a);b=nLa(aR(a,c),b,d)}return b}
  1671. function $Ta(a,b){if(TSa(a))var c=CR(a,b);else c=PTa(a),AKa(c)||zR(a,"invalid assignment target",[]),q(b,(FQ(),EQ))&&!q(c.a,(NN(),JN))&&zR(a,"Only an identifier or destructuring pattern is allowed here.",[]);return c}function fSa(a){var b=YQ(a);ZQ(a,(W(),nHa));var c=cR(a);ZQ(a,rN);var d=oR(a);$Q(a);var e=new SMa;a=aR(a,b);PN(e,(NN(),sKa),a);e.c=c;e.f=d;return e}function gSa(a){var b=YQ(a);ZQ(a,(W(),mHa));var c=jSa(a),d=new iNa;a=aR(a,b);PN(d,(NN(),tKa),a);d.c=c;return d}
  1672. function jSa(a){switch(dR(a).a){case 14:var b=lSa(a);$Q(a);break;case 29:b=nSa(a,!1,!0);break;case 31:b=eSa(a);break;case 112:case 113:b=hSa(a,!0);break;default:b=pSa(a),$Q(a)}return b}function $Q(a){VQ(a,(W(),dN))?ZQ(a,(W(),dN)):hR(a,0)||zR(a,"Semi-colon expected",[])}function hR(a,b){return(0==b?pR(a).b.a.b>a.c.b:IQ(a.a,b).b.a.b>IQ(a.a,b-1).b.b.b)||XQ(a,b,(W(),dN))||XQ(a,b,(W(),YM))||XQ(a,b,(W(),VM))}function qR(a,b){return VQ(a,b)?ZQ(a,b):null}
  1673. function bR(a){var b=FR(a,0),c;if(!(c=q((W(),WM),b)||a.b.a&&FGa(b))){if(a=!a.b.f)a:switch(CM(),b.a){case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:a=!0;break a;default:a=!1}c=a}return c}function WQ(a,b){a=FR(a,b);return q((W(),WM),a)||DM(a)}function zSa(a){return wn((W(),gHa),A([fHa,eHa],UM,ZHa,1)).B(dR(a))}function bTa(a){return bR(a)?jR(a):null}function cR(a){if(bR(a))return jR(a);lR(a,pR(a),(W(),WM));return WQ(a,0)?jR(a):null}
  1674. function uTa(a){switch(pR(a).a.a){case 103:case 102:return eR(a);default:return jR(a)}}function jR(a){var b=eR(a);if(q(b.a,(W(),WM)))return b;if(DM(b.a))return GIa(b.b,HGa(b.a).toString());lR(a,b,(W(),WM));return null}function ZQ(a,b){var c=eR(a);return q(c.a,b)?c:(lR(a,c,b),null)}function lR(a,b,c){fR(a,b,"'%s' expected",[c])}function YQ(a){return pR(a).b.a}function aR(a,b){return FN(b,a.c)}function eR(a){var b=zRa(a.a);a.c=b.b.b;return b}function VQ(a,b){return XQ(a,0,b)}
  1675. function XQ(a,b,c){return q(FR(a,b),c)}function dR(a){return FR(a,0)}function FR(a,b){return IQ(a.a,b).a}function pR(a){return IQ(a.a,0)}function fR(a,b,c,d){b?pQ(a.g,b.b.a,c,d):zR(a,c,d)}function WSa(a,b,c,d){b?pQ(a.g,b.b.a,c,d):zR(a,c,d)}function zR(a,b,c){pQ(a.g,HQ(a.a),b,c)}function vR(a,b){a.u=$K(a.u,b)}var GR,aUa,bUa,cUa;function dUa(){eUa();fUa();return cUa}
  1676. function fUa(){if(!GR){var a=mra("com.google.javascript.jscomp.parsing.ParserConfig");GR=gUa($x(a,"jsdoc.annotations"));aUa=gUa($x(a,"jsdoc.suppressions"));bUa=gUa($x(a,"jsdoc.primitives"));cUa=gUa($x(a,"compiler.reserved.vars"))}}function gUa(a){var b=kq(44),c=(Rfa(),Pfa);G(c);return nm(lq(Rla(b.a,b.c,c,b.b),a))}
  1677. function mQa(a,b,c,d){eUa();var e=a.ub();try{var f=new $Ha;f.b=e;f.a=b;var h=q(c.f,(uM(),rFa)),k=new RQa;k.b=!1;k.f=d;k.c=h;var m=q(c.c,vM),p=null;switch(c.a.a){case 11:p=(rQ(),cRa);break;case 0:p=(rQ(),WQa);break;case 1:p=(rQ(),XQa);break;case 2:case 3:p=(rQ(),YQa);break;case 4:case 5:case 6:case 7:p=(rQ(),ZQa);break;case 8:p=(rQ(),$Qa);break;case 9:p=(rQ(),aRa);break;case 10:p=(rQ(),bRa)}var t=G(p),v=new dRa;v.a=q(t,(rQ(),cRa));v.c=!(q(t,WQa)||q(t,XQa));v.b=q(t,ZQa)||q(t,$Qa)||q(t,bRa);v.f=m;v.g=
  1678. q(t,WQa);var C=new ZRa;$Ra(C,v,k,f,0,!1);try{for(var J=YQ(C),K,Ca=Mj();!VQ(C,(W(),VM));)Ca.W(aSa(C));K=Ca.fa();ZQ(C,(W(),VM));var Wa=C.o.a.fa(),Ma=new BMa,Vb=aR(C,J);PN(Ma,(NN(),IIa),Vb);Ma.f=K;Ma.c=Wa;var sc=Ma}catch(fe){throw fe=va(fe),fe.s;}f=null;var gc=Ll(),tc=C.u;if(sc&&(!k.a||h)){h=sc;wO();var Qb=new xQa,Wb=h.c;Qb.$=ef();Qb.o=null;Qb.v=!1;Qb.U=!1;Qb.c=(uI(),vI);Qb.ja=b;Qb.ta=Wb.h();Qb.za=Wb.h();Qb.u=AQa(Qb.ta);Qb.A=HQa(Qb.za);Qb.Ha=a;var Rd=zw((H(),Ot));vD(Rd,Qb.Ha);Qb.g=Rd;Qb.pa=HP(!q(c.b,
  1679. mM));Qb.b=a?a.ub():null;Qb.f=c;Qb.a=d;var Ne=new nNa;Ne.a=Qb;Qb.K=Ne;q(c.c,vM)?Qb.F=yQa:q(c.a,(tM(),qM))?Qb.F=null:Qb.F=zQa;var Jc=VNa(Qb.K,h);tO(Jc,h);if(h.c)for(var kd=h.c.h();kd.i();){var Cc=kd.j();if((q(Cc.b,(kO(),xMa))||q(Cc.b,(kO(),zMa)))&&!Qb.$.B(Cc)){a=Qb;b=Cc;var pc=GQa(a,b);a.$.add(b);FQa(a,pc)}}var Db=KP(Qb.pa);Db&&Gx(Jc,Db);if(Qb.o){if(nG(Jc)&&null!=TD(nG(Jc))){var Rb=IP(Qb.o),Uc=TD(nG(Jc)),ad=Rb.a;nE(ad);ad.a.$=Uc;Rb.b=!0;Qb.o=KP(Rb)}Gx(Jc,Qb.o)}kd=Jc;for(var rf=Uk();kd;){pc=Qb;Cc=kd;
  1680. EQa(pc,Cc);Db=pc;Rb=Cc;if(lH(Rb)||sH(Rb)){var uc=Rb.a;if(uc){for(var Nc=Rb.m();!KH(Nc)||!DQa(Nc,uc);){if(P(Nc)||tC(Nc)){Db.a.a(CN('undefined label "%s"',[uc.l()]),Db.b,XA(Rb),YA(Rb));break}Nc=Nc.m()}KH(Nc)&&DQa(Nc,uc)&&sH(Rb)&&!CQa(O(Nc))&&Db.a.a("continue can only use labeles of iteration statements",Db.b,XA(Rb),YA(Rb))}else if(sH(Rb))for(var Xb=Rb.m();!CQa(Xb);){if(P(Xb)||tC(Xb)){Db.a.a("continue must be inside loop",Db.b,XA(Rb),YA(Rb));break}Xb=Xb.m()}else for(var Nb=Rb.m();!BQa(Nb);){if(P(Nb)||
  1681. tC(Nb)){Db.a.a("unlabelled break must be inside loop or switch",Db.b,XA(Rb),YA(Rb));break}Nb=Nb.m()}}a:if(Db=pc,Rb=Cc,Ux(Rb)){for(Uc=Rb;Uc=Uc.m();)if(P(Uc))break a;Db.a.a("return must be inside function",Db.b,XA(Rb),YA(Rb))}a:if(Db=pc,Rb=Cc,q(Rb.c,opa)){for(Uc=Rb;Uc=Uc.m();)if(P(Uc))break a;Db.a.a("new.target must be inside a function",Db.b,XA(Rb),YA(Rb))}Db=pc;Rb=Cc;if(KH(Rb))for(var ic=Rb.a,Vc=Rb.m();Vc&&!P(Vc);Vc=Vc.m())if(KH(Vc)&&DQa(Vc,ic)){Db.a.a(CN('Duplicate label "%s"',[ic.l()]),Db.b,XA(Rb),
  1682. YA(Rb));break}if(P(Cc)&&Hw(Cc.m())&&!P(gG(Cc))){var sd=(KI(),$J);pc.c=$K(pc.c,sd);JI(pc.f.a.f,sd)||pc.a.b(KQa(sd),pc.b,XA(Cc),YA(Cc))}var Ye=kd.b,Hf=kd.a;Hf?(Ye&&rf.Ea(Ye),kd=Hf):kd=Ye?Ye:rf.Dj()}E(rf.D());Qb.Da=Jc;f=Qb.Da;tc=YK(tc,Qb.c);vF(f,(kx(),XE),tc);!q(c.b,mM)&&(gc=C.o.a.fa())}var Ie=new SQa;c=gc;var Be=C.v;Ie.a=f;Ie.c=c;Ie.f=tc;Ie.b=Be;return Ie}catch(fe$1){throw C=fe$1=va(fe$1),Ia('Exception parsing "'+r(e)+'"',C).s;}}function eUa(){eUa=function(){};bUa=cUa=aUa=GR=null}function hUa(){}
  1683. l(hUa,n);g=hUa.prototype;
  1684. g.Pb=function(a){if(!this.b){var b=new PDa,c=a.rf;b.c=w();b.f=w();b.g=c;try{var d=this.a,e=this.a.b;a:{var f=this.a.Vg()?(Lza(),Jza):(Lza(),Iza);if(!(a.Ob&&a.ke||a.Ob)){var h=iUa(a,a.a.a),k=jUa(a.a)?(wM(),vM):(wM(),uFa);a.Ob=kUa(a,h,k);a.ke=cd(h,(tM(),qM))?kUa(a,(tM(),eFa),k):a.Ob}switch(f.a){case 1:var m=a.ke;break a;default:m=a.Ob}}var p=mQa(d,e,m,b);this.b=p.a;if(a.a.o){var t=this.a.ub(),v=p.c;if(!a.a.o)throw xb("addComments may only be called in IDE mode.").s;a.Tc.C(t,v)}if(null!=p.b&&a.a.Ln){var C=
  1685. this.a,J=p.b;if(zi(J,"data:application/json;base64,")){lr();var K=Vma;try{var Ca=J.substr(29);Ca=K.fl(Ca);var Wa=Qaa(Za(Cb(K.a.a),Cb(le(Ca))).add(hb(7)),hb(8)).a;var Ma=za([Wa],rc,vc,0),Vb=K.El(Ma,Ca);if(Vb==Ma.length)var sc=Ma;else{var gc=za([Vb],rc,vc,0);Di(Ma,0,gc,0,Vb);sc=gc}var tc=sc}catch(pc){pc=va(pc);if(pc instanceof Tma){var Qb=new kb;uaa(Qb,pc);Qb.a(Error(Qb));throw Qb.s;}throw pc.s;}c=tc;var Wb=(ena(),dna);var Rd=Pg(Wb.c(c,c.length));var Ne=r(C.ub())+".inline.map";var Jc=ZL(Ne,Rd)}else Jc=
  1686. null;if(Jc){var kd=this.a.ub();UDa();var Cc=new QDa;Cc.c=null;Cc.a=!1;Cc.b=Jc;a.Lb.C(kd,Cc);a.a.pe&&a.ta&&lUa(a,Cc)}}}catch(pc$2){if(pc$2=va(pc$2),Fa(pc$2))kd=pc$2,X(a,UL((gJ(),Rza),A([this.a.ub(),kd.b],B,y,1)));else throw pc$2.s;}this.b?(kd=this.b,Cc=new mUa,Cc.b=a,Cc.a=!1,Cc.H(null,kd)):this.b=Qw();b.c.D()&&b.f.D()||(Wl(b.c),Wl(b.f),a=new ODa,vF(this.b,(kx(),dxa),a));vD(this.b,this.a);a=this.c;vF(this.b,(bF(),QF),a)}return G(this.b)};g.tk=function(){this.b=null};g.gd=function(){return this.c};
  1687. g.Cb=function(){return this.a};g.ba=!0;function nUa(){}l(nUa,n);function oUa(){oUa=function(){};Xj("module","goog")}function pUa(){}var qUa;l(pUa,$L);function rUa(a,b){sUa();oUa();var c=new tUa;if(null==b)throw rb("Null name").s;c.f=b;if(null==a)throw rb("Null pathRelativeToClosureBase").s;c.g=a;return uUa(vUa(wUa(xUa(yUa(zUa(c,Ll()),Ll()),Ll()),Vj()),!1),!1)}function sUa(){sUa=function(){};qUa=AUa(rUa("",""))}function BUa(){this.b=this.a=!1}l(BUa,pUa);g=BUa.prototype;g.eb=function(){return this.f};
  1688. g.Ll=function(){return this.g};g.He=function(){return this.o};g.Yd=function(){return this.u};g.Wf=function(){return this.v};g.nh=function(){return this.c};g.Dg=function(){return this.a};g.kh=function(){return this.b};g.toString=function(){return"SimpleDependencyInfo{name="+r(this.f)+", pathRelativeToClosureBase="+r(this.g)+", provides="+r(this.o)+", requires="+r(this.u)+", typeRequires="+r(this.v)+", loadFlags="+r(this.c)+", hasExternsAnnotation="+this.a+", hasNoCompileAnnotation="+this.b+"}"};
  1689. g.I=function(a){return q(a,this)?!0:a instanceof pUa?q(this.f,a.eb())&&li(this.g,a.Ll())&&this.o.I(a.He())&&this.u.I(a.Yd())&&this.v.I(a.Wf())&&this.c.I(a.nh())&&this.a==a.Dg()&&this.b==a.kh():!1};g.P=function(){var a=1000003^Yg(this.f);a=1000003*a^Yg(this.g);a=1000003*a^this.o.P();a=1000003*a^this.u.P();a=1000003*a^this.v.P();a=1000003*a^this.c.P();a=1000003*a^(this.a?1231:1237);return a=1000003*a^(this.b?1231:1237)};function tUa(){}l(tUa,nUa);function zUa(a,b){a.o=Wl(b);return a}
  1690. function yUa(a,b){a.u=Wl(b);return a}function xUa(a,b){a.v=Wl(b);return a}function wUa(a,b){a.c=il(b);return a}function vUa(a,b){a.a=b;return a}function uUa(a,b){a.b=b;return a}
  1691. function AUa(a){var b="";null==a.f&&(b=r(b)+" name");null==a.g&&(b=r(b)+" pathRelativeToClosureBase");a.o||(b=r(b)+" provides");a.u||(b=r(b)+" requires");a.v||(b=r(b)+" typeRequires");a.c||(b=r(b)+" loadFlags");null==a.a&&(b=r(b)+" hasExternsAnnotation");null==a.b&&(b=r(b)+" hasNoCompileAnnotation");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.f;var c=a.g,d=a.o,e=a.u,f=a.v,h=a.c,k=a.a;a=a.b;sUa();var m=new BUa;m.f=b;m.g=c;m.o=d;m.u=e;m.v=f;m.c=h;m.a=k;m.b=a;return m}
  1692. function HR(){this.A=!1}l(HR,$L);function CUa(a,b){var c=new HR;DUa(c,a,a.gd(),b);return c}function DUa(a,b,c,d){a.v=w();a.u=w();a.F=w();a.o=w();a.A=!1;a.c=(eM(),aM);a.f=b;a.K=c;d&&EUa(a)}function FUa(a){var b=new HR,c=new hUa;c.c=Yr(a.ub());c.a=a;DUa(b,c,c.gd(),!1);return b}function GUa(a){var b=new HR,c=new hUa;c.c=Yr(a.ub());c.a=a;DUa(b,c,c.gd(),!0);return b}g=HR.prototype;g.gd=function(){return this.K};g.eb=function(){return this.K.a};g.Ll=function(){throw wb().s;};
  1693. g.Pb=function(a){a=G(this.f.Pb(a));E(tC(a));G(aG(a));return a};g.tk=function(){this.f.tk()};g.Cb=function(){return this.f.Cb()};g.Yd=function(){return this.A?Wl(this.F):IR(this).Yd()};g.Wf=function(){return IR(this).Wf()};g.He=function(){return IR(this).He()};g.Dg=function(){return IR(this).Dg()};g.kh=function(){return IR(this).kh()};function HUa(a){return IUa(a.b?a.b.He():Ll(),a.u)}function JR(a,b){a.F.B(b)||a.F.add(b)}
  1694. function IR(a){if(!a.b){Mi(a.g,"Expected setCompiler to be called first: %s",a);Mi(JUa(a.g),"Expected compiler to call an error manager: %s",a);var b=KR(a);var c=new bCa;c.c=Xh();c.b=w();c.a=w();c.g=w();c.f=b;if(b=a.Pb(a.g)){cCa(c,b,null);D(tC(b));var d=aF(b,(kx(),XE));d&&(d=IBa(d),"es3"===d||c.c.C("lang",d));b=nG(b);c=AUa(uUa(vUa(wUa(xUa(yUa(zUa(rUa("",""),c.b),c.a),c.g),c.c),!!b&&Ay(b,32768)),!!b&&Ay(b,131072)))}else c=(sUa(),qUa);a.b=c}a.v.D()&&a.u.D()||(a.b=AUa(uUa(vUa(wUa(xUa(yUa(zUa(rUa(a.eb(),
  1695. a.eb()),IUa(a.b.He(),a.u)),IUa(a.b.Yd(),a.v)),a.b.Wf()),a.b.nh()),a.b.Dg()),a.b.kh())),a.v.ia(),a.u.ia());return a.b}function iM(a,b){D(!b||!a.a||q(a.a,b));a.a=b}function pL(a){return a.f&&a.f.Cb()?a.f.Cb().Vg():!1}function EUa(a){if(a.f&&a.f.Cb()){var b=(gs(),fs);a.f.Cb().f=b}}g.toString=function(){return this.eb()};g.nh=function(){return IR(this).nh()};function IUa(a,b){return Nj().fb(a).fb(b).fa()}function KR(a){a.U||(a.U=sDa(a.g.$,a.eb()));return a.U}g.ba=!0;function KUa(a){this.a=a}l(KUa,n);
  1696. KUa.prototype.f=function(a){var b;return b=this.a,b(a)};function LUa(){}l(LUa,n);function MUa(a){var b=new LUa;b.a=a;return b}function NUa(a,b){a=a.Fc().Ma();return pB(a,G(b.b))?sB(a,G(b.b)):pB(a,G(b.F))?sB(a,G(b.F)):pB(a,G(b.g))?sB(a,G(b.g)):pB(a,G(b.K))?sB(a,G(b.K)):qy(b,(I(),ew))}
  1697. function OUa(a,b){var c=w();if(jy(a))for(a=Zy(a.nb()).h();a.i();){var d=a.j();d=d.rc()?d.rc():d;var e=vy(d,qy(b,(I(),Hv))),f=vy(d,qy(b,rv));if(!e&&!f)return MUa(null);e=f?G(b.g):G(b.b);c.add(sB(d.Ma(),e))}else{a=a.rc()?a.rc():a;d=vy(a,qy(b,(I(),Hv)));e=vy(a,qy(b,rv));if(!d&&!e)return MUa(null);d=e?G(b.g):G(b.b);c.add(sB(a.Ma(),d))}return MUa(oB(b,c))}function PUa(){}l(PUa,iL);function jL(a,b){var c=new PUa;c.a=a;c.b=b;return c}PUa.prototype.ze=function(){return this.a};PUa.prototype.od=function(){return this.b};
  1698. function LR(){this.g=0}l(LR,UBa);function QUa(a,b,c,d,e,f){Fi(-1<=e,Fc(e));a.o=G(b);a.a=c;a.b=d;a.g=e;a.c=f;if(c)switch(c.c.a){case 116:case 32:case 112:break;default:throw ua("Invalid name node "+r(c)).s;}}LR.prototype.toString=function(){return"Var "+r(this.va())+" @ "+r(this.a)};LR.prototype.ba=!0;function MR(){this.g=0;this.A=this.u=this.v=!1}var RUa;l(MR,UBa);
  1699. function SUa(a,b,c,d,e,f,h,k){Fi(-1<=h,Fc(h));a.o=G(c);a.a=d;a.b=f;a.g=h;a.c=k;a.v=!1;a.u=!1;d&&Ii(RUa.B(d.c),"Invalid name node token %s",d.c);a.f=e;a.A=b}MR.prototype.qa=function(){return this.f};MR.prototype.Vb=function(){return this.A};function TUa(a){return a.c?a.c.eb():"<non-file>"}MR.prototype.toString=function(){return"Var "+r(this.va())+"{"+r(this.f)+"}"};function UUa(){UUa=function(){};aCa();RUa=zn((H(),As),A([Es,ju,Nt,ku,vs,ut,Tt,Qt,Pt,$t,nu],hs,Qu,1))}MR.prototype.ba=!0;
  1700. function NR(){}l(NR,n);function VUa(a,b){a.a=Uf();a.u=Kia();a.b=G(b)}g=NR.prototype;g.toString=function(){return"Scope@"+r(this.b)};g.on=function(){throw pb("untyped() called, but not an untyped scope.").s;};g.nn=function(){throw pb("typed() called, but not a typed scope.").s;};g.ka=function(){return this.b};function OR(a){for(;null!=a.m();)a=a.m();return a}g.Ge=function(){return this.m()};function PR(a,b){E(q(b.ya(),a));E(a.a.get(b.va()).I(b));a.a.Ka(b.va())}
  1701. function WUa(a,b,c){Ji(QR(a,b)||XUa(a,b),"Illegal shadow: %s",c.N());a.a.C(b,c)}g.Lk=function(a){return!!a&&RBa(a,this)};function QR(a,b){return a.a.X(b)||a.Lk(SBa(b))}function RR(a,b){for(;null!=a;a=a.m())if(QR(a,b))return!0;return!1}function YUa(a,b){return a.Lk(b)?a.u.gb(b,u(function(c){return a.Wl(c)})):null}g.Mb=function(a){var b=this.a.get(a);return null!=b?b:YUa(this,SBa(a))};g.ob=function(a){return this.T(a)};g.T=function(a){for(var b=this;null!=b;b=b.m()){var c=b.Mb(a);if(null!=c)return c}return null};
  1702. function XUa(a,b){var c;(c=!QR(a,b))&&!(c=!SR(a)||!QR(a.m(),b))&&(a=a.T(b),c=null!=a&&!!a.N()&&P(a.N().m()));return c}function TR(a){return a.a.values()}g.Ee=function(){return tf(this.a.values())};function nL(a){return null==a.m()}function UR(a){return null!=a.m()}function SR(a){return VR(a.ka())}function yL(a){return P(a.ka())}function fL(a){return NH(a.ka())}function ZUa(a){return yL(a)||SR(a)||nL(a)||fL(a)}function WR(a){for(;null!=a;){if(ZUa(a))return a;a=a.m()}return null}
  1703. function YR(a){a=WR(a);ZR(a.b)&&(a=a.m(),E(!ZR(a.b)));return a}function $Ua(a,b){G(b);Fi($R(a.b),a.b);Ii(!q(a.b,b.ka()),"rootNode should not be the parent's root node: %s",a.b)}function aVa(a){Fi($R(a.b)||tC(a.b)||sC(a.b),a.b)}function aS(a,b){return q(a,b)||q(YR(a),YR(b))}g.$d=function(a){return by(this,a)};g.ba=!0;function bS(){this.g=0;this.c=!1}l(bS,NR);function bVa(a,b){var c=new bS;VUa(c,a);aVa(c);c.o=null;c.g=0;c.c=b;c.f=ef();return c}g=bS.prototype;g.nn=function(){return this};g.hf=function(){return this.g};
  1704. g.m=function(){return this.o};g.Xc=function(){var a=this.ka();return nL(this)?Uy(a.f):gL(a)?(a=a.f)&&iy(a)?a.ha().vb():null:this.m().Xc()};function cS(a,b,c,d,e,f){E(null!=b&&!te(b));a.f.sa(b);var h=a.a.wa();UUa();var k=new MR;SUa(k,f,b,c,d,a,h,e);WUa(a,b,k);return k}g.Wl=function(a){if(nL(this)||cd(a,(hL(),eL)))var b=null;else{b=a.f;a=cVa(this,a);UUa();var c=new MR;SUa(c,!1,b,null,a,this,-1,null);b=c}return b};g.Lk=function(a){return!!a&&!cd(a,(hL(),eL))&&RBa(a,this)};
  1705. function cVa(a,b){switch(b.a){case 0:return(a=OR(a).T("arguments"))&&oL(a)?a.qa():null;case 3:return a.Xc();case 2:return(a=Uy(a.Xc()))?a.cd()?(a=a.Ic())?Tz(a):null:a.Va():null;case 1:throw jb("TypedScopes should not contain an implicit 'exports'").s;}throw ib().s;}function dVa(a){return np(TR(a),Ti(function(b){return!!kL(b)&&!b.qa()&&gx(kL(b))&&!oL(b)}))}
  1706. g.T=function(a){var b=this.Mb(a);if(b)return b;if(!this.m())return null;b=mi(a,46);var c=NR.prototype.T.call(this,0>b?a:ne(a,0,b));return 0>b?c:c?c.ya().Mb(a):OR(this.m()).Mb(a)};g.$d=function(a){return this.Mb(a)||this.f.B(a)?this:this.m()?this.m().$d(a):null};g.Ac=function(a){return Rz(this,a)};g.Fh=!0;function dS(){}l(dS,NR);dS.prototype.on=function(){return this};function eS(a,b,c,d){D(!te(b));E(!a.Mb(b));var e=a.a.wa();aCa();var f=new LR;QUa(f,b,c,a,e,d);WUa(a,b,f)}
  1707. dS.prototype.Wl=function(a){a=a.f;aCa();var b=new LR;QUa(b,a,null,this,-1,null);return b};dS.prototype.$d=function(a){return by(this,a)};function fS(){this.c=0}l(fS,dS);function gS(a){var b=new fS;VUa(b,a);aVa(b);b.f=null;b.c=0;return b}fS.prototype.hf=function(){return this.c};fS.prototype.m=function(){return this.f};fS.prototype.$d=function(a){return by(this,a)};function Tza(){}var eVa;l(Tza,n);function fVa(a){a.a=null;a.b=null;a.c=ij(function(){return null})}
  1708. function Uza(a,b){a.a=b;a.b=hS(a,(I(),ew));a.c=Eka(ij(function(){var c=KB(b,null,"Arguments");return c?c:a.b}))}function Vza(){Sza();var a=new Tza;fVa(a);return a}function iS(a){return GG(cx(a),a)}function gVa(){var a=A([],lx,eI,1);return Pw(a)}function hVa(a){var b=Pw(A([zw((H(),Dt))],lx,eI,1));return dx(a,b)}function iVa(a,b,c,d){return fx(a,b,c,d)}function jVa(a,b,c){E(ax(c));c=Ow((H(),eu),c);a.a&&Q(c,G(b));return c}function jS(a,b){b=ux(b);a.a&&Q(b,hS(a,(I(),$v)));return b}
  1709. function kVa(a,b){b=eF(b);a.a&&Q(b,hS(a,(I(),Pv)));return b}function lVa(a){var b=Rx();a.a&&Q(b,hS(a,(I(),uv)));return b}function mVa(a){var b=Tx();a.a&&Q(b,hS(a,(I(),Ov)));return b}function nVa(a,b){b=Fx(b);a.a&&Q(b,hS(a,(I(),fw)));return b}function oVa(a){return nVa(a,kVa(a,0))}function kS(a,b){var c=Qx();a.a&&Q(c,G(b));return c}function pVa(a,b){var c=Qx();a.a&&Q(c,lS(a,b));return c}function lS(a,b){return a.a?(Ji(P(b),"not a function: %s",b),b=(a=CF(b))?Cra(a):Cra(iya(b)),Li(b.vb(),b)):null}
  1710. function qVa(a,b){var c=rx("$jscomp$async$this");a.a&&Q(c,lS(a,b));return c}function rVa(a,b,c){return Rw(mS(a,b,c.f),c)}function nS(a,b,c){return Ww(mS(a,b,c.f),c)}function sVa(a){var b=rx("arguments");a.a&&Q(b,a.c.f());return b}function mS(a,b,c){b=rx(b);a.a&&Q(b,G(c));return b}function oS(a,b,c){b=rx(b);a.a&&Q(b,hS(a,c));return b}function tVa(a,b){return mS(a,b,a.b)}function pS(a,b,c){var d=rx(c);a.a&&(c=b.T(c),b=null,c&&(c=c.N())&&(b=c.f),b||(b=a.b),Q(d,b));return d}
  1711. function qS(a,b,c){var d=lq(eVa,c);c=G(qp(d,null));d=sp(d);b=pS(a,b,c);return uVa(a,b,d)}function rS(a,b,c){Fi(!b||nL(b),b);var d=mq(eVa,c);E(!d.D());var e=d.G(0);c=rx(e);a.a&&(b=Li(b.T(e),e),Q(c,Li(b.qa(),b)));b=d.Gb(1,d.w());return uVa(a,c,b)}function sS(a,b,c){var d=sx(b,jS(a,c));if(a.a){var e=null,f=b.f;f&&(e=Sy(f,c),e||(e=(e=Uy(f.Fc()))?e.Sa(c):a.b));e||(e=a.b);e.aa()&&"global"===c&&xG(b,"$jscomp")&&(e=hS(a,(I(),kw)));Q(d,e)}return d}
  1712. function uVa(a,b,c){for(c=c.h();c.i();){var d=c.j();b=sS(a,b,d)}return b}function vVa(a,b,c){b=sS(a,b,"prototype");for(var d=0;d<c.length;d++)b=sS(a,b,c[d]);return b}function tS(a,b,c){b=vx(b,c);a.a&&Q(b,a.b);return b}function uS(a,b,c){b=Px(b,c);a.a&&Q(b,c.f);return b}function vS(a,b,c){b=zx(b,c);a.a&&Q(b,c.f);return b}
  1713. function wVa(a,b,c){var d=Cx(b,c);if(a.a){b=Li(b.f,b);c=Li(c.f,c);var e=b.ad();switch(e.a){case 1:Q(d,b);break;case 2:Q(d,c);break;case 3:Q(d,b.uc(c));break;default:Ji(q(e,(lv(),fv)),"unexpected enum value: %s",e),Q(d,hS(a,(I(),hw)))}}return d}function wS(a,b,c){c=xS(b,c);a.a&&(b=Fy(b.f),Q(c,b?HA(b):a.b));return c}function xVa(a,b,c){c=Lqa(b,c);a.a&&(b=b.f,iy(b)?b=Tz(b.ha()):b=hS(a,(I(),ew)),Q(c,b));return c}
  1714. function yVa(a,b){var c=oS(a,"Object",(I(),Uv));c=sS(a,c,"getPrototypeOf");var d=wS(a,c,A([b],lx,eI,1));a.a&&(b=Ey(iya(b)),G(b),b=b.aa()?b:Mi(b.Va(),"null prototype: %s",b),Q(d,b),Q(c,HC(a.a,b,A([hS(a,Tv)],ly,ey,1))));return d}function yS(a,b,c){b=wx(b,c);a.a&&Q(b,c.f);return b}function zS(a,b){b=Kx(b);a.a&&Q(b,zC(a.a,null));return b}function zVa(a,b,c,d){var e=mS(a,"",d);b=Fw(e,b,c);a.a&&(Fi(iy(d),d),Q(b,d));return b}
  1715. function AVa(a,b,c){c=a.a?HC(a.a,c,A([],ly,ey,1)).ha():null;return zVa(a,Iw(A([],lx,eI,1)),b,c)}function BVa(a,b){var c=rx(""),d=Iw(A([],lx,eI,1));E(L(c));E(Gw(d));E(Hw(b)||ax(b));c=Ew((H(),ut),c,d,b);mya(c,!0);a.a&&(a=TB(PA(LA(MA(a.a),iya(b)),Iw(A([],lx,eI,1)))),Q(c,a));return c}function CVa(a,b){Fi(te(b.a.l()),b);E(P(b));var c=ox((H(),$t),"constructor");M(c,b);a.a&&Q(c,b.f);return c}function DVa(a,b,c){b=Nqa(b,c);a.a&&Q(b,hS(a,(I(),uv)));return b}
  1716. function EVa(a,b,c,d){b=yx(b,c,d);a.a&&Q(b,Yy(a.a,A([c.f,d.f],ly,ey,1)));return b}function FVa(a,b){b=Uqa(b);a.a&&Q(b,MC(a.a,Lz(a.a,(I(),pv)),A([hS(a,ew)],ly,ey,1)));return b}function GVa(a,b,c){c=qS(a,c,"$jscomp.makeAsyncIterator");if(a.a&&!c.f.aa()){var d=OUa(b.f,a.a);Q(c,AS(a,c.f,Ml(d.a?d.a:a.b)))}return wS(a,c,A([b],lx,eI,1))}function AS(a,b,c){c=Ny(a.a.c,b.Ma().a,c);a=Ty(a.a,c,!1,!1,!1);return b.La(a)}
  1717. function hS(a,b){Li(a.a,"registry is null");return Mi(qy(a.a,b),"native type not found: %s",b)}function Sza(){Sza=function(){};eVa=Sla()}function BS(a){this.a=a}l(BS,n);BS.prototype.H=function(a,b){var c=this.a;c(a,b)};function HVa(){}l(HVa,n);function IVa(a,b){var c=new HVa;c.a=a;c.b=b;return c}function JVa(){}l(JVa,Id);function KVa(){var a=new JVa;a.a=[];return a}JVa.prototype.Y=function(){return qd(this)};JVa.prototype.S=function(){return ld(this)};function CS(){}l(CS,n);
  1718. function LVa(a,b,c,d){a.Wm(b,c,d)||a.Pf(b,c,d)}CS.prototype.Ml=function(a){return this.Rm(a)};function DS(a,b){a=a.Ub(b);if(null==a)throw ua(r(b)+" does not exist in graph").s;return a}CS.prototype.Hm=function(){for(var a=this.Bd().h();a.i();)a.j().nc(null)};function MVa(a,b){a.Ea(KVa(b.w()));for(b=b.h();b.i();){var c=b.j();a.Na().add(IVa(c,c.sb()));c.nc(null)}}function NVa(a){for(a=a.Ta().h();a.i();){var b=a.j();b.a.nc(b.b)}}function OVa(){}l(OVa,CS);
  1719. OVa.prototype.Wm=function(a,b,c){var d;(d=PVa(this,a,ik(b),c))||(d=PVa(this,c,ik(b),a));return d};function QVa(){}l(QVa,n);function RVa(a){var b=new QVa;b.b=w();b.a=a;return b}QVa.prototype.f=function(a){a=this.a.Ub(a);for(var b=this.b.h();b.i();){var c=b.j();if(this.a.Qm(c.a()).B(a))return!1}return!0};QVa.prototype.c=function(a){this.b.add(DS(this.a,a))};function ES(){}l(ES,n);ES.prototype.a=function(){return this.f};
  1720. ES.prototype.sb=function(){throw xb("Graph initialized with node annotations turned off").s;};ES.prototype.nc=function(){throw xb("Graph initialized with node annotations turned off").s;};ES.prototype.toString=function(){return r(this.f)};function SVa(){}l(SVa,n);function TVa(a,b,c){var d=new SVa;d.c=b;d.b=a;d.a=c;return d}g=SVa.prototype;g.mf=function(){return this.c};g.sb=function(){throw xb("Graph initialized with edge annotations turned off").s;};
  1721. g.nc=function(){throw xb("Graph initialized with edge annotations turned off").s;};g.toString=function(){return r(this.b)+" -> "+r(this.a)};g.Eg=function(){return this.b};g.Ek=function(){return this.a};function UVa(){}l(UVa,SVa);function VVa(a,b,c){var d=new UVa;d.c=b;d.b=a;d.a=c;return d}UVa.prototype.sb=function(){return this.f};UVa.prototype.nc=function(a){this.f=a};function WVa(){}l(WVa,ES);WVa.prototype.sb=function(){return this.g};WVa.prototype.nc=function(a){this.g=a};
  1722. function FS(){this.o=this.u=!1}l(FS,OVa);g=FS.prototype;g.Yl=function(){return RVa(this)};function XVa(){var a=new FS;a.c=Uf();a.u=!1;a.o=!1;return a}g.Pf=function(a,b,c){a=DS(this,a);c=DS(this,c);b=this.o?VVa(a,b,c):TVa(a,b,c);a.b.add(b);c.c.add(b)};function YVa(a,b,c,d){a=a.o?VVa(b,c,d):TVa(b,c,d);b.b.add(a);d.c.add(a)}g.Bd=function(){return tf(this.c.values())};g.Ub=function(a){return this.c.get(a)};function ZVa(a,b){a=DS(a,b);return qf(a.b)}
  1723. g.se=function(a){var b=this;return this.c.gb(a,u(function(c){if(b.u){var d=new WVa;d.c=w();d.b=w();d.f=c;c=d}else d=new ES,d.c=w(),d.b=w(),d.f=c,c=d;return c}))};g.Nm=function(){for(var a=w(),b=this.c.values().h();b.i();){var c=b.j();a.na(c.b)}return qf(a)};function $Va(a,b,c){var d=a.b,e=d.w(),f=c.c,h=f.w();if(e<h)for(a=0;a<e;a++){if(f=d.G(a),q(f.a,c)&&b.ca(f.mf()))return!0}else for(c=0;c<h;c++)if(d=f.G(c),q(d.b,a)&&b.ca(d.mf()))return!0;return!1}
  1724. function PVa(a,b,c,d){b=DS(a,b);a=DS(a,d);return $Va(b,c,a)}function aWa(a){G(a);var b=Kd(a.c.w());for(a=a.c.h();a.i();){var c=a.j();b.add(c.b)}return b}function bWa(a){G(a);var b=Kd(a.b.w());for(a=a.b.h();a.i();){var c=a.j();b.add(c.a)}return b}g.Pm=function(){for(var a=w(),b=this.c.values().h();b.i();)for(var c=b.j().b.h();c.i();){var d=c.j();a.add(d)}return a};g.Kl=function(){return this.c.wa()};
  1725. g.Qm=function(a){var b=this.Ub(a);a=Kd(b.c.w()+b.b.w());for(var c=b.c.h();c.i();){var d=c.j();a.add(d.b)}for(b=b.b.h();b.i();)c=b.j(),a.add(c.a);return a};g.Rm=function(a){a=DS(this,a);return a.c.w()+a.b.w()};function cWa(){this.a=0}var GS,HS,IS,JS,dWa;l(cWa,z);function KS(a,b){var c=new cWa;c.b=a;c.a=b;return c}cWa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1726. function LS(){LS=function(){};GS=KS("ON_TRUE",0);HS=KS("ON_FALSE",1);IS=KS("UNCOND",2);JS=KS("ON_EX",3);dWa=KS("SYN_BLOCK",4)}function eWa(){FS.call(this)}l(eWa,FS);eWa.prototype.v=function(){return null};function MS(a){var b=a.m();switch(b.c.a){case 86:case 85:case 89:case 47:return!0;case 69:return!q(a,R(b));case 74:case 75:case 70:return!q(NS(b),a);case 76:return!q(NS(b),a);case 77:return!q(a,b.a);case 71:case 72:case 82:case 81:return!q(a,b.a);default:return!1}}
  1727. eWa.prototype.toString=function(){for(var a="CFG:\n",b=this.Pm().h();b.i();){var c=b.j();a=r(a)+String(r(ze(c))+Hg(10))}return a};function fWa(){FS.call(this)}l(fWa,eWa);function gWa(a,b,c){var d=new fWa;d.c=Uf();d.u=!0;d.o=c;d.a=d.se(null);d.b=d.se(a);d.A=b;return d}fWa.prototype.v=function(a){var b=this;return a?bc(new $b(function(c){return hWa(b,c)})):bc(new $b(function(c){return hWa(b,c)})).ac()};function hWa(a,b){a=a.A.get(b);G(a);return a.xb()}function OS(){}
  1728. function PS(a){return null!=a&&!!a.la}OS.prototype.la=!0;function QS(){this.g=this.u=0;this.F=this.o=!1}l(QS,n);function iWa(a,b){var c=new QS;jWa(c);c.A=a;c.o=!1;c.F=b;return c}
  1729. QS.prototype.H=function(a,b){var c=this;Ii(RS(b),"Unexpected control flow graph root %s",b);this.U=b;this.u=0;this.v=bf();this.f=bf();this.a=gWa(SS(b),this.f,this.F);Y(this.A,b,this);this.v.C(null,Fc(++this.u));this.g=0;kWa(this,this.a.b);if(this.o)for(a=this.a.Bd().h();a.i();){b=a.j();var d=b.a();d&&P(d)&&kWa(this,b)}for(a=this.a.Bd().h();a.i();)b=a.j(),this.f.gb(b,u(function(){return Fc(++c.g)}));this.f.C(this.a.a,Fc(++this.g))};
  1730. function kWa(a,b){var c=new Kga,d=a.K;c.a=Kd();c.b=nc(d);for(c.add(b);!c.D();)b=c.Tg(),a.f.X(b)||(a.f.C(b,Fc(++a.g)),b=bWa(b),c.na(b))}
  1731. QS.prototype.ga=function(a,b,c){this.v.C(b,Fc(this.u++));switch(b.c.a){case 69:return this.o||q(b,this.a.b.a())?(this.b.Ea(b),!0):!1;case 47:return this.b.Ea(b),!0}if(c){switch(c.c.a){case 76:case 77:case 105:case 106:return q(b,O(c));case 75:return!q(b,R(c));case 70:case 74:case 81:case 71:case 72:case 82:case 87:return!q(b,c.a);case 69:return q(b,O(c));case 100:return this.o&&q(b,O(c));case 122:case 79:case 78:case 88:case 80:case 104:case 92:case 113:case 109:case 0:case 42:return!1;case 47:if(!TS(c)&&
  1732. q(b,US(c))||lWa(c,b))E(q(this.b.Na(),c)),this.b.Ta()}if(c.m()&&aH(c.m())&&!Hw(c))return!1}return!0};
  1733. QS.prototype.J=function(a,b){switch(b.c.a){case 70:a=R(b);var c=a.b;VS(this,b,(LS(),GS),SS(a));c?VS(this,b,HS,SS(c)):VS(this,b,HS,WS(b,b,this));XS(this,b,NS(b));break;case 74:a=b.a;VS(this,b,(LS(),GS),SS(a.b));aI(a)||VS(this,b,HS,WS(b,b,this));XS(this,b,NS(b));break;case 75:a=b.a;VS(this,b,(LS(),GS),SS(a));aI(a)||VS(this,b,HS,WS(b,b,this));XS(this,b,NS(b));break;case 76:a=b.a;c=a.b;var d=c.b,e=d.b;VS(this,a,(LS(),IS),b);VS(this,b,GS,SS(e));Aw(c)||VS(this,b,HS,WS(b,b,this));VS(this,d,IS,b);XS(this,
  1734. a,a);XS(this,b,c);XS(this,d,d);break;case 105:case 77:case 106:a=b.a.b;c=a.b;VS(this,a,(LS(),IS),b);VS(this,b,GS,SS(c));VS(this,b,HS,WS(b,b,this));XS(this,b,a);break;case 71:(a=mWa(R(b),A([(H(),xt),Jt],hs,Qu,1)))?VS(this,b,(LS(),IS),a):R(b)?VS(this,b,(LS(),IS),R(b)):VS(this,b,(LS(),IS),WS(b,b,this));XS(this,b,b.a);break;case 72:VS(this,b,(LS(),GS),R(b));(a=mWa(b.b,A([(H(),xt)],hs,Qu,1)))?(E(mH(a)),VS(this,b,HS,a)):(a=mWa(R(b.m()),A([yt],hs,Qu,1)))?VS(this,b,HS,a):VS(this,b,HS,WS(b,b,this));XS(this,
  1735. b,b.a);break;case 73:VS(this,b,(LS(),IS),b.a);break;case 86:case 85:case 89:case 116:a=b.m();if(!(Hw(b)&&bI(a)&&q(US(a),b))||YS(b)){for(c=b.a;c&&P(c);)c=c.b;c?VS(this,b,(LS(),IS),SS(c)):VS(this,b,(LS(),IS),WS(b,b,this));if(a)switch(a.c.a){case 73:case 72:case 47:break;case 85:sC(b)&&b.b&&VS(this,b,(LS(),IS),b.b);break;default:Hw(b)&&PG(b)&&VS(this,b,(LS(),dWa),WS(b,b,this))}}break;case 69:E(P(b));E(mG(b,3));VS(this,b,(LS(),IS),SS(O(b)));E(q(this.b.Na(),b));this.b.Ta();break;case 88:VS(this,b,(LS(),
  1736. IS),WS(b,b,this));XS(this,b,b);break;case 42:XS(this,b,b);break;case 47:VS(this,b,(LS(),IS),b.a);break;case 82:VS(this,b,(LS(),IS),O(b));break;case 78:a:{a=null;b.a&&(a=b.a.l());d=null;var f=b.m();for(e=c=b;!nWa(c,a);c=f,f=f.m()){bI(c)&&TS(c)&&!q(O(c),d)&&(q(e,b)?VS(this,e,(LS(),IS),SS(O(c))):this.c.Aa(e,SS(O(c))),e=c);if(!f){if(this.A.a.vd)break a;throw pb("Cannot find break target.").s;}d=c}q(e,b)?VS(this,e,(LS(),IS),WS(c,c,this)):this.c.Aa(e,WS(c,c,this))}break;case 79:d=null;b.a&&(d=b.a.l());
  1737. e=null;for(c=a=b;!oWa(a,d);a=a.m())bI(a)&&TS(a)&&!q(O(a),e)&&(q(c,b)?VS(this,c,(LS(),IS),O(a)):this.c.Aa(c,SS(O(a))),c=a),F(!!a.m(),"Cannot find continue target."),e=a;d=a;zH(a)&&(d=RC(a,2));q(c,b)?VS(this,b,(LS(),IS),d):this.c.Aa(c,d);break;case 0:a=null;for(c=this.b.h();c.i();){d=c.j();if(P(d))break;TS(d)&&(a?this.c.Aa(a,SS(O(d))):VS(this,b,(LS(),IS),O(d)),a=d)}b.a&&XS(this,b,b.a);a?this.c.Aa(a,null):VS(this,b,(LS(),IS),null);break;case 81:VS(this,b,(LS(),IS),O(b));XS(this,b,b.a);break;case 87:case 101:case 102:break;
  1738. default:VS(this,b,(LS(),IS),WS(b,b,this)),XS(this,b,b)}};
  1739. function WS(a,b,c){var d=b.m();if(!d||P(d)||c&&q(b,c.U))return null;switch(d.c.a){case 70:return WS(a,d,c);case 72:case 73:if(d.b){if(mH(d.b))return R(d.b);if(uH(d.b))return d.b.a;throw pb("Not reachable").s;}return WS(a,d,c);case 77:case 105:case 106:return d;case 76:return R(d).b;case 74:case 75:return d;case 47:if(q(d.a,b))return TS(d)?SS(O(d)):WS(a,d,c);if(q(US(d),b))return TS(d)?SS(b.b):WS(a,d,c);if(q(O(d),b)){if(c)for(b=c.c.Ua(d).h();b.i();){var e=b.j();VS(c,a,(LS(),JS),e)}return WS(a,d,c)}}for(b=
  1740. b.b;b&&P(b);)b=b.b;return b?SS(b):WS(a,d,c)}function SS(a){switch(a.c.a){case 75:case 76:return SS(a.a);case 77:case 105:case 106:return R(a);case 87:return SS(O(a));default:return a}}function VS(a,b,c,d){a.a.se(b);a.a.se(d);LVa(a.a,b,c,d)}
  1741. function XS(a,b,c){if(pWa(c)&&!a.b.D()){c=b;for(var d=a.b.h();d.i();){var e=d.j();if(P(e))break;E(bI(e));for(var f=US(e),h=!1,k=DE(c.m()).h();k.i();){var m=k.j();if(q(m,e))break;else if(q(m,f)){h=!0;break}}if(!YS(f)||h)q(c,b)?VS(a,b,(LS(),JS),O(e)):a.c.Aa(c,O(e));else if(q(c,b)){VS(a,b,(LS(),JS),f);break}else a.c.Aa(c,f);c=e}}}function mWa(a,b){for(;a;a=a.b)for(var c=b,d=0;d<c.length;d++)if(q(a.c,c[d]))return a;return null}
  1742. function nWa(a,b){a:switch(a.c.a){case 76:case 77:case 105:case 106:case 75:case 74:case 71:var c=!0;break a;case 86:case 85:case 70:case 47:c=null!=b;break a;default:c=!1}return c&&qWa(a.m(),b)}function oWa(a,b){return ZS(a)&&qWa(a.m(),b)}function qWa(a,b){if(null==b)return!0;for(;KH(a);){if(li(a.a.l(),b))return!0;a=a.m()}return!1}
  1743. function pWa(a){switch(a.c.a){case 28:case 123:case 26:case 27:case 42:case 23:case 50:case 67:case 68:case 44:case 43:case 107:case 108:return!0;case 69:return!1}for(a=a.a;a;a=a.b)if(!MS(a)&&pWa(a))return!0;return!1}function jWa(a){a.K=bc(new $b(function(b){return a.v.get(b.a()).xb()}));a.b=Uk();a.c=Vq()}QS.prototype.la=!0;var rWa;function sWa(){sWa=function(){};rWa=new tWa}function tWa(){}l(tWa,n);
  1744. tWa.prototype.b=function(){throw pb("ScopeCreator.ASSERT_NO_SCOPES_CREATED cannot create child scopes.").s;};function uWa(){}l(uWa,n);function vWa(a){var b=new uWa;b.a=bf();b.c=a;return b}uWa.prototype.b=function(a,b){var c=this.a.get(a);c?E(q(b,c.m())):(c=this.c.b(a,b),this.a.C(a,c));return c};function $S(a){this.a=a}l($S,n);function aT(){}l(aT,n);aT.prototype.ga=function(){return!0};aT.prototype.J=function(a,b,c){var d=this.a.a;d(a,b,c)};aT.prototype.la=!0;
  1745. function wWa(a){return null!=a&&!!a.ic}function xWa(){this.f=this.b=!1}l(xWa,n);g=xWa.prototype;g.ga=function(a,b,c){q(this.c,b)&&(this.b=!0);return(this.f||q(this.c,b)||!bT(b))&&this.a.ga(a,b,c)};g.J=function(a,b,c){q(this.c,b)&&(this.b=!1);this.a.J(a,b,c)};g.Hb=function(a){this.b&&wWa(this.a)&&this.a.Hb(a)};g.Tb=function(a){this.b&&wWa(this.a)&&this.a.Tb(a)};g.la=!0;g.ic=!0;function cT(){}l(cT,n);cT.prototype.J=function(){};cT.prototype.la=!0;function yWa(){}l(yWa,cT);
  1746. function zWa(a,b){var c=new yWa;c.a=a;c.b=b;return c}yWa.prototype.ga=function(a,b){bT(b)&&AWa(this.a,b)&&this.b.b(this.a,b);return!0};function BWa(){}l(BWa,n);BWa.prototype.b=function(){};function CWa(){}l(CWa,n);function DWa(){}l(DWa,n);function dT(a,b,c){for(c=eT(c).h();c.i();){var d=c.j();fT(a,b,d)}}
  1747. function gT(a,b,c,d){switch(b.c.a){case 80:c&&dT(a,c,b);return;case 104:case 92:d&&dT(a,d,b);return;case 109:dT(a,c,b);return;case 113:gT(a,b.a,c,d);return;case 69:if(lL(b)||!d)return;c=b.a.l();if(te(c))return;fT(a,d,b.a);return;case 100:if(hT(b)||!d)return;c=b.a.l();if(te(c))return;fT(a,d,b.a);return;case 82:F(kG(b),b);d&&dT(a,d,b);b=R(b);gT(a,b,c,d);return;case 89:if(a.b&&!a.b.B(b))return;a.c=aG(b);break;case 116:if(nL(c))return}var e=!(d&&q(b,d.ka()))&&ZR(b);if(!e||c)if(iT(b)||jT(b))for(b=b.a;b;){var f=
  1748. b.b;gT(a,b,c,e?null:d);b=f}}function fT(a,b,c){Ji(L(c)||Cw(c),"Invalid node for declareVar: %s",c);var d=c.l(),e=b.Mb(d);if(!e||!q(e.N(),c)){var f=a.f.f(a.c);e||(SR(b)?(e=b.m().Mb(d),e=!e||!xL(e)):e=!0,e=!e);e||(yL(b)||SR(b))&&"arguments"===d?a.g.b(b,d,c,f):eS(b,d,c,f)}}function EWa(){}var FWa;l(EWa,n);function kT(a){GWa();var b=new EWa,c=FWa,d=new CWa;b.a=a;b.c=c;b.f=d;return b}function HWa(a,b){GWa();var c=new EWa,d=new CWa;c.a=a;c.c=b;c.f=d;return c}
  1749. EWa.prototype.b=function(a,b){if(b){var c=new fS;VUa(c,a);$Ua(c,b);c.f=b;c.c=b.hf()+1;a=c}else a=gS(a);b=new DWa;c=this.c;b.f=this.a;b.g=c;b.a=a;b.b=null;E(!0);c=b.a.ka();b.c=lT(c);switch(c.c.a){case 69:var d=c.a,e=d.b;E(Gw(e));dT(b,b.a,e);e=d.l();!te(e)&&lL(c)&&fT(b,b.a,d);break;case 100:d=c.a;!Aw(d)&&hT(c)&&fT(b,b.a,d);break;case 85:case 89:F(nL(b.a),b.a);gT(b,c,b.a,b.a);break;case 116:gT(b,c,b.a,b.a);break;case 76:case 105:case 106:case 77:case 71:gT(b,c,null,b.a);break;case 86:VR(c)?gT(b,c,b.a,
  1750. b.a):gT(b,c,null,b.a);break;default:throw Ha("Illegal scope root: "+r(c)).s;}return a};function GWa(){GWa=function(){};FWa=new BWa}function IWa(){}l(IWa,n);function mT(a,b,c){var d=new IWa;d.o=Uk();d.g=w();d.v=Uk();d.f=b;wWa(b)&&(d.K=b);d.c=a;d.U=c;return d}function JWa(a,b){var c=b.b;a.A&&(c=r(b.b)+"\n"+r(KWa(a,"Node",a.a))+r(a.a?KWa(a,"Parent",a.a.m()):""));LWa(c,b)}
  1751. function KWa(a,b,c){if(c){b=" "+r(b)+"("+r(pxa(c,!1,!1,!1))+"): ";var d=c?WA(c):a.u;if(null==d)a="[source unknown]\n";else{var e=XA(c);c=YA(c);a=MWa(a.c,d,e);null==a&&(a="[source unknown]");a=r(d)+":"+e+":"+c+"\n"+r(a)+"\n"}b+=r(a)}else b=" "+r(b)+": NULL";return b}function nT(a,b){try{oT(a,b),a.a=b,pT(a,b),qT(a,b,null),rT(a)}catch(c){if(c=va(c),Sa(c)||Ea(c))JWa(a,c);else throw c.s;}}function Y(a,b,c){nT(mT(a,c,kT(a)),b)}function NWa(a,b,c){var d=new aT;d.a=c;Y(a,b,d)}
  1752. function sT(a,b,c){try{var d=b.m();G(d);oT(a,d);a.a=d;pT(a,d);qT(a,b,d);E(q(c.m(),d));qT(a,c,d);rT(a)}catch(e){if(e=va(e),Sa(e)||Ea(e))JWa(a,e);else throw e.s;}}function tT(a,b,c,d){sT(mT(a,b,kT(a)),c,d)}function uT(a,b,c){F(nL(c)||fL(c),c);try{oT(a,b),a.a=b,vT(a,c,!1),qT(a,b,null),rT(a)}catch(d){if(d=va(d),Sa(d)||Ea(d))JWa(a,d);else throw d.s;}}
  1753. function wT(a,b){var c=b.ka();oT(a,c);a.a=c;for(var d=Uk(),e=b.m();null!=e;)d.Ea(e),e=e.m();for(;!d.D();)vT(a,d.Ta(),!0);P(c)?a.f.ga(a,c,null)&&(vT(a,b,!1),b=c.a,d=b.b,e=d.b,qJ(c)||qT(a,b,c),qT(a,d,c),qT(a,e,c),rT(a),a.f.J(a,c,null)):kA(c)?a.f.ga(a,c,null)&&(vT(a,b,!1),b=c.a,d=O(c),hT(c)&&qT(a,b,c),qT(a,d,c),rT(a),a.f.J(a,c,null)):Hw(c)?a.f.ga(a,c,null)&&(vT(a,b,!1),xT(a,c),rT(a),a.f.J(a,c,null)):yT(c)?a.f.ga(a,c,null)&&(vT(a,b,!1),b=c.a,d=b.b,e=d.b,qT(a,b,c),qT(a,d,c),qT(a,e,c),rT(a),a.f.J(a,c,null)):
  1754. XH(c)?a.f.ga(a,c,null)&&(vT(a,b,!1),xT(a,c),rT(a),a.f.J(a,c,null)):(Ji(nL(b)||fL(b),"Expected global or module scope. Got:",b),uT(a,c,b))}
  1755. function zT(a,b,c,d,e,f){if(c)for(b=vWa(kT(a)),c=c.h();c.i();){var h=c.j(),k=a,m=d,p=f,t=b;e&&e.b(k,h);var v=new xWa,C=v;C.c=h;C.f=p;C.a=m;C.b=!1;k=mT(k,v,t);t=h;try{oT(k,t);k.a=t;h=k;for(var J=t.m(),K=Uk();J;)m=J,(sC(m)&&!m.m()||P(m)||ZR(m))&&K.qe(J),J=J.m();for(var Ca=K.h();Ca.i();){var Wa=Ca.j();pT(h,Wa)}qT(k,t,t.m())}catch(Ma){if(Ma=va(Ma),Sa(Ma)||Ea(Ma))JWa(k,Ma);else throw Ma.s;}}else Y(a,b,d)}function OWa(a,b,c,d){G(c);oT(a,b);d&&!q(PWa(a),d)?(a.a=b,vT(a,d,!1),qT(a,b,c),rT(a)):qT(a,b,c)}
  1756. function QWa(a){for(a=a.a;a;){var b=XA(a);if(0<=b)return b;a=a.m()}return 0}function AT(a){!a.$&&a.A&&(a.$=a.c.f(a.A));return a.$}function BT(a){return(a=AT(a))?a.a:null}
  1757. function qT(a,b,c){switch(b.c.a){case 89:a.F=b;var d=aG(b);var e=WA(b)||"";a.A=d;a.u=e;a.$=null;a.a=b;a.b=b;a.f.ga(a,b,c)&&(xT(a,b),a.a=b,a.f.J(a,b,c));a.F=null;return;case 69:d=a.F;a.F=b;a.a=b;if(a.f.ga(a,b,c)){e=b.a;var f=!!c&&qJ(b);f&&qT(a,e,b);a.a=b;pT(a,b);f||qT(a,e,b);e=e.b;f=e.b;qT(a,e,b);qT(a,f,b);rT(a);a.a=b;a.f.J(a,b,c)}a.F=d;return;case 116:pT(a,b);a.a=b;a.f.ga(a,b,c)&&(a.a=b,xT(a,b),a.f.J(a,b,c));rT(a);return;case 100:a.a=b;if(a.f.ga(a,b,c)){d=b.a;var h=d.b;e=h.b;f=hT(b);qT(a,h,b);for(h=
  1758. e.a;h;){var k=h.b;rH(h)&&qT(a,h.a,h);h=k}f||qT(a,d,b);a.a=b;pT(a,b);f&&qT(a,d,b);qT(a,e,b);rT(a);a.a=b;a.f.J(a,b,c)}return;case 101:a.a=b;if(a.f.ga(a,b,c)){for(d=b.a;d;)e=d.b,rH(d)?(a.a=b,a.f.ga(a,d,b)&&(qT(a,O(d),d),a.a=b,a.f.J(a,d,b))):qT(a,d,b),d=e;a.a=b;a.f.J(a,b,c)}return}a.a=b;a.f.ga(a,b,c)&&(ZR(b)?(pT(a,b),xT(a,b),rT(a)):xT(a,b),a.a=b,a.f.J(a,b,c))}function xT(a,b){for(var c=b.a;c;){var d=c.b;qT(a,c,b);c=d}}function CT(a){a=RWa(a);return P(a)?a:null}
  1759. function pT(a,b){G(a.a);G(b);a.g.add(b);RS(b)&&a.v.Ea(b);a.K&&a.K.Hb(a)}function vT(a,b,c){G(a.a);a.o.Ea(b);b=b.ka();RS(b)&&a.v.Ea(b);!c&&a.K&&a.K.Hb(a)}function rT(a){SWa(a,!1)}function SWa(a,b){!b&&a.K&&a.K.Tb(a);b=a.g.w();b=0<b?a.g.Wa(b-1):a.o.Ta().ka();RS(b)&&a.v.Ta()}function PWa(a){for(var b=a.o.Na(),c=a.g.h();c.i();){var d=c.j();b=a.U.b(d,b);a.o.Ea(b)}a.g.ia();return b}function TWa(a){for(var b=a.g.w();0<b;b--){var c=a.g.G(b-1);if(DT(c))return c}return WR(a.o.Na()).ka()}
  1760. function DT(a){switch(a.c.a){case 69:case 116:case 85:case 89:return!0;default:return VR(a)}}function ET(a){return PWa(a).on()}function FT(a){return PWa(a).nn()}function GT(a){var b=a.v.Na();if(eI(b)){var c=iWa(a.c,!0);c.H(null,b);b=c.a;a.v.Ta();a.v.Ea(b)}return b}function HT(a){var b=a.g.w();return 0<b?a.g.G(b-1):(a=a.o.Na())?a.ka():null}function RWa(a){a=a.v.Na();return eI(a)?a:a.b.a()}function IT(a){a=a.o.w()+a.g.w();E(0<a);return 0==a-1}
  1761. function JT(a){a=RWa(a);F(tC(a)||sC(a)||Hw(a)||P(a)||NH(a),a);return tC(a)||sC(a)||Hw(a)}function KT(a){return UWa(HT(a))}function LT(a){a=RWa(a);P(a)&&(a=O(a));return UWa(a)}function MT(a,b,c,d){b=V(b,c,d);X(a.c,b)}function NT(a){var b=a.F;G(b);F(bT(b),b);OT(a.c,b)}function PT(a,b){Z(a.c,b)}function oT(a,b){b=QT(b);for(a.F=b;b&&!tC(b);)b=b.m();if(b){var c=aG(b),d=WA(b);a.A=c;a.u=d}else a.A=null,a.u="";a.$=null;a.b=b}function RT(){}l(RT,n);RT.prototype.ga=function(){return!0};RT.prototype.la=!0;
  1762. function VWa(){}l(VWa,RT);function WWa(a){var b=new VWa;b.a=a;return b}VWa.prototype.J=function(a,b,c){switch(b.c.a){case 69:a=b.a;a=a.l();te(a)&&!aH(b)&&(kH(c)||vH(c)?(c=this.a.b(c.a),this.a.c(c,b)):L(c)&&(c=this.a.b(c),this.a.c(c,b)));break;case 50:b=b.a,c=b.b,SH(c)&&XWa(this,c,this.a.b(b))}};function XWa(a,b,c){for(b=b.a;b;b=b.b)if(Lx(b)||rH(b)){var d=a.a.f(c,a.a.b(b)),e=Lx(b)?fF(b):O(b),f=e.c;q(f,(H(),ut))&&!aH(e)?(f=e.a.l(),te(f)&&a.a.c(d,e)):q(f,(H(),Os))&&XWa(a,e,d)}}
  1763. function YWa(){this.b=this.a=0}l(YWa,n);
  1764. function ST(a,b){switch(b.c.a){case 100:case 69:return TT(b);case 26:b=b.a;var c=b.b;b=ST(a,b);c=ST(a,c);return"prototype"===c?r(b)+Hg(a.a):r(b)+Hg(a.a)+r(c);case 27:return b=b.a,c=b.b,b=ST(a,b),c=ST(a,c),"prototype"===c?r(b)+Hg(a.a):r(b)+Hg(a.a)+r(c);case 32:return b.l();case 34:case 95:case 102:return OI.test(b.l())?b.l():"__"+a.b++;case 33:return UT(b);case 36:return"this";case 28:case 122:return ST(a,b.a);default:c=Mg();for(b=b.a;b;b=b.b)0<c.Ra()&&Og(c,a.a),x(c,ST(a,b));return c.toString()}}
  1765. function VT(){}l(VT,n);VT.prototype.b=function(a){return ST(this.g,a)};VT.prototype.c=function(a,b){b=b.a;a=Hg(36)+r(a)+Hg(36);b.Ga(a);Z(this.a.b,b);this.a.c++;this.a.a+=a.length};VT.prototype.f=function(a,b){return r(a)+Hg(36)+r(b)};function ZWa(){this.a=this.c=0}l(ZWa,n);ZWa.prototype.H=function(a,b){a=new VT;a.a=this;var c=new YWa;c.b=0;c.a=36;a.g=c;Y(this.b,b,WWa(a))};function $Wa(){$Wa=function(){};ka(la(ZWa))}function WT(){this.c=this.b=this.a=0}l(WT,n);
  1766. function aXa(a,b){var c=new WT;c.a=a;c.c=b;c.b=0;return c}function bXa(a){var b=aXa(a.a,a.c);b.b=a.b;return b}WT.prototype.R=function(a){var b=a.b-this.b;0==b&&(b=this.c-a.c);return b};function cXa(a){return a instanceof WT}WT.prototype.ba=!0;function XT(){this.f=0}var YT,dXa,eXa;l(XT,n);function fXa(){gXa();var a=new XT;hXa(a);var b=gf(Qm(0));ZT(a,b,"",null,null);return a}function $T(a,b,c){gXa();var d=new XT;hXa(d);ZT(d,a,b,c,c);return d}
  1767. function hXa(a){a.c=cf(Qm(YT.length));for(var b=0,c=YT,d=0;d<c.length;d++){var e=c[d];a.c.C(eh(e),aXa(e,b));b++}}
  1768. function ZT(a,b,c,d,e){a.o=b;a.g=c;a.f=0;a.a=iXa(a,eXa,d);a.b=iXa(a,YT,e);pd(a.a,null);pd(a.b,null);if(0<c.length){if(!jXa(a.a,c.charCodeAt(0))){c=za([a.a.length],Ob,Pb,0);for(b=0;b<c.length;b++)c[b]=a.a[b].a;throw ua("prefix must start with one of: "+r(Vda(c))).s;}for(b=1;b<c.length;++b){d=za([a.b.length],Ob,Pb,0);for(e=0;e<d.length;e++)d[e]=a.b[e].a;if(!jXa(a.b,c.charCodeAt(b)))throw ua("prefix has invalid characters, must be one of: "+r(Vda(d))).s;}}}
  1769. function iXa(a,b,c){if(!c||0==c.length){c=za([b.length],WT,cXa,WT.a);for(var d=0;d<b.length;d++)Ad(c,d,a.c.get(eh(b[d])));return c}if(0==b.length)b=hf();else{d=new nr;var e=b.length;d.b=b;d.a=0;d.c=e;b=d}b=Am(b);for(d=0;d<c.length;d++)b.sa(eh(c[d]));c=za([b.w()],WT,cXa,WT.a);d=0;for(b=b.h();b.i();)e=b.j().a,Ad(c,d++,a.c.get(eh(e)));return c}function jXa(a,b){for(var c=0;c<a.length;c++)if(a[c].a==b)return!0;return!1}
  1770. function aU(a){do{var b=a.g;var c=a.f;te(b)&&(b=Hg(a.a[c%a.a.length|0].a),c=c/a.a.length|0);for(;0<c;){c--;var d=c%a.b.length|0;b=r(b)+Hg(a.b[d].a);c=c/a.b.length|0}a.f++}while(TI(b)||a.o.B(b)||dXa.B(b));return b}function gXa(){gXa=function(){};eXa=Ai("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");YT=Ai("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$");dXa=hm("let","yield","await","eval")}XT.prototype.ba=!0;function bU(){}l(bU,n);
  1771. bU.prototype.b=function(a){switch(a.c.a){case 32:case 34:case 95:return a.l();case 122:return this.b(a.a);default:return cU(this.a.b,a)}};bU.prototype.c=function(a,b){b=b.a;var c=this.a.c.get(a);null==c&&(this.a.g&&(c=this.a.g.a.get(a)),null==c&&(c=aU(this.a.o)),this.a.c.C(a,c));a=c;b.Ga(a);this.a.f++;this.a.a+=a.length;Z(this.a.b,b)};bU.prototype.f=function(a,b){return r(a)+Hg(46)+r(b)};function kXa(){}l(kXa,n);
  1772. function lXa(a){var b=new kXa;Uj();if(!(a instanceof Xo))if(a.Qa())a=dka();else{var c=il(a);Yo();a=new Zo;dl(a,c);var d=el();for(c=c.V().h();c.i();){var e=c.j();d.L(e.O(),e.M())}d=d.Jb();c=new Zo;dl(c,d);c.g=a;a.g=c}b.a=a;return b}function mXa(){this.a=this.f=0}l(mXa,n);mXa.prototype.H=function(a,b){a=new bU;a.a=this;Y(this.b,b,WWa(a))};function nXa(){nXa=function(){};ka(la(mXa))}function oXa(){this.a=0}var pXa,qXa,rXa;l(oXa,z);function sXa(a,b){var c=new oXa;c.b=a;c.a=b;return c}
  1773. oXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function dU(){dU=function(){};pXa=sXa("OFF",0);qXa=sXa("START_AND_END",2);rXa=sXa("EVERY_PASS",3)}function tXa(){this.a=0}var uXa;l(tXa,z);function vXa(){var a=new tXa;a.b="BROWSER";a.a=0;return a}tXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function wXa(){wXa=function(){};uXa=vXa()}function xXa(){this.a=0}var yXa;l(xXa,z);function zXa(){var a=new xXa;a.b="COMPILE";a.a=3;return a}
  1774. xXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function AXa(){AXa=function(){};yXa=zXa()}function BXa(){this.a=0}var CXa;l(BXa,z);function DXa(){var a=new BXa;a.b="OFF";a.a=0;return a}BXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function EXa(){EXa=function(){};CXa=DXa()}function FXa(){this.a=0}var GXa,Pya,HXa;l(FXa,z);function IXa(a,b){var c=new FXa;c.b=a;c.a=b;return c}FXa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1775. function wI(){wI=function(){};GXa=IXa("OFF",0);Pya=IXa("GENERATE_IJS",1);HXa=IXa("RUN_IJS_CHECKS_LATE",2)}function JXa(){this.a=0}var eU;l(JXa,z);function KXa(){var a=new JXa;a.b="AUTO";a.a=1;return a}JXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function LXa(){LXa=function(){};eU=KXa()}function MXa(){}l(MXa,n);function NXa(){}var OXa;l(NXa,n);function PXa(){PXa=function(){};OXa=new MXa}function QXa(){this.a=0}var RXa;l(QXa,z);
  1776. function SXa(){var a=new QXa;a.b="NORMAL";a.a=2;return a}QXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function TXa(){TXa=function(){};RXa=SXa()}function UXa(){this.a=0}var VXa,WXa,fU;l(UXa,z);function XXa(a,b){var c=new UXa;c.b=a;c.a=b;return c}UXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function gU(){gU=function(){};VXa=XXa("ALL",0);WXa=XXa("NONE",1);fU=XXa("MODULE_EXPORT",2)}function YXa(){this.a=0}var hU,ZXa;l(YXa,z);
  1777. function $Xa(a,b){var c=new YXa;c.b=a;c.a=b;return c}YXa.prototype.R=function(a){return z.prototype.c.call(this,a)};function iU(){iU=function(){};ZXa=$Xa("ALL",0);hU=$Xa("NONE",2)}function aYa(){this.a=0}var jU,bYa,cYa,dYa;l(aYa,z);function eYa(a,b){var c=new aYa;c.b=a;c.a=b;return c}aYa.prototype.R=function(a){return z.prototype.c.call(this,a)};function kU(){kU=function(){};bYa=eYa("ALL",0);cYa=eYa("RAW_SIZE",1);dYa=eYa("TIMING_ONLY",3);jU=eYa("OFF",4)}function fYa(){this.a=0}var gYa,hYa;l(fYa,z);
  1778. function iYa(a,b){var c=new fYa;c.b=a;c.a=b;return c}fYa.prototype.R=function(a){return z.prototype.c.call(this,a)};function jYa(){jYa=function(){};gYa=iYa("OFF",0);hYa=iYa("STRIP",2)}function lU(){}var kYa;l(lU,n);function lYa(a,b){mU();var c=new lU;c.b=a;c.a=nm(lg(b));return c}function nU(a){mU();var b=new lU;b.b=null;b.a=nm(lg(a));return b}function mYa(a){mU();var b=new lU;nYa(b,null,a);return b}function oYa(a,b){mU();var c=new lU;nYa(c,a,b);return c}
  1779. function nYa(a,b,c){for(var d=Nj(),e=0;e<c.length;e++)d.fb(c[e].a);a.b=b;a.a=d.fa()}function oU(a){mU();kYa.gb(a,u(function(b){var c=new lU;c.b=null;c.a=mm(b);return c}));return kYa.get(a)}lU.prototype.toString=function(){return null==this.b?n.prototype.toString.call(this):"DiagnosticGroup<"+r(this.b)+">"};function mU(){mU=function(){};kYa=bf()}function pU(a){return a instanceof lU}lU.prototype.ba=!0;function pYa(){this.f=this.a=0}var qYa,rYa,sYa;l(pYa,z);
  1780. function tYa(a,b,c){var d=new pYa;d.b=a;d.a=b;d.f=c;return d}pYa.prototype.R=function(a){return z.prototype.c.call(this,a)};function uYa(){uYa=function(){};qYa=tYa("MAX",0,1);rYa=tYa("DEFAULT",3,50);sYa=tYa("SUPPRESS_DOC",5,20)}function qU(){}l(qU,n);g=qU.prototype;g.Fk=function(){return(uYa(),rYa).f};g.ih=function(){return!1};g.bj=function(){return!1};g.Xk=function(){return this};function vYa(a){return a instanceof qU}g.ba=!0;function wYa(){}l(wYa,n);g=wYa.prototype;g.ac=function(){return fc(this)};
  1781. g.hc=function(a){return cc(this,a)};g.oc=function(a){return dc(this,a)};g.Pa=function(a,b){var c=a.Fk()-b.Fk();return 0!=c?c:this.a.get(b).xb()-this.a.get(a).xb()};g.ba=!0;function rU(){this.c=0;this.b=!1}l(rU,qU);function xYa(a,b){a.f=bf();a.c=0;var c=new wYa;c.a=a.f;a.g=c;a.b=!1;a.a=um(a.g);yYa(a,b)}function zYa(){var a=A([],qU,vYa,1),b=new rU;xYa(b,Yl(a));return b}function sU(a,b){b instanceof rU?(b.b&&(a.b=b.b),yYa(a,Jd(b.a.Rf()))):(a.c++,a.f.C(b,Fc(a.c)),a.a.sa(b),a.a.add(b))}
  1782. function yYa(a,b){for(b=b.h();b.i();){var c=b.j();sU(a,c)}}g=rU.prototype;g.Yf=function(a){for(var b=this.a.h();b.i();){var c=b.j().Yf(a);if(c)return this.b&&q(c,(yJ(),wJ))?(yJ(),xJ):c}return null};g.ih=function(a){a=a.a.h();a:for(;a.i();){var b=a.j();b=oU(b);for(var c=this.a.h();c.i();){var d=c.j();if(d.ih(b))continue a;else if(d.bj(b))break}return!1}return!0};g.bj=function(a){for(var b=this.a.h();b.i();){var c=b.j();if(c.bj(a))return!0;if(c.ih(a))break}return!1};
  1783. g.Xk=function(){for(var a=zYa(),b=this.a.Rf().h();b.i();){var c=b.j();sU(a,c.Xk())}return a};g.toString=function(){return tk(qk(", "),this.a)};function tU(){this.a=0}var AYa,BYa,CYa;l(tU,z);function DYa(a,b){var c=new tU;c.b=a;c.a=b;return c}tU.prototype.R=function(a){return z.prototype.c.call(this,a)};function EYa(){EYa=function(){};BYa=DYa("BY_WHOLE",0);CYa=DYa("BY_PART",1);AYa=null}function FYa(a){return a instanceof tU}function GYa(){this.a=0}var HYa,IYa,JYa,KYa;l(GYa,z);
  1784. function LYa(a,b){var c=new GYa;c.b=a;c.a=b;return c}GYa.prototype.R=function(a){return z.prototype.c.call(this,a)};function uU(){uU=function(){};HYa=LYa("BEFORE_CHECKS",0);IYa=LYa("BEFORE_OPTIMIZATIONS",1);JYa=LYa("BEFORE_OPTIMIZATION_LOOP",2);KYa=LYa("AFTER_OPTIMIZATION_LOOP",3)}function MYa(){this.a=0}var vU,NYa,OYa;l(MYa,z);function PYa(a,b){var c=new MYa;c.b=a;c.a=b;return c}MYa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1785. function wU(){wU=function(){};vU=PYa("NONE",0);NYa=PYa("PRUNE_LEGACY",2);OYa=PYa("PRUNE",3)}function xU(){}l(xU,n);xU.prototype.toString=function(){return q(this.a,this.b)?this.a:r(this.b)+":"+r(this.a)};function QYa(a){var b=DCa(a),c=new RYa;if(null==a)throw rb("Null name").s;c.c=a;if(null==b)throw rb("Null closureNamespace").s;c.a=b;if(null==b)throw rb("Null moduleName").s;c.b=b;return c}xU.prototype.ba=!0;function RYa(){}l(RYa,xU);
  1786. RYa.prototype.I=function(a){return q(a,this)?!0:a instanceof xU?q(this.c,a.c)&&q(this.a,a.a)&&q(this.b,a.b):!1};RYa.prototype.P=function(){var a=1000003^Yg(this.c);a=1000003*a^Yg(this.a);return a=1000003*a^Yg(this.b)};function SYa(){}l(SYa,n);function TYa(a){return!q(a.a,(wU(),vU))}function yU(a){return q(a.a,(wU(),NYa))||q(a.a,(wU(),OYa))}SYa.prototype.ba=!0;function zU(){}l(zU,SYa);zU.prototype.toString=function(){return"DependencyOptions{mode="+r(this.a)+", entryPoints="+r(this.b)+"}"};
  1787. zU.prototype.I=function(a){return q(a,this)?!0:a instanceof SYa?cd(this.a,a.a)&&this.b.I(a.b):!1};zU.prototype.P=function(){var a=1000003^ed(this.a);return a=1000003*a^this.b.P()};function AU(){}l(AU,qU);function BU(a,b){var c=new AU;c.a=a;c.b=b;return c}g=AU.prototype;g.Yf=function(a){return this.a.a.B(a.o)?this.b:null};g.ih=function(a){var b;if(b=!!q(this.b,vJ))a:{b=this.a;for(a=a.a.h();a.i();){var c=a.j();if(!b.a.B(c)){b=!1;break a}}b=!0}return b};
  1788. g.bj=function(a){if(!q(this.b,vJ))for(a=a.a.h();a.i();){var b=a.j();if(this.a.a.B(b))return!0}return!1};g.Xk=function(){return BU(this.a,q(this.b,vJ)?(yJ(),vJ):(yJ(),xJ))};g.toString=function(){return r(this.a)+"("+r(this.b)+")"};function UYa(){this.a=0}var VYa,WYa,XYa,YYa,ZYa;l(UYa,z);function CU(a,b,c){var d=new UYa;d.b=a;d.a=b;d.f=c;return d}UYa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1789. function DU(){DU=function(){};VYa=CU("ERROR",0,"\u001b[31m");WYa=CU("WARNING",1,"\u001b[35m");XYa=CU("NO_COLOR",2,"\u001b[39m");YYa=CU("BOLD",3,"\u001b[1m");ZYa=CU("UNBOLD",4,"\u001b[0m")}function $Ya(){this.a=!1}l($Ya,n);function aZa(a,b,c){return a.a?r(c.f)+r(b)+r((DU(),XYa).f):b}function bZa(){bZa=function(){};hm("xterm","xterm-color","xterm-256color","screen-bce")}function cZa(){this.a=0}var dZa;l(cZa,z);function EU(){EU=function(){};dZa=eZa()}function fZa(){this.a=0}l(fZa,cZa);
  1790. function eZa(){EU();var a=new fZa;a.b="LINE";a.a=0;return a}fZa.prototype.f=function(a,b,c){return MWa(a,b,c)};fZa.prototype.R=function(a){return cZa.prototype.c.call(this,a)};function gZa(){this.c=this.f=this.a=!1}l(gZa,$Ya);
  1791. function cDa(a,b,c){var d=a.g,e=b.a,f=b.c,h=b.b,k=Mg(),m=Mg(),p=hZa(e,f);a.f&&((d=d?iZa(d,b.a,b.c,b.b):null)?(e=zr(d.kc,1,wr),f=zr(d.kc,2,vr),h=zr(d.kc,3,vr),x(k,p),x(k,"\nOriginally at:\n"),x(m,hZa(e,f))):x(m,p));if(a.c){a:switch(c=c?(yJ(),xJ):(yJ(),wJ),c.a){case 0:c=aZa(a,"ERROR",(DU(),VYa));break a;case 1:c=aZa(a,"WARNING",(DU(),WYa));break a;default:c=c.toString()}x(m,c);x(m," - [");x(m,b.o.a);x(m,"] ")}x(m,b.g);m=m.toString();m=a.a?r((DU(),YYa).f)+r(m)+r(ZYa.f):m;x(k,m);Og(k,10);m=h;h=Mg();e=
  1792. (c=a.g)?a.b.f(c,e,f):null;if(null!=e&&(x(h,e),Og(h,10),cd(a.b,(EU(),dZa))&&0<=m&&m<=e.length)){for(a=0;a<m;a++)f=e.charCodeAt(a),pOa.test(f)?Og(h,f):Og(h,32);if(b.f)for(b=Math.max(1,Math.min(b.f.u,e.length-m)),a=0;a<b;a++)x(h,"^");else x(h,"^");x(h,"\n")}b=h.toString();null!=b&&x(k,b);return k.toString()}function hZa(a,b){var c=Mg();null!=a&&(x(c,a),0<b&&(Og(c,58),Vg(c,b)),x(c,": "));return c.toString()}function FU(){this.a=0}var jZa,kZa;l(FU,z);function GU(){GU=function(){};jZa=lZa();kZa=mZa()}
  1793. function nZa(){this.a=0}l(nZa,FU);function lZa(){GU();var a=new nZa;a.b="SINGLELINE";a.a=0;return a}nZa.prototype.f=function(a,b){bZa();var c=new gZa,d=(EU(),dZa);c.g=a;c.f=!0;c.c=!0;G(a);c.b=d;c.a=b;return c};nZa.prototype.R=function(a){return FU.prototype.c.call(this,a)};function oZa(){this.a=0}l(oZa,FU);function mZa(){GU();var a=new oZa;a.b="SOURCELESS";a.a=2;return a}oZa.prototype.f=function(a,b){bZa();a=new gZa;a.g=null;a.f=!0;a.c=!0;a.b=(EU(),dZa);a.a=b;return a};
  1794. oZa.prototype.R=function(a){return FU.prototype.c.call(this,a)};function pZa(){this.a=0}var qZa,rZa;l(pZa,z);function sZa(a,b){var c=new pZa;c.b=a;c.a=b;return c}pZa.prototype.R=function(a){return z.prototype.c.call(this,a)};function HU(){HU=function(){};qZa=sZa("LEGACY",0);rZa=sZa("EXPORT_ALL",1)}function tZa(){this.a=0}var uZa,IU;l(tZa,z);function vZa(a,b){var c=new tZa;c.b=a;c.a=b;return c}tZa.prototype.R=function(a){return z.prototype.c.call(this,a)};
  1795. function JU(){JU=function(){};uZa=vZa("OFF",0);IU=vZa("ALL_UNQUOTED",1)}function KU(){}l(KU,n);KU.prototype.P=function(){return Fg([this.b,this.a.g,this.a.a,Fc(this.a.c),Fc(this.a.b)])};KU.prototype.I=function(a){return a instanceof KU?bd(this.b,a.b)&&q(this.a.g,a.a.g)&&q(this.a.a,a.a.a)&&this.a.c==a.a.c&&this.a.b==a.a.b:!1};function LU(){}l(LU,n);
  1796. function wZa(a,b){if(!b)return a?1:0;if(!q(a.b,b.b))return b.b.c(a.b);var c=a.a.a,d=b.a.a;if(null!=c&&null!=d){if(c=kc(c,d),0!=c)return c}else{if(null==c&&null!=d)return-1;if(null!=c&&null==d)return 1}c=a.a.c;d=b.a.c;if(c!=d)return c-d;if(0>c&&0<=d)return-1;if(0<=c&&0>d)return 1;c=a.a.b;d=b.a.b;return c!=d?c-d:0>c&&0<=d?-1:0<=c&&0>d?1:kc(a.a.g,b.a.g)}LU.prototype.ac=function(){return fc(this)};LU.prototype.hc=function(a){return cc(this,a)};LU.prototype.oc=function(a){return dc(this,a)};
  1797. LU.prototype.Pa=function(a,b){return wZa(a,b)};function MU(){this.f=this.g=this.c=this.a=0}l(MU,n);function xZa(a,b){a.b=um(new LU);a.a=0;a.c=0;a.g=0;a.f=0;a.A=nm(b)}g=MU.prototype;g.rd=function(a,b){var c=new KU;c.a=b;c.b=a;this.b.add(c)&&(q(a,(yJ(),wJ))?q(b.o.c,(yJ(),wJ))?this.a++:this.c++:q(a,(yJ(),xJ))&&this.g++)};g.Nl=function(){return 0!=this.a};g.jf=function(){return this.a+this.c};g.kf=function(){return this.g};g.km=function(){return yZa(this,(yJ(),wJ))};
  1798. g.lm=function(){return yZa(this,(yJ(),xJ))};g.Tm=function(){return Wl(this.b)};g.cm=function(a){this.f=a};g.Fg=function(){return this.f};function yZa(a,b){return og(tg(sg(a.b.S(),fd(function(c){return q(c.b,b)})),u(function(c){return c.a})),Rl())}
  1799. g.ml=function(){for(var a=this.A.h();a.i();){for(var b=a.j(),c=this.Tm().h();c.i();){var d=c.j();bDa(d.a,d.b,b.b)}if(3<=b.a||1<=b.a&&0<this.jf()+this.kf()||2<=b.a&&0<this.Fg())0<this.Fg()?CN("%d error(s), %d warning(s), %.1f%% typed%n",[Fc(this.jf()),Fc(this.kf()),this.Fg()]):CN("%d error(s), %d warning(s)%n",[Fc(this.jf()),Fc(this.kf())])}};function NU(){this.a=0}var zZa;l(NU,z);NU.prototype.Ca=function(a){return this.ca(a)};NU.prototype.cb=function(){return hd(this)};
  1800. function AZa(){AZa=function(){};zZa=BZa()}function OU(){this.a=0}l(OU,NU);function BZa(){AZa();var a=new OU;a.b="ALL";a.a=0;return a}OU.prototype.Ca=function(a){return this.ca(a)};OU.prototype.cb=function(){return hd(this)};OU.prototype.R=function(a){return NU.prototype.c.call(this,a)};OU.prototype.ca=function(){return!0};function CZa(){}l(CZa,n);
  1801. function DZa(a,b){if(a.b.D())return b;var c=a.c.get(b);if(null!=c)return c;for(var d=a.b.h();d.i()&&(c=d.j().a(b),null==c););null==c&&(c=b);a.c.C(b,c);return c}function EZa(){this.a=0}var FZa;l(EZa,z);function GZa(){GZa=function(){};FZa=HZa()}function IZa(){this.a=0}l(IZa,EZa);function HZa(){GZa();var a=new IZa;a.b="DEFAULT";a.a=0;return a}
  1802. IZa.prototype.f=function(){a:switch((Foa(),Doa).a){case 0:case 1:var a=Una();break a;default:throw pb("unsupported source map format").s;}var b=new CZa;b.b=Ll();b.c=bf();b.a=a;return b};IZa.prototype.R=function(a){return EZa.prototype.c.call(this,a)};function JZa(){this.a=0}var KZa,LZa,MZa;l(JZa,z);function NZa(a,b){var c=new JZa;c.b=a;c.a=b;return c}JZa.prototype.R=function(a){return z.prototype.c.call(this,a)};function PU(){PU=function(){};KZa=NZa("OFF",0);LZa=NZa("LOCAL",1);MZa=NZa("ALL",2)}
  1803. function OZa(){}l(OZa,n);function PZa(a){var b=a.c.exec(a.a);return b&&q(b[0],a.a)?!0:!1}function QZa(){}l(QZa,n);function QU(a){var b=new QZa;b.a=new RegExp(a);return b}function RU(a,b){var c=new OZa;a=a.a;c.c=a;c.b=new RegExp(a.source,"g");c.a=b;return c}
  1804. function RZa(){this.Gi=this.g=this.hd=this.ai=this.Th=this.F=this.vd=this.o=this.K=this.Ph=this.lg=this.Oa=this.vg=!1;this.Uj=0;this.yi=this.ri=this.Kb=!1;this.og=0;this.rf=this.Ih=this.tm=this.Hn=this.Kh=this.Hh=this.Yj=this.Kj=this.qg=this.$j=this.hk=this.ak=this.Di=this.kb=this.u=this.ji=this.Sh=this.vf=this.xi=this.v=this.Sj=this.Oh=this.sg=this.rg=this.Ei=this.wd=this.Re=this.ta=this.b=this.Rj=this.ug=this.uf=this.If=this.za=this.vm=this.Ha=this.sf=this.si=this.gi=this.Qh=this.Lb=this.Zj=this.Wh=
  1805. this.Fi=this.wm=this.jc=this.Uh=this.mi=this.Vj=this.Qe=this.ei=this.ii=this.me=this.ne=this.le=this.Ob=this.ge=this.Mh=this.Eh=this.wg=this.$=this.ja=this.zi=this.oi=this.ci=this.Wj=this.tf=this.Ai=this.Nh=!1;this.ng=this.hi=0;this.je=this.oe=this.bk=this.ni=this.Bi=this.Ci=this.ik=this.Tc=this.pe=this.Ln=this.Lh=this.En=this.kg=this.li=!1}var SZa,TZa,UZa,VZa,WZa;l(RZa,n);function XZa(a){return q(a.ke,(wI(),Pya))}function YZa(a){return a.je&&a.oe}
  1806. function ZZa(){$Za();var a=new RZa;a.ti=kj();a.pg=kj();a.Bm=kj();a.vg=!1;a.Oa=!1;a.lg=!0;a.K=!1;a.o=!1;a.vd=!1;a.ke=(wI(),GXa);a.Fn=(oM(),mM);var b=(wU(),vU),c=Ll(),d=new zU;if(!b)throw rb("Null mode").s;d.a=b;if(!c)throw rb("Null entryPoints").s;d.b=c;a.Da=d;a.tn=null;a.Gi=!1;a.Uj=1;a.wm=!0;a.Qh=!1;a.vm=!1;a.Ei=!0;a.$n=null;a.Oh=!0;a.Sh=!0;a.ji=!1;a.u=!1;a.Dn=Ml("./");a.kb=!1;a.Di=!1;a.vl=Ll();a.ak=!1;a.hk=!1;a.ym="// Input %num%";a.ul=Ll();a.lk=Ll();a.f=zYa();a.hi=1;a.ng=500;a.li=!1;a.Vn=w();a.Lf=
  1807. (AZa(),zZa);a.Nn=(GZa(),FZa);a.En=!0;a.Lh=!1;a.Ln=!0;a.On=Ll();a.pe=!1;a.Tc=!0;a.ik=!1;a.ki=WZa;a.Sn=pj(G(QU("^((.*/)?google3/)?((^/)?(blaze|bazel)-out/[^/]+/bin/)?")));a.ni=!0;a.bk=!1;a.Am=kj();a.oe=!0;a.je=!0;a.rl=(AXa(),yXa);a.a=(TJ(),ZAa);Fc(0);a.Un=(wXa(),uXa);a.jk=Vj();a.c=(PL(),RCa);Nl();b=Tl(Ul(["browser","module","main"]));a.bo=b;a.Xj=(SL(),UCa);a.oe=!0;a.je=!0;a.F=!1;a.ie=(dU(),pXa);a.Th=!1;a.ai=!1;a.hd=!1;a.g=!1;a.Vh=(yJ(),vJ);a.Rh=wJ;a.Xh=vJ;a.Zh=vJ;a.kk=null;a.sf=!1;a.tl=null;a.Kb=!1;
  1808. a.ci=!1;a.ri=!1;a.yi=!1;a.mg=(iU(),hU);a.og=-1;a.Ph=!1;a.Nh=!1;a.Ai=!1;a.tf=!1;a.Wj=!1;a.oi=!1;a.zi=!1;a.ja=!1;a.$=!1;a.wg=!1;a.Eh=!1;a.Mh=!1;a.wi=(EXa(),CXa);a.ge=!1;a.Ob=!1;a.le=!1;a.ne=!1;a.me=!1;a.ii=!1;a.ei=!1;a.ah=dm();a.gk="";a.Qe=!1;a.Vj=!1;a.mi=!1;a.Uh=!1;a.Nf=(PU(),KZa);a.Za=(JU(),uZa);a.Fi=!1;a.Lb=!1;a.Wh=!1;a.Zj=!1;a.In=null;a.jd=(gU(),WXa);a.gi=!1;a.si=!1;a.Ha=!1;a.za=!1;a.U=($I(),Dza);a.If=!1;a.uf=!0;a.Tj=fXa();a.ug=!1;a.Mn=null;a.Mf=null;a.Pn=null;a.Qj=null;a.Rj=!1;a.b=!1;a.ta=!1;a.Re=
  1809. !1;a.pa=null;a.Gn=(HU(),qZa);a.wd=!1;a.A=(LXa(),eU);a.Ei=!0;a.rg=!1;a.sg=!1;a.fi=dm();a.bi=dm();a.$h=dm();a.di=dm();a.rb=null;a.ql=bf();a.Be=(jYa(),gYa);a.um=bf();a.Sj=!1;a.v=!1;a.ao=(TXa(),RXa);a.xi=!1;a.vf=!1;a.pi=null;a.ck=null;a.xm=Vj();a.tg=Ll();a.Jn="";a.Kn=dm();a.Jh=bf();a.zm=Vj();a.Ci=!1;a.Bi=!1;a.$j=!1;a.Hh=!1;a.qg=!1;a.Kj=!1;a.Yj=!1;a.Ae=(kU(),jU);a.rf=!1;a.ui=(GU(),jZa);a.kg=!1;a.fk=SZa;a.vi=null;a.Ih=!1;return a}
  1810. function a_a(a){var b=el();for(a=a.V().h();a.i();){var c=a.j(),d=c.M();c=c.O();"boolean"===typeof c?b.L(d,SU(c)):jh(c)?b.L(d,eF(c.xb())):"number"===typeof c?b.L(d,eF(c)):(E(y(c)),b.L(d,ux(c)))}return b.Jb()}function TU(a,b){return a.f.bj(b)}function UU(a,b){return a.f.ih(b)}function zI(a){return a.pg.vn()?a.pg.un():HJ(a.a)}function VU(a,b){return xI(HJ(a.a),b)&&!xI(zI(a),b)}function WU(a,b){return JI(HJ(a.a),b)&&!JI(zI(a),b)}
  1811. RZa.prototype.toString=function(){return Nn(Mn(Mn(Nn(Mn(Mn(Mn(Nn(Nn(Mn(Mn(Mn(Mn(On(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Mn(Nn(Nn(Nn(Nn(Nn(Mn(Nn(Nn(Nn(Mn(Mn(Mn(Mn(Nn(Nn(Mn(Mn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Mn(Mn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Nn(Mn(Mn(Mn(Mn(Nn(Nn(Mn(Mn(Mn(Nn(Nn(Mn(Nn(Mn(Mn(Mn(On(Nn(Mn(On(Nn(Nn(Mn(Mn(Nn(Mn(Mn(Nn(Nn(Nn(Nn(Nn(Mn(Mn(Mn(Mn(Mn(Nn(Nn(Nn(Nn(Mn(Nn(Nn(Nn(Mn(Mn(Mn(Nn(Nn(Nn(Nn(Mn(Nn(Nn(Mn(Nn(Mn(Mn(Mn(Nn(Nn(Nn(Mn(Mn(Mn(Mn(Nn(Nn(Nn(Nn(Mn(Nn(Mn(Mn(Nn(Mn(Nn(Nn(Mn(Mn(Mn(Nn(Nn(Nn(Nn(Nn(Mn(Mn(Nn(Nn(Nn(Mn(Nn(Nn(Mn(Nn(Nn(Nn(Nn(Nn(Nn(Mn(Mn(Mn(Mn(Nn(Mn(Mn(Nn(Nn(Nn(Mn(Nn(Nn(Nn(Mn(Mn(Nn(Mn(Nn(Ln(Qn(this)),"aggressiveFusion",
  1812. !1),"aliasableStrings",this.ah),"aliasAllStrings",this.Qe),"aliasHandler",this.fk),"aliasStringsBlacklist",this.gk),"allowHotswapReplaceScript",this.K),"ambiguateProperties",this.za),"angularPass",this.Re),"anonymousFunctionNaming",this.U),"assumeClosuresOnlyCaptureReferences",this.Nh),"assumeGettersArePure",this.Tc),"assumeStrictThis",this.Ph),"browserResolverPrefixReplacements",this.jk),"brokenClosureRequiresLevel",this.Rh),"checkDeterminism",this.Th),"checkGlobalNamesLevel",this.Vh),"checkGlobalThisLevel",
  1813. this.Xh),"checkMissingGetCssNameBlacklist",this.kk),"checkMissingGetCssNameLevel",this.Zh),"checksOnly",this.v),"checkSuspiciousCode",this.hd),"checkSymbols",this.ai),"checkTypes",this.g),"closurePass",this.b),"coalesceVariableNames",this.ci),"codingConvention",this.Rn),"collapseAnonymousFunctions",this.ei),"collapseObjectLiterals",this.gi),"collapseProperties",this.jd),"collapseVariableDeclarations",this.ii),"colorizeErrorOutput",this.rf),"computeFunctionSideEffects",this.sf),"conformanceConfigs",
  1814. this.ki),"conformanceRemoveRegexFromPath",this.Sn),"continueAfterErrors",this.vd),"convertToDottedProperties",this.mi),"crossChunkCodeMotion",this.tf),"crossChunkCodeMotionNoStubMethods",!1),"crossChunkMethodMotion",this.oi),"cssRenamingMap",this.pi),"cssRenamingWhitelist",this.ck),"customPasses",this.rb),"dartPass",this.wd),"deadAssignmentElimination",this.ri),"debugLogDirectory",this.Tn),"declaredGlobalExternsOnWindow",this.uf),"defineReplacements",a_a(this.ql)),"dependencyOptions",this.Da),"devirtualizeMethods",
  1815. this.si),"devMode",this.ie),"disambiguatePrivateProperties",!1),"disambiguateProperties",this.Ha),"enableModuleRewriting",this.je),"enforceAccessControlCodingConventions",!1),"environment",this.Un),"errorFormat",this.ui),"errorHandler",this.vi),"es6ModuleTranspilation",this.rl),"exportLocalPropertyDefinitions",this.vf),"exportTestFunctions",this.If),"externExports",this.kg),"externExportsPath",this.sl),"extraAnnotationNames",this.tl),"extractPrototypeMemberDeclarations",this.wi),"extraSmartNameRemoval",
  1816. this.Eh),"filesToPrintAfterEachPassRegexList",this.ul),"flowSensitiveInlineVariables",!1),"foldConstants",this.Kb),"forceLibraryInjection",this.vl),"gatherCssNames",!1),"generateExports",this.xi),"generatePseudoNames",this.Lb),"generateTypedExterns",XZa(this)),"idGenerators",this.xm),"idGeneratorsMapSerialized",this.Wn),"incrementalCheckMode",this.ke),"inferConsts",this.lg),"inferTypes",!1),"inlineConstantVars",this.yi),"inlineFunctionsLevel",this.mg),"inlineGetters",this.zi),"inlineLocalVariables",
  1817. this.$),"inlineProperties",this.Ai),"inlineVariables",this.ja),"inputAnonymousFunctionNamingMap",this.Xn),"inputDelimiter",this.ym),"inputPropertyMap",this.Yn),"inputSourceMaps",this.zm),"inputVariableMap",this.Zn),"instrumentForCoverage",this.Ci),"instrumentForCoverageOnly",this.Oa),"instrumentBranchCoverage",this.Bi),"isolatePolyfills",this.Di),"j2clMinifierEnabled",this.Ei),"j2clMinifierPruningManifest",this.$n),"j2clPassMode",this.A),"labelRenaming",this.Fi),"languageIn",this.a),"languageOutIsDefaultStrict",
  1818. this.Bm),"legacyCodeCompile",this.Gi),"lineBreak",this.Kj),"lineLengthThreshold",this.ng),"locale",this.Qj),"markAsCompiled",this.Rj),"maxFunctionSizeAfterInlining",this.og),"messageBundle",this.tn),"moduleRoots",this.Dn),"chunksToPrintAfterEachPassRegexList",this.lk),"moveFunctionDeclarations",this.Sj),"nameGenerator",this.Tj),"optimizeArgumentsArray",!1),"optimizeCalls",!1),"outputCharset",this.ko),"outputFeatureSet",this.pg),"outputJs",this.ao),"outputJsStringUsage",this.Vj),"parentChunkCanSeeSymbolsDeclaredInChildren",
  1819. this.Wj),"parseJsDocDocumentation",this.Fn),"pathEscaper",this.Xj),"polymerVersion",this.pa),"polymerExportPolicy",this.Gn),"preferLineBreakAtEndOfFile",this.Yj),"preferSingleQuotes",this.Hn),"preferStableNames",this.Zj),"preserveDetailedSourceInfo",this.o),"preserveGoogProvidesAndRequires",this.ta),"preserveTypeAnnotations",this.$j),"prettyPrint",this.qg),"preventLibraryInjection",this.ak),"printConfig",this.bk),"printInputDelimiter",this.Hh),"printSourceAfterEachPass",this.Ih),"processCommonJSModules",
  1820. this.u),"propertyInvalidationErrors",this.Jh),"propertyRenaming",this.Za),"protectHiddenSideEffects",!1),"quoteKeywordProperties",this.Kh),"removeAbstractMethods",this.rg),"removeClosureAsserts",this.sg),"removeJ2clAsserts",this.Oh),"removeDeadCode",this.Mh),"removeUnusedClassProperties",this.le),"removeUnusedConstructorProperties",!1),"removeUnusedLocalVars",this.me),"removeUnusedPrototypeProperties",this.ge),"removeUnusedPrototypePropertiesInExterns",this.Ob),"removeUnusedVars",this.ne),"renamePrefixNamespaceAssumeCrossChunkNames",
  1821. this.Qh),"renamePrefixNamespace",this.jb),"renamePrefix",this.In),"replaceIdGenerators",this.Sh),"replaceMessagesWithChromeI18n",!1),"replaceStringsFunctionDescriptions",this.tg),"replaceStringsInputMap",this.co),"replaceStringsPlaceholderToken",this.Jn),"replaceStringsReservedStrings",this.Kn),"reserveRawExports",!1),"rewriteFunctionExpressions",this.Uh),"rewritePolyfills",this.kb),"runtimeTypeCheckLogFunction",this.Mn),"runtimeTypeCheck",this.ug),"shadowVariables",this.Wh),"rewriteModulesBeforeTypechecking",
  1822. this.oe),"skipNonTranspilationPasses",this.F),"smartNameRemoval",this.wg),"sourceMapDetailLevel",this.Lf),"sourceMapFormat",this.Nn),"sourceMapLocationMappings",this.On),"sourceMapOutputPath",this.Yh),"stripNamePrefixes",this.$h),"stripNameSuffixes",this.bi),"stripTypePrefixes",this.di),"stripTypes",this.fi),"summaryDetailLevel",this.hi),"syntheticBlockEndMarker",this.Pn),"syntheticBlockStartMarker",this.Mf),"tcProjectId",this.lo),"tracer",this.Ae),"transformAMDToCJSModules",this.ji),"trustedStrings",
  1823. this.tm),"tweakProcessing",this.Be),"tweakReplacements",a_a(this.um)),"emitUseStrict",this.ti),"useTypesForLocalOptimization",this.jc),"variableRenaming",this.Nf),"warningsGuard",this.f),"wrapGoogModulesForWhitespaceOnly",this.ni).toString()};function jUa(a){return a.Am.Cj($Aa(a.a))}function b_a(a){var b=a.U.f;a.pa&&1<a.pa.xb()?b=b?cna(A([b,TZa],Ob,Pb,2)):TZa:a.Re&&(b=b?cna(A([b,UZa],Ob,Pb,2)):UZa);return b}
  1824. function c_a(a){var b=a.U.f;a.pa&&1<a.pa.xb()&&(b=b?cna(A([b,VZa],Ob,Pb,2)):VZa);return b}function d_a(a){return!a.F&&!a.v&&!XZa(a)&&!a.Oa}function $Za(){$Za=function(){};TZa=Ai("ABCDEFGHIJKLMNOPQRSTUVWXYZ$");VZa=Ai("_$");UZa=A([36],Ob,Pb,1);var a=Ena(gra());WZa=Ml(a);PXa();SZa=new NXa}RZa.prototype.ba=!0;function e_a(){this.b=this.c=!1}l(e_a,n);
  1825. function XU(a,b){var c=new e_a;c.a=a;c.f=b;c.c=P(b);b.m()?(a=b.m().c,c.b=q(a,(H(),At))||q(a,(H(),zt))||q(a,(H(),Bt))||q(a,(H(),cu))||q(a,(H(),du))||q(a,(H(),Ct))):c.b=!1;return c}function f_a(a,b){var c;for(c=b;c&&!q(c,a);c=c.a);return q(c,a)?!0:!a.a&&!b.a}e_a.prototype.toString=function(){return"BasicBlock @ "+r(this.f)};e_a.prototype.ba=!0;function g_a(){}var h_a;l(g_a,n);function i_a(a,b,c){j_a();var d=new g_a,e=ET(b);b=AT(b).gd();d.a=a;d.c=c;d.b=e;d.f=b;return d}g=g_a.prototype;g.toString=function(){return this.a.toString()};
  1826. g.hg=function(){return this.b.T(this.a.l())};g.N=function(){return this.a};g.Me=function(){return Sz(this.a)};function YU(a){var b=a.m();return kA(b)&&!q(a,b.a)||!b.m()||PI(b.m())&&q(a,R(b))?!1:Yw(b)||Xw(b)||Jw(b)||Lx(b)&&$w(b.m())||rH(b)&&$w(b.m())&&q(a,O(b))||vH(b)&&q(a,b.a)?YU(b):GH(b)||Bw(b)&&q(a,O(b))?!0:aH(b)?q(a,b.a):h_a.B(b.c)}function ZU(a){return YU(a.a)&&!gx($U(a))&&!hx($U(a))||!!a.a.a}function aV(a){return sL(a.a)}function $U(a){return a.N().m()}function bV(a){return gG(a.N())}
  1827. function k_a(a){var b=$U(a);return kH(b)&&q(b.a,a.a)}function cV(a){var b=$U(a);switch(b.c.a){case 80:case 104:case 92:return(b=!!a.a.a)||(a=a.a,b=a.m(),b=dV(b)&&q(b.a,a)),b;case 127:return q(b.a,a.a);case 67:case 68:case 82:case 118:case 119:case 48:return!0;case 76:case 77:case 105:case 106:return dV(b)&&q(b.a,a.a);case 97:case 95:case 122:return eV(a.a);default:return XI(b)&&q(b.a,a.a)}}function j_a(){j_a=function(){};h_a=jm((H(),Ft),bu,Rt,Qs,ut,Yt,A([Ht],hs,Qu,1))}g.ba=!0;function l_a(){}
  1828. l(l_a,n);function m_a(){var a=new l_a;a.a=w();return a}g=l_a.prototype;g.h=function(){return this.a.h()};function n_a(a,b){a.a.add(b)}function fV(a){var b=a.a.w();if(0==b)return!1;var c=gV(a);if(!c)return!1;E(YU(a.a.G(0).a));c=c.c;for(var d=1;d<b;d++)if(!f_a(c,a.a.G(d).c))return!1;return!0}function o_a(a,b){if(b<a.a.w()&&0<b){var c=a.a.G(b-1);if(gx($U(c))||hx($U(c)))if(E(!ZU(c)),k_a(a.a.G(b)))return!0}return!1}function gV(a){return ZU(a.a.G(0))?a.a.G(0):o_a(a,1)?a.a.G(1):null}
  1829. function p_a(a){for(var b=a.a.w(),c=0;c<b;c++)if(ZU(a.a.G(c))||o_a(a,c))return a.a.G(c);return null}function hV(a){a:{for(var b=null,c=a.a.w(),d=0;d<c;d++){var e=a.a.G(d);if(cV(e)||ZU(e)){if(b){a=null;break a}b=e}}a=b}if(!a)return!1;for(b=a.c;b;b=b.a)if(b.c){if(!q(WR(a.hg().ya()),WR(a.b)))return!1;break}else if(b.b)return!1;return!0}function q_a(a){for(var b=a.a.w(),c=0;c<b;c++){var d=a.a.G(c);if(cV(d)||ZU(d))return!1}return!0}
  1830. g.toString=function(){return Nn(Nn(Mn(Mn(Qn(this),"initRef",gV(this)),"references",this.a),"wellDefined",fV(this)),"assignedOnce",hV(this)).toString()};g.Z=function(a){xc(this,a)};g.Y=function(){return yc(this)};g.Xa=!0;g.ba=!0;function r_a(){this.b=this.c=0}l(r_a,n);function s_a(){}l(s_a,n);s_a.prototype.a=function(a){return mL(a)?this.b.get(a.va()):null};
  1831. function t_a(a,b,c){G(c);var d=-1,e=b.w(),f=0;F(a.c.X(c),c.a);c=a.c.get(c).xb();for(var h=b.h();h.i();){var k=h.j();G(k.f);k=a.c.get(k.f).xb();if(k<c)d=f;else if(k>c){e=f;break}f++}a=new r_a;a.c=Math.max(d,-1);a.b=Math.min(e,b.w());a.a=b;return a}function u_a(){this.a=0}l(u_a,n);function v_a(){var a=new u_a;a.a=0;return a}u_a.prototype.ba=!0;function w_a(){}l(w_a,Da);function x_a(){}l(x_a,kb);function y_a(){}var z_a,A_a,B_a;l(y_a,n);
  1832. function iV(a){return qga(op(lg(a.a),gj(function(b){return b.b})))}function C_a(a){a=a.a;for(var b=0;b<a.length;b++){var c=a[b];if("$weak$"===c.eb())return c}return null}function jV(a,b,c){return!q(b,c)&&nn(a.b[b.a],c.a)}function D_a(a,b,c){if(q(c,b)||jV(a,c,b))a=b;else if(jV(a,b,c))a=c;else a:{for(var d=Math.min(b.f,c.f)-1;0<=d;d--)for(var e=a.c.G(d),f=e.w()-1;0<=f;f--){var h=e.G(f);if(jV(a,b,h)&&jV(a,c,h)){a=h;break a}}a=null}return a}
  1833. function E_a(a,b){G(a);for(b=Vl(b).h();b.i();){var c=b.j();if(c.Cb().lf()){var d=c.a;q(d,a)||(d&&KDa(d,c),hM(a,c))}}}function F_a(a,b,c,d){var e=w();if(!c.sa(b))return e;for(var f=GL(b.Yd()).h();f.i();){var h=f.j();if(d.X(h))for(h=d.get(h).h();h.i();){var k=h.j();c.B(k)&&e.na(F_a(a,k,c,d))}}e.add(b);return e}
  1834. function G_a(){G_a=function(){};z_a=U("JSC_WEAK_FILE_REACHABLE_FROM_ENTRY_POINT_ERROR","File strongly reachable from an entry point must not be weak: {0}");B_a=U("JSC_EXPLICIT_WEAK_ENTRY_POINT_ERROR","Explicit entry point input must not be weak: {0}");A_a=AJ("JSC_IMPLICIT_WEAK_ENTRY_POINT_ERROR","Implicit entry point input should not be weak: {0}")}y_a.prototype.ba=!0;function H_a(){}l(H_a,n);
  1835. function I_a(a,b,c){J_a();var d=new kV;if(!a)throw rb("Null found").s;d.a=a;if(!b)throw rb("Null required").s;d.b=b;if(!c)throw rb("Null location").s;d.c=c;return d}function J_a(){J_a=function(){};yw()}H_a.prototype.ba=!0;function kV(){}l(kV,H_a);kV.prototype.toString=function(){return"TypeMismatch{found="+r(this.a)+", required="+r(this.b)+", location="+r(this.c)+"}"};kV.prototype.I=function(a){return q(a,this)?!0:a instanceof H_a?this.a.I(a.a)&&this.b.I(a.b)&&cd(this.c,a.c):!1};
  1836. kV.prototype.P=function(){var a=1000003^this.a.P();a=1000003*a^this.b.P();return a=1000003*a^ed(this.c)};function K_a(){}l(K_a,n);function L_a(a,b,c,d){c=M_a(c);d=M_a(d);if(vy(c,d)||vy(d,c))ez(c,d)||ez(d,c)||gy(c)||gy(d)||a.a.add(I_a(c,d,b));else if(gy(c)||gy(d)||a.b.add(I_a(c,d,b)),iy(c)&&iy(d)){c=c.ha();d=d.ha();for(var e=CA(c).h(),f=CA(d).h();e.i()&&f.i();){var h=a,k=b,m=e.j(),p=f.j();m&&p&&!ez(m,p)&&L_a(h,k,m,p)}c=HA(c);d=HA(d);c&&d&&!ez(c,d)&&L_a(a,b,c,d)}}
  1837. function N_a(a,b,c,d){c=c.Ia();d=d.Ia();!O_a(c)||O_a(d)||d.aa()||gy(c)||gy(d)||a.b.add(I_a(c,d,b))}function P_a(a,b,c,d){c=M_a(c);d=M_a(d);if(!d.aa()){var e=!ez(c,d)&&!ez(d,c),f=!vy(c,d)&&!vy(d,c);!e&&!f||gy(c)||gy(d)||a.a.add(I_a(c,d,b))}}function O_a(a){var b=zy(a);return b&&b.Eb()&&"Object"===b.Ba()?!0:hy(a)||ky(a)}function M_a(a){a=a.Ia();var b=zy(a);return b&&yy(b)?uz(b.Xb()):a}K_a.prototype.ba=!0;function lV(){}
  1838. var Q_a,R_a,S_a,mV,T_a,U_a,V_a,W_a,X_a,Y_a,Z_a,$_a,a0a,b0a,c0a,d0a,e0a,f0a,g0a,h0a,i0a,j0a,k0a,l0a;l(lV,n);function m0a(a){a=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return QU(xi(a,"\\{\\d+\\}","\\\\E.*\\\\Q"))}function n0a(a){nV();var b=new o0a;b.c=a;return b}lV.prototype.g=function(a,b,c,d){this.c.rd(null,p0a(a,b,c,d,(yJ(),xJ)))};lV.prototype.f=function(a,b,c,d){this.c.rd(null,p0a(a,b,c,d,(yJ(),wJ)))};
  1839. function p0a(a,b,c,d,e){var f;a:{nV();for(f=Q_a.V().h();f.i();){var h=f.j();if(PZa(RU(h.M(),a))){f=h.O();break a}}f=null}return f?NL(b,c,d,f,A([a],B,y,1)):$Ca(b,c,d,e,R_a,A([a],B,y,1))}
  1840. function nV(){nV=function(){};R_a=U("JSC_PARSE_ERROR","Parse error. {0}");S_a=AJ("JSC_TYPE_PARSE_ERROR","{0}");mV=AJ("JSC_UNRECOGNIZED_TYPE_ERROR","{0}");T_a=AJ("JSC_UNRECOGNIZED_TYPEOF_ERROR","{0}");U_a=BJ("JSC_JSDOC_MISSING_BRACES_WARNING","{0}");V_a=BJ("JSC_JSDOC_MISSING_TYPE_WARNING","{0}");W_a=BJ("JSC_JSDOC_IMPORT_TYPE_WARNING","{0}");X_a=BJ("JSC_TOO_MANY_TEMPLATE_PARAMS","{0}");Y_a=U("JSC_TRAILING_COMMA","Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly. If you are targeting newer versions of JS, set the appropriate language_in option.");
  1841. Z_a=U("JSC_DUPLICATE_PARAM","Parse error. {0}");$_a=BJ("JSC_UNNECESSARY_ESCAPE","Parse error. {0}");a0a=AJ("JSC_INVALID_PARAM","Parse error. {0}");b0a=AJ("JSC_BAD_JSDOC_ANNOTATION","Parse error. {0}");c0a=AJ("JSC_INVALID_ES3_PROP_NAME","Keywords and reserved words are not allowed as unquoted property names in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.");d0a=U("JSC_PARSE_TREE_TOO_DEEP","Parse tree too deep.");e0a=AJ("JSC_INVALID_OCTAL_LITERAL",
  1842. "This style of octal literal is not supported in strict mode.");f0a=AJ("JSC_STRING_CONTINUATION","{0}");g0a=U("JSC_LANGUAGE_FEATURE","{0}.");h0a=U("JSC_UNSUPPORTED_LANGUAGE_FEATURE","{0}.");i0a=U("JSC_ES6_TYPED","{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features.");j0a=U("JSC_MISPLACED_TYPE_SYNTAX","Can only have JSDoc or inline type annotations, not both");k0a=U("JSC_UNSUPPORTED_BOUNDED_GENERIC_TYPES","Bounded generic semantics are currently still in development");l0a=U("JSC_BOUNDED_GENERIC_TYPE_ERROR",
  1843. "Bounded generic type error. {0} assigned to template type {1} is not a subtype of bound {2}");Q_a=el().L(QU("Trailing comma is not legal in an ECMA-262 object initializer"),Y_a).L(m0a('Duplicate parameter name "{0}"'),Z_a).L(QU("Unnecessary escape:.*"),$_a).L(QU("^invalid param name.*"),a0a).L(m0a(ay("msg.bad.jsdoc.tag",[])),b0a).L(QU("^Keywords and reserved words are not allowed as unquoted property.*"),c0a).L(QU("^Too many template parameters\n.*"),X_a).L(QU(".*Type annotations should have curly braces.*"),
  1844. U_a).L(QU("Missing type declaration\\."),V_a).L(QU(".*Unknown type.*"),mV).L(QU(".*Unknown type.*\n.*"),mV).L(QU("^Missing type for `typeof` value.*"),T_a).L(QU("^Bad type annotation. Import in typedef.*"),W_a).L(QU("^Bad type annotation.*"),S_a).L(QU("Too deep recursion while parsing"),d0a).L(QU("^Octal .*literal.*"),e0a).L(QU("^String continuations.*"),f0a).L(QU("^This language feature is only supported for .*"),g0a).L(QU("^This language feature is not currently supported by the internalReporter: .*"),
  1845. h0a).L(QU("^type syntax is only supported in ES6 typed mode.*"),i0a).L(QU("^Can only have JSDoc or inline type.*"),j0a).L(QU("Bounded generic semantics are currently still in development"),k0a).L(QU("^Bounded generic type error.*"),l0a).Jb()}function o0a(){}l(o0a,lV);o0a.prototype.a=function(a,b,c,d){lV.prototype.f.call(this,a,b,c,d)};o0a.prototype.b=function(a,b,c,d){lV.prototype.g.call(this,a,b,c,d)};function q0a(){}l(q0a,vB);g=q0a.prototype;g.Oc=function(){return!0};
  1846. g.qk=function(a){return a.b?a.b.La(this):!0};g.Ve=function(a){for(var b=CA(a).h();b.i();)if(!b.j().La(this))return!1;return HA(a).La(this)};g.Ni=function(a){return a.b.La(this)};g.yg=function(a){for(a=Zy(a).h();a.i();)if(!a.j().La(this))return!1;return!0};g.Ui=function(a){for(var b=a.c.Ma().a,c=0;c<a.Td().w();c++){var d=a.Td().G(c);if(c<b.w()){var e=b.G(c);if(!vy(d,e.g))return oV(this.a,d,e.g,V(this.b,(nV(),l0a),A([d.toString(),e.Ba(),e.g.toString()],B,y,1))),!1}}return!0};
  1847. g.Ti=function(a){return!$ta(a)&&a.g.La(this)};function r0a(){}var s0a,t0a,pV,qV,rV,u0a,v0a,w0a,sV,x0a,y0a,z0a,A0a,B0a;l(r0a,n);function C0a(a){tV();return a?(a=Fy(zy(a.Fc())))&&a.xa()?Tz(a):null:null}function uV(a,b,c,d){c.Qc()||vV(a,b,d,c,(I(),Tv))}function wV(a,b,c,d){if(jy(c))for(var e=Zy(c.nb()).h();e.i();){var f=e.j();f=f.rc()?f.rc():f;if(!vy(f,xV(a,(I(),Hv))))return vV(a,b,d,c,(I(),Hv)),!1}else if(!vy(c.rc()?c.rc():c,xV(a,(I(),Hv))))return vV(a,b,d,c,(I(),Hv)),!1;return!0}
  1848. function D0a(a,b,c,d){var e=OUa(c,a.a);if(e.a){if(!e.a)throw pb("Type was not boxable to iterable or async iterable!").s;return Zca(e.a)}yV(a,b,d,c,a.u);return Af()}function zV(a,b,c,d){c.$b()?AV(a,b,c,d):vV(a,b,d,c,(I(),Pv))}function AV(a,b,c,d){vy(c,xV(a,(I(),Pv)))||BV(a,b,pV,d,c,xV(a,(I(),Pv)),null,null)}function E0a(a,b,c,d){c.$b()||vy(c,a.g)?AV(a,b,c,d):yV(a,b,d,c,a.g)}function F0a(a,b,c,d){c.$b()||c.fc()||c.fc()?G0a(a,b,c,d):vV(a,b,d,c,(I(),qw))}
  1849. function G0a(a,b,c,d){vy(c,xV(a,(I(),vw)))||BV(a,b,pV,d,c,xV(a,(I(),vw)),null,null)}function H0a(a,b,c,d,e,f){if(!d.xc()&&!d.aa()&&vy(d,a.v)&&!I0a(d)){if(N(c)&&!IT(b)&&d.Kc())return!0;yV(a,c,e,d,f);return!1}return!0}function I0a(a){if(jy(a))for(var b=Zy(a.nb()).h();b.i();){var c=b.j();if(I0a(c))return!0}return a.wc()}
  1850. function J0a(a,b,c,d){F(DH(b)||rH(b),b);var e=DH(b)?O(b):b.a;if(!d.Ul())if(c.aa())d.$b()||d.fc()||d.we()?G0a(a,e,d,"property access"):vV(a,e,"property access",d,(I(),vw));else{var f=zy(c.Fc());f&&pB(f.Ma(),pC(a.a))?CV(a,e,d,sB(f.Ma(),pC(a.a)),"restricted index type"):f&&f.Af()?d.$b()||d.we()||vV(a,e,"array access",d,(I(),ow)):c.be()?X(a.c,V(e,qV,A(["'[]'","struct"],B,y,1))):c.Qc()?d.fc()||d.we()||vV(a,e,"property access",d,(I(),pw)):yV(a,b,"only arrays or objects can be accessed",c,GC(a.a,A([(I(),
  1851. pv),Tv],ov,xw,1)))}}function K0a(a,b,c,d,e,f){return L0a(a,b,c,d,Mi(e.f,"%s has no JSType attached",e),ij(function(){return CC(a.a,e,!0)}),f)}
  1852. function L0a(a,b,c,d,e,f,h){if(gy(d)){e=d.bf();if(Ara(c,e)||c.aa()||e.aa())return!0;BV(a,b,rV,"assignment to property "+r(h)+" of "+r(f.f()),c,d,ef(),ef());return!1}if(!d.xc()&&!vy(c,d)){if(e.mc()&&zy(e).vc().Ja()&&iy(c)&&iy(d))return!0;yV(a,b,"assignment to property "+r(h)+" of "+r(f.f()),c,d);return!1}d.xc()||ez(c,d)||(P_a(a.b,b,c,d),N_a(a.b,b,c,d));return!0}
  1853. function CV(a,b,c,d,e){if(gy(d)){var f=d.bf();Ara(c,f)||c.aa()||f.aa()||BV(a,b,rV,e,c,d,ef(),ef())}else vy(c,d)?ez(c,d)||(P_a(a.b,b,c,d),N_a(a.b,b,c,d)):yV(a,b,e,c,d)}
  1854. function M0a(a,b,c,d,e,f,h,k){(b=f.qa())&&!q(b,qy(a.a,(I(),ew)))&&k&&!q(k,qy(a.a,(I(),ew)))&&(f.c?N0a(a.c,f.a)||(k.I(b)?yH(kL(f))||X(a.c,V(d,sV,A([h,TUa(f),""+XA(f.a)],B,y,1))):X(a.c,V(d,w0a,A([h,k.toString(),TUa(f),""+XA(f.a),b.toString()],B,y,1)))):(a=f.ya(),PR(a,f),cS(a,h,d,b,c,!1),Q(d,b),gx(e)?d.a&&Q(d.a,b):(E(P(e)||kA(e)),Q(e,b))))}function O0a(a,b,c){for(var d=Tz(c),e=nta(c).h();e.i();){var f=e.j();P0a(a,b,d,f)}for(c=c.u.h();c.i();)e=c.j(),P0a(a,b,d,e)}
  1855. function P0a(a,b,c,d){for(var e=d.Hc().h();e.i();){var f=e.j();Q0a(a,b,c,d,f)}if(d.Va())for(e=d.Va().Hc().h();e.i();)f=e.j(),Q0a(a,b,c,d,f)}function Q0a(a,b,c,d,e){var f=dsa(c,e);if(!f||!c.ua().Ja()&&zsa(f))c.ua().A||c.ua().Ja()||oV(a,c,d,V(b,x0a,A([e,d.Ba(),c.toString()],B,y,1)));else if(ysa(f).I(c)||!c.ua().Ja()){f=f.b;var h=f.hb()?f.hb().N():null;R0a(a,h?h:b,c,d,e,f.qa())}}
  1856. function R0a(a,b,c,d,e,f){var h=d.Sa(e),k=c.Ma();!k.a.D()&&Hy(h)&&(h=h.La(Ty(a.a,k,!1,!1,!1)));hz(f,h,a.f)||(b=V(b,d.ua().Ja()?y0a:z0a,A([e,d.Ba(),h.toString(),f.toString(),c.toString()],B,y,1)),oV(a,f,h,b))}function vV(a,b,c,d,e){yV(a,b,c,d,xV(a,e))}
  1857. function yV(a,b,c,d,e){if(!hz(d,e,a.f)){var f=null,h=null;if(e.Kg()){f=xm();h=xm();var k=zy(e),m=zy(d);if(k&&m)for(var p=Vz(k.lc()).h();p.i();){var t=p.j(),v=k.Sa(t),C=ty(m,t);if(!v.vj()||C)C?hz(m.Sa(t),v,a.f)||h.add(t):f.add(t)}}BV(a,b,rV,c,d,e,f,h)}}
  1858. function BV(a,b,c,d,e,f,h,k){var m=e.toString(),p=f.toString();q(m,p)&&(m=oz(e,(pz(),bD)),p=oz(f,bD));var t="",v="";h&&!h.D()&&(t=tk(qk(","),h));k&&!k.D()&&(v=tk(qk(","),k));d=0<t.length||0<v.length?Zx("{0}\nfound : {1}\nrequired: {2}\nmissing : [{3}]\nmismatch: [{4}]",[d,m,p,t,v]):Zx("{0}\nfound : {1}\nrequired: {2}",[d,m,p]);b=V(b,c,A([d],B,y,1));oV(a,e,f,b)}function oV(a,b,c,d){X(a.c,d);L_a(a.b,d.f,b,c)}function xV(a,b){return qy(a.a,b)}
  1859. function N0a(a,b){tV();b=V(b,sV,A(["dummy","dummy"],B,y,1));a=S0a(a,b);return q(a,(yJ(),vJ))}
  1860. function tV(){tV=function(){};v0a=AJ("JSC_INVALID_CAST","invalid cast - must be a subtype or supertype\nfrom: {0}\nto : {1}");rV=AJ("JSC_TYPE_MISMATCH","{0}");t0a=AJ("JSC_INVALID_ASYNC_RETURN_TYPE","The return type of an async function must be a supertype of Promise\nfound: {0}");pV=BJ("JSC_INVALID_OPERAND_TYPE","{0}");u0a=AJ("JSC_MISSING_EXTENDS_TAG","Missing @extends tag on type {0}");sV=AJ("JSC_DUP_VAR_DECLARATION","variable {0} redefined, original definition at {1}:{2}");w0a=AJ("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",
  1861. "variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}");x0a=AJ("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED","property {0} on interface {1} is not implemented by type {2}");y0a=AJ("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH","mismatch of the {0} property on type {4} and the type of the property it overrides from interface {1}\noriginal: {2}\noverride: {3}");z0a=AJ("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH","mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}");
  1862. A0a=AJ("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED","property {0} on abstract class {1} is not implemented by type {2}");s0a=AJ("JSC_UNKNOWN_TYPEOF_VALUE","unknown type: {0}");qV=AJ("JSC_ILLEGAL_PROPERTY_ACCESS","Cannot do {0} access on a {1}");B0a=nU(A([A0a,sV,w0a,y0a,qV,x0a,t0a,v0a,u0a,rV,s0a],zJ,CJ,1))}r0a.prototype.ba=!0;function T0a(){}l(T0a,n);function U0a(){var a=new T0a;a.a=vp();return a}T0a.prototype.ba=!0;function V0a(){}l(V0a,n);function W0a(){}l(W0a,V0a);W0a.prototype.f=function(){};
  1863. function X0a(){this.a=0}var Y0a,Z0a,$0a,DV,a1a;l(X0a,z);function EV(a,b){var c=new X0a;c.b=a;c.a=b;return c}function b1a(a){return a.I(Y0a)||a.I(Z0a)||a.I($0a)}X0a.prototype.R=function(a){return z.prototype.c.call(this,a)};function FV(){FV=function(){};DV=EV("EXPORT",0);a1a=EV("IMPORT",1);Y0a=EV("GOOG_REQUIRE",2);Z0a=EV("GOOG_REQUIRE_TYPE",3);$0a=EV("GOOG_FORWARD_DECLARE",4)}function c1a(){this.a=0}var GV,HV,d1a,e1a,f1a,IV;l(c1a,z);function JV(a,b,c){var d=new c1a;d.b=a;d.a=b;d.f=c;return d}
  1864. c1a.prototype.R=function(a){return z.prototype.c.call(this,a)};function KV(){KV=function(){};GV=JV("ES6_MODULE",0,"an ES6 module");HV=JV("GOOG_PROVIDE",1,"a goog.provide'd file");d1a=JV("GOOG_MODULE",2,"a goog.module");e1a=JV("LEGACY_GOOG_MODULE",3,"a goog.module");f1a=JV("COMMON_JS",4,"a CommonJS module");IV=JV("SCRIPT",5,"a script")}function g1a(){}l(g1a,n);function h1a(a){var b=new LV;i1a(b).W(a);return b}function j1a(){}l(j1a,n);function MV(a){return q(a.f,(KV(),GV))}
  1865. function NV(a){return q(a.f,(KV(),d1a))||OV(a)}function OV(a){return q(a.f,(KV(),e1a))}function PV(a){return q(a.f,(KV(),HV))}j1a.prototype.I=function(a){return n.prototype.I.call(this,a)};j1a.prototype.P=function(){return n.prototype.P.call(this)};function k1a(){this.g=this.u=!1}l(k1a,j1a);
  1866. k1a.prototype.toString=function(){return"ModuleMetadata{moduleType="+r(this.f)+", rootNode="+r(this.c)+", usesClosure="+this.u+", isTestOnly="+this.g+", googNamespaces="+r(this.b)+", stronglyRequiredGoogNamespaces="+r(this.A)+", weaklyRequiredGoogNamespaces="+r(this.F)+", es6ImportSpecifiers="+r(this.v)+", nestedModules="+r(this.o)+", path="+r(this.a)+"}"};function LV(){}l(LV,g1a);function QV(a,b){if(!b)throw rb("Null moduleType").s;a.c=b;return a}
  1867. function RV(a){if(!a.c)throw pb('Property "moduleType" has not been set').s;return a.c}function l1a(a,b){a.pa=b;return a}function SV(a,b){a.$=b;return a}function TV(a,b){a.U=b;return a}function i1a(a){a.b||(a.b=Nm());return a.b}function m1a(a,b){a.ja=b;return a}
  1868. function n1a(a){a.b?a.v=a.b.fa():a.v||(a.v=Mm());a.g?a.F=a.g.fa():a.F||(a.F=Mm());a.o?a.K=a.o.fa():a.K||(a.K=Mm());a.a?a.u=a.a.fa():a.u||(a.u=Mm());a.f?a.A=a.f.fa():a.A||(a.A=Ll());var b="";a.c||(b=r(b)+" moduleType");null==a.$&&(b=r(b)+" usesClosure");null==a.U&&(b=r(b)+" isTestOnly");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.$;var c=a.U,d=new k1a,e=a.pa,f=a.v,h=a.F,k=a.K,m=a.u,p=a.A,t=a.ja;d.f=a.c;d.c=e;d.u=b;d.g=c;d.b=f;d.A=h;d.F=k;d.v=m;d.o=p;d.a=t;return d}
  1869. function o1a(){}l(o1a,n);
  1870. function UV(a){a=p1a(a);MV(a.o)?(E(null==a.v),F("*"!==a.g||null!=a.f&&null==a.b&&null==a.a,"Star exports should not have exported / local names."),F(null==a.a||null==a.f,"Local exports should not have module requests."),F(null==a.f||null==a.a,"Reexports should not have local names."),F(null==a.f||null!=a.g,"Reexports should have import names."),F(null==a.g||null!=a.f,"Exports with an import name should be a reexport.")):NV(a.o)?(F(null!=a.v,"Exports should be associated with a namespace"),F(null!=
  1871. a.b,"Exports should be named"),F(!!a.c,"Exports should have a node"),F(null==a.a,"goog.module Exports don't set a localName"),F(null==a.f,"goog modules cannot export from other modules")):(G(a.b),E(!a.c),E(null==a.a),E(null==a.f),E(null==a.g),E(!a.u));return a}function q1a(){}l(q1a,n);function VV(){this.F=!1}l(VV,q1a);
  1872. VV.prototype.toString=function(){return"Export{exportName="+r(this.b)+", moduleRequest="+r(this.f)+", importName="+r(this.g)+", localName="+r(this.a)+", modulePath="+r(this.A)+", exportNode="+r(this.c)+", nameNode="+r(this.u)+", moduleMetadata="+r(this.o)+", closureNamespace="+r(this.v)+", mutated="+this.F+"}"};
  1873. VV.prototype.I=function(a){return q(a,this)?!0:a instanceof q1a?(null==this.b?null==a.b:q(this.b,a.b))&&(null==this.f?null==a.f:q(this.f,a.f))&&(null==this.g?null==a.g:q(this.g,a.g))&&(null==this.a?null==a.a:q(this.a,a.a))&&(this.A?cd(this.A,a.A):!a.A)&&(this.c?cd(this.c,a.c):!a.c)&&(this.u?cd(this.u,a.u):!a.u)&&this.o.I(a.o)&&(null==this.v?null==a.v:q(this.v,a.v))&&this.F==a.F:!1};
  1874. VV.prototype.P=function(){var a=1000003^(null==this.b?0:Yg(this.b));a=1000003*a^(null==this.f?0:Yg(this.f));a=1000003*a^(null==this.g?0:Yg(this.g));a=1000003*a^(null==this.a?0:Yg(this.a));a=1000003*a^(this.A?ed(this.A):0);a=1000003*a^(this.c?ed(this.c):0);a=1000003*a^(this.u?ed(this.u):0);a=1000003*a^this.o.P();a=1000003*a^(null==this.v?0:Yg(this.v));return a=1000003*a^(this.F?1231:1237)};function r1a(){}l(r1a,o1a);function WV(a){var b=s1a(new r1a,!1);b.f=a;return b}
  1875. function XV(a,b){a.A=b;return a}function YV(a,b){a.o=b;return a}function ZV(a,b){a.u=b;return a}function $V(a,b){a.v=b;return a}function aW(a,b){a.g=b;return a}function t1a(a,b){a.F=b;return a}function bW(a,b){if(!b)throw rb("Null moduleMetadata").s;a.a=b;return a}function u1a(a,b){a.c=b;return a}function s1a(a,b){a.b=b;return a}
  1876. function p1a(a){var b="";a.a||(b=r(b)+" moduleMetadata");null==a.b&&(b=r(b)+" mutated");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.b;var c=new VV,d=a.A,e=a.o,f=a.u,h=a.v,k=a.g,m=a.F,p=a.a,t=a.c;c.b=a.f;c.f=d;c.g=e;c.a=f;c.A=h;c.c=k;c.u=m;c.o=p;c.v=t;c.F=b;return c}function v1a(){}l(v1a,n);function cW(a,b){return w1a(a.o,b,a,!1,a.v,(FV(),DV))}function dW(){this.c=!1}l(dW,v1a);
  1877. function w1a(a,b,c,d,e,f){var h=new dW;if(!a)throw rb("Null metadata").s;h.b=a;h.f=b;h.a=c;h.c=d;h.g=e;if(!f)throw rb("Null createdBy").s;h.o=f;return h}dW.prototype.toString=function(){return"Binding{metadata="+r(this.b)+", sourceNode="+r(this.f)+", originatingExport="+r(this.a)+", isModuleNamespace="+this.c+", closureNamespace="+r(this.g)+", createdBy="+r(this.o)+"}"};
  1878. dW.prototype.I=function(a){return q(a,this)?!0:a instanceof v1a?this.b.I(a.b)&&(this.f?cd(this.f,a.f):!a.f)&&(this.a?cd(this.a,a.a):!a.a)&&this.c==a.c&&(null==this.g?null==a.g:q(this.g,a.g))&&cd(this.o,a.o):!1};dW.prototype.P=function(){var a=1000003^this.b.P();a=1000003*a^(this.f?ed(this.f):0);a=1000003*a^(this.a?ed(this.a):0);a=1000003*a^(this.c?1231:1237);a=1000003*a^(null==this.g?0:Yg(this.g));return a=1000003*a^ed(this.o)};function x1a(){}l(x1a,n);function eW(){}l(eW,x1a);
  1879. function y1a(a,b){var c=new eW;if(!a)throw rb("Null module").s;c.b=a;if(null==b)throw rb("Null exportName").s;c.a=b;return c}eW.prototype.toString=function(){return"ExportTrace{module="+r(this.b)+", exportName="+r(this.a)+"}"};eW.prototype.I=function(a){return q(a,this)?!0:a instanceof x1a?this.b.I(a.b)&&q(this.a,a.a):!1};eW.prototype.P=function(){var a=1000003^this.b.P();return a=1000003*a^Yg(this.a)};function z1a(){}l(z1a,n);function A1a(){}l(A1a,n);function fW(){}l(fW,A1a);
  1880. fW.prototype.toString=function(){return"Import{moduleRequest="+r(this.b)+", importName="+r(this.c)+", localName="+r(this.g)+", modulePath="+r(this.o)+", importNode="+r(this.a)+", nameNode="+r(this.f)+"}"};fW.prototype.I=function(a){return q(a,this)?!0:a instanceof A1a?q(this.b,a.b)&&q(this.c,a.c)&&q(this.g,a.g)&&(this.o?cd(this.o,a.o):!a.o)&&cd(this.a,a.a)&&cd(this.f,a.f):!1};
  1881. fW.prototype.P=function(){var a=1000003^Yg(this.b);a=1000003*a^Yg(this.c);a=1000003*a^Yg(this.g);a=1000003*a^(this.o?ed(this.o):0);a=1000003*a^ed(this.a);return a=1000003*a^ed(this.f)};function B1a(){}l(B1a,z1a);function gW(a){var b=new B1a;if(null==a)throw rb("Null moduleRequest").s;b.f=a;return b}function hW(a,b){if(null==b)throw rb("Null importName").s;a.a=b;return a}function iW(a,b){if(null==b)throw rb("Null localName").s;a.c=b;return a}function C1a(a,b){a.o=b;return a}
  1882. function jW(a,b){if(!b)throw rb("Null importNode").s;a.b=b;return a}function kW(a,b){if(!b)throw rb("Null nameNode").s;a.g=b;return a}function lW(a){var b="";null==a.f&&(b=r(b)+" moduleRequest");null==a.a&&(b=r(b)+" importName");null==a.c&&(b=r(b)+" localName");a.b||(b=r(b)+" importNode");a.g||(b=r(b)+" nameNode");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=new fW;var c=a.a,d=a.c,e=a.o,f=a.b,h=a.g;b.b=a.f;b.c=c;b.g=d;b.o=e;b.a=f;b.f=h;return b}function D1a(){this.a=0}
  1883. var E1a,F1a,G1a,H1a;l(D1a,z);function I1a(a,b){var c=new D1a;c.b=a;c.a=b;return c}D1a.prototype.R=function(a){return z.prototype.c.call(this,a)};function mW(){mW=function(){};E1a=I1a("RESOLVED",0);F1a=I1a("AMBIGUOUS",1);G1a=I1a("NOT_FOUND",2);H1a=I1a("ERROR",3)}function J1a(){}var K1a,L1a,nW;l(J1a,n);function oW(a,b){var c=new J1a;c.a=a;c.b=b;return c}function pW(a,b,c){G(b);if(a.a){var d=a.a;G(b);b=w1a(d.b,b,d.a,d.c,d.g,c);a=oW(b,a.b)}return a}function M1a(a){return q(a.b,(mW(),H1a))}
  1884. function qW(a){return q(a.b,(mW(),F1a))}function N1a(a){return q(a.b,(mW(),E1a))}function O1a(a){return!q(a.b,(mW(),G1a))}function rW(a){sW();G(a);return oW(a,(mW(),E1a))}function sW(){sW=function(){};K1a=oW(null,(mW(),F1a));L1a=oW(null,G1a);nW=oW(null,H1a)}function tW(){}l(tW,n);function P1a(a,b){return a.bl(b,null)}tW.prototype.al=function(a,b){return this.bg(a,null,b,ef(),ef())};tW.prototype.I=function(a){return n.prototype.I.call(this,a)};tW.prototype.P=function(){return n.prototype.P.call(this)};
  1885. function Q1a(){}l(Q1a,n);function R1a(){}l(R1a,n);function uW(){}l(uW,R1a);uW.prototype.toString=function(){return"Module{metadata="+r(this.a)+", path="+r(this.f)+", namespace="+r(this.ld)+", boundNames="+r(this.Od)+", localNameToLocalExport="+r(this.g)+", closureNamespace="+r(this.b)+", unresolvedModule="+r(this.c)+"}"};
  1886. uW.prototype.I=function(a){return q(a,this)?!0:a instanceof R1a?this.a.I(a.a)&&(this.f?cd(this.f,a.f):!a.f)&&this.ld.I(a.ld)&&this.Od.I(a.Od)&&this.g.I(a.g)&&(null==this.b?null==a.b:q(this.b,a.b))&&this.c.I(a.c):!1};uW.prototype.P=function(){var a=1000003^this.a.P();a=1000003*a^(this.f?ed(this.f):0);a=1000003*a^this.ld.P();a=1000003*a^this.Od.P();a=1000003*a^this.g.P();a=1000003*a^(null==this.b?0:Yg(this.b));return a=1000003*a^this.c.P()};function vW(){}l(vW,Q1a);
  1887. function S1a(a,b){if(!b)throw rb("Null metadata").s;a.f=b;return a}function T1a(a,b){a.u=b;return a}function U1a(a,b){if(!b)throw rb("Null namespace").s;a.g=b;return a}function wW(a,b){if(!b)throw rb("Null boundNames").s;a.a=b;return a}function V1a(a,b){if(!b)throw rb("Null localNameToLocalExport").s;a.c=b;return a}function W1a(a,b){if(!b)throw rb("Null unresolvedModule").s;a.o=b;return a}
  1888. function xW(a){var b="";a.f||(b=r(b)+" metadata");a.g||(b=r(b)+" namespace");a.a||(b=r(b)+" boundNames");a.c||(b=r(b)+" localNameToLocalExport");a.o||(b=r(b)+" unresolvedModule");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=new uW;var c=a.u,d=a.g,e=a.a,f=a.c,h=a.b,k=a.o;b.a=a.f;b.f=c;b.ld=d;b.Od=e;b.g=f;b.b=h;b.c=k;return b}function X1a(){}l(X1a,n);function Y1a(a,b){var c=new X1a;c.b=a;c.a=b;return c}function yW(a,b){b=BL(b);return a.b.get(b)}function Z1a(){}l(Z1a,n);
  1889. function $1a(a,b){var c=new Z1a;c.b=il(a);c.a=il(b);c.c=Nj().fb(a.values()).fb(b.values()).fa();return c}function zW(){}l(zW,n);zW.prototype.Ca=function(a){return this.ca(a)};zW.prototype.cb=function(){return hd(this)};zW.prototype.ca=function(a){return q(a.c,this.a)};function AW(a){this.b=a}l(AW,n);AW.prototype.a=function(a){var b=this.b;b(a)};function a2a(){}l(a2a,n);a2a.prototype.a=function(){this.b[0]++};function BW(){this.a=0}l(BW,n);BW.prototype.Ca=function(a){return this.ca(a)};
  1890. BW.prototype.cb=function(){return hd(this)};BW.prototype.ca=function(){return this.b[0]<this.a};function b2a(){}l(b2a,n);g=b2a.prototype;g.Hb=function(a){a=ET(a);if(fL(a))for(a=TR(a).h();a.i();){var b=a.j();this.a.C(b.va(),b);this.b.add(b)}};g.Tb=function(){};g.ga=function(a,b){return NH(b)};g.J=function(){};g.la=!0;g.ic=!0;function c2a(){}l(c2a,n);g=c2a.prototype;g.Hb=function(a){for(a=TR(ET(a)).h();a.i();){var b=a.j();this.a.C(b.va(),b);this.b.add(b)}};g.Tb=function(){};
  1891. g.ga=function(a,b){return!P(b)||q(b,this.c.ka())};g.J=function(){};g.la=!0;g.ic=!0;function CW(){}l(CW,n);function d2a(a){var b=new CW;b.a=a;return b}CW.prototype.Ca=function(a){return this.ca(a)};CW.prototype.cb=function(){return hd(this)};CW.prototype.ca=function(a){return L(a)&&li(a.l(),this.a)};function DW(){}l(DW,n);DW.prototype.Ca=function(a){return this.ca(a)};DW.prototype.cb=function(){return hd(this)};DW.prototype.ca=function(a){return q(a.c,this.a)};function e2a(){}l(e2a,Gk);
  1892. e2a.prototype.c=function(){for(;this.a&&!ZH(this.a);)this.a=this.a.b;if(this.a){var a=this.a.a;this.a=this.a.b;return a}return Hk(this)};e2a.prototype.ea=function(a){Bb(this,a)};function EW(){}l(EW,n);function f2a(a){var b=new EW;E(yya(a));b.a=a;return b}EW.prototype.h=function(){var a=new e2a;a.f=this;Ik(a);a.a=a.f.a.a;return a};EW.prototype.Z=function(a){xc(this,a)};EW.prototype.Y=function(){return yc(this)};EW.prototype.Xa=!0;function g2a(){this.a=0}var FW,h2a,GW,HW,IW,JW,KW;l(g2a,z);
  1893. function LW(a,b){var c=new g2a;c.b=a;c.a=b;return c}g2a.prototype.R=function(a){return z.prototype.c.call(this,a)};function MW(){MW=function(){};FW=LW("UNDETERMINED",0);h2a=LW("NULL",1);GW=LW("VOID",2);HW=LW("NUMBER",3);IW=LW("STRING",4);JW=LW("BOOLEAN",5);KW=LW("OBJECT",6)}function i2a(){}l(i2a,n);i2a.prototype.a=function(a){if(L(a)){var b=a.m();b&&gx(b)&&(b=a.l(),this.b.qb(b,a))}};function j2a(){}l(j2a,n);j2a.prototype.Ji=function(){};function k2a(){}l(k2a,n);k2a.prototype.a=function(a){return this.b.get(a)};
  1894. k2a.prototype.toString=function(){return ze(this.b)};function l2a(){}var NW;l(l2a,n);function OW(a,b,c){PW();var d=new l2a;m2a(d,a,b,c,hk());return d}function n2a(a,b,c,d){PW();var e=new l2a;m2a(e,a,b,c,d);return e}function m2a(a,b,c,d,e){a.b=Uf();a.a=w();a.o=ef();a.u=ef();a.c=b;a.v=c;a.f=d;a.A=e}g=l2a.prototype;g.H=function(a,b){sT(mT(this.c,this,this.f),a,b)};function o2a(a,b){nT(mT(a.c,a,a.f),b)}
  1895. function p2a(a,b){var c=!ZUa(b);a.g=b;c&&a.a.add(XU(null,b.ka()));wT(mT(a.c,a,a.f),b);c&&(b=a.a,b.Wa(b.w()-1));a.g=null}g.ra=function(a){Y(this.c,a,this)};g.Ee=function(){return this.b.oa()};
  1896. g.J=function(a,b,c){if(L(b)||Cw(b)){if(Bw(c)&&!q(b,O(c))||uya(c)&&!q(b,c.a))return;var d=ET(a).T(b.l());if(d&&(this.A.ca(d)&&q2a(this,d,i_a(b,a,rp(this.a))),kL(d)&&QW(kL(d))&&(!this.g||this.g.hf()<=d.ya().hf())&&!this.o.B(d))){this.o.add(d);a=kL(d);F(QW(a),a);var e=d.ya(),f=null;if(nL(e))f=w(),f.add(this.a.G(0));else for(var h=0;h<this.a.w();h++)q(this.a.G(h).f,e.ka())&&(f=Jd(this.a.Gb(0,h+1)));G(f);h=this.a;this.a=f;f=mT(this.c,this,this.f);G(e);F(P(a),a);G(e.ka());oT(f,a);f.a=a.m();vT(f,e,!0);qT(f,
  1897. a,f.a);SWa(f,!0);this.a=h;this.u.add(d)}}r2a(b,c)&&(b=this.a,b.Wa(b.w()-1))};g.Hb=function(a){var b=HT(a),c=this.a.D()?null:rp(this.a);DT(HT(a))&&this.a.add(XU(c,b))};g.Tb=function(a){if(DT(HT(a))){var b=this.a;b.Wa(b.w()-1)}b=new k2a;b.b=this.b;this.v.Ji(a,b)};g.ga=function(a,b,c){if(QW(b)){var d=b.a;d=ET(a).T(d.l());G(d);if(this.u.B(d))return!1;this.o.add(d)}r2a(b,c)&&this.a.add(XU(rp(this.a),b));return(vH(b)||Yw(b))&&kG(b)?(c=ET(a),OWa(a,R(b),b,c),OWa(a,b.a,b,c),!1):!0};
  1898. function r2a(a,b){if(b)switch(b.c.a){case 75:case 76:case 77:case 105:case 106:case 47:case 74:case 81:case 100:return!0;case 65:case 63:case 70:case 64:case 71:case 66:return!q(a,b.a)}return mH(a)}function q2a(a,b,c){n_a(a.b.gb(b,u(function(){return m_a()})),c)}function PW(){PW=function(){};NW=new j2a}g.la=!0;g.ic=!0;var WI,s2a,t2a,u2a,v2a,w2a,x2a;
  1899. function RW(a){T();switch(a.c.a){case 35:case 37:case 83:return Xu(),Uu;case 38:case 41:case 69:case 100:case 23:case 45:case 46:return Xu(),Tu;case 124:return gF(a)?(a=fF(a),F(YH(a),a),a=a.Ad(),Wu(null!=a&&!te(a))):(Xu(),Vu);case 34:return Wu(0<a.l().length);case 33:return Wu(0!=a.ab());case 19:return RW(O(a)).Ne();case 32:return a=a.l(),"undefined"===a||"NaN"===a?(Xu(),Uu):"Infinity"===a?(Xu(),Tu):(Xu(),Vu);case 50:case 49:return RW(O(a));case 65:var b=RW(a.a);a=RW(O(a));return b.Te(a);case 64:return b=
  1900. RW(a.a),a=RW(O(a)),b.Bj(a);case 63:return b=RW(R(a)),a=RW(O(a)),cd(b,a)?b:(Xu(),Vu);case 66:return b=RW(a.a),a=RW(O(a)),cd(b,(Xu(),Tu))||cd(b,a)?b:(Xu(),Vu);default:return Xu(),Vu}}
  1901. function UT(a){T();switch(a.c.a){case 34:case 95:return a.l();case 124:var b="";for(a=a.a;a;a=a.b){var c=a;ZH(a)&&(c=a.a);c=UT(c);if(null==c)return null;b=r(b)+r(c)}return b;case 126:return a.Ad();case 32:b=a.l();if("undefined"===b||"Infinity"===b||"NaN"===b)return b;break;case 33:return""+a.ab();case 37:return"false";case 38:return"true";case 35:return"null";case 83:return"undefined";case 19:b=RW(a.a);if(!q(b,(Xu(),Vu)))return b.ed(!0)?"false":"true";break;case 45:a:{b=a.a;a=Mg();for(c=b;c;c=c.b){var d=
  1902. y2a(c);if(null==d){b=null;break a}q(c,b)||Og(a,44);x(a,d)}b=a.toString()}return b;case 46:return"[object Object]"}return null}function y2a(a){T();return z2a(a)||Aw(a)?"":UT(a)}
  1903. function A2a(a){T();switch(a.c.a){case 38:return 1;case 37:case 35:return 0;case 33:return a.ab();case 83:return NaN;case 32:a=a.l();if("undefined"===a||"NaN"===a)return NaN;if("Infinity"===a)return Infinity;break;case 22:if(gF(a)&&L(a.a)&&li(a.a.l(),"Infinity"))return-Infinity;break;case 19:a=RW(a.a);if(!q(a,(Xu(),Vu)))return a.ed(!0)?0:1;break;case 124:a=UT(a);if(null==a)break;return B2a(a);case 34:return B2a(a.l());case 45:case 46:return a=UT(a),null!=a?B2a(a):null}return null}
  1904. function B2a(a){T();if(ji(a,"\x0B"))return null;a=C2a(a);if(te(a))return 0;if(2<a.length&&48==a.charCodeAt(0)&&(120==a.charCodeAt(1)||88==a.charCodeAt(1)))try{return vh(a.substr(2),16)}catch(b){b=va(b);if(hh(b))return NaN;throw b.s;}if(3<a.length&&(45==a.charCodeAt(0)||43==a.charCodeAt(0))&&48==a.charCodeAt(1)&&(120==a.charCodeAt(2)||88==a.charCodeAt(2))||"infinity"===a||"-infinity"===a||"+infinity"===a)return null;try{return Ib(a)}catch(b$3){b$3=va(b$3);if(hh(b$3))return NaN;throw b$3.s;}}
  1905. function C2a(a){T();for(var b=0,c=a.length;0<c&&q(rOa(a.charCodeAt(c-1)),(Xu(),Tu));)c--;for(;b<c&&q(rOa(a.charCodeAt(b)),(Xu(),Tu));)b++;return ne(a,b,c)}function TT(a){T();return(a=SW(a))?EC(a):null}function SW(a){T();F(P(a)||kA(a),a);var b=a.m();switch(b.c.a){case 32:return b;case 50:return a=b.a,DC(a)?a:null;default:return a=a.a,Aw(a)||te(a.l())?null:a}}
  1906. function D2a(a){T();if(!P(a))return null;var b=TT(a);if(null!=b)return b;a=a.m();switch(a.c.a){case 102:case 91:case 90:case 95:return a.l();case 33:return UT(a)}return null}function TW(a){T();D(kA(a));return O(a)}function UW(a){T();Fi(kA(a),a);for(a=Li(O(a),a).a;a;a=a.b)if(VW(a))return a;return null}
  1907. function WW(a){T();switch(a.c.a){case 34:case 33:case 35:case 38:case 37:return!0;case 96:case 19:case 83:case 22:return WW(a.a);case 32:return a=a.l(),"undefined"===a||"Infinity"===a||"NaN"===a;case 124:for(a=a.a;a;a=a.b)if(ZH(a)&&!WW(a.a))return!1;return!0;default:D(!YH(a))}return!1}function E2a(a){T();switch(a.c.a){case 8:case 9:case 6:case 7:return!0}return!1}
  1908. function F2a(a){T();switch(a.a){case 8:return H(),ls;case 6:return H(),apa;case 9:return H(),$oa;case 7:return H(),bpa;default:throw ua("Unexpected token: "+r(a)).s;}}
  1909. function tJ(a,b){T();switch(a.c.a){case 96:return tJ(a.a,b);case 45:for(a=a.a;a;a=a.b)if(!Aw(a)&&!tJ(a,b))return!1;return!0;case 41:for(a=a.a;a;a=a.b)if(!tJ(a,b))return!1;return!0;case 46:for(a=a.a;a;a=a.b)switch(a.c.a){case 102:case 90:case 91:if(!b)return!1;break;case 122:if(!tJ(a.a,b)||!tJ(O(a),b))return!1;break;case 121:if(!tJ(fF(a),b))return!1;break;case 95:if(!tJ(fF(a),b))return!1;break;default:throw ua("Unexpected child of OBJECTLIT: "+r(uD(a))).s;}return!0;case 69:return b&&!qJ(a);case 124:for(a=
  1910. a.a;a;a=a.b)if(ZH(a)&&!tJ(a.a,b))return!1;return!0;default:return WW(a)}}function XW(a){T();if(Dw(a)||yya(a)&&gF(a))return!0;if(hH(a)){F(kG(a),a);var b=O(a);return XW(a.a)&&XW(b)}return EH(a)?(b=O(a),XW(R(a))&&XW(b)):!1}function G2a(a){T();if(!Hw(a))return!1;for(a=a.a;a;a=a.b)if(!Aw(a))return!1;return!0}function nza(a){T();a:switch(a.c.a){case 24:case 83:case 25:case 21:case 22:case 20:case 19:a=!0;break a;default:a=!1}return a}
  1911. function oza(a){T();a:switch(a.c.a){case 67:case 68:a=!0;break a;default:a=!1}return a}function kAa(a){T();a:switch(a.c.a){case 13:case 3:case 20:case 1:case 2:case 49:case 16:case 4:case 18:case 9:case 27:case 26:case 8:case 43:case 44:case 7:case 10:case 6:case 17:case 15:case 5:case 19:case 11:case 39:case 40:case 14:case 25:case 83:case 21:case 22:case 12:a=!0;break a;default:a=!1}return a}
  1912. function CL(a){var b=tL(a);if(b&&!AE(b).D())return!1;b=ix(a.m())||!!b&&bE(b);if(!eG(a)&&!b)return!1;if(PI(a.m()))b=a,a=a.a;else if(yH(a)){a=a.a;if(!kH(a)||!N(a.a))return!1;b=a.a;a=O(a)}else if(N(a)){var c=a.m();if(!kH(c)||!yH(c.m()))return!1;b=a;a=O(c)}else return!1;return a&&b?SH(a)?!0:TH(a)&&zG(b,a.a)&&SH(O(a)):!1}function YW(a){T();Fi(tC(a),a);a=nG(a);return!!a&&Ay(a,16)}function ZW(a){T();return GG(cx(a),a)}
  1913. function pJ(a){T();var b=a.m();switch(a.c.a){case 120:a=fF(a);break;case 107:if(!dH(a))return!1;a=fF(a);break;case 105:case 106:a=R(a);break;case 118:switch(b.c.a){case 48:return!1;case 97:return!0;default:throw pb("Unexpected parent of ITRE_REST: "+r(uD(b))).s;}default:throw pb("Expected a kind of node that may trigger iteration: "+r(uD(a))).s;}a:switch(a.c.a){case 45:case 34:case 124:a=!0;break a;default:a=!1}return!a}function H2a(a){T();F(eH(a)||ZG(a)||fH(a),a);return 16!=(oG(a)&16)}
  1914. function iAa(a){T();for(a=R(a);a;a=a.b)if(!oJ(a))return!1;return!0}function $W(a){T();return I2a(a,gm("undefined","Infinity","NaN"),null)}function I2a(a,b,c){T();switch(a.c.a){case 107:case 28:case 31:case 23:return!0;case 32:return!J2a(a,c)&&!b.B(a.l());case 26:case 27:case 29:case 30:return!0;case 69:return F(!qJ(a),a),!1}for(a=a.a;a;a=a.b)if(I2a(a,b,c))return!0;return!1}
  1915. function II(a){T();switch(a.a){case 49:return 0;case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 62:case 60:case 61:case 50:return 1;case 107:return 2;case 63:return 3;case 64:return 4;case 65:return 5;case 66:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:case 5:case 39:case 40:return 10;case 6:case 8:case 7:case 9:case 44:case 43:return 11;case 10:case 11:case 12:return 12;case 14:case 13:return 13;case 15:case 17:case 16:return 14;case 18:return 15;
  1916. case 108:case 23:case 24:case 25:case 83:case 19:case 20:case 21:case 22:return 16;case 67:case 68:return 17;case 28:case 27:case 26:case 31:case 30:case 29:case 128:case 129:case 45:case 97:case 127:case 99:case 84:case 37:case 69:case 100:case 157:case 32:case 35:case 33:case 46:case 98:case 41:case 118:case 119:case 120:case 121:case 34:case 95:case 165:case 166:case 167:case 36:case 103:case 38:case 123:case 124:case 117:case 135:return 18;case 133:return 19;case 144:case 134:return 20;case 130:case 132:case 131:case 136:case 142:case 137:case 140:case 143:case 145:return 21;
  1917. case 96:return 22;default:throw D(!q(a,(H(),vu))),pb("Unknown precedence for "+r(a)).s;}}function aX(a){T();switch(a.c.a){case 83:return!0;case 32:return li(a.l(),"undefined")}return!1}function z2a(a){T();return QH(a)||aX(a)}
  1918. function bX(a){T();switch(a.c.a){case 96:return bX(a.a);case 50:case 49:return bX(O(a));case 65:case 64:case 66:return K2a(bX(a.a),bX(O(a)));case 63:return K2a(bX(R(a)),bX(O(a)));case 13:var b=bX(O(a));if(q(b,(MW(),IW)))return MW(),IW;a=bX(a.a);return q(a,(MW(),IW))?(MW(),IW):q(a,(MW(),KW))||q(b,(MW(),KW))?(MW(),FW):L2a(a)||L2a(b)?(MW(),FW):(MW(),HW);case 57:return b=bX(O(a)),q(b,(MW(),IW))?(MW(),IW):(MW(),FW);case 32:return b=a.l(),"undefined"===b?(MW(),GW):"NaN"===b||"Infinity"===b?(MW(),HW):(MW(),
  1919. FW);case 51:case 52:case 53:case 54:case 55:case 56:case 58:case 59:case 62:case 60:case 61:case 20:case 1:case 2:case 3:case 10:case 11:case 12:case 14:case 15:case 17:case 16:case 18:case 67:case 68:case 21:case 22:case 33:return MW(),HW;case 38:case 37:case 4:case 5:case 39:case 40:case 6:case 8:case 7:case 9:case 43:case 44:case 19:case 24:return MW(),JW;case 25:case 34:case 124:return MW(),IW;case 35:return MW(),h2a;case 83:return MW(),GW;case 69:case 23:case 45:case 46:case 41:return MW(),KW;
  1920. default:return D(!YH(a)),MW(),FW}}function K2a(a,b){T();return q(a,b)?a:(MW(),FW)}function M2a(a){T();return q(bX(a),(MW(),HW))}function N2a(a){T();return q(bX(a),(MW(),JW))}function O2a(a){T();return q(bX(a),(MW(),IW))}function cX(a,b){T();if(b&&(b=a.f)){if(b.th())return!0;if(b.xj()||b.rj()||b.Kc()||b.Zb())return!1}return L2a(bX(a))}function L2a(a){T();switch(a.a){case 5:case 1:case 3:case 2:return!1;case 6:case 4:case 0:return!0;default:throw pb("unexpected").s;}}
  1921. function P2a(a){T();switch(a.a){case 15:case 65:case 64:case 66:case 1:case 2:case 3:return!0;default:return!1}}function Q2a(a){T();switch(a.a){case 15:case 1:case 2:case 3:return!0;default:return!1}}function XI(a){T();switch(a.c.a){case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 62:case 60:case 61:return!0}return!1}function R2a(a){T();return XI(a)&&!kH(a)}
  1922. function dX(a){T();switch(a.c.a){case 51:return H(),Xoa;case 52:return H(),Yoa;case 53:return H(),Zoa;case 54:return H(),cpa;case 55:return H(),dpa;case 56:return H(),epa;case 57:return H(),ms;case 58:return H(),ns;case 59:return H(),fpa;case 62:return H(),ps;case 60:return H(),os;case 61:return H(),gpa}throw ua("Not an assignment op:"+r(a)).s;}
  1923. function S2a(a){T();switch(a.c.a){case 1:return H(),Ts;case 2:return H(),Us;case 3:return H(),Vs;case 10:return H(),Ws;case 11:return H(),Xs;case 12:return H(),Ys;case 13:return H(),Zs;case 14:return H(),$s;case 15:return H(),at;case 18:return H(),dt;case 16:return H(),bt;case 17:return H(),ct;default:throw pb("Unexpected operator: "+r(a)).s;}}function eX(a,b){T();var c=new zW;c.a=b;return fX(a,c)}function T2a(a){T();return fX(a,Ti(function(b){return gL(b)}))}
  1924. function gX(a){T();return eX(a,(H(),Yt))}function U2a(a){T();return eX(a,(H(),nu))}function hX(a){T();return eX(a,(H(),ut))}function iX(a){T();return eX(a,(H(),Ot))}function V2a(a){T();return fX(a,Ti(function(b){return $R(b)}))}function jX(a){T();return fX(a,Ti(function(b){return EI(b)}))}function fX(a,b){for(T();a&&!b.ca(a);)a=a.m();return a}function kX(a,b){T();E(SH(a)||pH(a));for(a=BA(a).h();a.i();){var c=a.j();if((Lx(c)||LH(c))&&li(c.l(),b))return c.a}return null}
  1925. function W2a(a,b){T();F(pH(a)||SH(a),a);for(a=BA(a).h();a.i();){var c=a.j();if(CH(c)&&li(c.l(),b))return c}return null}function X2a(a){T();E(P(a));return aH(a)?!1:Y2a(lX(a))||Y2a(mX(a))}function Y2a(a){T();return VI(a,Ti(function(b){return SC(b)||WH(b)}),s2a)}function Z2a(a){T();for(a=a.a;a;){if(VI(a,Ti(function(b){return WH(b)}),Ti(function(b){return!kA(b)})))return!0;a=a.b}return!1}function UI(a){T();return N(a)||DH(a)}function eza(a){T();return YG(a)||XG(a)}
  1926. function SI(a){T();return YG(a)||XG(a)||ZG(a)}function $2a(a){T();F(SI(a),a);return $G(a)?a:$2a(a.a)}function a3a(a){T();F(SI(a),a);var b=a.m();return b&&SI(b)&&!$G(b)?a3a(b):a}function b3a(a){T();if(L(a))switch(a.m().c.a){case 104:case 92:case 82:return!0;case 100:return q(a.m().a,a);case 69:return c3a(a.m())}return!1}function PI(a){T();return!!a&&(gx(a)||hx(a)||ix(a))}function d3a(a){T();if(PI(a))for(a=a.a;a;a=a.b)if(Yw(a))return!0;return!1}
  1927. function e3a(a){T();F(L(a)||N(a),a);var b=a.m();return PI(b)?a.a:kH(b)&&q(b.a,a)?a.b:null}function nX(a){T();return yH(a)&&kH(a.a)}function oX(a){T();return yH(a)&&eH(a.a)}function gL(a){T();return P(a)&&!aH(a)}function dV(a){T();return BH(a)||vya(a)||AH(a)}function yT(a){T();return zH(a)||AH(a)||BH(a)||vya(a)}function ZS(a){T();switch(a.c.a){case 76:case 77:case 105:case 106:case 75:case 74:return!0;default:return!1}}
  1928. function pX(a){T();switch(a.c.a){case 76:case 77:case 105:case 106:case 74:return O(a);case 75:return a.a;default:return null}}function qX(a){T();for(a=DE(a.m()).h();a.i();){var b=a.j();if(ZS(b))return!0;if(P(b))break}return!1}function iT(a){T();switch(a.c.a){case 76:case 77:case 105:case 106:case 75:case 74:case 81:case 70:case 87:case 47:case 82:case 71:case 72:case 73:return!0;default:return!1}}
  1929. function f3a(a,b){T();switch(a.c.a){case 75:return q(a.a,b);case 47:return q(a.a,b)||q(O(a),b);case 76:case 77:case 105:case 106:case 74:case 87:case 81:case 82:return q(O(a),b);case 70:case 71:case 72:return!q(a.a,b);case 73:return!0;default:return F(iT(a),a),!1}}function NS(a){T();switch(a.c.a){case 70:case 74:return a.a;case 75:return O(a);case 76:return R(a);case 77:case 105:case 106:case 72:return null}throw ua(r(a)+" does not have a condition.").s;}
  1930. function jT(a){T();return sC(a)||tC(a)||Hw(a)||NH(a)}function ZR(a){T();switch(a.c.a){case 86:return a=a.m(),!!a&&!g3a(a)&&!oH(a);case 76:case 77:case 105:case 106:case 71:case 100:return!0;default:return!1}}function $R(a){T();return ZR(a)||P(a)||NH(a)||sC(a)&&!a.m()}function RS(a){T();return t2a.B(a.c)}function EI(a){T();return!NH(a)&&rX(a.m())}function rX(a){T();return u2a.B(a.c)}function h3a(a){switch(a.c.a){case 164:case 113:return!0;default:return rX(a)}}
  1931. function g3a(a){T();return mH(a)||uH(a)}function sX(a){T();return L(a)&&!te(a.l())}function i3a(a){T();Fi(L(a),a);var b=a.m();return Bw(b)&&iG(a,b)?!0:uya(b)?iG(a,b)?fCa(gG(b)):!0:!1}function lWa(a,b){T();return bI(a)&&mG(a,3)&&q(b,O(a))}function j3a(a){T();var b=a.m();return bI(b)&&q(R(b),a)}function tX(a,b){T();var c=a.m();uX(a,b);S(a);Z(b,c)}function k3a(a,b){T();E(eH(a));var c=a.m();if(yH(c)){var d=c.m();oF(d,c);c=d}else pF(c,a,vX(a));uX(a,b);Z(b,c)}
  1932. function wX(a,b){T();if(lWa(a,b))YS(US(a))?oF(a,b):BG(b);else if(oH(b))E(TS(gG(b))),S(b);else if(j3a(b))E(TS(b.m())),BG(b);else if(Hw(b))BG(b);else if(jT(a)||g3a(b)||LH(b))oF(a,b);else if(PI(a)||yH(a))lG(a)?oF(a,b):(oF(a,b),wX(a.m(),a));else if(KH(a)&&q(b,O(a)))oF(a,b),wX(a.m(),a);else if(zH(a))pF(a,b,yw());else if($w(a))oF(a,b);else if(Zw(a))q(b,O(a))?oF(a,b):pF(a,b,yw());else if(Yw(a))oF(a,b),a.m().a&&wX(a.m(),a);else if(Jw(a))S(a);else if(Gw(a))oF(a,b);else if(GH(a))if(q(b,a.a))pF(a,b,yw());else throw pb("Invalid attempt to remove: "+
  1933. r(b)+" from "+r(a)).s;else throw pb("Invalid attempt to remove node: "+r(b)+" of "+r(a)).s;}function xX(a,b){T();E(Hw(a));var c=a.m();b=b||l3a(a);if(jT(c)&&b){for(b=a;a.a;){var d=UA(a);nF(c,d,b);b=d}oF(c,a);return!0}return!1}function l3a(a){T();for(a=a.a;a;a=a.b)switch(a.c.a){case 87:if(l3a(a))continue;else return!1;case 92:case 104:case 100:case 69:return!1}return!0}function yX(a){T();return eH(a)||TC(a)}function mX(a){T();Fi(P(a),a);return O(a)}function m3a(a){T();return PI(a)||qJ(a)||rJ(a)}
  1934. function qJ(a){T();var b;if(b=P(a)&&h3a(a.m()))b=P(a)&&sX(a.a);return b}function zX(a){T();if(P(a)){var b=a.m();switch(b.c.a){case 90:case 91:case 102:return!0;case 122:return q(O(b),a)&&(tF(b,(kx(),OE))||tF(b,(kx(),PE))||tF(b,(kx(),QE)));default:return!1}}else return!1}function rJ(a){T();return kA(a)&&h3a(a.m())&&n3a(a)}function QW(a){T();return qJ(a)?(a=a.m(),tC(a)||NH(a)||P(a.m())||xH(a)):!1}
  1935. function c3a(a){T();if(!qJ(a))return!1;for(a=a.m();a;)switch(a.c.a){case 86:return!P(a.m());case 69:case 89:case 164:case 113:case 116:return!1;default:F(KH(a),a),a=a.m()}return!1}function VR(a){T();return Hw(a)&&!!a.m()&&P(a.m())}function lL(a){T();return P(a)&&!qJ(a)&&!zX(a)}function o3a(a){T();return lL(a)&&!te(a.a.l())}function hT(a){T();return kA(a)&&(!n3a(a)||!h3a(a.m()))}function n3a(a){T();return kA(a)&&sX(a.a)}
  1936. function p3a(a){T();if(!L(a)||te(a.l()))return!1;var b=a.m();return lL(b)&&q(a,b.a)}function q3a(a){T();return lL(a)&&G2a(O(a))}function r3a(a){T();D(P(a));return aH(a)?!1:s3a(O(a))}function s3a(a){if(L(a)&&li(a.l(),"arguments"))return!0;if(gL(a))return!1;for(a=a.a;a;a=a.b)if(s3a(a))return!0;return!1}function AX(a,b){T();return eH(a)&&(a=a.a,UI(a)&&(a=O(a))&&Dw(a))?(a=a.l(),q(a,b)):!1}function BX(a){return AX(a,"call")}function CX(a,b){T();return kH(b)&&q(b.a,a)||PI(b)}
  1937. function DX(a){T();switch(a.c.a){case 32:case 26:case 27:break;default:return!1}var b=a.m();if(!b)return!1;switch(b.c.a){case 111:return q(O(b),a);case 80:case 104:case 92:case 118:case 119:case 48:case 109:case 67:case 68:case 82:return!0;case 100:case 69:case 127:case 76:case 77:case 105:case 106:return q(b.a,a);case 97:case 95:case 122:return eV(a);default:return XI(b)&&q(b.a,a)}}
  1938. function EX(a){T();if(!DX(a))return!1;a=a.m();switch(a.c.a){case 111:case 80:case 104:case 92:case 48:case 109:case 82:case 100:case 69:return!0;case 95:return PI(gG(a.m()));case 98:case 97:return PI(gG(a));default:return!1}}function t3a(a){T();var b=a.m();return!!b&&kH(b)&&q(b.a,a)}function u3a(a){T();var b=a.m();return GH(b)||Bw(b)&&q(O(b),a)}
  1939. function v3a(a){T();var b=w3a(a).m();Jw(b)||vH(b)?(b=b.m(),F(Gw(b),b)):Yw(b)?(b=b.m(),F(PI(b),b)):kA(b)||P(b)?F(q(a,b.a),a):Bw(b)?(F(q(a,R(b)),a),b=gG(b),F(GH(b),b)):F(Gw(b)||PI(b)||GH(b)||oH(b),b);return b}function w3a(a){T();for(var b=x3a(a);b;b=x3a(a))a=b;return a}
  1940. function x3a(a){F(xx(G(a)),a);var b=Li(a.m(),a),c=q(b.a,a);if(vH(b)||Jw(b))F(c,b),a=b,b=G(a.m()),c=q(a,b.a);switch(b.c.a){case 97:return b;case 98:return b;case 122:F(!c,b);case 95:return a=Li(b.m(),b),F($w(a),a),a;case 48:case 104:case 92:case 80:return null;case 69:case 100:return F(c,a),null;case 77:case 105:case 106:return F(c,a),null;case 99:return F(c,a),null;case 109:return null;case 111:return F(!c,b),null;case 82:return null;default:return F(XI(b)&&c,b),null}}
  1941. function eV(a){T();switch(a.c.a){case 32:case 26:case 27:return y3a(a);default:return!1}}function y3a(a){var b=a.m(),c=gG(a);switch(b.c.a){case 97:case 118:case 119:return!0;case 122:if(iG(a,b))return!1;case 95:return $w(c);case 127:return iG(a,b)?y3a(b):!1;default:return!1}}function FX(a){T();switch(a.c.a){case 95:case 90:case 91:case 102:return!0;default:return!1}}function z3a(a){T();return SH(a.m())&&FX(a)}
  1942. function GX(a){a:{T();switch(a.c.a){case 95:case 90:case 91:case 102:var b=a;break a;case 122:b=Dw(a.a)?a.a:null;break a}throw pb("Unexpected node type: "+r(a)).s;}if(b)return b.l();throw pb("Unexpected node type: "+r(a)).s;}function HX(a){T();switch(a.c.a){case 90:case 91:return!0;case 122:return tF(a,(kx(),PE))||tF(a,(kx(),QE))}return!1}
  1943. function Rya(a){T();switch(a.a){case 66:return"??";case 1:return"|";case 64:return"||";case 2:return"^";case 65:return"&&";case 3:return"&";case 39:return"===";case 4:return"==";case 19:return"!";case 5:return"!=";case 40:return"!==";case 10:return"<<";case 43:return"in";case 7:return"<=";case 6:return"<";case 12:return">>>";case 11:return">>";case 9:return">=";case 8:return">";case 15:return"*";case 16:return"/";case 17:return"%";case 18:return"**";case 20:return"~";case 13:case 21:return"+";case 14:case 22:return"-";
  1944. case 50:return"=";case 51:return"|=";case 52:return"^=";case 53:return"&=";case 54:return"<<=";case 55:return">>=";case 56:return">>>=";case 57:return"+=";case 58:return"-=";case 59:return"*=";case 62:return"**=";case 60:return"/=";case 61:return"%=";case 83:return"void";case 25:return"typeof";case 44:return"instanceof";default:return null}}function Wya(a){var b=Rya(a);if(null==b)throw Ra("Unknown op "+r(a)).s;return b}
  1945. function IX(a){T();var b=new i2a;b.b=Uf();JX(a,b,WI);b=b.b.values();if(!b.D()){var c=null;a:for(;a=a.m();)switch(a.c.a){case 89:case 116:c=a;break a;case 69:c=O(a);break a}E(Hw(c)||NH(c)||tC(c));E(!c.a||!tC(c.a));a=c;for(b=b.h();b.i();){c=b.j();var d=GG(Tw(GG(rx(c.l()),c)),c);KX(c,d.a);Mx(a,d)}}}function KX(a,b){T();tF(a,(kx(),IE))&&Hx(b,(kx(),IE),!0)}
  1946. function LX(a,b){T();var c=mi(b,46);if(-1==c)return A3a(a,b);var d=ne(b,0,c);d="this"===d?Qx():"super"===d?zw((H(),au)):A3a(a,d);do{var e=c+1;c=ni(b,46,e);var f=-1==c?b.substr(e):ne(b,e,c);e=ux(f);e.u=f.length;MX(a).uj(f)&&Hx(e,(kx(),IE),!0);f=d.u+1+f.length;d=sx(d,e);d.u=f}while(-1!=c);return d}function NX(a,b,c,d){a=LX(a,b);B3a(a,c);li(d,BC(a))||bG(a,d);return a}function C3a(a,b,c,d){T();L(a)?(a=b?Sw(a,b,c):Uw(a,c),Gx(a,d)):(a=b?cx(wx(a,b)):cx(a),Gx(a.a,d));return a}
  1947. function D3a(a,b,c){T();b=sx(b,ux(c));MX(a).uj(c)&&Hx(b,(kx(),IE),!0);return b}function OX(a,b,c,d){T();var e=(H(),Ft);F(q(e,Ft)||q(e,bu)||q(e,Rt),e);a=LX(a,b);return C3a(a,c,e,d)}function B3a(a,b){Sz(a)||($F(a,b),a.v=b.v);null==BC(a)&&vF(a,(kx(),Xwa),BC(b));for(a=a.a;a;a=a.b)B3a(a,b)}function PX(a){for(T();;a=a.a){if(L(a)||SC(a)||WH(a))return a;Ji(N(a),"Not a getprop node: ",a)}}function A3a(a,b){var c=rx(b);c.u=b.length;MX(a).Bf(b)&&Hx(c,(kx(),IE),!0);return c}
  1948. function QX(a,b,c,d){T();a=GG(A3a(a,b),c);bG(a,d);return a}function aza(a){T();for(var b=a.length,c=0;c<b;c++)if(127<a.charCodeAt(c))return!1;return!0}function E3a(a){T();return OI.test(a)&&!TI(a)&&aza(a)}function F3a(a,b){T();if(ki(b,".")||zi(b,"."))return!1;b=mq(kq(46),b);for(var c=b.h();c.i();){var d=c.j();if(!G3a(a,d))return!1}return E3a(b.G(0))}function G3a(a,b){T();return E3a(b)?!0:JI(a,(KI(),WJ))&&TI(b)}
  1949. function RX(a,b){switch(a.c.a){case 109:RX(a.a,b);RX(R(a),b);break;case 80:case 92:case 104:case 98:case 97:case 48:case 110:for(a=a.a;a;a=a.b)RX(a,b);break;case 99:case 127:case 82:case 118:case 119:case 96:RX(a.a,b);break;case 111:case 122:case 95:RX(O(a),b);break;case 32:case 112:b.add(a);break;case 26:case 27:b.add(a);break;case 84:break;case 77:case 105:case 106:RX(a.a,b);break;default:if(XI(a))RX(a.a,b);else throw pb("Invalid node in lhs: "+r(a)).s;}}
  1950. function eT(a){T();Fi(PI(a)||Gw(a)||XI(a)||oH(a)||Yw(a)||vH(a)||GH(a)||dV(a),a);var b=w();RX(a,b);return b}function SX(a){T();if(!eH(a)||!mG(a,3))return!1;a=a.a;return N(a)?li(O(a).l(),"defineProperties")&&H3a(a.a):!1}function H3a(a){switch(a.c.a){case 32:return li(a.l(),"Object");case 26:return yG(a,"$jscomp.global.Object")||yG(a,"$jscomp$global.Object");default:return!1}}function I3a(a){T();D(SX(a));var b=w();for(a=BA(O(a)).h();a.i();){var c=a.j();Lx(c)&&b.add(c)}return b}
  1951. function J3a(a){T();return nX(a)&&TX(hF(a))}function TX(a){T();if(!N(a))return!1;a=a.a;return N(a)&&li(O(a).l(),"prototype")}
  1952. function K3a(a,b){T();var c=b.m();switch(c.c.a){case 28:return!q(c.a,b)&&MX(a).sh(c);case 31:case 30:return q(c.a,b);case 70:case 74:case 75:case 76:case 77:return q(NS(c),b);case 44:case 25:case 65:case 64:case 66:case 29:return!0;case 5:case 40:return a=q(c.a,b)?R(c):c.a,aX(a)||OH(c)&&QH(a);case 63:return q(c.a,b);case 19:return TH(c.m())&&q(c.m().a,c);case 96:return K3a(a,c)}return!1}function L3a(a){T();a=EC(a);var b=a.lastIndexOf(".prototype.")+11;return a.substr(b)}
  1953. function vX(a){T();var b=Fx(eF(0));a&&HG(b,a);return b}function jY(a,b){T();a=rx(a);b&&FG(a,b);return M3a(a,b)}function M3a(a,b){T();if(Xw(a))return G(b),GG(Tw(GG(ex((H(),Xt),a,b),a)),a);E(L(a)&&!a.a);b&&M(a,b);return GG(Tw(a),a)}function N3a(){T();return Fw(rx(""),Iw(A([],lx,eI,1)),Lw())}function O3a(a){var b=(H(),is),c=new kY;T();var d=P3a,e=new DW;e.a=b;return d(a,e,c)}function VI(a,b,c){T();if(b.ca(a))return!0;if(!c.ca(a))return!1;for(a=a.a;a;a=a.b)if(VI(a,b,c))return!0;return!1}
  1954. function P3a(a,b,c){T();var d=0;b.ca(a)&&d++;if(c.ca(a))for(a=a.a;a;a=a.b)d+=P3a(a,b,c);return d}function lY(a,b){T();JX(a,b,hk())}function JX(a,b,c){T();b.a(a);if(c.ca(a))for(a=a.a;a;a=a.b)JX(a,b,c)}function Q3a(a,b){T();R3a(a,b,hk())}function R3a(a,b,c){T();if(c.ca(a))for(var d=a.a;d;d=d.b)R3a(d,b,c);b.a(a)}function fCa(a){T();D(xH(a));return kG(a)}function TS(a){T();D(bI(a));return mG(a,3)}function US(a){T();D(bI(a));return R(a)}function YS(a){T();D(Hw(a));return!!a.a&&oH(a.a)}
  1955. function lX(a){T();D(P(a));return R(a)}function J2a(a,b){T();if(S3a(a))return!0;if(!L(a)||!b)return!1;a=b.T(a.l());return!!a&&(qL(a)||wL(a))}function S3a(a){T();return tF(a,(kx(),IE))}function T3a(a,b){T();var c=b.m();return N(c)&&q(b,O(c))||FX(b)?a.uj(b.l()):L(b)?a.Bf(b.l()):!1}function U3a(a,b){T();if(z3a(b)||kH(b.m())&&iG(b,b.m())||yH(b.m())&&UI(b))return!!a&&bE(a);Fi(L(b),b);return ix(v3a(b))||a&&bE(a)?!0:sya(b)}
  1956. function V3a(a){T();if(!P(a))return!1;if(nG(a.a))return!0;for(a=R(a).a;a;){if(nG(a))return!0;a=a.b}return!1}function mY(a){T();for(var b=null;null==b&&a;)b=WA(a),a=a.m();return b}function W3a(a){T();for(var b=null;!b&&a;)b=Sz(a),a=a.m();return b}function lT(a){for(T();a&&!tC(a);)a=a.m();return a&&tC(a)?aG(a):null}function xS(a,b){T();var c=!UI(a);a=px(a,A([],lx,eI,1));Hx(a,(kx(),KE),c);for(c=0;c<b.length;c++)M(a,b[c]);return a}
  1957. function oJ(a){T();switch(a.c.a){case 50:return WW(O(a));case 49:return oJ(O(a));case 65:case 64:case 66:return oJ(a.a)&&oJ(O(a));case 63:return oJ(R(a))&&oJ(O(a));case 36:case 103:return!1;case 32:return WW(a);case 27:case 26:case 30:case 29:return!1;case 28:case 31:var b;(b=H2a(a))||(a=a.a,UI(a)||eza(a)?(a=O(a),b=Dw(a)&&"toString"===a.l()):b=!1);return b;case 123:return H2a(a);case 23:return F(TC(a),a),16==((oG(a)|16)&-3);case 24:case 67:case 68:case 100:case 69:case 41:case 84:case 45:case 46:case 124:return!0;
  1958. case 96:return oJ(a.a);case 120:case 121:case 107:case 108:return!1;default:if(XI(a)||kAa(a)||WW(a))return!0;throw pb("Unexpected expression node: "+r(a)+"\n parent:"+r(a.m())).s;}}
  1959. function nY(a){T();switch(a.c.a){case 50:case 96:case 49:return nY(O(a));case 66:return nY(R(a));case 65:case 64:return nY(a.a)&&nY(O(a));case 63:return nY(R(a))&&nY(O(a));case 28:case 31:case 23:case 27:case 26:case 30:case 29:case 123:case 36:case 107:case 108:case 83:return!1;case 24:case 67:case 68:case 100:case 69:case 41:case 84:case 45:case 46:case 124:case 34:case 33:case 35:case 38:case 37:return!0;case 126:return null!=a.Ad();case 32:return a=a.l(),"Infinity"===a||"NaN"===a;default:if(XI(a)||
  1960. kAa(a))return!0;throw pb("Unexpected expression node: "+r(a)+"\n parent:"+r(a.m())).s;}}function X3a(a,b){for(;0!=b&&a;)a=a.b,b--;return a}function oY(a,b){T();E(yX(a));return X3a(R(a),b)}function pY(a){T();var b=a.m();return!!b&&(yX(b)||fH(b))&&q(b.a,a)}function qY(a){T();return yX(a)||fH(a)}function tL(a){return(a=rY(a))?nG(a):null}
  1961. function rY(a){T();if(yH(a))return rY(a.a);if(!nG(a)){var b=a.m();if(!b||yH(a))return null;if(L(b)||kH(b))return rY(b);if(FX(b)||rH(b))return b;if((P(b)||kA(b))&&q(a,b.a))return rY(b);if(PI(b)&&gF(b))return b;if(EH(b)&&!q(b.a,a)||TH(b)||iH(b)||qH(b)&&!q(b.a,a))return rY(b)}return a}function sY(a){T();var b=a.m();return qJ(a)||rJ(a)?a.a:pH(a)?sY(b):L(b)?b:kH(b)?b.a:FX(b)||rH(b)?b:EH(b)&&!q(b.a,a)||TH(b)||iH(b)||qH(b)&&!q(b.a,a)||nH(b)?sY(b):null}
  1962. function sL(a){T();var b=a.m();switch(b.c.a){case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 62:case 60:case 61:case 99:return a.b;case 80:case 104:case 92:return O(a);case 46:case 101:return fF(a);case 69:case 100:return b}return null}function Y3a(a){T();return a&&a.m()?FX(a)||rH(a)?sY(a.m()):UI(a)?a.a:null:null}
  1963. function tY(a){T();if(!a||!a.m())return null;if(pH(a.m())&&!rH(a)){var b=TT(gG(a));if(null==b)return null;var c=a.l();a=TG(a)?".":".prototype.";return r(b)+r(a)+r(c)}if(FX(a)){if(b=sY(a.m()))if(b=tY(b),null!=b)return a=GX(a),OI.test(a)?r(b)+"."+r(a):null;return null}return EC(a)}function Z3a(a){T();if(!a)return null;switch(a.c.a){case 95:return Z3a(sY(a.m()));case 26:case 27:return Z3a(a.a);case 36:case 103:case 32:return a;default:return null}}
  1964. function uY(a){T();var b=a.m();switch(b.c.a){case 86:case 88:return!1;case 96:return uY(b);case 63:case 65:case 64:case 66:return q(a,b.a)||uY(b);case 49:var c=b.m();if(eH(c)&&q(b,c.a)&&q(a,b.a)&&kG(b)&&L(a.b)&&"eval"===a.b.l())break;return q(a,b.a)?!1:uY(b);case 76:return q(R(b),a)}return!0}
  1965. function $3a(a){T();a:do{var b=a.m();switch(b.c.a){case 70:case 63:case 65:case 64:case 66:if(!q(b.a,a))return!1;continue a;case 76:case 77:if(AH(b)){if(!q(R(b),a))return!1}else if(!q(b.a,a))return!1;continue a;case 74:case 75:return!1;case 47:if(!TS(b)||!q(O(b),a))return!1;continue a;case 72:case 73:return!1;case 89:case 69:break a}}while(a=a.m());return!0}function SU(a){T();return a?Rx():Sx()}
  1966. function a4a(a,b){T();a=isNaN(a)?rx("NaN"):Infinity==a?rx("Infinity"):-Infinity==a?Pqa(rx("Infinity")):eF(a);b&&HG(a,b);return a}function vY(a){T();return L(a)&&li(a.l(),"NaN")||q(a.c,(H(),os))&&RH(a.a)&&0==a.a.ab()&&RH(O(a))&&0==O(a).ab()||zG(a,v2a)}function bT(a){T();return tC(a)||P(a)}function QT(a){for(T();a&&!bT(a);)a=a.m();return a}function b4a(a,b){T();var c=A([0],Zc,$c,1),d=JX,e=new a2a;e.b=c;var f=new BW;f.b=c;f.a=b;d(a,e,f);return c[0]}
  1967. function wY(a){T();var b=1;for(a=a.a;a;a=a.b)b+=wY(a);return b}function c4a(){T();var a=HP(!1);TP(a);return KP(a)}function xY(a){T();var b=Fb(a);if(b==a)return b;if(isNaN(a)||Infinity==a||-Infinity==a)return 0;a=0<=a?Math.floor(a):Math.ceil(a);return gb(a%4294967296).a}function d4a(a){T();return oX(a)?yG(hF(a),"goog.module"):!1}function UWa(a){T();return NH(a)||yY(a)}function zY(a){T();return eH(a)&&kG(a)&&yG(a.a,"goog.loadModule")?!!a.m()&&yH(a.m())&&!!gG(a)&&tC(gG(a)):!1}
  1968. function yY(a){T();if(!Hw(a)||!a.a||!d4a(a.a))return!1;a=a.m();if(!(a&&P(a)&&gF(lX(a))&&xG(lX(a).a,"exports")))return!1;a=a.m();return eH(a)&&kG(a)&&yG(a.a,"goog.loadModule")?yH(a.m())&&tC(gG(a)):!1}function AY(a){T();return oX(a)?w2a.de(hF(a)):!1}function e4a(a){T();return oX(a)?x2a.de(hF(a)):!1}function f4a(a){T();return tC(a)||NH(a)}function g4a(a){T();return tC(a)&&!!a.a&&NH(a.a)&&d4a(hF(a))}function h4a(a){T();if(!a||!P(a))return!1;var b=a.f,c=tL(a);return!!b&&b.xa()||!!c&&dE(c)||BY(a)}
  1969. function VW(a){T();return LH(a)?pH(a.m())&&!TG(a)&&li(a.l(),"constructor"):!1}function BY(a){T();if(!P(a))return!1;a=a.m();return!!a&&VW(a)}function CY(a,b){T();return eH(a)&&yG(a.a,b)}function i4a(a,b){T();a=OW(a,(PW(),NW),kT(a));o2a(a,b);b=Nj();for(a=a.Ee().h();a.i();){var c=a.j();xL(c)||b.W(c.va())}return b.fa()}function DY(a,b){T();P(a)&&OT(b,a);for(a=a.a;a;a=a.b)DY(a,b)}function uX(a,b){T();P(a)&&j4a(b,a);for(a=a.a;a;a=a.b)uX(a,b)}
  1970. function EY(a){T();if(fH(a))return f2a(O(a));F(yX(a),a);return gF(a)?Ll():dya(R(a))}function FY(a,b,c,d,e){T();E(a.Qa());E(b.D());F(yL(e),e);var f=new c2a;f.a=a;f.b=b;f.c=e;wT(mT(c,f,d),e)}function gza(a){T();return Lx(a)||CH(a)||VH(a)||LH(a)||rH(a)}function k4a(a){T();var b=a.m();return!!b&&P(b)&&q(a,O(b))&&!Hw(a)}function GY(a){T();F(tC(a),a);return aF(a,(kx(),XE))}function HY(a,b,c){T();F(tC(a),a);var d=GY(a);d=d?$K(d,b):$K((uI(),vI),b);vF(a,(kx(),XE),d);a=$K(c.u,b);c.u=a}
  1971. function l4a(a,b){T();oQ(a,b)}function T(){T=function(){};w2a=Wx("goog.module.declareLegacyNamespace");x2a=Wx("goog.setTestOnly");Wx("goog.require");t2a=wn((H(),ut),A([Ot,nu,Kt],hs,Qu,1));u2a=wn(Ot,A([nu,Lt,Mt,Ou,Iu],hs,Qu,1));WI=Ti(function(a){return!P(a)});s2a=Ti(function(a){return!gL(a)});v2a=sx(rx("Number"),ux("NaN"))}var pza=Va(0,2097152);function m4a(){}l(m4a,n);m4a.prototype.toString=function(){return"Mapping: start "+r(this.b)+", end "+r(this.a)+", node "+r(this.c)};
  1972. function IY(){Or.call(this);this.ja=0;this.A=!1;this.g=this.a=this.pa=0}l(IY,Or);function n4a(a,b,c,d){Koa(a);a.ja=0;a.b=Ng();a.a=0;a.g=0;E(!!d);a.pa=0>=b?2147483647:b;a.A=c;a.Ha=d;a.K=c?Uk():null;a.F=c?w():null;a.$=c?w():null}IY.prototype.zc=function(a){x(this.b,a);this.a+=a.length};IY.prototype.mn=function(a){E(!!this.Ha);E(!!a);if(this.A&&null!=WA(a)&&0<XA(a)&&this.Ha.ca(a)){var b=this.g,c=this.a;E(0<=b);var d=new m4a;d.c=a;d.b=Cr(b,c);this.K.Ea(d);this.F.add(d)}};
  1973. IY.prototype.Mm=function(a){if(this.A&&!this.K.D()&&q(this.K.Na().c,a)){a=this.K.Ta();var b=this.g,c=this.a;E(0<=b);a.a=Cr(b,c);this.$.add(a)}};function o4a(a,b,c){var d=a.a,e=a.b;return d==b&&e>=c?Cr(d+1,e-c):a}IY.prototype.Ye=function(){return 0<this.b.Ra()?this.b.$a.charCodeAt(this.b.Ra()-1):0};function p4a(){IY.call(this);this.Da=this.za=!1;this.c=this.o=0}l(p4a,IY);g=p4a.prototype;g.Ff=function(){0>=this.a&&!Ur(this)||(Og(this.b,10),this.a=0,this.g++,this.o=this.b.Ra())};
  1974. g.Df=function(){this.za&&this.U&&(this.Ff(),this.U=!1);var a=this.b.Ra();this.c==a-1&&59==this.b.$a.charCodeAt(a-1)&&(this.c=a);this.vh()};g.vh=function(){if(!(this.a<=this.pa))if(this.c>this.o&&this.c<this.o+this.a){Xg(this.b,this.c,Hg(10));var a=this.g,b=this.c-this.o;if(this.A){for(var c=this.F.w(),d=this.ja;d<c;d++){var e=this.F.G(d);e.b=o4a(e.b,a,b)}this.ja=c;for(c=this.$.h();c.i();)d=c.j(),d.a=o4a(d.a,a,b);this.$.ia()}this.g++;this.a-=this.c-this.o;this.o=this.c+1}else this.Ff()};
  1975. g.dn=function(){this.c=this.b.Ra()};g.vk=function(){IY.prototype.vk.call(this);this.Da&&(Qr(this),this.Ff())};function q4a(){IY.call(this);this.c=0}l(q4a,IY);g=q4a.prototype;g.zc=function(a){if(0==this.a&&!Ur(this))for(var b=0;b<this.c;b++)x(this.b," "),this.a+=2;IY.prototype.zc.call(this,a)};
  1976. g.wf=function(a,b){if(0==a&&0>1/a)IY.prototype.wf.call(this,a,b);else{var c=r4a(b);if(null==c)IY.prototype.wf.call(this,a,b);else{0>a&&(c="-"+r(c));try{var d=Ib(c)}catch(e){e=va(e);if(hh(e)){IY.prototype.wf.call(this,a,b);return}throw e.s;}a!=d?IY.prototype.wf.call(this,a,b):this.Se(c)}}};g.Ff=function(){0>=this.a&&!Ur(this)||(Og(this.b,10),this.g++,this.a=0)};g.Df=function(){this.vh()};g.vh=function(){this.a>this.pa&&this.Ff()};g.Vd=function(){this.Ff()};g.Fm=function(){this.Ib();Pr(this,"{");this.c++};
  1977. g.Em=function(){Qr(this);this.Vd();this.c--;Pr(this,"}")};g.Lg=function(){Pr(this,", ");this.Df()};g.cj=function(a){IY.prototype.cj.call(this,a);a&&this.Ff()};g.yl=function(){IY.prototype.yl.call(this);this.c++;this.Vd()};g.Gl=function(){IY.prototype.Gl.call(this);this.c--};g.Gm=function(a,b){32!=this.Ye()&&b&&44!=a.charCodeAt(0)&&Pr(this," ");Pr(this,a);b&&Pr(this," ")};g.dm=function(){return!0};g.Ib=function(){32!=this.Ye()&&10!=this.Ye()&&Pr(this," ")};
  1978. g.pk=function(a){F(Hw(a),a);var b=a.m();switch(b.c.a){case 75:return!1;case 69:return!1;case 47:return!q(a,b.a);case 82:return!TS(gG(b));case 70:return q(a,O(b))}return!0};g.sc=function(){Pr(this,";");this.Vd();this.f=!1};g.vk=function(){Qr(this)};
  1979. function r4a(a){if(!RH(a))return null;var b=W3a(a);if(!(b instanceof XL))return null;try{var c=b.b}catch(e){e=va(e);if(Fa(e))return null;throw e.s;}try{var d=aya(a)}catch(e$4){e$4=va(e$4);if(mb(e$4))return null;throw e$4.s;}a=d+a.u;return 0>d||a>c.length?null:ne(c,d,a)}function s4a(){tI.call(this)}l(s4a,tI);
  1980. s4a.prototype.b=function(a,b){var c=a.m();c&&(Hw(c)||tC(c)||pH(c))&&(kA(a)||P(a)||LH(a)?AI(this,t4a(this,a)):yH(a)&&kH(a.a)?(c=a.a,CL(c.a)?AI(this,Qya(this.U,nG(c))):AI(this,t4a(this,O(c)))):PI(a)&&hF(a)&&(CL(a.a)?AI(this,Qya(this.U,nG(a))):AI(this,t4a(this,hF(a)))));tI.prototype.b.call(this,a,b)};
  1981. function t4a(a,b){if(LH(b)){var c=fF(b);F(P(c)&&LH(c.m()),c);b=c.f;if(!b||b.aa())b="";else{var d=b.ha();b=ue("/**\n");var e=lX(c).a;u4a(a,b,d,e);BY(c)?(a=v4a,F(d.xa(),d),c=d.Ma(),d=d.Zd()-Tz(d).Zd(),d=c.a.Gb(c.a.w()-d,c.a.w()),a(b,d)):(v4a(b,Ly(d)),(a=HA(d))&&!uy(a)&&(x(b," * "),JY(b,"return",oz(a,(pz(),qz))),x(b,"\n")));x(b," */\n");b=b.toString()}return b}return kA(b)?(b=b.f,!b||b.aa()?b="":(F(iy(b),b),b=b.ha(),a=Mg(),b.Ja()?w4a(a,b):(F(b.xa(),b),x4a(a,b)),v4a(a,Ly(b)),b=a.toString(),b=te(b)?b:
  1982. "/**\n"+r(b)+" */\n"),b):P(b)?y4a(a,b):tL(b)?(d=b.f)?iy(d)?y4a(a,b):d.fd()?"/** @enum {"+r(oz(zy(d).Om(),(pz(),qz)))+"} */\n":d.aa()||uy(d)||d.Zb()||d.mc()?"":"/** @type {"+r(oz(b.f,(pz(),qz)))+"} */\n":"":""}
  1983. function y4a(a,b){var c=b.f;E(P(b)||iy(c));if(!c||c.aa())return"";var d=c.ha();if(c.I(qy(a.u,(I(),Av))))return"/** @type {!Function} */\n";c=ue("/**\n");var e=null;b&&P(b)&&(e=lX(b).a);u4a(a,c,d,e);e=HA(d);!e||uy(e)||d.Ja()||d.xa()&&e.Zb()||(x(c," * "),JY(c,"return",oz(e,(pz(),qz))),x(c,"\n"));d.xa()?(x4a(c,d),x(c," * @constructor\n")):d.Ja()?w4a(c,d):(e=d.vb(),!e||e.aa()||e.Zb()||b&&e.I(z4a(a,b))||(x(c," * "),JY(c,"this",oz(e,(pz(),qz))),x(c,"\n")));v4a(c,Ly(d));x(c," */\n");return c.toString()}
  1984. function u4a(a,b,c,d){var e=lta(c),f=FA(c);c=Vl(CA(c));for(var h=0;h<c.w();h++){x(b," * ");var k=a;var m=c,p=h,t=e,v=f,C=m.G(p);k=p<t?oz(C,(pz(),qz)):2147483647==v&&p==m.w()-1?"..."+r(oz(A4a(k,C),(pz(),qz))):r(oz(A4a(k,C),(pz(),qz)))+"=";JY(b,"param",k);k=d;m=h;p=null;k&&(Fi(Gw(k.m()),k),Jw(k)?k=fF(k):vH(k)&&(k=k.a),L(k)?p=k:(F($w(k)||Zw(k),k),p=null));p?(F(L(p),p),k=p.l()):k="p"+m;x(x(x(b," "),k),"\n");d&&(d=d.b)}}
  1985. function v4a(a,b){b.D()||(x(a," * @template "),sk(qk(","),a,op(b,gj(function(c){return oz(c,(pz(),bD))}))),x(a,"\n"))}function x4a(a,b){var c=Tz(b).Ic();c&&(c=Tz(c),"Object"!==c.toString()&&(x(a," * "),JY(a,"extends",oz(c,(pz(),bD))),x(a,"\n")));c=xm();for(b=pta(b).h();b.i();){var d=b.j();c.add(oz(d,(pz(),bD)))}for(b=c.h();b.i();)c=b.j(),x(a," * "),JY(a,"implements",c),x(a,"\n")}
  1986. function w4a(a,b){for(var c=xm(),d=pta(b).h();d.i();){var e=d.j();c.add(oz(e,(pz(),bD)))}for(c=c.h();c.i();)d=c.j(),x(a," * "),JY(a,"extends",d),x(a,"\n");b.yj()?x(a," * @record\n"):x(a," * @interface\n")}function z4a(a,b){if(!b)return null;var c=b.m();b=null;kH(c)?(c=c.a,TX(c)&&(b=EC(hF(c)),b=(a=KB(a.u,null,b))?a.ua():null)):kA(c)&&(b=c.f.ha());return b?Tz(b):null}function JY(a,b,c){x(x(x(x(x(a,"@"),b)," {"),c),"}")}
  1987. function A4a(a,b){if(!b.ve())return b;var c=b.Ia();return b.td()?(b=qy(a.u,(I(),Ov)),oB(a.u,Sl(c,b))):uy(c)?b:c}function B4a(){this.v=this.A=this.b=this.c=this.f=!1}l(B4a,n);function C4a(a){var b=new B4a;b.a=ZZa();b.b=!1;b.u=null;var c=new vza;c.a=b;b.F=c;b.o=a;return b}
  1988. function D4a(a){if(!a.o)throw pb("Cannot build without root node being specified").s;var b=a.o,c=a.a,d=a.b,e=a.c;Bza();var f=d?xza:e||xI(zI(c),(uI(),SJ))?yza:zza;var h=a.a;c=a.u;d=a.A;e=a.v;var k=a.f,m=a.F;E(!!h.Lf);a=!!c;if(q(f,zza)){var p=new p4a,t=h.Yj;n4a(p,h.ng,a,h.Lf);p.o=0;p.c=0;p.za=k;p.Da=t;h=p}else k=new q4a,n4a(k,h.ng,a,h.Lf),k.c=0,h=k;q(f,xza)?(f=m.a.a,m=m.a.g,k=new s4a,Nya(k,h,f),G(m),k.u=m,k.U=Mya(f.li),m=k):(f=new tI,Nya(f,h,m.a.a),m=f);d&&AI(m,"/** @fileoverview @typeSummary */\n");
  1989. e&&(AI(m,"'use strict';"),m.a.Vd());BI(m,b);h.vk();b=h.b.toString();if(a&&h.A){d=Mj();e=0;for(a=mi(b,10);-1<a;)d.W(Fc(a-e)),e=a+1,a=ni(b,10,e);d=d.fa();for(e=h.F.h();e.i();)if(k=e.j(),a=c,m=k.c,h=k.b,f=d,k=k.a,p=k.a,p>=f.w()?f=k:(Ki(k.b<=f.G(p).xb(),"End position %s points to a column larger than line length %s",k,f.G(p)),f=k.b==f.G(p).xb()?Cr(p+1,0):k),t=m,m=f,f=WA(t),!(null==f||0>XA(t))){k=XA(t);p=YA(t);t=BC(t);if(a.f){var v=iZa(a.f,f,k,p);if(v){f=zr(v.kc,1,wr);k=zr(v.kc,2,vr);p=zr(v.kc,3,vr);var C=
  1990. zr(v.kc,4,wr);v=v.kc;var J=4<v.b?4+v.c:4;null!=yr(v,J)[J]&&!te(C)&&(t=C)}}f=DZa(a,f);Yna(a.a,f,t,Cr(k-1,p),h,m)}}return b}function E4a(){this.a=this.b=!1}l(E4a,n);function Mya(a){var b=new E4a;b.b=a;b.a=!1;return b}
  1991. function Qya(a,b){var c=!1,d=w();d.add("/**");Ay(b,32768)?d.add("@externs"):Ay(b,16)&&d.add("@typeSummary");Ay(b,1024)?d.add("@export"):b.c&&!q(b.c,(HD(),FD))&&d.add("@"+r(Xp(b.c.toString())));Ay(b,268435456)&&d.add("@abstract");SD(b)&&d.add(KY(a,"lends",SD(b).a,null));Ay(b,1)&&!Ay(b,4)&&d.add("@const");Ay(b,32)&&d.add("@final");var e=cE(b);null!=e&&(c=!0,d.add("@desc "+r(e)));b.a&&zD(b.a,1)&&d.add("@wizaction");rE(b)&&d.add("@polymerBehavior");sE(b)&&d.add("@polymer");tE(b)&&d.add("@customElement");
  1992. uE(b)&&d.add("@mixinClass");vE(b)&&d.add("@mixinFunction");b.a&&b.a.ta&&d.add("@disposes");Ay(b,1048576)&&d.add("@expose");Ay(b,16384)&&d.add("@nosideeffects");Ay(b,131072)&&d.add("@nocompile");Ay(b,2048)&&d.add("@noinline");Ay(b,524288)&&d.add("@idGenerator {unique}");Ay(b,262144)&&d.add("@idGenerator {consistent}");Ay(b,16777216)&&d.add("@idGenerator {stable}");Ay(b,65536)&&d.add("@idGenerator {xid}");Ay(b,33554432)&&d.add("@idGenerator {mapped}");Ay(b,8388608)&&d.add("@dict");Ay(b,4194304)&&d.add("@struct");
  1993. Ay(b,2097152)&&d.add("@unrestricted ");dE(b)&&d.add("@constructor");eE(b)&&!Ay(b,134217728)&&d.add("@interface");eE(b)&&Ay(b,134217728)&&d.add("@record");ND(b)&&(c=!0,e=F4a(ND(b).a),d.add(KY(a,"extends",e,null)));for(e=RD(b).h();e.i();){var f=e.j();c=!0;f=F4a(f.a);d.add(KY(a,"extends",f,null))}for(e=PD(b).h();e.i();)f=e.j(),c=!0,f=F4a(f.a),d.add(KY(a,"implements",f,null));b.f&&(c=!0,e=F4a(b.f.a),d.add(KY(a,"this",e,null)));if(0<kE(b))for(c=!0,e=KD(b).h();e.i();)f=e.j(),d.add("@param "+r(G4a(a,b,f)));
  1994. hE(b)&&(c=!0,d.add(KY(a,"return",QD(b,1073741824).a,b.b?b.b.f:null)));YD(b).D()||d.add(LY(a,"throws",YD(b).G(0)));e=yE(b);e.Qa()||(c=!0,e.ib(Wd(function(k,m){var p=m.a;q(p.c,(H(),yu))&&!p.a?d.add("@template "+r(k)):d.add(KY(a,"template",m.a,k))})));e=zE(b);if(!e.Qa())for(c=!0,e=e.V().h();e.i();){var h=e.j();f=h.M();h=D4a(C4a(h.O()));d.add("@template "+r(f)+" := "+r(h)+" =:")}Ay(b,64)&&d.add("@override");gE(b)&&!Ay(b,4)&&(b.A?d.add(H4a(a,ZD(b).a)):d.add(LY(a,"type",ZD(b))));Ay(b,4)&&d.add(LY(a,"define",
  1995. ZD(b)));jE(b)&&d.add(LY(a,"typedef",QD(b,-2147483648)));iE(b)&&d.add(LY(a,"enum",QD(b,1610612736)));Ay(b,8192)&&d.add("@implicitCast");Ay(b,67108864)&&d.add("@nocollapse");e=WD(b);e.D()||(c=e.mb(za([0],B,y,B.a)),pd(c,(Fl(),Gl)),d.add("@suppress {"+r(uk(qk(Hg(44)),c))+"}"),c=!0);Ay(b,256)&&(d.add("@deprecated "+r(xE(b))),c=!0);sE(b)&&(c=!0,d.add("@polymer"));rE(b)&&(c=!0,d.add("@polymerBehavior"));vE(b)&&(c=!0,d.add("@mixinFunction"));uE(b)&&(c=!0,d.add("@mixinClass"));tE(b)&&(c=!0,d.add("@customElement"));
  1996. null!=$D(b)&&d.add("@closurePrimitive {"+r($D(b))+"}");qE(b)&&d.add("@ngInject");a.a&&null!=OD(b)&&(b=xi(OD(b),"\n\\s*\\*\\s*","\n"),te(b)||(c=!0,b=Ci(b),1<d.w()&&(b=r(b)+Hg(10)),d.bc(1,b)));b=Mg();c?sk(qk("\n"),b,d):(sk(qk(" "),b,d),x(b," */"));b=xi(xi(b.toString(),"\n","\n *"),"\n \\*([^ \n])","\n * $1");return b=c?r(b)+"\n */\n":r(b)+" "}function F4a(a){q(a.c,(H(),zu))&&(a=a.a);return a}function LY(a,b,c){return KY(a,b,c.a,null)}
  1997. function KY(a,b,c,d){var e=Mg();x(e,"@");x(e,b);x(e," {");MY(a,e,c);x(e,"}");null!=d&&(x(e," "),x(e,d));return e.toString()}function G4a(a,b,c){var d=LD(b,c);return d?(a="{"+r(H4a(a,d.a))+"} "+r(c)+r(a.a&&null!=(b.b&&b.b.a?b.b.a.get(c):null)?b.b&&b.b.a?b.b.a.get(c):null:""),Ci(a)):c}function H4a(a,b){var c=Mg();MY(a,c,b);return c.toString()}
  1998. function MY(a,b,c){if(a.b&&null!=BC(c))x(b,BC(c));else if(q(c.c,(H(),zu)))x(b,"!"),MY(a,b,c.a);else if(q(c.c,(H(),Eu)))MY(a,b,c.a),x(b,"=");else if(q(c.c,(H(),xu))){x(b,"(");var d=O(c);for(c=c.a;c;c=c.b)MY(a,b,c),q(c,d)||x(b,"|");x(b,")")}else if(q(c.c,(H(),ou)))x(b,"..."),c.a&&!Aw(c.a)&&MY(a,b,c.a);else if(q(c.c,(H(),Dpa)))x(b,"*");else if(q(c.c,(H(),yu)))x(b,"?"),c.a&&MY(a,b,c.a);else if(P(c))a:{d=!1;x(b,"function(");var e=c.a;if(TC(e))x(b,"new:"),MY(a,b,e.a),d=!0;else if(SC(e))x(b,"this:"),MY(a,
  1999. b,e.a),d=!0;else{if(Aw(e)){x(b,")");break a}if(!Gw(e)){x(b,"):");MY(a,b,e);break a}}var f=null;Gw(e)?f=e:Gw(e.b)&&(f=e.b);if(f)for(e=!0,f=BA(f).h();f.i();){var h=f.j();e&&!d||x(b,",");MY(a,b,h);e=!1}x(b,")");c=O(c);Aw(c)||(x(b,":"),MY(a,b,c))}else if(q(c.c,(H(),Gu))){x(b,"{");d=c.a;c=O(d);for(d=d.a;d;d=d.b)d.a?(x(x(b,d.a.l()),":"),MY(a,b,O(d))):x(b,d.l()),q(d,c)||x(b,",");x(b,"}")}else if(q(c.c,(H(),It)))x(b,"void");else if(cI(c))x(b,"typeof "),MY(a,b,c.a);else if(c.a){x(x(b,c.l()),"<");d=c.a;c=O(d);
  2000. for(d=d.a;d;d=d.b)MY(a,b,d),q(d,c)||x(b,",");x(b,">")}else x(b,c.l())}function Oya(){}l(Oya,n);function I4a(){this.u=0;this.b=!1;this.a=0}l(I4a,n);
  2001. function J4a(a,b){if(null==a.o){var c=b.length,d=Math.min(c,20);var e=Mg();x(e,"$$S_");for(var f=!1,h=0;h<d;h++){var k=b.charCodeAt(h);f&&((48<=k&&57>=k||97<=k&&102>=k)&&Og(e,95),f=!1);48<=k&&57>=k||65<=k&&90>=k||97<=k&&122>=k?Og(e,k):(Og(e,36),x(e,na(k)),f=!0)}c==d?e=e.toString():(b=Yg(b)&a.g.u,Og(e,95),x(e,na(b)),e=e.toString(),a.g.A.add(e)||(e=r(e)+String("_"+a.u)));a.o=e}return a.o}function K4a(){}l(K4a,n);function NY(){this.o=!1;this.u=0}l(NY,n);
  2002. NY.prototype.H=function(a,b){Y(this.c,b,this);for(a=this.a.V().h();a.i();){var c=a.j();b=c.M();c=c.O();var d=2+b.length;if(9+d+3*c.a<c.a*d)for(d=c.v.h();d.i();){var e=d.j(),f=J4a(c,b),h=c;f=rx(f);pF(e.b,e.a,f);h.b=!0;Z(this.c,f)}}for(a=this.a.V().h();a.i();)c=a.j(),b=c.O(),b.b&&(d=J4a(b,c.M()),c=Rw(rx(d),ux(c.M())),HG(c,b.f),b.A?mF(b.f,c,b.A):Mx(b.f,c),Z(this.c,c));if(this.o)for(a=ue("Strings used more than once:\n"),b=this.a.V().h();b.i();)c=b.j(),d=c.O(),1<d.a&&(Vg(a,d.a),x(a,": "),x(a,c.M()),Og(a,
  2003. 10))};NY.prototype.ga=function(a,b){switch(b.c.a){case 124:case 123:case 125:return!1;default:return!0}};
  2004. NY.prototype.J=function(a,b,c){if(Dw(b)&&!N(c)&&!UH(c)){var d=b.l(),e;!(e="undefined"===d)&&(e=this.b)&&(e=this.b,e.a=d,e.c.lastIndex=0,e.b.lastIndex=0,e=!!e.b.exec(e.a));if(!(e||this.f&&!this.f.B(d))){e=new K4a;e.a=b;e.b=c;b=this.a.get(d);b||(b=this.a.wa(),c=new I4a,c.g=this,c.u=b,c.v=w(),c.b=!1,b=c,this.a.C(d,b));d=b;d.v.add(e);d.a++;a=BT(a);if(1!=d.a)if(a&&d.c&&!q(a,d.c))a=D_a(this.v,a,d.c);else return;e=this.g.get(a);e||(e=OY(this.c,a),this.g.C(a,e));d.c=a;d.f=e;d.A=e.a}}};
  2005. function L4a(){L4a=function(){};ka(la(NY))}NY.prototype.la=!0;function PY(){}l(PY,n);PY.prototype.ac=function(){return fc(this)};PY.prototype.hc=function(a){return cc(this,a)};PY.prototype.oc=function(a){return dc(this,a)};PY.prototype.Pa=function(a,b){return a.b!=b.b?b.b-a.b:kc(a.c,b.c)};function M4a(){}l(M4a,jn);function N4a(a,b){var c=new M4a;c.b=a;mia(c,b);return c}
  2006. M4a.prototype.toString=function(){for(var a=0,b=w();-1!=(a=pn(this,a));)b.add(this.b.a.ef().get(Fc(a)).toString()),a+=1;return tk(qk(" && "),b)};function O4a(){}l(O4a,RT);
  2007. O4a.prototype.J=function(a,b){switch(b.c.a){case 26:a=R(b);b=P4a(this.a,b.a);Q4a(this,a,b);break;case 28:a=b.a;if(DC(a))if(a=wG(a),null!=a&&MX(this.a.b).Dd(a)){var c=GA(b);2!=c&&3!=c?R4a(this.a,b,a," Must be called with 1 or 2 arguments."):(c=R(b),Dw(c)?ji(c.l(),".")?R4a(this.a,b,a," The first argument must not be a property path."):S4a(this.a,c.l()).f=!0:R4a(this.a,b,a," The first argument must be a string literal."))}else if(SX(b)&&(a=R(b),b=P4a(this.a,a),a=a.b,SH(a)))for(c=BA(a).h();c.i();){var d=
  2008. c.j();T4a(this,a,d,b)}break;case 46:case 98:if(!eH(b.m())||!SX(b.m()))for(a=P4a(this.a,b),c=b.a;c;c=c.b)T4a(this,b,c,a);break;case 27:b=O(b);Dw(b)&&this.a.c.add(b.l());break;case 100:for(a=P4a(this.a,b),c=iy(a)?IA(a.ha()):qy(eJ(this.a.b),(I(),ew)),b=BA(TW(b)).h();b.i();)if(d=b.j(),d.bb())this.a.c.add(d.l());else if(rH(d))Dw(d.a)&&this.a.c.add(d.a.l());else if(!VW(d)){var e=TG(d)?a:c;Q4a(this,d,e)}}};
  2009. function T4a(a,b,c,d){Fi(SH(b)||$w(b),b);switch(c.c.a){case 122:Dw(c.a)&&a.a.c.add(c.a.l());break;case 102:case 90:case 91:case 95:c.bb()?a.a.c.add(c.l()):Q4a(a,c,d);break;case 119:case 121:break;default:throw pb("Unexpected child of "+r(b.c)+": "+r(uD(c))).s;}}function Q4a(a,b,c){var d=b.l();if(!a.a.o.B(d))a:if(a.a.v.add(b),a=S4a(a.a,d),!a.f){++a.b;if(jy(c)&&(c=c.Ia(),jy(c))){for(c=dz(c).h();c.i();)b=c.j(),U4a(a,b);break a}U4a(a,c)}}function V4a(){this.b=0;this.f=!1}l(V4a,n);
  2010. function U4a(a,b){if(a.f||QY(a.a.A,b))a.f=!0;else if(!nn(a.o,W4a(a.a,b))){X4a(a.a,b);var c=a.o;a=a.a;if(a.f.X(b))b=a.f.get(b);else throw Ha("Related types should have been computed for type: "+r(b)+" but have not been.").s;qn(c,b)}}function RY(){}l(RY,n);RY.prototype.a=function(){return this.c};RY.prototype.sb=function(){return this.b};RY.prototype.nc=function(a){this.b=a};function Y4a(){}l(Y4a,n);Y4a.prototype.c=function(a){qn(this.b,a.o)};
  2011. Y4a.prototype.f=function(a){a:{var b=this.b;a=a.o;if(q(b,a))b=0<on(b);else{for(var c=Math.min(b.a.length,a.a.length),d=0;d<c;d++){var e=b.a[d]|0;if(0!=e&&0!=(e&(a.a[d]|0))){b=!0;break a}}b=!1}}return!b};function Z4a(){}l(Z4a,n);g=Z4a.prototype;g.Bd=function(){return this.a};g.Kl=function(){return this.a.w()};g.Yl=function(){var a=new Y4a;a.a=this.b;a.b=N4a(a.a,a.a.a.wa());return a};g.Hm=function(){for(var a=this.a.h();a.i();)a.j().nc(null)};
  2012. g.Ub=function(){throw Ha("PropertyGraph#getNode is never called.").s;};g.Ml=function(a){return a.b};function $4a(){}l($4a,RT);function a5a(a,b,c){a.a.tb(b,c,new Xd(function(d,e){return aAa(d,e)}))}
  2013. $4a.prototype.J=function(a,b){switch(b.c.a){case 90:E(CH(b));b=b.l();a5a(this,b,(kJ(),iJ));break;case 91:E(VH(b));b=b.l();a5a(this,b,(kJ(),jJ));break;case 28:if(T(),eH(b)&&mG(b,4)?(a=b.a,a=N(a)?li(O(a).l(),"defineProperty")&&H3a(a.a):!1):a=!1,a)a=RC(b,2),b=RC(b,3),Dw(a)&&SH(b)&&(a=a.l(),b5a(this,a,b));else if(SX(b)&&(b=RC(b,2),SH(b)))for(b=BA(b).h();b.i();)if(a=b.j(),Lx(a)&&gF(a)&&SH(a.a)){var c=a.l();b5a(this,c,a.a)}}};
  2014. function b5a(a,b,c){for(c=BA(c).h();c.i();){var d=c.j();if(Lx(d)||LH(d))"get"===d.l()?a5a(a,b,(kJ(),iJ)):"set"===d.l()&&a5a(a,b,(kJ(),jJ))}}function c5a(){}l(c5a,n);c5a.prototype.H=function(a,b){SY(this.a,a,b)};function SY(a,b,c){E(q(b.m(),c.m()));b=b.m();c=new $4a;c.a=Uf();Y(a,b,c);b=il(c.a);b=cAa(il(b));a.Ha=b}function d5a(){this.v=this.g=this.u=this.f=this.o=this.c=!1}l(d5a,n);function e5a(a){var b=new d5a;b.F=pm();b.c=!1;b.o=!1;b.f=!0;b.u=!0;b.g=!1;b.v=!0;b.a=a;return b}
  2015. function f5a(a){E(!a.b);a.b=Nj();a.f||a.b.W(qy(a.a,(I(),kw)));a.u||a.b.Ce(A([qy(a.a,(I(),Bv)),qy(a.a,Av),qy(a.a,Cv),qy(a.a,Tv),qy(a.a,Vv),qy(a.a,Uv)],ly,ey,1));for(var b=a.F.h();b.i();){var c=b.j();g5a(a,c.a,c.c);g5a(a,c.b,c.c)}b=a.b.fa();a.b=null;c=new h5a;c.f=b;c.b=a.c;c.a=a.o;c.c=a.g;return c}function i5a(a){a.c=a.o=!0;return a}function TY(a,b){var c;b.Z((c=a.F,zb(function(d){c.add(d)})));return a}function j5a(a){a.u=!1;return a}
  2016. function g5a(a,b,c){b=b.Ia();if(jy(b))for(b=dz(b).h();b.i();){var d=b.j();g5a(a,d,c)}else if(F(!jy(b),b),a.v)if(b.Wb())UY(a,Gy(b),c);else{if(UY(a,b,c),b=zy(b))UY(a,b.Va(),c),b.xa()?UY(a,Tz(b.ha()),c):b.cd()&&UY(a,b.ua(),c)}else UY(a,b,c)}function UY(a,b,c){b&&b.Ab()&&(a.b.W(b),a.A&&a.A.Aa(b,c))}function h5a(){this.c=this.a=this.b=!1}l(h5a,n);
  2017. function QY(a,b){if(!b||b.aa()||uy(b))return!0;if(jy(b)&&(b=b.Ia(),jy(b))){for(b=dz(b).h();b.i();){var c=b.j();if(QY(a,c))return!0}return!1}(b=zy(b))?((c=a.f.B(b))||(c=a.c&&ky(b)?!1:b.Um()),a=c||!a.b&&!!b.fd()||!a.a&&!!b.rc()):a=!a.a;return a}var k5a,l5a,VY;
  2018. function WY(){WY=function(){};k5a=BJ("JSC_INVALIDATION","go/disambiguation-errors Property ''{0}'' was required to be disambiguated but was invalidated. This is due to an access on type ''{1}''. It became invalidating due to mismatches or structural matches at the following locations:\n{2}");l5a=BJ("JSC_INVALIDATION_TYPE","Property disambiguator skipping instances of property {0} on type {1}. {2}");VY=U("JSC_INVALID_RENAME_FUNCTION","{0} call is invalid: {1}")}function XY(){this.a=0}l(XY,n);
  2019. function m5a(a){var b=new XY;b.a=a;return b}XY.prototype.I=function(a){return a instanceof XY?this.a==a.a:!1};XY.prototype.P=function(){return this.a};function n5a(){}l(n5a,n);function o5a(a,b){Li(a.b,"No coloring founded. color() should be called first.");var c=a.a.Ub(b).sb(),d=a.b[c.a];return null==d?a.b[c.a]=b:d}function p5a(){}l(p5a,n5a);function q5a(a,b){var c=new p5a;c.a=a;c.c=b;return c}
  2020. function r5a(a){var b=Jd(a.a.Bd());Uca(b,ac(u(function(k){return k.a()}),new hc(function(k,m){var p=a.a.Ml(m)-a.a.Ml(k);return 0==p&&a.c?a.c.Pa(k,m):p})));var c=0;do{for(var d=m5a(c),e=a.a.Yl(),f=b.h();f.i();){var h=f.j();e.f(h.a())&&(e.c(h.a()),h.nc(d),f.ma())}c++}while(!b.D());a.b=Array(c);return c}function s5a(){}var t5a;l(s5a,n);function W4a(a,b){b&&yy(b)&&(b=uz(zy(b)));if(a.a.X(b))return a.a.get(b).xb();var c=a.a.wa()+1;a.a.C(b,Fc(c));return c}
  2021. s5a.prototype.H=function(a,b){var c=this.b,d=new O4a;d.a=this;Y(c,b,d);d=Nj().fb(this.o).fb(this.c);for(var e=c=0,f=Kd(this.g.wa()),h=this.g.values().h();h.i();){var k=h.j();if(k.f)++e,d.W(k.c);else{++c;var m=new RY;m.c=k;f.add(m)}}c=new Z4a;c.b=this;c.a=f;f=r5a(q5a(c,t5a));e=d.fa();h=this.F;k=this.K;gXa();d=new XT;hXa(d);ZT(d,e,"",h,k);e=za([f],B,y,B.a);for(h=0;h<f;++h)Ad(e,h,aU(d));for(c=c.Bd().h();c.i();)d=c.j(),d.a().g=e[ed(d.sb())],this.u&&this.u.C(d.a().c,d.a().g);for(c=this.v.h();c.i();)d=
  2022. c.j(),f=d.l(),(e=this.g.get(f))&&null!=e.g&&(E(q(f,e.c)),q(e.g,f)||(d.Ga(e.g),Z(this.b,d)));SY(this.b,a,b);sj()};function X4a(a,b){F(!jy(b),b);if(!a.f.X(b)){var c=N4a(a,a.a.wa());a.f.C(b,c);rn(c,W4a(a,b));if(b.mc())b=zy(b).vc(),(b.xa()||b.Ja())&&u5a(a,b,c);else{var d=zy(b).ua();if(d)for(d=yta(d).h();d.i();){var e=d.j();u5a(a,e,c)}if(b=b.ha())for(d=yta(b).h();d.i();){var f=d.j();if(q(b,f.Va())){e=a;var h=c;X4a(e,f);qn(h,e.f.get(f))}}}}}
  2023. function u5a(a,b,c){Ii(wA(b),"Constructor %s without instance type.",b);b=Tz(b);X4a(a,b);qn(c,a.f.get(b))}function R4a(a,b,c,d){X(a.b,V(b,(WY(),VY),A([c,d],B,y,1)))}function S4a(a,b){var c=a.g.get(b);c||(c=new V4a,c.a=a,c.o=N4a(c.a,c.a.a.wa()),c.c=b,a.g.C(b,c));return c}function P4a(a,b){return(b=b.f)?b:qy(eJ(a.b),(I(),ew))}function v5a(){v5a=function(){};ka(la(s5a));t5a=new PY}function w5a(){}l(w5a,n);function YY(){}var x5a,y5a,z5a,A5a,B5a;l(YY,RT);YY.prototype.H=function(a,b){this.ra(b,null)};
  2024. YY.prototype.ra=function(a){Y(this.a,a,this);for(a=this.b.h();a.i();){var b=a.j(),c=b.b;var d=b.a;D(P(d));if(d=lX(d))a:{d=d.a;for(var e=w();d;){if(L(d))e.add(GG(ux(d.l()),d));else{if(Xw(d)){X(this.a,V(d,x5a,A([],B,y,1)));d=w();break a}if(vH(d)){X(this.a,V(d,y5a,A([],B,y,1)));d=w();break a}}d=d.b}d=e}else d=w();if(!d.D()){d=Nx(d.mb(za([0],lx,eI,lx.a)));d=cx(wx(vx(LX(this.a,c),ux("$inject")),d));HG(d,b.c);bG(d,c);c=HP(!1);MP(c,(HD(),ED));Gx(d.a,KP(c));b=b.f;for(c=b.b;c&&oX(c)&&MX(this.a).zd(c.a);)b=
  2025. c,c=b.b;nF(b.m(),d,b);Z(this.a,d)}}};
  2026. YY.prototype.J=function(a,b){if((a=nG(b))&&qE(a))a:{var c=a=null,d=null;switch(b.c.a){case 50:if(!DC(b.a)){X(this.a,V(b,z5a,A([],B,y,1)));break a}d=EC(b.a);for(c=b;kH(c);)c=O(c);a=b.m();break;case 69:d=TT(b);a=c=b;if(kH(b.m())&&qE(nG(b.m())))break a;break;case 80:case 104:case 92:d=b.a.l();a=b;G(a);D(PI(a));if(a=hF(a)){for(;kH(a);)a=O(a);c=a}else c=null;a=b;break;case 102:var e=b.m();pH(e)&&(e=e.m(),d=TG(b)?".":".prototype.",d=r(TT(e))+r(d)+r(b.l()),VW(b)&&(d=TT(e)),c=b.a,kH(e.m())||L(e.m())?a=gG(e):
  2027. a=e)}c&&P(c)?tC(a.m())||Hw(a.m())||NH(a.m())?(G(d),e=new w5a,e.b=d,e.c=b,e.a=c,e.f=a,this.b.add(e)):X(this.a,V(b,B5a,A([],B,y,1))):X(this.a,V(b,A5a,A([],B,y,1)))}};
  2028. function C5a(){C5a=function(){};B5a=U("JSC_INJECT_IN_NON_GLOBAL_OR_BLOCK_ERROR","@ngInject only applies to functions defined in blocks or global scope.");A5a=U("JSC_INJECT_NON_FUNCTION_ERROR","@ngInject can only be used when defining a function or assigning a function expression.");x5a=U("JSC_INJECTED_FUNCTION_HAS_DESTRUCTURED_PARAM","@ngInject cannot be used on functions containing destructured parameter.");y5a=U("JSC_INJECTED_FUNCTION_HAS_DEFAULT_VALUE","@ngInject cannot be used on functions containing default value.");
  2029. z5a=U("JSC_INJECTED_FUNCTION_ON_NON_QNAME","@ngInject can only be used on qualified names.")}function D5a(){}l(D5a,n);function E5a(a,b){var c=new ZY;if(null==a)throw rb("Null specifier").s;c.a=a;if(null==b)throw rb("Null varName").s;c.b=b;return c}function ZY(){}l(ZY,D5a);ZY.prototype.toString=function(){return"ModuleRequest{specifier="+r(this.a)+", varName="+r(this.b)+"}"};ZY.prototype.I=function(a){return q(a,this)?!0:a instanceof D5a?q(this.a,a.a)&&q(this.b,a.b):!1};
  2030. ZY.prototype.P=function(){var a=1000003^Yg(this.a);return a=1000003*a^Yg(this.b)};function $Y(){this.f=!1}l($Y,n);g=$Y.prototype;g.wk=function(){};g.Hl=function(){};g.ga=function(a,b){switch(b.c.a){case 89:this.b=this.g.b.get(KR(AT(a)).toString());G(this.b);b.a&&NH(b.a);this.wk(this.b);break;case 86:yY(b)&&(this.f=!0);break;case 28:if(this.f&&yG(b.a,"goog.module")){var c=this.g.a.get(O(b).l());G(c);q(c,this.b)||(this.b=c,this.wk(this.b))}}return this.kn(a,b,this.b)};g.kn=function(){return!0};
  2031. g.J=function(a,b){switch(b.c.a){case 89:G(this.b);this.Hl();this.b=null;break;case 86:yY(b)&&(G(this.b),this.Hl(),this.f=!1,this.b=this.g.b.get(KR(AT(a)).toString()),G(this.b))}this.hl(a,b,this.b)};g.hl=function(){};g.la=!0;function F5a(){this.f=!1}l(F5a,$Y);F5a.prototype.wk=function(a){this.a.f.na(a.b.te())};
  2032. F5a.prototype.hl=function(a,b,c){if(c){var d=b.m();if(eH(b)){var e=G5a(b);if(e)a:{var f=JT(a)||KT(a),h=PV(c)||q(c.f,(KV(),IV)),k=!h||yH(d),m=PI(d.m());if(f&&k)if(kG(b)&&Dw(R(b))){if(!h&&m){d=d.m();if(!gF(d)){MT(a,b,(aZ(),H5a),A([e.Of()],B,y,1));break a}e.wl()&&(hx(d)?MT(a,b,(aZ(),I5a),A([e.Of()],B,y,1)):!ix(d)&&MV(c)&&MT(a,b,(aZ(),J5a),A([e.Of()],B,y,1)));f=d.a;if(Yw(f))if(e.xl()){b:if(D(Yw(f)),f=f.a,$w(f)){for(f=BA(f).h();f.i();)if(k=f.j(),!Lx(k)||!L(k.a)){f=!1;break b}f=!0}else f=!1;f||MT(a,d,(aZ(),
  2033. K5a),A([e.Of()],B,y,1))}else MT(a,d,(aZ(),L5a),A([e.Of()],B,y,1));else k=O(b).l(),d=f.l(),k=Oa(k,ti(k,46)+1),q(d,k)||te(k)||Yp(d.charCodeAt(0))==Yp(k.charCodeAt(0))||(k=Hg(Yp(d.charCodeAt(0))?Cla(d.charCodeAt(0)):Dla(d.charCodeAt(0)))+r(d.substr(1)),MT(a,f,(bZ(),M5a),A([d,k],B,y,1)))}d=R(b).l();if(f=this.o.a.get(d))this.a.a||!e.Xl()||this.a.f.B(d)||MT(a,b,(aZ(),N5a),A([d],B,y,1));else{if(q(e,(cZ(),O5a))){m&&!h&&MT(a,b,(dZ(),P5a),A([d],B,y,1));break a}MT(a,b,(dZ(),eZ),A([d],B,y,1))}q(e,(cZ(),Q5a))&&
  2034. f&&MV(c)&&MV(f)&&MT(a,b,(fZ(),R5a),A([],B,y,1))}else MT(a,b,(aZ(),S5a),A([e.Of()],B,y,1));else MT(a,b,(dZ(),gZ),A([],B,y,1))}else if(zG(b.a,(aZ(),T5a)))if(LT(a))MT(a,b,(dZ(),U5a),A([],B,y,1));else if(MV(c)||NV(c)||!IT(a)||q(this.c.a.c,(PL(),WL)))if(kG(b)&&Dw(R(b)))if(e=R(b).l(),this.o.a.get(e)){if(h=b.m(),h=kH(h)&&L(h.a),c=NV(c)||MV(c),h&&c)if(c=b.m().a.l(),c=ET(a).T(c)){if(h=c=sL(c.N()))h=(aZ(),V5a),T(),h=eH(c)?zG(c.a,h):!1;h?li(e,O(c).l())||MT(a,b,(hZ(),iZ),A([],B,y,1)):MT(a,b,(hZ(),iZ),A([],B,
  2035. y,1))}else MT(a,b,(hZ(),iZ),A([],B,y,1))}else MT(a,b,(dZ(),eZ),A([e],B,y,1));else MT(a,b,(aZ(),S5a),A(["goog.module.get"],B,y,1));else MT(a,b,(dZ(),W5a),A([],B,y,1))}else L(b)&&(a=ET(a).T(b.l()))&&!q(a.a,b)&&(b=a.a)&&EX(b)&&(b=Lx(b.m())?gG(gG(b)):b.m(),PI(b)&&gF(b)&&b.a.a&&eH(O(b.a))&&G5a(O(b.a)))}};function G5a(a){E(eH(a));return zG(a.a,(aZ(),X5a))?(cZ(),Q5a):zG(a.a,(aZ(),V5a))?(cZ(),O5a):zG(a.a,(aZ(),Y5a))?(cZ(),Z5a):null}function jZ(){this.a=0}var Q5a,O5a,Z5a;l(jZ,z);
  2036. function cZ(){cZ=function(){};Q5a=$5a();O5a=a6a();Z5a=b6a()}function c6a(){this.a=0}l(c6a,jZ);function $5a(){cZ();var a=new c6a;a.b="REQUIRE";a.a=0;return a}g=c6a.prototype;g.xl=function(){return!0};g.wl=function(){return!0};g.Xl=function(){return!0};g.Of=function(){return"goog.require"};g.R=function(a){return jZ.prototype.c.call(this,a)};function d6a(){this.a=0}l(d6a,jZ);function a6a(){cZ();var a=new d6a;a.b="FORWARD_DECLARE";a.a=1;return a}g=d6a.prototype;g.xl=function(){return!1};g.wl=function(){return!1};
  2037. g.Xl=function(){return!1};g.Of=function(){return"goog.forwardDeclare"};g.R=function(a){return jZ.prototype.c.call(this,a)};function e6a(){this.a=0}l(e6a,jZ);function b6a(){cZ();var a=new e6a;a.b="REQUIRE_TYPE";a.a=2;return a}g=e6a.prototype;g.xl=function(){return!0};g.wl=function(){return!0};g.Xl=function(){return!1};g.Of=function(){return"goog.requireType"};g.R=function(a){return jZ.prototype.c.call(this,a)};function f6a(){this.a=!1}var T5a,X5a,V5a,Y5a,S5a,H5a,I5a,J5a,K5a,L5a,N5a;l(f6a,n);
  2038. f6a.prototype.ra=function(a){this.a=!0;Y(this.c,a.m(),this.b);this.a=!1};f6a.prototype.H=function(a,b){Y(this.c,a,this.b);Y(this.c,b,this.b)};
  2039. function aZ(){aZ=function(){};K5a=U("JSC_INVALID_CLOSURE_IMPORT_DESTRUCTURING","Destructuring {0} must be a simple object pattern.");H5a=U("JSC_ONE_CLOSURE_IMPORT_PER_DECLARATION","There may only be one {0} per var/let/const declaration.");S5a=U("JSC_INVALID_CLOSURE_IMPORT_CALL","{0} parameter must be a string literal.");N5a=U("JSC_LATE_PROVIDE_ERROR",'Required namespace "{0}" not provided yet.');I5a=BJ("JSC_LET_CLOSURE_IMPORT","Module imports must be constant. Please use ''const'' instead of ''let''.");
  2040. L5a=U("JSC_NO_CLOSURE_IMPORT_DESTRUCTURING","Cannot destructure the return value of {0}");J5a=U("JSC_LHS_OF_CLOUSRE_IMPORT_MUST_BE_CONST_IN_ES_MODULE","The left side of a {0} must use ''const'' (not ''let'' or ''var'') in an ES module.");X5a=sx(rx("goog"),ux("require"));T5a=sx(sx(rx("goog"),ux("module")),ux("get"));V5a=sx(rx("goog"),ux("forwardDeclare"));Y5a=sx(rx("goog"),ux("requireType"))}function g6a(){}l(g6a,n);
  2041. g6a.prototype.a=function(a){if(Dw(a))for(var b=a.l(),c=null;;){var d=ti(b,46);if(0>d)break;h6a(this.b,a,b,c);c=b.substr(d+1);b=ne(b,0,d)}};function i6a(){}l(i6a,n);var U5a,W5a,eZ,gZ,P5a,j6a,k6a,l6a,m6a,n6a,kZ,o6a;
  2042. function dZ(){dZ=function(){};j6a=U("JSC_DUPLICATE_MODULE","Duplicate module: {0}. Module already declared in other file {1}");k6a=U("JSC_DUPLICATE_NAMESPACE","Duplicate namespace: {0}. Namespace already provided in other file {1}");l6a=U("JSC_INVALID_DESTRUCTURING_FORWARD_DECLARE","Cannot destructure a forward-declared type");U5a=U("JSC_MODULE_USES_GOOG_MODULE_GET","It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?");m6a=U("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",
  2043. "goog.forwardDeclare parameter must be a string literal.");n6a=U("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE","goog.module.get parameter must be a string literal.");kZ=U("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE","goog.require parameter must be a string literal.");o6a=U("JSC_GOOG_MODULE_INVALID_REQUIRE_TYPE_NAMESPACE","goog.requireType parameter must be a string literal.");eZ=U("JSC_MISSING_MODULE_OR_PROVIDE",'Required namespace "{0}" never defined.');P5a=U("JSC_MISSING_MODULE_OR_PROVIDE_FOR_FORWARD_DECLARE",
  2044. 'Required namespace "{0}" never defined.');W5a=U("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE","goog.module.get can not be called in global scope.");gZ=U("JSC_INVALID_CLOSURE_CALL_ERROR","Closure primitive methods (goog.provide, goog.require, goog.define, etc) must be called at file scope.")}function p6a(){this.f=!1}var M5a,q6a,r6a,s6a,t6a,u6a,v6a,w6a,x6a,y6a,z6a,A6a,B6a,C6a,D6a,E6a,F6a,G6a,H6a,I6a,J6a,K6a,L6a,M6a;l(p6a,$Y);g=p6a.prototype;g.H=function(a,b){Y(this.c,b,this)};
  2045. g.ra=function(a){Y(this.c,a,this)};g.wk=function(a){if(NV(a)){E(!this.a);E(!a.b.D());a=qp(a.b,"");var b=new i6a;b.a=bf();b.f=ef();b.b=bf();b.c=a;this.a=b}};g.Hl=function(){this.a=null};
  2046. g.hl=function(a,b){var c,d=b.m();if(this.a){if(c=nG(b))for(c=AE(c).h();c.i();){var e=c.j(),f=new g6a;f.b=this;lY(e,f)}switch(b.c.a){case 28:c=b.a;if(yG(c,"goog.module"))li(this.a.c,N6a(b))?(!yH(d)||iF(d)?d=!1:(d=d.m(),d=NH(d)||yY(d)),d||MT(a,b,u6a,A([],B,y,1))):MT(a,b,t6a,A([],B,y,1));else if(yG(c,"goog.require")||yG(c,"goog.requireType")||yG(c,"goog.forwardDeclare"))a:{E(eH(b));E(Dw(O(b)));switch(d.c.a){case 88:a=N6a(b);this.a.a.X(a)||this.a.a.C(a,d);break a;case 32:case 99:d=d.m();hx(d)&&!yG(b.a,
  2047. "goog.forwardDeclare")&&MT(a,d,G6a,A([],B,y,1));if(gF(d)){c=d.a;if(Yw(c)){b:if(D(Yw(c)),e=c.a,$w(e)){for(e=BA(e).h();e.i();)if(f=e.j(),!Lx(f)||!L(f.a)){e=!1;break b}e=!0}else e=!1;e||MT(a,d,I6a,A([],B,y,1));yG(b.a,"goog.forwardDeclare")&&MT(a,c,(dZ(),l6a),A([],B,y,1))}else E(L(c)),f=O(b).l(),e=c.l(),f=Oa(f,ti(f,46)+1),q(e,f)||te(f)||Yp(e.charCodeAt(0))==Yp(f.charCodeAt(0))||(f=Hg(Yp(e.charCodeAt(0))?Cla(e.charCodeAt(0)):Dla(e.charCodeAt(0)))+r(e.substr(1)),MT(a,c,M5a,A([e,f],B,y,1)));this.a.a.C(N6a(b),
  2048. c);for(b=eT(d).h();b.i();)d=b.j(),c=d.l(),this.a.f.add(c)||MT(a,d,J6a,A([c],B,y,1))}else MT(a,d,H6a,A([],B,y,1));break a}MT(a,b,F6a,A([],B,y,1))}else yG(c,"goog.module.get")&&LT(a)?MT(a,b,(dZ(),U5a),A([],B,y,1)):yG(c,"goog.module.declareLegacyNamespace")&&(D(eH(b)),1<GA(b)&&MT(a,b,K6a,A([],B,y,1)),yH(d)?(d=iF(d))&&d4a(d)||MT(a,b,M6a,A([],B,y,1)):MT(a,b,L6a,A([],B,y,1)));break;case 50:if(O6a(b.a)){D(kH(b));c=b.a;E(O6a(c));if(e=this.a.b.get(EC(c)))e=XA(e),MT(a,b,B6a,A([""+e],B,y,1));if(!this.a.b.get("exports")||
  2049. xG(c,"exports"))this.a.b.C(EC(c),c),KT(a)?yH(d)||MT(a,b,D6a,A([],B,y,1)):MT(a,b,C6a,A([],B,y,1));if(d=!TX(c))d=iX(b),T(),d=!(g4a(d)&&AY(R(d.a)));d&&(d=nG(b))&&Ay(d,1024)&&MT(a,b,E6a,A([],B,y,1))}break;case 100:case 69:if(!EI(b))break;case 80:case 104:case 92:!LT(a)||!kA(b)&&gX(b)||eX(b,(H(),Os))||(d=tL(b))&&Ay(d,1024)&&MT(a,b,v6a,A([],B,y,1));break;case 36:LT(a)&&MT(a,b,w6a,A([],B,y,1));break;case 42:LT(a)&&MT(a,b,x6a,A([],B,y,1));break;case 26:yG(b,this.a.c)?MT(a,b,y6a,A([],B,y,1)):h6a(this,b,EC(b),
  2050. N(d)?R(d).l():null)}}else CY(b,"goog.module")?MT(a,b,q6a,A([],B,y,1)):AY(b)?MT(a,b,r6a,A([],B,y,1)):CY(b,"goog.provide")&&MT(a,b,s6a,A([],B,y,1))};function h6a(a,b,c,d){if(null!=c&&(F(ji(c,"."),c),a.a.a.X(c))){var e=a.a.a.get(c);if(e){if(L(e)){X(a.c,V(b,z6a,A([c,e.l()],B,y,1)));return}if(Yw(e)&&null!=d){e=e.a;F($w(e),e);for(var f=BA(e).h();f.i();)if(e=f.j(),gF(e)&&li(e.l(),d)){f=b.m();X(a.c,V(f&&N(f)?f:b,z6a,A([r(c)+"."+r(d),e.a.l()],B,y,1)));return}}}X(a.c,V(b,A6a,A([c],B,y,1)))}}
  2051. function O6a(a){return DC(a)?xG(a,"exports")||N(a)&&xG(a.a,"exports"):!1}function N6a(a){return(a=R(a))&&Dw(a)?a.l():null}
  2052. function bZ(){bZ=function(){};v6a=U("JSC_AT_EXPORT_IN_GOOG_MODULE","@export has no effect on top-level names in a goog.module. See http://go/js-practices/exports#export-annotations-in-googmodule Consider using goog.exportSymbol instead.");E6a=U("JSC_AT_EXPORT_IN_NON_LEGACY_GOOG_MODULE","@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead.");q6a=U("JSC_GOOG_MODULE_IN_NON_MODULE","goog.module() call must be the first statement in a module.");u6a=U("JSC_GOOG_MODULE_MISPLACED",
  2053. "goog.module() call must be the first statement in a file.");r6a=U("JSC_DECLARE_LEGACY_NAMESPACE_IN_NON_MODULE","goog.module.declareLegacyNamespace may only be called in a goog.module.");w6a=U("JSC_GOOG_MODULE_REFERENCES_THIS","The body of a goog.module cannot reference 'this'.");x6a=U("JSC_GOOG_MODULE_USES_THROW","The body of a goog.module cannot use 'throw'.");J6a=U("JSC_DUPLICATE_NAME_SHORT_REQUIRE","Found multiple goog.require statements importing identifier ''{0}''.");I6a=U("JSC_INVALID_DESTRUCTURING_REQUIRE",
  2054. "Destructuring goog.require must be a simple object pattern.");G6a=BJ("JSC_LET_GOOG_REQUIRE","Module imports must be constant. Please use ''const'' instead of ''let''.");t6a=U("JSC_MULTIPLE_MODULES_IN_FILE","There should only be a single goog.module() statement per file.");H6a=U("JSC_ONE_REQUIRE_PER_DECLARATION","There may only be one goog.require() per var/let/const declaration.");M5a=BJ("JSC_INCORRECT_SHORTNAME_CAPITALIZATION","The capitalization of short name {0} is incorrect; it should be {1}.");
  2055. C6a=U("JSC_EXPORT_NOT_AT_MODULE_SCOPE","Exports must be at the top-level of a module");D6a=U("JSC_EXPORT_NOT_A_STATEMENT","Exports should be a statement.");B6a=U("JSC_EXPORT_REPEATED_ERROR","Name cannot be exported multiple times. Previous export on line {0}.");y6a=U("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME","References to the global name of a module are not allowed. Perhaps you meant exports?");A6a=BJ("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME","Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead.");
  2056. z6a=BJ("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME","Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead.");s6a=BJ("JSC_USE_OF_GOOG_PROVIDE","goog.provide is deprecated in favor of goog.module.\nSee http://go/goog-provide-deprecated");F6a=U("JSC_REQUIRE_NOT_AT_TOP_LEVEL","goog.require() must be called at file scope.");L6a=U("JSC_LEGACY_NAMESPACE_NOT_AT_TOP_LEVEL","goog.module.declareLegacyNamespace() does not return a value");M6a=U("JSC_LEGACY_NAMESPACE_NOT_AT_TOP_LEVEL",
  2057. "goog.module.declareLegacyNamespace() must be immediately after the goog.module('...'); call");K6a=U("JSC_LEGACY_NAMESPACE_ARGUMENT","goog.module.declareLegacyNamespace() takes no arguments")}function P6a(){}l(P6a,n);function Q6a(){}l(Q6a,n);
  2058. Q6a.prototype.a=function(a){if(Dw(a)){var b=a.l(),c=mi(b,46),d=-1==c?b:ne(b,0,c);if(this.b.a.v.X(d)){if(this.b.A){var e=CG(a);lZ(this.b,e,d);e.u=d.length;R6a(this.b,e,this.b.a.c)}d=this.b.a.v.get(d).b;b=-1==c?"":b.substr(c);lZ(this.b,a,r(d)+r(b))}else if(this.b.a.a&&this.b.a.A.B(d))lZ(this.b,a,r(this.b.a.K)+r(b));else for(c=b,d="";;){e=S6a(this.b.c,c);if(this.b.F.B(c)&&null==e)break;if(null!=e){lZ(this.b,a,r(e)+r(d));break}if(ji(c,"."))c=ne(c,0,ti(c,46)),d=b.substr(c.length);else break}}};
  2059. function T6a(){this.a=0}var U6a,V6a;l(T6a,z);function W6a(a,b){var c=new T6a;c.b=a;c.a=b;return c}T6a.prototype.R=function(a){return z.prototype.c.call(this,a)};function mZ(){mZ=function(){};U6a=W6a("BEFORE",0);V6a=W6a("AFTER",1)}function X6a(){}var Y6a;l(X6a,n);X6a.prototype.toString=function(){return Ln(Mn(Mn(Mn(Qn(this),"exportName",this.b),"rhs",this.c),"nameDecl",this.a)).toString()};function Z6a(a,b,c){$6a();var d=new X6a;d.b=b;(d.c=c)&&(L(c)||Lx(c))&&(d.a=ET(a).T(c.l()));return d}
  2060. function a7a(a,b){if(!a.a||b.B(a.a)||!Y6a.B(kL(a.a).c)||qJ(kL(a.a)))return!1;a=rL(a.a);if(!a||!eH(a))return!0;a=a.a;if(!N(a))return!0;a=a.a;if(!L(a)||!li(a.l(),"goog"))return!0;a=a.b.l();return"require"!==a&&"forwardDeclare"!==a&&"getMsg"!==a}function $6a(){$6a=function(){};Y6a=im((H(),Ft),Rt,bu,ut,Yt)}function b7a(){this.g=this.F=this.b=this.a=!1}l(b7a,n);function c7a(){var a=new b7a;a.A=ef();a.U=Uk();a.v=bf();a.$=ef();a.o=bf();return a}function nZ(a){return!a.a||a.b?null:d7a(a.c)}
  2061. function e7a(){}l(e7a,n);function f7a(){var a=new e7a;a.a=bf();a.b=Vq();a.c=ef();return a}function g7a(a,b){D(a.a.X(b));return a.a.get(b).b}function S6a(a,b){return(a=a.a.get(b))?nZ(a):null}function h7a(a,b){return(a=a.a.get(b))?a.f.f:null}function i7a(a,b){return a.c.B(b)?b:(a=a.a.get(b))?a.b?a.c:nZ(a):null}function j7a(a,b){a.b.Yc(b)&&a.a.oa().Nb(a.b.Nc(b))}function k7a(){this.a=0}var oZ,l7a;l(k7a,z);function m7a(a,b){var c=new k7a;c.b=a;c.a=b;return c}
  2062. k7a.prototype.R=function(a){return z.prototype.c.call(this,a)};function pZ(){pZ=function(){};oZ=m7a("EXEC_CONTEXT",0);l7a=m7a("BLOCK",1)}function n7a(){}l(n7a,cT);function o7a(a){var b=new n7a;b.a=a;return b}
  2063. n7a.prototype.ga=function(a,b,c){switch(b.c.a){case 85:case 116:return!0;case 89:return g4a(b)&&p7a(a,b),!0;case 32:a=this.a;if(li(b.l(),"exports")&&q7a(b)&&yH(gG(b))){E(!a.a.u);var d=b.b;if(r7a(d)){c=gG(b);for(d=d.a;d;d=d.b){var e=d.l(),f=nG(d),h=UA(d);e=IG(sS(a.f,mS(a.f,"exports",b.f),e),d);f=GG(cx(Gx(GG(yS(a.f,e,h),d),f)),d);nF(c.m(),f,c);c=f}S(gG(b))}}return!0;default:return!tC(c)}};function qZ(){}l(qZ,n);function s7a(a){var b=new qZ;b.a=a;return b}
  2064. qZ.prototype.ga=function(a,b,c){switch(b.c.a){case 116:a=this.a;rZ(a,c7a());a.a.f=b;a.a.a=!0;break;case 28:var d=b.a;if(!N(d))break;if(zG(d,(hZ(),sZ)))c=this.a,b=O(b),Dw(b)?(b=b.l(),c.a.c=b,c.a.K="module$contents$"+r(vi(b,46,36))+"_",a=iX(c.a.f),c.c.a.C(b,c.a),c.c.b.Aa(a,b)):MT(a,b,t7a,A([],B,y,1));else if(zG(d,(hZ(),u7a)))b=this.a,b.a.b=!0,v7a(b,b.a.c);else if(zG(d,(hZ(),w7a))){c=this.a;var e=O(b);Dw(e)?(d=e.l(),c.a.a&&MT(a,e,x7a,A([],B,y,1)),b=iX(b),c.c.c.add(d),c.c.b.Aa(b,d),v7a(c,d)):MT(a,e,y7a,
  2065. A([],B,y,1))}else if(zG(d,(hZ(),z7a)))A7a(this.a,a,b);else if(zG(d,(hZ(),B7a)))c=this.a,d=O(b),Dw(d)?A7a(c,a,b):MT(a,d,(dZ(),o6a),A([],B,y,1));else if(zG(d,(hZ(),C7a))&&!yH(c))c=this.a,d=O(b),kG(b)&&Dw(d)?A7a(c,a,b):MT(a,d,(dZ(),m6a),A([],B,y,1));else if(zG(d,(hZ(),D7a)))if(c=this.a,d=O(b),kG(b)&&Dw(d)){if(d=d.l(),c.c.a.X(d)||c.K.add(E7a(b,d)),c.v.add(b),e=b.m(),kH(e)&&L(e.a)&&yH(e.m())&&c.a.a){var f=b.m().a.l();(f=ET(a).T(f))?(f=sL(f.N()))&&F7a(f,C7a)&&li(d,O(f).l())?(Z(c.b,e),S(e.m()),c.v.Wa(c.v.w()-
  2066. 1)):MT(a,b,iZ,A([],B,y,1)):MT(a,b,iZ,A([],B,y,1))}}else MT(a,d,(dZ(),n6a),A([],B,y,1));break;case 100:case 69:G7a(this.a,a,b,(pZ(),l7a))&&(a=this.a,b=b.a,L(b)&&b.l()&&(b=b.l(),a.a.A.add(b)));break;case 92:case 104:case 80:if(G7a(this.a,a,b,gx(b)?(pZ(),oZ):(pZ(),l7a)))for(a=this.a,b=eT(b).h();b.i();)c=b.j().l(),a.a.A.add(c);break;case 26:H7a(b)&&(c=this.a,c.a.a&&(d=b.m(),F(kH(d)||yH(d),d),e=b.a,F(li(e.l(),"exports"),e),KT(a)&&(e=O(b).l(),c.a.$.add(e),b=Z6a(a,e,b.b),c.a.b||c.a.u||!a7a(b,c.a.o.oa())||
  2067. (I7a(c,b),S(d.m())))));break;case 32:c=this.a,c.a.a&&li(b.l(),"exports")&&q7a(b)&&(F(!c.a.u,c.a.u),b=b.b,F(!r7a(b),"Exports object should have been converted already"),c.a.u=b,c.a.F=!0,b=Z6a(a,null,b),!c.a.b&&a7a(b,c.a.o.oa())&&(a=b.a.va(),c.a.ja=a,I7a(c,b)))}return!0};qZ.prototype.J=function(a,b){NH(b)&&tZ(this.a)};qZ.prototype.la=!0;function uZ(){}l(uZ,n);function J7a(a,b){var c=new uZ;c.a=a;c.b=b;return c}
  2068. uZ.prototype.ga=function(a,b,c){switch(b.c.a){case 89:c=this.b.qd();E(q(c.f,b));if(eG(b)&&!YW(b))return!1;E(this.a.o.D());rZ(this.a,c);ET(a);this.a.U||(this.a.U=OR(ET(a)));break;case 116:if(tF(c,(kx(),WE)))a=this.a,rZ(a,a.a.U.qd()),a.a.f=b;else return!1;break;case 28:var d=b.a;if(!N(d))break;zG(d,(hZ(),sZ))?(c=this.a,F(c.a.a,c.a),c.a.b&&(O(b.a).Ga("provide"),Z(c.b,b)),c.a.F||(F(!c.a.g,c.a),K7a(c,jX(b),(mZ(),V6a),a)),c.a.b||c.u||(Z(c.b,b),S(jX(b))),a=b.a,d=a.b,L7a(c,a),L7a(c,M7a(d))):zG(d,(hZ(),u7a))?
  2069. (hZ(),S(jX(b))):zG(d,(hZ(),z7a))||zG(d,(hZ(),B7a))?N7a(this.a,a,b):zG(d,(hZ(),C7a))&&!yH(c)&&N7a(this.a,a,b);break;case 26:if(H7a(b)&&(c=this.a,c.a.a)){d=b.m();F(kH(d)||yH(d),d);var e=b.a;E(li(e.l(),"exports"));var f=c.a;f=f.b?f.c:nZ(f);O7a(c,e,f,!1);e=kH(d)?d:b;P7a(e,e);c.a.g||K7a(c,jX(d),(mZ(),U6a),a)}}if(nG(b))for(a=this.a,b=nG(b),b=AE(b).h();b.i();)c=b.j(),lY(c,a.ja);return!0};
  2070. uZ.prototype.J=function(a,b){switch(b.c.a){case 116:a=this.a;Fi(NH(b)&&tF(b.m(),(kx(),WE)),b);var c=(H(),Lt);b.c=c;xX(b,!0);for(b=a.a.o.values().h();b.i();)c=b.j(),O7a(a,c.a.a,r(nZ(a.a))+String(null==c.b?"":"."+r(c.b)),!1);F(a.a.a,a.a);F(a.a.b||a.a.g,a.a);tZ(a);break;case 32:a:{c=this.a;var d=b.l();if(c.a.a&&c.a.A.B(d)){var e=ET(a).T(d);if(e&&q(e.ya().ka(),c.a.f)){if(q(e.a,b)&&Lx(b.m())&&$w(gG(b))){var f=gG(b).m();if(F7a(O(f),z7a)||F7a(O(f),B7a))break a}c.a.v.X(d)&&!q(e.N(),b)?(R6a(c,b,c.a.c),e=c.a.v.get(d),
  2071. d=e.b,li(d,nZ(c.a))&&(c.a.g=!0),e=null!=e.a&&c.c.a.X(e.a)&&!c.c.a.get(e.a).F,O7a(c,b,d,e),-1!=mi(d,46)&&(c=ne(d,0,mi(d,46)),c=ET(a).T(c),!c||mL(c)||fL(c.ya())||MT(a,c.N(),Q7a,A([c.va(),d],B,y,1)))):lZ(c,b,r(c.a.K)+r(d))}}}c=this.a;if(c.a.a&&li(b.l(),"exports")&&q7a(b))if(d=b.m(),c.a.b||null==c.a.ja){e=O(d);if(c.a.b)f=IG(rS(c.f,c.g,c.a.c),b),Q(f,b.f),pF(d,b,f),f=d;else{S(e);f=d.m();var h=mS(c.f,nZ(c.a),b.f);bG(h,"exports");R7a(c,h,a);h=Rw(h,e);JG(h,f);Hx(h,(kx(),JE),!0);qD(f,h);f=h;c.a.g=!0}P7a(d,
  2072. f);Z(c.b,f);if(c.a.a&&(d=O(e.m()),SH(d)))for(d=d.a;d;d=d.b)if(rH(d))MT(a,d,S7a,A([],B,y,1));else if(Lx(d))a:{h=a;e=d;var k=d.a;if(c.a.a){if(L(k)&&(f=ET(h),(h=ET(h).T(k.l()))&&h.ya().hf()==f.hf()&&(f=h.Yb())&&jE(f))){f=IP(f);Gx(e,KP(f));break a}P7a(e,e)}}}else S(d.m()),d=mS(c.f,nZ(c.a),b.f),R7a(c,d,a);ET(a);a=this.a;a.a.a&&"exports"===b.l()&&b.m()&&!Gw(b.m())&&(a.a.b?(c=IG(rS(a.f,a.g,a.a.c),b),Q(c,b.f),qD(b,c),Z(a.b,c)):(lZ(a,b,nZ(a.a)),E(a.a.F||a.a.g)));break;case 89:E(q(this.a.a.f,b)),tZ(this.a)}};
  2073. uZ.prototype.la=!0;function T7a(){}l(T7a,n);function E7a(a,b){var c=new T7a;c.b=a;c.a=b;return c}function U7a(){}l(U7a,cT);function V7a(a){var b=new U7a;b.a=a;return b}U7a.prototype.ga=function(a,b,c){switch(b.c.a){case 85:case 89:return!0;case 88:var d=b.a;if(F7a(d,(hZ(),W7a))&&P(O(d))){Hx(c,(kx(),WE),!0);d=O(d);j4a(this.a.b,d);c=S(O(d));var e=(H(),nu);c.c=e;d=fF(lX(d));Q(c,d.f);qD(b,c);b=O(c);Ux(b)?S(b):X(this.a.b,V(c,(hZ(),X7a),A([],B,y,1)));NT(a)}return!1;default:return!1}};function vZ(){}
  2074. l(vZ,n);vZ.prototype.hg=function(){return this.b};vZ.prototype.N=function(){return this.a};vZ.prototype.Me=function(){return Sz(this.a)};vZ.prototype.toString=function(){var a=this.a?WA(this.a):null,b=this.a?XA(this.a):-1;return r(EC(this.a))+"@"+r(a)+":"+b};function Y7a(){this.a=!1}l(Y7a,n);g=Y7a.prototype;g.va=function(){return this.b};g.qa=function(){return this.c};g.Vb=function(){return this.a};g.hb=function(){return null};g.Yb=function(){return null};g.ya=function(){return null};g.ba=!0;
  2075. g.ba=!0;function Z7a(){}l(Z7a,vZ);function $7a(a,b){var c=new Z7a;c.b=a;c.a=b;return c}function a8a(){}l(a8a,n);g=a8a.prototype;g.ka=function(){return this.c};g.Xc=function(){return null};g.Ge=function(){return null};g.ob=function(a){return this.a.get(a)};g.Mb=function(a){return this.ob(a)};g.Ee=function(){return tf(this.a.values())};function wZ(a,b,c){G(c);if(!a.a.X(c)){var d=new Y7a;d.b=c;d.c=null;d.a=!0;a.a.C(c,d)}a.b.Aa(c,$7a(a.a.get(c),b))}function xZ(a){return Dw(a)?a.l():EC(a)}
  2076. g.Ac=function(a){return Rz(this,a)};g.$d=function(a){return by(this,a)};g.Fh=!0;function b8a(){this.u=!1}var iZ,sZ,u7a,w7a,z7a,B7a,C7a,D7a,W7a,X7a,t7a,y7a,x7a,c8a,d8a,Q7a,S7a,e8a,f8a,g8a;l(b8a,n);function d7a(a){hZ();return"module$exports$"+r(vi(a,46,36))}
  2077. b8a.prototype.H=function(a,b){for(var c=this,d=Uk(),e=mp(BA(a),BA(b)).h();e.i();){var f=e.j();F(tC(f),f);Y(this.b,f,V7a(this));rZ(this,c7a());this.a.f=f;d.Sb(this.a);Y(this.b,f,o7a(this));Y(this.b,f,s7a(this));tZ(this)}h8a(this);yZ(this.b)||(tT(this.b,J7a(this,d),a,b),i8a(this),this.v.Z(zb(function(h){j8a(c,h)})))};
  2078. b8a.prototype.ra=function(a,b){var c=this;F(tC(a),a);Y(this.b,a,V7a(this));j7a(this.c,b);b=Uk();var d=c7a();b.Sb(d);E(this.o.D());rZ(this,d);this.a.f=a;Y(this.b,a,o7a(this));Y(this.b,a,s7a(this));tZ(this);yZ(this.b)||(Y(this.b,a,J7a(this,b)),this.v.Z(zb(function(e){j8a(c,e)})),h8a(this))};
  2079. function i8a(a){var b=og(tg(sg(a.$.values().S(),fd(function(d){d=d.l();return!(a.F.B(d)||a.U.T(d))})),u(function(d){return IG(Tw(oS(a.f,d.l(),(I(),ew))),d)})),Rl());if(!b.D()){var c=zZ(a.b).Pb(a.b);b.Z(zb(function(d){M(c,d)}))}}function r7a(a){hZ();if(!SH(a)||!a.a)return!1;for(a=a.a;a;a=a.b)if(!Lx(a)||a.bb()||!L(a.a))return!1;return!0}function v7a(a,b){a.F.add(b);for(var c=ti(b,46);-1!=c;c=ti(b,46))b=ne(b,0,c),a.F.add(b)}
  2080. function A7a(a,b,c){var d=gG(c);if(gx(d)&&lG(d)){var e=c.m();S(e);S(c);mF(d.m(),Rw(e,c),d)}d=O(c);Dw(d)?(b=d.l(),d=a.c.a.X(b),e=a.c.c.B(b),!a.a.a||d||e||a.K.add(E7a(c,b))):MT(b,d,(dZ(),kZ),A([],B,y,1))}
  2081. function N7a(a,b,c){var d=O(c),e=jX(c);d=d.l();var f=a.c.a.X(d)&&!g7a(a.c,d),h=PI(e),k=Yw(e.a),m=a.a.a,p=PI(gG(c));if(m&&p&&G7a(a,b,e,(pZ(),oZ))&&(p=c.m(),m=i7a(a.c,d),null!=m))if(L(p))p=e.a.l(),k8a(a,p,m,d),R6a(a,e.a,a.a.c);else if(Yw(p)&&$w(p.a)){var t=p.m();Fi(Yw(t.a),t);var v=a.c.a.get(d);if(v)if(v.u)MT(b,t,c8a,A([],B,y,1));else for(var C=hF(t).a;C;C=C.b){var J=C.l();v.$.B(J)||MT(b,t,d8a,A([J,d],B,y,1))}for(p=BA(p.a).h();p.i();)v=p.j(),F(!!v.a,v),t=v.l(),v=v.a,C=v.l(),t=r(m)+"."+r(t),k8a(a,C,
  2082. t,null),R6a(a,v,a.a.c),lZ(a,v,r(a.a.K)+r(C))}else throw Ha("Illegal goog.module import: "+r(p)).s;if(a.a.a||f)k?a.u||(Z(a.b,e),S(e)):f?G7a(a,b,e,(pZ(),oZ))?!h&&g7a(a.c,d)||a.u||(Z(a.b,e),S(e)):(b=mS(a.f,S6a(a.c,d),h7a(a.c,d)),bG(b,d),qD(c,b),Z(a.b,b)):(S(c),qD(e,cx(c)),Z(a.b,c)),f&&!a.u&&(c=c.a,b=c.b,L7a(a,c),L7a(a,M7a(b)))}function j8a(a,b){var c=R(b).l(),d=i7a(a.c,c);null!=d&&(Z(a.b,b),d=IG(rS(a.f,a.g,d),b),Q(d,h7a(a.c,c)),bG(d,c),qD(b,d))}
  2083. function rZ(a,b){a.a=b;a.o.D()||a.o.Na().U.Sb(a.a);a.o.qe(a.a)}function tZ(a){a.o.qd();a.a=a.o.$f()}function K7a(a,b,c,d){if(!a.a.b){var e=nZ(a.a);e=mS(a.f,e,a.a.f.f);bG(e,a.a.c);R7a(a,e,d);d=Rw(e,zS(a.f,A([],lx,eI,1)));q(c,(mZ(),U6a))?mF(b.m(),d,b):q(c,(mZ(),V6a))&&nF(b.m(),d,b);Hx(d,(kx(),JE),!0);HG(d,b);b=JP(nG(d));TP(b);Gx(d,KP(b));Z(a.b,d);a.a.g=!0}}
  2084. function p7a(a,b){hZ();F(tC(b),b);var c=aF(b,(bF(),NF));c&&c.B("use strict")?MT(a,b,e8a,A([],B,y,1)):c?(a=yl().W("use strict"),a.fb(c),c=a.fa(),vF(b,NF,c)):vF(b,NF,f8a)}function P7a(a,b){a=nG(a);a=JP(a);TP(a);Gx(b,KP(a))}function I7a(a,b){Ki(a7a(b,a.a.o.oa()),"exportDefinition: %s\n\nexportsToInline keys: %s",b,a.a.o.oa());Ji(!a.a.o.C(b.a,b),"Already found a mapping for inlining export: %s",b.a);var c=b.a.va();b=r(nZ(a.a))+String(null==b.b?"":"."+r(b.b));k8a(a,c,b,null)}
  2085. function k8a(a,b,c,d){G(b);G(c);var e=new P6a;e.b=c;e.a=d;Ji(!a.a.v.C(b,e),"Already found a mapping for inlining short name: %s",b)}function h8a(a){for(var b=a.K.h();b.i();){var c=b.j(),d=c.a;c=c.b;var e=a.c.a.X(d);d=a.c.c.B(d);if(!e&&!d&&!a.u&&(d=QT(c)))if(OT(a.b,d),d=jX(c),PI(d))for(S(d),c=eT(d).h();c.i();)d=c.j(),a.$.qb(d.l(),d);else qD(c,GG(mVa(a.f),c))}a.K.ia()}function lZ(a,b,c){if(!li(b.l(),c)){var d=b.l();b.Ga(c);null==BC(b)&&bG(b,d);(b=QT(b))&&OT(a.b,b)}}
  2086. function O7a(a,b,c,d){if(ji(c,".")){d=b.m();c=IG(rS(a.f,a.g,c),b);var e=aF(b,(bF(),YF));vF(c,YF,e);a:{var f=nG(d);switch(d.c.a){case 69:case 100:if(!EI(d)||!q(d.a,b))break;e=d.m();var h=yw();pF(e,d,h);f=C3a(c,d,(H(),Ft),f);nX(f)&&Q(fF(f),b.f);Gx(d,null);JG(f,d);l8a(f,b.v,b.u);pF(e,h,f);T();E(P(d)||kA(d));e=d.a;f=P(d)?rx(""):yw();pF(d,e,FG(f,e));e=!0;break a;case 80:case 104:case 92:e=b.a?S(O(b)):null;f||(f=nG(b));e=C3a(c,e,(H(),Ft),f);nX(e)&&(h=fF(e),Q(h,b.f),ix(d)&&(f=JP(f),TP(f),f=KP(f),Gx(h,f)));
  2087. JG(e,d);f=null!=BC(b)?BC(b).length:b.l().length;l8a(e,b.v,f);T();D(PI(b.m()));D(!e.m());f=b.m();h=f.m();if(gF(f))pF(h,f,e);else if(b.b)if(iF(b)){E(lG(f));for(var k=GG(zw(f.c),f),m=b.b,p;m;m=p)p=m.b,M(k,S(m));oF(f,b);nF(h,e,f);nF(h,k,e)}else oF(f,b),mF(h,e,f);else oF(f,b),nF(h,e,f);e=!0;break a;case 98:case 97:case 48:throw Ha("Not supported").s;}e=!1}e||(pF(d,b,c),c.a&&dG(c.a),Z(a.b,c))}else lZ(a,b,c),a=b.m(),d&&N(a)&&eH(gG(b))&&iG(a,gG(b))&&Hx(gG(b),(kx(),KE),!0)}
  2088. function l8a(a,b,c){if(gF(a)&&(a=a.a)&&kH(a)&&(a=a.a)&&N(a))for(a=BA(a).h();a.i();){var d=a.j();d.v=b;d.u=c}}function G7a(a,b,c,d){return q(d,(pZ(),oZ))?IT(b)||q(TWa(b),a.a.f):q(c.m(),a.a.f)}function H7a(a){hZ();var b=a.a,c;(c=q7a(a))||(c=a.m(),c=yH(c)&&q(c.a,a));return c&&L(b)&&li(b.l(),"exports")}function q7a(a){var b=a.m();return kH(b)&&q(b.a,a)}function L7a(a,b){a.A&&wZ(a.A,b,xZ(b))}function R6a(a,b,c){if(a.A){Hx(b,(kx(),fxa),!0);var d=Dw(b)?b.l():xZ(b);c="alias_"+r(c)+"_"+r(d);wZ(a.A,b,c)}}
  2089. function M7a(a){return FG(ux(a.l()),a)}function F7a(a,b){hZ();if(!eH(a))return!1;a=a.a;return N(a)&&zG(a,b)}function R7a(a,b,c){E(L(b));if(a.g){var d=b.l();if(QR(a.g,d))MT(c,c.b,g8a,A([d],B,y,1));else{var e=G(b.f);cS(a.g,d,b,e,AT(c),!1)}}}
  2090. function hZ(){hZ=function(){};t7a=U("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE","goog.module parameter must be string literals");y7a=U("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE","goog.provide parameter must be a string literal.");x7a=U("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL","goog.provide can not be called in goog.module.");iZ=U("JSC_GOOG_MODULE_INVALID_GET_ALIAS","goog.module.get should not be aliased.");S7a=U("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY","Computed properties are not yet supported in goog.module exports.");
  2091. e8a=BJ("JSC_USELESS_USE_STRICT_DIRECTIVE","'use strict' is unnecessary in goog.module files.");Q7a=U("JSC_IMPORT_INLINING_SHADOWS_VAR",'Inlining of reference to import "{1}" shadows var "{0}".');c8a=U("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT","Destructuring import only allowed for importing module with named exports.\nSee https://github.com/google/closure-compiler/wiki/goog.module-style");d8a=U("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",'Destructuring import reference to name "{0}" was not exported in module {1}');
  2092. X7a=U("JSC_LOAD_MODULE_FN_MISSING_RETURN","goog.loadModule function should end with 'return exports;'");g8a=U("JSC_ILLEGAL_MODULE_RENAMING_CONFLICT","Internal compiler error: rewritten module global name {0} is already in use.");f8a=mm("use strict");C7a=sx(rx("goog"),ux("forwardDeclare"));W7a=sx(rx("goog"),ux("loadModule"));sZ=sx(rx("goog"),ux("module"));u7a=sx(sZ,ux("declareLegacyNamespace"));D7a=sx(NA(sZ),ux("get"));w7a=sx(rx("goog"),ux("provide"));z7a=sx(rx("goog"),ux("require"));B7a=sx(rx("goog"),
  2093. ux("requireType"))}function m8a(){}l(m8a,n);function n8a(a,b){var c=mS(b,Xx(a.a),a.b);return a.a.Ed()?c:uVa(b,c,sp(a.a.Jm()))}function o8a(a,b){D(!te(b)&&!ji(b,"."));return AZ(Zqa(a.a,b),a.b)}function p8a(a,b,c){E(null==b||a.b.B(b));switch(a.f.a){case 2:return a=a.c.a,AZ(Wx(d7a(b)),a.f);case 1:case 3:return AZ(Wx(b),q8a(b,c));case 0:case 4:return AZ(Wx(BL(a.a)),q8a(BL(a.a),c))}throw pb("Unexpected module type: "+r(a.f)).s;}function BZ(){}l(BZ,m8a);
  2094. function AZ(a,b){var c=new BZ;if(!a)throw rb("Null aliasName").s;c.a=a;c.b=b;return c}BZ.prototype.toString=function(){return"GlobalizedModuleName{aliasName="+r(this.a)+", rootNameType="+r(this.b)+"}"};BZ.prototype.I=function(a){return q(a,this)?!0:a instanceof m8a?cd(this.a,a.a)&&(this.b?this.b.I(a.b):!a.b):!1};BZ.prototype.P=function(){var a=1000003^ed(this.a);return a=1000003*a^(this.b?this.b.P():0)};function r8a(a,b){return Wx(r(b)+"$$"+r(CZ(a,null).Vc()))}
  2095. function CZ(a,b){return p8a(a,b,null).a}function s8a(a){a.c?a=CZ(a.b,a.g):(a=a.a,a=MV(a.o)?"*default*"===a.a?r8a(a.o,"$jscompDefaultExport"):r8a(a.o,a.a):Yqa(CZ(a.o,a.v),a.b));return a}function q8a(a,b){if(!b)return null;T();var c=mi(a,46);a=-1==c?a:ne(a,0,c);return Mi(b.T(a),"missing var for %s",a).qa()}function t8a(){}l(t8a,RT);
  2096. t8a.prototype.J=function(a,b,c){var d=nG(b);if(d)for(d=AE(d).h();d.i();){var e=d.j();u8a(this,a,e)}if(L(b))if(d=b.l(),(e=ET(a).T(d))&&mL(e))c=r8a(this.b.a,d).Vc(),b.Ga(c),bG(b,d),PT(a,b),EX(b)&&v8a(this.a,b,a);else if(!e&&this.b.Od.X(d)){w8a(this.a,b,a.u);var f=this.b.Od.get(d);e=ET(a);d=b;for(E(L(d));f.c&&MV(f.b)&&N(d.m());){var h=R(d.m()).l(),k=yW(this.a.f,f.b.a);if(k.ld.X(h))f=k.ld.get(h),d=d.m();else break}f=s8a(f);e=f.Ed()?mS(this.a.a,Xx(f),d.f):qS(this.a.a,e,f.Vc());f=N(d)?R(d):d;qD(d,e);HG(e,
  2097. f);bG(e,f.l());L(e)&&eH(c)&&q(c.a,b)&&tF(c,(kx(),KE))&&Hx(c,(kx(),KE),!0);EX(b)&&v8a(this.a,b,a);NT(a)}};
  2098. function u8a(a,b,c){if(Dw(c)){var d=yW(a.a.f,KR(AT(b))),e=c.l(),f=mq((fZ(),x8a),e),h=f.G(0),k="";1<f.w()&&(k=e.substr(h.length));var m=ET(b).T(h);if(m&&mL(m))h=r(r8a(d.a,h).Vc())+r(k),q(e,h)||(c.Ga(h),bG(c,e),NT(b));else if(!m&&d.Od.X(h)){k=d.Od.get(h);d=a.a.f;f=f.Gb(1,f.w());for(m=0;k.c&&MV(k.b)&&m<f.w();){var p=f.G(m),t=yW(d,k.b.a);if(t.ld.X(p))k=t.ld.get(p);else break;m++}for(d=s8a(k);m<f.w();)d=Yqa(d,f.G(m++));d=d.Vc();q(e,d)||(c.Ga(d),bG(c,e),NT(b));a.a.c&&(d=FG(ux(h),c),d.u=h.length,w8a(a.a,
  2099. d,b.u))}bG(c,e)}for(c=c.a;c;c=c.b)u8a(a,b,c)}function y8a(){this.a=!1}var z8a;l(y8a,RT);function A8a(a){B8a();var b=new y8a;b.b=a;b.a=!1;return b}y8a.prototype.J=function(a,b){!this.a&&sX(b)&&C8a(this,a,b,!1);(b=nG(b))&&D8a(this,a,AE(b))};function D8a(a,b,c){for(c=c.h();c.i();){var d=c.j();Dw(d)&&C8a(a,b,d,!0);D8a(a,b,BA(d))}}
  2100. function C8a(a,b,c,d){for(var e=c.l(),f=mq(z8a,e),h=f.G(0),k=ET(b);k;)if(e=a.b.Ze(k.ka(),h),null!=e){a=2==f.w()?"."+r(f.G(1)):"";c.Ga(r(e)+r(a));d||NT(b);break}else if(QR(k,h))break;else k=k.m()}function B8a(){B8a=function(){};z8a=Ula(kq(46))}function E8a(){this.c=!1}l(E8a,RT);function F8a(a){var b=new E8a;b.a=a;b.c=!1;return b}function G8a(a,b){a.c=!1;a.b=Bq();Y(a.a.b,b,a);a.c&&Hx(b,(kx(),YE),!0);if(!a.b.wn()){var c=a.a.b;a=a.b;B8a();var d=new y8a;d.b=a;d.a=!0;Y(c,b,d)}}
  2101. E8a.prototype.J=function(a,b){if(eH(b)){var c=yG(b.a,"goog.require"),d=yG(b.a,"goog.requireType"),e=yG(b.a,"goog.module.get"),f=yG(b.a,"goog.forwardDeclare");if(c||d||e||f)if(kG(b)&&Dw(O(b))){var h=O(b).l(),k=this.a.u.a.get(h);if(k&&MV(k))if(c&&(c=this.a.u.b.get(KR(AT(a)).toString()))&&MV(c)&&MT(a,b,(fZ(),R5a),A([],B,y,1)),e&&JT(a))MT(a,b,(dZ(),W5a),A([],B,y,1));else{e=jX(b);if(PI(e))if(Yw(e.a)){if(f){MT(a,b,(dZ(),l6a),A([],B,y,1));return}if(d){if(!ix(e)){MT(a,e,(fZ(),H8a),A([],B,y,1));return}for(b=
  2102. BA(hF(e)).h();b.i();)d=b.j(),E(Lx(d)),E(L(d.a)),this.b.Mc(HT(a),d.a.l(),Yqa(CZ(k,h),d.l()).Vc())}else for(b=BA(hF(e)).h();b.i();)d=b.j(),E(Lx(d)),E(L(d.a)),f=o8a(I8a(this.a,k,h,!1),d.l()),f=nS(this.a.a,d.a.l(),n8a(f,this.a.a)),HG(f,d),mF(e.m(),f,e);S(e);NT(a)}else if(f||d){if(!ix(e)){h=f?(fZ(),J8a):(fZ(),H8a);MT(a,e,h,A([],B,y,1));return}this.b.Mc(HT(a),e.a.l(),CZ(k,h).Vc());S(e);NT(a)}else qD(b,HG(mS(this.a.a,Xx(CZ(k,h)),b.f),b)),NT(a);else f||d?(this.b.Mc(HT(a),h,CZ(k,h).Vc()),S(e)):yH(e)&&q(e.a,
  2103. b)?S(e):qD(b,HG(mS(this.a.a,Xx(CZ(k,h)),b.f),b)),NT(a);this.c=!0}}else c?MT(a,b,(dZ(),kZ),A([],B,y,1)):d?MT(a,b,(dZ(),o6a),A([],B,y,1)):e?MT(a,b,(dZ(),n6a),A([],B,y,1)):MT(a,b,(dZ(),m6a),A([],B,y,1))}};var DZ,EZ;function K8a(a,b,c){FZ();X(a,V(b,DZ,A([c],B,y,1)))}function L8a(a,b){FZ();var c=eJ(a),d=qy(c,(I(),pv));a=Q(M8a(a,b,"arrayFromIterable"),d);b=a.a;var e=A([],ly,ey,1);c=IC(c,d,uA(c,e));Q(b,c);return a}function GZ(a,b){FZ();HZ(a,"es6/util/"+r(Bi(b)),!1)}
  2104. function M8a(a,b,c){GZ(a,c);return px(LX(a,"$jscomp."+r(c)),A([b],lx,eI,1))}function IZ(a,b){FZ();b&&Q(a,b);return a}function N8a(a,b,c){FZ();return a?qy(b,c):null}function O8a(a,b,c,d){FZ();return a?My(b,uz(qy(b,c)),Ml(d)):null}function FZ(){FZ=function(){};DZ=U("JSC_CANNOT_CONVERT","This code cannot be converted from ES6. {0}");EZ=U("JSC_CANNOT_CONVERT_YET","ES6 transpilation of ''{0}'' is not yet implemented.")}function P8a(){}var R5a,x8a,H8a,J8a,Q8a;l(P8a,n);
  2105. function JZ(a){fZ();Fi(tC(a),a);return tF(a,(kx(),WE))?!1:!!a.a&&NH(a.a)}g=P8a.prototype;g.H=function(a,b){Fi(sC(a),a);Fi(sC(b),b);tT(this.b,this,a,b);var c=WK(this.b.u,(KI(),sK),A([],UJ,NK,1));this.b.u=c;SY(this.b,a,b)};g.ra=function(a){G8a(F8a(this),a);Y(this.b,a,this)};g.ga=function(a,b){if(tC(b))if(ET(a),G8a(F8a(this),b),JZ(b))this.v=ef(),this.g=bf(),Hx(b,(kx(),YE),!0);else return!1;return!0};
  2106. g.J=function(a,b,c){if(GH(b)){R8a(a,b,c);Fi(NH(c),c);var d=O(b).l();if(zi(d,"goog:")){d=d.substr(5);var e=this.u.a.get(d);e?E(MV(e)||NV(e)||PV(e)):MT(a,b,(dZ(),eZ),A([d],B,y,1))}else if((e=DL(KR(AT(a)),d,WA(b),XA(b),YA(b)))||(e=EL(KR(AT(a)),d)),d=O(b),e=e.toString(),this.c){if(!this.c.ob(e)){var f=this.b.za.get(G(e));f&&wZ(this.c,f,e)}wZ(this.c,d,e)}for(d=BA(b).h();d.i();)if(e=d.j(),wya(e))for(e=BA(e).h();e.i();)f=e.j(),w8a(this,f.a,a.u),E(kG(f));else Cw(e)&&w8a(this,e,a.u);oF(c,b);NT(a)}else if(xH(b)){R8a(a,
  2107. b,c);Fi(NH(c),c);if(tF(b,(kx(),ME))){d=b.a;e=null;if(P(d)||kA(d))e=TT(d);null!=e?(d=S(d),pF(c,b,d)):(e=rVa(this.a,"$jscompDefaultExport",UA(b)),Gx(e,nG(d)),Gx(d,null),JG(e,b),pF(c,b,e))}else if(tF(b,(kx(),NE))||kG(b)||q(b.a.c,(H(),lu)))oF(c,b);else{d=b.a;if(PI(d))for(e=eT(d).h();e.i();)f=e.j(),E(L(f)),f=f.l(),nG(d)&&jE(nG(d))&&this.v.add(f);pF(c,b,S(d))}NT(a)}else if(tC(b))if(d=b.a,c=d.f,E(NH(d)),e=d.m(),S(d),kF(e,pD(d)),p7a(a,b),d=yW(this.f,KR(AT(a))),MV(d.a)){e=CZ(d.a,null);Ji(e.Ed(),"Unexpected qualified name %s",
  2108. e);e=Xx(e);f=this.a;var h=A([],lx,eI,1);h=Kx(h);f.a&&Q(h,G(c));f=rVa(this.a,"$jscomp$tmp$exports$module$name",h);Hx(f.a,(kx(),ZE),!0);var k=HP(!1);TP(k);Gx(f,KP(k));gH(f.a,!0);M(b,JG(f,b));for(k=yW(this.f,KR(AT(a))).ld.V().h();k.i();){var m=k.j(),p=m.M(),t=m.O();m=t.f;var v=!t.c&&t.a.F;t=s8a(t);Ji(t.Ed(),"unexpected qualified name: %s",t);var C=Xx(t);t=sS(this.a,mS(this.a,e,c),p);Hx(t,ZE,!0);if(this.v.B(p))v=HP(!0),p=mD(GG(jS(this.a,p),m),WA(b)),zPa(v,p),p=KP(v),Gx(t,p),m=JG(iS(t),m),M(b,m);else if(v){C=
  2109. mS(this.a,C,t.f);t=b;v=h;var J=C.f;J=AVa(this.a,Mw(bx(C)),J);p=ox((H(),Pt),p);Mx(p,J);Hx(p,ZE,!0);M(v,p);this.a.a?Q(p,HC(eJ(this.b),C.f,A([],ly,ey,1))):(v=HP(!0),RP(v,mD(GG(zw(yu),m),WA(t))),Gx(p,KP(v)));JG(p,m);Z(this.b,O(p.a));Z(this.b,p);HY(a.b,(KI(),VJ),this.b)}else p=yS(this.a,t,mS(this.a,C,t.f)),t=HP(!0),TP(t),t=KP(t),Gx(p,t),M(b,JG(iS(p),m))}c=this.b;h=new t8a;h.a=this;h.b=d;Y(c,b,h);f.a.Ga(e);dG(f);v8a(this,f.a,a);S8a(this,b);NT(a)}else E(ji(KR(AT(a)).toString(),"third_party/javascript/polymer"));
  2110. else eH(b)?yG(b.a,"goog.declareModuleId")&&S(b.m()):q(b.c,(H(),ppa))&&MT(a,b,(FZ(),DZ),A(["import.meta"],B,y,1))};function R8a(a,b,c){E(NH(c));eG(c)&&!YW(c.m())&&MT(a,b,(FZ(),EZ),A(["ES6 modules in externs"],B,y,1))}
  2111. function S8a(a,b){NWa(a.b,b,new $S(function(c,d,e){if(eH(d)){var f=d.a;yG(f,"goog.require")||yG(f,"goog.requireType")?T8a(a,c,d,e,!0):yG(f,"goog.module.get")&&(kG(d)&&Dw(O(d))?JT(c)?MT(c,d,(dZ(),U5a),A([],B,y,1)):T8a(a,c,d,e,!1):MT(c,d,(dZ(),n6a),A([],B,y,1)))}}));NWa(a.b,b,new $S(function(c,d){var e=nG(d);if(e)for(e=AE(e).h();e.i();){var f=e.j();U8a(a,c,f)}L(d)&&a.g.X(d.l())&&(c=ET(c).T(d.l()),c&&q(c.a,d)||(c=HG(n8a(a.g.get(d.l()),a.a),d),qD(d,c)))}))}
  2112. function U8a(a,b,c){if(Dw(c)){var d=c.l(),e=mq(Ula(x8a),d);if(!ET(b).T(e.G(0))){var f=a.g.get(e.G(0));if(f){var h="";2==e.w()&&(h="."+r(e.G(1)));bG(c,d);c.Ga(r(f.a.Vc())+r(h));NT(b)}}}for(c=BA(c).h();c.i();)d=c.j(),U8a(a,b,d)}
  2113. function T8a(a,b,c,d,e){if(kG(c)&&Dw(O(c)))if(e&&!nL(ET(b)))MT(b,c,(dZ(),gZ),A([],B,y,1));else{var f=O(c).l(),h=m3a(d.m());h&&!ix(d.m())&&X(a.b,V(d.m(),Q8a,A([],B,y,1)));var k=a.u.a.get(f),m=!k;m&&(MT(b,c,(dZ(),eZ),A([f],B,y,1)),k=TV(SV(QV(new LV,(KV(),HV)),!0),!1),i1a(k).W(f),k=n1a(k));if(h)if(e){if(Yw(d))for(E($w(d.a)),c=d.m(),d=BA(d.a).h();d.i();)e=d.j(),F(Lx(e)&&L(e.a),e),h=o8a(I8a(a,k,f,m),e.l()),a.g.C(e.a.l(),h);else L(d)?(f=I8a(a,k,f,m),a.g.C(d.l(),f),c=d.m()):(E(yH(d)),c=d);S(c)}else a=IG(n8a(I8a(a,
  2114. k,f,m),a.a),c),pF(d,c,a);else E(yH(c.m())),S(c.m())}else MT(b,c,(dZ(),kZ),A([],B,y,1))}function I8a(a,b,c,d){return d?(b=CZ(b,c),AZ(b,a.A)):p8a(b,c,a.o)}function w8a(a,b,c){if(a.c){Hx(b,(kx(),fxa),!0);var d=Dw(b)||Cw(b)?b.l():xZ(b);c="alias_"+r(c)+"_"+r(d);wZ(a.c,b,c)}}function v8a(a,b,c){E(L(b));if(a.a.a){G(a.o);var d=b.l();if(QR(a.o,d))MT(c,c.b,(hZ(),g8a),A([d],B,y,1));else{var e=G(b.f);cS(a.o,d,b,e,AT(c),!1)}}}
  2115. function fZ(){fZ=function(){};Q8a=U("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST","The left side of a goog.require() or goog.requireType() must use ''const'' (not ''let'' or ''var'')");H8a=U("JSC_REQUIRE_TYPE_FOR_ES6_SHOULD_BE_CONST","goog.requireType alias for ES6 module should be const.");J8a=U("JSC_FORWARD_DECLARE_FOR_ES6_SHOULD_BE_CONST","goog.forwardDeclare alias for ES6 module should be const.");R5a=AJ("JSC_SHOULD_IMPORT_ES6_MODULE","ES6 modules should import other ES6 modules rather than goog.require them.");
  2116. x8a=Sla()}g.la=!0;function KZ(){}var V8a;l(KZ,RT);function W8a(a){X8a();var b=new KZ;b.a=w();b.b=ef();b.c=a;return b}KZ.prototype.H=function(a,b){Y(this.c,b,this)};KZ.prototype.ra=function(a){Y(this.c,a,this)};
  2117. KZ.prototype.J=function(a,b){switch(b.c.a){case 89:for(b=this.a.h();b.i();){var c=b.j(),d=O(c).l();this.b.B(d)||MT(a,c,V8a,A([d],B,y,1))}this.a.ia();this.b.ia();break;case 27:case 26:if(a=O(b),Dw(a)){a=a.l();if(t3a(b))if(c=b.a,(d=SC(c))||(c=c.f,d=!!c&&(c.xa()||c.Ja())),d){if(c=tL(b),c=!!c&&q(c.c,(HD(),CD))&&!bE(c)&&!jE(c)&&!iE(c)&&!eE(c))DH(b)?c=!1:(c=e3a(b),c=!!c&&P(c)),c=!c}else c=!1;else c=!1;c?this.a.add(b):(c=b.m(),q(b,c.a)&&(XI(c)||IH(c)||tH(c)||wH(c))&&this.b.add(a))}}};
  2118. function X8a(){X8a=function(){};V8a=BJ("JSC_MISSING_CONST_PROPERTY","Private property {0} is never modified, use the @const annotation")}function Y8a(){}var Z8a;l(Y8a,RT);function $8a(a){a9a();var b=new Y8a;b.a=a;return b}Y8a.prototype.H=function(a,b){Y(this.a,b,this)};Y8a.prototype.J=function(a,b){q(b.c,(H(),kpa))&&MT(a,b,Z8a,A([],B,y,1))};
  2119. function a9a(){a9a=function(){};Z8a=BJ("JSC_DEBUGGER_STATEMENT_PRESENT","Using the debugger statement can halt your application if the user has a JavaScript debugger running.")}function b9a(){}var c9a,d9a,e9a;l(b9a,n);b9a.prototype.H=function(a,b){this.a||(this.a=LZ(this.b,a,b));E(!!this.a.a);f9a(this,"Object",this.f);f9a(this,"Function",this.g);this.f.na(this.c.lh());for(a=g9a(this.a).h();a.i();)b=a.j(),q(b.Oa,(MZ(),h9a))&&i9a(this,b,0<b.c+b.f)};
  2120. function f9a(a,b,c){if(a=a.a.ob(b))for(a=NZ(a).h();a.i();)b=a.j(),q(b.a,(OZ(),j9a))&&(b=gG(b.N()),N(b)&&c.add(O(b).l()))}
  2121. function i9a(a,b,c){if(b.b)for(b=b.b.h();b.i();){var d=b.j(),e=!1;if(c){e=a;var f=d;!f.a||k9a(e,f.a)||e.f.B(f.v)?e=!1:q(f.a.g,(PZ(),QZ))?e=!0:l9a(f.a)?(e=sL(f.a.hb().N()),e=!(kA(e)&&!Aw(R(e)))):e=q(f.a.g,(PZ(),RZ))&&f.a.U&&!e.g.B(f.v);e=!e||0<d.c+d.f}f=a;var h=d,k=e,m=h.a,p;a:{if(!h.hb())for(p=NZ(h).h();p.i();){var t=p.j();if(yH(t.N().m())&&(t=nG(t.N()))&&jE(t)){p=!0;break a}}p=!1}for(t=NZ(h).h();t.i();){var v=t.j(),C=yH(v.N().m());if(!k&&!p){if(!C){for(C=h;C.a&&0==C.a.c+C.a.f;)C=C.a;X(f.b,aDa(v.N(),
  2122. f.o,e9a,A([SZ(C)],B,y,1)))}}else if(m9a(f,h,v))X(f.b,V(v.N(),d9a,A([v.f.eb(),h.hb().f.eb(),SZ(h)],B,y,1)));else if(nL(WR(v.c))){var J=q(v.a,(OZ(),j9a));(C=J?h:m)&&C.hb()&&0==C.f&&C.hb().u>v.u&&(J=J?r(SZ(h))+".prototype":SZ(h),X(f.b,V(v.N(),c9a,A([J,SZ(C),C.hb().Me().ub(),""+XA(C.hb().N())],B,y,1))))}}i9a(a,d,e)}}
  2123. function m9a(a,b,c){if(!(q(b.a.g,(PZ(),QZ))||l9a(b.a)||q(b.a.g,(PZ(),RZ))))return!1;a=a.b.b;if(0==b.c||q(c.a,(OZ(),TZ)))return!1;if(1==b.c)return b=G(b.hb()),!n9a(c,b,a);for(b=NZ(b).h();b.i();){var d=b.j();if(n9a(c,d,a))return!1}return!0}function n9a(a,b,c){return q(b.a,(OZ(),TZ))&&(q(a.f,b.f)||jV(c,a.f,b.f))}function k9a(a,b){if(0<b.F)for(var c=NZ(b).h();c.i();){var d=c.j();if(q(d.a,(OZ(),UZ))&&(d=d.N().m(),!eH(d)||!a.c.zd(d)&&null==a.c.zf(d)))return!0}return!!b.a&&k9a(a,b.a)}
  2124. function o9a(){o9a=function(){};e9a=AJ("JSC_UNDEFINED_NAME","{0} is never defined");c9a=AJ("JSC_NAME_DEFINED_LATE","{0} defined before its owner. {1} is defined at {2}:{3}");d9a=BJ("JSC_STRICT_MODULE_DEP_QNAME","cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}")}function p9a(){this.a=0}var VZ,WZ,XZ;l(p9a,z);function q9a(a,b){var c=new p9a;c.b=a;c.a=b;return c}p9a.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2125. function YZ(){YZ=function(){};WZ=q9a("INLINE_COMPLETELY",0);XZ=q9a("INLINE_BUT_KEEP_DECLARATION",1);VZ=q9a("DO_NOT_INLINE",2)}function r9a(){this.rb=this.Ha=this.pa=this.kb=this.U=!1;this.ja=this.$=this.za=this.A=this.F=this.ta=this.f=this.c=0}l(r9a,n);function s9a(a,b,c,d,e){a.Za=b;a.u=pm();a.o=bf();a.U=!1;a.kb=!1;a.pa=!1;a.Ha=!1;a.rb=!1;a.c=0;a.f=0;a.ta=0;a.F=0;a.A=0;a.za=0;a.$=0;a.ja=0;a.Da=null;a.jb=null;a.v=c;a.a=d;a.g=(PZ(),ZZ);a.Oa=e}g=r9a.prototype;g.va=function(){return SZ(this)};
  2126. function SZ(a){return a.a?r(SZ(a.a))+Hg(46)+r(a.v):a.v}g.hb=function(){return this.K};function l9a(a){return q(a.g,(PZ(),t9a))}g.ya=function(){throw wb().s;};function u9a(a,b,c,d,e,f){var h=a.o.get(d);Ji(!h,"Refs already exist for node: %s",h);b=v9a(a,b,c,d,e,f);a.u.add(b);a.o.C(d,Ml(b));w9a(a,b)}function v9a(a,b,c,d,e,f){c=G(c);d=G(d);var h=new $Z;h.b=null;h.g=d;h.o=a;h.f=b;h.a=e;h.c=c;h.u=f;return h}
  2127. function w9a(a,b){switch(b.a.a){case 0:a.K||(a.K=b);a.Da||(a.Da=x9a(b));a.c++;break;case 1:a.f++;(b=b.N()?tL(b.N()):null)&&Ay(b,67108864)&&a.ta++;break;case 2:case 4:b=b.N();var c;if(c=!a.jb)a_(),c=!!b&&N(b)&&yH(b.m());c&&(a.jb=nG(b));a.A++;break;case 3:a.F++;a.A++;break;case 5:a.za++;a.A++;break;case 6:a.$++;break;case 7:a.ja++;a.A++;break;default:throw ob().s;}}
  2128. function b_(a,b,c){Ii(!q(b.g,c),"redundant update to Ref node: %s",b);var d=b.N();Ji(!!d,"Ref's node is already null: %s",b);b.g=c;var e=b.b;e?(b.b=null,e.b=null,a.o.C(d,Ml(e))):a.o.Ka(d);c&&(d=a.o.get(c),Ii(!d,"refs already exist: %s",d),a.o.C(c,Ml(b)))}
  2129. function c_(a,b){Ki(q(b.o,a),"removeRef(%s): node does not belong to this name: %s",b,a);Ji(a.u.B(b),"removeRef(%s): unknown ref",b);if(b.N()){var c=Li(b.N(),b);if(b.b){y9a(a,b);var d=b.b;b.b=null;d.b=null;a.o.C(c,Ml(d))}else d=a.o.get(c),Ki(1==d.w()&&q(d.G(0),b),"Unexpected Refs for Node: %s: when removing Ref: %s",d,b),a.o.Ka(c)}z9a(a,b)}
  2130. function z9a(a,b){a.u.sa(b);if(q(b,a.K)){a.K=null;for(var c=a.u.h();c.i();){var d=c.j();if(q(d.a,(OZ(),TZ))){a.K=d;break}}}switch(b.a.a){case 0:a.c--;break;case 1:a.f--;(b=b.N()?tL(b.N()):null)&&Ay(b,67108864)&&a.ta--;break;case 2:case 4:a.A--;break;case 3:a.F--;a.A--;break;case 5:a.za--;a.A--;break;case 6:a.$--;break;case 7:a.ja--,a.A--}}
  2131. function y9a(a,b){var c=Li(b.b,b),d=Li(b.N(),b),e=a.o.get(d);Ki(2==e.w(),"unexpected Refs for Node: %s, when removing: %s",e,b);Ki(e.B(b),"Refs for Node: %s does not contain Ref to remove: %s",e,b);Ki(e.B(c),"Refs for Node: %s does not contain expected twin: %s",e,c);a.o.Ka(d)}function NZ(a){return a.u?tf(a.u):Ll()}function A9a(a,b){return(a=a.o.get(G(b)))?a:Ll()}function d_(a){a=a.Yb();return!!a&&Ay(a,67108864)}
  2132. function B9a(a){if(q(a.Oa,(MZ(),e_))||1!=a.c||0!=a.f)return YZ(),VZ;var b=C9a(a);if(q(b,VZ))return YZ(),VZ;for(a=NZ(a).h();a.i();)switch(a.j().a.a){case 0:continue;case 1:throw ob().s;case 3:case 4:case 2:case 5:case 7:continue;case 6:return YZ(),VZ;default:throw ob().s;}return b}function f_(a){return!q(C9a(a),VZ)}
  2133. function C9a(a){if(q(a.Oa,(MZ(),e_))||D9a(a)||d_(a)||E9a(a))return YZ(),VZ;if(a.hb()){var b=a.hb().N();if(SH(b.m())){var c=a.Za;F(SH(b.m()),b);var d=c.F.get(b);if(null!=d)c=d;else{d=!1;for(var e=O(b.m());e;e=iF(e))qx(e)&&(d=!0),c.F.C(e,d);c=c.F.get(b)}if(c)return YZ(),VZ;b=gG(b);if(TH(b)||EH(b))return YZ(),VZ}}b=(0<a.c||0<a.f)&&0==a.ta&&0==a.$;c=a.a?g_(a.a):(YZ(),WZ);switch(c.a){case 0:return b?(YZ(),WZ):a.U?(YZ(),XZ):(YZ(),VZ);case 1:return a.U?(YZ(),XZ):b?(YZ(),XZ):(YZ(),VZ);case 2:return a.U?(YZ(),
  2134. XZ):(YZ(),VZ)}throw pb("unknown enum value "+r(c)).s;}function E9a(a){a=a.hb();if(!a)return!1;a=a.N();if(!a||!TG(a)||!pH(a.m()))return!1;if(Z2a(mX(a.a)))return!0;var b=gG(a);if(rJ(b))return!1;b=b.a;var c;if(c=!Aw(b))b=b.l(),T(),c=hk(),c=VI(a,d2a(b),c);return c}function D9a(a){return q(a.g,(PZ(),F9a))}
  2135. function g_(a){if(q(a.g,(PZ(),ZZ))||D9a(a)||1!=a.c||0!=a.f||0!=a.$)return YZ(),VZ;G(a.K);var b;if(!(b=a.K.b||d_(a)))a:{if(b=a.hb())if(b=b.N()){b=qX(b);break a}b=!1}if(b||a.rb||G9a(a))return YZ(),VZ;if(a.a&&H9a(a.a)||0<a.F)return a.U?(YZ(),XZ):(YZ(),VZ);if(!a.a)return YZ(),WZ;b=g_(a.a);return q(b,(YZ(),VZ))?a.U?(YZ(),XZ):(YZ(),VZ):b}function G9a(a){if(!a.Za.K)return!1;switch(a.g.a){case 0:return!0;case 2:return a=a.Yb(),!!a&&fE(a);default:return!1}}
  2136. function H9a(a){return q(a.g,(PZ(),QZ))&&(0<a.F||d_(a))}function I9a(a){var b=a.K.g;a=sL(b);b=tL(b);return!!a&&P(a)&&!!b&&dE(b)}g.toString=function(){return r(SZ(this))+" ("+r(this.g)+"): "+r(vk(qk(", "),"globalSets="+this.c,"localSets="+this.f,["totalGets="+this.A,"aliasingGets="+this.F,"callGets="+this.za,"subclassingGets="+this.ja]))};g.Yb=function(){return this.Da?this.Da:this.jb};
  2137. function x9a(a){if(a.g){var b=a.g.m();if(!b)return null;switch(b.c.a){case 69:case 50:case 100:return nG(b);case 80:case 104:case 92:return q(a.g,b.a)?nG(b):nG(a.g);case 46:case 101:return nG(a.g)}}return null}g.ba=!0;function J9a(){this.a=0}var ZZ,RZ,t9a,QZ,F9a;l(J9a,z);function h_(a,b){var c=new J9a;c.b=a;c.a=b;return c}J9a.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2138. function PZ(){PZ=function(){};t9a=h_("CLASS",0);QZ=h_("OBJECTLIT",1);RZ=h_("FUNCTION",2);F9a=h_("GET_SET",4);ZZ=h_("OTHER",5)}function K9a(){this.a=0}var j9a,TZ,UZ,i_,j_,L9a,M9a,N9a;l(K9a,z);function k_(a,b){var c=new K9a;c.b=a;c.a=b;return c}K9a.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2139. function OZ(){OZ=function(){};TZ=k_("SET_FROM_GLOBAL",0);i_=k_("SET_FROM_LOCAL",1);j9a=k_("PROTOTYPE_GET",2);UZ=k_("ALIASING_GET",3);j_=k_("DIRECT_GET",4);L9a=k_("CALL_GET",5);M9a=k_("DELETE_PROP",6);N9a=k_("SUBCLASSING_GET",7)}function $Z(){this.u=0}l($Z,n);$Z.prototype.N=function(){return this.g};$Z.prototype.Me=function(){return this.g?Sz(this.g):null};$Z.prototype.hg=function(){return this.o};function l_(a){return q(a.a,(OZ(),TZ))||q(a.a,(OZ(),i_))}
  2140. $Z.prototype.toString=function(){return Mn(Mn(Nn(On(Mn(Mn(Mn(Ln(Qn(this)),"name",this.o),"type",this.a),"node",this.g),"preOrderIndex",this.u),"isTwin",!!this.b),"module",this.f),"scope",this.c).toString()};function m_(){}l(m_,n);function n_(a,b,c){var d=new m_;d.b=a;d.c=b;d.a=c;return d}m_.prototype.I=function(a){return a instanceof m_?bd(this.b,a.b)&&bd(this.c,a.c)&&bd(this.a,a.a):!1};m_.prototype.P=function(){return Fg([this.b,this.c,this.a])};function O9a(){this.a=0}var h9a,e_,P9a;l(O9a,z);
  2141. function Q9a(a,b){var c=new O9a;c.b=a;c.a=b;return c}O9a.prototype.R=function(a){return z.prototype.c.call(this,a)};function MZ(){MZ=function(){};e_=Q9a("EXTERN",0);P9a=Q9a("TYPE_SUMMARY",1);h9a=Q9a("CODE",2)}function R9a(){}var S9a,T9a;l(R9a,n);function U9a(a,b,c){V9a();var d=new R9a;d.b=a;d.c=b;d.a=c;return d}function o_(a){V9a();if(!(a&&eH(a)&&kG(a)&&Dw(R(a))))return!1;a=a.a;if(!N(a))return!1;var b=a.a,c=R(a);return L(b)&&li(b.l(),"goog")&&S9a.B(c.l())||T9a.de(a)}
  2142. function W9a(a,b){if(!a.b)return null;b=R(b).l();a=a.b.a.get(b);if(!a)return null;switch(a.a.f.a){case 1:return(a=a.a.c)&&tC(a)?jL(b,gG(a)):null;case 2:case 3:return Fi(NV(a.a),a.a),b=a.a.c,(b=tC(b)&&gF(b)&&NH(fF(b))?fF(b):eH(b)?mX(R(b)):null)?jL("exports",b):null;case 0:return b=a.a.c.a,jL("*exports*",b);case 4:throw pb("Type checking CommonJs modules not yet supported").s;case 5:throw pb("Cannot import a name from a SCRIPT").s;}throw ib().s;}
  2143. function X9a(a,b,c,d){Fi(MV(b.a),b);Fi(fL(c),c);var e=el();for(b=b.Od.V().h();b.i();){var f=b.j(),h=f.O();f=f.M();if(cd(h.o,(FV(),a1a))){var k=Y9a(h),m=a.c.f(k.od());m?(k=m.T(k.ze()),cS(c,f,h.f,k.qa(),d,k.Vb()),h.c||vC(h.f)||!(k=vC(k.a)))||(LG(h.f,k),AC(a.a,c,f,k)):(F(li(h.f.l(),f),h.f),e.L(h.f,k))}}return e.Jb()}
  2144. function Z9a(a,b,c,d){Fi(MV(c.a),c);Fi(fL(d),d);for(c=c.ld.V().h();c.i();){var e=c.j(),f=e.M();if(!zz(b,f)){var h=e.O();e=h.f;h=Y9a(h);var k=q(h.od(),d.ka())?d:a.c.f(h.od());k?(h=k.ob(h.ze()),(k=h.qa())||(k=qy(a.a,(I(),hw))),h.Vb()?yz(b,f,k,e):wz(b,f,k,e),LG(e,vC(h.a))):yz(b,f,qy(a.a,(I(),ew)),e)}}}function Y9a(a){if(a.c)var b="*exports*";else E(!a.c),b=a.a.a;a=a.c?a.b:a.a.o;if(!MV(a))return jL(b,null);a=a.c;F(!a||tC(a),a);return TBa(b,a?fF(a):null)}
  2145. function p_(a,b,c){V9a();return(NH(c)?tF(c.m(),(kx(),WE)):Hw(c)&&P(c.m())&&zY(gG(c)))?(b=R(c.a.a).l(),a.a.get(b)):NH(c)?(b=G(b.f(aG(c.m()))),a=yW(a,KR(b)),F(MV(a.a),"Typechecking of non-goog- and non-es-modules not supported"),a):null}function V9a(){V9a=function(){};S9a=gm("require","requireType","forwardDeclare");T9a=Wx("goog.module.get")}function $9a(){}l($9a,cT);function a$a(a){var b=new $9a;b.a=a;b.b=null;b.c=null;return b}
  2146. $9a.prototype.ga=function(a,b){if(this.a.a)if(q(b,this.a.a))this.a.v=ET(a);else if(tC(b)){var c=this.a;MZ();var d=eG(b)?YW(b)?P9a:e_:h9a;c.u=d}if(NH(b)||yY(b)){if(c=this.a.c.A)this.b=b,this.c=G(p_(c,this.a.c,b).a),NV(this.c)&&q_(this,"exports",this.c)}else if(tC(b)||zY(b))this.c=this.b=null;b$a(this,BT(a),ET(a),b);return!0};
  2147. function b$a(a,b,c,d){var e=d.m();var f=!1;var h=(PZ(),ZZ);switch(d.c.a){case 90:case 91:case 102:if(pH(e)&&!TG(d))return;var k=tY(d);f=!0;h=LH(d)?RZ:F9a;break;case 95:k=null;SH(e)?(k=tY(d),f=!0):$w(e)&&(h=d.m(),E($w(h)),h=h.m(),k=kH(h)||Yw(h)?(h=R(h))&&DC(h)?r(EC(h))+"."+r(d.l()):null:null);h=r_(a,d.a);break;case 32:switch(e.c.a){case 80:case 104:case 92:f=!0;h=(h=d.a)?r_(a,h):ZZ;break;case 50:q(e.a,d)&&(f=!0,h=r_(a,d.b));break;case 26:return;case 69:f=e.m();if(!f||lL(e))return;f=!0;h=RZ;break;case 82:case 67:case 68:f=
  2148. !0;h=ZZ;break;case 100:q(e.a,d)&&(f=!0,h=t9a);break;case 95:case 97:case 127:case 122:case 118:case 119:eV(d)&&(f=!0,h=ZZ);break;case 120:case 121:break;default:XI(e)&&q(e.a,d)&&(f=!0,h=ZZ)}k=d.l();break;case 26:if(e)switch(e.c.a){case 50:q(e.a,d)&&(f=!0,h=r_(a,d.b));break;case 26:return;case 67:case 68:case 120:case 121:break;default:XI(e)&&q(e.a,d)&&(f=!0,h=ZZ)}if(!DC(d))return;k=EC(d);break;case 28:Fi(eH(d),d);kG(d)?(c=d.a,N(c)?(b=c.a,c=R(c),b=Dw(c)&&"hasOwnProperty"===c.l()&&DC(b)):b=!1):b=!1;
  2149. if(b)d=EC(hF(d)),q_(a,d,a.c).rb=!0;else if(yH(e)&&(a_(),c$a).de(d.a)&&Dw(R(d))){d=R(d).l();for(b=0;0<=b;)b=ni(d,46,b+1),c=0>b?d:ne(d,0,b),E(!te(c)),c=q_(a,c,null),c.Ha=!0;q_(a,d,null).Ha=!0}return;default:return}if(null!=k){var m=a.a;var p=k;var t=mi(p,46);p=-1==t?p:ne(p,0,t);t=c.T(p);!t&&m.v&&(t=m.v.T(p));p=t?UR(t.b)?t.b.ka():m.g:(p=m.b.get(p))&&p.Ha?m.g:null;m=(m=p)?q(m,a.a.g)||q(m,a.b)?!0:!!a.b&&Hw(a.b)&&q(m,a.b.m()):!1;if(m)if(m=q(p,a.a.g)?null:a.c,f){var v=WR(c);if(nL(v)||!q(p,a.a.g)&&q(v.ka(),
  2150. a.b)){if(v=k,f=h,!d$a(a,b,c,d,e,v,m))if(v=q_(a,v,m),D9a(v)||(v.g=f),tF(d,(kx(),ZE))&&(v.pa=!0),e$a(e))e=(OZ(),TZ),f$a(a,v,d,e,b,c);else if(g$a(a,v,d,(OZ(),TZ),b,c),(a=sL(d))?kA(a)?a=!0:(d=tL(d),a=!!d&&(dE(d)&&P(a)||eE(d)&&P(a)||iE(d)&&SH(a))):a=!1,a)for(v.U=!0,a=v.a;a;a=a.a)a.kb=!0}else v=k,d$a(a,b,c,d,e,v,m)||(v=q_(a,v,m),tF(d,(kx(),ZE))&&(v.pa=!0),e$a(e)?f$a(a,v,d,(OZ(),i_),b,c):g$a(a,v,d,(OZ(),i_),b,c))}else if(f=k,!d$a(a,b,c,d,e,f,m)){switch(e.c.a){case 88:case 70:case 44:case 25:case 83:case 19:case 20:case 21:case 22:v=
  2151. (OZ(),j_);break;case 28:q(d,e.a)?e=(OZ(),L9a):(v=MX(a.a.c),e=v.zd(e)||null!=v.zf(e)?(OZ(),j_):(OZ(),UZ));v=e;break;case 23:v=q(d,e.a)?(OZ(),j_):(OZ(),UZ);break;case 64:case 65:case 66:v=h$a(e,f);break;case 63:q(d,e.a)?v=(OZ(),j_):v=h$a(e,f);break;case 24:v=(OZ(),M9a);break;case 100:v=(OZ(),N9a);break;case 99:case 50:e=iF(d);nH(e)&&(e=fF(e));switch(e.c.a){case 32:case 26:case 27:case 97:case 98:v=(OZ(),UZ);break;default:throw pb("Unexpected previous sibling of "+r(d.c)+": "+r(iF(d))).s;}break;default:v=
  2152. (OZ(),UZ)}e=v;v=q_(a,f,m);g$a(a,v,d,e,b,c)}}}function r_(a,b){switch(b.c.a){case 100:return PZ(),t9a;case 46:return PZ(),QZ;case 69:return PZ(),RZ;case 64:return r_(a,O(b));case 63:b=R(b);var c=r_(a,b);if(!q(c,(PZ(),ZZ)))return c;b=b.b;return r_(a,b)}return PZ(),ZZ}
  2153. function f$a(a,b,c,d,e,f){var h=A9a(b,c);h.D()?(h=a.a.f,Fi(q(d,(OZ(),TZ))||q(d,(OZ(),i_)),d),d=v9a(b,e,f,c,d,h),e=v9a(b,e,f,c,(OZ(),UZ),h+1),d.b=e,e.b=d,b.o.C(c,Sl(d,e)),b.u.add(d),w9a(b,d),b.u.add(e),w9a(b,e),a.a.f+=2):(Ji(2==h.w(),"unexpected existing refs: %s",h),a=h.G(0),Ji(q(a.a,d),"unexpected existing set Ref type: %s",a.a))}
  2154. function g$a(a,b,c,d,e,f){var h=A9a(b,c);h.D()?u9a(b,e,f,c,d,a.a.f++):(Ji(1==h.w(),"unexpected twin refs: %s",h),a=h.G(0).a,Ki(q(a,d),"existing ref type: %s expected: %s",a,d))}
  2155. function h$a(a,b){var c=a;for(a=DE(a.m()).h();a.i();){var d=a.j();switch(d.c.a){case 44:case 88:case 80:case 104:case 92:case 70:case 74:case 76:case 77:case 25:case 83:case 19:case 20:case 21:case 22:return OZ(),j_;case 63:if(q(d.a,c))return OZ(),j_;break;case 50:if(!yG(d.a,b))return OZ(),UZ;break;case 32:if(!li(b,d.l()))return OZ(),UZ;break;case 28:if(!q(d.a,c))return OZ(),UZ;break;case 24:return OZ(),M9a}c=d}return OZ(),UZ}
  2156. function d$a(a,b,c,d,e,f,h){if(ki(f,".prototype")){var k=1;var m=ne(f,0,f.length-10)}else{var p=f.indexOf(".prototype.");if(-1==p)return!1;m=ne(f,0,p);k=2;for(p=ni(f,46,p+11);0<=p;)k++,p=ni(f,46,p+1)}if(e&&FX(d))return!0;for(e=0;e<k;e++)d=d.a;k=(OZ(),j9a);h=q_(a,m,h);g$a(a,h,d,k,b,c);return!0}function e$a(a){return kH(a)&&!yH(a.m())}
  2157. function q_(a,b,c){var d=c?a.a.o.Ze(c,b):a.a.b.get(b);if(!d){var e=ti(b,46);if(0<=e){d=q_(a,ne(b,0,e),c);e=b.substr(e+1);var f=a.a.u;d.b||(d.b=w());var h=new r9a;s9a(h,d.Za,e,d,f);d.b.add(h);d=h;c?a.a.o.Mc(c,b,d):a.a.b.C(b,d)}else d=new r9a,s9a(d,a.a,b,null,a.a.u),c?a.a.o.Mc(c,b,d):(a.a.U.add(d),a.a.b.C(b,d))}return d}function i$a(){this.A=this.K=!1;this.f=0}var c$a;l(i$a,n);function j$a(a,b){a_();var c=new i$a;k$a(c,a,null,b);return c}function LZ(a,b,c){a_();var d=new i$a;k$a(d,a,b,c);return d}
  2158. function k$a(a,b,c,d){a.g=Kw(A([],lx,eI,1));a.F=Uf();a.A=!1;a.f=0;a.U=w();a.b=bf();a.o=Bq();a.c=b;a.a=c;a.$=d;a.K=b.a.ik}g=i$a.prototype;g.ka=function(){return this.$.m()};g.Ge=function(){return null};g.ob=function(a){return this.Mb(a)};g.Mb=function(a){s_(this);return this.b.get(a)};g.Ee=function(){s_(this);return tf(l$a(this).values())};function s_(a){a.A||(a.a&&(a.u=(MZ(),e_),Y(a.c,a.a,a$a(a))),a.u=(MZ(),h9a),Y(a.c,a.$,a$a(a)),a.A=!0,a.v=null)}function g9a(a){s_(a);return a.U}
  2159. function l$a(a){s_(a);return a.b}function t_(a,b){var c=a$a(a);for(b=b.h();b.i();){var d=b.j();(DC(d.a)||FX(d.a))&&m$a(a,c,d.b,d.c,d.a)}}function m$a(a,b,c,d,e){var f=e.m();if((L(e)||N(e))&&N(f))m$a(a,b,c,d,e.m());else if(iF(e)&&$w(iF(e)))for(f=BA(iF(e)).h();f.i();){var h=f.j();Lx(h)&&m$a(a,b,c,d,h)}b$a(b,c,d,e)}g.$d=function(a){return by(this,a)};function a_(){a_=function(){};c$a=Wx("goog.provide")}function u_(){}var n$a;l(u_,n);function o$a(a){p$a();var b=new u_;b.a=null;b.b=a;return b}
  2160. u_.prototype.ga=function(a,b,c){if(P(b)){if(aH(b))return!0;if((a=tL(b))&&(dE(a)||eE(a)||a.f||Ay(a,64))||a&&(a=ZD(a))&&(a=a.a)&&P(a)&&(a=a.a)&&SC(a))return!1;a=c.c;if(!(q(a,(H(),Lt))||q(a,(H(),Ot))||q(a,(H(),As))||q(a,(H(),Ss))||q(a,(H(),Tt))))return!1;a=c.m();if(FX(c)&&(a=nG(a))&&SD(a)&&ki(SD(a).a.l(),".prototype"))return!1}if(c&&kH(c))if(c=c.a,q(b,c))this.a||(this.a=c);else if(UI(c)){if(N(c)&&li(O(c).l(),"prototype"))return!1;b=c.a;if(N(b)&&li(O(b).l(),"prototype"))return!1}return!0};
  2161. u_.prototype.J=function(a,b){if(a=SC(b))a=b.m(),a=this.a?!0:!!a&&UI(a);a&&X(this.b,V(b,n$a,A([],B,y,1)));q(b,this.a)&&(this.a=null)};function p$a(){p$a=function(){};n$a=AJ("JSC_USED_GLOBAL_THIS","dangerous use of the global 'this' object")}u_.prototype.la=!0;function v_(){this.b=!1}var q$a,r$a,s$a,t$a,w_,u$a,v$a,w$a,x$a,y$a,z$a,A$a,B$a;l(v_,RT);v_.prototype.H=function(a,b){this.b=!0;Y(this.a,a,this);this.b=!1;Y(this.a,b,this)};v_.prototype.ra=function(a){Y(this.a,a,this)};
  2162. v_.prototype.J=function(a,b){if(tC(b)&&(a=WA(b),this.a.a.o)){var c=this.a;if(!c.a.o)throw xb("getComments may only be called in IDE mode.").s;for(c=c.Tc.get(a).h();c.i();){var d=c.j();if(q(d.b,(kO(),wMa))){var e=RU(q$a,d.c);e.b.exec(e.a)&&X(this.a,NL(a,d.a.a.b+1,d.a.a.c,r$a,A([],B,y,1)))}}}if((a=nG(b))&&gE(a)){c=!1;switch(b.c.a){case 69:c=qJ(b);break;case 32:F(L(b),b);DX(b)?(c=w3a(b),c=!t3a(c)):c=!1;break;case 97:case 98:c=Gw(b.m());break;case 96:case 113:case 95:case 90:case 91:c=!0;break;case 80:case 104:case 92:c=
  2163. !d3a(b);break;case 50:c=b.a;c=yH(b.m())&&(N(c)||DH(c)||xG(c,"exports"));break;case 26:c=yH(b.m())&&DC(b);break;case 28:c=Ay(a,4)}c||x_(this,b,"type","Type annotations are not allowed here. Are you missing parentheses?")}a&&(!Qwa(a)||gE(a)||C$a(this,b,a)||x_(this,b,"function","This JSDoc is not attached to a function node. Are you missing parentheses?"));if(a&&(null!=cE(a)||Ay(a,8)||null!=UD(a))){c=!1;switch(b.c.a){case 50:case 80:case 104:case 92:c=D$a(b.a);break;case 95:c=D$a(b);break;case 26:eG(b)&&
  2164. DC(b)&&(c=D$a(b))}c||y_(this,b,v$a,A([],B,y,1))}a&&Ay(a,1048576)&&y_(this,b,u$a,A(["@expose","Use @nocollapse or @export instead."],B,y,1));eG(b)?a&&Ay(a,67108864)&&x_(this,b,"nocollapse","This JSDoc has no effect in externs."):J3a(b.m())&&(c=nG(b))&&Ay(c,67108864)&&x_(this,b,"nocollapse","This JSDoc has no effect on prototype properties.");if(c=a&&LH(b))c=fE(a)||!!ND(a)||0!=lE(a)||0!=wE(a);c&&y_(this,b,t$a,A([],B,y,1));aH(b)&&(c=tL(b))&&fE(c)&&y_(this,b,w$a,A([],B,y,1));vH(b)&&Gw(b.m())&&(c=nG(b.a))&&
  2165. (c=ZD(c))&&(c=c.a,q(c.c,(H(),Eu))||y_(this,c,x$a,A([],B,y,1)));!a||XD(a).D()||fE(a)||E$a(this,b)||Qwa(a)||F$a(b)||x_(this,b,"template","@template is only allowed in class, constructor, interface, function or method declarations");a&&jE(a)&&(E$a(this,b)?x_(this,b,"typedef","@typedef is not allowed on a class declaration."):(c=PI(b)||kH(b)?b.a:b,(d=DC(c))||(d=Lx(c)&&SH(c.m())&&Lx(gG(c))&&li(gG(c).l(),"statics")),d?(Lx(c)?c=!1:TX(c)?c=!0:(c=PX(c),c=SC(c)||WH(c)),c&&x_(this,b,"typedef","@typedef is not allowed on instance or prototype properties. Did you mean @type?")):
  2166. x_(this,b,"typedef","@typedef is only allowed on qualified name declarations. Did you mean @type?")));a&&!eG(b)&&((Uwa(a)||VD(a).B("this"))&&y_(this,b,y$a,A([],B,y,1)),Ay(a,16384)&&y_(this,b,z$a,A([],B,y,1)));a&&Ay(a,268435456)&&!E$a(this,b)&&((c=F$a(b))?!dE(a)&&mX(c).a?y_(this,b,w_,A(["@abstract","function with a non-empty body cannot be abstract"],B,y,1)):(d=SH(b.m())&&(LH(b)||Lx(b))&&"constructor"===b.l(),VW(b)||d?y_(this,b,w_,A(["@abstract","constructors cannot be abstract"],B,y,1)):((d=dE(a)||
  2167. LH(b)||Lx(b)||rH(b)||CH(b)||VH(b))||(T(),P(c)?(c=c.m(),d=kH(c)?J3a(c.m()):!1):d=!1),d?TG(b)&&y_(this,b,w_,A(["@abstract","static methods cannot be abstract"],B,y,1)):y_(this,b,w_,A(["@abstract","only functions or non-static methods can be abstract"],B,y,1)))):y_(this,b,w_,A(["@abstract","only functions or non-static methods can be abstract"],B,y,1)));a&&Ay(a,4)&&hx(b)&&y_(this,b,A$a,A([],B,y,1));G$a(this,b,a);!this.b&&a&&Ay(a,8192)&&y_(this,b,(z_(),H$a),A([],B,y,1));a&&null!=$D(a)&&(C$a(this,b,a)||
  2168. y_(this,b,w_,A(["closurePrimitive","must be on a function node"],B,y,1)));Ux(b)&&a&&(!mE(a)||gE(a)||jE(a)||y_(this,b,B$a,A([],B,y,1)))};
  2169. function G$a(a,b,c){if(c&&!WD(c).D()){switch(b.c.a){case 69:case 100:case 80:case 104:case 92:case 89:case 102:case 90:case 91:return;case 122:if(P(O(b)))return;break;case 95:if(SH(b.m()))return;break;case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 26:if(yH(b.m()))return;break;case 28:if(I$a(c,"extraRequire")||I$a(c,"extraProvide"))return;break;case 81:if(I$a(c,"with"))return}I$a(c,"missingRequire")||X(a.a,V(b,s$a,A([],B,y,1)))}}
  2170. function I$a(a,b){a=WD(a);return 1==a.w()&&li(Wj(a),b)}function F$a(a){return P(a)?a:LH(a)?a.a:PI(a)&&hF(a)&&P(hF(a))?hF(a):kH(a)&&DC(a.a)&&P(O(a))?O(a):Lx(a)&&gG(a)&&J$a(gG(a))&&P(a.a)||CH(a)||VH(a)?a.a:rH(a)&&P(O(a))?O(a):null}function E$a(a,b){return K$a(a,b)||kH(b)&&K$a(a,O(b))||PI(b)&&L$a(a,b.a)||L$a(a,b)}function L$a(a,b){return!!b&&L(b)&&!!b.a&&K$a(a,b.a)}function K$a(a,b){return kA(b)||eH(b)&&MX(a.a).tj(b)}
  2171. function C$a(a,b,c){switch(b.c.a){case 69:case 90:case 91:case 102:case 95:case 122:case 113:return!0;case 27:case 26:return DC(b.a)?!0:!1;case 80:case 104:case 92:case 50:return(b=sL(b.a))&&K$a(a,b)&&!dE(c)?!1:!0;default:return!1}}function D$a(a){return L(a)||Lx(a)?zi(a.l(),"MSG_"):DC(a)?zi(O(a).l(),"MSG_"):!1}function x_(a,b,c,d){X(a.a,V(b,w_,A([c,d],B,y,1)))}function y_(a,b,c,d){X(a.a,V(b,c,d))}
  2172. function M$a(){M$a=function(){};v$a=BJ("JSC_MISPLACED_MSG_ANNOTATION","Misplaced message annotation. @desc, @hidden, and @meaning annotations should only be on message nodes.\nMessage constants must be prefixed with 'MSG_'.");w_=AJ("JSC_MISPLACED_ANNOTATION","Misplaced {0} annotation. {1}");u$a=AJ("JSC_ANNOTATION_DEPRECATED","The {0} annotation is deprecated. {1}");t$a=AJ("JSC_DISALLOWED_MEMBER_JSDOC","Class level JSDocs (@interface, @extends, etc.) are not allowed on class members");w$a=U("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",
  2173. "Arrow functions cannot be used as constructors");x$a=U("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL","Inline JSDoc on default parameters must be marked as optional");z$a=U("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION","@nosideeffects may only appear in externs files.");y$a=U("JSC_INVALID_MODIFIES_ANNOTATION","@modifies may only appear in externs files.");A$a=U("JSC_INVALID_DEFINE_ON_LET","variables annotated with @define may only be declared with VARs, ASSIGNs, or CONSTs");s$a=AJ("JSC_MISPLACED_SUPPRESS",
  2174. "@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations");r$a=AJ("JSC_JSDOC_IN_BLOCK_COMMENT","Non-JSDoc comment has annotations. Did you mean to start it with '/**'?");B$a=AJ("JSC_JSDOC_ON_RETURN","JSDoc annotations are not supported on return.");q$a=QU("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]")}function N$a(){}l(N$a,n);function O$a(){}l(O$a,n);function P$a(a,b,c){var d=new O$a;d.b=a;d.c=b;d.a=c;return d}function A_(){}
  2175. var Q$a,R$a,S$a,T$a,U$a,V$a,W$a,X$a,Y$a,Z$a,$$a;l(A_,RT);A_.prototype.H=function(a,b){this.ra(b,null)};A_.prototype.ra=function(a){Y(this.a,a,this)};A_.prototype.J=function(a,b){eH(b)&&J$a(b)&&!aab(b)&&X(this.a,V(b,Q$a,A([],B,y,1)));bab(this,a,b)};function aab(a){var b=a.m();switch(b.c.a){case 32:return!0;case 50:return q(a,O(b))&&yH(b.m());case 95:a:{for(a=b;a;)if(a=a.m(),eH(a)){if(J$a(a)){a=!0;break a}}else if(!SH(a)&&!Lx(a))break;a=!1}return a}return!1}
  2176. function bab(a,b,c){if(PI(c)){var d=c.a;cab(a,b,c,d,d.a)}else nX(c)&&(d=c.a,cab(a,b,c,d.a,O(d)))}function cab(a,b,c,d,e){if(J$a(e)){DC(d)||X(a.a,V(c,Q$a,A([],B,y,1)));var f=dab(a,d,e);f&&(S(e),S(d),eab(a,b,c,f))}}
  2177. function dab(a,b,c){var d=tL(b),e=oY(c,0);if(!e||!QH(e)&&!DC(e)&&!CY(e,"goog.module.get"))return X(a.a,V(c,R$a,A([],B,y,1))),null;if(z2a(e)||xG(e,"Object"))e=null;var f=oY(c,1);if(!fab(a,f,c))return null;if(2<GA(c)-1)return X(a.a,V(c,S$a,A([],B,y,1))),null;var h=gab(f,"constructor");if(d&&eE(d)){if(h)return X(a.a,V(f,T$a,A([],B,y,1))),null}else if(h)P(h)||X(a.a,V(h,V$a,A([],B,y,1)));else return X(a.a,V(f,U$a,A([],B,y,1))),null;h||(h=Fw(GG(rx(""),c),GG(Iw(A([],lx,eI,1)),c),GG(Lw(),c)),FG(h,c),OT(a.a,
  2178. h));var k=tL(h),m=c=null,p=gab(f,"statics");if(p)if(SH(p)){if(!fab(a,p,p.m()))return null;m=p}else if(P(p))c=p;else return X(a.a,V(p,W$a,A([],B,y,1))),null;m||(m=Kx(A([],lx,eI,1)));B_(h.m());B_(m.m());c&&B_(c.m());a=B_(e);h=P$a(k,null,B_(h));m=hab(B_(m));f=hab(f);c=B_(c);e=new N$a;e.b=b;e.g=d;e.f=a;e.a=h;e.u=m;e.o=f;e.c=c;return e}function B_(a){a&&a.m()&&S(a);return a}
  2179. function fab(a,b,c){if(!b||!SH(b))return iab(a,c),!1;for(var d=BA(b).h();d.i();){var e=d.j();if(!LH(e)){if(rH(e))return X(a.a,V(b,X$a,A([],B,y,1))),!1;if(Lx(e)&&aH(e.a))return X(a.a,V(b,Y$a,A([],B,y,1))),!1;if(!Lx(e)||e.bb())return iab(a,c),!1}}return!0}function iab(a,b){Lx(b)?X(a.a,V(b,W$a,A([],B,y,1))):(E(eH(b)),X(a.a,V(b,Z$a,A([],B,y,1))))}function gab(a,b){for(a=BA(a).h();a.i();){var c=a.j();if(li(c.l(),b))return c.a}return null}
  2180. function hab(a){for(var b=w(),c=BA(a).h();c.i();){var d=c.j(),e=d;LH(d)&&(e=CG(hF(d)),e.Ga(d.l()));b.add(P$a(tL(d),e,UA(d)))}BG(a);return b}
  2181. function eab(a,b,c,d){var e=Lw();Gx(d.a.a,null);if(PI(c)){var f=GG(Sw(NA(d.b),d.a.a,c.c),c),h=jab(a,d,f,!NH(c.m()));Gx(f,h);M(e,f)}else f=Gx(GG(wx(NA(d.b),d.a.a),c),d.a.b),h=jab(a,d,fF(c),!0),Gx(f,h),f=GG(cx(f),c),M(e,f);d.f&&M(e,kab(cx(GG(px(IG(LX(a.a,"goog.inherits"),d.f),A([NA(d.b),NA(d.f)],lx,eI,1)),d.f))));for(f=d.u.h();f.i();)h=f.j(),nH(h.a)||Gx(h.a,null),M(e,kab(cx(Gx(kab(wx(GG(sx(NA(d.b),GG(ux(h.c.l()),h.c)),h.c),h.a)),h.b)))),bab(a,b,O(e));for(f=d.o.h();f.i();){h=f.j();Gx(h.a,null);var k=
  2182. cx(Gx(wx(LX(a.a,r(EC(d.b))+".prototype."+r(h.c.l())),h.a),h.b));JG(k,h.c);Zxa(k,aya(h.a)+h.a.u-aya(h.c));M(e,k);bab(a,b,O(e))}if(d.c){var m=R(d.c).a.l();NWa(a.a,O(d.c),new $S(function(p,t,v){L(t)&&li(t.l(),m)&&(p=NA(d.b),pF(v,t,p),Z(a.a,p))}));M(e,GG(cx(lab(GG(px(d.c,A([NA(d.b)],lx,eI,1)),d.c))),d.c))}f=c.m();e=pD(e);lF(f,e,c);oF(f,c);NT(b)}function kab(a){FG(a,a.a);return a}function lab(a){E(eH(a));Hx(a,(kx(),KE),!0);return a}function J$a(a){mab();return a&&eH(a)?yG(a.a,"goog.defineClass"):!1}
  2183. function nab(a){if(DC(a))var b=EC(a);else E(CY(a,"goog.module.get")),b=O(a).l();return mD(IG(Ow((H(),zu),ux(b)),a),"<ClosureRewriteClass.java>")}
  2184. function jab(a,b,c,d){var e=b.g?b.g:uPa(HP(!0),!0),f=b.a.b?b.a.b:uPa(HP(!0),!0),h=b.f;b=b.a.b?IP(f):HP(!0);!d&&Ay(f,1024)&&Ay(b.a,1024)&&(aE(b.a,!1,1024),b.b=!0);d=qk("\n");var k=new pga;k.c=d;k.a=d.a;d=vk(k,OD(e),OD(f),[]);te(d)||LP(b,d);d=ef();d.na(WD(e));d.na(WD(f));d.D()||xPa(b,d);Ay(e,256)&&MPa(b);null!=xE(e)&&(d=xE(e),wPa(b,d));(d=e.c)&&!q(d,(HD(),FD))&&MP(b,e.c);Ay(e,268435456)&&IPa(b);bE(e)&&TP(b);Ay(e,1024)&&NPa(b);qE(e)&&(X(a.a,V(c,$$a,A([],B,y,1))),PPa(b));Ay(e,2097152)||Ay(f,2097152)?
  2185. HPa(b):Ay(e,8388608)||Ay(f,8388608)?KPa(b):JPa(b);if(eE(e)||eE(f)){if(Ay(e,134217728)||Ay(f,134217728)?GPa(b):VP(b),a=null,0<wE(e)?a=RD(e):0==wE(f)&&h&&(a=Ml(nab(h))),a)for(h=a.h();h.i();)a=h.j(),XP(b,a)}else for(UP(b),ND(e)?SP(b,ND(e)):h&&(h=nab(h),SP(b,h)),h=PD(e).h();h.i();)a=h.j(),WP(b,a);e=yE(e);f=yE(f);for(e=e.V().h();e.i();)h=e.j(),OP(b,h.M(),h.O());for(f=f.V().h();f.i();)e=f.j(),OP(b,e.M(),e.O());return KP(b)}
  2186. function mab(){mab=function(){};Q$a=U("JSC_GOOG_CLASS_TARGET_INVALID","Unsupported class definition expression.");R$a=U("JSC_GOOG_CLASS_SUPER_CLASS_NOT_VALID","The super class must be null or a valid name reference");Z$a=U("JSC_GOOG_CLASS_DESCRIPTOR_NOT_VALID","The class must be defined by an object literal");U$a=U("JSC_GOOG_CLASS_CONSTRUCTOR_MISSING","The 'constructor' property is missing for the class definition");V$a=U("JSC_GOOG_CLASS_CONSTRUCTOR_NOT_VALID","The 'constructor' expression must be a function literal");
  2187. T$a=U("JSC_GOOG_CLASS_CONSTRUCTOR_ON_INTERFACE","An interface definition should not have a 'constructor' property");W$a=U("JSC_GOOG_CLASS_STATICS_NOT_VALID","The class 'statics' property must be an object or function literal");S$a=U("JSC_GOOG_CLASS_UNEXPECTED_PARAMS","Too many arguments to goog.defineClass.");X$a=U("JSC_GOOG_CLASS_ES6_COMPUTED_PROP_NAMES_NOT_SUPPORTED","Computed property names not supported in goog.defineClass.");Y$a=U("JSC_GOOG_CLASS_ES6_ARROW_FUNCTION_NOT_SUPPORTED","Arrow functions not supported in goog.defineClass. Object literal method definition may be an alternative.");
  2188. $$a=AJ("JSC_GOOG_CLASS_NG_INJECT_ON_CLASS","@ngInject should be declared on the constructor, not on the class.")}function oab(a,b){a=G(a.A);return sB(b.Ia().Ma(),a)}function pab(a,b){if(b.aa())return b;if(jy(b)){var c=az(a);for(b=Zy(b.nb()).h();b.i();){var d=b.j();$y(c,pab(a,d))}return bz(c)}c=b.Ma();return pB(c,G(a.A))?pab(a,sB(c,G(a.A))):vy(b,qy(a,(I(),dw)))?qy(a,(I(),ew)):b}function qab(a,b){b=pab(a,b);return MC(a,Lz(a,(I(),Nv)),A([b],ly,ey,1))}
  2189. function C_(a,b){var c=qy(a,(I(),ew)),d=qy(a,Nv),e=MC(a,d,A([c],ly,ey,1));b=jy(b)?Zy(b.nb()):Ml(b);b=og(tg(sg(b.S(),fd(function(f){return vy(f,e)})),u(function(f){return oab(a,f)})),Rl());if(b.D())return c;c=oB(a,b);return Yy(a,A([c,MC(a,d,A([c],ly,ey,1))],ly,ey,1))}function rab(){this.c=!1}l(rab,n);function sab(){this.g=!1}l(sab,n);function tab(a){return a.a&&rH(a.a)?a.a:null}function uab(a){return!!a.a&&Lx(a.a)}function vab(a){return uab(a)?a.a:null}
  2190. function wab(a,b,c){return xab(a,ij(function(){return b}),c)}
  2191. function xab(a,b,c){Fi(Xw(c.m()),c);var d=new rab,e=c.m();d.b=null;d.f=null;d.c=!1;d.u=a;d.g=b;d.o=e;switch(c.c.a){case 95:d.f=c;a=c.a;vH(a)?(d.a=a.a,d.b=R(a)):d.a=a;break;case 122:d.f=c;a=R(c);vH(a)?(d.a=a.a,d.b=R(a)):d.a=a;break;case 98:case 97:case 32:case 27:case 26:d.a=c;break;case 127:d.a=c.a;d.b=R(c);break;case 118:case 119:d.a=c.a;d.c=!0;break;default:throw ua("Unexpected child of destructuring pattern "+r(c)).s;}Li(d.a,"Must set a node");a=d.a;b=d.b;c=d.f;e=d.u;var f=d.g,h=d.c,k=new sab;
  2192. k.u=d.o;k.c=a;k.a=c;k.b=e;k.o=f;k.g=h;k.f=b;return k}function yab(a,b,c){return zab(a,ij(function(){return b}),c)}function zab(a,b,c){Fi(Xw(c),c);var d=Mj();for(c=BA(c).h();c.i();){var e=c.j();Aw(e)||d.W(xab(a,b,e))}return d.fa()}function Aab(a){if($w(a.u))a=Bab(a);else{var b=sB(a.o.f().Ma(),G(a.b.b));a=a.g?MC(a.b,Lz(a.b,(I(),pv)),A([b],ly,ey,1)):b}return a}function Cab(a){var b=Aab(a);if(!b.aa()&&a.f){var c=a.f.f;c||(c=qy(a.b,(I(),ew)));return Yy(a.b,A([b.cg(),c],ly,ey,1))}return b}
  2193. function Bab(a){var b=a.o.f();if(a.g)return qy(a.b,(I(),Tv));if(!b||b.aa())return qy(a.b,(I(),ew));switch(a.a.c.a){case 95:return(b=Sy(b,a.a.l()))?b:qy(a.b,(I(),ew));case 122:return b?sB(b.Ma(),a.b.v):qy(a.b,(I(),ew));default:throw pb("Unexpected key "+r(a.a)).s;}}function D_(){}l(D_,n);function Dab(a){var b=new D_;b.a=a;return b}
  2194. function Eab(a,b){var c=Uy(b);return c?uy(c)?(E_(a.a,(F_(),H_),A(["@extends",G_(a.a)],B,y,1)),!1):!c.aa()||Gab(c)||gy(b)?!0:(E_(a.a,(F_(),H_),A(["@extends",a.a.c],B,y,1)),!1):(E_(a.a,(F_(),Fab),A([G_(a.a),b.toString()],B,y,1)),!1)}D_.prototype.Ca=function(a){return this.ca(a)};D_.prototype.cb=function(){return hd(this)};D_.prototype.ca=function(a){return Eab(this,a)};function I_(){}l(I_,RT);function Hab(a){var b=new I_;b.a=a;return b}
  2195. I_.prototype.H=function(a,b){a&&Y(this.a,a,this);b&&Y(this.a,b,this)};I_.prototype.ra=function(a){G(a);E(tC(a));Y(this.a,a,this)};
  2196. I_.prototype.J=function(a,b,c){switch(b.c.a){case 32:if(!c)break;if(PI(c))a=(a=nG(b))?a:nG(c),c=b.f;else if(qJ(c)||rJ(c))a=nG(c),c=c.f;else if(kH(c)&&iG(b,c))a=nG(c),c=b.f;else break;if(!a)break;c=Iab(c);if(!c||c.jg())break;Jab(c,a,b.l());break;case 95:case 90:case 91:case 102:a=nG(b);if(!a)break;if(pH(c)){c=Fy(c.m().f);if(!c)break;c=TG(b)?c:IA(c)}else c=Iab(c.f);if(!c)break;b=b.l();Dz(c,b)&&c.yh(b,a);break;case 26:if(kH(c)&&iG(b,c))c=nG(c);else if(yH(c))c=nG(b);else break;if(c&&mE(c)&&(a=Iab(b.a.f))){var d=
  2197. O(b).l();Dz(a,d)&&a.yh(d,c);(a=Iab(a.Sa(d)))&&Jab(a,c,EC(b))}}};function Iab(a){return a?zy(a.Fc()):null}function Jab(a,b,c){if(a.xa()||a.Ja())Kab(a,c)&&(a.Jf(b),Tz(Fy(a)).Jf(b));else if(a.fd()){var d=a.fd().b;Kab(d,c)&&(a.Jf(b),d.Jf(b))}else!a.Eb()&&iy(a)&&a.Jf(b)}function Kab(a,b){return tz(a)&&li(a.Ba(),b)}function Lab(){this.a=0}l(Lab,n);function Mab(){}l(Mab,n);function Nab(a){var b=new Mab;b.a=a;return b}
  2198. function Oab(a){a=og(a.S(),Oga(u(function(b){return b.a?b.a:b.b}),gba()));return Nab(a)}function Pab(a,b){var c=Fy(b.f);return c&&c.za&&(c=a.a.get(c.za))?c:DC(b)?a.a.get(EC(b)):null}function Qab(){}l(Qab,Ga);function Rab(){}l(Rab,RT);Rab.prototype.J=function(a,b,c){var d=hX(b);!q(this.a.ka(),d)&&L(b)&&!P(c)&&(b=b.l(),a=ET(a).T(b))&&(b=hX(a.N()),q(b,this.a.ka())&&this.b.add(a))};function J_(){}l(J_,n);function Sab(a,b){var c=new J_;G(a);G(b);c.b=a;c.a=b;return c}
  2199. J_.prototype.toString=function(){return CN("IN: %s OUT: %s",[this.b,this.a])};J_.prototype.I=function(a){return a instanceof J_?cd(a.b,this.b)&&cd(a.a,this.a):!1};J_.prototype.P=function(){return Fg([this.b,this.a])};function K_(){}l(K_,n);function Uab(a,b,c){a.c=b;a.K=c;(b=a.c.v(a.o()))?a.g=um(b):a.g=pm()}
  2200. function L_(a){a.Ha();for(var b=0;!a.g.D();){if(1E6<b)throw a=new Qab,sa(a,"Analysis did not terminate after 1000000 iterations"),a.a(Error(a)),a.s;var c=a.g.h().j();a.g.sa(c);a.pa(c);if(a.Da(c))for(c=(a.o()?bWa(c):aWa(c)).h();c.i();){var d=c.j();q(d,a.c.a)||a.g.add(d)}b++}a.o()&&a.pa(a.c.a)}K_.prototype.Ha=function(){this.g.ia();for(var a=this.c.Bd().h();a.i();){var b=a.j();b.nc(Sab(this.v(),this.v()));q(b,this.c.a)||this.g.add(b)}};
  2201. K_.prototype.Da=function(a){var b=a.sb();if(this.o()){var c=b.a;b.a=this.U(a.a(),b.b);return!cd(c,b.a)}c=b.b;b.b=this.U(a.a(),b.a);return!cd(c,b.b)};
  2202. K_.prototype.pa=function(a){var b=a.sb();if(this.o())if(q(this.c.b,a))a=this.A(),G(a),b.b=a;else{var c=aWa(a);if(1==c.w())a=c.G(0).sb().a,G(a),b.b=a;else if(1<c.w()){a=Kd(c.w());for(c=c.h();c.i();){var d=c.j().sb();a.add(d.a)}a=this.K.f(a);G(a);b.b=a}}else if(c=bWa(a),1==c.w())a=c.G(0),q(a,this.c.a)?(a=this.A(),G(a),b.a=a):(a=a.sb().b,G(a),b.a=a);else if(1<c.w()){a=Kd(c.w());for(c=c.h();c.i();)d=c.j().sb(),a.add(d.b);a=this.K.f(a);G(a);b.a=a}};
  2203. function Vab(a,b,c,d){D(yL(a));var e=new Rab;e.a=a;e.b=b;var f=bf();FY(f,w(),c,d,a);wT(mT(c,e,d),a);for(a=f.values().h();a.i();)d=a.j(),(oH(kL(d))||MX(c).Cd(d.va()))&&b.add(d)}function M_(){}l(M_,n);function Wab(a,b){var c=new M_;G(a);G(b);c.b=a;c.a=b;return c}M_.prototype.toString=function(){return CN("IN: %s OUT: %s",[this.b,this.a])};M_.prototype.I=function(a){return a instanceof M_?cd(a.b,this.b)&&cd(a.a,this.a):!1};M_.prototype.P=function(){return Fg([this.b,this.a])};function N_(){}l(N_,K_);
  2204. N_.prototype.Ha=function(){this.g.ia();for(var a=this.c.Bd().h();a.i();){for(var b=a.j(),c=ZVa(this.c,b.a()).w(),d=w(),e=0;e<c;e++)d.add(this.v());b.nc(Wab(this.v(),d));q(b,this.c.a)||this.g.add(b)}};N_.prototype.o=function(){return!0};
  2205. N_.prototype.Da=function(a){var b=a.sb(),c=b.a;a=a.a();var d=Xab(this,a,b.b),e=null,f=null,h=null,k=ZVa(this.c,a),m=Kd(k.w());for(k=k.h();k.i();){var p=k.j().mf(),t=d;switch(p.a){case 0:if(AH(a)||BH(a)){p=a.a;var v=p.b;t=O_(this,v,d);if(PI(p)){p=p.a;var C=(P_(),Q_)}else C=(P_(),R_);Yw(p)&&(p=p.a);if(AH(a)){var J=S_(this,(I(),$v));(v=sB(T_(this,v).Fc().Ma(),pC(this.a)))&&!v.aa()&&(v=J.Gc(v),uy(v)||(J=v));L(p)?t=U_(this,t,p,J):Xw(p)&&(t=V_(this,p,t,J,C))}else J=T_(this,v).Fc(),v=G(this.a.b),J=sB(J.Ma(),
  2206. v),Xw(p)?t=V_(this,p,t,J,C):(t=O_(this,p,t),t=W_(this,t,p,J,C));break}case 1:e||(e=NS(a),!e&&mH(a)&&(e=a,f||(f=O_(this,e.a,d)))),e&&(iH(e)||TH(e)?(h||(h=(iH(e),X_(this,e,d))),t=this.u.a(e,Yab(h,e.c,q(p,(LS(),GS))),av(cd(p,GS)))):(f||(f=O_(this,e,d)),t=this.u.a(e,f,av(cd(p,(LS(),GS))))))}m.add(t)}b.a=m;E(c.w()==b.a.w());for(a=0;a<c.w();a++)if(!cd(c.G(a),b.a.G(a)))return!0;return!1};
  2207. N_.prototype.pa=function(a){var b=a.sb(),c=aWa(a),d=Kd(c.w());for(c=c.h();c.i();){var e=c.j();e=e.sb().a.G(bWa(e).indexOf(a));d.add(e)}q(this.c.b,a)?(a=this.A(),G(a),b.b=a):d.D()||(a=this.K.f(d),G(a),b.b=a)};function Zab(){}l(Zab,n);function $ab(a,b,c,d){var e=new Zab;e.c=lf();e.f=kf();e.o=a;e.a=b;e.g=c;e.b=d;e.u=qy(a,(I(),ew));return e}
  2208. function abb(a){if(a.a.Ma().a.D())return Vj();var b=a.b.a;if(UI(b)){var c=b.a;b=a.a.vb();c=WH(c)?a.g:Y_(a,c);c=c.Ia();Z_(a,b,c)}if(fH(a.b)){b=AA(a.a).h();if(!b.i())return il(a.c);Z_(a,b.j().f,qy(a.o,(I(),Lv)));b=sp(AA(a.a));c=EY(a.b);bbb(a,b.h(),c.h())}else lG(a.b)&&(b=AA(a.a),c=EY(a.b),bbb(a,b.h(),c.h()));return il(a.c)}
  2209. function Z_(a,b,c){if(gy(b))cbb(a,b.bf(),c);else if(jy(b))for(b=Zy(b.nb()).h();b.i();){var d=b.j();Z_(a,d,c)}else if(jy(c))for(c=Zy(c.nb()).h();c.i();)d=c.j(),Z_(a,b,d);else if(iy(b))d=b.ha(),(c=c.Ia().Wi().ha())&&vy(c,b)&&(Z_(a,d.vb(),c.vb()),Z_(a,HA(d),HA(c)),b=AA(d),c=AA(c),bbb(a,b.h(),c.h()));else if(hy(b)&&!b.Rd()){if(a.f.add(b)){d=zy(b);if((c=zy(c.Ia()))&&!c.aa()&&!uy(c))for(var e=Vz(d.lc()).h();e.i();){var f=e.j();Dz(d,f)&&ty(c,f)&&Z_(a,d.Sa(f),c.Sa(f))}a.f.sa(b)}}else if(yy(b)&&(e=b.Xb(),
  2210. d=e.Td().w(),0!=d&&(f=e.c,e=c.Ia().Wi(),vy(e,f))))for(b=b.Ma(),c=b.a,e=e.Ma(),d=c.w()-d;d<c.w();d++)f=c.G(d),Z_(a,sB(b,f),sB(e,f))}function bbb(a,b,c){for(;b.i()&&c.i();){var d=b.j();Z_(a,Y_(a,d),Y_(a,c.j()));if(EA(d))for(;c.i();)Z_(a,Y_(a,d),Y_(a,c.j()))}}function cbb(a,b,c){c.aa()||a.c.tb(b,c,new Xd(function(d,e){return d.uc(e)}))}function Y_(a,b){return(b=b.f)?b:a.u}function dbb(){}l(dbb,n);function ebb(a,b){var c=new dbb;c.b=a;c.a=b;return c}g=dbb.prototype;g.va=function(){return this.b};
  2211. g.qa=function(){return this.a};g.Vb=function(){return!0};g.hb=function(){return null};g.Yb=function(){return null};g.ya=function(){throw wb().s;};g.ba=!0;function fbb(){}l(fbb,n);function gbb(a,b){var c=new fbb;c.a=G(a);c.b=b;return c}function hbb(){}var ibb;l(hbb,n);function jbb(a,b,c,d){$_();var e=new hbb;e.f=a;e.c=b;e.b=c;e.a=d;return e}
  2212. function kbb(a,b){var c=a.b,d=c.hf(),e=b.hf();for(a=a.c;e>d;)b=b.m(),e--;for(;d>e;)a=Lua(a,c),c=c.m(),d--;for(;!q(c,b)&&c&&b;)a=Lua(a,c),c=c.m(),b=b.m();return a}function lbb(a,b){$_();return jbb(a,dC(),b,b)}g=hbb.prototype;g.Ig=function(a,b){var c=mbb(this,a,!0),d=eC(c.b,a);a=d&&q(b,d.a)?c:gbb(c.a,Jua(c.b,a,ebb(a,b)));c=null==a.b.a?Lua(this.c,c.a):Jua(this.c,c.a,a);return q(c,this.c)?this:jbb(this.f,c,this.b,this.a)};
  2213. g.Hg=function(a,b,c,d,e){if(nL(this.a))return this;var f=this.b.T(b);f||this.a.c||(f=this.b.T(nbb(b)),f=cS(f?f.ya():OR(this.b),b,a,c,this.f.f(lT(a)),!e));a=f?f.qa():null;if(f)if(f.Vb())a&&!vy(d,a)&&(a=f.qa().uc(d),f.f=a);else if(!a||!vy(d,a)||vy(a,d)||d.I(a))return this;return this.Ig(b,d)};g.Xc=function(){return this.a.Xc()};g.ka=function(){return this.b.ka()};g.Ge=function(){throw wb().s;};
  2214. g.ob=function(a){var b=this.b.T(a),c=b?obb(this,b.ya(),!1):mbb(this,a,!1);c?a=(b=eC(c.b,a))?b:c.a.ob(a):a=b;return a};function nbb(a){var b=mi(a,46);return 0>b?a:ne(a,0,b)}function mbb(a,b,c){b=(b=(b=a.b.T(nbb(b)))?b.ya():null)?b:a.a;return obb(a,b,c)}function obb(a,b,c){a=eC(a.c,b);!a&&c&&(c=new fbb,c.a=G(b),c.b=($_(),ibb),a=c);return a}g.Mb=function(){throw wb().s;};g.sn=function(a){return q(a,this.b)?this:jbb(this.f,kbb(this,a),a,this.a)};g.Qd=function(){return this.b};
  2215. g.I=function(a){return a instanceof hbb?q(this.a,a.a)&&Rua(this.c,a.c,new Yga(function(b,c){return pbb(b,c)})):!1};function pbb(a,b){return q(a,b)?!0:Rua(a.b,b.b,new Yga(function(c,d){return q(c,d)||!Hra(c.qa(),d.qa())}))}g.P=function(){throw wb().s;};
  2216. function qbb(a,b,c){$_();return Oua(kbb(a,c),kbb(b,c),new ZB(function(d,e,f){d=e?e.b:ibb;var h=f?f.b:ibb,k=a.a.c?null:e?e.a:f.a,m=b.a.c?null:f?f.a:e.a,p=k?k:m;p=p?p:e?e.a:f.a;return gbb(p,Oua(d,h,new ZB(function(t,v,C){t=v?v.va():C.va();if(!C||!C.qa())return(C=(C=m?m.ob(t):null)?C.qa():null)&&!q(C,v.qa())?(C=v.qa().uc(C),q(C,v.qa())?v:ebb(t,C)):v;if(!v||!v.qa())return(v=(v=k?k.ob(t):null)?v.qa():null)&&!q(v,C.qa())?(v=C.qa().uc(v),q(v,C.qa())?C:ebb(t,v)):C;if(q(v.qa(),C.qa()))return v;C=v.qa().uc(C.qa());
  2217. return q(C,v.qa())?v:ebb(t,C)})))}))}g.Ac=function(a){return Rz(this,a)};g.$d=function(a){return by(this,a)};function $_(){$_=function(){};ibb=dC()}g.Fh=!0;function a0(){}l(a0,n);a0.prototype.b=function(a){D(!a.D());var b=a.w();if(1==b)return a.G(0);if(2==b)return this.a(a.G(0),a.G(1));if(16>=b){var c=b>>>1|0;4<b&&(c&=-2);return this.a(this.b(a.Gb(0,c)),this.b(a.Gb(c,b)))}a=a.h();for(b=a.j();a.i();)b=this.a(b,a.j());return b};a0.prototype.ud=!0;function rbb(){}l(rbb,a0);
  2218. rbb.prototype.a=function(a,b){if(!q(a.c,b.c)||!q(a.a,b.a)){$_();if(a.a.c)var c=b.b;else if(b.a.c)c=a.b;else{c=a.b;for(var d=b.b;null!=c&&null!=d&&!q(c,d);){var e=c.hf(),f=d.hf();e>=f&&(c=c.m());e<=f&&(d=d.m())}E(null!=c&&q(c,d))}a=jbb(this.c,qbb(a,b,c),c,a.a.c?b.a:a.a)}return a};rbb.prototype.f=function(a){return a0.prototype.b.call(this,a)};function sbb(){this.a=0}var Q_,R_;l(sbb,z);function tbb(a,b){var c=new sbb;c.b=a;c.a=b;return c}sbb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2219. function P_(){P_=function(){};Q_=tbb("DECLARATION",0);R_=tbb("ASSIGN",1)}function ubb(){}l(ubb,n);function vbb(a,b,c,d,e){var f=new ubb;f.o=a;f.c=null;f.f=b;f.b=c;f.g=d;f.a=e;return f}function b0(a){a.c||(a.c=q(a.g,a.a)?a.a:a.o.K.f(Sl(a.g,a.a)));return a.c}function Yab(a,b,c){return q(b,(H(),gt))&&c||q(b,(H(),ft))&&!c?a.a:b0(a)}function wbb(a){this.a=a}l(wbb,n);function xbb(){}l(xbb,n);function ybb(a,b){var c=new xbb;c.b=a;c.a=b;return c}function zbb(){}
  2220. var Abb,Bbb,Cbb,Dbb,Ebb,Fbb,Gbb,Hbb,Ibb,Jbb,Kbb,Lbb,Mbb,Nbb;l(zbb,n);function c0(a){return Lz(a.a,(I(),ew))}function Obb(a){return qy(a.a,(I(),Tv))}function d0(a,b,c,d){X(a.c,V(b,c,d))}function Pbb(a,b,c){return Gj().$k(a).L(b,c).Jb()}function Qbb(a,b){Ii(P(a),"Expected a function node, found %s",a);return RC(R(a),b).l()}function e0(a){Ii(eH(a),"Expected a call node, found %s",a);return a.a.l()}function f0(a,b){Ii(eH(a),"Expected a call node, found %s",a);return RC(a,b+1)}
  2221. function Rbb(a){Ii(eH(a),"Expected a call node, found %s",a);return GA(a)-1}function g0(a){Ii(eH(a),"Expected a call node, found %s",a);for(var b=am(),c=0;c<Rbb(a);c++)b.W(f0(a,c));return b.fa()}
  2222. function h0(a,b,c){if(Dw(b)){c=b.l();var d=KB(a.a,a.b,c);if(!d){var e=a.b.ob(c);d=(d=e?e.qa():null)?d.xa()||d.Ja()?uz(Tz(d.ha())):d.Wb()?Gy(d):d:(d=e?e.Yb():null)&&jE(d)?PC(a.a,QD(d,-2147483648),a.b):null}d?a=d:(d0(a,b,Abb,A([c],B,y,1)),a=c0(a));return a}if(L(b))return d=b.l(),(c=c.b.get(d))?a=c:(d0(a,b,Cbb,A([d],B,y,1)),a=c0(a)),a;d=e0(b);switch(uP(Zp(d)).g.a){case 0:return Sbb(a,b,c);case 1:return Tbb(a,b,c);default:throw pb("Could not evaluate the type transformation expression").s;}}
  2223. function Tbb(a,b,c){var d=e0(b);switch(uP(Zp(d)).a){case 1:return b=g0(b),Ubb(a,b.G(0),c)?h0(a,b.G(1),c):h0(a,b.G(2),c);case 9:d=g0(b);var e=d.G(0),f=d.G(1);d=Qbb(f,0);if(c.b.X(d))d0(a,b,Ebb,A([d],B,y,1)),a=c0(a);else if(b=mX(f),e=h0(a,e,c),jy(e)){var h=Vl(dz(e));e=h.w();e=za([e],ly,ey,ly.a);f=0;for(h=h.h();h.i();){var k=h.j();k=ybb(Pbb(c.b,d,k),c.a);Ad(e,f,h0(a,b,k));f++}a=Yy(a.a,e)}else c=ybb(Pbb(c.b,d,e),c.a),a=h0(a,b,c);return a;case 10:return Vbb(a,b,c);case 21:return c=f0(b,0).l(),(d=(d=a.b.ob(c))?
  2224. d.qa():null)?a=d:(d0(a,b,Lbb,A([c],B,y,1)),a=c0(a)),a;case 8:return c=h0(a,f0(b,0),c),c.aa()||!c.xa()?(d0(a,b,Mbb,A([c.tc()],B,y,1)),a=c0(a)):a=Tz(c.ha()),a;case 12:return a=h0(a,f0(b,1),c),r(f0(b,0).l()),r(a),a;case 13:return c=h0(a,f0(b,1),c),(d=zy(c))?(c=d.Sa(f0(b,0).l()),a=Pn(c,c0(a))):(d0(a,b,Nbb,A([c.toString()],B,y,1)),a=c0(a)),a;default:throw pb("Invalid type transformation operation").s;}}
  2225. function Sbb(a,b,c){var d=e0(b);switch(uP(Zp(d)).a){case 19:d=g0(b);var e=h0(a,d.G(0),c);if(xy(e)){b=za([d.w()-1],ly,ey,ly.a);for(var f=0;f<b.length;f++)Ad(b,f,h0(a,d.G(f+1),c));a=MC(a.a,zy(e),b)}else d0(a,b,Bbb,A([e.toString()],B,y,1)),a=c0(a);return a;case 22:b=g0(b);d=b.w();e=za([d],ly,ey,ly.a);for(f=0;f<d;f++)Ad(e,f,h0(a,b.G(f),c));return Yy(a.a,e);case 11:return Lz(a.a,(I(),hw));case 0:return qy(a.a,(I(),gw));case 23:return c0(a);case 14:return d=g0(b),c=h0(a,d.G(0),c),yy(c)?a=uz(zy(c)):(d0(a,
  2226. b,Fbb,A(["rawTypeOf",c.toString()],B,y,1)),a=c0(a)),a;case 18:return d=g0(b),c=h0(a,d.G(0),c),yy(c)?(d=Fb(d.G(1).ab()),c=zy(c).Td(),d>=c.w()?(d0(a,b,Gbb,A([""+c.w(),""+d],B,y,1)),a=c0(a)):a=c.G(d)):(d0(a,b,Fbb,A(["templateTypeOf",c.toString()],B,y,1)),a=c0(a)),a;case 17:a:{d=Rbb(b);e=am();for(f=0;f<d;f++){var h=a;var k=f0(b,f),m=c;if(SH(k))b:{for(var p=Uf(),t=BA(k).h();t.i();){var v=t.j();if(rH(v)){var C=v;Ii(rH(C),"Expected a computed property node, found %s",C);C=C.a.l();if(!m.a.X(C)){d0(h,k,Hbb,
  2227. A([C],B,y,1));h=c0(h);break b}Ii(rH(v),"Expected a computed property node, found %s",v);v=R(v);C=m.a.get(C);v=h0(h,v,m);p.C(C,v)}else C=v.l(),v=h0(h,v.a,m),p.C(C,v)}h=LC(h.a,p)}else h=h0(h,k,m);k=zy(h);if(!k||k.aa()){d0(a,b,Ibb,A([h.toString()],B,y,1));a=c0(a);break a}h=a.a;if(m=k.Cc())h=m;else if(p=k.Hc(),p.D())h=qy(h,(I(),Tv));else{m=Gj();for(p=p.h();p.i();)t=p.j(),m.L(t,k.Sa(t));h=LC(h,m.Jb())}h.I(Obb(a))||e.W(zy(h))}a=Wbb(a,e.fa())}return a;case 20:return c=mD(f0(b,0),"<TypeTransformation.java>"),
  2228. PC(a.a,c,a.b);default:throw pb("Invalid type expression").s;}}function Xbb(a,b,c){for(var d=g0(b),e=d.w(),f=za([e],ly,ey,ly.a),h=0;h<e;h++)Ad(f,h,h0(a,d.G(h),c));a=e0(b);a=uP(Zp(a));b=f[0];switch(a.a){case 2:return b.I(f[1]);case 15:return vy(b,f[1]);case 3:return b.xa();case 6:return yy(b);case 5:return hy(b);case 7:return b.aa();default:throw pb("Invalid type predicate in the type transformation").s;}}
  2229. function Ubb(a,b,c){if(iH(b)||TH(b)||PH(b)){var d=Ubb(a,b.a,c);if(PH(b))b=!d;else if(iH(b))b=d&&Ubb(a,O(b),c);else if(TH(b))b=d||Ubb(a,O(b),c);else throw pb("Invalid boolean predicate in the type transformation").s;return b}d=e0(b);switch(uP(Zp(d)).g.a){case 2:a:{var e=g0(b),f=e.w();d=za([f],B,y,B.a);for(var h=0;h<f;h++){var k=h;var m=a;var p=e.G(h),t=c;L(p)?t.a.X(p.l())?m=t.a.get(p.l()):(d0(m,p,Dbb,A([p.l()],B,y,1)),m=""):m=p.l();d[k]=m}for(c=0;c<d.length;c++)if(te(d[c])){b=!1;break a}b=e0(b);switch(uP(Zp(b)).a){case 16:b=
  2230. q(d[0],d[1]);break a;default:throw pb("Invalid string predicate in the type transformation").s;}}return b;case 3:return Xbb(a,b,c);case 4:a:switch(a=e0(b),uP(Zp(a)).a){case 4:b=c.b.X(f0(b,0).l());break a;default:throw pb("Invalid typevar predicate in the type transformation").s;}return b;default:throw pb("Invalid boolean predicate in the type transformation").s;}}function Ybb(a,b,c,d){b.X(c)&&hy(d)&&hy(b.get(c))?b.C(c,Wbb(a,Sl(b.get(c),d))):b.C(c,d)}
  2231. function Wbb(a,b){var c=Uf();for(b=b.h();b.i();)for(var d=b.j(),e=d.Hc().h();e.i();){var f=e.j(),h=d.Sa(f);Ybb(a,c,f,h)}c=il(c);return LC(a.a,c)}
  2232. function Vbb(a,b,c){var d=R(b),e=RC(b,2),f=h0(a,d,c);if(f.I(Obb(a)))return Obb(a);if(!hy(f))return d0(a,d,Jbb,A([f.toString()],B,y,1)),c0(a);d=zy(f);f=Qbb(e,0);var h=Qbb(e,1);if(c.a.X(f))return d0(a,b,Ebb,A([f],B,y,1)),c0(a);if(c.b.X(h))return d0(a,b,Ebb,A([h],B,y,1)),c0(a);e=mX(e);for(var k=Uf(),m=d.Hc().h();m.i();){var p=m.j(),t=d.Sa(p);p=ybb(Pbb(c.b,h,t),Pbb(c.a,f,p));p=h0(a,e,p);if(p.aa())return c0(a);if(!uy(p)&&!p.I(Obb(a))){if(!hy(p))return d0(a,b,Kbb,A([p.toString()],B,y,1)),c0(a);p=zy(p);
  2233. for(t=p.Hc().h();t.i();){var v=t.j(),C=p.Sa(v);Ybb(a,k,v,C)}}}b=il(k);return LC(a.a,b)}
  2234. function Zbb(){Zbb=function(){};Cbb=AJ("TYPEVAR_UNDEFINED","Reference to an unknown type variable {0}");Dbb=AJ("UNKNOWN_STRVAR","Reference to an unknown string variable {0}");Abb=AJ("TYPENAME_UNDEFINED","Reference to an unknown type name {0}");Bbb=AJ("BASETYPE_INVALID","The type {0} cannot be templatized");Fbb=AJ("TEMPTYPE_INVALID","Expected templatized type in {0} found {1}");Gbb=AJ("INDEX_OUTOFBOUNDS","Index out of bounds in templateTypeOf: expected a number less than {0}, found {1}");Ebb=AJ("DUPLICATE_VARIABLE",
  2235. "The variable {0} is already defined");Hbb=AJ("UNKNOWN_NAMEVAR","Reference to an unknown name variable {0}");Jbb=AJ("RECTYPE_INVALID","The first parameter of a maprecord must be a record type, found {0}");Kbb=AJ("MAPRECORD_BODY_INVALID","The body of a maprecord function must evaluate to a record type or a no type, found {0}");Lbb=AJ("VAR_UNDEFINED","Variable {0} is undefined in the scope");Mbb=AJ("INVALID_CTOR","Expected a constructor type, found {0}");Ibb=AJ("RECPARAM_INVALID","Expected a record type, found {0}");
  2236. Nbb=AJ("PROPTYPE_INVALID","Expected object type, found {0}")}function $bb(){}l($bb,n);function acb(a,b){return a.a.X(b)?a.a.get(b):b}$bb.prototype.ba=!0;function i0(){}var bcb,ccb,dcb,ecb,fcb,gcb,hcb,icb,jcb,kcb,lcb,mcb,ncb,ocb,pcb,qcb,rcb,scb,tcb,ucb,vcb;l(i0,RT);
  2237. i0.prototype.H=function(a,b){tT(this.a,this,a,b);for(a=this.g.h();a.i();){b=a.j();var c=b.m(),d=R(b).l(),e=S(RC(b,2));switch(c.c.a){case 32:vF(c,(bF(),YF),d);qD(b,e);Z(this.a,c);break;case 50:E(q(b,O(c)));vF(c.a,(bF(),YF),d);qD(b,e);Z(this.a,c);break;default:throw pb("goog.define outside of NAME, or ASSIGN").s;}}};i0.prototype.ra=function(){j0(this.a,this)};
  2238. i0.prototype.J=function(a,b,c){switch(b.c.a){case 28:var d=b.a;if(N(d)){var e=d.a;if(L(e)&&li("goog",e.l()))switch(e=e.b.l(),e){case "define":var f=b.a,h=f.b;wcb(this,a,c,f,h)&&(this.c&&wZ(this.c,f,xZ(f)),this.c&&wZ(this.c,h,xZ(h)),this.g.add(b));break;case "inherits":mG(b,3)&&(b=R(b),c=b.b,AG(b)&&AG(c)&&this.b.add(EC(b)));break;case "exportSymbol":b=d.b;Dw(b)&&(b=b.l(),c=mi(b,46),-1==c?this.f.add(b):this.f.add(ne(b,0,c)));break;case "addDependency":if(xcb(this,a,b,e,ccb)){if(f=MX(this.a).Gg(b))for(f=
  2239. f.h();f.i();)a=f.j(),this.a.Kb.add(a);f=eF(0);pF(c,b,f);Z(this.a,f)}break;case "setCssNameMapping":a:{a=b.a;d=a.b;e=null;if(!d)e=mcb;else if(!SH(d))e=pcb;else if(d.b){var k=d.b;Dw(k)?k.b&&(e=ocb):e=qcb}e?(X(this.a,V(a,e,A([EC(a)],B,y,1))),a=!1):a=!0;if(a){a=bf();for(e=d.a;e;e=e.b){k=e.a;if(!Lx(e)||!k||!Dw(k)){X(this.a,V(b,fcb,A([],B,y,1)));break a}a.C(e.l(),k.l())}e="BY_PART";d.b&&(e=d.b.l());try{d=e,EYa(),AYa||(h=A([BYa,CYa],tU,FYa,1),AYa=cda(h)),f=dda(d,AYa)}catch(t){t=va(t);if(mb(t)){X(this.a,
  2240. V(b,gcb,A([e],B,y,1)));break a}throw t.s;}if(q(f,(EYa(),CYa))){h=w();for(d=a.oa().h();d.i();)e=d.j(),ji(e,"-")&&h.add(e);h.D()||X(this.a,V(b,hcb,A([ze(h)],B,y,1)))}else if(q(f,(EYa(),BYa))){h=w();for(d=a.V().h();d.i();)if(e=d.j(),!(10<e.M().length))for(k=a.V().h();k.i();){var m=k.j(),p=a.get(r(m.M())+"-"+r(e.M()));null==p||li(p,r(m.O())+"-"+r(e.O()))||h.add("map("+r(m.M())+"-"+r(e.M())+") != map("+r(m.M())+")-map("+r(e.M())+")")}h.D()||X(this.a,V(b,hcb,A([ze(h)],B,y,1)))}b=new $bb;b.a=a;b.b=f;this.a.a.pi=
  2241. b;Z(this.a,c);S(c)}}break;case "forwardDeclare":if(xcb(this,a,b,e,bcb)&&yH(b.m())){c=MX(this.a);f=null;try{f=Wj(c.Gg(b))}catch(t$5){if(t$5=va(t$5),sb(t$5)||t$5 instanceof Nd||mb(t$5))X(this.a,V(b,lcb,A(["A single type could not identified for the goog.forwardDeclare statement"],B,y,1)));else throw t$5.s;}null!=f&&this.a.Kb.add(f)}}else if(li(O(d).l(),"base")&&(c=b.a,AG(c.a)))if(c=EC(c.a),(a=(f=hX(b))?SW(f):null)&&AG(a))if(ycb(b))c=gX(b),c=tY(c),k0(this,b,c,"base method is not allowed in ES6 class. Use super instead.");
  2242. else if(f=EC(a),ji(f,".prototype."))this.b.B(c)&&(yG(hF(a),c)?(h=b.a,(d=h.b)&&SC(d)?(d=d.b)&&Dw(d)?(e=d.l(),k=".prototype."+r(e),null!=f&&ki(f,k)?(pF(b,h,NX(this.a,r(EC(hF(a)))+".superClass_."+r(e)+".call",h,r(f)+".base")),oF(b,d),Z(this.a,b)):k0(this,b,c,"Enclosing method does not match "+r(e))):k0(this,b,c,"Second argument must name a method."):k0(this,b,c,"First argument must be 'this'.")):k0(this,b,c,"Must be used within "+r(c)+" methods"));else if(q(f,c)){a=a.m();for(h=(kH(a)?a.m():a).b;h&&(Aw(h)||
  2243. nX(h));)h=h.b;a=null;h&&oX(h)&&(h=h.a,yG(h.a,"goog.inherits")&&DC(O(h))&&(a=O(h)));a&&(h=b.a,(d=h.b)&&SC(d)?(d=d.b)&&Dw(d)&&li(d.l(),"constructor")?(pF(b,h,NX(this.a,r(EC(a))+".call",h,r(f)+".base")),oF(b,d),Z(this.a,b)):k0(this,b,c,"Second argument must be 'constructor'."):k0(this,b,c,"First argument must be 'this'."))}else this.b.B(c)&&k0(this,b,c,"Must be used within "+r(c)+" methods");else this.b.B(c)?k0(this,b,c,"Could not find enclosing method."):ycb(b)&&(f=gX(b),(L(f.a)&&li(f.a.l(),c)||L(R(f))&&
  2244. li(R(f).l(),c))&&k0(this,b,f.a.l(),"base method is not allowed in ES6 class. Use super instead."))}break;case 50:case 32:if(L(b)&&li(b.l(),"CLOSURE_DEFINES")&&PI(b.m())&&gF(b)&&SH(b.a)){c=bf();c.Ud(this.a.je);for(b=BA(b.a).h();b.i();){f=b.j();if(a=Lx(f))a:switch(a=f.a,l0(),a.c.a){case 34:case 33:case 38:case 37:a=!0;break a;case 22:a=RH(a.a);break a;default:a=!1}a?c.C(f.l(),NA(f.a)):X(this.a,V(f,ecb,A([],B,y,1)))}b=il(c);this.a.je=b}}};
  2245. function xcb(a,b,c,d,e){return a.a.a.ta?!0:JT(b)||KT(b)?yH(c.m())||KT(b)||"goog.define"===d?!0:(X(a.a,V(c,e,A(["goog."+r(d)],B,y,1))),!1):(X(a.a,V(c,(dZ(),gZ),A([],B,y,1))),!1)}function ycb(a){for(;a;a=a.m())if(pH(a))return!0;return!1}function k0(a,b,c,d){X(a.a,V(b,dcb,A([c,d],B,y,1)))}
  2246. function wcb(a,b,c,d,e){if(!a.a.a.ta&&!JT(b)&&!KT(b))return X(a.a,V(d.m(),(dZ(),gZ),A([],B,y,1))),!1;if(kH(c)&&yH(c.m()))c=c.m();else if(L(c)&&PI(c.m()))c=c.m();else return X(a.a,V(d.m(),icb,A([],B,y,1))),!1;b=e;var f;if(!(f=!zcb(a,d,b))){f=b;var h=(H(),Cs);q(f.c,h)?f=!0:(X(a.a,V(d,ncb,A([EC(d)],B,y,1))),f=!1);f=!f}if(f)return!1;b=b.b;!(f=eG(e))&&(f=zcb(a,d,b))&&(b.b?(X(a.a,V(d,ocb,A([EC(d)],B,y,1))),f=!1):f=!0);if(!f)return!1;d=e.l();if(!F3a(HJ(a.a.a.a),d))return X(a.a,V(e,jcb,A([d],B,y,1))),!1;
  2247. e=nG(yH(c)?c.a:c);return e&&Ay(e,4)?!0:(X(a.a,V(c,kcb,A([],B,y,1))),!1)}function zcb(a,b,c){return c?!0:(X(a.a,V(b,mcb,A([EC(b)],B,y,1))),!1)}
  2248. function l0(){l0=function(){};mcb=U("JSC_NULL_ARGUMENT_ERROR",'method "{0}" called without an argument');pcb=U("JSC_EXPECTED_OBJECTLIT_ERROR",'method "{0}" expected an object literal argument');qcb=U("JSC_EXPECTED_STRING_ERROR",'method "{0}" expected a string argument');ncb=U("JSC_INVALID_ARGUMENT_ERROR",'method "{0}" called with invalid argument');gcb=U("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR","Invalid CSS name map style {0}");ocb=U("JSC_TOO_MANY_ARGUMENTS_ERROR",'method "{0}" called with more than one argument');
  2249. rcb=AJ("JSC_WEAK_NAMESPACE_TYPE","Provided symbol declared with type Object. This is rarely useful. For more information see https://github.com/google/closure-compiler/wiki/A-word-about-the-type-Object");scb=U("JSC_CLASS_NAMESPACE_ERROR","\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'");tcb=U("JSC_FUNCTION_NAMESPACE_ERROR",'"{0}" cannot be both provided and declared as a function');ucb=U("JSC_INVALID_PROVIDE_ERROR",'"{0}" is not a valid {1} qualified name');
  2250. jcb=U("JSC_INVALID_DEFINE_NAME_ERROR",'"{0}" is not a valid JS identifier name');kcb=U("JSC_INVALID_MISSING_DEFINE_ANNOTATION","Missing @define annotation");vcb=AJ("JSC_XMODULE_REQUIRE_ERROR",'namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?');fcb=U("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR","goog.setCssNameMapping only takes an object literal with string values");hcb=AJ("INVALID_CSS_RENAMING_MAP","Invalid entries in css renaming map: {0}");
  2251. dcb=U("JSC_BASE_CLASS_ERROR","incorrect use of {0}.base: {1}");ecb=U("JSC_CLOSURE_DEFINES_ERROR","Invalid CLOSURE_DEFINES definition");icb=U("JSC_DEFINE_CALL_WITHOUT_ASSIGNMENT","The result of a goog.define call must be assigned as an isolated statement.");lcb=U("JSC_INVALID_FORWARD_DECLARE","Malformed goog.forwardDeclare");ccb=U("JSC_CLOSURE_CALL_CANNOT_BE_ALIASED_ERROR","Closure primitive method {0} may not be aliased");bcb=U("JSC_CLOSURE_CALL_CANNOT_BE_ALIASED_ERROR","Closure primitive method {0} may not be aliased outside a module (ES module, CommonJS module, or goog.module)")}
  2252. function Acb(){this.v=this.A=!1}l(Acb,n);function m0(a,b,c,d,e,f){var h=new Acb;h.a=a;h.o=null;h.F=null;h.A=!1;h.b=null;h.u=null;h.g=null;Fi(!c||oX(c)||(f||!e)&&(nX(c)||PI(c)||yH(c)&&DC(c.a)),c);h.c=b;h.f=c;h.K=d;h.v=f;Bcb(h,c,d,e);return h}function Bcb(a,b,c,d){d?(E(!a.o||a.v),Fi(yH(b)||PI(b)&&a.v,b),a.o=b,a.F=c):a.A=!0;Ccb(a,c)}function Dcb(a){return!!a.b&&!a.a.v.B(a.b)}function n0(a,b,c){D(yH(b)||P(b)||PI(b));D(!q(a.o,b)||a.v);a.b&&yH(b)||(a.b=b,Ccb(a,c))}
  2253. function Ccb(a,b){a.u?1<a.a.o.a.length?a.u=D_a(a.a.o,a.u,b):F(q(b,a.u),"Missing module graph"):a.u=b}function Ecb(a,b){a.g=b;q(a.K,a.u)?mF(a.f.m(),a.g,a.f):(b=ti(a.c,46),-1==b?M(OY(a.a.a,a.u),a.g):(b=a.a.b.get(ne(a.c,0,b)),G(b),G(b.g),nF(b.g.m(),a.g,b.g)));Z(a.a.a,a.g)}
  2254. function Fcb(a,b){Fi(SH(b)||nH(b),b);if(-1==mi(a.c,46)){var c=rx(a.c);Mx(c,b);a.a.f&&(b=Li(a.a.f.T(a.c),a.c),Q(c,b.qa()));b=Tw(c);Hx(b,(kx(),JE),!0);MX(a.a.a).Bf(a.c)&&Hx(c,IE,!0);Dcb(a)||Gx(b,c4a());E(Gcb(b));Hcb(a,b);a=b}else c=IG(rS(a.a.c,a.a.f,a.c),a.f),b=cx(yS(a.a.c,c,b)),Hx(b,(kx(),JE),!0),Dcb(a)||Gx(b.a,c4a()),E(Gcb(b)),Hcb(a,b),dG(c.a),a=b;return a}
  2255. function Hcb(a,b){var c,d=(c=a.f.a&&oX(a.f)?O(a.f.a):null)?2+ti(a.c,46):0;c=c?c:a.f;JG(b,c);0!=d&&(cya(b,c.v+d),a=a.c.length-(a.c.lastIndexOf(".")+1),$xa(b,a))}function o0(){}l(o0,n);o0.prototype.ga=function(a,b){if(NH(b)&&tF(b.m(),(kx(),WE))||yY(b)){b=b.a;var c=R(b.a).l(),d=b.b;d&&AY(d)&&(d=this.a,a=BT(a),Icb(d,c,b,a),d.b.C(c,m0(d,c,b,a,!0,!1)));return!1}return!NH(b)};
  2256. o0.prototype.J=function(a,b,c){switch(b.c.a){case 28:var d=b.a;if(N(d)&&(d=d.a,L(d)&&li("goog",d.l())))switch(d.b.l()){case "require":case "requireType":if(Jcb(this.a,a,b)){d=this.a;var e=b.a,f=e.b,h=e.a.b.l();if(Kcb(d,e,f)){var k=f.l(),m=d.b.get(k);if(m&&m.o){var p=m.F;eG(m.o)||(Li(p,b),a=BT(a),q(a,p)||jV(d.o,a,p)||"requireType"===h||X(d.a,V(b,(l0(),vcb),A([k,p.eb(),a.eb()],B,y,1))))}Lcb(d,e);Lcb(d,f);d.u||!m&&q(d.U,vJ)||d.K.add(c)}}break;case "provide":Jcb(this.a,a,b)&&(d=this.a,E(eH(b)),b=b.a,
  2257. e=b.b,Kcb(d,b,e)?F3a(HJ(d.a.a.a),e.l())?f=!0:(X(d.a,V(e,(l0(),ucb),A([e.l(),d.a.a.a.toString()],B,y,1))),f=!1):f=!1,f&&(f=e.l(),Lcb(d,b),Lcb(d,e),d.b.X(f)?(b=d.b.get(f),b.o&&!b.v||Bcb(b,c,BT(a),!0)):(Icb(d,f,c,BT(a)),d.b.C(f,m0(d,f,c,BT(a),!0,!1)))));break;case "forwardDeclare":Jcb(this.a,a,b)&&(a=this.a,(b=MX(a.a).Gg(b))&&1==b.w()&&(c=yH(c)?c:c.m(),a.A.add(c)))}break;case 50:case 32:d=this.a;JT(a)&&(e=null,L(b)&&PI(c)?e=b.l():kH(b)&&yH(c)&&(e=EC(b.a)),null!=e&&(tF(c,(kx(),JE))?(b=e,a=BT(a),d.b.X(b)?
  2258. (n0(d.b.get(b),c,a),Gcb(c)&&d.v.add(c)):(Icb(d,b,c,a),e=m0(d,b,c,a,!0,!0),d.b.C(b,e),n0(e,c,a))):(b=d.b.get(e))&&n0(b,c,BT(a))));break;case 88:c=this.a;JT(a)&&(d=nG(b.a))&&(eG(b)||jE(d))&&DC(b.a)&&(d=EC(b.a),(e=c.b.get(d))?(Hx(b,(kx(),exa),!0),n0(e,b,BT(a))):tF(b,(kx(),exa))&&(e=m0(c,d,b,BT(a),!0,!0),c.b.C(d,e),n0(e,b,BT(a))));break;case 100:JT(a)&&!hT(b)&&(a=b.a.l(),this.a.b.get(a)&&X(this.a.a,V(b,(l0(),scb),A([a],B,y,1))));break;case 69:JT(a)&&qJ(b)&&(a=b.a.l(),this.a.b.get(a)&&X(this.a.a,V(b,(l0(),
  2259. tcb),A([a],B,y,1))))}};o0.prototype.la=!0;function Mcb(){this.g=this.u=!1}l(Mcb,n);function Ncb(a,b,c,d,e){var f=new Mcb;f.b=Uf();f.K=w();f.g=!1;f.A=ef();f.v=ef();D(!e||nL(e));f.a=a;f.F=b;f.o=a.b;f.U=c;f.u=d;f.f=e;f.c=dJ(a);return f}
  2260. Mcb.prototype.H=function(a,b){F(!this.g,"Cannot call rewriteProvidesAndRequires twice per instance");this.g=!0;Ocb(this,a,b);for(a=this.b.values().h();a.i();){var c;b=a.j();if(b.f){if(Dcb(b)&&b.o){if(c=yH(b.b)?nG(b.b.a):nG(b.b))if(c=ZD(c))c=c.a,q(c.c,(H(),zu))&&(c=c.a),Dw(c)&&!c.a&&li(c.l(),"Object")&&X(b.a.a,V(b.b,(l0(),rcb),A([],B,y,1)));b.g=b.b;if(yH(b.b)){var d=fF(b.b);if(kH(d)){var e=d.a;if(L(e)){c=b;var f=d;Fi(kH(f),f);Fi(L(e),e);var h=e.b;oF(f,e);oF(f,h);e=FG(Rw(e,h),c.b);Gx(e,nG(f));Hx(e,
  2261. (kx(),JE),!0);qD(c.b,e);c.g=e;Z(c.a.a,e)}else Hx(b.b,(kx(),JE),!0)}else if(F(DC(d),d),b.A){f=c=b;h=b.a.c;e=zS(b.a.c,A([],lx,eI,1));var k=HP(!0);QP(k,mD(GG(zw((H(),yu)),d),"<ProcessClosurePrimitives.java>"));d=KP(k);e=Qqa(e,d);h.a&&Q(e,hS(h,(I(),ew)));Ecb(c,Fcb(f,e))}}}else Ecb(b,Fcb(b,zS(b.a.c,A([],lx,eI,1))));!b.o||b.v||b.a.u||(Z(b.a.a,b.o),S(b.o))}else b.g=b.b}for(a=this.v.h();a.i();)S(a.j());for(a=this.K.h();a.i();)b=a.j(),Z(this.a,b),S(b);for(a=this.A.h();a.i();)b=a.j(),tX(b,this.a)};
  2262. Mcb.prototype.ra=function(){j0(this.a,this)};function Ocb(a,b,c){if(a.b.Qa()){a.b.C("goog",m0(a,"goog",null,null,!1,!1));var d=a.a,e=new o0;e.a=a;tT(d,e,b,c)}return a.b}function Jcb(a,b,c){return a.a.a.ta?!0:JT(b)&&yH(c.m())}function Kcb(a,b,c){if(c)var d=!0;else X(a.a,V(b,(l0(),mcb),A([EC(b)],B,y,1))),d=!1;d&&(d=(H(),Cs),q(c.c,d)?d=!0:(X(a.a,V(b,(l0(),ncb),A([EC(b)],B,y,1))),d=!1));d&&(c.b?(X(a.a,V(b,(l0(),ocb),A([EC(b)],B,y,1))),d=!1):d=!0);return d}
  2263. function Icb(a,b,c,d){for(var e=mi(b,46);-1!=e;){var f=ne(b,0,e);e=ni(b,46,e+1);a.b.X(f)?Bcb(a.b.get(f),c,d,!1):a.b.C(f,m0(a,f,c,d,!1,!1))}}function Gcb(a){if(!tF(a,(kx(),JE)))return!1;var b=null;yH(a)?b=O(a.a):gx(a)&&(b=a.a.a);if(!b)return!1;nH(b)&&(b=fF(b));return SH(b)&&!b.a}function Lcb(a,b){a.F&&wZ(a.F,b,xZ(b))}function p0(){this.b=!1}l(p0,n);function Pcb(a){var b=new p0;b.b=!1;b.c=a;return b}p0.prototype.a=function(){return this.c};p0.prototype.f=function(){return eG(this.c)};
  2264. p0.prototype.g=function(){return this.b};p0.prototype.o=function(){var a=O(this.c);return gF(a)&&$H(a.a)};function Qcb(){this.g=this.o=!1}l(Qcb,n);function q0(a){var b=new Qcb;b.f=a;b.b=null;b.o=!0;b.g=!1;return b}function r0(a,b){a.a=b;return a}function Rcb(a){var b=a.a.m();L(a.a)?D(P(b)||kA(b)||PI(b)||Gw(b)||Jw(b)&&Gw(b.m())||oH(b)):D(N(a.a)&&(kH(b)||yH(b)));a.c=EC(a.a);return a}function s0(a,b){a.c=b;return a}function t0(a,b){a.u=G(b);return a}function u0(a,b){a.b=b;return a}
  2265. function v0(a,b){a.o=b;return a}
  2266. function w0(a){Li(a.a,"declarationNode not set");Ji(L(a.a)||N(a.a)||FX(a.a)||NH(a.a)||xH(a.a)||a.g&&oX(a.a),"declaration node must be an lvalue or goog.provide call, found %s",a.a);Li(a.c,"variableName not set");F(a.o||!!a.b,"null type but inference not allowed");E(!te(a.c));G(a.u);var b=a.a.m(),c=a.u,d=L(a.a)&&nL(c),e=d&&(gx(b)||P(b))||a.g&&!ji(a.c,".");!q(c,a.f.o)&&nL(c)&&QR(c,a.c)&&!a.g&&(c=a.f.o);var f=a.f.a.c.f(a.f.g);if(XUa(c,a.c)){a.b&&x0(a.f.a,a.a,a.b);b=a.f;var h=c,k=a.c,m=cS(h,k,a.a,a.b,
  2267. f,a.o);h=jL(k,h.ka());b.a.v.B(h)&&(m.v=!0);1==b.a.F.yd(h)&&(m.u=!0)}else m=c.T(a.c),M0a(a.f.a.Za,0,f,a.a,b,m,a.c,a.b);var p=Fy(a.b);if(p&&!uy(a.b)&&(p.xa()||p.Ja())){b=a.f;m=a.a;k=a.c;h=p.Ic();p=p.nf("prototype");k=r(k)+".prototype";var t=c.T(k);t&&q(t.ya(),c)&&PR(c,t);cS(c,k,m,p.qa(),f,!h||Tz(h).I(y0(b.a,(I(),Tv))))}e&&(e=Lz(a.f.a.a,(I(),kw)),a.o?yz(e,a.c,a.b?a.b:y0(a.f.a,hw),a.a):wz(e,a.c,a.b,a.a));d&&"Window"===a.c&&a.b&&iy(a.b)&&a.b.xa()&&(d=Lz(a.f.a.a,(I(),kw)).ua(),Tz(d).We(),IA(d).We(),a=Tz(a.b.ha()),
  2268. vA(d,a,null))}function Scb(){}l(Scb,n);function z0(a,b){var c=new Scb;c.a=a;c.b=b;return c}function Tcb(){}l(Tcb,n);function Ucb(a,b,c,d){var e=new Tcb;e.b=a;e.a=b;e.f=c;e.c=d;return e}function A0(){}l(A0,n);function Vcb(a,b,c,d){a.a=b;a.v=null;a.u=Vq();a.b=c;a.o=WR(c);a.c=d}
  2269. function Wcb(a,b){var c;if(a.c){var d=a.c.a.f;switch(d.a){case 3:case 2:Xcb(a,a.c);Ycb(a.a,b);break;case 0:b=X9a(a.a.A,a.c,a.b,a.a.c.f(lT(b)));Eda(tg(b.V().S(),u(function(e){return Ucb(a.a,e.M(),e.O(),a.b)})),(c=a.a.U,zb(function(e){c.add(e)})));break;default:throw pb(CN("Unexpected module type %s in module %s",[d,a.c])).s;}}}function Xcb(a,b){b.ld.X("*exports*")||w0(t0(v0(u0(s0(r0(q0(a),b.a.c.a),"exports"),zC(a.a.a,null)),!1),a.b))}g=A0.prototype;
  2270. g.ga=function(a,b,c){this.g=a.A;if(P(b)||tC(b)||!c&&this.g)G(this.g),this.v=mY(b);var d;(d=!c)||(a=HT(a),d=tC(a)?nL(this.b):q(a,this.b.ka()));if(d)return this.gl(b,c),!0;NH(b)?this.a.b(b,this.b):yY(b)&&(c=this.a.b(c,this.b),this.a.b(b,c));return!1};g.J=function(a,b,c){this.g=a.A;c?(Zcb(this,b),this.fm(a,b,c),this.u.Yc(b)&&ng(this.u.Nc(b).S(),zb(function(d){ub(d)}))):this.u.Rg()||ng(this.u.Rc().S(),zb(function(d){ub(d)}))};g.gl=function(){};g.fm=function(){};
  2271. function Zcb(a,b){var c;switch(b.c.a){case 35:Q(b,y0(a.a,(I(),Ov)));break;case 83:Q(b,y0(a.a,(I(),fw)));break;case 34:case 126:Q(b,y0(a.a,(I(),$v)));break;case 33:Q(b,y0(a.a,(I(),Pv)));break;case 38:case 37:Q(b,y0(a.a,(I(),uv)));break;case 41:Q(b,y0(a.a,(I(),Wv)));break;case 46:(c=nG(b))&&SD(c)?a.u.Aa(jX(b),new tb(function(){$cb(a,b)})):$cb(a,b);break;case 100:adb(a,b);break;case 45:Q(b,y0(a.a,(I(),pv)))}}
  2272. function $cb(a,b){var c=null,d=nG(b);if(d&&SD(d)){var e=SD(d).a.l();(d=a.b.T(e))?(c=d.qa(),c||(c=a.a.f),vy(c,qy(a.a.a,(I(),Tv)))?Q(b,c):(B0(a.a,V(b,(C0(),bdb),A([e,c.toString()],B,y,1))),c=null)):B0(a.a,V(b,(C0(),cdb),A([e],B,y,1)))}d=tL(b);if(e=!!d&&iE(d)){c=sY(b);var f=tY(c);c=ddb(a,b,f,c,d)}c||(c=zC(a.a.a,d));x0(a.a,b,c);c=Uy(b.f);e=!e;for(b=b.a;b;b=b.b)if(!rH(b)&&!qx(b)){f=b.a;d=GX(b);var h=nG(b);f=D0(a,h,b,f,null);f=c.fd()?c.fd().b:edb(b,f);h=tY(b);null!=h?w0(v0(u0(t0(s0(r0(q0(a),b),h),E0(a,
  2273. b)),f),!f)):f&&x0(a.a,b,f);f&&c&&e&&wz(c,d,f,b)}}function fdb(a,b,c){E(null!=a.v);F(q(b.c,c),b)}function gdb(a,b,c,d){if(L(c))b||(b=nG(c)),hdb(a,c,c.a,d,b);else{F(Yw(c),c);b=c.a;var e=R(c);if(o_(e))for(c=W9a(a.a.A,e),b=BA(b).h();b.i();){var f=b.j();idb(a,f.a,c,f.l(),d)}else jdb(a,b,d,ij(function(){return e?z0(kdb(a,null,e),qG(e)):z0(a.a.f,null)}))}}
  2274. function jdb(a,b,c,d){var e={};for(b=zab(a.a.a,ij(function(){return d.f().a}),b).h();b.i();e={$g:e.$g}){e.$g=b.j();var f=ij(function(k){return function(){var m=k.$g;if(!uab(m)||m.f)var p=z0(null,null);else{var t=d.f();p=t.a;m=vab(m).l();t=t.b?Zqa(t.b,m):null;!p||p.aa()?p=z0(null,t):ty(p,m)?(p=Sy(p,m),p=z0(p,t)):p=z0(null,t)}return p}}(e));if(Xw(e.$g.c))jdb(a,e.$g.c,c,f);else{var h=e.$g.c;Ji(L(h),"This method is only for declaring variables: %s",h);(f=D0(a,nG(h),h,null,f))||(f=eG(h)?a.a.f:null);w0(v0(u0(t0(s0(r0(q0(a),
  2275. h),h.l()),c),f),!f))}}}
  2276. function adb(a,b){fdb(a,b,(H(),Yt));var c=sY(b),d=tL(b),e=tY(c),f=ldb(a,c,e);Fi(kA(b),b);f=mdb(f,a.a.c,b,a.b);f.rb=!0;f.U=e||"";var h=Pcb(b);h&&(f.b=h);h=c?E0(a,c):a.b;f.F=h;f=ndb(odb(f,d),d,null);h=R(b);var k=pdb(a,h,d);qdb(f,d,k);(d=UW(b))&&(d=fF(d));if(d){h=tL(d);k=R(d);if(h){var m=rdb(f,h,!0),p=k.m();m.D()||(f.kb=Wl(m),f.o=f.o.D()?Wl(m):Mj().fb(f.o).fb(f.kb).fa(),sdb(f,m,p))}tdb(f,k,h)}else Aw(h)?(h=zw(Qs),f.f=h):(h=k?k.ua():null)?(h=NA(h.b.b),f.f=h):(h=uA(a.a.a,A([qy(a.a.a,(I(),ew))],ly,ey,1)),
  2277. f.f=h);f=udb(f);f.xa()&&(h=Ata(f),wz(IA(f),"constructor",h,d));wA(f)&&(d=f.nf("prototype"),d.a=c?c:d.N());x0(a.a,b,f);rJ(b)&&(G(e),w0(v0(u0(t0(s0(r0(q0(a),b.a),e),a.b),f),!f)))}function ldb(a,b,c){return null==c?null:vdb(a,b)?wi(c,"exports",a.c.b):c}function wdb(a,b){fdb(a,b,(H(),ut));var c=sY(b),d=tL(b),e=tY(c);c=xdb(a,b,e,d,c);x0(a.a,b,c);qJ(b)&&w0(v0(u0(t0(s0(r0(q0(a),b.a),e),a.b),c),!c))}
  2278. function hdb(a,b,c,d,e){o_(c)?idb(a,b,W9a(a.a.A,c),null,d):((c=D0(a,e,b,c,null))||(c=eG(b)?a.a.f:null),w0(v0(u0(t0(s0(r0(q0(a),b),b.l()),d),c),!c)))}function idb(a,b,c,d,e){if(c){var f=null==d?c:TBa(r(c.ze())+"."+r(d),c.od());if(c=f.od()?a.a.g.get(f.od()):null)if(d=c.Ac(Wx(f.ze()))){f=Wx(f.ze());ydb(a,EC(b),b,f,d,c,a.b);w0(v0(u0(t0(s0(r0(q0(a),b),b.l()),e),d),!d));return}a.a.U.add(Ucb(a.a,b,f,e))}else w0(v0(u0(t0(s0(r0(q0(a),b),b.l()),e),a.a.f),!0))}
  2279. function pdb(a,b,c){if(Aw(b))return null;var d=b.f;if(!d)if(DC(b)){if(c=EC(b),d=a.b.Ac(Wx(c)),d||(d=(d=a.b.T(c))?d.qa():null),!d)return Uy(pva(a.a.a,a.b,c,WA(b),XA(b),YA(b)))}else if(zdb(a,b)){d=b;for(b=w();!eH(d);)b.bc(0,R(d).l()),d=d.a;(d=W9a(a.a.A,d))&&a.a.g.X(d.od())?(a=a.a.g.get(d.od()),b.bc(0,d.ze()),b=Wx(tk(qk(Hg(46)),b)),d=a.Ac(b)):d=null}else c&&ND(c)||B0(a.a,V(b,(C0(),Adb),A([],B,y,1)));if(d){if(d.xa()||d.Ja())return Tz(d.ha());if(d.aa())return zy(d)}return null}
  2280. function zdb(a,b){return eH(b)?o_(b):N(b)?zdb(a,b.a):!1}
  2281. function xdb(a,b,c,d,e){if(b&&DC(b)&&e){var f=a.b.T(EC(b));if(f&&f.qa()&&iy(f.qa())&&(f=f.qa().ha(),f.xa()||f.Ja()))return null!=c&&AC(a.a.a,a.b,c,Tz(f)),d&&(b=null,Ay(d,134217728)?f.yj()||(b="@record"):eE(d)?f.Ja()||(b="@interface"):dE(d)&&!f.xa()&&(b="@constructor"),null==b||eG(e)&&"@record"!==b||B0(a.a,V(e,(C0(),Bdb),A([b,EC(e)],B,y,1)))),f}if(d&&gE(d)&&(f=sD(ZD(d),a.b,a.a.a),f=f.Ia(),iy(f)))return e=f.ha(),e.Jf(d),e;var h=b?b:e,k=(f=!!b&&P(b))?b:null;f=f?R(b):null;var m=e&&pH(e.m())?gG(e):null,
  2282. p=Y3a(e),t=null,v=null;if(m)t=Fy(m.f),!TG(e)&&t&&(t=IA(t)),v=rH(e)?null:e.l();else{m=tY(p);var C=null!=m?a.b.T(m):null;C&&(t=Uy(C.qa()));null!=m&&null!=c&&(Ki(zi(c,m),'Expected "%s" to start with "%s"',c,m),v=c.substr(m.length+1))}m=t&&t.mc()?t.vc():null;var J=null;m&&m.vb()&&(J=m.vb().Ma());C=null;if(t&&null!=v){var K=t;var Ca=null,Wa=K.Sa(v);if(Wa&&!Wa.aa())Ca=Wa;else for(K=K.yf().h();K.i();)if((Wa=K.j().Sa(v))&&!Wa.aa()){Ca=Wa;break}Ca&&J&&!J.a.D()&&(Ca=Ca.La(Ty(a.a.a,J,!1,!1,!1)));(K=Ca)&&(CH(e)?
  2283. C=HC(a.a.a,K,A([],ly,ey,1)):VH(e)?C=HC(a.a.a,y0(a.a,(I(),fw)),A([K],ly,ey,1)):iy(K)&&(C=K.ha()))}K=k?Pcb(k):null;a.a.K.B(k)&&(K.b=!0);h=mdb(ldb(a,e,c),a.a.c,h,a.b);h.U=c||"";K&&(h.b=K);c=e?E0(a,e):a.b;h.F=c;if(k=C)if(h.o=k.Ma().a,h.A=HA(k),h.za=k.b.g,f){c=RA(h.a);k=AA(k).h();K=C=!1;for(v=f.a;v;v=v.b)k.i()?(J=k.j(),Ca=Gta(c,J),K=K||EA(J)||DA(J),v.b&&EA(Ca)&&(lB(Ca,!1),OA(Ca,!0)),vH(v)&&OA(Ca,!0)):C=!!(+C|+Cdb(h,c,qy(h.a,(I(),ew)),C,h.Da.Sk(v)||K||vH(v),h.Da.Uk(v)));for(;k.i();)C=k.j(),C=Gta(c,C),EA(C)||
  2284. DA(C)||OA(C,!0);h.f=c.a}else h.f=k.b.b,h.f||(h.f=RA(h.a).a);c=odb(h,d);if(d&&null!=$D(d)){h=$D(d);QB();if(null==h)h=null;else{k=sua.get(h);if(!k)throw ua("String id "+r(h)+" does not match any ClosurePrimitive").s;h=k}c.Ob=h}m=qdb(ndb(c,d,m),d,null);d&&hE(d)?Ddb(m,d,!1):b&&P(b)&&b.a&&(b=nG(b.a),Ddb(m,b,!0));b=null;t&&t.mc()&&wA(t.vc())?b=Tz(t.vc()):t&&iy(t)&&wA(t.ha())&&e&&TG(e)?b=t:p&&SC(p)&&(b=a.b.Xc());a=b;d&&d.f&&(b=sD(d.f,m.g,m.a).Ia())&&(m.jb=b);m.jb||!(a=Uy(a))||d&&gE(d)||(m.jb=a);d=udb(tdb(m,
  2285. f,d));wA(d)&&e&&(d.nf("prototype").a=e);return d}
  2286. function ddb(a,b,c,d,e){G(e);E(iE(e));F(!!d||!!b,"An enum initializer should come from either an lvalue or rvalue");var f=null;if(b&&DC(b)){var h=a.b.T(EC(b));h&&h.qa()&&h.qa().fd()&&(f=h.qa().fd())}if(!f){f=sD(QD(e,1610612736),a.b,a.a.a);e=ldb(a,d,c);h=a.a.a;rsa();var k=new Qz;Iz(k,oA(Mz(h),"enum{"+r(e)+"}"));k.c=ef();k.b=Mva(h,f,e,k);mz(h.a,k,qsa);f=k;if(b&&SH(b))for(e=b.a;e;){if(rH(e))B0(a.a,V(e,(C0(),Edb),A([],B,y,1)));else{k=e.l();Mi(k,"Invalid enum key: %s",e);h=f;var m=e;h.c.add(k);wz(h,k,
  2287. h.b,m)}e=e.b}}null!=c&&AC(a.a.a,a.b,c,f.b);b&&(SH(b)||DC(b))||B0(a.a,V(d?d:b,(C0(),Fdb),A([],B,y,1)));return f}function E0(a,b){if(b=Z3a(b))if(L(b)){var c=b.m();switch(c.c.a){case 80:return a.o;case 104:case 92:case 100:case 69:case 48:case 82:return a.b;case 118:case 119:return F(Gw(c.m()),c),a.b;default:if(vdb(a,b))return a.b;if(b=a.b.T(b.l()))return b.ya()}}else if(SC(b)||WH(b)){for(a=YR(a.o);!nL(a)&&!gL(a.ka());)a=YR(a.m());return a}return OR(a.o)}
  2288. function D0(a,b,c,d,e){if(b&&gE(b))return D(gE(b)),d=Ll(),c=Y3a(c),c=tY(c),null!=c&&(c=a.b.T(c))&&(c=(c=Uy(c.qa()))&&c.mc()?c.vc():null)&&(d=c.Ma().a),c=d.D()?a.b:Tua(a.b,d),sD(ZD(b),c,a.a.a);var f;if(f=d&&P(d))f=Fy(d.f),f=b?!0:c&&FX(c)?!1:nL(E0(a,c))||!f.b.g;if(f||d&&kA(d))return d.f;if(b){if(iE(b))return d&&SH(d)?d.f:ddb(a,d,EC(c),c,b);if(fE(b))return b=xdb(a,d,EC(c),b,c),d||eG(c)||B0(a.a,V(c,b.xa()?(C0(),Gdb):(C0(),Hdb),A([EC(c)],B,y,1))),b}if(U3a(b,c)||vdb(a,c))if(d){if(e=kdb(a,c,d),d=qG(d),f=
  2289. a.b,ydb(a,EC(c),c,d,e,f,a.b),e)return e}else if(e&&(d=e.f())){e=d.b;f=d.a;var h=a.b;ydb(a,EC(c),c,e,f,h,a.b);if(d.a)return d.a}return b&&Idb(b)?(d=EC(c),xdb(a,null,d,b,c)):Jdb(c,b)?y0(a.a,(I(),hw)):null}
  2290. function ydb(a,b,c,d,e,f,h){if(d){d.Ed()?d=(d=f.T(d.Wd()))?d.a:null:(f=Uy(f.Ac(d.fe())))?(d=d.Wd(),d=Az(f,d)):d=null;if(d&&(d=vC(d))){LG(c,d);null!=b&&(NC(a.a.a,h,b),AC(a.a.a,h,b,d));return}null!=b&&(e&&iy(e)&&wA(e.ha())?AC(a.a.a,h,b,Tz(e.ha())):e&&e.fd()&&(AC(a.a.a,h,b,e.fd().b),NC(a.a.a,h,b)))}}function vdb(a,b){return a.c&&b?a.a.u.B(b)?!0:Lx(b)&&SH(b.m())&&kH(gG(b))&&xG(iF(b.m()),"exports")&&a.a.u.B(iF(b.m())):!1}
  2291. function kdb(a,b,c){var d=nG(c);return nH(c)&&d&&gE(d)?sD(ZD(d),a.b,a.a.a):(d=c.f)&&!d.aa()?d:DC(c)?a.b.Ac(qG(c)):N2a(c)?y0(a.a,(I(),uv)):M2a(c)?y0(a.a,(I(),Pv)):O2a(c)?y0(a.a,(I(),$v)):TC(c)&&DC(c.a)&&(a=a.b.Ac(qG(c.a)))&&(a=a.Ia().ha())&&wA(a)?Tz(a):TH(c)&&(c=c.a,a=c.b,L(c)&&b&&L(b)&&li(c.l(),b.l())&&(d=a.f)&&!d.aa())?d:null}
  2292. function Kdb(a,b,c,d,e,f){Jdb(d,c)&&Ldb(a,d,c);var h=d.a,k=EC(h),m=EC(d),p=O(d).l();D(null!=m&&null!=k);var t=D0(a,c,d,f,null);!t&&f&&(t=f.f);if("prototype"===p){var v=a.b.T(m);if(v){var C=Uy(v.qa());if(C&&f&&SH(f))rva(f.f,C.Va());else if(!v.Vb())return;PR(v.ya(),v)}}if(t)b=Mdb(a,m,d,c,f,t),b||((c=Ndb(a,k))&&Odb(a,c,h,p,t,d),w0(v0(u0(t0(s0(r0(q0(a),d),m),E0(a,d)),t),b)));else if(yH(e)){var J=!!AT(b)&&pL(AT(b));a.u.Aa(a.b.ka(),new tb(function(){var K=EC(d),Ca=O(d).l();if(!QR(a.b,K)){K=Ndb(a,k);var Wa;
  2293. a:{if(K&&K.mc())for(Wa=Pz(K.vc()).h();Wa.i();){var Ma=Wa.j();if(ty(Ma,Ca)){Wa=Ma.Sa(Ca);break a}}Wa=null}Wa=Wa?Wa:a.a.f;w0(v0(u0(t0(Rcb(r0(q0(a),d)),E0(a,d)),Wa),!0));K&&(J||K.mc())?yz(K,Ca,Wa,d):xz(a.a.a,Ca,K?K:Wa)}}))}}
  2294. function Mdb(a,b,c,d,e,f){if(null!=b&&ki(b,".prototype")){var h=ne(b,0,b.lastIndexOf(".prototype"));if((h=(h=a.b.T(h))?h.qa():null)&&(h.xa()||h.Ja()))return!1}(h=d&&(gE(d)||iE(d)||Jdb(c,d)||Idb(d)||e&&P(e)))||(h=(U3a(d,c)||vdb(a,c))&&!!f);if(h)return!1;if(!e||!P(e)&&!kA(e)||!AG(c))return!0;d=E0(a,c);if(!(e=d&&QR(d,b)))a:{for(c=c.m();!tC(c)&&!P(c);){if(iT(c)){e=!0;break a}c=c.m()}e=!1}return e||d&&a.a.v.B(jL(b,d.ka()))?!0:!1}function Ndb(a,b){return(a=a.b.T(b))?(a=a.qa(),Uy(a?a.Ia():null)):null}
  2295. function Jdb(a,b){return b&&jE(b)?AG(a)&&!TX(a):!1}function Ldb(a,b,c){var d=EC(b);AC(a.a.a,a.b,d,a.a.f);(c=sD(QD(c,-2147483648),a.b,a.a.a))?LG(b,c):B0(a.a,V(b,(C0(),Pdb),A([d],B,y,1)));b=a.a.a;a=a.b;Ji(!!KB(b,a,d),"missing name %s",d);hva(d);a=qC(a,d);b.f.Mc(rC(b,a),d,c)}function Odb(a,b,c,d,e,f){(!Dz(b,d)||fsa(b,d))&&(a.a.c.f(a.g)&&pL(a.a.c.f(a.g))&&!b.Eb()||!b.cd()||SC(c))&&wz(b,d,e,f)}g.la=!0;function Qdb(){}l(Qdb,A0);
  2296. Qdb.prototype.gl=function(a){P(a)&&(BY(a)?x0(this.f,a,this.b.ka().f):wdb(this,a))};Qdb.prototype.fm=function(a,b,c){if(L(b)&&q(c,this.b.ka())&&hT(c))E(!te(b.l())),w0(v0(u0(t0(Rcb(r0(q0(this),b)),this.b),c.f),!1));else if(!VW(b))if(LH(b))wz(Rdb(b),b.l(),O(b).f,b);else if(CH(b)||VH(b)){a=b.l();c=O(b).f.ha();switch(b.c.a){case 90:c=c.b.g?this.f.f:HA(c);break;case 91:c=qp(CA(c),this.f.f);break;default:throw jb(uD(b)).s;}wz(Rdb(b),a,c,b)}};
  2297. function Rdb(a){var b=gG(a);E(kA(b));b=b.f.ha();TG(a)||(b=IA(b));return b}function Sdb(){}l(Sdb,n);function Tdb(a,b,c){var d=new Sdb;d.a=a;G(b);G(c);d.b=b;d.c=c;return d}function F0(){}l(F0,n);g=F0.prototype;g.ga=function(){return!0};g.Hb=function(){};g.Tb=function(){};g.la=!0;g.ic=!0;function Udb(){}l(Udb,F0);function Vdb(a){var b=new Udb;b.a=a;return b}Udb.prototype.Hb=function(a){a=ET(a);this.a.Oa.C(a.ka(),a)};
  2298. Udb.prototype.J=function(a,b){if(!IT(a)){a:{for(var c=a.g.w();0<c;c--)if(!ZR(a.g.G(c-1))){var d=a;D(c<=d.g.w());for(var e=d.o.Na(),f=0;f<c;f++)e=d.U.b(d.g.G(f),e),d.o.Ea(e);d.g.Gb(0,c).ia();d=e;break a}d=YR(a.o.Na())}(Ux(b)&&b.a||k4a(b))&&this.a.K.add(d.ka());if(L(b)&&DX(b)&&!p3a(b)){if(b=b.l(),a=ET(a).T(b))a=a.ya(),UR(a)&&(b=jL(b,a.ka()),this.a.F.add(b),aS(d,a)||this.a.v.add(b))}else N(b)&&AG(b)&&DX(b)&&(c=PX(b).l(),a=ET(a).T(c))&&(a=a.ya(),UR(a)&&!aS(d,a)&&this.a.v.add(TBa(EC(b),a.ka())))}};
  2299. function Wdb(){}l(Wdb,A0);
  2300. Wdb.prototype.gl=function(a,b){if(b)P(a)&&wdb(this,a);else{a=this.b.ka();b=a.a;var c=b.l();!te(c)&&lL(a)&&w0(v0(u0(t0(s0(r0(q0(this),b),c),this.b),a.f),!1));if(!zY(a.m())){var d=R(a);b=null;pY(a)&&(b=a.b);if(c=Fy(a.f)){if(c=c.b.b)for(c=c.a,d=BA(d).h();d.i();){var e=d.j();b&&qx(b)&&(b=null);var f=e;var h=b;var k=c?c.f:this.f.f;e=k.I(this.f.f);h&&e&&(h=EC(h),(h=null!=h&&this.b.m()?this.b.m().T(h):null)&&!h.Vb()&&(k=h.qa()));k||(k=this.f.f);switch(f.c.a){case 32:Xdb(this,e,f,k);break;case 118:h=f.a;
  2301. var m=Lz(this.f.a,(I(),pv));k=MC(this.f.a,m,A([k],ly,ey,1));L(h)?Xdb(this,e,f.a,k):Ydb(this,e,h,k);break;case 127:f=f.a;L(f)?Xdb(this,e,f,k):Ydb(this,e,f,k);break;case 97:case 98:Ydb(this,e,f,k);break;default:throw pb("Unexpected function parameter node "+r(f)).s;}c&&(c=c.b);b&&(b=b.b)}if(b=tL(a))if(d=mp(XD(b),zE(b).oa()),!tp(d))for(b=this.a.c.f(this.g),c=qy(this.f.a,(I(),fw)),d=d.h();d.i();)e=d.j(),XUa(this.b,e)||M0a(this.f.Za,mY(a),b,a,a.m(),this.b.T(e),e,c),cS(this.b,e,a,c,b,!1)}}}};
  2302. function Ydb(a,b,c,d){for(c=yab(a.f.a,d,c).h();c.i();){var e=c.j();d=Aab(e);if(Xw(e.c))Ydb(a,b,e.c,d);else{e=e.c;Ji(L(e),"Expected all parameters to be names, got %s",e);if(!d||d.aa())(b=nG(e))&&gE(b)?(d=PC(a.f.a,ZD(b),a.b),b=!1):b=!0;Xdb(a,b,e,d)}}}function Xdb(a,b,c,d){w0(v0(u0(t0(s0(r0(q0(a),c),c.l()),a.b),d),b))}function Zdb(){}l(Zdb,RT);
  2303. Zdb.prototype.J=function(a,b){switch(b.c.a){case 104:case 92:case 80:for(b=b.a;b;b=b.b)$db(this,a,b,b.a,tL(b));break;case 88:b=b.a,kH(b)?$db(this,a,b.a,R(b),nG(b)):N(b)&&$db(this,a,b,null,nG(b))}};function $db(a,b,c,d,e){DC(c)&&(e&&iE(e)?NC(a.a,ET(b),EC(c)):e&&jE(e)?NC(a.a,ET(b),EC(c)):d&&DC(d)&&OC(a.a,ET(b),EC(d))&&U3a(e,c)&&NC(a.a,ET(b),EC(c)))}function aeb(){}l(aeb,A0);function beb(a,b,c){var d=new aeb;d.f=a;Vcb(d,a,b,c);return d}
  2304. aeb.prototype.gl=function(a,b){b&&ZR(a)&&!kA(a)&&this.f.b(a,this.b);P(a)&&wdb(this,a)};
  2305. aeb.prototype.fm=function(a,b,c){switch(b.c.a){case 28:if(a=this.a.o.zd(b)){c=C0a(this.b.Ac(Wx(a.b)));var d=C0a(this.b.Ac(Wx(a.a)));if(c&&d){var e=c.ua(),f=d.ua();e&&f&&this.a.o.Ki(FJ(e,c),FJ(f,d),a.c)}}a=this.a.o.zf(b);null!=a&&(a=Uy(KB(this.a.a,this.b,a)))&&(c=a.ua())&&(d=HC(this.a.a,a,A([],ly,ey,1)),this.a.o.nk(FJ(c,a),d));if(c=this.a.o.Il(b))if(a=Uy(KB(this.a.a,this.b,c.b)),c=Uy(KB(this.a.a,this.b,c.a)),d=Uy(KB(this.a.a,this.b,this.a.o.Jl())),a&&c&&d){e=a.ua();f=c.ua();var h=d.ua();if(e&&f&&h){var k=
  2306. RA(this.a.a);iB(k,A([y0(this.a,(I(),Av))],ly,ey,1));IC(this.a.a,TA(this.a.a,c),k.a);k=this.a.a;var m=r(c.Ba())+r((C0(),ceb));D(!0);k=QA(yua(KA(LA(PA($A(aB(SB(MA(k)),m),null),null),null),Ll()),!1));vA(k,c,null);FJ(h,d);FJ(f,c);FJ(e,a);k.vb();this.a.ja.add(k)}}if(a=this.a.o.nj(b))a.a?B0(this.a,V(b,a.a,A([],B,y,1))):(c=Uy(KB(this.a.a,this.b,a.c)))&&c.ua()?(x0(this.a,a.b,c),Hx(a.b,(kx(),$wa),!0)):B0(this.a,V(b,(C0(),deb),A([],B,y,1)));break;case 50:c=b.a;N(c)&&DC(c)?Kdb(this,a,nG(b),c,b,c.b):this.f.u.B(c)&&
  2307. (a=nG(b),c=b.a,Fi(L(c),c),hdb(this,c,R(b),this.b,a));break;case 82:fdb(this,b,(H(),Ht));for(b=eT(b).h();b.i();)a=b.j(),c=D0(this,nG(a),a,null,null),w0(v0(u0(t0(s0(r0(q0(this),a),a.l()),this.b),c),!c));break;case 80:case 104:case 92:E(null!=this.v);E(PI(b));a=nG(b);c=gx(b)?this.o:this.b;lG(b)&&a&&B0(this.a,V(b,(z_(),eeb),A([],B,y,1)));for(d=BA(b).h();d.i();)e=d.j(),gdb(this,a,e,c);gF(b)&&Jdb(fF(b),nG(b))&&Ldb(this,fF(b),nG(b));break;case 26:yH(c)&&DC(b)&&Kdb(this,a,nG(b),b,c,null);break;case 100:this.f.b(b,
  2308. this.b);break;case 88:if(a=this.f.Da.Ua(b))for(a=a.h();a.i();)d=a.j(),c=b,e=d,d=zC(this.a.a,null),f=u0(r0(s0(v0(t0(q0(this),OR(this.b)),!1),e.c),c),d),f.g=!0,w0(f),e=Wx(e.c),e.Ed()||(f=this.b.Ac(e.fe()))&&f.Ab()&&wz(zy(f),e.Wd(),d,c);break;case 113:tF(b,(kx(),ME))&&(a=fF(b).f,w0(v0(s0(u0(r0(t0(q0(this),this.b),b),a),"*default*"),!a)))}};function feb(){this.za=!1}var cdb,bdb,Adb,Bdb,Edb,Fdb,Gdb,Hdb,deb,ceb,Pdb;l(feb,n);function B0(a,b){X(a.c,b)}
  2309. feb.prototype.Ee=function(){for(var a=w(),b=this.g.values().h();b.i();){var c=b.j();bn(a,c.Ee())}return a};function geb(a){var b;return b=a.g,u(function(c){return b.get(c)})}function heb(a,b){var c=a.g.get(b);return c?c:a.b(b,heb(a,V2a(b.m())))}
  2310. feb.prototype.b=function(a,b){D(!b||b instanceof bS);var c=this.g.get(a);if(c)E(q(b,c.m()));else{c=p_(this.ta,this.c,a);if(b){var d=this.Oa.get(a);var e=ef();for(d=d.Ee().h();d.i();){var f=d.j();e.add(f.va())}c&&NV(c.a)?e.add("exports"):P(a)&&zY(a.m())&&e.sa("exports");d=new bS;VUa(d,a);$Ua(d,b);d.o=b;d.g=b.g+1;d.c=!1;d.f=e;e=d}else{F(sC(a),a);e=a.a;d=R(a);F(sC(e),e);F(sC(d),d);f=Lz(this.a,(I(),kw));Q(a,f);Q(e,f);Q(d,f);Fi(sC(a),a);e=vWa(kT(this.c));sT(mT(this.c,Vdb(this),e),a.a,O(a));d=this.c;f=
  2311. new Zdb;f.a=this.a;nT(mT(d,f,e),a);e=bVa(a,!1);G0(this,e,qv);G0(this,e,wv);G0(this,e,zv);G0(this,e,Bv);G0(this,e,Dv);G0(this,e,Gv);G0(this,e,Iv);G0(this,e,Rv);G0(this,e,Uv);G0(this,e,Xv);G0(this,e,Zv);cS(e,"undefined",null,qy(this.a,fw),null,!1);if(this.za)for(d=a.a,f=R(a),d=Ocb(Ncb(this.c,null,(yJ(),vJ),!0,null),d,f).values().h();d.i();){f=d.j();var h=this.pa.a.get(f.c);if(f.b){var k=f.b;nX(k)&&L(hF(k))&&this.u.add(hF(k))}else!f.f||!oX(f.f)||h&&OV(h)||this.Da.Aa(f.f,f);h&&PV(h)&&this.a.pa.C(f.c,
  2312. Bua(!0,null,null))}this.g.C(a,e)}P(a)?(d=new Wdb,d.f=this,Vcb(d,this,e,null)):kA(a)?(d=new Qdb,d.f=this,Vcb(d,this,e,null)):d=beb(this,e,c);f=d;Wcb(f,f.b.ka());wT(mT(f.a.c,f,(sWa(),rWa)),f.b);f.c&&NV(f.c.a)&&(d=G(f.b.ob("exports")),OV(f.c.a)?(f.a.a.pa.C(f.c.b,Bua(!0,null,null)),h=Wx(f.c.b),k=v0(u0(s0(r0(t0(q0(f),OR(f.b)),d.a),h.Vc()),d.qa()),d.Vb()),k.g=!0,w0(k),h.Ed()||d.Vb()||(k=OR(f.b).Ac(h.fe()))&&zy(k)&&Odb(f,zy(k),d.a,h.Wd(),d.qa(),d.a),ydb(f,f.c.b,d.a,Wx("exports"),d.qa(),f.b,OR(f.b))):f.a.a.pa.C(f.c.b,
  2313. Bua(!1,d.a,d.qa())),f=f.b.ka(),NH(f)?Q(f,d.qa()):(F(Hw(f),f),Q(fF(lX(f.m())),d.qa())));if(!b)for(b=w(),d=this.ja.h();d.i();)f=d.j(),b.add(FJ(f,Tz(f)));c&&MV(c.a)&&(b=zC(this.a,null),cS(e,"*exports*",a,b,this.c.f(lT(a)),!1),Q(a,b),Z9a(this.A,b,c,e));c=e;this.g.C(a,c)}return c};function Ycb(a,b){for(b=BA(b).h();b.i();){var c=b.j();if(nX(c))if(c=hF(c),yG(c,"exports")){if(a.u.add(c),r7a(c.b))for(c=BA(c.b).h();c.i();){var d=c.j();a.u.add(d)}}else N(c)&&yG(c.a,"exports")&&a.u.add(c)}}
  2314. function ieb(a,b,c){E(tC(c));G(b);E(nL(b));var d=mY(c);G(d);var e=fd(function(m){return li(d,mY(m))});a.v.da(fd(function(m){return e.Ca(m.od())}));a.F.da(fd(function(m){return e.Ca(m.od())}));a.K.da(e);Y(a.c,c,Vdb(a));for(var f=w(),h=TR(b).h();h.i();){var k=h.j();q(d,TUa(k))&&f.add(k)}for(f=f.h();f.i();)h=f.j(),k=h.va(),PR(b,h),zy(b.Xc()).Fj(k),KB(a.a,b,k)&&jva(a.a,b,k);b=beb(a,b,null);Y(a.c,c,b)}
  2315. function G0(a,b,c){a=qy(a.a,c);c=Tz(a).Ba();cS(b,c,null,a,null,!1);c=IA(a).Ba();a=IA(a);cS(b,c,null,a,null,!1)}function x0(a,b,c){Q(b,c);a.$.add(Tdb(a,b,c))}function y0(a,b){return qy(a.a,b)}
  2316. function C0(){C0=function(){};ceb=csa();Pdb=AJ("JSC_MALFORMED_TYPEDEF","Typedef for {0} does not have any type information");Fdb=AJ("JSC_ENUM_INITIALIZER_NOT_ENUM","enum initializer must be an object literal or an enum");Edb=AJ("JSC_INVALID_ENUM_KEY","enum key must be a string or numeric literal");Gdb=AJ("JSC_CTOR_INITIALIZER_NOT_CTOR","Constructor {0} must be initialized at declaration");Hdb=AJ("JSC_IFACE_INITIALIZER_NOT_IFACE","Interface {0} must be initialized at declaration");deb=AJ("JSC_REFLECT_CONSTRUCTOR_EXPECTED",
  2317. "Constructor expected as first argument");cdb=AJ("JSC_UNKNOWN_LENDS","Variable {0} not declared before @lends annotation.");bdb=AJ("JSC_LENDS_ON_NON_OBJECT","May only lend properties to object types. {0} has type {1}.");Bdb=AJ("JSC_INCOMPATIBLE_ALIAS_ANNOTATION","Annotation {0} on {1} incompatible with aliased type.");Adb=AJ("JSC_DYNAMIC_EXTENDS_WITHOUT_JSDOC","The right-hand side of an extends clause must be a qualified name, or else @extends must be specified in JSDoc");lYa(ceb,A([Pdb,Fdb,Gdb,Hdb,
  2318. deb,cdb,bdb,Bdb,Adb],zJ,CJ,1))}function H0(){}l(H0,N_);function jeb(a,b){var c=b.Qd();if(!a.Za.add(c))return b;for(c=dVa(c).h();c.i();){var d=c.j();keb(a,d)||(b=b.Ig(d.va(),S_(a,(I(),fw))))}return b}function leb(a,b,c,d){return d=meb(a,b,d,c,new wbb(function(e,f,h){var k=a.f.T(f.l());G(k);k.Vb()&&(k.f=h,Q(f,h));vH(f.m())&&(e=W_(a,e,f,h,(P_(),R_)));return e}))}H0.prototype.v=function(){return this.ta};H0.prototype.A=function(){return this.$};
  2319. function Xab(a,b,c){if(q(c,a.ta))return c;var d=V2a(b),e=p_(a.F.A,a.F,d);d=heb(a.za,d);e&&MV(e.a)&&X9a(a.ja,e,d,a.F.f(lT(b)));c=c.sn(d);c=jeb(a,c);c=O_(a,b,c);if(e)switch(e.a.f.a){case 0:Z9a(a.ja,zy(d.T("*exports*").qa()),e,d);break;case 3:if(a=Mi(d.T("exports"),"Missing exports var for %s",e.a),a.qa()){b=a.qa();var f=d.ka();NH(f)?Q(f,b):(F(Hw(f),f),Q(fF(lX(f.m())),b));e=e.b;d=OR(d);f=d.T(e);f.Vb()&&(f.f=b);e=Wx(e);e.Ed()||(d=(d=d.Ac(e.fe()))?zy(d):null)&&!zz(d,e.Wd())&&yz(d,e.Wd(),b,a.N())}}return c}
  2320. function O_(a,b,c){switch(b.c.a){case 50:var d=b.a;var e=O(b);Xw(d)?(c=O_(a,e,c),e=T_(a,e),Q(b,e),c=V_(a,d,c,e,(P_(),R_))):(c=I0(a,b,c),e=T_(a,e),Q(b,e),c=W_(a,c,d,e,(P_(),R_)));break;case 32:c=neb(a,b,c);break;case 29:Q(b,S_(a,(I(),ew)));break;case 26:e=b.a;d=O(b);c=I0(a,b,c);var f=e.f,h=d.l(),k=c;d=null;e=!1;var m=EC(b),p=null!=m?k.ob(m):null;if(p){var t=p.qa();if(t){var v=!p.Vb();e=!q(p,k.Qd().T(m));if(v||e)d=t}}!d&&f&&(f=Sy(f,h))&&(d=f);d&&!d.aa()||null==m||(f=Uy(KB(a.a,k.Qd(),m)))&&(d=f.ua());
  2321. d=d?d.I(a.b)&&e?S_(a,(I(),xv)):d:a.b;Q(b,d);c=oeb(a,b.a,c);break;case 100:c=O_(a,R(b),c);for(b=TW(b).a;b;b=b.b)rH(b)&&(c=O_(a,b.a,c));break;case 65:c=b0(X_(a,b,c));break;case 64:c=b0(X_(a,b,c));break;case 66:D(xya(b));f=b.a;d=O(b);c=O_(a,f,c);e=a.u.a(f,c,(bv(),Tpa));e=O_(a,d,e);f=f.f;d=d.f;f&&(f.td()||f.ve()?d&&(Q(b,Yy(a.a,A([f.Ia(),d],ly,ey,1))),c=a.K.f(Sl(c,e))):Q(b,f));break;case 63:f=b.a;e=f.b;d=O(b);c=O_(a,f,c);k=a.u.a(f,c,(bv(),Zu));f=a.u.a(f,c,$u);O_(a,e,k);O_(a,d,f);a=e.f;d=d.f;a&&d?Q(b,a.uc(d)):
  2322. Q(b,null);break;case 46:d=b.f;G(d);for(e=b.a;e;e=e.b)c=I0(a,e,c);if((d=Uy(d))&&!tF(b,(kx(),$wa))&&!d.fd())for(e=tY(sY(b)),f=b.a;f;f=f.b)if(!rH(f)){if(qx(f)){Q(b,qy(a.a,(I(),Tv)));break}m=GX(f);null!=m?(k=edb(f,f.a.f),k||(k=a.b),yz(d,m,k,f),null!=e&&Lx(f)&&(m=r(e)+"."+r(m),p=(h=c.Qd().T(m))?h.qa():null,h&&h.Vb()&&(t=p?p.uc(p):k,h.f=t),c=c.Hg(f,m,p?p:a.b,k,!1))):Q(b,a.b)}break;case 28:c=peb(a,b,c);c=qeb(a,c,b);break;case 31:Q(b,S_(a,(I(),ew)));break;case 23:c=I0(a,b,c);c=reb(a,b,b.a.f,c);break;case 128:for(d=
  2323. a.f;d&&!gL(d.ka());)d=d.m();d?(d=d.ka().m(),kA(gG(d))?(d=VW(d)?(I(),Av):(I(),fw),Q(b,qy(a.a,d))):Q(b,Yy(a.a,A([qy(a.a,(I(),Av)),qy(a.a,fw)],ly,ey,1)))):Q(b,a.b);break;case 57:case 13:d=b.a;f=d.b;c=I0(a,b,c);e=d.f;f=f.f;k=a.b;e&&f&&(m=e.aa(),h=f.aa(),m&&h?k=a.b:!m&&wra(e)||!h&&wra(f)?k=S_(a,(I(),$v)):m||h?k=a.b:k=seb(a,e)&&seb(a,f)?S_(a,(I(),Pv)):GC(a.a,A([(I(),$v),Pv],ov,xw,1)));Q(b,k);q(b.c,(H(),Zs))&&(c=W_(a,c,d,k,(P_(),R_)));break;case 21:case 22:c=O_(a,b.a,c);Q(b,S_(a,(I(),Pv)));break;case 45:c=
  2324. I0(a,b,c);Q(b,MC(a.a,Lz(a.a,(I(),pv)),A([S_(a,ew)],ly,ey,1)));break;case 36:Q(b,c.Xc());break;case 54:case 55:case 56:case 60:case 61:case 53:case 52:case 51:case 59:case 58:case 62:d=S_(a,(I(),Pv));e=b.a;c=I0(a,b,c);Q(b,d);c=teb(a,c,e,d,null,(P_(),R_));break;case 10:case 11:case 12:case 16:case 17:case 3:case 2:case 1:case 15:case 14:case 68:case 67:case 20:case 18:c=I0(a,b,c);Q(b,S_(a,(I(),Pv)));break;case 49:c=I0(a,b,c);Q(b,T_(a,O(b)));break;case 124:case 25:c=I0(a,b,c);Q(b,S_(a,(I(),$v)));break;
  2325. case 125:c=I0(a,b,c);break;case 123:c=peb(a,b,c);break;case 24:case 6:case 7:case 8:case 9:case 19:case 4:case 5:case 39:case 40:case 44:case 43:c=I0(a,b,c);Q(b,S_(a,(I(),uv)));break;case 30:Q(b,S_(a,(I(),ew)));break;case 27:c=I0(a,b,c);T_(a,O(b)).Ul()?Q(b,a.b):(d=T_(a,b.a).Ia().Ma(),-1!=qB(d,a.a.v)&&Q(b,sB(d,a.a.v)));c=oeb(a,b.a,c);break;case 88:c=I0(a,b,c);N(b.a)&&(b=b.a,(a=Uy(T_(a,b.a).Ia()))&&ueb(b,a,c));break;case 71:c=O_(a,b.a,c);break;case 0:c=I0(a,b,c);if(b=b.a)if(a=a.$.ka().f)if(a=a.ha())b=
  2326. b.f,a=HA(a),b&&a&&b.Mg(a);break;case 107:c=I0(a,b,c);Q(b,S_(a,(I(),ew)));break;case 80:case 104:case 92:for(b=BA(b).h();b.i();)e=b.j(),d=a,L(e)?c=neb(d,e,c):(F(Yw(e),e),c=O_(d,R(e),c),c=V_(d,e.a,c,T_(d,R(e)),(P_(),Q_)));break;case 42:c=I0(a,b,c);break;case 82:d=b.a;L(d)?(b=b.a,d=(d=nG(b))&&gE(d)?sD(ZD(d),c.Qd(),a.a):S_(a,(I(),ew)),Q(b,d),c=U_(a,c,b,d)):Xw(d)?c=V_(a,b.a,c,a.b,(P_(),Q_)):F(Aw(d),d);break;case 96:c=I0(a,b,c);d=nG(b);Li(d,"CAST node should always have JSDocInfo");gE(d)?Q(b,iz(sD(ZD(d),
  2327. c.Qd(),a.a),a.a.o)):Q(b,a.b);break;case 103:for(d=a.f;d&&!gL(d.ka());)d=d.m();if(d){d=Fy(d.ka().f);e=null;switch(b.m().c.a){case 28:d&&d.xa()&&(e=d.Ic());break;case 27:case 26:e=Uy(a.$.ob("super").qa());break;default:throw pb("Unexpected parent of SUPER: "+r(uD(b.m()))).s;}Q(b,e?e:a.b)}else Q(b,a.b);break;case 120:case 121:c=I0(a,b,c);break;case 108:c=I0(a,b,c);Q(b,pab(a.a,T_(a,b.a)));break;case 83:Q(b,S_(a,(I(),fw)));c=I0(a,b,c);break;case 113:c=I0(a,b,c);tF(b,(kx(),ME))&&(d=c.Qd().T("*default*"),
  2328. d.Vb()&&(a=T_(a,fF(b)),d.f=a));break;case 129:Q(b,a.b);break;case 85:case 89:case 116:case 69:case 48:case 86:case 84:case 70:case 74:case 75:case 76:case 77:case 105:case 106:case 78:case 79:case 47:case 72:case 73:case 81:case 93:case 109:case 111:case 110:case 114:break;case 38:case 37:case 34:case 33:case 35:case 41:case 126:break;default:throw pb("Type inference doesn't know to handle token "+r(b.c)).s;}return c}function W_(a,b,c,d,e){return teb(a,b,c,d,c,e)}
  2329. function teb(a,b,c,d,e,f){G(d);E(!e||q(e,c));var h=c.f;var k=sL(c);if(W3a(c).Vg())k=!0;else{var m=tL(c);k=!!m&&dE(m)&&0<lE(m)&&DC(c)&&eH(k)}if(k&&h&&h.xa())for(m=h.ha(),k=IA(m),m=Pz(m).h();m.i();)for(var p=m.j(),t=Vz(p.lc()).h();t.i();){var v=t.j();ty(k,v)||wz(k,v,p.Sa(v),null)}switch(c.c.a){case 32:h=c.l();k=(h=b.Qd().T(h))?h.qa():null;f=(m=q(f,(P_(),Q_))&&!h.Vb()&&!!h.a)&&L(h.a)&&U3a(h.Yb(),h.a)&&!(h.Yb()&&Pwa(h.Yb()));b=(m=m&&!d.Kc()&&!d.Zb()&&!f)?U_(a,b,c,k):U_(a,b,c,d);e&&Q(e,d);h&&h.Vb()&&(!hx(c.m())||
  2330. c.a)?(d=(a=h.qa())?a.uc(d):d,h.f=d):f&&(h.f=d);break;case 26:if(DC(c)){f=EC(c);k=!1;if(m=c.a.f)if(m=Uy(m.Ia()))k=O(c).l(),k=zz(m,k);b=b.Hg(c,f,h?h:a.b,d,k)}e&&Q(e,d);a:if(e=b,h=O(c).l(),k=c.a,m=T_(a,k),f=Uy(m.Ia()),k=SC(k)&&T_(a,a.f.ka()).xa(),f){if(m.be()&&!ty(f,h)&&(m=!1,p=gG(c),nL(a.f)&&J3a(p)&&(p=WA(p),(t=f.vc().c)&&li(WA(t),p)&&(m=!0)),!k&&!m))break a;ueb(c,f,e)||zz(f,h)||(ty(f,h)||!f.cd()?"prototype"===h?wz(f,h,d,c):yz(f,h,d,c):k?yz(f,h,d,c):xz(a.a,h,f))}else xz(a.a,h,m)}return b}
  2331. function ueb(a,b,c){if(DC(a)){var d=O(a).l(),e=EC(a);if((c=c.Qd().T(e))&&!c.Vb()&&("prototype"===d||!Dz(b,d)&&(!b.cd()||oL(c)&&!b.Eb())))return wz(b,d,c.qa(),a)}return!1}function V_(a,b,c,d,e){return meb(a,b,c,d,new wbb(function(f,h,k){k=k?k:S_(a,(I(),ew));return W_(a,f,h,k,e)}))}
  2332. function meb(a,b,c,d,e){Fi(Xw(b),b);G(d);for(var f=yab(a.a,d,b).h();f.i();){var h=f.j();h.a&&rH(h.a)&&(c=O_(a,tab(h).a,c));var k=h.c;if(Xw(k)){h.f&&O_(a,h.f,c);var m=Cab(h);m=m?m:S_(a,(I(),ew));c=meb(a,k,c,m,e)}else c=O_(a,k,c),h.f&&O_(a,h.f,c),m=void 0,h=Cab(h),c=(m=e.a,m(c,k,h))}Q(b,d);return c}
  2333. function neb(a,b,c){var d=b.l(),e=b.a,f=b.f;if(e)return c=O_(a,e,c),W_(a,c,b,T_(a,e),(P_(),Q_));if(hx(b.m()))f=f?f:S_(a,(I(),fw)),c=W_(a,c,b,f,(P_(),Q_));else if(e=c.ob(d)){var h=e.Vb(),k=h&&keb(a,c.Qd().T(d));d=h&&UR(a.f)?a.f.m().T(d):null;d=cd(e,d)&&!d.u;k||d||(f=e.qa(),f||(f=a.b))}Q(b,f);return c}function seb(a,b){return vy(b,GC(a.a,A([(I(),fw),Ov,Pv,Qv,uv,vv],ov,xw,1)))}
  2334. function peb(a,b,c){Fi(eH(b)||fH(b),b);c=I0(a,b,c);if(eH(b)&&!yH(b.m())&&o_(b)){var d=W9a(a.ja,b);if(d){var e=geb(a.za).f(d.od());d=e?e.ob(d.ze()):null;Q(b,d?d.qa():a.b)}else Q(b,a.b);return c}d=b.a;e=T_(a,d).Ia();if(WH(d))return reb(a,b,e,c);iy(e)?(d=e.ha(),Q(b,HA(d)),veb(a,b,d,c)):e.I(S_(a,(I(),xv)))?Q(b,S_(a,(I(),xv))):d.f&&d.f.aa()&&Q(b,S_(a,(I(),ew)));return c}
  2335. function qeb(a,b,c){var d;var e=c.a;var f=e.b;if(!f)return b;var h=Pab(a.Oa,e);if(!h)return b;a:for(var k=0;k<h.c;k++){if(!f){f=null;break a}f=f.b}if(!f)return b;k=EC(f);switch(h.f.a){case 0:b=a.u.a(f,b,(bv(),Zu));a=T_(a,f).Ia();Q(c,a);break;case 1:e=(e=Fy(e.f))?HA(e):a.b,h=T_(a,f),e.aa()||h.aa()?d=e:d=h.Gc(e),Q(c,d),null!=k&&Hra(h,d)&&(b=web(a,b,f,d))}return b}function web(a,b,c,d){return SC(c)?b:N(c)?b.Hg(c,EC(c),T_(a,c),d,!1):U_(a,b,c,d)}
  2336. function veb(a,b,c,d){xeb(a,b,c,d)&&(c=b.a.f.ha());a:{F(qY(b),b);c=AA(c).h();if(fH(b)){if(!c.i())break a;c.j()}d=EY(b).h();for(var e,f;c.i()&&d.i();){f=d.j();var h=T_(a,f);e=c.j();var k=T_(a,e);h&&k&&h.Mg(k);e=null;if(jy(k))for(k=Zy(k.nb()).h();k.i();){var m=k.j();if(iy(m)){e=m.ha();break}}else e=k.ha();if(e&&P(f)&&iy(h)){h=h.ha();k=nG(f);k=!!k&&mE(k)||V3a(f);b:{m=a;if(k){if(h.vb().aa()&&!e.vb().aa()){e=TB(VA(zua(MA(m.a),h),e.vb()));break b}}else if(FA(h)<=FA(e))break b;e=h}Q(f,e)}}}if(e=MX(a.F).hh(b,
  2337. !1,!0))if(c=e.c,d=T_(a,c).Ia().ha())e.a&&P(c)&&(f=T_(a,e.a),zy(f)&&!f.aa()&&d.vb().aa()&&(d=TB(VA(zua(MA(a.a),d),zy(f))),Q(c,d))),e.b?(f=e.b.m(),e=GA(f)-jF(f,e.b)):e=0,d=sta(d,e+1),(e=T_(a,b.a).ha())&&!q(b.a,c)&&(e=TB(LA(zua(MA(a.a),e),d)),Q(b.a,e)),Q(b,d)}
  2338. function yeb(a,b,c,d){var e=null,f=null,h=null;for(b=b.h();b.i();){var k=b.j();if(k.u){if(!h){var m=a.F;f=d.Qd();Zbb();e=h=new zbb;e.c=m;e.a=eJ(m);e.b=f;f=c;e=Uf();for(f=f.V().h();f.i();)m=f.j(),m.M().u||e.C(m.M().Ba(),m.O());f=Uf()}var p=il(e);m=h;var t=k.u,v=Vj();t=h0(m,t,ybb(p,v));m=uy(t)?c0(m):t;f.C(k,m);e.C(k.Ba(),m)}}return f}
  2339. function xeb(a,b,c,d){var e=c.Ma().a;if(e.D())return!1;for(var f=abb($ab(a.a,c,d.Xc(),b)),h=lf(),k=e.h();k.i();){var m=k.j();h.C(m,f.Ya(m,a.b))}h.Fb(new Xd(function(p,t){return vy(t,p.g)?t:p.g}));(d=yeb(a,e,h,d))&&h.Ud(d);a=Ita(a.a,h);h=b.a;c=c.La(a).ha();G(c);Q(h,c);Q(b,HA(c));return a.f}
  2340. function reb(a,b,c,d){if(!c)return Q(b,null),d;if(c.aa())return Q(b,a.b),d;c=c.Ia();var e=c.ha();!e&&c instanceof iA&&(e=c);if(!e||!e.xa())return Q(b,null),d;veb(a,b,e,d);c=Tz(e);!q(e,qy(a.a,(I(),Uv)))&&Hy(e)&&(yy(c)&&(c=uz(c.Xb())),e=abb($ab(a.a,e,d.Xc(),b)),c=zy(uva(a.a,c,e)));Q(b,c);return d}function I0(a,b,c){for(b=b.a;b;b=b.b)c=O_(a,b,c);return c}function oeb(a,b,c){if(DC(b)){var d=T_(a,b),e=d.Ia();d.I(e)||(c=web(a,c,b,e))}return c}
  2341. function X_(a,b,c){D(iH(b)||TH(b));var d=iH(b),e=b.a,f=O(b);c=zeb(a,e,c);var h=e.f;e=a.u.a(e,Yab(c,e.c,d),av(d));e=zeb(a,f,e);f=f.f;if(h&&f){h=h.ph(av(!d));if(q(c.f,Zpa(!d)))f=h;else{f=h.uc(f);h=e.f;var k=Zpa(!d);k=kv(c.f.a&k.a);h=kv(h.a|k.a);k=e.b;d=Zpa(!d);d=kv(c.b.a&d.a);c=vbb(a,h,kv(k.a|d.a),b0(c),b0(e))}q(c.b,(lv(),fv))&&vy(S_(a,(I(),uv)),f)&&jy(f)&&(f=Wsa(f.nb(),S_(a,(I(),uv))))}else f=null,c=vbb(a,(lv(),iv),iv,b0(c),b0(e));Q(b,f);return c}
  2342. function zeb(a,b,c){switch(b.c.a){case 65:return X_(a,b,c);case 64:return X_(a,b,c);default:return c=O_(a,b,c),(b=b.f)?vbb(a,b.ad(),vy(qy(a.a,(I(),uv)),b)?(lv(),iv):(lv(),fv),c,c):vbb(a,(lv(),iv),iv,c,c)}}function U_(a,b,c,d){F(L(c),c);c=c.l();d||(d=S_(a,(I(),ew)));return keb(a,b.Qd().T(c))?b:b.Ig(c,d)}function keb(a,b){return!!b&&UR(b.b)&&b.v&&q(YR(b.ya()),a.f)}function T_(a,b){return(b=b.f)?b:a.b}function S_(a,b){return qy(a.a,b)}H0.prototype.U=function(a,b){return Xab(this,a,b)};
  2343. function Aeb(){Aeb=function(){};AJ("JSC_FUNCTION_LITERAL_UNDEFINED_THIS","Function literal argument refers to undefined this argument")}function Beb(){}l(Beb,F0);Beb.prototype.Hb=function(a){FT(a)};Beb.prototype.J=function(){};function Ceb(){}l(Ceb,F0);
  2344. Ceb.prototype.Hb=function(a){var b=FT(a);if(!ZR(b.b)&&!fL(b)){var c=this.a;a=a.a;var d=c.c,e=iWa(c.c,!1);e.H(null,a);var f=e.a;var h=c.o,k=c.a,m=c.g;Aeb();e=new H0;var p=new rbb;p.c=d;Uab(e,f,p);e.Za=ef();e.F=d;e.a=eJ(d);e.u=h;e.b=Lz(e.a,(I(),ew));e.ja=U9a(d.A,geb(k),e.a);e.f=b;e.za=k;e.Oa=m;m=jeb(e,lbb(d,b));h=e.f.ka();if(P(h)&&!zY(h.m()))for(k=R(h),f=null,pY(h)&&(f=h.b),h=Fy(h.f).b.b.a,k=BA(k).h();k.i();){var t=k.j();f&&qx(f)&&(f=null);var v=T_(e,t);f?f.f&&(v=f.f):h&&h.f&&(v=h.f);var C=null;vH(t)?
  2345. (C=R(t),m=O_(e,C,m),t=t.a):Jw(t)&&(t=fF(t),v=MC(e.a,qy(e.a,pv),A([v],ly,ey,1)));C&&(v=Yy(e.a,A([v.cg(),T_(e,C)],ly,ey,1)));if(Xw(t))m=leb(e,t,v,m);else{p=e;C=!!C;var J=p.f.T(t.l());Mi(J,"Missing var for parameter %s",t);Q(t,v);J.Vb()?J.f=v:C&&(m=U_(p,m,t,v))}h=h?h.b:null;f=f?f.b:null}e.$=m;e.ta=lbb(d,bVa(b.ka(),!0));try{L_(e)}catch(K){if(K=va(K),K instanceof Qab)X(c.c,V(a,Deb,A([],B,y,1)));else throw K.s;}}};Ceb.prototype.J=function(){};function Eeb(){}var Deb;l(Eeb,n);
  2346. function Feb(a,b,c){Geb();var d=new Eeb;d.c=a;d.f=eJ(a);d.o=b;d.a=c;d.g=Oab(MX(a).jh());return d}
  2347. function Heb(a,b){var c=null,d=null;try{d=Zua(a.f.a);a.b?(E(tC(b)),ieb(a.a,a.b,b)):(E(sC(b)),E(!b.m()),a.b=a.a.b(b,null));uT(mT(a.c,new Beb,a.a),b,a.b);for(var e=a.a.U.h();e.i();){var f=e.j(),h=f.b.g.get(f.f.od()),k=h?h.ob(f.f.ze()):null;cS(f.c,f.a.l(),f.a,k?k.qa():f.b.f,f.b.c.f(lT(f.a)),!k||k.Vb());if(k&&vC(k.a)){var m=vC(k.a);LG(f.a,m);AC(f.b.a,f.c,f.a.l(),m)}}}catch(p){throw c=e=p=va(p),e.s;}finally{if(c=Ab(d,c))throw c.s;}c=a.a;for(d=c.$.h();d.i();)e=d.j(),Q(e.b,iz(e.c,e.a.Ha));for(d=dp(Wl(c.g.values())).h();d.i();){e=
  2348. d.j();for(f=TR(e).h();f.i();)h=f.j(),h.f&&(h.f=iz(h.f,c.Ha));Ki(e.f.D(),"Expected %s to have no reserved names, found: %s",e,e.f)}c=a.c;d=new Ceb;d.a=a;uT(mT(c,d,a.a),b,a.b);b=qy(a.f,(I(),ew));for(c=a.a.Ee().h();c.i();)d=c.j(),d.qa()||(d.f=b);return a.b}function Geb(){Geb=function(){};Deb=U("JSC_INTERNAL_ERROR_DATAFLOW","non-monotonic data-flow analysis")}function J0(){this.A=this.F=!1;this.K=this.v=this.o=0;this.U=!1}
  2349. var H$a,eeb,Ieb,K0,Jeb,Keb,Leb,Meb,Neb,Oeb,Peb,Qeb,Reb,Seb,Teb,Ueb,Veb,Web,Xeb,Yeb,Zeb,$eb,afb,bfb,cfb,dfb,efb,L0,M0,ffb,gfb,hfb,N0,ifb,jfb,kfb,lfb,mfb,nfb,ofb,pfb,O0,qfb,rfb,sfb,tfb,ufb,vfb;l(J0,n);J0.prototype.H=function(a,b){G(this.$);G(this.g);var c=b.m();E(!!c);E(!a||eya(c,a));a&&wfb(this,a,!0);wfb(this,b,!1)};function wfb(a,b,c){G(b);var d=mT(a.b,a,a.$);a.U=c;uT(d,b,a.g);c?a.u.H(b,null):a.u.H(null,b)}function P0(a,b,c,d){X(a.b,V(b,c,d))}
  2350. J0.prototype.ga=function(a,b){if(tC(b)){var c=WA(b);null!=c&&ki(c,".java.js")?this.f=(fz(),Sva):this.f=(fz(),gz);this.a.f=this.f}switch(b.c.a){case 69:a=FT(a),c=a.T(b.a.l()),!c||!aS(c.ya(),a)||c.qa()instanceof iA||N0a(this.b,c.a)||P0(this,b,Ieb,A([c.va()],B,y,1))}return!0};
  2351. J0.prototype.J=function(a,b,c){var d=!0,e=new q0a;e.a=this.a;e.b=b;b.f&&b.f.La(e);switch(b.c.a){case 96:var f=b.a;var h=Q0(this,f);var k=Q0(this,b);if(!SH(f)){var m=this.a;Vy(h,k)?ez(h,k)||P_a(m.b,b,h,k):oV(m,h,k,V(b,v0a,A([h.toString(),k.toString()],B,y,1)))}R0(b,k);AF(f,h);(vy(k.Ia(),h)||SH(f))&&Q(f,k);break;case 32:var p=c.c;if(q(p,(H(),ut))||q(p,(H(),Ht))||q(p,(H(),Qs))||PI(c)||dV(c)&&q(c.a,b))d=!1;else{var t=b.f;if(!t){t=S0(this,(I(),ew));var v=FT(a).T(b.l());v&&(t=G(v.qa()))}R0(b,t);d=!0}break;
  2352. case 49:R0(b,Q0(this,O(b)));break;case 36:R0(b,FT(a).Xc());break;case 35:T0(this,b,(I(),Ov));break;case 33:T0(this,b,(I(),Pv));break;case 90:case 91:break;case 45:T0(this,b,(I(),pv));break;case 41:T0(this,b,(I(),Wv));break;case 26:var C=O(b),J=Q0(this,b.a);if(J.Jg())P0(this,C,(tV(),qV),A(["'.'","dict"],B,y,1));else if(H0a(this.a,a,b,J,"No properties on this expression",S0(this,(I(),Tv)))){Fi(N(b),b);var K=b.a,Ca=Q0(this,K),Wa=R(b),Ma=Q0(this,b);if(!t3a(b)){var Vb=Q0(this,b).ha();if(Vb&&Vb.A&&!Vb.xa()){var sc=
  2353. b.a;if(WH(sc))P0(this,b,$eb,A([Vb.tc()],B,y,1));else if(N(sc)){var gc=R(sc).l();("prototype"===gc||MX(this.b).zj(gc))&&P0(this,b,$eb,A([Vb.tc()],B,y,1))}}}xfb(this,Ca,b,Ma,Wa,K)}U0(this,b);d=!(kH(c)&&q(c.a,b));break;case 29:U0(this,b);break;case 27:J0a(this.a,b,Q0(this,b.a),Q0(this,O(b)));U0(this,b);d=!1;break;case 30:U0(this,b);break;case 80:case 104:case 92:if(!BH(b.m())&&!AH(b.m()))for(var tc=gF(b)?nG(b):null,Qb=BA(b).h();Qb.i();){var Wb=Qb.j();if(L(Wb)){var Rd=Wb.a;if(Rd){var Ne=Q0(this,Rd),Jc=
  2354. nG(Wb);Jc||(Jc=tc);yfb(this,a,Jc,Ne,Rd);V0(this,a,Rd,Wb,Ne,Jc,"initializing variable")}}else{F(Yw(Wb),Wb);var kd=Wb.a,Cc=Q0(this,R(Wb));V0(this,a,Wb,kd,Cc,null,"initializing variable")}}d=!1;break;case 23:var pc=Q0(this,b.a).Ia();if(!(pc.xa()||uy(pc)||pc.aa())||pc.I(qy(this.c,(I(),bw))))P0(this,b,ffb,A([],B,y,1)),U0(this,b);else{var Db=pc.ha();if(Db&&wA(Db)){var Rb=Tz(Db).ua();Rb&&Rb.A&&P0(this,b,gfb,A([],B,y,1));zfb(this,b,Db);R0(b,Tz(Db))}else U0(this,b)}break;case 28:var Uc=MX(this.b).zd(b),ad=
  2355. FT(a);if(Uc){var rf=ad.Ac(Wx(Uc.b)),uc=C0a(rf),Nc=ad.Ac(Wx(Uc.a)),Xb=C0a(Nc);if(q(Uc.c,(EJ(),DJ))&&uc&&!uy(uc)&&Xb&&!uy(Xb)){DC(b.a)&&yG(b.a,"goog.inherits")&&Nc.ha()&&Nc.ha().c&&kA(Nc.ha().c)&&X(this.b,V(b,mfb,A([],B,y,1)));var Nb=this.a,ic=Xb.ua(),Vc=Xb.Va(),sd=Vc?Vc.Va():null;sd&&yy(sd)&&(sd=sd.Xb().c);!sd||uc instanceof bA||sd.I(uc)||(sd.I(xV(Nb,(I(),Tv)))?oV(Nb,uc,sd,V(b,u0a,A([Xb.toString()],B,y,1))):yV(Nb,b,"mismatch in declaration of superclass type",uc,sd),ic.Kk()||vA(ic,uc,null))}}var Ye=
  2356. b.a,Hf=Q0(this,Ye).Ia();if(Hf.Ue())if(iy(Hf)){var Ie=Hf.ha();!Ie.xa()||Ie.Eb()||!HA(Ie).aa()&&!HA(Ie).Zb()||WH(b.a)||P0(this,b,ofb,A([Hf.toString()],B,y,1));if(Ie.Xf()&&!UI(Ye)){var Be=Ie.vb();Be.aa()||Be.bd()||Be.Zb()||Be.Ab()&&zy(Be).Eb()||P0(this,b,pfb,A([Ie.toString()],B,y,1))}zfb(this,b,Ie);R0(b,HA(Ie))}else U0(this,b);else P0(this,b,nfb,A([Hf.toString()],B,y,1)),U0(this,b);d=!yH(c);break;case 31:U0(this,b);break;case 0:a:{var fe=CT(a);if(!UG(fe)||b.a){var mh=Q0(this,fe);if(iy(mh)){var mf=mh.ha(),
  2357. Od=HA(mf);if(!Od)Od=S0(this,(I(),fw));else if(UG(fe))Od=NUa(Od,this.c),cH(fe)&&(Od=C_(this.c,qab(this.c,Od)));else if(bH(fe))Od=C_(this.c,Od);else if(Od.Zb()&&mf.xa()){if(!b.a)break a;Od=Tz(mf)}var Se=b.a;if(Se)var eg=Q0(this,Se);else eg=S0(this,(I(),fw)),Se=b;CV(this.a,Se,eg,Od,"inconsistent return type")}}}d=!1;break;case 107:a:{var pg=Q0(this,CT(a)),vf=S0(this,(I(),ew));iy(pg)&&(vf=NUa(HA(pg.ha()),this.c),cH(CT(a))&&(vf=C_(this.c,qab(this.c,vf))));var qe=b.a;if(qe)var Pd=Q0(this,qe);else Pd=S0(this,
  2358. fw),qe=b;if(dH(b))if(cH(CT(a))){var wf=D0a(this.a,b,Pd,"Expression yield* expects an iterable or async iterable");if(null==wf.a)break a;Pd=Cf(wf)}else{if(!wV(this.a,b,Pd,"Expression yield* expects an iterable"))break a;var fg=G(this.c.b);Pd=sB(Pd.Fc().Ma(),fg)}CV(this.a,qe,Pd,vf,"Yielded type does not match declared return type.")}break;case 103:case 128:case 129:case 108:U0(this,b);break;case 68:case 67:var Ec=b.a;Afb(this,Ec);zV(this.a,Ec,Q0(this,Ec),"increment/decrement");T0(this,b,(I(),Pv));break;
  2359. case 83:T0(this,b,(I(),fw));break;case 34:case 25:case 124:case 126:T0(this,b,(I(),$v));break;case 123:var oi=b.a,Qf=oi.f.Ia();if(!Qf.Ue())P0(this,b,nfb,A([Qf.toString()],B,y,1));else if(iy(Qf)){var Ni=Qf.ha(),re=AA(Ni).h();if(re.i()){var Je=re.j(),Ce=Je.f.Ia();if(Ce){var nf=this.a;vy(xV(nf,(I(),Lv)),Ce)||vV(nf,Je,"Invalid type for the first parameter of tag function",Ce,(I(),Lv))}Bfb(this,b,Ni,EY(b).h(),re,1)}else{var Xc=O0,nh=CC(this.c,oi,!1);T();if(fH(b)){var Dd=f2a(O(b));if(nd(Dd))var Qg=Dd.w();
  2360. else{for(var Rf=Dd.h(),pi=hb(0);Rf.i();)Rf.j(),pi=pi.add(hb(1));Qg=oha(pi)}var gg=Qg+1}else gg=GA(b)-1;P0(this,b,Xc,A([nh,""+gg,"0"," and no more than 0 argument(s)"],B,y,1))}}U0(this,b);break;case 20:var Rh=Q0(this,b.a);Rh.$b()?AV(this.a,b,Rh,"bitwise NOT"):P0(this,b,K0,A([Rya(b.c),Rh.toString()],B,y,1));T0(this,b,(I(),Pv));break;case 21:case 22:Ec=b.a;q(b.c,(H(),rs))&&zV(this.a,Ec,Q0(this,Ec),"sign operator");T0(this,b,(I(),Pv));break;case 4:case 5:case 39:case 40:Ec=b.a;var If=O(b);cI(Ec)?Dw(If)&&
  2361. Cfb(this,If,If.l()):cI(If)&&Dw(Ec)&&Cfb(this,Ec,Ec.l());var ke=Q0(this,Ec);var Gd=Q0(this,If);var xf=ke.Ia(),Oi=Gd.Ia(),Sh=(Xu(),Vu);q(b.c,(H(),js))||OH(b)?(Sh=xf.Qb(Oi),OH(b)&&(Sh=Sh.Ne())):Kra(xf,Oi)||(Sh=q(b.c,(H(),Hs))?Uu:Tu);q(Sh,Vu)||P0(this,b,Jeb,A([ke.toString(),Gd.toString(),Sh.toString()],B,y,1));T0(this,b,(I(),uv));break;case 6:case 7:case 8:case 9:var Ag=b.a;var se=O(b);ke=Q0(this,Ag);Gd=Q0(this,se);if(Gd.aa())F0a(this.a,Ag,ke,"left side of comparison");else if(ke.aa())F0a(this.a,se,Gd,
  2362. "right side of comparison");else if(xra(Gd))zV(this.a,Ag,ke,"left side of numeric comparison");else if(xra(ke))zV(this.a,se,Gd,"right side of numeric comparison");else{var jk=this.a,oh=ke,qg=Gd;vy(oh,qg)||vy(qg,oh)||BV(jk,b,pV,"expected matching types in comparison",qg,oh,null,null);if(!ke.$b()||!Gd.$b()){var yf="left side of comparison",of=this.a,hg=ke,ig=yf;hg.fc()||vV(of,Ag,ig,hg,(I(),$v));H0a(this.a,a,Ag,ke,yf,S0(this,(I(),$v)));yf="right side of comparison";var ph=this.a,Jf=Gd,xd=yf;Jf.fc()||
  2363. vV(ph,se,xd,Jf,$v);H0a(this.a,a,se,Gd,yf,S0(this,$v))}}T0(this,b,(I(),uv));break;case 43:Ec=b.a;If=O(b);Gd=Q0(this,If);var Bg=this.a,qh=Ec,ai=Q0(this,Ec);ai.fc()||ai.we()||vV(Bg,qh,"left side of 'in'",ai,(I(),pw));uV(this.a,b,Gd,"'in' requires an object");Gd.be()&&P0(this,If,Keb,A([],B,y,1));T0(this,b,(I(),uv));break;case 44:Ec=b.a;If=O(b);Gd=Q0(this,If).Ia();var Rg=this.a,rh=Ec,ge=Q0(this,Ec),Ke=xV(Rg,(I(),iw));vy(Ke,ge)||uy(ge)||yV(Rg,rh,"deterministic instanceof yields false",ge,Ke);var pf=this.a,
  2364. jg=If,sh=Gd;sh.Ab()||vV(pf,jg,"instanceof requires an object",sh,Tv);T0(this,b,uv);break;case 50:var uj=nG(b),Cg=b.a,Pi=Q0(this,O(b));V0(this,a,b,Cg,Pi,uj,"assignment");R0(b,Pi);d=!1;break;case 54:case 55:case 56:case 60:case 61:case 51:case 52:case 53:case 58:case 57:case 59:case 62:Afb(this,b.a);case 10:case 11:case 12:case 16:case 17:case 1:case 2:case 3:case 14:case 13:case 15:case 18:var Eh=b.c,th=b.a,Sg=Q0(this,th),id=O(b),Md=Q0(this,id);switch(Eh.a){case 54:case 55:case 10:case 11:case 56:case 12:var vj=
  2365. Rya(b.c);Sg.$b()?AV(this.a,b,Sg,"operator "+r(vj)):P0(this,th,K0,A([vj,Sg.toString()],B,y,1));Md.$b()?AV(this.a,b,Md,"operator "+r(vj)):P0(this,id,K0,A([vj,Md.toString()],B,y,1));break;case 60:case 61:case 59:case 58:case 62:case 16:case 17:case 15:case 14:case 18:zV(this.a,th,Sg,"left operand");zV(this.a,id,Md,"right operand");break;case 53:case 52:case 51:case 3:case 2:case 1:E0a(this.a,th,Sg,"bad left operand to bitwise operator");E0a(this.a,id,Md,"bad right operand to bitwise operator");break;
  2366. case 57:case 13:break;default:P0(this,b,Leb,A([Eh.toString()],B,y,1))}U0(this,b);break;case 38:case 37:case 19:case 24:T0(this,b,(I(),uv));break;case 72:var cj=Q0(this,c.a);var bi=Q0(this,b.a);var wj=this.a;Kra(cj,bi)||yV(wj,b.a,"case expression doesn't match switch",bi,cj);d=!1;break;case 81:var ci=b.a;Rh=Q0(this,ci);uV(this.a,ci,Rh,"with requires an object");d=!1;break;case 69:if(!BY(b)){var Sf=Fy(b.f);if(Sf.xa())Dfb(this,b,Sf);else if(Sf.Ja())Efb(this,b,Sf);else if(cH(b)){var Th=this.a,qi=HA(Sf);
  2367. vy(xV(Th,(I(),tv)),qi)||vV(Th,b,"An async generator function must return a (supertype of) AsyncGenerator",qi,(I(),tv))}else if(UG(b)){var ri=this.a,di=HA(Sf);vy(xV(ri,(I(),Ev)),di)||vV(ri,b,"A generator function must return a (supertype of) Generator",di,(I(),Ev))}else if(bH(b)){var ei=this.a,Qi=HA(Sf);if(!vy(ei.o,Qi)){var kk=V(b,t0a,A([Qi.toString()],B,y,1));oV(ei,Qi,ei.o,kk)}}}break;case 100:var Tg=Fy(b.f),Il=R(b);if(!Aw(Il)){var Fh=Il.f;if(Fh.xa()||Fh.Ja()){var dj=this.a,Hj=Fh.ha();if(Hj&&(Hj.xa()||
  2368. Hj.Ja())&&Hj.xa()==Tg.xa()){var Ij=Tz(Hj);if(Tg.xa()){var ej=Tg.Ic();if(ej){var Gh=Tz(ej);Ij.I(Gh)||yV(dj,b,"mismatch in declaration of superclass type",Ij,Gh)}}else Tg.Ja()}}else Fh.aa()||X(this.b,V(b,N0,A([Tg.xa()?"constructor":"interface",W0(b)],B,y,1)))}if(Tg.xa())Dfb(this,b,Tg);else if(Tg.Ja())Efb(this,b,Tg);else throw pb("CLASS node's type must be either constructor or interface: "+r(Tg)).s;break;case 116:Ffb(this,a,b);break;case 48:case 95:case 102:case 122:case 87:case 94:case 71:case 78:case 82:case 47:case 89:case 113:case 115:case 114:case 109:case 111:case 110:case 112:case 88:case 86:case 85:case 84:case 73:case 79:case 93:case 42:case 75:case 70:case 74:case 76:case 125:case 118:case 119:case 99:d=
  2369. !1;break;case 97:U0(this,b);wV(this.a,b,Q0(this,b),"array pattern destructuring requires an Iterable");break;case 98:var lk=Q0(this,b);uV(this.a,b,lk,"cannot destructure 'null' or 'undefined'");for(var Ug=BA(b).h();Ug.i();){var Jq=Ug.j(),Jj=wab(this.c,lk,Jq);if(Jj.a&&rH(Jj.a)){var ht=tab(Jj);J0a(this.a,ht,lk,Q0(this,ht.a))}else if(uab(Jj)){var un=vab(Jj);if(un.bb())lk.be()&&P0(this,un,(tV(),qV),A(["quoted","struct"],B,y,1));else{lk.Jg()&&P0(this,un,(tV(),qV),A(["unquoted","dict"],B,y,1));var gl=b,
  2370. uo=lk,vo=un,Iy=Q0(this,Jj.c);Fi(Xw(gl),gl);Fi(Lx(vo),vo);var it=null,km=gl.m();(kH(km)||Yw(km))&&gl.b&&(it=gl.b);xfb(this,uo,null,Iy,vo,it)}}}U0(this,b);break;case 127:V0(this,a,b,b.a,Q0(this,R(b)),null,"default value has wrong type");var jt=b.a;var kt=R(b);Zw(jt)?wV(this.a,kt,Q0(this,kt),"array pattern destructuring requires an Iterable"):$w(jt)&&uV(this.a,kt,Q0(this,kt),"cannot destructure a 'null' or 'undefined' default value");d=!1;break;case 101:for(var hl=Tz(c.f.ha()),Kq=b.a;Kq;Kq=Kq.b)if(Gfb(this,
  2371. Kq,b.m(),hl),VH(Kq)||CH(Kq)){var Ep=Kq,Fp=c.f.ha(),lt=Ep.l(),Lq=O(Ep).f.ha();if(CH(Ep)){var Jl=Lq;var mt=Jl.b.g?qy(this.c,(I(),ew)):HA(Jl)}else mt=qp(CA(Lq),null);var Hm=mt,rw=TG(Ep)?Fp.Sa(lt):IA(Fp).Sa(lt);Hm.I(rw)||P0(this,Ep,Neb,A([lt,CH(Ep)?Hm.toString():rw.toString(),CH(Ep)?rw.toString():Hm.toString()],B,y,1))}d=!1;break;case 77:var nt=R(b);Q0(this,nt).be()&&P0(this,nt,Keb,A([],B,y,1));d=!1;break;case 105:case 106:U0(this,R(b));d=!1;break;case 65:case 63:case 46:case 64:case 66:b.f?U0(this,b):
  2372. SH(b)&&c.f instanceof Qz?R0(b,c.f):U0(this,b);if(SH(b))for(var Jy=Q0(this,b),Au=BA(b).h();Au.i();){var Vr=Au.j();Gfb(this,Vr,b,Jy)}break;case 120:case 121:var lm=fF(b);U0(this,lm);var ot=Q0(this,lm);switch(b.m().c.a){case 46:break;case 45:case 28:case 23:wV(this.a,lm,ot,"Spread operator only applies to Iterable types");break;default:throw pb("Unexpected parent of SPREAD: "+r(uD(b.m()))).s;}d=!1;break;default:P0(this,b,Leb,A([b.c.toString()],B,y,1)),U0(this,b)}if(k4a(b)){var wo=CT(a),Bu=Q0(this,wo);
  2373. if(iy(Bu)){var xo=HA(Bu.ha());xo?bH(wo)&&(xo=C_(this.c,xo)):xo=S0(this,(I(),fw));var sw=Q0(this,b);CV(this.a,b,sw,xo,"inconsistent return type")}}if((BH(b.m())||vya(b.m()))&&q(b.m().a,b))a:{var si=b.m(),vn=si.a,EB=R(si),Cu=Q0(this,EB);if(vya(si)){var rG=D0a(this.a,EB,Cu,"Can only async iterate over a (non-null) Iterable or AsyncIterable type");if(null==rG.a)break a;var Du=Cf(rG)}else wV(this.a,EB,Cu,"Can only iterate over a (non-null) Iterable type"),Du=sB(Cu.Fc().Ma(),G(this.c.b));PI(vn)&&(vn=vn.a);
  2374. Yw(vn)&&(vn=vn.a);V0(this,a,si,vn,Du,nG(vn),"declared type of for-of loop variable does not match inferred type")}if(d=d&&!this.U){var sG=b.f;sG?sG.aa()?(this.F&&X(this.b,V(b,Meb,A([],B,y,1))),this.K++):this.o++:this.v++}if(nG(b)){var pt=nG(b);Hfb(this,b,ZD(pt));Hfb(this,b,QD(pt,1073741824));Hfb(this,b,QD(pt,-2147483648));for(var FB=KD(pt).h();FB.i();){var tw=FB.j();Hfb(this,b,LD(pt,tw))}}};
  2375. function Cfb(a,b,c){"number"===c||"string"===c||"boolean"===c||"undefined"===c||"function"===c||"object"===c||"symbol"===c||"unknown"===c||X(a.a.c,V(b,s0a,A([c],B,y,1)))}
  2376. function V0(a,b,c,d,e,f,h){if(Xw(d))for(e=yab(a.c,e,d).h();e.i();)d=e.j(),V0(a,b,c,d.c,Cab(d),null,h);else a:{Fi(L(d)||N(d)||DH(d)||nH(d),d);if(N(d)){var k=d.a,m=Q0(a,k),p=O(d).l();if(N(k)&&Q0(a,k.a).Ja()&&li(O(k).l(),"prototype"))if(kH(d.m())){var t=R(d.m());iy(Q0(a,t))||Ifb(a,k);P(t)&&!G2a(mX(t))&&X(a.b,V(k,Yeb,A([MX(a.b).fj()],B,y,1)))}else Ifb(a,k);yfb(a,b,f,e,c);Afb(a,d);if("prototype"===p){a=a.a;iy(m)&&m.ha().xa()&&uV(a,c,e,"cannot override prototype with non-object");break a}t=(m=Uy(m.Ia()))&&
  2377. ty(m,p)&&!fsa(m,p)?m.Sa(p):S0(a,(I(),ew));if(N(k)&&li(R(k).l(),"prototype")){var v=Q0(a,k.a).ha();v&&wA(v)&&(Jfb(a,c,v,p,f,t),Kfb(a,c,v,f))}else(v=Q0(a,k).ha())&&wA(v)&&Lfb(a,c,v,p,f,t);if(!t.aa()){Mfb(m,p)||K0a(a.a,c,e,t,k,p);break a}}f=Q0(a,d);if(DC(d)&&(k=FT(b).T(EC(d)))){if(k.Vb()||SC(PX(d))&&!q(FT(b),k.ya()))break a;k.qa()&&(f=k.qa())}CV(a.a,c,e,f,h)}}
  2378. function Afb(a,b){if(N(b)){var c=Q0(a,b.a);if(!uy(c)&&!c.aa()){var d=O(b),e=d.l();e=lva(a.c,c,e);cd(e,(YB(),VB))||(c.be()?P0(a,d,Oeb,A([],B,y,1)):(c.xc()||c.aa()||!vy(c,S0(a,(I(),mw))))&&Nfb(a,b.a,c,R(b),e,!0))}}}function Ofb(a,b,c,d,e){d&&wA(d)&&(Jfb(a,b.a,d,c,nG(b),e.Sa(c)),Kfb(a,b,d,nG(b)))}
  2379. function Gfb(a,b,c,d){if(eG(c))U0(a,b);else if(rH(b))J0a(a.a,b,d,Q0(a,b.a));else if(b.bb()?d.be()&&P0(a,b,kA(c)?Peb:Qeb,A(["struct"],B,y,1)):d.Jg()&&!VW(b)&&P0(a,b,kA(c)?Peb:Qeb,A(["dict"],B,y,1)),!qx(b)){var e=edb(b,Q0(a,b.a));e||(e=S0(a,(I(),ew)));var f=d=Q0(a,b);f.Wb()&&(f=f.Wb().b);K0a(a.a,b,e,f,c,GX(b))?R0(b,e):U0(a,b);e=Q0(a,c);if(e=Uy(e.Ia())){f=GX(b);if(kA(c)){var h=e.ha();TG(b)?Lfb(a,b,h,f,nG(b),h.Sa(f)):Ofb(a,b,f,h,Tz(h))}else Ofb(a,b,f,e.vc(),e);!ty(e,f)||fsa(e,f)||Mfb(e,f)||K0a(a.a,b,
  2380. d,e.Sa(f),c,f)}}}function Mfb(a,b){for(;a;a=a.Va()){var c=Bz(a,b);if(c&&Ay(c,8192))return!0}return!1}
  2381. function Jfb(a,b,c,d,e,f){if("__proto__"!==d&&"constructor"!==d&&!c.Ja()&&!Pfb(c)){var h=!1,k=c.Ic();if(k){k=dsa(Tz(k),d);var m=!!k&&!zsa(k);h=!!(+h|+m);m&&(m=ysa(k),k.b.Vb()||(E(c.xa()),!Dz(IA(c),d)&&!Dz(Tz(c),d)||e&&Ay(e,64)||X(a.b,V(b,Reb,A([d,m.Ba()],B,y,1))),R0a(a.a,b,c.vb(),m,d,f)))}for(f=nta(c).h();f.i();)k=f.j(),k.aa()||uy(k)||(F(k.cd(),k),k=dsa(k,d),m=!!k,h=!!(+h|+m),!m||e&&Ay(e,64)||X(a.b,V(b,Seb,A([d,ysa(k).Ba()],B,y,1))));!h&&e&&Ay(e,64)&&X(a.b,V(b,Teb,A([d,Tz(c).Ba()],B,y,1)))}}
  2382. function Lfb(a,b,c,d,e,f){var h=!!e&&Ay(e,64);(e=ada(Gda(sg(Ak(esa(c)),fd(function(k){return Dz(k,d)})))))?(h||X(a.b,V(b,Veb,A([d,e.toString()],B,y,1))),c=e.Sa(d),vy(f,c)||X(a.b,V(b,Web,A([d,e.toString(),c.toString(),f.toString()],B,y,1)))):h&&!c.Aj()&&X(a.b,V(b,Ueb,A([d,c.toString()],B,y,1)))}function Kfb(a,b,c,d){d&&Ay(d,268435456)&&c.xa()&&!c.A&&P0(a,b,Xeb,A([],B,y,1))}
  2383. function Pfb(a){D(a.xa()||a.Ja());for(D(!a.aa());;){a=IA(a).Va();if(!a)return!1;if(a.aa()||uy(a))return!0;a=a.ua();if(!a)return!1;E(a.xa()||a.Ja())}}function edb(a,b){z_();if(b)switch(a.c.a){case 90:if(iy(b))b=HA(b.ha());else return null;break;case 91:if(iy(b))b=b.ha().b.b.a.f;else return null}return b}function Ifb(a,b){var c=MX(a.b).fj();c=null!=c?", or "+r(c):"";X(a.b,V(b,Zeb,A([c],B,y,1)))}
  2384. function xfb(a,b,c,d,e,f){var h=e.l();if(d.I(qy(a.c,(I(),ew))))if(b=b.Fc(),d=Uy(b)){if(!ty(d,h)||d.I(qy(a.c,(I(),ew))))d instanceof Qz?P0(a,c?c:e,afb,A([h],B,y,1)):Qfb(a,d,e,f,c,!1)}else Qfb(a,b,e,f,c,!1);else{if(h=jy(b)&&c)h=c.m(),h=!((oza(h)||XI(h))&&q(h.a,c));h&&Qfb(a,b,e,f,c,!0)}}
  2385. function Qfb(a,b,c,d,e,f){if(!(!a.A||uy(b)||e&&cI(e.m()))){var h=c.l();h=lva(a.c,b,h);if(!cd(h,(YB(),VB))){var k=cd(h,(YB(),WB))||cd(h,(YB(),Eua)),m=b.aa();if(!k||!m){var p=b.be();if(m=!!e)m=e.m(),m=DC(e)&&kH(m)&&q(m.a,e);m=m&&!p;if(p=!p&&!!e){p=e.m();var t;if(!(t=K3a(a.b,e)))a:switch(T(),t=e.m(),t.c.a){case 4:case 39:var v=q(t.a,e)?R(t):t.a;t=aX(v)||q(t.c,(H(),js))&&QH(v);break a;default:t=!1}p=t||DC(e)&&yH(p)}Nfb(a,d,b,c,h,f||k||m||p)}}}}
  2386. function Nfb(a,b,c,d,e,f){var h=d.l(),k=c.I(S0(a,(I(),Tv)));k=c.aa()||c.bd()||k;e=cd(e,(YB(),Eua));var m=null;k||e||(m=Rfb(c,h,(h.length-1)/4|0));m?P0(a,d,f?bfb:cfb,A([h,b?CC(a.c,b,!0):c.toString(),m.b],B,y,1)):P0(a,d,f?e?dfb:efb:k?L0:M0,A([h,b?CC(a.c,b,!0):c.toString()],B,y,1))}
  2387. function Rfb(a,b,c){if(0>=c)return null;var d=null,e=c;if(Wy(a))for(a=Vz(a.lc()).h();a.i();){var f=a.j();if(!(Math.abs(f.length-b.length)>e)){cla();var h=bla,k=Pn(b,""),m=h.b.a(Ml(k));h=h.a.a(m.a(k),m.b());k=new Ala;k.b=h;k.a=m;m=k;h=Pn(f,"");k=e;Gi(0<=k,"Expected nonnegative limit, but found %s.",k);m=m.b.c(m.a.a(h),k);m<=e&&!(m==e&&null!=d&&0<kc(f.toLowerCase(),d.toLowerCase()))&&(e=m,d=f)}}else if(jy(a))for(a=Zy(a).h();a.i();)f=a.j(),(f=Rfb(f,b,c))&&f.a<=e&&!(f.a==e&&null!=d&&0<kc(f.b.toLowerCase(),
  2388. d.toLowerCase()))&&(e=f.a,d=f.b);null!=d&&e<=c?(b=new Lab,b.b=d,b.a=e,d=b):d=null;return d}function Sfb(a,b,c,d,e,f){var h=f.Va(),k;h?k=h.Hc():k=dm();for(h=k.h();h.i();){k=h.j();var m=d.get(k);e.C(k,f);if(m){var p=f.Sa(k),t=m.Sa(k);hz(p,t,a.f)||hz(t,p,a.f)||iy(p)&&iy(t)&&vta(p.ha(),t.ha())||X(a.b,V(b,hfb,A([c,k,m.toString(),f.toString()],B,y,1)))}}for(f=f.Fe().h();f.i();)h=f.j(),Sfb(a,b,c,d,e,h)}
  2389. function Dfb(a,b,c){var d=c.Ic();if(!bd(d,S0(a,(I(),Uv)))&&d&&d.Ja())X(a.b,V(b,N0,A(["constructor",W0(b)],B,y,1)));else{P(b)&&d&&d.c&&kA(d.c)&&!kA(c.c)&&X(a.b,V(b,ifb,A([c.tc(),d.tc()],B,y,1)));d=pm();for(var e=c.U.h();e.i();){var f=e.j(),h=!1,k=Uy(f);k?(k=k.ua())&&!k.Ja()&&(h=!0):h=!0;h&&P0(a,b,jfb,A([W0(b)],B,y,1));f=yy(f)?uz(f.Xb()):f;d.add(f)||P0(a,b,kfb,A([f.toString()],B,y,1))}O0a(a.a,b,c);if(!c.A&&(a=a.a,D(c.xa()),d=Uf(),(e=c.Ic())&&e.A)){for(;e&&e.A;){f=Tz(e);for(h=IA(e).Hc().h();h.i();){k=
  2390. h.j();var m=Sy(f,k).ha();m&&m.A&&!d.X(k)&&d.C(k,f)}e=e.Ic()}c=Tz(c);for(d=d.V().h();d.i();)f=d.j(),e=f.M(),f=f.O(),(h=Sy(c,e).ha())&&!h.A||oV(a,c,f,V(b,A0a,A([e,f.toString(),c.toString()],B,y,1)))}}}
  2391. function Efb(a,b,c){for(var d=c.u.h();d.i();){var e=d.j();e.ua()&&!e.ua().Ja()&&X(a.b,V(b,N0,A(["interface",W0(b)],B,y,1)))}if(1<c.u.w()){d=bf();e=Uf();for(var f=c.u.h();f.i();){var h=f.j();e.Fa();Sfb(a,b,W0(b),d,e,h);d.Ud(e)}}if(d=asa(c,ef(),w())){e="";for(f=0;f<d.w()-1;f++)e=r(e)+String(r(d.G(f).tc())+" -> ");e=r(e)+r(rp(d).tc());X(a.b,V(b,lfb,A([d.G(0).tc(),e],B,y,1)))}O0a(a.a,b,c)}function W0(a){E(kA(a)||P(a));var b=tY(sY(a));return null!=b?b:"<anonymous@"+r(WA(a))+":"+XA(a)+">"}
  2392. function zfb(a,b,c){var d=AA(c).h(),e=EY(b).h();Bfb(a,b,c,e,d,0)}
  2393. function Bfb(a,b,c,d,e,f){for(var h=0,k=!0,m=null,p;d.i();)if(p=d.j(),qx(p)?(h++,k=!1):f++,k&&(e.i()?m=e.j():m&&EA(m)||(m=null,k=!1)),k){var t=a.a,v=p;p=Q0(a,p);var C=Q0(a,m),J=b,K=f;vy(p,C)?ez(p,C)||(P_a(t.b,v,p,C),N_a(t.b,v,p,C)):yV(t,v,CN("actual parameter %d of %s does not match formal parameter",[Fc(K),CC(t.a,J.a,!1)]),p,C)}d=lta(c);c=FA(c);0<h?f>c&&P0(a,b,O0,A([CC(a.c,b.a,!1),"at least "+String(""+f),""+d,2147483647==c?"":" and no more than "+c+" argument(s)"],B,y,1)):(d>f||c<f)&&P0(a,b,O0,
  2394. A([CC(a.c,b.a,!1),""+f,""+d,2147483647==c?"":" and no more than "+c+" argument(s)"],B,y,1))}function Ffb(a,b,c){var d=p_(a.b.A,new KUa(function(){return AT(b)}),c);if(OV(d.a)){var e=Wx(d.b);d=c.a;if(e.Ed()){var f=a.g.T(e.Vc());CV(a.a,d,c.f,f.qa(),"legacy goog.module export")}else(f=(f=a.g.Ac(e.fe()))?zy(f):null)&&L0a(a.a,d,c.f,f.Sa(e.Wd()),f,ij(function(){return e.fe().Vc()}),e.Wd())}}
  2395. function yfb(a,b,c,d,e){c&&iE(c)&&d.fd()&&CV(a.a,e,d.fd().b.b,sD(QD(c,1610612736),FT(b),a.c),"incompatible enum element types")}function Q0(a,b){return(b=b.f)?b:S0(a,(I(),ew))}function U0(a,b){R0(b,S0(a,(I(),ew)))}function T0(a,b,c){R0(b,S0(a,c))}function R0(a,b){E(!P(a)||iy(b)||b.aa());a.f||Q(a,b)}function Tfb(a){var b=a.v+a.K+a.o;return 0==b?0:100*a.o/b}function S0(a,b){return qy(a.c,b)}function Hfb(a,b,c){c&&c.a.f&&(c=X0(a,c.a.f,ef()))&&X(a.b,V(b,qfb,A([c.toString()],B,y,1)))}
  2396. function Y0(a,b){if(b.aa()||xra(b)||wra(b)||wy(b)||b.Nk()||b.rj()||b.Ok()||b.Sl()||b.Ja()||hy(b)||b.Kc()||b.Zb())return!0;if(b.Wb())return Y0(a,b.Wb().b);if(b.Af())return!0;if(yy(b)){var c=b.Xb();if(c.c.Af())return Y0(a,c.Td().G(0))}if(b instanceof HB)return Y0(a,b.b);if(jy(b)){for(b=Zy(b.nb()).h();b.i();)if(c=b.j(),!Y0(a,c))return!1;return!0}return b.Ab()?(b=zy(b),(c=b.ua())&&c.Ja()?!0:Ufb(a,b)):!1}
  2397. function X0(a,b,c){if(c.B(b))return null;c.add(b);if(yy(b)){var d=b.Ma();var e=pC(a.c);d=pB(d,e)?!Y0(a,sB(d,e)):!1}else d=!1;if(d)return b;if(jy(b))for(d=Zy(b.nb()).h();d.i();)if(e=d.j(),e=X0(a,e,c))return e;if(yy(b))for(d=b.Xb().Td().h();d.i();)if(e=d.j(),e=X0(a,e,c))return e;if(b.Xf()){b=b.ha();for(d=AA(b).h();d.i();)if(e=d.j(),e=X0(a,e.f,c))return e;return X0(a,HA(b),c)}return null}function Ufb(a,b){var c=b.Mb("toString");return c?iy(c.qa()):(b=b.Va())&&!b.Eb()?Ufb(a,b):!1}
  2398. function z_(){z_=function(){};Leb=U("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN","Internal Error: TypeCheck doesn''t know how to handle {0}");Jeb=AJ("JSC_DETERMINISTIC_TEST","condition always evaluates to {2}\nleft : {0}\nright: {1}");afb=AJ("JSC_INEXISTENT_ENUM_ELEMENT","element {0} does not exist on this enum");M0=AJ("JSC_INEXISTENT_PROPERTY","Property {0} never defined on {1}");L0=BJ("JSC_POSSIBLE_INEXISTENT_PROPERTY","Property {0} never defined on {1}");cfb=AJ("JSC_INEXISTENT_PROPERTY_WITH_SUGGESTION",
  2399. "Property {0} never defined on {1}. Did you mean {2}?");efb=BJ("JSC_STRICT_INEXISTENT_PROPERTY","Property {0} never defined on {1}");dfb=BJ("JSC_STRICT_INEXISTENT_UNION_PROPERTY","Property {0} not defined on all member types of {1}");bfb=BJ("JSC_STRICT_INEXISTENT_PROPERTY_WITH_SUGGESTION","Property {0} never defined on {1}. Did you mean {2}?");ffb=AJ("JSC_NOT_A_CONSTRUCTOR","cannot instantiate non-constructor");gfb=AJ("JSC_INSTANTIATE_ABSTRACT_CLASS","cannot instantiate abstract class");K0=AJ("JSC_BAD_TYPE_FOR_BIT_OPERATION",
  2400. "operator {0} cannot be applied to {1}");nfb=AJ("JSC_NOT_FUNCTION_TYPE","{0} expressions are not callable");ofb=AJ("JSC_CONSTRUCTOR_NOT_CALLABLE",'Constructor {0} should be called with the "new" keyword');$eb=AJ("JSC_ABSTRACT_SUPER_METHOD_NOT_USABLE","Abstract super method {0} cannot be dereferenced");Ieb=AJ("JSC_FUNCTION_MASKS_VARIABLE","function {0} masks variable (IE bug)");eeb=AJ("JSC_MULTIPLE_VAR_DEF","declaration of multiple variables with shared type information");rfb=U("JSC_ENUM_DUP","enum element {0} already defined");
  2401. Zeb=AJ("JSC_INVALID_INTERFACE_MEMBER_DECLARATION","interface members can only be empty property declarations, empty functions{0}");Yeb=AJ("JSC_INTERFACE_METHOD_NOT_EMPTY","interface member functions must have an empty body");N0=AJ("JSC_CONFLICTING_EXTENDED_TYPE","{1} cannot extend this type; {0}s can only extend {0}s");ifb=AJ("JSC_ES5_CLASS_EXTENDING_ES6_CLASS","ES5 class {0} cannot extend ES6 class {1}");mfb=AJ("JSC_ES6_CLASS_EXTENDING_CLASS_WITH_GOOG_INHERITS","Do not use goog.inherits with ES6 classes. Use the ES6 `extends` keyword to inherit instead.");
  2402. lfb=AJ("JSC_INTERFACE_EXTENDS_LOOP","extends loop involving {0}, loop: {1}");sfb=AJ("JSC_CONFLICTING_IMPLEMENTED_TYPE","{0} cannot implement this type; an interface can only extend, but not implement interfaces");jfb=AJ("JSC_IMPLEMENTS_NON_INTERFACE","can only implement interfaces");Reb=BJ("JSC_HIDDEN_SUPERCLASS_PROPERTY","property {0} already defined on superclass {1}; use @override to override it");Veb=BJ("JSC_PROTOTYPAL_HIDDEN_SUPERCLASS_PROPERTY","property {0} already defined on supertype {1}; use @override to override it");
  2403. Seb=BJ("JSC_HIDDEN_INTERFACE_PROPERTY","property {0} already defined on interface {1}; use @override to override it");Web=AJ("JSC_HIDDEN_PROTOTYPAL_SUPERTYPE_PROPERTY_MISMATCH","mismatch of the {0} property type and the type of the property it overrides from supertype {1}\noriginal: {2}\noverride: {3}");Teb=AJ("JSC_UNKNOWN_OVERRIDE","property {0} not defined on any superclass of {1}");Ueb=AJ("JSC_UNKNOWN_PROTOTYPAL_OVERRIDE","property {0} not defined on any supertype of {1}");tfb=AJ("JSC_INTERFACE_METHOD_OVERRIDE",
  2404. "property {0} is already defined by the {1} extended interface");Meb=AJ("JSC_UNKNOWN_EXPR_TYPE","could not determine the type of this expression");ufb=AJ("JSC_UNRESOLVED_TYPE","could not resolve the name {0} to a type");O0=AJ("JSC_WRONG_ARGUMENT_COUNT","Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}.");H$a=AJ("JSC_ILLEGAL_IMPLICIT_CAST","Illegal annotation on {0}. @implicitCast may only be used in externs.");hfb=AJ("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",
  2405. "Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}");pfb=AJ("JSC_EXPECTED_THIS_TYPE",'"{0}" must be called with a "this" type');Keb=AJ("JSC_IN_USED_WITH_STRUCT","Cannot use the IN operator with structs");Oeb=AJ("JSC_ILLEGAL_PROPERTY_CREATION","Cannot add a property to a struct instance after it is constructed. (If you already declared the property, make sure to give it a type.)");Qeb=AJ("JSC_ILLEGAL_OBJLIT_KEY","Illegal key, the object literal is a {0}");
  2406. Peb=AJ("JSC_ILLEGAL_CLASS_KEY","Illegal key, the class is a {0}");qfb=AJ("JSC_NON_STRINGIFIABLE_OBJECT_KEY",'Object type "{0}" contains non-stringifiable key and it may lead to an error. Please use ES6 Map instead or implement your own Map structure.');Xeb=AJ("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS","Abstract methods can only appear in abstract classes. Please declare the class as @abstract");Neb=AJ("JSC_CONFLICTING_GETTER_SETTER_TYPE","The types of the getter and setter for property ''{0}'' do not match.\ngetter type is: {1}\nsetter type is: {2}");
  2407. kfb=AJ("JSC_SAME_INTERFACE_MULTIPLE_IMPLEMENTS","Cannot @implement the same interface more than once\nRepeated interface: {0}");vfb=nU(A([Jeb,afb,M0,L0,cfb,ffb,gfb,K0,nfb,ofb,Ieb,eeb,rfb,Zeb,Yeb,N0,sfb,jfb,(tV(),z0a),Web,Teb,Ueb,tfb,ufb,O0,H$a,hfb,pfb,Keb,Peb,Oeb,Qeb,qfb,Xeb,$eb,ifb,kfb,(nV(),S_a),mV,(C0(),cdb),bdb,Gdb,Hdb,(F_(),Vfb)],zJ,CJ,1))}J0.prototype.la=!0;function Z0(){}l(Z0,n);
  2408. function Wfb(a,b){if(b=Uy(b)){if(uy(b))return E_(a.a,(F_(),H_),A(["@implements",a.a.c],B,y,1)),!1;if(b.aa()){if(Gab(b))return!0;E_(a.a,(F_(),H_),A(["@implements",a.a.c],B,y,1));return!1}return!0}b=a.a;var c=(z_(),jfb);a=A([a.a.c],B,y,1);X(b.Ha,V(b.ja,c,a));return!1}Z0.prototype.Ca=function(a){return this.ca(a)};Z0.prototype.cb=function(){return hd(this)};Z0.prototype.ca=function(a){return Wfb(this,a)};function $0(){}var Xfb;l($0,n);$0.prototype.a=function(){return null};$0.prototype.f=function(){return!0};
  2409. $0.prototype.g=function(){return!0};$0.prototype.o=function(){return!0};function Yfb(){Yfb=function(){};Xfb=new $0}function Zfb(){this.Za=this.Kb=this.v=this.ta=this.Lb=this.K=this.u=this.rb=this.za=!1}var Fab,H_,Vfb,a1,$fb,agb,bgb,cgb,b1,dgb,egb,fgb,ggb,hgb,igb;l(Zfb,n);
  2410. function mdb(a,b,c,d){F_();var e=new Zfb;Yfb();e.b=Xfb;e.A=null;e.za=!1;e.Oa=null;e.pa=null;e.$=null;e.jb=null;e.rb=!1;e.u=!1;e.K=!1;e.Lb=!1;e.ta=!1;e.v=!1;e.Kb=!1;e.Za=!1;e.f=null;e.Ob=null;e.o=Ll();e.kb=Ll();e.F=null;G(c);e.c=a||"";e.Da=MX(b);e.a=eJ(b);e.ja=c;e.Ha=b;e.g=d;return e}function G_(a){return te(a.c)?"<anonymous>":a.c}function Ddb(a,b,c){b&&(b=c?ZD(b):QD(b,1073741824))&&(a.A=sD(b,a.g,a.a),a.za=!1)}
  2411. function odb(a,b){b&&(zX(a.ja)||(a.u=dE(b),a.v=eE(b),a.Kb=Ay(b,134217728),a.K=Ay(b,4194304),a.Lb=Ay(b,2097152),a.ta=Ay(b,8388608)),a.Za=Ay(b,268435456));a.rb&&(a.u=!a.v,a.K=!b||!a.ta&&!Ay(b,2097152));!a.K||a.u||a.v?a.ta&&!a.u&&E_(a,a1,A(["@dict",G_(a)],B,y,1)):E_(a,a1,A(["@struct",G_(a)],B,y,1));return a}
  2412. function qdb(a,b,c){if(b&&ND(b))if(a.u||a.v){var d=zy(sD(ND(b),a.g,a.a));d.Ef(Dab(a))&&(a.$=d)}else E_(a,$fb,A([G_(a)],B,y,1));else c&&(a.u||a.v)&&(a.$=c);if(b&&0<lE(b))if(a.u)for(a.Oa=w(),d=PD(b).h();d.i();){var e=sD(d.j(),a.g,a.a),f=new Z0;f.a=a;e.Ef(f)&&a.Oa.add(e)}else a.v?E_(a,(z_(),sfb),A([G_(a)],B,y,1)):E_(a,a1,A(["@implements",G_(a)],B,y,1));if(a.v){a.pa=w();if(b)for(b=RD(b).h();b.i();)(d=sD(b.j(),a.g,a.a))&&d.Ef(Dab(a))&&zy(d)&&a.pa.add(zy(d)),c&&vy(d,c)&&(c=null);c&&c.Ef(Dab(a))&&a.pa.add(c)}return a}
  2413. function tdb(a,b,c){if(!b){if(c){for(var d=Iw(A([],lx,eI,1)),e=KD(c).h();e.i();){var f=e.j();M(d,rx(f))}a=tdb(a,d,c)}return a}e=null;a.f&&(e=a.f.a);d=RA(a.a);f=!1;var h=c?ff(KD(c)):ef(),k=!1,m=0;for(b=BA(b).h();b.i();){var p=b.j(),t=!1;if(Jw(p))k=!0,p=fF(p);else if(vH(p))p=Li(p.a,p),t=!0;else{k=a;t=p;k=Xw(t)?!1:k.Da.Uk(t);t=a;var v=p;t=Xw(v)?!1:t.Da.Sk(v)}v=null;if(L(p))v=p.l();else if(E(Xw(p)),c){v=c;var C=m;v=!v.a||!v.a.a||C>=v.a.a.wa()?null:pp(v.a.a.oa(),C)}h.sa(v);c&&LD(c,v)?(v=LD(c,v),p=sD(v,
  2414. a.g,a.a),t=t||rD(v),k=k||pwa(v)):nG(p)&&gE(nG(p))?(k=ZD(nG(p)),p=sD(k,a.g,a.a),t=rD(k),k=pwa(k)):e&&e.f?(p=e.f,t=DA(e),k=EA(e)):p=qy(a.a,(I(),ew));f=!!(+f|+Cdb(a,d,p,f,t,k));e&&(e=e.b);m++}if(!k)for(;e&&!k;)Gta(d,e),e=e.b;for(c=h.h();c.i();)e=c.j(),E_(a,agb,A([e,G_(a)],B,y,1));a.f=d.a;return a}function sdb(a,b,c){if(!tp(b)&&(a.g=Tua(a.g,b),c))for(a=a.a,b=b.h();b.i();){var d=b.j();a.f.Mc(c,d.Ba(),d)}}
  2415. function rdb(a,b,c){var d=yE(b);b=zE(b);if(d.Qa()&&b.Qa())return Ll();for(var e=w(),f=d.oa().h();f.i();){var h=f.j();e.add(yB(a.a,h))}a.g=Tua(a.g,e);e=Mj();f=Uf();for(d=d.V().h();d.i();){h=d.j();var k=h.O(),m=PC(a.a,h.O(),a.g);!q(k,lD)&&k.I(lD)&&(k=A([r(m),h.M()],B,y,1),X(a.Ha,V(a.ja,bgb,k)));(k=FC(a.a,a.g,h.M()).bf())?f.C(k,m):f.C(sva(a.a,h.M(),m),m)}for(f=f.V().h();f.i();)h=f.j(),d=h.M(),m=h.O(),h=d,h.g=m,tB(h,m),e.W(d);for(b=b.V().h();b.i();)f=b.j(),c?e.W(tva(a.a,f.M(),f.O())):E_(a,cgb,A([f.M()],
  2416. B,y,1));c=e.fa();for(b=c.h();b.i();)f=b.j(),$ta(f)&&(e=(nV(),R_a),f=A(["Cycle detected in inheritance chain of type "+r(f.Ba())],B,y,1),X(a.Ha,V(a.ja,e,f)));return c}function ndb(a,b,c){var d;if(d=b)(d=(d=(d=KB(a.a,null,a.c))?zy(d):null)&&d.Eb()?Ly(d):null)&&XD(b).w()==d.w()?(a.o=d,d=!0):d=!1,d=!d;d&&(b=rdb(a,b,!(a.u||a.v)),b.D()||(a.o=b));c=c?c.Ma().a:Ll();a.o.D()&&c.D()||sdb(a,yk(A([a.o,c],wc,Ac,1)),a.b.a());return a}
  2417. function Cdb(a,b,c,d,e,f){var h=!1;e?SA(b,A([c],ly,ey,1))||d||(E_(a,b1,A([],B,y,1)),h=!0):f?kB(b,c)||d||(E_(a,b1,A([],B,y,1)),h=!0):iB(b,A([c],ly,ey,1))||d||(Eta(b)?E_(a,b1,A([],B,y,1)):E_(a,dgb,A([],B,y,1)),h=!0);return h}
  2418. function udb(a){if(!a.A){if(a.b.a()&&cH(a.b.a())){var b=Lz(a.a,(I(),tv));a.A=MC(a.a,b,A([qy(a.a,ew)],ly,ey,1))}else a.b.a()&&UG(a.b.a())?(b=Lz(a.a,(I(),Ev)),a.A=MC(a.a,b,A([qy(a.a,ew)],ly,ey,1))):(b=qy(a.a,(I(),ew)),a.b.g()||a.b.o()||a.b.f()||(b=qy(a.a,fw),a.za=!0),a.b.a()&&bH(a.b.a())?a.A=MC(a.a,qy(a.a,Sv),A([b],ly,ey,1)):a.A=b);G(a.A)}if(!a.f)throw pb("All Function types must have params and a return type").s;if(a.u)a:{b=KA(LA(PA($A(aB(SB(MA(a.a)),a.c),a.b.a()),a.f),a.A),a.o);b.U=nm(a.kb);b=QA(yua(b,
  2419. a.Za));a.K?yA(b):a.ta?b.$=(sA(),zA):a.Lb&&(b.$=(sA(),xA));var c=uC(a.a,a.F,a.c);if(c){var d=c.cd();if(d||"Function"===a.c){c=d?zy(c).ua():vra(a.a,(I(),Bv));c.c||xta(c,a.b.a());vta(c,b)||E_(a,egb,A([G_(a),b.toString(),c.toString()],B,y,1));c.Eb()&&jgb(a,c);b=c;break a}}jgb(a,b);if(!te(a.U)&&!zi(a.U,"this.")){c=a.a;d=a.F;var e=a.U,f=Tz(b);E(!te(e));uC(c,d,e)||c.f.Mc(rC(c,d),e,f)}}else a.v?(b=null,(c=KB(a.a,a.F,a.U))&&c.cd()&&(c=zy(c).ua(),c.Ja()&&(b=c,xta(b,a.b.a()))),b||(d=a.c,e=a.b.a(),c=a.o,b=a.K,
  2420. d=$A(aB(xua(MA(a.a)),d),e),d.f=zw((H(),Qs)),c=QA(KA(d,c?c:Ll())),b&&yA(c),b=c,te(a.c)||(c=a.a,d=a.F,e=a.U,f=Tz(b),E(!te(e)),uC(c,d,e)||c.f.Mc(rC(c,d),e,f)),jgb(a,b))):(b=PA($A(aB(MA(a.a),a.c),a.b.a()),a.f),c=a.za,b.c=a.A,b.A=c,b=yua(KA(VA(b,a.jb),a.o),a.Za),b.u=a.Ob,b=QA(b),jgb(a,b));a.Oa&&b.xa()&&qta(b,a.Oa);a.pa&&rta(b,a.pa);a.Kb&&(a=b,E(a.Ja()),a.kb=!0);return b}function jgb(a,b){wA(b)&&a.$&&(vA(b,a.$,null),Era(Tz(b),a.$))}function E_(a,b,c){X(a.Ha,V(a.ja,b,c))}
  2421. function Idb(a){F_();return 0<kE(a)||hE(a)||!!a.f||dE(a)||eE(a)||Ay(a,268435456)}function Gab(a){F_();D(a.aa());var b=a.ua();if(b)for(b=b.u.h();b.i();)if(!b.j().f)return!0;return a.Va()?!a.Va().f:!1}
  2422. function F_(){F_=function(){};$fb=AJ("JSC_EXTENDS_WITHOUT_TYPEDEF","@extends used without @constructor or @interface for {0}");Fab=AJ("JSC_EXTENDS_NON_OBJECT","{0} @extends non-object type {1}");H_=AJ("JSC_RESOLVED_TAG_EMPTY","Could not resolve type in {0} tag of {1}");fgb=AJ("JSC_IMPLEMENTS_WITHOUT_CONSTRUCTOR","@implements used without @constructor or @interface for {0}");a1=AJ("JSC_CONSTRUCTOR_REQUIRED","{0} used without @constructor for {1}");b1=AJ("JSC_VAR_ARGS_MUST_BE_LAST","variable length argument must be last");
  2423. dgb=AJ("JSC_OPTIONAL_ARG_AT_END","optional arguments must be at the end");agb=AJ("JSC_INEXISTENT_PARAM","parameter {0} does not appear in {1}''s parameter list");egb=AJ("JSC_TYPE_REDEFINITION","attempted re-definition of type {0}\nfound : {1}\nexpected: {2}");cgb=AJ("JSC_TEMPLATE_TRANSFORMATION_ON_CLASS","Template type transformation {0} not allowed on classes or interfaces");ggb=AJ("JSC_TEMPLATE_TYPE_DUPLICATED","Only one parameter type must be the template type");hgb=AJ("JSC_TEMPLATE_TYPE_EXPECTED",
  2424. "The template type must be a parameter type");bgb=U("JSC_TEMPLATE_TYPE_ILLEGAL_BOUND","Illegal upper bound ''{0}'' on template type parameter {1}");Vfb=AJ("JSC_THIS_TYPE_NON_OBJECT","@this type of a function must be an object\nActual type: {0}");igb=nU(A([$fb,Fab,H_,fgb,a1,b1,dgb,agb,egb,cgb,ggb,hgb,bgb,Vfb,(z_(),kfb)],zJ,CJ,1))}function c1(){}l(c1,n);c1.prototype.Ca=function(a){return this.ca(a)};c1.prototype.cb=function(){return hd(this)};c1.prototype.ca=function(a){return q(a,this.a.a)};
  2425. function kgb(){this.c=!1}l(kgb,n);kgb.prototype.a=function(a){if(Dw(a)){a=a.l();var b=lq(kq(46),a).h().j();b=ET(this.g).T(b);!b||mL(b)&&!oL(b)?this.c?this.b.c.C(a,this.f):lgb(this.b,a):lgb(this.b,a)}};function mgb(){}var ngb,ogb,pgb,qgb,rgb;l(mgb,n);g=mgb.prototype;g.H=function(a,b){sgb(this);tT(this.f,this,a,b)};g.ra=function(a){sgb(this);Y(this.f,a,this)};
  2426. function tgb(a){var b=Mj();a=mq(ngb,a);for(var c=0;c<a.w();c++){var d=a.G(c);null!=d&&1<d.length&&dh(d.charCodeAt(0))&&b.W(tk(ogb,a.Gb(0,c+1)))}return b.fa()}function ugb(a,b){a=a.a;if(!N(a))return null;for(var c=0;c<b.length;c++)if(yG(a,b[c])){var d=a.b;if(d&&Dw(d))return d.l()}return null}g.ga=function(a,b,c){eH(b)&&yG(b.a,"goog.scope")&&(b=R(b),P(b)&&(this.o=mX(b)));return!c||!tC(c)||!pL(AT(a))};
  2427. g.J=function(a,b,c){var d=nG(b);if(d){if(P(b)||kA(b)||kH(b)&&(P(O(b))||kA(O(b)))||PI(b)&&b.a.a&&(P(hF(b))||kA(hF(b)))){for(var e=PD(d).h();e.i();){var f=e.j();vgb(this,a,b,f)}ND(d)&&vgb(this,a,b,ND(d));for(e=RD(d).h();e.i();)f=e.j(),vgb(this,a,b,f)}for(d=AE(d).h();d.i();){f=d.j();var h=a;e=b;var k=hk(),m=new kgb,p=m;p.b=this;p.g=h;p.c=!1;p.f=e;JX(f,m,k)}}switch(b.c.a){case 50:wgb(this,b);break;case 80:case 104:case 92:wgb(this,b);E(PI(b));gF(b)&&q(c,this.o)&&(b=hF(b))&&DC(b)&&(c=PX(b),L(c)&&(a=ET(a).T(c.l()),
  2428. (!a||mL(a)&&!oL(a))&&this.c.C(EC(b),b)));break;case 69:EI(b)&&wgb(this,b);break;case 32:DX(b)||N(c)||Bw(c)||xgb(this,b);break;case 26:!N(c)&&DC(b)&&xgb(this,b);break;case 28:d=ugb(b,A(["goog.require","goog.requireType"],B,y,1));if(null!=d)if(L(c))d1(this,c.l(),b);else if(Yw(c)&&$w(c.a))if(c.a.a)for(b=BA(c.a).h();b.i();)a=b.j().a,L(a)&&d1(this,a.l(),a);else d1(this,d,b);else d1(this,d,b);else d=ugb(b,A(["goog.provide"],B,y,1)),null!=d?this.a.add(d):(d=b.a,yG(d,"goog.module.get")&&Dw(R(b))&&this.g.add(R(b).l()),
  2429. this.u.tj(b)&&(L(c)?this.a.add(c.l()):kH(c)&&this.a.add(EC(c.a))),L(d)?this.g.add(d.l()):DC(d)&&(c=PX(d),L(c)&&(a=ET(a).T(c.l()),(!a||!oL(a)&&mL(a))&&this.c.C(EC(d),b))));break;case 89:b=ef();for(a=this.c.V().h();a.i();)d=a.j(),c=d.M(),d=d.O(),(e=ygb(this,c,d))&&(ki(c,".call")||ki(c,".apply")||ki(c,".bind"))&&(e=ne(c,0,ti(c,46)),e=ygb(this,e,d)),e&&!b.B(c)&&(eH(d)?(e=0<ti(c,46)?ne(c,0,ti(c,46)):c,e=qp(tgb(c),e),X(this.f,V(d,pgb,A([e],B,y,1)))):L(d.m())&&q(gG(d.m()),this.o)?X(this.f,V(d,qgb,A([c],
  2430. B,y,1))):N(d)&&!kA(d.m())?X(this.f,V(d,pgb,A([c],B,y,1))):X(this.f,V(d,rgb,A([c],B,y,1))),b.add(c));sgb(this);break;case 23:c=b.a;if(DC(c)&&(d=PX(c),L(d)&&(d=d.l(),a=ET(a).T(d),!a||!oL(a)&&!q(a.Me(),Sz(b)))))for(this.c.C(EC(c),b);c;c=c.a)this.g.add(EC(c));break;case 100:c=TT(b);null!=c&&this.a.add(c);b=R(b);DC(b)&&(c=PX(b),L(c)&&(c=c.l(),a=ET(a).T(c),a&&(UR(a.b)||oL(a))||(a=tgb(EC(b)),a=qp(a,EC(b)),this.c.C(a,b))));break;case 109:if(a=b.a,L(a)&&d1(this,a.l(),b),a=a.b,wya(a))for(a=BA(a).h();a.i();)c=
  2431. a.j(),d1(this,O(c).l(),b)}};function sgb(a){a.c.Fa();a.g.ia();a.b.Fa();a.a.ia();a.o=null}
  2432. function ygb(a,b,c){if(zi(b,"goog.global.")||"goog.module.get"===b||"goog.module.declareLegacyNamespace"===b||(c=tL(jX(c)))&&WD(c).B("missingRequire"))return!1;c=tgb(b);var d=qp(c,b),e=null,f=ti(d,46);0<f&&(e=ne(d,0,f));var h;if(h="goog"===e)d=d.substr(f+1),h=!(null!=d&&1<d.length&&dh(d.charCodeAt(0))&&!li(d,ofa(d)));if(h)return!1;d=a.a.B(b)||a.a.B(e);b=a.b.X(b)||a.b.X(e);for(c=c.h();c.i();){e=c.j();if(a.a.B(e)){d=!0;break}if(a.b.X(e)){b=!0;break}}return!b&&!d}
  2433. function d1(a,b,c){a.b.X(b)||a.b.C(b,c);for(b=tgb(b).h();b.i();){var d=b.j();a.b.C(d,c)}}function lgb(a,b){for(var c=mi(b,46);-1!=c;c=ni(b,46,c+1))a.g.add(ne(b,0,c));a.g.add(b)}function xgb(a,b){F(L(b)||N(b)||Lx(b),b);b=Lx(b)?b.l():EC(b);lgb(a,b)}function wgb(a,b){b=b.a;DC(b)&&a.a.add(EC(b))}function vgb(a,b,c,d){var e=new c1;e.a=d;d=d.a;var f=new kgb;f.b=a;f.g=b;f.c=!0;f.f=c;JX(d,f,e)}
  2434. function zgb(){zgb=function(){};ngb=kq(46);ogb=qk(Hg(46));rgb=BJ("JSC_MISSING_REQUIRE_WARNING","missing require: ''{0}''");qgb=BJ("JSC_MISSING_REQUIRE_FOR_GOOG_SCOPE","missing require: ''{0}''");pgb=BJ("JSC_MISSING_REQUIRE_STRICT_WARNING","missing require: ''{0}''")}g.la=!0;function Agb(){}l(Agb,n);Agb.prototype.H=function(){};function e1(){this.f=!1}var Bgb,Cgb;l(e1,$Y);e1.prototype.H=function(a,b){Y(this.c,b,this)};
  2435. e1.prototype.kn=function(a,b,c){if(!c)return!0;if(q(b,c.c)&&!NV(c))return!1;c=G(c);var d=nG(b);if(d){this.a.na(XD(d));this.a.na(zE(d).oa());gE(d)&&f1(this,a,c,ZD(d),!1);for(var e=KD(d).h();e.i();){var f=e.j();LD(d,f)&&f1(this,a,c,LD(d,f),!1)}hE(d)&&f1(this,a,c,QD(d,1073741824),!1);iE(d)&&f1(this,a,c,QD(d,1610612736),!1);jE(d)&&f1(this,a,c,QD(d,-2147483648),!1);d.f&&f1(this,a,c,d.f,!1);ND(d)&&f1(this,a,c,ND(d),!0);for(e=RD(d).h();e.i();)f=e.j(),f1(this,a,c,f,!0);for(d=PD(d).h();d.i();)e=d.j(),f1(this,
  2436. a,c,e,!0)}DC(b)&&!N(b.m())&&(d=Xx(qG(b)),"this"===d||"super"===d||Dgb(this,a,b,c,qG(b),!0));return!0};e1.prototype.hl=function(a,b,c){c&&q(b,c.c)&&this.a.ia()};function f1(a,b,c,d,e){for(d=mwa(d).h();d.i();){var f=d.j();Dgb(a,b,f,c,Wx(f.l()),e)}}function Dgb(a,b,c,d,e,f){if(!e.Ed()||!a.a.B(Xx(e))){var h=ET(b).T(Xx(e));if(!h||!UR(h.ya()))for(;e;){h=e.Vc();if("goog.module"===h)break;var k=a.o.get(h);if(k){q(k.c,d.c)||MT(b,c,f?Bgb:Cgb,A([h],B,y,1));break}e=e.fe()}}}
  2437. function Egb(){Egb=function(){};Bgb=AJ("JSC_MISSING_REQUIRE","''{0}'' references a fully qualified namespace, which is disallowed by the style guide.\nPlease add a goog.require, assign or destructure it into an alias, and use the alias instead.");Cgb=AJ("JSC_MISSING_REQUIRE_TYPE","''{0}'' references a fully qualified namespace, which is disallowed by the style guide.\nPlease add a goog.requireType, assign or destructure it into an alias, and use the alias instead.")}function g1(){}l(g1,n);
  2438. g1.prototype.Ca=function(a){return this.ca(a)};g1.prototype.cb=function(){return hd(this)};g1.prototype.ca=function(a){return!!a&&Ux(a)};function h1(){}l(h1,n);h1.prototype.Ca=function(a){return this.ca(a)};h1.prototype.cb=function(){return hd(this)};h1.prototype.ca=function(a){a:{var b=a.mf();if(q(b,(LS(),JS)))b=!1;else{if(q(b,GS)||q(b,HS))if(a=NS(a.b.a()))if(a=RW(a),!q(a,(Xu(),Vu))){b=a.ed(!0)==q((LS(),GS),b);break a}b=!0}}return b};function Fgb(){}var Ggb,Hgb,Igb;l(Fgb,n);
  2439. function Jgb(a){jhb();var b=new Fgb;b.a=a;b.b=MX(a);return b}g=Fgb.prototype;g.Hb=function(a){var b=HT(a),c=khb(this,b);if(c&&!(UG(b)||aH(b)&&!Hw(mX(b)))){a:{for(b=GT(a).a.c.h();b.i();){var d=b.j().b.a();if(!Ux(d)&&!this.b.wj(d)){b=!1;break a}}b=!0}if(!b){d=GT(a);var e=GT(a).b,f=GT(a).a,h=Ggb,k=Hgb;lhb();b=new mhb;b.c=d;b.a=e;b.b=f;b.o=h;b.f=k;b.g=!0;nhb(b);d=ohb(b,b.a,b.b);phb(b);d||X(this.a,V(HT(a),Igb,A([c.toString()],B,y,1)))}}};g.Tb=function(){};g.ga=function(){return!0};g.J=function(){};
  2440. function khb(a,b){if(!P(b))return null;var c=Fy(b.f);if(!c||mG(b,3)&&!R(b).b.a||c.xa())return null;c=HA(c);if(!c)return null;bH(b)&&(c=oab(eJ(a.a),c));b=c;return vy(qy(eJ(a.a),(I(),fw)),b)?null:c}function jhb(){jhb=function(){};Igb=AJ("JSC_MISSING_RETURN_STATEMENT","Missing return statement. Function expected to return {0}.");Ggb=new g1;Hgb=new h1}g.la=!0;g.ic=!0;function qhb(){}l(qhb,n);function rhb(){}l(rhb,n);function shb(){}l(shb,n);function thb(){}l(thb,n);function mhb(){this.g=!1}
  2441. var uhb,vhb,whb,i1;l(mhb,n);function xhb(a){nhb(a);var b=yhb(a,a.a,a.b);phb(a);return b}function nhb(a){var b=a.c;b.g||(b.g=Uk());MVa(b.g,b.Bd());b=a.c;b.f||(b.f=Uk());MVa(b.f,b.Nm());zhb(a,a.a)}function phb(a){var b=a.c;Li(b.g,"Popping node annotations without pushing.");NVa(b.g);a=a.c;Li(a.f,"Popping edge annotations without pushing.");NVa(a.f)}function zhb(a,b){b.nc(uhb);for(var c=b.b.h();c.i();){var d=c.j();if(a.f.ca(d)){var e=d.a;null==e.sb()?zhb(a,e):q(e.sb(),uhb)&&d.nc(vhb)}}b.nc(whb)}
  2442. function ohb(a,b,c){if(a.o.ca(b.a())&&(a.g||!q(b,a.a)&&!q(b,a.b)))return!0;if(q(b,c))return!1;for(b=b.b.h();b.i();){var d=b.j();if(!q(d.sb(),i1)&&(d.nc(i1),a.f.ca(d)&&!q(d.sb(),vhb)&&!ohb(a,d.a,c)))return!1}return!0}function yhb(a,b,c){if(a.o.ca(b.a())&&(a.g||!q(b,a.a)&&!q(b,a.b)))return!0;if(q(b,c))return!1;for(b=b.b.h();b.i();){var d=b.j();if(!q(d.sb(),i1)&&(d.nc(i1),a.f.ca(d)&&!q(d.sb(),vhb)&&yhb(a,d.a,c)))return!0}return!1}
  2443. function lhb(){lhb=function(){};vhb=new qhb;i1=new rhb;uhb=new shb;whb=new thb}function j1(){this.a=!1}l(j1,n);j1.prototype.ga=function(a,b,c){return NH(b)?!1:!c||!P(c)||q(b,c.a)};
  2444. j1.prototype.J=function(a,b,c){switch(b.c.a){case 28:a=this.b.a.yk(b,c);null!=a&&this.f.C(a,b);this.a||null==this.b.a.zk(b,c)||(this.a=!0);break;case 69:if(!aH(b)){a=null;var d=nG(c);d&&dE(d)?a=c.a:(d=nG(b))&&dE(d)&&(a=b.a);a&&DC(a)&&(b=EC(a),this.g.ue(b)||cd(d.c,(HD(),CD))||this.c.C(b,a))}break;case 100:c=TT(b);(a=null==c)||(a=(a=tL(b))&&cd(a.c,(HD(),CD))?!0:MX(this.b.b).ue(TT(b)));a||this.c.C(c,b);break;case 89:for(b=this.c.V().h();b.i();){c=b.j();a=c.M();d=-1;var e=!1,f;(f=zi(a,"$jscomp."))||(f=
  2445. a,hZ(),f=zi(f,"module$contents$"));f||(f=a,hZ(),f=zi(f,"module$exports$"));if(!f){do if(d=ni(a,46,d+1),this.f.X(-1==d?a:ne(a,0,d))){e=!0;break}while(-1!=d);e||!this.a&&this.f.Qa()||(a=c.O(),X(this.b.b,V(a,(Ahb(),Bhb),A([c.M()],B,y,1))))}}this.f.Fa();this.c.Fa();this.a=!1}};j1.prototype.la=!0;function Chb(){}var Bhb;l(Chb,n);Chb.prototype.H=function(a,b){this.ra(b,null)};Chb.prototype.ra=function(a){var b=new j1,c=this.a;b.b=this;b.f=bf();b.c=bf();b.a=!1;b.g=c;Y(this.b,a,b)};
  2446. function Ahb(){Ahb=function(){};Bhb=AJ("JSC_MISSING_PROVIDE","missing goog.provide(''{0}'')")}function Dhb(){this.a=!1}var Ehb,Fhb,Ghb;l(Dhb,RT);Dhb.prototype.H=function(a,b){Y(this.b,b,this)};
  2447. Dhb.prototype.J=function(a,b,c){if(sX(b)){var d=b.l();if("RegExp"===d&&!ET(a).T(d)){d=c.c;var e=q(b,c.a);q(d,(H(),ss))&&e||q(d,(H(),xs))&&e||q(d,(H(),Ms))&&!e||q(d,(H(),js))||q(d,(H(),ks))||q(d,(H(),Hs))||q(d,(H(),Is))||q(d,(H(),xt))||q(d,(H(),vs))&&e&&!Ehb.B(O(c).l())||(MT(a,b,Fhb,A([],B,y,1)),this.a=!0)}}else if(UH(b)){c=b.a.l();d=kG(b)?O(b).l():"";try{k1(),Hhb(Ihb(c,d))}catch(f){if(f=va(f),mb(f)||f instanceof Ja)MT(a,b,Ghb,A([f.b],B,y,1));else throw f.s;}}};
  2448. function Jhb(){Jhb=function(){};Fhb=AJ("JSC_REGEXP_REFERENCE","References to the global RegExp object prevents optimization of regular expressions.");Ghb=AJ("JSC_MALFORMED_REGEXP","Malformed Regular Expression: {0}");Ehb=jm("$1","$2","$3","$4","$5","$6",A("$7 $8 $9 $_ $input input lastMatch lastParen leftContext rightContext global ignoreCase lastIndex multiline source".split(" "),B,y,1))}function l1(){}var m1,n1;l(l1,n);
  2449. function o1(a,b){p1();if(a>b)throw Ka(a+" > "+b).s;return q1(A([a,b+1],Zc,$c,1))}function r1(a){p1();var b=a.length;if(0==b)a=za([0],Zc,$c,0);else{a.sort(Yda());for(var c=1,d=1;d<b;++d){var e=a[d],f=a[d-1];e!=f&&e!=f+1&&++c}c=za([2*c],Zc,$c,0);c[0]=a[0];d=0;for(e=1;d+2<c.length;++e){f=a[e];var h=a[e-1];f!=h&&f!=h+1&&(Ad(c,++d,h+1),Ad(c,++d,f))}Ad(c,++d,a[b-1]+1);a=c}return q1(a)}
  2450. function s1(a){p1();if(0!=(a.length&1))throw lb().s;for(var b=1;b<a.length;++b)if(a[b]<=a[b-1])throw ua(a[b]+" > "+a[b-1]).s;return q1(a)}function q1(a){var b=new l1;b.a=a;return b}
  2451. function t1(a,b){var c=a.a,d=b.a,e=c.length,f=d.length;if(0==e)return b;if(0==f)return a;a=za([e+f],Zc,$c,0);for(var h=b=0,k=0;b<e&&h<f;){var m=c[b],p=c[b+1],t=d[h],v=d[h+1];if(p<t)Ad(a,k++,m),Ad(a,k++,p),b+=2;else if(v<m)Ad(a,k++,t),Ad(a,k++,v),h+=2;else{m=Math.min(m,t);p=Math.max(p,v);b+=2;for(h+=2;b<e||h<f;)if(b<e&&c[b]<=p)p=Math.max(p,c[b+1]),b+=2;else if(h<f&&d[h]<=p)p=Math.max(p,d[h+1]),h+=2;else break;Ad(a,k++,m);Ad(a,k++,p)}}b<e?(Di(c,b,a,k,e-b),k+=e-b):h<f&&(Di(d,h,a,k,f-h),k+=f-h);k!=a.length&&
  2452. (a=zg(a,k));return q1(a)}function u1(a,b){var c=a.a,d=b.a,e=c.length,f=d.length;if(0==e)return a;if(0==f)return b;b=a=0;for(var h=za([Math.min(e,f)],Zc,$c,0),k=0,m=Math.min(c[0],d[0]);a<e&&b<f;)if(c[a+1]<=m)a+=2;else if(d[b+1]<=m)b+=2;else{var p=Math.max(c[a],d[b]);if(m<p)m=p;else{p=Math.min(c[a+1],d[b+1]);if(0!=k&&m==h[k-1])h[k-1]=p;else{if(k==h.length){var t=za([2*k],Zc,$c,0);Di(h,0,t,0,k);h=t}Ad(h,k++,m);Ad(h,k++,p)}m=p}}k!=h.length&&(h=zg(h,k));return q1(h)}
  2453. function v1(a,b){var c=a.a;b=b.a;var d=c.length,e=b.length;if(0==d||0==e)return a;a=za([c.length],Zc,$c,0);for(var f=0,h=0,k=0,m=c[0];f<d;)if(m>=c[f+1])f+=2;else if(m<c[f])m=c[f];else if(h<e&&m>=b[h])m=b[h+1],h+=2;else{var p=h<e?Math.min(c[f+1],b[h]):c[f+1];if(0!=k&&a[k-1]==m)a[k-1]=m;else{if(k==a.length){var t=za([2*k],Zc,$c,0);Di(a,0,t,0,k);a=t}Ad(a,k++,m);Ad(a,k++,p)}m=p}k!=a.length&&(a=zg(a,k));return q1(a)}
  2454. l1.prototype.toString=function(){var a=Mg();Og(a,91);for(var b=0;b<this.a.length;++b)if(0==(b&1)||this.a[b]!=this.a[b-1]+1)0!=b&&Og(a,0==(b&1)?32:45),x(x(a,"0x"),eba(this.a[b]-(b&1),16));Og(a,93);return a.toString()};l1.prototype.I=function(a){return a instanceof l1?Sda(this.a,a.a):!1};l1.prototype.P=function(){for(var a=0,b=0,c=Math.min(16,this.a.length);b<c;++b)a=(a<<2)+this.a[b];return a};function p1(){p1=function(){};m1=q1(za([0],Zc,$c,0));n1=q1(A([0,65536],Zc,$c,1))}function w1(){this.a=0}
  2455. l(w1,n);function x1(a,b){var c=new w1;c.a=a;c.b=b;return c}function Khb(a){return a instanceof w1}var Lhb,Mhb;
  2456. function Nhb(){Nhb=function(){};Lhb=s1(A([65,91,97,123,181,182,192,215,216,223,224,247,248,304,306,312,313,329,330,383,384,397,398,411,412,426,428,442,444,446,447,448,452,496,497,545,546,564,570,575,577,592,595,597,598,600,601,602,603,604,608,609,611,612,616,618,619,620,623,624,626,627,629,630,637,638,640,641,643,644,648,653,658,659,837,838,891,894,902,903,904,907,908,909,910,912,913,930,931,944,945,975,976,978,981,983,984,1011,1013,1014,1015,1020,1021,1154,1162,1300,1329,1367,1377,1415,4256,4294,
  2457. 7549,7550,7680,7830,7835,7836,7840,7930,7936,7958,7960,7966,7968,8006,8008,8014,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031,8062,8112,8114,8120,8124,8126,8127,8136,8140,8144,8146,8152,8156,8160,8162,8165,8166,8168,8173,8184,8188,8498,8499,8526,8527,8544,8576,8579,8581,9398,9450,11264,11311,11312,11359,11360,11373,11381,11383,11392,11492,11520,11558,65313,65339,65345,65371],Zc,$c,1));o1(65,90);Mhb=sha(x1(-10795,r1(A([570],Zc,$c,1))),x1(-10792,r1(A([574],Zc,$c,1))),x1(-10743,
  2458. r1(A([619],Zc,$c,1))),x1(-10727,r1(A([637],Zc,$c,1))),x1(-7264,s1(A([4256,4294],Zc,$c,1))),x1(-7205,r1(A([921],Zc,$c,1))),x1(-3814,r1(A([7549],Zc,$c,1))),x1(-743,r1(A([181],Zc,$c,1))),x1(-219,r1(A([439],Zc,$c,1))),x1(-218,r1(A([422,425,430],Zc,$c,1))),x1(-217,s1(A([433,435],Zc,$c,1))),x1(-214,r1(A([415],Zc,$c,1))),A([x1(-213,r1(A([413],Zc,$c,1))),x1(-211,r1(A([406,412],Zc,$c,1))),x1(-210,r1(A([385],Zc,$c,1))),x1(-209,r1(A([407],Zc,$c,1))),x1(-207,r1(A([404],Zc,$c,1))),x1(-206,r1(A([390],Zc,$c,1))),
  2459. x1(-205,s1(A([393,395,403,404],Zc,$c,1))),x1(-203,r1(A([400],Zc,$c,1))),x1(-202,r1(A([399],Zc,$c,1))),x1(-195,r1(A([384],Zc,$c,1))),x1(-163,r1(A([410],Zc,$c,1))),x1(-130,s1(A([414,415,891,894],Zc,$c,1))),x1(-128,s1(A([8056,8058],Zc,$c,1))),x1(-126,s1(A([8060,8062],Zc,$c,1))),x1(-121,r1(A([255],Zc,$c,1))),x1(-112,s1(A([8058,8060],Zc,$c,1))),x1(-100,s1(A([8054,8056],Zc,$c,1))),x1(-97,r1(A([405],Zc,$c,1))),x1(-96,r1(A([917],Zc,$c,1))),x1(-86,s1(A([922,923,8050,8054],Zc,$c,1))),x1(-84,r1(A([837],Zc,$c,
  2460. 1))),x1(-80,s1(A([929,930,1024,1040],Zc,$c,1))),x1(-79,r1(A([398],Zc,$c,1))),x1(-74,s1(A([8048,8050],Zc,$c,1))),x1(-71,r1(A([581],Zc,$c,1))),x1(-69,r1(A([580],Zc,$c,1))),x1(-64,r1(A([908],Zc,$c,1))),x1(-63,s1(A([910,912],Zc,$c,1))),x1(-62,r1(A([914],Zc,$c,1))),x1(-59,r1(A([7776],Zc,$c,1))),x1(-57,r1(A([920],Zc,$c,1))),x1(-56,r1(A([447],Zc,$c,1))),x1(-54,r1(A([928],Zc,$c,1))),x1(-48,s1(A([1329,1367,11264,11311],Zc,$c,1))),x1(-47,r1(A([934],Zc,$c,1))),x1(-38,r1(A([902],Zc,$c,1))),x1(-37,s1(A([904,907],
  2461. Zc,$c,1))),x1(-32,s1(A([65,91,192,215,216,223,913,930,931,940,1040,1072,65313,65339],Zc,$c,1))),x1(-31,r1(A([931],Zc,$c,1))),x1(-28,r1(A([8498],Zc,$c,1))),x1(-26,s1(A([9398,9424],Zc,$c,1))),x1(-16,s1(A([8544,8560],Zc,$c,1))),x1(-15,r1(A([1216],Zc,$c,1))),x1(-8,s1(A([7936,7944,7952,7958,7968,7976,7984,7992,8E3,8006,8017,8018,8019,8020,8021,8022,8023,8024,8032,8040,8112,8114,8144,8146,8160,8162],Zc,$c,1))),x1(-7,r1(A([1010,8165],Zc,$c,1))),x1(-2,r1(A([452,455,458,497],Zc,$c,1))),x1(-1,r1(A([256,258,
  2462. 260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,377,379,381,386,388,391,395,401,408,416,418,420,423,428,431,435,437,440,444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,546,548,550,552,554,556,558,560,562,
  2463. 571,577,582,584,586,588,590,984,986,988,990,992,994,996,998,1E3,1002,1004,1006,1015,1018,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1217,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,
  2464. 1296,1298,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,
  2465. 7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,8579,11360,11367,11369,11371,11381,11392,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490],Zc,$c,1))),x1(1,r1(A([257,259,261,263,265,267,269,271,273,275,
  2466. 277,279,281,283,285,287,289,291,293,295,297,299,301,303,307,309,311,314,316,318,320,322,324,326,328,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,382,387,389,392,396,402,409,417,419,421,424,429,432,436,438,441,445,453,456,459,462,464,466,468,470,472,474,476,479,481,483,485,487,489,491,493,495,498,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,578,583,585,587,589,591,985,
  2467. 987,989,991,993,995,997,999,1001,1003,1005,1007,1016,1019,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1230,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,7681,7683,7685,7687,
  2468. 7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7829,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,
  2469. 7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,8580,11361,11368,11370,11372,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491],Zc,$c,1))),x1(2,r1(A([454,457,460,499],Zc,$c,1))),x1(7,r1(A([1017,8172],Zc,$c,1))),x1(8,s1(A([7944,
  2470. 7952,7960,7966,7976,7984,7992,8E3,8008,8014,8025,8026,8027,8028,8029,8030,8031,8032,8040,8048,8120,8122,8152,8154,8168,8170],Zc,$c,1))),x1(15,r1(A([1231],Zc,$c,1))),x1(16,s1(A([8560,8576],Zc,$c,1))),x1(26,s1(A([9424,9450],Zc,$c,1))),x1(28,r1(A([8526],Zc,$c,1))),x1(31,r1(A([962],Zc,$c,1))),x1(32,s1(A([97,123,224,247,248,255,945,962,963,972,1072,1104,65345,65371],Zc,$c,1))),x1(37,s1(A([941,944],Zc,$c,1))),x1(38,r1(A([940],Zc,$c,1))),x1(47,r1(A([981],Zc,$c,1))),x1(48,s1(A([1377,1415,11312,11359],Zc,
  2471. $c,1))),x1(54,r1(A([982],Zc,$c,1))),x1(56,r1(A([503],Zc,$c,1))),x1(57,r1(A([977],Zc,$c,1))),x1(59,r1(A([7835],Zc,$c,1))),x1(62,r1(A([976],Zc,$c,1))),x1(63,s1(A([973,975],Zc,$c,1))),x1(64,r1(A([972],Zc,$c,1))),x1(69,r1(A([649],Zc,$c,1))),x1(71,r1(A([652],Zc,$c,1))),x1(74,s1(A([8122,8124],Zc,$c,1))),x1(79,r1(A([477],Zc,$c,1))),x1(80,s1(A([1009,1010,1104,1120],Zc,$c,1))),x1(84,r1(A([921],Zc,$c,1))),x1(86,s1(A([1008,1009,8136,8140],Zc,$c,1))),x1(96,r1(A([1013],Zc,$c,1))),x1(97,r1(A([502],Zc,$c,1))),x1(100,
  2472. s1(A([8154,8156],Zc,$c,1))),x1(112,s1(A([8170,8172],Zc,$c,1))),x1(121,r1(A([376],Zc,$c,1))),x1(126,s1(A([8186,8188],Zc,$c,1))),x1(128,s1(A([8184,8186],Zc,$c,1))),x1(130,s1(A([544,545,1021,1024],Zc,$c,1))),x1(163,r1(A([573],Zc,$c,1))),x1(195,r1(A([579],Zc,$c,1))),x1(202,r1(A([601],Zc,$c,1))),x1(203,r1(A([603],Zc,$c,1))),x1(205,s1(A([598,600,608,609],Zc,$c,1))),x1(206,r1(A([596],Zc,$c,1))),x1(207,r1(A([611],Zc,$c,1))),x1(209,r1(A([616],Zc,$c,1))),x1(210,r1(A([595],Zc,$c,1))),x1(211,r1(A([617,623],Zc,
  2473. $c,1))),x1(213,r1(A([626],Zc,$c,1))),x1(214,r1(A([629],Zc,$c,1))),x1(217,s1(A([650,652],Zc,$c,1))),x1(218,r1(A([640,643,648],Zc,$c,1))),x1(219,r1(A([658],Zc,$c,1))),x1(743,r1(A([924],Zc,$c,1))),x1(3814,r1(A([11363],Zc,$c,1))),x1(7205,r1(A([8126],Zc,$c,1))),x1(7264,s1(A([11520,11558],Zc,$c,1))),x1(10727,r1(A([11364],Zc,$c,1))),x1(10743,r1(A([11362],Zc,$c,1))),x1(10792,r1(A([11366],Zc,$c,1))),x1(10795,r1(A([11365],Zc,$c,1)))],w1,Khb,1));sha(x1(-10743,r1(A([619],Zc,$c,1))),x1(-10727,r1(A([637],Zc,$c,
  2474. 1))),x1(-3814,r1(A([7549],Zc,$c,1))),x1(-743,r1(A([181],Zc,$c,1))),x1(-195,r1(A([384],Zc,$c,1))),x1(-163,r1(A([410],Zc,$c,1))),x1(-130,s1(A([414,415,891,894],Zc,$c,1))),x1(-128,s1(A([8056,8058],Zc,$c,1))),x1(-126,s1(A([8060,8062],Zc,$c,1))),x1(-121,r1(A([255],Zc,$c,1))),x1(-112,s1(A([8058,8060],Zc,$c,1))),x1(-100,s1(A([8054,8056],Zc,$c,1))),A([x1(-97,r1(A([405],Zc,$c,1))),x1(-86,s1(A([8050,8054],Zc,$c,1))),x1(-84,r1(A([837],Zc,$c,1))),x1(-74,s1(A([8048,8050],Zc,$c,1))),x1(-56,r1(A([447],Zc,$c,1))),
  2475. x1(-8,s1(A([7936,7944,7952,7958,7968,7976,7984,7992,8E3,8006,8017,8018,8019,8020,8021,8022,8023,8024,8032,8040,8112,8114,8144,8146,8160,8162],Zc,$c,1))),x1(-7,r1(A([1010,8165],Zc,$c,1))),x1(1,r1(A([257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,307,309,311,314,316,318,320,322,324,326,328,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,382,387,389,392,396,402,409,417,419,421,424,429,432,436,438,441,
  2476. 445,453,456,459,462,464,466,468,470,472,474,476,479,481,483,485,487,489,491,493,495,498,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,578,583,585,587,589,591,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1016,1019,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,
  2477. 1211,1213,1215,1218,1220,1222,1224,1226,1228,1230,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,
  2478. 7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7829,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,8580,11361,11368,11370,11372,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,
  2479. 11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491],Zc,$c,1))),x1(2,r1(A([454,457,460,499],Zc,$c,1))),x1(15,r1(A([1231],Zc,$c,1))),x1(16,s1(A([8560,8576],Zc,$c,1))),x1(26,s1(A([9424,9450],Zc,$c,1))),x1(28,r1(A([8526],Zc,$c,1))),x1(31,r1(A([962],Zc,$c,1))),x1(32,s1(A([97,123,224,247,248,255,945,962,963,972,1072,1104,65345,65371],Zc,$c,1))),x1(37,s1(A([941,944],Zc,$c,1))),x1(38,r1(A([940],Zc,$c,1))),x1(47,r1(A([981],
  2480. Zc,$c,1))),x1(48,s1(A([1377,1415,11312,11359],Zc,$c,1))),x1(54,r1(A([982],Zc,$c,1))),x1(57,r1(A([977],Zc,$c,1))),x1(59,r1(A([7835],Zc,$c,1))),x1(62,r1(A([976],Zc,$c,1))),x1(63,s1(A([973,975],Zc,$c,1))),x1(64,r1(A([972],Zc,$c,1))),x1(69,r1(A([649],Zc,$c,1))),x1(71,r1(A([652],Zc,$c,1))),x1(79,r1(A([477],Zc,$c,1))),x1(80,s1(A([1009,1010,1104,1120],Zc,$c,1))),x1(86,r1(A([1008],Zc,$c,1))),x1(96,r1(A([1013],Zc,$c,1))),x1(202,r1(A([601],Zc,$c,1))),x1(203,r1(A([603],Zc,$c,1))),x1(205,s1(A([598,600,608,609],
  2481. Zc,$c,1))),x1(206,r1(A([596],Zc,$c,1))),x1(207,r1(A([611],Zc,$c,1))),x1(209,r1(A([616],Zc,$c,1))),x1(210,r1(A([595],Zc,$c,1))),x1(211,r1(A([617,623],Zc,$c,1))),x1(213,r1(A([626],Zc,$c,1))),x1(214,r1(A([629],Zc,$c,1))),x1(217,s1(A([650,652],Zc,$c,1))),x1(218,r1(A([640,643,648],Zc,$c,1))),x1(219,r1(A([658],Zc,$c,1))),x1(7205,r1(A([8126],Zc,$c,1))),x1(7264,s1(A([11520,11558],Zc,$c,1))),x1(10792,r1(A([11366],Zc,$c,1))),x1(10795,r1(A([11365],Zc,$c,1)))],w1,Khb,1))}
  2482. function Ohb(){this.c=this.f=this.a=0;this.o=!1}l(Ohb,n);function Ihb(a,b){var c=new Ohb;c.b=a;c.u=b;c.g=ef();c.c=c.b.length;return c}function Hhb(a){a.a=0;a.f=0;a.o=!1;var b=Phb(a);a.g.D()||(a.a=0,a.f=0,a.o=!0,b=Phb(a));if(a.a<a.c)throw ua(a.b.substr(a.a)).s;return b}
  2483. function Phb(a){var b=null,c=null;a:for(;a.a<a.c;){var d=a.b.charCodeAt(a.a);switch(d){case 91:d=a;E(91==d.b.charCodeAt(d.a));++d.a;var e=0<=mi(d.u,105);var f=d.a<d.c&&94==d.b.charCodeAt(d.a);f&&++d.a;for(var h=(p1(),m1),k=m1;d.a<d.c&&93!=d.b.charCodeAt(d.a);){var m=d.b.charCodeAt(d.a);if(92==m){++d.a;m=d.b.charCodeAt(d.a);if(m=(k1(),Qhb).get(eh(m))){++d.a;h=t1(h,m);continue}var p=Rhb(d)}else p=m,++d.a;m=p;d.a+1<d.c&&45==d.b.charCodeAt(d.a)&&93!=d.b.charCodeAt(d.a+1)&&(++d.a,m=d.b.charCodeAt(d.a),
  2484. 92==m?(++d.a,m=Rhb(d)):++d.a);var t=o1(p,m);h=t1(h,t);var v=(k1(),Shb).a;if(p=0==(Pda(v,v.length,p)&1))p=Shb.a,p=0==(Pda(p,p.length,m)&1);p&&(k=t1(k,u1(t,Shb)));if(e&&(Nhb(),m=u1(h,Lhb),0!=m.a.length)){p=m1;for(t=Mhb.h();t.i();){var C=t.j();v=u1(m,C.b);C=-C.a;var J=v.a.length;if(0!=C&&0!=J){if(0>C){if(0>ab(Cb(v.a[0]+C),Cb(-2147483648)))throw zaa().s;}else if(0<ab(Cb(v.a[J-1]+C),Cb(2147483647)))throw zaa().s;for(var K=za([J],Zc,$c,0);0<=--J;)K[J]=v.a[J]+C;v=q1(K)}p=t1(p,v)}h=t1(h,p)}}++d.a;f&&(h=v1(n1,
  2485. h));e=Thb(h,k);break;case 40:e=Uhb(a);break;case 41:break a;case 92:e=Vhb(a);break;case 94:case 36:k1();e=new y1;e.a=d;++a.a;break;case 46:e=(k1(),Whb);++a.a;break;case 124:e=(Xhb(),Yhb);break;default:e=a.a;d=a.a+1;b:for(;d<a.c;)switch(a.b.charCodeAt(d)){case 91:case 40:case 41:case 92:case 94:case 36:case 124:case 46:case 42:case 43:case 63:case 123:break b;default:if(d+1>=a.c||!Zhb(a.b.charCodeAt(d+1)))++d;else break b}e=$hb(ne(a.b,e,d));a.a=d}a.a<a.c&&Zhb(a.b.charCodeAt(a.a))&&(e=aib(a,e));c?(d=
  2486. e,k1(),e=new z1,e.a=Sl(c,d),c=e):c=e;a.a<a.c&&124==a.b.charCodeAt(a.a)&&(b||(b=Mj()),b.W(c),c=null,++a.a)}c||(c=(Xhb(),Yhb));return b?(b.W(c),a=b.fa(),k1(),b=new A1,b.a=Wl(a),b):c}
  2487. function Uhb(a){E(40==a.b.charCodeAt(a.a));var b=a.a;++a.a;var c=null;if(a.a<a.c&&63==a.b.charCodeAt(a.a))if(a.a+1<a.c)switch(a.b.charCodeAt(a.a+1)){case 58:a.a+=2;var d=(B1(),bib);break;case 61:a.a+=2;d=(B1(),cib);break;case 33:a.a+=2;d=(B1(),dib);break;case 60:a.a+2<a.c&&61==a.b.charCodeAt(a.a+2)?(a.a+=3,d=(B1(),eib)):a.a+2<a.c&&33==a.b.charCodeAt(a.a+2)?(a.a+=3,d=(B1(),fib)):(a.a+=2,c=gib(a),a.g.add(c),d=(B1(),hib));break;default:throw ua("Malformed parenthetical: "+r(a.b.substr(b))).s;}else throw ua("Malformed parenthetical: "+
  2488. r(a.b.substr(b))).s;else d=(B1(),iib);var e=Phb(a);if(a.a<a.c&&41==a.b.charCodeAt(a.a))++a.a;else throw ua("Unclosed parenthetical group: "+r(a.b.substr(b))).s;switch(d.a){case 0:return++a.f,k1(),a=new jib,a.a=e,a;case 1:return e;case 2:return kib(e,!0);case 3:return kib(e,!1);case 4:return lib(e,!0);case 5:return lib(e,!1);case 6:if(null!=c)return++a.f,a=c,k1(),b=new C1,b.a=e,b.b=a,b;throw ua("Malformed named capture group: "+r(a.b.substr(b))).s;}throw jb("Unrecognized ParentheticalType "+r(d)).s;
  2489. }function gib(a){var b=a.a,c=a.a;if(!mib(a.b.charCodeAt(b)))throw ua("Invalid capture group name: <"+r(a.b.substr(b))).s;for(++c;c<a.c;){if(62==a.b.charCodeAt(c))return a.a=c+1,ne(a.b,b,c);var d=a.b.charCodeAt(c);k1();if(127>=d?65<=d&&90>=d||97<=d&&122>=d||48<=d&&57>=d||95==d||36==d:mib(d)||mea(d))++c;else throw ua("Invalid capture group name: <"+r(a.b.substr(b))).s;}throw ua("Malformed named capture group: <"+r(a.b.substr(b))).s;}
  2490. function Rhb(a){var b=yh(a.b,a.a++);switch(b){case 98:return 8;case 102:return 12;case 110:return 10;case 114:return 13;case 116:return 9;case 117:return nib(a,4);case 118:return 11;case 120:return nib(a,2);default:if(48<=b&&55>=b){for(var c=b-48&65535,d=Math.min(a.c,a.a+(51>=b?2:1)+(48==b?1:0));a.a<d;)if(b=a.b.charCodeAt(a.a),48<=b&&55>=b)c=(c<<3)+(b-48)&65535,++a.a;else break;return c}return b}}
  2491. function Vhb(a){E(92==a.b.charCodeAt(a.a));var b=a.a;++a.a;var c=a.b.charCodeAt(a.a);if(98==c||66==c)return++a.a,a=c,k1(),b=new D1,b.a=a,b;if(112!=c&&80!=c||!ji(a.u,"u")){if(49<=c&&57>=c)return++a.a,b=c-48,a.f>=b?(a.a<a.c&&(c=a.b.charCodeAt(a.a),48<=c&&57>=c&&(c=10*b+(c-48),a.f>=c&&(++a.a,b=c))),a=b,k1(),b=new E1,D(0<=a&&99>=a),b.a=a,b):$hb(Hg(7>=b?b&65535:c));if(a.o&&107==c&&a.a+1<a.c&&60==a.b.charCodeAt(a.a+1)&&!a.g.D()){a.a+=2;c=gib(a);if(!a.g.B(c))throw ua("Invalid named capture referenced: "+
  2492. r(a.b.substr(b))).s;k1();a=new F1;a.a=c;return a}return(b=(k1(),Qhb).get(eh(c)))?(++a.a,Thb(b,(p1(),m1))):$hb(""+Hg(Rhb(a)))}var d=80==c;++a.a;if(a.a<a.c&&123==a.b.charCodeAt(a.a)){for(var e=Mg();++a.a<a.c&&(95==(c=a.b.charCodeAt(a.a))||97<=c&&122>=c||65<=c&&90>=c||48<=c&&57>=c);)Og(e,c);if(a.a<a.c&&125==c)return++a.a,oib(null,e.toString(),d);if(a.a<a.c&&61==c){for(var f=Mg();++a.a<a.c&&(95==(c=a.b.charCodeAt(a.a))||97<=c&&122>=c||65<=c&&90>=c||48<=c&&57>=c);)Og(f,c);if(a.a<a.c&&125==c)return++a.a,
  2493. oib(e.toString(),f.toString(),d);throw ua("Malformed Unicode Property Escape: expected '}' after "+r(ne(a.b,b,a.a))).s;}throw ua("Malformed Unicode Property Escape: expected '=' or '}' after "+r(ne(a.b,b,a.a))).s;}throw ua("Malformed Unicode Property Escape: expected '{' after "+r(ne(a.b,b,a.a))).s;}
  2494. function nib(a,b){if(a.a+b>a.c)throw ua("Abbreviated hex escape "+r(a.b.substr(a.a))).s;for(var c=0;0<=--b;){var d=a.b.charCodeAt(a.a);if(48<=d&&57>=d)d-=48;else if(97<=d&&102>=d)d+=-87;else if(65<=d&&70>=d)d+=-55;else throw ua(a.b.substr(a.a)).s;++a.a;c=c<<4|d}return c&65535}function Zhb(a){switch(a){case 63:case 42:case 43:case 123:return!0;default:return!1}}
  2495. function aib(a,b){if(a.a==a.c)return b;switch(a.b.charCodeAt(a.a)){case 43:++a.a;var c=1;var d=2147483647;break;case 42:++a.a;c=0;d=2147483647;break;case 63:++a.a;c=0;d=1;break;case 123:++a.a;var e=a.a;var f=ni(a.b,125,e);if(0>f)return a.a=e-1,b;var h=ne(a.b,e,f);a.a=f+1;f=mi(h,44);try{c=vh(0<=f?ne(h,0,f):h,10),d=0<=f?f+1!=h.length?vh(h.substr(f+1),10):2147483647:c}catch(k){if(k=va(k),hh(k))c=d=-1;else throw k.s;}if(0>c||c>d)return a.a=e-1,b;break;default:return b}e=!0;a.a<a.c&&63==a.b.charCodeAt(a.a)&&
  2496. (e=!1,++a.a);a=c;c=e;k1();e=new G1;e.a=b;e.f=a;e.c=d;e.b=c;return e}function H1(){}var Whb,Qhb,Shb,pib,qib,rib,sib,tib,uib,vib,wib;l(H1,n);H1.prototype.toString=function(){var a=Mg();Og(a,47);this.dc(a);1==a.Ra()&&x(a,"(?:)");Og(a,47);return a.toString()};function mib(a){k1();return 127>=a?65<=a&&90>=a||97<=a&&122>=a||95==a||36==a:629==a||ch(a)}
  2497. function xib(a,b){k1();switch(a){case 0:x(b,"\\0");break;case 12:x(b,"\\f");break;case 9:x(b,"\\t");break;case 10:x(b,"\\n");break;case 13:x(b,"\\r");break;case 92:x(b,"\\\\");break;default:32>a||127<=a?(256<=a?(x(b,"\\u"),Og(b,"0123456789abcdef".charCodeAt(a>>12&15)),Og(b,"0123456789abcdef".charCodeAt(a>>8&15))):x(b,"\\x"),Og(b,"0123456789abcdef".charCodeAt(a>>4&15)),Og(b,"0123456789abcdef".charCodeAt(a&15))):Og(b,a)}}
  2498. function k1(){k1=function(){};kib((Xhb(),Yhb),!1);pib=o1(48,57);qib=o1(65,90);rib=o1(97,122);sib=t1(qib,rib);tib=t1(t1(pib,sib),r1(A([95],Zc,$c,1)));uib=v1((p1(),n1),tib);vib=r1(A([9,10,11,12,13,32,160,5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279],Zc,$c,1));wib=r1(A([9,10,11,12,13,32],Zc,$c,1));Shb=v1(vib,wib);Qhb=el().L(eh(100),pib).L(eh(68),v1(n1,pib)).L(eh(115),vib).L(eh(83),v1(n1,vib)).L(eh(119),tib).L(eh(87),uib).Jb();Whb=Thb(v1(n1,r1(A([10,
  2499. 13,8232,8233],Zc,$c,1))),m1)}function A1(){}l(A1,H1);g=A1.prototype;g.Fd=function(){for(var a=0,b=this.a.h();b.i();){var c=b.j();a+=c.Fd()}return a};g.ig=function(){return this.a};g.dc=function(a){for(var b=0,c=this.a.w();b<c;++b)0!=b&&Og(a,124),this.a.G(b).dc(a)};g.I=function(a){return q(this,a)||a instanceof A1&&this.a.I(a.a)};g.P=function(){return 1370848465^this.a.P()};function I1(){}l(I1,H1);I1.prototype.Fd=function(){return 0};I1.prototype.ig=function(){return Ll()};function J1(){}l(J1,I1);
  2500. function Thb(a,b){k1();var c=new J1;c.a=a;c.b=b;return c}
  2501. function yib(a,b,c){var d=Mg();for(a=u1(b,a.b);;){for(var e=0,f=null,h=zib(b),k=(k1(),Qhb).V().h();k.i();){var m=k.j(),p=m.O();a:{var t=b.a;for(var v=p.a,C=0,J=0,K=t.length,Ca=v.length;J<Ca;){if(C==K){t=!1;break a}if(t[C+1]<=v[J])C+=2;else if(!(t[C]>v[J])&&t[C+1]>=v[J+1])J+=2;else{t=!1;break a}}t=J==Ca}t&&(p=t1(v1(b,p),a),t=zib(p),t<h&&(f=p,e=m.M().a,h=t))}if(f)Og(Og(d,92),e),b=f;else break}a=new K1;d=d.toString();a.a=c;a.c=b;a.b=d;return a}
  2502. J1.prototype.dc=function(a){if((k1(),Whb).a.I(this.a))Og(a,46);else{a:{var b=v1((p1(),n1),this.a);if(0!=this.b.a.length){if(0==u1(b,this.b).a.length){var c=yib(this,this.a,!1);break a}if(0==u1(this.a,this.b).a.length){c=yib(this,b,!0);break a}}c=yib(this,this.a,!1);b=yib(this,b,!0);c=(c.a?1:0)+c.b.length+zib(c.c)<=(b.a?1:0)+b.b.length+zib(b.c)?c:b}a:{if(0==c.c.a.length){if(!c.a&&2==c.b.length){x(a,c.b);break a}if(0==c.c.a.length&&te(c.b)){x(a,c.a?"[\\S\\s]":"(?!)");break a}}Og(a,91);c.a&&Og(a,94);
  2503. x(a,c.b);b=!c.a&&te(c.b);for(var d=!1,e=0,f=c.c.a.length>>1;e<f;++e){var h=c.c.a[e<<1]&65535,k=c.c.a[e<<1|1]-1&65535;switch(k-h){case 0:45==h?d=!0:L1(h,b,0==e,e+1==f,a);break;case 1:L1(h,b,0==e,!1,a);L1(k,b,!1,e+1==f,a);break;default:L1(h,b,0==e,!1,a),Og(a,45),L1(k,b,!1,!0,a)}}d&&Og(a,45);Og(a,93)}}};J1.prototype.I=function(a){return a instanceof J1&&this.a.I(a.a)};J1.prototype.P=function(){return this.a.P()^-555867578};function K1(){this.a=!1}l(K1,n);
  2504. function L1(a,b,c,d,e){switch(a){case 8:x(e,"\\b");break;case 94:x(e,c&&b?"\\^":"^");break;case 45:x(e,c||d?"-":"\\-");break;case 92:case 93:Og(Og(e,92),a);break;default:xib(a,e)}}function zib(a){for(var b=0,c=0,d=a.a.length>>1;c<d;++c){var e=a.a[c<<1],f=a.a[c<<1|1]-1;32>e||127<=e?b+=256<=e?6:4:++b;switch(f-e){case 0:continue;case 1:break;default:b+=1}32>f||127<=f?b+=256<=f?6:4:++b}return b}K1.prototype.I=function(a){return a instanceof K1?this.a=a.a&&this.c.I(a.c)&&q(this.b,a.b):!1};
  2505. K1.prototype.P=function(){return this.c.P()+31*(Yg(this.b)+(this.a?1:0))};function M1(){}var Yhb;l(M1,I1);M1.prototype.dc=function(){};M1.prototype.I=function(a){return a instanceof M1};M1.prototype.P=function(){return 2128634177};function Xhb(){Xhb=function(){};k1();Yhb=new M1}function N1(){}l(N1,I1);function $hb(a){k1();var b=new N1;b.a=a;return b}
  2506. N1.prototype.dc=function(a){for(var b=0,c=this.a.length;b<c;++b){var d=this.a.charCodeAt(b),e=b+1<c?this.a.charCodeAt(b+1):-1,f=a;switch(d){case 36:case 94:case 42:case 40:case 41:case 43:case 91:case 124:case 46:case 47:case 63:Og(Og(f,92),d);break;case 123:48<=e&&57>=e&&Og(f,92);Og(f,d);break;default:xib(d,f)}}};N1.prototype.I=function(a){return a instanceof N1&&q(this.a,a.a)};N1.prototype.P=function(){return Yg(this.a)^102228752};function E1(){this.a=0}l(E1,I1);
  2507. E1.prototype.dc=function(a){Vg(Og(a,92),this.a)};E1.prototype.I=function(a){return a instanceof E1&&this.a==a.a};E1.prototype.P=function(){return-16308637^this.a};function z1(){}l(z1,H1);g=z1.prototype;g.Fd=function(){for(var a=0,b=this.a.h();b.i();){var c=b.j();a+=c.Fd()}return a};g.ig=function(){return this.a};
  2508. g.dc=function(a){for(var b=!1,c=this.a.h();c.i();){var d=c.j(),e=!1;if(d instanceof A1||d instanceof z1)e=!0;e?(x(a,"(?:"),d.dc(a),Og(a,41)):(e=a.Ra(),d.dc(a),b&&a.Ra()>e&&(b=a.$a.charCodeAt(e),48<=b&&57>=b&&(123==a.$a.charCodeAt(e-1)?Xg(a,e-1,Hg(92)):Og(Xg(a,e,"(?:"),41))));b=d instanceof E1&&10>d.a||d instanceof N1&&ki(d.a,"{")}};g.I=function(a){return a instanceof z1&&this.a.I(a.a)};g.P=function(){return 546930238^this.a.P()};function G1(){this.c=this.f=0;this.b=!1}l(G1,H1);g=G1.prototype;
  2509. g.Fd=function(){return this.a.Fd()};g.ig=function(){return Ml(this.a)};function Aib(a,b){if(2147483647==b)switch(a){case 0:case 1:return 1;default:return 3+Bib(a)}return 0==a&&1==b?1:a==b?1==a?0:2+Bib(a):3+Bib(a)+Bib(b)}function Bib(a){if(0>a)throw ib().s;for(var b=1;10<=a;)++b,a=a/10|0;return b}
  2510. g.dc=function(a){var b=a.Ra();this.a instanceof A1||this.a instanceof z1||this.a instanceof G1||this.a instanceof N1&&1<this.a.a.length?(x(a,"(?:"),this.a.dc(a),Og(a,41)):this.a.dc(a);var c=a.Ra(),d=c-b,e=this.f,f=this.c;if(2<=e&&2147483647==f||1>=f-e){var h=e==f||2147483647==f?e-1:e,k=e-h,m=2147483647==f?f:f-h,p=Aib(e,f),t=Aib(k,m);if(d*h+t<p&&0==this.a.Fd()){for(;0<=--h;)Yf(a,a,b,c);e=k;f=m}}if(2147483647==f)switch(e){case 0:Og(a,42);break;case 1:Og(a,43);break;default:x(Vg(Og(a,123),e),",}")}else 0==
  2511. e&&1==f?Og(a,63):e==f?1!=e&&Og(Vg(Og(a,123),e),125):Og(Vg(Og(Vg(Og(a,123),e),44),f),125);this.b||Og(a,63)};g.I=function(a){return a instanceof G1?this.a.I(a.a)&&this.f==a.f&&this.c==a.c&&this.b==a.b:!1};g.P=function(){return this.f+31*(this.c+31*((this.b?1:0)+31*this.a.P()))};function y1(){this.a=0}l(y1,I1);y1.prototype.dc=function(a){Og(a,this.a)};y1.prototype.I=function(a){return a instanceof y1&&this.a==a.a};y1.prototype.P=function(){return this.a^-397207553};function jib(){}l(jib,H1);g=jib.prototype;
  2512. g.Fd=function(){return 1+this.a.Fd()};g.ig=function(){return Ml(this.a)};g.dc=function(a){Og(a,40);this.a.dc(a);Og(a,41)};g.I=function(a){return a instanceof jib&&this.a.I(a.a)};g.P=function(){return 1433933624^this.a.P()};function Cib(){this.b=!1}l(Cib,H1);function kib(a,b){k1();var c=new Cib;c.a=a;c.b=b;return c}g=Cib.prototype;g.Fd=function(){return this.a.Fd()};g.ig=function(){return Ml(this.a)};g.dc=function(a){x(a,this.b?"(?=":"(?!");this.a.dc(a);Og(a,41)};
  2513. g.I=function(a){return a instanceof Cib?this.b==a.b&&this.a.I(a.a):!1};g.P=function(){return 119778217^this.a.P()};function O1(){this.b=!1}l(O1,H1);function lib(a,b){k1();var c=new O1;c.a=a;c.b=b;return c}g=O1.prototype;g.Fd=function(){return this.a.Fd()};g.ig=function(){return Ml(this.a)};g.dc=function(a){x(a,this.b?"(?<=":"(?<!");this.a.dc(a);Og(a,41)};g.I=function(a){return a instanceof O1?this.b==a.b&&this.a.I(a.a):!1};g.P=function(){return 119778217^this.a.P()};function F1(){}l(F1,I1);
  2514. F1.prototype.dc=function(a){Og(x(x(a,"\\k<"),this.a),62)};F1.prototype.I=function(a){return a instanceof F1&&q(this.a,a.a)};F1.prototype.P=function(){return dd(this.a)};function C1(){}l(C1,H1);g=C1.prototype;g.Fd=function(){return 1+this.a.Fd()};g.ig=function(){return Ml(this.a)};g.dc=function(a){x(a,"(?<");x(a,this.b);Og(a,62);this.a.dc(a);Og(a,41)};g.I=function(a){return a instanceof C1&&q(this.b,a.b)&&this.a.I(a.a)};g.P=function(){return dd(this.b)^this.a.P()};function Dib(){this.a=0}
  2515. var bib,cib,dib,eib,fib,hib,iib;l(Dib,z);function P1(a,b){var c=new Dib;c.b=a;c.a=b;return c}Dib.prototype.R=function(a){return z.prototype.c.call(this,a)};function B1(){B1=function(){};iib=P1("CAPTURING",0);bib=P1("NONCAPTURING",1);cib=P1("POSITIVE_LOOKAHEAD",2);dib=P1("NEGATIVE_LOOKAHEAD",3);eib=P1("POSITIVE_LOOKBEHIND",4);fib=P1("NEGATIVE_LOOKBEHIND",5);hib=P1("NAMED_GROUPS",6)}function Q1(){this.a=!1}l(Q1,I1);
  2516. function oib(a,b,c){k1();var d=new Q1;E(null!=b);Fi(null==a||!te(a),"if '=' is present in a unicode property escape, the name cannot be empty");Fi(!te(b),"unicode property escape value cannot be empty");d.b=a;d.c=b;d.a=c;return d}Q1.prototype.dc=function(a){x(a,this.a?"\\P{":"\\p{");null!=this.b&&(x(a,this.b),Og(a,61));x(a,this.c);x(a,"}")};Q1.prototype.I=function(a){return a instanceof Q1&&this.a==a.a&&q(this.b,a.b)&&q(this.c,a.c)};Q1.prototype.P=function(){return Fg([this.a,this.b,this.c])};
  2517. function D1(){this.a=0}l(D1,I1);D1.prototype.dc=function(a){Og(Og(a,92),this.a)};D1.prototype.I=function(a){return a instanceof D1&&this.a==a.a};D1.prototype.P=function(){return 1450420777^this.a};function R1(){}l(R1,n);R1.prototype.rn=function(){};R1.prototype.qn=function(){};R1.prototype.pn=function(){};function S1(){}l(S1,R1);S1.prototype.Ak=function(){return this};S1.prototype.Ij=function(a,b){MT(a,b,(T1(),Eib),A([],B,y,1));this.a.Ij(a,b)};S1.prototype.Jj=function(a,b){this.a.Jj(a,b)};
  2518. function Fib(){this.c=this.o=!1}l(Fib,R1);g=Fib.prototype;g.Ak=function(a){var b=new S1;b.b=G(a);b.a=G(this);return b};g.Ij=function(a,b){this.a||(this.a=b)};g.Jj=function(a,b){this.a||(this.f=b)};g.rn=function(a){this.a||(this.g=a)};g.qn=function(a){a.a&&(this.c=!0)};g.pn=function(a){this.o?(this.a||this.c||MT(a,this.b.m(),(T1(),Gib),A([],B,y,1)),this.g&&MT(a,this.g,(T1(),Hib),A([],B,y,1)),this.f&&MT(a,this.f,(T1(),Iib),A([],B,y,1))):this.a&&MT(a,this.a,(T1(),U1),A([],B,y,1))};
  2519. function V1(){this.a=!1}l(V1,R1);V1.prototype.Ak=function(){return this};V1.prototype.Jj=function(){};V1.prototype.Ij=function(a,b){if(this.a){var c=G(this.b.m());c=LH(c)||CH(c)||VH(c)?c.l():null;null!=c?MT(a,b,(T1(),Jib),A([c],B,y,1)):MT(a,b,(T1(),U1),A([],B,y,1))}else MT(a,b,(T1(),U1),A([],B,y,1))};function W1(){}l(W1,R1);function Kib(a){var b=new W1;b.b=G(a);return b}W1.prototype.Ak=function(){return this};W1.prototype.Ij=function(a,b){MT(a,b,(T1(),U1),A([],B,y,1))};
  2520. W1.prototype.Jj=function(a,b){MT(a,b,(T1(),Lib),A([],B,y,1))};function Mib(){}var Eib,U1,Gib,Hib,Iib,Jib,Lib,Nib;l(Mib,n);g=Mib.prototype;g.H=function(a,b){Y(this.b,b,this)};g.ra=function(a){Y(this.b,a,this)};
  2521. g.ga=function(a,b){this.a.D()&&(F(sC(b)||tC(b),b),this.a.Ea(Kib(b)));if(P(b)){a=this.a.Na();if(zX(b))if(BY(b)){var c=new Fib;c.b=G(b);c.a=null;c.c=!1;c.g=null;c.f=null;Fi(BY(b),b);c.o=!Aw(R(gX(b)));b=c}else c=new V1,c.b=G(b),Fi(P(b)&&zX(b),b),b=G(gG(b)),SH(b)?c.a=!1:(F(pH(b),b),c.a=!0),b=c;else b=aH(b)?a.Ak(b):Kib(b);q(b,a)||this.a.Ea(b)}return!0};
  2522. g.J=function(a,b){var c=G(this.a.Na());if(WH(b)){F(WH(b),b);var d=b.m();eH(d)&&iG(b,d)?c.Ij(a,b):(F(WH(b),b),d=b.m(),UI(d)&&iG(b,d)?c.Jj(a,b):MT(a,b,Nib,A([],B,y,1)))}else SC(b)?c.rn(b):Ux(b)&&c.qn(b);q(b,c.b)&&(c.pn(a),this.a.Ta())};
  2523. function T1(){T1=function(){};Gib=U("JSC_MISSING_CALL_TO_SUPER","constructor is missing a call to super()");Hib=U("JSC_THIS_BEFORE_SUPER","cannot access this before calling super()");Iib=U("JSC_SUPER_ACCESS_BEFORE_SUPER_CONSTRUCTOR","cannot access super properties before calling super()");U1=U("JSC_INVALID_SUPER_CALL","super() not allowed except in the constructor of a subclass");Eib=U("JSC_SUPER_CALL_IN_ARROW","closure-compiler does not allow calls to `super()` in arrow functions");Nib=U("JSC_INVALID_SUPER_USAGE",
  2524. "''super'' may only be used in a call or property access");Lib=U("JSC_INVALID_SUPER_ACCESS","''super'' may only be accessed within a method");Jib=U("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION","super() not allowed here. Did you mean super.{0}?")}g.la=!0;function Oib(){}var Pib,Qib,Rib,Sib,Tib,Uib,Vib;l(Oib,RT);function Wib(){Xib();return new Oib}
  2525. Oib.prototype.J=function(a,b){switch(b.c.a){case 70:var c=R(b);Yib(a,c);(c=c.b)&&Yib(a,c);break;case 74:case 76:case 77:case 105:case 106:Yib(a,pX(b))}switch(b.c.a){case 4:case 9:case 8:case 7:case 6:case 5:case 39:case 40:Zib(a,b.a),Zib(a,O(b))}HH(b)&&$ib(a,O(b),Rib);JH(b)&&$ib(a,b.a,Sib);HH(b)&&PH(b.a)&&MT(a,b.a,Tib,A([],B,y,1));if(TH(b)||iH(b)){c=TH(b)?"||":"&&";var d=X1(this,b.a);q(d,(Xu(),Vu))||(d=q(d,(Xu(),Tu))?"truthy":"falsy",MT(a,b,Uib,A([c,d],B,y,1)))}if(XG(b)||YG(b)||ZG(b))c=b.m(),(N(c)||
  2526. DH(c)||eH(c))&&MT(a,b,Vib,A([],B,y,1))};function Yib(a,b){E(Hw(b));!b.a&&RG(b)&&X(a.c,V(b,Pib,A([],B,y,1)))}function Zib(a,b){vY(b)&&X(a.c,V(b.m(),Qib,A([],B,y,1)))}function $ib(a,b,c){var d;if(!(d=hH(b))){T();a:switch(bX(b).a){case 5:case 1:case 3:case 4:case 2:d=!1;break a;case 6:case 0:d=!0;break a;default:throw pb("unexpected").s;}d=!d}d&&MT(a,b.m(),c,A([],B,y,1))}
  2527. function X1(a,b){switch(b.c.a){case 50:case 49:return X1(a,O(b));case 19:return X1(a,O(b)).Ne();case 65:return(Xu(),Vu).Te(X1(a,O(b)));case 64:return(Xu(),Vu).Bj(X1(a,O(b)));case 63:var c=X1(a,R(b));b=X1(a,O(b));return cd(c,b)?c:(Xu(),Vu);case 69:case 100:case 23:case 45:case 46:return Xu(),Tu;case 83:return Xu(),Uu;case 26:case 27:return Xu(),Vu}c=RW(b);return!q(c,(Xu(),Vu))||L(b)?c:(b=b.f)?(Xu(),Vu).Te($pa(b.ad())):(Xu(),Vu)}
  2528. function Xib(){Xib=function(){};Pib=AJ("JSC_SUSPICIOUS_SEMICOLON","If this if/for/while really shouldn''t have a body, use '{}'");Qib=AJ("JSC_SUSPICIOUS_NAN","Comparison against NaN is always false. Did you mean isNaN()?");Rib=AJ("JSC_SUSPICIOUS_IN",'Use of the "in" keyword on non-object types throws an exception.');Sib=AJ("JSC_SUSPICIOUS_INSTANCEOF_LEFT",'"instanceof" with left non-object operand is always false.');Uib=AJ("JSC_SUSPICIOUS_LEFT_OPERAND_OF_LOGICAL_OPERATOR","Left operand of {0} operator is always {1}.");
  2529. Tib=AJ("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR","Suspicious negated left operand of 'in' operator.");Vib=AJ("SUSPICIOUS_BREAKING_OUT_OF_OPTIONAL_CHAIN","Suspicious breaking out of optional chain. May result in TypeError if optional chain is undefined.")}function ajb(){}var bjb,cjb;l(ajb,RT);ajb.prototype.H=function(a,b){Y(this.a,b,this)};
  2530. ajb.prototype.J=function(a,b){if(L(b)){var c=ET(a).T(b.l());c&&(c=c.a)&&!q(c,b)&&EX(c)&&(c=Lx(c.m())?gG(gG(c)):c.m(),PI(c)&&gF(c)&&c.a.a&&eH(O(c.a))&&zG(O(c.a).a,bjb)&&MT(a,b,cjb,A([b.l()],B,y,1)))}};function djb(){djb=function(){};cjb=U("JSC_TYPE_IMPORT_CODE_REFERENCE","Cannot reference goog.requireType()''d name {0} outside of a type annotation.");bjb=sx(rx("goog"),ux("requireType"))}function Y1(){}l(Y1,n);Y1.prototype.Ca=function(a){return this.ca(a)};Y1.prototype.cb=function(){return hd(this)};
  2531. Y1.prototype.ca=function(a){a:{var b=a.a;if(q(b,GS)||q(b,HS))if(a=NS(a.b))if(a=RW(a),!q(a,(Xu(),Vu))){b=a.ed(!0)==q(b,(LS(),GS));break a}b=!0}return b};function ejb(){}l(ejb,n);function fjb(){}var gjb,hjb;l(fjb,cT);function ijb(a){jjb();var b=new fjb;b.a=a;return b}g=fjb.prototype;g.Hb=function(a){if(RS(HT(a))){a=GT(a);var b=hjb;Z1();var c=new kjb;c.a=a;c.c=b;ljb(c,a.b.a())}};
  2532. g.ga=function(a,b){var c=GT(a).Ub(b);if(c&&!q(c.sb(),(Z1(),$1))&&-1!=XA(b)&&!Aw(b)&&!lH(b)){X(this.a,V(b,gjb,A([],B,y,1)));c=mjb(GT(a));a=c.a.Ub(b);E(!q(a.sb(),$1));a.nc($1);a=a2(c);c=c.a;var d=pm();d.add(b);njb(a,c,d);return!1}return!0};g.Tb=function(){};function jjb(){jjb=function(){};gjb=AJ("JSC_UNREACHABLE_CODE","unreachable code");hjb=new Y1}g.la=!0;g.ic=!0;function ojb(a){this.a=a}l(ojb,n);ojb.prototype.b=function(a,b,c){var d;return d=this.a,d(a,b,c)};function pjb(){}l(pjb,n);
  2533. function a2(a){var b=new pjb;b.a=a;return b}function qjb(a,b){for(var c=pm(),d=b.Bd().h();d.i();){var e=d.j();c.add(e.a())}njb(a,b,c)}function njb(a,b,c){var d=0,e=Cb(b.Kl());e=Mb(Za(Za(e,e),e),hb(100));var f=pm();for(c=c.h();c.i();){var h=c.j();f.add(b.Ub(h))}for(;!f.D()&&0>ab(Cb(d),e);d++)for(c=f.h().j(),b=c.a(),f.sa(c),c=c.b.h();c.i();)h=c.j(),a.a.b(b,h.mf(),h.a.a())&&f.add(h.a);F(!Cb(d).I(e),"Fixed point computation not halting")}function rjb(){}l(rjb,n);function kjb(){}var $1;l(kjb,n);
  2534. function mjb(a){Z1();var b=new kjb;b.a=a;b.c=null;return b}function ljb(a,b){a.a.Hm();a.a.Ub(b).nc($1);var c=a2(a);a=a.a;var d=pm();d.add(b);njb(c,a,d)}kjb.prototype.b=function(a,b,c){var d;(d=q(this.a.Ub(a).sb(),$1))&&!(d=!this.c)&&(d=new ejb,d.b=a,d.a=b,d=this.c.ca(d));return d&&(a=this.a.Ub(c),!q(a.sb(),$1))?(a.nc($1),!0):!1};function Z1(){Z1=function(){};$1=new rjb}function sjb(){}var tjb;l(sjb,n);function ujb(a){vjb();var b=new sjb;b.a=ef();b.b=w();b.c=a;return b}g=sjb.prototype;
  2535. g.H=function(a,b){Y(this.c,b,this)};g.ra=function(a){Y(this.c,a,this)};g.ga=function(a,b){tC(b)&&(this.a.ia(),this.a.add("constructor"),this.b.ia());return!0};
  2536. g.J=function(a,b){switch(b.c.a){case 89:for(b=this.b.h();b.i();){var c=b.j();a:{var d=c;switch(d.c.a){case 26:d=O(d).l();break a;case 102:d=d.l();break a}throw Ha("Unexpected node type: "+r(d)).s;}this.a.B(d)||MT(a,c,tjb,A([d],B,y,1))}break;case 26:a=O(b).l();if(!(c=MX(this.c).Cd(a)))a:{c=b.m();if(q(b,c.a)){if(yH(c)||kH(c)){c=!1;break a}if(XI(c)||IH(c)||tH(c)){c=uY(c);break a}}c=!0}c||(F(N(b),b),c=b.a,(d=SC(c))||(d=c.f,d=!!d&&(d.xa()||d.Ja())),c=!(d||N(c)&&li(O(c).l(),"prototype")));c?this.a.add(a):
  2537. wjb(b)&&this.b.add(b);break;case 102:wjb(b)&&this.b.add(b);break;case 46:for(b=BA(b).h();b.i();)a=b.j(),(Lx(a)||CH(a)||VH(a)||LH(a))&&this.a.add(a.l());break;case 28:a=b.a,lG(b)&&MX(this.c).Dd(wG(a))&&(b=a.b,Dw(b)&&this.a.add(b.l()))}};function wjb(a){var b=tL(a);a=tL(a);return!!a&&q(a.c,(HD(),CD))&&!jE(b)&&!eE(b)}function vjb(){vjb=function(){};tjb=BJ("JSC_UNUSED_PRIVATE_PROPERTY","Private property {0} is never read")}g.la=!0;function xjb(){}l(xjb,RT);
  2538. xjb.prototype.J=function(a,b,c){(P(b)||kA(b))&&q(c,this.b)&&this.c.X(b.a.l())?(c=NA(b),kA(c)&&(a=c.a,qD(a,FG(yw(),a))),DY(c,this.a.a),a=GG(cx(GG(wx(yjb(this,b.a),c),b)),b),nG(b)&&(Gx(a.a,nG(b)),sF(c,(kx(),HE))),pF(this.b,b,a),uX(b,this.a.a),Z(this.a.a,a)):L(b)&&this.c.X(b.l())&&!P(c)&&!kA(c)&&(PI(c)?q(c.m(),this.b)&&(b=(a=UA(b))?GG(cx(GG(wx(yjb(this,b),a),c)),c):GG(cx(yjb(this,b)),c),nG(c)&&Gx(b.a,JD(nG(c),!1)),pF(this.b,c,b),Z(this.a.a,b)):(a=yjb(this,b),nG(b)&&Gx(a,JD(nG(b),!1)),eH(c)&&Hx(c,(kx(),
  2539. KE),!1),pF(c,b,a),Z(this.a.a,a)))};function yjb(a,b){var c=a.c.get(b.l());return IG(LX(a.a.a,r(a.f)+"."+r(c)),b)}function zjb(){}var Ajb,Bjb,Cjb,Djb,Ejb,Fjb,Gjb;l(zjb,RT);zjb.prototype.H=function(a,b){Y(this.a,b,this)};
  2540. zjb.prototype.J=function(a,b,c){if(eH(b))if(a=b.a,yG(a,"cr.define")){3!=GA(b)&&X(this.a,V(b,Djb,A([],B,y,1)));a=R(b);var d=RC(b,2);if(Dw(a)){b=a.l();var e=w(),f=yi(b,"\\.",0);Hjb(this,e,f[0],!0);if(2<=f.length)for(var h=x(Mg(),f[0]),k=1;k<f.length;++k)x(x(h,"."),f[k]),Hjb(this,e,h.toString(),!1);for(f=e.h();f.i();)h=f.j(),mF(c.m(),h,c);e.D()||Z(this.a,c);if(P(d)){var m,p;c=O(d);if((m=O(c))&&Ux(m)&&(p=m.a)&&SH(p)){m=bf();for(p=BA(p).h();p.i();)d=p.j(),a=d.l(),L(d.a)&&(d=d.a.l(),m.C(d,a));p=this.a;
  2541. a=new xjb;a.a=this;a.f=b;a.c=m;a.b=c;Y(p,c,a)}else X(this.a,V(a,Gjb,A([],B,y,1)))}else X(this.a,V(a,Fjb,A([],B,y,1)))}else X(this.a,V(a,Ejb,A([],B,y,1)))}else if(yG(a,"Object.defineProperty")||yG(a,"cr.defineProperty"))a:{if(m=yG(b.a,"cr.defineProperty")){if(3>GA(b)){X(this.a,V(b,Ajb,A([],B,y,1)));break a}}else if(4>GA(b))break a;p=EC(R(b));m&&!ki(p,".prototype")&&(p=r(p)+".prototype");a=RC(b,2);p=IG(LX(this.a,r(p)+"."+r(a.l())),b);m?((a=Ijb(this,RC(b,3)))?Jjb(p,a):(a=nG(b))&&gE(a)?Gx(p,a):Jjb(p,
  2542. zw((H(),yu))),Gx(b,null)):Jjb(p,zw((H(),yu)));a=GG(cx(p),c);nF(c.m(),a,c);Z(this.a,m?b:p)}};function Ijb(a,b){if(!b||yG(b,"cr.PropertyKind.JS"))return null;if(yG(b,"cr.PropertyKind.ATTR"))return ux("string");if(yG(b,"cr.PropertyKind.BOOL_ATTR"))return ux("boolean");X(a.a,V(b,Bjb,A([EC(b)],B,y,1)));return null}function Jjb(a,b){var c=HP(!1);QP(c,mD(HG(b,Cjb),"<ChromePass.java>"));Gx(a,KP(c))}function Hjb(a,b,c,d){a.b.B(c)||(b.add(Kjb(a,String(d?"var ":"")+r(c)+" = "+r(c)+" || {};")),a.b.add(c))}
  2543. function Kjb(a,b){return UA(Ljb(a.a,b))}
  2544. function Mjb(){Mjb=function(){};Cjb=vD(yw(),vDa("<ChromePass.java>",(gs(),fs)));Djb=U("JSC_CR_DEFINE_WRONG_NUMBER_OF_ARGUMENTS","cr.define() should have exactly 2 arguments. It should be called like this: cr.define('name.space', function() '{ ... return {Export: Internal}; }');");Ejb=U("JSC_CR_DEFINE_INVALID_FIRST_ARGUMENT","Invalid first argument for cr.define(). It should be called like this: cr.define('name.space', function() '{ ... return {Export: Internal}; }');");Fjb=U("JSC_CR_DEFINE_INVALID_SECOND_ARGUMENT",
  2545. "Invalid second argument for cr.define(). It should be called like this: cr.define('name.space', function() '{ ... return {Export: Internal}; }');");Gjb=U("JSC_CR_DEFINE_INVALID_RETURN_IN_SECOND_ARGUMENT","Function passed as second argument of cr.define() should return the dictionary in its last statement. It should be called like this: cr.define('name.space', function() '{ ... return {Export: Internal}; }');");Ajb=U("JSC_CR_DEFINE_PROPERTY_TOO_FEW_ARGUMENTS","cr.defineProperty() requires at least 2 arguments.");
  2546. Bjb=U("JSC_CR_DEFINE_PROPERTY_INVALID_PROPERTY_KIND",'Invalid cr.PropertyKind passed to cr.defineProperty(): expected ATTR, BOOL_ATTR or JS, found "{0}".')}function Njb(){}l(Njb,RT);
  2547. Njb.prototype.J=function(a,b){if(eH(b))if(a=b.a,MX(this.a.a).Dd(wG(a)))a:{a=this.a;if(!a.c){var c=oY(b,0);if(c){qD(b,S(c));Z(a.a,c);break a}}c=b.a;if(!yG(c,"JSCompiler_renameProperty")){var d=FG(rx("JSCompiler_renameProperty"),c);bG(d,wG(c));pF(b,c,d);Hx(b,(kx(),KE),!0);Z(a.a,b)}}else if(xG(a,"goog$object$create")||yG(a,"goog.object.create")){a=this.a;c=R(b);a:{for(d=c;d;){if(!Ojb(a,d)){d=!1;break a}d=d.b;if(!d){d=!1;break a}d=d.b}d=!0}if(d){for(d=GG(Kx(A([],lx,eI,1)),b);c;){var e=c,f=c.b;c=f.b;oF(b,
  2548. e);oF(b,f);Pjb(a,d,e,f,iX(b))}qD(b,d);Z(a.a,d)}}else if(xG(a,"goog$object$createSet")||yG(a,"goog.object.createSet"))if(a=this.a,c=R(b),Qjb(a,c)){for(d=GG(Kx(A([],lx,eI,1)),b);c;)e=c,f=GG(Rx(),e),c=c.b,oF(b,e),Pjb(a,d,e,f,iX(b));qD(b,d);Z(a.a,d)}a:if(a=this.a,!DX(b)){if(L(b)&&zi(b.l(),"goog$dom$TagName$"))c=Oa(b.l(),17);else if(N(b)&&!N(b.m())&&yG(b.a,"goog.dom.TagName"))c=nfa(R(b).l(),".*\\$","");else break a;c=GG(ux(c),b);qD(b,c);Z(a.a,c)}};function Rjb(){this.b=this.c=!1}var Sjb;l(Rjb,n);
  2549. Rjb.prototype.H=function(a,b){a=new Njb;a.a=this;Y(this.a,b,a)};function Qjb(a,b){if(b&&!b.b&&!RH(b)&&!Dw(b))return!1;for(var c=b,d=ef();c;){if(!Ojb(a,c))return!1;if(Dw(c)||RH(c)){var e=Dw(c)?c.l():""+c.ab();if(!d.add(e))return X(a.a,V(iF(b),Sjb,A([e],B,y,1))),!1}c=c.b}return!0}function Pjb(a,b,c,d,e){RH(c)||Dw(c)?(RH(c)&&(c=GG(ux(""+c.ab()),c)),a=(H(),Tt),c.c=a,c.Pg(),M(b,Tqa(c,d))):(M(b,GG(Sqa(c,d),c)),HY(e,(KI(),dK),a.a))}function Ojb(a,b){return a.b?!EI(b):Dw(b)||RH(b)}
  2550. function Tjb(){Tjb=function(){};Sjb=AJ("JSC_DUPLICATE_SET_MEMBER","Found duplicate value ''{0}'' in set")}function b2(){}l(b2,n);b2.prototype.ac=function(){return fc(this)};b2.prototype.hc=function(a){return cc(this,a)};b2.prototype.oc=function(a){return dc(this,a)};b2.prototype.Pa=function(a,b){return Ujb(this.a.a,a.va())-Ujb(this.a.a,b.va())};function Vjb(){}l(Vjb,n);
  2551. function Wjb(a,b){if(q(b,a.c)||!MS(b)){if(Yw(b)&&kG(b)||kH(b)&&Xw(b.a)||vH(b))Wjb(a,R(b)),Wjb(a,b.a);else for(var c=b.a;c;c=c.b)Wjb(a,c);c=b.m();if(L(b)||b.a&&L(b.a))Xjb(a.a,b,c),Xjb(a.b,b,c)}}function Yjb(){this.a=this.b=!1}l(Yjb,n);function Zjb(a,b){var c=new Yjb;c.b=!1;c.a=!1;c.c=G(a);c.f=b;return c}
  2552. function Xjb(a,b,c){var d;if(d=!a.b)a:{d=a.c;if(L(b)){if(Gw(c)||PI(c)&&b.a||eV(b)){d=li(d.va(),b.l());break a}}else if(XI(b)){c=b.a;d=L(c)&&li(d.va(),c.l());break a}d=!1}d&&(a.b=!0);(c=a.b)&&!(c=!a.f)&&(c=a.f,c=L(b)&&li(c.va(),b.l())&&!CX(b,b.m()));c&&(a.a=!0)}function $jb(){}l($jb,CS);function akb(){this.g=!1}l(akb,RT);g=akb.prototype;g.H=function(a,b){G(a);G(b);Y(this.b,b,this);a=(cJ(),Oza);this.b.c=a};
  2553. function bkb(a){if(!P(HT(a)))return!1;var b=bf(),c=w();FY(b,c,a.c,a.U,ET(a));return 100>c.w()}
  2554. g.Hb=function(a){var b=ET(a);if(bkb(a)){F(yL(b),b);a=GT(a);var c=kT(this.b),d=new c2;ckb(d,a,b,null,this.b,c);this.a=d;xI((uI(),yI),zI(this.b.a))&&kG(lX(b.ka()))&&dkb(this.a);L_(this.a);this.f.Ea(this.a);d=this.a.b;b=new ekb;b.a=Uf();b.c=!0;b.b=!0;c=this.a.a;for(var e=c.h();e.i();){var f=e.j();d.B(f)||P(kL(f))||kA(kL(f))||fkb(f)||b.se(f)}d=-1;for(e=c.h();e.i();){f=e.j();d++;var h=-1,k=c.h();a:for(;k.i();){var m=k.j();h++;if(!(d>h)){if(!b.Ub(f)||!b.Ub(m))continue a;if(xL(f)&&xL(m)){LVa(b,f,null,m);
  2555. continue a}var p=a.Bd().h();b:for(;p.i();){var t=p.j();if(q(t,a.a))continue b;t=t.sb();if(nn(t.b.a,d)&&nn(t.b.a,h)||nn(t.a.a,d)&&nn(t.a.a,h)){LVa(b,f,null,m);continue a}}p=a.Bd().h();b:for(;p.i();){t=p.j();if(q(t,a.a))continue b;var v=t.sb(),C=nn(v.a.a,d),J=nn(v.a.a,h);v=t.a();var K=Zjb(f,J?null:m),Ca=Zjb(m,C?null:f);J=C=new Vjb;J.c=v;J.a=K;J.b=Ca;v=C;Wjb(v,t.a());v.a.a||v.b.a?(LVa(b,v.a.c,null,v.b.c),t=!0):t=!1;if(t)continue a}}}}a=q5a(b,this.o);r5a(a);this.c.Ea(a)}};
  2556. g.Tb=function(a){bkb(a)&&(this.c.Ta(),this.f.Ta(),this.a=this.f.Na())};
  2557. g.J=function(a,b,c){if(!this.c.D()&&L(b)&&!P(c)){var d=this.a.f.get(b.l()),e=this.c.Na().a.Ub(d);if(e)if(d=o5a(this.c.Na(),d),this.g){var f=xm();for(var h=this.a.a.h();h.i();){var k=h.j();this.c.Na().a.Ub(k)&&d.I(o5a(this.c.Na(),k))&&f.add(k.va())}if(1!=f.w()){for(f=tk(qk("_"),f);RR(ET(a),f);)f=r(f)+"$";b.Ga(f);Z(this.b,b);!e.a().I(d)&&(PI(c)||eX(b,(H(),Xt))&&eV(b))&&(gkb(this,d),hkb(b))}}else!e.a().I(d)&&(b.Ga(d.va()),Z(this.b,b),PI(c)||eX(b,(H(),Xt))&&eV(b))&&(gkb(this,d),hkb(b))}};
  2558. function fkb(a){switch(vL(a).a){case 104:case 92:case 80:return a=fX(a.N(),Ti(function(b){return PI(b)})),1<eT(a).w();default:return!1}}function hkb(a){var b=fX(a,Ti(function(e){return PI(e)})),c=b.m();if(Yw(b.a))a=UA(b.a),dV(c)?qD(b,a):(c=S(hF(b)),qD(b,ZW(GG(wx(a,c),b))));else if(dV(c))pF(c,b,S(a));else if(F(gF(b)&&q(b.a,a),b),a.a){var d=UA(a);oF(b,a);a=GG(wx(a,d),a);zH(c)||(a=ZW(a));pF(c,b,a)}else wX(c,b)}
  2559. function gkb(a,b){if(wL(b)||uL(b))b=Li(b.a,b),ikb(b)&&(a=IG(oVa(dJ(a.b)),b),Mx(b,a)),lxa(fX(b.m(),Ti(function(c){return PI(c)})))}function ikb(a){F(L(a),a);var b=a.m();if(!hx(b)||gF(a))return!1;a=b.m();return ZS(a)?!1:qX(a)}g.la=!0;g.ic=!0;function jkb(){}l(jkb,n);g=jkb.prototype;g.mf=function(){return this.c};g.Eg=function(){return this.a};g.Ek=function(){return this.b};g.sb=function(){throw xb("Graph initialized with edge annotations turned off").s;};
  2560. g.nc=function(){throw xb("Graph initialized with edge annotations turned off").s;};g.toString=function(){return r(this.a)+" -- "+r(this.b)};function kkb(){}l(kkb,jkb);kkb.prototype.sb=function(){return this.f};kkb.prototype.nc=function(a){this.f=a};function d2(){}l(d2,n);d2.prototype.sb=function(){throw xb("Graph initialized with node annotations turned off").s;};d2.prototype.nc=function(){throw xb("Graph initialized with node annotations turned off").s;};d2.prototype.a=function(){return this.c};
  2561. function lkb(){}l(lkb,d2);lkb.prototype.sb=function(){return this.f};lkb.prototype.nc=function(a){this.f=a};function ekb(){this.b=this.c=!1}l(ekb,$jb);g=ekb.prototype;g.Yl=function(){return RVa(this)};g.Pf=function(a,b,c){a=DS(this,a);c=DS(this,c);if(this.b){var d=new kkb;d.c=b;d.a=a;d.b=c;b=d}else d=new jkb,d.c=b,d.a=a,d.b=c,b=d;a.b.add(b);c.b.add(b)};function mkb(a,b){return a.a.gb(b,u(function(c){if(a.c){var d=new lkb;d.b=w();d.c=c;c=d}else d=new d2,d.b=w(),d.c=c,c=d;return c}))}
  2562. g.Qm=function(a){a=this.a.get(a);for(var b=Kd(a.b.w()),c=a.b.h();c.i();){var d=c.j();q(d.Eg(),a)?b.add(d.Ek()):b.add(d.Eg())}return b};g.se=function(a){return mkb(this,a)};g.Nm=function(){for(var a=w(),b=this.a.values().h();b.i();)for(var c=b.j(),d=c.b.h();d.i();){var e=d.j();q(e.Eg(),c)&&a.add(e)}return a};g.Ub=function(a){return this.a.get(a)};
  2563. g.Wm=function(a,b,c){a:{b=ik(b);if(a=this.a.get(a))if(c=this.a.get(c))for(var d=a.b.h();d.i();){var e=d.j();if((q(e.Eg(),a)&&q(e.Ek(),c)||q(e.Eg(),c)&&q(e.Ek(),a))&&b.ca(e.mf())){b=!0;break a}}b=!1}return b};g.Pm=function(){for(var a=w(),b=this.a.values().h();b.i();)for(var c=b.j(),d=c.b.h();d.i();){var e=d.j();q(e.Eg(),c)&&a.add(e)}return a};g.Bd=function(){return tf(this.a.values())};g.Kl=function(){return this.a.wa()};
  2564. g.Rm=function(a){var b=this.a.get(a);if(!b)throw ua(r(a)+" not found in graph").s;return b.b.w()};function e2(){}l(e2,n);function nkb(a){var b=new e2;b.a=kn(a);return b}function okb(a){var b=new e2;G(a);b.a=tia(a.a);return b}e2.prototype.I=function(a){G(a);return a instanceof e2&&this.a.I(a.a)};e2.prototype.toString=function(){return this.a.toString()};e2.prototype.P=function(){return this.a.P()};function pkb(){}l(pkb,n);
  2565. pkb.prototype.f=function(a){for(var b=okb(a.G(0)),c=1;c<a.w();c++)qn(b.a,a.G(c).a);return b};pkb.prototype.ud=!0;function c2(){}l(c2,K_);function ckb(a,b,c,d,e,f){Uab(a,b,new pkb);F(yL(c),c);a.u=c;a.F=d;a.b=ef();a.$=bf();a.f=bf();a.a=w();Vab(c,a.b,e,f);FY(a.f,a.a,e,f,c);b=0;for(c=a.a.h();c.i();)d=c.j(),a.$.C(d.va(),Fc(b)),b++}function Ujb(a,b){return a.$.get(b).xb()}c2.prototype.o=function(){return!1};c2.prototype.A=function(){return nkb(this.a.w())};c2.prototype.v=function(){return nkb(this.a.w())};
  2566. function f2(a,b,c,d,e){switch(b.c.a){case 89:case 85:case 69:case 86:break;case 74:case 75:case 70:case 76:f2(a,NS(b),c,d,e);break;case 105:case 106:case 77:b=b.a;PI(b)&&(b=O(b));f2(a,b,c,d,e);break;case 104:case 92:case 80:for(b=b.a;b;b=b.b)if(L(b))b.a&&(f2(a,b.a,c,d,e),e||g2(a,b,d));else{F(Yw(b),b);if(!e)for(var f=eT(b).h();f.i();){var h=f.j();g2(a,h,d)}f2(a,b.a,c,d,e);f2(a,R(b),c,d,e)}break;case 65:case 64:case 66:f2(a,b.a,c,d,e);f2(a,O(b),c,d,!0);break;case 63:f2(a,b.a,c,d,e);f2(a,R(b),c,d,!0);
  2567. f2(a,O(b),c,d,!0);break;case 32:li(b.l(),"arguments")?dkb(a):eV(b)||g2(a,b,c);break;default:if(XI(b)&&L(b.a))f=b.a,e||g2(a,f,d),kH(b)||g2(a,f,c),f2(a,f.b,c,d,e);else if(kH(b)&&Xw(b.a)){if(!e)for(f=eT(b).h();f.i();)h=f.j(),L(h)&&g2(a,h,d);f2(a,b.a,c,d,e);f2(a,R(b),c,d,e)}else for(b=b.a;b;b=b.b)f2(a,b,c,d,e)}}function g2(a,b,c){F(L(b),b);b=b.l();var d=a.f.get(b);if(d){var e=d.ya();(SR(e)?qkb(e,b):q(e,a.u)&&a.F?qkb(a.F,b):QR(e,b))&&(a.b.B(d)||rn(c,Ujb(a,d.va())))}}
  2568. function qkb(a,b){E(SR(a));return QR(a,b)||QR(a.m(),b)}function dkb(a){for(var b=lX(a.u.ka()).a;b;b=b.b)L(b)&&a.b.add(a.u.T(b.l()))}c2.prototype.U=function(a,b){for(var c=kn(32*b.a.a.length),d=kn(32*b.a.a.length),e=!1,f=ZVa(this.c,a).h();f.i();){var h=f.j();cd((LS(),JS),h.mf())&&(e=!0)}f2(this,a,c,d,e);a=okb(b);sia(a.a,d);qn(a.a,c);return a};function rkb(){}l(rkb,RT);rkb.prototype.H=function(a,b){Y(this.a,b,this)};
  2569. rkb.prototype.J=function(a,b,c){if(gx(b)||hx(b)||ix(b)){var d=c.m();if(tC(c)||d&&P(d)&&Hw(c))if(d=fF(b),L(d)){var e=d.a,f;if(f=e&&P(e)&&!aH(e))f=e.a,f=!(te(f.l())?0:skb(this,f.b.b,f.l()));f&&(f=e.a,f.Ga(d.l()),KX(d,f),oF(d,e),pF(c,b,e),!IT(a)&&QW(e)&&Mx(c,S(e)),OT(this.a,e),NT(a))}}};function skb(a,b,c){if(L(b)&&li(b.l(),c))return!0;for(b=BA(b).h();b.i();){var d=b.j();if(skb(a,d,c))return!0}return!1}function tkb(){}l(tkb,n);function ukb(){}l(ukb,RT);
  2570. ukb.prototype.J=function(a,b,c){if(!this.a.b.B(b)&&PI(b)&&!FH(c)){a=b;var d=b.c;b=b.b;for(var e=!1;b&&q(d,b.c);)this.a.b.add(b),e=!0,b=b.b;e&&(this.a.b.add(a),b=new tkb,b.b=a,b.a=c,this.a.a.add(b))}};function vkb(){}l(vkb,n);vkb.prototype.H=function(a,b){this.a.ia();this.b.ia();a=this.c;var c=new ukb;c.a=this;Y(a,b,c);if(!this.a.D())for(b=this.a.h();b.i();)for(a=b.j(),c=a.b,Z(this.c,c);c.b&&q(c.b.c,c.c);){var d=a.a,e=c.b;Li(e,"no next sibling.");oF(d,e);oD(c,pD(e))}};function wkb(){}var xkb;
  2571. l(wkb,RT);wkb.prototype.H=function(a,b){for(var c=Nj(),d=this.c.c.h();d.i();){var e=d.j();if(PV(e)||OV(e))for(e=e.b.h();e.i();){var f=e.j(),h=mi(f,46);c.W(-1!=h?ne(f,0,h):f)}}this.f=c.fa();tT(this.b,this,a,b)};
  2572. wkb.prototype.J=function(a,b,c){switch(b.c.a){case 32:PI(c)&&(c=b.l(),a=ET(a).T(c),ykb(this,a,b)&&(eG(b)?this.a.add(a):b.a&&(this.a.add(a)||zkb(this,b,a,c))));break;case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:c=b.a;if(L(c)){var d=c.l();a=ET(a).T(d);ykb(this,a,c)&&!this.a.add(a)?zkb(this,b,a,d):a&&ZBa(a)&&!this.a.add(a)&&X(this.b,V(b,xkb,A(["exports",WA(b)],B,y,1)))}break;case 67:case 68:c=b.a,L(c)&&(d=c.l(),a=ET(a).T(d),ykb(this,a,c)&&zkb(this,
  2573. b,a,d))}};function ykb(a,b,c){return b?wL(b)||qL(b):(Ji(a.f.B(c.l()),"Found unexpected undeclared name %s",c),!1)}function zkb(a,b,c,d){var e=tL(b);e&&WD(e).B("const")||(c=c.N(),c=r(WA(c))+":"+XA(c),X(a.b,V(b,xkb,A([d,c],B,y,1))))}function Akb(){Akb=function(){};xkb=AJ("JSC_CONSTANT_REASSIGNED_VALUE_ERROR","constant {0} assigned a value more than once.\nOriginal definition at {1}")}function Bkb(){}var Ckb;l(Bkb,RT);Bkb.prototype.H=function(a,b){E(bJ(this.a.c));Y(this.a,b,this)};
  2574. Bkb.prototype.J=function(a,b){if(eH(b)){var c=b.a;if(b=c.b){if(L(c)&&!yG(c,"goog$string$Const$from")){c=ET(a).T(c.l());if(!c)return;c=rL(c);if(!c)return}if(yG(c,"goog.string.Const.from")||yG(c,"goog$string$Const$from"))Dkb(this,ET(a),b)||X(this.a,V(b,Ckb,A([],B,y,1)))}}};function Dkb(a,b,c){if(XW(c))return!0;if(hH(c)){var d=O(c);return Dkb(a,b,c.a)&&Dkb(a,b,d)}return L(c)?(c=c.l(),b=b.T(c),b&&qL(b)?(c=rL(b))?Dkb(a,b.ya(),c):!1:!1):!1}
  2575. function Ekb(){Ekb=function(){};Ckb=U("JSC_CONSTANT_NOT_STRING_LITERAL_ERROR","Function argument is not a string literal or a constant assigned from a string literal or a concatenation of these.")}function Fkb(){}l(Fkb,RT);Fkb.prototype.H=function(a,b){Y(this.a,b,this)};
  2576. Fkb.prototype.J=function(a,b,c){switch(b.c.a){case 90:case 91:case 95:G3a((uI(),yI),b.l())&&tF(b,(kx(),GE))&&(Hx(b,(kx(),GE),!1),Z(this.a,b));break;case 27:a=b.a;var d=a.b;Dw(d)&&G3a((uI(),yI),d.l())&&(oF(b,a),oF(b,d),a=sx(a,d),pF(c,b,a),Z(this.a,a))}};function Gkb(){}l(Gkb,n);function Hkb(){}var Ikb,Jkb,Kkb;l(Hkb,RT);
  2577. Hkb.prototype.H=function(a,b){Y(this.a,b,this);for(a=this.f.h();a.i();)b=a.j(),X(this.a,V(b,Ikb,A([this.b],B,y,1)));for(a=this.g.h();a.i();){var c=a.j(),d=c.a.m();b=Lw();jya(b);mF(d,b,c.b);d=Lw();jya(d);var e=d,f=c.b;c=c.a;G(f);for(G(c);!q(f.b,c);){var h=S(f.b);M(e,h)}M(b,S(b.b));M(b,d);M(b,S(b.b));Z(this.a,b)}};
  2578. Hkb.prototype.J=function(a,b,c){eH(b)&&L(b.a)&&(a=b.a.l(),q(this.b,a)?yH(c)?this.f.Ea(c):X(this.a,V(b,Jkb,A([this.b],B,y,1))):q(this.c,a)&&(yH(c)?this.f.D()?X(this.a,V(b,Kkb,A([this.b,this.c],B,y,1))):(a=this.f.Ta(),q(c.m(),a.m())?(b=new Gkb,b.b=a,b.a=c,this.g.add(b)):X(this.a,V(b,Kkb,A([this.b,this.c],B,y,1)))):X(this.a,V(b,Jkb,A([this.c],B,y,1)))))};
  2579. function Lkb(){Lkb=function(){};Ikb=U("JSC_UNMATCHED_START_MARKER","Unmatched {0}");Kkb=U("JSC_UNMATCHED_END_MARKER","Unmatched {1} - {0} not in the same block");Jkb=U("JSC_INVALID_MARKER_USAGE","Marker {0} can only be used in a simple call expression")}function Mkb(){this.b=!1}l(Mkb,n);g=Mkb.prototype;
  2580. g.ga=function(a,b){if(Nkb(b))return a=NA(O(b)),a=px(IG(LX(this.a,"$jscomp.superGet"),b),A([GG(Qx(),b),N(b)?Okb(this,a):a],lx,eI,1)),Pkb(b,a),HZ(this.a,"es6_dart_runtime",!1),Z(this.a,a),!1;a=b;if(XI(a)&&Nkb(a.a)){if(!kH(b)){a=b.a;var c=O(b);c=IG(ex(dX(b),NA(a),NA(c)),b);b=Pkb(b,IG(wx(NA(a),c),b))}D(kH(b));Y(this.a,O(b),this);a=O(b);c=b.a;var d=NA(O(c));a=px(IG(LX(this.a,"$jscomp.superSet"),b),A([GG(Qx(),b),N(c)?Okb(this,d):d,NA(a)],lx,eI,1));Pkb(b,a);HZ(this.a,"es6_dart_runtime",!1);Z(this.a,a);return!1}return!0};
  2581. g.J=function(){};function Nkb(a){var b;if(b=N(a)||DH(a))b=a.m(),b=!(eH(b)&&q(a,b.a));if(b=b&&WH(a.a))a:{for(;a;){if(LH(a)||CH(a)||VH(a)||rH(a)){b=!TG(a);break a}if(kA(a))break;a=a.m()}b=!1}return b}function Pkb(a,b){qD(a,b);return b}function Okb(a,b){D(Dw(b));if(!a.b)return b;a=px(GG(rx("JSCompiler_renameProperty"),b),A([b],lx,eI,1));FG(a,b);Hx(a,(kx(),KE),!0);Hx(a,IE,!0);return a}g.H=function(a,b){Y(this.a,a,this);Y(this.a,b,this)};g.ra=function(a){Y(this.a,a,this)};g.la=!0;
  2582. function Qkb(){this.b=this.a=!1}l(Qkb,n);function Rkb(){this.a=0}var h2,i2,j2;l(Rkb,z);function Skb(a,b){var c=new Rkb;c.b=a;c.a=b;return c}Rkb.prototype.R=function(a){return z.prototype.c.call(this,a)};function k2(){k2=function(){};h2=Skb("MAYBE_LIVE",0);i2=Skb("READ",1);j2=Skb("KILL",2)}function l2(){}l(l2,F0);l2.prototype.H=function(a,b){G(a);G(b);E(bJ(this.a.c));Y(this.a,b,this)};
  2583. l2.prototype.J=function(a,b){if(!this.b.D())if(P(b))this.b.$f().a=!0;else if(XI(b)&&L(b.a)||IH(b)||tH(b))this.b.$f().b=!0};l2.prototype.Hb=function(a){VR(HT(a))&&this.b.qe(new Qkb)};
  2584. l2.prototype.Tb=function(a){if(VR(HT(a))){D(VR(HT(a)));E(!this.b.D());if(AWa(this.a,HT(a).m())){var b=this.b.$f();if(!b.a&&b.b){b=ET(a);var c=b.m();if(!(100<b.a.wa()+c.a.wa())){var d=GT(a),e=kT(this.a),f=new c2;ckb(f,d,c,b,this.a,e);this.c=f;L_(this.c);b=this.c.f;for(d=d.Bd().h();d.i();)if(e=d.j(),c=e.sb(),e=e.a()){switch(e.c.a){case 70:case 74:case 75:e=NS(e);m2(this,a,e,e,c,b);continue;case 76:case 77:case 105:case 106:zH(e)&&(e=NS(e),m2(this,a,e,e,c,b));continue;case 71:case 72:case 0:e.a&&(e=
  2585. e.a,m2(this,a,e,e,c,b));continue}m2(this,a,e,e,c,b)}}}}this.b.qd()}};
  2586. function m2(a,b,c,d,e,f){var h=c.m(),k=PI(h);if(XI(c)||IH(c)||tH(c)||k){if(!ix(h)){var m=k?c:c.a,p=sL(m);p&&(m2(a,b,p,d,e,f),p=sL(m));k&&m.b&&m2(a,b,m.b,d,e,f);if((!k||p&&!yT(h.m()))&&L(m)){var t=m.l();b=ET(b);E(SR(b)||ZR(b.b));if(f.X(t)&&(f=f.get(t),!a.c.b.B(f)))if(p&&L(p)&&li(p.l(),f.va())&&kH(c))oF(c,p),qD(c,p),Z(a.a,p);else{b=Ujb(a.c,f.va());if(!(t=nn(e.a.a,b))){if(e=nn(e.b.a,b))a:{e=c;for(f=f.va();!q(e,d);){b=(k2(),h2);switch(e.m().c.a){case 64:case 65:case 66:e.b&&(b=n2(a,e.b,f),q(b,j2)&&(b=
  2587. h2));break;case 63:e.b&&e.b.b&&(b=Tkb(a,e.b,e.b.b,f));break;default:for(t=e.b;t&&(b=n2(a,t,f),q(b,h2));t=t.b);}if(q(b,i2)){e=!0;break a}if(q(b,j2))break;e=e.m()}e=!1}t=e}if(!t){if(kH(c))oF(c,p),qD(c,p);else if(XI(c))oF(c,p),oF(c,m),d=ex(dX(c),m,p),pF(h,c,d);else if(IH(c)||tH(c))if(yH(h))pF(h,c,Fx(GG(eF(0),c)));else if(qH(c)&&!q(c,O(h)))oF(h,c);else if(zH(h)&&!q(NS(h),c))pF(h,c,yw());else return;else if(k)oF(m,p),nF(h.m(),cx(p),h),FG(p.m(),p);else throw pb("Unknown statement").s;Z(a.a,h)}}}}}else for(c=
  2588. c.a;c;)h=c.b,MS(c)||m2(a,b,c,d,e,f),c=h}function n2(a,b,c){if(MS(b))return k2(),h2;if(L(b)&&li(c,b.l()))return CX(b,b.m())?(F(kH(b.m()),b.m()),a=n2(a,b.b,c),q(a,(k2(),i2))?a:(k2(),j2)):(k2(),i2);switch(b.c.a){case 64:case 65:case 66:var d=n2(a,b.a,c);a=n2(a,O(b),c);if(q(d,(k2(),h2))){if(q(a,(k2(),i2)))return k2(),i2;break}else return d;case 63:return d=n2(a,b.a,c),q(d,(k2(),h2))?Tkb(a,R(b),O(b),c):d;default:for(b=b.a;b;b=b.b)if(d=n2(a,b,c),!q(d,(k2(),h2)))return d}return k2(),h2}
  2589. function Tkb(a,b,c,d){b=n2(a,b,d);a=n2(a,c,d);return q(b,(k2(),i2))||q(a,(k2(),i2))?(k2(),i2):q(b,(k2(),j2))&&q(a,(k2(),j2))?(k2(),j2):(k2(),h2)}function o2(){}l(o2,n);function Ukb(a){var b=new o2;b.a=bf();b.b=a;return b}function p2(a,b){if(!DC(b))return null;var c=N(b)?O(b).l():EC(b);c=a.a.gb(c,u(function(d){var e=new Vkb;e.a=Uk();e.b=ef();e.c=d;return e}));N(b)&&(a=p2(a,b.a))&&a.b.add(c);return c}o2.prototype.ga=function(a,b,c){return Wkb(this,b,c)};
  2590. o2.prototype.J=function(a,b){if(XI(b)){a=b.a;var c=p2(this,a);if(c)if(N(a))for(kH(a.m())||q2(c),Xkb(c),D(DC(a)),c.a.Sb(Ykb(a)),a=a.a;a;){c=p2(this,a);if(!c)break;q2(c);a=a.a}else q2(c),Xkb(c)}(qY(b)||dI(b)||q(b.c,(H(),fu)))&&r2(this);Hw(b)&&(D(Hw(b)),b.a&&r2(this))};
  2591. function Wkb(a,b,c){switch(b.c.a){case 26:if(N(b)&&a.b.B(O(b).l()))return r2(a),!0;if(XI(c)&&q(c.a,b))return!1;if(a=p2(a,b))q2(a),N(c)||Xkb(a);return!0;case 36:case 32:return a=G(p2(a,b)),q2(a),N(c)||Xkb(a),!0;case 42:case 76:case 77:case 71:return r2(a),!1;case 86:return D(Hw(b)),b.a&&r2(a),!0;default:a:switch(b.c.a){case 65:case 64:case 63:case 66:c=!0;break a;default:c=!1}return c?(r2(a),!1):!0}}function r2(a){for(a=a.a.values().h();a.i();){var b=a.j();b.a.D()||q2(b)}}o2.prototype.la=!0;
  2592. function Vkb(){}l(Vkb,n);function q2(a){a.a.D()||(a.a.mh().a=!0)}function Xkb(a){var b=ff(a.b),c=Vk(b);for(b.add(a);!c.D();)for(a=c.Tg(),q2(a),a=a.b.h();a.i();){var d=a.j();b.add(d)&&c.add(d)}}Vkb.prototype.toString=function(){return"Property "+r(this.c)};function Zkb(){this.a=!1}l(Zkb,n);function Ykb(a){var b=new Zkb;b.a=!1;D(DC(a));b.c=a;b.b=EC(a);return b}function $kb(a,b){return!a.a&&!!b&&q(a.b,b.b)}function alb(){}l(alb,n);
  2593. alb.prototype.b=function(a,b){if(P(b)){var c=mX(b);if(c.a&&!VI(c,Ti(function(f){return P(f)}),hk()))for(b=Ukb(this.a,h4a(b)),Y(a,c,b),c=b.a.values().h();c.i();)if(b=c.j(),!(1>=b.a.w()))for(b=qka(b.a.h());b.i();){var d=b.j();if(b.i()&&$kb(d,Mga(b))){var e=d.c;d=e.b;e=e.m();kH(e)?(S(d),qD(e,d),Z(a,d)):(E(XI(e)),d=dX(e),e.c=d,Z(a,e))}}}};function blb(){}l(blb,n);blb.prototype.H=function(){if(this.a.F&&this.a.Ha){var a=Eia(this.a.Ha.a.oa(),this.a.F),b=this.a,c=new alb;c.a=a;Y(b,b.g,zWa(b,c))}};
  2594. function s2(){this.b=!1}l(s2,n);
  2595. s2.prototype.H=function(a){Y(this.c,a,this);if(!this.a.D())for(a=this.a.h();a.i();){var b=a.j(),c=b,d=this.b,e=c.l(),f=tL(c);d=d?rx("window"):Qx();var h=ux(e);d=h=sx(d,h);if(f){if(fE(f)||iE(f))d=rx(e),d=wx(h,d),h=HP(!1),dE(f)&&UP(h),eE(f)&&VP(h),Ay(f,134217728)&&GPa(h),iE(f)&&APa(h,QD(f,1610612736));else{if(CL(c))d=wx(h,rx(e));else{var k=sL(c);Ay(f,1)&&k&&DC(k)&&(d=wx(h,NA(k)))}h=IP(f)}xPa(h,em("const","duplicate"));f=KP(h);Gx(d,f)}HG(d,c);bG(d,e);dG(d);M(gG(c),cx(d));Z(this.c,b)}};
  2596. s2.prototype.ga=function(a,b,c){return c&&!iT(c)&&!jT(c)||tC(b)&&YW(b)?!1:!0};s2.prototype.J=function(a,b){if(P(b))this.a.add(b.a);else if(gx(b))for(a=BA(b).h();a.i();)b=a.j(),li(b.l(),"window")?this.b=!0:li(b.l(),"location")||this.a.add(b)};s2.prototype.la=!0;function clb(){}l(clb,n);g=clb.prototype;g.H=function(a,b){Y(this.a,b,this);null==this.a.a.Mf&&o2a(OW(this.a,this,kT(this.a)),b)};g.ga=function(){return!0};
  2597. g.Ji=function(a,b){var c=HT(a);if(Hw(c)&&P(c.m())){var d=!1;for(c=TR(ET(a)).h();c.i();){var e=c.j(),f=null,h=null;for(e=b.a(e).h();e.i();){var k=e.j();gx($U(k))&&EI(k.N().m())&&!ZU(k)?f=k:!h&&k_a(k)&&cd(WR(k.b),ET(a))&&(h=k)}f&&h&&(h=h.N(),e=h.m(),yH(e.m())&&(d=h.b,pF(gG(e),e.m(),Rw(S(h),S(d))),d=f.N().m(),F(gx(d),d),wX(d,f.N()),d=!0))}d&&NT(a)}};
  2598. g.J=function(a,b,c){dlb(this,b,c);if(a=kH(b)&&L(b.a))a:switch(a=O(b),T(),a.c.a){case 1:case 2:case 3:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:a=!0;break a;default:a=!1}if(a&&L(O(b).a)){a=O(b);var d=S2a(a);li(b.a.l(),a.a.l())&&(a.c=d,a=S(a),Gx(a,nG(b)),pF(c,b,a),Z(this.a,c))}};
  2599. function dlb(a,b,c){if(c&&jT(c)&&(yH(b)||gx(b))){var d=b.b;if(d)if(AH(d)||BH(d)){var e=d.a;if(L(e)&&gx(b)&&gF(b)){var f=b.a;!f.a&&li(e.l(),f.l())&&(oF(c,b),pF(d,e,b),Z(a.a,c))}}else zH(d)&&Aw(d.a)&&!VI(b,Ti(function(h){return HH(h)}),hk())&&(e=d.a,oF(c,b),gx(b)?c=b:(F(gF(b),b),c=b.a,oF(b,c)),pF(d,e,c),Z(a.a,d))}}g.la=!0;function elb(){}l(elb,n);elb.prototype.g=function(a,b,c){F(!this.b,"`process` should only be called once.");this.b=c;for(a=c.a.V().h();a.i();)b=a.j(),flb(this,b.M(),b.O())};
  2600. function flb(a,b,c){var d=t2(c);if(!d.Rg()){var e=pp(d.Pc(),0),f=og(sg(c.S(),fd(function(k){return!d.Yc(k)})),Rl());if(!f.D()&&rg(d.Pc().S(),fd(function(k){switch(k.c.a){case 26:case 102:case 95:break;default:throw ua(k.toString()).s;}return MX(a.a).Cd(b)||!glb(a,k)?!1:!0}))&&rg(d.Rc().S(),fd(function(k){return hlb(k)}))&&rg(f.S(),fd(function(k){var m=k.m();if(pY(k)&&eH(m)){m=a.a.b;var p=ilb(a,e);k=ilb(a,k);k=q(p,k)||k&&jV(m,k,p)?!0:!1}else k=!1;return k}))&&jlb(a,d.Rc())){c="JSCompiler_StaticMethods_"+
  2601. r(b);for(f=f.h();f.i();){var h=f.j();klb(a,h,c)}llb(a,e,c)}}}function glb(a,b){var c=b.m(),d=gG(b);if(!c||!d)return!1;switch(b.c.a){case 102:return VW(b)?!1:!0;case 26:return iG(b,c)&&nX(d)&&P(O(c))?TX(b)||mlb(a,b.a)?!0:!1:!1;case 95:Fi(SH(c),c);if(a=jG(c,d))d=d.a,T(),N(d)?(a=d.m(),a=kH(a)&&q(a.a,d)&&li(O(a.a).l(),"prototype")):a=!1;return a&&P(b.a)?!0:!1;default:return!1}}
  2602. function mlb(a,b){b=EC(b);if(null==b)return!1;a=a.b.c.T(b);return a?q(vL(a),(H(),Yt))?!0:(a=a.Yb())&&(fE(a)||Ay(a,134217728))?!0:!1:!1}function hlb(a){Fi(P(a),a);if(aH(a))return!1;for(var b=a.m();b;b=b.m())if(nlb(b)||kA(b)&&olb(b))return!1;return VI(a,Ti(function(c){return WH(c)}),hk())||r3a(a)?!1:!0}function jlb(a,b){if(b.D())return!0;var c=pp(b,0);Fi(P(c),c);return rg(b.S(),fd(function(d){return plb(a.a,d,c)}))}
  2603. function klb(a,b,c){Fi(N(b),b);var d=b.m();Fi(eH(d),d);var e=b.a;oF(b,e);pF(d,b,e);Mx(d,GG(rx(c),b));WH(e)&&(b=(H(),Es),e.c=b);Hx(d,(kx(),KE),!0);Z(a.a,d)}
  2604. function llb(a,b,c){switch(b.c.a){case 26:var d=O(b.m());var e=O(b);var f=jX(b);break;case 95:case 102:d=O(b);f=e=b;break;default:throw ua(b.toString()).s;}b=jX(b);var h=qF(rx(c),e);e=qF(Tw(h),e);mF(b.m(),e,b);S(d);Mx(h,d);c=r(c)+"$self";b=R(d);Mx(b,qF(rx(c),d));Z(a.a,b);qlb(a,R(d),c);qlb(a,O(d),c);if(c=d.f)if(c=c.ha()){b=w();b.add(c.vb());for(h=AA(c).h();h.i();){var k=h.j();b.add(k.f)}h=Lz(eJ(a.a),(I(),ew));k=eJ(a.a);c=HA(c);b=JC(k,b.mb(za([b.w()],ly,ey,ly.a)));c=QA(VA(LA(PA(MA(k),b),c),h));Q(d,
  2605. c)}tX(f,a.a);Z(a.a,e)}function qlb(a,b,c){if(!P(b)||aH(b))for(var d=BA(b).h();d.i();){var e=d.j();if(SC(e)){var f=Q(FG(rx(c),e),e.f);pF(b,e,f);Z(a.a,f)}else qlb(a,e,c)}}function ilb(a,b){b=iX(b);return a.a.f(aG(b)).a}function nlb(a){return iT(a)||iH(a)||TH(a)||P(a)||Hw(a)}function olb(a){Fi(kA(a),a);return Aw(a.a)||EI(a)?!1:!0}function rlb(){}l(rlb,n);function slb(a,b,c){var d=a.get(b);d||(d=w(),a.C(b,d));d.add(c)}
  2606. function t2(a){var b=new Zn;b.a=Uf();for(a=a.h();a.i();){var c=a.j();b.c(c,tlb(c))}return b.f()}function tlb(a){if(CH(a)||VH(a))return Ll();var b=a.m();if(!b)return Ll();var c=Mj();switch(b.c.a){case 69:c.W(b);break;case 101:Fi(LH(a),a);c.W(O(a));break;case 46:Fi(Lx(a)||LH(a),a);u2(c,O(a));break;case 50:var d=b.a;b=O(b);q(a,d)&&u2(c,b);break;case 92:case 104:case 80:L(a)&&a.a&&u2(c,a.a)}return c.fa()}
  2607. function u2(a,b){switch(b.c.a){case 69:a.W(b);break;case 63:u2(a,R(b));u2(a,O(b));break;case 64:case 65:case 66:u2(a,b.a);u2(a,O(b));break;case 96:case 49:u2(a,O(b))}}function v2(a){var b;(b=ulb(a))||(b=a.m(),b=TC(b)&&q(b.a,a));return b}function ulb(a){var b=a.m();return q(b.a,a)&&eH(b)||N(b)&&eH(b.m())&&li(O(b).l(),"call")}function vlb(a){var b=a.m();Ki(iG(a,b),"%s\n\n%s",b,a);if(yX(b))return b;a=b;b=a.m();F(N(a),a);F(eH(b),b);Ki(iG(a,b),"%s\n\n%s",b,a);return b}
  2608. function w2(a,b){a=a.m();eH(a)||TC(a)||(a=a.m(),BX(a)&&b++);return oY(a,b)}function wlb(a){var b=a.m();return kH(b)&&q(a,b.a)}function x2(){this.c=0}l(x2,n);x2.prototype.H=function(a,b){Y(this.a,b,this);SY(this.a,a,b)};x2.prototype.ga=function(a,b){tC(b)&&(this.g="$"+this.c++);return!0};x2.prototype.J=function(a,b){switch(b.c.a){case 26:xlb(this,O(b));break;case 95:case 90:case 91:case 102:xlb(this,b)}};
  2609. function xlb(a,b){var c=b.l();tF(b,(kx(),GE))||!a.b.ue(c)||a.f.B(c)||(b.Ga(r(c)+r(a.g)),Z(a.a,b))}x2.prototype.la=!0;function ylb(){}l(ylb,F0);ylb.prototype.J=function(a,b){if(N(b)){a=y2(this.a,b.a);var c=z2(this.a,O(b).l());zlb(this,c,a)}else if(kA(b))for(a=b.f,c=a.ha()?IA(a.ha()):qy(this.a.b,(I(),ew)),b=BA(TW(b)).h();b.i();){var d=b.j();if(!rH(d)&&!d.bb()){var e=d.l();d=TG(d)?a:c;e=z2(this.a,e);zlb(this,e,d)}}};
  2610. function zlb(a,b,c){(a=QY(a.a.g,c))||(Alb(),c.mc()?(a=zy(c).vc(),a=!!a&&a.yj()):a=!1);if(a)Blb(b);else if(b.a){Clb(b,c);a:{Alb();if(c.mc()&&(c=zy(c).vc())){c=wA(c)?Tz(c):null;break a}c=null}c&&(Dlb(A2(b),c),b.g.add(c))}}function Elb(){this.a=!1}l(Elb,n);function Flb(a,b){var c=new Elb;c.b=a;c.g=ef();c.a=!0;c.o=Uf();c.u=ef();c.f=b;return c}function A2(a){a.c||(a.c=Glb());return a.c}
  2611. function Hlb(a,b,c){Ji(a.a,"Attempt to record an invalidated property: %s",a.f);var d=B2(a.b,a.f,b);if(QY(a.b.g,d))Blb(a);else{(d.fd()||d.rc())&&Clb(a,d);c?C2(A2(a),d,c):Dlb(A2(a),d);c=a.b;var e=zy(b);if((c=e?iy(e)?qy(c.b,(I(),Bv)):e.mc()?e.vc():e.ua():null)&&a.u.add(b))for(b=a.b.u.get(c),b||(b=pta(c),a.b.u.C(c,b)),b=b.h();b.i()&&(c=b.j(),B2(a.b,a.f,c)&&Hlb(a,c,d),a.a););}}function Clb(a,b){for(var c=Ilb(a.b,b).h();c.i();){var d=c.j();a.g.add(d);C2(A2(a),d,b)}}
  2612. function Blb(a){a.a=!1;a.c=null;a.g=null;a.o=null}function D2(a,b,c){c=Jlb(a,c,null);if(a.a){if(QY(a.b.g,c))return Blb(a),!1;a.o.C(b,c)}return!0}function Jlb(a,b,c){b=b.Ia();if(!a.a||QY(a.b.g,b))return null;var d=b;if(jy(d))d=dz(d);else{var e=(d=zy(d))?d.ua():null;if(e&&e.Ja()){d=w();for(e=yta(e).h();e.i();){var f=e.j();d.add(Tz(f))}d=d.D()?null:d}else d=null}if(d){b=c;for(c=d.h();c.i();)d=c.j(),d=Jlb(a,d,b),b||(b=d);return b}d=B2(a.b,a.f,b);if(QY(a.b.g,d))return null;Hlb(a,b,c);return d}
  2613. function Klb(){}l(Klb,F0);
  2614. Klb.prototype.J=function(a,b){if(N(b)){a=O(b).l();var c=y2(this.a,b.a);D2(z2(this.a,a),O(b),c)||E2(this.a,b,a,c)}else if(SH(b)){if(!eH(b.m())||!SX(b.m()))for(a=b.a;a;a=a.b)switch(a.c.a){case 122:case 121:continue;case 95:case 102:case 90:case 91:if(a.bb())continue;c=a.l();var d=y2(this.a,b);var e=z2(this.a,c);D2(e,a,d)||E2(this.a,b,c,d);break;default:throw pb("Unexpected child of OBJECTLIT: "+r(uD(a))).s;}}else if(eH(b)){if(a=b.a,DC(a))if(c=wG(a),null!=c&&MX(this.a.a).Dd(c))a=GA(b),2!=a&&3!=a?X(this.a.a,
  2615. V(b,(WY(),VY),A([c," Must be called with 1 or 2 arguments"],B,y,1))):Dw(R(b))?(a=R(b).l(),ji(a,".")?X(this.a.a,V(b,(WY(),VY),A([c," The first argument must not be a property path."],B,y,1))):(c=RC(b,2),d=y2(this.a,c),D2(z2(this.a,a),R(b),d)||E2(this.a,c,a,d))):X(this.a.a,V(b,(WY(),VY),A([c," The first argument must be a string literal."],B,y,1)));else if(SX(b)&&(a=R(b),b=y2(this.a,a),a=a.b,SH(a)))for(a=BA(a).h();a.i();)switch(c=a.j(),c.c.a){case 122:case 121:break;case 95:case 102:case 90:case 91:c.bb()||
  2616. D2(z2(this.a,c.l()),c,b);break;default:throw pb("Unrecognized child of object lit "+r(c)).s;}}else if(kA(b))for(a=b.f,c=a.ha()?Tz(a.ha()):qy(this.a.b,(I(),ew)),d=BA(TW(b)).h();d.i();){if(e=d.j(),!rH(e)&&!e.bb()){var f=e.l(),h=z2(this.a,f),k=TG(e)?a:c;D2(h,e,k)||E2(this.a,b,f,k)}}else if($w(b))for(a=G(b.f),b=yab(eJ(this.a.a),a,b).h();b.i();)c=b.j(),uab(c)&&(c=vab(c),c.bb()||(d=c.l(),D2(z2(this.a,d),c,a)||E2(this.a,c,d,a)))};function Llb(){this.c=this.f=0}l(Llb,n);function Mlb(){}l(Mlb,n);
  2617. function Glb(){var a=new Mlb;a.a=Uf();return a}function Dlb(a,b){C2(a,b,b)}function C2(a,b,c){b=Nlb(a,b);a=Nlb(a,c);q(b,a)||(b.f>=a.f?(a.b=b,b.c+=a.c,b.f==a.f&&b.f++):(b.b=a,a.c+=b.c,c=a.a,a.a=b.a,b.a=c))}function F2(a,b){Ii(a.a.X(b),"Element does not exist: %s",b);return Olb(a,a.a.get(b)).a}function Plb(a){for(var b=oja($ia()).a(),c=a.a.values().h();c.i();){var d=c.j();b.Aa(Olb(a,d),d.a)}a=Mj();for(b=b.Uc().values().h();b.i();)c=b.j(),a.W(nm(c));return a.fa()}
  2618. function Qlb(a){return og(tg(sg(a.a.values().S(),fd(function(b){return q(b,b.b)})),u(function(b){return b.a})),zha())}function Nlb(a,b){var c=a.a.get(b);if(c)return Olb(a,c);c=new Llb;c.f=0;c.c=1;c.b=c;c.a=b;a.a.C(b,c);return c}function Olb(a,b){q(b.b,b)||(b.b=Olb(a,b.b));return b.b}Mlb.prototype.ba=!0;function Rlb(){}var Slb;l(Rlb,n);
  2619. Rlb.prototype.H=function(a,b){E(q(this.a.c,(cJ(),aJ)));this.u=bf();var c=this.a,d=new ylb;d.a=this;Y(c,a,d);c=this.a;d=new Klb;d.a=this;Y(c,b,d);for(var e=d=c=0,f=0,h=0,k=ef(),m=this.o.values().h();m.i();){var p=m.j();if(p.a&&p.c&&1<Plb(p.c).w()){var t=A2(p),v=p;var C=A2(v);v=v.f;for(var J=bf(),K=Plb(C).h();K.i();){var Ca=K.j();E(!Ca.D());var Wa=F2(C,Ca.h().j()),Ma=null;for(Ca=Ca.h();Ca.i();){var Vb=Ca.j().toString();if(null==Ma||0>kc(Vb,Ma))Ma=Vb}"{...}"===Ma?Ma=v:(Ma=RU(Slb,Ma),Ma=(new String(Ma.a)).replace(new RegExp(Ma.c.source,
  2620. "g"),"_"),Ma=r(Ma)+Hg(36)+r(v));J.C(Wa,Ma)}C=J;++c;a:if(v=p,v.a&&v.c&&1<Plb(v.c).w()){for(J=0;10>J;J++){K=ef();for(Wa=v.g.h();Wa.i();)Ma=Wa.j(),K.add(F2(v.c,Ma));v.g.na(K);Wa=ef();Ma=uf(v.c.a.oa());K=Ma.w();for(Ma=Ma.h();Ma.i();)Ca=Ma.j(),!v.g.B(Ca)&&v.g.B(F2(v.c,Ca))&&Wa.add(Ca);for(Wa=Wa.h();Wa.i();)Ma=Wa.j(),Clb(v,Ma);if(uf(v.c.a.oa()).w()==K)break a}throw pb("Stuck in loop expanding types to skip.").s;}for(v=p.o.V().h();v.i();)K=v.j(),J=K.M(),K=K.O(),p.a&&!p.g.B(K)?(K=C.get(F2(t,K)),J.Ga(K),Z(this.a,
  2621. J),++e):(++f,Wa=this.A.Ya(p.f,(yJ(),vJ)),p.a||q(Wa,vJ)||k.B(p.f)||(k.add(p.f),X(this.a,aDa(J,Wa,(WY(),l5a),A([p.f,K.toString(),""],B,y,1)))))}else p.a?++h:++d}sj();SY(this.a,a,b)};function z2(a,b){a.o.X(b)||a.o.C(b,Flb(a,b));return a.o.get(b)}function E2(a,b,c,d){var e=a.A.Ya(c,(yJ(),vJ));if(!cd(e,vJ)){var f=w();Tlb(a,f,d);f=f.D()?"This type is inherently invalidating":hi("\n",f);X(a.a,aDa(b,e,(WY(),k5a),A([c,d.toString(),f],B,y,1)))}}
  2622. function Tlb(a,b,c){if(c.Ab()&&!c.bd())if(jy(c))for(c=dz(c).h();c.i();){var d=c.j();Tlb(a,b,d)}else Eda(tg(Kda(a.v.Ua(c).S()),u(function(e){return r(WA(e))+":"+XA(e)+":"+YA(e)})),zb(function(e){b.add(e)}))}function y2(a,b){return b&&b.f?b.f:qy(a.b,(I(),ew))}function Ilb(a,b){b=b.Ia();if(jy(b)){a=Nj();a.W(b);for(b=dz(b).h();b.i();){var c=b.j();a.fb(Ulb(c))}return a.fa()}return b.Wb()?Ilb(a,Gy(b)):nm(Ulb(b))}function Ulb(a){for(var b=ef();a;)if(b.add(a),a=zy(a))a=a.Va();else break;return b}
  2623. function B2(a,b,c){if(!c)return null;var d=a.c.Ze(b,c);if(d)return d.I(a.f)?null:d;if(c.Wb())return d=B2(a,b,Gy(c)),a.c.Mc(b,c,d?d:a.f),d;if(!c.Ab()){if(c.rc())return d=B2(a,b,c.Fc()),a.c.Mc(b,c,d?d:a.f),d;a.c.Mc(b,c,a.f);return null}if("prototype"===b)return a.c.Mc(b,c,a.f),null;var e=zy(c);e&&(d=(d=Csa(e.lc(),b))?d.a:null);if(!d){e=c.a;var f=e.Da.get(b);if(f)e=f.Gc(c);else if(e.u.Yc(b)){var h=e.u.Ua(b);cA();f=Psa(e,3E3);for(h=h.h();h.i();){var k=h.j();$y(f,k)}f=bz(f);e.Da.C(b,f);e=f.Gc(c)}else e=
  2624. qy(e,(I(),hw));(e=e?zy(e):null)&&Dz(e,b)&&(d=e)}d&&yy(d)&&(d=uz(d));d&&d.Bc()&&(d=zy(d.Bc().b));a.c.Mc(b,c,d?d:a.f);return d}function Vlb(a){a.c=gma(Uf(),ij(function(){return lf()}));a.o=Uf()}function Alb(){Alb=function(){};ka(la(Rlb));Slb=QU("[^\\w$]")}function Wlb(){}l(Wlb,n);function Xlb(a){var b=new Wlb,c=UL(Ylb,A([],B,y,1));b.a=a;b.b=c;return b}Wlb.prototype.H=function(){X(this.a,this.b)};function G2(){}var Zlb,$lb;l(G2,RT);G2.prototype.H=function(a,b){Y(this.a,b,this)};
  2625. G2.prototype.ra=function(a){Y(this.a,a,this)};G2.prototype.J=function(a,b){switch(b.c.a){case 36:LT(a)&&MT(a,b,Zlb,A([],B,y,1));break;case 26:case 27:DX(b)&&!EX(b)&&L(b.a)&&(a=ET(a).T(b.a.l()))&&(a=a.a)&&Cw(a)&&X(this.a,V(b,$lb,A([a.l()],B,y,1)));break;case 32:DX(b)&&!EX(b)&&(a=ET(a).T(b.l()))&&(a=a.a)&&!q(a,b)&&u3a(a)&&X(this.a,V(b,$lb,A([a.l()],B,y,1)))}};
  2626. function amb(){amb=function(){};Zlb=AJ("ES6_MODULE_REFERENCES_THIS","The body of an ES6 module cannot reference 'this'.");$lb=U("JSC_IMPORT_CANNOT_BE_REASSIGNED",'Assignment to constant variable "{0}".')}function bmb(){}l(bmb,n);bmb.prototype.H=function(){throw xb("Es6RelativizeImportPaths not implemented").s;};function cmb(){}l(cmb,n);function H2(a,b){var c=new cmb;c.b=a;c.a=b;return c}function dmb(){}l(dmb,RT);
  2627. dmb.prototype.J=function(a,b,c){switch(b.c.a){case 109:a=KR(AT(a));ji(O(b).l(),"://")&&X(this.a,V(b,(FZ(),DZ),A(["Module requests with protocols."],B,y,1)));this.f.add(E5a(emb(EL(a,O(b).l()).toString()),fmb(this,b)));this.g.add(b);break;case 113:if(tF(b,(kx(),ME))){var d=b.a,e=null;if(P(d)||kA(d))e=TT(d);null!=e?(d=S(d),pF(c,b,d)):(e="$$default",d=Ww(rx(e),UA(b)),pF(c,b,JG(d,b)),HY(a.b,(KI(),eK),this.a));this.c.C("default",H2(e,b))}else if(tF(b,(kx(),NE)))e=O(b),d=Iqa(yw(),yw(),CG(e)),FG(d,b),mF(c,
  2628. d,b),this.J(a,d,c),c=gmb(this,e.l()),qD(b,HG(cx(px(sx(rx("$$module"),ux("exportAllFrom")),A([rx(c)],lx,eI,1))),b));else if(kG(b)){e=O(b);d=Iqa(yw(),yw(),CG(e));FG(d,b);mF(c,d,b);this.J(a,d,c);e=gmb(this,e.l());for(d=BA(b.a).h();d.i();){var f=d.j();this.c.C(O(f).l(),H2(r(e)+"."+r(f.a.l()),f))}oF(c,b)}else if(q(b.a.c,(H(),lu))){for(e=BA(b.a).h();e.i();){d=e.j();f=d.a.l();var h=ET(a).T(f);h&&u3a(h.a)&&(f=hmb(this,ET(a),d.a),G(f));this.c.C(O(d).l(),H2(f,d))}oF(c,b)}else{e=b.a;if(PI(e))for(d=eT(e).h();d.i();)f=
  2629. d.j(),E(L(f)),h=f.l(),this.c.C(h,H2(h,f));else E(P(e)||kA(e)),d=e.a.l(),this.c.C(d,H2(d,b));pF(c,b,S(e))}NT(a);break;case 89:E(q(this.b,b));c=b.a;E(NH(c));S(c);kF(b,pD(c));if(!this.f.D()){for(b=this.g.h();b.i();)S(b.j());b=ef();for(c=this.f.h();c.i();)d=c.j(),e=d.b,b.add(e)&&(d=px(rx("$$require"),A([ux(d.a)],lx,eI,1)),Hx(d,(kx(),KE),!0),e=Rw(rx(e),d),JG(e,this.b),nF(this.b,e,this.o),this.o=e)}if(!this.c.Qa()){b=Kx(A([],lx,eI,1));for(c=this.c.V().h();c.i();)f=c.j(),e=b,d=f.M(),f=f.O(),h=LX(this.a,
  2630. f.b),h=Fw(rx(""),Iw(A([],lx,eI,1)),Mw(bx(h))),HG(h,f.a),f=Kx(A([Px("enumerable",Rx()),Px("get",h)],lx,eI,1)),M(e,Px(d,f)),OT(this.a,h);Mx(this.b,JG(cx(px(LX(this.a,"Object.defineProperties"),A([rx("$$exports"),b],lx,eI,1))),this.b))}b=Lw();kF(b,pD(this.b));Mx(b,cx(ux(this.u.b)));b=Fw(rx(""),Iw(A([rx("$$require"),rx("$$exports"),rx("$$module")],lx,eI,1)),b);c=zw((H(),Ns));for(e=this.f.h();e.i();)d=e.j(),M(c,ux(d.a));c=cx(px(sx(rx("$jscomp"),ux("registerAndLoadModule")),A([b,ux(emb(sDa(this.a.$,AT(a).eb()).toString())),
  2631. c],lx,eI,1)));M(this.b,JG(c,this.b));OT(this.a,this.b);OT(this.a,b);NT(a);break;case 32:E(L(b)),c=b.m(),xH(c)||uya(c)||GH(c)||Bw(c)||(c=hmb(this,ET(a),b),null!=c&&(qD(b,LX(this.a,c)),NT(a)))}};function fmb(a,b){E(GH(b));return Cw(R(b))?R(b).l():gmb(a,O(b).l())}function gmb(a,b){return BL(EL(a.v,b))}
  2632. function hmb(a,b,c){E(L(c));if((b=b.T(c.l()))&&b.a&&u3a(b.a)&&!q(c,b.a)){for(b=c=b.a;!GH(b);)b=b.m();a=fmb(a,b);Bw(c.m())?a=r(a)+"."+r(c.m().a.l()):Cw(c)||(E(GH(c.m())),a=r(a)+".default")}else a=null;return a}function imb(){}l(imb,n);
  2633. imb.prototype.H=function(a,b){for(a=BA(b).h();a.i();)if(b=a.j(),JZ(b)){var c=this.a,d=b,e=new dmb,f=e,h=this.a,k=b;f.u=this;f.a=h;f.b=k;f.o=null;f.c=Xh();f.f=pm();f.g=ef();f.v=KR(h.f(aG(k)));Y(c,d,e);Hx(b,(kx(),YE),!0)}a=WK(this.a.u,(KI(),sK),A([],UJ,NK,1));this.a.u=a};function emb(a){var b=a.indexOf("://");-1<b?(a=a.substr(b+3),b=mi(a,47),-1<b&&(a=a.substr(b+1))):zi(a,"/")&&(a=a.substr(1));return a}function I2(){}l(I2,cT);I2.prototype.H=function(a,b){for(a=b.a;a;a=a.b)this.ra(a,null)};
  2634. I2.prototype.ra=function(a){D(tC(a));Y(this.a,a,this)};I2.prototype.ga=function(a,b){tC(b)&&(a=this.a.f(aG(b)).c,q(a,(eM(),cM))&&!JZ(b)&&(a=GG(zw((H(),nu)),b),oD(a,pD(b)),M(b,a),OT(this.a,b)));return!1};function J2(){}l(J2,n);function K2(a,b,c){b=V(c,b,A([c.toString()],B,y,1));X(a.a,b)}function L2(a,b,c){G(a.a);return plb(a.a,b,c)}function M2(a){G(a.a);return bJ(a.a.c)}J2.prototype.g=function(a){this.a=G(a);this.f=fJ(a)};function N2(a,b){return lJ(a.f,b)}
  2635. function O2(a,b){var c=A2a(b);null!=c&&lJ(a.f,b)&&(c=null);return c}function P2(a,b){var c=UT(b);null!=c&&lJ(a.f,b)&&(c=null);return c}function Q2(a,b){var c=RW(b);!q(c,(Xu(),Vu))&&lJ(a.f,b)&&(c=(Xu(),Vu));return c}function jmb(a){return!!a.a&&xI(zI(a.a.a),(uI(),IJ))}function R2(a,b){Z(a.a,b)}function S2(a,b){G(a.a);uX(b,a.a)}function kmb(a){return a instanceof J2}function lmb(){}l(lmb,J2);lmb.prototype.b=function(a){for(var b=a.a;b;){var c=b.b;nX(b)&&mmb(this,b.a,b,a);b=c}return a};
  2636. function mmb(a,b,c,d){b=b.a;var e=b.b;Xw(b)||nmb(b,!0)&&omb(a,c,d,b)||nmb(e,!1)&&omb(a,c,d,e)||kH(e)&&mmb(a,e,c,d)}function nmb(a,b){switch(a.c.a){case 26:return!b||SC(a.a);case 32:return!0;default:return WW(a)}}
  2637. function omb(a,b,c,d){for(var e=b.a,f=c,h=b.b;h;)switch(h.c.a){case 65:case 64:case 63:case 70:case 0:case 88:case 66:f=h;h=h.a;break;case 92:case 104:case 80:if(h.a.a){f=h.a;h=f.a;break}return!1;case 26:case 32:if(DC(h)&&DC(d)&&zG(h,d)){d=h;var k=e;if(L(d))d=!0;else{for(D(N(d));N(d);)d=d.a;d=!(L(d)&&pmb(d.l(),k))}if(!d)return!1;oF(c,b);oF(b,e);pF(f,h,e);R2(a,f);return!0}return!1;case 50:if(k=h.a,L(k)||N(k)&&SC(k.a)){f=h;h=k.b;break}else return!1;default:return WW(h)&&tD(h,d)?(oF(c,b),oF(b,e),pF(f,
  2638. h,e),R2(a,f),!0):!1}return!1}function pmb(a,b){for(var c=b.a;c;c=c.b)if(pmb(a,c))return!0;return L(b)&&(c=b.m(),kH(c)&&q(c.a,b)&&li(a,b.l()))?!0:!1}function qmb(){}l(qmb,n);
  2639. function rmb(a){var b=a.f();var c=EC(a.g);c=null==c?null:(c=a.a.b.get(c))?P(c)||kA(c)||SH(c)?c:null:null;b=smb(b);for(var d=0;d<b.w();++d){var e=b.G(d),f=d==b.w()-1;if(!(ki(e,".prototype")||a.a.f.B(e)&&!f)){var h=!1;if(c){var k=tL(c);k&&Rwa(k)&&(h=!0)}k=null;f&&c?P(c)?h=tmb(c):kA(c)?(f=c,(h=UW(f))?h=tmb(fF(h)):(f=f.f,h=umb(Cra(f).b.b),h=Fw(rx(""),h,Lw()),Q(h,f))):(E(SH(c)),h=vmb(c)):!f&&h?(k=HP(!1),TP(k),xPa(k,em("const","duplicate")),k=KP(k),h=vmb(Kx(A([],lx,eI,1))),Gx(h,null)):h=yw();f=a;if(ji(e,
  2640. ".")){var m=LX(f.a.a,e);h=Aw(h)?ZW(m):ZW(wx(m,h))}else h=Aw(h)?Tw(rx(e)):jY(e,h);k&&(yH(h)?Gx(h.a,k):(E(gx(h)),Gx(h,k)));M(f.a.g,h);f.a.f.add(e)}}}function tmb(a){var b=lX(a);b=umb(b);b=Fw(rx(""),b,Lw());Q(b,a.f);return b}function umb(a){var b=w();for(a=a.a;a;a=a.b)b.add(wmb(a));a=Iw(A([],lx,eI,1));var c=$T(nm(b),"",null);for(b=b.h();b.i();){var d=b.j();d=te(d)?aU(c):d;M(a,rx(d))}return a}
  2641. function wmb(a){var b;Jw(a)?b=fF(a):vH(a)?b=a.a:b=a;if(L(b))return a=BC(b),null!=a?a:b.l();F(Xw(b),b);return""}function vmb(a){var b=Kx(A([],lx,eI,1));Q(b,a.f);Gx(b,uPa(HP(!1),!0));var c=1;for(a=a.a;a;a=a.b)Lx(a)&&M(b,Tqa(Ox(a.l()),eF(c++)));return b}function xmb(){}l(xmb,qmb);function ymb(a,b,c,d){var e=new xmb;e.o=a;e.a=a;e.b=G(c);e.g=G(d);e.c=G(b);return e}
  2642. xmb.prototype.f=function(){for(var a=dp(smb(this.c)).h();a.i();){var b=a.j();E(0<b.length);var c=this.o.o.get(b);if(null!=c)return c=r(c)+r(this.c.substr(b.length)),vk((T2(),zmb),c,this.b,[])}return vk((T2(),zmb),this.c,this.b,[])};function Amb(){}l(Amb,qmb);function Bmb(a,b,c){var d=new Amb;d.a=a;d.b=G(b);d.g=G(c);c=EC(c);null!=c&&a.o.C(c,b);return d}Amb.prototype.f=function(){return this.b};function Cmb(){}var zmb,Dmb;l(Cmb,RT);
  2643. function smb(a){T2();a=mq(Dmb,a);var b=Mj(),c=a.G(0);b.W(c);for(var d=1;d<a.w();d++)c=vk(zmb,c,a.G(d),[]),b.W(c);return b.fa()}Cmb.prototype.H=function(a,b){Y(this.a,b,this);a=um(ac(u(function(c){return c.f()}),ec()));a.na(this.c);for(a=a.h();a.i();)rmb(a.j());Emb(this)};function Emb(a){var b=C4a(a.g);b.c=!0;b.b=!0;var c=eJ(a.a);b.g=c;b=vk(qk("\n"),"/**"," * @fileoverview Generated externs.",[" * @externs"," */",D4a(b)]);a.a.qg=b}
  2644. Cmb.prototype.J=function(a,b){if(kA(b))rJ(b)&&this.b.C(b.a.l(),b);else if(P(b))qJ(b)&&this.b.C(b.a.l(),b);else if(kH(b)){var c=b.a;DC(c)&&this.b.C(EC(c),O(b))}else L(b)?(c=Li(b.m(),b),PI(c)&&(c=b.a)&&this.b.C(b.l(),c)):LH(b)&&(c=tY(b),null!=c&&this.b.C(c,fF(b)));if(N(b)&&SC(b.a)&&(c=tL(b))&&Ay(c,1024)&&(a=CT(a),h4a(a))){a=BY(a)?gX(a):a;c=TT(a);a=O(b).l();c=r(c)+".prototype";var d=LX(this.a,"this."+r(a));this.c.add(ymb(this,c,a,d))}Fmb(b,this.v)&&mG(b,3)&&(a=b.a.b,c=a.b,Dw(a)&&this.c.add(Bmb(this,
  2645. a.l(),c)));Fmb(b,this.u)&&mG(b,4)&&(b=b.a.b,a=b.b,c=a.b,DC(b)&&Dw(a)&&this.c.add(ymb(this,EC(b),a.l(),c)))};function Fmb(a,b){return eH(a)?(a=a.a,DC(a)&&b.B(EC(a))):!1}function T2(){T2=function(){};zmb=qk(Hg(46));Dmb=kq(46)}function Gmb(){this.b=0}l(Gmb,n);function Hmb(){this.c=!1}l(Hmb,n);
  2646. function Imb(a){a:{if(nX(a)){var b=hF(a);if(N(b))for(b=b.a;N(b);){if(li(O(b).l(),"prototype")){b=DC(b);break a}b=b.a}}b=!1}if(b){b=new Hmb;var c=hF(a);F(nX(a),a);b.g=c;b.f=L3a(c);b.a=a;a:{for(a=c;N(a);){if(li(O(a).l(),"prototype")){a=a.a;break a}a=a.a}a=null}b.b=EC(a);b.c=tF(a,(kx(),IE));a=b}else a=null;return a}function U2(){}l(U2,n);U2.prototype.ga=function(a,b,c){return!c||!P(c)||q(b,c.a)};U2.prototype.la=!0;function Jmb(){this.a=0}l(Jmb,U2);
  2647. Jmb.prototype.J=function(a,b){if(tC(b)||Hw(b))for(a=b.a;a;a=a.b){var c=Imb(a);if(c){var d=a=new Gmb;var e=this.b,f=b;d.a=w();d.b=0;d.c=f;d.a.add(c);d.b=e.b.o+e.b.f;for(f=c.a.b;f;f=f.b)if(!P(f)){var h=Imb(f);if(!h||!q(c.b,h.b))break;d.a.add(h);d.b+=e.b.f}d=a;a=d.a.G(d.a.w()-1).a;0>=d.b&&(this.c.add(d),this.a+=d.b)}}};function Kmb(){this.f=this.o=this.g=this.a=0}var Lmb,Mmb;l(Kmb,z);function Nmb(a,b,c,d,e){var f=new Kmb;f.b=a;f.a=b;f.g=c;f.o=d;f.f=e;return f}
  2648. Kmb.prototype.R=function(a){return z.prototype.c.call(this,a)};function V2(){V2=function(){};Lmb=Nmb("USE_GLOBAL_TEMP",0,6,14,-3);Mmb=Nmb("USE_IIFE",1,0,29,-10)}function Omb(){}l(Omb,n);
  2649. Omb.prototype.H=function(a,b){a=new Jmb;a.b=this;a.c=w();a.a=a.b.b.g;Y(this.a,b,a);if(0>a.a){if(q(this.b,(V2(),Lmb))){b=OY(this.a,null);var c=JG(jY("JSCompiler_prototypeAlias",null),b);Mx(b,c);Z(this.a,c)}for(a=a.c.h();a.i();){b=a.j();c=b.a.G(0);var d=c.b;if(q(this.b,(V2(),Lmb))){var e=LX(this.a,d);Hx(e,(kx(),IE),c.c);e=JG(cx(wx(rx("JSCompiler_prototypeAlias"),sx(e,ux("prototype")))),c.a);mF(b.c,e,c.a);Z(this.a,e)}else if(q(this.b,(V2(),Mmb))){e=Lw();var f=Fw(rx(""),Iw(A([rx("JSCompiler_prototypeAlias")],
  2650. lx,eI,1)),e);d=px(f,A([NX(this.a,r(d)+".prototype",b.c,r(d)+".prototype")],lx,eI,1));wF(d,(kx(),KE),1);d=cx(d);JG(d,c.a);mF(b.c,d,c.a);Z(this.a,d);for(c=b.a.h();c.i();)d=c.j(),Z(this.a,d.a),M(e,S(d.a))}for(b=b.a.h();b.i();)f=b.j(),c=f.a.a,e=c.a,d=NX(this.a,"JSCompiler_prototypeAlias."+r(f.f),f.a,f.f),f=BC(hF(f.g)),f=null!=f?f:"?",HG(d.a,e),Hx(d,(kx(),IE),tF(e,IE)),bG(d.a,r(f)+".prototype"),pF(c,e,d),Z(this.a,d)}}};function W2(){}l(W2,n);W2.prototype.ga=function(a,b,c){return c?!MS(b):!0};
  2651. W2.prototype.la=!0;function Pmb(){}l(Pmb,W2);Pmb.prototype.J=function(a,b){switch(b.c.a){case 32:li(b.l(),this.a.g)&&b.a&&(this.a.a=b);break;case 50:a=b.a,L(a)&&li(a.l(),this.a.g)&&(this.a.a=b)}};function Qmb(){}l(Qmb,W2);Qmb.prototype.J=function(a,b,c){if(!(a=!L(b)||!li(b.l(),this.a.g))){if(b=kH(c)&&q(c.a,b))a:{for(b=this.b;!q(c,b);c=c.m())if(!kH(c)){b=!1;break a}b=!0}a=b}a||this.a.u++};function Rmb(){}l(Rmb,W2);
  2652. Rmb.prototype.J=function(a,b,c){if(L(b)&&c&&!(XI(c)&&q(c.a,b)||PI(c)||IH(c)||tH(c)||Gw(c)||oH(c)||eV(b))&&(a=b.l(),!MX(this.a.a).Cd(a))){c=this.a.f;var d=this.b;D(!!c.c.Ub(d));if(d=c=c.c.Ub(d).sb().b.a.get(c.a.get(a))){a:if(c.c)d=!0;else{for(d=c.b.h();d.i();){var e=d.j().ya();if(Hw(e.ka())&&gF(e.ka())&&oH(e.ka().a)){d=!0;break a}}d=!1}d=!d}d&&this.a.b.add(Smb(this.a,a,c,b,this.b))}};function Tmb(){}l(Tmb,U2);Tmb.prototype.J=function(a,b){this.a.c.Ub(b)&&(this.b.b=b,Y(this.a.a,b,this.b))};
  2653. function X2(){}l(X2,n);function Umb(a,b){if(!b)return!1;if(a.a&&L(b)&&a.a.B(b.l())&&DX(b)){for(a=b.m();kH(a);)a=a.m();return!yH(a)}var c=fJ(a.b.a);if(eH(b)&&nJ(c,b)||TC(b)&&sJ(b)||wH(b))return!0;for(b=b.a;b;b=b.b)if(!MS(b)&&Umb(a,b))return!0;return!1}X2.prototype.Ca=function(a){return this.ca(a)};X2.prototype.cb=function(){return hd(this)};X2.prototype.ca=function(a){return Umb(this,a)};function Y2(){}l(Y2,n);function Vmb(){var a=new Y2;a.a=Vq();return a}
  2654. Y2.prototype.I=function(a){return a instanceof Y2&&a.a.I(this.a)};Y2.prototype.P=function(){return this.a.P()};function Wmb(){}l(Wmb,n);Wmb.prototype.f=function(a){var b=Vmb();for(a=a.h();a.i();){var c=a.j();b.a.gm(c.a)}return b};Wmb.prototype.ud=!0;function Z2(){}l(Z2,K_);Z2.prototype.o=function(){return!1};Z2.prototype.A=function(){return Vmb()};Z2.prototype.v=function(){return Vmb()};
  2655. function $2(a,b,c,d,e){switch(b.c.a){case 86:case 85:case 69:break;case 32:eV(b)?e||a3(a,b.l(),d):(e=b.l(),(e=a.a.get(e))&&(a.b.B(e)||d.a.Aa(e,c)));break;case 74:case 75:case 70:case 76:$2(a,NS(b),c,d,e);break;case 77:case 105:case 106:var f=b.a;b=f.b;PI(f)&&(f=O(f),Yw(f)&&(f=f.a));L(f)&&!e?a3(a,f.l(),d):Xw(f)&&$2(a,f,c,d,!0);$2(a,b,c,d,e);break;case 65:case 64:case 66:$2(a,O(b),c,d,!0);$2(a,b.a,c,d,e);break;case 63:$2(a,O(b),c,d,!0);$2(a,R(b),c,d,!0);$2(a,b.a,c,d,e);break;case 80:case 104:case 92:f=
  2656. b.a;Ji(!!b.a,"AST should be normalized",b);Yw(f)?($2(a,f.a,c,d,e),$2(a,R(f),c,d,e)):f.a&&($2(a,f.a,c,d,e),e||a3(a,f.l(),d));break;case 127:Xw(b.a)?($2(a,b.a,c,d,e),$2(a,R(b),c,d,!0)):L(b.a)?(e||a3(a,b.a.l(),d),$2(a,R(b),c,d,!0)):($2(a,R(b),c,d,!0),$2(a,b.a,c,d,e));break;default:if(XI(b)&&L(b.a))f=b.a,e||a3(a,f.l(),d),kH(b)||(b=f.l(),(b=a.a.get(b))&&(a.b.B(b)||d.a.Aa(b,c))),$2(a,f.b,c,d,e);else if(kH(b)&&Xw(b.a))$2(a,b.a,c,d,e),$2(a,R(b),c,d,e);else for(f=O(b);f;f=iF(f))$2(a,f,c,d,e)}}
  2657. function a3(a,b,c){(b=a.a.get(b))&&(a.b.B(b)||c.a.Nc(b))}Z2.prototype.U=function(a,b){var c=new Y2;c.a=lo().b(b.a);a:{for(b=ZVa(this.c,a).h();b.i();){var d=b.j();if(q(d.mf(),(LS(),JS))){b=!0;break a}}b=!1}$2(this,a,a,c,b);return c};function b3(){this.c=!1}l(b3,n);function Xmb(a){var b=new b3;b.b=ef();b.c=!1;b.a=a;return b}b3.prototype.I=function(a){return a instanceof b3?q(a.a,this.a):!1};b3.prototype.toString=function(){return"Definition@"+r(this.a)};b3.prototype.P=function(){return ed(this.a)};
  2658. function Ymb(){}l(Ymb,W2);Ymb.prototype.J=function(a,b){L(b)&&((a=this.b.a.get(b.l()))?this.a.b.add(a):this.a.c=!0)};function c3(){}l(c3,n);function Zmb(){var a=new c3;a.a=bf();return a}c3.prototype.I=function(a){return a instanceof c3&&cd(a.a,this.a)};c3.prototype.P=function(){return ed(this.a)};function $mb(){}l($mb,a0);
  2659. $mb.prototype.a=function(a,b){for(var c=Zmb(),d=c.a,e=a.a.V().h();e.i();){var f=e.j(),h=f.M();if(f=f.O())if(b.a.X(h)){var k=b.a.get(h);f.I(k)?d.C(h,f):d.C(h,null)}else d.C(h,f);else d.C(h,null)}for(b=b.a.V().h();b.i();)e=b.j(),h=e.M(),a.a.X(h)||d.C(h,e.O());return c};$mb.prototype.f=function(a){return a0.prototype.b.call(this,a)};function d3(){}l(d3,K_);d3.prototype.o=function(){return!0};d3.prototype.A=function(){var a=this.a.values(),b=new c3;b.a=bf();for(a=a.h();a.i();){var c=a.j();b.a.C(c,Xmb(c.ya().ka()))}return b};
  2660. d3.prototype.v=function(){return Zmb()};
  2661. function e3(a,b,c,d,e){switch(b.c.a){case 86:case 85:case 69:break;case 74:case 75:case 70:e3(a,NS(b),c,d,e);break;case 76:e3(a,NS(b),c,d,e);break;case 77:case 105:case 106:e=b.a;b=e.b;PI(e)&&(e=O(e));L(e)?f3(a,e.l(),c,b,d):Yw(e)&&(e=e.a);Xw(e)&&e3(a,e,c,d,!0);break;case 65:case 64:case 66:e3(a,b.a,c,d,e);e3(a,O(b),c,d,!0);break;case 63:e3(a,b.a,c,d,e);e3(a,R(b),c,d,!0);e3(a,O(b),c,d,!0);break;case 104:case 92:case 80:for(b=b.a;b;b=b.b)b.a&&(L(b)?(e3(a,b.a,c,d,e),f3(a,b.l(),e?null:c,b.a,d)):(F(Yw(b),
  2662. b),e3(a,R(b),c,d,e),e3(a,b.a,c,d,e)));break;case 127:Xw(b.a)?(e3(a,R(b),c,d,!0),e3(a,b.a,c,d,e)):L(b.a)?(e3(a,R(b),c,d,!0),f3(a,b.a.l(),e?null:c,null,d)):(e3(a,b.a,c,d,e),e3(a,R(b),c,d,!0));break;case 32:eV(b)?f3(a,b.l(),e?null:c,null,d):"arguments"===b.l()&&anb(a,d);break;default:if(XI(b))if(L(b.a)){var f=b.a;e3(a,f.b,c,d,e);f3(a,f.l(),e?null:c,O(b),d);break}else if(UI(b.a))f=hF(b),L(f)&&"arguments"===f.l()&&anb(a,d);else if(Xw(b.a)){e3(a,R(b),c,d,e);e3(a,b.a,c,d,e);break}if(tH(b)||IH(b))if(f=b.a,
  2663. L(f)){f3(a,f.l(),e?null:c,null,d);break}for(b=b.a;b;b=b.b)e3(a,b,c,d,e)}}function f3(a,b,c,d,e){if(b=a.a.get(b)){for(var f=e.a.oa().h();f.i();){var h=f.j(),k=e.a.get(h);k&&k.b.B(b)&&e.a.C(h,null)}a.b.B(b)||(c?(c=Xmb(c),d&&(f=a.f,h=new Ymb,h.b=a,h.a=c,Y(f,d,h)),e.a.C(b,c)):e.a.C(b,null))}}function anb(a,b){for(a=a.a.values().h();a.i();){var c=a.j();xL(c)&&b.a.C(c,null)}for(a=b.a.V().h();a.i();){c=a.j();var d=c.O();if(d)for(d=d.b.h();d.i();){var e=d.j();xL(e)&&b.a.C(c.M(),null)}}}
  2664. d3.prototype.U=function(a,b){var c=new c3;c.a=Ica(b.a);e3(this,a,a,c,!1);return c};function bnb(){}l(bnb,n);g=bnb.prototype;g.ga=function(a,b){return!tC(b)||!pL(AT(a))};
  2665. g.Hb=function(a){if(!IT(a)&&SR(ET(a))){var b=HT(a).m();if(cnb(O(b))&&!(100<ET(a).a.wa())){var c=a.U,d=iWa(this.a,!0);d.H(null,b);this.c=d.a;b=ET(a);d=new d3;var e=this.a;Uab(d,this.c,new $mb);d.f=e;d.b=ef();d.a=bf();d.u=w();Vab(b.m(),d.b,e,c);FY(d.a,d.u,e,c,b.m());this.f=d;L_(this.f);this.b=pm();b=this.a;d=HT(a);e=new Tmb;e.a=this;var f=new Rmb;f.a=e.a;f.b=null;e.b=f;Y(b,d,e);b=ET(a);d=new Z2;e=this.a;Uab(d,this.c,new Wmb);d.b=ef();d.a=bf();d.f=w();Vab(b.m(),d.b,e,c);FY(d.a,d.f,e,c,b.m());this.g=
  2666. d;for(L_(this.g);!this.b.D();){c=this.b.h().j();b=c;d=ET(a);if(P(b.b.a))b=!1;else{e=b;f=b.b.a;var h=new Pmb;h.a=e;Y(e.c.a,f,h);e=b;f=b.o;e.u=0;var k=h=new Qmb,m=f;k.a=e;k.b=m;Y(e.c.a,f,h);if(!b.a||kH(b.a)&&!nX(b.a.m()))b=!1;else{e=ef();if(b.b.b)for(f=b.b.b.h();f.i();)h=f.j(),e.add(h.va());h=f=new X2;h.b=b.c;h.a=e;e=f;b:{f=b.b.a;h=e;for(k=b.a;!q(k,f);k=k.m())for(m=k.b;m;m=m.b)if(h.ca(m)){f=!0;break b}f=!1}if(!f)b:{f=b.o;for(h=b.f;!q(h,f);h=h.m())if(k=h.m().a,Xw(k)){if(Xw(h)&&h.b&&e.ca(h.b)){f=!0;break b}}else for(;!q(k,
  2667. h);k=k.b)if(e.ca(k)){f=!0;break b}f=!1}(e=f||lJ(fJ(b.c.a),O(b.a))||1!=b.u||qX(b.f))||(e=b.c.g,f=b.g,h=e.c.Ub(b.b.a),G(h),e=1!=h.sb().a.a.Ua(e.a.get(f)).w());e||(e=b,(f=VI(O(e.a),new g3,new h3))||(f=VI,e=O(e.a),h=new i3,h.a=d,f=f(e,h,hk())),e=!!f);!(d=e)&&(d=jT(b.b.a.m())&&!q(b.b.a.b,b.o))&&(d=b.c.c,h=b.c.c.Ub(b.b.a),k=b.c.c.Ub(b.o),m=b.c.o,f=hk(),lhb(),e=b=new mhb,e.c=d,e.a=h,e.b=k,e.o=m,e.f=f,e.g=!1,d=xhb(b));b=d?!1:!0}}if(b){b=c;d=b.a.m();e=b.f.m();if(kH(b.a)){f=O(b.a);S(f);for(E(yH(d));KH(d.m());)d=
  2668. d.m();Z(b.c.a,d);S(d);pF(e,b.f,f)}else if(PI(d))f=O(b.a),ix(d)?pF(b.a,f,ox((H(),As),"undefined")):oF(b.a,f),pF(e,b.f,f);else throw pb("No other definitions can be inlined.").s;Z(b.c.a,e);this.b.sa(c);if(!c.b.b.D())for(b=this.b.h();b.i();)d=b.j(),d.b.b.B(ET(a).T(c.g))&&!d.b.b.Db(c.b.b)&&b.ma()}else this.b.sa(c)}}}};function cnb(a){if(P(a))return!1;var b;(b=PI(a))||(b=XI(a)||tH(a)||IH(a)?L(a.a):!1);if(b&&L(a.a))return!0;for(a=a.a;a;a=a.b)if(cnb(a))return!0;return!1}g.Tb=function(){};
  2669. g.H=function(a,b){sT(mT(this.a,this,kT(this.a)),a,b)};g.J=function(){};g.la=!0;g.ic=!0;function g3(){}l(g3,n);g3.prototype.Ca=function(a){return this.ca(a)};g3.prototype.cb=function(){return hd(this)};g3.prototype.ca=function(a){a:{switch(a.c.a){case 27:case 26:case 45:case 46:case 41:case 23:a=!0;break a}a=!1}return a};function h3(){}l(h3,n);h3.prototype.Ca=function(a){return this.ca(a)};h3.prototype.cb=function(){return hd(this)};h3.prototype.ca=function(a){return!P(a)};function i3(){}l(i3,n);
  2670. i3.prototype.Ca=function(a){return this.ca(a)};i3.prototype.cb=function(){return hd(this)};i3.prototype.ca=function(a){a:{if(L(a)&&(a=a.l(),!te(a)&&!RR(this.a,a))){a=!0;break a}a=!1}return a};function dnb(){this.u=0}l(dnb,n);function Smb(a,b,c,d,e){var f=new dnb;f.c=a;D(L(d));f.g=b;f.b=c;f.f=d;f.o=e;return f}function enb(){}l(enb,n);function j3(a,b,c){a=GG(px(rx(a),A([],lx,eI,1)),c);Hx(a,(kx(),KE),!0);b&&M(a,NA(b));return a}function fnb(){}l(fnb,enb);fnb.prototype.a=function(){return"function JSCompiler_emptyFn() { return function() {}}"};
  2671. fnb.prototype.b=function(a){return k3(a)&&q3a(a)?j3("JSCompiler_emptyFn",null,a):a};function gnb(){}l(gnb,enb);function hnb(a){a=O(a);if(!gF(a))return null;a=a.a;return Ux(a)?a.a:null}function inb(){}l(inb,gnb);inb.prototype.a=function(){return"function JSCompiler_get(JSCompiler_get_name) { return function() {return this[JSCompiler_get_name]}}"};
  2672. inb.prototype.b=function(a){if(k3(a)){var b;if(b=(b=hnb(a))&&N(b)&&SC(b.a)?O(b):null){if(!Dw(b))throw pb("Expected STRING, got "+r(b.c)).s;a=j3("JSCompiler_get",b,a)}}return a};function jnb(){}l(jnb,gnb);jnb.prototype.a=function(){return"function JSCompiler_identityFn() { return function(JSCompiler_identityFn_value) {return JSCompiler_identityFn_value}}"};
  2673. jnb.prototype.b=function(a){if(k3(a)){var b;if((b=R(a).a)&&L(b)){var c=hnb(a);b=!!c&&L(c)&&li(c.l(),b.l())}else b=!1;a=b?j3("JSCompiler_identityFn",null,a):a}return a};function knb(){Or.call(this);this.c=this.a=this.g=0;this.b=!1}l(knb,Or);g=knb.prototype;g.Km=function(){return this.b};g.Ye=function(){return this.c};g.zc=function(a){this.c=a.charCodeAt(a.length-1);this.a+=a.length;this.g<=this.a&&(this.b=!1)};g.Dm=function(){Pr(this,"ab")};g.Se=function(){Pr(this,"0")};
  2674. function l3(a,b){var c=new knb;Koa(c);c.a=0;c.c=0;c.b=!0;c.g=b;BI(Lya(c),a);return c.a}function lnb(){}l(lnb,n);function m3(){}l(m3,n);m3.prototype.ga=function(a,b,c){for(var d=this.b.h();d.i();){a=d.j();var e=a.b(b);if(!q(e,b))return d=new lnb,d.c=this.a,d.f=c,d.b=b,d.a=e,this.c.Aa(a,d),!1}return!0};m3.prototype.J=function(){};m3.prototype.la=!0;function mnb(){}l(mnb,gnb);mnb.prototype.a=function(){return"function JSCompiler_returnArg(JSCompiler_returnArg_value) { return function() {return JSCompiler_returnArg_value}}"};
  2675. mnb.prototype.b=function(a){if(k3(a)){var b;a=(b=(b=hnb(a))&&WW(b)?b:null)?j3("JSCompiler_returnArg",b,a):a}return a};function nnb(){}l(nnb,enb);function onb(a){var b=O(a);if(!gF(b))return null;a=R(a).a;if(!a||!L(a))return null;b=b.a;if(!nX(b))return null;var c=b.a;b=c.a;return N(b)&&SC(b.a)&&(c=O(c),L(c)&&li(c.l(),a.l()))?O(b):null}nnb.prototype.a=function(){return"function JSCompiler_set(JSCompiler_set_name) { return function(JSCompiler_set_value) {this[JSCompiler_set_name] = JSCompiler_set_value}}"};
  2676. nnb.prototype.b=function(a){if(k3(a)){var b=onb(a);if(b){if(!Dw(b))throw pb("Expected STRING, got "+r(b.c)).s;a=j3("JSCompiler_set",b,a)}}return a};function pnb(){}l(pnb,n);
  2677. pnb.prototype.H=function(a,b){a=new mnb;var c=new inb;var d=new nnb,e=new fnb,f=new jnb;Nl();c=Tl(Ul([a,c,d,e,f]));a=Vq();d=this.a;e=new m3;e.a=this;e.b=c;e.c=a;Y(d,b,e);for(b=c.h();b.i();)if(d=b.j(),c=a.Ua(d),!c.D()&&(d=(d=qnb(this.a,r(Ig(d))+":helper",d.a()))?UA(d):null)){e=l3(d,2147483647);var h=0;for(f=c.h();f.i();){var k=f.j();k=l3(k.b,2147483647)-l3(k.a,2147483647);h+=k}if(h>e+16){for(c=c.h();c.i();)e=c.j(),pF(e.f,e.b,e.a),uX(e.b,e.c.a),Z(e.c.a,e.a);c=OY(this.a,null);DY(d,this.a);Mx(c,d);Z(this.a,
  2678. c)}}};function k3(a){var b=a.m();return lL(a)&&!HX(b)&&!LH(b)}function n3(){}l(n3,n);function rnb(a){var b=new n3;b.a=a;return b}n3.prototype.ga=function(a,b){switch(b.c.a){case 89:snb(this,b,KR(AT(a)));break;case 109:case 113:G(this.a.a);tnb(this.a.a,(KV(),GV),a,b);if(GH(b)||kG(b)&&Dw(O(b)))a=this.a.a.a,a.a||(a.a=Nm()),a.a.W(O(b).l());break;case 28:eH(b)&&yG(b.a,"goog.loadModule")&&(this.a.o=b,snb(this,b,null));break;case 116:this.a.a.u=!0}return!0};
  2679. function snb(a,b,c){var d=new unb;d.f=a.a;d.c=Yha();d.a=TV(SV(QV(l1a(m1a(new LV,c),b),(KV(),IV)),!1),!1);a.a.a&&(F(!a.a.g,"Expected modules to be nested at most 2 deep."),a.a.g=a.a.a);a.a.a=d}
  2680. function vnb(a){G(a.a.a);var b=a.a.a;i1a(b.a).fb(b.c);b.g||(b.u&&q(RV(b.a),(KV(),IV))&&QV(b.a,(KV(),GV)),b.b&&!q(RV(b.a),(KV(),GV))&&X(b.f.b,V(b.b,(o3(),wnb),A([],B,y,1))),b.o&&(q(RV(b.a),(KV(),d1a))?QV(b.a,(KV(),e1a)):X(b.f.b,V(b.o,(bZ(),r6a),A([],B,y,1)))));b=n1a(b.a);b.a&&a.a.f.C(b.a.toString(),b);for(var c=b.b.h();c.i();){var d=c.j();a.a.c.C(d,b)}a.a.g&&(c=a.a.g.a,c.f||(c.f=Mj()),c.f.W(b));a.a.a=a.a.g;a.a.g=null}
  2681. n3.prototype.J=function(a,b){if(this.a.u&&this.a.a&&q(RV(this.a.a.a),(KV(),IV))&&xnb(a,b))tnb(this.a.a,(KV(),f1a),a,b);else switch(b.c.a){case 89:vnb(this);break;case 32:"goog"===b.l()&&((b=ET(a).T("goog"))&&!ynb(b)||SV(this.a.a.a,!0));break;case 28:if(q(this.a.o,b))vnb(this),this.a.o=null;else if(b.a&&N(b.a)&&DC(b.a)){for(var c=b.a,d=b.a;N(d);)d=d.a;L(d)&&li(d.l(),"goog")&&(d=ET(a).T("goog"),d&&UR(d.b)&&!fL(d.ya())||d&&fL(d.ya())&&!ynb(d)||(d&&q(iX(d.a),iX(b))||SV(this.a.a.a,!0),zG(c,(o3(),znb))?
  2682. (tnb(this.a.a,(KV(),HV),a,b),kG(b)&&Dw(O(b))?(c=O(b).l(),Anb(this,this.a.a,c,a,b)):MT(a,b,(hZ(),y7a),A([],B,y,1))):zG(c,(o3(),Bnb))?(tnb(this.a.a,(KV(),d1a),a,b),kG(b)&&Dw(O(b))?(c=O(b).l(),Anb(this,this.a.a,c,a,b)):MT(a,b,(hZ(),t7a),A([],B,y,1))):zG(c,(o3(),Cnb))?this.a.a.o=b:zG(c,(o3(),Dnb))||zG(c,(o3(),Enb))?(this.a.a.b&&MT(a,b,(o3(),Fnb),A([],B,y,1)),kG(b)&&Dw(O(b))?(this.a.a.b=b,c=O(b).l(),Anb(this,this.a.a,c,a,b)):MT(a,b,(o3(),Gnb),A([],B,y,1))):zG(c,(o3(),Hnb))?kG(b)&&Dw(O(b))?(a=this.a.a.a,
  2683. a.g||(a.g=Nm()),a.g.W(O(b).l())):MT(a,b,(dZ(),kZ),A([],B,y,1)):zG(c,(o3(),Inb))?kG(b)&&Dw(O(b))?(a=this.a.a.a,a.o||(a.o=Nm()),a.o.W(O(b).l())):MT(a,b,(o3(),Jnb),A([],B,y,1)):zG(c,(o3(),Knb))&&(gF(b)||kG(b)&&Dw(O(b))?TV(this.a.a.a,!0):MT(a,b,(o3(),Lnb),A([],B,y,1)))))}}};function ynb(a){a=a.a;return!!a&&Cw(a)&&li(a.l(),"goog")&&Aw(a.m().a)&&ki(O(a.m()).l(),"/goog.js")}
  2684. function Anb(a,b,c,d,e){var f=null,h=null;if(b.c.B(c))f=RV(b.a),h=d.u;else if(b=a.a.c.get(c))f=b.f,h=WA(b.c);a.a.a.c.add(c);if(f){switch(f.a){case 0:case 2:case 3:MT(d,e,(dZ(),j6a),A([c,h],B,y,1));return;case 1:MT(d,e,(dZ(),k6a),A([c,h],B,y,1));return}throw pb("Unexpected module type: "+r(f)).s;}}n3.prototype.la=!0;function unb(){this.u=this.g=!1}l(unb,n);
  2685. function tnb(a,b,c,d){G(b);q(RV(a.a),b)||(q(RV(a.a),(KV(),IV))?QV(a.a,b):(a.g=!0,ji(KR(AT(c)).toString(),"third_party/javascript/polymer")||MT(c,d,(o3(),Mnb),A([RV(a.a).f,b.f],B,y,1))))}function Nnb(){this.u=!1}var znb,Bnb,Cnb,Dnb,Enb,Fnb,Gnb,Hnb,Inb,Jnb,Knb,Lnb,Mnb,wnb;l(Nnb,n);Nnb.prototype.H=function(a,b){Y(this.b,a,rnb(this));Y(this.b,b,rnb(this));a=$1a(this.f,this.c);this.b.K=a};
  2686. Nnb.prototype.ra=function(a,b){this.f.Ud(this.b.K.b);this.c.Ud(this.b.K.a);if(b=this.f.Ka(KR(this.b.f(aG(b))).toString()))for(this.c.oa().Nb(b.b),b=b.o.h();b.i();){var c=b.j();this.c.oa().Nb(c.b)}Y(this.b,a,rnb(this));a=$1a(this.f,this.c);this.b.K=a};
  2687. function o3(){o3=function(){};Mnb=U("JSC_MIXED_MODULE_TYPE","A file cannot be both {0} and {1}.");Gnb=U("JSC_INVALID_DECLARE_NAMESPACE_CALL","goog.declareModuleId parameter must be a string literal.");wnb=U("JSC_DECLARE_MODULE_NAMESPACE_OUTSIDE_ES6_MODULE","goog.declareModuleId can only be called within ES6 modules.");Fnb=U("JSC_MULTIPLE_DECLARE_MODULE_NAMESPACE","goog.declareModuleId can only be called once per ES6 module.");Jnb=U("JSC_INVALID_REQUIRE_TYPE","Argument to goog.requireType must be a string.");
  2688. Lnb=U("JSC_INVALID_SET_TEST_ONLY","Optional, single argument to goog.setTestOnly must be a string.");znb=sx(rx("goog"),ux("provide"));Bnb=sx(rx("goog"),ux("module"));Hnb=sx(rx("goog"),ux("require"));Inb=sx(rx("goog"),ux("requireType"));Knb=sx(rx("goog"),ux("setTestOnly"));Cnb=sx(NA(Bnb),ux("declareLegacyNamespace"));Dnb=sx(rx("goog"),ux("declareModuleId"));Enb=sx(NA(Bnb),ux("declareNamespace"))}function p3(){this.b=!1;this.c=0}l(p3,n);
  2689. p3.prototype.a=function(a){ZS(a)&&(this.c--,0!=this.c||this.b||this.f.ia());var b;if(b=!this.b){b=!1;var c=a.c;XI(a)||q(c,(H(),st))||q(c,(H(),tt))?(c=a.a,L(c)?(c=c.l(),c=this.u.B(c)):c=!1,c||(b=!0)):q(c,(H(),xs))?b=nJ(this.o.a,a):q(c,(H(),ss))?b=sJ(a):q(c,(H(),ts))&&(b=!0)}b&&(this.b=!0);if(0!=this.c||this.b)L(a)?(a=a.l(),this.g.B(a)&&this.f.add(a)):SC(a)&&this.f.add("this")};p3.prototype.Ca=function(a){return this.ca(a)};p3.prototype.cb=function(){return hd(this)};
  2690. p3.prototype.ca=function(a){ZS(a)&&this.c++;return!(this.b&&this.g.w()==this.f.w())};function Onb(){}l(Onb,n);function Pnb(a){var b=new Onb;b.a=a;return b}function Qnb(a,b,c,d,e,f){if(L(c)){var h=e.get(c.l());if(h)return F(!(P(d)||gx(d)||oH(d)),d),b=NA(h),pF(d,c,b),b}else if(f&&SC(c)){if(h=e.get("this"),G(h),!SC(h))return a=NA(h),pF(d,c,a),lJ(fJ(b),h)&&e.Ka("this"),a}else P(c)&&!aH(c)&&(f=!1);for(d=c.a;d;d=d.b)d=Qnb(a,b,d,c,e,f);return c}
  2691. function Rnb(a,b,c){G(a);var d=el(),e=R(b);e&&BX(b)?(d.L("this",e),e=e.b):(F(!AX(b,"apply"),b),d.L("this",vX(b)));for(var f=BA(lX(a)).h();f.i();)if(a=f.j(),e){if(Jw(a)){F(L(fF(a)),fF(a));c=Nx(A([],lx,eI,1));for(JG(c,e);e;)M(c,NA(e)),e=e.b;d.L(fF(a).l(),c);return d.Jb()}F(L(a),a);d.L(a.l(),e);e=e.b}else if(Jw(a)){F(L(fF(a)),a);var h=Nx(A([],lx,eI,1));d.L(fF(a).l(),h)}else F(L(a),a),h=b,d.L(a.l(),vX(h));for(;e;)b="JSCompiler_inline_anon_param_"+r(c.f()),d.L(b,e),e=e.b;return d.Jb()}
  2692. function Snb(a){var b=Nj();for(var c=BA(lX(a)).h();c.i();){var d=c.j();if(Jw(d))b.W("rest param");else{if(vH(d)||$w(d)||Zw(d))throw pb("Not supported: "+r(d)).s;b.W(d.l())}}b=b.fa();c=ef();return Tnb(O(a),b,c,!1)}function Tnb(a,b,c,d){D(!!c);if(L(a)){var e;if(e=b.B(a.l()))(e=d)||(e=DX(a)&&!ix(jX(a))&&!hx(jX(a)));e&&c.add(a.l())}else P(a)&&(d=!0);for(a=BA(a).h();a.i();)e=a.j(),Tnb(e,b,c,d);return c}
  2693. function Unb(a,b,c,d,e,f){if(!d.Qa()){Fi(P(c),c);c=O(c);var h=d.wa(),k;!(k=!c.a)&&(k=gF(c))&&(k=O(c),k=!(Ux(k)||yH(k)?Vnb(a,k):1));h=aX(d.get("this"))&&2>=h;var m=d.oa(),p=ff(m);Wnb(c,p);p=nm(p);var t=new p3;t.o=a;t.b=!1;t.f=ef();t.c=0;t.g=m;t.u=p;R3a(c,t,t);a=nm(t.f);for(d=d.V().h();d.i();)if(p=d.j(),m=p.M(),!e.B(m)){p=p.O();t=!0;var v=c;var C=m;T();v=P3a(v,d2a(C),hk());if((C=lJ(fJ(b),p))||0!=v)if(!k||!h||1!=v||$W(p)&&a.B(m)){var J=fJ(b);if(mJ(J,p,!0)&&0<v)t=!1;else if(C)t=!1;else if($W(p)&&a.B(m))t=
  2694. !1;else if(1<v)switch(p.c.a){case 32:p=p.l();t=!f.Cd(p);break;case 36:t=!0;break;case 34:t=2>p.l().length;break;default:t=WW(p)}}else t=!0;else t=!0;t||e.add(m)}}}function Vnb(a,b){for(b=b.a;b;b=b.b){switch(b.c.a){case 69:case 65:case 64:case 63:case 66:return!0}if(Vnb(a,b))return!0}return!1}function Wnb(a,b){if(P(a))qJ(a)&&b.add(a.a.l());else{if(L(a))switch(a.m().c.a){case 80:case 104:case 92:case 82:b.add(a.l())}for(a=a.a;a;a=a.b)Wnb(a,b)}}function Xnb(){}l(Xnb,n);
  2695. Xnb.prototype.f=function(){return"JSCompiler_inline_label_"+r(this.a.f())};function q3(){this.b=!1}l(q3,n);g=q3.prototype;g.toString=function(){return Nn(Mn(Mn(Mn(Qn(this),"scopeRoot",this.g),"nameUsage",this.f),"declarations",this.a),"global",this.b).toString()};function Ynb(){var a=new q3;Znb(a);return a}function Znb(a){a.a=bf();a.g=null;a.b=!0;a.f=vp();a.c=a}
  2696. g.$i=function(a,b){var c=new q3,d=this.f;c.a=bf();F($R(a),a);P(a)&&F(!b,a);c.g=a;c.b=!1;c.f=d;b?(F(!ZR(a),a),c.c=c):(F(ZR(a)||P(a),a),c.c=this.lj());return c};g.xg=function(a,b){if(b&&!q(this.c,this))this.c.xg(a,!0);else if("arguments"!==a)if(this.b)this.f.xh(a,0,1);else if(!this.a.X(a)){b=this.f.De(a,1);var c=null;0!=b&&(c=r(a)+"$jscomp$"+b);this.a.C(a,c)}};g.Gk=function(a){return this.a.get(a)};g.el=function(){return!1};g.lj=function(){return this.c};function $nb(){this.g=!1}l($nb,n);g=$nb.prototype;
  2697. g.H=function(a,b){Y(this.b,b,this)};function aob(a){var b=a.lastIndexOf("$jscomp$");return-1==b?a:ne(a,0,b)}g.Hb=function(a){IT(a)||(this.f.Ea(this.a),this.a=ef())};
  2698. g.Tb=function(a){if(!IT(a)){for(a=TR(ET(a)).h();a.i();){var b=a.j().va();if(ji(b,"$jscomp$")&&!te(aob(b))){for(var c,d=c=aob(b),e=0;!bob(this,d);)d=r(c)+"$jscomp$"+e++;c=d;this.a.sa(b);this.a.add(c);for(d=this.c.Ua(b).h();d.i();)e=d.j(),F(L(e)||Cw(e),e),e.Ga(c),this.g&&(Z(this.b,e),e=e.m(),P(e)&&qJ(e)&&Z(this.b,e));this.c.Nc(b)}}a=this.a;this.a=this.f.Ta();this.f.D()||this.a.na(a)}};function bob(a,b){return OI.test(b)&&!a.a.B(b)&&"arguments"!==b}g.ga=function(){return!0};
  2699. g.J=function(a,b){IT(a)||!sX(b)&&!Cw(b)||(a=b.l(),this.a.add(a),ji(a,"$jscomp$")&&this.c.Aa(a,b))};g.la=!0;g.ic=!0;function r3(){this.b=!1}l(r3,F0);function cob(a){var b=new r3;b.a=Uk();b.c=a;b.b=!0;return b}r3.prototype.Hb=function(a){var b=HT(a);if(this.a.D()){E(!P(b)||!(this.c instanceof q3));var c=this.c}else c=!P(b)&&!ZR(b),c=this.a.Na().$i(HT(a),c);this.a.Ea(c);F($R(b)||tC(b),b);for(a=TR(ET(a)).h();a.i();)b=a.j(),this.a.Na().xg(b.va(),!1)};r3.prototype.Tb=function(a){IT(a)||this.a.Ta()};
  2700. r3.prototype.J=function(a,b,c){switch(b.c.a){case 32:case 112:if(!L(b)||!i3a(b)){a:{var d=b.l();for(var e=this.a.h();e.i();){var f=e.j().Gk(d);if(null!=f){d=f;break a}}d=null}null!=d&&(this.a.Na().el()&&(sF(b,(kx(),IE)),(e=rY(b))&&nG(e)&&(f=IP(nG(e)),Ay(f.a,1)&&(aE(f.a,!1,1),f.b=!0),Gx(e,KP(f)))),b.Ga(d),this.b&&(NT(a),P(c)&&qJ(c)&&Z(a.c,c)))}}};function dob(){this.c=!1}l(dob,n);function eob(a,b,c,d,e,f){var h=new dob;h.b=bf();h.f=a;h.o=b;D(!te(c));h.g=c;h.c=d;e?h.a=h:h.a=f.lj();return h}g=dob.prototype;
  2701. g.xg=function(a,b){E("arguments"!==a);b&&!q(this.a,this)?this.a.xg(a,b):this.b.X(a)||this.b.C(a,fob(this,a))};function fob(a,b){if(te(b))return b;ji(b,"$jscomp$")&&(b=ne(b,0,b.lastIndexOf("$jscomp$")));a.f.Cd(b)&&(b="JSCompiler_"+r(b));return r(b)+"$jscomp$"+r(a.g)+r(a.o.f())}g.Gk=function(a){return this.b.get(a)};g.$i=function(a,b){return eob(this.f,this.o,this.g,this.c,b,this)};g.el=function(){return this.c};g.lj=function(){return this.a};function kY(){}l(kY,n);kY.prototype.Ca=function(a){return this.ca(a)};
  2702. kY.prototype.cb=function(){return hd(this)};kY.prototype.ca=function(a){var b=a.m();return sC(a)||Hw(a)||!P(a)&&(!b||iT(b)||jT(b))};function gob(){}l(gob,n);gob.prototype.f=function(){return aU(this.a)};function hob(){this.b=!1;this.a=0}l(hob,n);function iob(){}l(iob,n);function job(){var a=new iob;a.a=bf();return a}function kob(){this.c=!1}l(kob,n);g=kob.prototype;g.Hb=function(a){P(HT(a))&&this.a.Ea(job())};g.Tb=function(a){P(HT(a))&&this.a.Ta()};
  2703. g.ga=function(a,b){if(KH(b)){a=this.a.Na();var c=a.a.wa()+1;b=b.a.l();var d=new hob;d.b=!1;d.a=c;E(!a.a.X(b));a.a.C(b,d);this.b.w()<c&&this.b.add(this.f.f.f());this.b.G(c-1)}return!0};
  2704. g.J=function(a,b,c){switch(b.c.a){case 87:var d=b.a;E(!!d);var e=d.l(),f=lob(this,e);f.b||!this.f.b?(b=this.b.G(f.a-1),q(e,b)||(d.Ga(b),this.c&&NT(a))):(d=O(b),oF(b,d),pF(c,b,d),Hw(d)&&xX(d,!1),this.c&&NT(a));this.a.Na().a.Ka(e);break;case 78:case 79:if(e=b.a)if(b=e.l(),E(!te(b)),c=lob(this,b))d=this.b.G(c.a-1),c.b=!0,q(b,d)||(e.Ga(d),this.c&&NT(a))}};function lob(a,b){return a.a.Na().a.get(b)}g.la=!0;g.ic=!0;function mob(){this.a=this.b=!1}l(mob,n);
  2705. mob.prototype.H=function(a,b){a=this.c;var c=new kob,d=this.a;c.f=this;c.a=Uk();c.b=w();c.c=d;c.a.Ea(job());Y(a,b,c)};function nob(){}l(nob,n);function oob(a,b){var c=new nob;c.a=G(a);c.c=b;c.b=Pnb(fJ(a));return c}
  2706. function pob(a,b,c,d,e,f,h,k){c=NA(c);for(var m=A([c],lx,eI,1),p=Qw(),t=0;t<m.length;t++){var v=m[t];E(Vqa(v));M(p,v)}Kw(A([p],lx,eI,1));k&&(k=s3(a.a),m=a.a,p=Ml(c),t=eob(MX(a.a),k,"inline_",h,!0,null),v=new r3,v.a=Uk(),v.c=t,v.b=!1,zT(m,null,p,v,null,!0),m=new Xnb,m.a=k,k=new mob,k.c=a.a,k.f=m,k.b=!1,k.a=!1,k.H(null,c),qob(O(c)));k=Snb(c);p=Rnb(c,d,a.c);(d=!p.Qa())&&Unb(a.b,a.a,c,p,k,MX(a.a));c=mX(c);S(c);if(d){if(!k||k.D())k=Qnb(a.b,a.a,c,null,p,!0),E(q(k,c));else{m=Ica(p);d=w();for(p=p.V().h();p.i();)if(t=
  2707. p.j(),v=t.M(),k.B(v))if("this"===v){v=Y2a(c);var C=t.O();SC(C)||!v&&!lJ(fJ(a.a),C)||(v="JSCompiler_inline_this_"+r(a.c.f()),t=NA(t.O()),C=JG(jY(v,t),t),d.bc(0,C),m.C("this",IG(rx(v),t)))}else t=NA(t.O()),t=JG(jY(v,t),t),d.bc(0,t),m.Ka(v);k=Qnb(a.b,a.a,c,null,m,!0);E(q(k,c));for(d=d.h();d.i();)m=d.j(),Mx(c,m)}E(q(c,k))}h&&rob(c,c);h="JSCompiler_inline_label_"+r(b?b:"anon")+"_"+r(a.c.f());G(c);G(h);b=c;a=!1;k=O3a(c);if(0<k){if(a=Ux(O(c)))d=O(c),D(Ux(d)),(m=sob(d,e))?(JG(m,d),pF(c,d,m)):oF(c,d),k--;
  2708. 0<k&&(tob(c,null,e,h),b=GG(nx(h),c),b=GG(Jqa(b,c),c),h=GG(Lw(),c),M(h,b),b=h)}f&&!a&&null!=e&&(D(Hw(c)),f=vX(c),e=uob(e,f),JG(e,c),M(c,e));e=b;E(!!e);return e}function qob(a){if(P(a)){if(qJ(a)){var b=a.a,c=GG(rx(b.l()),b),d=GG(Tw(c),a);b.Ga("");qD(a,d);Mx(c,a);return d}return null}b=w();for(d=a.a;d;d=c)c=d.b,(d=qob(d))&&b.bc(0,d);for(b=b.h();b.i();)c=b.j(),q(a.a,c)||Mx(a,S(c));return null}
  2709. function rob(a,b){if(!ZS(a))if((gx(a)||hx(a))&&gF(a)){var c=a.a;c.a||(M(c,vX(c)),Mx(b,S(a)))}else for(a=a.a;a;a=a.b)rob(a,b)}function uob(a,b){a=rx(a);b=wx(a,b);return ZW(b)}function sob(a,b){var c=null,d=null;a.a&&(d=NA(a.a));null==b?d&&(c=ZW(d)):(d||(d=vX(a)),c=uob(b,d));return c}function tob(a,b,c,d){if(P(a)||yH(a))return a;if(Ux(a))E(jT(b)),c=sob(a,c),d=Kqa(nx(d)),JG(d,a),pF(b,a,d),c&&(JG(c,a),mF(b,c,d)),a=d;else for(b=a.a;b;b=b.b)b=tob(b,a,c,d);return a}function vob(){}l(vob,n);
  2710. vob.prototype.a=function(a){P(a)&&j4a(this.b.a,a)};function wob(){}l(wob,n);wob.prototype.a=function(a){P(a)&&OT(this.b.a,a)};function xob(){this.b=!1}l(xob,n);function t3(a,b){var c=new xob;yob(c,a,b);return c}function yob(a,b,c){a.a=b;a.c=c;a.b=!fX(b,Ti(function(d){return FH(d)||EH(d)||P(d)||aH(d)}))}function zob(){}l(zob,n);zob.prototype.a=function(a){(L(a)&&(li(a.l(),"module")||li(a.l(),"define"))||N(a)&&yG(a,"window.define")||Dw(a)&&li(a.l(),"amd")&&HH(a.m()))&&this.b.add(a)};
  2711. function Aob(){}l(Aob,n);function Bob(a,b){var c=new Aob;c.a=a;c.b=b;return c}function Cob(){}l(Cob,n);function Dob(a,b){var c=new Cob;c.a=a;c.b=b;return c}function u3(){this.o=!1}l(u3,n);function Eob(a){var b=new u3;b.a=a;b.o=!1;b.g=null;b.f=w();b.b=w();b.c=w();b.u=w();return b}u3.prototype.rd=function(a,b){this.u.add(b)};u3.prototype.ga=function(a,b){tC(b)&&(E(!this.g),this.g=b);return!0};
  2712. u3.prototype.J=function(a,b,c){if((!c||iT(c)||jT(c))&&yH(b)){var d=hF(b);d&&(yG(d,"goog.provide")||yG(d,"goog.module"))&&(this.o=!0)}if(eH(b)&&yG(b.a,"require.ensure"))a:if(mG(b,3))if(d=R(b),jH(d)){for(var e=BA(d).h();e.i();){var f=e.j();if(!Dw(f)){X(this.a.a,V(f,(v3(),w3),A(["The first argument must be an array literal of string literals."],B,y,1)));break a}}d=d.b;P(d)&&gF(R(d))&&L(R(d).a)&&"require"===R(d).a.l()?(S(d),pD(R(d)),pD(b),Hx(b,(kx(),KE),!0),Mx(b,d),NT(a)):X(this.a.a,V(d,(v3(),w3),A(['The second argument must be a function whose first argument is named "require".'],
  2713. B,y,1)))}else X(this.a.a,V(d,(v3(),w3),A(["The first argument must be an array literal of string literals."],B,y,1)));else X(this.a.a,V(b,(v3(),w3),A(["Expected the function to have 2 arguments but instead found {0}",""+GA(b)],B,y,1)));yG(b,"module.exports")||DH(b)&&yG(b.a,"module")&&Dw(R(b))&&li(R(b).l(),"exports")?xnb(a,b)&&(this.b.add(t3(b,ET(a))),(d=x3(this,c))&&!Fob(this,b)&&(Gob(this.f,d.a)||this.f.add(Dob(d.a,d.b)))):(yG(b,"define.amd")||yG(b,"window.define.amd"))&&(d=x3(this,c))&&Fob(this,
  2714. b)&&(Gob(this.f,d.a)||RC(d.a,2)||this.f.add(Dob(d.a,null)));if(L(b)&&li("exports",b.l())){if(d=ET(a).T("exports"),!d||mL(d))(e=y3(b))&&yG(e,"exports")&&DX(e)?yH(gG(b))&&b.b&&(N(b.b)&&yG(b.b,"module.exports")||kH(b.b)&&yG(b.b.a,"module.exports"))?this.c.add(t3(b,ET(a))):this.o||d&&(d.a||q(d.a.a,b))||this.u.add(V(e,(v3(),Hob),A([],B,y,1))):(this.c.add(t3(b,ET(a))),(d=x3(this,c))&&!Fob(this,b)&&(Gob(this.f,d.a)||this.f.add(Dob(d.a,d.b))))}else SC(b)&&N(b.m())&&IT(a)&&this.c.add(t3(b,ET(a)));z3(b,this.a.a.a.c)&&
  2715. !uY(b)&&yH(c)&&jT(c.m())&&(DL(KR(AT(a)),A3(b,this.a.a.a.c),WA(b),XA(b),YA(b)),a=c.m(),S(c),Z(this.a.a,a))};function x3(a,b){if(!b||f4a(b)||P(b))return null;var c=b.m();if(!c)return null;if(FH(c)||EH(c)){if(a=x3(a,c))return FH(c)&&q(R(c),b)&&c.m()&&Hw(c.m())&&!c.b&&q(a.b,c.m())?Bob(a.a,b):a;a=w();var d=c.a,e=new zob;e.b=a;lY(d,e);a.D()&&aI(c.a)&&a.add(c.a);return a.D()?null:Bob(c,b)}return x3(a,c)}
  2716. function Fob(a,b){if(!b||f4a(b)||P(b))return!1;var c=b.m();return c?(FH(c)||EH(c))&&q(c.a,b)?!0:Fob(a,c):!1}u3.prototype.la=!0;function B3(){}l(B3,n);B3.prototype.Ca=function(a){return this.ca(a)};B3.prototype.cb=function(){return hd(this)};B3.prototype.ca=function(a){return q(a,this.a.a)};function Iob(){this.f=this.c=!1}l(Iob,RT);
  2717. Iob.prototype.J=function(a,b,c){switch(b.c.a){case 89:for(c=this.g.h();c.i();){var d=c.j();pF(d,d.a,FG(yw(),d.a));NT(a)}c=this.a.a.f(aG(b));c=C3(c);for(d=1;d<this.b.w();d++)if(yG(hF(this.b.G(d)),D3(this.a,c))){var e=this.b.G(d);this.b.Wa(d);this.b.bc(0,e);break}for(d=this.b.w()-1;0<=d;d--){e=this.b.G(d);var f=TWa(a),h=f.a;h&&gx(h)&&li(h.a.l(),c)||(h=null);h?q(h,e)||q(h.b,e)||nF(f,S(e),h):q(f.a,e)||Mx(f,S(e))}for(c=this.o.h();c.i();)d=c.j(),Job(this,a,d);for(c=this.u.h();c.i();)f=c.j(),d=a,e=f,f=f.m(),
  2718. h=Kob(d,e,A3(e,this.a.a.a.c)),h=HG(LX(this.a.a,Lob(this.a,h,e)),R(e)),pF(f,e,h),NT(d);break;case 28:z3(b,this.a.a.a.c)&&this.u.add(b);break;case 80:case 104:case 92:if(lG(b)&&!yT(c)&&!xH(c))for(c=Mob(b),NT(a),c=c.h();c.i();)d=c.j(),this.J(a,d.a,d);if(b.a.a&&L(hF(b))&&li(b.a.l(),hF(b).l())){S(b);NT(a);return}break;case 32:if(PI(b.m())&&lG(b.m())&&!yT(gG(b)))break;c=EC(b);if(null==c)break;(c=ET(a).T(c))?eV(b)?Nob(this,a,b,c):c.N()&&bd(aG(c.N()),aG(b))&&(d=new B3,d.a=c,(d=fX(b,d))&&!q(d,b)&&q(c.ya(),
  2719. ET(a))||Nob(this,a,b,c)):!this.c||!li(b.l(),"module")||N(b.m())||DH(b.m())||cI(b.m())||(c=FG(Kx(A([],lx,eI,1)),b),qD(b,c),PT(a,c));break;case 26:yG(b,"module.id")||yG(b,"module.filename")?(c=ET(a).T("module"))&&!oL(c)||qD(b,FG(ux(KR(AT(a)).toString()),b)):this.c&&L(b.a)&&li(b.a.l(),"module")&&!yG(b,"module.exports")&&((c=ET(a).T("module"))&&!oL(c)||qD(b.a,FG(Kx(A([],lx,eI,1)),b.a)));break;case 25:this.c&&L(b.a)&&(li(b.a.l(),"module")||li(b.a.l(),"exports"))&&((c=ET(a).T(b.a.l()))&&!oL(c)||qD(b,ux("object")))}Oob(this,
  2720. a,b)};function Oob(a,b,c){if(c=nG(c))for(c=AE(c).h();c.i();){var d=c.j();Pob(a,b,d)}}
  2721. function Job(a,b,c){var d=y3(c.a),e=sL(d),f;if(f=yG(d,"module.exports"))if(f=e&&SH(e)&&kH(d.m())&&yH(gG(d))){f=d;var h=c.c;E(kH(f.m()));var k=gG(f);E(yH(k));var m=k.m();G(m);for(var p=sL(f),t=p.a,v=!1;t;)if(Lx(t)&&!t.bb()||LH(t)){v=sx(NA(f),ux(t.l()));var C=null;Lx(t)?C=UA(t):LH(t)&&(C=UA(t));C=JG(cx(wx(v,C)),t);nF(m,C,k);v=t3(v.a,h);Job(a,b,v);C&&C.m()&&(k=C);v=t;t=t.b;S(v);v=!0}else t=t.b;p.a?(v&&PT(b,p),f=!1):(S(gG(f)),f=!0)}f||(f=C3(AT(b)),h=ET(b).T(f),k=null,e&&DC(e)&&(k=c.c.T(EC(e))),!(kH(d.m())&&
  2722. yH(gG(d))&&d.b&&(L(d.b)||N(d.b))&&yH(gG(d))&&k&&(!iX(k.a)||k.a.m()&&!xL(k))&&c.b)||k.a.m()&&eV(k.a)?(f=r(f)+".default",f=NX(a.a.a,f,c.a,EC(c.a)),Hx(f,(kx(),ZE),!0),b=a.f&&yG(f,D3(a.a,C3(AT(b))))&&q(d,c.a)&&DX(c.a),yG(d,"module.exports")&&e&&!c.c.T("module.exports")&&kH(d.m())&&yH(gG(d))&&!h?(c=d.m(),e=cx(wx(f,S(e))),b&&(b=HP(!1),TP(b),Gx(e.a,KP(b))),qD(c.m(),HG(e,d.m())),d=QT(c)):!(d.b&&L(d.b)&&k&&mL(k)&&c.b)||k.a.m()&&eV(k.a)?(qD(c.a,f),kH(f.m())&&b&&(d=JP(nG(f.m())),TP(d),Gx(f.m(),KP(d))),d=QT(f)):
  2723. (e=d.m(),S(d),qD(e,d),q(d,c.a)&&(d=f),qD(c.a,f),d=QT(d)),d&&OT(a.a.a,d)):(S(gG(d)),NT(b)))}
  2724. function Nob(a,b,c,d){G(d);E(L(c)||N(c));E(!!c.m());var e=Qob(a,b,d.N()),f=EC(c);if(null!=e&&!q(c,d.N()))Rob(a,b,c,f,e,!1,!1);else if(a.c){var h=Sob(a,b,c,d);q(c,d.N())&&!kA(c.m())||null!=h||d&&d.a.m()&&eV(d.a)?null!=e||null==h||q(h,f)||xL(d)||d.a.m()&&eV(d.a)?mL(d)&&(h=C3(AT(b)),q(h,f)||"exports"===f||a.a.a.a.If&&zi(h,"test")||(h=r(f)+"$$"+r(h),Rob(a,b,c,f,h,!1,!1))):(d=a.f&&li(D3(a.a,C3(AT(b))),h)&&q(y3(c),c)&&DX(c),Rob(a,b,c,f,h,!0,d)):kA(c.m())&&q(c.m().a,c)&&a.g.add(c.m())}}
  2725. function Rob(a,b,c,d,e,f,h){var k=c.m();G(k);G(e);var m=0<=mi(e,46),p=li(e,D3(a.a,C3(AT(b)))),t=ET(b).T(e);switch(k.c.a){case 100:0==jF(k,c)&&(m||f)?(a.g.add(k),d=NX(a.a.a,e,c,d),p&&Hx(d,(kx(),ZE),!0),p=k.m(),m||t?(c=JG(cx(wx(d,Tx())),c),m=JP(nG(k)),Gx(k,null),h&&TP(m),Gx(c.a,KP(m)),Oob(a,b,c.a)):c=JG(Vw(d,Tx()),c),pF(p,k,c),hx(c)?pF(c.a,hF(c),k):pF(c.a,R(c.a),k)):1==jF(k,c)?(a=NX(a.a.a,e,c,d),p&&Hx(a,(kx(),ZE),!0),pF(k,c,a)):(c.Ga(e),bG(c,d));break;case 69:if(m||f){if(lL(k))return;d=NX(a.a.a,e,c,
  2726. d);p&&Hx(d,(kx(),ZE),!0);p=k.m();c.Ga("");c=m||t?JG(cx(wx(d,Tx())),c):JG(Rw(d,Tx()),c);pF(p,k,c);gx(c)?pF(c.a,hF(c),k):(pF(c.a,R(c.a),k),p=JP(nG(k)),Gx(k,null),h&&TP(p),Gx(c.a,KP(p)),Oob(a,b,c.a));a.b.add(c)}else c.Ga(e),bG(c,d);break;case 80:case 104:case 92:lG(k)&&!yT(k.m())&&(Mob(k),k=c.m(),t=ET(b).T(e));if(m)c.a||nG(k)?(m=NX(a.a.a,e,c,d),p&&Hx(m,(kx(),ZE),!0),p=nG(k),Gx(k,null),c.a?(m=wx(m,UA(c)),Gx(m,p),c=JG(cx(m),c),qD(k,c),c=JP(p),Gx(k,null),h&&TP(c),Gx(m,KP(c)),Oob(a,b,m)):(Gx(m,p),qD(k,FG(cx(m),
  2727. m)))):S(k);else if(t&&!q(t.a,c))if(c.a){a=QX(a.a.a,e,c,d);a=wx(a,UA(c));if(h=nG(k))Gx(k,null),Gx(a,h);qD(k,HG(cx(a),c))}else S(k);else c.Ga(e),bG(c,d);break;default:if(!m&&L(c))c.Ga(e),bG(c,d);else{a=m?NX(a.a.a,e,c,d):QX(a.a.a,e,c,d);p&&Hx(a,(kx(),ZE),!0);if(h=nG(c))Gx(c,null),Gx(a,h);HG(a,c);pF(k,c,a);c.a&&kF(a,pD(c))}}NT(b)}
  2728. function Sob(a,b,c,d){if(!d||!bd(aG(d.N()),aG(c)))return EC(c);for(var e=D3(a.a,C3(AT(b))),f=a.o.h();f.i();){var h=f.j(),k=y3(h.a),m=sL(k);if(m){var p=Tob(h);if(h.b&&(q(m,c)||(hT(m)||lL(m))&&q(p,c)))return null;k=EC(k);if(SH(m)){if("module.exports"!==k)break;m=m.a;for(p=!1;m;){if(Lx(m)&&!m.bb()&&G3a(HJ(a.a.a.a.a),m.l())&&DC(m.a)){if(q(m.a,c))return null;if((k=ET(b).T(EC(m.a)))&&q(k.a,d.a)){p=!0;break}}m=m.b}if(m&&p){if(h.b)return r(e)+"."+r(m.l());break}}else{if(!h.b)break;if(q(d.a,p))return a=void 0,
  2729. zi(k,"module")?a="module.exports":a="exports",k.length==a.length?e:r(e)+r(k.substr(a.length))}}}return EC(c)}function Tob(a){var b=y3(a.a),c=sL(b);return c?lL(c)?c.a:hT(c)&&q(c.a,b)?c.a:L(c)?(a=a.c.T(c.l()))?a.a:null:null:null}
  2730. function Qob(a,b,c){var d=null,e="",f=c.m();if(f&&Lx(f)){var h=f.m();$w(h)&&Yw(h.m())&&(d=h.b,e="."+r(f.l()))}te(e)&&f&&(d=sL(c));return d?eH(d)&&z3(d,a.a.a.a.c)?r(Lob(a.a,Kob(b,d,A3(d,a.a.a.a.c)),d))+r(e):N(d)&&z3(d.a,a.a.a.a.c)?(c=a.a,f=d.a,a=Kob(b,f,A3(f,a.a.a.a.c)),a=Lob(c,a,d.a),d=N(R(d))?EC(R(d)):R(d).l(),r(a)+"."+r(d)+r(e)):null:null}
  2731. function Pob(a,b,c){if(Dw(c)){var d=c.l();OL();if(ji(d,"/")){var e=ti(d,47),f=ni(d,46,e);e=null;-1==f?f=d.length:e=d.substr(f);d=Kob(b,c,ne(d,0,f));d=D3(a.a,d);c.Ga(null==e?d:r(d)+r(e))}else{f=!1;for(e=-1;e<d.length;){e=ni(d,46,e+1);-1==e&&(e=d.length);var h=ne(d,0,e),k=e<d.length?d.substr(e):"";if((h=ET(b).T(h))&&h.N()&&bd(aG(h.N()),aG(c))){var m=Qob(a,b,h.N());if(null!=m){c.Ga(r(m)+r(k));bG(c,d);f=!0;break}else if(a.c&&(h=Sob(a,b,c,h),null!=h&&!q(h,d))){c.Ga(r(h)+r(k));bG(c,d);f=!0;break}}}!f&&
  2732. a.c&&(e=mi(d,46),-1==e&&(e=d.length),f=ne(d,0,e),(k=ET(b).T(f))&&mL(k)&&(k=C3(AT(b)),f=r(f)+"$$"+r(k),e<d.length&&(f=r(f)+r(d.substr(e))),c.Ga(f),bG(c,d)))}}for(c=c.a;c;c=c.b)Pob(a,b,c)}function Mob(a){E(PI(a));for(var b=w(),c=nG(a);R(a);){var d=Ow(a.c,UA(a));c&&Gx(d,JD(c,!1));FG(d,a);mF(a.m(),d,a);b.add(d)}b.add(a);return b}function Uob(){}var Hob,w3;l(Uob,cT);Uob.prototype.H=function(a,b){Y(this.a,b,this);Y(this.a,a,this)};
  2733. Uob.prototype.ga=function(a,b){if(sC(b))return!0;if(tC(b)){if(q(this.a.a.c,(PL(),WL))){E(tC(b));for(a=b.a;a&&Aw(a);)a=a.b;if(a&&yH(a)&&!a.b){var c=a.a;if(c&&eH(c)&&(a=c.a,P(a))){for(var d=null,e=lX(a).a,f=0;e;){f++;if(L(e)&&li(e.l(),"module")){d=e;break}e=e.b}d&&(d=tF(c,(kx(),KE)),c=RC(c,d?f:f+1))&&(f=c.a,eH(c)&&eH(f)&&z3(f,this.a.a.c)&&xG(f.b,"module")&&(f=A3(f,this.a.a.c),(f=DL(KR(this.a.f(aG(b))),f,WA(c),XA(c),YA(c)))&&ji(f.toString(),"/buildin/module.js")&&(S(c),S(e),OT(this.a,a),Z(this.a,a))))}}}d=
  2734. Eob(this);c=this.a.$.a;uDa(this.a.$,d);Y(this.a,b,d);a=this.a.f(aG(b)).c;a=q(a,(eM(),cM));var h=!0;e=d;e=(0<e.c.w()||0<e.b.w())&&!e.o;f=Mj();if(e||a){if(!d.f.D()){h=!1;for(var k=d,m=!1,p,t=k.f.h();t.i();){var v=t.j();if(iX(v.a)){var C=v.a.m(),J=v.b;if(J){Hw(v.b)&&gF(v.b)?J=UA(v.b):S(J);m=!0;pF(C,v.a,J);E3(k.a,v.a);(p=QT(J))&&Z(k.a.a,J);var K=C;yH(K)&&(K=K.m());if(Hw(K)&&P(K.m())&&eH(gG(K))&&gF(C)){p=gG(K);var Ca=K.m();if(iX(p)){var Wa=KR(k.a.a.f(aG(iX(p))));if(Wa){m=!0;var Ma=r(BL(Wa))+"_factory"+
  2735. r(s3(k.a.a).f()),Vb=oob(k.a.a,s3(k.a.a));K=pob(Vb,Ma,Ca,p,null,!1,!1,!1);if(Hw(K)&&kG(K)&&gx(K.a)&&gF(hF(K))&&P(hF(K).a)&&yH(R(K))){var sc=hF(K).a,gc=R(K).a,tc=null,Qb=null;kH(gc)&&eH(R(gc))?(tc=R(gc),Qb=r(BL(Wa))+"_iife"+r(s3(k.a.a).f())):eH(gc)&&(tc=gc);tc&&(K=pob(Vb,Ma,sc,tc,Qb,!1,!1,!1),null!=Qb&&(Ca=HG(Tw(QX(k.a.a,Qb,Ca,EC(gc.a))),Ca),K.a&&yH(K.a)&&kH(hF(K))&&L(hF(K).a)&&li(hF(K).a.l(),Qb)?(Mx(Ca.a,S(R(hF(K)))),pF(K,K.a,Ca)):Mx(K,Ca),pF(gc,R(gc),CG(Ca.a)),M(K,S(gc.m()))))}gc=p.m();PH(gc)&&(gc=
  2736. gc.m());yH(gc)?(v=gc.m(),lF(v,pD(K),gc),S(gc),C=v,J=new wob,J.b=k.a,lY(C,J),Z(k.a.a,v),E3(k.a,p)):(pF(C,v.a,J),Z(k.a.a,J),E3(k.a,v.a))}}}}else oF(C,v.a),E3(k.a,v.a),Z(k.a.a,C),m=!0}else E3(k.a,v.a)}m&&(h=!0);Vob(this,b)&&(h=!0);h&&(d=Eob(this),uDa(this.a.$,d),Y(this.a,b,d))}h=d;k=h.a.a.f(aG(h.g));if(KR(k)){k=C3(k);m=w();for(t=h.c.h();t.i();)if(p=t.j(),iX(p.a))if(v=y3(p.a),q(p.a,v)&&kH(p.a.m())&&yH(gG(p.a))&&!iF(p.a)&&p.a.b)if(N(p.a.b)&&yG(p.a.b,"module.exports")){for(v=h.b.h();v.i();)if(C=v.j(),q(C.a,
  2737. p.a.b)){h.b.sa(C);break}v=gG(p.a).m();S(gG(p.a));m.add(p);Z(h.a.a,v)}else kH(p.a.b)&&yG(p.a.b.a,"module.exports")&&(v=p.a.b,qD(p.a.m(),S(v)),m.add(p),Z(h.a.a,v));else DH(p.a.m())&&Dw(p.a.b)&&li(p.a.b.l(),"default")&&kH(gG(p.a))&&iF(p.a.m())&&yG(iF(p.a.m()),"module.exports")&&(v=p.a.m(),C=v.m(),J=p.a.b,qD(v,FG(sx(S(p.a),S(J)),v)),Z(h.a.a,C));else m.add(p);h.c.Nb(m);m.ia();t=bf();for(p=h.b.h();p.i();)(v=p.j(),iX(v.a))?DH(v.a)&&(C=S(R(v.a)),C=t3(sx(UA(v.a),C),v.c),qD(v.a,C.a),Z(h.a.a,C.a),t.C(v,C)):
  2738. m.add(v);h.b.Nb(m);for(m=t.oa().h();m.i();)p=m.j(),v=h.b.indexOf(p),h.b.Wa(v),h.b.bc(v,t.get(p));m=0;for(t=h.b.h();t.i();)if(p=t.j(),iX(p.a)&&(v=y3(p.a),q(v,p.a)&&kH(p.a.m())))if(p=sL(p.a),!p||!SH(p))m++;else if(SH(p))for(p=p.a;p;p=p.b)if((!Lx(p)||p.bb())&&!LH(p)){m++;break}k=Rw(rx(k),Kx(A([],lx,eI,1)));Hx(k.a,(kx(),ZE),!0);cG(k.a);t=HP(!0);TP(t);Gx(k,KP(t));if(0==m||!h.c.D()&&!h.b.D())if(p=Ox("default"),Hx(p,ZE,!0),Mx(p,Kx(A([],lx,eI,1))),Mx(hF(k),p),h.c.D()||h.b.D())t=HP(!0),TP(t),Gx(p,KP(t));Mx(h.g,
  2739. HG(k,h.g));Z(h.a.a,h.g);h=2>m&&(h.c.D()||h.b.D())}else h=!0;f.fb(Wl(d.b));f.fb(Wl(d.c))}for(k=d.u.h();k.i();)m=k.j(),X(d.a.a,m);uDa(this.a.$,c);c=this.a;f=f.fa();d=new Iob;d.a=this;d.u=w();d.g=w();d.b=w();d.c=e||a;d.o=f;d.f=h;Y(c,b,d)}return!1};function C3(a){v3();return(a=KR(a))?Wob(a):null}function Wob(a){v3();return BL(a)}function Lob(a,b,c){D(eH(c));return q(a.a.a.c,(PL(),WL))&&yG(c.a,"__webpack_require__.t")?b:D3(a,b)}
  2740. function D3(a,b){return(a=a.a.Re.get(b))&&!q(a,(eM(),CDa))?b:r(b)+".default"}function z3(a,b){v3();if(eH(a)&&kG(a)){if(q(b,(PL(),WL))&&(yG(a.a,"__webpack_require__")||yG(a.a,"__webpack_require__.t"))&&(RH(R(a))||Dw(R(a)))||yG(a.a,"require")&&Dw(R(a)))return!0}else if(eH(a)&&mG(a,3)&&q(b,(PL(),WL))&&yG(a.a,"__webpack_require__.bind")&&QH(R(a))&&(RH(O(a))||Dw(O(a))))return!0;return!1}function A3(a,b){v3();return q(b,(PL(),WL))?(a=3<=GA(a)?RC(a,2):R(a),RH(a)?""+Fb(a.ab()):a.l()):R(a).l()}
  2741. function Kob(a,b,c){return(a=DL(KR(AT(a)),c,WA(b),XA(b),YA(b)))?BL(a):QYa(c).b}function xnb(a,b){v3();if(yG(b,"module.exports")||DH(b)&&yG(b.a,"module")&&Dw(R(b))&&li(R(b).l(),"exports")){if(a=ET(a).T("module"),!a||oL(a))return!0}else if(L(b)&&li("exports",b.l())&&(a=ET(a).T(b.l()),!a||mL(a)))return!0;return!1}function Xob(a,b){v3();return a&&q(b,(PL(),WL))?P(a)&&Yob(a)?!0:!1:!1}
  2742. function Yob(a){D(P(a));if(!a.m())return!1;var b=a.m();if(!(eH(b)&&b.a&&N(b.a)&&eH(hF(b))))return!1;a=hF(b).a;if(yG(a,"__webpack_require__.e")&&Dw(R(b.a))&&li(R(b.a).l(),"then"))return!0;if(yG(a,"Promise.all")&&a.b&&jH(a.b)){b=!1;for(a=a.b.a;a;a=a.b){if(!(eH(a)&&kG(a)&&yG(a.a,"__webpack_require__.e")))return!1;b=!0}return b}return!1}function y3(a){for(;a.m()&&DC(a.m());)a=a.m();return a}
  2743. function Vob(a,b){E(tC(b));for(var c=b.a;c&&Aw(c);)c=c.b;if(!c||!yH(c)||c.b)return!1;c&&c.a&&PH(c.a)&&(c=c.a);var d=c.a;if(!d||!eH(d))return!1;if(P(d.a))c=hF(c);else if(N(d.a)&&P(hF(d))&&Dw(hF(d).b)&&li(hF(d).b.l(),"call")){if(c=hF(d),!R(d)||!SC(R(d))&&!yG(R(d),"exports"))return!1}else return!1;if(r3a(c))return!1;var e=KR(a.a.f(aG(b)));if(!e)return!1;e=r(Wob(e))+"_iifeWrapper";var f=oob(a.a,s3(a.a));d=pob(f,e,c,d,null,!1,!1,!1);pD(b);kF(b,pD(d));E3(a,c);Z(a.a,b);return!0}
  2744. function E3(a,b){var c=new vob;c.b=a;lY(b,c)}function Gob(a,b){v3();for(a=a.h();a.i();){var c=a.j();if(q(c.a,b))return c}return null}function v3(){v3=function(){};w3=AJ("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR","Unrecognized require.ensure call: {0}");Hob=AJ("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",'Suspicious re-assignment of "exports" variable. Did you actually intend to export something?')}function Zob(){}var $ob;l(Zob,RT);Zob.prototype.H=function(a,b){E(bJ(this.a.c));Y(this.a,b,this)};
  2745. Zob.prototype.J=function(a,b,c){var d=b.b;if(c=d&&Dw(d)&&UI(c))a:if(SC(b))c=JT(a);else{if(DC(b))for(a=$ob.length,c=0;c<a;c++)if(yG(b,$ob[c])){c=!0;break a}c=!1}c&&this.b.add(d.l())};function apb(){apb=function(){};$ob=A(["window","top","goog$global","goog.global"],B,y,1)}function bpb(){}l(bpb,n);bpb.prototype.f=function(a){return a.a};bpb.prototype.ud=!0;function cpb(){}l(cpb,n);
  2746. cpb.prototype.a=function(a){if(Dw(a)&&!this.f.B(a)){var b=a.m();if(b)switch(b.c.a){case 152:case 151:case 36:case 23:case 25:return;case 148:var c=b.m();if(c&&q(c.c,(H(),yu)))return;for(b=BA(b).h();b.i();)if(c=b.j(),Dw(c)&&li(c.l(),"null")||q(c.c,(H(),yu)))return}b=a.l();(F3(),dpb).B(b)||(c=eJ(this.b.c),FC(c,ET(this.b),b)&&(b=QC(c,a,"[internal]",null).td()?(epb(),fpb):(epb(),gpb),this.c.W(hpb(a,b))))}};function ipb(){this.a=0}var fpb,gpb;l(ipb,z);
  2747. function jpb(a,b){var c=new ipb;c.b=a;c.a=b;return c}ipb.prototype.R=function(a){return z.prototype.c.call(this,a)};function epb(){epb=function(){};gpb=jpb("NONNULL",0);fpb=jpb("NULLABLE",1)}function kpb(){}l(kpb,n);function hpb(a,b){var c=new kpb;D(Dw(a));c.a=a;c.b=b;return c}function lpb(){}var dpb,mpb,npb;l(lpb,RT);function opb(a){F3();var b=new lpb;b.a=a;return b}lpb.prototype.H=function(a,b){tT(this.a,this,a,b)};
  2748. lpb.prototype.J=function(a,b){var c=nG(b);F3();if(c){b=YD(c);var d=new bpb;if(td(b)){var e=new nka;e.a=G(b);e.b=G(d);b=e}else e=new oka,e.a=G(b),e.b=G(d),b=e;d=Mj();for(c=AE(c).h();c.i();){var f=c.j();e=JX;var h=new cpb,k=h,m=a,p=d;k.f=b;k.b=m;k.c=p;e(f,h,hk())}a=d.fa()}else a=Ll();for(a=a.h();a.i();)b=a.j(),d=b.a,X(this.a,V(d,q(b.b,fpb)?mpb:npb,A([d.l()],B,y,1)))};
  2749. function F3(){F3=function(){};mpb=BJ("JSC_IMPLICITLY_NULLABLE_JSDOC","Name {0} in JSDoc is implicitly nullable, and is discouraged by the style guide.\nPlease add a '!' to make it non-nullable, or a '?' to make it explicitly nullable.");npb=BJ("JSC_IMPLICITLY_NONNULL_JSDOC","Name {0} in JSDoc is implicitly non-null, and is discouraged by the style guide.\nPlease add a '!' to make it explicit.");dpb=jm("*","?","boolean","null","number","string",A(["symbol","undefined","void"],B,y,1))}
  2750. function ppb(){}l(ppb,n);ppb.prototype.H=function(a,b){var c=OW(this.a,(PW(),NW),kT(this.a));o2a(c,b);for(b=c.Ee().h();b.i();){var d=b.j();qpb(this,d,c.b.get(d))}for(a=kT(this.a).b(a,null).Ee().h();a.i();)c=a.j(),qpb(this,c,null)};function qpb(a,b,c){var d=b.a,e=b.Yb();e&&bE(e)?gH(d,!0):d&&ix(d.m())?gH(d,!0):d&&MX(a.a).Bf(d.l())&&gH(d,!0);rpb(b,c)&&(Ji(L(d)||Cw(d),"Should only be called on name or import * nodes. Found %s",d),qya(d,2,!0))}
  2751. function rpb(a,b){var c=a.a;if(!c||!b||!hV(b))return!1;a=vL(a);switch(a.a){case 104:return!hx(c.m())||!!c.a;case 92:case 82:case 100:case 48:case 69:return!0;case 109:return!1;case 80:return 0<b.a.w()&&ZU(b.a.G(0))&&fV(b);default:throw pb("Unrecognized declaration type "+r(a)).s;}}function G3(){}l(G3,n);G3.prototype.ga=function(a,b){return!tC(b)||!eG(b)||YW(b)};G3.prototype.la=!0;function spb(){}l(spb,G3);
  2752. spb.prototype.J=function(a,b,c){switch(b.c.a){case 80:case 92:case 104:gF(b)&&IT(a)&&tpb(this,b.a,tL(b.a));break;case 50:c&&yH(c)&&IT(a)&&tpb(this,b.a,nG(b))}};function tpb(a,b,c){if((c&&Ay(c,1)||ix(b.m()))&&(!c||0==(c.g&-536870912))&&DC(b)&&(c=sL(b))&&DC(c)){var d=a.a.c.Mb(EC(b)),e=a.a.c.Mb(EC(c));if(d=d&&!q(B9a(d),VZ)&&e&&!q(B9a(e),VZ))e=e.hb().N(),DC(e)&&MX(a.a.b).ue(EC(e))?e=!0:(e=tL(e),e=!!e&&cd(e.c,(HD(),CD))),d=!e;d&&a.a.a.C(EC(b),EC(c))}}function upb(){}l(upb,G3);
  2753. upb.prototype.J=function(a,b,c){switch(b.c.a){case 32:case 26:if(DC(b)&&this.a.a.X(EC(b))&&!vpb(a,b)&&!CX(b,c)){for(var d=this.a.f,e=ET(a),f=EC(b),h=pm();this.a.a.X(f);){if(!h.add(f)){X(this.a.b,V(b,(wpb(),xpb),A([ze(h),f],B,y,1)));this.a.a.Ka(f);break}f=this.a.a.get(f)}d=qS(d,e,f);vpb(a,d)||(HG(d,N(b)?O(b):b),N(d)&&dG(d.a),pF(c,b,d),NT(a))}}};function vpb(a,b){E(DC(b));b=PX(b).l();a=ET(a).T(b);return!!a&&UR(a.b)}function ypb(){}var xpb;l(ypb,n);
  2754. ypb.prototype.H=function(a,b){this.c=LZ(this.b,a,b);var c=this.b,d=new spb;d.a=this;tT(c,d,a,b);c=this.b;d=new upb;d.a=this;tT(c,d,a,b)};function wpb(){wpb=function(){};xpb=U("JSC_ALIAS_CYCLE","Alias path contains a cycle: {0} to {1}")}function H3(){}l(H3,n);H3.prototype.Ca=function(a){return this.ca(a)};H3.prototype.cb=function(){return hd(this)};H3.prototype.ca=function(a){return vH(a)||Xw(a)};function I3(){}l(I3,RT);
  2755. I3.prototype.J=function(a,b){switch(b.c.a){case 28:var c=b.a;var d=null;L(c)?d=c.l():P(c)?d=this.b.get(c):BX(b)&&(E(UI(c)),c=c.a,L(c)?d=c.l():P(c)&&(d=this.b.get(c)));null!=d&&(d=this.f.get(d))&&this.c.g(a,b,d)}};function zpb(){this.v=this.u=this.o=this.f=this.c=!1}l(zpb,n);function Apb(a,b){E(!a.a);a.a=b}function J3(a){a.c=!1;a.b=null;a.f=!1}function K3(a){return a.b?a.b:Qca()}function Bpb(){}l(Bpb,n);function Cpb(a,b,c,d){var e=new Bpb;e.a=a;e.b=b;e.f=c;e.c=d;return e}
  2756. Bpb.prototype.toString=function(){return"Reference @ "+r(this.a)};function Dpb(){this.g=this.o=!1}l(Dpb,Bpb);function Epb(){this.a=0}var L3,M3;l(Epb,z);function Fpb(a,b){var c=new Epb;c.b=a;c.a=b;return c}Epb.prototype.R=function(a){return z.prototype.c.call(this,a)};function N3(){N3=function(){};M3=Fpb("DIRECT",0);L3=Fpb("BLOCK",1)}function Gpb(){this.b=0}l(Gpb,RT);
  2757. Gpb.prototype.J=function(a,b,c){if(q(this.a.A,ZXa)||!JT(a)){if(EI(b))switch(b.c.a){case 80:case 104:case 92:F(gF(b),b);c=b.a;L(c)&&c.a&&P(c.a)&&(c=new O3,c.o=this.a,c.b=b,Hpb(this.a,c,BT(a)));break;case 69:E(jT(c)||KH(c)),qJ(b)&&(c=new P3,c.o=this.a,c.b=b,Hpb(this.a,c,BT(a)))}switch(b.c.a){case 28:if(c=null,P(b.a)?c=b.a:BX(b)&&(b=hF(b),P(b)&&(c=b)),c){b=this.b++;var d=new Q3;d.o=c;d.b=""+b;Hpb(this.a,d,BT(a));this.a.g.C(c,d.c())}}}};function Q3(){}l(Q3,n);Q3.prototype.c=function(){return this.b};
  2758. Q3.prototype.a=function(){return this.o};Q3.prototype.g=function(){};Q3.prototype.f=function(){return null};function O3(){}l(O3,n);O3.prototype.c=function(){return this.b.a.l()};O3.prototype.a=function(){return hF(this.b)};O3.prototype.g=function(){Z(this.o.b,this.b);wX(this.b.m(),this.b);uX(this.b,this.o.b)};O3.prototype.f=function(){return this.b.m()};function Ipb(){}l(Ipb,I3);
  2759. Ipb.prototype.J=function(a,b,c){I3.prototype.J.call(this,a,b,c);L(b)&&(F(L(b),b),!Jpb(b)&&(a=b.l(),a=this.a.a.get(a)))&&(kH(c)&&q(c.a,b)?J3(a):a.f=!1)};Ipb.prototype.g=function(a,b,c){var d=BT(a);if(c.c){var e=c.o?(N3(),M3):(N3(),L3),f=Kpb(this,a,c,b,d,e);!f&&q(e,(N3(),M3))&&(e=(N3(),L3),f=Kpb(this,a,c,b,d,e));f||(c.f=!1)}};
  2760. function Kpb(a,b,c,d,e,f){var h;if(h=a.a.o){h=a.a;var k=CT(b);if(k){var m=c.a.a();Lpb(m)?h=!1:(m=b4a(mX(m),h.f),k=b4a(k,h.f),h=m+k>h.f)}else h=!1}if(h)return!1;h=ET(b);b=new Dpb;b.a=d;b.b=h;b.f=e;b.c=f;b.o=!1;b.g=!1;a=a.a.c;d=c.a.a();e=c.g?nm(c.g):dm();f=c.u;h=c.v;k=b.a;a:{if(!L(k.a))if(BX(k)){if(!a.v&&(m=R(k),!m||!SC(m))){m=!1;break a}}else if(AX(k,"apply")){m=!1;break a}m=!0}if(!(m=!m))a:{Fi(eH(k),k);for(m=R(k);m;m=m.b)if(qx(m)){m=!0;break a}m=!1}if(m||h&&(!a.o&&!nL(b.b)||qX(k)))a=(R3(),S3);else if(f&&
  2761. !BX(k))a=(R3(),S3);else if(q(b.c,(N3(),M3)))a:if(Mpb(d)){f=b.a;h=R(f);if(!L(f.a))if(BX(f)){if(!h||!SC(h)){a=(R3(),S3);break a}}else E(!AX(f,"apply"));f=Rnb(d,f,a.K);if(!f.Qa()&&(e=ff(e),Unb(a.u,a.a,d,f,e,MX(a.a)),!e.D())){a=(R3(),S3);break a}a=(R3(),Npb)}else a=(R3(),S3);else{f=T3(a,b);if(!(h=q(f,(U3(),Opb))||!a.f&&(q(f,(U3(),Ppb))||q(f,(U3(),Qpb))))){a:if(h=VI(mX(d),new V3,new kY),k=!1,nL(WR(b.b))||(m=WR(b.b).ka().m(),Rpb(a,m)?k=!0:a.o||(k=Spb(a,m),k=!(cd(k,Tpb)||cd(k,d)))),h&&k)a=!1;else{if(k&&
  2762. (h=Rnb(d,b.a,a.c),!h.Qa()&&(e=ff(e),Unb(a.u,a.a,d,h,e,MX(a.a)),!e.D()))){a=!1;break a}a=!0}h=!a}a=h?(R3(),S3):q(f,(U3(),Ppb))||q(f,(U3(),Qpb))?(R3(),Upb):(R3(),Npb)}return q(a,(R3(),S3))?!1:(a=q(a,(R3(),Upb)),b.o=a,c.b||(c.b=Uf()),c.b.C(b.a,b),!0)}function Vpb(){this.a=0}var S3,Upb,Npb;l(Vpb,z);function Wpb(a,b){var c=new Vpb;c.b=a;c.a=b;return c}Vpb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2763. function R3(){R3=function(){};Npb=Wpb("YES",0);Upb=Wpb("AFTER_PREPARATION",1);S3=Wpb("NO",2)}function Xpb(){this.b=!1}l(Xpb,n);Xpb.prototype.toString=function(){return Mn(Nn(Qn(this),"sideEffects",this.b),"extractBeforeStatement",this.a).toString()};function Ypb(){this.a=0}var W3,Zpb,X3;l(Ypb,z);function $pb(a,b){var c=new Ypb;c.b=a;c.a=b;return c}Ypb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2764. function Y3(){Y3=function(){};W3=$pb("UNDECOMPOSABLE",0);Zpb=$pb("MOVABLE",1);X3=$pb("DECOMPOSABLE",2)}function aqb(){this.a=0}var bqb,cqb;l(aqb,z);function dqb(a,b){var c=new aqb;c.b=a;c.a=b;return c}aqb.prototype.R=function(a){return z.prototype.c.call(this,a)};function Z3(){Z3=function(){};bqb=dqb("FORWARD",0);cqb=dqb("REVERSE",1)}function eqb(){this.b=!1}l(eqb,n);
  2765. function fqb(a,b,c,d,e){var f=new eqb;f.o="JSCompiler_temp";f.A="JSCompiler_inline_result";G(a);G(b);G(c);f.v=a;f.c=fJ(a);f.a=dJ(a);f.g=b;f.f=c;f.u=d;f.b=e;f.K=qy(eJ(a),(I(),ew));f.F=qy(eJ(a),$v);return f}
  2766. function gqb(a,b){var c=hqb(b);G(c);F(EI(c),c);for(var d,e=d=b,f=e.m();!q(f,c);e=f,f=e.m())iqb(f)&&!iG(e,f)&&(d=f);SI(d)&&(d=a3a(d));var h=lJ(a.c,d);e=jqb(d);f=new Xpb;f.b=h;f.a=e;var k=null;h=d;for(var m=h.m();!q(m,c);){F(!iqb(m)||iG(h,m),m);if(kH(m)){if(!kqb(a,m,f.b)&&!iG(h,m))switch(k=m.a,k.c.a){case 27:$3(a,O(k),null,f);case 26:$3(a,k.a,null,f);break;default:throw pb("Expected a property access: "+r(uD(k))).s;}}else if(eH(m)&&UI(m.a)){var p=m.a;$3(a,p.b,h,f);if(a4(a,p,f.b)&&!q(k,p.a)){F(a.b,"Object method calls can not be decomposed.");
  2767. f.b=!0;k=a;var t=f;Fi(eH(m),m);var v=m.a;Fi(UI(v),v);var C=v.f;p=null;C&&(p=iy(C)?C.ha().Sa("call"):k.K);v=lqb(k,v,t.a);t.a=v;C=hF(v);Fi(UI(C),C);C=lqb(k,C.a,t.a);t.a=C;t=C.a;k=JG(Q(px(IZ(sx(CG(v.a),IZ(ux("call"),k.F)),p),A([CG(t)],lx,eI,1)),m.f),m);UA(m);m.a&&oD(k,pD(m));qD(m,k);m=k}}else $3(a,m.a,h,f);k=h;h=m;m=h.m()}if(!q(d,b))if(SI(d)){F(SI(d),d);b=$2a(d);F($G(b),b);lya(b,!1);for(c=b;c&&SI(c)&&!$G(c);c=c.m())switch(c.c.a){case 31:f=(H(),xs);c.c=f;break;case 30:f=(H(),ws);c.c=f;break;case 29:f=
  2768. (H(),vs);c.c=f;break;default:throw pb("Should be an OPTCHAIN node. Unexpected expression: "+r(c)).s;}c=d.m();yH(c)?e=c:(c=b4(a),e=mqb(a,c,d,e));c=b.a;f=b4(a);k=mqb(a,f,c,e);eH(b)&&UI(c)&&(b=c.a,h=b4(a),mqb(a,h,b,k),k=d.a,S(k),k=JG(sS(a.a,k,"call"),k),b=GG(mS(a.a,h,b.f),b),Mx(d,b),Mx(d,k));b=IG(DVa(a.a,mS(a.a,f,c.f),mVa(a.a)),c);a=GG(gVa(),e);d=GG(dx(b,a),d);mF(e.m(),d,e);Mx(a,S(e))}else{f=!yH(d.m());b=d.m();c=b4(a);m=d.a;t=m.b;p=O(d);BG(d);h=GG(gVa(),d);k=GG(gVa(),d);switch(d.c.a){case 63:v=m;Mx(h,
  2769. iS(c4(t,f,c)));Mx(k,iS(c4(p,f,c)));break;case 65:v=c4(m,f,c);Mx(h,iS(c4(p,f,c)));break;case 64:v=c4(m,f,c);Mx(k,iS(c4(p,f,c)));break;case 66:t=b4(a);v=JG(Tw(oS(a.a,t,(I(),fw))),d);C=e.m();mF(C,v,e);v=c4(m,!0,t);C=FG(mVa(a.a),d);v=FG(DVa(a.a,v,C),d);Mx(h,iS(c4(FG(mS(a.a,t,m.f),d),f,c)));Mx(k,iS(c4(p,f,c)));break;default:throw pb("Unexpected expression: "+r(d)).s;}k.a?(m=v,E(ax(m)),E(Hw(h)),E(Hw(k)),h=Ew((H(),vt),m,h,k)):h=dx(v,h);qF(h,d);f?(a=JG(Tw(oS(a.a,c,(I(),fw))),d),f=e.m(),mF(f,a,e),nF(f,h,a),
  2770. a=IZ(rx(c),d.f),pF(b,d,a)):(D(yH(b)),pF(b.m(),b,h))}}function $3(a,b,c,d){if(b&&!q(b,c)){$3(a,b.b,c,d);if(FX(b)||rH(b))rH(b)&&$3(a,R(b),c,d),b=b.a;else if(ZH(b))b=b.a;else if(!qx(b)&&!ax(b))return;a4(a,b,d.b)&&(d.b=!0,d.a=lqb(a,b,d.a))}}function mqb(a,b,c,d){var e=mS(a.a,b,c.f);qD(c,e);a=JG(rVa(a.a,b,c),c);mF(d.m(),a,d);return a}function c4(a,b,c){return b?(b=a.f,IG(IZ(wx(IZ(rx(c),b),a),b),a)):a}
  2771. function lqb(a,b,c){var d=b.m(),e=XI(d)&&!kH(d)&&iG(b,d),f=null;if(e&&UI(b))for(var h=BA(b).h();h.i();){var k=h.j(),m;if(m=!Dw(k)){m=a;var p=k;m=!(L(p)&&(J2a(p,m.u)||m.f.B(p.l())))}m&&(k=lqb(a,k,c),f||(f=k))}h=r(a.o)+"_const$jscomp$"+r(a.g.f());a.f.add(h);k=GG(Q(rx(h),b.f),b);if(e)F(L(b)||UI(b),b),a=qF(IZ(zw(dX(d)),d.f),d),e=O(d),m=(H(),Ss),d.c=m,pF(d,e,a),Mx(a,k),M(a,e),b=NA(b);else if(qx(b))switch(e=CG(b),M(e,k),qD(b,e),d.c.a){case 45:case 28:case 23:d=A([b],lx,eI,1);d=FVa(a.a,lg(d));b=FG(d,fF(b));
  2772. break;case 46:b=FG(zS(a.a,A([b],lx,eI,1)),fF(b));break;default:throw pb("Unexpected parent of SPREAD:"+r(uD(d))).s;}else pF(d,b,k);d=jY(h,b);Q(d.a,b.f);mF(c.m(),d,c);f||(f=d);E(gx(f));return f}function b4(a){return r(a.o)+"$jscomp$"+r(a.g.f())}function nqb(a,b){return L(b)&&zi(b.l(),r(a.o)+"_const$jscomp$")}function jqb(a){a=hqb(a);G(a);for(var b=a.m();KH(b);)a=b,b=a.m();F(jT(b),b);return a}
  2773. function iqb(a){switch(a.c.a){case 63:case 65:case 64:case 66:case 30:case 29:case 31:return!0;default:return!1}}function hqb(a){for(var b=DE(a.m()).h();b.i();){var c=b.j(),d=c.m();switch(c.c.a){case 88:case 70:case 71:case 0:case 42:return E(iG(a,c)),c;case 80:case 104:case 92:if(yT(d))break;return c;case 76:if(iG(a,c))return c;case 77:case 105:case 106:case 75:case 74:case 89:case 86:case 87:case 72:case 73:case 127:case 48:return null}a=c}throw pb("Unexpected AST structure.").s;}
  2774. function d4(a,b){var c=hqb(b);if(c)a:{var d=!1,e=lJ(a.c,b),f=b;for(b=DE(f.m()).h();b.i();){var h=b.j();if(PI(h)&&!iG(f,h)){a=(Y3(),W3);break a}if(q(h,c)){a=d?(Y3(),X3):(Y3(),Zpb);break a}if(iqb(h))q(f,h.a)||(d=!0);else if(!kqb(a,h,e)){b:switch(h.c.a){case 99:case 50:case 127:if(Xw(h.a)){var k=(Z3(),cqb);break b}default:k=(Z3(),bqb)}var m=h;for(m=q(k,(Z3(),bqb))?m.a:O(m);m&&!q(m,f);m=oqb(m,k))a4(a,m,e)&&(d=e=!0);f=h.a;if(d&&eH(h)&&UI(f)){a=a.b?(Y3(),X3):(Y3(),W3);break a}}f=h}throw pb("Unexpected.").s;
  2775. }else a=(Y3(),W3);return a}function oqb(a,b){return q(b,(Z3(),bqb))?a.b:iF(a)}function kqb(a,b,c){if(kH(b))switch(b=b.a,b.c.a){case 32:return!0;case 26:return!a4(a,b.a,c);case 27:return!a4(a,b.a,c)&&!a4(a,O(b),c)}return!1}function a4(a,b,c){return qx(b)&&nqb(a,fF(b))?!1:c?(c=b.m(),AX(c,"call")&&iG(b,c)&&nqb(a,b.a)?!1:I2a(b,a.f,a.u)):lJ(a.c,b)}function pqb(){this.a=0}l(pqb,n);pqb.prototype.f=function(){return""+this.a++};function e4(){}l(e4,n);e4.prototype.Ca=function(a){return this.ca(a)};
  2776. e4.prototype.cb=function(){return hd(this)};e4.prototype.ca=function(a){return L(a)?li(a.l(),"eval")||!te(this.b)&&li(a.l(),this.b)||!te(this.a)&&li(a.l(),this.a):WH(a)?!0:!1};function qqb(){this.c=this.u=this.f=this.g=!1}l(qqb,n);function rqb(a){var b=new qqb;b.a=null;b.g=!0;b.f=!0;b.u=!0;b.c=!0;b.b=null;b.o=G(a);return b}function sqb(a,b){a.g=b;return a}function tqb(a,b){a.f=b;return a}
  2777. function uqb(a){a.a||(a.a=s3(a.o));a.b||(a.b=Pnb(G(fJ(a.o))));vqb();var b=new wqb;b.b=ef();var c=new pqb;c.a=0;b.K=c;b.F=Uf();b.A=Uf();b.a=G(a.o);b.c=G(a.a);b.v=a.g;b.o=a.f;b.f=a.u;b.g=a.c;b.u=G(a.b);F(!b.g||b.f,"Cannot allow method call decomposition when decomposition in general is not allowed.");return b}function f4(){this.a=0}var Opb,xqb,yqb,zqb,Qpb,Ppb;l(f4,z);function U3(){U3=function(){};Opb=Aqb();xqb=Bqb();yqb=Cqb();zqb=Dqb();Qpb=Eqb();Ppb=Fqb()}function Gqb(){this.a=0}l(Gqb,f4);
  2778. function Aqb(){U3();var a=new Gqb;a.b="UNSUPPORTED";a.a=0;return a}Gqb.prototype.f=function(a,b){throw pb("unexpected: "+r(b)).s;};Gqb.prototype.R=function(a){return f4.prototype.c.call(this,a)};function Hqb(){this.a=0}l(Hqb,f4);function Bqb(){U3();var a=new Hqb;a.b="SIMPLE_CALL";a.a=1;return a}Hqb.prototype.f=function(){};Hqb.prototype.R=function(a){return f4.prototype.c.call(this,a)};function Iqb(){this.a=0}l(Iqb,f4);function Cqb(){U3();var a=new Iqb;a.b="SIMPLE_ASSIGNMENT";a.a=2;return a}
  2779. Iqb.prototype.f=function(){};Iqb.prototype.R=function(a){return f4.prototype.c.call(this,a)};function Jqb(){this.a=0}l(Jqb,f4);function Dqb(){U3();var a=new Jqb;a.b="VAR_DECL_SIMPLE_ASSIGNMENT";a.a=3;return a}Jqb.prototype.f=function(){};Jqb.prototype.R=function(a){return f4.prototype.c.call(this,a)};function Kqb(){this.a=0}l(Kqb,f4);function Eqb(){U3();var a=new Kqb;a.b="EXPRESSION";a.a=4;return a}
  2780. Kqb.prototype.f=function(a,b){var c=b.a,d=Lqb(a,b.b);var e=r(d.A)+"$jscomp$"+r(d.g.f());var f=jqb(c);G(f);var h=f.m();G(h);E(jT(h));pF(c.m(),c,IZ(rx(e),c.f));e=jY(e,c);Q(e.a,c.f);mF(h,e,f);Z(d.v,h);c=T3(a,b);E(!q(this,c));c.f(a,b)};Kqb.prototype.R=function(a){return f4.prototype.c.call(this,a)};function Mqb(){this.a=0}l(Mqb,f4);function Fqb(){U3();var a=new Mqb;a.b="DECOMPOSABLE_EXPRESSION";a.a=5;return a}
  2781. Mqb.prototype.f=function(a,b){for(var c=b.a,d=Lqb(a,b.b),e=0;q((Y3(),X3),d4(d,c));)if(gqb(d,c),e++,100<e)throw pb("DecomposeExpression depth exceeded on:\n"+r(uD(c))).s;c=T3(a,b);E(!q(this,c));c.f(a,b)};Mqb.prototype.R=function(a){return f4.prototype.c.call(this,a)};function V3(){}l(V3,n);V3.prototype.Ca=function(a){return this.ca(a)};V3.prototype.cb=function(){return hd(this)};V3.prototype.ca=function(a){return m3a(a)};function wqb(){this.g=this.o=this.v=this.f=!1}var Tpb,Nqb;l(wqb,n);
  2782. function Oqb(a,b,c,d){E(bJ(a.a.c));return Pqb(a,b,c,d)}
  2783. function Pqb(a,b,c,d){if(q(b.c,(N3(),M3))){var e=b.a,f=O(d),h=e.m();d=Rnb(d,e,a.c);f.a?(f=f.a,Fi(Ux(f),f),f=NA(f),d=Qnb(a.u,null,f,null,d,!0),D(q(f,d)),d=UA(f),DY(d,a.a)):d=vX(f);if(f=CF(e))AF(d,f),Q(d,e.f);pF(h,e,d);uX(e,a.a)}else{var k=b.a;e=k.m();h=e.m();f=T3(a,b);D(!q(f,(U3(),Opb)));var m=!0;switch(f.a){case 2:var p=e.a.l();Qqb(b.b,p);break;case 3:p=e.l();Qqb(b.b,p);break;case 1:p=null;m=!1;break;case 4:throw pb("Movable expressions must be moved before inlining.").s;case 5:throw pb("Decomposable expressions must be decomposed before inlining.").s;
  2784. default:throw pb("Unexpected call site type.").s;}b=oob(a.a,a.c);var t=qX(k);d=pob(b,c,d,k,p,m,t,!0);DY(d,a.a);c=h.m();switch(f.a){case 3:f=UA(e);uX(f,a.a);E(!e.a);nF(c,d,h);break;case 2:E(yH(h));pF(c,h,d);uX(h,a.a);break;case 1:E(yH(e));pF(h,e,d);uX(e,a.a);break;default:throw pb("Unexpected call site type.").s;}}Z(a.a,d);return d}
  2785. function T3(a,b){var c=b.a,d=c.m(),e=d.m();if(oX(d))return U3(),xqb;if(nX(e)&&!CX(c,d)&&L(d.a)&&!S3a(d.a))return U3(),yqb;if(L(d)&&!S3a(d)&&gx(e)&&gF(e))return U3(),zqb;switch(d4(Lqb(a,b.b),c).a){case 1:return U3(),Qpb;case 2:return U3(),Ppb}return U3(),Opb}function Lqb(a,b){return fqb(a.a,a.c,a.b,b,a.g)}function Qqb(a,b){(a=(a=a.T(b))?a.a:null)&&rya(a)&&gH(a,!1)}function Mpb(a){vqb();a=mX(a);return!a.a||gF(a)&&Ux(a.a)&&hF(a)?!0:!1}
  2786. function Rpb(a,b){E(P(b));var c=a.F.get(b);if(null!=c)return c;c=VI(b,Ti(function(d){return L(d)&&li(d.l(),"eval")}),Ti(function(d){return!P(d)||cd(d,b)}));a.F.C(b,c);return c}function Spb(a,b){E(P(b));var c=a.A.get(b);if(c)return c;var d=w();lY(b,new AW(function(e){cd(e,b)||P(e)&&d.add(e)}));switch(d.w()){case 0:c=Tpb;break;case 1:c=d.G(0);break;default:c=Nqb}a.A.C(b,c);return c}
  2787. function Rqb(a,b,c){var d=GA(lX(a));d=15+(1<d?d-1:0)+2*d;a=O(a);if(!a.a)return-d;if(q(c,(N3(),M3)))return-(d+7);b=b.w();c=O3a(a);return(0<c?4:0)+2*c+3*(0<c?c-1:0)+3*b-d}function vqb(){vqb=function(){};Tpb=zw((H(),ut));Nqb=zw(ut)}function P3(){}l(P3,n);P3.prototype.c=function(){return this.b.a.l()};P3.prototype.a=function(){return this.b};P3.prototype.g=function(){Z(this.o.b,this.b);wX(this.b.m(),this.b);uX(this.b,this.o.b)};P3.prototype.f=function(){return this.b.m()};function Sqb(){}l(Sqb,n);
  2788. Sqb.prototype.g=function(a,b,c){E(!!c.a);if(c.c&&(b=K3(c).get(b))){var d=c.a.c();c=Oqb(this.a,b,d,c.A?c.A:c.a.a());cd(c,b.a)||Z(a.c,c);b.g=!0}};function Tqb(){this.o=this.u=!1;this.f=0}l(Tqb,n);function Uqb(a,b){var c=a.a.get(b);c||(c=new zpb,c.a=null,c.A=null,c.c=!0,c.f=!0,c.o=!1,c.u=!1,c.v=!1,c.b=null,c.F=null,c.g=null,a.a.C(b,c));return c}
  2789. Tqb.prototype.H=function(a,b){E(bJ(this.b.c));a=this.b;var c=new Gpb;c.a=this;c.b=0;Y(a,b,c);if(!this.a.Qa()){a=this.b;c=new Ipb;var d=this.a,e=this.g;c.a=this;c.f=d;c.b=e;c.c=null;c.c=c;Y(a,b,c);for(a=this.a.V().h();a.i();)c=a.j().O(),c.a&&c.c||a.ma();if(!this.a.Qa()){a=ff(this.a.oa());c=this.c;E(c.b.D());c.b=a;for(a=this.a.V().h();a.i();)c=a.j().O(),c.b&&!c.b.Qa()?Vqb(this,c)||a.ma():c.f||a.ma();if(!this.a.Qa()){for(a=this.a.values().h();a.i();)if(c=a.j(),c.b&&!c.b.Qa()&&c.c&&(d=c.a.a(),e=ef(),
  2790. Wqb(mX(d),e),!e.D())){for(d=e.h();d.i();)e=d.j(),(e=this.a.get(e))&&e.f&&(e.f=!1,Vqb(this,e)||J3(e));d=NA(c.a.a());c.A=d}for(a=this.a.values().h();a.i();)if(c=a.j(),c.c)for(c=K3(c).values().h();c.i();)e=c.j(),e.o&&(d=this.c,T3(d,e).f(d,e));a=this.b;c=this.a;d=this.g;e=new Sqb;e.a=this.c;var f=new I3;f.f=c;f.b=d;f.c=e;Y(a,b,f);for(b=this.a.V().h();b.i();)if(a=b.j(),c=a.M(),d=a.O(),d.f){a=d.a;E(d.c);E(!!a);for(e=K3(d).values().h();e.i();)if(d=e.j(),!d.g)throw b=d.a.m(),pb("Call site missed ("+r(c)+
  2791. ").\n call: "+r(uD(d.a))+"\n parent: "+r(b?uD(b):"null")).s;a.g();uX(a.a(),this.b)}}}}};function Lpb(a){D(P(a));a=mX(a);return!a.a||gF(a)&&Ux(a.a)}
  2792. function Hpb(a,b,c){var d=b.c();d=Uqb(a,d);if(d.a)J3(d);else{var e=b.a();Xqb(e)?J3(d):a.o&&!Lpb(e)&&a.f<=b4a(e,a.f)?J3(d):d.c&&(Apb(d,b),Mpb(b.a())&&(d.o=!0),Yqb(lX(e))&&J3(d),Zqb(a,b)||J3(d),d.c&&(d.F=c,b=Snb(e),b.D()||(d.o=!1,d.g=b),b=mX(e),Y2a(b)&&(d.u=!0),VI(b,Ti(function(f){return P(f)}),hk())&&(d.v=!0,!a.u&&$qb(e)&&J3(d))),gx(gG(e))&&(a=d.a.f(),Hw(a)&&!P(a.m())&&VI(a,Ti(function(f){return hx(f)||ix(f)}),hk())&&J3(d)),UG(e)&&J3(d),bH(e)&&J3(d))}}
  2793. function Xqb(a){a=tL(a);return!!a&&Ay(a,2048)}function $qb(a){var b=mX(a);return!!lX(a).a||VI(b,new V3,new kY)}function Zqb(a,b){var c=b.c();if(MX(a.b).Cd(c)||MX(a.b).Dd(c))c=!1;else{a=a.c;var d=b.a();b=mX(d);if(MX(a.a).Qk(d)){a=d.a.l();E(null!=a);d=(T(),s2a);d=VI(b,d2a("arguments"),d);var e=new e4;e.b=c;e.a=a;c=!d&&!VI(b,e,hk())}else c=!1}return c}
  2794. function Jpb(a){var b=a.m();E(L(a));return PI(b)||P(b)||eH(b)&&q(b.a,a)||UI(b)&&q(a,b.a)&&Dw(a.b)&&li(a.b.l(),"call")&&(a=hG(a,2),eH(a)&&q(a.a,b))?!0:!1}function Vqb(a,b){if(!arb(a,b)){var c;a:{for(c=K3(b).values().h();c.i();){var d=c.j();if(q(d.c,(N3(),L3))){c=!0;break a}}c=!1}if(c){b.f=!1;for(c=K3(b).V().h();c.i();)d=c.j(),q(d.O().c,(N3(),L3))&&c.ma();if(!b.b||b.b.Qa()||!arb(a,b))return!1}else return!1}return!0}
  2795. function arb(a,b){var c=a.c,d=b.F;a=b.a.a();var e=K3(b).values(),f=b.g?nm(b.g):dm(),h=b.f,k=b.u,m=e.w();if(0==m)a=!0;else{b=0;var p=h&&!!d;c=c.a.b;for(e=e.h();e.i();){var t=e.j();q(t.c,(N3(),L3))&&b++;p&&t.f&&!q(t.f,d)&&!jV(c,t.f,d)&&(p=h=!1)}d=m-b;1==m&&h&&1==d?a=!0:(p=GA(lX(a)),e=4,0<p&&(e+=2*p+(p-1)),k&&(e+=10),k=e*m,m=Rqb(a,f,(N3(),M3)),f=Rqb(a,f,L3),h=d+b-(h?1:0),0==h?a=0>=b||0>=f:(h=(k+(d*-m+b*-f))/h|0,a=l3(a,h+1)<=h))}return a}function Yqb(a){G(a);return VI(a,new H3,hk())}
  2796. function Wqb(a,b){D(!!b);L(a)&&Jpb(a)&&b.add(a.l());for(a=a.a;a;a=a.b)Wqb(a,b)}function brb(){}l(brb,n);function crb(a,b){var c=new brb;c.b=a;c.c=b;return c}brb.prototype.a=function(a){L(a)&&this.b.b.add(this.c.T(a.l()))};function drb(){}l(drb,n);function erb(a){var b=new drb;b.a=a;b.b=ef();return b}
  2797. drb.prototype.Ji=function(a,b){for(a=TR(ET(a)).h();a.i();){var c=a.j(),d=c;if(!(mL(d)||oL(d)||MX(this.a.a).Cd(d.va())||MX(this.a.a).Dd(EC(d.a))||this.b.B(d))){var e=b.a(c);if(frb(e.a)){this.b.add(c);d=gV(e);var f=e,h=f;e=Uf();for(h=h.a.h();h.i();){var k=h.j();if(cV(k)||ZU(k)){if(k=aV(k))for(F(SH(k),k),k=k.a;k;k=k.b){var m=k.l();if(!e.X(m)){var p=m;OI.test(m)||(p="string_key");p="JSCompiler_object_inline_"+r(p)+"_"+r(this.a.b.f());e.C(m,p)}}}else PI($U(k))||(k=$U(k),F(N(k),k),k=O(k).l(),e.X(k)||(m=
  2798. "JSCompiler_object_inline_"+r(k)+"_"+r(this.a.b.f()),e.C(k,m)))}m=bf();if(h=fV(f)&&PI($U(d))){k=$U(d);p=m;var t=aV(d);F(SH(t),t);for(t=t.a;t;t=t.b)p.C(t.l(),UA(t))}else k=WR(c.ya()).ka().a;F(EI(k),k);for(p=e.V().h();p.i();){var v=p.j();t=m.get(v.M());v=jY(v.O(),t);if(t){var C=c.ya();JX(t,crb(this,C),(T(),WI))}else JG(v,k);mF(k.m(),v,k);Z(this.a.a,k)}h&&(Z(this.a.a,k.m()),S(k));for(f=f.a.h();f.i();)if(k=f.j(),!h||!q(k,d))if(Z(this.a.a,k.N()),cV(k)){t=c;p=e;m=w();v=aV(k);t=t.ya();JX(v,crb(this,t),(T(),
  2799. WI));F(SH(v),v);t=Am(p.oa());for(v=v.a;v;v=v.b){C=v.l();var J=UA(v);m.add(wx(rx(p.get(C)),J));t.sa(C)}for(t=t.h();t.i();)v=t.j(),m.add(wx(rx(p.get(v)),vX(null)));if(m.D())p=Rx();else{m.add(Rx());m=dp(m);v=p=zw((H(),Rs));for(t=0;t<m.w()-2;t++)Mx(v,m.G(t)),C=zw(Rs),Mx(v,C),v=C;Mx(v,m.G(t));Mx(v,m.G(t+1))}k=$U(k);JG(p,k);PI(k)?qD(k,ZW(p)):qD(k,p)}else PI($U(k))?oF(bV(k),$U(k)):(m=$U(k),F(N(m),m),p=R(m).l(),E(e.X(p)),p=rx(e.get(p)),qF(p,m),pF(bV(k),$U(k),p))}}}};
  2800. function frb(a){for(var b=!1,c=ef(),d=a.h();d.i();){var e=d.j(),f=e.N(),h=$U(e),k=bV(e);if(N(h)){E(q(h.a,f));if(eH(k)&&q(k.a,h)||wH(k))return!1;e=O(h).l();if(!c.B(e))if(CX(h,k))c.add(e);else return!1}else{var m=f.m();if(!(PI(m)||kH(m)&&q(m.a,f)&&yH(m.m()))||PI(h)&&yT(k))return!1;if(h=aV(e)){if(!SH(h))return!1;for(b=h.a;b;b=b.b){switch(b.c.a){case 90:case 91:case 122:case 121:return!1;case 102:case 95:break;default:throw pb("Unexpected child of OBJECTLIT: "+r(uD(b))).s;}c.add(b.l());h=b.a;for(k=a.h();k.i();)for(e=
  2801. $U(k.j());!jT(e);){if(q(e,h))return!1;e=e.m()}}b=!0}}}return b}function grb(){}l(grb,n);grb.prototype.H=function(a,b){OW(this.a,erb(this),kT(this.a)).H(a,b)};function hrb(){}l(hrb,RT);
  2802. hrb.prototype.J=function(a,b,c){if(N(b)){var d=O(b).l();if(kH(c)){a:{F(N(b)&&kH(c),b);var e=b.a;b=O(b).l();c=O(c);if(SC(e)){if((a=CT(a))&&h4a(a)){b=irb(this,jrb(this.a,e),b,c);break a}}else if(JT(a)&&N(e)&&li(O(e).l(),"prototype")){if(e=jrb(this.a,e.a),e=e.xa()?Tz(e.ha()):null){b=irb(this,e,b,c);break a}}else if(JT(a)&&(e=jrb(this.a,e))&&e.xa()){b=irb(this,e,b,c);break a}b=!1}b=!b}else b=DX(b)?!0:wH(c)?!0:!1}else if(Lx(b)&&!$w(b.m())||CH(b)||VH(b)||LH(b))d=b.l(),b=!0;else return;b&&(G(d),this.a.b.C(d,
  2803. (krb(),lrb)))};function irb(a,b,c,d){G(d);return!a.a.b.X(c)&&!QY(a.a.c,b)&&WW(d)&&$3a(d)?(a.a.b.C(c,mrb(b,d)),!0):!1}function nrb(){}l(nrb,n);function mrb(a,b){var c=new nrb;c.a=a;c.b=b;return c}function orb(){}l(orb,RT);
  2804. orb.prototype.J=function(a,b,c){if(N(b)&&!DX(b)){var d=b.a;a=O(b).l();a=this.a.b.get(a);var e;if(e=a&&!q(a,(krb(),lrb))){e=a.a;e=e.Ia();d=jrb(this.a,d).Ia();if(QY(this.a.c,d))d=!1;else if(d.xa()||e.xa())a:{d=d.ha();e=e.ha();if(d&&e)for(;d;){if(q(d,e)){d=!0;break a}d=d.Va()}d=!1}else d=vy(d,e);e=d}e&&(a=NA(a.b),lJ(fJ(this.a.a),b.a)&&(a=GG(zx(UA(b),a),b)),pF(c,b,a),Z(this.a.a,a))}};function prb(){}var lrb;l(prb,n);function jrb(a,b){return(b=b.f)?b:qy(eJ(a.a),(I(),ew))}
  2805. prb.prototype.H=function(a,b){a=this.a;var c=new hrb;c.a=this;Y(a,b,c);a=this.a;c=new orb;c.a=this;Y(a,b,c)};function krb(){krb=function(){};lrb=mrb(null,null)}function qrb(){}l(qrb,n);function rrb(){}l(rrb,n);function srb(a){var b=new rrb;b.a=a;b.b=ef();b.c=bf();return b}
  2806. rrb.prototype.Ji=function(a,b){if(!q(this.a.b,(g4(),h4)))for(var c=TR(ET(a)).h();c.i();){var d=c.j(),e=b.a(d);if(e&&2<=e.a.w()&&fV(e)&&hV(e)){var f=aV(gV(e));if(f&&L(f)&&!li(f.l(),d.va())){var h=new qrb;h.a=d;h.b=e;this.c.C(f,h)}}}a:{c=ET(a);if(yL(c)&&!aH(c.ka())){b:{for(;null!=c;c=c.m())if(d=YUa(c,(hL(),NBa)),null!=d){c=d;break b}c=null}if((c=b.a(c))&&!c.a.D())for(c=c.a.h();c.i();)if(d=c.j(),f=d.N(),e=$U(d),!UI(e)||!q(f,$U(d).a)||DX(e)){c=!0;break a}}c=!1}for(a=TR(ET(a)).h();a.i();)if(d=a.j(),(f=
  2807. b.a(d))&&!trb(this,d)){e=d;h=f;if((g4(),h4).f.ca(e)&&hV(h)){var k=p_a(h);e=k?(k=aV(k))&&WW(k)?!Dw(k)||urb(this,e,h.a):!1:!1}else e=!1;if(e){h=aV(p_a(f));e=d;k=null;for(f=f.a.h();f.i();){var m=f.j();if(q(m.N(),e.a))k=m;else{var p=NA(h);DY(p,this.a.a);vrb(this,e,m,p)}}wrb(this,k);this.b.add(d)}else if(!q(this.a.b,(g4(),h4))){e=c;m=f.a.w();h=f.a.G(0);k=gV(f);p=q(h,k)?2:3;if(1<m&&xrb(this,d,f))h=k?aV(k):vX(h.N()),G(h),yrb(this,d,h,f.a),this.b.add(d);else if(m==p){m=f.a.G(p-1);a:if(zrb(h)&&Arb(this,k)&&
  2808. Brb(m)&&(q(h,k)||yH(bV(k)))&&q(h.c,k.c)&&q(h.c,m.c))if(p=aV(k),E(!!p),N(p)&&eH($U(m))&&q($U(m).a,m.N()))p=!1;else{if(P(p)){var t=$U(m);if(eH($U(m))){var v=MX(this.a.a);if(v.zd(t)||null!=v.zf(t)){p=!1;break a}}}if(t=q(k.b,h.b))b:{t=k.b;for(v=G(m.b);null!=v;){if(q(v,t)){t=!0;break b}v=v.m()}t=!1}if(t){if(!(p=tJ(p,!0)||P(p)))b:{t=k;p=m;if(PI($U(t))){v=this.a.a;var C=t.N(),J=$U(t);t=bV(t);D(PI(J));D(EI(J));t=Crb(v,C,Drb(A([C,J,t],lx,eI,1)))}else if(kH($U(t))){E(yH(bV(t)));v=this.a.a;C=t.N();J=$U(t);var K=
  2809. bV(t);t=bV(t).m();D(kH(J));D(yH(K));t=Crb(v,C,Drb(A([J,K,t],lx,eI,1)))}else throw pb("Unexpected initialization parent\n"+r(uD($U(t)))).s;for(p=p.N();t.i();)if(v=t.j(),q(v,p)){p=!0;break b}p=!1}}else p=!1}else p=!1;if(p){t=aV(k);E(!!t);if(p=qJ(t))OT(this.a.a,t),Z(this.a.a,t.m());vrb(this,d,m,S(t));q(h,k)||(k=bV(k),E(yH(k)),wX(k.m(),k));p||wrb(this,h);this.b.add(d)}}else!q(h,k)&&2==m&&zrb(h)&&Arb(this,k)&&(h=aV(k),G(h),yrb(this,d,h,f.a),this.b.add(d));if(!e&&!this.b.B(d)&&fV(f)&&hV(f))for(d=f.a,f=
  2810. 1;f<d.w();f++)e=d.G(f).N(),this.c.X(e)&&(e=this.c.get(e),this.b.B(e.a)||trb(this,e.a)||(h=gV(e.b),h=aV(h),G(h),yrb(this,e.a,h,e.b.a),this.b.add(e.a)))}}};function Erb(a,b,c){for(var d=b.a;d;d=d.b)Erb(a,d,c);L(b)&&a.b.add(c.T(b.l()))}function trb(a,b){(a=oL(b)||MX(a.a.a).Cd(b.va())||MX(a.a.a).Dd(wG(b.a))||a.b.B(b))||(b=b.Yb(),a=!!b&&Ay(b,2048));return a}function yrb(a,b,c,d){for(var e=d.G(0),f=1;f<d.w();f++){var h=NA(c);DY(h,a.a.a);vrb(a,b,d.G(f),h)}wrb(a,e)}
  2811. function wrb(a,b){var c=$U(b);F(PI(c),c);var d=bV(b);Z(a.a.a,b.N());oF(c,b.N());c.a||wX(d,c)}function vrb(a,b,c,d){Z(a.a.a,c.N());k_a(c)?Frb(a,bV(c),$U(c),d):Frb(a,$U(c),c.N(),d);Erb(a,d,b.ya())}function Frb(a,b,c,d){var e=CF(c);e&&(AF(d,e),Q(d,c.f));pF(b,c,d);uX(c,a.a.a)}function urb(a,b,c){if(a=!a.a.c)a=b.Yb(),a=!(a&&Ay(a,4));return a?(a=rL(b).l().length+2,b=8+a+4*(c.w()-1),c=(a-1)*(c.w()-1),b>=c):!0}function zrb(a){return PI($U(a))&&!ZS(bV(a))||qJ($U(a))}
  2812. function Arb(a,b){if(b)if(YU(b.a)){if(!qJ($U(b))&&!b.N().a)return!1}else{var c=$U(b);E(kH(c)&&q(c.a,b.N()))}else return!1;b=aV(b);return P(b)?MX(a.a.a).Qk(b):!0}function Brb(a){return!YU(a.a)&&!cV(a)}
  2813. function xrb(a,b,c){var d=c.a,e=1,f=d.G(0);if(!zrb(f))return!1;if(!q_a(c)){var h=gV(c);if(!Arb(a,h))return!1;q(f,h)||(E(q(h,d.G(1))),e=2);if(!fV(c))return!1;f=aV(h);G(f);a=WW(f)&&(!Dw(f)||urb(a,b,c.a));if(b=SC(f)){a:{b=null;for(c=c.a.h();c.i();)if(f=c.j(),!b)b=WR(f.b);else if(!q(b,WR(f.b))){c=!0;break a}c=!1}b=!c}if(!a&&!b)return!1}for(;e<d.w();e++)if(c=d.G(e),!Brb(c))return!1;return!0}function Grb(){this.a=0}var h4,Hrb,Irb;l(Grb,z);function Jrb(a,b,c){var d=new Grb;d.b=a;d.a=b;d.f=c;return d}
  2814. Grb.prototype.R=function(a){return z.prototype.c.call(this,a)};function g4(){g4=function(){};h4=Jrb("CONSTANTS_ONLY",0,Ti(function(a){return qL(a)}));Hrb=Jrb("LOCALS_ONLY",1,Ti(function(a){return UR(a.b)}));Irb=Jrb("ALL",2,hk())}function Krb(){this.c=!1}l(Krb,n);function Lrb(a,b){var c=new Krb;c.a=a;c.b=b;c.c=!0;return c}Krb.prototype.H=function(a,b){n2a(this.a,srb(this),kT(this.a),this.b.f).H(a,b)};function i4(){}l(i4,n);
  2815. function Drb(a){var b=new i4;b.a=Uk();D(0<a.length);for(var c=0;c<a.length;c++){var d=a[c];if(P(d))break;b.a.qe(d)}return b}i4.prototype.i=function(){return!(1==this.a.w()&&!this.a.Je().b)};i4.prototype.j=function(){var a=this.a.Ke();if(a.b){a=a.b;this.a.Sb(a);if(P(a))return this.j();for(;a.a;)if(a=a.a,this.a.Sb(a),P(a))return this.j()}else if(a=this.a.Je(),P(a))return this.j();return a};i4.prototype.ma=function(){throw xb("Not implemented").s;};i4.prototype.ea=function(a){Bb(this,a)};
  2816. function j4(){this.c=!1}l(j4,n);function Crb(a,b,c){var d=new j4;D(L(b));var e=e3a(b);d.g=G(a);d.f=b.l();d.c=!!e&&lJ(fJ(a),e);d.b=c;Mrb(d,!0);return d}j4.prototype.i=function(){return!!this.a};j4.prototype.j=function(){var a=this.a;Mrb(this,!1);return a};j4.prototype.ma=function(){throw xb("Not implemented").s;};
  2817. function Mrb(a,b){if(!b){if(!a.a)return;b=a.b.a.Je();if(L(b)&&li(a.f,b.l())){a.a=null;return}}if(a.b.i()){b=a.b.j();var c=a.b;c=2<=c.a.w()?c.a.Je().m():null;var d=b.c;if(a.c){var e=!1;if(L(b)&&!li(a.f,b.l())||N(b)||DH(b))c&&CX(b,c)||(e=!0);else if(eH(b)||TC(b))e=!0;if(e){a.a=null;return}}lAa(fJ(a.g),b)&&!q(d,(H(),As))||q(d,(H(),As))&&oH(c)?a.a=null:a.a=b}else a.a=null}j4.prototype.ea=function(a){Bb(this,a)};function Nrb(){}l(Nrb,J2);
  2818. Nrb.prototype.b=function(a){switch(a.c.a){case 87:k4(this,O(a),(H(),Dt),a.a.l());break;case 76:case 77:case 105:case 106:case 74:k4(this,pX(a),(H(),Et),null);break;case 75:k4(this,pX(a),(H(),Et),null);var b=NS(a);q(Q2(this,b),(Xu(),Uu))&&k4(this,a.a,Dt,null);break;case 86:a.m()&&P(a.m())&&k4(this,a,(H(),is),null);break;case 71:Orb(this,a,(H(),Dt),null)}return a};
  2819. function k4(a,b,c,d){if(Prb(b,c,d))R2(a,b),wX(b.m(),b);else if(FH(b))b=R(b),k4(a,b,c,d),(b=b.b)&&k4(a,b,c,d);else{if(bI(b)){k4(a,b.a,c,d);var e=US(b);YS(e)&&(E(gF(e)),k4(a,O(e.a),c,d))}KH(b)&&k4(a,O(b),c,d);if(XH(b)&&(!q(c,(H(),Dt))||null!=d))Orb(a,b,c,d);else if(Hw(b)&&b.a){for(e=b.a;e;e=e.b){if(FH(e)){var f=e,h=R(f),k=h.b;Qrb(a,h,k,f,c,d);h=R(f);(k=h.b)&&Qrb(a,k,h,f,c,d)}if(q(e,O(b)))break}for(e=O(b);e&&(k4(a,e,c,d),!q(e,O(b)));e=O(b));}}}
  2820. function Orb(a,b,c,d){E(XH(b));for(var e=R(b);e;e=e.b)if(q(e,O(b)))k4(a,O(e),c,d);else{var f=a,h=e,k=c,m=d;E(g3a(h));E(!q(h,O(h.m())));if((h=O(O(h)))&&lH(h)&&!h.a)for(var p=iF(h);p;){var t=p;k4(f,t,k,m);p=iF(h);if(q(t,p))break}}}
  2821. function Qrb(a,b,c,d,e,f){if(Hw(b)){if(!b.a)return;b=O(b)}if(e=Prb(b,e,f)){if(qX(d)){b:{for(e=d.b;e;e=e.b)if(hx(e)||ix(e)){e=!0;break b}e=!1}e=!e}else{for(e=d.b;e;e=e.b)if(hx(e)||ix(e))f=(H(),Ft),e.c=f;e=!0}e=e&&d.b}if(e){e=GG(Lw(),d);c?Aw(c)?pF(d,c,e):Hw(c)?e=c:(pF(d,c,e),M(e,c)):M(d,e);c=d.m();for(f=d.b;f;f=d.b)b=qJ(f),oF(c,f),b?Mx(e,f):M(e,f);R2(a,d)}}function Prb(a,b,c){return q(a.c,b)?q(b,(H(),is))?!a.a:null==c?!a.a:!!a.a&&li(c,a.a.l()):!1}function l4(){}l(l4,n);
  2822. l4.prototype.H=function(a,b){Y(this.a,b,this);for(a=this.b.Uc().V().h();a.i();){var c=a.j();b=OY(this.a,c.M());c=dp(c.O());if(!c.D()){for(c=c.h();c.i();){var d=c.j(),e=d.a,f=e.l();e.Ga("");Mx(b,JG(Rw(rx(f),d),d));Z(this.a,e)}Z(this.a,b)}}};l4.prototype.ga=function(a,b){a=hG(b,2);return!a||!tC(a)};l4.prototype.J=function(a,b,c){c&&tC(c)&&qJ(b)&&(oF(c,b),Z(this.a,c),this.b.Aa(BT(a),b))};l4.prototype.la=!0;function Rrb(){this.f=0}l(Rrb,n);g=Rrb.prototype;g.H=function(a,b){Y(this.b,G(b),this)};
  2823. g.Hb=function(a){Srb(HT(a))&&(this.c.Ea(this.a),this.a=w())};
  2824. g.Tb=function(a){if(Srb(HT(a))){a=ET(a);a=lX(a.ka());F(Gw(a),a);var b=Trb(this,GA(a)-1);if(!(0>b)){a:{b+=1;Fi(Gw(a),a);for(var c=cka(),d=0,e=a.a;e;e=e.b){switch(e.c.a){case 32:c.L(Fc(d),e.l());break;case 118:b=c.Jb();break a;case 127:case 98:case 97:break;default:throw ua(e.toString()).s;}d++}for(;d<b;d++)c.L(Fc(d),r(this.g)+this.f++);b=c.Jb()}c=b.Gf(Fc(GA(a)));for(d=c.values().h();d.i();)e=d.j(),M(a,qF(rx(e),a));c.Qa()||Z(this.b,a);a=b;for(b=this.a.h();b.i();)d=b.j(),c=d.m(),d=Fb(d.b.ab()),d=a.get(Fc(d)),
  2825. null!=d&&(d=qF(rx(d),c),qD(c,d),Z(this.b,d))}this.a=this.c.Ta()}};function Srb(a){return P(a)&&!aH(a)}g.ga=function(){return!0};g.J=function(a,b){JT(a)||L(b)&&li("arguments",b.l())&&this.a.add(b)};function Trb(a,b){for(a=a.a.h();a.i();){var c=a.j(),d=c.m();if(!DH(d)||!q(c,d.a))return-1;c=c.b;if(!RH(c)||0>c.ab()||c.ab()!=Math.floor(c.ab()))return-1;var e=d.m();if(eH(e)&&q(e.a,d))return-1;d=Fb(c.ab());d>b&&(b=d)}return b}g.la=!0;g.ic=!0;function Urb(){this.g=this.c=this.f=this.a=!1}l(Urb,n);
  2826. function Vrb(a,b){var c=new Urb;c.a=b;c.b=a;return c}function Wrb(){}l(Wrb,n);function Xrb(a,b,c,d,e,f,h){f&&(h>c?Yrb(a,f):qx(f)||(Xrb(a,b,c,d,e,f.b,h+1),h<b&&nn(d,h)&&(lJ(a.a.b,f)||(nn(e,h)?RH(f)&&0==f.ab()||a.c.add(f):a.b.add(f)))))}function Yrb(a,b){b&&(Yrb(a,b.b),lJ(a.a.b,b)||a.b.add(b))}function Zrb(a,b,c,d){c&&(Zrb(a,b,c.b,d+1),nn(b,d)||(E(L(c)),Z(a.a.a,c),S(c)))}function $rb(){}l($rb,n);$rb.prototype.H=function(a,b){E(q(this.a.c,(cJ(),aJ)));m4(n4(o4(p4(q4(),this.a),!1),this)).H(a,b)};
  2827. $rb.prototype.g=function(a,b,c){this.c=c.c;for(var d=w(),e=c.b.V().h();e.i();){var f=e.j(),h=f.M(),k=f.O();asb(this,h,k)&&d.add(k)}for(var m=c.a.V().h();m.i();){var p=m.j(),t=p.M(),v=p.O();asb(this,t,v)&&d.add(v)}for(var C=d.h();C.i();)a:{for(var J=C.j(),K=-1,Ca=J.h();Ca.i();){var Wa=Ca.j();if(v2(Wa)){for(var Ma=0,Vb=w2(Wa,0);Vb;Vb=Vb.b)if(Ma++,qx(Vb))break a;Ma>K&&(K=Ma)}}for(var sc=t2(J).Rc().h();sc.i();){for(var gc=sc.j(),tc=K,Qb=lX(gc).a;0!=tc&&Qb;)Qb=Qb.b,tc--;bsb(this,gc,Qb)}}for(var Wb=d.h();Wb.i();){for(var Rd=
  2828. Wb.j(),Ne,Jc=w(),kd=!0,Cc=!1,pc=Rd.h();pc.i();){var Db=pc.j();if(v2(Db)){if(qx(Db.m().a)){Cc=!1;break}var Rb=w2(Db,0);if(kd){for(var Uc=Jc,ad=Rb,rf=!1;ad;){var uc=csb(ad,this.c),Nc=Vrb(ad,uc);dsb(this,Nc,ad);Uc.add(Nc);uc&&(rf=!0);if(qx(ad))break;ad=ad.b}Cc=rf;kd=!1}else{for(var Xb=Jc,Nb=Rb,ic=!1,Vc=0;Nb;){if(Vc>=Xb.w()){var sd=Vrb(Nb,!1);Xb.add(sd);dsb(this,sd,Nb)}else sd=Xb.G(Vc),sd.a&&(tD(Nb,sd.b)?ic=!0:sd.a=!1);if(qx(Nb))break;Nb=Nb.b;Vc++}for(;Vc<Xb.w();Vc++)Xb.G(Vc).a=!1;Cc=ic}if(!Cc)break}}if(Ne=
  2829. Cc?Jc:null){var Ye=t2(Rd);if(!(1<Ye.Kd())){var Hf=Wj(Ye.Rc());var Ie=Hf,Be=Ne,fe=tL(Ie);if(fe&&Ay(fe,2048))var mh=!1;else{var mf=lX(Ie),Od=O(mf),Se=2147483647,eg=GA(mf)-1,pg=Od;Od&&Jw(Od)&&(Se=eg,eg--,pg=iF(pg));for(var vf=!1,qe=!1,Pd=!1,wf=!0,fg=Be.w()-1;0<=fg;fg--){var Ec=Be.G(fg);fg<=eg&&(vH(pg)&&Ec.g&&(Ec.a=!1),pg=iF(pg));Ec.a&&(qe&&Ec.c||Pd&&Ec.f)&&(Ec.a=!1);if(fg>=Se)if(wf){if(!Ec.a){wf=vf=!1;for(var oi=fg+1;oi<Be.w();oi++){var Qf=Be.G(0);Qf.a=!1;Qf.c&&(Pd=!0);Qf.f&&(qe=!0)}}}else Ec.a=!1;Ec.a?
  2830. vf=!0:(Ec.c&&(Pd=!0),Ec.f&&(qe=!0))}mh=vf}if(mh){for(var Ni=Rd.h();Ni.i();){var re=Ni.j();if(!esb(re)&&v2(re)){var Je=Ne,Ce=re,nf=vlb(Ce);var Xc=4==(oG(nf)&4);for(var nh=pya(oG(nf),9),Dd=Je.w()-1;0<=Dd;Dd--){var Qg=Je.G(Dd);if(Qg.a){var Rf=w2(Ce,Dd);Rf&&tX(Rf,this.a);if(Xc&&!nh&&!WW(Qg.b)){nh=!0;var pi=oG(nf),gg=new zya,Rh=gg,If=pi;Rh.a=31;Rh.a=If;var ke=Aya(gg);oya(nf,ke.a)}}}}}var Gd=Ne,xf=Hf,Oi=lX(xf),Sh=O(Oi),Ag=Gd.w()-1;if(Sh&&Jw(Sh)){var se=GA(Oi)-1;if(Gd.w()<se||se<Gd.w()&&Gd.G(se).a){for(var jk=
  2831. GG(Nx(A([],lx,eI,1)),Sh),oh=se;oh<Gd.w();oh++){var qg=Gd.G(oh);E(qg.a);M(jk,Gd.G(oh).b)}S(Sh);var yf=UA(Sh);E(!yf.m());fsb(this,xf,yf,jk)}Ag=Math.min(Gd.w()-1,se-1)}for(var of=Ag;0<=of;of--){var hg=Gd.G(of);if(hg.a){var ig,ph=xf,Jf=of;T();E(P(ph));if(ig=X3a(R(ph).a,Jf))S(ig),vH(ig)&&(E(!hg.g),ig=UA(ig));fsb(this,xf,ig,Gd.G(of).b)}}}}}}var xd=new Wrb;xd.a=this;xd.b=w();xd.c=w();for(var Bg=d.h();Bg.i();){var qh=Bg.j();a:{var ai=xd,Rg=qh,rh=t2(Rg);E(!rh.Rg());var ge=0,Ke=2147483647,pf=new jn;pf.a=za([0],
  2832. Zc,$c,0);var jg=pf;for(var sh=rh.Rc().h();sh.i();){for(var uj=sh.j(),Cg=-1,Pi=lX(uj).a;Pi;Pi=Pi.b)if(Cg++,!pG(Pi)&&(rn(jg,Cg),Jw(Pi)&&(Ke=Math.min(Ke,Cg),0==Ke)))break a;ge=Math.max(ge,Cg+1)}Ke<ge&&wia(jg,Ke,ge);var Eh=tia(jg),th=Eh,Sg=ge;nia(0,Sg);if(0!=Sg){var id=on(th);if(0>=id)oia(th.a,0,Sg);else{Sg>=id&&(oia(th.a,id,Sg),Sg=id);var Md=Sg/31|0,vj=Sg%31|0;if(0==Md)ria(th.a,0,vj);else{ria(th.a,0,31);ria(th.a,Md,vj);for(var cj=1;cj<Md;cj++)th.a[cj]=~(th.a[cj]|0)&2147483647}}}var bi;if(bi=Ke<ge){for(var wj=
  2833. Eh,ci=0,Sf=0;Sf<wj.a.length;Sf++)ci+=kh(wj.a[Sf]|0);bi=0==ci}if(!bi){for(var Th=tia(jg),qi=2147483647,ri=Rg.h();ri.i();){var di=ri.j();if(v2(di))for(var ei=w2(di,0),Qi=0;ei&&!(Qi>=ge);){if(qx(ei)){qi=Math.min(qi,Qi);break}!nn(Th,Qi)&&lJ(ai.a.b,ei)&&rn(Th,Qi);ei=ei.b;Qi++}}qi<ge&&wia(Th,qi,ge);var kk=2147483647;2147483647==Ke&&(kk=ge-1);for(var Tg=Rg.h();Tg.i();){var Il=Tg.j();if(v2(Il)&&!esb(Il)){var Fh=w2(Il,0);Xrb(ai,Ke,kk,Eh,Th,Fh,0)}}for(var dj=rh.Rc().h();dj.i();){var Hj=dj.j(),Ij=lX(Hj).a;Zrb(ai,
  2834. Th,Ij,0)}}}}for(var ej=xd.b.h();ej.i();){var Gh=ej.j();esb(Gh)||(Z(xd.a.a,Gh),S(Gh),uX(Gh,xd.a.a))}for(var lk=xd.c.h();lk.i();){var Ug=lk.j();E(!RH(Ug)||0!=Ug.ab());esb(Ug)||(Z(xd.a.a,Ug),qD(Ug,GG(eF(0),Ug)),uX(Ug,xd.a.a))}};function esb(a){for(var b=a.m();b;)a=b,b=a.m();return!sC(a)}
  2835. function asb(a,b,c){if(!gsb(a.a,b))return!1;b=a=!1;for(c=c.h();c.i();){var d=c.j();if(v2(d))b=!0;else{a:{var e=d;var f=e.m();if(P(f)&&qJ(f))e=f;else if(wlb(e))e=O(f);else if(L(e)&&e.a)e=e.a;else if(f=e,LH(f)&&pH(f.m()))e=e.a;else{e=!1;break a}e=r4(e)}if(e)a=!0;else if(!hsb(d))return!1}}return a&&b}
  2836. function r4(a){switch(a.c.a){case 69:return!o3a(a)&&!r3a(a)&&!isb(a);case 96:case 49:return r4(O(a));case 63:return r4(R(a))&&r4(O(a));case 64:case 65:case 66:return r4(a.a)&&r4(O(a));default:return!1}}function isb(a){a=R(a);if(!a.a)return!1;var b=wq();Q3a(a,new AW(function(e){L(e)&&b.Aa(e.l(),e)}));for(a=b.Uc().values().h();a.i();){var c=a.j();if(1!=c.w())for(c=c.h();c.i();){var d=c.j();if(DX(d))return!0}}return!1}function dsb(a,b,c){a=lJ(a.b,c);b.f=a;a=$W(c);b.c=a;qx(c)||(T(),c=!nY(c),b.g=c)}
  2837. function csb(a,b){switch(a.c.a){case 36:case 103:case 120:case 121:return!1;case 69:return!1;case 32:if(li(a.l(),"arguments")||!b.T(a.l()))return!1}for(a=a.a;a;a=a.b)if(!csb(a,b))return!1;return!0}function fsb(a,b,c,d){E(!d.m());E(!c||!c.m());b=mX(b);c=c?M3a(c,d):FG(cx(d),d);for(d=b.a;d&&P(d);)d=d.b;d?mF(b,c,d):M(b,c);Z(a.a,c)}
  2838. function bsb(a,b,c){if(c){bsb(a,b,c.b);S(c);if(Jw(c)){E(!c.b);var d=M3a(UA(c),GG(Nx(A([],lx,eI,1)),c))}else vH(c)?(d=UA(c),c=S(O(c)),d=M3a(d,c)):d=qF(Tw(c),c);Mx(O(b),d);Z(a.a,d)}}function jsb(){}l(jsb,n);function p4(a,b){a.a=b;return a}function o4(a,b){a.b=b;return a}function n4(a,b){a.c.W(b);return a}function m4(a){G(a.a);G(a.b);var b=a.c.fa(),c=a.b,d=new ksb;d.b=a.a;d.c=b;d.a=c;return d}function q4(){var a=new jsb;a.c=Mj();return a}function lsb(){}l(lsb,n);g=lsb.prototype;
  2839. g.J=function(a,b){switch(b.c.a){case 32:a=b.l();var c=this.f.ob(a);!c||!this.a.a&&oL(c)||slb(this.b.b,a,b);break;case 26:a=O(b).l();!this.a.a&&this.c.B(a)||slb(this.b.a,a,b);break;case 95:case 90:case 91:case 102:b.bb()||(a=b.l(),!this.a.a&&this.c.B(a)||slb(this.b.a,a,b))}};g.ga=function(a,b){return tC(b)?this.a.a&&IT(a)||!eG(b):!0};g.Hb=function(a){IT(a)&&(this.f=ET(a),this.b.c=this.f)};g.Tb=function(){};g.la=!0;g.ic=!0;function ksb(){this.a=!1}l(ksb,n);
  2840. ksb.prototype.H=function(a,b){E(q(this.b.c,(cJ(),aJ)));if(!this.c.D()){var c=new rlb;c.b=Uf();c.a=Uf();var d=this.b,e=new lsb;e.a=this;var f=(f=this.b.F)?nm(f):dm();e.c=f;e.b=c;tT(d,e,a,b);c.a.oa().Nb(this.b.Ha.a.oa());for(d=this.c.h();d.i();)d.j().g(a,b,c)}};function gsb(a,b){return MX(a).Cd(b)||"JSCompiler_renameProperty"===b||"inherits"===b||"$jscomp$inherits"===b||"goog$inherits"===b?!1:!0}
  2841. function hsb(a){var b=a.m();switch(b.c.a){case 77:case 105:case 106:return q(R(b),a);case 44:case 25:case 43:return!0;case 27:case 26:var c=b.m();if(q(a,b.a)&&c&&eH(c))break;return!0;default:if(PI(b)&&!a.a)return!0}return!1}function msb(){}l(msb,n);msb.prototype.a=function(a){if(Ux(a)&&gF(a)){var b=a.a,c=!nsb(this.b,b);S(b);c?mF(a.m(),GG(cx(b),b),a):uX(b,this.b.a);Z(this.b.a,this.c)}};function osb(){}l(osb,n);osb.prototype.H=function(a,b){m4(n4(o4(p4(q4(),this.a),!1),this)).H(a,b)};
  2842. osb.prototype.g=function(a,b,c){a=w();for(b=c.b.V().h();b.i();){var d=b.j(),e=d.M();d=d.O();psb(this,e,d)&&a.add(d)}for(c=c.a.V().h();c.i();)e=c.j(),b=e.M(),e=e.O(),psb(this,b,e)&&a.add(e);for(a=a.h();a.i();)for(c=a.j(),c=t2(c).Rc().h();c.i();){b=c.j();E(P(b));b=O(b);e=R3a;var f=d=new msb,h=b;f.b=this;f.c=h;e(b,d,new kY)}};
  2843. function psb(a,b,c){if(!gsb(a.a,b))return!1;b=a=!1;for(c=c.h();c.i();){var d=c.j();if(ulb(d)){b=vlb(d);if(uY(b))return!1;b=!0}else if(qsb(d))a=!0;else if(!hsb(d))return!1}return b&&a}function qsb(a){var b=a.m();if(P(b)&&qJ(b))return!0;if(wlb(a)){if(s4(O(b)))return!0}else if(L(a)){if(a.a&&s4(a.a))return!0}else if(LH(a)&&pH(a.m()))return!0;return!1}
  2844. function s4(a){switch(a.c.a){case 69:return!o3a(a);case 49:case 96:return s4(O(a));case 63:return s4(R(a))&&s4(O(a));case 64:case 65:case 66:return s4(a.a)&&s4(O(a));default:return!1}}function nsb(a,b){switch(b.c.a){case 124:case 45:for(b=b.a;b;b=b.b)if(!Aw(b)&&!nsb(a,b))return!1;return!0;case 41:case 34:case 33:case 35:case 38:case 37:case 126:return!0;case 125:case 96:case 19:case 83:case 22:return nsb(a,b.a);default:return!1}}function rsb(){}l(rsb,J2);
  2845. rsb.prototype.b=function(a){if(!tC(a)&&!Hw(a))return a;for(var b=!1,c=a.a;c;c=c.b)if((PI(c)||nX(c))&&ssb(c.b)){E(gF(c));var d=c;if(PI(d))d=d.a;else if(nX(d))d=hF(d);else throw ob().s;if(L(d)){var e=c;if(PI(e))e=hF(e);else if(nX(e))e=O(e.a);else throw ob().s;var f;if(f=e)f=e,f=SH(f)||jH(f);if(f)for(;(f=c.b)&&tsb(this,f,d.l(),e);)b=!0}}b&&R2(this,a);return a};function ssb(a){if(!a||!nX(a))return!1;a=a.a.a;return UI(a)?L(a.a):!1}
  2846. function tsb(a,b,c,d){if(!ssb(b))return!1;var e=hF(b);if(!li(c,e.a.l()))return!1;e=e.b;if(N2(a,e)||$W(e)||!tJ(e,!0)&&usb(e,c))return!1;switch(d.c.a){case 45:if(!vsb(d,b))return!1;break;case 46:a:{e=b.a.a;var f=e.b,h=e.a.b;if(!DH(e)||Dw(h)||RH(h)){var k=RH(h)?P2(a,h):h.l();c=null;for(var m=BA(d).h();m.i();){var p=m.j();if(Lx(p)||LH(p)){var t=p.l(),v=p.a;if(q(t,k)){c=p;m=$W(v);p=$W(f);if(m||p){a=!1;break a}break}}else if(CH(p)||VH(p))if(p=p.l(),q(p,k)){a=!1;break a}}h=qF(Ox(k),h);DH(e)&&h.Pg();e=S(f);
  2847. M(h,e);c&&(G(a.a),tX(c,a.a));M(d,h);S(b);a=!0}else a=!1}if(!a)return!1;break;default:throw ob().s;}return!0}function vsb(a,b){var c=GA(a)-1,d=b.a.a,e=d.b;if(!DH(d))return!1;d=d.a.b;if(!RH(d))return!1;var f=d.ab();if(!(0<=f)||Hb(f)||2147483647<f)return!1;d=Fb(f);if(f!=d||c+4<d)return!1;if(d>c){for(;c<d-1;)f=GG(yw(),a),M(a,f),++c;M(a,S(e))}else{c=RC(a,d);if(!Aw(c))return!1;pF(a,c,S(e))}S(b);return!0}function usb(a,b){if(L(a))return li(b,a.l());for(a=a.a;a;a=a.b)if(usb(a,b))return!0;return!1}
  2848. function wsb(){}l(wsb,RT);wsb.prototype.J=function(a,b){a=b;for(b=this.a.c.h();b.i()&&(a=b.j().b(a),a););};function xsb(){this.f=!1}l(xsb,n);function ysb(a,b,c){var d=new xsb;c=lg(c);d.a=a;d.b=b;d.c=c;d.f=!0;return d}function zsb(a,b,c){var d=new xsb;d.a=a;d.b=b;d.c=c;d.f=!0;return d}xsb.prototype.H=function(a,b){for(a=this.c.h();a.i();)a.j().g(this.a);for(var c=Asb(this.a,this.b);!c||!c.D();c=Asb(this.a,this.b)){a=this.a;var d=new wsb;d.a=this;zT(a,b,c,d,null,!1);if(!this.f)break}};
  2849. function Bsb(){}l(Bsb,J2);Bsb.prototype.b=function(a){a:{T();switch(a.c.a){case 4:case 5:case 39:case 40:case 15:var b=!0;break a}b=!1}if(b||E2a(a)){if(II(a.c)==II(a.a.c))return a;if(WW(O(a))&&!WW(a.a)){E2a(a)&&(b=F2a(a.c),a.c=b);b=UA(a);var c=S(O(a));Mx(a,c);M(a,b);R2(this,a)}}return a};function Csb(){}l(Csb,n);function Dsb(){}l(Dsb,Csb);function Esb(){this.c=this.o=!1}l(Esb,J2);function Fsb(a,b){var c=new Esb;c.o=a;c.c=b;return c}
  2850. Esb.prototype.b=function(a){if(eH(a))a:if(Fi(eH(a),a),a=Gsb(this,a),eH(a)){Fi(eH(a),a);if(M2(this)&&this.c){var b=Hsb(a);if(b){a=b;G(a);b=a.a;var c=a.c;if(!jH(c)||c.a)b=a;else{var d=a.b;Isb(d)?(oF(b,d),pF(b.a,c,d),R2(this,b),b=Hsb(b)):b=a}G(b);a=Jsb(this,b)}}F(eH(a),a);c=G(a.a);if(UI(c)){if(M2(this)&&DC(c.a))switch(EC(c.a)){case "Math":b:if(Fi(UI(c),c),d=O(c),Dw(d)){b=Ll();for(c=c.b;c;c=c.b){var e=O2(this,c);if(null!=e)b.D()&&(b=w()),b.add(e);else break b}e=null;c=d.l();if(1==b.w())switch(d=b.G(0),
  2851. c){case "abs":e=Math.abs(d);break;case "ceil":e=Math.ceil(d);break;case "floor":e=Math.floor(d);break;case "fround":isNaN(d)||Hb(d)||0==d?e=d:d==d?e=d:e=null;break;case "round":isNaN(d)||Hb(d)?e=d:e=Ua(gb(Math.round(d)));break;case "sign":e=Zaa(d);break;case "trunc":e=isNaN(d)||Hb(d)?d:Zaa(d)*Math.floor(Math.abs(d));break;case "clz32":T(),isNaN(d)||Hb(d)||0==d?d=0:(d=Zaa(d)*Math.floor(Math.abs(d)),d=gb((d%4294967296+4294967296)%4294967296).a),e=uh(d)}if(null==e)switch(c){case "max":c=-Infinity;for(b=
  2852. b.h();b.i();)d=b.j(),c=Math.max(c,d);e=c;break;case "min":c=Infinity;for(b=b.h();b.i();)d=b.j(),c=Math.min(c,d);e=c}null!=e&&(b=a4a(e,a),qD(a,b),R2(this,b),a=b)}break a}a=Ksb(this,a,c)}else L(c)&&(D(eH(a)),M2(this)&&(b=c.l(),(c=c.b)&&(Dw(c)||RH(c))&&("parseInt"===b||"parseFloat"===b)&&(a=Lsb(this,a,b,c))))}return a};
  2853. function Ksb(a,b,c){D(eH(b));var d=c.a,e=O(c);if(!Dw(e))return b;var f=Dw(d),h=e.l();e=c.b;if(f){if("split"===h){a:if(a.o)a=b;else{D(eH(b));D(Dw(d));f=null;c=d.l();h=c.length+1;if(e){if(Dw(e))f=e.l();else if(!QH(e)){a=b;break a}if(e=e.b)if(RH(e)){if(h=Math.min(Fb(e.ab()),h),0>h){a=b;break a}}else{a=b;break a}}e=f;D(0<=h);D(null!=c);if(0==h)c=za([0],B,y,B.a);else if(null==e)c=A([c],B,y,1);else{f=w();if(te(e))for(e=0;e<c.length&&e<h;e++)f.add(ne(c,e,e+1));else{for(var k=0,m;0<=(m=Msb(c,k,e))&&f.w()<
  2854. h;)f.add(ne(c,k,m)),k=m+e.length;f.w()<h&&(k<c.length?f.add(c.substr(k)):f.add(""))}c=f.mb(za([0],B,y,B.a))}e=Nx(A([],lx,eI,1));for(h=0;h<c.length;h++)M(e,GG(ux(c[h]),d));d=b.m();pF(d,b,e);R2(a,d);a=e}return a}if(!e)switch(h){case "toLowerCase":return e=Bi(d.l()),e=ux(e),qD(b,e),R2(a,e),e;case "toUpperCase":return e=Zp(d.l()),e=ux(e),qD(b,e),R2(a,e),e;case "trim":return e=xi(d.l(),"^[ \t\n-\r\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]+|[ \t\n-\r\\u0085\\u00A0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]+$",
  2855. ""),e=ux(e),qD(b,e),R2(a,e),e}else if(WW(e))switch(h){case "indexOf":case "lastIndexOf":a:if(D(eH(b)),D(Dw(d)),d=d.l(),c="indexOf"===h,h=e.b,e=P2(a,e),null==e)a=b;else{f=c?0:d.length;if(h){if(h.b||!RH(h)){a=b;break a}f=Fb(h.ab())}e=c?d.indexOf(e,f):d.lastIndexOf(e,f);e=eF(e);qD(b,e);R2(a,e);a=e}return a;case "substr":a:if(D(eH(b)),D(Dw(d)),D(!!e),d=d.l(),c=O2(a,e),null!=c){c=Fb(c);if(e=e.b){h=O2(a,e);if(null!=h)h=Fb(h);else{a=b;break a}if(e.b){a=b;break a}}else h=d.length-c;c+h>d.length||0>h||0>c?
  2856. a=b:(e=ux(ne(d,c,c+h)),d=b.m(),pF(d,b,e),R2(a,d),a=e)}else a=b;return a;case "substring":case "slice":a:if(D(eH(b)),D(Dw(d)),D(!!e),d=d.l(),c=O2(a,e),null!=c){c=Fb(c);if(e=e.b){h=O2(a,e);if(null!=h)h=Fb(h);else{a=b;break a}if(e.b){a=b;break a}}else h=d.length;h>d.length||c>d.length||0>c||0>h||c>h?a=b:(e=ux(ne(d,c,h)),d=b.m(),pF(d,b,e),R2(a,d),a=e)}else a=b;return a;case "charAt":return D(eH(b)),D(Dw(d)),d=d.l(),e&&RH(e)&&!e.b?(e=Fb(e.ab()),0>e||d.length<=e?a=b:(e=ux(ne(d,e,e+1)),d=b.m(),pF(d,b,e),
  2857. R2(a,d),a=e)):a=b,a;case "charCodeAt":return D(eH(b)),D(Dw(d)),d=d.l(),e&&RH(e)&&!e.b?(e=Fb(e.ab()),0>e||d.length<=e?a=b:(e=eF(d.charCodeAt(e)),d=b.m(),pF(d,b,e),R2(a,d),a=e)):a=b,a}}if(a.c&&e&&(f||d.f&&d.f.th())&&mG(b,3)&&(d=O2(a,e),null!=d&&(d=Fb(d),f=O2(a,e.b),null!=f)))switch(h){case "substr":h=Fb(f);if(0<=d&&1==h)return Nsb(a,b,c,e);break;case "substring":case "slice":if(h=Fb(f),0<=d&&1==h-d)return Nsb(a,b,c,e)}return b}
  2858. function Osb(a){if(!a)return a;for(var b=0,c=a.length-1;b<a.length&&48==a.charCodeAt(b)&&46!=a.charCodeAt(b);)b++;if(0<=mi(a,46)){for(;0<=c&&48==a.charCodeAt(c);)c--;46==a.charCodeAt(c)&&c--}return b>=c?a:ne(a,b,c+1)}
  2859. function Lsb(a,b,c,d){D(eH(b));c="parseInt"===c;var e=d.b,f=0;if(e){if(!c||e.b||!RH(e))return b;f=e.ab();if(f!=Fb(f))return b;f=Fb(f);if(0>f||1==f||36<f)return b}if(RH(d))if(e=O2(a,d),0!=f&&10!=f&&c)d=""+Fb(e);else{var h=c?eF(Fb(e)):eF(e);qD(b,h);R2(a,h);return h}else{d=P2(a,d);if(null==d)return b;e=B2a(d);if(null==e)return b;d=C2a(d);if(te(d))return b}if("0"===d)h=eF(0);else if(c){if(0==f||16==f)if(1<d.length&&lfa(ne(d,0,2),"0x"))f=16,d=d.substr(2);else if(0==f){if(!jmb(a)&&"0"===ne(d,0,1))return b;
  2860. f=10}h=0;try{h=vh(d,f)}catch(m){m=va(m);if(hh(m))return b;throw m.s;}h=eF(h)}else{c="0";try{var k=Ib(d);h=eF(k);c=Osb(""+k)}catch(m$6){m$6=va(m$6);if(hh(m$6))return b;throw m$6.s;}if(!li(Osb(d),c))return b}qD(b,h);R2(a,h);return h}
  2861. function Gsb(a,b){var c;F(eH(b),b);var d=b.a;if(!d||!N(d)||(c=d.b)&&(c.b||!WW(c)))return b;d=d.a;var e=d.b;if(!jH(d)||!li(e.l(),"join"))return b;c&&Dw(c)&&","===c.l()&&(oF(b,c),R2(a,b));var f=c?UT(c):",",h=w(),k=null;e=0;for(var m=null,p=d.a;p;)WW(p)||Aw(p)?(k?x(k,f):k=Mg(),x(k,y2a(p))):(k&&(G(m),e+=k.Ra()+2,h.add(qF(ux(k.toString()),m)),k=null),e+=l3(p,2147483647),h.add(p)),m=p,p=p.b;k&&(G(m),e+=k.Ra()+2,h.add(qF(ux(k.toString()),m)));e+=h.w()-1;f=l3(b,2147483647);switch(h.w()){case 0:return d=ux(""),
  2862. qD(b,d),R2(a,d),d;case 1:c=h.Wa(0);if(qx(c)||e>f)break;if(Dw(c))return BG(d),qD(b,c),R2(a,c),c;break;default:if(!(mG(d,h.w())||(e=e+9+(c?l3(c,2147483647):0),e>f))){BG(d);for(c=h.h();c.i();)e=c.j(),M(d,e);R2(a,d)}}return b}function Nsb(a,b,c,d){O(c).Ga("charAt");S(d.b);R2(a,d);return b}function Msb(a,b,c){if(b+c.length>a.length)return-1;a=a.indexOf(c,b);return 0>a?-1:a}
  2863. function Jsb(a,b){G(b);var c=b.a,d=b.c;if(!eH(d))return c;d=Hsb(d);if(!d)return c;for(var e=b.b;e;e=e.b)if(N2(a,e))return c;d=d.a;for(b=b.b;b;)e=b,b=b.b,M(d,S(e));qD(c,S(d));R2(a,d);return d}function Hsb(a){Fi(eH(a),a);var b=G(a.a);if(!N(b))return null;var c=R(b);if(!c||!li(c.l(),"concat"))return null;b=b.a;if(Isb(b)){c=new Dsb;var d=R(a);c.a=G(a);c.c=G(b);c.b=d;a=c}else a=null;return a}function Isb(a){if(!a||!a.f)return!1;a=a.f;return a.Af()||yy(a)&&a.Xb().c.Af()}function Psb(){this.a=0}
  2864. var Qsb,t4,Rsb;l(Psb,z);function Ssb(a,b){var c=new Psb;c.b=a;c.a=b;return c}Psb.prototype.R=function(a){return z.prototype.c.call(this,a)};function Tsb(){Tsb=function(){};Qsb=Ssb("NOT_SAFE_TO_FOLD",0);t4=Ssb("SAFE_TO_FOLD_WITH_ARGS",1);Rsb=Ssb("SAFE_TO_FOLD_WITHOUT_ARGS",2)}function Usb(){this.c=!1}var Vsb,Wsb,Xsb,Ysb,Zsb;l(Usb,J2);function $sb(a){atb();var b=new Usb;b.c=a;return b}
  2865. function btb(a,b){switch(b.c.a){case 58:a:{var c=O(b);if(RH(c)){if(1==c.ab()){c=UA(b);c=Ex((H(),tt),c);Hx(c,(kx(),Ix),!1);qD(b,c);R2(a,c);a=c;break a}if(-1==c.ab()){c=Rqa(UA(b));qD(b,c);R2(a,c);a=c;break a}}a=b}return a;case 38:case 37:a:if(a.c){switch(b.m().c.a){case 4:case 8:case 9:case 7:case 6:case 5:c=eF(aI(b)?1:0);qD(b,c);R2(a,c);a=c;break a}c=Dx(eF(aI(b)?0:1));JG(c,b);qD(b,c);R2(a,c);a=c}else a=b;return a;case 23:E(TC(b));a:{if(M2(a)&&L(b.a)&&(c=b.a.l(),Wsb.B(c)||"RegExp"===c&&(!R(b)||Dw(R(b))))){c=
  2866. !0;break a}c=!1}c&&(c=(H(),xs),b.c=c,Hx(b,(kx(),KE),!0),R2(a,b));if(!eH(b))return b;case 28:c=b;D(eH(c)||TC(c));var d=c.a,e=null;if(M2(a)&&L(d)){var f=d.l();if("RegExp"===f)c=ctb(a,c);else{var h=!!d.b;if("Object"===f&&!h)e=Kx(A([],lx,eI,1));else if("Array"===f){d=d.b;f=(Tsb(),Qsb);if(d)if(d.b)f=t4;else switch(d.c.a){case 34:f=t4;break;case 33:0==d.ab()&&(f=Rsb);break;case 45:f=t4}else f=Rsb;d=f;if(q(d,t4)||q(d,Rsb))e=Nx(A([],lx,eI,1)),UA(c),f=pD(c),q(d,t4)&&kF(e,f)}e&&(qD(c,e),R2(a,e),c=e)}}if(q(c,
  2867. b)){c=b;F(eH(c),c);if((e=c.a)&&L(e))switch(e.l()){case "Boolean":1==GA(c)-1&&(e=S(O(c)),e=N2a(e)?e:Dx(GG(Dx(e),c)),qD(c,e),R2(a,e));break;case "String":(d=e.b)&&!d.b&&WW(d)&&(e=Jx(GG(ux(""),e),S(d)),qD(c,e),R2(a,e),c=e)}if(q(c,b)){E(eH(b));c=b.a;if(e=MX(a.a).hh(c,!1,!1))S(e.c),pF(b,c,e.c),c=e.c,dtb(e.b,c),e.a&&!aX(e.a)?(d=sx(NA(c),GG(ux("call"),c)),G(a.a),DY(d,a.a),pF(b,c,d),S2(a,c),nF(b,NA(e.a),d),Hx(b,(kx(),KE),!1)):Hx(b,(kx(),KE),!0),R2(a,b);c=b}}return c;case 0:if(c=b.a)switch(c.c.a){case 83:c=
  2868. c.a;N2(a,c)||(UA(b),R2(a,b));break;case 32:c=c.l(),"undefined"===c&&(UA(b),R2(a,b))}return b;case 49:return a.c?a=b:(c=b.m(),e=b.a,d=O(b),yH(c)&&!KH(c.m())?(BG(b),pF(c,b,e),d=cx(d),qF(d,b),nF(c.m(),d,c),R2(a,c),a=e):a=b),a;case 32:return M2(a)&&aX(b)&&!DX(b)?(c=vX(b),qD(b,c),R2(a,c),a=c):a=b,a;case 45:c=!0;for(e=b.a;e;e=e.b)Dw(e)||(c=!1);return c?etb(a,b):b;case 26:a:{if(c=M2(a))G(a.a),c=a.a.a.uf;if(c){D(N(b));if(L(b.a)&&(c=O(b),"window"===b.a.l()&&Vsb.B(c.l()))){e=rx(c.l());d=b.m();FG(e,c);pF(d,
  2869. b,e);eH(d)&&Hx(d,(kx(),KE),!0);R2(a,d);a=e;break a}a=b}else a=b}return a;case 124:return F(yya(b),b),fH(b.m())?a=b:(c=P2(a,b),null==c?a=b:(c=GG(ux(c),b),qD(b,c),R2(a,c),a=c)),a;case 15:case 65:case 64:case 1:case 2:case 3:case 66:if(a.c)if(D(P2a(b.c)),c=O(b),q(b.c,c.c))d=UA(b),f=UA(c),e=S(O(c)),d=qF(ex(b.c,d,f),b),c=qF(ex(c.c,d,e),c),qD(b,c),R2(a,c),a=c;else{if(Q2a(b.c)&&!N2(a,b)){for(e=b.a;q(e.c,b.c);)e=e.a;d=II(b.c);f=II(e.c);II(c.c)==d&&f!=d&&(oF(b,c),qD(e,c),M(b,e),R2(a,b))}a=b}else a=b;return a;
  2870. default:return b}}function dtb(a,b){a&&(dtb(a.b,b),nF(b.m(),NA(a),b))}
  2871. function ctb(a,b){var c=b.m(),d=b.a.b,e=d?d.b:null;if(!d||e&&e.b)return b;var f;if((f=Dw(d)&&""!==d.l()&&(!e||Dw(e)))&&!(f=jmb(a))){a:{f=d.l();atb();f=Xya(Zsb,f);for(var h=-1;0<=(h=f.indexOf("\\u",h+1));){for(var k=0;0<h-k&&92==f.charCodeAt(h-k-1);)++k;if(0==(k&1)){f=!0;break a}}f=!1}f=!f}if(f){f=d.l();h=null;k=0;for(var m=!1,p=!1,t=0;t<f.length;++t){var v=f.charCodeAt(t);switch(v){case 92:m=!m;continue;case 47:m||p||(h||(h=Ng()),Og(Yf(h,f,k,t),92),k=t);break;case 91:m||(p=!0);break;case 93:m||(p=
  2872. !1);break;case 13:case 10:case 8232:case 8233:h||(h=Ng());m?Yf(h,f,k,t-1):Yf(h,f,k,t);switch(v){case 13:x(h,"\\r");break;case 10:x(h,"\\n");break;case 8232:x(h,"\\u2028");break;case 8233:x(h,"\\u2029")}k=t+1}m=!1}h?(Yf(h,f,k,f.length),d=GG(ux(h.toString()),d)):d=NA(d);if(e&&""!==e.l()){if(!PZa(RU(Ysb,e.l())))return K2(a,Xsb,e),b;f=e.l();if(!(jmb(a)||0>mi(f,103)))return b;oF(b,e);E(Dw(d));E(Dw(e));e=ex((H(),Js),d,e)}else e=d,E(Dw(e)),e=Ow((H(),Js),e);pF(c,b,e);R2(a,c);return e}return b}
  2873. function etb(a,b){if(!a.c)return b;var c=GA(b);if(0>=2*c-11)return b;c=za([c],B,y,B.a);for(var d=0,e=b.a;e;e=e.b)Ad(c,d++,e.l());d=!0;for(e=0;e<c.length;e++)if(1!=c[e].length){d=!1;break}if(d)d="";else{d=A([" ",";",",","{","}",null],B,y,1);e=0;b:for(;null!=d[e];e++){for(var f=c,h=0;h<f.length;h++)if(ji(f[h],d[e]))continue b;break}d=d[e]}return null!=d?(c=uk(qk(d),c),c=px(sx(ux(c),ux("split")),A([ux(r(d))],lx,eI,1)),JG(c,b),qD(b,c),R2(a,c),c):b}Usb.prototype.b=function(a){return btb(this,a)};
  2874. function atb(){atb=function(){};Zsb=Lya(null);Xsb=AJ("JSC_INVALID_REGULAR_EXPRESSION_FLAGS","Invalid flags to RegExp constructor: {0}");Vsb=im("Object","Array","Error","RegExp","Math");Wsb=gm("Object","Array","Error");Ysb=QU("^[gmi]*$")}function ftb(){}l(ftb,RT);
  2875. ftb.prototype.J=function(a,b){if(eH(b)){var c=EC(b.a);if(c=(u4(),gtb).get(c))if(q(c,(htb(),itb)))this.c.add(jtb(c,b));else{var d=R(b);if(Dw(d)){var e=d.l(),f=this.b.get(e);f||(f=new ktb,f.c=this.a,f.g=e,f.b=w(),this.b.C(e,f));switch(c.a){case 0:case 1:case 2:ltb.uh(e)||X(this.a.a,V(d,mtb,A([],B,y,1)));if(!JT(a)){X(this.a.a,V(b,ntb,A([e],B,y,1)));break}if(f.a){X(this.a.a,V(b,otb,A([e],B,y,1)));break}a=d.b.b;d=f;d.a=ptb(c,b,a);d.b.add(d.a);break;case 3:if(!IT(a)){X(this.a.a,V(b,ntb,A([e],B,y,1)));break}if(f.a){X(this.a.a,
  2876. V(b,qtb,A([e],B,y,1)));break}a=d.b;d=f;d.b.add(ptb(c,b,a));d.f=a;break;case 5:case 6:case 7:f.b.add(jtb(c,b))}}else X(this.a.a,V(d,rtb,A([],B,y,1)))}}};function v4(){this.a=0}var itb,stb,ttb,utb,vtb,wtb,xtb,ytb;l(v4,z);function ztb(a,b,c){var d=new v4;d.b=a;d.a=b;Atb(d,a,b,c,null,(H(),Jt),Jt,null);return d}function Btb(a,b,c,d,e){var f=new v4;f.b=a;f.a=b;Atb(f,a,b,c,d,e,(H(),Jt),null);return f}
  2877. function Ctb(){var a=(H(),Gs),b=new v4,c=Fs;b.b="REGISTER_BOOLEAN";b.a=0;Atb(b,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean","boolean",a,c,null);return b}function Dtb(a,b,c,d){var e=new v4;e.b=a;e.a=b;Atb(e,a,b,c,null,(H(),Jt),Jt,d);return e}function Atb(a,b,c,d,e,f,h,k){a.b=b;a.a=c;a.f=d;a.o=e;a.u=f;a.v=h;a.g=k}function Etb(a,b){return q(b,a.u)||q(b,a.v)}function Ftb(a){switch(a.a){case 0:return Sx();case 1:return eF(0);case 2:return ux("");default:throw ob().s;}}
  2878. v4.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2879. function htb(){htb=function(){};stb=Ctb();ttb=Btb("REGISTER_NUMBER",1,"goog.tweak.registerNumber","number",(H(),Bs));utb=Btb("REGISTER_STRING",2,"goog.tweak.registerString","string",Cs);vtb=ztb("OVERRIDE_DEFAULT_VALUE",3,"goog.tweak.overrideDefaultValue");itb=ztb("GET_COMPILER_OVERRIDES",4,"goog.tweak.getCompilerOverrides_");wtb=Dtb("GET_BOOLEAN",5,"goog.tweak.getBoolean",stb);xtb=Dtb("GET_NUMBER",6,"goog.tweak.getNumber",ttb);ytb=Dtb("GET_STRING",7,"goog.tweak.getString",utb)}
  2880. function Gtb(a){return a instanceof v4}function Htb(){}l(Htb,n);function jtb(a,b){var c=new Htb;c.b=b;c.a=a;c.c=null;return c}function ptb(a,b,c){var d=new Htb;d.b=b;d.a=a;d.c=c;return d}function ktb(){}l(ktb,n);function Itb(){}l(Itb,n);function Jtb(){this.c=!1}var gtb,rtb,ltb,mtb,ntb,otb,qtb,Ktb,Ltb,Mtb;l(Jtb,n);
  2881. Jtb.prototype.H=function(a,b){a=new ftb;a.a=this;a.b=bf();a.c=w();Y(this.a,b,a);b=a.b;for(var c=b.values().h();c.i();){var d=c.j();if(d.a)for(var e=d.b.h();e.i();){var f=e.j(),h=f.c,k=f.a,m=d.a.a;if(h)Etb(m,h.c)||X(d.c.a,V(h,(u4(),Ktb),A([d.g,m.f,m.o],B,y,1)));else if(k.g){h=k;var p=m;G(p);q(h.g,p)||X(d.c.a,V(f.b,(u4(),Ltb),A([k.f,m.f],B,y,1)))}}else for(e=d.b.h();e.i();)f=e.j(),X(d.c.a,V(R(f.b),(u4(),Mtb),A([d.g],B,y,1)))}c=new Itb;a=a.c;c.a=b;c.b=a;a=c.a;for(b=this.b.V().h();b.i();)k=b.j(),d=k.M(),
  2882. (e=a.get(d))?(f=e.a.a,k=k.O(),Etb(f,k.c)?e.f=k:X(this.a,UL(Ktb,A([d,f.f,f.o],B,y,1)))):X(this.a,UL(Mtb,A([d],B,y,1)));if(this.c)for(a=c.a.values().h();a.i();)for(b=a.j(),c=!!b.a,d=b.b.h();d.i();)k=d.j(),e=k.b,f=e.m(),k.a.g?(c?(k=b,E(!!k.a),k=k.f?k.f:k.a.c?k.a.c:Ftb(k.a.a),k=CG(k)):k=Ftb(k.a.g),pF(f,e,k)):(k=GG(Fx(GG(eF(0),e)),e),pF(f,e,k)),Z(this.a,f);else if(!this.b.Qa())for(a=c.b.h();a.i();){c=b=a.j().b;d=GG(Kx(A([],lx,eI,1)),c);for(e=this.b.V().h();e.i();)k=e.j(),f=qF(Ox(k.M()),c),k=qF(CG(k.O()),
  2883. c),M(f,k),M(d,f);c=d;qD(b,c);Z(this.a,c)}};
  2884. function u4(){u4=function(){};ltb=Cj(97,122).Zf(Cj(65,90)).Zf(tfa());Mtb=AJ("JSC_UNKNOWN_TWEAK_WARNING","no tweak registered with ID {0}");otb=U("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR","Tweak {0} has already been registered.");rtb=U("JSC_NON_LITERAL_TWEAK_ID_ERROR","tweak ID must be a string literal");Ktb=AJ("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING","tweak {0} registered with {1} must have a default value that is a literal of type {2}");ntb=U("JSC_NON_GLOBAL_TWEAK_INIT_ERROR","tweak declaration {0} must occur in the global scope");
  2885. qtb=U("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR","Cannot override the default value of tweak {0} after it has been registered");Ltb=AJ("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING","tweak getter function {0} used for tweak registered using {1}");mtb=U("JSC_INVALID_TWEAK_ID_ERROR","tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed");gtb=bf();htb();var a=A([stb,ttb,utb,vtb,itb,wtb,xtb,ytb],v4,Gtb,1);for(var b=0;b<a.length;b++){var c=a[b];gtb.C(c.f,c)}}
  2886. function w4(){this.g=this.f=this.A=this.v=!1}l(w4,n);function x4(a,b,c){a.F=b;a.f=!1;a.g=!1;a.u=c.g;a.o=c.b;a.v=c.c;a.A=c.f}g=w4.prototype;g.An=function(){return G(this.o)};function Ntb(a,b){a.g||(a.g=!0,a.Hd(b))}function y4(a){if(!a.f){a.f=!0;for(var b=a.u.h();b.i();){var c=b.j();a.F.v.add(c)}a.u.ia()}}g.Vk=function(){return!1};g.Ym=function(){return null!=this.o};g.Rk=function(){return!1};g.Mk=function(){return!1};g.Vm=function(){return!1};g.$m=function(){return this.v||this.Vm()};g.cn=function(){return this.A};
  2887. g.Zm=function(){return!1};g.Tk=function(){return!1};g.Ej=function(){return!1};function z4(){w4.call(this)}l(z4,w4);z4.prototype.Hd=function(a){if(!A4(this.a)){Z(a,this.a.m());var b=this.a.a;a=O(this.a);F(N(b),b);var c=b.a;F(N(c),c);b=c.a;c=O(c);F(li(c.l(),"prototype"),c);c=lJ(this.b.a,a)||uY(this.a);var d=lJ(this.b.a,b);c&&d?(a=FG(zx(S(b),S(a)),this.a),B4(this.b,this.a,a)):d?B4(this.b,this.a,S(b)):c?B4(this.b,this.a,S(a)):C4(this.b,this.a)}};z4.prototype.$m=function(){return!0};
  2888. z4.prototype.toString=function(){return"AnonymousPrototypeNamedPropertyAssign:"+r(this.a)};function Otb(){}l(Otb,n);function D4(a,b,c){var d=new Otb;d.b=a;d.a=b;d.c=c;return d}function Ptb(){this.c=this.v=this.u=this.F=this.b=this.A=this.f=this.g=this.o=!1}l(Ptb,n);function Qtb(){this.a=0}var Rtb,Stb,Ttb;l(Qtb,z);function Utb(a,b){var c=new Qtb;c.b=a;c.a=b;return c}Qtb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2889. function E4(){E4=function(){};Rtb=Utb("VARIABLE",0);Stb=Utb("NAMED_PROPERTY",1);Ttb=Utb("COMPUTED_PROPERTY",2)}function Vtb(){w4.call(this)}l(Vtb,w4);function Wtb(a,b,c,d,e){var f=new Vtb;f.b=a;x4(f,a,b);Fi(XI(c),c);q(d,(E4(),Rtb))?Ii(!e,"got property node for simple variable assignment: %s",e):(Fi(!!e,"missing property node"),q(d,(E4(),Stb))&&Ii(Dw(e),"property name is not a string: %s",e));f.a=c;f.c=d;return f}g=Vtb.prototype;g.Vk=function(){return q(this.c,(E4(),Rtb))};
  2890. g.Mk=function(){if(uY(this.a))return!1;var a=this.a.a,b=a.b;return oJ(b)||Xtb(a,b)};g.Ej=function(){return this.Rk()||q(this.c,(E4(),Ttb))};g.Rk=function(){return q(this.c,(E4(),Stb))};g.Tk=function(){var a=this.a.a;return N(a)?(a=a.a.f,!!a&&(a.xa()||a.Ja())):!1};g.toString=function(){return"Assign:"+r(this.a)};
  2891. g.Hd=function(a){if(!A4(this.a)){Z(a,this.a.m());a=this.a.a;var b=R(this.a),c=lJ(this.b.a,b)||uY(this.a),d=DH(a)&&lJ(this.b.a,O(a));c&&d?(a=FG(zx(S(O(a)),S(b)),this.a),B4(this.b,this.a,a)):d?B4(this.b,this.a,S(O(a))):c?B4(this.b,this.a,S(b)):C4(this.b,this.a)}};function Ytb(){w4.call(this)}l(Ytb,w4);Ytb.prototype.toString=function(){return"ClassDeclaration:"+r(this.a)};Ytb.prototype.Hd=function(a){tX(this.a,a)};function F4(){w4.call(this)}l(F4,w4);F4.prototype.Tk=function(){return TG(this.a)};
  2892. F4.prototype.Vm=function(){return!this.Tk()};F4.prototype.Hd=function(a){tX(this.a,a)};F4.prototype.toString=function(){return"ClassOrPrototypeNamedProperty:"+r(this.a)};function G4(){w4.call(this)}l(G4,w4);function Ztb(a,b,c){var d=new G4;d.b=a;x4(d,a,b);d.a=c;return d}G4.prototype.Ej=function(){return!0};G4.prototype.toString=function(){return"ClassSetupCall:"+r(this.a)};
  2893. G4.prototype.Hd=function(a){var b=this.a.m(),c=null;UA(this.a);for(var d=O(this.a);d;d=O(this.a))S(d),lJ(this.b.a,d)?c?c=GG(zx(d,c),this.a):c=d:uX(d,a);c?B4(this.b,this.a,c):yH(b)?tX(b,a):(E(qH(b)),c=G(this.a.b),Z(a,b),qD(b,S(c)))};function H4(){w4.call(this)}l(H4,w4);H4.prototype.Mk=function(){return!0};H4.prototype.toString=function(){return"FunctionDeclaration:"+r(this.a)};H4.prototype.Hd=function(a){tX(this.a,a)};function $tb(){w4.call(this)}l($tb,w4);
  2894. $tb.prototype.Hd=function(){if(!A4(this.a)){var a=fF(this.a);F(N(a),a);this.c?B4(this.b,this.a,S(this.c)):C4(this.b,this.a)}};$tb.prototype.toString=function(){return"IncOrDecOp:"+r(this.a)};function aub(){w4.call(this)}l(aub,w4);function bub(a,b,c,d,e){a.c=b;x4(a,b,c);b=d.m();F(Xw(b)||Gw(b),b);F(L(e)||N(e),e);a.a=d;a.b=e}g=aub.prototype;g.Vk=function(){return L(this.b)};g.cn=function(){return I4(this.b)};g.Ym=function(){return N(this.b)};
  2895. g.Ej=function(){if(N(this.b)){var a=this.b.a;return L(a)||cub(a)}return!1};g.Rk=function(){return N(this.b)};g.An=function(){F(N(this.b),this.b);return O(this.b).l()};
  2896. g.Hd=function(){if(!A4(this.b)){var a,b=this.a.m();switch(b.c.a){case 97:B4(this.c,this.a,GG(yw(),this.a));for(a=O(b);a&&Aw(a);a=O(b))S(a);Z(this.c.b,b);break;case 48:if(!vH(this.a))break;Z(this.c.b,b);a=this.a.a;E(L(a));var c;if(c=q(this.a,O(b))&&this.c.u)c=this.c,E(Gw(b)),b=b.m(),c=c.u&&!HX(b.m());c?S(this.a):qD(this.a,S(a));uX(this.a,this.c.b);break;case 98:tX(this.a,this.c.b);break;default:throw pb("Unexpected parent of indirect assignment: "+r(uD(b))).s;}}};function J4(){w4.call(this)}l(J4,w4);
  2897. J4.prototype.Hd=function(){if(!A4(this.a)){var a=this.a.a,b=GG(Sx(),this.a);lJ(this.b.a,a)?B4(this.b,this.a,GG(zx(S(a),b),this.a)):B4(this.b,this.a,b)}};J4.prototype.Ej=function(){return!0};J4.prototype.toString=function(){return"InstanceofName:"+r(this.a)};function K4(){w4.call(this)}l(K4,w4);function dub(a,b,c){var d=new K4;d.b=a;x4(d,a,b);Fi(PI(c),c);d.a=c;return d}K4.prototype.Hd=function(a){var b=fF(this.a).a;b&&lJ(this.b.a,b)?(Z(a,this.a),S(b),qD(this.a,FG(cx(b),b))):tX(this.a,a)};
  2898. K4.prototype.Vk=function(){return!0};K4.prototype.Mk=function(){var a=fF(this.a),b=a.a;return!b||Xtb(a,b)||oJ(b)};K4.prototype.toString=function(){return"NameDeclStmt:"+r(this.a)};function eub(){w4.call(this)}l(eub,w4);eub.prototype.toString=function(){return"NamedClassExpression:"+r(this.a)};eub.prototype.Hd=function(a){if(!A4(this.a)){var b=this.a.a;Aw(b)||(pF(this.a,b,FG(yw(),b)),Z(a,this.a))}};function fub(){w4.call(this)}l(fub,w4);fub.prototype.Zm=function(){return!0};
  2899. fub.prototype.Hd=function(a){tX(this.a,a)};function gub(){w4.call(this)}l(gub,w4);gub.prototype.Hd=function(){if(!A4(this.a))if(I4(this.a))C4(this.b,this.a);else{F(hub(this.a),this.a);var a=hF(this.a);lJ(this.b.a,a)?B4(this.b,this.a,S(a)):C4(this.b,this.a)}};gub.prototype.toString=function(){return"UnusedReadReference:"+r(this.a)};function iub(){w4.call(this)}l(iub,w4);function jub(a,b,c){var d=new iub;x4(d,a,b);d.a=c;return d}
  2900. iub.prototype.Hd=function(a){var b=G(this.a.m());Z(a,b);iF(this.a)||this.a.b?oF(b,this.a):qD(b,FG(yw(),b));uX(this.a,a)};function kub(){this.f=this.c=!1}l(kub,n);function L4(a){var b=new kub;b.a=a;b.g=w();b.b=null;b.c=!1;b.f=!1;return b}function M4(a,b){a.g.add(b);return a}function lub(a){a.c=!0;return a}function mub(a){a.f=!0;return a}function nub(a,b){Fi(LH(b)||HX(b)||Lx(b)&&!b.bb(),b);a.b=b.l();var c=new F4;x4(c,a.a,a);c.a=b;return c}
  2901. function oub(a,b,c){a.b=c.l();return Wtb(a.a,a,b,(E4(),Stb),c)}function pub(a,b,c,d){a.b=c.l();c=new $tb;var e=a.a;c.b=e;x4(c,e,a);Fi(IH(b)||tH(b),b);a=fF(b);F(I4(a)||hub(a),a);c.a=b;c.c=d;return c}function qub(a,b,c){a.b=c.l();c=new gub;var d=a.a;c.b=d;x4(c,d,a);F(I4(b)||hub(b),b);c.a=b;return c}function rub(){w4.call(this)}l(rub,w4);rub.prototype.toString=function(){return"Polyfill:"+r(this.a)};rub.prototype.Hd=function(a){tX(this.a,a)};function sub(){this.a=!1}l(sub,n);
  2902. function tub(){this.a=!1}l(tub,sub);tub.prototype.c=function(a){L(a)?this.a=!1:N(a)&&(a=a.a.f,!a||Vy(a,qy(eJ(this.g.b),(I(),kw))))&&(this.a=!1)};function uub(){this.a=!1}l(uub,sub);uub.prototype.c=function(a){N(a)&&(a=a.a.f,this.g&&a?vub(this.g,a)&&(this.a=!1):this.a=!1)};function wub(){this.a=!1}l(wub,sub);wub.prototype.c=function(a){if(N(a)){a=a.a;var b=a.f;if(this.o&&b)vub(this.o,b)&&(this.a=!1);else if(N(a)&&li(O(a).l(),this.g)||L(a)&&li(a.l(),this.g))this.a=!1}};
  2903. function xub(){this.g=this.b=this.a=!1}l(xub,n);function yub(a){var b=new xub;b.f=a;b.c=w();b.a=!0;b.b=!1;b.g=!1;return b}function N4(a,b){var c;if(c=!b.Mk())(c=b.Vk())||(c=b.Rk()&&"prototype"===b.o);c&&(a.b=!0);b.Ej()&&(a.g=!0);a.b&&a.g&&O4(a);a.a?a.c.add(b):P4(a.f,b)}function O4(a){if(a.a){a.a=!1;for(var b=a.c.h();b.i();){var c=b.j();P4(a.f,c)}a.c.ia()}}function zub(){this.ta=this.Ha=this.Da=this.Oa=this.pa=this.U=this.za=this.u=this.K=!1}var Aub;l(zub,n);
  2904. zub.prototype.H=function(a,b){E(bJ(this.b.c));this.pa||this.A.na(this.b.F);a=this.c.b(b.m(),null);RR(a,"JSCompiler_renameProperty")||eS(a,"JSCompiler_renameProperty",null,null);for(this.v.add(D4(this,b,a));!this.v.D();)b=this.v.Tg(),P(b.a)?Bub(b.b,b.a,b.c):Q4(b.b,b.a,b.c);for(b=this.$.V().h();b.i();){var c=b.j();a=c.M();c=c.O();if(c.a){E(c.a);for(var d=c.c.h();d.i();)Ntb(d.j(),c.f.b);c.c.ia();(a=a.a.m())&&!A4(a)&&(lL(a)?this.za||(a=a.a,Z(this.b,a),a.Ga("")):Ji(Gw(a)||Gw(a.m())&&(vH(a)||Jw(a)),"unremoved code: %s",
  2905. a))}}for(b=this.f.Rc().h();b.i();)a=b.j(),a.a&&(Ntb(a.b,this.b),b.ma());for(b=this.F.Rc().h();b.i();)Ntb(b.j(),this.b);for(b=this.ja.h();b.i();)if(a=b.j(),this.u&&(c=a.ka(),E(P(c)),!HX(c.m()))){for(c=lX(c);d=O(c);){var e=d;if(vH(d)&&(e=d.a,lJ(this.a,O(d))))break;Jw(e)&&(e=e.a);if(Xw(e))if(e.a)break;else{tX(d,this.b);continue}if(Cub(this,Dub(e,a)).a)tX(d,this.b);else break}for(d=c.a;d;d=d.b)pG(d)||(e=Eub(d))&&R4(this,e,a).a&&(Hx(d,(bF(),Sxa),!0),Z(this.b,c))}};
  2906. function Q4(a,b,c){var d=b.m();switch(b.c.a){case 82:var e=b.a,f=e.b;L(e)&&O4(R4(a,e,c));Q4(a,f,c);break;case 69:if(qJ(b)){var h=R4(a,b.a,c);var k=M4(L4(a),D4(a,b,c)),m=new H4;x4(m,k.a,k);m.a=b;N4(h,m);xH(d)&&O4(h)}else Bub(a,b,c);break;case 50:E(XI(b));var p=b.a,t=O(b);if(L(p)){var v=R4(a,p,c),C=L4(a);S4(a,t,C,c);N4(v,Wtb(C.a,C,b,(E4(),Rtb),null))}else if(DH(p)){var J=p.a,K=O(p),Ca=L(J)?J:cub(J)?J.a:null;if(Ca){var Wa=R4(a,Ca,c),Ma=L4(a);lJ(a.a,K)?Q4(a,K,c):M4(Ma,D4(a,K,c));S4(a,t,Ma,c);var Vb=Wtb(Ma.a,
  2907. Ma,b,(E4(),Ttb),K);N4(Wa,Vb)}else Q4(a,J,c),Q4(a,K,c),Q4(a,t,c)}else if(N(p)){var sc=p.a,gc=O(p);if(T4(a,p,(kJ(),jJ)))Q4(a,sc,c),Q4(a,t,c);else if(L(sc)){var tc=R4(a,sc,c),Qb=L4(a);S4(a,t,Qb,c);N4(tc,oub(Qb,b,gc))}else if(U4(sc)){var Wb=sc.a,Rd=lub(L4(a));S4(a,t,Rd,c);if(L(Wb))N4(R4(a,sc.a,c),oub(Rd,b,gc));else{lJ(a.a,Wb)?Q4(a,Wb,c):M4(Rd,D4(a,Wb,c));var Ne=gc.l();Rd.b=Ne;var Jc=new z4,kd=Rd.a;Jc.b=kd;x4(Jc,kd,Rd);G(Rd.b);Fi(kH(b),b);Jc.a=b;P4(a,Jc)}}else if(SC(sc)){var Cc=mub(L4(a));S4(a,t,Cc,c);
  2908. P4(a,oub(Cc,b,gc))}else Q4(a,p,c),Q4(a,t,c)}else Q4(a,p,c),Q4(a,t,c);break;case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 62:case 60:case 61:var pc=b.a,Db=O(b);if(N(pc))if(T4(a,pc,(kJ(),Zza)))Q4(a,pc.a,c),Q4(a,Db,c);else if(SC(pc.a)&&!uY(b)){var Rb=mub(L4(a));S4(a,Db,Rb,c);P4(a,oub(Rb,b,O(pc)))}else Q4(a,pc,c),Q4(a,Db,c);else Q4(a,pc,c),Q4(a,Db,c);break;case 67:case 68:Fi(IH(b)||tH(b),b);var Uc=fF(b);if(uY(b))Q4(a,Uc,c);else if(N(Uc)){var ad=Uc.a,rf=O(Uc);if(T4(a,Uc,
  2909. (kJ(),Zza)))Q4(a,ad,c);else if(SC(ad)){var uc=mub(L4(a));P4(a,pub(uc,b,rf,null))}else if(U4(ad)){var Nc=ad.a,Xb=lub(L4(a));if(L(Nc))N4(R4(a,Nc,c),pub(Xb,b,rf,null));else{var Nb=null;lJ(a.a,Nc)?(Nb=Nc,Q4(a,Nc,c)):M4(Xb,D4(a,Nc,c));P4(a,pub(Xb,b,rf,Nb))}}else Q4(a,Uc,c)}else Q4(a,Uc,c);break;case 28:var ic=b.a;if(DC(ic)&&a.o.Dd(wG(ic))){var Vc=ic.b;Vc&&Dw(Vc)&&V4(a,Vc.l());W4(a,b,c)}else if(SX(b)){var sd=b.a,Ye=R(b),Hf=Ye.b;if(!L(Ye)&&!cub(Ye)||uY(b))Q4(a,sd,c),Q4(a,Ye,c),Q4(a,Hf,c);else{var Ie=L(Ye)?
  2910. Ye:Ye.a,Be=R4(a,Ie,c),fe=L4(a);M4(fe,D4(a,sd,c));lJ(a.a,Hf)?Q4(a,Hf,c):M4(fe,D4(a,Hf,c));N4(Be,Ztb(fe.a,fe,b))}}else{var mh;if(mh=a.Ha)a:switch(ic.c.a){case 32:mh=li(ic.l(),"$jscomp$polyfill")&&Dw(ic.b);break a;case 26:mh=li(O(ic).l(),"polyfill")&&L(ic.a)&&li(ic.a.l(),"$jscomp")&&Dw(ic.b);break a;default:mh=!1}if(mh){var mf=ic.b.l();E(nL(c));E(yH(b.m()));for(var Od=L4(a),Se=b.a.b;Se;Se=Se.b)M4(Od,D4(a,Se,c));var eg=b.m(),pg=new rub;x4(pg,Od.a,Od);pg.a=eg;var vf=mf.lastIndexOf(".");if(0>vf){var qe=
  2911. new tub;qe.g=a;qe.a=!0;qe.b=pg;qe.f=mf;var Pd=qe}else{var wf=ne(mf,0,vf),fg=mf.substr(vf+1),Ec=!!b.f;if(ki(wf,".prototype")){wf=ne(wf,0,wf.length-10);var oi=Ec?FC(eJ(a.b),c,wf):null,Qf=new uub;Qf.a=!0;Qf.b=pg;Qf.f=fg;Qf.g=oi;Pd=Qf}else{var Ni=Ec?Uy(FC(eJ(a.b),c,wf)):null,re=Ni?Ni.ua():null,Je=new wub,Ce=wf;Je.a=!0;Je.b=pg;Je.f=fg;Je.g=Ce;Je.o=re;Pd=Je}}a.f.Aa(Pd.f,Pd);Q4(a,b.a,c)}else{var nf=b.m(),Xc=null;if(yH(nf)||qH(nf)&&q(nf.a,b)){var nh=a.o.zd(b);Xc=nh?nh.a:a.o.zf(b)}var Dd=null;null!=Xc&&E3a(Xc)&&
  2912. (Dd=Li(c.T(Xc),Xc));if(Dd&&mL(Dd)){for(var Qg=L4(a),Rf=b.a;Rf;Rf=Rf.b)M4(Qg,D4(a,Rf,c));N4(Fub(a,Dd),Ztb(Qg.a,Qg,b))}else W4(a,b,c)}}break;case 71:case 86:W4(a,b,ZR(b)?a.c.b(b,c):c);break;case 116:W4(a,b,a.c.b(b,c));break;case 100:D(kA(b));if(rJ(b)){D(kA(b));var pi=b.a,gg=pi.b,Rh=gg.b,If=a.c.b(b,c),ke=R4(a,pi,c);if(xH(b.m()))O4(ke),Q4(a,gg,c),W4(a,Rh,If);else if(lJ(a.a,gg))O4(ke),Q4(a,gg,c),Gub(a,Rh,If);else{var Gd=M4(M4(L4(a),D4(a,gg,If)),D4(a,Rh,If)),xf=new Ytb;x4(xf,Gd.a,Gd);xf.a=b;N4(ke,xf)}}else{D(kA(b));
  2913. var Oi=b.a,Sh=Oi.b,Ag=Sh.b,se=a.c.b(b,c);if(L(Oi)){var jk=R4(a,Oi,se),oh=L4(a),qg=new eub;x4(qg,oh.a,oh);qg.a=b;N4(jk,qg)}Q4(a,Sh,c);Gub(a,Ag,se)}break;case 101:Gub(a,b,c);break;case 97:case 48:F(Zw(b)||Gw(b),b);for(var yf=b.a;yf;yf=yf.b)switch(yf.c.a){case 84:break;case 97:case 127:case 27:case 26:case 32:case 98:X4(a,yf,yf,c);break;case 118:case 119:X4(a,yf,fF(yf),c);break;default:throw pb("Unexpected child of "+r(b.c)+": "+r(uD(yf))).s;}break;case 98:F($w(b),b);for(var of=b.a;of;of=of.b)switch(of.c.a){case 122:X4(a,
  2914. of,R(of),c);break;case 95:of.bb()||V4(a,of.l());X4(a,of,fF(of),c);break;case 118:case 119:X4(a,of,fF(of),c);break;default:throw pb("Unexpected child of "+r(b.c)+": "+r(uD(of))).s;}break;case 46:Fi(SH(b),b);var hg=b.m();if(kH(hg)&&U4(hg.a))for(var ig=b.a;ig;ig=ig.b)if(rH(ig)||ig.bb())W4(a,ig,c);else{var ph=fF(ig);lJ(a.a,ph)?Q4(a,ph,c):P4(a,nub(M4(L4(a),D4(a,ph,c)),ig))}else{var Jf=b.m();if(SX(Jf)&&q(O(Jf),b))for(var xd=b.a;xd;xd=xd.b)if(xd.bb())V4(a,xd.l()),Q4(a,fF(xd),c);else if(Lx(xd)){var Bg=fF(xd);
  2915. if(lJ(a.a,Bg))Q4(a,Bg,c);else{var qh=a,ai=M4(L4(a),D4(a,Bg,c)),Rg=xd;ai.b=Rg.l();var rh=new fub,ge=rh,Ke=Rg;x4(ge,ai.a,ai);ge.a=Ke;P4(qh,rh)}}else Q4(a,xd,c);else for(var pf=b.a;pf;pf=pf.b)Lx(pf)?(V4(a,pf.l()),Q4(a,pf.a,c)):Q4(a,pf,c)}break;case 76:var jg=a.c.b(b,c),sh=b.a,uj=sh.b,Cg=uj.b,Pi=Cg.b;if(PI(sh))for(var Eh=sh.a;Eh;Eh=Eh.b)if(L(Eh)){var th=Eh,Sg=Eh.a,id=R4(a,th,jg);if(Sg)if(lJ(a.a,Sg))O4(id),Q4(a,Sg,jg);else{var Md=M4(L4(a),D4(a,Sg,jg));var vj=jub(Md.a,Md,th);N4(id,vj)}else{var cj=id,bi=
  2916. L4(a);var wj=jub(bi.a,bi,th);N4(cj,wj)}}else Q4(a,Eh,jg);else Q4(a,sh,jg);Q4(a,uj,jg);Q4(a,Cg,jg);Q4(a,Pi,jg);break;case 77:case 105:case 106:var ci=a.c.b(b,c),Sf=b.a,Th=Sf.b,qi=Th.b;if(L(Sf))O4(R4(a,Sf,ci));else if(PI(Sf)){var ri=fF(Sf);Yw(ri)?Q4(a,ri,ci):(E(L(ri)),E(!ri.a),O4(R4(a,ri,ci)))}else Q4(a,Sf,ci);Q4(a,Th,ci);Q4(a,qi,ci);break;case 104:case 92:case 80:E(EI(b));var di=fF(b);if(L(di)){var ei=di.a,Qi=R4(a,di,c),kk=L4(a);if(ei){lJ(a.a,ei)?Q4(a,ei,c):M4(kk,D4(a,ei,c));var Tg=dub(kk.a,kk,b);
  2917. N4(Qi,Tg)}else N4(Qi,dub(kk.a,kk,b))}else Q4(a,di,c);break;case 44:Fi(JH(b),b);var Il=b.a,Fh=Il.b;Q4(a,Il,c);if(L(Fh)){var dj=R4(a,Fh,c),Hj=L4(a),Ij=new J4,ej=Hj.a;Ij.b=ej;x4(Ij,ej,Hj);Fi(JH(b),b);Ij.a=b;N4(dj,Ij)}else Q4(a,Fh,c);break;case 32:E(!b.a);Gw(d)||(E(!PI(d)),E(!((P(d)||kA(d))&&q(d.a,b))),O4(R4(a,b,c)));break;case 26:var Gh=b.a,lk=Gh.b,Ug=lk.l();if(a.f.Yc(Ug))for(var Jq=a.f.Ua(Ug).h();Jq.i();){var Jj=Jq.j();Jj.a&&(Jj.c(b),Jj.a||y4(Jj.b))}if(uY(b)||T4(a,b,(kJ(),iJ)))V4(a,Ug),Q4(a,Gh,c);else if(SC(Gh)){var ht=
  2918. mub(L4(a));P4(a,qub(ht,b,lk))}else if(U4(Gh)){var un=lub(L4(a)),gl=Gh.a;L(gl)?N4(R4(a,gl,c),qub(un,b,lk)):(lJ(a.a,gl)?Q4(a,gl,c):M4(un,D4(a,gl,c)),P4(a,qub(un,b,lk)))}else V4(a,Ug),Q4(a,Gh,c);break;default:W4(a,b,c)}}function R4(a,b,c){if(a.f.Yc(b.l()))for(var d=a.f.Ua(b.l()).h();d.i();){var e=d.j();e.a&&(e.c(b),e.a||y4(e.b))}return Fub(a,Dub(b,c))}function Dub(a,b){return Li(b.T(a.l()),a)}function U4(a){return N(a)&&li(O(a).l(),"prototype")}
  2919. function S4(a,b,c,d){lJ(a.a,b)||uY(b.m())?Q4(a,b,d):M4(c,D4(a,b,d))}function cub(a){return N(a)&&L(a.a)&&li(O(a).l(),"prototype")}function X4(a,b,c,d){var e=b.m();Fi(Xw(e)||Gw(e),e);vH(c)&&(c=c.a);N(c)&&T4(a,c,(kJ(),jJ));e=M4(L4(a),D4(a,b,d));lJ(a.a,b)?Q4(a,b,d):L(c)?(a=R4(a,c,d),d=new aub,bub(d,e.a,e,b,c),N4(a,d)):cub(c)||I4(c)?(d=new aub,bub(d,e.a,e,b,c),P4(a,d)):Q4(a,b,d)}function W4(a,b,c){for(b=b.a;b;b=b.b)Q4(a,b,c)}
  2920. function Gub(a,b,c){Fi(pH(b),b);if(a.U)for(b=b.a;b;b=b.b)switch(b.c.a){case 90:case 91:case 102:P4(a,nub(M4(L4(a),D4(a,b,c)),b));break;case 122:W4(a,b,c);break;default:throw pb("Unexpected child of CLASS_MEMBERS: "+r(uD(b))).s;}else W4(a,b,c)}function Bub(a,b,c){F(mG(b,3),b);F(P(b),b);var d=lX(b),e=O(b);F(!e.b&&Hw(e),e);c=a.c.b(b,c);var f=a.c.b(e,c),h=b.a;te(h.l())||(h=R4(a,h,c),uY(b)&&(h.b=!0));Q4(a,d,c);W4(a,e,f);a.ja.add(c)}function V4(a,b){if(a.A.add(b))for(a=a.F.Nc(b).h();a.i();)y4(a.j())}
  2921. function P4(a,b){if(b.Ym()){var c=b.An();a.A.B(c)||a.o.Cd(c)?y4(b):a.U&&b.$m()||a.Oa&&(b.cn()||b.Tk())||a.Da&&b.Zm()?a.F.Aa(c,b):(y4(b),V4(a,c))}else y4(b)}function T4(a,b,c){F(N(b),b);b=R(b).l();var d=a.b.Ha.a.Ya(b,(kJ(),hJ));return 0!=(d.f&1)&&0!=(c.f&1)&&!a.ta||0!=(d.f&2)&&0!=(c.f&2)?(V4(a,b),!0):!1}function Fub(a,b){G(b);if(a.K&&YBa(b)){b=WR(b.ya());for(var c=lX(b.ka()).a;c;c=c.b){var d=Eub(c);d&&O4(Cub(a,Dub(d,b)))}return a.g}return Cub(a,b)}
  2922. function Eub(a){switch(a.c.a){case 32:return a;case 127:return Eub(a.a);case 118:return Eub(fF(a));case 97:case 98:return null;default:throw pb("Unexpected child of PARAM_LIST: "+r(uD(a))).s;}}function Cub(a,b){G(b);var c=mL(b);if(oL(b)||c&&!a.u)return a.g;if(c||a.K){if(a.o.Ie(b.va(),!c)||YBa(b))return a.g;c=a.$.get(b);c||(c=yub(a),Gw(kL(b))&&(c.b=!0),a.$.C(b,c));return c}return a.g}function I4(a){Y4();return N(a)&&SC(a.a)}function hub(a){Y4();return N(a)&&U4(a.a)}
  2923. function Xtb(a,b){Y4();return TH(b)&&DC(a)&&tD(b.a,a)&&oJ(O(b))}function A4(a){Y4();return(a=a.m())?sC(a)?!1:A4(a):!0}function vub(a,b){Y4();b.xa()&&a.xa()&&(b=Tz(b.ha()),a=Tz(a.ha()));b=Pn(b.Fc(),b);return Vy(b,a)}function C4(a,b){F(!uY(b),b);var c=b.m();if(yH(c))tX(c,a.b);else if(qH(c)){var d=b.b;d||(d=iF(b));B4(a,c,S(d))}else B4(a,b,FG(eF(0),b))}function B4(a,b,c){Z(a.b,b);qD(b,c);uX(b,a.b)}function Y4(){Y4=function(){};Aub=hm("length","toString","valueOf","constructor")}function Hub(){}
  2924. l(Hub,n);Hub.prototype.H=function(a,b){for(a=b.a;a;a=a.b)if(E(tC(a)),Sz(a).lf()){b=a;var c=this.a;for(T();b.a;)tX(b.a,c)}};function Z4(){}l(Z4,n);Z4.prototype.ac=function(){return fc(this)};Z4.prototype.hc=function(a){return cc(this,a)};Z4.prototype.oc=function(a){return dc(this,a)};Z4.prototype.Pa=function(a,b){return a.c!=b.c?b.c-a.c:kc(a.b,b.b)};function Iub(){this.c=0}l(Iub,n);function Jub(){}l(Jub,RT);
  2925. Jub.prototype.J=function(a,b,c){switch(b.c.a){case 26:b=R(b);Dw(b)&&(MX(this.a.a).Li(b.l())?this.a.b.add(b.l()):Kub(this,b));break;case 46:case 98:for(a=b.a;a;a=a.b)switch(a.c.a){case 122:case 119:case 121:break;case 90:case 102:case 91:case 95:c=a.l();a.bb()?this.a.f.add(c):MX(this.a.a).Li(c)?this.a.b.add(c):Kub(this,a);break;default:throw pb("Unexpected child of "+r(b.c)+": "+r(uD(a))).s;}break;case 27:(b=O(b))&&Dw(b)&&this.a.f.add(b.l());break;case 28:if(MX(this.a.a).Dd(wG(b.a))){this.a.u.C(b,
  2926. c);c=BC(b.a);null==c&&(c=b.a.l());var d=R(b);if(Dw(d))for(d=lq((Lub(),Mub),d.l()).h();d.i();){var e=d.j();OI.test(e)?this.a.b.B(e)||Nub(this,e):MT(a,b,Oub,A([c],B,y,1))}else MT(a,b,(Lub(),Pub),A([c],B,y,1))}break;case 101:for(b=b.a;b;b=b.b)rH(b)||(c=b.a,a=b.l(),P(c)&&(c=c.a,MX(this.a.a).Li(a)?this.a.b.add(c.l()):VW(b)||"superClass_"===a?this.a.b.add(c.l()):Kub(this,b)));break;case 69:qJ(b)?"JSCompiler_renameProperty"===b.a.l()&&this.a.g.add(b):L(c)&&li("JSCompiler_renameProperty",c.l())?gx(c.m())&&
  2927. this.a.g.add(c):lL(b)&&kH(c)&&N(c.a)&&MX(this.a.a).Dd(wG(c.a))&&(b=c.m(),yH(b)&&jT(b.m())&&kH(b.a)&&this.a.g.add(b))}};function Kub(a,b){var c=b.l();a.a.b.B(c)||(a.a.F.add(b),Nub(a,c))}function Nub(a,b){var c=a.a.c.get(b);c||(c=new Iub,c.b=b,a.a.c.C(b,c));c.c++}function Qub(){this.o=!1}var Pub,Mub,Oub,Rub;l(Qub,n);
  2928. Qub.prototype.H=function(a,b){E(bJ(this.a.c));var c=this.a,d=new Jub;d.a=this;Y(c,b,d);c=gf(Qm(this.b.w()+this.f.w()));c.na(this.b);c.na(this.f);d=um(Rub);d.na(this.c.values());if(this.A)for(var e=d.h();e.i();){var f=e.j(),h=this.A.a.get(f.b);this.o||null==h||c.B(h)||(f.a=h,c.add(h))}ZT(this.v,c,"",this.K,this.U);for(d=d.h();d.i();)e=d.j(),this.o?e.a="$"+r(e.b)+"$":null==e.a&&(e.a=aU(this.v)),c.add(e.a);for(c=this.F.h();c.i();)d=c.j(),e=d.l(),(f=this.c.get(e))&&null!=f.a&&(E(q(e,f.b)),d.Ga(f.a),q(f.a,
  2929. e)||Z(this.a,d));for(c=this.u.V().h();c.i();){d=c.j();e=d.O();h=R(d.M());f=Mg();for(h=lq(Mub,h.l()).h();h.i();){var k=h.j(),m=this.c.get(k);m&&null!=m.a&&(E(q(k,m.b)),k=m.a);0<f.Ra()&&Og(f,46);x(f,k)}pF(e,d.M(),ux(f.toString()));Z(this.a,e)}for(c=this.g.h();c.i();)d=c.j(),e=d.m(),Z(this.a,d),S(d),uX(d,this.a),e.a||tC(e)||S(e);c=(cJ(),Nza);this.a.c=c;SY(this.a,a,b)};
  2930. function Lub(){Lub=function(){};Mub=kq(46);Rub=new Z4;Pub=U("JSC_BAD_RENAME_PROPERTY_FUNCTION_NAME_CALL","Bad {0} call - the first argument must be a string literal");Oub=U("JSC_BAD_RENAME_PROPERTY_FUNCTION_NAME_ARG","Bad {0} argument - ''{1}'' is not a valid JavaScript identifier")}function Sub(){}l(Sub,RT);
  2931. Sub.prototype.J=function(a,b,c){if(eH(b)&&zG(b.a,($4(),Tub))){var d=GA(b);var e=R(b);switch(d){case 2:Dw(e)?(Uub(this,e),oF(b,e),pF(c,b,e),NT(a)):X(this.a.a,V(b,($4(),Vub),A([e.c.toString()],B,y,1)));break;case 3:d=e.b;Dw(d)?Dw(e)?X(this.a.a,V(b,($4(),Wub),A([e.l(),d.l()],B,y,1))):(Uub(this,d),oF(b,e),e=qF(Jx(e,qF(ux("-"+r(d.l())),d)),b),d=this.a,d.f||(d.f=qy(eJ(d.a),(I(),$v))),Q(e,d.f),pF(c,b,e),NT(a)):X(this.a.a,V(b,($4(),Vub),A([d.c.toString()],B,y,1)));break;default:X(this.a.a,V(b,($4(),Xub),
  2932. A([""+d],B,y,1)))}}};
  2933. function Uub(a,b){var c=b.l();if(!a.a.g||!a.a.g.B(c)){var d=yi(c,"-",0);if(a.a.b){switch(a.a.b.b.a){case 0:var e=acb(a.a.b,c);if(null==e){X(a.a.a,V(b,($4(),Yub),A([c,c],B,y,1)));return}break;case 1:e=za([d.length],B,y,B.a);for(var f=0;f<d.length;f++){var h=acb(a.a.b,d[f]);if(null==h){X(a.a.a,V(b,($4(),Yub),A([d[f],c],B,y,1)));return}e[f]=h}e=uk(qk("-"),e);break;default:throw pb("Unknown replacement style: "+r(a.a.b.b)).s;}b.Ga(e)}if(a.a.c)for(b=0;b<d.length;b++)c=d[b],(e=a.a.c.get(c))||(e=Fc(0)),
  2934. a.a.c.C(c,Fc(e.xb()+1))}}function Zub(){}var Tub,Vub,Wub,Xub,Yub;l(Zub,n);Zub.prototype.H=function(a,b){this.b=this.a.a.pi;a=this.a;var c=new Sub;c.a=this;Y(a,b,c)};
  2935. function $4(){$4=function(){};Tub=sx(rx("goog"),ux("getCssName"));Xub=U("JSC_GETCSSNAME_NUM_ARGS",'goog.getCssName called with "{0}" arguments, expected 1 or 2.');Vub=U("JSC_GETCSSNAME_STRING_LITERAL_EXPECTED",'goog.getCssName called with invalid argument, string literal expected. Was "{0}".');Wub=U("JSC_GETCSSNAME_UNEXPECTED_STRING_LITERAL",'goog.getCssName called with invalid arguments, string literal passed as first of two arguments. Did you mean goog.getCssName("{0}-{1}")?');Yub=AJ("JSC_GETCSSNAME_UNKNOWN_CSS_SYMBOL",
  2936. 'goog.getCssName called with unrecognized symbol "{0}" in class "{1}".')}function $ub(){}l($ub,n);$ub.prototype.H=function(){};function avb(){}l(avb,n);avb.prototype.H=function(){};function a5(){}l(a5,n);a5.prototype.Ca=function(a){return this.ca(a)};a5.prototype.cb=function(){return hd(this)};a5.prototype.ca=function(a){return a.a};function bvb(){this.a=!1}l(bvb,n);function cvb(a,b){var c=new bvb;c.a=!1;c.c=a;c.b=b;return c}function dvb(){}l(dvb,n);function evb(){}var fvb,gvb;l(evb,RT);
  2937. evb.prototype.H=function(a,b){Y(this.g,b,this)};
  2938. evb.prototype.J=function(a,b){switch(b.c.a){case 23:case 28:case 123:var c=b.a;var d=wG(c);if(null!=d){a:{var e=d;d=WA(b);var f=this.b.get(e);f||(e=vi(e,36,46),f=this.b.get(e));if(f)for(e=f.c.h();e.i();){var h=e.j();if(ki(d,h)){d=null;break a}}d=f}if(d){hvb(this,a,d,b);break}}if(UI(c)&&(f=O(c),L(f)||Dw(f))&&(d=f.l(),f=BC(f.m()),d=null!=f?this.c.Ua(f):this.c.Ua(d))&&(c=c.a,c.f)){a:{c=c.f.Ia();if(!uy(c)&&!c.aa())for(d=d.h();d.i();)if(f=d.j(),e=yi(f,"\\.prototype\\.",0),E(1==e.length||2==e.length),(e=
  2939. KB(this.u,null,2==e.length?e[0]:null))&&vy(c,e)){c=this.b.get(f);break a}c=null}c&&hvb(this,a,c,b)}}};function hvb(a,b,c,d){if(fH(d))X(a.g,V(d,gvb,A([],B,y,1)));else if(E(TC(d)||eH(d)),1==c.b.w()&&c.b.B(Fc(0)))for(c=R(d);c;c=c.b)c=ivb(a,b,c,d);else for(c=c.b.h();c.i();){var e=c.j().xb();(e=RC(d,e))&&ivb(a,b,e,d)}}
  2940. function ivb(a,b,c,d){switch(c.c.a){case 34:var e=c.l();var f=jvb(a,e);var h=ux(f);break;case 124:case 13:case 32:e=Mg();var k=ux("");h=b5(a,b,c,k,e);e=e.toString();if(q(e,a.f))return c;f=jvb(a,e);k.Ga(f);break;default:return c}G(e);G(f);a=a.a.get(e);E(!!a);a.a=!0;JG(h,c);pF(d,c,h);NT(b);return h}function jvb(a,b){var c=a.a.get(b);if(c)return c.b;var d=aU(a.o);c=cvb(b,d);a.a.C(b,c);return d}
  2941. function b5(a,b,c,d,e){switch(c.c.a){case 13:c=c.a;var f=c.b;d=b5(a,b,c,d,e);return b5(a,b,f,d,e);case 124:for(c=c.a;c;c=c.b)switch(c.c.a){case 126:x(e,c.Ad());break;case 125:d=b5(a,b,c.a,d,e);break;default:throw pb("Unexpected TEMPLATELIT child: "+r(c)).s;}return d;case 34:return x(e,c.l()),d;case 32:if((f=ET(b).T(c.l()))&&(qL(f)||wL(f))){var h=rL(f);if(h){f=ux("");var k=Mg();b=b5(a,b,h,f,k);if(q(b,f))return pe(e,k),d}}default:return x(e,a.f),d=Jx(d,ux(a.f)),Jx(d,NA(c))}}
  2942. function kvb(){kvb=function(){};AJ("JSC_BAD_REPLACEMENT_CONFIGURATION","Bad replacement configuration.");gvb=AJ("JSC_STRING_REPLACEMENT_TAGGED_TEMPLATE","Cannot string-replace arguments of a template literal tag function.");fvb=new a5}function lvb(){this.a=!1}l(lvb,cT);
  2943. lvb.prototype.ga=function(a,b,c){switch(b.c.a){case 85:case 89:case 116:case 114:case 115:return!0;case 113:return kG(b)&&ki(O(b).l(),"/goog.js")&&MT(a,b,(mvb(),nvb),A([],B,y,1)),!0;case 32:return this.a&&li(b.l(),"goog")&&(uya(c)&&q(c.a,b)||xH(c))&&MT(a,b,(mvb(),nvb),A([],B,y,1)),!1;default:return!1}};function ovb(){this.a=0}var pvb,qvb;l(ovb,z);function rvb(a,b){var c=new ovb;c.b=a;c.a=b;return c}ovb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2944. function c5(){c5=function(){};pvb=rvb("LINT_ONLY",0);qvb=rvb("LINT_AND_REWRITE",1)}function svb(){this.a=this.b=!1}l(svb,RT);svb.prototype.J=function(a,b,c){switch(b.c.a){case 32:if(N(c)&&li(b.l(),"goog")){var d=ET(a).T(b.l());d&&d.a&&q(d.a.m(),this.f)&&!this.a&&!this.c.b.ld.X(R(c).l())&&(this.b=!0,bG(b,"goog"),b.Ga("$goog"),NT(a))}}};function tvb(){}var nvb,uvb,vvb,wvb;l(tvb,n);
  2945. function xvb(a){for(var b=el(),c=el(),d=a.c.b.V().h();d.i();){var e=d.j(),f=a.f.Ya(e.O(),e.O());b.L(e.M(),f)}for(d=a.c.a.V().h();d.i();)e=d.j(),f=a.f.Ya(e.O(),e.O()),c.L(e.M(),f);b=Y1a(b.Jb(),c.Jb());a.a.A=b;a.f.Fa()}
  2946. function yvb(a,b){if(JZ(b)){var c=!0;var d=null;for(var e=BA(b.a).h();e.i();){var f=e.j();GH(f)&&ki(O(f).l(),"/goog.js")&&(Aw(f.a)&&Cw(R(f))&&li(R(f).l(),"goog")?d=f:(c=!1,X(a.a,NL(WA(b),XA(f),YA(f),uvb,A([],B,y,1)))))}c?d||((c=kT(a.a).b(b.a,gS(b)).T("goog"))&&c.a&&X(a.a,NL(WA(b),XA(c.a),YA(c.a),vvb,A([],B,y,1))),d=null):d=null;c=a.a;e=new lvb;e.a=!!d;Y(c,b,e);c=yW(a.c,KR(a.a.f(aG(b))));G(c);d&&q(a.g,(c5(),qvb))&&(e=new svb,f=!a.b,e.c=a,e.f=d,e.a=f,Y(a.a,b,e),Cw(R(d))&&(b=Xf(c.Od),b.Ka("goog"),e.b?
  2947. (bG(R(d),"goog"),R(d).Ga("$goog"),b.C("$goog",c.Od.get("goog"))):qD(R(d),yw()),e=new vW,e.f=c.a,e.u=c.f,e.g=c.ld,e.a=c.Od,e.c=c.g,e.b=c.b,e.o=c.c,b=xW(wW(e,il(b))),a.f.C(c,b),Z(a.a,d)))}}tvb.prototype.ra=function(a){yvb(this,a);xvb(this)};
  2948. function zvb(a,b){for(var c=null,d=BA(b).h();d.i();){var e=d.j();if(a.a.f(aG(e)).He().B("goog")){c=EL(KR(a.a.f(aG(e))),"./goog.js");break}}if(c){d=null;for(b=BA(b).h();b.i();){e=b.j();var f=KR(a.a.f(aG(e))),h=c;h&&li(BL(f),BL(h))?d=e:ki(WA(e),"/goog.js")&&X(a.a,$Ca(WA(e),-1,-1,(yJ(),wJ),wvb,A([],B,y,1)))}return d}return null}
  2949. tvb.prototype.H=function(a,b){this.b=null;var c=zvb(this,b);c||(c=zvb(this,a));if(q(this.g,(c5(),qvb))){if(c){var d=KR(this.a.f(aG(c)));this.b=yW(this.c,d);G(this.b);a=Ti(function(e){return q(e.a.A,d)});F(rg(this.b.Od.values().S(),a),"goog.js should never import anything");F(!this.b.ld.X("default"),"goog.js should never have a default export.");F(rg(this.b.ld.values().S(),a),"goog.js should never export from anything.")}}else E(q(this.g,(c5(),pvb)));for(b=BA(b).h();b.i();)a=b.j(),yvb(this,a);xvb(this)};
  2950. function mvb(){mvb=function(){};uvb=U("JSC_GOOG_JS_IMPORT_MUST_BE_GOOG_STAR","Closure''s goog.js file must be imported as `import * as goog`.");nvb=U("JSC_GOOG_JS_REEXPORTED","Do not re-export from goog.js.");wvb=U("JSC_CANNOT_NAME_FILE_GOOG","Do not name files goog.js, it is reserved for Closure Library.");vvb=U("JSC_CANNOT_HAVE_MODULE_VAR_NAMED_GOOG","Module scoped variables named ''goog'' must come from importing Closure Library''s goog.js file..")}function Avb(){}var d5;l(Avb,RT);
  2951. Avb.prototype.H=function(a,b){E(tC(b));Y(this.a,b,this)};
  2952. Avb.prototype.J=function(a,b,c){switch(b.c.a){case 89:if(gF(b))if(gF(b)&&yH(b.a)){c=HP(!1);CPa(c,"Suppresses undefined var goog error");PP(c,"undefinedVars");Gx(b,KP(c));c=S(hF(b));UA(b);var d=BL(KR(AT(a)));Mx(b,FG(Rw(FG(rx(d),c),c),c));Mx(b,JG(cx(px(sx(rx("goog"),ux("provide")),A([ux(d)],lx,eI,1))),b));b=YL(AT(a).Cb());if(ki(b,"/package.json")&&SH(c))for(d=this.a.a.bo.h();d.i();){var e=d.j(),f=kX(c,e);if(f&&(Dw(f)||SH(f))){var h=ne(b,0,b.length-12);if(Dw(f)){this.b.C(b,r(h)+r(f.l()));break}else if(SH(f))for(F("browser"===
  2953. e,e),e=h,f=BA(f).h();f.i();){var k=f.j();h=k.a;E(Lx(k)&&(Dw(h)||q(h.c,(H(),Fs))));k=k.l();zi(k,"./")&&(k=k.substr(2));h=Dw(h)?r(e)+r(h.l()):"$jscomp$browser$blacklisted";this.b.C(r(e)+r(k),h)}}}NT(a)}else X(this.a,V(b,d5,A([],B,y,1)));else X(this.a,V(b,d5,A([],B,y,1)));return;case 46:case 45:case 33:case 38:case 37:case 35:case 34:break;case 95:b.bb()&&gF(b)||X(this.a,V(b,d5,A([],B,y,1)));break;case 88:tC(c)||X(this.a,V(b,d5,A([],B,y,1)));break;default:X(this.a,V(b,d5,A([],B,y,1)))}1==XA(b)&&(c=YA(b)-
  2954. 1,b.v=fG(XA(b),c),NT(a))};function Bvb(){Bvb=function(){};d5=U("JSC_JSON_UNEXPECTED_TOKEN","Unexpected JSON token")}function Cvb(){this.c=!1}var Dvb;l(Cvb,n);
  2955. Cvb.prototype.ra=function(a){var b=this;this.b=pm();Evb(Fvb(this.a,this.f),a,zb(function(d){var e=d.f;cd(e.b,(Gvb(),Hvb))&&!Ivb(e.f,zI(b.a.a))&&X(b.a,V(d.c,Dvb,A([d.b,IBa(zI(b.a.a))],B,y,1)));Ivb(e.c,zI(b.a.a))||te(e.a)||b.b.add(e.a)}));this.c&&(a=Tw(rx("$jscomp$lookupPolyfilledValue")),M(Jvb(this.a).Pb(this.a),a));if(!this.b.D()){a=null;for(var c=this.b.h();c.i();)a=c.j(),a=HZ(this.a,a,!1);a&&(c=a.m(),Kvb(this,c,a.b),Z(this.a,c))}};
  2956. function Kvb(a,b,c){for(var d=b.a;d&&!q(d,c);){var e=d.b;if(oX(d)){var f=d.a.a;yG(f,"$jscomp.polyfill")&&(f=LBa(f.b.b.b.l()),Ivb(f,zI(a.a.a))&&wX(b,d))}d=e}}Cvb.prototype.H=function(a,b){this.ra(b,null)};function Lvb(){Lvb=function(){};Dvb=BJ("JSC_INSUFFICIENT_OUTPUT_VERSION","Built-in ''{0}'' not supported in output version {1}")}function Mvb(){this.a=0}var Hvb,Nvb;l(Mvb,z);function Ovb(a,b){var c=new Mvb;c.b=a;c.a=b;return c}Mvb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  2957. function Gvb(){Gvb=function(){};Hvb=Ovb("STATIC",0);Nvb=Ovb("METHOD",1)}function Pvb(){}l(Pvb,n);function e5(){this.a=!1}l(e5,Pvb);function Qvb(a,b,c,d){var e=new e5;if(!a)throw rb("Null polyfill").s;e.f=a;if(!b)throw rb("Null node").s;e.c=b;if(null==c)throw rb("Null name").s;e.b=c;e.a=d;return e}e5.prototype.toString=function(){return"PolyfillUsage{polyfill="+r(this.f)+", node="+r(this.c)+", name="+r(this.b)+", isExplicitGlobal="+this.a+"}"};
  2958. e5.prototype.I=function(a){return q(a,this)?!0:a instanceof Pvb?cd(this.f,a.f)&&cd(this.c,a.c)&&q(this.b,a.b)&&this.a==a.a:!1};e5.prototype.P=function(){var a=1000003^ed(this.f);a=1000003*a^ed(this.c);a=1000003*a^Yg(this.b);return a=1000003*a^(this.a?1231:1237)};function Rvb(){}l(Rvb,n);function Svb(){}var Tvb;l(Svb,n);function Uvb(){Uvb=function(){};Tvb=u(function(a){return Oa(a,ti(a,46)+1)})}function Vvb(){this.b=!1}var f5;l(Vvb,n);
  2959. function g5(a,b,c){Wvb();var d=new Vvb;d.a=a;d.b=b;d.c=c;return d}function h5(a,b){return b==a.b?a:g5(a.a,b,a.c)}
  2960. function Xvb(a,b,c,d){var e=q(d,c.a);switch(c.c.a){case 96:return a;case 49:return q(d,O(c))?a:h5(a,!0);case 65:return e?g5(c,!0,a.a?a:null):a;case 64:case 66:return e?g5(c,!1,a.a?a:null):a;case 63:return e?g5(c,!0,a.a?a:null):a;case 70:return e?g5(c,!0,a.a?a:null):f5;case 44:case 50:return h5(a,e);case 25:case 19:case 4:case 5:case 39:case 40:return h5(a,!0);case 28:if(d=!e)Yvb(),MX(b).sh(c)?d=!0:(b=c.a,d=L(b)&&Zvb.B(b.l()));return h5(a,d);case 85:return f5;default:return EI(c)?f5:h5(a,!1)}}
  2961. function Wvb(){Wvb=function(){};f5=g5(null,!1,null)}function i5(){}var $vb,Zvb;l(i5,n);i5.prototype.ga=function(a,b,c){if(c){if(this.a.Ea(Xvb(this.a.Na(),this.v,c,b)),c&&$vb.B(c.c)&&this.c.Yc(c))for(a=this.c.Nc(c).h();a.i();)b=a.j(),this.g.add(b),this.b.Aa(c,b)}else this.a.Ea((Wvb(),f5));return!0};
  2962. i5.prototype.J=function(a,b,c){c&&$vb.B(b.c)&&this.b.Yc(b)&&this.g.Nb(this.b.Nc(b));if(Ux(b)||$H(b))if(Hw(c)&&(c=c.m()),FH(c)&&this.b.Yc(c)){var d=c.m();(Hw(d)||tC(d))&&this.c.Oj(d,this.b.Ua(c))}a:{if(c=DC(b))c=this.f.a,c=N(b)?c.a.B(O(b).l()):L(b)?c.a.B(b.l()):!1;if(c){c=EC(b);d=!1;for(var e=(awb(),bwb).h();e.i();){var f=e.j();if(zi(c,f)){c=c.substr(f.length);d=!0;break}}if(f=(e=this.f.a.c.get(c))&&!d)f=PX(b),f=!L(f)||!!ET(a).T(f.l());f&&(e=null);if(e&&(this.o||!cwb(this,c))){this.u.pb(Qvb(e,b,c,
  2963. d));break a}}if(N(b)&&(a=O(b).l(),c=this.f.a.b.Ua(a),!c.D()&&(this.o||!cwb(this,"."+r(a)))))for(c=c.h();c.i();)d=c.j(),this.u.pb(Qvb(d,b,a,!1))}this.a.Ta()};function cwb(a,b){if(a.g.B(b))return!0;var c=a.a.Na();if(!c.b)return!1;for(;c&&c.a;)a.c.Aa(c.a,b),c=c.c;return!0}function Yvb(){Yvb=function(){};Zvb=em("String","Boolean");$vb=zn((H(),gt),A([ft,rt,et,vt,Lt,Ot],hs,Qu,1))}i5.prototype.la=!0;function dwb(){this.o=!1}l(dwb,i5);function ewb(){}var bwb;l(ewb,n);
  2964. function Fvb(a,b){awb();var c=new ewb;c.a=b;c.b=a;return c}function Evb(a,b,c){var d=a.b,e=a.b;Yvb();var f=new dwb;f.f=a;f.c=lo().a();f.g=vp();f.b=nja(ao()).a();f.a=Uk();f.v=e;f.u=c;f.o=!1;Y(d,b,f)}function j5(a,b){return xI(b,HJ(a))}
  2965. function Ivb(a,b){awb();switch(IBa(a)){case "ts":return j5((TJ(),RAa),b);case "es_2020":return j5((TJ(),WAa),b);case "es_2019":return j5((TJ(),VAa),b);case "es9":return j5((TJ(),UAa),b);case "es8":return j5((TJ(),TAa),b);case "es7":return j5((TJ(),SAa),b);case "es6":return j5((TJ(),OAa),b);case "es5":return j5((TJ(),QAa),b);case "es3":return j5((TJ(),PAa),b);default:return!1}}function awb(){awb=function(){};bwb=hm("goog.global.","window.","goog$global.","globalThis.")}function fwb(){}l(fwb,n);
  2966. function gwb(){}l(gwb,n);function hwb(a){var b=a.g,c=a.c,d=a.f,e=a.a?a.a.a.oa():dm();a=a.b;k5();var f=new iwb;f.c=vp();f.a=b;f.b=c;f.o=d;f.f=e;f.g=a;return f}function jwb(){this.a=0}var kwb,lwb;l(jwb,z);function mwb(a,b){var c=new jwb;c.b=a;c.a=b;return c}jwb.prototype.R=function(a){return z.prototype.c.call(this,a)};function nwb(){nwb=function(){};kwb=mwb("PRESERVE",0);lwb=mwb("DELETE",1)}function owb(){}l(owb,n);function pwb(a,b){var c=new owb;c.a=a;c.b=b;return c}g=owb.prototype;
  2967. g.xg=function(a,b){this.b.B(a)&&this.a.xg(a,b)};g.Gk=function(a){return this.b.B(a)?this.a.Gk(a):null};g.el=function(){return this.a.el()};g.$i=function(a,b){return pwb(this.a.$i(a,b),this.b)};g.lj=function(){return this.a.lj()};function qwb(){}l(qwb,fwb);qwb.prototype.c=function(a){var b=NA(rL(this.b));HG(b,this.a);b.a&&dG(b.a);Lx(this.a)?(E(!this.a.a),Mx(this.a,b)):qD(this.a,b);Z(a,b)};function rwb(){}l(rwb,fwb);
  2968. rwb.prototype.c=function(){var a=rL(this.b),b=this.b.va(),c=this.a.l();zi(c,"$jscomp.scope.")||(a=G(swb(a)),Ki(zi(c,b),"%s must start with %s",c,b),b=r(a)+r(c.substr(b.length)),this.a.Ga(b))};function twb(){$r.call(this)}l(twb,$r);function uwb(){}l(uwb,RT);uwb.prototype.J=function(a,b){L(b)&&li(b.l(),this.a)&&q(ET(a).T(this.a).N(),this.f)&&(b.Ga(r(this.a)+"$jscomp$scopedAliases$"+r(this.b)),Z(this.c.a.a,b))};function vwb(){this.u=this.g=!1}l(vwb,RT);function wwb(a,b){return!!a.b&&q(b,a.b)}
  2969. function xwb(a){return eH(a)&&yG(a.a,"goog.scope")}g=vwb.prototype;
  2970. g.Hb=function(a){if(!JT(a)){var b=HT(a);b=gG(b);if(b=xwb(b)?b:null){WA(b);for(var c=b,d=null;d||tC(c);)d=c.b,c=c.m();c=d?XA(d):2147483647;d=d?YA(d):2147483647;var e=new twb;bs(e);as(e,XA(b),YA(b),c,d);e.o(OXa);a=ET(a);for(a=TR(a).h();a.i();){c=a.j();d=c.N();e=d.m();var f=PI(e)&&Hw(e.m()),h=qJ(e),k;if(k=f)k=d,k5(),k=k.a?ywb(O(k)):!1;if(k)zwb(this,c);else if(!WBa(c)&&!Gw(e))if(f||h||rJ(e)){f=QW(e);k=e.m();var m=rL(c);if(nG(d)){var p=JP(nG(e));h?RP(p,ZD(nG(d))):QP(p,ZD(nG(d)));Gx(e,KP(p));Gx(d,null)}var t=
  2971. c.Yb();p=d.l();var v=this.a.c.yd(p);this.a.c.add(p);v="$jscomp.scope."+r(p)+String(0==v?"":"$jscomp$"+v);var C=HZ(this.a.a,"base",!1);C&&Z(this.a.a,C);h||rJ(e)?(h=h?rx(""):yw(),FG(h,d),pF(m,d,h),Z(this.a.a,h),h=FG(Tw(d),d),pF(k,e,h)):(m&&S(m),h=e);if(m||t)e=JG(OX(this.a.a,v,m,t),d),FG(hF(e),d),bG(hF(e),p),f?Mx(k,e):mF(k,e,h),Z(this.a.a,e),this.v.add(e.a);Mx(c.a,NX(this.a.a,v,d,p));zwb(this,c)}else l5(this,d,(k5(),Awb),A([d.l()],B,y,1))}this.b=O(O(b))}}};
  2972. g.Tb=function(a){if(wwb(this,HT(a))){this.b=null;F(VR(HT(a)),HT(a));if(this.g){for(var b=pwb(Ynb(),this.f),c=this.f.h();c.i();){var d=c.j();b.xg(d,!1)}b=cob(b);a=Ml(HT(a));zT(this.a.a,null,a,b,null,!0)}this.v.ia();this.c.Fa();this.f.ia();this.g=!1}else if(this.b){if(!this.g)for(b=TR(ET(a)).h();b.i();)if(c=b.j(),this.f.B(c.va())){this.g=!0;break}b=HT(a);c=O(CT(a));if(wwb(this,c)&&Hw(b)&&!P(b.m()))for(a=TR(ET(a)).h();a.i();)b=a.j(),qJ(b.a.m())&&l5(this,b.N(),(k5(),Bwb),A([b.va()],B,y,1))}};
  2973. function l5(a,b,c,d){X(a.a.a,V(b,c,d));a.u=!0}function zwb(a,b){var c=rL(b);a.A.add(b.a);if(a.a.g.I(lwb)&&Cwb(a,c))a.F.add(b);else{var d=b.va();a.c.C(d,b);b=swb(c);c=mi(b,46);-1!=c&&(b=ne(b,0,c),a.c.X(b)||a.f.add(b))}}function Cwb(a,b){switch(b.c.a){case 32:return!1;case 26:return Cwb(a,b.a);case 28:return b=R(b).l(),!a.a.f.B(b);default:throw pb("Unrecognized alias rhs "+r(b)).s;}}
  2974. g.J=function(a,b){if(xwb(b)){var c=b.m();if(this.a.b){var d=b.a;wZ(this.a.b,d,xZ(d))}yH(c)||l5(this,b,(k5(),Dwb),A([],B,y,1));CT(a)&&l5(this,b,(k5(),Ewb),A([],B,y,1));kG(b)?(c=R(b),!P(c)||null!=TT(c)||lX(c).a?l5(this,c,(k5(),Fwb),A([],B,y,1)):this.K.add(b)):l5(this,b,(k5(),Fwb),A([],B,y,1))}if(this.b){d=b.c;c=null;if(q(d,(H(),As))){var e=b.l(),f=ET(a).T(e);f&&f.I(this.c.get(e))&&(c=f,this.a.a.a.o&&L(b)&&bG(b,e))}if(wwb(this,O(CT(a)))){if(c&&DX(b)){if(q(c.N(),b))return;l5(this,b,(k5(),Gwb),A([b.l()],
  2975. B,y,1))}q(d,(H(),is))?l5(this,b,(k5(),Hwb),A([],B,y,1)):q(d,(H(),Es))?l5(this,b,(k5(),Iwb),A([],B,y,1)):q(d,(H(),Ks))&&l5(this,b,(k5(),Jwb),A([],B,y,1))}p3a(b)&&(d=b.l(),e=s3(this.a.a).f(),f=new uwb,f.c=this,f.a=d,f.f=b,f.b=e,wT(mT(this.a.a,f,a.U),ET(a)),b.Ga(r(d)+"$jscomp$scopedAliases$"+r(e)));c&&(a=new qwb,a.b=c,a.a=b,this.o.add(a));if((a=nG(b))&&!this.v.B(b))for(b=AE(a).h();b.i();)a=b.j(),Kwb(this,a)}};
  2976. function Kwb(a,b){if(Dw(b)){var c=b.l(),d=mi(c,46);-1==d&&(d=c.length);if(d=a.c.get(ne(c,0,d))){var e=new rwb;e.b=d;e.a=b;a.o.add(e)}a.a.a.a.o&&bG(b,c)}for(b=b.a;b;b=b.b)Kwb(a,b)}g.la=!0;g.ic=!0;function iwb(){}var Bwb,Awb,Dwb,Ewb,Fwb,Gwb,Hwb,Iwb,Jwb,Lwb;l(iwb,n);function Mwb(a){k5();var b=new gwb;b.c=null;b.f=($Za(),SZa);b.a=null;b.b=(nwb(),kwb);b.g=a;return b}iwb.prototype.H=function(a,b){this.ra(b,null)};
  2977. iwb.prototype.ra=function(a){var b=new vwb;b.a=this;b.A=w();b.K=w();b.o=w();b.c=bf();b.v=ef();b.F=ef();b.f=ff(mm("$jscomp"));b.g=!1;b.u=!1;b.b=null;Y(this.a,a,b);if(!b.u){for(a=Jd(b.o);!a.D();){for(var c=w(),d=a.h();d.i();){var e=d.j(),f=e,h=b.F,k=rL(f.b);k=swb(k);var m=mi(k,46);k=-1==m?k:ne(k,0,m);(f=f.b.ya().Mb(k))&&!h.B(f)?c.add(e):e.c(this.a)}if(c.w()==a.w()){a=c.G(0).b;X(this.a,V(a.N(),Lwb,A([a.va()],B,y,1)));break}else a=c}for(a=b.A.h();a.i();)c=a.j(),Z(this.a,c),PI(c.m())&&gF(c.m())?S(c.m()):
  2978. S(c);for(b=b.K.h();b.i();)c=b.j(),a=c.m(),c=O(O(c)),S(c),qD(a,c),uX(a,this.a),Z(this.a,c),xX(c,!1)}};function ywb(a){switch(a.c.a){case 26:return ywb(a.a);case 32:return!0;case 28:return CY(a,"goog.module.get");default:return!1}}function swb(a){k5();switch(a.c.a){case 26:return r(swb(a.a))+Hg(46)+r(O(a).l());case 32:return a.l();case 28:return F(CY(a,"goog.module.get"),a),F(kG(a),a),O(a).l();default:throw Ha("Invalid alias RHS:"+r(a)).s;}}
  2979. function k5(){k5=function(){};Dwb=U("JSC_GOOG_SCOPE_MUST_BE_ALONE","The call to goog.scope must be alone in a single statement.");Ewb=U("JSC_GOOG_SCOPE_MUST_BE_IN_GLOBAL_SCOPE","The call to goog.scope must be in the global scope.");Fwb=U("JSC_GOOG_SCOPE_HAS_BAD_PARAMETERS","The call to goog.scope must take only a single parameter. It must be an anonymous function that itself takes no parameters.");Iwb=U("JSC_GOOG_SCOPE_REFERENCES_THIS","The body of a goog.scope function cannot reference 'this'.");
  2980. Hwb=U("JSC_GOOG_SCOPE_USES_RETURN","The body of a goog.scope function cannot use 'return'.");Jwb=U("JSC_GOOG_SCOPE_USES_THROW","The body of a goog.scope function cannot use 'throw'.");Gwb=U("JSC_GOOG_SCOPE_ALIAS_REDEFINED","The alias {0} is assigned a value more than once.");Lwb=U("JSC_GOOG_SCOPE_ALIAS_CYCLE","The aliases {0} has a cycle.");Awb=U("JSC_GOOG_SCOPE_NON_ALIAS_LOCAL","The local variable {0} is in a goog.scope and is not an alias.");Bwb=U("JSC_GOOG_SCOPE_INVALID_VARIABLE","The variable {0} cannot be declared in this scope")}
  2981. function Nwb(){this.a=!1}l(Nwb,RT);Nwb.prototype.J=function(a,b){this.a&&null!=this.b&&E(li(this.b,WA(b)));switch(b.c.a){case 26:a=O(b);Owb(b,a.l());break;case 69:a=D2a(b);null!=a&&Owb(b,a);break;case 32:Owb(b,b.l());break;case 46:for(b=b.a;b;b=b.b)rH(b)||b.bb()||qx(b)||Owb(b,b.l())}};function Owb(a,b){te(b)||null!=BC(a)||bG(a,b)}function Pwb(){this.c=!1}l(Pwb,J2);
  2982. Pwb.prototype.b=function(a){if(this.c){if(jT(a))for(var b=a.a;b;)if(yH(b)){for(var c=b.b;c&&yH(c);)c=c.b;q(b.b,c)||(b=Qwb(a,b,c),R2(this,b));yH(b)&&c&&Rwb(this,c)&&(Swb(b,c),R2(this,c),c=c.b);b=c}else b=b.b}else{if(b=!P(a.m()))a:if(!this.c&&!Hw(a)||!a.a||gF(a))b=!1;else{b=O(a);for(c=a.a;c;c=c.b)if(!yH(c)&&!q(c,b)){b=!1;break a}b=Rwb(this,b)}b&&(b=Qwb(a,a.a,O(a)),Swb(b,O(a)),R2(this,a))}return a};
  2983. function Rwb(a,b){switch(b.c.a){case 70:case 42:case 71:case 88:return!0;case 0:return!!b.a;case 76:return!PI(b.a);case 77:return!N2(a,b.a);case 87:return Rwb(a,O(b));case 86:return(M2(a)||l3a(b))&&!PG(b)&&Rwb(a,b.a)}return!1}function Qwb(a,b,c){if(q(b.b,c))return b;for(var d=UA(b),e,f=b.b;!q(f,c);f=e)d=Twb(d,UA(f)),e=f.b,oF(a,f);M(b,d);return b}
  2984. function Swb(a,b){Fi(yH(a),"before must be expression result");switch(b.c.a){case 70:case 0:case 42:case 71:case 88:case 76:S(a);a=UA(a);var c=UA(b);a=Twb(a,c);Mx(b,a);break;case 77:S(a);a=UA(a);c=S(R(b));a=Twb(a,c);nF(b,a,b.a);break;case 87:Swb(a,O(b));break;case 86:Swb(a,b.a);break;default:throw pb("Statement fusion missing.").s;}}function Twb(a,b){if(Aw(b))return a;a=Ow((H(),Rs),a);qF(a,b);if(qH(b)){for(var c=b;qH(c);)c=c.a;var d=c.m();M(a,S(c));Mx(d,a);return b}M(a,b);return a}
  2985. function Uwb(){}l(Uwb,RT);Uwb.prototype.J=function(a,b){if(L(b)&&Vwb(b))"eval"===b.l()?MT(a,b,(m5(),Wwb),A([],B,y,1)):"arguments"===b.l()&&MT(a,b,(m5(),Xwb),A([],B,y,1));else if(N(b)){var c=b.a,d=O(b);li(d.l(),"callee")?L(c)&&li(c.l(),"arguments")&&MT(a,b,(m5(),Ywb),A([],B,y,1)):li(d.l(),"caller")?L(c)&&li(c.l(),"arguments")?MT(a,b,(m5(),Zwb),A([],B,y,1)):$wb(c)&&MT(a,b,(m5(),axb),A([],B,y,1)):li(d.l(),"arguments")&&$wb(c)&&MT(a,b,(m5(),bxb),A([],B,y,1))}};function cxb(){}
  2986. var Wwb,Xwb,Ywb,Zwb,axb,bxb,dxb,exb,fxb,gxb,hxb,ixb;l(cxb,RT);cxb.prototype.H=function(a,b){tT(this.a,this,a,b);Y(this.a,b,new Uwb)};cxb.prototype.J=function(a,b){if(kH(b))L(b.a)&&("arguments"===b.a.l()?MT(a,b,exb,A([],B,y,1)):"eval"===b.a.l()&&MT(a,b,fxb,A([],B,y,1)));else if(wH(b))L(b.a)&&ET(a).T(b.a.l())&&MT(a,b,gxb,A([],B,y,1));else if(SH(b))jxb(a,b);else if(kA(b))jxb(a,O(b));else if(q(b.c,(H(),Gt))){var c=nG(b);c&&WD(c).B("with")||MT(a,b,dxb,A([],B,y,1))}};
  2987. function Vwb(a){m5();switch(a.m().c.a){case 104:case 92:case 80:case 82:return!0;case 69:return q(a,a.m().a);case 48:return P(gG(a));default:return!1}}function jxb(a,b){for(var c=ef(),d=ef(),e=ef(),f=ef(),h=b.a;h;h=h.b)if(!Aw(h)&&!rH(h)&&!qx(h)){var k=h.l();VH(h)||(TG(h)?e:c).add(k)||(pH(b)?MT(a,h,hxb,A([k],B,y,1)):MT(a,h,ixb,A([k],B,y,1)));CH(h)||(TG(h)?f:d).add(k)||(pH(b)?MT(a,h,hxb,A([k],B,y,1)):MT(a,h,ixb,A([k],B,y,1)))}}function $wb(a){m5();a=a.f;return!!a&&iy(a)}
  2988. function m5(){m5=function(){};dxb=AJ("JSC_USE_OF_WITH","The 'with' statement cannot be used in strict mode.");Wwb=AJ("JSC_EVAL_DECLARATION",'"eval" cannot be redeclared in strict mode');fxb=AJ("JSC_EVAL_ASSIGNMENT",'the "eval" object cannot be reassigned in strict mode');Xwb=AJ("JSC_ARGUMENTS_DECLARATION",'"arguments" cannot be redeclared in strict mode');exb=AJ("JSC_ARGUMENTS_ASSIGNMENT",'the "arguments" object cannot be reassigned in strict mode');Ywb=AJ("JSC_ARGUMENTS_CALLEE_FORBIDDEN",'"arguments.callee" cannot be used in strict mode');
  2989. Zwb=AJ("JSC_ARGUMENTS_CALLER_FORBIDDEN",'"arguments.caller" cannot be used in strict mode');axb=AJ("JSC_FUNCTION_CALLER_FORBIDDEN","A function''s \"caller\" property cannot be used in strict mode");bxb=AJ("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN","A function''s \"arguments\" property cannot be used in strict mode");gxb=AJ("JSC_DELETE_VARIABLE","variables, functions, and arguments cannot be deleted in strict mode");ixb=U("JSC_DUPLICATE_OBJECT_KEY",'Object literal contains illegal duplicate key "{0}", disallowed in strict mode');
  2990. hxb=U("JSC_DUPLICATE_CLASS_METHODS",'Class contains duplicate method name "{0}"')}function kxb(){}l(kxb,RT);
  2991. kxb.prototype.J=function(a,b,c){switch(b.c.a){case 80:case 92:case 104:for(var d,e=b.a;e;e=d)if(d=e.b,!Yw(e)){var f=e.l(),h;(h=lxb(this,f))||(h=e.a,h=!!h&&(eH(h)||TC(h))&&!!h.a&&(mxb(this,h.a)||n5(this,h.a)));h&&(h=ET(a),this.a.o.add(h.T(f)),oF(b,e),uX(e,this.a.a))}b.a||(o5(this,b,c),NT(a));break;case 32:switch(c.c.a){case 80:case 92:case 104:break;case 26:case 27:q(c.a,b)&&nxb(this,a,b)&&oxb(this,a,c,c.m());break;case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:nxb(this,
  2992. a,b)&&(q(c.a,b)?(d=c.m(),yH(d)?o5(this,d,d.m()):(b=b.b,oF(c,b),pF(d,c,b))):p5(this,b,c),NT(a));break;default:nxb(this,a,b)&&(p5(this,b,c),NT(a))}break;case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:d=b.a;if(n5(this,d)||mxb(this,d))yH(c)?(b=c.m(),o5(this,c,b),Z(this.a.a,b)):MT(a,b,(q5(),pxb),A([EC(d)],B,y,1));break;case 28:case 23:a:if((d=b.a)&&N(d)){if(c&&L(c)&&(e=c.m())&&PI(e)){d=!1;break a}if(!(d=n5(this,d.a)||n5(this,d)||mxb(this,d)))b:{if(d=MX(this.a.a).zd(b)){if(r5(this,
  2993. d.a)){d=!0;break b}r5(this,d.b)&&MT(a,b,(q5(),qxb),A([d.a,d.b],B,y,1))}d=!1}}else d=!1;d&&oxb(this,a,b,c);break;case 46:for(c=b.a;c;)switch(c.c.a){case 90:case 91:case 95:case 102:if(lxb(this,c.l())){a=c.b;oF(b,c);uX(c,this.a.a);c=a;Z(this.a.a,b);break}default:c=c.b}break;case 88:a=b.a;if(n5(this,a)||mxb(this,a))yH(c)?(b=c.m(),o5(this,c,b),Z(this.a.a,b)):(o5(this,b,c),Z(this.a.a,c));break;case 100:a:{e=SW(b);d="<anonymous>";if(e&&DC(e)&&(d=EC(e),r5(this,d))){rX(c)?o5(this,b,c):p5(this,b,c);NT(a);
  2994. break a}(c=R(b))&&DC(c)&&(c=EC(c),r5(this,c)&&MT(a,b,(q5(),qxb),A([d,c],B,y,1)))}}};function oxb(a,b,c,d){for(var e;;){e=d.m();if(!q(d.a,c)){p5(a,c,d);break}if(yH(d)){o5(a,d,e);break}if(kH(d)){pF(e,d,S(O(d)));break}if(!UI(d)&&!eH(d)){p5(a,c,d);break}c=d;d=e}NT(b)}function mxb(a,b){b=EC(b);return r5(a,b)}function r5(a,b){if(null!=b){for(var c=a.a.b.h();c.i();){var d=c.j();if(q(b,d))return!0}for(a=a.a.g.h();a.i();)if(c=a.j(),zi(b,c))return!0}return!1}
  2995. function nxb(a,b,c){c=c.l();b=ET(b).T(c);return a.a.o.B(b)}function n5(a,b){return b&&N(b)?lxb(a,O(b).l())||n5(a,b.a):!1}function lxb(a,b){if(a.a.f.B(b)||a.a.c.B(b))return!0;if(te(b)||dh(b.charCodeAt(0)))return!1;b=Bi(b);for(var c=a.a.c.h();c.i();){var d=c.j();if(zi(b,Bi(d)))return!0}for(a=a.a.f.h();a.i();)if(c=a.j(),ki(b,Bi(c)))return!0;return!1}function p5(a,b,c){pF(c,b,Tx());uX(b,a.a.a)}function o5(a,b,c){wX(c,b);uX(b,a.a.a)}function rxb(){}var pxb,qxb;l(rxb,n);
  2996. rxb.prototype.H=function(a,b){for(var c=this.b.h();c.i();){var d=c.j();this.g.add(r(d)+".")}c=this.a;d=new kxb;d.a=this;Y(c,b,d);SY(this.a,a,b)};function q5(){q5=function(){};qxb=U("JSC_STRIP_TYPE_INHERIT_ERROR","Non-strip type {0} cannot inherit from strip type {1}");pxb=U("JSC_STRIP_ASSIGNMENT_ERROR","Unable to strip assignment to {0}")}function s5(){}l(s5,RT);s5.prototype.H=function(a,b){this.ra(b,null)};s5.prototype.ra=function(a){Y(this.a,a,this)};
  2997. s5.prototype.J=function(a,b){switch(b.c.a){case 69:if(aH(b)&&(a=O(b),D(aH(b)),Hw(a)&&gF(a)&&Ux(a.a))){var c=UA(a.a);c=c?c:rx("undefined");pF(b,a,c);Z(this.a,c)}break;case 95:L(b.a)&&li(b.a.l(),b.l())&&MG(b,!0)}};function sxb(){}l(sxb,n);sxb.prototype.H=function(a,b){var c=(uI(),vI);for(a=Sl(a,b).h();a.i();)for(b=a.j().a;b;b=b.b){E(tC(b));var d=GY(b);d&&(c=VK(ZK(c.a,d.a)))}this.a.u=c};function t5(){}l(t5,n);t5.prototype.ga=function(a,b,c){return!c||iT(c)||jT(c)};t5.prototype.la=!0;
  2998. function txb(){}l(txb,t5);txb.prototype.J=function(a,b,c){Ux(b)&&b.a&&(a=b.a,oF(b,a),pF(c,b,HG(cx(wx(sx(rx("module"),ux("exports")),a)),b)))};function uxb(){}l(uxb,RT);uxb.prototype.J=function(a,b){L(b)&&li(this.a,b.l())&&(b.Ga(this.b),bG(b,this.a))};function vxb(){}l(vxb,RT);
  2999. vxb.prototype.J=function(a,b,c){if(eH(b)&&b.a&&L(b.a)&&"define"===b.a.l()){var d=ET(a).T(b.a.l());if(!d||mL(d))if(yH(c)&&tC(c.m())){d=c.m();var e=null,f=null,h=GA(b)-1;if(0==h)wxb(a,b);else{if(1==h){if(f=R(b),SH(f)){b=f;S(b);pF(d,c,JG(cx(wx(LX(this.a.a,"module.exports"),b)),b));NT(a);return}}else if(2==h)e=R(b),f=RC(b,2);else if(3<=h){wxb(a,b);return}if(!P(f)||e&&!jH(e))wxb(a,b);else{var k=e;e=f;h=BA(R(e)).h();for(k=k?BA(k).h():Pba();h.i()||k.i();){var m=h.i()?h.j():null,p=k.i()?k.j():null;a:{var t=
  3000. a,v=b,C=d;var J=e;var K=null;p&&(K=xxb(this,t,C,p.l(),p));if(!yxb(K)){var Ca=m?m.l():null,Wa=ET(t);if(null!=Ca&&RR(Wa,Ca))for(;;){t=r(Ca)+"__alias"+this.a.b;if(!RR(Wa,t)){Wa=this.a.a;var Ma=new uxb,Vb=Ma,sc=t;Vb.a=Ca;Vb.b=sc;Y(Wa,J,Ma);Ca=t;break}this.a.b++}if(null!=K)J=px(rx("require"),A([ux(K)],lx,eI,1)),Hx(J,(kx(),KE),!0),J=null!=Ca?JG(Rw(rx(Ca),J),m):JG(cx(J),p);else{if(yxb(Ca))break a;J=JG(Rw(rx(Ca),Tx()),m)}mF(C,J,v.m())}}}b=RC(f,2);Y(this.a.a,b,new txb);f=jF(d,c);oF(d,c);uX(c,this.a.a);S(b);
  3001. (c=RC(d,f))&&mF(d,b,c);M(d,b);xX(b,!1);NT(a)}}}else MT(a,b,(u5(),zxb),A([],B,y,1))}};function xxb(a,b,c,d,e){if(ji(d,"!")){MT(b,e,(u5(),Axb),A([d],B,y,1));var f=mi(d,63);if(0<f)return ji(d,":")?null:xxb(a,b,c,d.substr(f+1),e);d=null}return d}function Bxb(){this.b=0}var zxb,Axb,Cxb;l(Bxb,n);Bxb.prototype.H=function(a,b){a=this.a;var c=new vxb;c.a=this;Y(a,b,c)};function wxb(a,b){u5();MT(a,b,Cxb,A([],B,y,1))}function yxb(a){u5();return"exports"===a||"require"===a||"module"===a}
  3002. function u5(){u5=function(){};Cxb=U("UNSUPPORTED_DEFINE_SIGNATURE","Only define(function() ...), define(OBJECT_LITERAL) and define(['dep', 'dep1'], function(d0, d2, [exports, module]) ...) forms are currently supported.");zxb=U("NON_TOP_LEVEL_STATEMENT_DEFINE","The define function must be called as a top-level statement.");Axb=AJ("REQUIREJS_PLUGINS_NOT_SUPPORTED","Plugins in define requirements are not supported: {0}")}function Dxb(){}l(Dxb,n);
  3003. Dxb.prototype.b=function(a,b){var c=iWa(a,!1);c.H(null,b);c=c.a;ljb(mjb(c),c.b.a());P(b)&&(b=O(b));do{this.a.b=!1;var d=b,e=new v5,f=e,h=c;f.a=this.a;f.b=h;Y(a,d,e)}while(this.a.b)};function v5(){}l(v5,n);v5.prototype.ga=function(a,b,c){if(c){if(xH(b))return!1;if(P(c))return iG(b,c)}return!0};
  3004. v5.prototype.J=function(a,b,c){if(c&&!P(b)&&!tC(b)&&(a=this.b.Ub(b)))if(q(a.sb(),(Z1(),$1))&&lJ(fJ(this.a.a),b)){if(b&&(a=this.b.Ub(b)))switch(b.c.a){case 0:if(b.a)break;case 78:case 79:c=a.b,1!=c.w()||b.b&&!P(b.b)||(E(q(c.G(0).mf(),(LS(),IS))),a=Exb(this,b),c=c.G(0).a.a(),q(c,a)&&!Fxb(this,b.m(),b)&&Gxb(this,b))}}else a:if(a=b.m(),!(Aw(b)||Hw(b)&&!b.a||dV(a))){switch(b.c.a){case 75:case 113:break a;case 86:if(bI(a)&&j3a(b))break a;break;case 82:a=a.m(),T(),E(bI(a)),TS(a)||M(a,GG(Lw(),a))}gx(b)&&
  3005. !b.a.a||Gxb(this,b)}};function Fxb(a,b,c){return!b||P(b)?!1:lWa(b,c)?!0:Fxb(a,b.m(),b)}function Exb(a,b){for(b=WS(b,b,null);b&&Hw(b);)b=b.a?b.a:Exb(a,b);return b}function Gxb(a,b){a.a.b=!0;IX(b);Z(a.a.a,b);xj((Hxb(),Ixb),(sj(),rj))&&(Hxb(),r(b));wX(b.m(),b);uX(b,a.a.a)}v5.prototype.la=!0;function Jxb(){this.b=!1}var Ixb;l(Jxb,n);Jxb.prototype.H=function(){E(bJ(this.a.c));var a=this.a,b=new Dxb;b.a=this;Y(a,a.g,zWa(a,b))};function Hxb(){Hxb=function(){};Ixb=Efa(ka(la(Jxb)))}function Kxb(){}l(Kxb,n);
  3006. Kxb.prototype.H=function(a,b){for(a=b.a;a;a=a.b)E(tC(a)),this.ra(a,null)};Kxb.prototype.ra=function(a){if(g4a(a)){var b=a.a,c=(H(),Lt);b.c=c;xX(b,!0);Z(this.a,a);b=Lw();M(b,cx(ux("use strict")));c=Fw(rx(""),Iw(A([rx("exports")],lx,eI,1)),b);OT(this.a,c);c=IG(cx(px(sx(rx("goog"),ux("loadModule")),A([c],lx,eI,1))),a);a.a&&oD(b,pD(a));M(b,IG(bx(rx("exports")),a));M(a,c);OT(this.a,a)}};function Lxb(){}l(Lxb,n);Lxb.prototype.a=function(a){bT(a)&&this.b.add(a)};function Mxb(){}l(Mxb,n);
  3007. Mxb.prototype.a=function(a){if(sC(a)){if(E(sC(a)),0!=KG(a))throw pb("Root nodes should never be marked as changed.").s;}else if(bT(a)){var b=this.c.a.get(a);this.f.sa(b);var c=this.b;if(tF(a,(bF(),WF)))throw pb(r(c)+"existing scope is improperly marked as deleted:\n"+r(uD(a))).s;if(b){if(c=this.b,!sC(a))if(KG(a)>KG(b)){if(Nxb(a,b))throw pb(r(c)+"unchanged scope marked as changed: "+r(Oxb(a))).s;}else if(!Nxb(a,b))throw pb(r(c)+"changed scope not marked as changed: "+r(Oxb(a))).s;}else{b=this.c;c=
  3008. this.b;var d=KG(a);if(0==d||d<b.b)throw pb(r(c)+"new scope not explicitly marked as changed:\n"+r(uD(a))).s;}}};function Pxb(){this.b=0}l(Pxb,n);function Qxb(a){var b=new Pxb;b.a=xma();b.c=a;return b}function Rxb(a,b){a.a.Fa();a.b=a.c.ja;var c=NA(b);Sxb(a,b,c);return a}function Sxb(a,b,c){(sC(b)||bT(b))&&a.a.C(b,c);b=b.a;for(c=c.a;b;)Sxb(a,b,c),b=b.b,c=c.b}
  3009. function Oxb(a){var b=mY(a);switch(a.c.a){case 89:return"SCRIPT: "+r(b);case 69:var c=D2a(a);null==c&&(c="anonymous@"+XA(a)+":"+YA(a));return"FUNCTION: "+r(c)+" in "+r(b);default:throw pb("unexpected Node type").s;}}
  3010. function Nxb(a,b){if(!a||!b)return!a&&!b;if(!a.ae(b,!1,!1,!1,!0)||GA(a)!=GA(b)||P(a)&&P(b)&&qJ(a)!=qJ(b)||a.m()&&Gw(a.m())&&pG(a)!=pG(b))return!1;a=a.a;for(b=b.a;a&&b;){if(P(a)||tC(a)){if(!q(b.c,a.c))return!1;if(P(a)&&qJ(a)){var c=a.a.l(),d=b.a.l();if(!q(c,d))return!1}}else if(!Nxb(a,b))return!1;a=a.b;b=b.b}return!0}function Txb(){}l(Txb,U2);
  3011. Txb.prototype.J=function(a,b,c){if(c)if(tC(c)||NH(c))if(qJ(b))a=TT(b),w5(a)&&Uxb(this.a,a,b,c);else if((a=Vxb(b))&&P(a))a=TT(hF(b)),w5(a)&&Uxb(this.a,a,b,c);else if((a=Vxb(b))&&kA(a)){a=hF(b);var d=TT(a);Wxb(this,c,a,d,b)}else kA(b)&&(a=TT(b),Wxb(this,c,b,a,b));else if(nX(c)){if((a=c.m())&&(tC(a)||NH(a))){d=O(b);var e=EC(b.a);if(P(d)){if(w5(e))if(L(b.a))Uxb(this.a,e,c,a);else{d=this.a;var f=L3a(b.a);zi(EC(b.a),"window.")&&(f=Oa(EC(b.a),7));b=ne(e,0,ti(e,46));b=CN("%s(%s, '%s', %s);",[d.b,b,f,e]);
  3012. b=pD(Ljb(d.a,b));HG(b,a);lF(a,b,c);Z(d.a,b)}}else kA(d)&&Wxb(this,a,d,e,c)}}else if(Xxb(),SH(b)&&eH(b.m())&&jG(b,b.m())&&Yxb(a,iF(b)))for(c=BA(b).h();c.i();)a=c.j(),Lx(a)&&!a.bb()?(a.Pg(),Z(this.a.a,a)):LH(a)&&(d=b,e=a.l(),e=Px(e,UA(a)),pF(d,a,e),e.Pg(),Gx(e,nG(a)),Z(this.a.a,d))};
  3013. function Wxb(a,b,c,d,e){for(c=BA(O(c)).h();c.i();){var f=c.j();if(LH(f)){var h=f.l();if(w5(h)){var k=r(d)+".prototype."+r(h),m=r(d)+".prototype",p=NX(a.a.a,a.a.b,f,h),t=px(p,A([],lx,eI,1));L(p)&&Hx(t,(kx(),KE),!0);M(t,NX(a.a.a,m,f,m));M(t,ux(h));M(t,NX(a.a.a,k,f,k));f=cx(t);nF(b,f,e);Z(a.a.a,f);e=f}}}}function Vxb(a){return PI(a)?hF(a):null}function Zxb(){}var $xb;l(Zxb,n);Zxb.prototype.H=function(a,b){a=this.a;var c=new Txb;c.a=this;Y(a,b,c)};
  3014. function Uxb(a,b,c,d){var e=NX(a.a,a.c,c,b),f=px(e,A([],lx,eI,1));L(e)&&Hx(f,(kx(),KE),!0);M(f,ux(b));M(f,NX(a.a,b,c,b));b=cx(f);nF(d,b,c);Z(a.a,b)}function Yxb(a,b){if(!DC(b))return!1;var c=PX(b).l();a=ET(a).ob(c);return!a||mL(a)?yG(b,"goog.testing.testSuite"):fL(a.ya())?(b=rL(a),!!b&&eH(b)&&yG(b.a,"goog.require")&&kG(b)&&li(R(b).l(),"goog.testing.testSuite")):!1}function w5(a){Xxb();return null!=a&&PZa(RU($xb,a))}
  3015. function Xxb(){Xxb=function(){};$xb=QU("^(?:((\\w+\\.)+prototype\\.||window\\.)*(setUpPage|setUp|shouldRunTests|tearDown|tearDownPage|test[\\w\\$]+))$")}function ayb(){}l(ayb,qU);function byb(a,b){for(var c=b.f;c;c=c.m())if(tC(c))return c;if(null==b.a)return null;if(a=a.b.za.get(G(b.a))){if(!tC(a))return null;F(tC(a),a);return a}return null}function cyb(){this.f=this.g=!1}l(cyb,n);g=cyb.prototype;g.ga=function(a,b){this.f&&P(b)&&Xob(b,this.c.a.c)&&!this.b&&(this.b=ET(a));return!0};
  3016. g.J=function(a,b,c){var d=this.c.a.c;if((!c||iT(c)||jT(c))&&yH(b)){var e=hF(b);if(e&&(yG(e,"goog.provide")||yG(e,"goog.module"))){this.a=(eM(),BDa);return}}if(this.g&&xH(b))this.a=(eM(),bM),tF(b,(kx(),ME))||kG(b)&&dyb(a,b);else if(this.g&&GH(b))this.a=(eM(),bM),dyb(a,b);else if(this.f)if(!q(this.a,(eM(),BDa))&&xnb(a,b))this.a=(eM(),CDa);else if(z3(b,d)){e=A3(b,d);var f=DL(KR(AT(a)),e,WA(b),XA(b),YA(b));f&&(this.b||Xob(hX(b),d)?(e=AT(a),f=BL(f),e.o.B(f)||e.o.add(f)):(d=AT(a),f=BL(f),zL(),e=tCa(sCa(jCa(rCa(e),
  3017. f),(HL(),ACa))),JR(d,e)))}c&&(yH(c)||!JT(a))&&eH(b)&&yG(b.a,"goog.require")&&R(b)&&Dw(R(b))&&(b=R(b).l(),zi(b,"goog.")&&JR(AT(a),(zL(),AL)),JR(AT(a),dCa(b)))};g.Hb=function(){};g.Tb=function(a){q(ET(a),this.b)&&(this.b=null)};function dyb(a,b){var c=O(b).l();if(zi(c,"goog:"))c=c.substr(5);else{var d=DL(KR(AT(a)),c,WA(b),XA(b),YA(b));d||(d=EL(KR(AT(a)),c));c=BL(d)}zi(c,"goog.")&&JR(AT(a),(zL(),AL));JR(AT(a),gCa(c,O(b).l()))}g.la=!0;g.ic=!0;function eyb(){}l(eyb,n);
  3018. function x5(a,b){if(b.a.o&&(b=b.jd,!a.a||!q(a.a.ka(),b))){var c=new a8a;c.a=Uf();c.b=wq();c.c=b;a.a=c}}function fyb(){}l(fyb,n);function y5(){}l(y5,fyb);y5.prototype.toString=function(){return"PrefixReplacement{prefix="+r(this.a)+", replacement="+r(this.b)+"}"};y5.prototype.I=function(a){return q(a,this)?!0:a instanceof fyb?q(this.a,a.a)&&q(this.b,a.b):!1};y5.prototype.P=function(){var a=1000003^Yg(this.a);return a=1000003*a^Yg(this.b)};function gyb(){}l(gyb,n);
  3019. gyb.prototype.a=function(a,b,c,d){var e=this.b;hyb();var f=new iyb;jyb(f,a,b,c,d,e);return f};function iyb(){}var kyb;l(iyb,JL);function jyb(a,b,c,d,e,f){LCa(a,b,c,d,e);b=og(tg(f.V().S(),u(function(h){var k=h.M();h=h.O();var m=new y5;if(null==k)throw rb("Null prefix").s;m.a=k;if(null==h)throw rb("Null replacement").s;m.b=h;return m})),Jha(bc(new $b(function(h){return h.a.length})).ac().oc(u(function(h){return h.a}))));a.c=nm(b);a.v=og(vg(tg(a.c.S(),u(function(h){return h.a}))),sda())}
  3020. iyb.prototype.b=function(a,b,c,d,e){for(var f=b,h=!1,k=this.c.h();k.i();){var m=k.j();if(zi(b,m.a)){f=r(m.b)+r(b.substr(m.a.length));h=!0;break}}if(!h&&ML(f))return this.a.rd((yJ(),xJ),NL(c,d,e,kyb,A([f,this.v],B,y,1))),null;a=MCa(this,a,f);null==f&&this.a.rd((yJ(),xJ),NL(c,d,e,(OL(),QL),A([b],B,y,1)));return a};
  3021. iyb.prototype.g=function(a,b){if(KL(b))return JL.prototype.g.call(this,a,b);a=b;for(var c=this.c.h();c.i();){var d=c.j();if(zi(b,d.a)){a=r(d.b)+r(b.substr(d.a.length));break}}return LL(a,this.f)};function hyb(){hyb=function(){};kyb=U("JSC_INVALID_AMBIGUOUS_PATH",'The path "{0}" is invalid. Expected any of the following prefixes for non-relative paths: {1}.')}function lyb(){}l(lyb,n);lyb.prototype.a=function(a,b,c,d){var e=this.b;myb();var f=new z5;nyb(f,a,b,e,c,d);return f};function z5(){}
  3022. var oyb,pyb;l(z5,JL);function qyb(a,b){var c=um(new hc(function(h,k){var m=lba(k.length,h.length);return 0!=m?m:kc(h,k)}));for(a=a.h();a.i();){for(var d=a.j(),e=b.h();e.i();){var f=e.j();if(zi(d,f)){d=d.substr(f.length);break}}d=yi(d,"/node_modules/",0);e="";for(f=0;f<d.length-1;f++)f+1<d.length&&(e=r(e)+String(r(d[f])+"/")),c.add(e),e=r(e)+"node_modules/"}return Lha(c)}
  3023. function nyb(a,b,c,d,e,f){LCa(a,b,c,e,f);a.A=qyb(b,c);if(d){b=el();for(d=d.V().h();d.i();)c=d.j(),e=c.M(),ML(e)&&(e="/"+r(e)),b.L(e,c.O());d=b.Jb()}else d=Vj();a.c=d}
  3024. z5.prototype.b=function(a,b,c,d,e){if(tDa(b)||KL(b)){var f=ryb(this,a,b);null==f&&(f=syb(this,a,b));a=f}else a:{f=String(ML(a)?"/":"")+r(a);for(var h=this.A.h();h.i();){var k=h.j();if(zi(f,k)){k=r(k)+"node_modules/"+r(b);var m=ryb(this,a,k);null==m&&(m=syb(this,a,k));if(null!=m){a=m;break a}}}a=null}null==a&&this.a.rd((yJ(),xJ),NL(c,d,e,(OL(),QL),A([b],B,y,1)));return a};
  3025. function ryb(a,b,c){for(var d=oyb,e=0;e<d.length;e++){var f=d[e];f=r(c)+r(f);var h=NCa(a,b,f);if(a.c.X(h)&&(f=a.c.get(h),"$jscomp$browser$blacklisted"===f))break;f=MCa(a,b,f);if(null!=f)return f}return null}function syb(a,b,c){ki(c,"/")&&(c=ne(c,0,c.length-1));for(var d=0;d<pyb.length;d++){var e=MCa(a,b,r(c)+r(pyb[d]));if(null!=e)if("/package.json"===pyb[d]){if(a.c.X(e))return ryb(a,b,a.c.get(e))}else return e}return null}
  3026. function myb(){myb=function(){};oyb=A(["",".js",".json",".i.js",".js.i.js"],B,y,1);pyb=A(["/package.json","/index.js","/index.json"],B,y,1)}function tyb(){}l(tyb,n);tyb.prototype.a=function(a,b,c,d){for(var e=bf(),f=this.b.V().h();f.i();){var h=f.j(),k=LL(d.f(h.O()),b);ML(k)&&(k="/"+r(k));e.C(h.M(),k)}myb();f=new uyb;nyb(f,a,b,null,c,d);f.v=il(e);return f};function uyb(){}l(uyb,z5);uyb.prototype.b=function(a,b,c,d,e){var f=this.v.get(b);return null==f?z5.prototype.b.call(this,a,b,c,d,e):f};
  3027. var vyb,A5,wyb,B5,xyb,yyb,zyb,Ayb,Byb,Cyb,Dyb,Eyb,Fyb,Gyb,Hyb,Iyb,Jyb,Kyb,Lyb,Myb,C5,Nyb,Oyb,Pyb,Qyb,Ryb,Syb,Tyb,D5,Uyb,Vyb,Wyb,Xyb,Yyb,Zyb,$yb,azb,bzb,czb,dzb,ezb,fzb,gzb,hzb;function izb(a,b){E5();A5.C(a,b);return b}function F5(a,b){E5();b=lYa(a,b);A5.C(a,b);return b}function G5(a,b){E5();b=oYa(a,b);A5.C(a,b);return b}
  3028. function E5(){E5=function(){};vyb=AJ("JSC_UNUSED","{0}");hm("reportUnknownTypes","analyzerChecks","analyzerChecksInternal","missingSourcesWarnings");A5=bf();F5("untranspilableFeatures",A([(jzb(),kzb)],zJ,CJ,1));wyb=F5("featuresNotSupportedByPass",A([(H5(),lzb)],zJ,CJ,1));F5("moduleLoad",A([(OL(),QL),(I5(),mzb),(v3(),Hob),w3],zJ,CJ,1));B5=F5("globalThis",A([(p$a(),n$a)],zJ,CJ,1));F5("deprecated",A([(J5(),nzb),ozb,pzb,qzb,rzb,szb],zJ,CJ,1));izb("underscore",(tzb(),uzb));xyb=F5("visibility",A([vzb,wzb,
  3029. xzb,yzb,zzb,Azb,Bzb,K5],zJ,CJ,1));yyb=izb("accessControls",xyb);F5("nonStandardJsDocs",A([(nV(),b0a),a0a,W_a,(M$a(),r$a)],zJ,CJ,1));F5("invalidCasts",A([(tV(),v0a)],zJ,CJ,1));zyb=F5("strictModuleDepCheck",A([(L5(),Czb),(o9a(),d9a)],zJ,CJ,1));F5("violatedModuleDep",A([Dzb],zJ,CJ,1));F5("externsValidation",A([Ezb,Fzb],zJ,CJ,1));F5("unknownDefines",A([(M5(),Gzb)],zJ,CJ,1));F5("tweakValidation",A([(u4(),Ktb),Ltb,Mtb],zJ,CJ,1));Ayb=F5("missingOverride",A([(z_(),Seb),Veb,Reb],zJ,CJ,1));Byb=F5("missingProperties",
  3030. A([M0,cfb,L0],zJ,CJ,1));F5("globallyMissingProperties",A([L0],zJ,CJ,1));F5("j2clChecks",A([(Hzb(),Izb)],zJ,CJ,1));Cyb=F5("missingReturn",A([(jhb(),Igb)],zJ,CJ,1));Dyb=F5("undefinedVars",A([Jzb],zJ,CJ,1));Eyb=F5("undefinedNames",A([e9a],zJ,CJ,1));Fyb=F5("checkDebuggerStatement",A([(a9a(),Z8a)],zJ,CJ,1));F5("checkRegExp",A([(Jhb(),Fhb),Ghb],zJ,CJ,1));Gyb=G5("checkTypes",A([B0a,vfb,(F_(),igb),B5],lU,pU,1));Iyb=Hyb=F5("checkPrototypalTypes",A([Ueb,Veb,Web],zJ,CJ,1));F5("tooManyTypeParams",A([X_a],zJ,
  3031. CJ,1));Jyb=F5("strictMissingProperties",A([efb,bfb,dfb],zJ,CJ,1));Kyb=F5("strictPrimitiveOperators",A([pV],zJ,CJ,1));Lyb=G5("strictCheckTypes",A([Jyb,Kyb],lU,pU,1));Myb=F5("reportUnknownTypes",A([Meb],zJ,CJ,1));C5=F5("checkVars",A([Jzb,N5,(O5(),Kzb),P5],zJ,CJ,1));Nyb=F5("uselessCode",A([(Lzb(),Mzb),(jjb(),gjb)],zJ,CJ,1));Oyb=F5("const",A([Q5,R5,(Akb(),xkb)],zJ,CJ,1));F5("accessControlsConst",A([Q5,R5],zJ,CJ,1));Pyb=F5("constantProperty",A([Q5,R5],zJ,CJ,1));F5("typeInvalidation",A([(WY(),k5a),l5a],
  3032. zJ,CJ,1));Qyb=F5("duplicate",A([(S5(),Nzb),N5,sV,w0a,Ieb,P5],zJ,CJ,1));Ryb=F5("es5StrictUncommon",A([e0a,Z_a,(m5(),dxb),Wwb,fxb,Xwb,exb,gxb,ixb],zJ,CJ,1));Syb=F5("es5StrictReflection",A([Ywb,Zwb,axb,bxb],zJ,CJ,1));Tyb=G5("es5Strict",A([Ryb,Syb],lU,pU,1));D5=F5("missingProvide",A([(Ahb(),Bhb),(dZ(),P5a)],zJ,CJ,1));F5("unrecognizedTypeError",A([mV],zJ,CJ,1));Uyb=F5("missingRequire",A([(zgb(),rgb)],zJ,CJ,1));G5("missingSourcesWarnings",A([Myb,Eyb,Dyb,D5,oU(H_),oU(eZ),oU(mzb),Byb,Qyb,oU(Ozb),oU(QL)],
  3033. lU,pU,1));Vyb=F5("strictMissingRequire",A([rgb,qgb,pgb],zJ,CJ,1));Wyb=F5("stricterMissingRequire",A([(Egb(),Bgb)],zJ,CJ,1));Xyb=F5("stricterMissingRequireType",A([Cgb],zJ,CJ,1));F5("legacyGoogScopeRequire",A([qgb,(Pzb(),Qzb)],zJ,CJ,1));Yyb=F5("extraRequire",A([Qzb],zJ,CJ,1));F5("misplacedTypeAnnotation",A([w$a,x$a,t$a,z$a,y$a,w_,v$a],zJ,CJ,1));F5("misplacedMsgAnnotation",A([v$a],zJ,CJ,1));F5("misplacedSuppress",A([s$a],zJ,CJ,1));Zyb=F5("suspiciousCode",A([(Rzb(),Szb),(Xib(),Pib),Qib,Rib,Sib,Uib,Tib,
  3034. Jeb,Hob],zJ,CJ,1));F5("functionParams",A([agb,dgb],zJ,CJ,1));F5("deprecatedAnnotations",A([u$a],zJ,CJ,1));$yb=F5("unusedPrivateMembers",A([(vjb(),tjb)],zJ,CJ,1));azb=F5("unusedLocalVariables",A([Tzb],zJ,CJ,1));bzb=F5("jsdocMissingConst",A([(X8a(),V8a)],zJ,CJ,1));F5("jsdocMissingType",A([V_a],zJ,CJ,1));F5("unnecessaryEscape",A([$_a],zJ,CJ,1));F5("typeImportCodeReferences",A([(djb(),cjb)],zJ,CJ,1));F5("partialAlias",A([Uzb],zJ,CJ,1));czb=F5("useOfGoogProvide",A([(bZ(),s6a)],zJ,CJ,1));dzb=G5("lintChecks",
  3035. A([Vzb,czb,nU(A([(aZ(),I5a),(Wzb(),Xzb),(Yzb(),Zzb),($zb(),aAb),bAb,cAb,dAb,(eAb(),fAb),(gAb(),hAb),iAb,(jAb(),kAb),(lAb(),mAb),nAb,(oAb(),pAb),(qAb(),rAb),sAb,tAb,(T5(),uAb),vAb,(wAb(),xAb),(yAb(),zAb),(AAb(),BAb),(CAb(),DAb),(EAb(),FAb),r6a,q6a,M5a,(hZ(),e8a),U_a],zJ,CJ,1))],lU,pU,1));F5("strictModuleChecks",A([E6a,G6a,A6a,z6a],zJ,CJ,1));ezb=F5("analyzerChecksInternal",A([(GAb(),HAb),(IAb(),JAb),KAb,(F3(),npb),mpb],zJ,CJ,1));fzb=G5("analyzerChecks",A([ezb,$yb,bzb],lU,pU,1));F5("closureDepMethodUsageChecks",
  3036. A([gZ,(l0(),ccb),bcb],zJ,CJ,1));F5("transitionalSuspiciousCodeWarnings",A([(LAb(),U5)],zJ,CJ,1));gzb=F5("lateProvide",A([N5a],zJ,CJ,1));F5("missingPolyfill",A([(Lvb(),Dvb)],zJ,CJ,1));F5("polymer",A([(V5(),MAb)],zJ,CJ,1));hzb=F5("boundedGenerics",A([k0a,l0a],zJ,CJ,1));F5("polymerBehavior",A([W5],zJ,CJ,1));F5("invalidProvide",A([ucb],zJ,CJ,1));F5("es6Typed",A([j0a],zJ,CJ,1));izb("duplicateZipContents",lYa("duplicateZipContents",A([vyb],zJ,CJ,1)));F5("conflictingIjsFile",A([(NAb(),OAb)],zJ,CJ,1))}var OAb;
  3037. function NAb(){NAb=function(){};U("JSC_BAD_IJS_FILE_NAME","--ijs file name must end in .i.js: {0}");OAb=AJ("JSC_CONFLICTING_IJS_FILE","Found --ijs file in a conflict with --js or --weakdep file.\nFile 1: {0}\nFile 2: {1}")}function PAb(){}var Izb,QAb;l(PAb,RT);
  3038. PAb.prototype.J=function(a,b){for(a=QAb.oa().h();a.i();){var c=a.j(),d=b,e=c,f=QAb.get(c);if(q(d.c,(H(),Hs))||q(d.c,(H(),js))||q(d.c,(H(),Is))||OH(d)){c=d.a.f;var h=O(d).f;f=RAb(c,f)||RAb(h,f);c=(c?c.Kc()||c.Zb():!1)||(h?h.Kc()||h.Zb():!1);f&&!c&&X(this.a,V(d,Izb,A([e],B,y,1)))}}};function RAb(a,b){if(!a)return!1;a=a.Ia();if(!zy(a))return!1;a=(a=zy(a).ua())?mY(a.c):"";return null!=a&&ki(a,b)}PAb.prototype.H=function(a,b){Y(this.a,b,this)};
  3039. function Hzb(){Hzb=function(){};Izb=AJ("JSC_J2CL_REFERENCE_EQUALITY","Reference equality may not be used with the specified type: {0}");QAb=Pga("java.lang.Integer","java/lang/Integer.impl.java.js","java.lang.Float","java/lang/Float.impl.java.js","goog.math.Long","closure/goog/math/long.js")}function SAb(){this.a=!1}l(SAb,n);function TAb(a){var b=new SAb;b.b=Uf();b.c=a;return b}function UAb(a,b){a.b.Ud(b);return a}function VAb(a,b){a.a=b;return a}function WAb(a,b){a.f=b;return a}
  3040. function XAb(){this.b=!1}l(XAb,n);function YAb(){}l(YAb,n);function ZAb(a,b){var c=new YAb;c.b=a;c.a=b;return c}function X5(){}l(X5,n);X5.prototype.ga=function(a,b){$Ab(this,b,!0);return!0};
  3041. X5.prototype.J=function(a,b,c){var d=this.c.get(b);if(d){var e,f=d.b,h=d.a,k=Pn(aF(f.N(),(bF(),YF)),SZ(h));switch(f.a.a){case 0:case 1:var m=f.N();var p=m.m();var t=e=null;gx(p)||ix(p)?(F(L(m),m),e=m.a,t=m):kH(p)&&iG(m,p)?(e=O(p),!h.a&&q(h.hb(),f)||(t=p)):eG(m)?t=m:e=O(p);if(t){a:{m=e;p=t;if(eG(p)||m&&Y5(this,m).ed(!1))if(1==this.f.zg().xb())if(e=this.g.get(k)){h=e;h.f=m;if(h.b){k=!0;break a}X(this.a.a,V(p,(M5(),aBb),A([k,e.g],B,y,1)))}else e=new XAb,E(!!m||eG(p)),e.c=p,e.a=m,e.f=m,e.b=!0,this.g.C(k,
  3042. e),this.b.C(k,e);else X(this.a.a,V(p,(M5(),bBb),A([k],B,y,1)));else X(this.a.a,V(m?m:p,(M5(),Ozb),A([k],B,y,1)));k=!1}k&&(c_(d.a,f),this.o=t)}else X(this.a.a,V(e,(M5(),Ozb),A([k],B,y,1)));break;default:JT(a)&&(d=this.b.get(k))&&(M5(),t=[Fc(QWa(a)),a.u],t=Yx(cBb,t),d.b=!1,d.g=t,this.b.Ka(k))}}!IT(a)&&nG(b)&&Ay(nG(b),4)&&X(this.a.a,V(b,(M5(),bBb),A([""],B,y,1)));q(this.o,b)&&(this.o=null,kH(b)?(k=O(b),oF(b,k),pF(c,b,k)):(F(L(b),b),UA(b)),NT(a));if(eH(b)&&IT(a)){for(c=this.b.values().h();c.i();)k=c.j(),
  3043. d=a,M5(),d=[Fc(QWa(d)),d.u],d=Yx(cBb,d),k.b=!1,k.g=d;this.b.Fa()}$Ab(this,b,!1)};function $Ab(a,b,c){switch(b.c.a){case 72:case 76:case 77:case 69:case 63:case 70:case 71:case 74:c?a.f.Ea(Fc(0)):a.f.Tg()}}
  3044. function Y5(a,b){switch(b.c.a){case 34:case 33:case 38:case 37:return Xu(),Tu;case 65:case 64:case 13:case 3:case 20:case 1:case 2:case 16:case 4:case 18:case 9:case 8:case 7:case 10:case 6:case 17:case 15:case 5:case 11:case 39:case 40:case 14:case 12:return Y5(a,b.a).Te(Y5(a,O(b)));case 63:return Y5(a,b.a).Te(Y5(a,R(b))).Te(Y5(a,O(b)));case 19:case 22:case 21:return Y5(a,b.a);case 32:case 26:if(DC(b))return a.u.B(b)?(Xu(),Tu):(Xu(),Vu)}return Xu(),Uu}X5.prototype.la=!0;
  3045. function dBb(){this.b=!1}var Gzb,Ozb,bBb,aBb,eBb,fBb,cBb;l(dBb,n);function gBb(a){M5();var b=new dBb;b.a=a.c;b.c=il(a.b);b.b=a.a;b.f=a.f;return b}dBb.prototype.H=function(a,b){a=hBb(this,a,b);if(!this.b)for(b=a.V().h();b.i();){var c=b.j(),d=c.M();c=c.O();var e=this.c.get(d);e=e?e:c.f;!q(e,c.a)&&(xj((sj(),rj))&&r(d),d=!q(e.c,c.a.c)||!tD(e,c.a))&&(pF(c.c,c.a,NA(e)),d&&Z(this.a,c.c))}for(a=Fia(this.c.oa(),Eia(eBb,a.oa())).h();a.i();)b=a.j(),X(this.a,UL(Gzb,A([b],B,y,1)))};
  3046. function hBb(a,b,c){var d=null;a.f&&(d=a.f.f());d||(d=LZ(a.a,b,c));for(var e=w(),f=l$a(d).values().h();f.i();){var h=f.j(),k=h.hb();if(h.Yb()&&Ay(h.Yb(),4)){var m=ZD(h.Yb()),p=eJ(a.a);m=sD(m,null,p);!m.aa()&&vy(m,qy(p,(I(),nw)))?e.add(h):(h=V(k.N(),fBb,A([],B,y,1)),X(a.a,h))}else for(p=NZ(h).h();p.i();){var t=p.j();if(!q(t,k)&&(m=t.N().m(),t=nG(t.N()),!t&&gx(m)&&gF(m)&&(t=nG(m)),t&&Ay(t,4))){e.add(h);break}}}f=new X5;h=d;f.a=a;f.b=bf();f.g=bf();f.c=bf();f.u=ef();f.o=null;f.f=Uk();f.f.Ea(Fc(1));d=
  3047. ef();bn(d,h.Ee());for(e=e.h();e.i();)for(h=e.j(),d.sa(h),(k=h.hb())&&f.c.C(k.N(),ZAb(k,h)),p=NZ(h).h();p.i();)m=p.j(),q(m,k)||m.b&&l_(m.b)||f.c.C(m.N(),ZAb(m,h));bn(f.u,f.c.oa());for(k=!0;k;){k=!1;e=ef();for(d=d.h();d.i();)if(h=d.j(),h.hb()){p=(p=iBb(h.hb().N()))?Y5(f,p):(Xu(),Uu);if(p.ed(!1)){for(k=NZ(h).h();k.i();)m=k.j(),f.u.add(m.N());k=!0}q(p,(Xu(),Vu))&&e.add(h)}d=e}tT(a.a,f,b,c);return f.g}
  3048. function iBb(a){M5();var b=a.m();return b?L(a)?ix(b)?a.a:gx(b)?(b=tL(a))&&bE(b)?a.a:null:null:N(a)&&kH(b)?(b=tL(a))&&bE(b)?a.b:null:null:null}
  3049. function M5(){M5=function(){};eBb=em("COMPILED","goog.DEBUG");Gzb=AJ("JSC_UNKNOWN_DEFINE_WARNING","unknown @define variable {0}");fBb=U("JSC_INVALID_DEFINE_TYPE_ERROR","@define tag only permits literal types");Ozb=U("JSC_INVALID_DEFINE_INIT_ERROR","illegal initialization of @define variable {0}");bBb=U("JSC_NON_GLOBAL_DEFINE_INIT_ERROR","@define variable {0} assignment must be global");aBb=U("JSC_DEFINE_NOT_ASSIGNABLE_ERROR","@define variable {0} cannot be reassigned due to code at {1}.");cBb=cra("line {0} of {1}")}
  3050. function Z5(){}var HAb,jBb;l(Z5,RT);function kBb(a){GAb();var b=new Z5;b.a=a;return b}function lBb(a,b){if(!eH(b)||!DC(b.a))return!1;var c=EC(b.a);if(!jBb.B(c))return!1;b=R(b);if(!b)return!1;b=b.f;return!!b&&mBb(a,b)}function mBb(a,b){if(b.Af())return!0;var c=b.Xb();if(c&&c.c.Af())return!0;if(jy(b))for(a=qy(eJ(a.a),(I(),pv)),b=Zy(b.nb()).h();b.i();)if(vy(b.j(),a))return!0;return!1}Z5.prototype.J=function(a,b){lBb(this,b)&&X(this.a,V(b,HAb,A([EC(b.a)],B,y,1)))};
  3051. Z5.prototype.H=function(a,b){Y(this.a,b,this)};Z5.prototype.ra=function(a){Y(this.a,a,this)};
  3052. function GAb(){GAb=function(){};jBb=jm("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",A("goog.object.getAnyKey goog.object.getAnyValue goog.object.contains goog.object.getValues goog.object.getKeys goog.object.findKey goog.object.findValue goog.object.isEmpty goog.object.clear goog.object.remove goog.object.equals goog.object.clone goog.object.transpose".split(" "),B,y,1));HAb=AJ("JSC_ARRAY_PASSED_TO_GOOG_OBJECT","{0} expects an object, not an array. Did you mean to use goog.array?")}
  3053. function $5(){}var Xzb;l($5,RT);function nBb(a){Wzb();var b=new $5;b.a=a;b.b=MX(a);return b}$5.prototype.H=function(a,b){Y(this.a,b,this)};$5.prototype.ra=function(a){Y(this.a,a,this)};$5.prototype.J=function(a,b){if(KT(a))switch(b.c.a){case 80:case 104:var c=nG(b);if(!c||!Ay(c,1))for(b=eT(b).h();b.i();)c=b.j(),this.b.Bf(c.l())&&MT(a,c,Xzb,A([c.l()],B,y,1))}};
  3054. function Wzb(){Wzb=function(){};Xzb=BJ("JSC_MISSING_CONST_ON_CONSTANT_CASE",'CONSTANT_CASE name "{0}" is constant-by-convention, so must be explicitly `const` or @const')}function a6(){}var Szb;l(a6,RT);function oBb(a){Rzb();var b=new a6;b.a=a;return b}a6.prototype.H=function(a,b){Y(this.a,b,this)};a6.prototype.ra=function(a){Y(this.a,a,this)};a6.prototype.J=function(a,b){if(XH(b)){var c=ef();for(b=R(b);b;b=b.b){var d=cU(this.a,b.a);c.add(d)||MT(a,b,Szb,A([],B,y,1))}}};
  3055. function Rzb(){Rzb=function(){};Szb=AJ("JSC_DUPLICATE_CASE","Duplicate case in a switch statement.")}function pBb(){}var Zzb;l(pBb,RT);function qBb(a){Yzb();var b=new pBb;b.a=a;return b}pBb.prototype.H=function(a,b){Y(this.a,b,this)};pBb.prototype.J=function(a,b){Aw(b)&&EI(b)&&MT(a,b,Zzb,A([],B,y,1))};function Yzb(){Yzb=function(){};Zzb=BJ("JSC_USELESS_EMPTY_STATEMENT","Useless empty statement. (fix with go/fixjs)")}function rBb(){}var aAb,bAb,cAb,dAb;l(rBb,RT);
  3056. function sBb(a){$zb();var b=new rBb;b.a=a;return b}rBb.prototype.H=function(a,b){Y(this.a,b,this)};rBb.prototype.J=function(a,b){if(SH(b)){var c=tL(b);if(c&&iE(c)){for(c=BA(b).h();c.i();){var d=c.j(),e=a;rH(d)?MT(e,d,aAb,A([],B,y,1)):(Lx(d)&&NG(d)&&MT(e,d,dAb,A([],B,y,1)),MX(this.a).Vl(d.l())||MT(e,d,cAb,A([],B,y,1)))}c=ef();for(b=BA(b).h();b.i();){if(e=O(b.j()))if(Dw(e))d=e.l();else if(RH(e))d=""+e.ab();else break;else break;c.add(d)||MT(a,e,bAb,A([d],B,y,1))}}}};
  3057. function $zb(){$zb=function(){};bAb=BJ("JSC_DUPLICATE_ENUM_VALUE","The value {0} is duplicated in this enum.");aAb=BJ("JSC_COMPUTED_PROP_NAME_IN_ENUM","Computed property name used in enum.");dAb=BJ("JSC_SHORTHAND_ASSIGNMENT_IN_ENUM","Shorthand assignment used in enum.");cAb=BJ("JSC_ENUM_PROP_NOT_CONSTANT","enum key {0} must be in ALL_CAPS.")}function tBb(){this.a=0}var uBb,vBb,wBb,xBb;l(tBb,z);function yBb(a,b,c){var d=new tBb;d.b=a;d.a=b;d.f=c;return d}tBb.prototype.toString=function(){return this.f};
  3058. tBb.prototype.R=function(a){return z.prototype.c.call(this,a)};function b6(){b6=function(){};uBb=yBb("IMPORT",0,"import statements");vBb=yBb("DECLARE_MODULE_ID",1,"a call to goog.declareModuleId()");wBb=yBb("GOOG_REQUIRE",2,"calls to goog.require()");xBb=yBb("OTHER",3,"other statements")}function zBb(){}var fAb;l(zBb,cT);function ABb(a){eAb();var b=new zBb;b.a=xm();b.b=a;return b}
  3059. zBb.prototype.ga=function(a,b,c){switch(b.c.a){case 85:return!0;case 89:return tF(b,(kx(),$E));case 116:return this.a.ia(),!0;case 109:return c6(this,a,b,(b6(),uBb)),!1;case 88:a:{if(NH(c)&&eH(b.a)){c=b.a;if(yG(c.a,"goog.declareModuleId")){c6(this,a,c,(b6(),vBb));a=!1;break a}if(yG(c.a,"goog.require")){c6(this,a,c,(b6(),wBb));a=!1;break a}}c6(this,a,b,(b6(),xBb));a=!0}return a;case 80:case 104:case 92:a:{if(NH(c)&&gF(b)&&gF(b.a)&&eH(hF(b))&&(c=hF(b),yG(c.a,"goog.require"))){c6(this,a,c,(b6(),wBb));
  3060. a=!1;break a}c6(this,a,b,(b6(),xBb));a=!0}return a;default:return c&&NH(c)&&c6(this,a,b,(b6(),xBb)),!1}};function c6(a,b,c,d){a.a.add(d);a=a.a.Qg(d,!1);a.D()||MT(b,c,fAb,A([d.toString(),tk(qk(", "),a)],B,y,1))}zBb.prototype.H=function(a,b){Y(this.b,b,this)};function eAb(){eAb=function(){};fAb=AJ("JSC_MUST_COME_BEFORE_IN_ES6_MODULE","In ES6 modules, {0} should come before {1}.")}function d6(){}var hAb,iAb;l(d6,n);function BBb(a){gAb();var b=new d6;b.a=bf();b.b=a;return b}
  3061. d6.prototype.J=function(a,b){NH(b)&&this.a.Fa()};d6.prototype.ga=function(a,b){switch(b.c.a){case 85:case 116:return!0;case 89:return tF(b,(kx(),$E));case 109:var c=O(b).l(),d=this.a.qb(c,b);d&&MT(a,b,hAb,A([c,""+XA(d),""+YA(d)],B,y,1));return!1;case 113:return tF(b,(kx(),ME))&&MT(a,b,iAb,A([],B,y,1)),!1;default:return!1}};d6.prototype.H=function(a,b){Y(this.b,b,this)};
  3062. function gAb(){gAb=function(){};hAb=AJ("JSC_DUPLICATE_IMPORT",'The module "{0}" has already been imported at {1}, {2}.');iAb=AJ("JSC_DEFAULT_EXPORT","Do not use the default export. There is no way to force consistent naming when imported.")}d6.prototype.la=!0;function e6(){}var Qzb,CBb;l(e6,RT);e6.prototype.H=function(a,b){this.a.ia();this.b.Fa();Y(this.c,b,this)};e6.prototype.ra=function(a){this.H(null,a)};
  3063. function DBb(a,b){a=a.a;if(!N(a))return null;for(var c=0;c<b.length;c++)if(yG(a,b[c])){var d=a.b;if(d&&Dw(d))return d.l()}return null}
  3064. e6.prototype.J=function(a,b,c){EBb(this,b);switch(b.c.a){case 32:DX(b)||N(c)||Bw(c)||(Fi(DC(b),b),FBb(this,qG(b)));break;case 26:!N(c)&&DC(b)&&(Fi(DC(b),b),FBb(this,qG(b)));break;case 28:a=DBb(b,A(["goog.require","goog.requireType"],B,y,1));null!=a?GBb(this,a,b,c):(a=DBb(b,A(["goog.forwardDeclare"],B,y,1)),null!=a?GBb(this,a,b,c):yG(b.a,"goog.module.get")&&Dw(R(b))&&this.a.add(R(b).l()));break;case 89:for(b=this.b.V().h();b.i();)if(a=b.j(),c=a.M(),a=a.O(),!this.a.B(c)&&!CBb.B(c)&&!ki(c,".testdeps")){var d=
  3065. tL(a);d&&WD(d).B("extraRequire")||X(this.c,V(a,Qzb,A([c],B,y,1)))}this.a.ia();this.b.Fa();break;case 109:if(c=b.a,L(c)&&f6(this,c.l(),b),c=c.b,wya(c))for(c=BA(c).h();c.i();)a=c.j(),f6(this,O(a).l(),b)}};function f6(a,b,c){a.b.X(b)||a.b.C(b,c)}function GBb(a,b,c,d){if(L(d))f6(a,d.l(),c);else if(Yw(d)&&$w(d.a))if(d.a.a)for(b=BA(d.a).h();b.i();)c=b.j().a,L(c)&&f6(a,c.l(),c);else f6(a,b,c);else f6(a,b,c)}function FBb(a,b){for(a.a.add(b.Vc());!b.Ed();)b=b.fe(),a.a.add(b.Vc())}
  3066. function EBb(a,b){(b=nG(b))&&ng(tg(ug(Twa(b).oa().S(),u(function(c){return owa(c).S()})),u(function(c){return Wx(c)})),zb(function(c){FBb(a,c)}))}function Pzb(){Pzb=function(){};Qzb=BJ("JSC_EXTRA_REQUIRE_WARNING","extra require: ''{0}'' is never referenced in this file");CBb=gm("goog.testing.asserts","goog.testing.jsunit","goog.testing.JsTdTestCaseAdapter")}function g6(){}var mAb,nAb,HBb;l(g6,RT);function IBb(a){lAb();var b=new g6;b.a=a;return b}g6.prototype.H=function(a,b){Y(this.a,b,this)};
  3067. g6.prototype.ra=function(a){Y(this.a,a,this)};g6.prototype.J=function(a,b){if(P(b)){var c=tL(b);c=!!c&&eE(c)}else c=!1;if(c&&(c=R(b),c.a&&MT(a,c.a,nAb,A([],B,y,1)),c=O(b),c.a))if(Ay(tL(b),134217728))for(b=BA(c).h();b.i();){if(c=b.j(),!(yH(c)&&N(c.a)&&SC(hF(c))&&nG(c.a))){MT(a,c,HBb,A([],B,y,1));break}}else MT(a,c.a,mAb,A([],B,y,1))};
  3068. function lAb(){lAb=function(){};HBb=BJ("JSC_NON_DECLARATION_STATEMENT_IN_RECORD","@record functions should not contain statements other than field declarations");mAb=BJ("JSC_INTERFACE_FUNCTION_NOT_EMPTY","interface functions must have an empty body");nAb=BJ("JSC_INTERFACE_SHOULD_NOT_TAKE_ARGS","Interface functions should not take any arguments")}function h6(){}l(h6,n);h6.prototype.ga=function(a,b,c){return!c||tC(b)};
  3069. h6.prototype.J=function(a,b){if(tC(b)){var c=nG(b);c&&Ay(c,32768)||MT(a,b,(tzb(),JBb),A([],B,y,1))}};h6.prototype.la=!0;function KBb(){this.a=!1}l(KBb,cT);KBb.prototype.ga=function(a,b,c){return this.a?!1:!c||iT(c)||jT(c)?Ux(b)&&b.a?(this.a=!0,!1):!0:!1};function LBb(){}var uzb,Vzb,JBb,MBb,NBb,OBb,PBb,QBb,RBb,SBb,TBb,UBb,VBb,WBb,XBb;l(LBb,RT);function YBb(a){tzb();var b=new LBb;b.a=a;return b}LBb.prototype.H=function(a,b){Y(this.a,b,this);Y(this.a,a,new h6)};
  3070. LBb.prototype.J=function(a,b){switch(b.c.a){case 69:var c=tL(b);ZBb(a,b,c);if(c||$Bb(b)){if(IT(a)||$Bb(b)||!KD(c).D()||hE(c))if(!c||!Ay(c,64))if(!c||!ZD(c)){var d=c?Wl(KD(c)):Ll();if(d.D())for(d=BA(lX(b)).h();d.i();){var e=d.j(),f=vH(e)?nG(e.a):nG(e);if(f)f=ZD(f),Li(f,"Inline JSDoc info should always have a type"),aCb(a,e,null,f);else{MT(a,e,UBb,A([],B,y,1));break}}else if(e=lX(b),mG(e,d.w()))for(e=e.a,f=0;f<d.w();f++){nG(e)&&MT(a,e,TBb,A([],B,y,1));var h=d.G(f),k=LD(c,h);if(aCb(a,e,h,k))break;e=
  3071. e.b}else MT(a,e,SBb,A([],B,y,1))}pH(gG(b))&&(d=b.m(),(VH(d)||CH(d))&&c&&gE(c)&&MT(a,b,PBb,A([],B,y,1)));c&&(gE(c)||dE(c)||hE(c)||Ay(c,64))||BY(b)||nG(b.a)||(c=new KBb,Y(this.a,O(b),c),c.a&&MT(a,b,XBb,A([],B,y,1)))}else{if(c=bCb(a,b))c=(c=sY(b))?tY(c):null,c=!(null!=c&&w5(c));c&&MT(a,b,RBb,A([],B,y,1))}break;case 100:c=tL(b);ZBb(a,b,c);c&&dE(c)&&MT(a,b,QBb,A([],B,y,1));break;case 50:cCb(this,a,b);break;case 80:case 104:case 92:case 95:case 89:break;case 102:case 90:case 91:gX(b)&&cCb(this,a,b);break;
  3072. default:c=nG(b),ZBb(a,b,c)}};function ZBb(a,b,c){c&&(c=c.b?c.b.o:null,(null==c?0:ji(c,"@code"))&&MT(a,b,MBb,A([],B,y,1)))}function cCb(a,b,c){var d=tL(c);ZBb(b,c,d);if(!VW(c)){if(LH(c)||CH(c)||VH(c))var e=c.l();else{E(kH(c));e=c.a;if(!N(e))return;e=O(e).l()}d&&null!=e&&(MX(a.a).ue(e)&&!cd(d.c,(HD(),CD))&&mE(d)?MT(b,c,NBb,A([],B,y,1)):MX(a.a).Ol()&&!MX(a.a).ue(e)&&cd(d.c,(HD(),CD))&&MT(b,c,OBb,A([e],B,y,1)))}}
  3073. function bCb(a,b){if(!JT(a)&&!KT(a))return!1;if(qJ(b)||PI(gG(b))||kH(b.m())||xH(b.m()))return!0;if(pH(gG(b))){a=b.m();if(LH(a))return!(BY(b)&&!lX(b).a);if(CH(a)||VH(a))return!0}return SH(gG(b))&&CY(gG(b).m(),"Polymer")?!0:!1}function aCb(a,b,c,d){var e=b;vH(b)?(e=b.a,b=!0):L(b)?b=zi(b.l(),"opt_"):(F(Xw(b)||Jw(b),b),b=!1);if(null==c||!L(e))c="<unknown name>";else if(!yG(e,c))return MT(a,e,VBb,A([],B,y,1)),!0;d=!!d&&rD(d);return b&&!d?(MT(a,e,WBb,A([c],B,y,1)),!0):!1}
  3074. function $Bb(a){if(nG(a.a))return!0;for(a=BA(lX(a)).h();a.i();){var b=a.j(),c;(c=nG(b))||(c=vH(b)&&b.a&&L(b.a)&&nG(b.a)?!0:!1);if(c)return!0}return!1}
  3075. function tzb(){tzb=function(){};QBb=BJ("JSC_CLASS_DISALLOWED_JSDOC","@constructor annotations are redundant on classes.");RBb=BJ("JSC_MISSING_JSDOC","Function must have JSDoc.");PBb=BJ("JSC_TYPE_ON_GETTER_SETTER","Getters and setters must not have @type annotations. Did you mean @return or @param instead?");UBb=BJ("JSC_MISSING_PARAMETER_JSDOC","Parameter must have JSDoc.");TBb=BJ("JSC_MIXED_PARAM_JSDOC_STYLES","Functions may not use both @param annotations and inline JSDoc");XBb=BJ("JSC_MISSING_RETURN_JSDOC",
  3076. "Function with non-trivial return must have JSDoc indicating the return type.");NBb=BJ("JSC_MUST_BE_PRIVATE",'Properties ending with "_" must be marked @private');OBb=BJ("JSC_MUST_HAVE_TRAILING_UNDERSCORE","Private property {0} should end with ''_''");WBb=BJ("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL","Parameter {0} is optional so its type must end with =");SBb=BJ("JSC_WRONG_NUMBER_OF_PARAMS","Wrong number of @param annotations");VBb=BJ("JSC_INCORRECT_PARAM_NAME","Incorrect param name. Are your @param annotations in the wrong order?");
  3077. JBb=BJ("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED","Externs files should be annotated with @externs in the @fileoverview block.");MBb=BJ("JSC_PREFER_BACKTICKS_TO_AT_SIGN_CODE","Use `some_code` instead of '{'@code some_code'}'.");Vzb=nU(A([QBb,RBb,PBb,UBb,TBb,XBb,WBb,SBb,VBb,JBb,MBb],zJ,CJ,1));uzb=nU(A([NBb,OBb],zJ,CJ,1));mYa(A([Vzb,uzb],lU,pU,1))}function dCb(){}var pAb;l(dCb,RT);function eCb(a){oAb();var b=new dCb;b.a=a;return b}dCb.prototype.H=function(a,b){Y(this.a,b,this)};
  3078. dCb.prototype.J=function(a,b){if(!tC(b)&&EI(b)&&fCb(this,b))a:{var c=Sz(b);if(c instanceof XL){try{var d=c.b}catch(e){e=va(e);if(Fa(e))break a;throw e.s;}c=b.u;0!=c&&(c=aya(b)+c-1,59!=d.charCodeAt(c)&&MT(a,b,pAb,A([],B,y,1)))}}};function fCb(a,b){return P(b)||kA(b)||Hw(b)||mx(b)||NH(b)||iT(b)&&!tya(b)?!1:xH(b)?fCb(a,b.a):!0}function oAb(){oAb=function(){};pAb=BJ("JSC_MISSING_SEMICOLON","Missing semicolon (fix with go/fixjs)")}function i6(){}var kAb;l(i6,n);
  3079. function gCb(a){jAb();var b=new i6;b.b=lo().a();b.a=ef();b.c=a;return b}i6.prototype.J=function(a,b){if(NH(b)){a=this.b.Pc();b=this.a;Li(a,"set1");Li(b,"set2");var c=new kia;c.a=a;c.b=b;for(a=c.h();a.i();)for(b=a.j(),c=this.b.Ua(b).h();c.i();){var d=c.j();X(this.c,V(d,kAb,A([b],B,y,1)))}this.b.ye();this.a.ia()}};
  3080. i6.prototype.ga=function(a,b){switch(b.c.a){case 89:return tF(b,(kx(),$E));case 113:if(gF(b)&&q(b.a.c,(H(),lu)))for(b=BA(b.a).h();b.i();)a=b.j(),E(kG(a)),this.a.add(a.a.l());else if(gF(b)&&!tF(b,(kx(),NE)))if(a=b.a,PI(a))for(b=eT(a).h();b.i();)a=b.j(),E(L(a)),this.a.add(a.l());else if(tF(b,(kx(),ME))){if(kA(a)||P(a))b=a.a,Aw(b)||te(b.l())||this.a.add(b.l())}else E(kA(a)||P(a)),this.a.add(a.a.l());return!0;case 32:return a=ET(a),DX(b)&&!fL(WR(a))&&(a=a.T(b.l()))&&fL(a.ya())&&this.b.Aa(b.l(),b),!0;
  3081. default:return!0}};i6.prototype.H=function(a,b){Y(this.c,b,this)};function jAb(){jAb=function(){};kAb=AJ("JSC_MUTATED_EXPORT",'The name "{0}" is exported and should not be mutated outside of module initialization. Mutable exports are generally difficult to reason about. You can work around this by exporting getter/setter functions, or an object with mutable properties instead.')}i6.prototype.la=!0;function hCb(){}var rAb,sAb,tAb,iCb;l(hCb,RT);
  3082. function jCb(a){qAb();var b=new hCb;b.f=ef();b.b=ef();b.c=ef();b.a=ef();b.g=a;return b}hCb.prototype.H=function(a,b){tT(this.g,this,a,b)};
  3083. hCb.prototype.J=function(a,b){var c=nG(b);if(c){this.a.na(XD(c));this.a.na(zE(c).oa());if(gE(c))a:{var d=ZD(c);if(CX(b.a,b)){var e=sL(b.a);if(e&&QH(e)){j6(this,d,!1,e);break a}}j6(this,d,!1,null)}for(d=KD(c).h();d.i();)e=d.j(),LD(c,e)&&(e=LD(c,e),j6(this,e,!1,null));hE(c)&&j6(this,QD(c,1073741824),!1,null);iE(c)&&j6(this,QD(c,1610612736),!1,null);jE(c)&&j6(this,QD(c,-2147483648),!1,null);c.f&&j6(this,c.f,!0,null);for(c=YD(c).h();c.i();)d=c.j(),j6(this,d,!1,null)}if(tC(b)){for(b=this.b.h();b.i();)c=
  3084. b.j(),kCb(this,c)&&MT(a,c,rAb,A([lCb(c)],B,y,1));for(b=this.c.h();b.i();)c=b.j(),kCb(this,c)&&MT(a,c,sAb,A([lCb(c)],B,y,1));for(b=this.f.h();b.i();)c=b.j(),kCb(this,c)&&MT(a,c.m(),tAb,A([lCb(c)],B,y,1));this.f.ia();this.b.ia();this.c.ia();this.a.ia()}};function kCb(a,b){return!Dw(b)||!a.a.B(b.l())}
  3085. function j6(a,b,c,d){var e=b.a;lY(e,new AW(function(f){var h=f.m(),k=mCb(f)||P(f)||q(f.c,(H(),Gu)),m=nCb(f),p=!!h&&q(h.c,(H(),zu)),t=!!h&&q(h.c,(H(),yu)),v=p&&!(c&&q(h,e)),C=!!h&&(TC(h)||SC(h));h=!!h&&cI(h);!m||p||t||C||h?k&&v&&a.f.add(f):d&&QH(d)?a.c.add(f):a.b.add(f)}))}function mCb(a){return Dw(a)&&iCb.B(a.l())}function nCb(a){return Dw(a)&&!iCb.B(a.l())}function lCb(a){if(P(a))return"Function";if(q(a.c,(H(),Gu)))return"Record literal";E(mCb(a)||nCb(a));return a.l()}
  3086. function qAb(){qAb=function(){};rAb=BJ("JSC_MISSING_NULLABILITY_MODIFIER_JSDOC","{0} is a reference type with no nullability modifier, which is disallowed by the style guide.\nPlease add a '!' to make it explicitly non-nullable, or a '?' to make it explicitly nullable.");sAb=BJ("JSC_NULL_MISSING_NULLABILITY_MODIFIER_JSDOC","{0} is a reference type with no nullability modifier that is explicitly set to null.\nAdd a '?' to make it explicitly nullable.");tAb=BJ("JSC_REDUNDANT_NULLABILITY_MODIFIER_JSDOC",
  3087. "{0} is a non-reference type which is already non-nullable.\nPlease remove the redundant '!', which is disallowed by the style guide.");iCb=jm("boolean","number","string","symbol","undefined","void",A(["null"],B,y,1))}function oCb(){}var JAb,KAb,pCb;l(oCb,n);function qCb(a){IAb();var b=new oCb;b.a=a;return b}g=oCb.prototype;
  3088. g.J=function(a,b,c){IAb();if(b=Hw(b)&&!!b.a&&rCb(b.m())&&!(gF(b)&&$H(b.a))){a=GT(a);b=a.b;var d=a.a,e=pCb,f=hk();lhb();var h=new mhb;h.c=a;h.a=b;h.b=d;h.o=e;h.f=f;h.g=!0;b=!xhb(h)}b&&(a=D2a(c),null==a||te(a)?X(this.a,V(c,JAb,A([],B,y,1))):X(this.a,V(c,KAb,A([a],B,y,1))))};function rCb(a){if(!a||!P(a))return!1;var b=a.f.ha();if(!b)return!1;b=HA(b);if(!b||b.aa()||!b.td())return!1;a=tL(a);return!!a&&hE(a)}g.ga=function(){return!0};g.H=function(a,b){Y(this.a,b,this)};g.ra=function(a,b){Y(this.a,b,this)};
  3089. function IAb(){IAb=function(){};JAb=BJ("JSC_NULLABLE_RETURN","This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable.");KAb=BJ("JSC_NULLABLE_RETURN_WITH_NAME",'The return type of the function "{0}" is nullable, but it always returns a non-null value. Consider making the return type non-nullable.');pCb=Ti(function(a){if(!a||!Ux(a))return!1;a=a.a;var b;if(b=!!a)b=a.f.td()||TH(a)&&QH(O(a));return b})}g.la=!0;function sCb(){}
  3090. l(sCb,n);sCb.prototype.a=function(a){if(Dw(a)){var b=a.l();(T5(),tCb).B(b)&&MT(this.b,a,(T5(),vAb),A([b],B,y,1))}};function k6(){}var uAb,vAb,tCb;l(k6,RT);function uCb(a){T5();var b=new k6;b.a=a;return b}k6.prototype.H=function(a,b){Y(this.a,b,this)};k6.prototype.ra=function(a){Y(this.a,a,this)};k6.prototype.J=function(a,b){if(TC(b)){var c=b.a;L(c)&&(c=c.l(),tCb.B(c)&&MT(a,b,uAb,A([c],B,y,1)))}if(b=nG(b))for(b=AE(b).h();b.i();){c=b.j();var d=new sCb;d.b=a;lY(c,d)}};
  3091. function T5(){T5=function(){};uAb=AJ("JSC_PRIMITIVE_OBJECT","Explicit creation of a {0} object.");vAb=AJ("JSC_PRIMITIVE_OBJECT_DECLARATION","Declaration of {0} object instead of primitive type.");tCb=gm("Boolean","Number","String")}function vCb(){}var xAb;l(vCb,n);function wCb(a){wAb();var b=new vCb;b.a=a;return b}g=vCb.prototype;g.H=function(a,b){Y(this.a,b,this)};g.ra=function(a,b){Y(this.a,b,this)};
  3092. g.J=function(a,b){J3a(b)&&(a=b.a,b=O(a),jH(b)||SH(b))&&(b=tL(b),b&&iE(b)||(b=O(a.a).l(),X(this.a,V(a,xAb,A([b],B,y,1)))))};g.ga=function(){return!0};function wAb(){wAb=function(){};xAb=BJ("JSC_ILLEGAL_PROTOTYPE_MEMBER","Prototype property {0} should be a primitive, not an Array or Object.")}g.la=!0;function xCb(){this.a=0}var yCb;l(xCb,z);function zCb(){var a=new xCb;a.b="COLLECT_AND_REPORT";a.a=1;return a}xCb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  3093. function ACb(){ACb=function(){};yCb=zCb()}function l6(){this.c=!1}var zAb;l(l6,n);l6.prototype.ga=function(a,b,c){return!this.c&&(!c||sC(c)||tC(c)||NH(c))};l6.prototype.J=function(a,b){if(tC(b))BCb(this,a);else{if(a=yH(b))a=b.a,a=eH(a)&&kG(a)&&yG(a.a,"goog.provide")&&Dw(R(a));a?(this.a.add(R(b.a).l()),this.f||(this.f=b)):this.a.D()||(this.c=!0)}};
  3094. function BCb(a,b){a.b=og(vg(Ida(a.a.S())),Rl());cd(a.a,a.b)||(a.g=hi("\n",op(a.b,gj(function(c){var d=Mg();x(d,"goog.provide('");x(d,c);x(d,"');");return d.toString()}))),q(a.o,(ACb(),yCb))&&MT(b,a.f,zAb,A([a.g],B,y,1)))}function yAb(){yAb=function(){};zAb=AJ("JSC_PROVIDES_NOT_SORTED","goog.provide() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n")}l6.prototype.la=!0;function m6(){}l(m6,n);m6.prototype.c=function(a){xq();return kma.a(this.a,a.a).a(this.b,a.b).c()};
  3095. function n6(){}l(n6,m6);function CCb(a,b){var c=new n6;if(null==a)throw rb("Null exportedName").s;c.a=a;if(null==b)throw rb("Null localName").s;c.b=b;return c}n6.prototype.toString=function(){return"DestructuringBinding{exportedName="+r(this.a)+", localName="+r(this.b)+"}"};n6.prototype.I=function(a){return q(a,this)?!0:a instanceof m6?q(this.a,a.a)&&q(this.b,a.b):!1};n6.prototype.P=function(){var a=1000003^Yg(this.a);return a=1000003*a^Yg(this.b)};
  3096. n6.prototype.R=function(a){return m6.prototype.c.call(this,a)};function o6(){this.a=0}var DCb,ECb,FCb,GCb;l(o6,z);function HCb(a,b,c){var d=new o6;d.b=a;d.a=b;d.f=c;return d}function ICb(a,b){JCb();return a.a<b.a?a:b}o6.prototype.toString=function(){return this.f};o6.prototype.R=function(a){return z.prototype.c.call(this,a)};function JCb(){JCb=function(){};DCb=HCb("REQUIRE",0,"goog.require");ECb=HCb("REQUIRE_TYPE",1,"goog.requireType");GCb=FCb=HCb("FORWARD_DECLARE",2,"goog.forwardDeclare")}
  3097. function KCb(a){return a instanceof o6}function p6(){}l(p6,n);function q6(a,b,c,d,e){Fi(null==d||!e,"Import statement cannot be simultaneously aliasing and destructuring");var f=new r6;LCb(f,a,b,c,d,e);return f}function MCb(a,b){if(!q(ICb(a.f,b),a.f)){var c=new r6;LCb(c,a.c,b,a.g,a.b,a.a);a=c}return a}
  3098. function NCb(a){var b=Mg();null==a.b&&!a.a||x(b,"const ");null!=a.b&&x(b,a.b);if(a.a){x(b,"{");for(var c=!0,d=a.a.h();d.i();){var e=d.j(),f=e.a;e=e.b;c?c=!1:x(b,", ");x(b,f);q(f,e)||(x(b,": "),x(b,e))}x(b,"}")}null==a.b&&!a.a||x(b," = ");x(b,a.f.toString());x(b,"('");x(b,a.g);x(b,"');");return b.toString()}p6.prototype.o=function(a){return kc(NCb(this),NCb(a))};function r6(){}l(r6,p6);
  3099. function LCb(a,b,c,d,e,f){if(!b)throw rb("Null nodes").s;a.c=b;if(!c)throw rb("Null primitive").s;a.f=c;if(null==d)throw rb("Null namespace").s;a.g=d;a.b=e;a.a=f}r6.prototype.toString=function(){return"ImportStatement{nodes="+r(this.c)+", primitive="+r(this.f)+", namespace="+r(this.g)+", alias="+r(this.b)+", destructures="+r(this.a)+"}"};
  3100. r6.prototype.I=function(a){return q(a,this)?!0:a instanceof p6?this.c.I(a.c)&&cd(this.f,a.f)&&q(this.g,a.g)&&(null==this.b?null==a.b:q(this.b,a.b))&&(this.a?this.a.I(a.a):!a.a):!1};r6.prototype.P=function(){var a=1000003^this.c.P();a=1000003*a^ed(this.f);a=1000003*a^Yg(this.g);a=1000003*a^(null==this.b?0:Yg(this.b));return a=1000003*a^(this.a?this.a.P():0)};r6.prototype.R=function(a){return p6.prototype.o.call(this,a)};function OCb(){this.a=0}var PCb;l(OCb,z);
  3101. function QCb(){var a=new OCb;a.b="COLLECT_AND_REPORT";a.a=1;return a}OCb.prototype.R=function(a){return z.prototype.c.call(this,a)};function RCb(){RCb=function(){};PCb=QCb()}function s6(){this.b=!1}var BAb;l(s6,n);s6.prototype.ga=function(a,b,c){return!this.b&&(!c||sC(c)||tC(c)||NH(c))};
  3102. s6.prototype.J=function(a,b){if(tC(b))SCb(this,a);else{a=null;yH(b)?a=b.a:PI(b)&&(a=O(b.a));var c;if(c=a)c=a,c=eH(c)&&kG(c)&&(yG(c.a,"goog.require")||yG(c.a,"goog.requireType")||yG(c.a,"goog.forwardDeclare"))&&Dw(R(c));if(c){var d=a;b:{a=EC(d.a);JCb();c=A([DCb,ECb,FCb],o6,KCb,1);for(var e=0;e<c.length;e++){var f=c[e];if(q(f.f,a)){a=f;break b}}throw ua("Invalid primitive name "+r(a)).s;}c=R(d).l();f=d.m();if(yH(f))a=q6(Ml(f),a,c,null,null);else if(d=f.m(),L(f))e=f.l(),a=q6(Ml(d),a,c,e,null);else{e=
  3103. Mj();for(f=BA(f.a).h();f.i();){var h=f.j(),k=h.l();h=h.a.l();e.W(CCb(k,h))}a=q6(Ml(d),a,c,null,e.fa())}this.g.add(a);this.f.Aa(a.g,a);this.c||(this.c=b)}else this.f.Rg()||(this.b=!0)}};function SCb(a,b){a.a=TCb(a.f);cd(a.g,a.a)||(a.o=hi("\n",op(a.a,gj(function(c){for(var d=Mg(),e=c.c.h();e.i();){var f=e.j(),h=hxa(f);te(h)||x(x(d,hxa(f)),"\n");(f=tL(f))&&x(x(d,f.b?f.b.o:null),"\n")}x(d,NCb(c));return d.toString()}))),q(a.u,(RCb(),PCb))&&MT(b,a.c,BAb,A([a.o],B,y,1)))}
  3104. function TCb(a){for(var b=w(),c=a.Pc().h();c.i();){for(var d=c.j(),e=a.Ua(d),f=Hda(tg(e.S(),u(function(t){return t.f})),(JCb(),GCb),new Df(function(t,v){return ICb(t,v)})),h=!1,k=np(e,Ti(function(t){return null!=t.b})).h();k.i();)h=k.j(),b.add(MCb(h,f)),h=!0;k=!1;var m=og(ug(sg(e.S(),fd(function(t){return!!t.a})),u(function(t){return t.c.S()})),Rl()),p=og(vg(Ida(ug(sg(e.S(),fd(function(t){return!!t.a})),u(function(t){return t.a.S()})))),Rl());p.D()||(b.add(q6(m,f,d,null,p)),k=!0);h||k||(e=og(ug(sg(e.S(),
  3105. fd(function(t){return null==t.b&&!t.a})),u(function(t){return t.c.S()})),Rl()),b.add(q6(e,f,d,null,null)))}Tca(b);return b}function AAb(){AAb=function(){};BAb=AJ("JSC_REQUIRES_NOT_SORTED","goog.require() and goog.requireType() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n")}s6.prototype.la=!0;function UCb(){this.b=!1}l(UCb,n);function VCb(){}var DAb;l(VCb,n);function WCb(a){CAb();var b=new VCb;b.b=a;return b}g=VCb.prototype;g.H=function(a,b){Y(this.b,b,this)};
  3106. g.ra=function(a){Y(this.b,a,this)};g.ga=function(a,b){switch(b.c.a){case 78:case 79:if(b.a)for(a=this.a;a;){if(li(a.c,b.a.l())){a.b=!0;break}a=a.a}return!1;case 87:b=b.a.l();a=new UCb;var c=this.a;a.c=b;a.a=c;this.a=a}return!0};g.J=function(a,b){KH(b)&&this.a&&(this.a.b||MT(a,b,DAb,A([b.a.l()],B,y,1)),this.a=this.a.a)};function CAb(){CAb=function(){};DAb=BJ("JSC_UNUSED_LABEL","Unused label {0}.")}g.la=!0;function XCb(){}var FAb;l(XCb,n);
  3107. function YCb(a){EAb();var b=new XCb;b.b=a;b.a=Uk();return b}g=XCb.prototype;g.H=function(a,b){Y(this.b,b,this)};g.ra=function(a){Y(this.b,a,this)};function ZCb(a,b){a.a.D()||q(a.a.Na(),b)&&a.a.Ta()}g.ga=function(a,b,c){switch(b.c.a){case 86:(a=b.m())&&(tC(a)||Hw(a)&&!PG(a)&&!RG(a))&&!PG(b)&&!RG(b)&&this.a.Ea(b);break;case 104:case 92:ZCb(this,c);break;case 100:rJ(b)&&ZCb(this,c);break;case 69:qJ(b)&&ZCb(this,c)}return!0};
  3108. g.J=function(a,b){Hw(b)&&!this.a.D()&&q(this.a.Na(),b)&&(this.a.Ta(),MT(a,b,FAb,A([],B,y,1)))};function EAb(){EAb=function(){};FAb=BJ("JSC_USELESS_BLOCK","Useless block.")}g.la=!0;function $Cb(){this.c=!1}l($Cb,cT);
  3109. $Cb.prototype.ga=function(a,b,c){switch(b.c.a){case 116:case 89:case 28:case 86:return!0;case 69:return eH(c)&&q(c,this.a.c);case 88:b=b.a;if(kH(b))if(a=b.a,b=R(b),L(a)&&li(a.l(),"exports")){a:if(SH(b)&&b.a){for(c=BA(b).h();c.i();){var d=c.j();if(!Lx(d)||d.bb()||!L(d.a)){c=!1;break a}}c=!0}else c=!1;if(c)for(b=BA(b).h();b.i();)c=b.j(),aDb(this,c.l(),c);else this.c=!0;this.b.C("*exports*",cW(UV($V(u1a(bW(aW(WV("*exports*"),a),this.a),this.f),this.a.a)),a))}else N(a)&&L(a.a)&&li(a.a.l(),"exports")&&
  3110. (b=R(a).l(),aDb(this,b,a));else N(b)&&(a=b.a,L(a)&&li(a.l(),"exports")&&(a=R(b).l(),aDb(this,a,b)));return!1;case 92:case 80:case 104:bDb();(a=Yw(b.a)?R(b.a):hF(b))&&eH(a)&&kG(a)&&Dw(R(a))?(a=a.a,N(a)?(c=a.a,c=L(c)&&li(c.l(),"goog")?cDb.get(R(a).l()):null):c=null):c=null;if(c)if(a=new dDb,D(PI(b)),a.a=b,a.b=c,b=R(Yw(a.a.a)?R(a.a.a):hF(a.a)).l(),L(a.a.a))c=a.a.a,a=Ml(eDb(c.l(),lW(kW(jW(hW(iW(gW(b),c.l()),"*exports*"),a.a),c)),a.b));else if(d=hF(a.a),$w(d)){c=Mj();for(d=BA(d).h();d.i();){var e=d.j();
  3111. if(Lx(e)){var f=fF(e);L(f)&&c.W(eDb(f.l(),lW(kW(jW(hW(iW(gW(b),f.l()),e.l()),a.a),f)),a.b))}}a=c.fa()}else a=Ll();else a=Ll();for(a=a.h();a.i();)b=a.j(),this.g.qb(b.c,b);return!1;default:return!1}};function aDb(a,b,c){a.c||a.b.X(b)||a.b.C(b,cW(UV($V(u1a(bW(aW(WV(b),c),a.a),a.f),a.a.a)),c))}function fDb(){}l(fDb,n);function eDb(a,b,c){D(b1a(c));var d=new t6;if(null==a)throw rb("Null localName").s;d.c=a;if(!b)throw rb("Null importRecord").s;d.b=b;if(!c)throw rb("Null createdBy").s;d.a=c;return d}
  3112. function t6(){}l(t6,fDb);t6.prototype.toString=function(){return"Require{localName="+r(this.c)+", importRecord="+r(this.b)+", createdBy="+r(this.a)+"}"};t6.prototype.I=function(a){return q(a,this)?!0:a instanceof fDb?q(this.c,a.c)&&cd(this.b,a.b)&&cd(this.a,a.a):!1};t6.prototype.P=function(){var a=1000003^Yg(this.c);a=1000003*a^ed(this.b);return a=1000003*a^ed(this.a)};function dDb(){}var cDb;l(dDb,n);
  3113. function bDb(){bDb=function(){};cDb=Pga("require",(FV(),Y0a),"requireType",Z0a,"forwardDeclare",$0a)}function gDb(){}l(gDb,RT);gDb.prototype.J=function(a,b){if(L(b)){var c=ET(a);if(DX(b)&&!fL(WR(c))&&(a=this.a.Ua(b.l()),!a.D()&&(b=c.T(b.l()))&&fL(b.ya())))for(b=Jd(a).h();b.i();){a=b.j();c=this.b.indexOf(a);var d=a,e=new r1a;e.f=d.b;e.A=d.f;e.o=d.g;e.u=d.a;e.v=d.A;e.g=d.c;e.F=d.u;e.a=d.o;e.c=d.v;e.b=d.F;d=p1a(s1a(e,!0));this.b.Rb(c,d);this.a.eg(a.a,a);this.a.Aa(a.a,d)}}};
  3114. function u6(a){return zi(a,"goog:")}function hDb(){}l(hDb,tW);g=hDb.prototype;g.Gj=function(){this.c=this.o=null;this.g.Fa();this.f.Fa()};g.$e=function(){return this.F};function iDb(a,b,c,d,e){if(a.g.X(c))return a.g.get(c);b=jDb(a,b,c,d,e);a.g.C(c,b);return b}
  3115. function jDb(a,b,c,d,e){c=a.u.get(c);var f=kDb(b,c);if(f){var h="*"===c.c;if(h||"default"===c.c&&(PV(f.$e())||NV(f.$e())))return u6(c.b)||!NV(f.$e())&&!PV(f.$e())?h&&u6(c.b)?(X(a.a.a,NL(a.b.toString(),XA(c.a),YA(c.a),(v6(),mDb),A([c.g,c.b],B,y,1))),sW(),nW):rW(w1a(f.$e(),c.f,null,!0,u6(c.b)?c.b.substr(5):null,(FV(),a1a))):(X(a.a.a,NL(a.b.toString(),XA(c.a),YA(c.a),(v6(),lDb),A([c.g,c.b],B,y,1))),sW(),nW);b=f.bg(b,c.b,c.c,d,e);return O1a(b)||M1a(b)?qW(b)?(X(a.a.a,NL(a.b.toString(),XA(c.a),YA(c.a),
  3116. (v6(),oDb),A([c.c],B,y,1))),sW(),nW):pW(b,c.f?c.f:c.a,(FV(),a1a)):(X(a.a.a,NL(a.b.toString(),XA(c.a),YA(c.a),(I5(),nDb),A([c.c],B,y,1))),sW(),nW)}return sW(),nW}function pDb(a,b){a.c||(a.c=a.hj(b,ef()));return a.c}
  3117. g.hj=function(a,b){if(b.B(this))return dm();b.add(this);for(var c=xm(),d=this.v.h();d.i();){var e=d.j();c.add(e.b)}for(d=this.A.h();d.i();)e=d.j(),c.add(e.b);for(d=this.K.h();d.i();){e=d.j();var f=qDb(a,e.f,e.A,e.c);if(f)if(MV(f.$e()))for(e=f.hj(a,b).h();e.i();)f=e.j(),"default"===f||c.B(f)||c.add(f);else X(this.a.a,V(e.c,(FZ(),EZ),A(["Wildcard export for non-ES module"],B,y,1)))}return nm(c)};
  3118. function rDb(a,b,c,d,e){if(!pDb(a,b).B(c))return sW(),L1a;if(!d.add(y1a(a,c)))return X(a.a.a,NL(a.b.toString(),0,0,(v6(),sDb),A([c],B,y,1))),sW(),nW;for(var f=a.v.h();f.i();){var h=f.j();if(q(c,h.b))return rW(cW(h,h.u?h.u:h.c))}for(h=a.A.h();h.i();)if(f=h.j(),q(c,f.b)){if(a.u.X(f.a))return pW(iDb(a,b,f.a,d,e),f.u,(FV(),DV));if(c=qDb(b,f.f,f.A,f.c)){b=c.bg(b,f.f,f.g,d,e);if(O1a(b)||M1a(b))qW(b)&&X(a.a.a,NL(a.b.toString(),XA(f.c),YA(f.c),(v6(),oDb),A([f.g],B,y,1)));else return X(a.a.a,NL(a.b.toString(),
  3119. XA(f.c),YA(f.c),(I5(),nDb),A([f.g],B,y,1))),sW(),nW;return pW(b,f.u,(FV(),DV))}return sW(),nW}F("default"!==c,"Default export cannot come from export *.");if(e.B(a))return X(a.a.a,NL(a.b.toString(),-1,-1,(v6(),sDb),A([c],B,y,1))),sW(),nW;e.add(a);f=null;for(a=a.K.h();a.i();){h=a.j();var k=qDb(b,h.f,h.A,h.c);if(!k)return sW(),nW;if(k.Bk(b).B(c)){k=k.bg(b,h.f,c,d,e);if(M1a(k)||qW(k))return k;if(!f)f=pW(k,h.c,(FV(),DV));else if(!q(f,k))return sW(),K1a}}return f?f:(sW(),nW)}
  3120. g.Bk=function(a){return pDb(this,a)};
  3121. g.bl=function(a){if(!this.o){for(var b=bf(),c=this.u.oa().h();c.i();){var d=c.j(),e=iDb(this,a,d,ef(),ef());N1a(e)&&b.C(d,e.a)}c=Xf(b);b=bf();for(d=this.v.h();d.i();)if(e=d.j(),b.C(e.a,e),"*default*"!==e.a){var f=this.al(a,e.b);F(N1a(f),"Cannot have invalid missing own export!");qW(f)||c.C(e.a,f.a)}c=wW(new vW,il(c));d=Uf();for(e=pDb(this,a).h();e.i();){f=e.j();var h=this.al(a,f);F(O1a(h),"Cannot have invalid own export.");N1a(h)?d.C(f,h.a):qW(h)&&X(this.a.a,NL(this.b.toString(),-1,-1,(v6(),tDb),
  3122. A([f],B,y,1)))}this.o=xW(W1a(V1a(T1a(S1a(U1a(c,il(d)),this.F),this.b),il(b)),this))}return this.o};g.bg=function(a,b,c,d,e){this.f.X(c)?c=this.f.get(c):(a=rDb(this,a,c,d,e),this.f.C(c,a),c=a);return c};function uDb(){}l(uDb,n);function w6(a,b){if(null==b.b)a.c.add(b);else{if(a.f.B(b.b))return!1;a.c.add(b);a.f.add(b.b)}return!0}function x6(){}var lDb,mDb,oDb,tDb,sDb,y6;l(x6,n);
  3123. x6.prototype.f=function(a,b,c){this.c=a;a=new uDb;a.b=this;a.g=b;a.o=c;a.a=bf();a.c=w();a.f=ef();this.b=a;Y(this.a,c,this);b=this.b;var d=w();a=am();c=am();for(var e=b.c.h();e.i();){var f=e.j();null==f.f?b.a.X(f.a)?a.W(f):d.add(f):"*"===f.g?c.W(f):a.W(f)}e=b.b.a;f=b.o;var h=new gDb;h.b=d;h.a=wq();for(var k=d.h();k.i();){var m=k.j();h.a.Aa(m.a,m)}Y(e,f,h);e=il(b.a);d=Wl(d);a=a.fa();c=c.fa();f=new hDb;h=b.b.c;k=b.g;f.a=b.b;f.F=h;f.b=k;f.u=e;f.v=d;f.A=a;f.K=c;f.c=null;f.g=bf();f.f=bf();this.b=this.c=
  3124. f.o=null;return f};x6.prototype.ga=function(a,b){switch(b.c.a){case 85:case 89:case 116:case 113:case 109:return!0;default:return!1}};
  3125. x6.prototype.J=function(a,b){switch(b.c.a){case 113:if(tF(b,(kx(),NE)))w6(this.b,UV(bW(aW($V(ZV(YV(XV(WV(null),R(b).l()),"*"),null),KR(AT(a))),b),this.c)));else if(tF(b,(kx(),ME))){var c=b.a,d="*default*";if(P(c)||kA(c))c=TT(c),!c||(d=c);w6(this.b,UV(bW(aW($V(ZV(YV(XV(WV("default"),null),null),d),KR(AT(a))),b),this.c)))||MT(a,b,y6,A(["default"],B,y,1))}else if(kG(b))for(d=hF(b);d;d=d.b){c=d.a.l();var e=O(d).l();w6(this.b,UV(bW(t1a(aW($V(ZV(YV(XV(WV(e),R(b).l()),c),null),KR(AT(a))),b),d.a),this.c)))||
  3126. MT(a,b,y6,A([e],B,y,1))}else if(q(b.a.c,(H(),lu)))for(d=hF(b);d;d=d.b)c=d.a.l(),e=O(d).l(),w6(this.b,UV(bW(t1a(aW($V(ZV(YV(XV(WV(e),null),null),c),KR(AT(a))),b),d.a),this.c)))||MT(a,b,y6,A([e],B,y,1));else if(d=b.a,PI(d))for(d=eT(d).h();d.i();)c=d.j(),E(L(c)),e=c.l(),w6(this.b,UV(bW(t1a(aW($V(ZV(YV(XV(WV(e),null),null),e),KR(AT(a))),b),c),this.c)))||MT(a,b,y6,A([e],B,y,1));else E(P(d)||kA(d)),d=d.a,c=d.l(),w6(this.b,UV(bW(t1a(aW($V(ZV(YV(XV(WV(c),null),null),c),KR(AT(a))),b),d),this.c)))||MT(a,b,
  3127. y6,A([c],B,y,1));break;case 109:if(d=O(b).l(),L(b.a)&&(c=lW(kW(jW(C1a(iW(hW(gW(d),"default"),b.a.l()),KR(AT(a))),b),b.a)),this.b.a.C(c.g,c)),wya(R(b)))for(c=R(b).a;c;c=c.b){e=c.a.l();var f=O(c).l();e=lW(kW(jW(C1a(iW(hW(gW(d),e),f),KR(AT(a))),b),R(c)));this.b.a.C(e.g,e)}else Cw(R(b))&&(a=lW(kW(C1a(jW(iW(hW(gW(d),"*"),R(b).l()),b),KR(AT(a))),R(b))),this.b.a.C(a.g,a))}};
  3128. function v6(){v6=function(){};tDb=AJ("JSC_AMBIGUOUS_EXPORT_DEFINITION",'The export "{0}" is ambiguous.');sDb=U("JSC_CYCLIC_EXPORT_DEFINITION",'Cyclic export detected while resolving name "{0}".');y6=U("JSC_DUPLICATE_EXPORT",'Duplicate export of "{0}".');oDb=U("JSC_IMPORTED_AMBIGUOUS_EXPORT",'The requested name "{0}" is ambiguous.');mDb=U("JSC_NAMESPACE_IMPORT_CANNOT_USE_STAR","Namespace imports ('goog:some.Namespace') cannot use import * as. Did you mean to import {0} from ''{1}'';?");lDb=U("JSC_CANNOT_PATH_IMPORT_CLOSURE_FILE",
  3129. "Cannot import Closure files by path. Use either import 'goog:namespace' or goog.require('namespace')")}x6.prototype.la=!0;function vDb(){}l(vDb,tW);g=vDb.prototype;g.Gj=function(){};g.bl=function(){return xW(W1a(S1a(T1a(V1a(U1a(wW(new vW,Vj()),Vj()),Vj()),this.b),this.a),this))};g.$e=function(){return this.a};g.Bk=function(){return dm()};g.hj=function(){return dm()};g.bg=function(a,b,c){return rW(cW(UV(u1a($V(bW(ZV(s1a(new r1a,!1),c),this.a),this.b),null)),null))};function wDb(){}l(wDb,n);
  3130. function kDb(a,b){return b.o?qDb(a,b.b,b.o,b.a):xDb(a,b.b)}function xDb(a,b){var c=a.a.b.get(b);c||(c=a.a.f.f(n1a(SV(l1a(m1a(QV(TV(h1a(b),!1),(KV(),HV)),null),null),!0)),null,null),a.a.b.C(b,c));return c}function qDb(a,b,c,d){if(u6(b))return xDb(a,b.substr(5));d=DL(c,b,c.toString(),XA(d),YA(d));if(!d&&(d=EL(c,b),!a.a.a.X(BL(d)))){b=d;c=n1a(SV(TV(QV(m1a(l1a(new LV,null),b),(KV(),GV)),!1),!1));var e=new vDb;e.b=b;e.a=c;a.a.a.C(BL(d),e);return e}return a.a.a.get(BL(d))}function yDb(){}l(yDb,tW);g=yDb.prototype;
  3131. g.Gj=function(){};g.$e=function(){return this.a};g.hj=function(){throw wb().s;};g.Bk=function(){throw wb().s;};g.bl=function(a,b){a=null;null!=b&&u6(b)&&(a=b.substr(5));b=V1a(wW(U1a(S1a(T1a(new vW,this.b),this.a),Vj()),Vj()),Vj());b.b=a;return xW(W1a(b,this))};g.al=function(){throw wb().s;};g.bg=function(a,b,c){a=null;null!=b&&u6(b)?a=b.substr(5):PV(this.a)&&(a=b);return q(this.a.f,(KV(),f1a))&&"default"!==c?(sW(),L1a):rW(cW(UV(u1a($V(bW(WV(c),this.a),this.b),a)),this.c))};function zDb(){}l(zDb,n);
  3132. zDb.prototype.f=function(a,b,c){var d=new yDb;d.a=a;d.b=b;d.c=c;return d};function ADb(){}var mzb,nDb,BDb;l(ADb,n);function CDb(a){var b=new wDb;b.a=a;var c=bf(),d=bf();do for(var e=Fia(a.a.oa(),c.oa()).Pl().h();e.i();){var f=e.j(),h=P1a(a.a.get(f),b);c.C(f,h);for(f=h.a.b.h();f.i();){var k=f.j();d.C(k,h)}}while(!c.oa().Db(a.a.oa()));do for(e=Fia(a.b.oa(),d.oa()).Pl().h();e.i();)h=e.j(),d.C(h,P1a(a.b.get(h),b));while(!d.oa().Db(a.b.oa()));a.a.Fa();a.b.Fa();return Y1a(il(c),il(d))}
  3133. function DDb(a,b){switch(b.f.a){case 0:var c=a.o;break;case 2:case 3:c=a.g;break;default:c=a.f}c=c.f(b,b.a,b.c);b.a&&a.a.C(BL(b.a),c);for(b=b.b.h();b.i();){var d=b.j();a.b.C(d,c)}}ADb.prototype.H=function(){var a=this.c,b;this.a.Fa();this.b.Fa();for(b=this.u.c.h();b.i();){var c=b.j();DDb(this,c)}b=CDb(this);a.A=b};
  3134. ADb.prototype.ra=function(a,b){for(a=this.c.K.c.h();a.i();){var c=a.j();if(aG(b).I(lT(c.c)))DDb(this,c);else{if(c.a){var d=yW(this.c.A,c.a);this.a.C(BL(c.a),d.c);d.c.Gj()}for(c=c.b.h();c.i();){d=c.j();var e=this.c.A.a.get(d);this.b.C(d,e.c);e.c.Gj()}}}b=CDb(this);this.c.A=b};
  3135. function I5(){I5=function(){};mzb=U("JSC_MISSING_NAMESPACE_IMPORT",'Imported Closure namespace "{0}" never defined.');nDb=U("JSC_DOES_NOT_HAVE_EXPORT",'Requested module does not have an export "{0}".');BDb=U("JSC_DOES_NOT_HAVE_EXPORT_WITH_DETAILS",'Requested module does not have an export "{0}".{1}')}function EDb(){}l(EDb,tW);function FDb(a,b){return a.a.X(b)?rW(a.a.get(b)):(sW(),L1a)}g=EDb.prototype;g.$e=function(){return this.c};g.hj=function(){throw wb().s;};g.Gj=function(){this.b=null};
  3136. g.Bk=function(){throw wb().s;};
  3137. g.bl=function(a){if(!this.b){for(var b=bf(),c=this.f.oa().h();c.i();){var d=c.j();var e=a;var f=this.f.get(d);var h=f.b,k=kDb(e,h);if(k)if("*exports*"===h.c)k=k.$e(),e=h.f,h=h.b,f=f.a,Ii(b1a(f),"Expected goog.require(Type) or goog.forwardDeclare, got %s",f),f=w1a(k,e,null,!0,h,f),f=rW(f);else if(e=k.bg(e,h.b,h.c,ef(),ef()),O1a(e)||M1a(e))f=pW(e,h.f?h.f:h.a,f.a);else{f=h;h="";if(k instanceof EDb&&(e=k.a,e.X("*exports*"))){h=Hi('\nThe goog.module "%s" cannot be destructured as it contains a default export, not named exports. See %s.',[f.b,
  3138. "https://github.com/google/closure-library/wiki/goog.module%3A-an-ES6-module-like-alternative-to-goog.provide#destructuring-imports"]);b:{k=f.c;e=e.get("*exports*").a.c;F(xG(e,"exports")&&kH(e.m()),e);e=e.b;if(SH(e))for(e=BA(e).h();e.i();){var m=e.j();if(Lx(m)&&li(m.l(),k)){k=!0;break b}}k=!1}k&&(h=r(h)+r(Hi('\nEither use a non-destructuring require or rewrite the goog.module "%s" to support destructuring requires. For example, consider replacing\n exports = {%s: <value>[, ...]};\nwith individual named export assignments like\n exports.%s = <value>;\n',
  3139. [f.b,f.c,f.c])))}X(this.g,NL(this.u,XA(f.a),YA(f.a),(I5(),BDb),A([f.c,h],B,y,1)));f=(sW(),nW)}else f=(sW(),nW);N1a(f)&&b.C(d,f.a)}a=Xf(b);a=V1a(wW(U1a(S1a(T1a(new vW,this.o),this.c),this.a),il(a)),Vj());b=Wj(this.c.b);a.b=b;this.b=xW(W1a(a,this))}return this.b};g.al=function(a,b){return FDb(this,b)};g.bg=function(a,b,c){return FDb(this,c)};function GDb(){}l(GDb,n);
  3140. GDb.prototype.f=function(a,b,c){Ii(tC(c)||eH(c),"Unexpected module root %s",c);Fi(eH(c)||!!b,"Non goog.loadModules must have a path");var d=new $Cb;d.a=a;d.b=Uf();d.g=Uf();d.f=Wj(a.b);d.c=!1;Y(this.a,c,d);c=WA(c);var e=il(d.b);d=il(d.g);var f=new EDb,h=this.a;f.b=null;f.c=a;f.u=c;f.o=b;f.a=e;f.f=d;f.g=h;return f};function HDb(a,b,c){return b&&(b=Az(b,c))?Sz(b):Sz(a)}function IDb(a,b,c){if(!a)return null;for(a=b?a.Va():a;a;a=a.Va())if((b=Bz(a,c))&&!q(b.c,(HD(),FD)))return a;return null}
  3141. function JDb(){this.a=0}var KDb,LDb,z6,MDb,NDb;l(JDb,z);function A6(a,b){var c=new JDb;c.b=a;c.a=b;return c}JDb.prototype.R=function(a){return z.prototype.c.call(this,a)};function B6(){B6=function(){};KDb=A6("NON_CONSTRUCTOR",0);LDb=A6("ES5_CLASS_INVOCATION",1);z6=A6("ES5_CLASS_NAMESPACE",2);MDb=A6("ES6_CLASS_INVOCATION",3);NDb=A6("ES6_CLASS_NAMESPACE",4)}function ODb(){}l(ODb,n);function C6(a){var b=a.u.f();return te(b)?a.f.toString():b}function D6(){this.c=this.g=this.o=!1}l(D6,ODb);
  3142. D6.prototype.toString=function(){return"PropertyReference{sourceNode="+r(this.a)+", name="+r(this.b)+", receiverType="+r(this.f)+", mutation="+this.o+", declaration="+this.g+", override="+this.c+", readableTypeName="+r(this.u)+"}"};D6.prototype.I=function(a){return q(a,this)?!0:a instanceof ODb?cd(this.a,a.a)&&q(this.b,a.b)&&this.f.I(a.f)&&this.o==a.o&&this.g==a.g&&this.c==a.c&&cd(this.u,a.u):!1};
  3143. D6.prototype.P=function(){var a=1000003^ed(this.a);a=1000003*a^Yg(this.b);a=1000003*a^this.f.P();a=1000003*a^(this.o?1231:1237);a=1000003*a^(this.g?1231:1237);a=1000003*a^(this.c?1231:1237);return a=1000003*a^ed(this.u)};function PDb(){}l(PDb,n);function QDb(a,b){if(!b)throw rb("Null sourceNode").s;a.u=b;return a}function RDb(a,b){if(null==b)throw rb("Null name").s;a.c=b;return a}function E6(a,b){if(!b)throw rb("Null receiverType").s;a.o=b;return a}function SDb(a,b){a.b=b;return a}
  3144. function TDb(a,b){a.a=b;return a}function UDb(a,b){a.f=b;return a}function VDb(a,b){if(!b)throw rb("Null readableTypeName").s;a.g=b;return a}
  3145. function WDb(a){var b="";a.u||(b=r(b)+" sourceNode");null==a.c&&(b=r(b)+" name");a.o||(b=r(b)+" receiverType");null==a.b&&(b=r(b)+" mutation");null==a.a&&(b=r(b)+" declaration");null==a.f&&(b=r(b)+" override");a.g||(b=r(b)+" readableTypeName");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.b;var c=a.a,d=a.f,e=new D6,f=a.c,h=a.o,k=a.g;e.a=a.u;e.b=f;e.f=h;e.o=b;e.g=c;e.c=d;e.u=k;return e}function XDb(){}l(XDb,n);function YDb(a){var b=new XDb;b.a=el();b.b=a;return b}
  3146. XDb.prototype.H=function(a,b){for(a=b.a;a;a=a.b){E(tC(a));b=a;var c=nG(b);c&&(c=c.c)&&this.a.L(Sz(b),c)}};XDb.prototype.ra=function(){j0(this.b,this)};function ZDb(){this.c=!1;this.f=0}var nzb,ozb,pzb,qzb,rzb,szb,vzb,wzb,xzb,yzb,zzb,Azb,Bzb,K5,Q5,R5,$Db;l(ZDb,n);g=ZDb.prototype;g.H=function(a,b){var c=YDb(this.a);c.H(a,b);this.b=c.a.Jb();Y(this.a,a,this);Y(this.a,b,this)};g.ra=function(a,b){var c=YDb(this.a);c.ra(a,b);this.b=c.a.Jb();Y(this.a,a,this)};
  3147. function aEb(a){return bEb(a)?a.m():cEb(a)?a:null}
  3148. function dEb(a){F(cEb(a),a);var b=a.m();if(qJ(a)||rJ(a))return F6(a.f);switch(b.c.a){case 32:return F6(a.f);case 50:return b=b.a,UI(b)?((a=b.f)&&(a.xa()||a.Ja())?a=F6(a):TX(b)?(a=F6,T(),N(b)?li(O(b).l(),"prototype")?b=b.a:(b=b.a,b=N(b)&&li(O(b).l(),"prototype")?b.a:null):b=null,a=a(b.f)):a=F6(b.a.f),a):F6(b.f);case 95:case 90:case 91:case 102:case 122:a=b.m();b=a.m();if(SH(a))return a.f.mc()?F6(a.f):null;if(kA(b))return F6(b.f);throw jb(b).s;default:return null}}
  3149. function F6(a){if(a){if(jy(a))return null;if(!a.cd()&&!a.aa()){if(a.xa()||a.Ja())return Tz(a.ha());if(iy(a))return null;if(a.mc())return F6(zy(a).vc())}}else return null;return zy(a)}g.ga=function(a,b){if(a=aEb(b))b=dEb(a),null!=eEb(tL(a))&&this.f++,this.u.Ea(b);return!0};
  3150. g.J=function(a,b){B6();var c=b.f;if(c&&iy(c))if(c=c.ha(),c.xa()){var d=pY(b)||bEb(b);d=c.c&&kA(c.c)?d?MDb:NDb:d?LDb:z6}else d=KDb;else d=KDb;c=fEb(this,b);var e=d;switch(e.a){case 1:case 3:case 4:if(gEb(this,a,b)){var f=Tz(b.f.ha()),h=hEb(f);null!=h&&X(this.a,V(b,te(h)?rzb:szb,A([f.toString(),h],B,y,1)))}break;case 0:L(b)&&gEb(this,a,b)&&(f=(f=ET(a).T(b.l()))?f.Yb():null)&&Ay(f,256)&&(null!=xE(f)?X(this.a,V(b,ozb,A([b.l(),xE(f)],B,y,1))):X(this.a,V(b,nzb,A([b.l()],B,y,1))))}c&&!cd(e,(B6(),z6))&&(IT(a)&&
  3151. !pY(c.a)||c.o?e=!1:(e=tL(c.a),e=c.g&&e&&Ay(e,256)?!1:!iEb(this,a)),e&&!TC(c.a.m())&&(f=jEb(kEb(c.f)),e=c.b,f&&(f=lEb(f,e),null!=f&&(te(f)?X(this.a,V(c.a,pzb,A([e,C6(c)],B,y,1))):X(this.a,V(c.a,qzb,A([e,C6(c),f],B,y,1)))))));e=d;a=ET(a);cd(e,(B6(),MDb))&&mEb(this,b);if(!cd(e,(B6(),z6))&&L(b)&&(a=a.T(b.l()))){h=this.b;f=(f=a.Yb())&&f.c?f.c:(HD(),FD);if(q(f,(HD(),FD))){h=h.get(a.Me());var k=b.f;f=k&&ky(k)||!h?f:h}nEb(this,b.l())&&(q(f,(HD(),CD))||q(f,(HD(),FD))||X(this.a,V(b,K5,A([],B,y,1))),f=(HD(),
  3152. CD));switch(f.a){case 1:k=a.Me();f=Sz(b);k||f?(h=MX(this.a),k=h.oh(k),f=h.oh(f),f=null!=k&&null!=f&&q(k,f)):f=!1;f||X(this.a,V(b,xzb,A([b.l(),a.Me().ub()],B,y,1)));break;case 0:f=a.Me(),h=Sz(b),!f||!h||q(f.ub(),h.ub())||X(this.a,V(b,vzb,A([b.l(),a.Me().ub()],B,y,1)))}}if(SH(b.m()))switch(b.c.a){case 95:case 90:case 91:case 102:f=b.m(),(a=nG(b))&&nEb(this,b.l())&&(f=f.m())&&kH(f)&&(f=f.a,N(f)&&li(O(f).l(),"prototype")&&(a=a.c,q(a,(HD(),FD))||q(a,(HD(),CD))||X(this.a,V(b,K5,A([],B,y,1)))))}if(c&&!cd(e,
  3153. (B6(),z6)))a:if(!VW(c.a)){var m=oEb(this,c.f).Fc(),p=jEb(m);f=c.b;if(e=h=nEb(this,f))c.g&&tL(c.a)||c.c?(e=tL(c.a).c,e=q(e,(HD(),CD))||q(e,(HD(),FD))?!1:!0):e=!1;if(e)X(this.a,V(c.a,K5,A([],B,y,1)));else{var t=HDb(c.a,p,f);a=c.g&&!!tL(c.a)||c.c;k=IDb(p,a,f);e=this.b.get(t);var v=this.b,C=this.c?MX(this.a):null;J5();var J=c.b,K=c.c,Ca=HDb(c.a,p,J);v=v.get(Ca);p=IDb(p,K,J);K?(p=p?Bz(p,J).c:(HD(),FD),p=C&&C.ue(J)?(HD(),CD):v&&q(p,(HD(),FD))?v:p):p=pEb(c,p,v,C);a&&(C=(C=tL(c.a))&&Ay(C,64)?C.c:null)&&(J=
  3154. p,q(C,(HD(),FD))&&!q(C,J)&&e&&!q(e,(HD(),FD))&&X(this.a,V(c.a,$Db,A([c.b,e.name()],B,y,1))));if(k){f=(f=k.Mb(f))?f.N():null;if(!f)break a;m=k;t=Sz(f)}else if(!h&&!e)break a;f=Sz(c.a);a?(a=!!f&&q(f.ub(),t.ub()),f=p,h=m,k=c.c?tL(c.a).c:(HD(),FD),q(f,(HD(),CD))&&!a?X(this.a,V(c.a,Azb,A([h.toString()],B,y,1))):q(k,(HD(),FD))||q(k,f)||e||X(this.a,V(c.a,Bzb,A([f.name(),h.toString(),k.name()],B,y,1)))):qEb(this,c,p,m,f,t)}}if(c&&!cd(d,(B6(),z6))&&c.o){e=jEb(kEb(c.f));d=c.b;a:if(a=e,this.c&&MX(this.a).Bf(d))a=
  3155. !0;else{for(;a;a=a.Va())if((f=Bz(a,d))&&bE(f)){a=!0;break a}a=!1}if(a)if(wH(c.a.m()))X(this.a,V(c.a,Q5,A([d],B,y,1)));else if(e&&(!iy(e)||e.ha().xa())){for(a=e;a;){(f=Sn(this.g,a,d))||(f=this.g,h=a,J5(),h=(k=h.ua())?Tz(k):h,f=Sn(f,h,d));if(f){X(this.a,V(c.a,R5,A([d],B,y,1)));break}a=a.Va()}this.g.Aa(e,d);e.cd()&&(c=e.Va())&&ty(c,d)&&this.g.Aa(c,d)}}cEb(b)&&(c=b.f.ha())&&c.xa()&&(d=(e=(d=c.Ic())?d.jg():null)&&Ay(e,32)?Tz(d):null)&&X(this.a,V(b,zzb,A([c.tc(),d.tc()],B,y,1)));if(b=aEb(b))null!=eEb(tL(b))&&
  3156. this.f--,this.u.Ta()};function nEb(a,b){return a.c&&MX(a.a).ue(b)}function kEb(a){return a?zy(a.Fc()):null}function oEb(a,b){return b?b:qy(a.o,(I(),ew))}function mEb(a,b){var c=b.f.ha(),d=IA(c),e=c.c;e=e?HDb(e,d,"constructor"):null;var f=WDb(VDb(UDb(TDb(SDb(E6(RDb(QDb(new PDb,b),"constructor"),d),!1),!1),!1),Wc(function(){return Tz(c).toString()})));d=pEb(f,d,a.b.get(e),a.c?MX(a.a):null);d=cd(d,(HD(),FD))?(HD(),ED):d;qEb(a,f,d,c,Sz(b),e)}
  3157. function qEb(a,b,c,d,e,f){if(!(e&&f&&q(e.ub(),f.ub())))switch(d=F6(d),c.a){case 1:d=MX(a.a);e=d.oh(e);f=d.oh(f);null!=e&&null!=f&&q(e,f)||X(a.a,V(b.a,xzb,A([b.b,C6(b)],B,y,1)));break;case 0:f=!d||d.I(b.f)?C6(b):d.toString();X(a.a,V(b.a,wzb,A([b.b,f],B,y,1)));break;case 2:a:{if(d)for(f=a.u.h();f.i();)if((e=f.j())&&vy(e,d))break a;X(a.a,V(b.a,yzb,A([b.b,C6(b)],B,y,1)))}}}function gEb(a,b,c){return!IT(b)||pY(c)||TC(c)?!iEb(a,b):!1}
  3158. function iEb(a,b){b=TWa(b);VR(b)&&(b=b.m());var c=b.m();(a=0<a.f)||(a=b,sC(a)||tC(a)?a=jEb(a.f):NH(a)?a=null:(Fi(P(a),a),a=(a=a.f)&&iy(a)?a.ha().vb():null),a=null!=hEb(a));return a||!!c&&kH(c)&&null!=hEb(dEb(b))}function hEb(a){return a?eEb(a.jg()):null}function eEb(a){return a&&Ay(a,256)?null!=xE(a)?xE(a):"":null}function lEb(a,b){var c=eEb(Bz(a,b));return null!=c?c:(a=a.Va())?lEb(a,b):null}function jEb(a){return a?zy(a):null}function cEb(a){return P(a)||kA(a)}
  3159. function bEb(a){J5();var b=a.m();return kA(b)&&jG(a,b)}
  3160. function fEb(a,b){var c=b.m(),d=tL(b),e=new PDb;switch(b.c.a){case 26:var f=DX(b);VDb(UDb(TDb(SDb(E6(RDb(e,O(b).l()),oEb(a,kEb(b.a.f))),f||wH(b.m())),yH(c)),!!d&&f),Wc(function(){return CC(a.o,b.a,!0)}));break;case 95:case 90:case 91:case 102:switch(c.c.a){case 46:return null;case 98:VDb(UDb(TDb(SDb(E6(RDb(e,b.l()),oEb(a,Uy(c.f))),!1),!1),!1),Wc(function(){return CC(a.o,c,!0)}));break;case 101:VDb(UDb(TDb(SDb(E6(RDb(e,b.l()),Lz(a.o,(I(),ew))),!0),!0),!!d),Wc(function(){return""}));(d=c.m().f)&&iy(d)&&
  3161. (d=d.ha(),E6(e,TG(b)?d:IA(d)));break;default:throw ib().s;}break;default:return null}return WDb(QDb(e,b))}function pEb(a,b,c,d){var e=a.b;if(d&&d.ue(e))return HD(),CD;d=(HD(),FD);b&&(b=Bz(b,e))&&(d=b.c);a=a.a.f;a=!!a&&ky(a);return q(d,FD)&&c&&!a?c:d}
  3162. function J5(){J5=function(){};nzb=BJ("JSC_DEPRECATED_VAR","Variable {0} has been deprecated.");ozb=BJ("JSC_DEPRECATED_VAR_REASON","Variable {0} has been deprecated: {1}");pzb=BJ("JSC_DEPRECATED_PROP","Property {0} of type {1} has been deprecated.");qzb=BJ("JSC_DEPRECATED_PROP_REASON","Property {0} of type {1} has been deprecated: {2}");rzb=BJ("JSC_DEPRECATED_CLASS","Class {0} has been deprecated.");szb=BJ("JSC_DEPRECATED_CLASS_REASON","Class {0} has been deprecated: {1}");xzb=U("JSC_BAD_PACKAGE_PROPERTY_ACCESS",
  3163. "Access to package-private property {0} of {1} not allowed here.");vzb=U("JSC_BAD_PRIVATE_GLOBAL_ACCESS","Access to private variable {0} not allowed outside file {1}.");wzb=AJ("JSC_BAD_PRIVATE_PROPERTY_ACCESS","Access to private property {0} of {1} not allowed here.");yzb=AJ("JSC_BAD_PROTECTED_PROPERTY_ACCESS","Access to protected property {0} of {1} not allowed here.");$Db=U("JSC_BAD_PROPERTY_OVERRIDE_IN_FILE_WITH_FILEOVERVIEW_VISIBILITY","Overridden property {0} in file with fileoverview visibility {1} must explicitly redeclare superclass visibility");
  3164. Azb=AJ("JSC_PRIVATE_OVERRIDE","Overriding private property of {0}.");zzb=U("JSC_EXTEND_FINAL_CLASS","{0} is not allowed to extend final class {1}.");Bzb=AJ("JSC_VISIBILITY_MISMATCH","Overriding {0} property of {1} with {2} property.");R5=AJ("JSC_CONSTANT_PROPERTY_REASSIGNED_VALUE","constant property {0} assigned a value more than once");Q5=AJ("JSC_CONSTANT_PROPERTY_DELETED","constant property {0} cannot be deleted");K5=AJ("JSC_CONVENTION_MISMATCH","Declared access conflicts with access convention.")}
  3165. g.la=!0;function rEb(){}l(rEb,U2);rEb.prototype.J=function(a,b){SC(b)&&X(this.a.a,V(b,(S5(),sEb),A([SZ(this.b)],B,y,1)))};
  3166. function tEb(a,b,c,d,e){var f=a.m(),h=f.m();F(kH(h)||Yw(h),h);var k=f.b;E(DC(k));h=vH(fF(a))?fF(a).a:fF(a);c&&c.add(n_(d.f,d.c,b));if(vH(fF(a))){var m=S(R(a.a));var p=NA(b);c&&c.add(n_(d.f,d.c,p));b=IG(yx(Oqa(vX(b),p),m,b),m)}m=b;!iF(a)&&a.b?(p=S(h),b=f.m(),kH(b)?(m=GG(wx(p,m),b),qD(b,m)):L(p)?(E(Yw(b)),qD(b,p),M(p,m)):(S(f.b),S(f),M(b,p),M(b,m))):uEb(f,S(h),m);if(a.b){b=CG(a.m());for(m=a.b;m;)p=m,m=p.b,M(b,S(p));f=FG(b,f);iF(a)?(k=NA(k),c&&c.add(n_(d.f,d.c,k))):k=S(k);uEb(h,f,k)}S(a);Z(e,h)}
  3167. function uEb(a,b,c){var d=a.m();kH(d)?(b=GG(wx(b,c),d),b=Ow((H(),Rs),b),qD(d,b),Mx(b,d)):(Xw(b)?b=GG(ex((H(),Xt),b,c),d):M(b,c),d=Yw(d)?gG(a):d,F(PI(d),d),rX(d.m())?(a=GG(zw(d.c),d),M(a,b),nF(d.m(),a,d)):M(d,b))}function vEb(){this.a=!1}l(vEb,RT);function wEb(a,b){var c=new vEb;c.b=a;c.a=b;return c}vEb.prototype.H=function(a,b){tT(this.b,this,a,b)};
  3168. vEb.prototype.J=function(a,b){if((L(b)||Lx(b))&&!te(b.l())){var c=null;(a=ET(a).T(b.l()))&&(c=a.Yb());c=!!c&&bE(c)||T3a(MX(this.b),b);a=tF(b,(kx(),IE));if(c&&!a){if(this.a)throw c=b.l(),pb("Unexpected const change.\n name: "+r(c)+"\n parent:"+r(uD(b.m()))).s;Hx(b,IE,!0)}}};function xEb(){}var Nzb,Uzb,sEb;l(xEb,n);
  3169. xEb.prototype.H=function(a,b){if(q(this.b,(gU(),fU)))for(var c=iV(this.a.b).h();c.i();){var d=c.j();this.f.na(Wl(d.o))}c=j$a(this.a,b);this.c=l$a(c);this.g=g9a(c);c=Nj();for(d=this.c.values().h();d.i();){var e=d.j();if(e.kb&&q(e.g,(PZ(),QZ))&&!(0==e.F&&1>=e.f+e.c&&0==e.$))for(var f=!!e.hb(),h=NZ(e).h();h.i();){var k=h.j();if(!q(k,e.hb()))if(q(k.a,(OZ(),M9a)))f&&X(this.a,V(k.N(),Nzb,A([SZ(e)],B,y,1)));else if(q(k.a,(OZ(),TZ))||q(k.a,(OZ(),i_)))f&&!yEb(k)&&X(this.a,V(k.N(),Nzb,A([SZ(e)],B,y,1))),f=
  3170. !0;else if(q(k.a,(OZ(),UZ))){X(this.a,V(k.N(),Uzb,A([SZ(e)],B,y,1)));c.W(e);break}}}c=c.fa();for(d=this.g.h();d.i();)e=d.j(),zEb(this,e,e.v,c);for(d=this.g.h();d.i();)e=d.j(),AEb(this,e,e.v,c);wEb(this.a,!1).H(a,b)};function BEb(a,b){return!f_(b)||q(a.b,(gU(),fU))&&(!b.pa||a.f.B(b.v))?!1:!0}function CEb(a,b){a:if(q(g_(b),VZ)||0<b.A)var c=!1;else{if(b.b)for(c=b.b.h();c.i();)if(!f_(c.j())){c=!1;break a}c=!0}return c?b.b&&!b.b.D()&&q(a.b,(gU(),fU))?!1:!0:!1}
  3171. function yEb(a){S5();var b=(b=a.N().m())&&PI(b)?a.N():a.N().m();return(b=O(b))&&TH(b)&&zG(a.N(),b.a)?!0:!1}
  3172. function zEb(a,b,c,d){if(b.b&&!d_(b)&&!d.B(b))for(b=b.b.h();b.i();){var e=b.j(),f=DEb(a,c,e.v),h=!q(a.b,(gU(),fU))||e.pa;if(h&&f_(e)){h=a;for(var k=e,m=f,p=SZ(k),t=NZ(k).h();t.i();){var v=t.j();if(!q(v,k.hb())){var C=v.N().m();FX(v.N())||v.b&&!l_(v)?Lx(v.N())&&$w(v.N().m())&&(C=GG(rx(m),v.N()),KX(v.N(),C),tEb(v.N(),C,null,v,h.a)):EEb(h,m,v.N(),C,p)}}if(k.b)for(k=k.b.h();k.i();)p=k.j(),FEb(h,m,p,1)}else h&&(h=e,h=1==NZ(h).w()&&yH(pp(h.u,0).g.m())?!0:!1),h&&!d_(e)&&(h=a,k=e,p=f,m=Wj(NZ(k)),k=QX(h.a,
  3173. p,m.N(),SZ(k)),k=qF(Tw(k),k),E(yH(m.N().m())),m=m.N().m(),pF(m.m(),m,k),Z(h.a,k));zEb(a,e,f,d)}}function FEb(a,b,c,d){var e=SZ(c),f=c.hb();f&&f.N()&&N(f.N())&&GEb(a,b,f.N(),d,e);for(var h=NZ(c).h();h.i();){var k=h.j();q(k,f)||k.b&&!l_(k)||GEb(a,b,k.N(),d,e)}if(c.b)for(c=c.b.h();c.i();)e=c.j(),FEb(a,b,e,d+1)}function GEb(a,b,c,d,e){var f=c.c;f=q(f,(H(),As))||q(f,(H(),vs));var h=FX(c);E(h||f);if(f){for(f=1;f<d&&c.a;f++)c=c.a;N(c)&&N(c.a)&&EEb(a,b,c.a,c,e)}}
  3174. function EEb(a,b,c,d,e){if(!N(c))throw ua(Hi("Expected GETPROP, found %s. Node: %s",[c.c,c])).s;b=QX(a.a,b,c,e);KX(O(c),b);eH(d)&&q(c,d.a)&&Hx(d,(kx(),KE),!0);(e=c.f)&&Q(b,e);pF(d,c,b);Z(a.a,b)}
  3175. function AEb(a,b,c,d){var e=!q(g_(b),VZ)&&!d.B(b);if(BEb(a,b)){var f=b.hb();if(f)switch(f.N().m().c.a){case 50:f=b.hb();var h=f.N().b;if(f.b){var k=f.o;G(f.b);if(N(f.N())){var m=f.N().b;e=f.N().m();h=e.m();m&&P(m)&&HEb(a,m,k.Yb(),k);k=QX(a.a,c,h.a,SZ(k));KX(O(f.N()),k);m=h;for(h=h.m();!tC(h)&&!Hw(h);m=h,h=h.m());var p=qF(Tw(NA(k)),k);mF(h,p,m);pF(e,f.N(),k);Z(a.a,k)}}else{k=zw((H(),Ft));m=hG(f.N(),3);p=hG(f.N(),2);var t=SH(h),v=!1;if(t&&CEb(a,b))pF(m,p,k),b_(b,f,null),v=!0,Z(a.a,k);else if(b.a){P(h)&&
  3176. HEb(a,h,b.Yb(),b);Z(a.a,h);oF(f.N().m(),h);v=QX(a.a,c,hG(f.N(),2),SZ(b));var C=tL(f.N().m());(tF(O(f.N()),(kx(),IE))||C&&bE(C))&&Hx(v,(kx(),IE),!0);C&&Gx(k,C);M(k,v);Mx(v,h);pF(m,p,k);b_(b,f,v);v=!0;Z(a.a,k)}e&&(t&&IEb(a,b,c,h,k,iF(k),m),G6(a,b,c,m,k));v&&(k.a||oF(m,k))}break;case 80:case 104:case 92:e&&(f=b.hb(),e=f.N().l(),h=f.N().a,k=f.N().m(),m=k.m(),(p=SH(h))&&IEb(a,b,e,h,k,iF(k),m),G6(a,b,e,m,k),p&&CEb(a,b)&&(oF(k,f.N()),Z(a.a,k),k.a||oF(m,k),b_(b,f,null)));break;case 69:e&&BEb(a,b)&&(f=b.hb(),
  3177. e=f.N().l(),G6(a,b,e,hG(f.N(),2),f.N().m()));break;case 100:e&&BEb(a,b)&&(f=b.hb(),e=f.N().l(),G6(a,b,e,hG(f.N(),2),f.N().m()));break;case 101:f=b.hb(),k=gG(f.N()),F(kA(k),k),h=jX(k),e&&G6(a,b,c,h.m(),k),e=S(f.N()),k=S(fF(e)),HEb(a,k,nG(e),b),m=a.a,T(),m=GG(A3a(m,c),e),e=GG(Rw(m,k),e),mF(h.m(),e,h),Z(a.a,e),b_(b,f,e.a)}}if(b.b&&!d.B(b))for(b=b.b.h();b.i();)f=b.j(),AEb(a,f,DEb(a,c,f.v),d)}function HEb(a,b,c,d){if(!(c&&(fE(c)||c.f)||aH(b))){c=a.a;b=O(b);var e=new rEb;e.a=a;e.b=d;Y(c,b,e)}}
  3178. function IEb(a,b,c,d,e,f,h){for(var k=0,m=!H9a(b),p=d.a,t;p;p=t){var v=p.a;t=p.b;switch(p.c.a){case 90:case 91:case 122:case 121:continue;case 95:case 102:break;default:throw pb("Unexpected child of OBJECTLIT: "+r(uD(p))).s;}var C=!RH(p)&&OI.test(p.l()),J=C?p.l():""+ ++k,K=r(SZ(b))+Hg(46)+r(J);K=a.c.get(K);if(!K||BEb(a,K)){J=DEb(a,c,J);var Ca=null;m?(oF(d,p),S(v)):(Ca=rx(J),tF(p,(kx(),IE))&&Hx(Ca,(kx(),IE),!0),pF(p,v,Ca),Z(a.a,Ca));J=rx(J);Mx(J,v);tF(p,(kx(),IE))&&Hx(J,(kx(),IE),!0);var Wa=JG(Tw(J),
  3179. p);f?nF(h,Wa,f):mF(h,Wa,e);Z(a.a,Wa);f=Wa;C&&K&&(m||(C=K,Wa=G(C.K),u9a(C,Wa.f,Wa.c,Ca,(OZ(),UZ),Wa.u)),b_(K,K.hb(),J),P(v)&&HEb(a,v,nG(p),K))}}}function G6(a,b,c,d,e){F(!q(g_(b),VZ),b);Fi(jT(d),d);G(e);if(b.b)for(b=b.b.h();b.i();){var f=b.j();if(0==f.c&&0<f.f&&0==f.ta&&!d_(f)){var h=DEb(a,c,f.v);h=rx(h);var k=JG(Tw(h),e);nF(d,k,e);e=k;Z(a.a,k);F(!f.u.D(),"no first Ref to get");f=pp(f.u,0);tF(O(f.N()),(kx(),IE))&&(Hx(h,(kx(),IE),!0),Z(a.a,h))}}}
  3180. function DEb(a,b,c){-1!=mi(c,36)&&(c=wi(c,"$","$0"));for(var d=r(b)+Hg(36)+r(c),e=1;a.c.X(d);)d=r(b)+Hg(36)+r(c)+Hg(36)+e,e++;return d}
  3181. function S5(){S5=function(){};Uzb=AJ("JSC_PARTIAL_NAMESPACE","Partial alias created for namespace {0}, possibly due to await/yield transpilation.\nThis may prevent optimization of anything nested under this namespace.\nSee https://github.com/google/closure-compiler/wiki/FAQ#i-got-an-incomplete-alias-created-for-namespace-error--what-do-i-do for more details.");Nzb=AJ("JSC_NAMESPACE_REDEFINED","namespace {0} should not be redefined");sEb=AJ("JSC_UNSAFE_THIS","dangerous use of ''this'' in static method {0}")}
  3182. function JEb(){this.c=this.o=!1}var U5,KEb;l(JEb,J2);function LEb(a,b){LAb();var c=new JEb;c.o=a;c.c=b;return c}
  3183. JEb.prototype.b=function(a){switch(a.c.a){case 28:D(eH(a));if(SX(a)){var b=O(a);if(SH(b)&&!b.a){b=a.m();var c=S(R(a));pF(b,a,c);R2(this,b)}}return a;case 23:return D(TC(a)),DH(a.m())&&q(O(a.m()),a)||hH(a.m())?MEb(this,a):a;case 25:D(cI(a));if((b=a.a)&&tJ(b,!0)){c=null;switch(b.c.a){case 69:c="function";break;case 34:c="string";break;case 33:c="number";break;case 38:case 37:c="boolean";break;case 35:case 46:case 45:c="object";break;case 83:c="undefined";break;case 32:"undefined"===b.l()&&(c="undefined")}null!=
  3184. c&&(b=ux(c),R2(this,a),qD(a,b),S2(this,a),a=b)}return a;case 45:case 46:for(b=a.a;b;)if(c=b,b=b.b,qx(c)){var d=fF(c);cd(a.c,d.c)&&(lF(a,pD(d),c),S(c),R2(this,a))}return a;case 19:case 21:case 22:case 20:return NEb(this,a),OEb(this,a);case 83:return b=a.a,RH(b)&&0==b.ab()||N2(this,a)||(pF(a,b,eF(0)),R2(this,a)),a;default:return NEb(this,a),PEb(this,a)}};
  3185. function PEb(a,b){var c=b.a;if(!c)return b;var d=c.b;if(!d)return b;switch(b.c.a){case 26:a:if(D(N(b)),SH(c))a=QEb(a,b,c,d);else if(Dw(d)&&li(d.l(),"length")){switch(c.c.a){case 45:if(N2(a,c)){a=b;break a}c=GA(c);break;case 34:c=c.l().length;break;default:a=b;break a}E(-1!=c);c=eF(c);R2(a,b);qD(b,c);a=c}else a=b;return a;case 27:D(DH(b));if(SH(c))a=QEb(a,b,c,d);else if(jH(c))a:if(DX(b)||!RH(d))a=b;else{var e=d.ab();var f=Fb(e);if(f!=e)K2(a,KEb,d),a=b;else{d=0<=f?c.a:null;e=null;for(var h=0;d;h++){if(qx(d)){a=
  3186. b;break a}if(h!=f){if(N2(a,d)){a=b;break a}}else e=d;d=d.b}e?Aw(e)?e=vX(e):oF(c,e):e=vX(c);qD(b,e);R2(a,e);a=e}}else if(Dw(c))a:if(DX(b)||!RH(d))a=b;else if(e=d.ab(),f=Fb(e),f!=e)K2(a,KEb,d),a=b;else if(E(Dw(c)),d=c.l(),0>f||f>=d.length)c=vX(c),qD(b,c),R2(a,c),a=c;else{for(e=c=0;e<=f;e++)if(c=d.charCodeAt(e),32>c||127<c){a=b;break a}c=ux(Hg(c));qD(b,c);R2(a,c);a=c}else a=b;return a;case 44:a:{D(JH(b));if(tJ(c,!0)&&!N2(a,d)&&(f=null,WW(c)?f=Sx():L(d)&&"Object"===d.l()&&(f=Rx()),f)){qD(b,f);R2(a,f);
  3187. S2(a,b);a=f;break a}a=b}return a;case 65:case 64:f=b.m();var k=h=null;e=b.c;var m=RW(c);q(m,(Xu(),Vu))?q(f.c,e)&&q(b,f.a)&&(m=RW(d),!N2(a,d)&&(q(m,(Xu(),Uu))&&q(e,(H(),ft))||q(m,(Xu(),Tu))&&q(e,(H(),gt)))&&(h=c,k=d)):(h=m.ed(!0))&&q(e,(H(),ft))||!h&&q(e,(H(),gt))?(h=c,k=d):N2(a,c)?(BG(b),h=zx(c,d),k=null):(h=d,k=c);h?(BG(b),pF(f,b,h),R2(a,h),k&&S2(a,k),a=h):a=b;return a;case 66:return f=b.m(),h=e=null,k=RW(c),q(k,(Xu(),Vu))||(z2a(c)?(e=d,h=c):N2(a,c)?(BG(b),e=zx(c,d),h=null):(e=c,h=d)),e?(BG(b),pF(f,
  3188. b,e),R2(a,e),h&&S2(a,h),a=e):a=b,a;case 10:case 11:case 12:if(RH(c)&&RH(d))if(e=c.ab(),h=d.ab(),0<=h&&32>h)if(f=Fb(h),f!=h)K2(a,U5,d),a=b;else if(Math.floor(e)!=e)K2(a,U5,c),a=b;else{c=gb(Math.floor(e)).and(hb(-1)).a;switch(b.c.a){case 10:c<<=f;break;case 11:c>>=f;break;case 12:c=Ua(Va(-1,0).and(Cb(c>>>f|0)));break;default:throw jb("Unknown shift operator: "+r(b.c)).s;}c=eF(c);R2(a,b);qD(b,c);a=c}else a=b;else a=b;return a;case 50:a:if(D(kH(b)),a.o&&d.a&&q(R(d),O(d))&&!N2(a,c)){if(L2(a,c,d.a))f=O(d);
  3189. else if(Q2a(d.c)&&L2(a,c,O(d)))f=d.a;else{a=b;break a}switch(d.c.a){case 13:d=(H(),Zs);break;case 3:d=(H(),Vs);break;case 1:d=(H(),Ts);break;case 2:d=(H(),Us);break;case 16:d=(H(),bt);break;case 10:d=(H(),Ws);break;case 17:d=(H(),ct);break;case 15:d=(H(),at);break;case 11:d=(H(),Xs);break;case 14:d=(H(),$s);break;case 12:d=(H(),Ys);break;case 18:d=(H(),dt);break;default:a=b;break a}c=ex(d,S(c),S(f));qD(b,c);R2(a,c);a=c}else a=b;return a;case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:return a.o?
  3190. a=b:b.a&&q(R(b),O(b))&&!N2(a,c)?(f=dX(b),c=wx(S(c),GG(ex(f,NA(c),S(d)),b)),qD(b,c),R2(a,c),a=c):a=b,a;case 13:D(hH(b));if(cX(b,a.c))if(tJ(c,!1)&&tJ(d,!1))b:{if(Dw(c)||Dw(d)||jH(c)||jH(d))if(c=P2(a,c),d=P2(a,d),null!=c&&null!=d){c=ux(r(c)+r(d));qD(b,c);R2(a,c);a=c;break b}a=b}else if(Dw(c)&&te(c.l())&&REb(a,d))a=SEb(a,b,EG(d,!0));else if(Dw(d)&&te(d.l())&&REb(a,c))a=SEb(a,b,EG(c,!0));else{for(f=e=b;hH(c);)e=c,c=R(c);for(;hH(d);)f=d,d=d.a;hH(e)&&Dw(c)&&hH(f)&&tJ(d,!1)&&(e=f.m(),(h=d.b)&&O2a(h)||h&&
  3191. Dw(d)&&e&&hH(e)&&O2a(R(e))||!h)&&(e=r(c.l())+r(UT(d)),cd(R(f),d)?(qD(c,ux(e)),SEb(a,f,EG(f.a,!0))):(qD(c,ux(e)),SEb(a,f,EG(R(f),!0))));a=b}else f=TEb(a,b,c,d),a=q(f,b)?UEb(a,b,c,d):f;return a;case 14:case 16:case 17:case 18:return TEb(a,b,c,d);case 15:case 3:case 1:case 2:return f=TEb(a,b,c,d),q(f,b)?UEb(a,b,c,d):f;case 6:case 8:case 7:case 9:case 4:case 5:case 39:case 40:return c=VEb(a,b.c,c,d),q(c,(Xu(),Vu))?a=b:(c=SU(c.ed(!0)),R2(a,b),qD(b,c),S2(a,b),a=c),a;default:return b}}
  3192. function NEb(a,b){switch(b.c.a){case 13:var c=b.a;var d=O(b);cX(c,a.c)||cX(d,a.c)||WEb(a,b);break;case 51:case 52:case 53:case 54:case 55:case 56:case 58:case 59:case 61:case 60:H6(a,O(b));break;case 20:case 1:case 2:case 3:case 10:case 11:case 12:case 14:case 15:case 17:case 16:case 21:case 22:case 18:WEb(a,b)}}function WEb(a,b){for(var c=b.a;c;c=b)b=c.b,H6(a,c)}
  3193. function H6(a,b){switch(b.c.a){case 33:return;case 65:case 64:case 49:case 66:H6(a,O(b));return;case 63:H6(a,R(b));H6(a,O(b));return;case 32:if(!aX(b))return}var c=O2(a,b);null!=c&&(c=a4a(c,b),tD(c,b)||(qD(b,c),R2(a,c)))}
  3194. function OEb(a,b){F(gF(b),b);var c=b.a;var d=b.m();if(!c)return b;var e=Q2(a,c);if(q(e,(Xu(),Vu)))return b;switch(b.c.a){case 19:if(a.o&&RH(c)&&(c=c.ab(),0==c||1==c))return b;c=SU(!e.ed(!0));pF(d,b,c);R2(a,d);return c;case 21:return M2a(c)?(pF(d,b,S(c)),R2(a,d),c):b;case 22:if(L(c)){if(li(c.l(),"Infinity"))return b;if(li(c.l(),"NaN"))return oF(b,c),pF(d,b,c),R2(a,d),c}return RH(c)?(c=-c.ab(),c=eF(c),pF(d,b,c),R2(a,d),c):b;case 20:if(RH(c)){e=c.ab();if(Math.floor(e)==e)return c=gb(Math.floor(e)).and(hb(-1)).a,
  3195. c=eF(~c),pF(d,b,c),R2(a,d),c;K2(a,U5,c)}return b;default:return b}}function TEb(a,b,c,d){return(c=XEb(a,b.c,c,d))?(JG(c,b),R2(a,b),qD(b,c),c):b}
  3196. function XEb(a,b,c,d){if(q(b,(H(),ms))&&(cX(c,a.c)||cX(d,a.c)))return null;var e=O2(a,c),f=O2(a,d);if(null==e&&null==f||!YEb(a,c)||!YEb(a,d))return null;switch(b.a){case 13:return null!=e&&null!=f?I6(e+f,e,f):null!=e&&0==e?EG(d,!0):null!=f&&0==f?EG(c,!0):null;case 14:return null!=e&&null!=f?I6(e-f,e,f):null!=e&&0==e?Pqa(EG(d,!0)):null!=f&&0==f?EG(c,!0):null;case 15:if(null!=e&&null!=f)return I6(e*f,e,f);if(null!=e){if(1==e)return EG(d,!0)}else if(1==f)return EG(c,!0);return null;case 16:return null!=
  3197. e&&null!=f?0==f?null:I6(e/f,e,f):null!=f&&1==f?EG(c,!0):null;case 18:return null!=e&&null!=f?I6(Math.pow(e,f),e,f):null}if(null==e||null==f)return null;switch(b.a){case 3:a=xY(e)&xY(f);break;case 1:a=xY(e)|xY(f);break;case 2:a=xY(e)^xY(f);break;case 17:if(0==f)return null;a=e%f;break;default:throw Ra("Unexpected arithmetic operator: "+r(b)).s;}return I6(a,e,f)}function YEb(a,b){return M2a(b)||a.c&&!!b.f&&b.f.xj()}
  3198. function I6(a,b,c){return(""+a).length<=(""+b).length+(""+c).length+1&&Math.abs(a)<=ZEb||isNaN(a)||Infinity==a||-Infinity==a?a4a(a,null):null}function UEb(a,b,c,d){var e=b.c;E(P2a(e)&&Q2a(e)||hH(b));E(!hH(b)||!cX(b,a.c));if(null!=O2(a,d)&&q(c.c,e)){E(kG(c));var f=c.a,h=f.b,k=XEb(a,e,f,d);k||(f=h,k=XEb(a,e,f,d));k&&(oF(c,f),pF(b,c,UA(c)),JG(k,d),pF(b,d,k),R2(a,b))}return b}function SEb(a,b,c){qD(b,c);R2(a,c);return c}function REb(a,b){return O2a(b)||a.c&&!!b.f&&b.f.th()}
  3199. function $Eb(a,b,c,d){var e=bX(b),f=bX(c);if(!q(e,(MW(),FW))&&!q(f,(MW(),FW))&&q(e,(MW(),IW))&&q(f,(MW(),IW))){e=P2(a,b);f=P2(a,c);if(null!=e&&null!=f)return-1!=mi(e,11)||-1!=mi(f,11)?(Xu(),Vu):Wu(0>kc(e,f));if(cI(b)&&cI(c)&&L(b.a)&&L(c.a)&&li(b.a.l(),c.a.l()))return Xu(),Uu}e=O2(a,b);a=O2(a,c);return null==e||null==a?!d&&L(b)&&L(c)&&li(b.l(),c.l())?(Xu(),Uu):(Xu(),Vu):isNaN(e)||isNaN(a)?Wu(d):Wu(e<a)}
  3200. function aFb(a,b,c){var d=bX(b),e=bX(c);return q(d,(MW(),FW))||q(e,(MW(),FW))?(Xu(),Vu):q(d,e)?bFb(a,b,c):q(d,(MW(),h2a))&&q(e,(MW(),GW))||q(d,(MW(),GW))&&q(e,(MW(),h2a))?(Xu(),Tu):q(d,(MW(),HW))&&q(e,(MW(),IW))||q(e,(MW(),JW))?(c=O2(a,c),null==c?(Xu(),Vu):aFb(a,b,eF(c))):q(d,(MW(),IW))&&q(e,(MW(),HW))||q(d,(MW(),JW))?(b=O2(a,b),null==b?(Xu(),Vu):aFb(a,eF(b),c)):(q(d,(MW(),IW))||q(d,(MW(),HW)))&&q(e,(MW(),KW))||q(d,(MW(),KW))&&(q(e,(MW(),IW))||q(e,(MW(),HW)))?(Xu(),Vu):(Xu(),Uu)}
  3201. function bFb(a,b,c){var d=bX(b),e=bX(c);if(!q(d,(MW(),FW))&&!q(e,(MW(),FW))){if(!q(d,e))return Xu(),Uu;switch(d.a){case 2:case 1:return Xu(),Tu;case 3:if(vY(b)||vY(c))return Xu(),Uu;d=O2(a,b);a=O2(a,c);if(null!=d&&null!=a)return Wu(d==a);break;case 4:d=P2(a,b);a=P2(a,c);if(null!=d&&null!=a)return-1!=mi(d,11)||-1!=mi(a,11)?(Xu(),Vu):q(d,a)?(Xu(),Tu):(Xu(),Uu);if(cI(b)&&cI(c)&&L(b.a)&&L(c.a)&&li(b.a.l(),c.a.l()))return Xu(),Tu;break;case 5:return b=Q2(a,b),c=Q2(a,c),b.Te(c).Bj(b.Ne().Te(c.Ne()));default:return Xu(),
  3202. Vu}}return vY(b)||vY(c)?(Xu(),Uu):(Xu(),Vu)}function VEb(a,b,c,d){LAb();if(N2(a,c)||N2(a,d))return Xu(),Vu;switch(b.a){case 4:return aFb(a,c,d);case 5:return aFb(a,c,d).Ne();case 39:return bFb(a,c,d);case 40:return bFb(a,c,d).Ne();case 6:return $Eb(a,c,d,!1);case 8:return $Eb(a,d,c,!1);case 7:return $Eb(a,d,c,!0).Ne();case 9:return $Eb(a,c,d,!0).Ne()}throw pb("Unexpected operator for comparison").s;}
  3203. function MEb(a,b){D(TC(b));var c=b.a;if(!L(c))return b;if(li(c.l(),"String")){var d=c.b;c=null;d?c=P2(a,d):c="";if(null==c)return b;d=b.m();c=ux(c);pF(d,b,c);qF(c,d);R2(a,d);return c}return b}
  3204. function QEb(a,b,c,d){D(UI(b));if(!SH(c)||!Dw(d)||DX(b))return b;for(var e=null,f=null,h=c.a;h;h=h.b)switch(h.c.a){case 91:break;case 121:f=e=null;break;case 122:var k=h.a;if(!Dw(k))return b;li(k.l(),d.l())&&(e=h,f=R(h));break;case 90:case 95:case 102:li(h.l(),d.l())&&(e=h,f=e.a);break;default:throw ob().s;}if(!f||Z2a(f))return b;d=Tx();qD(f,d);c=N2(a,c);qD(d,f);if(c)return b;e=HX(e);c=pY(b);if(e||c)if(!P(f)||X2a(f))return b;S(f);e?(f=px(f,A([],lx,eI,1)),Hx(f,(kx(),KE),!0)):c&&Hx(b.m(),(kx(),KE),
  3205. !0);qD(b,f);R2(a,f);S2(a,b);return b}function LAb(){LAb=function(){};KEb=AJ("JSC_INVALID_GETELEM_INDEX_ERROR","Array index not integer: {0}");U5=AJ("JSC_FRACTIONAL_BITWISE_OPERAND","Fractional bitwise operand: {0}");ZEb=Math.pow(2,53)}var ZEb=0;function cFb(){}l(cFb,n);
  3206. function J6(a){var b="";null==a.f&&(b=r(b)+" name");null==a.g&&(b=r(b)+" runInFixedPointLoop");a.a||(b=r(b)+" featureSet");a.c||(b=r(b)+" internalFactory");null==a.b&&(b=r(b)+" hotSwapable");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=a.g;var c=a.a,d=a.c,e=a.b,f=new K6;f.c=a.f;f.b=b;f.g=c;f.a=d;f.f=e;E(!te(f.c));f.f&&E(!f.b);return f}function dFb(){}l(dFb,cFb);function eFb(a){var b=new dFb;b.f=a.c;b.g=a.b;b.a=a.g;b.c=a.a;b.b=a.f;return b}
  3207. function L6(a,b){if(null==b)throw rb("Null name").s;a.f=b;return a}function M6(a,b){a.g=b;return a}function N6(a,b){if(!b)throw rb("Null featureSet").s;a.a=b;return a}function O6(a,b){if(!b)throw rb("Null internalFactory").s;a.c=b;return a}function fFb(a){var b=M6(new dFb,!1);b.b=a;return b}function gFb(){}l(gFb,n);function P6(){return fFb(!1)}function Q6(){return fFb(!0)}function R6(a){return J6(O6(N6(L6(P6(),a),cL()),u(function(){return new BS(function(){})})))}function K6(){this.f=this.b=!1}
  3208. l(K6,gFb);K6.prototype.toString=function(){return"PassFactory{name="+r(this.c)+", runInFixedPointLoop="+this.b+", featureSet="+r(this.g)+", internalFactory="+r(this.a)+", hotSwapable="+this.f+"}"};K6.prototype.I=function(a){return q(a,this)?!0:a instanceof gFb?q(this.c,a.c)&&this.b==a.b&&this.g.I(a.g)&&cd(this.a,a.a)&&this.f==a.f:!1};K6.prototype.P=function(){var a=1000003^Yg(this.c);a=1000003*a^(this.b?1231:1237);a=1000003*a^this.g.P();a=1000003*a^ed(this.a);return a=1000003*a^(this.f?1231:1237)};
  3209. function hFb(){this.K=!1;this.a=hb(0);this.v=this.f=this.A=this.F=this.o=this.g=this.b=this.u=this.c=0}l(hFb,n);function iFb(a,b){var c=new hFb;c.a=hb(0);c.c=0;c.u=0;c.b=0;c.g=0;c.o=0;c.F=0;c.A=0;c.f=0;c.v=0;c.U=a;c.K=b;return c}function jFb(){this.rb=this.kb=this.jb=0;this.Ob=hb(0);this.Za=hb(0);this.v=this.u=this.o=this.f=this.c=this.b=this.U=this.K=this.ja=this.$=this.pa=this.ta=this.A=this.Ha=this.za=this.Da=0}l(jFb,n);function kFb(a,b,c){a.jc.Ea(iFb(b,c));"toSource"!==b&&(a.F.a=!1)}
  3210. function lFb(a,b,c){var d=Qaa(Ya(hb(0),hb(0)),Cb(1048576)).a;var e=a.jc.Ta();E(q(b,e.U));a.Kb.add(e);e.a=c;e.c=d;e.u=1;a.F.a&&(e.b=1);if("parseInputs"===b){!q(a.a,jU)&&mFb(a);for(b=BA(a.Tc).h();b.i();)c=b.j(),a.U+=1,a.K+=nFb(c);for(b=BA(a.g).h();b.i();)c=b.j(),a.ja+=1,a.$+=nFb(c);q(a.a,(kU(),dYa))||(e.v=a.jb=a.b=wY(a.g),oFb(a)&&(b=pFb(a.g,S6(a)),e.F=a.kb=a.c=b.a,S6(a)&&(e.A=a.rb=a.f=0)))}else a.F.a&&!q(a.a,(kU(),dYa))&&(b=wY(a.g),e.f=a.b-b,a.b=e.v=b,oFb(a)&&(b=pFb(a.g,S6(a)).a,e.g=a.c-b,a.c=e.F=b,
  3211. S6(a)&&(b=0,e.o=a.f-b,a.f=e.A=b)))}function nFb(a){E(tC(a));a=Sz(a);a instanceof XL?(xDa(a),a=a.a.length):a=0;return a}function oFb(a){return q(a.a,(kU(),cYa))||q(a.a,(kU(),bYa))}function S6(a){return q(a.a,(kU(),bYa))}
  3212. function qFb(a){if(!a.Lb){a.Za=Ei();for(var b=bf(),c=a.Kb.h();c.i();){var d=c.j(),e=d.U,f=b.get(e);f||(f=iFb(e,d.K),b.C(e,f));f.a=f.a.add(d.a);f.c=Math.max(f.c,d.c);f.u++;f.b+=d.b;f.f+=d.f;f.g+=d.g;f.o+=d.o}a.Lb=il(b);for(b=a.Lb.V().h();b.i();)c=b.j().O(),a.Da=Cb(a.Da).add(c.a).a,a.za=Math.max(a.za,c.c),a.Ha+=c.u,a.A+=c.b,c.K||(a.ta+=c.u,a.pa+=c.b),a.o+=c.f,a.u+=c.g,a.v+=c.o;E(!!q(a.a,(kU(),dYa))||a.jb==a.o+a.b);E(!oFb(a)||a.kb==a.u+a.c);E(!S6(a)||a.rb==a.v+a.f)}}
  3213. function mFb(a){if(!a.Oa){var b=Nm();lY(a.g,new AW(function(c){b.W(c.c)}));a.Oa=b.fa()}}
  3214. function rFb(a){qFb(a);T6(A(["","TOTAL:","Start time(ms): "+a.Ob,"End time(ms): "+a.Za,"Wall time(ms): "+Ya(a.Za,a.Ob),"Passes runtime(ms): "+a.Da,"Max mem usage (measured after each pass)(MB): "+a.za,"#Runs: "+a.Ha,"#Changing runs: "+a.A,"#Loopable runs: "+a.ta,"#Changing loopable runs: "+a.pa,"Estimated AST reduction(#nodes): "+a.o,"Estimated Reduction(bytes): "+a.u,"Estimated GzReduction(bytes): "+a.v,"Estimated AST size(#nodes): "+a.b,"Estimated Size(bytes): "+a.c,"Estimated GzSize(bytes): "+
  3215. a.f],B,y,1));T6(A(["","Inputs:","JS lines: "+a.$,"JS sources: "+a.ja,"Extern lines: "+a.K,"Extern sources: "+a.U],B,y,1));T6(A(["","Summary:","pass,runtime,allocMem,runs,changingRuns,astReduction,reduction,gzReduction"],B,y,1));ng(tg(Jda(a.Lb.V().S(),new hc(function(d,e){return bba(d.O().a,e.O().a)})),u(function(d){var e=d.M();d=d.O();return CN("%s,%d,%d,%d,%d,%d,%d,%d",[e,cba(d.a),Fc(d.c),Fc(d.u),Fc(d.b),Fc(d.f),Fc(d.g),Fc(d.o)])})),zb(function(){}));T6(A(["","Log:","pass,runtime,allocMem,codeChanged,astReduction,reduction,gzReduction,astSize,size,gzSize"],
  3216. B,y,1));for(var b=a.Kb.h();b.i();){var c=b.j();CN("%s,%d,%d,%b,%d,%d,%d,%d,%d,%d\n",[c.U,cba(c.a),Fc(c.c),1==c.b,Fc(c.f),Fc(c.g),Fc(c.o),Fc(c.v),Fc(c.F),Fc(c.A)])}a.Oa&&(T6(A(["","Input AST Manifest:","token,count"],B,y,1)),ng(vg(tg(a.Oa.yc().S(),u(function(d){return CN("%s,%d",[d.b(),Fc(d.a())])}))),zb(function(){})))}function T6(a){for(var b=aca("\n"),c=0;c<a.length;c++)Cd(b,a[c])}function sFb(){Or.call(this);this.b=this.a=0}l(sFb,Or);
  3217. function pFb(a){var b=new sFb;Koa(b);b.a=0;b.b=0;BI(Lya(b),a);return b}sFb.prototype.zc=function(a){var b=a.length;0<b&&(this.a+=b,this.b=a.charCodeAt(b-1))};sFb.prototype.Ye=function(){return this.b};function tFb(){this.a=!1}l(tFb,n);function uFb(){var a=new tFb;a.a=!1;return a}tFb.prototype.c=function(){this.a=!0};function vFb(){this.f=!1;this.c=0}l(vFb,n);function wFb(a){var b=new vFb;b.a=a;b.b=w();b.o=ef();b.f=!1;b.c=0;return b}
  3218. vFb.prototype.H=function(a,b){F(!this.a.c,"Nested loops are forbidden");this.a.c=!0;for(var c=w(),d=(H5(),xFb).h();d.i();)for(var e=d.j(),f=this.b.h();f.i();){var h=f.j();if(q(h.b,e)){c.add(h);break}}this.b.Nb(c);this.b.na(c);a:{for(c=this.b.h();c.i();)if(d=c.j(),yFb.B(d.b)){c=!0;break a}c=!1}this.f=c;c=new zFb;d=this.a;c.a=d;c.b=d.a.ja;this.g=c;this.a.a.Oa.add(this.g);this.a.F=bf();for(c=this.b.h();c.i();)d=c.j(),this.a.F.C(d,Fc(0));c=ef();d=ef();e=(AFb(),U6);f=1;var k=h=wY(b);try{for(;!(f>this.a.ja&&
  3219. this.f);){100<f&&LWa("Fixed point loop exceeded the maximum number of iterations.",null);f++;var m=!1;for(var p=this.b.h();p.i();){var t=p.j();if(q(e,U6)&&!d.B(t)||q(e,BFb)&&c.B(t)){this.a.a.ja++;this.a.ta=t;t.H(a,b);d.add(t);this.a.F.C(t,Fc(this.a.a.ja));if(yZ(this.a.a))return;var v=this.g,C=v.a.A>v.b;v.b=v.a.a.ja;v.a.a.ja++;C?(c.add(t),m=!0):c.sa(t)}else d.sa(t)}k=h;h=wY(b);if(q(e,U6))if(m&&CFb(this,k,h))e=BFb;else break;else E(q(e,BFb)),m&&CFb(this,k,h)||(e=U6)}}finally{this.a.c=!1,this.a.a.Oa.sa(this.g)}};
  3220. function CFb(a,b,c){return a.a.pa&&a.f?(.05>Math.abs(c-b)/b*100?a.c++:a.c=0,2>a.c):!0}function DFb(){}l(DFb,n);function EFb(a,b){var c=new DFb;c.a=a;c.b=b.c;c.c=b;return c}
  3221. DFb.prototype.H=function(a,b){var c=this.a.a.u,d=this.c.g;if(!xI(d,c)&&(c=XK(c,d),X(this.a.a,UL((H5(),lzb),A([this.b,this.a.a.a.vg?"Skipping pass.":"Running pass anyway.",c.toString()],B,y,1))),this.a.a.a.vg))return;H5();r(this.b);this.a.U&&(this.a.$=Rxb(Qxb(this.a.a),this.a.v));this.a.u&&kFb(this.a.u,this.b,!this.c.b);this.f=FFb();this.c.a.f(this.a.a).H(a,b);GFb(this.a.a,this.b);try{if(this.a.g){this.a.b+=this.a.o;var e=this.a.b;this.a.a.jb=1<e?1:e}else this.a.a.jb=-1;var f=Ya(Ei(),this.f.a);this.a.u&&
  3222. lFb(this.a.u,this.b,f);var h=this.a;h.K&&(r(this.b),Yg(cU(h.a,b)));var k=this.a,m=this.b;if(k.U)try{k.U.a.f(k.a).H(a,b);var p=k.$,t=k.v,v=te(m)?"":r(m)+": ",C=ef(),J=p.a.get(t),K=new Lxb;K.b=C;lY(J,K);var Ca=new Mxb;Ca.c=p;Ca.f=C;Ca.b=v;lY(t,Ca);for(var Wa=C.h();Wa.i();){var Ma=Wa.j(),Vb=p.a.ef().get(Ma);if(!tF(Vb,(bF(),WF)))throw pb(r(v)+"deleted scope was not reported:\n"+r(uD(Vb))).s;}}catch(tc){tc=va(tc);if(Ea(tc)){a=tc;var sc="Validity checks failed for pass: "+r(m),gc=new nb;ta(gc,sc,a);gc.a(Error(gc));
  3223. throw gc.s;}throw tc.s;}}catch(tc$7){tc$7=va(tc$7);if(tc$7 instanceof nb)throw m=tc$7,Ia("Validity check failed for "+r(this.b),m).s;throw tc$7.s;}};DFb.prototype.toString=function(){return"pass: "+r(this.b)};function HFb(){this.a=hb(0)}l(HFb,n);function FFb(){var a=new HFb;a.a=Ei();return a}function zFb(){this.b=0}l(zFb,n);zFb.prototype.c=function(){this.a.A=this.a.a.ja};function IFb(){this.a=0}var U6,BFb;l(IFb,z);function JFb(a,b){var c=new IFb;c.b=a;c.a=b;return c}
  3224. IFb.prototype.R=function(a){return z.prototype.c.call(this,a)};function AFb(){AFb=function(){};U6=JFb("RUN_PASSES_NOT_RUN_IN_PREV_ITER",0);BFb=JFb("RUN_PASSES_THAT_CHANGED_STH_IN_PREV_ITER",1)}function KFb(){this.b=this.a=0}l(KFb,n);function LFb(){this.K=this.c=!1;this.A=this.o=this.b=0;this.pa=!1;this.ja=0}var lzb,xFb,yFb;l(LFb,n);
  3225. function MFb(a,b){var c=wFb(a);for(b=b.h();b.i();){var d=b.j();if(d.b){var e=c,f=d.c;Ii(!e.o.B(f),"Already a pass with name '%s' in this loop",f);e.o.add(f);e.b.add(EFb(e.a,d))}else c.b.D()||(a.f.add(c),c=wFb(a)),a.f.add(EFb(a,d))}!c.b.D()&&a.f.add(c)}LFb.prototype.H=function(a,b){this.o=this.b=0;this.g&&(this.o=(this.g.b-this.g.a)/this.f.w(),this.b=this.g.a);for(var c=this.f.h();c.i()&&(c.j().H(a,b),!yZ(this.a)););};
  3226. function H5(){H5=function(){};lzb=U("JSC_FEATURES_NOT_SUPPORTED_BY_PASS",'Attempted to run pass "{0}" on input with features it does not support. {1}\nUnsupported features: {2}');ka(la(LFb));Nl();xFb=Tl(Ul("inlineFunctions inlineVariables deadAssignmentsElimination collapseObjectLiterals removeUnusedCode peepholeOptimizations removeUnreachableCode".split(" ")));yFb=Sl("peepholeOptimizations","removeUnreachableCode")}function NFb(){}l(NFb,cT);
  3227. NFb.prototype.ga=function(a,b,c){switch(b.c.a){case 116:return tF(c,(kx(),WE))&&OFb(this,b),!1;case 88:a=fF(b);if(!eH(a))return!1;a=a.a;b=a.b;if(!b)return!1;zG(a,(L5(),PFb))?QFb(this,b):zG(a,(L5(),RFb))&&P(b)&&OFb(this,mX(b));return!1;case 89:case 85:return!0;default:return!1}};function OFb(a,b){if((b=b.a)&&oX(b)){var c=b.b;c&&AY(c)&&QFb(a,R(b.a))}}
  3228. function QFb(a,b){var c=b.l(),d=mi(c,46);a.a.tb(-1==d?c:ne(c,0,d),SFb(b),new Xd(function(e,f){return cd(e,(gs(),ds))||cd(f,(gs(),ds))?(gs(),ds):cd(e,(gs(),fs))||cd(f,(gs(),fs))?(gs(),fs):(gs(),es)}))}function V6(){}l(V6,n);V6.prototype.ga=function(a,b){return!tC(b)||!YW(b)};
  3229. V6.prototype.J=function(a,b,c){if(L(b)){switch(c.c.a){case 80:case 104:case 92:case 69:case 100:case 48:case 127:case 118:case 119:case 97:return;case 95:if($w(c.m()))return;break;case 26:if(q(b,c.a)){if(ET(a).T(b.l())||zG(c,(L5(),TFb)))return;this.a.o.X(b.l())||MT(a,b,(L5(),Fzb),A([b.l()],B,y,1));this.a.b.add(b.l())}return;case 50:if(q(b,O(c))&&DC(b)&&DC(c.a))return;break;case 32:if(PI(c.m()))return;break;case 64:if(CL(c.m()))return}MT(a,b,(L5(),Ezb),A([b.l()],B,y,1));ET(a).T(b.l())||this.a.b.add(b.l())}};
  3230. V6.prototype.la=!0;function UFb(){}l(UFb,n);
  3231. UFb.prototype.b=function(a,b,c){var d=v3a(c),e=a.T(b),f=e.N();f=f?v3a(f):null;hx(d)||ix(d)||kA(d)||f&&(hx(f)||ix(f)||kA(f))?X(this.a.a,V(c,(L5(),VFb),A([],B,y,1))):P(d)&&!nL(a)&&f&&(P(f)||hx(f)||ix(f)||kA(f))?X(this.a.a,V(c,(L5(),VFb),A([],B,y,1))):nL(a)?oH(f)&&oH(d)||(a=this.a.a,f=e.a,L5(),a=WFb(c)?!0:N0a(a,f),WFb(c)?this.c.add(d):a||X(this.a.a,V(c,N5,A([b,e.c?e.c.eb():"??"],B,y,1)))):"arguments"!==b||PI(c.m())&&L(c)||X(this.a.a,V(c,(L5(),XFb),A([],B,y,1)))};
  3232. function YFb(){this.f=this.u=this.c=!1}var Czb,Dzb,Ezb,Fzb,Jzb,N5,PFb,RFb,TFb,VFb,XFb,ZFb,$Fb;l(YFb,n);function aGb(a){L5();var b=new YFb;bGb(b,a,!0);return b}function bGb(a,b,c){a.b=pm();a.o=Vj();a.a=b;var d=NL("",0,0,Fzb,A([],B,y,1));d=S0a(b,d);a.u=q(d,(yJ(),wJ));a.c=c;a.f=!!b.a&&b.a.b}function cGb(a){if(a.c)return kT(a.a);var b=new UFb;b.a=a;b.c=w();a.g=b;return HWa(a.a,a.g)}g=YFb.prototype;
  3233. g.H=function(a,b){var c=cGb(this);this.f&&dGb(this,this.a.jd);if(!this.c){var d=this.a,e=new V6;e.a=this;nT(mT(d,e,c),a)}sT(mT(this.a,this,c),a,b);for(a=this.b.h();a.i();)b=a.j(),eGb(this.a,b);if(this.g)for(a=this.g,b=a.c.h();b.i();)if(c=b.j(),d=c.m())S(c),Z(a.a.a,d)};g.ra=function(a){E(tC(a));this.f&&dGb(this,this.a.jd);var b=cGb(this),c=mT(this.a,this,b);b=b.b(this.a.jd,null);uT(c,a,b)};g.ga=function(){return!0};
  3234. g.J=function(a,b,c){if(L(b)){var d=b.l(),e=SFb(b);if(te(d))E(lL(c)||zX(c));else{var f=ET(a),h=f.T(d),k=h?h.ya():null;k&&nL(k)&&(gx(c)||qJ(c))&&this.b.B(d)&&(eGb(this.a,d),this.b.sa(d),k=JP(nG(b)),PP(k,"duplicate"),Gx(b,KP(k)));h?(e=AT(a),h=h.c,!q(e,h)&&e&&h&&(e=e.a,h=h.a,c=this.a.b,!this.c&&!q(h,e)&&h&&e&&("$weak$"===h.g&&fGb(this,a,b),jV(c,e,h)||(nL(f)?jV(c,h,e)?MT(a,b,Dzb,A([e.eb(),h.eb(),d],B,y,1)):MT(a,b,ZFb,A([e.eb(),h.eb(),d],B,y,1)):MT(a,b,Czb,A([e.eb(),h.eb(),d],B,y,1)))))):!((lL(c)||hT(c))&&
  3235. iG(b,c)||i3a(b))&&(h=this.o.get(d),!h||cd(e,(gs(),ds))&&cd(h,(gs(),es)))&&(fGb(this,a,b),eS(OR(f),d,b,zZ(this.a)))}}};function SFb(a){L5();return(a=Sz(a))?a.Tf():(gs(),fs)}function fGb(a,b,c){E(L(c));var d=c.l();cI(c.m())||a.u&&pL(AT(b))||MT(b,c,Jzb,A([d],B,y,1));if(a.c)throw pb("Unexpected variable "+r(d)).s;eGb(a.a,d);a.b.sa(d)}function dGb(a,b){var c=new NFb;c.a=Uf();Y(a.a,b,c);a.o=il(c.a)}g.Hb=function(){};
  3236. g.Tb=function(a){if(!this.c&&IT(a)){a=ET(a);for(var b=$Fb.h();b.i();){var c=b.j();a.T(c)||this.b.add(c)}}};function eGb(a,b){L5();var c=rx(b);MX(a).Bf(b)&&Hx(c,(kx(),IE),!0);b=Tw(c);c=zZ(a).Pb(a);M(c,b);Z(a,b)}function WFb(a){L5();return gx(a.m())&&eG(a)&&CL(a)}
  3237. function L5(){L5=function(){};Jzb=U("JSC_UNDEFINED_VARIABLE","variable {0} is undeclared");Dzb=U("JSC_VIOLATED_MODULE_DEPENDENCY","module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}");ZFb=AJ("JSC_MISSING_MODULE_DEPENDENCY","missing module dependency; module {0} should depend on module {1} because it references {2}");Czb=BJ("JSC_STRICT_MODULE_DEPENDENCY","cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}");
  3238. Ezb=AJ("JSC_NAME_REFERENCE_IN_EXTERNS","accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?");Fzb=AJ("JSC_UNDEFINED_EXTERN_VAR_ERROR","name {0} is not defined in the externs.");N5=U("JSC_VAR_MULTIPLY_DECLARED_ERROR","Variable {0} declared more than once. First occurrence: {1}");XFb=U("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",'Shadowing "arguments" is not allowed');VFb=U("JSC_BLOCK_SCOPED_DECL_MULTIPLY_DECLARED_ERROR","Duplicate let / const / class / function declaration in the same scope is not allowed.");
  3239. RFb=tx(rx("goog"),"loadModule",A([],B,y,1));PFb=tx(rx("goog"),"provide",A([],B,y,1));TFb=tx(rx("goog"),"forwardDeclare",A([],B,y,1));$Fb=jm("Array","Error","Float32Array","Function","Infinity","JSCompiler_renameProperty",A("Map Math NaN Number Object Promise RangeError Reflect RegExp Set String Symbol TypeError WeakMap global globalThis isNaN parseFloat parseInt self undefined window".split(" "),B,y,1))}g.la=!0;g.ic=!0;function gGb(){}l(gGb,RT);
  3240. gGb.prototype.J=function(a,b){P(b)&&(a=tL(b))&&Ay(a,16384)&&(a=TT(b),this.a.g.add(a));L(b)&&li("JSCOMPILER_PRESERVE",b.l())&&(this.a.c=!0)};function W6(){this.c=this.o=this.f=!1}var Mzb;l(W6,RT);W6.prototype.H=function(a,b){var c=this.a,d=new gGb;d.a=this;Y(c,a,d);Y(this.a,b,this);if(this.o&&!this.b.D())for(this.c||hGb(this.a),a=this.b.h();a.i();)b=a.j(),c=GG(rx("JSCOMPILER_PRESERVE"),b),Hx(c,(kx(),IE),!0),c=GG(px(c,A([],lx,eI,1)),b),Hx(c,KE,!0),qD(b,c),M(c,b),Z(this.a,c)};
  3241. W6.prototype.ra=function(a){Y(this.a,a,this)};
  3242. W6.prototype.J=function(a,b,c){if(!(Aw(b)||qH(b)||!c||yH(b)||Hw(b)||DC(b)&&nG(b))){var d=uY(b);c=kAa(b);d||(c||!lJ(fJ(a.c),b)?(this.f&&(d="This code lacks side-effects. Is there a bug?",Dw(b)||yya(b)?d="Is there a missing '+' on the previous line?":c&&(d="The result of the '"+r(Xp(b.c.toString()))+"' operator is not being used."),MT(a,b,Mzb,A([d],B,y,1))),EI(b)||this.b.add(b)):eH(b)&&(N(b.a)||L(b.a)||Dw(b.a))&&(c=EC(b.a),d=!1,null!=c&&(N(b.a)?(d=PX(b.a),d=!!d&&L(d)&&!!ET(a).T(d.l())):d=!!ET(a).T(c)),
  3243. null!=c&&this.g.B(c)&&!d&&(this.b.add(b),this.f&&(c="The result of the extern function call '"+r(c)+"' is not being used.",MT(a,b,Mzb,A([c],B,y,1))))))}};function hGb(a){Lzb();var b=rx("JSCOMPILER_PRESERVE");Hx(b,(kx(),IE),!0);var c=Tw(b),d=HP(!1);Gx(c,KP(d));d=zZ(a).Pb(a);$F(b,d);$F(c,d);M(d,c);Z(a,c)}function Lzb(){Lzb=function(){};Mzb=AJ("JSC_USELESS_CODE","Suspicious code. {0}")}var MAb,W5,iGb,jGb,kGb,lGb,mGb,nGb,oGb,pGb,qGb,rGb,sGb,tGb,uGb;
  3244. function V5(){V5=function(){};MAb=AJ("JSC_POLYMER_DESCRIPTOR_NOT_VALID","The argument to Polymer() is not an obj lit or the Polymer 2 class does not have a static getter named 'config'. Ignoring this definition.");iGb=U("JSC_POLYMER_INVALID_BEHAVIOR","A Polymer behavior may not include an ''is'' property.");jGb=U("JSC_POLYMER_MISSING_IS","The class descriptor must include an ''is'' property.");kGb=U("JSC_POLYMER_UNEXPECTED_PARAMS","The class definition has too many arguments.");lGb=U("JSC_POLYMER_MISSING_EXTERNS",
  3245. "Missing Polymer externs.");mGb=U("JSC_POLYMER_INVALID_PROPERTY","Polymer property has an invalid or missing type.");nGb=U("JSC_POLYMER_INVALID_EXTENDS","Cannot extend HTML element ''{0}''. The element is probably either misspelled, or needs to be added to the list of known elements.");oGb=U("JSC_POLYMER_INVALID_BEHAVIOR_ARRAY","The behaviors property must be an array literal.");W5=U("JSC_POLYMER_UNQUALIFIED_BEHAVIOR","Behaviors must be global names or qualified names that are declared as object literals or array literals of other valid Behaviors.");
  3246. pGb=U("JSC_POLYMER_UNANNOTATED_BEHAVIOR","Behavior declarations must be annotated with @polymerBehavior.");qGb=U("JSC_POLYMER_CLASS_PROPERTIES_INVALID","The Polymer element class 'properties' getter does not return an object literal. Ignoring this definition.");rGb=U("JSC_POLYMER_CLASS_PROPERTIES_NOT_STATIC","The Polymer element class 'properties' getter is not declared static. Ignoring this definition.");sGb=AJ("JSC_POLYMER2_UNNAMED","Unable to locate a valid name for the Polymer element class.Ignoring this definition.");
  3247. tGb=AJ("JSC_POLYMER_MISPLACED_PROPERTY_JSDOC","When a Polymer property is declared in the constructor, its JSDoc should only be in the constructor, not on the Polymer properties configuration.");uGb=U("JSC_POLYMER_UNPARSABLE_STRING","The Polymer computed property or complex observer string could not be parsed.")}function X6(){}var kzb,vGb,wGb,xGb;l(X6,RT);X6.prototype.ra=function(a){Y(this.b,a,this);Y6(this.b,this.a)};X6.prototype.H=function(a,b){Y(this.b,b,this);Y6(this.b,this.a)};
  3248. function yGb(a,b,c){X(a.b,V(c,kzb,A([nFa(b).toString(),b.toString()],B,y,1)))}X6.prototype.J=function(a,b){switch(b.c.a){case 41:var c=b.a.l(),d=kG(b)?O(b).l():"";try{k1();var e=Hhb(Ihb(c,d))}catch(f){if(f=va(f),mb(f)||f instanceof Ja){e=f;MT(a,b,(Jhb(),Ghb),A([e.b],B,y,1));break}else throw f.s;}YI(this.a,(KI(),AK))&&(D(UH(b)),a=kG(b)?O(b).l():"",ji(a,"s")&&yGb(this,(KI(),AK),b));YI(this.a,(KI(),BK))&&zGb(this,b,e);YI(this.a,(KI(),CK))&&AGb(this,b,e);YI(this.a,(KI(),DK))&&BGb(this,b,e)}};
  3249. function zGb(a,b,c){D(!!b);CGb(c,fd(function(d){return d instanceof O1}))&&yGb(a,(KI(),BK),b)}function AGb(a,b,c){D(!!b);CGb(c,fd(function(d){return d instanceof C1}))&&yGb(a,(KI(),CK),b)}function BGb(a,b,c){D(!!b);CGb(c,fd(function(d){return d instanceof Q1}))&&yGb(a,(KI(),DK),b)}function CGb(a,b){if(b.Ca(a))return!0;for(a=a.ig().h();a.i();){var c=a.j();if(CGb(c,b))return!0}return!1}
  3250. function jzb(){jzb=function(){};kzb=U("JSC_UNTRANSPILABLE",'Cannot convert {0} feature "{1}" to targeted output language.');wGb=aL((uI(),vI),A([(KI(),AK),BK,CK,DK],UJ,NK,1));xGb=$K(vI,ZI);vGb=YK(YK(vI,wGb),xGb)}function Z6(){}l(Z6,n);Z6.prototype.Ca=function(a){return this.ca(a)};Z6.prototype.cb=function(){return hd(this)};Z6.prototype.ca=function(a){a:switch(a.c.a){case 102:case 90:case 91:case 122:a=!0;break a;default:a=!1}return a};function DGb(){}l(DGb,n);
  3251. function EGb(a,b){var c=new DGb;c.a=a;c.b=b;return c}function $6(){}l($6,n);function FGb(a){var b=new $6;b.b=a;b.a=Uk();return b}function GGb(a,b){D(kA(a));return L(a.a)&&L(b)}$6.prototype.ga=function(a,b,c){kA(b)&&GGb(b,c)&&this.a.qe(EGb(b.a,c.l()));return!0};
  3252. $6.prototype.J=function(a,b,c){switch(b.c.a){case 100:GGb(b,c)&&(this.a.qd(),pF(b,b.a,FG(yw(),b.a)),Z(this.b.a,b));break;case 32:for(var d=this.a.h();d.i();){var e=d.j();if(!q(b,e.a)&&zG(b,e.a)){var f=ET(a).T(b.l());if(f&&q(f.a,e.a)){a=FG(Q(rx(e.b),b.f),b);pF(c,b,a);Z(this.b.a,a);break}}}}};$6.prototype.la=!0;function a7(){this.c=0}var HGb;l(a7,RT);a7.prototype.H=function(a,b){b7(this.a,a,HGb,A([this,FGb(this)],OS,PS,1));b7(this.a,b,HGb,A([this,FGb(this)],OS,PS,1))};
  3253. a7.prototype.ra=function(a){c7(this.a,a,HGb,A([this,FGb(this)],OS,PS,1))};
  3254. a7.prototype.J=function(a,b){var c;if(c=kA(b)){c=b.m();var d=Aw(b.a);rJ(b)||d&&L(c)||d&&kH(c)&&DC(c.a)&&yH(c.m())?c=!1:q(d4(this.b,b),(Y3(),W3))?(X(this.a,V(b,(FZ(),DZ),A(["class expression that cannot be extracted"],B,y,1))),c=!1):c=!0}if(c){q(d4(this.b,b),(Y3(),X3))&&gqb(this.b,b);c=b.m();var e=r(GCa(Sz(b).ub()))+"$classdecl$var"+this.c++;d=tL(b);var f=jX(c),h=b.f;E(!this.a.v||!!h);h=Q(rx(e),h);e=NA(h);pF(c,b,e);b=JG(Ww(h,b),b);HY(a.b,(KI(),eK),this.a);Gx(b,KP(JP(d)));mF(f.m(),b,f);PI(f)&&gF(f)&&
  3255. q(fF(f),c)?IGb(f):yH(f)&&(a=fF(f),kH(a)&&DC(a.a)&&q(R(a),e)&&IGb(a));Z(this.a,b)}};function IGb(a){var b=JP(nG(a));UP(b);Gx(a,KP(b))}function JGb(){JGb=function(){};HGb=$K((uI(),vI),(KI(),aK))}function d7(){this.f=!1}var e7;l(d7,RT);d7.prototype.H=function(a,b){b7(this.c,a,e7,A([this],OS,PS,1));b7(this.c,b,e7,A([this],OS,PS,1));Y6(this.c,e7)};d7.prototype.ra=function(a){c7(this.c,a,e7,A([this],OS,PS,1));Y6(this.c,e7)};
  3256. d7.prototype.J=function(a,b,c){if(BH(b)){var d=UA(b),e=UA(b);a=UA(b);var f=this.g;if(this.f){var h=zy(e.f.Fc());h&&(f=sB(h.Ma(),G(this.b.b)))}h=(I(),Jv);var k=O8a(this.f,this.b,h,f);h=this.f?zy(k).Sa("next").ha():null;var m=this.g;this.f&&h&&(m=HA(h));h=nG(d);var p=mS(this.a,"$jscomp$iter$"+r(s3(this.c).f()),k);cG(p);var t=wS(this.a,sS(this.a,NA(p),"next"),A([],lx,eI,1)),v="$jscomp$key$";v=PI(d)?r(v)+r(d.a.l()):L(d)?r(v)+r(d.l()):r(v)+r(aU(this.u));m=mS(this.a,v,m);cG(m);e=M8a(this.c,e,"makeIterator");
  3257. this.f&&(v=e.a,Q(v,HC(this.b,k,A([this.o],ly,ey,1))),Q(v.a,qy(this.b,ew)),Q(R(v),qy(this.b,$v)),Q(e,k));e=Rw(IZ(NA(p),p.f),e);k=NA(m);Mx(k,NA(t));M(e,k);p=this.a;k=sS(this.a,NA(m),"done");k=Dx(k);p.a&&Q(k,hS(p,uv));t=yS(this.a,NA(m),NA(t));PI(d)?(d=Ow(d.c,FG(mS(this.a,d.a.l(),f),d.a)),M(d.a,sS(this.a,NA(m),"value")),Gx(d,h)):(d=yS(this.a,IZ(Gx(NA(d),null),f),sS(this.a,NA(m),"value")),Gx(d,h),d=cx(d));a=FG(Pw(A([d,a],lx,eI,1)),a);a=fx(e,k,t,a);JG(a,b);pF(c,b,a);Z(this.c,a)}};
  3258. function KGb(){KGb=function(){};e7=$K((uI(),vI),(KI(),jK))}function f7(){}var g7;l(f7,RT);f7.prototype.H=function(a,b){b7(this.a,a,g7,A([this],OS,PS,1));b7(this.a,b,g7,A([this],OS,PS,1));Y6(this.a,g7)};f7.prototype.ra=function(a){c7(this.a,a,g7,A([this],OS,PS,1))};f7.prototype.J=function(a,b){Lx(b)&&MG(b,!1)};function LGb(){LGb=function(){};g7=$K((uI(),vI),(KI(),iK))}function MGb(){}l(MGb,RT);MGb.prototype.J=function(a,b){sX(b)&&this.a.add(b.l())};function NGb(){}l(NGb,cT);
  3259. NGb.prototype.ga=function(a,b,c){return c?vH(c)&&q(b,O(c))||rH(c)&&q(b,c.a)?(Y(this.b.a,b,this.a),!1):!0:!0};function h7(){}var OGb;l(h7,RT);h7.prototype.J=function(a,b){if(P(b)&&Hw(O(b))){var c=R(b),d=new MGb;d.a=ef();var e=this.a,f=new NGb;f.b=this;f.a=d;Y(e,c,f);c=c.b;e=kT(this.a);a=e.b(b,ET(a));b=e.b(c,a);e=Bq();for(f=TR(b).h();f.i();){var h=f.j().va();d.a.B(h)&&!e.Yi(b.ka(),h)&&e.Mc(b.ka(),h,r(h)+"$"+r(s3(this.a).f()))}OWa(mT(this.a,A8a(e),kT(this.a)),c,c.m(),a)}};
  3260. h7.prototype.H=function(a,b){b7(this.a,b,OGb,A([this],OS,PS,1))};h7.prototype.ra=function(a){c7(this.a,a,OGb,A([this],OS,PS,1))};function PGb(){PGb=function(){};OGb=aL((uI(),vI),A([(KI(),fK),dK],UJ,NK,1))}function QGb(){this.c=this.f=this.v=!1}l(QGb,n);function RGb(a,b,c){var d=new QGb;d.u=a;d.b=null;d.f=!1;d.c=!1;d.g=b;d.v=c;return d}function i7(){}l(i7,n);
  3261. i7.prototype.J=function(a,b){if(SC(b)){a=this.a;var c=b.f;a.u.a.v&&G(c);a.o=c;a.f=!0;a=GG(Q(rx("$jscomp$this"),this.a.o),b);cG(a);this.b.a.o&&bG(a,"this");qD(b,a)}else L(b)&&li(b.l(),"arguments")&&(a=this.a,c=b.f,a.u.a.v&&G(c),a.a=c,a.c=!0,a=GG(Q(rx("$jscomp$arguments"),this.a.a),b),this.b.a.o&&bG(a,"arguments"),qD(b,a))};i7.prototype.ga=function(a,b){return!P(b)||aH(b)};i7.prototype.la=!0;function SGb(){}var j7;l(SGb,n);g=SGb.prototype;
  3262. g.H=function(a,b){b7(this.a,a,j7,A([this],OS,PS,1));b7(this.a,b,j7,A([this],OS,PS,1));Y6(this.a,j7)};g.ra=function(a){c7(this.a,a,j7,A([this],OS,PS,1));Y6(this.a,j7)};g.ga=function(a,b,c){switch(b.c.a){case 89:this.b.Ea(RGb(this,b,!1));break;case 69:aH(b)||this.b.Ea(RGb(this,O(b),BY(b)));break;case 103:if(a=G(this.b.Na()),a.v&&eH(c)&&q(c.a,b)){b=c;for(c=a.g;!q(G(b.m()),c);)b=G(jX(b.m()));a.b=b}}return!0};
  3263. g.J=function(a,b){var c=this.b.Na();if(aH(b)){c=G(c);mya(b,!1);var d=O(b);Hw(d)||(S(d),d=JG(Mw(bx(d)),d),M(b,d));b=new i7;b.b=this.a;b.a=c;Y(this.a,d,b);NT(a)}else c&&q(c.g,b)&&(this.b.Ta(),b=c.g,c.f&&(d=Q(rx("$jscomp$this"),c.o),d=Ww(d,Q(Qx(),c.o)),HY(a.b,(KI(),eK),this.a),JG(d,b),TGb(this,d),c.b?nF(b,d,c.b):Mx(b,d),Z(this.a,d)),c.c&&(d=Q(rx("$jscomp$arguments"),c.a),c=Ww(d,Q(rx("arguments"),c.a)),HY(a.b,(KI(),eK),this.a),Mx(b,c),JG(c,b),Z(this.a,c)))};
  3264. function TGb(a,b){cG(b);for(b=BA(b).h();b.i();){var c=b.j();TGb(a,c)}}function UGb(){UGb=function(){};j7=$K((uI(),vI),(KI(),ZJ))}g.la=!0;function k7(){}l(k7,n);k7.prototype.Ca=function(a){return this.ca(a)};k7.prototype.cb=function(){return hd(this)};k7.prototype.ca=function(a){return P(a)||ZS(a)};function VGb(){}l(VGb,RT);function WGb(a){var b=new VGb;b.a=a;return b}VGb.prototype.J=function(a,b){L(b)&&!RR(ET(a),b.l())&&this.a.g.add(b.l())};function l7(){this.a=0;this.c=!1}l(l7,n);
  3265. l7.prototype.ga=function(a,b){F(!kA(b),b);if(P(b))return!1;if(ZS(b)){if(null==this.b)return!1;this.a++}return!0};l7.prototype.J=function(a,b){ZS(b)?this.a--:sH(b)&&(0!=this.a||b.a?null!=this.b&&b.a&&li(this.b,fF(b).l())&&XGb(this,b):XGb(this,b))};function XGb(a,b){var c=GG(nx(a.f),b);c=GG(Kqa(c),b);qD(b,c);a.c=!0}l7.prototype.la=!0;function YGb(){}l(YGb,n);function ZGb(a){var b=new YGb;b.a=pm();b.b=a;return b}function $Gb(){}l($Gb,RT);
  3266. function aHb(a){var b=new $Gb;b.a=a;b.b=Uf();b.c=br();b.g=Vq();b.o=br();b.f=Uf();return b}
  3267. $Gb.prototype.J=function(a,b){if(sX(b)){var c=b.l(),d=ET(a);if((a=d.T(c))&&(uL(a)||wL(a))){(hx(b.m())||ix(b.m()))&&this.a.c.add(b.m());var e=a.ya(),f;for(f=e;;f=f.m()){var h=f.ka();if(ZS(h)){f=h;break}else if(h.m()&&ZS(h.m())){f=h.m();break}else if(SR(f)||nL(f))return}this.o.Aa(a,b);for(b=null;!q(d,e)&&!q(d.ka(),f);d=d.m())yL(d)&&(b=d);b&&(e=b.ka(),Sn(this.g,e,c)||(this.g.Aa(e,c),this.b.X(f)||this.b.C(f,ZGb("$jscomp$loop$"+r(s3(this.a.a).f()))),c=this.b.get(f),b="$jscomp$loop$prop$"+r(a.va())+"$"+
  3268. r(this.a.o.f()),c.a.add(a),this.f.C(a,b),this.c.Aa(e,c)))}}};
  3269. function bHb(a){if(!a.b.Qa()){for(var b=a.b.oa().h();b.i();){for(var c=b.j(),d=a.b.get(c),e=cHb(a.a),f=d.a.h();f.i();){var h=f.j(),k=a.f.get(h);M(e,Px(k,dHb(a,d,h.a,k)))}e=eHb(a.a,m7(a,d),e);f=HG(Rw(m7(a,d),cHb(a.a)),c);fHb(a.a,f,c);if(zH(c)){f=c.a;pF(c,f,yw());Aw(f)||(PI(f)||(f=FG(cx(f),f)),fHb(a.a,f,c));var m=RC(c,2);if(Aw(m))pF(c,m,JG(e,c));else{h=yw();pF(c,m,h);f=c;k=JG;var p=a.a;e=zx(e,m);p.b&&Q(e,m.f);pF(f,h,k(e,c))}}else{f=d.b;h=pX(c);k=a;p=c;var t=f;m=p.m();var v=KH(m)?m.a.l():null,C=m=new l7;
  3270. C.a=0;C.c=!1;C.f=t;C.b=v;Y(k.a.a,pX(p),m);m.c&&(k=GG(Lw(),h),kF(k,pD(h)),Mx(h,GG(Jqa(GG(nx(f),h),k),h)));M(h,JG(cx(e),c))}Z(a.a.a,c);for(e=d.a.h();e.i();)for(f=e.j(),h=a.f.get(f),k=a.o.Ua(f).h();k.i();)if(p=k.j(),F(!BH(c),c),AH(c)&&q(c.a,p.m()))F(q(p,f.a),p),m=p.m(),F(PI(m),m),F(L(p),p),m=CG(p),a.a.b&&Q(m,n7(a.a,(I(),$v))),Mx(O(c),JG(cx(eHb(a.a,dHb(a,d,p,h),m)),p));else{if(PI(p.m())){m=p.m();C=m.m();gHb(a.a,m,C);m=p.m();if(p.a){t=a.a;v=p;var J=CG(v);t.b&&Q(J,v.f);t=J;v=eHb(a.a,t,UA(p));hHb(m,p,m);
  3271. iHb(m,C,p,m);Gx(v,nG(m));p=JG(cx(v),m);pF(C,m,p);p=t}else oF(C,m);a.a.c.sa(m);Z(a.a.a,C)}eH(p.m())&&q(p.m().a,p)&&Hx(p.m(),(kx(),KE),!1);m=QT(p);qD(p,dHb(a,d,p,h));m&&OT(a.a.a,m)}}for(b=a.c.Pc().h();b.i();){c=b.j();d=zw((H(),is));p=a.c.Ua(c);h=za([p.w()],lx,eI,lx.a);e=za([p.w()],lx,eI,lx.a);k=0;f=za([p.w()],ly,ey,ly.a);for(p=p.h();p.i();)m=p.j(),C=m7(a,m),h[k]=C,a.a.b&&Ad(f,k,G(C.f)),Ad(e,k,m7(a,m)),k++;h=Fw(rx(""),Iw(h),Mw(d));a.a.b&&(f=TB(LA(PA($A(aB(MA(eJ(a.a.a)),""),h),JC(eJ(a.a.a),f)),c.f)),
  3272. Q(h,f));OT(a.a.a,h);e=px(h,e);a.a.b&&Q(e,c.f);Hx(e,(kx(),KE),!0);e=qJ(c)?JG(Rw(rx(c.a.l()),e),c):JG(e,c);qD(c,e);Mx(d,c);Z(a.a.a,e)}}}function dHb(a,b,c,d){b=tx(m7(a,b),d,A([],B,y,1));a.a.b&&((d=c.f)||(d=n7(a.a,(I(),ew))),Q(b,d));HG(b,c);return b}function m7(a,b){b=rx(b.b);a.a.b&&Q(b,n7(a.a,(I(),Tv)));return b}function o7(){this.b=!1}var jHb,kHb;l(o7,RT);
  3273. o7.prototype.J=function(a,b,c){if(b.a&&b3a(b.a))if(F(!c||!BH(c),c),(hx(b)||ix(b))&&this.c.add(b),PI(b))for(c=BA(b).h();c.i();){var d=c.j();lHb(this,a,b,d)}else Ji(P(b)||oH(b),"Unexpected declaration node: %s",b),lHb(this,a,b,b.a)};o7.prototype.H=function(a,b){this.b=this.a.v;Y(this.a,b,WGb(this));Y(this.a,b,this);b7(this.a,a,jHb,A([this],OS,PS,1));Y(this.a,b,A8a(this.f));a=aHb(this);Y(this.a,b,a);bHb(a);mHb(this);Y6(this.a,jHb)};
  3274. o7.prototype.ra=function(a){this.b=this.a.v;Y(this.a,a,WGb(this));Y(this.a,a,this);Y(this.a,a,A8a(this.f));var b=aHb(this);Y(this.a,a,b);bHb(b);mHb(this);Y6(this.a,jHb)};
  3275. function lHb(a,b,c,d){b=ET(b);var e=c.m();if(e=!(!hx(c)&&!ix(c)||d.a||e&&AH(e)))c=fX(c,kHb),e=!!c&&!P(c);e&&(c=rx("undefined"),a.b&&Q(c,n7(a,(I(),fw))),c=FG(c,d),Mx(d,c),Z(a.a,c));var f=d.l();c=WR(b);if(!q(b,c)){e=f;if(RR(c,f)||a.g.B(f)){do e=r(f)+"$"+r(s3(a.a).f());while(RR(c,e));d.Ga(e);Z(a.a,d);a.f.Mc(b.ka(),f,e)}a=b.T(f);PR(b,a);eS(c,e,d,a.c)}}function hHb(a,b,c){nHb();a=nG(a);a||(a=nG(b),Gx(b,null));b=JP(a);Gx(c,KP(b))}
  3276. function iHb(a,b,c,d){nHb();!ix(a)||AH(b)&&q(a,b.a)||(hHb(a,c,d),a=JP(nG(d)),TP(a),Gx(d,KP(a)))}function gHb(a,b,c){for(;lG(b);){var d=O(b),e=FG(Tw(S(d)),b);iHb(b,c,d,e);nF(c,e,b);Z(a.a,c)}iHb(b,c,b.a,b);a=(H(),Ft);b.c=a}function fHb(a,b,c){for(;KH(c.m());)c=c.m();mF(c.m(),b,c);Z(a.a,b)}function mHb(a){if(!a.c.D())for(var b=a.c.h();b.i();){var c=b.j();ix(c)&&gHb(a,c,c.m());var d=(H(),Ft);c.c=d;Z(a.a,c)}}function eHb(a,b,c){b=wx(b,c);a.b&&Q(b,c.f);return b}
  3277. function cHb(a){var b=Kx(A([],lx,eI,1));a.b&&Q(b,n7(a,(I(),Tv)));return b}function n7(a,b){return qy(eJ(a.a),b)}function nHb(){nHb=function(){};jHb=aL((uI(),vI),A([(KI(),lK),eK],UJ,NK,1));kHb=new k7}function p7(){}var q7;l(p7,RT);p7.prototype.H=function(a,b){b7(this.a,a,q7,A([this],OS,PS,1));b7(this.a,b,q7,A([this],OS,PS,1));Y6(this.a,q7)};p7.prototype.ra=function(a){c7(this.a,a,q7,A([this],OS,PS,1));Y6(this.a,q7)};
  3278. p7.prototype.J=function(a,b,c){if(P(b)&&c&&Hw(c)&&!P(c.m())){var d=b.a,e=CG(d),f=GG(Uw(e,(H(),bu)),b);HY(a.b,(KI(),lK),this.a);d.Ga("");Z(this.a,d);oF(c,b);Mx(c,f);Z(this.a,f);Mx(e,b)}};function oHb(){oHb=function(){};q7=$K((uI(),vI),(KI(),$J))}function r7(){}l(r7,n);r7.prototype.ga=function(a,b){return this.b.B(b)?!1:P(b)&&!aH(b)?!1:!0};r7.prototype.J=function(a,b,c){SC(b)?(a=FG(mS(this.a.a,"$jscomp$super$this",b.f),b),pF(c,b,a)):Ux(b)&&!b.a&&Mx(b,FG(mS(this.a.a,"$jscomp$super$this",this.c),b))};
  3279. r7.prototype.la=!0;function pHb(){}l(pHb,n);function qHb(){}l(qHb,U2);qHb.prototype.J=function(a,b){!this.a.a&&Ux(b)&&b.a&&!xG(b.a,"undefined")&&(this.a.a=!0)};function rHb(){this.a=!1}l(rHb,n);function s7(){}l(s7,n);s7.prototype.ga=function(a,b,c){if(P(b))a=new pHb,a.a=b,a.b=w(),this.c.Ea(a);else if(WH(b)){F(iG(b,c),c);if(N(c))return MT(a,b,(FZ(),EZ),A(["super access with no extends clause"],B,y,1)),!1;F(eH(c),c);G(this.c.Na()).b.add(c)}return!0};
  3280. s7.prototype.J=function(a,b){var c=this.c.Na();if(c&&q(b,c.a)){this.c.Ta();var d=c.a,e=c.b;if(!e.D())if(eG(d))for(b=e.h();b.i();)c=b.j(),c=jX(c),e=c.m(),S(c),Z(this.b,e);else{b=EC(SW(d));for(var f=null,h=G(jX(d)).b;h;h=h.b){var k=h;f=b;yH(k)?(k=k.a,eH(k)?(k=k.a,yG(k,"$jscomp.inherits")?(k=G(k.b),f=yG(k,f)?G(k.b):null):f=null):f=null):f=null;if(f)break}b=Li(f,"$jscomp.inherits() call not found.");h=EC(b);c=sHb(c.a);if("Object"!==h||tHb(a,h)){a:switch(h){case "Array":case "ArrayBuffer":case "Boolean":case "DataView":case "Date":case "Float32Array":case "Function":case "Generator":case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case "Number":case "Promise":case "Proxy":case "RegExp":case "Set":case "String":case "Symbol":case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":f=
  3281. !tHb(a,h);break a;default:f=!1}if(f)X(this.b,V(d,(FZ(),DZ),A(["extending native class: "+r(h)],B,y,1)));else{a:switch(h){case "Error":case "EvalError":case "RangeError":case "ReferenceError":case "SyntaxError":case "TypeError":case "URIError":a=!tHb(a,h);break a;default:a=!1}if(a)for(e=e.h();e.i();){d=e.j();a=uHb(this,b,d,c);h=a;f=jX(d);k=f.m();F(Hw(k),k);a=h.f;var m=JG(Tw(mS(this.a,"$jscomp$tmp$error",a)),d);mF(k,m,f);h=yS(this.a,mS(this.a,"$jscomp$tmp$error",a),h);f=yS(this.a,sS(this.a,kS(this.a,
  3282. a),"message"),sS(this.a,mS(this.a,"$jscomp$tmp$error",a),"message"));m=k=this.a;var p=jS(this.a,"stack");var t=mS(this.a,"$jscomp$tmp$error",a);t=Ax((H(),Ls),p,t);m.a&&Q(t,hS(m,(I(),uv)));p=yS(this.a,sS(this.a,kS(this.a,a),"stack"),sS(this.a,mS(this.a,"$jscomp$tmp$error",a),"stack"));m=Bx(t,p);if(k.a){t=Li(t.f,t);p=Li(p.f,p);var v=t.ad();switch(v.a){case 1:Q(m,p);break;case 2:Q(m,t);break;case 3:Q(m,t.uc(p));break;default:Ji(q(v,(lv(),fv)),"unexpected enum value: %s",v),Q(m,hS(k,(I(),hw)))}}k=JG;
  3283. t=this.a;a=A([m,kS(this.a,a)],lx,eI,1);h=vS(t,h,f);for(f=0;f<a.length;f++)h=vS(t,h,a[f]);a=k(h,d);qD(d,a);Z(this.b,a)}else if(vHb(this,h))for(e=e.h();e.i();)d=e.j(),a=uHb(this,b,d,c),h=d.m(),gF(h)&&EI(h)?pF(h,d,a):pF(h,d,JG(vS(this.a,a,kS(this.a,c)),d)),Z(this.b,h);else{a=G(RC(d,2));h=a.a;f=e.G(0);if(gF(a)&&yH(h)&&gF(h)&&q(h.a,f))F(1==e.w(),d),b=wVa(this.a,uHb(this,b,e.G(0),e.G(0).f),kS(this.a,c)),pF(a,h,JG(bx(b),h));else for(c=sHb(d),d=new r7,d.a=this,d.b=e,d.c=c,Y(this.b,a,d),Mx(a,HG(Tw(mS(this.a,
  3284. "$jscomp$super$this",c)),a)),M(a,HG(bx(mS(this.a,"$jscomp$super$this",c)),a)),e=e.h();e.i();)d=e.j(),h=uHb(this,b,d,c),qD(d,JG(yS(this.a,mS(this.a,"$jscomp$super$this",c),wVa(this.a,h,kS(this.a,c))),d));Z(this.b,a)}}}else for(b=e.h();b.i();)e=b.j(),d=FG(kS(this.a,c),e),qD(e,d),Z(this.b,d)}}};
  3285. function vHb(a,b){if(!a.f)return!1;var c=a.f.ob(b);if(!c)return!1;b=c.hb();if(!b)for(c=NZ(c).h();c.i();){var d=c.j();l_(d)&&(b=d)}if(!b)return!1;b=b.N();if(eG(b))return!1;c=b.m();if(P(c))b=c;else if(PI(c)&&L(b))if(b.a)b=G(b.a);else return!1;else if(kH(c)&&q(c.a,b))b=G(R(c));else if(SH(c)&&gF(b))b=G(b.a);else throw pb("Unexpected declaration format:\n"+r(uD(c))).s;return P(b)?(b=G(RC(b,2)),c=new rHb,c.b=a,c.a=!1,a=new qHb,a.a=c,Y(c.b.b,b,a),!c.a):DC(b)?vHb(a,EC(b)):!1}
  3286. function uHb(a,b,c,d){Fi(DC(b),b);Fi(eH(c),c);var e=UA(c);F(WH(e),e);for(var f=w(),h=!1;c.a;){var k=UA(c);h=h||qx(k);f.add(k)}if(h){b=HG(sS(a.a,NA(b),"apply"),e);b=FG(wS(a.a,b,A([],lx,eI,1)),c);M(b,FG(kS(a.a,d),e));Hx(b,(kx(),KE),!1);if(d=1==f.w())d=Wj(f),d=qx(d)&&xG(fF(d),"arguments");d?M(b,S(fF(Wj(f)))):M(b,FG(FVa(a.a,f),c));return b}b=HG(sS(a.a,NA(b),"call"),e);c=FG(wS(a.a,b,A([],lx,eI,1)),c);M(c,FG(kS(a.a,d),e));Hx(c,(kx(),KE),!1);for(a=f.h();a.i();)f=a.j(),M(c,f);return c}
  3287. function tHb(a,b){a=ET(a).T(b);return!!a&&!oL(a)}function sHb(a){Fi(P(a),a);var b=CF(a);a=b?b:a.f;if(!a)return null;E(iy(a));return a.ha().vb()}s7.prototype.la=!0;function wHb(){}l(wHb,RT);wHb.prototype.J=function(a,b){kH(b)&&!q(b.a,this.a)&&zG(this.a,b.a)&&X(this.b.b,V(b,(xHb(),yHb),A([],B,y,1)))};function zHb(){this.a=0}var AHb,BHb;l(zHb,z);function CHb(a,b){var c=new zHb;c.b=a;c.a=b;return c}zHb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  3288. function DHb(){DHb=function(){};AHb=CHb("QUOTED_PROPERTY",0);BHb=CHb("NORMAL_PROPERTY",2)}function EHb(){}l(EHb,n);function FHb(){}l(FHb,n);function t7(){}l(t7,FHb);t7.prototype.toString=function(){return"ClassProperty{propertyKey="+r(this.a)+", kind="+r(this.c)+", jsDocInfo="+r(this.b)+"}"};t7.prototype.I=function(a){return q(a,this)?!0:a instanceof FHb?q(this.a,a.a)&&cd(this.c,a.c)&&cd(this.b,a.b):!1};t7.prototype.P=function(){var a=1000003^Yg(this.a);a=1000003*a^ed(this.c);return a=1000003*a^ed(this.b)};
  3289. function GHb(){}l(GHb,EHb);function HHb(a,b){if(!b)throw rb("Null kind").s;a.b=b}function IHb(a){var b="";null==a.c&&(b=r(b)+" propertyKey");a.b||(b=r(b)+" kind");a.a||(b=r(b)+" jsDocInfo");if(!te(b))throw pb("Missing required properties:"+r(b)).s;b=new t7;var c=a.b,d=a.a;b.a=a.c;b.c=c;b.b=d;return b}function JHb(){}l(JHb,n);function KHb(a){var b=new JHb;b.a=a;return b}function u7(a,b){nF(a.a.m(),b,a.a);a.a=b}function LHb(){}l(LHb,n);function MHb(){}l(MHb,n);
  3290. function NHb(a,b,c){var d=a.a,e=d.b,f=new OHb,h=Uf();if(!h)throw rb("Null classMembersToDeclare").s;f.c=h;if(!e)throw rb("Null superClassNameNode").s;f.A=e;if(!d)throw rb("Null classNameNode").s;f.f=d;if(rJ(a))PHb(QHb(f,KHb(a)),d).a=!1;else if(kH(b)&&yH(b.m())){a=b.a;if(!DC(a))return null;PHb(QHb(f,KHb(b.m())),a).a=!0}else if(xH(b))PHb(QHb(f,KHb(a)),d).a=!1;else if(L(b))PHb(QHb(f,KHb(b.m())),CG(b)).a=!0;else return null;b=RHb(f).f;c=sS(c,NA(RHb(f)),"prototype");if(!c)throw rb("Null classPrototypeNode").s;
  3291. f.g=c;c=Q(Kx(A([],lx,eI,1)),b);if(!c)throw rb("Null definePropertiesObjForClass").s;f.o=c;c=Q(Kx(A([],lx,eI,1)),b);if(!c)throw rb("Null definePropertiesObjForPrototype").s;f.u=c;c="";f.v||(c=r(c)+" insertionPoint");f.u||(c=r(c)+" definePropertiesObjForPrototype");f.o||(c=r(c)+" definePropertiesObjForClass");f.c||(c=r(c)+" classMembersToDeclare");f.b||(c=r(c)+" fullClassNameNode");f.g||(c=r(c)+" classPrototypeNode");null==f.a&&(c=r(c)+" anonymous");f.f||(c=r(c)+" classNameNode");f.A||(c=r(c)+" superClassNameNode");
  3292. if(!te(c))throw pb("Missing required properties:"+r(c)).s;c=new v7;b=f.u;a=f.o;d=f.c;e=f.b;h=f.g;var k=f.a,m=f.f,p=f.A;c.b=f.v;c.u=b;c.o=a;c.A=d;c.c=e;c.g=h;c.v=k;c.f=m;c.a=p;return c}function v7(){this.v=!1}l(v7,MHb);
  3293. v7.prototype.toString=function(){return"ClassDeclarationMetadata{insertionPoint="+r(this.b)+", definePropertiesObjForPrototype="+r(this.u)+", definePropertiesObjForClass="+r(this.o)+", classMembersToDeclare="+r(this.A)+", fullClassNameNode="+r(this.c)+", classPrototypeNode="+r(this.g)+", anonymous="+this.v+", classNameNode="+r(this.f)+", superClassNameNode="+r(this.a)+"}"};
  3294. v7.prototype.I=function(a){return q(a,this)?!0:a instanceof MHb?cd(this.b,a.b)&&cd(this.u,a.u)&&cd(this.o,a.o)&&cd(this.A,a.A)&&cd(this.c,a.c)&&cd(this.g,a.g)&&this.v==a.v&&cd(this.f,a.f)&&cd(this.a,a.a):!1};v7.prototype.P=function(){var a=1000003^ed(this.b);a=1000003*a^ed(this.u);a=1000003*a^ed(this.o);a=1000003*a^ed(this.A);a=1000003*a^ed(this.c);a=1000003*a^ed(this.g);a=1000003*a^(this.v?1231:1237);a=1000003*a^ed(this.f);return a=1000003*a^ed(this.a)};function OHb(){}l(OHb,LHb);
  3295. function QHb(a,b){if(!b)throw rb("Null insertionPoint").s;a.v=b;return a}function PHb(a,b){if(!b)throw rb("Null fullClassNameNode").s;a.b=b;return a}function RHb(a){if(!a.b)throw pb('Property "fullClassNameNode" has not been set').s;return a.b}function SHb(){}var yHb,w7,THb;l(SHb,n);g=SHb.prototype;g.H=function(a,b){b7(this.b,a,w7,A([this],OS,PS,1));b7(this.b,b,w7,A([this],OS,PS,1));var c=LZ(this.b,a,b);this.c.f=c;b7(this.b,a,w7,A([this.c],OS,PS,1));b7(this.b,b,w7,A([this.c],OS,PS,1));Y6(this.b,w7)};
  3296. g.ra=function(a){c7(this.b,a,w7,A([this],OS,PS,1));c7(this.b,a,w7,A([this.c],OS,PS,1));yZ(this.b)||Y6(this.b,w7)};g.ga=function(a,b){switch(b.c.a){case 90:case 91:if(xI((uI(),yI),zI(this.b.a)))return K8a(this.b,b,"ES5 getters/setters (consider using --language_out=ES5)"),!1;break;case 128:a=this.b,FZ(),X(a,V(b,EZ,A(["new.target"],B,y,1)))}return!0};
  3297. g.J=function(a,b,c){switch(b.c.a){case 100:var d=SW(b),e=hX(b);if(e){var f=new wHb;f.b=this;f.a=d;Y(this.b,e,f)}e=NHb(b,c,this.a);if(!e)throw pb("Can only convert classes that are declarations or the right hand side of a simple assignment: "+r(b)).s;if(Aw(e.a)||DC(e.a)){Ji(EI(e.b.a),"insertion point must be a statement: %s",e.b.a);d=null;for(f=BA(O(b)).h();f.i();){var h=f.j();if(rH(h)&&(tF(h,(kx(),PE))||tF(h,(kx(),QE)))||CH(h)||VH(h)){var k=h;h=e;var m=ET(a);if(rH(k)){k=S(k);var p=TG(k)?h.c:h.g,t=
  3298. UA(k),v=UA(k),C=UHb(this);v=uS(this.a,tF(k,(kx(),PE))?"get":"set",v);M(C,v);m=wS(this.a,qS(this.a,m,"$jscomp.global.Object.defineProperty"),A([NA(p),t,C],lx,eI,1));k=JG(cx(m),k);u7(h.b,k)}else if(D(!rH(k)),p=TG(k)?h.o:h.u,m=kX(p,k.l()),m||(m=UHb(this),t=uS(this.a,k.l(),m),k.bb()&&Hx(t,(kx(),GE),!0),M(p,t)),t=O(k),p=tL(t),t=uS(this.a,CH(k)?"get":"set",S(t)),Gx(t,p),M(m,t),JG(m,k),TG(k)){F(!rH(k),k);h=h.A;m=new GHb;p=k.l();k.bb()?HHb(m,(DHb(),AHb)):HHb(m,(DHb(),BHb));if(null==p)throw rb("Null propertyKey").s;
  3299. m.c=p;k=HP(!1);EPa(k);k=KP(k);if(!k)throw rb("Null jsDocInfo").s;m.a=k;h.C(p,IHb(m))}}else VW(h)?(d=Q(UA(h),b.f),AF(d,CF(b)),e.v||pF(d,d.a,CG(e.f))):Aw(h)||(Ji(LH(h)||rH(h),"Unexpected class member:",h),Ji(!tF(h,(kx(),RE)),"Member variables should have been transpiled earlier:",h),k=h,h=e,m=TG(k)?NA(h.c):NA(h.g),dG(m),rH(k)?m=JG(tS(this.a,m,UA(k)),k):(p=hF(k),m=HG(sS(this.a,m,k.l()),p)),p=S(O(k)),m=qF(yS(this.a,m,p),p),p=nG(k),TG(k)&&X2a(O(m))&&(p=JP(p),BPa(p,mD(IG(Ow((H(),zu),zw(yu)),k),WA(k))),
  3300. p=KP(p)),p&&Gx(m,p),k=ZW(m),u7(h.b,k))}Li(d,"Es6RewriteClasses expects all classes to have (possibly synthetic) constructors");e.u.a&&(f=cx(wS(this.a,VHb(this,ET(a)),A([NA(e.g),e.u],lx,eI,1))),JG(f,b),u7(e.b,f));e.o.a&&(f=cx(wS(this.a,VHb(this,ET(a)),A([NA(e.c),e.o],lx,eI,1))),JG(f,b),u7(e.b,f));f=tL(b);f=JP(f);UP(f);k=jX(b);Aw(e.a)||(h=EC(e.a),eE(f.a)?XP(f,mD(IG(Ow((H(),zu),ux(h)),e.a),WA(e.a))):SP(f,mD(IG(Ow((H(),zu),ux(h)),e.a),WA(e.a))),eG(b)||(h=JG(cx(wS(this.a,qS(this.a,ET(a),"$jscomp.inherits"),
  3301. A([NA(e.c),NA(e.a)],lx,eI,1))),e.a),nF(k.m(),h,k)));h=ET(a);for(m=e.A.values().h();m.i();){p=m.j();t=this.a;C=h;v=NA(e.c);var J=null;switch(p.c.a){case 0:J=tS(t,v,jS(t,p.a));break;case 1:J=tS(t,v,qS(t,C,p.a));break;case 2:J=sS(t,v,p.a)}Gx(J,p.b);p=J=iS(J);JG(p,e.f);nF(k.m(),p,k);k=p}EI(b)?(d.a.Ga(""),e=Vw(CG(e.f),d),JG(e,b),pF(c,b,e),HY(a.b,(KI(),lK),this.b)):pF(c,b,d);uX(b,this.b);if(EI(d))Gx(d,KP(f));else if(L(c))Gx(c.m(),KP(f));else if(L(d.m()))Gx(gG(d),KP(f));else if(kH(c))Gx(c,KP(f));else throw pb("Unexpected parent node "+
  3302. r(c)).s;(b=Fy(b.f))&&xta(b,d);NT(a)}else X(this.b,V(e.a,THb,A([],B,y,1)))}};function VHb(a,b){return qS(a.a,b,"$jscomp.global.Object.defineProperties")}function UHb(a){return Q(Kx(A([uS(a.a,"configurable",lVa(a.a)),uS(a.a,"enumerable",lVa(a.a))],lx,eI,1)),a.g)}
  3303. function xHb(){xHb=function(){};w7=aL((uI(),vI),A([(KI(),aK),bK,cK,nK,qK],UJ,NK,1));THb=U("JSC_DYNAMIC_EXTENDS_TYPE","The class in an extends clause must be a qualified name.");yHb=U("CLASS_REASSIGNMENT","Class names defined inside a function cannot be reassigned.")}g.la=!0;function x7(){this.b=0}var WHb;l(x7,RT);x7.prototype.H=function(a,b){b7(this.a,a,WHb,A([this],OS,PS,1));b7(this.a,b,WHb,A([this],OS,PS,1))};x7.prototype.ra=function(a){c7(this.a,a,WHb,A([this],OS,PS,1))};
  3304. x7.prototype.J=function(a,b){var c;if(c=kA(b))D(kA(b)),c=R(b),c=!!(+!Aw(c)&+!DC(c));if(c){if(!XHb(this,b)){c=Lw();var d=Fw(rx(""),Iw(A([],lx,eI,1)),c);d=xS(d,A([],lx,eI,1));qD(b,d);M(c,bx(b));JG(d,b);PT(a,d)}d=r(GCa(Sz(b).ub()))+"$classextends$var"+this.b++;c=jX(b);var e=R(b);qD(e,FG(rx(d),e));d=JG(Ww(rx(d),e),e);mF(c.m(),d,c);HY(iX(b),(KI(),eK),this.a);PT(a,b)}};
  3305. function XHb(a,b){var c=Li(jX(b),b);if(q(c,b))return!0;var d=b.m();return PI(c)&&L(d)&&iG(d,c)?!0:yH(c)&&q(c,d.m())&&!iF(d)&&!d.b&&kH(d)&&jG(b,d)?(b=d.a,!lJ(fJ(a.a),b)):!1}function YHb(){YHb=function(){};WHb=$K((uI(),vI),(KI(),aK))}function ZHb(){this.a=0}var $Hb,aIb;l(ZHb,z);function bIb(a,b){var c=new ZHb;c.b=a;c.a=b;return c}ZHb.prototype.R=function(a){return z.prototype.c.call(this,a)};function y7(){y7=function(){};$Hb=bIb("REWRITE_ALL_OBJECT_PATTERNS",0);aIb=bIb("REWRITE_OBJECT_REST",1)}
  3306. function cIb(){this.a=!1}l(cIb,n);function dIb(){this.o=0}l(dIb,n);g=dIb.prototype;g.H=function(a,b){E(this.c.D());b7(this.b,a,this.f,A([this],OS,PS,1));b7(this.b,b,this.f,A([this],OS,PS,1));Y6(this.b,this.u);E(this.c.D())};g.ra=function(a){E(this.c.D());c7(this.b,a,this.f,A([this],OS,PS,1));Y6(this.b,this.u);E(this.c.D())};
  3307. g.ga=function(a,b,c){switch(b.c.a){case 69:c=O(b);Hw(c)||(S(c),c=JG(Mw(bx(c)),c),M(b,c),NT(a));break;case 48:a=null;for(var d=O(c),e,f=b.a;f;f=e)if(e=f.b,vH(f)){var h=UA(f),k=nG(h);Gx(h,null);var m=UA(f);var p=!1;L(h)&&(L(m)?p="undefined"===m.l():q(m.c,(H(),It))&&(p=WW(m.a)));if(p)p=NA(h);else{p=L(h)?h:mS(this.a,z7(this),h.f);var t=NA(h);m=eIb(this,NA(p),m);h=L(h)?cx(yS(this.a,t,m)):Rw(t,m);JG(h,f);nF(d,h,a);a=h}pF(b,f,p);OA(p,!0);Gx(p,k);OT(this.b,c)}else Xw(f)?(a=fIb(this,c,a,f,z7(this)),OT(this.b,
  3308. c)):Jw(f)&&Xw(f.a)&&(a=fIb(this,c,a,f.a,z7(this)),OT(this.b,c));break;case 97:case 98:c=$w(b)&&!!b.a&&Jw(O(b));if(!this.c.D()&&c){for(a=this.c.h();a.i();){d=a.j();if(d.a)break;d.a=!0}this.c.Je().a=!0}a=new cIb;a.b=b;a.a=c;this.c.Sb(a)}return!0};
  3309. g.J=function(a,b,c){c&&Yw(c)&&(c=c.m());switch(b.c.a){case 97:case 98:if(PI(c)&&!dV(c.m()))gIb(this,a,b,b.b,c,c);else if(kH(c))if(yH(c.m()))gIb(this,a,b,b.b,c,c.m());else{var d=z7(this),e=mS(this.a,d,c.f);d=S(O(c));var f=Vw(CG(e),d);HY(a.b,(KI(),lK),this.b);d=yS(this.a,UA(c),CG(e));var h=cx(d);e=bx(CG(e));e=Pw(A([f,h,e],lx,eI,1));e=AVa(this.a,e,c.f);mya(e,!0);e=wS(this.a,e,A([],lx,eI,1));HY(a.b,ZJ,this.b);JG(e,c);Hx(e,(kx(),KE),!0);qD(c,e);DY(e,this.b);gIb(this,a,d.a,O(d),d,h)}else if(!(Jw(c)||Lx(c)||
  3310. Zw(c)||vH(c)||rH(c)))if(dV(c)||dV(c.m()))D(Xw(b)),a=z7(this),dV(b.m())?(d=b.m(),c=O(d),h=Tw(mS(this.a,a,b.f)),JG(h,b),pF(d,b,h),a=cx(yS(this.a,b,mS(this.a,a,b.f))),JG(a,b),Mx(c,a)):(d=b.m(),E(Yw(d)),h=d.m(),c=h.m(),E(dV(c)),c=O(c),pF(h,d,FG(mS(this.a,a,b.f),b)),d=h.c,a=Sw(S(b),mS(this.a,a,b.f),d),JG(a,b),a=Mw(a),qD(c,a),M(a,c));else if(oH(c))c=z7(this),d=b.b,qD(b,mS(this.a,c,b.f)),Mx(d,Sw(b,mS(this.a,c,b.f),(H(),bu))),HY(a.b,(KI(),lK),this.b);else throw pb("unexpected parent").s;q(b,this.c.mh().b)&&
  3311. this.c.Ke()}};function fIb(a,b,c,d,e){var f=d.f,h=mS(a.a,e,f);Gx(h,nG(d));qD(d,h);a=Rw(d,mS(a.a,e,f));JG(a,d);nF(O(b),a,c);return a}function z7(a){return"$jscomp$destructuring$var"+a.o++}
  3312. function gIb(a,b,c,d,e,f){Fi(EI(f),f);switch(c.c.a){case 97:if(!q(a.g,(y7(),aIb))||!a.c.D()&&a.c.Je().a){var h=z7(a);var k=a.a;var m=S(d),p=ET(b);p=qS(k,p,"$jscomp.makeIterator");if(k.a&&!p.f.aa()){var t=sB(m.f.Ma(),G(k.a.b));Q(p,AS(k,p.f,Ml(t)))}k=wS(k,p,A([m],lx,eI,1));h=mS(a.a,h,k.f);k=Rw(CG(h),k);JG(k,c);mF(f.m(),k,f);for(p=c.a;p;p=k)if(k=p.b,Aw(p))m=cx(wS(a.a,sS(a.a,CG(h),"next"),A([],lx,eI,1))),JG(m,p),mF(f.m(),m,f);else{if(vH(p))t=z7(a),m=sS(a.a,wS(a.a,sS(a.a,CG(h),"next"),A([],lx,eI,1)),"value"),
  3313. d=m.f,m=Rw(mS(a.a,t,d),m),JG(m,p),mF(f.m(),m,f),m=UA(p),p=eIb(a,mS(a.a,t,d),S(O(p)));else if(Jw(p)){m=UA(p);p=a.a;t=CG(h);d=ET(b);d=qS(p,d,"$jscomp.arrayFromIterator");if(p.a&&!d.f.aa()){var v=sB(t.f.Ma(),G(p.a.F));Q(d,AS(p,d.f,Ml(v)))}p=wS(p,d,A([t],lx,eI,1))}else m=S(p),p=sS(a.a,wS(a.a,sS(a.a,CG(h),"next"),A([],lx,eI,1)),"value");kH(e)?(p=yS(a.a,m,p),p=cx(p)):p=Sw(m,p,e.c);JG(p,c);mF(f.m(),p,f);a.J(b,m,m.m())}S(f);NT(b)}break;case 98:a:{h=ET(b);k=z7(a);m=c.f;t=p=null;if(c.a&&Jw(O(c)))t=w(),p=z7(a);
  3314. else if(q(a.g,(y7(),aIb))&&!a.c.Je().a){a.o--;break a}d=JG(Rw(mS(a.a,k,m),S(d)),c);ix(e)&&(v=HP(!1),TP(v),Gx(d,KP(v)));mF(f.m(),d,f);v=c.a;for(var C;v;v=C){C=v.b;if(Lx(v)){var J=mS(a.a,k,m);var K=v.bb()?tS(a.a,J,jS(a.a,v.l())):sS(a.a,J,v.l());var Ca=UA(v);vH(Ca)?(J=UA(Ca),Ca=UA(Ca),K=eIb(a,K,Ca)):J=Ca;t&&t.add(v)}else if(rH(v)){Ca=vH(O(v));var Wa=UA(v);Ca?(K=O(v),J=UA(K),K=UA(K)):(J=UA(v),K=null);if(t){var Ma=z7(a);Ma=mS(a.a,Ma,Wa.f);Wa=Rw(CG(Ma),Wa);JG(Wa,v);mF(f.m(),Wa,f);Wa=CG(Ma);t.add(CG(Ma))}Ca?
  3315. (Ca=tS(a.a,mS(a.a,k,m),Wa),Wa=z7(a),Ma=Rw(mS(a.a,Wa,Ca.f),Ca),JG(Ma,v),mF(f.m(),Ma,f),K=eIb(a,mS(a.a,Wa,Ca.f),K)):K=tS(a.a,mS(a.a,k,J.f),Wa)}else if(Jw(v)){if(C)throw pb("object rest may not be followed by any properties").s;J=wS(a.a,qS(a.a,h,"Object.assign"),A([],lx,eI,1));M(J,zS(a.a,A([],lx,eI,1)));M(J,mS(a.a,k,m));J=Rw(mS(a.a,p,m),J);JG(J,c);nF(f.m(),J,d);J=fF(v);J=mS(a.a,J.l(),J.f);K=a;Ma=c;Ca=v;var Vb=p;Wa=t;D(q(O(Ma),Ca));Ma=mS(K.a,Vb,Ma.f);Vb=CG(Ma);if(!Wa.D()){Wa=Wa.h();for(var sc=hIb(K,CG(Ma),
  3316. Wa.j());Wa.i();)sc=vS(K.a,sc,hIb(K,CG(Ma),Wa.j()));Vb=vS(K.a,sc,Vb)}JG(Vb,Ca);K=Vb}else throw pb("unexpected child").s;if(PI(e))K=Sw(J,K,e.c);else if(kH(e))K=cx(yS(a.a,J,K));else throw pb("not reached").s;JG(K,v);mF(f.m(),K,f);a.J(b,J,J.m())}S(f);NT(b)}break;default:throw pb("unexpected").s;}}
  3317. function hIb(a,b,c){switch(c.c.a){case 95:b=c.bb()?tS(a.a,b,jS(a.a,c.l())):sS(a.a,b,c.l());break;case 32:b=tS(a.a,b,c);break;default:throw pb("Unexpected property to delete node: "+r(uD(c))).s;}a=a.a;E(ax(b));b=Ow((H(),ts),b);a.a&&Q(b,hS(a,(I(),uv)));return b}function eIb(a,b,c){var d=oS(a.a,"undefined",(I(),fw));cG(d);var e=Q(NA(b),b.f),f=a.a;a=a.a;b=Oqa(b,d);a.a&&Q(b,hS(a,uv));return EVa(f,b,c,e)}
  3318. function iIb(){iIb=function(){};U("JSC_UNEXPECTED_DESTRUCTURING_REST_PARAMETER","Es6RewriteDestructuring not expecting object pattern rest parameter")}g.la=!0;function jIb(){}l(jIb,n);function kIb(){this.a=0}l(kIb,n);function lIb(){}l(lIb,n);function mIb(a,b){var c=new lIb;c.a=a;c.b=b;return c}function A7(){this.c=this.b=0}l(A7,n);function nIb(a){var b=new A7;b.a=a;return b}
  3319. A7.prototype.ga=function(a,b){if(tF(b,(bF(),VF)))return Hx(b,(bF(),VF),!1),!1;E(!WG(b));F(!WH(b),"Reference to SUPER is not supported");ZS(b)?(++this.c,++this.b):XH(b)&&++this.b;if(lH(b)||sH(b)){if(b.a){if(E(mx(b.a)),a=this.a.A.get(b.a.l()))a=lH(b)?a.a:a.b,oIb(this.a.a.a,b,a,this.b)}else a=null,lH(b)&&0==this.b&&(a=this.a.f.Oe()),sH(b)&&0==this.c&&(a=this.a.o.Oe()),a&&oIb(this.a.a.a,b,a,this.b);return!1}return!P(b)};
  3320. A7.prototype.J=function(a,b,c){ZS(b)?(--this.c,--this.b):XH(b)?--this.b:SC(b)?(a=IZ(B7(this.a.a.a,"$jscomp$generator$this"),b.f),qD(b,a),this.a.ja||(b=FG(Rw(FG(CG(a),b),b),this.a.a.f),C7(this.a.a,b),this.a.ja=!0)):Ux(b)?Mx(b,pIb(this.a,b,UA(b))):L(b)&&li(b.l(),"arguments")?(a=FG(B7(this.a.a.a,"$jscomp$generator$arguments"),b),qD(b,a),this.a.U||(b=FG(Rw(CG(a),b),this.a.a.f),C7(this.a.a,b),this.a.U=!0)):gx(b)&&(zH(c)?(a=qIb(b))?qD(b,a):qD(b,yw()):AH(c)?(a=fF(b),F(!a.a,a),a=Gx(CG(a),null),qD(b,a)):(a=
  3321. qIb(b))?qD(b,cx(a)):S(b),C7(this.a.a,b))};function qIb(a){var b=w();for(a=BA(a).h();a.i();){var c=a.j();if(c.a){var d=Gx(CG(c),null);c=FG(IZ(wx(d,UA(c)),c.f),c);b.add(c)}}a=null;for(b=b.h();b.i();)c=b.j(),a=a?FG(IZ(zx(a,c),c.f),c):c;return a}A7.prototype.la=!0;function rIb(){this.v=this.pa=0;this.U=this.ja=!1}l(rIb,n);function D7(a,b){a=a.c;E(!a.a);E(Nw(b));M(a.b,b)}function sIb(a,b){return FG(IZ(B7(a,"$jscomp$generator$context"),a.F),b)}
  3322. function B7(a,b){return rx(r(b)+String(0==a.a.g?"":"$"+a.a.g))}function E7(a,b,c){return FG(IZ(sx(sIb(a,b),FG(ux(c),b)),a.a.b.c?a.F.Sa(c):null),b)}function F7(a,b,c,d){c=E7(a,b,c);b=FG(px(c,d),b);a.a.b.c&&Q(b,iy(c.f)?HA(c.f.ha()):a.a.b.o);return b}function G7(a,b,c,d){return FG(cx(F7(a,b,c,d)),b)}function tIb(a,b,c,d){return FG(bx(F7(a,b,c,d)),b)}function uIb(a,b){b=FG(zw((H(),Dt)),b);a.K.add(b);return b}function H7(a,b,c){vIb(a.c,b,I7(a,b,!1,c))}
  3323. function I7(a,b,c,d){E(!b.o);a=FG(Pw(A([G7(a,d,"jumpTo",A([J7(b,d)],lx,eI,1)),uIb(a,d)],lx,eI,1)),d);c&&(b.o=a);return a}function oIb(a,b,c,d){if(a.u.D()||a.u.Oe().f<c.f)var e="jumpTo";else E(a.u.Oe().f!=c.f),e="jumpThroughFinallyBlocks";0==d?(mF(b.m(),G7(a,b,e,A([J7(c,b)],lx,eI,1)),b),qD(b,uIb(a,b))):qD(b,tIb(a,b,e,A([J7(c,b)],lx,eI,1)))}function pIb(a,b,c){return c?F7(a,b,"return",A([c],lx,eI,1)):F7(a,b,"return",A([],lx,eI,1))}
  3324. function wIb(a,b,c){c&&(a.g.D()||++a.g.Oe().a,a.u.qe(c));b&&(c=new kIb,c.b=b,a.g.qe(c))}function xIb(a){for(a=a.g.h();a.i();){a=a.j();if(0==a.a)return a.b;break}return null}function yIb(a,b,c){if(b){var d=a.g.qd();E(0==d.a);E(q(d.b,b))}c&&(a.g.D()||(b=--a.g.Oe().a,E(0<=b)),a=a.u.qd(),E(q(a,c)))}function K7(a,b){zIb(a.c,b);a.b.add(b);a.c=b}function AIb(){this.f=0;this.c=!1}l(AIb,n);function L7(a){var b=new AIb;b.u=a;b.g=w();b.c=!0;b.f=a.pa++;b.b=FG(Lw(),a.a.c);return b}
  3325. function J7(a,b){if(a.a)return J7(a.a,b);b=FG(IZ(eF(a.f),a.u.a.b.f),b);a.g.add(b);return b}function vIb(a,b,c){E(Hw(c));E(!a.a);zIb(a,b);oD(a.b,pD(c));a.c=!1}function zIb(a,b){a.a||a.b.a||(E(!b.a),a.a=b)}function BIb(){}l(BIb,n);function CIb(){}l(CIb,cT);CIb.prototype.ga=function(a,b){return P(b)?!1:dI(b)?(E(!this.a),this.a=b,!1):!0};function DIb(){}l(DIb,cT);
  3326. DIb.prototype.ga=function(a,b){VG(b,!1);return P(b)?!1:dI(b)?(yH(b.m())||(q(d4(this.a,b),(Y3(),W3))?X(this.b.a,V(b,(FZ(),DZ),A(["Undecomposable expression: Please rewrite the yield or await as a separate statement.\nSee https://github.com/google/closure-compiler/wiki/FAQ#i-get-an-undecomposable-expression-error-for-my-yield-or-await-expression-what-do-i-do"],B,y,1))):gqb(this.a,b)),!1):!0};function M7(){}l(M7,n);M7.prototype.ga=function(a,b){return!P(b)};
  3327. M7.prototype.J=function(a,b,c){dI(b)&&VG(b,!0);c&&WG(b)&&VG(c,!0)};M7.prototype.la=!0;function EIb(){this.g=0}l(EIb,n);function C7(a,b){mF(a.f,b,O(a.f))}function N7(a,b){FIb(a,b,null,null)}
  3328. function FIb(a,b,c,d){E(Nw(b));E(!b.m());if(WG(b))switch(b.c.a){case 87:d=b;for(c=w();KH(d);)c.add(UA(d)),d=UA(d);var e=ZS(d)?L7(a.a):null;b=L7(a.a);for(var f=a.a,h=c.h();h.i();){var k=h.j();E(mx(k));f.A.C(k.l(),mIb(b,e))}FIb(a,d,b,e);d=a.a;for(c=c.h();c.i();)e=c.j(),E(mx(e)),d.A.Ka(e.l());q(b,a.a.c)||K7(a.a,b);break;case 86:for(;b.a;)N7(a,UA(b));break;case 88:c=GIb(a,UA(b));d=HIb(a,c);dI(c)||(Mx(b,O7(a,d)),VG(b,!1),D7(a.a,b));break;case 80:VG(b,!1);for(c=CG(b);b.a;){for(d=void 0;(d=UA(b))&&!WG(d);)M(c,
  3329. d);c.a&&(P7(a,c),c=CG(b));d&&(E(WG(d)),Mx(d,Q7(a,UA(d))),VG(d,!1),M(c,d))}c.a&&P7(a,c);break;case 0:Mx(b,pIb(a.a,b,O7(a,Q7(a,UA(b)))));D7(a.a,b);a.a.c.c=!1;break;case 42:Mx(b,O7(a,Q7(a,UA(b))));D7(a.a,b);a.a.c.c=!1;break;case 70:d=Q7(a,UA(b));e=b.a;f=e.b;if(WG(e)||f&&WG(f))if(S(e),f?S(f):f=FG(Lw(),b),WG(e)&&!WG(f)&&(d=FG(IZ(Dx(d),a.b.g),d),h=e,e=f,f=h),WG(e))h=L7(a.a),c=c?c:L7(a.a),d=O7(a,d),k=I7(a.a,h,!0,b),D7(a.a,FG(dx(O7(a,d),k),b)),N7(a,f),H7(a.a,c,f),K7(a.a,h),N7(a,e),K7(a.a,c);else{c=c?c:L7(a.a);
  3330. for(h=I7(a.a,c,!1,e);h.a;)k=UA(h),Hx(k,(bF(),VF),!0),M(e,k);P7(a,FG(dx(d,e),b));N7(a,f);K7(a.a,c)}else Mx(b,d),VG(b,!1),P7(a,b);break;case 76:IIb(a,b,c,d);break;case 77:k=Q7(a,S(R(b)));e=b.a;f=R(b);if(WG(e)||WG(f)){gx(S(e))?(E(!WG(e)),h=e,E(!h.a.a),e=CG(h.a)):h=FG(zw((H(),Ft)),e);var m=FG(B7(a.a,"$jscomp$generator$forin$"+r(s3(a.b.a).f())),e);Mx(m,F7(a.a,e,"forIn",A([k],lx,eI,1)));var p=a.b.c?zy(m.a.f):null;Q(m,p);M(h,m);p=FG(IZ(sx(CG(m),FG(ux("getNext"),k)),a.b.c?p.Sa("getNext"):null),k);k=FG(IZ(Nqa(FG(IZ(wx(IZ(e,
  3331. a.b.u),FG(IZ(px(p,A([],lx,eI,1)),a.b.u),k)),a.b.u),k),FG(IZ(Tx(),a.b.A),m)),a.b.g),k);VG(k,WG(e));b=FG(fx(h,k,FG(yw(),b),S(f)),b);IIb(a,b,c,d)}else nF(b,k,e),VG(b,!1),P7(a,b);break;case 74:d=d?d:L7(a.a);c=c?c:L7(a.a);K7(a.a,d);f=O7(a,Q7(a,UA(b)));e=UA(b);D7(a.a,FG(dx(FG(IZ(Dx(f),a.b.g),f),I7(a.a,c,!0,b)),b));f=a.a;f.f.Ea(c);f.o.Ea(d);N7(a,e);e=a.a;e.f.Ta();e.o.Ta();H7(a.a,d,b);K7(a.a,c);break;case 75:e=d;d=L7(a.a);c=c?c:L7(a.a);e=e?e:L7(a.a);K7(a.a,d);f=UA(b);h=a.a;k=e;h.f.Ea(c);h.o.Ea(k);N7(a,f);
  3332. f=a.a;f.f.Ta();f.o.Ta();K7(a.a,e);e=O7(a,Q7(a,UA(b)));D7(a.a,FG(dx(e,I7(a.a,d,!1,b)),b));K7(a.a,c);break;case 47:h=UA(b);d=UA(b);f=UA(b);e=d.a?L7(a.a):null;b=f?L7(a.a):null;c=c?c:L7(a.a);k=a.a;wIb(k,e,b);p=w();e?(m="setCatchFinallyBlocks",p.add(J7(e,h)),b&&p.add(J7(b,h))):(m="setFinallyBlock",p.add(J7(b,h)));D7(k,G7(k,h,m,p.mb(za([0],lx,eI,lx.a))));N7(a,h);if(f){K7(a.a,b);h=a.a;yIb(h,e,b);k=xIb(h);m=h.u.D()?null:h.u.Oe();p=w();if(0==h.v){if(k||m)p.add(k?J7(k,f):FG(IZ(eF(0),h.a.b.f),f)),m&&p.add(J7(m,
  3333. f))}else p.add(k?J7(k,f):FG(IZ(eF(0),h.a.b.f),f)),p.add(m?J7(m,f):FG(IZ(eF(0),h.a.b.f),f)),p.add(FG(eF(h.v),f));D7(h,G7(h,f,"enterFinallyBlock",p.mb(za([0],lx,eI,lx.a))));++h.v;N7(a,f);h=a.a;k=w();k.add(J7(c,f));0!=--h.v&&k.add(FG(eF(h.v),f));f=G7(h,f,"leaveFinallyBlock",k.mb(za([0],lx,eI,lx.a)));D7(h,f);D7(h,uIb(h,f));h.c.c=!1}else f=a.a,yIb(f,e,null),k=w(),k.add(J7(c,h)),(m=xIb(f))&&k.add(J7(m,h)),h=G7(f,h,"leaveTryBlock",k.mb(za([0],lx,eI,lx.a))),D7(f,h),D7(f,uIb(f,h)),f.c.c=!1;d.a&&(E(oH(d.a)),
  3334. K7(a.a,e),e=S(hF(d)),f=a.a,E(L(e)),wIb(f,null,b),h=xIb(f),f.ta.add(e.l())&&C7(f.a,FG(Tw(CG(e)),e)),k=w(),h&&k.add(J7(h,e)),h=F7(f,e,"enterCatchBlock",k.mb(za([0],lx,eI,lx.a))),Q(e,h.f),D7(f,FG(cx(FG(IZ(wx(e,h),h.f),e)),e)),d=S(hF(d)),E(Hw(d)),N7(a,d),e=a.a,b&&(yIb(e,null,b),H7(e,b,d)));K7(a.a,c);break;case 71:a:{Mx(b,Q7(a,UA(b)));d=!1;for(e=R(b);e;e=e.b)if(WG(e)){d=!0;break}if(d){d=w();e=!0;for(f=R(b);f;f=f.b){if(!uH(f)&&WG(f.a)){X(a.b.a,V(b,(FZ(),EZ),A(["Case statements that contain yields"],B,y,
  3335. 1)));break a}k=O(f);!k.a||e&&!WG(k)||(e=JIb(a,k),h=L7(a.a),FG(h.b,k),m=Mw(tIb(a.a,k,"jumpTo",A([J7(h,k)],lx,eI,1))),QG(m),Hx(m,(bF(),VF),!0),qD(k,m),m=new BIb,m.b=h,m.a=k,d.add(m),VG(f,!1))}c=c?c:L7(a.a);VG(b,!1);P7(a,b);H7(a.a,c,b);a.a.f.Ea(c);for(b=d.h();b.i();)d=b.j(),K7(a.a,d.b),N7(a,d.a);a.a.f.Ta();K7(a.a,c)}else VG(b,!1),P7(a,b)}break;default:Ji(!1,"Unsupported token: %s ",b.c)}else P7(a,b)}
  3336. function P7(a,b){E(!WG(b));if(P(b)){var c=b.a.l();E(!te(c)&&!zi(c,"$jscomp$generator$function"));C7(a,b)}else if(a=a.a,b=Hw(b)||RG(b)?b:Mw(b),b.a)for(Y(a.a.b.a,b,nIb(a));b.a;)D7(a,UA(b))}function GIb(a,b){E(WG(b));if(dI(b))return b;var c=ax(b),d=Mw(c?bx(b):b),e=a.b.a,f=new DIb,h=a.b;f.b=h;f.a=fqb(h.a,s3(h.a),ef(),gS(zw((H(),Ot))),!0);Y(e,b,f);Y(a.b.a,d,new M7);b=S(O(d));N7(a,d);return c?UA(b):b}function Q7(a,b){return b&&WG(b)?HIb(a,GIb(a,b)):b}
  3337. function O7(a,b){if(!b)return null;b=Nw(b)?Mw(b):cx(b);Y(a.b.a,b,nIb(a.a));E(gF(b));return UA(b)}
  3338. function HIb(a,b){if(!WG(b))return b;var c=L7(a.a);var d=new CIb;Y(a.b.a,b,d);G(d.a);d=d.a;var e=O7(a,Q7(a,UA(d)));if(dH(d)){var f=a.a;D7(f,tIb(f,d,"yieldAll",A([e,J7(c,d)],lx,eI,1)));f.a.a.c.c=!1}else{f=a.a;var h=w();h.add(e?e:FG(IZ(rx("undefined"),f.a.b.v),d));h.add(J7(c,d));D7(f.a.a,tIb(f,d,"yield",h.mb(za([0],lx,eI,lx.a))));f.a.a.c.c=!1}K7(a.a,c);a=E7(a.a,d,"yieldResult");if(q(d,b))return a;for(qD(d,a);!q(a,b);)a=a.m(),VG(a,!1);return b}
  3339. function IIb(a,b,c,d){var e=Q7(a,UA(b)),f=b.a,h=f.b,k=h.b;WG(f)||WG(h)||WG(k)?(Aw(e)||(ax(e)&&(e=FG(cx(e),e)),P7(a,e)),e=L7(a.a),d=d?d:L7(a.a),c=c?c:L7(a.a),K7(a.a,e),Aw(f)||(f=O7(a,Q7(a,S(f))),D7(a.a,FG(dx(FG(IZ(Dx(f),a.b.g),f),I7(a.a,c,!0,b)),b))),f=a.a,f.f.Ea(c),f.o.Ea(d),N7(a,S(k)),k=a.a,k.f.Ta(),k.o.Ta(),K7(a.a,d),Aw(h)||(h=Q7(a,S(h)),P7(a,FG(cx(h),h))),H7(a.a,e,b),K7(a.a,c)):(Mx(b,e),VG(b,!1),P7(a,b))}
  3340. function JIb(a,b){E(Hw(b));if(!b.a)return!1;switch(O(b).c.a){case 86:return JIb(a,O(b));case 0:case 42:case 79:case 78:return!0;default:return!1}}function R7(){this.a=0}l(R7,n);function KIb(a){var b=new R7;b.b=a;b.a=0;return b}R7.prototype.ga=function(a,b){UG(b)&&++this.a;return!0};
  3341. R7.prototype.J=function(a,b){if(UG(b)){var c=--this.a;a=new EIb;var d=this.b;a.b=d;a.g=c;a.c=O(b);c=null;d.c&&(a.u=d.o,b.f&&iy(b.f)&&(a.o=HA(b.f.ha()),a.u=NUa(a.o,d.b)),(b=KB(d.b,null,"$jscomp.generator.Context"))?c=MC(d.b,zy(b),A([a.u],ly,ey,1)):c=Lz(d.b,(I(),Tv)));b=new rIb;d=c;b.a=a;b.A=bf();b.f=Uk();b.o=Uk();b.g=Uk();b.u=Uk();b.ta=ef();b.b=w();b.K=w();b.v=0;b.$=L7(b);E(0==b.$.f);b.c=L7(b);E(1==b.c.f);b.b.add(b.c);b.F=d;a.a=b;var e=a.c.m();E(UG(e));Hx(e,(kx(),axa),!1);c=a.b.c?HC(a.b.b,Yy(a.b.b,
  3342. A([a.b.v,LC(a.b.b,Xj("value",a.u))],ly,ey,1)),A([a.a.F],ly,ey,1)):null;d=Lw();a:{if(eH(e.m())&&iF(e)&&(b=e.m().a,q(iF(e),b)&&!e.b&&yG(b,"$jscomp.asyncExecutePromiseGeneratorFunction"))){E(Ux(gG(e)));E(!gG(e).b);b=!0;break a}b=!1}if(b){var f=iF(e);E(N(f));a.f=gG(e).m();F(Hw(a.f),a.f);b=hX(a.f);F(P(b),b);R(f).Ga("asyncExecutePromiseGeneratorProgram");(e=f.f)&&iy(e)&&Q(f,HC(a.b.b,HA(e.ha()),A([c],ly,ey,1)));f=a.c.m();M(iF(a.c),sIb(a.a,a.c));qD(a.c,d)}else{b=e;var h=e.a;E(L(h));te(h.l())&&h.Ga(B7(a.a,
  3343. "$jscomp$generator$function").l());f=Fw(rx(""),Iw(A([sIb(a.a,a.c)],lx,eI,1)),d);var k=tx(IZ(tx(IZ(rx("$jscomp"),a.b.o),"generator",A([],B,y,1)),a.b.o),"createGenerator",A([],B,y,1));a.b.c&&Q(k,HC(a.b.b,a.o,A([c],ly,ey,1)));a.f=Mw(HG(bx(IZ(px(k,A([IZ(CG(h),e.f),f],lx,eI,1)),a.o)),a.c));qD(a.c,a.f)}Q(f,c);OT(a.b.a,f);Y(a.b.a,a.c,new M7);for(c=!JIb(a,a.c);a.c.a;)N7(a,UA(a.c));e=Lw();c&&M(e,G7(a.a,a.c,"jumpToEnd",A([],lx,eI,1)));vIb(a.a.c,a.a.$,e);a.a.c.c=!0;c=a.a;F(!c.b.D(),c.b);for(e=c.b.h();e.i();)if(f=
  3344. e.j(),f.a){for(;f.a.a;)f.a=f.a.a;f.o&&1==f.g.w()&&(f.a.o=f.o);f.o=null;for(h=f.g.h();h.i();)h.j().dl(f.a.f);f.a.g.na(f.g);f.g.ia()}e=c.b.h();f=e.j();for(E(1==f.f);e.i();)if(h=e.j(),h.g.D())E(!h.o),f.c&&(oD(f.b,pD(h.b)),f.c=h.c),e.ma();else{if(h.o&&(E(!h.a),1==h.g.w()&&!h.c)){qD(h.o,h.b);e.ma();continue}if(q(f.a,h)){E(f.c);E(!f.b.a);E(!h.a);oD(f.b,pD(h.b));f.c=h.c;for(k=h.g.h();k.i();)k.j().dl(f.f);f.a=h.a;f.g.na(h.g);e.ma()}else f=h}if(2==c.b.w()||3==c.b.w())e=JG,f=E7(c,d,"nextAddress"),h=IZ(eF(1),
  3345. c.a.b.f),f=Ax((H(),js),f,h),M(d,e(dx(IZ(f,c.a.b.g),c.b.Wa(0).b),d));2==c.b.w()&&M(d,JG(dx(IZ(Nqa(E7(c,d,"nextAddress"),IZ(eF(c.b.G(1).f),c.a.b.f)),c.a.b.g),c.b.Wa(0).b),d));if(1==c.b.w()){oD(d,pD(c.b.Wa(0).b));for(d=c.K.h();d.i();)e=d.j(),f=iF(e),E(!!f),E(yH(f)),qD(f,bx(UA(f))),S(e);c.K.ia()}else{f=E7(c,d,"nextAddress");e=A([],lx,eI,1);E(ax(f));f=Ow((H(),wt),f);for(h=0;h<e.length;h++)k=e[h],E(mH(k)||uH(k)),M(f,k);e=FG(f,d);M(d,e);for(d=c.b.h();d.i();)f=d.j(),h=FG(IZ(eF(f.f),f.u.a.b.f),f.b),k=f.b,
  3346. E(ax(h)),E(Hw(k)),QG(k),h=ex(xt,h,k),f=FG(h,f.b),M(e,f);c.b.ia()}d=a.a;E(d.A.Qa());E(d.f.D());E(d.o.D());E(d.g.D());E(d.u.D());E(0==d.v);E(d.b.D());OT(a.b.a,b)}};R7.prototype.la=!0;function LIb(){this.c=!1}var S7;l(LIb,n);LIb.prototype.H=function(a,b){b7(this.a,b,S7,A([KIb(this)],OS,PS,1));Y6(this.a,S7)};LIb.prototype.ra=function(a){c7(this.a,a,S7,A([KIb(this)],OS,PS,1));Y6(this.a,S7)};function MIb(){MIb=function(){};S7=$K((uI(),vI),(KI(),kK))}function T7(){}var U7,NIb;l(T7,RT);
  3347. T7.prototype.H=function(a,b){b7(this.a,a,U7,A([this],OS,PS,1));b7(this.a,b,U7,A([this],OS,PS,1));Y6(this.a,U7)};T7.prototype.ra=function(a){c7(this.a,a,U7,A([this],OS,PS,1));Y6(this.a,U7)};
  3348. T7.prototype.J=function(a,b,c){switch(b.c.a){case 118:var d=c.b,e=jF(c,b),f=fF(b),h=f.l();lB(f,!0);Gx(f,nG(b));pF(c,b,S(f));f=nG(b);c=tL(c.m());var k;f?k=ZD(f):c?k=LD(c,h):k=null;k&&!q(k.a.c,(H(),ou))&&X(this.a,V(b,NIb,A([],B,y,1)));if(d.a){f=Q(rx("$jscomp$restParams"),this.c);c=Q(rx("$jscomp$restIndex"),this.b);k=FG(Lw(),d);h=rx(h);h=JG(Vw(h,f),d);Mx(k,h);HY(a.b,(KI(),lK),this.a);for(a=BA(d).h();a.i();)h=a.j(),M(k,S(h));a=Rw(NA(f),V7(this));Mx(d,JG(a,b));h=JG;var m=Rw(NA(c),Q(eF(e),this.b));var p=
  3349. NA(c);var t=Q(sx(rx("arguments"),ux("length")),this.b);p=Ax((H(),ls),p,t);p=Q(p,this.o);t=Q(Rqa(NA(c)),this.b);f=NA(f);var v=NA(c);e=Q(eF(e),this.b);e=Ax(ns,v,e);b=h(fx(m,p,t,Mw(cx(Q(wx(vx(f,Q(e,this.b)),Q(vx(rx("arguments"),NA(c)),this.b)),this.b)))),b);nF(d,b,a);M(d,k);Z(this.a,k)}else NT(a);break;case 45:case 23:case 28:for(d=BA(b).h();d.i();)if(qx(d.j())){if(jH(b))D(jH(b)),d=OIb(this,b),e=jH(d.G(0))?d.Wa(0):V7(this),d.D()?d=e:(e=Q(sx(e,ux("concat")),this.f),d=px(e,d.mb(za([0],lx,eI,lx.a)))),JG(d,
  3350. b),Q(d,this.c),qD(b,d),Z(this.a,d);else if(eH(b)){D(eH(b));d=b.a;F(!WH(d),"Cannot spread into super calls");k=lJ(fJ(this.a),d);for(oF(b,d);nH(d);)d=UA(d);if(e=gF(b))e=fF(b),e=qx(e)&&xG(fF(e),"arguments");e?e=UA(UA(b)):(e=OIb(this,b),E(!e.D()),1==e.w()?e=e.Wa(0):(c=jH(e.G(0))?e.Wa(0):V7(this),c=Q(sx(c,ux("concat")),this.f),e=Q(px(c,e.mb(za([0],lx,eI,lx.a))),this.c)),Q(e,this.c));c=tF(b,(kx(),KE));k&&N(d)&&!c?(k=d.a.f,c=Q(rx("$jscomp$spread$args"+r(s3(this.a).f())),k),f=Tw(NA(c)),a=jX(b),JG(f,a),mF(a.m(),
  3351. f,a),Mx(d,Q(wx(NA(c),UA(d)),k)),d=px(W7(d,"apply"),A([NA(c),e],lx,eI,1))):(k=!N(d)&&!DH(d)||c?Q(Tx(),this.g):NA(d.a),d=px(W7(d,"apply"),A([k,e],lx,eI,1)));Q(d,b.f);JG(d,b);qD(b,d);Z(this.a,d)}else Fi(TC(b),b),D(TC(b)),d=UA(b),k=OIb(this,b),e=jH(k.G(0))?k.Wa(0):V7(this),Mx(e,Q(Tx(),this.g)),k=k.D()?e:Q(px(Q(sx(e,ux("concat")),this.f),k.mb(za([0],lx,eI,lx.a))),this.c),xI((uI(),yI),zI(this.a.a))&&K8a(this.a,b,'"..." passed to a constructor (consider using --language_out=ES5)'),e=W7(W7(W7(Q(rx("Function"),
  3352. this.u),"prototype"),"bind"),"apply"),d=A([d,k],lx,eI,1),d=px(e,d),d=(e=e.f)&&e instanceof iA?Q(d,HA(e)):d,d=Q(Lqa(d,A([],lx,eI,1)),b.f),JG(d,b),qD(b,d),Z(this.a,d);break}}};function OIb(a,b){D(eH(b)||jH(b)||TC(b));for(var c=w(),d=null,e=UA(b);e;e=UA(b))qx(e)?(e=UA(e),jH(e)?d?oD(d,pD(e)):d=e:(d&&(c.add(d),d=null),c.add(L8a(a.a,e)))):(d||(d=V7(a)),M(d,e));d&&c.add(d);return c}function V7(a){return Q(Nx(A([],lx,eI,1)),a.c)}
  3353. function W7(a,b){var c=tx(a,b,A([],B,y,1));a=a.f;if(!a)return c;var d=Sy(a,b);!d&&a instanceof iA&&(d=a.Sa(b));return Q(c,d)}function PIb(){PIb=function(){};NIb=AJ("BAD_REST_PARAMETER_ANNOTATION",'Missing "..." in type annotation for rest parameter.');U7=aL((uI(),vI),A([(KI(),oK),pK],UJ,NK,1))}function X7(){}var QIb;l(X7,RT);X7.prototype.H=function(a,b){b7(this.a,b,QIb,A([this],OS,PS,1))};X7.prototype.ra=function(a){c7(this.a,a,QIb,A([this],OS,PS,1))};
  3354. X7.prototype.J=function(a,b,c){if(d3a(b))if(lG(b)&&!jT(c))MT(a,b,(FZ(),EZ),A(["declaration with multiple destructuring children not in statement block"],B,y,1));else for(;!q(b.a,O(b));){var d=S(O(b));d=GG(Uw(d,b.c),b);nF(c,d,b);NT(a)}};function RIb(){RIb=function(){};QIb=aL((uI(),vI),A([(KI(),gK),hK],UJ,NK,1))}function SIb(){}var Y7;l(SIb,n);g=SIb.prototype;g.H=function(a,b){b7(this.a,a,Y7,A([this],OS,PS,1));b7(this.a,b,Y7,A([this],OS,PS,1));Y6(this.a,Y7)};
  3355. g.ra=function(a){c7(this.a,a,Y7,A([this],OS,PS,1));Y6(this.a,Y7)};g.ga=function(){return!0};g.J=function(a,b){switch(b.c.a){case 18:a=NA(this.c);M(a,UA(b));M(a,UA(b));JG(a,b);qD(b,a);Z(this.a,a);break;case 62:a=UA(b);var c=NA(this.c);M(c,NA(a));M(c,UA(b));a=Q(wx(a,c),this.b);JG(a,b);qD(b,a);Z(this.a,a)}};function TIb(){TIb=function(){};Y7=$K((uI(),vI),(KI(),tK))}g.la=!0;function Z7(){this.b=!1}var UIb;l(Z7,RT);
  3356. Z7.prototype.H=function(a,b){var c=(uI(),yI);for(a=BA(b).h();a.i();){var d=a.j();d=GY(d);c=VK(ZK(c.a,(d?d:yI).a))}a=XK(c,zI(this.a.a));b7(this.a,b,UIb,A([this],OS,PS,1));YI(a,(KI(),rK))&&GZ(this.a,"createtemplatetagfirstarg");YI(a,(KI(),jK))&&GZ(this.a,"makeIterator");YI(a,(KI(),gK))&&GZ(this.a,"makeIterator");YI(a,(KI(),YJ))&&GZ(this.a,"arrayFromIterator");(YI(a,(KI(),pK))||YI(a,(KI(),bK)))&&GZ(this.a,"arrayFromIterable");YI(a,(KI(),bK))&&GZ(this.a,"inherits");YI(a,(KI(),cK))&&HZ(this.a,"util/global",
  3357. !1);YI(a,(KI(),kK))&&HZ(this.a,"es6/generator_engine",!1);YI(a,(KI(),uK))&&HZ(this.a,"es6/execute_async_generator",!1);YI(a,(KI(),yK))&&HZ(this.a,"es6/async_generator_wrapper",!1);YI(a,(KI(),zK))&&HZ(this.a,"es6/util/makeasynciterator",!1)};Z7.prototype.ra=function(a){c7(this.a,a,UIb,A([this],OS,PS,1))};
  3358. Z7.prototype.J=function(a,b){switch(b.c.a){case 32:if(!eG(b)&&VIb(a,b)){HZ(this.a,"es6/symbol",!1);var c=jX(b);a=cx(px(LX(this.a,"$jscomp.initSymbol"),A([],lx,eI,1)));mF(c.m(),HG(a,c),c);Z(this.a,a)}break;case 26:if(!eG(b)){var d=b.a;c=d.b.l();if(VIb(a,d))switch(HZ(this.a,"es6/symbol",!1),a=jX(b),c){case "iterator":c=HG(cx(px(LX(this.a,"$jscomp.initSymbolIterator"),A([],lx,eI,1))),a);mF(a.m(),c,a);Z(this.a,c);break;case "asyncIterator":c=HG(cx(px(LX(this.a,"$jscomp.initSymbolAsyncIterator"),A([],
  3359. lx,eI,1))),a),mF(a.m(),c,a),Z(this.a,c)}}break;case 90:case 91:this.b||K8a(this.a,b,"ES5 getters/setters (consider using --language_out=ES5)")}};function VIb(a,b){if(!xG(b,"Symbol"))return!1;a=ET(a).T("Symbol");return!a||mL(a)}function WIb(){WIb=function(){};UIb=XK((uI(),SK),IJ)}function XIb(){}l(XIb,n);function YIb(){this.c=!1}var $7;l(YIb,n);g=YIb.prototype;g.H=function(a,b){b7(this.b,a,$7,A([this],OS,PS,1));b7(this.b,b,$7,A([this],OS,PS,1));Y6(this.b,$7)};
  3360. g.ra=function(a){c7(this.b,a,$7,A([this],OS,PS,1));Y6(this.b,$7)};g.ga=function(a,b){switch(b.c.a){case 90:case 91:if(xI((uI(),yI),zI(this.b.a)))return K8a(this.b,b,"ES5 getters/setters (consider using --language_out=ES5)"),!1;break;case 69:if(bH(b))throw pb("async functions should have already been converted").s;}return!0};
  3361. g.J=function(a,b,c){switch(b.c.a){case 46:for(a=BA(b).h();a.i();)if(rH(a.j())){a:{D(SH(b));var d=w();c=b.a;for(a=b.f;c;){if(tF(c,(kx(),PE))||tF(c,(kx(),QE))){b=this.b;a=c;FZ();X(b,V(a,EZ,A(["computed getter/setter in an object literal"],B,y,1)));break a}if(CH(c)||VH(c))c=c.b;else{var e=c.b;oF(b,c);d.add(c);c=e}}c="$jscomp$compprop"+r(s3(this.b).f());d=dp(d);e=mS(this.a,c,a);for(d=d.h();d.i();){var f=d.j();if(rH(f)){var h=UA(f);f=UA(f);e=vS(this.a,yS(this.a,tS(this.a,mS(this.a,c,a),h),f),e)}else{h=
  3362. UA(f);var k=f.bb(),m=(H(),Cs);f.c=m;Q(f,this.o);Hx(f,(kx(),GE),!1);m=mS(this.a,c,a);f=k?tS(this.a,m,f):sS(this.a,m,f.l());e=vS(this.a,yS(this.a,f,h),e)}}for(d=b;!EI(d);)d=d.m();JG(e,b);qD(b,e);b=Rw(mS(this.a,c,a),IZ(b,null));JG(b,d);mF(d.m(),b,d);Z(this.b,b)}break}break;case 102:SH(c)&&(e=b.l(),a=hF(b),e=uS(this.a,e,UA(b)),Gx(e,nG(b)),pF(c,b,e),FG(e,a),Z(this.b,e));break;case 123:e=this.f;c=this.c;d=N8a(c,e.b,(I(),$v));d=O8a(c,e.b,pv,d);f=N8a(c,e.b,Lv);c=O(b);h=IZ(Nx(A([],lx,eI,1)),f);for(k=c.a;k;k=
  3363. k.b)YH(k)&&(null!=k.Ad()?M(h,jS(e.a,k.Ad())):M(h,nVa(e.a,kVa(e.a,0))));f=IZ(h,f);a:{for(h=c.a;h;h=h.b)if(YH(h)&&(null==h.Ad()||!li(h.Ad(),h.oj()))){h=!1;break a}h=!0}if(h)d=wS(e.a,qS(e.a,ET(a),"$jscomp.createTemplateTagFirstArg"),A([NA(f)],lx,eI,1));else{d=IZ(Nx(A([],lx,eI,1)),d);for(h=c.a;h;h=h.b)YH(h)&&M(d,jS(e.a,h.oj()));d=wS(e.a,qS(e.a,ET(a),"$jscomp.createTemplateTagFirstArgWithRaw"),A([NA(f),d],lx,eI,1))}f=HP(!1);FPa(f);f=KP(f);k=AT(a);h=e.c.Mf;m=YL(k.Cb());k=Yg(m);h=h.a.De(m,1);e=JG(Gx(rVa(e.a,
  3364. "$jscomp$templatelit$"+String(String(0>k?"m"+-k:""+k)+"$"+h),d),f),b);Mx(iX(b),e);PT(a,e);e=CG(e.a);e=IZ(px(UA(b),A([e],lx,eI,1)),b.f);for(d=c.a;d;d=d.b)YH(d)||M(e,UA(d));JG(e,c);Hx(e,(kx(),KE),!N(e.a));qD(b,e);NT(a);break;case 124:if(!fH(c)){c=this.f;e=GA(b);if(0==e)qD(b,jS(c.a,'""'));else if(d=UA(b),E(YH(d)&&null!=d.Ad()),f=jS(c.a,d.Ad()),1==e)qD(b,f);else{f=IZ(Jx(f,UA(UA(b))),b.f);for(h=2;h<e;h++){k=UA(b);if(YH(k))if(E(null!=k.Ad()),te(k.Ad()))continue;else 2==h&&te(d.Ad())&&(f=S(R(f)));f=IZ(Jx(f,
  3365. YH(k)?jS(c.a,k.Ad()):UA(k)),b.f)}qD(b,JG(f,b))}NT(a)}}};function ZIb(){ZIb=function(){};$7=aL((uI(),vI),A([(KI(),dK),mK,rK],UJ,NK,1))}g.la=!0;function $Ib(){}l($Ib,n);function aJb(){}l(aJb,$Ib);aJb.prototype.u=function(a){return P(a)?bJb(this.b,this.a,a):this};aJb.prototype.g=function(a,b){this.a.a&&!q(this.a.a,this.a)&&this.a.g(a,b)};function cJb(){}l(cJb,n);function dJb(){}l(dJb,n);function a8(){this.o=this.f=!1}l(a8,$Ib);
  3366. function bJb(a,b,c){var d=new a8;d.b=a;d.c=G(c);eJb(d);F(P(c),c);bH(c)?aH(c)?d.a=b.a?b.a:d:d.a=d:aH(c)?d.a=b.a:d.a=null;return d}a8.prototype.u=function(a){if(q(a,this.c))a=this;else if(P(a))a=bJb(this.b,this,a);else if(Gw(a)){var b=new aJb;b.b=this.b;b.c=G(a);b.a=G(this);a=b}else a=this;return a};
  3367. a8.prototype.g=function(a,b){if(q(this.c,b)&&bH(this.c)){b=this.b;var c=this.c;nya(c,!1);var d=O(c);if(eG(c))G2a(d)||(qD(d,Pw(A([],lx,eI,1))),uX(d,b.a));else{var e=Pw(A([],lx,eI,1));pF(c,d,e);if(this.f){var f=b.b;f=nS(f,"$jscomp$async$this",kS(f,lS(f,c)));M(e,f);HY(a.b,(KI(),eK),b.a)}this.o&&(f=b.b,f=nS(f,"$jscomp$async$arguments",sVa(f)),M(e,f),HY(a.b,(KI(),eK),b.a));for(f=this.v.a.values().h();f.i();){var h=f.j();var k=NA(h.b);if(this.b.f){var m=pVa(this.b.b,this.a.c);m=yVa(this.b.b,m);var p=k.a;
  3368. TG(this.a.c.m())?qD(p,m):qD(p,yVa(this.b.b,m))}k=BVa(this.b.b,k);h=nS(b.b,h.c,k);M(e,h);OT(b.a,k);h=a.b;HY(h,(KI(),ZJ),b.a);HY(h,eK,b.a)}Hw(d)||(d=JG(Pw(A([bx(d)],lx,eI,1)),d));c=AVa(b.b,d,c.f);kya(c,!0);OT(b.a,c);HY(a.b,(KI(),kK),b.a);f=b.b;a=ET(a);a=qS(f,a,"$jscomp.asyncExecutePromiseGeneratorFunction");a=wS(f,a,A([c],lx,eI,1));M(e,bx(a));JG(e,d);Z(b.a,e)}}else if(this.a)switch(b.c.a){case 32:yG(b,"arguments")&&(b.Ga("$jscomp$async$arguments"),this.a.a.o=!0,OT(this.b.a,this.c));break;case 36:d=
  3369. this.a;d.a.f=!0;d=qVa(d.b.b,d.a.c);qD(b,d);OT(this.b.a,this.c);break;case 103:b=b.m();N(b)||X(this.b.a,V(b,(FZ(),EZ),A(["super expression"],B,y,1)));e=this.a.a.v;Fi(N(b),b);a=b.a;Fi(WH(a),a);a=O(b);Fi(Dw(a),a);a=a.l();c=b.f;e.a.X(a)?(d=e.a.get(a),e=d.b.f,Ki(bd(e,c),"Previous reference type: %s differs from current reference type: %s",e,c)):(Fi(N(b),b),f=O(b).l(),c=b.f,f="$jscomp$async$super$get$"+r(f),c?d=TB(LA(MA(e.b.g),c)):d=null,c=new cJb,c.a=e.b,c.b=b,c.c=f,c.f=d,d=c,e.a.C(a,d));d=wS(d.a.b,mS(d.a.b,
  3370. d.c,d.f),A([],lx,eI,1));e=b.m();eH(e)&&q(e.a,b)&&(d=sS(this.b.b,d,"call"),nF(e,FG(qVa(this.b.b,this.a.c),b),b),this.a.a.f=!0);HG(d,b);pF(e,b,d);OT(this.b.a,this.c);break;case 108:qD(b,jVa(this.b.b,b.f,UA(b)))}};function eJb(a){var b=new dJb;b.b=a.b;b.a=Uf();a.v=b;a.f=!1;a.o=!1}function fJb(){}l(fJb,$Ib);function gJb(a,b){var c=new fJb;c.a=a;c.c=G(b);return c}fJb.prototype.u=function(a){if(P(a)){var b=new a8;b.b=this.a;b.c=G(a);eJb(b);bH(a)?b.a=b:b.a=null;a=b}else a=this;return a};
  3371. fJb.prototype.g=function(){};function hJb(){this.f=!1}var b8;l(hJb,n);g=hJb.prototype;g.H=function(a,b){b7(this.a,a,b8,A([this],OS,PS,1));b7(this.a,b,b8,A([this],OS,PS,1));Y6(this.a,b8)};g.ra=function(a){c7(this.a,a,b8,A([this],OS,PS,1));Y6(this.a,b8)};g.ga=function(a,b,c){c?(a=this.c.Na(),b=a.u(b),q(b,a)||this.c.Ea(b)):(E(this.c.D()),this.c.Ea(gJb(this,b)));return!0};g.J=function(a,b){var c=this.c.Na();c.g(a,b);q(c.c,b)&&this.c.Ta()};function iJb(){iJb=function(){};b8=$K((uI(),vI),(KI(),uK))}
  3372. g.la=!0;function jJb(){this.b=!1}l(jJb,n);function kJb(){this.b=this.a=!1}l(kJb,n);function lJb(){}l(lJb,n);function mJb(a){var b=new lJb;b.c=G(a);b.a=null;b.b=null;return b}function nJb(a,b,c){var d=new lJb;G(a);G(b);Fi(q(b,c)||Gw(b),b);G(c);Fi(P(c),c);d.c=b;d.a=c;aH(c)?d.b=a.b:P(b)?(a=new kJb,a.c=pm(),a.a=!1,a.b=!1,a.f=d,d.b=a):d.b=null;return d}function oJb(a,b){return nJb(a,b,b)}function pJb(a,b){return nJb(a,b,a.a)}function c8(a){return!!a.b&&cH(a.b.f.a)}function qJb(){this.g=0;this.o=!1}
  3373. var rJb,sJb;l(qJb,n);function tJb(a,b){a.g=0;a.b=b.a;a.c=Uk();a.o=b.b;a.f=b.f;a.a=b.c;a.u=uJb(a,ij(function(){return qy(a.f,(I(),ew))}))}function uJb(a,b){return a.a.a?b.f():null}function vJb(a,b,c){return O8a(!!a.a.a,a.f,b,c)}g=qJb.prototype;g.ra=function(a){wJb(this,a,!0)};g.H=function(a,b){wJb(this,b,!1)};function wJb(a,b,c){E(a.c.D());a.c.Ea(mJb(b));c?c7(a.b,b,rJb,A([a],OS,PS,1)):b7(a.b,b,rJb,A([a],OS,PS,1));Y6(a.b,rJb);E(!a.c.zg().a);a.c.Tg();E(a.c.D())}
  3374. g.ga=function(a,b){P(b)?this.c.Ea(oJb(this.c.zg(),b)):Gw(b)&&this.c.Ea(pJb(this.c.zg(),b));return!0};
  3375. g.J=function(a,b,c){var d=this.c.zg();switch(b.c.a){case 48:F(cd(b,d.c),b);this.c.Ta();break;case 69:E(cd(b,d.c));if(cH(b)){G(b);E(cH(b));var e=this.a,f=b.f;c=ET(a);c=qS(e,c,"$jscomp.AsyncGeneratorWrapper");e.a&&!c.f.aa()&&(f=sB(HA(f.ha()).Ma(),G(e.a.g)),Q(c,AS(e,c.f,Ml(f))));e=this.a;f=c.f;var h=null;e.a&&(f.aa()?h=HC(e.a,AS(e,hS(e,(I(),Ev)),Ml(e.b)),A([],ly,ey,1)):(f=Wj(CA(f.ha())),h=HC(e.a,f,A([],ly,ey,1))));f=N3a();kya(f,!0);e.a&&(G(h),Fi(iy(h),h),Q(f,G(h)));e=O(b);oF(b,e);pF(f,O(f),e);c=Pw(A([bx(xVa(this.a,
  3376. c,A([wS(this.a,f,A([],lx,eI,1))],lx,eI,1)))],lx,eI,1));M(b,c);nya(b,!1);kya(b,!1);JG(b,b);OT(this.b,b);OT(this.b,f);D(!!d);Fi(!!d.a,"Cannot prepend declarations to root scope");G(d.b);b=d.b;c=d.a;e=O(c);Li(e,c);f=Pw(A([],lx,eI,1));if(b.a){h=HG;var k=this.a;k=nS(k,"$jscomp$asyncIter$this",kS(k,lS(k,c)));M(f,h(k,e))}b.b&&M(f,HG(nS(this.a,"$jscomp$asyncIter$arguments",pS(this.a,ET(a),"arguments")),e));for(h=b.c.h();h.i();){k=h.j();if(this.o){var m=yVa(this.a,pVa(this.a,c));TG(d.a.m())||(m=yVa(this.a,
  3377. m))}else{var p=this.a,t=c;m=zw((H(),au));p.a&&(p.a?(p=Ey(lS(p,t)),p=Li(Tz(p.Ic()),p)):p=null,Q(m,p))}m=BVa(this.a,sS(this.a,m,k));OT(this.b,m);HY(a.b,(KI(),ZJ),this.b);k="$jscomp$asyncIter$super$get$"+r(k);M(f,nS(this.a,k,m))}JG(f,e);kF(e,pD(f));if(b.a||b.b||!b.c.D())OT(this.b,c),HY(a.b,(KI(),eK),this.b)}this.c.Ta();break;case 108:G(d.a);cH(d.a)&&(G(b),E(q(b.c,(H(),fu))),E(!!d&&!!d.a),E(cH(d.a)),d=UA(b),Li(d,"await needs an expression"),a=xVa(this.a,qS(this.a,ET(a),"$jscomp.AsyncGeneratorWrapper$ActionRecord"),
  3378. A([qS(this.a,ET(a),"$jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE"),d],lx,eI,1)),JG(a,b),Mx(b,a),b.c=eu);break;case 107:G(d.a);cH(d.a)&&(G(b),E(dI(b)),E(!!d&&!!d.a),E(cH(d.a)),d=UA(b),c=xVa(this.a,qS(this.a,ET(a),"$jscomp.AsyncGeneratorWrapper$ActionRecord"),A([],lx,eI,1)),dH(b)?(G(d),M(c,qS(this.a,ET(a),"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR"))):(d||(d=vX(null)),M(c,qS(this.a,ET(a),"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE"))),M(c,d),JG(c,b),Mx(b,c),sF(b,(kx(),bxa)));
  3379. break;case 106:G(d.a);E(bH(d.a));xJb(this,a,d,b);HY(a.b,(KI(),eK),this.b);break;case 36:c8(d)&&(D(SC(b)),D(!!d&&c8(d)),Fi(!!d.a,"Cannot prepend declarations to root scope"),G(d.b),qD(b,FG(pS(this.a,ET(a),"$jscomp$asyncIter$this"),b)),d.b.a=!0,OT(this.b,d.a));break;case 32:c8(d)&&xG(b,"arguments")&&(D(L(b)&&"arguments"===b.l()),D(!!d&&c8(d)),Fi(!!d.a,"Cannot prepend declarations to root scope"),G(d.b),qD(b,FG(pS(this.a,ET(a),"$jscomp$asyncIter$arguments"),b)),d.b.b=!0,OT(this.b,d.a));break;case 103:c8(d)&&
  3380. (N(c)?(D(WH(b)),D(!!d&&c8(d)),Fi(!!d.a,"Cannot prepend declarations to root scope"),G(d.b),b=b.b,e="$jscomp$asyncIter$super$get$"+r(b.l()),e=wS(this.a,pS(this.a,ET(a),e),A([],lx,eI,1)),f=c.m(),eH(f)&&q(f.a,c)&&(e=sS(this.a,e,"call"),nF(f,FG(pS(this.a,ET(a),"$jscomp$asyncIter$this"),c),c),d.b.a=!0),HG(e,c),pF(f,c,e),d.b.c.add(b.l()),OT(this.b,d.a)):X(this.b,V(c,sJb,A(["super only allowed with getprop (like super.foo(), not super['foo']())"],B,y,1))))}};
  3381. function xJb(a,b,c,d){var e=a.g++,f="$jscomp$forAwait$tempIterator"+e,h="$jscomp$forAwait$tempResult"+e;F(!!d.m(),"Cannot replace parentless for-await-of");e=UA(d);var k=UA(d),m=UA(d),p=uJb(a,ij(function(){var v=OUa(k.f,a.f);return v.a?v.a:a.u})),t=JG(nS(a.a,f,GVa(a.a,k,ET(b))),k);p=vJb(a,(I(),Fv),p);b=nS(a.a,h,yJb(a,b,c,f,t.a.f,p));c=hVa(sS(a.a,mS(a.a,h,p),"done"));if(xx(e))h=iS(yS(a.a,e,sS(a.a,mS(a.a,h,p),"value")));else if(PI(e))M(e.a,sS(a.a,mS(a.a,h,p),"value")),h=e;else throw jb("unexpected for-await-of lhs").s;
  3382. JG(h,e);e=iVa(t,yw(),yw(),Pw(A([b,c,h,zJb(m)],lx,eI,1)));qD(d,e);JG(e,d);Z(a.b,e)}function zJb(a){return Hw(a)?a:FG(Pw(A([a],lx,eI,1)),a)}function yJb(a,b,c,d,e,f){G(c.a);d=mS(a.a,d,e);cH(c.a)?f=jVa(a.a,f,xVa(a.a,qS(a.a,ET(b),"$jscomp.AsyncGeneratorWrapper$ActionRecord"),A([qS(a.a,ET(b),"$jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE"),wS(a.a,sS(a.a,d,"next"),A([],lx,eI,1))],lx,eI,1))):(b=a.a,a=wS(a.a,sS(a.a,d,"next"),A([],lx,eI,1)),E(ax(a)),a=Ow((H(),fu),a),b.a&&Q(a,G(f)),f=a);return f}
  3383. function AJb(){AJb=function(){};rJb=aL((uI(),vI),A([(KI(),yK),zK],UJ,NK,1));sJb=U("JSC_CANNOT_CONVERT_ASYNCGEN","Cannot convert async generator. {0}")}g.la=!0;function BJb(){this.b=!1}l(BJb,n);function CJb(){}l(CJb,RT);function DJb(a){var b=new CJb;b.a=a;return b}CJb.prototype.J=function(a,b){if(oH(b)&&Aw(b.a)){var c=tVa(this.a.b,"$jscomp$unused$catch");qD(b.a,HG(c,b.a));NT(a)}};function EJb(){}var d8;l(EJb,n);EJb.prototype.ra=function(a){c7(this.a,a,d8,A([DJb(this)],OS,PS,1));Y6(this.a,d8)};
  3384. EJb.prototype.H=function(a,b){b7(this.a,b,d8,A([DJb(this)],OS,PS,1));Y6(this.a,d8)};function FJb(){FJb=function(){};d8=$K((uI(),vI),(KI(),EK))}function GJb(){}var e8;l(GJb,n);g=GJb.prototype;g.H=function(a,b){b7(this.b,a,e8,A([this],OS,PS,1));b7(this.b,b,e8,A([this],OS,PS,1));Y6(this.b,e8)};g.ra=function(a){c7(this.b,a,e8,A([this],OS,PS,1));Y6(this.b,e8)};g.ga=function(){return!0};
  3385. g.J=function(a,b){if(xya(b)){var c="$jscomp$nullish$tmp"+r(this.c.f()),d=jX(b),e=d.m(),f=S(b.a),h=S(O(b)),k=Uw(mS(this.a,c,f.f),(H(),bu)),m=mS(this.a,c,f.f),p=yS(this.a,m,f),t=DVa(this.a,p,mVa(this.a));c=mS(this.a,c,f.f);h=EVa(this.a,t,c,h);JG(k,f);JG(m,f);JG(p,f);JG(t,f);JG(c,f);mF(e,k,d);qD(b,h);HY(a.b,(KI(),lK),this.b);Z(this.b,h);NT(a)}};function HJb(){HJb=function(){};e8=$K((uI(),vI),(KI(),FK))}g.la=!0;function IJb(){}var f8;l(IJb,n);g=IJb.prototype;
  3386. g.H=function(a,b){b7(this.a,a,f8,A([this],OS,PS,1));b7(this.a,b,f8,A([this],OS,PS,1));Y6(this.a,f8)};g.ra=function(a){c7(this.a,a,f8,A([this],OS,PS,1));Y6(this.a,f8)};g.ga=function(){return!0};
  3387. g.J=function(a,b){switch(b.c.a){case 46:for(var c=BA(b).h();c.i();)if(qx(c.j())){D(SH(b));var d=this.b,e=ET(a);c=b.f;a=A([zS(this.b,A([],lx,eI,1))],lx,eI,1);e=qS(d,e,"Object.assign");a=wS(d,e,a);if(d.a){var f=d.a;d=A([qy(d.a,(I(),Tv)),GC(d.a,A([Tv,Ov],ov,xw,1))],ly,ey,1);d=IC(f,c,uA(f,d));Q(e,d);Q(a,c)}d=null;for(c=BA(b).h();c.i();)e=c.j(),qx(e)?(d=UA(e),M(a,d),d=null):(d||(d=zS(this.b,A([],lx,eI,1)),M(a,d)),M(d,S(e)));JG(a,b);qD(b,a);Z(this.a,a);break}}};
  3388. function JJb(){JJb=function(){};f8=$K((uI(),vI),(KI(),wK))}g.la=!0;function KJb(){}l(KJb,n);KJb.prototype.ra=function(){var a=this.c,b=this.a,c=this.b;g8();yZ(a)||(b=WK(a.u,b,c),a.u=b)};KJb.prototype.H=function(){var a=this.c,b=this.a,c=this.b;g8();yZ(a)||(b=WK(a.u,b,c),a.u=b)};var LJb,MJb,NJb,OJb,PJb,QJb,RJb,SJb,TJb,UJb,VJb,WJb,XJb,YJb,ZJb,$Jb,aKb,bKb,cKb,dKb,eKb,fKb,gKb,hKb;
  3389. function iKb(a,b){g8();a.add(J6(N6(O6(L6(Q6(),"es6RewriteModule"),u(function(c){x5(b,c);var d=c.K,e=c.A,f=b.a,h=h8(c).c;fZ();var k=new P8a;G(d);k.b=c;k.a=dJ(c);k.u=d;k.f=e;k.c=f;k.o=h;k.A=qy(eJ(c),(I(),ew));return k})),(uI(),QJ))))}
  3390. function jKb(a,b){g8();WU(b,(KI(),FK))&&a.add(OJb);WU(b,(KI(),EK))&&a.add(PJb);(WU(b,(KI(),zK))||WU(b,(KI(),yK)))&&a.add(QJb);(WU(b,(KI(),wK))||WU(b,(KI(),xK)))&&a.add(RJb);VU(b,(uI(),TK))&&(a.add(kKb("markTrailingCommasInParameterListsRemoved",(KI(),vK),A([],UJ,NK,1))),a.add(SJb));VU(b,(uI(),FBa))&&a.add(TJb);VU(b,(uI(),SK))?(a.add(kKb("markEs6FeaturesNotRequiringTranspilationAsRemoved",(KI(),dBa),A([eBa,fBa,gBa],UJ,NK,1))),a.add(UJb),a.add(VJb),a.add(WJb),a.add(XJb),a.add(YJb),a.add(lKb((y7(),$Hb))),
  3391. a.add(ZJb),a.add($Jb),a.add(aKb),a.add(bKb),a.add(cKb),a.add(dKb),a.add(eKb),a.add(fKb),a.add(gKb)):WU(b,(KI(),xK))&&(a.add(XJb),a.add(YJb),a.add(lKb((y7(),aIb))))}
  3392. function lKb(a){g8();return J6(N6(O6(L6(Q6(),"Es6RewriteDestructuring"),u(function(b){var c=new jIb;y7();c.a=b;c.b=a;iIb();b=new dIb;b.c=Uk();b.o=0;b.b=c.a;b.g=c.b;b.a=dJ(b.b);switch(b.g.a){case 0:b.f=aL((uI(),vI),A([(KI(),fK),gK,YJ,hK],UJ,NK,1));b.u=$K(b.f,xK);break;case 1:b.f=$K((uI(),vI),(KI(),xK));b.u=b.f;break;default:throw jb("Es6RewriteDestructuring cannot handle ObjectDestructuringRewriteMode "+r(b.g)).s;}return b})),(uI(),UK)))}function mKb(a){g8();a=GY(a);return!!a&&!xI((uI(),IJ),a)}
  3393. function nKb(a,b){g8();a=GY(a);return!!a&&!xI(b,a)}function b7(a,b,c,d){g8();if(VU(a.a,c))for(c=zI(a.a),b=BA(b).h();b.i();){var e=b.j();if(nKb(e,c))for(var f=d,h=0;h<f.length;h++){var k=f[h];Hx(e,(kx(),YE),!0);Y(a,e,k)}}}function c7(a,b,c,d){g8();if(VU(a.a,c)&&(c=zI(a.a),nKb(b,c)))for(c=0;c<d.length;c++){var e=d[c];Hx(b,(kx(),YE),!0);Y(a,b,e)}}function Y6(a,b){g8();yZ(a)||(b=XK(a.u,b),a.u=b)}
  3394. function kKb(a,b,c){return J6(N6(O6(L6(Q6(),a),u(function(d){var e=new KJb;e.c=d;e.a=b;e.b=c;return e})),dL()))}
  3395. function g8(){g8=function(){};MJb=J6(N6(O6(L6(P6(),"es6RewriteModuleToCjs"),u(function(a){var b=new imb;b.a=a;b.b="use strict";return b})),dL()));NJb=J6(N6(O6(L6(P6(),"es6RelativizeImportPaths"),u(function(){return new bmb})),dL()));SJb=J6(N6(O6(L6(Q6(),"rewriteAsyncFunctions"),u(function(a){var b=new jJb;b.b=!1;G(a);b.a=a;a=!VU(a.a,(uI(),SK));b.b=a;b.c=dJ(b.a);b.f=eJ(b.a);iJb();a=new hJb;G(b);a.a=b.a;a.c=Uk();a.f=b.b;a.g=G(b.f);a.b=G(b.c);return a})),(uI(),PJ)));QJb=J6(N6(O6(L6(Q6(),"rewriteAsyncIteration"),
  3396. u(function(a){var b=new BJb;b.b=!1;G(a);b.a=a;a=!VU(a.a,SK);b.b=a;b.c=dJ(b.a);b.f=eJ(b.a);AJb();a=new qJb;tJb(a,b);return a})),PJ));RJb=J6(N6(O6(L6(Q6(),"rewriteObjectSpread"),u(function(a){JJb();var b=new IJb;b.a=a;b.b=dJ(a);return b})),PJ));PJb=J6(N6(O6(L6(Q6(),"rewriteCatchWithNoBinding"),u(function(a){FJb();var b=new EJb;b.a=a;b.b=dJ(a);return b})),PJ));TJb=J6(N6(O6(L6(Q6(),"rewriteExponentialOperator"),u(function(a){TIb();var b=new SIb;b.a=a;a.v?(a=eJ(a),b.b=qy(a,(I(),Pv)),b.o=qy(a,$v),b.g=qy(a,
  3397. ew),b.f=HC(a,b.b,A([b.b,b.b],ly,ey,1))):(b.b=null,b.o=null,b.g=null,b.f=null);a=Q(rx("Math"),b.g);var c=ux("pow");a=Q(px(Q(sx(a,Q(c,b.o)),b.f),A([],lx,eI,1)),b.b);b.c=a;return b})),UK));UJb=J6(N6(O6(L6(Q6(),"es6NormalizeShorthandProperties"),u(function(a){LGb();var b=new f7;b.a=a;return b})),UK));VJb=J6(N6(O6(L6(Q6(),"Es6ExtractClassExtends"),u(function(a){YHb();var b=new x7;b.b=0;b.a=a;return b})),UK));$Jb=J6(N6(O6(L6(Q6(),"Es6ExtractClasses"),u(function(a){JGb();var b=new a7;b.c=0;b.a=a;var c=ef();
  3398. b.b=fqb(a,s3(a),c,gS(zw((H(),Ot))),!0);return b})),TK));aKb=J6(N6(O6(L6(Q6(),"Es6RewriteClass"),u(function(a){xHb();var b=new SHb;b.b=a;b.f=eJ(a);b.a=dJ(a);var c=KB(b.f,null,"ObjectPropertyDescriptor");b.g=c?c:qy(b.f,(I(),ew));c=new s7;c.b=a;c.a=dJ(a);c.c=Uk();b.c=c;return b})),TK));XJb=J6(N6(O6(L6(Q6(),"Es6RenameVariablesInParamLists"),u(function(a){PGb();var b=new h7;b.a=a;return b})),UK));ZJb=J6(N6(O6(L6(Q6(),"Es6RewriteArrowFunction"),u(function(a){UGb();var b=new SGb;b.a=a;b.b=Uk();return b})),
  3399. TK));hKb=J6(N6(O6(L6(Q6(),"RewritePolyfills"),u(function(a){var b=a.a.Di;Lvb();var c=new Cvb,d=jra("js/polyfills.txt");Uvb();var e=new Vn;e.a=Uf();var f=el();for(d=lq(Tla(kq(10)),d).h();d.i();){var h=d.j(),k=mq(Tla(kq(32)),Ci(h));if(1!=k.w()||!te(k.G(0))){if(3>k.w())throw ua("Invalid table: too few tokens on line: "+r(h)).s;h=k.G(0);var m=ji(h,".prototype.");var p=LBa(k.G(1));var t=LBa(k.G(2));k=3<k.w()?k.G(3):"";var v=m?(Gvb(),Nvb):(Gvb(),Hvb),C=new Rvb;C.c=p;C.f=t;C.a=k;C.b=v;p=C;m?e.b(xi(h,".*\\.prototype\\.",
  3400. ""),p):f.L(h,p)}}e=e.f();f=f.Jb();d=new Svb;d.b=e;d.c=f;d.a=nm(og(tg(f.oa().S(),Tvb),uda()));c.a=a;c.f=d;c.c=b;return c})),dL()));YJb=J6(N6(O6(L6(Q6(),"Es6SplitVariableDeclarations"),u(function(a){RIb();var b=new X7;b.a=a;return b})),dL()));WJb=J6(N6(O6(L6(Q6(),"es6ConvertSuper"),u(function(a){oKb();var b=new i8;b.a=a;b.b=dJ(a);return b})),UK));LJb=J6(N6(O6(L6(Q6(),"es6InjectRuntimeLibraries"),u(function(a){WIb();var b=new Z7;b.a=a;b.b=!xI(yI,zI(a.a));return b})),QJ));bKb=J6(N6(O6(L6(Q6(),"es6RewriteRestAndSpread"),
  3401. u(function(a){PIb();var b=new T7;b.a=a;a.v?(a=eJ(a),b.c=qy(a,(I(),pv)),b.o=qy(a,uv),b.f=Sy(b.c,"concat"),b.g=qy(a,Ov),b.b=qy(a,Pv),b.u=qy(a,Bv)):(b.c=null,b.o=null,b.f=null,b.g=null,b.b=null,b.u=null);return b})),dL()));cKb=J6(N6(O6(L6(Q6(),"lateConvertEs6"),u(function(a){ZIb();var b=new YIb;b.b=a;b.a=dJ(a);var c=new XIb;c.c=a;c.a=dJ(a);c.b=eJ(a);b.f=c;b.c=a.v;b.g=eJ(a);b.o=N8a(b.c,b.g,(I(),$v));return b})),dL()));dKb=J6(N6(O6(L6(Q6(),"es6ForOf"),u(function(a){KGb();var b=new d7;b.c=a;b.f=a.v;b.b=
  3402. eJ(a);b.g=N8a(b.f,b.b,(I(),ew));var c=$y($y($y(az(b.b),qy(b.b,$v)),qy(b.b,Jv)),qy(b.b,Hv));var d=KB(b.b,null,"Arguments");d&&$y(c,d);c=bz(c);b.o=c;b.u=fXa();b.a=dJ(a);return b})),TK));eKb=J6(N6(O6(L6(Q6(),"Es6RewriteBlockScopedFunctionDeclaration"),u(function(a){oHb();var b=new p7;b.a=a;return b})),TK));fKb=J6(N6(O6(L6(Q6(),"Es6RewriteBlockScopedDeclaration"),u(function(a){nHb();var b=new o7;b.f=Bq();b.c=ef();b.g=ef();b.a=a;b.o=s3(a);return b})),TK));gKb=J6(N6(O6(L6(Q6(),"rewriteGenerators"),u(function(a){MIb();
  3403. var b=new LIb;G(a);b.a=a;b.b=eJ(a);a.v?(b.c=!0,b.o=qy(b.b,(I(),ew)),b.f=qy(b.b,Pv),b.g=qy(b.b,uv),b.A=qy(b.b,Ov),b.u=TA(b.b,qy(b.b,$v)),b.v=qy(b.b,fw)):(b.c=!1,b.o=null,b.f=null,b.g=null,b.A=null,b.u=null,b.v=null);return b})),TK));OJb=J6(N6(O6(L6(Q6(),"rewriteNullishCoalesceOperator"),u(function(a){HJb();var b=new GJb;b.b=a;b.a=dJ(a);b.c=s3(a);return b})),QJ))}function i8(){}var j8;l(i8,RT);
  3404. i8.prototype.J=function(a,b,c){if(kA(b)){if(!UW(b))a:{var d=R(b);c=O(b);if(Aw(d)){var e=this.b;var f=(f=CF(b))?f:b.f;var h=N3a();e.a&&(G(f),Fi(iy(f),f),Q(h,G(f)));OT(this.a,h);e=CVa(this.b,h)}else{if(!DC(d))break a;e=Lw();if(!eG(b)&&!pKb(b)){f=this.b;h=b.f;d=Q(zw((H(),au)),d.f);var k=sVa(this.b);E(ax(k));k=Ow(qu,k);k=A([k],lx,eI,1);d=xS(d,k);f.a&&(G(h),f=G(h.ha()),f=G(Tz(f)),Q(d,f));f=cx(d);Mx(e,f);HY(a.b,(KI(),qK),this.a);HY(a.b,pK,this.a)}e=zVa(this.b,Iw(A([],lx,eI,1)),e,b.f);e=CVa(this.b,e)}JG(e,
  3405. b);dG(e);Mx(c,e);HY(a.b,(KI(),mK),this.a);OT(this.a,fF(e));Z(this.a,e)}}else if(WH(b)){E(WH(b));a=b;if(DH(a.m())||N(a.m()))a=a.m();f=fX(a,new Z6);if(eH(c)){if(F(eH(c),c),F(WH(b),b),a=gX(b),DC(R(a)))if(VW(f)){if(eG(b)||pKb(a))b=jX(b),a=b.m(),S(b),Z(this.a,a)}else throw pb("This should never happen. Did Es6SuperCheck fail to run?").s;}else if(N(c)||DH(c))q(c.a,b)?eH(c.m())&&pY(c)?(F(N(c)||DH(c),c),F(WH(b),b),a=c.m(),E(eH(a)),h=gX(b),d=R(h),DC(d)&&(e=c,cG(ux("call")),TG(f)?(f=HG(NA(d),b),bG(f,"super"),
  3406. pF(e,b,f),e=sS(this.b,S(e),"call"),Mx(a,e),b=kS(this.b,h.f),cG(b),nF(a,b,e)):(f=HG(sS(this.b,NA(d),"prototype"),b),bG(f,"super"),qD(b,f),e=sS(this.b,S(e),"call"),Mx(a,e),Fi(kA(h),h),(b=h.f)?(Fi(b.xa(),h),b=Tz(Fy(b))):b=null,b=kS(this.b,b),cG(b),nF(a,b,e),Hx(a,(kx(),KE),!1)),JG(a,c),Z(this.a,a))):(F(N(c)||DH(c),c),F(WH(b),b),a=c.m(),DX(c)?X(this.a,V(c,(FZ(),EZ),A(["assigning to a super property"],B,y,1))):(c=R(gX(b)),DC(c)&&(TG(f)?(c=HG(NA(c),b),bG(c,"super"),qD(b,c)):this.b.a?(c=HG(sS(this.b,NA(c),
  3407. "prototype"),b),bG(c,"super"),qD(b,c)):(c=vk(qk(Hg(46)),EC(c),"prototype",[]),qD(b,HG(NX(this.a,c,b,"super"),b))),Z(this.a,a)))):X(this.a,V(b,(FZ(),EZ),A(["Only calls to super or to a method of super are supported."],B,y,1)));else{if(TC(c))throw pb("This should never happen. Did Es6SuperCheck fail to run?").s;X(this.a,V(b,(FZ(),EZ),A(["Only calls to super or to a method of super are supported."],B,y,1)))}}};function pKb(a){a=tL(a);return!!a&&eE(a)}
  3408. i8.prototype.H=function(a,b){b7(this.a,a,j8,A([this],OS,PS,1));b7(this.a,b,j8,A([this],OS,PS,1))};i8.prototype.ra=function(a){c7(this.a,a,j8,A([this],OS,PS,1));Y6(this.a,j8)};function oKb(){oKb=function(){};j8=$K((uI(),vI),(KI(),qK))}function qKb(){}l(qKb,U2);qKb.prototype.J=function(a,b){sX(b)&&(a=b.l(),this.a.B(a)&&!RR(this.c,a)&&X(this.b.a.a,V(b,(O5(),rKb),A([a],B,y,1))))};function sKb(){}l(sKb,n);function tKb(a){var b=new sKb;b.a=a;b.b=ef();return b}
  3409. sKb.prototype.Ji=function(a,b){if(IT(a)){var c=this.a.a,d=b.b,e=HT(a);E(tC(e)||sC(e));if(!c.vd){var f=iV(c.b),h=qf(c.rb),k=new s_a;k.b=null;k.c=bf();for(var m=0,p=h.h();p.i();){var t=p.j();k.c.C(t.gd(),Fc(m));m++}for(var v=f.h();v.i();){var C=v.j();k.c.C(C.gd(),Fc(m));m++}c.vd=k}var J=c.vd;if(J.b&&tC(e)){var K=aG(e);G(K);G(K);if(J.c.X(K))for(var Ca=J.b.values().h();Ca.i();){var Wa=Ca.j();if(Wa){var Ma=t_a(J,Wa.a,K),Vb=Jd(Ma.a.Gb(0,Ma.c+1));Vb.na(Ma.a.Gb(Ma.b,Ma.a.w()));Wa.a=Vb}}for(var sc=d.V().h();sc.i();){var gc=
  3410. sc.j(),tc=gc.M();if(mL(tc)){var Qb=J,Wb=tc.va(),Rd=K,Ne=gc.O(),Jc=m_a(),kd=Jc.a,Cc=Qb.b.get(Wb);Qb.b.C(Wb,Jc);if(Cc){var pc=t_a(Qb,Cc.a,Rd);kd.na(pc.a.Gb(0,pc.c+1));kd.na(Ne.a);kd.na(pc.a.Gb(pc.b,pc.a.w()))}else kd.na(Ne.a)}}}else{J.b=Uf();for(var Db=d.V().h();Db.i();){var Rb=Db.j(),Uc=Rb.M();mL(Uc)&&J.b.C(Uc.va(),Rb.O())}}b=this.a.a.vd}var ad=ET(a);if(SR(ad)){this.b.ia();for(var rf=TR(ad).h();rf.i();){var uc=rf.j();this.b.add(uc.va())}}for(var Nc=TR(ad).h();Nc.i();){var Xb=Nc.j(),Nb=b.a(Xb);if(Nb){if(P(ad.ka())&&
  3411. XBa(Xb)){var ic=this.a.a,Vc=R(kL(Xb)),sd=new qKb,Ye=sd,Hf=this.b,Ie=ad;Ye.b=this;Ye.a=Hf;Ye.c=Ie;Y(ic,Vc,sd)}if(P(ad.ka())){var Be=Xb,fe=ad,mh=Nb.a,mf=fe.T(Be.va());if(mf&&xL(mf)&&q(mf.ya(),fe))for(var Od=mh.h();Od.i();){var Se=Od.j();!gx($U(Se))&&!QW($U(Se))||q(Se.N(),Be.a)||X(this.a.a,V(Se.N(),(O5(),P5),A([Be.va()],B,y,1)))}}var eg=Xb,pg=Nb.a;this.a.b.ia();var vf=!1,qe=!1,Pd=!1,wf=null;a:{for(var fg=this.a,Ec=pg.h();Ec.i();){var oi=Ec.j();if(QW($U(oi))){fg.b.add(oi.c);var Qf=oi;break a}}Qf=null}Qf&&
  3412. (vf=!0);for(var Ni=pg.h();Ni.i();){var re=Ni.j();if(!q(re,Qf)){var Je=re.N(),Ce=re.c,nf=YU(re.a),Xc=nf||cV(re);if(nf){vf=!0;a:{var nh=this.a,Dd=eg,Qg=re,Rf=Je,pi=Qf,gg=Ce,Rh=nh.a,If=Dd.a;L5();var ke=WFb(Rf)?!0:N0a(Rh,If);var Gd=gx(kL(Dd))&&(hx($U(Qg))||ix($U(Qg))),xf=q(Dd.N(),Qg.N()),Oi=oH(kL(Dd))&&!xf,Sh=xL(Dd)&&b3a(Rf)&&q(Dd.ya(),Qg.b.m());if(!ke)for(var Ag=nh.b.h();Ag.i();)if(f_a(Ag.j(),gg)){var se=Rf;if(uL(Dd)||wL(Dd)||q(vL(Dd),(H(),Yt))||Gd||Oi||Sh||q(vL(Dd),(H(),gu)))var jk=uKb;else{if(oH(Qg.N().m())||
  3413. ke){qe=!1;break a}jk=nL(Dd.ya())?N5:P5;xf&&pi&&li(Dd.va(),pi.N().l())&&(se=pi.N())}X(nh.a,V(se,jk,A([Dd.va(),Dd.c?Dd.c.eb():"??"],B,y,1)));qe=!0;break a}(Gd||Oi)&&q(Dd.ya(),Qg.b)?(X(nh.a,V(Rf,uKb,A([Dd.va()],B,y,1))),qe=!0):qe=!1}this.a.b.add(Ce);var oh=this.a,qg=eg,yf=re,of=Je;!gx($U(yf))&&RG(bV(yf))&&vKb.B(bV(yf).m().c)&&X(oh.a,V(of,wKb,A([qg.va()],B,y,1)));xH(bV(re))&&(Pd=!0)}else vf||(qe=xKb(this.a,eg,re,Je)),!qe&&wL(eg)&&cV(re)&&X(this.a.a,V(Je,(O5(),yKb),A([eg.va()],B,y,1))),(uL(eg)||wL(eg))&&
  3414. q(eg.ya(),re.b)&&dV(re.b.ka())&&X(this.a.a,V(Je,(O5(),rKb),A([eg.va()],B,y,1)));if(Xc){var hg=pg.G(0),ig=hg.N(),ph=gG(ig),Jf=AH(ph)&&q(hF(ph),ig);UR(hg.b)&&(gx($U(hg))||hx($U(hg))||ix($U(hg)))&&!eG(hg.N())&&!Jf&&(wf=re);(tH($U(re))||IH($U(re))||R2a($U(re)))&&uY(re.N())&&(Pd=!0)}else Pd=!0}}if(this.a.f&&wf&&!Pd&&!qe)a:{var xd=this.a,Bg=eg,qh=wf;if(UR(Bg.b)){var ai=tL(qh.N());if(!ai||!jE(ai)){var Rg=!1,rh=Bg.ya();if(SR(rh)){var ge=iF(rh.ka().m());Rg=!!ge&&yG(ge,"goog.scope")}if(!Rg){if(fL(rh)){var Ke=
  3415. jX(Bg.N());if(PI(Ke)){var pf=Ke.a.a;if(pf&&(CY(pf,"goog.forwardDeclare")||CY(pf,"goog.requireType")||CY(pf,"goog.require")||DC(pf)))break a}}X(xd.a,V(qh.N(),Tzb,A([Bg.va()],B,y,1)))}}}}}}if(ad.Lk((hL(),eL))){var jg=ad.Wl((hL(),eL)),sh=b.a(jg);if(sh&&!q_a(sh))for(var uj=sh.a.h();uj.i();){var Cg=uj.j();if(cV(Cg))break;xKb(this.a,jg,Cg,Cg.N())}}};function k8(){this.f=this.c=!1}var Kzb,P5,Tzb,rKb,yKb,vKb,wKb,uKb,zKb;l(k8,n);function AKb(a,b,c){a.b=ef();a.a=b;a.c=c;a.f=TU(b.a,oU(Tzb))}
  3416. k8.prototype.H=function(a,b){var c;a:if(this.c){if(xI(HJ(this.a.a.a),(uI(),SK)))for(c=BA(b).h();c.i();){var d=c.j();if(mKb(d)){c=!0;break a}}c=!1}else c=!0;c&&OW(this.a,tKb(this),kT(this.a)).H(a,b)};k8.prototype.ra=function(a,b){(!this.c||xI(HJ(this.a.a.a),(uI(),SK))&&mKb(a))&&OW(this.a,tKb(this),kT(this.a)).ra(a,b)};
  3417. function xKb(a,b,c,d){if(!eG(d)){if(q(vL(b),(H(),Ft))){for(d=$U(c);TH(d)&&q(d.m().a,d);)d=d.m();if(L(d)&&li(d.l(),b.va()))return!1}if(aS(c.b,b.ya())&&!li(b.va(),"goog"))return X(a.a,V(c.N(),ZBa(b)?zKb:uL(b)||wL(b)||q(vL(b),(H(),Yt))||xL(b)?rKb:Kzb,A([b.va()],B,y,1))),!0}return!1}
  3418. function O5(){O5=function(){};Kzb=AJ("JSC_REFERENCE_BEFORE_DECLARE","Variable referenced before declaration: {0}");zKb=U("JSC_EXPORTS_REFERENCE_BEFORE_ASSIGN","Illegal reference to `exports` before assignment `exports = ...`");P5=AJ("JSC_REDECLARED_VARIABLE","Redeclared variable: {0}");rKb=U("JSC_REFERENCE_BEFORE_DECLARE_ERROR","Illegal variable reference before declaration: {0}");yKb=U("JSC_REASSIGNED_CONSTANT","Constant reassigned: {0}");uKb=U("JSC_REDECLARED_VARIABLE_ERROR","Illegal redeclared variable: {0}");
  3419. wKb=U("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK","Block-scoped declaration not directly within block: {0}");Tzb=BJ("JSC_UNUSED_LOCAL_ASSIGNMENT","Value assigned to local variable {0} is never read");vKb=zn((H(),vt),A([Bt,Ct,cu,du,zt],hs,Qu,1))}function l8(){}var BKb;l(l8,AU);function CKb(){DKb();var a=new l8,b=(yJ(),vJ);a.a=BKb;a.b=b;return a}l8.prototype.ih=function(){return!1};l8.prototype.Yf=function(a){return null!=a.a&&ki(a.a,".java.js")?AU.prototype.Yf.call(this,a):null};
  3420. l8.prototype.Fk=function(){return(uYa(),qYa).f};function DKb(){DKb=function(){};var a=(E5(),Iyb),b=Nyb,c=Oyb,d=Yyb,e=gzb,f=Ayb,h=Uyb,k=zyb,m=Zyb,p=azb,t=Jyb;var v=A5.get("transitionalSuspiciousCodeWarnings");BKb=oYa("j2clIncomaptible",A([a,b,c,d,e,f,h,k,m,p,t,v],lU,pU,1))}function EKb(){}l(EKb,ayb);
  3421. function FKb(a){E5();var b=il(A5);var c=new EKb;c.b=a;c.a=bf();for(a=b.V().h();a.i();)b=a.j(),c.a.C(b.M(),BU(b.O(),(yJ(),vJ)));c.a.C("missingRequire",BU(mYa(A([Vyb,Wyb,Xyb],lU,pU,1)),(yJ(),vJ)));c.a.C("missingProperties",BU(mYa(A([Byb,Jyb],lU,pU,1)),vJ));c.a.C("checkTypes",BU(mYa(A([Gyb,Lyb],lU,pU,1)),vJ));return c}
  3422. EKb.prototype.Yf=function(a){var b=a.f;b||(b=byb(this,a));if(!b)return null;a:{for(;b;b=b.m()){var c=null;if(P(b)||kA(b))c=tL(b);else if(tC(b))c=nG(b);else if(PI(b)||XI(b)&&yH(b.m())||N(b)&&yH(b.m())||FX(b)||rH(b))c=tL(b);if(c&&(c=GKb(this,a,c))){b=c;break a}}b=null}if(b)return b;if(b=byb(this,a))if(b=nG(b))return GKb(this,a,b);return null};function GKb(a,b,c){for(c=WD(c).h();c.i();){var d=c.j();if(d=a.a.get(d))if(d=d.Yf(b))return d}return null}EKb.prototype.Fk=function(){return(uYa(),sYa).f};
  3423. function HKb(){}l(HKb,n);function IKb(a){a.c&&(a.a.Z(zb(function(b){b.a=null;b.c=null;b.f=null})),a.a.ia())}HKb.prototype.b=function(a,b,c){b=c.a.w();IKb(a);for(var d=a.a.h();d.i();){var e=d.j();e.a&&(c.a.add(e),C2(G(e.a),a,c))}IKb(c);return b<c.a.w()};function JKb(){this.a=0}var KKb,LKb;l(JKb,z);function MKb(a,b){var c=new JKb;c.b=a;c.a=b;return c}JKb.prototype.R=function(a){return z.prototype.c.call(this,a)};function m8(){m8=function(){};KKb=MKb("SINGLE",0);LKb=MKb("UNION",1)}
  3424. function NKb(){this.f=0;this.c=!1}l(NKb,n);function OKb(a,b){return cd(a.o,b)}NKb.prototype.toString=function(){return Mn(Mn(On(Qn(this),"id",this.f),"type_single",this.b),"type_union",this.g).toString()};function PKb(){}l(PKb,n);function QKb(a,b){E(!!a.a);a.c||(a.c=b);C2(a.a,a.c,b)}PKb.prototype.toString=function(){return Mn(Qn(this),"name",this.b).toString()};function RKb(){}l(RKb,n);
  3425. RKb.prototype.H=function(a,b){var c,d,e,f,h;D(q(a.m(),b.m()));var k=SKb(this.b,(c=this.f,fd(function(v){return QY(c,v)}))),m=TKb(k,(d=this.a,zb(function(v){X(d,v)})),(e=MX(this.a),new UKb(function(v){return e.Dd(v)}))),p=VKb(k,new WKb(function(v){var C=new XKb;C.a=Uf();C.b=Uk();C.c=v;return C}));b=new HKb;var t=YKb(this.c,(f=this.a,zb(function(v){X(f,v)})),(h=this.a,zb(function(v){Z(h,v)})));Y(this.a,a.m(),m);a=ZKb(m);$Kb(this,"prop_refs");aLb(p,nm(k.a.values()));this.g.Z(zb(function(v){p.b.add(v);
  3426. n8(p,v.a);n8(p,v.b)}));k=bLb(p);$Kb(this,"graph");qjb(a2(b),k);a.values().Z(zb(function(v){if(v.a){var C=cLb(v);if(1>=C.wa())t.a.b(v.b,v.b);else{t.a.c(v.b,C.values());for(var J=G(v.f).V().h();J.i();){var K=J.j(),Ca=K.M();K=F2(G(v.a),K.O());K=C.get(K);Jba(K,Ca.l())||(Ca.Ga(K),t.c.pb(Ca))}}}else t.a.b(v.b,"<INVALIDATED>"),C=t.f.Ya(v.b,(yJ(),vJ)),cd(C,vJ)||t.b.pb(dLb(C,v.b))}));$Kb(this,"renaming_index")};
  3427. function $Kb(a,b){var c=null,d=null;try{var e=la(ma(a)),f=r(b)+".log",h=a.a.a.Tn;if(h)throw ze(h),A([Na(e),f],B,y,1),xb("Operation not available in JavaScript.").s;d=new W0a}catch(k){throw c=a=k=va(k),a.s;}finally{if(c=Ab(d,c))throw c.s;}}function UKb(a){this.a=a}l(UKb,n);function eLb(){}l(eLb,RT);function TKb(a,b,c){var d=new eLb;d.b=Uf();d.c=a;d.a=b;d.f=c;return d}function ZKb(a){var b=a.b;a.b=null;return b}
  3428. eLb.prototype.J=function(a,b){switch(b.c.a){case 26:fLb(this,O(b),b.a.f);break;case 46:gLb(this,b);break;case 28:a=b.a;if(DC(a)){a=wG(a);var c;if(c=null!=a){var d;c=(d=this.f.a,d(a))}c?(d=GA(b)-1,1!=d&&2!=d?this.a.pb(V(b,(WY(),VY),A([a," Must be called with 1 or 2 arguments"],B,y,1))):Dw(R(b))?(d=R(b).l(),ji(d,".")?this.a.pb(V(b,(WY(),VY),A([a," The first argument must not be a property path."],B,y,1))):fLb(this,R(b),RC(b,2).f)):this.a.pb(V(b,(WY(),VY),A([a," The first argument must be a string literal."],
  3429. B,y,1)))):SX(b)&&hLb(this,b)}break;case 100:iLb(this,b);break;case 98:jLb(this,b)}};function gLb(a,b){if(!eH(b.m())||!SX(b.m())){var c=b.f;kLb(a,b,u(function(){return c}))}}function iLb(a,b){var c=b.f,d=iy(c)?IA(c.ha()):null;kLb(a,TW(b),u(function(e){return TG(e)?c:d}))}function jLb(a,b){var c=b.f;kLb(a,b,u(function(){return c}))}function hLb(a,b){b=R(b);var c=b.b;if(SH(c)){var d=b.f;kLb(a,c,u(function(){return d}))}}
  3430. function kLb(a,b,c){E(SH(b)||$w(b)||pH(b));for(var d=b.a;d;d=d.b)switch(d.c.a){case 122:case 119:case 121:continue;case 95:case 102:case 90:case 91:if(d.bb())continue;fLb(a,d,c.f(d));break;default:throw pb("Unexpected child of "+r(b.c)+": "+r(uD(d))).s;}}function fLb(a,b,c){var d=a.b.gb(b.l(),u(function(e){var f=new PKb;f.f=Uf();f.a=Glb();f.b=G(e);return f}));a=lLb(a.c,c);a.a.add(d);Dlb(G(d.a),a);G(d.f).C(b,a);eG(b)&&QKb(d,a)}function mLb(){}l(mLb,n);
  3431. function SKb(a,b){var c=new mLb;c.a=Uf();c.b=a;c.f=b;c.c=qy(c.b,(I(),gw));return c}
  3432. function lLb(a,b){var c=nLb(a,b);c=a.a.gb(c,u(function(d){var e=a.a.wa();if(ey(d)){G(d);D(!d.Kc());D(!d.Zb());D(!d.xc());D(!d.aa());D(!yy(d));D(!jy(d));D(0<=e);var f=new NKb;f.a=pm();f.c=!1;f.f=e;f.o=(m8(),KKb);f.g=null;f.b=d;d=f}else if(d instanceof cm){D(1<d.w());for(f=d.h();f.i();){var h=f.j();D(OKb(h,(m8(),KKb)))}D(0<=e);f=new NKb;f.a=pm();f.c=!1;f.f=e;f.o=(m8(),LKb);f.g=d;f.b=null;d=f}else throw jb(d).s;return d}));!c.c&&a.f.Ca(b)&&(c.c=!0);return c}
  3433. function oLb(a){var b=(I(),gw);return lLb(a,b?qy(a.b,b):null)}function nLb(a,b){if(!b)return a.c;b=b.Ia();return b.aa()||b.bd()||b.xc()||b.Cf()?a.c:yy(b)?uz(b.Xb()):b.rc()?b.Fc():jy(b)?pLb(a,b.nb()):b}function pLb(a,b){b=og(tg(Zy(b).S(),u(function(c){return lLb(a,c)})),zha());switch(b.w()){case 0:throw ib().s;case 1:return G(b.h().j().b);default:return b}}function qLb(){this.a=0}var rLb,sLb,tLb,uLb,vLb;l(qLb,z);function o8(a,b){var c=new qLb;c.b=a;c.a=b;return c}
  3434. qLb.prototype.R=function(a){return z.prototype.c.call(this,a)};function p8(){p8=function(){};rLb=o8("ALGEBRAIC",0);sLb=o8("ENUM_ELEMENT",1);tLb=o8("FORCED",2);uLb=o8("INTERFACE",3);vLb=o8("PROTOTYPE",4)}function wLb(){}l(wLb,n);function VKb(a,b){var c=new wLb;c.a=XVa();c.b=w();c.c=a;var d;a=(d=b.a,d(c.a));c.f=a;c.g=c.a.se(oLb(c.c));return c}function aLb(a,b){b.Z(zb(function(c){xLb(a,c)}))}
  3435. function bLb(a){a.a.Bd().Z(zb(function(d){var e=d.a();if(OKb(e,(m8(),LKb)))for(E(!d.b.D()),e=yLb(a.f,G(e.g)).h();e.i();){var f=e.j();q8(a,G(a.a.Ub(f)),(p8(),rLb),d)}}));for(var b=a.b.h();b.i();){var c=b.j();q8(a,n8(a,c.b),(p8(),tLb),n8(a,c.a))}b=a.a;a.a=null;return b}function n8(a,b){return xLb(a,lLb(a.c,b))}
  3436. function xLb(a,b){var c=a.a.Ub(b);if(c)return c;c=a.a.se(b);if(OKb(b,(m8(),LKb))){for(b=G(b.g).h();b.i();){var d=b.j();q8(a,c,(p8(),rLb),xLb(a,d))}return c}if(G(b.b).Wb())return b=n8(a,Gy(G(b.b))),q8(a,b,(p8(),sLb),c),c;if(G(b.b).Ab()){b=zy(G(b.b));for(d=zLb(b).h();d.i();){var e=d.j();q8(a,n8(a,e),(p8(),uLb),c)}(d=b.Va())?q8(a,n8(a,d),(p8(),vLb),c):q8(a,a.g,(p8(),rLb),c);b.mc()&&(b=b.vc(),wA(b)&&n8(a,Tz(b)));return c}throw jb("Unexpected type: "+r(b)).s;}
  3437. function zLb(a){a=a.ua();if(!a)return Ll();if(a.Ja())a=a.u;else if(a.xa())a=a.U;else throw ib().s;return a.D()?Ll():og(sg(a.S(),fd(function(b){return!!b.ua()&&b.ua().Ja()})),Rl())}function q8(a,b,c,d){cd(b,d)||$Va(b,Ti(function(){return!0}),d)||YVa(a.a,b,c,d)}function WKb(a){this.a=a}l(WKb,n);function r8(){this.a=0}var ALb,Gg,BLb;l(r8,n);function CLb(a){DLb();return 0>a?(D(-1==a),ALb):a<Gg.length?Gg[a]:ELb(a)}function ELb(a){var b=new r8;b.a=a;return b}r8.prototype.I=function(a){return this.a==a.a};
  3438. r8.prototype.P=function(){return this.a};function DLb(){DLb=function(){};Gg=za([64],r8,FLb,r8.a);Uda(new Ef(function(a){return ELb(a)}));BLb=G(Gg[0]);ALb=ELb(-1)}function FLb(a){return a instanceof r8}function XKb(){}l(XKb,n);
  3439. function yLb(a,b){Fi(31>=b.w(),"Too many roots.");E(a.a.Qa());var c=CLb((1<<b.w())-1),d=1;for(b=b.h();b.i();){var e=b.j(),f=a.c.Ub(e);Mi(f,"Root not present in graph: %s",e);e=CLb(d);a.a.tb(f,e,new Xd(function(k,m){return k.a==m.a?k:CLb(k.a|m.a)}));GLb(a,f,e);d<<=1}a.a.ib(Wd(function(k,m){m.I(c)&&GLb(a,k,(DLb(),ALb))}));var h=Nj();a.a.ib(Wd(function(k,m){m.I(c)&&h.W(k.a())}));a.a.Fa();a.b.ia();return h.fa()}
  3440. function GLb(a,b,c){E(a.b.D());for(a.b.Sb(b);!a.b.D();)for(var d=a.b.qd().c.h();d.i();){var e=d.j().b;if(!cd(e,b)){var f=a.a.Ya(e,(DLb(),BLb));(f.a&c.a)!=c.a&&(a.b.Sb(e),a.a.C(e,f.a==c.a?f:CLb(f.a|c.a)))}}}function HLb(){}l(HLb,n);function YKb(a,b,c){var d=new HLb,e=new no;e.a=Uf();d.a=e;d.f=a;d.b=b;d.c=c;return d}function cLb(a){return og(Qlb(G(a.a)).S(),Oga(gba(),u(function(b){E(!!a.a);var c=a.c?F2(a.a,a.c):null;return bd(c,b)?a.b:"JSC$"+b.f+"_"+r(a.b)})))}
  3441. function dLb(a,b){return $Ca(null,-1,-1,a,(WY(),k5a),A([b,"","",""],B,y,1))}function ILb(){MU.call(this)}l(ILb,MU);ILb.prototype.ml=function(){for(var a=MU.prototype.Tm.call(this).h();a.i();){var b=a.j();this.v(b.b,b.a)}this.u()};function JLb(){MU.call(this)}l(JLb,ILb);JLb.prototype.v=function(a,b){switch(a.a){case 0:bDa(b,a,this.o);break;case 1:bDa(b,a,this.o)}};
  3442. JLb.prototype.u=function(){sj();0<this.Fg()?CN("%d error(s), %d warning(s), %.1f%% typed",[Fc(this.jf()),Fc(this.kf()),this.Fg()]):0<this.jf()+this.kf()&&CN("%d error(s), %d warning(s)",[Fc(this.jf()),Fc(this.kf())])};function KLb(){this.a=0}l(KLb,n);function LLb(a,b){var c=new KLb;c.b=a;c.a=b;return c}function MLb(){}l(MLb,n);g=MLb.prototype;g.rd=function(a,b){this.a.rd(a,b)};g.ml=function(){this.a.ml()};g.Nl=function(){return this.a.Nl()};g.jf=function(){return this.a.jf()};g.kf=function(){return this.a.kf()};
  3443. g.km=function(){return this.a.km()};g.lm=function(){return this.a.lm()};g.cm=function(a){this.a.cm(a)};g.Fg=function(){return this.a.Fg()};function NLb(){this.b=!1}l(NLb,q3);NLb.prototype.$i=function(a,b){return eob(this.o,this.v,this.u,!1,b,this)};function s8(){this.vf=0;this.v=this.le=!1;this.sf=this.ja=this.jb=0}var OLb,PLb,QLb,RLb,SLb,TLb,ULb,VLb,WLb;l(s8,Qza);function XLb(a,b){Li(b,"the error manager cannot be null");var c=new MLb;c.a=b;a.U=c}
  3444. function YLb(a,b){a.a=b;var c=HJ(b.a);a.u=c;if(!a.U)if(a.tg){c=Nj();c.W(LLb(a.a.ui.f(a,a.a.rf),b.hi));c.fb(b.Vn);c=c.fa();var d=new MU;xZa(d,c);XLb(a,d)}else{c=a.a.ui.f(a,a.a.rf);d=new JLb;var e=OLb;xZa(d,dm());d.o=c;d.F=e;XLb(a,d)}a.$=(OL(),nDa);TU(a.a,(E5(),Gyb))?a.a.g=!0:UU(a.a,(E5(),Gyb))?a.a.g=!1:a.a.g||(c=oU((nV(),S_a)),d=(yJ(),vJ),sU(a.a.f,BU(c,d)));a.a.g||(c=(E5(),hzb),d=(yJ(),vJ),sU(a.a.f,BU(c,d)));q(a.a.Xh,vJ)||UU(a.a,(E5(),B5))||(c=(E5(),B5),sU(a.a.f,BU(c,a.a.Xh)));jUa(a.a)&&(c=(E5(),Tyb),
  3445. d=(yJ(),wJ),sU(a.a.f,BU(c,d)));a.a.ai||TU(a.a,(E5(),C5))||(c=(E5(),C5),d=(yJ(),vJ),sU(a.a.f,BU(c,d)));a.a.F&&!TU(a.a,(E5(),C5))&&(c=(E5(),C5),d=(yJ(),vJ),sU(a.a.f,BU(c,d)));a.a.F&&!TU(a.a,(E5(),D5))&&(c=(E5(),D5),d=(yJ(),vJ),sU(a.a.f,BU(c,d)));q(a.a.Rh,(yJ(),vJ))&&(c=(E5(),D5),d=(yJ(),vJ),sU(a.a.f,BU(c,d)));b.g||(b.jc=!1);b.Gi&&(b.Ha=!1,b.za=!1,b.f=b.f.Xk());b.hk&&(a.Kb=new ZLb);b=b.f;c=Mj();c.W(CKb()).W(FKb(a)).W(b);a.a&&a.a.vg&&c.W(BU((E5(),wyb),(yJ(),xJ)));b=c.fa();c=new rU;xYa(c,b);a.pe=c}
  3446. function $Lb(a,b){for(b=b.h();b.i();){var c=b.j();if("$weak$"!==c.eb()&&c.b.D()){var d=c.eb();gJ();d=r(d)+"$fillFile";d=FUa(ZL(d,""));d.g=a;hM(c,d)}}}function aMb(a){a.Za.Fa();for(var b=a.rb.h();b.i();){var c=b.j();t8(a,c.gd(),c)&&X(a,UL(SLb,A([c.eb()],B,y,1)))}for(b=iV(a.b).h();b.i();)c=b.j(),t8(a,c.gd(),c)&&X(a,UL(TLb,A([c.eb()],B,y,1)))}
  3447. function bMb(a){F(!!a.b,"No inputs. Did you call init() or initModules()?");E(!yZ(a));E(!a.a.Oa);u8(new sr(function(){if(a.a.F){cMb(a,(uU(),HYa));var b=v8(a,"runWhitespaceOnlyPasses");try{for(var c=h8(a).Re().h();c.i();)c.j().a.f(a).H(a.o,a.g)}finally{w8(a,b,"runWhitespaceOnlyPasses")}if(VU(a.a,HJ(a.a.a))){b=v8(a,"runTranspileOnlyPasses");try{for(var d=h8(a).Oa().h();d.i();){var e=d.j();if(yZ(a))break;e.a.f(a).H(a.o,a.g)}}finally{w8(a,b,"runTranspileOnlyPasses")}}}else cMb(a,(uU(),HYa)),d=dMb(a),
  3448. e=new KFb,e.a=a.jb,e.b=1,d.g=e,a.pa=d,MFb(a.pa,h8(a).Be()),a.pa.H(a.o,a.g),yZ(a)||(cMb(a,IYa),a.pa=null);return null}))}function eMb(a){F(!!a.b,"No inputs. Did you call init() or initModules()?");E(!yZ(a));E(!a.a.Oa);var b=C_a(a.b);if(b)for(var c=iV(a.b).h();c.i();){var d=c.j();d.Cb().lf()&&F(q(d.a,b),"Expected all weak files to be in the weak module.")}u8(new sr(function(){if(d_a(a.a)){E(d_a(a.a));var e=h8(a).Qe();e.D()||(a.pa=dMb(a),MFb(a.pa,e),a.pa.H(a.o,a.g),a.pa=null)}return null}))}
  3449. function u8(a){try{var b;var c=(b=a.a,b())}catch(d){a=d=va(d);G(a);if(a instanceof Ga)throw a.s;if(Sa(a))throw a.s;throw yaa(a).s;}return c}function fMb(a){u8(new sr(function(){q(a.a.ie,(dU(),qXa))&&a.oe.a.f(a).H(a.o,a.g);a.jb=1;if(a.Da)if(a.a.mo)try{var b=null;try{throw xb("Operation not available in JavaScript.").s;}catch(d){var c=d=va(d);b=c;throw c.s;}finally{if(b=Ab(null,b))throw b.s;}}catch(d$8){d$8=va(d$8);if(Ea(d$8))throw yaa(d$8).s;throw d$8.s;}else rFb(a.Da);return null}))}
  3450. function gMb(a){F(!!a.b,"No inputs. Did you call init() or initModules()?");E(!yZ(a));u8(new sr(function(){E(a.a.Oa);E(!yZ(a));var b=v8(a,"instrumentationPass");hMb();j0(a,iMb((jMb(),kMb)));w8(a,b,"instrumentationPass");return null}))}
  3451. function lMb(a){u8(new sr(function(){a.jb=0;var b=a.a;if(!q(b.Zh,vJ)&&!b.kk)throw x8("Cannot check use of goog.getCssName because of empty blacklist.").s;if(b.Ob&&!b.ge)throw x8("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.").s;if(q(b.mg,(iU(),hU))&&-1!=b.og)throw x8("max_function_size_after_inlining has no effect if inlining is disabled.").s;if(b.wd){if(!xI(zI(b),(uI(),IJ)))throw x8("Dart requires --language_out=ES5 or higher.").s;b.za=!1;b.Ha=
  3452. !1}if(b.Ob&&b.vf)throw x8("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.").s;var c;if(c=cd((TJ(),RAa),b.a))c=!("/javascript/tools/jscompiler/allow-type-syntax.txt"in ira);if(c)throw x8("type syntax is not yet generally available, please contact tsjs-language-eng@").s;if(!q(a.a.Ae,jU)){var d=new jFb,e=a.o,f=a.g,h=a.a.Ae;d.F=uFb();d.jb=-1;d.kb=-1;d.rb=-1;d.Da=0;d.za=0;d.Ha=0;d.A=0;d.ta=0;d.pa=0;d.$=0;d.ja=0;d.K=0;d.U=0;d.b=-1;d.c=-1;d.f=-1;d.o=
  3453. 0;d.u=0;d.v=0;d.jc=Uk();d.Kb=w();Fi(!q(h,(kU(),jU)),"PerformanceTracker can't work without tracer data.");d.Ob=Ei();d.Tc=e;d.g=f;d.a=h;a.Da=d;a.Oa.add(a.Da.F)}a:{var k=!q(a.a.ie,(dU(),pXa));BG(a.o);BG(a.g);a.za.Fa();var m=v8(a,"parseInputs");try{for(var p=a.rb.h();p.i();){var t=p.j(),v=G(t.Pb(a));if(yZ(a))break a;M(a.o,v);a.za.C(t.Cb().ub(),v)}if(a.a.ji)for(var C=iV(a.b).h();C.i();){var J=C.j();J.g=a;var K=G(J.Pb(a)),Ca=a;u5();var Wa=new Bxb,Ma=Wa,Vb=Ca;Ma.b=0;Ma.a=Vb;Wa.H(null,K)}if(JI(HJ(a.a.a),
  3454. (KI(),sK))||a.a.u){var sc=null;switch(a.a.c.a){case 0:sc=(SCa(),PCa);break;case 2:var gc=iV(a.b);Bvb();var tc=new Avb;tc.a=a;tc.b=bf();for(var Qb=gc.h();Qb.i();){var Wb=Qb.j();if(ki(YL(Wb.Cb()),".json")){Wb.g=a;try{Wb.Cb().gn("("+r(Wb.Cb().b)+")")}catch(si){if(si=va(si),Fa(si))continue;else throw si.s;}var Rd=G(Wb.Pb(a)),Ne=(eM(),DDa);Wb.c=Ne;tc.H(null,Rd)}}var Jc=il(tc.b);var kd=new lyb;kd.b=Jc;sc=kd;break;case 3:var Cc=new tyb;Cc.b=a.sg;sc=Cc;break;case 1:var pc=new gyb;pc.b=a.a.jk;sc=pc}var Db=
  3455. a.a.Dn,Rb=iV(a.b),Uc=sc,ad=(jDa(),iDa),rf=a.a.Xj;OL();var uc=new mDa;oDa(uc,Db,Rb,Uc,ad,rf);a.$=uc}else a.$=(OL(),nDa);if(!q(a.a.Da.a,(wU(),vU)))mMb(a,JI(HJ(a.a.a),(KI(),sK)),a.a.u);else if(VU(a.a,(uI(),JJ))||a.a.u){if(JI(HJ(a.a.a),(KI(),sK))){for(var Nc=iV(a.b),Xb=w(),Nb=Nc.h();Nb.i();){var ic=Nb.j();yU(a.a.Da);Xb.add(ic)}for(var Vc=Xb.h();Vc.i();){var sd=Vc.j();sd.g=a;sd.Yd();var Ye=(eM(),bM);sd.c=Ye}}for(var Hf=bf(),Ie=iV(a.b).h();Ie.i();){var Be=Ie.j();if(HUa(Be).D()){var fe=sDa(a.$,YL(Be.Cb()));
  3456. Hf.C(BL(fe),Be)}}for(var mh=bf(),mf=iV(a.b).h();mf.i();){var Od=mf.j();var Se=IUa(Od.b?Od.b.Yd():Ll(),Od.v);for(var eg=GL(Se).h();eg.i();){var pg=eg.j();Hf.X(pg)&&!mh.X(pg)&&mh.C(pg,Hf.get(pg))}}for(var vf=mh.values().h();vf.i();){var qe=vf.j(),Pd=(eM(),cM);qe.c=Pd}}a.$&&uDa(a.$,a);nMb(a);for(var wf=Vl(iV(a.b)),fg=wf.h();fg.i();){var Ec=fg.j();Ec.Dg()&&EUa(Ec)}var oi=!1;if(!q(a.a.Da.a,(wU(),vU))){for(var Qf=iV(a.b).h();Qf.i();)for(var Ni=Qf.j().He().h();Ni.i();){var re=Ni.j();a.Kb.add(re)}try{var Je=
  3457. a.b,Ce=a.a.Da,nf=Vl(iV(Je)),Xc=new EDa;Xc.b=w();Xc.f=w();Xc.c=ef();Xc.o=Uf();Xc.a=bf();Xc.g=br();Xc.b.na(nf);for(var nh=Xc.b.h();nh.i();){var Dd=nh.j(),Qg=Dd.He(),Rf=qp(Qg,null);(null==Rf||1==Qg.w()&&zi(Rf,"module$")&&"es6"!==Dd.nh().get("module"))&&Xc.o.C(DCa(Dd.eb()),Dd);for(var pi=Dd.He().h();pi.i();){var gg=pi.j();Xc.a.C(gg,Dd)}}for(var Rh=Xc.b.h();Rh.i();)for(var If=Rh.j(),ke=GL(If.Yd()).h();ke.i();){var Gd=ke.j(),xf=Xc.a.get(Gd);null!=xf&&Xc.g.Aa(If,xf)}for(var Oi=Xc.b.h();Oi.i();){var Sh=Oi.j();
  3458. IDa(Xc,Sh)}Xc.c.ia();Xc.g.ye();for(var Ag=iV(Je),se=pm(),jk=bf(),oh=Je.a,qg=0;qg<oh.length;qg++){var yf=oh[qg];jk.C(yf.eb(),yf)}if(yU(Ce)){var of=HDa(Xc,"goog");of&&se.add(of);if(!q(Ce.a,(wU(),OYa)))for(var hg=Wl(Xc.o.values()).h();hg.i();){var ig=hg.j();ig.Cb().lf()?X(a,UL(A_a,A([ig.Cb().ub()],B,y,1))):se.add(ig)}for(var ph=Ce.b.h();ph.i();){var Jf=ph.j(),xd=null;try{if(q(Jf.a,Jf.b))(xd=HDa(Xc,Jf.a))||(xd=GDa(Xc,Jf.c));else{var Bg=jk.get(Jf.b);if(Bg)xd=GDa(Xc,Jf.a),xd.a=Bg;else{var qh=new w_a;sa(qh,
  3459. Jf.b);qh.a(Error(qh));throw qh.s;}}}catch(si$9){si$9=va(si$9);if(si$9 instanceof fM){var ai=new fM;ta(ai,Jf.c,si$9);ai.a(Error(ai));throw ai.s;}throw si$9.s;}xd.Cb().lf()?X(a,UL(B_a,A([xd.Cb().ub()],B,y,1))):se.add(xd)}}else bn(se,Ag);for(var Rg=bf(),rh=nf.h();rh.i();){for(var ge=rh.j(),Ke=HUa(ge).h();Ke.i();){var pf=Ke.j();Rg.X(pf)||Rg.C(pf,pm());Rg.get(pf).add(ge)}var jg=BL(KR(ge));Rg.X(jg)||Rg.C(jg,pm());Rg.get(jg).add(ge)}for(var sh=nf.h();sh.i();)for(var uj=Wl(sh.j().o).h();uj.i();){var Cg=uj.j();
  3460. Rg.X(Cg)&&se.na(Rg.get(Cg))}var Pi=FDa(Xc,nf,TYa(Ce)),Eh=new Rma;Eh.a=cf(Qm(12));for(var th=se.h();th.i();){var Sg=th.j(),id=Sg.a;G(id);Eh.Aa(id,Sg)}for(var Md=lg(Je.a).h();Md.i();){for(var vj=Md.j(),cj=vj.b.h();cj.i();)iM(cj.j(),null);vj.b.ia()}for(var bi=w(),wj=ef(),ci=Eh.Pc().h();ci.i();){var Sf=ci.j();if(TYa(Ce)&&yU(Ce)){var Th=w();for(var qi=ff(nf),ri=Eh.Ua(Sf).h();ri.i();){var di=ri.j();Th.na(F_a(Je,di,qi,Rg))}for(var ei=Th.h();ei.i();){var Qi=ei.j();wj.add(Qi)&&bi.add(Qi)}}else Th=FDa(Xc,Eh.Ua(Sf),
  3461. TYa(Ce));for(var kk=Th.h();kk.i();){var Tg=kk.j();yU(Ce)&&Tg.Cb().lf()&&!se.B(Tg)&&X(a,UL(z_a,A([Tg.Cb().ub()],B,y,1)));var Il=Tg.a;Il?(iM(Tg,null),iM(Tg,D_a(Je,Il,Sf))):iM(Tg,Sf)}}TYa(Ce)&&yU(Ce)&&!Eh.Rg()||(bi=Pi);var Fh=C_a(Je);G(Fh);if(yU(Ce)){for(var dj=ff(FDa(Xc,bi,!0)),Hj=ef(),Ij=Vk(dj);!Ij.D();){var ej=Ij.Ta(),Gh=dj.B(ej),lk=Gh?ej.Wf():mp(GL(ej.Yd()),ej.Wf());if(Gh||Hj.add(ej))for(var Ug=lk.h();Ug.i();){var Jq=Ug.j(),Jj=Xc.a.get(Jq);null==Jj||dj.B(Jj)||Hj.B(Jj)||Ij.add(Jj)}}for(var ht=Mj(),
  3462. un=Xc.f.h();un.i();){var gl=un.j();Hj.B(gl)&&ht.W(gl)}for(var uo=ht.fa().h();uo.i();){var vo=uo.j();E(!vo.a);var Iy=(gs(),es);vo.Cb().f=Iy;iM(vo,Fh);hM(Fh,vo)}}else E_a(Fh,nf);for(var it=bi.h();it.i();){var km=it.j(),jt=km.a;jt&&!jt.b.B(km)&&hM(jt,km)}for(var kt=Mj(),hl=lg(Je.a).h();hl.i();){var Kq=hl.j();kt.fb(Kq.b)}kt.fa();oi=!0}catch(si$10){if(si$10=va(si$10),si$10 instanceof fM)X(a,UL(ULb,A([si$10.b],B,y,1)));else if(si$10 instanceof w_a)X(a,UL(VLb,A([si$10.b],B,y,1)));else throw si$10.s;}}for(var Ep=
  3463. !1,Fp=wf.h();Fp.i();){var lt=Fp.j();var Lq=a,Jl=lt;if(Jl.Dg()){var mt=Jl.Pb(Lq);M(Lq.o,mt);Lq.za.C(Jl.Cb().ub(),mt);var Hm=Jl.a;Hm&&KDa(Hm,Jl);Lq.rb.add(Jl);var rw=!0}else rw=!1;rw&&(Ep=!0)}Ep&&oMb(a);$Lb(a,y8(a));var nt=!1;nMb(a);for(var Jy=Vl(iV(a.b)).h();Jy.i();){var Au=Jy.j();Au.kh()&&(KDa(Au.a,Au),nt=!0)}nt&&oMb(a);oi&&oMb(a);if(!yZ(a)){1<a.a.Uj&&iV(a.b);for(var Vr=iV(a.b).h();Vr.i();){var lm=Vr.j(),ot=G(lm.Pb(a));if(k){var wo=a;wo.oe.a.f(wo).H(wo.o,wo.g);if(yZ(a))break}if(null!=a.a.Yh||a.a.kg||
  3464. null!=a.a.sl||!a.a.tg.D()){var Bu=new Nwb,xo=Bu,sw=!q(a.a.ie,pXa);xo.b=lm.eb();xo.a=sw;Y(a,ot,Bu)}YW(ot)?(EUa(lm),M(a.o,ot)):M(a.g,ot);a.za.C(lm.Cb().ub(),ot)}}}finally{GFb(a,"parseInputs"),w8(a,m,"parseInputs")}}a.jb=.15;return null}))}function h8(a){a.me||(a.me=a.If());return a.me}s8.prototype.If=function(){var a=this.a;pMb();var b=new z8;b.c=null;b.a=a;qMb(b);return b};
  3465. function dMb(a){var b=a.Da;H5();var c=new LFb;c.K=!1;c.b=0;c.o=0;c.a=a;c.v=a.g;c.u=b;c.f=w();c.c=!1;c.A=0;c.pa=a.a.wm;c.ja=100;q(a.a.ie,(dU(),rXa))&&(c.U=a.oe,c.$=Rxb(Qxb(c.a),c.v));a.a.Th&&(c.K=!0);return c}function j0(a,b){b.H(a.o,a.g)}function cMb(a,b){if(a.a.rb){var c=v8(a,"runCustomPasses");try{for(var d=a.a.rb.Ua(b).h();d.i();){var e=d.j();j0(a,e)}}finally{w8(a,c,"runCustomPasses")}}}
  3466. function GFb(a,b){if(a.a.Ih){if(a.ta){var c=a.ta;var d=c.a;d.u.ia();d.o=null;d.b.Fa();d.A.Fa();d.f.Fa();d.v=null;d.c=-1;d.a=Cr(0,0);d.g=Cr(0,0);c.c.Fa();if(a.a.pe){if(a.a.Lh)for(c=a.Lb.values().h();c.i();)d=c.j(),lUa(a,d);if(d=y8(a)){c=w();for(d=d.h();d.i();)for(var e=d.j().b.h();e.i();){var f=e.j();c.add(f.Cb())}rMb(a,c)}}}e=a.a.ul;c=a.a.lk;d=Mg();if(e.D()&&c.D())c=sMb(a);else{if(!e.D()){G(a.o);G(a.g);for(f=mp(BA(a.o),BA(a.g)).h();f.i();)for(var h=f.j(),k=WA(h),m=e.h();m.i();){var p=m.j();if(mfa(k,
  3467. p)){h="// "+r(k)+"\n"+r(cU(a,h));x(d,h);break}}if(te(d.toString()))throw Ha("No files matched any of: "+r(e)).s;}if(!c.D()){for(e=y8(a).h();e.i();)for(f=e.j(),h=c.h();h.i();)if(k=h.j(),mfa(f.eb(),k)){f="// module '"+r(f.eb())+"'\n"+r(tMb(a,f));x(d,f);break}if(te(d.toString()))throw Ha("No modules matched any of: "+r(c)).s;}c=d.toString()}q(c,a.Qe)||(r(b),a.Qe=c)}}function v8(a,b){r(b);!q(a.a.Ae,jU)&&a.Da&&kFb(a.Da,b,!0);return FFb()}
  3468. function w8(a,b,c){b=Ya(Ei(),b.a);!q(a.a.Ae,jU)&&a.Da&&lFb(a.Da,c,b)}function s3(a){return ij(function(){return""+a.vf++})}function plb(a,b,c){return a.a.za||a.a.Ha?b.ae(c,!0,!0,!0,!1):tD(b,c)}s8.prototype.f=function(a){return a?this.Za.get(a):null};function uMb(a,b,c){var d=vMb(b);if(a.Za.X(d.gd()))throw ua("Conflicting externs name: "+r(b)).s;b=CUa(d,!0);d=G(d.Pb(a));t8(a,b.gd(),b);q(c,(wMb(),xMb))?(Mx(a.o,d),a.rb.bc(0,b)):(M(a.o,d),a.rb.add(b));a.za.C(b.Cb().ub(),d);return b}
  3469. function t8(a,b,c){c.g=a;return a.Za.C(b,c)}function y8(a){return a.b?lg(a.b.a):null}
  3470. function eJ(a){if(!a.tf){var b=a.rf,c=a.Kb;wva();var d=new eva;d.f=Bq();d.pa=bf();d.jc=zw((H(),Kt));d.jb=lo().a();var e=ao();e=oja(e);d.u=e.a();d.kb=ef();d.Ha=ef();d.U=Uf();d.Da=bf();d.Oa=br();d.o=b;d.Lb=c;D(!d.c);b=rA(d,Ll(),Ll());d.c=b;d.a?b=d.a:(b=new Yua,b.c=Uk(),b.f=Uk(),b.a=(jz(),oC),b.b=d);d.a=b;I();b=A([pv,qv,yqa,rv,zqa,sv,Aqa,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Dv,Ev,Bqa,Fv,Gv,Hv,Iv,Jv,Cqa,Kv,Lv,Dqa,Mv,Eqa,Nv,Ov,Pv,Qv,Rv,Sv,Fqa,Tv,Uv,Vv,Wv,Xv,Yv,Zv,$v,aw,bw,cw,dw,ew,fw,gw,hw,iw,jw,kw,lw,Gqa,mw,
  3471. nw,Hqa,ow,pw,qw,vw],ov,xw,1);d.Za=za([b.length],ly,ey,ly.a);c=b=null;try{c=Zua(d.a);d.u.ye();d.U.Fa();ny();var f=new qua;PB(f,d);yC(d,uv,f);var h=new $ua;PB(h,d);yC(d,Ov,h);var k=new ava;PB(k,d);yC(d,Pv,k);var m=new bva;PB(m,d);yC(d,$v,m);var p=new cva;PB(p,d);yC(d,cw,p);var t=Nsa(d,!1);yC(d,ew,t);var v=Nsa(d,!0);yC(d,xv,v);var C=new dva;PB(C,d);yC(d,fw,C);var J=new NB;oy(J,d,null);lz(J);yC(d,gw,J);d.ja=yB(d,"IOBJECT_KEY");d.v=yB(d,"IOBJECT_VALUE");var K=yB(d,"VALUE2");d.za=yB(d,"T");d.F=yB(d,"VALUE");
  3472. var Ca=yB(d,"UNUSED_RETURN_T"),Wa=yB(d,"UNUSED_NEXT_T");d.Ob=yB(d,"VALUE");d.K=yB(d,"VALUE");var Ma=yB(d,"UNUSED_RETURN_T"),Vb=yB(d,"UNUSED_NEXT_T");d.$=yB(d,"VALUE");var sc=yB(d,"UNUSED_RETURN_T"),gc=yB(d,"UNUSED_NEXT_T");d.Kb=yB(d,"VALUE");d.b=yB(d,"VALUE");d.g=yB(d,"VALUE");d.A=yB(d,"TYPE");d.ta=yB(d,"TYPE");var tc=mA(oA(Mz(d),"Function.prototype"),!0).a();yC(d,Cv,tc);var Qb=QA(LA(VA(PA(mA(SB(aB(MA(d),"Function")),!0),uA(d,A([t],ly,ey,1))),t),t));yC(d,Av,Qb);var Wb=QA(VA(PA(mA(SB(aB(MA(d),"Function")),
  3473. !0),uA(d,A([J],ly,ey,1))),Qb));JA(Wb,tc,null);yC(d,Bv,Wb);var Rd=nA(mA(oA(Mz(d),"Object.prototype"),!0),null).a();yC(d,Vv,Rd);var Ne=QA(RB(gB(PA(UC(d,"Object"),KC(d,A([J],ly,ey,1)))),A([d.ja,d.v],xB,AB,1)));JA(Ne,Rd,null);yC(d,Uv,Ne);var Jc=Tz(Ne);yC(d,Tv,Jc);tc.We();Kz(tc,Jc);var kd=VC(d,"IObject",A([d.ja,d.v],xB,AB,1));yC(d,Dqa,kd);var Cc=Tz(kd);yC(d,Mv,Cc);dB();var pc=new hB;fB(pc,d);yC(d,hw,pc);var Db=new eB;fB(Db,d);yC(d,iw,Db);var Rb=new lA;fB(Rb,d);yC(d,jw,Rb);var Uc=VC(d,"Iterable",A([d.b],
  3474. xB,AB,1));yC(d,Gv,Uc);var ad=Tz(Uc);yC(d,Hv,ad);var rf=VC(d,"Iterator",A([d.F,Ca,Wa],xB,AB,1));yC(d,Iv,rf);var uc=Tz(rf);yC(d,Jv,uc);var Nc=VC(d,"IIterableResult",A([d.Ob],xB,AB,1));yC(d,Bqa,Nc);var Xb=Tz(Nc);yC(d,Fv,Xb);var Nb=A([K],xB,AB,1),ic=VC(d,"IArrayLike",Nb);E(ic.Ja());ic.kb=!0;rta(ic,Ml(MC(d,Cc,A([k,K],ly,ey,1))));yC(d,Cqa,ic);var Vc=Tz(ic);yC(d,Kv,Vc);var sd=QA(RB(gB(PA(UC(d,"Array"),uA(d,A([J],ly,ey,1)))),A([d.za],xB,AB,1)));IA(sd);qta(sd,Sl(MC(d,Vc,A([d.za],ly,ey,1)),MC(d,ad,A([d.za],
  3475. ly,ey,1))));yC(d,qv,sd);var Ye=Tz(sd);yC(d,pv,Ye);var Hf=QA(PA(UC(d,"ITemplateArray"),zw(Qs)));yC(d,Lv,Tz(Hf));var Ie=VC(d,"Generator",A([d.$,sc,gc],xB,AB,1));rta(Ie,Sl(MC(d,ad,A([d.$],ly,ey,1)),MC(d,uc,A([d.$],ly,ey,1))));yC(d,Dv,Ie);yC(d,Ev,Tz(Ie));var Be=VC(d,"AsyncIterator",A([d.K,Ma,Vb],xB,AB,1));yC(d,zqa,Be);yC(d,sv,Tz(Be));var fe=VC(d,"AsyncIterable",A([d.g],xB,AB,1));yC(d,yqa,fe);yC(d,rv,Tz(fe));var mh=VC(d,"AsyncGenerator",A([d.Kb],xB,AB,1));yC(d,Aqa,mh);yC(d,tv,Tz(mh));var mf=VC(d,"IThenable",
  3476. A([d.A],xB,AB,1));yA(mf);yC(d,Eqa,mf);var Od=Tz(mf);yC(d,Nv,Od);var Se=LC(d,Xj("then",t));NC(d,null,"Thenable");yC(d,dw,Se);var eg=HC(d,t,A([IC(d,t,KC(d,A([Yy(d,A([d.ta,MC(d,Od,A([d.ta],ly,ey,1)),Se,h],ly,ey,1))],ly,ey,1))),IC(d,t,KC(d,A([J],ly,ey,1)))],ly,ey,1)),pg=rx("");Q(pg,eg);var vf=QA(RB(PA(UC(d,"Promise"),Iw(A([pg],lx,eI,1))),A([d.ta],xB,AB,1)));qta(vf,Ml(MC(d,Od,A([d.ta],ly,ey,1))));yC(d,Fqa,vf);yC(d,Sv,Tz(vf));var qe=QA(LA(PA(UC(d,"Boolean"),KC(d,A([J],ly,ey,1))),f));IA(qe);yC(d,wv,qe);
  3477. var Pd=Tz(qe);yC(d,vv,Pd);var wf=QA(LA(PA(UC(d,"Date"),KC(d,A([t,t,t,t,t,t,t],ly,ey,1))),m));IA(wf);yC(d,zv,wf);var fg=Tz(wf);yC(d,yv,fg);var Ec=QA(LA(PA(UC(d,"Number"),KC(d,A([J],ly,ey,1))),k));IA(Ec);yC(d,Rv,Ec);var oi=Tz(Ec);yC(d,Qv,oi);var Qf=QA(gB(PA(UC(d,"RegExp"),KC(d,A([J,J],ly,ey,1)))));IA(Qf);yC(d,Xv,Qf);var Ni=Tz(Qf);yC(d,Wv,Ni);var re=QA(LA(PA(UC(d,"String"),KC(d,A([J],ly,ey,1))),m));IA(re);yC(d,Zv,re);var Je=Tz(re);yC(d,Yv,Je);var Ce=QA(LA(PA(UC(d,"Symbol"),KC(d,A([J],ly,ey,1))),p));
  3478. IA(Ce);yC(d,bw,Ce);var nf=Tz(Ce);yC(d,aw,nf);var Xc=Yy(d,A([h,C],ly,ey,1));yC(d,mw,Xc);var nh=Yy(d,A([k,m,f],ly,ey,1));yC(d,nw,nh);var Dd=Yy(d,A([k,m,f,p],ly,ey,1));yC(d,Hqa,Dd);var Qg=Yy(d,A([k,p],ly,ey,1));yC(d,ow,Qg);var Rf=Yy(d,A([m,p],ly,ey,1));yC(d,pw,Rf);var pi=Yy(d,A([k,m],ly,ey,1));yC(d,qw,pi);var gg=Yy(d,A([k,m,p],ly,ey,1));yC(d,vw,gg);var Rh=A([J],ly,ey,1),If=uA(d,Rh);var ke=QA(mA(LA(PA(MA(d),If),pc),!0));yC(d,lw,ke);var Gd=Tz(QA(LA(PA(UC(d,"global this"),JC(d,A([J],ly,ey,1))),k)));yC(d,
  3479. kw,Gd);var xf=A([pc],ly,ey,1),Oi=uA(d,xf);var Sh=QA(mA(LA(PA(MA(d),Oi),J),!0));yC(d,Gqa,Sh);xz(d,"prototype",Ne);d.f.hm();wC(d,qy(d,pv));wC(d,qy(d,rv));wC(d,qy(d,sv));wC(d,qy(d,tv));wC(d,qy(d,vv));wC(d,qy(d,uv));wC(d,qy(d,Kv));wC(d,qy(d,Hv));wC(d,qy(d,Jv));wC(d,qy(d,Ev));wC(d,qy(d,yv));wC(d,qy(d,Mv));wC(d,qy(d,Fv));wC(d,qy(d,Lv));wC(d,qy(d,Nv));wC(d,qy(d,Ov));xC(d,null,qy(d,Ov),"Null");wC(d,qy(d,Qv));wC(d,qy(d,Pv));wC(d,qy(d,Tv));wC(d,qy(d,Sv));wC(d,qy(d,Wv));wC(d,qy(d,Yv));wC(d,qy(d,$v));wC(d,qy(d,
  3480. aw));wC(d,qy(d,cw));xC(d,null,qy(d,dw),"Thenable");wC(d,qy(d,fw));xC(d,null,qy(d,fw),"Undefined");xC(d,null,qy(d,fw),"void");xC(d,null,qy(d,Av),"Function");xC(d,null,qy(d,kw),"Global")}catch(Ag){throw b=f=Ag=va(Ag),f.s;}finally{if(b=Ab(c,b))throw b.s;}a.tf=d}return a.tf}function yMb(a){if(!a.Ae){var b=eJ(a);zMb();var c=new AMb;BMb(c,b);CMb(c);if(a.a.b){var d=eJ(a);b=new DMb;EMb(b,d);D(!c.b);b.b=c;c.c=b.c;c=c.c}a.Ae=c}return a.Ae}
  3481. function FMb(a){if(!a.uf){tV();var b=new r0a;b.f=(fz(),gz);var c=new K_a;c.b=w();c.a=w();b.b=c;b.c=a;b.a=eJ(a);b.g=GC(b.a,A([(I(),$v),Pv,uv,Ov,fw],ov,xw,1));b.v=qy(b.a,mw);b.o=MC(b.a,qy(b.a,Sv),A([qy(b.a,ew)],ly,ey,1));b.u=Yy(b.a,A([qy(b.a,Jv),qy(b.a,sv)],ly,ey,1));a.uf=b}return a.uf}function GMb(a){if(a.v)return Wl(FMb(a).b.b);throw Ha("Can't ask for type mismatches before type checking.").s;}
  3482. function HMb(a){if(a.v)return Wl(FMb(a).b.a);throw Ha("Can't ask for type mismatches before type checking.").s;}
  3483. function mMb(a,b,c){nMb(a);for(var d=w(),e=bf(),f=bf(),h=iV(a.b).h();h.i();){var k=h.j(),m=np(k.He(),Ti(function(t){return!zi(t,"module$")}));!q(a.a.Da.a,(wU(),OYa))&&tp(m)&&d.add(k);f.C(QYa(KR(k).toString()).toString(),k);for(m=m.h();m.i();){var p=m.j();e.C(p,k)}}for(h=a.a.Da.b.h();h.i();)k=h.j(),(m=e.get(k.toString()))||(m=f.get(k.toString())),m&&d.add(m);h=Dia(iV(a.b));for(d=d.h();d.i();)k=d.j(),IMb(a,k,!1,h,f,e,b,c)}
  3484. function IMb(a,b,c,d,e,f,h,k){if(d.sa(b)){var m=new cyb,p=a.sg;m.a=(eM(),aM);m.b=null;m.c=a;m.g=h;m.f=k;m.o=p;var t=G(b.Pb(a));D(tC(t));JZ(t)&&(m.a=bM);p=m.c.f(aG(t));p.Yd().B((zL(),AL))&&JR(p,(zL(),AL));Y(m.c,t,m);if(q(m.a,bM)){if(!JZ(t)){var v=GG(zw((H(),nu)),t);oD(v,pD(t));M(t,v)}}else q(m.a,aM)&&m.o&&m.o.kd(KR(p).toString())&&(m.a=cM);t=BL(KR(p));p.u.add(t);p.c=m.a;p.A=!0;c&&q(b.c,aM)&&(b.c=cM);a.Re.C(BL(KR(b)),b.c);c=GL(b.Yd());m=Wl(b.o);b=b.Wf();for(b=yk(A([c,m,b],wc,Ac,1)).h();b.i();)c=b.j(),
  3485. m=null,p=!1,f.X(c)?m=f.get(c):e.X(c)&&(p=!0,m=e.get(c)),m&&IMb(a,m,p,d,e,f,h,k)}else c&&q(b.c,(eM(),aM))&&(a=(eM(),cM),b.c=a)}function nMb(a){if(1<a.a.Uj)throw wb().s;}function oMb(a){$Lb(a,y8(a));aMb(a)}function JMb(a){a.a||YLb(a,ZZa())}function Ljb(a,b){return qnb(a," [synthetic:"+ ++a.sf+"] ",b)}function qnb(a,b,c){JMb(a);b=ZL(b,c);rMb(a,Ml(b));b=FUa(b);t8(a,b.gd(),b);c=b.Pb(a);a.za.C(b.Cb().ub(),c);return G(c)}
  3486. function sMb(a){return u8(new sr(function(){var b=v8(a,"toSource");try{var c=KMb();if(a.g){var d=0;if(q(a.a.ke,(wI(),Pya)))for(var e=a.o.a;e;e=e.b)LMb(a,c,d++,e);for(var f=a.g.a;f;f=f.b)LMb(a,c,d++,f)}return c.toString()}finally{w8(a,b,"toSource")}}))}function tMb(a,b){return u8(new sr(function(){var c=b.b,d=c.w();if(0==d)return"";for(var e=KMb(),f=0;f<d;f++){var h=c.G(f).Pb(a);if(!h)throw ua("Bad module: "+r(b.eb())).s;LMb(a,e,f,h)}return e.toString()}))}
  3487. function LMb(a,b,c,d){u8(new sr(function(){if(a.a.Hh){var e;if(e=0<b.a.Ra())e=!(1<b.a.Ra()&&"\n"===b.a.$a.substr(b.a.Ra()-1));e&&A8(b,"\n");E(tC(d));e=a.a.ym;var f=aG(d).a,h=WA(d);E(null!=h);E(!te(h));e=wi(wi(wi(e,"%name%",f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),"%num%",""+c),"%n%","\n");A8(A8(b,e),"\n")}nG(d)&&(e=TD(nG(d)),null!=e&&b.f.add(e)&&A8(A8(A8(b,"/*\n"),e),"*/\n"));null!=a.a.Yh&&(e=a.ta.a,f=b.c,h=b.b,E(0<=f),E(0<=h),e.a=Cr(f,h));f=MMb(a,d,a.ta,0==c);te(f)||(A8(b,f),h=f.length,e=f.charCodeAt(h-
  3488. 1),f=2<=h?f.charCodeAt(h-2):0,59==e||10==e&&59==f||A8(b,";"));return null}))}function cU(a,b){JMb(a);return MMb(a,b,null,!0)}function MMb(a,b,c,d){var e=C4a(b),f=eJ(a);e.g=f;f=a.a;e.a=f;e.c=f.qg;e.f=f.Kj;e.u=c;b=!eG(b)&&XZa(a.a);e.A=b;d&&(a=a.a,d=a.ti.en(a.Bm).Cj($Aa(a.a)));e.v=d;return D4a(e)}function Asb(a,b){var c=w();var d=a.jc.c.get(NMb(b));if(d)for(;d;d=d.a)d.c instanceof B8||c.add(d.c);else c=null;a=a.jc;a.a=OMb(NMb(b),a.c,a.a);return c}
  3489. function PMb(a,b){if(!tF(b,(bF(),WF))){var c=a.ja;wF(b,(bF(),uxa),c);a.ja++;a=a.jc;a.a=OMb(b,a.b,a.a)}}function AWa(a,b){a.pa?(a=a.pa,a.c?(a=a.F.get(a.ta).xb(),b=0==a||KG(b)>a):b=!0):b=!0;return b}function OT(a,b){E(tC(b)||P(b));PMb(a,b);QMb(a)}function j4a(a,b){E(P(b));Hx(b,(bF(),WF),!0);var c=a.jc,d=c.b.Ka(b);d&&(d.a?d.a.b=d.b:c.a=d.b,d.b.a=d.a,d.a=null,d.b=null);a=a.pg;a.a=OMb(b,a.b,a.a)}
  3490. function Z(a,b){if(!tC(b)){var c=QT(b.m());if(!c)throw pb("An enclosing scope is required for change reports but node "+r(b)+" doesn't have one.").s;b=c}PMb(a,b);QMb(a)}function QMb(a){for(a=a.Oa.h();a.i();)a.j().c()}function MX(a){var b=a.a.Rn;return b=b?b:a.og}
  3491. function iUa(a,b){switch(b.a){case 0:return tM(),qM;case 1:case 2:return tM(),eFa;case 3:return tM(),fFa;case 4:return tM(),rM;case 5:return tM(),gFa;case 6:return tM(),dFa;case 7:return tM(),hFa;case 8:return tM(),iFa;case 9:return tM(),jFa;case 14:return tM(),mFa;case 10:return tM(),kFa;case 11:return tM(),lFa;default:throw pb("Unexpected language mode: "+r(a.a.a)).s;}}
  3492. function kUa(a,b,c){var d=a.a.Fn,e=a.a.vd?(uM(),rFa):(uM(),qFa),f=a.a.tl;a=a.a.En;eUa();fUa();if(f){var h=ff(GR);h.na(f)}else h=GR;f=yFa();f=EFa(f,FFa(h));d=zFa(AFa(f,d),e);d.b=nm(aUa);b=CFa(GFa(d,bUa),b);b.a=a;return HFa(BFa(b,c))}function X(a,b){var c=b.u;if(a.pe){var d=a.pe.Yf(b);d&&(c=d)}q(c,vJ)||(JMb(a),a.a.vi&&a.a.vi.rd(c,b),a.U.rd(c,b))}s8.prototype.rd=function(a,b){X(this,b)};function S0a(a,b){G(a.a);return a.pe.Yf(b)}
  3493. function LWa(a,b){a="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+r(a);a=Ia(a,b);if(b){if(!b.c){var c=za([0],Aa,Ba,Aa.a),d=b.s;d=d&&d.stack?d.stack.split(/\n/):[];for(var e=0;e<d.length;e++){var f=e,h=new Aa,k=h,m=d[e];k.c="";k.f=m;k.b=null;k.a=-1;c[f]=h}b.c=c}b=b.c;c=b.length;d=za([c],Aa,Ba,Aa.a);for(e=0;e<c;++e)d[e]=b[e];a.c=d}throw a.s;}function yZ(a){return!a.a.vd&&a.U.Nl()}function RMb(a,b){if(null!=b){var c=a.Za.get(Yr(b));return c?c.Cb():a.wg.get(b)}return null}
  3494. function lUa(a,b){if(a=TDa(b,a.U))if(b=a.g?lg(a.g):null){b=b.h();for(a=lg(a.c).h();a.i()&&b.i();)b.j(),a.j();if(a.i()||b.i())throw Ha('Source map\'s "sources" and "sourcesContent" lengths do not match.').s;}}
  3495. function iZa(a,b,c,d){if(null==b)return null;b=a.Lb.get(b);if(!b)return null;var e=TDa(b,a.U);if(!e)return null;c=eoa(e,c,d+1);if(!c)return null;b=YL(b.b);d=zr(c.kc,1,wr);if(zi(d,"/"))b=d;else{b=Jd(lg(yi(b,"/",0)));e=Jd(lg(yi(d,"/",0)));for(b.D()||b.Wa(b.w()-1);!b.D()&&!e.D();)if(li(e.G(0),"."))e.Wa(0);else if(li(e.G(0),".."))e.Wa(0),b.Wa(b.w()-1);else break;b.na(e);b=hi("/",b)}!RMb(a,b)&&d&&zr(c.kc,1,wr);a=c.a();a=Gna(a,1,b);c=zr(c.kc,3,vr)-1;a=Fna(a,3,c);return Ena(a)}
  3496. function MWa(a,b,c){if(1>c)return null;if(a=RMb(a,b))a:if(xDa(a),c>a.a.length)a=null;else{1>c&&(c=1);c=a.a[c-1];b="";try{b=a.b}catch(d){d=va(d);if(Fa(d)){a=null;break a}throw d.s;}a=-1==ni(b,10,c)?c>=b.length?null:b.substr(c):ne(b,c,ni(b,10,c))}else a=null;return a}
  3497. function OY(a,b){if(a.kb)return a.kb.Pb(a);if(!b){if(!a.b||tp(iV(a.b)))throw pb("No inputs").s;return qp(iV(a.b),null).Pb(a)}b=b.b;if(!b.D())return SMb(b.G(0).Pb(a),"Cannot insert code into a module",[]);throw pb("Root module has no inputs").s;}function JUa(a){a.a||YLb(a,ZZa());return a.U}function zZ(a){a.ne||(a.ne=uMb(a,"{SyntheticVarsDeclar}",(wMb(),xMb)));return a.ne}
  3498. function TMb(a,b){Li(a.kb,"Never initialized the synthetic input");var c=a.kb,d=c.Pb(a);E(iG(d,a.g));b&&d.a&&(b=d.b,Li(b,"Must provide at least one source"),SMb(b,"Cannot remove synthetic code input until modules are rewritten: %s",[b]),kF(b,pD(d)),OT(a,b));E(WLb.I(c.gd()));oF(a.g,d);KDa(c.a,c);a.Za.Ka(c.gd());OT(a,d);Hx(d,(bF(),WF),!0);a.kb=null}function Jvb(a){a.ge||(a.ge=uMb(a,"{SyntheticVarsAtEnd}",(wMb(),UMb)));return a.ge}
  3499. function HZ(a,b,c){var d=c||!a.a.F&&!a.a.ak;if(a.Be.X(b)||!d)return a.wd;if(a.v)throw Ha("runtime library injected after type checking:"+r(b)).s;d=jra("js/"+r(b)+".js");d=qnb(a," [synthetic:"+r(b)+"] ",d);for(var e=d.a;e&&yH(e)&&Dw(e.a);e=d.a){var f=e.a.l(),h=mq(Ula(kq(32)),f);switch(h.G(0)){case "use":break;case "require":HZ(a,h.G(1),c);break;default:throw Ha("Bad directive: "+r(f)).s;}oF(d,e)}bJ(a.c)&&(c="jscomp_"+r(b)+"_",Y(a,d,VMb(a,!1)),e=new NLb,f=MX(a),h=s3(a),Znb(e),e.o=f,e.v=h,e.u=c,Y(a,
  3500. d,cob(e)));c=O(d);for(e=d.a;e;e=e.b)DY(e,a);d=pD(d);if(!d)return a.wd;e=OY(a,null);a.wd?lF(e,d,a.wd):kF(e,d);a.wd=c;a.Be.C(b,c);Z(a,e);return c}function rMb(a,b){if(a.a.pe&&a.ta)for(b=b.h();b.i();){var c=b.j();try{var d=a.ta,e=c.b,f=DZa(d,c.ub());d.a.A.C(f,e)}catch(h){h=va(h);if(Fa(h))throw Ia("Cannot read code of a source map's source file.",h).s;throw h.s;}}}function SMb(a,b,c){Fi(tC(a),a);if(!gF(a))return a;if(NH(a.a))throw pb(Hi(b,c)).s;return a}
  3501. function WMb(a){a.a=null;a.me=null;a.Be=Uf();a.Qe=null;a.Za=wl();a.za=wl();a.wg=wl();a.Lb=wl();a.Tc=wl();a.qg=null;a.Mf=U0a();a.vf=0;a.le=!0;a.og=XMb();a.Ob=null;a.ke=null;a.pa=null;a.Kb=ef();a.v=!1;a.rf=n0a(a);a.ah=new YMb;a.vd=null;a.jb=0;a.F=null;a.Ha=cAa(il(Vj()));a.ja=1;a.jc=ZMb();a.pg=ZMb();a.oe=J6(N6(O6(M6(L6(P6(),"validityCheck"),!0),u(function(b){$Mb();var c=new aNb;c.a=b;c.b=bNb(b);return c})),(uI(),LJ)));a.sf=0;a.vg=uFb();a.Oa=w();Uf();a.ne=null;a.ge=null;a.kb=null;a.je=Vj();a.mg=v_a();
  3502. a.ng=null;a.Nf=null;a.ug=null;a.lg=null;a.Lf=null;a.rg=null;a.hd=pm()}
  3503. function cNb(){cNb=function(){};gJ();PLb=U("JSC_MODULE_DEPENDENCY_ERROR","Bad dependency: {0} -> {1}. Modules must be listed in dependency order.");ULb=U("JSC_MISSING_ENTRY_ERROR",'required entry point "{0}" never provided');VLb=U("JSC_MISSING_MODULE_ERROR",'unknown module "{0}" specified in entry point spec');U("JSC_INCONSISTENT_MODULE_DEFINITIONS","Serialized module definitions are not consistent with the module definitions supplied in the command line");U("JSC_OPTIMIZE_LOOP_ERROR","Exceeded max number of optimization iterations: {0}");
  3504. U("JSC_MOTION_ITERATIONS_ERROR","Exceeded max number of code motion iterations: {0}");OLb=new tj;qk("/");QLb=U("JSC_EMPTY_MODULE_LIST_ERROR","At least one module must be provided");RLb=U("JSC_EMPTY_ROOT_MODULE_ERROR","Root module ''{0}'' must contain at least one source code input");TLb=U("JSC_DUPLICATE_INPUT","Duplicate input: {0}");SLb=U("JSC_DUPLICATE_EXTERN_INPUT","Duplicate extern input: {0}");WLb=Yr(" [synthetic:input]")}function dNb(){s8.call(this)}l(dNb,s8);
  3505. dNb.prototype.If=function(){var a=this.kg;eNb();var b=new C8;b.c=null;b.a=a;return b};function D8(){}l(D8,n);function fNb(a,b){if(!a.g){C0();var c=new feb,d=MX(b);c.ja=w();bf();c.g=Uf();c.Oa=bf();c.K=ef();c.v=ef();c.F=vp();c.U=w();c.$=w();c.u=ef();c.Da=br();c.c=b;c.Za=FMb(b);c.o=d;c.a=eJ(b);c.Ha=c.a.o;c.f=Lz(c.a,(I(),ew));c.pa=b.K?b.K:$1a(Vj(),Vj());c.ta=b.A;c.A=U9a(c.ta,geb(c),c.a);c.za=!c.pa.a.Qa();a.g=c}return a.g}D8.prototype.Re=function(){return hf()};D8.prototype.Oa=function(){return hf()};
  3506. function gNb(a,b){yMb(b);var c=eJ(b),d=a.c,e=a.g;z_();var f=new J0;f.F=!1;f.f=(fz(),gz);f.A=!0;f.u=null;f.o=0;f.v=0;f.K=0;f.b=b;f.a=FMb(b);f.c=c;f.g=d;f.$=e;f.u=Hab(b);b=TU(a.a,oU(Meb));f.F=b;a=!UU(a.a,oU(M0));f.A=a;return f}function C8(){}l(C8,D8);C8.prototype.Oa=function(){var a=w();JI(zI(this.a),(KI(),sK))||(g8(),a.add(MJb));g8();a.add(LJb);jKb(a,this.a);this.a.kb&&a.add(hKb);return a};C8.prototype.Be=function(){return w()};C8.prototype.Qe=function(){return w()};
  3507. function eNb(){eNb=function(){};U("JSC_CANNOT_USE_PROTOTYPE_AND_VAR","Rename prototypes and inline variables cannot be used together.")}function E8(){}l(E8,n);g=E8.prototype;g.Bf=function(a){return this.a.Bf(a)};g.uj=function(a){return this.a.uj(a)};g.Vl=function(a){return this.a.Vl(a)};g.Sk=function(a){return this.a.Sk(a)};g.Uk=function(a){return this.a.Uk(a)};g.wj=function(a){return this.a.wj(a)};g.Ie=function(a,b){return this.a.Ie(a,b)};g.Cd=function(a){return this.Ie(a,!1)||this.Ie(a,!0)};
  3508. g.oh=function(a){return this.a.oh(a)};g.Li=function(a){return this.a.Li(a)};g.ue=function(a){return this.a.ue(a)};g.Ol=function(){return this.a.Ol()};g.zd=function(a){return this.a.zd(a)};g.tj=function(a){return this.a.tj(a)};g.zj=function(a){return this.a.zj(a)};g.yk=function(a,b){return this.a.yk(a,b)};g.zk=function(a,b){return this.a.zk(a,b)};g.Cg=function(){return this.a.Cg()};g.Sf=function(){return this.a.Sf()};g.Gg=function(a){return this.a.Gg(a)};g.Ki=function(a,b,c){this.a.Ki(a,b,c)};
  3509. g.fj=function(){return this.a.fj()};g.zf=function(a){return this.a.zf(a)};g.nk=function(a,b){this.a.nk(a,b)};g.Qk=function(a){return this.a.Qk(a)};g.Il=function(a){return this.a.Il(a)};g.Jl=function(){return this.a.Jl()};g.jh=function(){return this.a.jh()};g.hh=function(a,b,c){return this.a.hh(a,b,c)};g.aj=function(a){return this.a.aj(a)};g.sh=function(a){return this.a.sh(a)};g.Dd=function(a){return this.a.Dd(a)};g.nj=function(a){return this.a.nj(a)};g.lh=function(){return this.a.lh()};g.ba=!0;
  3510. function hNb(){}var iNb,jNb;l(hNb,E8);function XMb(){kNb();var a=new hNb,b=new lNb;a.a=b;a.c=jm("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",A(["goog.isFunction","goog.isArray","goog.isArrayLike","goog.isObject"],B,y,1));var c=Nj();c.Ce(A(["superClass_","instance_","getInstance"],B,y,1));c.fb(b.lh());a.b=c.fa();return a}g=hNb.prototype;
  3511. g.Ki=function(a,b,c){E8.prototype.Ki.call(this,a,b,c);q(c,(EJ(),DJ))&&(c=b.a,wz(b.a,"superClass_",a.b,c.c),a=Ata(c),wz(b.b,"constructor",a,c.c))};
  3512. g.zd=function(a){var b=E8.prototype.zd.call(this,a);if(b)return b;b=a.a;a:{var c=null;if(N(b))c=O(b).l();else if(L(b)){var d=b.l(),e=ti(d,36);-1!=e&&(c=d.substr(e+1))}if(null!=c){if("inherits"===c){c=(EJ(),DJ);break a}if("mixin"===c){c=(EJ(),KAa);break a}}c=null}if(c){d=O(a);if(mG(a,3))a=b.b;else return null;if(q(c,(EJ(),KAa))){if(!mNb(d)||!mNb(a))return null;a=a.a;d=d.a}if(a&&AG(a)&&AG(d))return IAa(c,a,d)}return null};g.tj=function(a){return yG(a.a,"goog.defineClass")};
  3513. g.zj=function(a){return"superClass_"===a||E8.prototype.zj.call(this,a)};function mNb(a){return N(a)&&li(O(a).l(),"prototype")}g.yk=function(a,b){var c=nNb(a,b,"goog.provide");null==c&&(c=nNb(a,b,"goog.module"));return c};g.zk=function(a,b){return nNb(a,b,"goog.require")};function nNb(a,b,c){var d=null;oX(b)&&(a=a.a)&&N(a)&&yG(a,c)&&(c=a.b)&&Dw(c)&&(d=c.l());return d}g.Cg=function(){return"goog.exportProperty"};g.Sf=function(){return"goog.exportSymbol"};
  3514. g.Gg=function(a){if(yG(a.a,"goog.forwardDeclare")&&kG(a)){var b=R(a);if(Dw(b))return Ml(b.l())}return E8.prototype.Gg.call(this,a)};g.fj=function(){return"goog.abstractMethod"};g.zf=function(a){var b=a.a;return kG(a)&&(yG(b,"goog.addSingletonGetter")||yG(b,"goog$addSingletonGetter"))?EC(b.b):E8.prototype.zf.call(this,a)};g.nk=function(a,b){var c=a.a.c;wz(a.a,"getInstance",b,c);wz(a.a,"instance_",a.c,c)};g.sh=function(a){D(eH(a));return this.c.B(EC(a.a))||E8.prototype.sh.call(this,a)};
  3515. g.Dd=function(a){return E8.prototype.Dd.call(this,a)||"goog.reflect.objectProperty"===a};g.wj=function(a){return E8.prototype.wj.call(this,a)||oNb(a)};g.nj=function(a){Ii(eH(a),"Expected call node but found %s",a);var b=E8.prototype.nj.call(this,a);if(b)return b;b=a.a;if(!yG(b,"goog.reflect.object")&&!yG(b,"$jscomp.reflectObject")||!mG(a,3))return null;a=b.b;return DC(a)?SH(a.b)?DAa(EC(a),a.b,null):DAa(null,null,iNb):null};g.ue=function(){return!1};
  3516. g.jh=function(){return Nj().fb(E8.prototype.jh.call(this)).Ce(A([nAa(pAa(qAa(rAa(),(yAa(),vAa)),"goog.asserts.assert")),F8("Array"),F8("Boolean"),F8("Element"),F8("Function"),F8("Instanceof"),F8("Number"),F8("Object"),F8("String")],sAa,tAa,1)).fa()};function F8(a){return nAa(pAa(qAa(rAa(),(yAa(),wAa)),"goog.asserts.assert"+r(a)))}
  3517. g.hh=function(a,b,c){if(!eH(a))return null;var d=a.a;if(DC(d)){if(yG(d,"goog.bind")||yG(d,"goog$bind")){a=d.b;if(!a)return null;b=a?a.b:null;return AAa(a,b,b?b.b:null)}if(yG(d,"goog.partial")||yG(d,"goog$partial"))return(a=d.b)?AAa(a,null,a?a.b:null):null}return E8.prototype.hh.call(this,a,b,c)};
  3518. g.aj=function(a){if(!eH(a))return null;var b=a.a;if(N(b)?zG(b,jNb):L(b)&&li(b.l(),"goog$reflect$cache")){var c=GA(a)-1;if(3<=c&&4>=c)return a=b.b.b.b,b=new BAa,c=a.b,b.b=a,b.a=c,b}return E8.prototype.aj.call(this,a)};g.lh=function(){return this.b};function kNb(){kNb=function(){};iNb=AJ("JSC_REFLECT_OBJECTLIT_EXPECTED","Object literal expected as second argument");jNb=Mqa(rx("goog"),ux("reflect"),A([ux("cache")],lx,eI,1))}function lNb(){}l(lNb,n);g=lNb.prototype;g.Bf=function(){return!1};g.uj=function(){return!1};
  3519. g.Vl=function(a){return null!=a&&0<a.length};g.Sk=function(a){return DA(a)};g.Uk=function(a){return Jw(a)||EA(a)};g.wj=function(a){return oX(a)?(a=Fy(hF(a).f),!!a&&q((QB(),tua),a.za)):!1};g.oh=function(a){a=a.ub();var b=ti(a,47);return-1==b?"":ne(a,0,b)};g.Ie=function(a,b){return b&&zi(a,"$super")};g.Cd=function(a){return this.Ie(a,!1)||this.Ie(a,!0)};g.Li=function(){return!1};g.ue=function(){return!1};g.Ol=function(){return!1};
  3520. g.zd=function(a){var b=a.a;return(yG(b,"$jscomp.inherits")||xG(b,"$jscomp$inherits"))&&mG(a,3)&&(a=b.b,b=a.b,DC(a)&&DC(b))?IAa((EJ(),DJ),a,b):null};g.tj=function(){return!1};g.zj=function(){return!1};g.yk=function(){throw xb("only implemented in ClosureCodingConvention").s;};g.zk=function(){throw xb("only implemented in ClosureCodingConvention").s;};g.Cg=function(){return null};g.Sf=function(){return null};g.Gg=function(){return null};g.Ki=function(){};g.fj=function(){return null};g.zf=function(){return null};
  3521. g.nk=function(){};g.Qk=function(a){F(P(a),a);return!0};g.Il=function(){return null};g.Jl=function(){return null};g.sh=function(a){return yG(a.a,"Array.isArray")};g.Dd=function(a){return"JSCompiler_renameProperty"===a||"$jscomp.reflectProperty"===a};g.nj=function(){return null};g.jh=function(){var a=qAa(rAa(),(yAa(),vAa)),b=(QB(),vua);a.b=b;a=nAa(a);b=qAa(rAa(),wAa);b.b=uua;return em(a,nAa(b))};
  3522. g.hh=function(a,b,c){if(!eH(a))return null;var d=a.a;if(DC(d)&&yG(d,"Function.prototype.bind.call")){b=d.b;if(!b)return null;c=b?b.b:null;return AAa(b,c,c?c.b:null)}if(N(d)&&li(O(d).l(),"bind")){a=d.a;var e=a.f,f=null;c&&e&&(f=e.Ia().ha());if(f||b||P(a))return b=d.b,AAa(a,b,b?b.b:null)}return null};g.aj=function(){return null};g.lh=function(){return Ll()};g.ba=!0;function oNb(a){if(yH(a)){if(!eH(a.a))return!1}else if(!eH(a))return!1;yH(a)&&(a=a.a);return yG(a.a,"goog.asserts.fail")}
  3523. function YMb(){}l(YMb,n);function pNb(){}l(pNb,Ga);function x8(a){var b=new pNb;a=CN(a,[]);sa(b,a);b.a(Error(b));return b}function qNb(){this.a=0}var kMb,rNb;l(qNb,z);function sNb(a,b){var c=new qNb;c.b=a;c.a=b;return c}qNb.prototype.R=function(a){return z.prototype.c.call(this,a)};function jMb(){jMb=function(){};kMb=sNb("ALL",0);rNb=sNb("CONDITIONAL",1)}function tNb(){this.a=0}var uNb;l(tNb,z);function vNb(){var a=new tNb;a.b="BRANCH_ONLY";a.a=2;return a}
  3524. tNb.prototype.R=function(a){return z.prototype.c.call(this,a)};function hMb(){hMb=function(){};uNb=vNb()}function wNb(){}l(wNb,n);function iMb(){return new wNb}wNb.prototype.H=function(){};function xNb(){}l(xNb,n);xNb.prototype.b=function(a,b,c,d){E(L(c));var e=c.m(),f=a.T(b);nL(a)&&oL(f)&&!pL(d)&&this.c.add(f)||(P(e)?gx(kL(f))&&(PR(a,f),eS(a,b,c,f.c),yNb(this,f.a,kL(f),kL(f).m())):gx(e)&&(E(gF(e)),yNb(this,c,e,e.m())))};
  3525. function yNb(a,b,c,d){if(b.a){oF(c,b);var e=b.a;oF(b,e);b=wx(b,e);Gx(b,nG(c));qF(b,c);b=ZW(b);pF(d,c,b);zNb(a.a,b)}else jT(d)?oF(d,c):AH(d)||BH(d)?(oF(c,b),pF(d,c,b)):F(KH(d),d),zNb(a.a,d)}function ANb(){}l(ANb,RT);ANb.prototype.J=function(a,b){nX(b)?(a=b.a,b=a.a,N(b)&&BNb(a)&&this.a.add(O(b).l())):Lx(b)&&BNb(b)?this.a.add(b.l()):N(b)&&yH(b.m())&&BNb(b)&&this.a.add(O(b).l())};function BNb(a){a=nG(a);return!!a&&Ay(a,1048576)}function G8(){this.b=!1}l(G8,n);
  3526. function VMb(a,b){var c=new G8;c.a=a;c.b=b;return c}function H8(a,b,c){if(a.b)throw pb("Normalize constraints violated:\n"+r(b)).s;Z(a.a,c)}
  3527. G8.prototype.ga=function(a,b){if(KH(b)){D(KH(b));var c=O(b);switch(c.c.a){case 87:case 86:case 76:case 77:case 105:case 106:case 74:case 75:break;default:a=Lw(),qF(a,c),pF(b,c,a),Mx(a,c),H8(this,"LABEL normalization",b)}}(jT(b)||KH(b))&&CNb(this,b,null,null);if(jT(b))for(c=b.a;c;c=a)if(a=c.b,PI(c)){if(this.b&&!c.a)throw pb("Empty VAR node.").s;for(;!q(c.a,O(c));){var d=c.a;oF(c,d);d=GG(Ow(c.c,d),b);mF(b,d,c);H8(this,"VAR with multiple children",b)}}if(P(b)){a=O(b);E(P(a.m()));c=null;for(var e=a.a;e&&
  3528. qJ(e);)c=e,e=e.b;for(;e;){d=e.b;if(qJ(e)){oF(a,e);var f=a;c?nF(f,e,c):Mx(f,e);c=e;H8(this,"Move function declaration not at top of function",a)}e=d}}R2a(b)&&L(b.a)&&(a=b.a,c=dX(b),b.c=c,c=b.m(),d=yw(),pF(c,b,d),a=FG(wx(FG(CG(a),a),b),b),Gx(a,nG(b)),Gx(b,null),pF(c,d,a),Z(this.a,a));return!0};
  3529. G8.prototype.J=function(a,b,c){switch(b.c.a){case 74:a=b.a;c=(H(),Bt);b.c=c;c=yw();qF(c,b);mF(b,c,a);nF(b,CG(c),a);H8(this,"WHILE node",b);break;case 69:a=this.a;F(P(b),b);if(qJ(b)&&!QW(b)){var d=b.a;c=CG(d);var e=GG(Tw(c),b);d.Ga("");Z(a,d);d=b.m();oF(d,b);Mx(d,e);Z(a,e);Mx(c,b);a=!0}else P(b)&&!Hw(mX(b))&&(c=mX(b),e=Mw(bx(S(c))),JG(e,c),M(b,e),Z(a,e)),a=!1;a&&H8(this,"Function declaration",b);break;case 113:if(!tF(b,(kx(),ME))&&(c=b.a,m3a(c))){oF(b,c);a=GG(zw((H(),lu)),b);Mx(b,a);if(kA(c)||P(c))e=
  3530. c.a,Fd(),d=gf(),d.add(e),e=uf(d),mF(b.m(),c,b);else for(e=eT(c),d=BA(c).h();d.i();){var f=d.j();oF(c,f);f=GG(Ow(c.c,f),b);mF(b.m(),f,b)}for(c=e.h();c.i();)e=c.j(),d=GG(zw(mu),e),Mx(d,CG(e)),Mx(d,CG(e)),M(a,d);Z(this.a,b.m())}break;case 32:case 34:case 90:case 91:E(L(b)||Dw(b)||Lx(b)||CH(b)||VH(b));if(!q(this.a.c,Nza)&&(a=FX(b)||N(c)&&q(O(c),b),(L(b)||a)&&!tF(b,(kx(),IE))&&T3a(MX(this.a),b))){if(this.b)throw a=b.l(),pb("Unexpected const change.\n name: "+r(a)+"\n parent:"+r(uD(b.m()))).s;Hx(b,(kx(),
  3531. IE),!0)}break;case 96:Z(this.a,b),pF(c,b,UA(b))}};
  3532. function CNb(a,b,c,d){for(var e,f=b.a;f;f=e){e=f.b;var h=c?c:f,k=c?d:b;switch(f.c.a){case 87:CNb(a,f,h,k);break;case 77:case 105:case 106:var m=f.a;if(gx(m)){var p=m.a;if(Yw(p)){for(var t=eT(p).h();t.i();){var v=t.j();Ji(L(v),"lhs in destructuring declaration should be a simple name.",v);var C=GG(rx(v.l()),v);v=GG(Tw(C),v);mF(k,v,h)}h=UA(p);pF(f,m,h)}else f=m,p=CG(f.a),qD(m,p),mF(k,f,h);H8(a,"FOR-IN var declaration",b)}break;case 76:if(!Aw(f.a)){m=f.a;if(hx(m)||ix(m)||kA(m)||P(m))return;p=yw();qF(p,
  3533. f);pF(f,m,p);f=void 0;gx(m)?f=m:f=ZW(m);mF(k,f,h);H8(a,"FOR initializer",b)}}}}G8.prototype.la=!0;function DNb(){}l(DNb,RT);DNb.prototype.J=function(a,b){if(N(b)){if(a=O(b).l(),this.b.B(a)){a=UA(b);var c=UA(b);Z(this.a.a,b);qD(b,vx(a,c))}}else Lx(b)&&(a=b.l(),this.b.B(a)&&!b.bb()&&(Z(this.a.a,b),b.Pg()))};function ENb(){}l(ENb,n);g=ENb.prototype;g.Hb=function(a){ET(a)};g.Tb=function(){};g.ga=function(){return!0};g.J=function(){};g.la=!0;g.ic=!0;function FNb(){this.b=!1}l(FNb,n);
  3534. function GNb(a,b){var c=new FNb;c.a=a;c.b=b;return c}function zNb(a,b){if(a.b)throw pb("Normalize constraints violated:\nDuplicate VAR declaration").s;Z(a.a,b)}
  3535. FNb.prototype.H=function(a,b){var c=new r3,d=Ynb();c.a=Uk();c.c=d;c.b=!0;tT(this.a,c,a,b);tT(this.a,VMb(this.a,this.b),a,b);c=new ENb;d=this.a;var e=new xNb;e.a=this;e.c=ef();d=HWa(d,e);sT(mT(this.a,c,d),a,b);wEb(this.a,this.b).H(a,b);d=new ANb;d.a=ef();Y(this.a,b,d);d.a.D()||(a=this.a,c=new DNb,d=d.a,c.a=this,c.b=d,Y(a,b,c));bJ(this.a.c)||(b=(cJ(),aJ),this.a.c=b)};function I8(){}l(I8,RT);
  3536. I8.prototype.J=function(a,b){switch(b.c.a){case 28:case 31:F(eH(b)||ZG(b),b);for(a=b.a;nH(a);)a=a.a;UI(a)||eza(a)||Hx(b,(kx(),KE),!0);L(a)&&"eval"===a.l()&&Hx(a,(kx(),Ywa),!0)}};function mUa(){this.a=!1}l(mUa,n);mUa.prototype.H=function(a,b){this.a?HNb(this,b):(a&&Y(this.b,a,new I8),b&&Y(this.b,b,new I8))};
  3537. function HNb(a,b){if(iT(b)&&!KH(b)&&!XH(b))for(var c=b.a;c;c=c.b)if(f3a(b,c)&&!Hw(c)){var d=GG(Lw(),b);pF(b,c,d);QG(d);Aw(c)||kF(d,c);c=d;if(a.a)throw pb("normalizeNodeType constraints violated").s;}for(c=b.a;c;c=c.b)E(q(c.m(),b)),HNb(a,c)}function INb(){}l(INb,n);function vMb(a){var b=new INb;b.b=Yr(a);b.c=vDa(a,(gs(),ds));b.tk();return b}g=INb.prototype;g.Pb=function(){return this.a};g.tk=function(){this.a=Qw();var a=this.b;vF(this.a,(bF(),QF),a);vD(this.a,this.c)};g.gd=function(){return this.b};
  3538. g.Cb=function(){return this.c};g.ba=!0;function JNb(){}l(JNb,n);function KNb(a){var b=new JNb;G(a);b.c=a;return b}function B8(){}l(B8,n);function NMb(a){var b=new B8;G(a);b.a=a;return b}B8.prototype.I=function(a){return a instanceof B8?q(this.a,a.a):!1};B8.prototype.P=function(){return Yg(this.a)};function LNb(){}l(LNb,n);function ZMb(){var a=new LNb;a.c=bf();a.b=bf();a.a=KNb(NMb("-beginning-"));return a}
  3539. function OMb(a,b,c){var d=b.get(a);if(q(c,d))return d;d?(d.b.a=d.a,d.a.b=d.b,d.a=null):(d=KNb(a),b.C(a,d));d.b=c;return c.a=d}function MNb(){}l(MNb,n);function NNb(){this.f=this.b=!1}l(NNb,n);function bNb(a){var b=new NNb,c=new MNb;b.b=!1;b.c=a;b.g=c;b.f=!1;return b}NNb.prototype.H=function(a,b){a&&ONb(this,a);b&&ONb(this,b)};
  3540. function ONb(a,b){J8((H(),Kt),b);for(b=b.a;b;b=b.b){var c=a,d=b;J8(Ot,d);var e=d;!WA(e)&&K8("Missing 'source name' annotation.",e);e=d;aG(e)||K8("Missing 'input id' annotation.",e);c.a=d;if(d.a&&NH(d.a))for(L8(d,1),d=d.a,J8(nu,d),d=d.a;d;)M8(c,d,!1),d=d.b;else for(d=d.a;d;)M8(c,d,!1),d=d.b}}
  3541. function M8(a,b,c){switch(b.c.a){case 87:J8((H(),Mt),b);N8(b);PNb(b.a);M8(a,O(b),!1);break;case 86:O8(a,b);break;case 69:c?P8(a,b,!0):(J8((H(),ut),b),N8(b),Q8(b.a),QNb(a,R(b)),O8(a,O(b)),RNb(a,b),Hw(b.m())&&!P(gG(b))&&R8(a,(KI(),$J),b));break;case 81:J8((H(),Gt),b);N8(b);S8(a,b.a);O8(a,O(b));break;case 76:J8((H(),Bt),b);L8(b,4);c=b.a;PI(c)?SNb(a,c.c,c):T8(a,c,A([Jt],hs,Qu,1));T8(a,R(b),A([Jt],hs,Qu,1));T8(a,RC(b,2),A([Jt],hs,Qu,1));O8(a,O(b));break;case 77:J8((H(),Ct),b);N8(b);TNb(a,b.a);S8(a,R(b));
  3542. O8(a,O(b));break;case 105:R8(a,(KI(),jK),b);J8((H(),cu),b);N8(b);TNb(a,b.a);S8(a,R(b));O8(a,O(b));break;case 106:R8(a,(KI(),zK),b);J8((H(),du),b);N8(b);TNb(a,b.a);S8(a,R(b));O8(a,O(b));break;case 74:J8((H(),zt),b);N8(b);S8(a,b.a);O8(a,O(b));break;case 75:J8((H(),At),b);N8(b);O8(a,b.a);S8(a,O(b));break;case 71:J8((H(),wt),b);U8(b);S8(a,b.a);c=0;for(var d=R(b);d;d=d.b){var e=a,f=O(b);switch(f.c.a){case 72:J8(xt,f);N8(f);S8(e,f.a);O8(e,O(f));break;case 73:J8(yt,f);N8(f);O8(e,O(f));break;default:K8("Expected switch member but was "+
  3543. r(f.c),f)}uH(d)&&c++}1<c&&K8("Expected at most 1 'default' in switch but was "+c,b);break;case 70:J8((H(),vt),b);V8(b,2,3);S8(a,b.a);O8(a,R(b));mG(b,3)&&O8(a,O(b));break;case 92:for(c=BA(b).h();c.i();)d=c.j(),Yw(d)?L8(d,2):L8(d,1);case 80:case 104:SNb(a,b.c,b);break;case 88:J8((H(),Nt),b);N8(b);S8(a,b.a);break;case 0:J8((H(),is),b);W8(b);b.a&&S8(a,b.a);break;case 42:J8((H(),Ks),b);N8(b);S8(a,b.a);break;case 47:J8((H(),Ps),b);V8(b,2,3);O8(a,b.a);c=!1;d=R(b);J8(Lt,d);W8(d);d.a&&(c=d.a,J8(Ht,c),N8(c),
  3544. d=c.a,L(d)?Q8(d):Zw(d)?UNb(a,Ht,d):$w(d)?VNb(a,Ht,d):Aw(d)?(R8(a,(KI(),EK),d),N8(d)):K8("Unexpected catch binding: "+r(d),c),O8(a,O(c)),c=!0);mG(b,3)&&(O8(a,O(b)),c=!0);c||K8("Missing catch or finally for try statement.",b);break;case 78:J8((H(),Dt),b);W8(b);b.a&&PNb(b.a);break;case 79:J8((H(),Et),b);W8(b);b.a&&PNb(b.a);break;case 84:case 93:L8(b,0);break;case 100:WNb(a,b,c);Q8(b.a);break;case 109:R8(a,(KI(),sK),b);J8((H(),gu),b);N8(b);L(b.a)?Q8(b.a):J8(Jt,b.a);a=R(b);switch(a.c.a){case 110:J8(hu,
  3545. a);for(a=a.a;a;a=a.b)for(c=a,J8(iu,c),L8(c,2),c=c.a;c;c=c.b)Q8(c);break;case 112:X8(a);break;default:J8(Jt,a)}Y8(RC(b,2));break;case 113:XNb(a,b,c);break;case 157:R8(a,(KI(),rBa),b);J8((H(),Epa),b);N8(b);c=b.a;Q8(c);c=c.b;if(Aw(c))L8(c,0);else for(J8(Fpa,c),c=c.a;c;c=c.b)d=c,J8(ypa,d),N8(d),Q8(d.a);b=O(b);J8(Iu,b);for(b=b.a;b;b=b.b)switch(c=a,d=b,d.c.a){case 102:N8(d);P8(c,d.a,!0);break;case 165:L8(d,0);break;case 166:N8(d);L8(d.a,0);break;case 167:N8(d);break;default:K8("Interface contained member of invalid type "+
  3546. r(d.c),d)}break;case 160:YNb(b);break;case 163:ZNb(a,b);break;case 164:R8(a,(KI(),kBa),b);J8((H(),Ju),b);$Nb(a,b.a);break;case 168:aOb(a,b,c);break;default:K8("Expected statement but was "+r(b.c)+".",b)}}
  3547. function S8(a,b){if(a.b){var c=b.f;c&&!c.f&&K8("Found unresolved type "+r(c),b);switch(b.c.a){case 32:uY(b)&&!UI(b.m())&&bOb(a,b);break;case 28:if(!WH(b.a)&&(c=Mi(b.a.f,"Callee of\n\n%s\nhas no type.",uD(b)),iy(c)&&(c=HA(c.ha()),!CF(b)&&!c.aa()))){var d=b.f;bd(c,d)||K8("Expected type: "+r(cOb(c))+" Actual type: "+r(cOb(d)),b)}break;default:bOb(a,b)}}switch(b.c.a){case 128:R8(a,(KI(),nK),b);L8(b,0);break;case 129:R8(a,(KI(),iBa),b);L8(b,0);break;case 37:case 35:case 36:case 38:L8(b,0);break;case 24:case 21:case 22:case 19:case 25:case 83:case 20:case 96:L8(b,
  3548. 1);S8(a,b.a);break;case 67:case 68:L8(b,1);dOb(a,b.a);break;case 50:N8(b);Z8(a,b.c,b.a);S8(a,O(b));break;case 62:R8(a,(KI(),tK),b);eOb(a,b);break;case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:eOb(a,b);break;case 63:L8(b,3);c=b.a;S8(a,c);S8(a,c.b);S8(a,O(b));break;case 34:Y8(b);break;case 33:J8((H(),Bs),b);N8(b);try{b.ab()}catch(e){if(e=va(e),yb(e))K8("Invalid NUMBER node.",b);else throw e.s;}break;case 32:Q8(b);break;case 18:R8(a,(KI(),tK),b);fOb(a,b);break;
  3549. case 66:R8(a,(KI(),FK),b);fOb(a,b);break;case 49:case 64:case 65:case 1:case 2:case 3:case 4:case 5:case 39:case 40:case 6:case 8:case 7:case 9:case 44:case 43:case 10:case 11:case 12:case 14:case 13:case 15:case 17:case 16:fOb(a,b);break;case 27:gOb(a,b);break;case 30:R8(a,(KI(),GK),b);Fi(XG(b),b);L8(b,2);hOb(a,b.a);S8(a,O(b));iOb(b);break;case 26:jOb(a,b);break;case 29:R8(a,(KI(),GK),b);J8((H(),ys),b);N8(b);hOb(a,b.a);a=O(b);J8(Cs,a);X8(a);iOb(b);break;case 45:J8((H(),Ns),b);for(b=b.a;b;){T8(a,
  3550. b,A([Jt,qu],hs,Qu,1));break}break;case 46:J8((H(),Os),b);for(b=b.a;b;b=b.b)kOb(a,b);break;case 41:J8((H(),Js),b);V8(b,1,2);for(a=b.a;a;a=a.b)Y8(a);break;case 28:J8((H(),xs),b);U8(b);b=b.a;WH(b)?lOb(a,b):S8(a,b);for(b=b.b;b;b=b.b)T8(a,b,A([qu],hs,Qu,1));break;case 31:R8(a,(KI(),GK),b);J8((H(),zs),b);U8(b);c=b.a;S8(a,c);for(c=c.b;c;c=c.b)T8(a,c,A([qu],hs,Qu,1));iOb(b);break;case 23:J8((H(),ss),b);U8(b);S8(a,b.a);for(b=R(b);b;b=b.b)T8(a,b,A([qu],hs,Qu,1));break;case 69:P8(a,b,!1);break;case 100:WNb(a,
  3551. b,!1);break;case 124:mOb(a,b);break;case 123:R8(a,(KI(),rK),b);J8((H(),su),b);N8(b);S8(a,b.a);mOb(a,O(b));break;case 107:R8(a,(KI(),kK),b);J8((H(),eu),b);V8(b,0,1);b.a&&S8(a,b.a);break;case 108:R8(a,(KI(),uK),b);J8((H(),fu),b);N8(b);S8(a,b.a);(a=hX(b))&&bH(a)||K8("'await' expression is not within an async function",b);break;default:K8("Expected expression but was "+r(b.c),b)}}
  3552. function T8(a,b,c){switch(b.c.a){case 84:L8(b,0);break;case 120:N8(b);R8(a,(KI(),pK),b);S8(a,b.a);break;default:S8(a,b);return}a=Cha(c);a.B(b.c)||K8("Expected expression or "+r(a)+" but was "+r(b.c),b)}function bOb(a,b){b.f||K8("Type information missing\n"+r(cU(a.c,jX(b))),b)}function cOb(a){return a?"{"+r(oz(a,(pz(),qz)))+"}":"NO TYPE INFORMATION"}
  3553. function XNb(a,b,c){R8(a,(KI(),sK),b);J8((H(),ku),b);if(tF(b,(kx(),NE)))L8(b,2),J8(Jt,b.a),Y8(R(b));else if(tF(b,(kx(),ME)))L8(b,1),S8(a,b.a);else{V8(b,1,2);if(q(b.a.c,lu))for(a=b.a,J8(lu,a),a=a.a;a;a=a.b)for(c=a,J8(mu,c),L8(c,2),c=c.a;c;c=c.b)Q8(c);else M8(a,b.a,c);kG(b)&&Y8(R(b))}}
  3554. function mOb(a,b){R8(a,(KI(),rK),b);J8((H(),tu),b);for(b=b.a;b;b=b.b)if(YH(b)){var c=b;J8(vu,c);N8(c);try{c.oj()}catch(e){if(e=va(e),yb(e))K8("Invalid TEMPLATELIT_STRING node.",c);else throw e.s;}}else{c=a;var d=b;J8(uu,d);N8(d);S8(c,d.a)}}function YNb(a){J8((H(),Gpa),a);Q8(a.a);a=O(a);J8(Hpa,a);for(a=a.a;a;a=a.b){var b=a;J8(Tt,b);$8(b);L8(b,0)}}
  3555. function WNb(a,b,c){R8(a,(KI(),aK),b);J8((H(),Yt),b);N8(b);var d=b.a;Aw(d)?L8(d,0):Q8(d);d=d.b;Aw(d)?L8(d,0):(R8(a,bK,b),S8(a,d));b=O(b);J8(Zt,b);for(b=b.a;b;b=b.b)nOb(a,b,c)}
  3556. function nOb(a,b,c){switch(b.c.a){case 102:R8(a,(KI(),mK),b);$8(b);N8(b);b=b.a;c?P8(a,b,!0):P8(a,b,!1);break;case 90:case 91:R8(a,(KI(),cK),b);$8(b);kOb(a,b);N8(b);b=b.a;c?P8(a,b,!0):P8(a,b,!1);break;case 165:L8(b,0);break;case 122:R8(a,(KI(),dK),b);J8((H(),ru),b);S8(a,b.a);tF(b,(kx(),RE))?L8(b,1):(L8(b,2),P8(a,O(b),!1),tF(b,(kx(),PE))?(R8(a,dK,b),J8(ru,b),N8(b),c=O(b),P8(a,c,!1),te(c.a.l())||K8("Expected unnamed function expression.",b),R(c).a&&K8("get methods must not have parameters.",b)):tF(b,
  3557. (kx(),QE))&&(R8(a,dK,b),J8(ru,b),N8(b),c=O(b),P8(a,c,!1),te(c.a.l())||K8("Expected unnamed function expression.",b),gF(R(c))||K8("set methods must have exactly one parameter.",b)));break;case 166:N8(b);L8(b.a,0);break;case 167:N8(b);break;case 84:break;default:K8("Class contained member of invalid type "+r(b.c),b)}}function O8(a,b){J8((H(),Lt),b);for(b=b.a;b;b=b.b)M8(a,b,!1)}function PNb(a){J8((H(),St),a);X8(a);N8(a)}function X8(a){oOb(a)&&te(a.l())&&K8("Expected non-empty string.",a)}
  3558. function oOb(a){try{if(null==a.l())return K8("Expected non-null string.",a),!1}catch(b){b=va(b);if(Ea(b))return K8("Expected non-null string.",a),!1;throw b.s;}return!0}function Q8(a){J8((H(),As),a);X8(a);N8(a)}function P8(a,b,c){J8((H(),ut),b);N8(b);QNb(a,R(b));var d=b.a,e=O(b);aH(b)?(J8(As,d),oOb(d)&&!te(d.l())&&K8("Expected empty string.",d),N8(d),Hw(e)?O8(a,e):S8(a,e)):(J8(As,d),oOb(d),N8(d),c?J8(Jt,e):O8(a,e));RNb(a,b)}
  3559. function RNb(a,b){aH(b)&&R8(a,(KI(),ZJ),b);UG(b)&&R8(a,(KI(),kK),b);bH(b)&&R8(a,(KI(),uK),b);bH(b)&&UG(b)&&R8(a,(KI(),yK),b)}function QNb(a,b){J8((H(),Qs),b);for(b=b.a;b;b=b.b)if(Jw(b)){var c=a,d=Qs,e=b;R8(c,(KI(),oK),e);pOb(c,d,e)}else vH(b)?(R8(a,(KI(),fK),b),qOb(a,Qs,b)):L(b)?Q8(b):Zw(b)?UNb(a,Qs,b):VNb(a,Qs,b)}function qOb(a,b,c){N8(c);Z8(a,b,c.a);S8(a,O(c))}
  3560. function lOb(a,b){R8(a,(KI(),qK),b);L8(b,0);a.b&&bOb(a,b);a=b.m();var c=T2a(a);UI(a)&&iG(b,a)?c&&zX(c)||K8("super property references are only allowed in methods",b):eH(a)&&iG(b,a)?c&&BY(c)?Aw(R(c.m().m().m()))&&K8("super constructor call in a class that extends nothing",b):K8("super constructor call is only allowed in a constructor method",b):K8("`super` is a syntax error here",b)}
  3561. function pOb(a,b,c){switch(c.c.a){case 118:case 119:break;default:K8("Unexpected node type.",c);return}N8(c);Z8(a,b,c.a);c.b&&K8("Rest parameters must come after all other parameters.",c)}
  3562. function SNb(a,b,c){U8(c);for(var d=c.a;d;d=d.b){var e=a,f=b,h=d;if(L(h))X8(h),W8(h),h.a&&S8(e,h.a);else if(Yw(h)){V8(h,1,2);var k=h.a;switch(k.c.a){case 97:UNb(e,f,k);break;case 98:VNb(e,f,k);break;default:K8("Invalid destructuring lhs first child for "+r(f)+" node",h)}kG(h)&&S8(e,R(h))}else K8("Invalid child for "+r(f)+" node",h)}q(b,(H(),bu))?R8(a,(KI(),lK),c):q(b,(H(),Rt))&&R8(a,(KI(),eK),c)}
  3563. function Z8(a,b,c){switch(c.c.a){case 32:Q8(c);break;case 97:UNb(a,b,c);break;case 98:VNb(a,b,c);break;case 26:case 27:rOb(a,b,c);break;case 96:Z8(a,b,fF(c));break;default:K8("Invalid child for "+r(b)+" node",c)}}function rOb(a,b,c){if(q(b,(H(),Rt))||q(b,(H(),bu))||q(b,(H(),Ft))||q(b,(H(),Qs)))K8("Invalid child for "+r(b)+" node",c);else switch(c.c.a){case 26:jOb(a,c);break;case 27:gOb(a,c);break;default:throw pb("Expected GETPROP or GETELEM but instead got node "+r(c.c)).s;}}
  3564. function UNb(a,b,c){R8(a,(KI(),gK),c);J8((H(),Vt),c);for(c=c.a;c;c=c.b)switch(c.c.a){case 127:qOb(a,b,c);break;case 118:var d=a,e=b,f=c;R8(d,YJ,f);pOb(d,e,f);break;case 84:L8(c,0);break;default:Z8(a,b,c)}}
  3565. function VNb(a,b,c){R8(a,(KI(),hK),c);J8((H(),Wt),c);for(var d=c.a;d;d=d.b)switch(d.c.a){case 95:var e=a,f=b,h=d;J8(Tt,h);$8(h);L8(h,1);h=h.a;switch(h.c.a){case 127:qOb(e,f,h);break;default:Z8(e,f,h)}break;case 119:e=a;f=b;h=d;R8(e,xK,h);pOb(e,f,h);break;case 122:e=a;f=b;h=d;R8(e,dK,h);J8(ru,h);N8(h);S8(e,h.a);vH(O(h))?qOb(e,f,O(h)):Z8(e,O(h).c,O(h));break;default:K8("Invalid object pattern child for "+r(b)+" node",c)}}function TNb(a,b){PI(b)?(L8(b,1),SNb(a,b.c,b)):Z8(a,b.m().c,b)}
  3566. function eOb(a,b){N8(b);var c=b.c,d=b.a;switch(d.c.a){case 32:Q8(d);break;case 26:case 27:rOb(a,c,d);break;default:K8("Invalid child for "+r(c)+" node",d)}S8(a,O(b))}function gOb(a,b){Fi(DH(b),b);L8(b,2);hOb(a,b.a);S8(a,O(b))}function jOb(a,b){J8((H(),vs),b);N8(b);hOb(a,b.a);a=O(b);J8(Cs,a);X8(a)}function hOb(a,b){WH(b)?lOb(a,b):S8(a,b)}function Y8(a){J8((H(),Cs),a);N8(a);try{a.l()}catch(b){if(b=va(b),yb(b))K8("Invalid STRING node.",a);else throw b.s;}}
  3567. function kOb(a,b){switch(b.c.a){case 90:R8(a,(KI(),VJ),b);J8((H(),Pt),b);N8(b);$8(b);var c=b.a;P8(a,c,!1);te(c.a.l())||K8("Expected unnamed function expression.",b);R(c).a&&K8("get methods must not have parameters.",b);break;case 91:R8(a,(KI(),XJ),b);J8((H(),Qt),b);N8(b);$8(b);c=b.a;P8(a,c,!1);te(c.a.l())||K8("Expected unnamed function expression.",b);gF(R(c))||K8("set methods must have exactly one parameter.",b);break;case 95:J8((H(),Tt),b);$8(b);L8(b,1);S8(a,b.a);tF(b,(kx(),gxa))&&R8(a,(KI(),iK),
  3568. b);break;case 102:nOb(a,b,!1);TG(b)&&K8("Keys in an object literal should not be static.",b);break;case 122:R8(a,(KI(),dK),b);J8((H(),ru),b);N8(b);S8(a,b.a);S8(a,O(b));break;case 121:N8(b);R8(a,(KI(),wK),b);S8(a,b.a);break;default:K8("Expected object literal key expression but was "+r(b.c),b)}}function $8(a){if(a.bb())try{a.l()}catch(b){if(b=va(b),yb(b))K8("getString failed for"+r(a.c),a);else throw b.s;}else X8(a)}
  3569. function dOb(a,b){switch(b.c.a){case 32:case 26:case 27:S8(a,b);break;case 96:L8(b.a,1);dOb(a,b.a);break;default:K8("Invalid INC/DEC target "+r(b.c),b)}}function fOb(a,b){L8(b,2);S8(a,b.a);S8(a,O(b))}function ZNb(a,b){R8(a,(KI(),vBa),b);J8((H(),Jpa),b);N8(b)}function $Nb(a,b){switch(b.c.a){case 80:case 104:case 92:SNb(a,b.c,b);break;case 69:P8(a,b,!0);break;case 100:WNb(a,b,!0);Q8(b.a);break;case 160:YNb(b);break;case 168:aOb(a,b,!0);break;case 163:ZNb(a,b);break;case 113:XNb(a,b,!0)}}
  3570. function aOb(a,b,c){R8(a,(KI(),tBa),b);J8((H(),Nu),b);N8(b);var d=b.a;switch(d.c.a){case 32:Q8(d);break;case 26:jOb(a,d)}b=O(b);J8(Ou,b);for(b=b.a;b;b=b.b)c?$Nb(a,b):M8(a,b,!1)}function K8(a,b){throw pb(r(a)+". Reference node:\n"+r(uD(b))+"\n Parent node:\n"+r(b.m()?uD(b.m()):" no parent ")).s;}function iOb(a){SI(a.a)||$G(a)||K8("Start of optional chain node "+r(a.c)+" is not marked as the start.",a)}function J8(a,b){q(b.c,a)||K8("Expected "+r(a)+" but was "+r(b.c),b)}
  3571. function N8(a){var b=Kpa(a.c);-1!=b&&L8(a,b)}function L8(a,b){var c=GA(a);b!=c&&K8("Expected "+b+" children, but was "+c,a)}function V8(a,b,c){var d=GA(a);(d<b||d>c)&&K8("Expected child count in ["+b+", "+c+"], but was "+d,a)}function U8(a){a.a||K8("Expected at least 1 children, but was "+GA(a),a)}function W8(a){!lG(a)||K8("Expected no more than 1 children, but was "+GA(a),a)}
  3572. function R8(a,b,c){eG(c)||JI(a.c.u,b)||K8("AST should not contain "+r(b),c);a.f&&a.a&&(GY(a.a)&&JI(GY(a.a),b)||K8("SCRIPT node should be marked as containing feature "+r(b),a.a))}function sOb(){}l(sOb,n);sOb.prototype.c=function(){throw pb("Code changes forbidden").s;};function tOb(){}l(tOb,RT);function uOb(a){var b=new tOb;b.b=a;b.a=a.F?Am(a.F):pm();return b}tOb.prototype.H=function(a){Y(this.b,a,this);a=nm(this.a);this.b.F=a};
  3573. tOb.prototype.J=function(a,b,c){switch(b.c.a){case 26:a=R(b);Dw(a)&&this.a.add(a.l());break;case 95:SH(c)&&this.a.add(b.l());break;case 102:this.a.add(b.l())}if(b=nG(b))for(b=AE(b).h();b.i();)a=b.j(),vOb(this,a)};function vOb(a,b){switch(b.c.a){case 154:F(q(b.c,(H(),Fu)),b);for(b=b.a;b;b=b.b){if(q(b.c,Hu)){var c=b.a;var d=c.b}else c=b,d=null;F(Lx(c),c);c=c.l();if(zi(c,"'")||zi(c,'"'))c=ne(c,1,c.length-1);a.a.add(c);d&&vOb(a,d)}break;default:for(b=b.a;b;b=b.b)vOb(a,b)}}function wOb(){this.a=!1}
  3574. l(wOb,RT);wOb.prototype.H=function(a,b){var c=b.m();E(!!c);E(eya(c,a));tT(this.b,this,a,b)};
  3575. wOb.prototype.J=function(a,b){if(L(b)){var c=b.l();if(!te(b.l())){var d=tF(b,(kx(),IE));if(this.a){var e=MX(this.b);S3a(b)||T3a(e,b)?a=!0:(e=null,(a=ET(a).T(b.l()))&&(e=a.Yb()),a=e&&bE(e)?!0:!1);a?Ji(a==d,"The name %s is not annotated as constant.",c):Ji(a==d,"The name %s should not be annotated as constant.",c)}a=this.c.get(c);null==a?this.c.C(c,d):Ji(a==d,"The name %s is not consistently annotated as constant.",c)}}};function aNb(){}var xOb;l(aNb,n);
  3576. aNb.prototype.H=function(a,b){ONb(this.b,a);ONb(this.b,b);var c=new sOb;this.a.Oa.add(c);var d=new mUa;d.b=this.a;d.a=!0;d.H(null,b);if(bJ(this.a.c)&&(GNb(this.a,!0).H(a,b),q(this.a.c,aJ))){d=new wOb;var e=this.a;d.c=bf();d.b=e;d.a=!0;d.H(a,b)}this.a.Oa.sa(c);bJ(this.a.c)&&aGb(this.a).H(a,b);if(b=this.a.F)if(uOb(this.a).H(a,null),!cd(this.a.F,b))throw X(this.a,UL(xOb,A([ze(b),ze(this.a.F)],B,y,1))),pb("Validity Check failed: Extern properties changed from:\n"+r(b)+"\nto:\n"+r(this.a.F)).s;};
  3577. function $Mb(){$Mb=function(){};U("JSC_CANNOT_PARSE_GENERATED_CODE","Internal compiler error. Cannot parse generated code: {0}");U("JSC_GENERATED_BAD_CODE","Internal compiler error. Generated bad code.----------------------------------------\nExpected:\n{0}\n----------------------------------------\nActual:\n{1}");xOb=U("JSC_EXTERN_PROPERTIES_CHANGED","Internal compiler error. Extern properties modified from:\n{0}\nto:\n{1}")}function ZLb(){}l(ZLb,ee);g=ZLb.prototype;g.B=function(){return!0};
  3578. g.add=function(){return!1};g.h=function(){return jf().h()};g.w=function(){return 0};g.Y=function(){return Ud(this)};g.da=function(a){return jd(this,a)};g.S=function(){return ld(this)};g.Z=function(a){xc(this,a)};function yOb(){this.b=this.c=0}l(yOb,n);function KMb(){var a=new yOb;a.a=Mg();a.c=0;a.b=0;a.f=ef();return a}function A8(a,b){x(a.a,b);for(var c=-1,d=c;0<=(c=ni(b,10,c+1));)++a.c,d=c;a.b=-1==d?a.b+b.length:b.length-(d+1);return a}yOb.prototype.toString=function(){return this.a.toString()};
  3579. function zOb(){this.a=0}var xMb,UMb;l(zOb,z);function AOb(a,b){var c=new zOb;c.b=a;c.a=b;return c}zOb.prototype.R=function(a){return z.prototype.c.call(this,a)};function wMb(){wMb=function(){};xMb=AOb("START",0);UMb=AOb("END",1)}function BOb(){}l(BOb,RT);function COb(a){if(!EI(a)||!ix(a))return!1;E(gF(a));a=a.a;if(!Yw(a))return!1;var b=a.a;if(!$w(b)||!DC(O(a)))return!1;for(a=BA(b).h();a.i();){b=a.j();if(!Lx(b)||b.bb())return!1;E(gF(b));if(!L(b.a))return!1}return!0}
  3580. BOb.prototype.J=function(a,b){if(COb(b)){var c=b,d=b.a,e=O(d);for(d=BA(d.a).h();d.i();){var f=d.j(),h=f.a;f=GG(sx(NA(e),GG(ux(f.l()),f)),h);h=GG(Ww(S(h),f),b);nF(c.m(),h,c);c=h}S(b);NT(a)}};function a9(){}l(a9,n);a9.prototype.ga=function(a,b,c){if(!P(b))return!0;TG(c)&&pH(c.m())?(a=R(gG(c)),Aw(a)?this.a.Ea(Af()):this.a.Ea(Zca(a))):aH(b)||this.a.Ea(Af());return!0};
  3581. a9.prototype.J=function(a,b){WH(b)?(F(!this.a.D(),"`super` cannot appear outside a function"),a=this.a.Na(),null!=a.a&&DC(Cf(a))&&(a=NA(Cf(a)),qD(b,a),Z(this.b,a))):P(b)&&!aH(b)&&this.a.Ta()};a9.prototype.la=!0;function DOb(){this.b=!1}var EOb;l(DOb,n);
  3582. DOb.prototype.H=function(a,b){a=new a9;var c=this.a;a.a=Uk();a.b=c;Y(a.b,b,a);Y(this.a,b,new BOb);for(this.c=j$a(this.a,b);this.b;)for(this.b=!1,b=this.c,a=Vk(g9a(b));!a.D();)if(c=a.Ta(),!D9a(c)){if(!q(c.Oa,(MZ(),e_))&&1==c.c&&0==c.f){var d=Li(c.hb(),c),e=Li(d.N(),d);if(e=sL(e)){if(lL(e)){var f=e.a;F(L(f),f);f=te(f.l())?null:f}else hT(e)?(f=e.a,f=L(f)?f:null):f=null;if(f){var h=f.l();f=kT(this.a);e=f.b(e,d.c);h=G(e.T(h));f=n2a(this.a,(PW(),NW),f,ik(h));p2a(f,e);f=f.b.get(h);e=pm();for(f=f.h();f.i();)h=
  3583. f.j(),UI(h.N().m())&&e.add(FOb(this,d,h));t_(this.c,e)}}if(0<c.F||0<c.ja)for(d=c,e=b,f=Jd(NZ(d)).h();f.i();){var k=f.j();h=WR(k.c);if(q(k.a,(OZ(),UZ))&&!GOb(k)&&!k.b){var m=d,p=k,t=e;h=p.N().m();if(L(h)||kH(h)){var v=L(h)?h:h.a;k=v.l();var C=p.c.T(k);Ji(!!C,"Expected variable to be defined in scope",k);var J=n2a(this.a,(PW(),NW),kT(this.a),ik(C)),K=C.ya();p2a(J,K);C=J.b.get(C);J=pm();if(fV(C)&&hV(C)){h=C.a.w();for(k=ZU(C.a.G(0))?1:2;k<h;k++)m=C.a.G(k),J.add(FOb(this,p,m));HOb(this,p,v);t_(t,J)}else if(I9a(m)){a:{J=
  3584. t;var Ca=C;K=null;for(var Wa=Ca.h();Wa.i();){var Ma=Wa.j();if(q(Ma.N(),v))K=Ma.c;else if(cV(Ma)){p=!1;break a}}Wa=pm();var Vb=Ma=!1;for(Ca=Ca.h();Ca.i();){var sc=Ca.j();if(q(sc.N(),v))Ma=!0;else if(!YU(sc.a)){var gc=sc.c;!q(gc,K)&&f_a(K,gc)||q(gc,K)&&Ma?(this.b=!0,Wa.add(FOb(this,p,sc))):Vb=!0}}Vb||HOb(this,p,v);this.b&&t_(J,Wa);p=!Vb}if(!p){a:{for(C=C.a.h();C.i();)if(p=C.j(),$U(p)&&N($U(p))&&(p=p.N().b.l(),p=r(m.va())+"."+r(p),(p=t.Mb(p))&&f_(p))){t=!0;break a}t=!1}t&&X(this.a,V(h,EOb,A([k],B,y,
  3585. 1)))}}}}else if(q(k.a,(OZ(),UZ))&&nL(h)&&!k.b){if(h=d,t=e,m=k.N().m(),(kH(m)||L(m))&&$3a(m)||L(m)&&I9a(h))if(C=L(m)?m:m.a,!(!DC(C)||L(C)&&MX(this.a).Ie(C.l(),!1)||(p=t.ob(EC(C)),!p||cd(h,p)&&kH(m)||(J=B9a(p),q(J,VZ))))){C=pm();v=p;K=k;Ca=C;for(Wa=Jd(NZ(v)).h();Wa.i();)switch(Ma=Wa.j(),Ma.a.a){case 0:continue;case 4:case 3:case 2:case 5:case 7:if(Ma.b){F(q(Ma.a,(OZ(),UZ)),Ma);break}Lx(Ma.N())?tEb(Ma.N(),NA(K.N()),Ca,Ma,this.a):(E(N(Ma.N())||L(Ma.N())),Vb=NA(K.N()),qD(Ma.N(),Vb),Z(this.a,Vb),Ca.add(n_(Ma.f,
  3586. Ma.c,Vb)));c_(v,Ma);break;default:throw ob().s;}IOb(this,p,k.N(),0,C);if(q(J,WZ)){v=p.hb();if(v.b){F(kH(m),m);J=m.m();qD(m,S(k.N()));m=p;p=v;if(!q(p.o,m))throw ua(Hi("removeTwinRefs(%s): node does not belong to this name: %s",[p,m])).s;Ji(m.u.B(p),"removeRef(%s): unknown ref",p);v=p.b;Fi(!!v,p);y9a(m,p);z9a(m,p);z9a(m,v);C.add(n_(k.f,k.c,k.N()));Z(this.a,J)}else pF(m,k.N(),Tx()),Z(this.a,m);this.b=!0;c_(h,k)}t_(t,C)}}else if(l9a(d)&&q(k.a,(OZ(),N9a))&&d.b)for(h=d.b.h();h.i();)t=h.j(),JOb(this,d,k,
  3587. t,e)}}d=c;c=a;if(e=q(d.g,(PZ(),QZ))||q(d.g,(PZ(),RZ))||l9a(d)){a:{e=!1;for(f=NZ(d).h();f.i();)if(h=f.j(),l_(h)&&!yEb(h)){if(e){e=!0;break a}e=!0}e=!1}e=!e&&d.b}if(e)if(0==d.F)c.na(d.b);else for(d=d.b.h();d.i();)e=d.j(),f_(e)&&c.add(e)}};
  3588. function JOb(a,b,c,d,e){if(f_(d)){c=c.N();var f=c.m();Fi(kA(f),f);if((c=PI(gG(f))?f.m():kH(gG(c))?iF(f):rJ(f)?f.a:null)&&DC(c)&&(f=EC(c),c=r(f)+"."+r(d.v),c=e.Mb(c),!c||!(0<c.f||0<c.c))){if((f=e.Mb(f))&&0<f.ja)for(f=NZ(f).h();f.i();){var h=f.j();q(h.a,(OZ(),N9a))&&JOb(a,b,h,d,e)}if(c){d=pm();b=b.hb().N();if(L(b))b=CG(b);else if(N(b))b=NA(b);else return;KOb(a,b,0,d,c);t_(e,d)}}}}
  3589. function GOb(a){if(nL(a.c))return!0;var b=a.N().m();if(!kH(b)&&!L(b))return!0;b=L(b)?b:b.a;if(!L(b))return!0;b=b.l();return(a=a.c.T(b))?mL(a):!0}function HOb(a,b,c){c=c.m();if(PI(c)||!uY(c))c=b.N().m(),pF(c,b.N(),Tx()),c_(b.o,b),a.b=!0,Z(a.a,c)}function FOb(a,b,c){var d=b.N();b=c.N();F(DC(b),b);d=L(d)?CG(d):NA(d);HG(d,b);pF($U(c),b,d);Z(a.a,d);a=a.a.f(c.f);return n_(a?a.a:null,c.b,d)}
  3590. function IOb(a,b,c,d,e){if(b.b)for(Ki(!yG(c,SZ(b)),"%s should not match name %s",c,SZ(b)),b=b.b.h();b.i();){var f=b.j();KOb(a,c,d,e,f)}}
  3591. function KOb(a,b,c,d,e){IOb(a,e,b,c+1,d);for(var f=Jd(NZ(e)).h();f.i();){var h=f.j(),k=h.N();if(Lx(k)&&Xw(k.m()))Ji(kH(gG(k))||Yw(gG(k)),"Did not expect GlobalNamespace to create Ref for key in nested object pattern %s",k);else{for(var m=0;m<=c;m++)if(N(k))k=k.a;else if(z3a(k))k=gG(k),kH(k)?k=k.a:E(z3a(k));else throw pb("unexpected node: "+r(k)).s;E(N(k)||L(k));m=NA(b);qD(k,m);Z(a.a,m);c_(e,h);d.add(n_(h.f,h.c,h.N()));a.b=!0}}}
  3592. function LOb(){LOb=function(){};EOb=AJ("JSC_UNSAFE_CTOR_ALIASING","Variable {0} aliases a constructor, so it cannot be assigned multiple times")}function MOb(){}l(MOb,n);MOb.prototype.H=function(){};function NOb(){}l(NOb,RT);NOb.prototype.H=function(a,b){Y(this.a,b,this)};NOb.prototype.J=function(a,b,c){if(eH(b)){var d=b.a;L(d)&&li(d.l(),"JSCOMPILER_PRESERVE")&&(d=O(b),BG(b),pF(c,b,d),NT(a))}};function OOb(){}l(OOb,n);
  3593. function POb(a,b,c){var d=new OOb;d.a=a;d.b=w();d.f=b;a=d.g=c;do a=a.m(),d.b.add(a);while(kH(a)&&DC(a.a));d.c=a.m();return d}function QOb(){}l(QOb,RT);QOb.prototype.J=function(a,b,c){kH(b)?(a=O(b),DC(b.a)&&DC(a)&&yG(a,"goog.abstractMethod")?this.a.b.add(POb(this.a,b.a,b)):nG(b)&&Ay(nG(b),268435456)&&!dE(nG(b))&&!kA(a)&&this.a.b.add(POb(this.a,b.a,b))):LH(b)&&pH(c)&&nG(b)&&Ay(nG(b),268435456)&&this.a.c.add(b)};function ROb(){}l(ROb,RT);
  3594. function SOb(a){var b=new ROb;b.a=a;b.b=Oab(MX(a.a).jh());return b}ROb.prototype.J=function(a,b){eH(b)&&Pab(this.b,b.a)&&this.a.f.add(b)};function b9(){}l(b9,n);function TOb(a){return a instanceof b9}function UOb(){}l(UOb,n);function VOb(a,b){var c=new UOb;c.b=a;c.a=za([b.w()],b9,TOb,b9.a);for(a=0;a<b.w();a++){var d=c.a,e=a,f=b.G(a),h=new b9,k=h;k.a=null;k.c=f;wWa(f)?k.b=f:k.b=null;d[e]=h}return c}function WOb(a,b,c){1==c.w()?Y(a,b,c.G(0)):VOb(a,c).H(null,b)}g=UOb.prototype;
  3595. g.H=function(a,b){Y(this.b,b,this)};g.ra=function(a){Y(this.b,a,this)};g.ga=function(a,b,c){if(yZ(this.b))return!1;for(var d=this.a,e=0;e<d.length;e++){var f=d[e],h=b;f.a||f.c.ga(a,h,c)||(f.a=h)}return!0};g.J=function(a,b,c){if(!yZ(this.b))for(var d=this.a,e=0;e<d.length;e++){var f=d[e],h=b;f.a?q(f.a,h)&&(f.a=null):f.c.J(a,h,c)}};g.Hb=function(a){for(var b=this.a,c=0;c<b.length;c++){var d=b[c];!d.a&&d.b&&d.b.Hb(a)}};g.Tb=function(a){for(var b=this.a,c=0;c<b.length;c++){var d=b[c];!d.a&&d.b&&d.b.Tb(a)}};
  3596. g.la=!0;g.ic=!0;function XOb(){this.o=this.g=!1}l(XOb,n);
  3597. XOb.prototype.H=function(a,b){a=w();if(this.g){var c=new QOb;c.a=this;a.add(c)}this.o&&a.add(SOb(this));WOb(this.a,b,a);for(b=this.b.h();b.i();){a=b.j();c=a.f.b;for(var d=a.g,e=a.b.h();e.i();){var f=e.j();yH(f)?(oF(a.c,f),uX(f,a.a.a)):(S(c),pF(f,d,c));d=f}Z(a.a.a,a.c)}for(b=this.c.h();b.i();)a=b.j(),j4a(this.a,a.a),c=a.m(),oF(c,a),Z(this.a,c);for(b=this.f.h();b.i();)a=b.j(),Z(this.a,a),c=a.m(),yH(c)?(S(c),uX(c,this.a)):((d=R(a))?(d=S(d),Q(d,a.f),pF(c,a,d)):pF(c,a,vX(a)),uX(a,this.a))};
  3598. function YOb(){this.f=this.o=this.c=!1}l(YOb,n);function ZOb(a,b){var c=new YOb;c.u=a;c.c=!1;c.b=Uk();c.a=null;c.o=!1;c.f=!1;c.g=b;return c}YOb.prototype.toString=function(){return this.g};function $Ob(a,b){var c=!1;a.c||(c=a.c=!0);var d=a.a;a.a=a.a?D_a(a.u.F,a.a,b):b;q(d,a.a)||(c=!0);return c}function aPb(){}l(aPb,RT);aPb.prototype.J=function(a,b){N(b)?this.a.a.Pf(this.a.b,this.a.o,c9(this.a,O(b).l(),(d9(),e9))):(LH(b)||CH(b)||VH(b))&&this.a.a.Pf(this.a.b,this.a.o,c9(this.a,b.l(),(d9(),e9)))};
  3599. function bPb(){}l(bPb,n);g=bPb.prototype;g.Vf=function(){return this.c};g.zn=function(){return O(this.a.a)};g.Ug=function(){return this.b};g.pl=!0;g.om=!0;function f9(){}l(f9,n);function cPb(a,b,c){var d=new f9;E(pH(a.m()));E(LH(a)||VH(a)||CH(a));d.b=a;d.c=b;d.a=c;return d}f9.prototype.Vf=function(){return this.c};f9.prototype.Ug=function(){return this.a};f9.prototype.pl=!0;function dPb(){}l(dPb,n);function ePb(a,b,c){var d=new dPb;a=a.m();E(PI(a)&&mL(b)||qJ(a));d.b=b;d.a=c;return d}
  3600. dPb.prototype.Vf=function(){return this.b};dPb.prototype.Ug=function(){return this.a};function fPb(){}l(fPb,n);g=fPb.prototype;g.Vf=function(){return this.b};g.zn=function(){return this.c};g.Ug=function(){return this.a};g.pl=!0;g.om=!0;function gPb(){}l(gPb,n);function g9(a,b){var c=new gPb;c.a=a;c.b=b;return c}function hPb(){this.a=0}var iPb,jPb;l(hPb,z);function kPb(a,b){var c=new hPb;c.b=a;c.a=b;return c}hPb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  3601. function lPb(){lPb=function(){};iPb=kPb("PROPERTY",0);jPb=kPb("VAR",1)}function mPb(){}l(mPb,n);g=mPb.prototype;g.Hb=function(a){var b=a.a,c=ET(a),d=c.ka();P(d)?(d=nPb(b),null!=d?this.b.Ea(g9(c9(this.a,d,(d9(),e9)),c)):oPb(a,b)?(a=b.m(),b=L(a)?a.l():b.a.l(),this.b.Ea(g9(c9(this.a,b,(d9(),h9)),WR(c)))):this.b.Ea(g9(this.a.g,c))):IT(a)?this.b.Ea(g9(this.a.f,c)):(F(ZR(d)||NH(d),c),this.b.Ea(g9(this.a.g,c)))};g.Tb=function(){this.b.Ta()};
  3602. g.ga=function(a,b,c){this.a.u||(a=pPb(b,c),null!=a&&this.b.Ea(g9(c9(this.a,a,(d9(),e9)),null)));return!0};
  3603. g.J=function(a,b,c){switch(b.c.a){case 103:for(a=this.b.h();a.i();){var d=a.j();d.a.f=!0;if(zX(d.b.ka()))break}break;case 26:d=R(b).l();if(DC(b))if("prototype"===d){a:{var e=PX(b);var f=b.m();switch(f.c.a){case 26:var h=R(f);var k=f.m();var m=k.m();if(Dw(h)&&nX(m)&&CX(f,k)){h=h.l();e=qPb(a,e);k=BT(a);f=new bPb;f.a=m;f.c=e;f.b=k;c9(this.a,h,(d9(),e9)).b.add(f);e=!0;break a}break;case 50:if(m=R(f),SH(m)){for(m=m.a;m;m=m.b)if(!m.bb()&&!rH(m)){h=m.l();var p=qPb(a,e),t=BT(a);f=k=new fPb;f.c=m.a;f.b=p;
  3604. f.a=t;c9(this.a,h,(d9(),e9)).b.add(k)}e=!0;break a}}e=!1}if(e)return}else{if(MX(this.a.c).Cd(d)){rPb(this,d,BT(a),(d9(),e9));return}if(kH(c)&&q(b,c.a)&&null!=nPb(b))return}sPb(this,d,BT(a),(d9(),e9));break;case 46:if(d=tY(sY(b)),null!=d&&ki(d,".prototype"))return;case 98:for(d=b.a;d;d=d.b)switch(d.c.a){case 122:case 118:case 119:case 120:case 121:break;case 95:case 90:case 91:case 102:d.bb()||sPb(this,d.l(),BT(a),(d9(),e9));break;default:throw pb("Unexpected child of "+r(b.c)+": "+r(uD(d))).s;}break;
  3605. case 100:d=O(b);for(d=d.a;d;d=d.b)if(LH(d)||VH(d)||CH(d))e=a,m=d,E(LH(m)||CH(m)||VH(m)),h=m.l(),VW(m)||TG(m)||(k=(k=SW(gG(m)))&&L(k)?ET(e).T(k.l()):null,c9(this.a,h,(d9(),e9)).b.add(cPb(m,k,BT(e))));break;case 32:if(e=b.l(),d=ET(a).T(e))if(mL(d))rL(d)&&P(rL(d))&&(JT(a)?(m=b.a,oPb(a,b.m())||m&&oPb(a,m)?(m=b.l(),c9(this.a,m,(d9(),h9)).b.add(ePb(b,d,BT(a))),(MX(this.a.c).Cd(m)||this.a.v)&&rPb(this,m,BT(a),h9),d=!0):d=!1,d||rPb(this,e,BT(a),(d9(),h9))):sPb(this,e,BT(a),(d9(),h9)));else if(!q(d.ya(),ET(a)))for(a=
  3606. this.b.h();a.i();){e=a.j();if(q(e.b,d.ya()))break;e.a.o=!0}}this.a.u||null==pPb(b,c)||this.b.Ta()};function sPb(a,b,c,d){b=c9(a.a,b,d);d=null;for(var e=a.b.h();e.i()&&(d=e.j().a,q(d,a.a.g)););cd(d,b)||a.a.a.Pf(d,c,b)}function pPb(a,b){return b&&kH(b)&&!q(b.a,a)&&!P(a)?nPb(a):null}function oPb(a,b){return JT(a)||P(b)&&q(HT(a),b)&&nL(WR(ET(a).m()))?qJ(b)||P(b)&&L(b.m()):!1}
  3607. function nPb(a){a=sY(a);if(!a||!(FX(a)&&!a.bb()||nX(gG(a))))return null;a=tY(a);if(null==a)return null;var b=ti(a,46);return-1==b?null:ki(ne(a,0,b),".prototype")?a.substr(b+1):null}function qPb(a,b){return L(b)?ET(a).T(b.l()):null}function rPb(a,b,c,d){a.a.a.Pf(a.a.f,c,c9(a.a,b,d))}g.la=!0;g.ic=!0;function tPb(){}l(tPb,n);tPb.prototype.b=function(a,b,c){b=a.c?(a=a.a)&&jV(this.a.F,a,b)?$Ob(c,a):$Ob(c,b):!1;return b};function uPb(){this.u=this.v=this.A=!1}var e9,h9,vPb;l(uPb,n);
  3608. uPb.prototype.H=function(a,b){E(bJ(this.c.c));if(!this.A){var c=this.c,d=new aPb;d.a=this;Y(c,a,d)}a=this.c;c=new mPb;c.a=this;c.b=Uk();Y(a,b,c);b=new tPb;b.a=this;njb(a2(b),this.a,em(this.b,this.f))};function c9(a,b,c){c=q(c,e9)?a.K:a.U;if(c.X(b))return c.get(b);var d=ZOb(a,b);c.C(b,d);a.a.se(d);return d}function d9(){d9=function(){};e9=(lPb(),iPb);h9=jPb;vPb=gm("length","toString","valueOf")}function wPb(){this.f=!1}var xPb;l(wPb,n);
  3609. wPb.prototype.H=function(a,b){if(1<this.g.a.length){this.o.H(a,b);a=this.o;b=Jd(a.K.values());b.na(a.U.values());a=0!=this.c.a;for(b=b.h();b.i();){var c=b.j();if(c.c&&!c.o){var d=c.a;if(d)for(var e=c.b.yn();e.i();){var f=e.j();if(null!=f&&f.om){var h=c,k=d,m=f;if(m.Vf()&&mL(m.Vf())&&!h.f){var p=m.zn();f=p.m();if(P(p)&&!CH(f)&&!VH(f)&&jV(this.g,k,m.Ug())&&!yPb(h,m)){k=OY(this.b,k);if(LH(f)){f=h.g;F(P(p),p);h=p.m();F(LH(h),h);m=h.m();F(SH(m),m);var t=m.m();F(kH(t)&&jG(m,t),t);var v=t.a;F(DC(v)&&li(O(v).l(),
  3610. "prototype"),v);if(this.f)S(h),Z(this.b,m),m=sS(this.a,NA(v),f),f=JG,p=S(p),p=iS(yS(this.a,m,p)),p=f(p,h),Mx(k,p);else{t=this.c.a++;var C=zPb(this,p,t);qD(h,uS(this.a,f,C));Z(this.b,m);f=sS(this.a,NA(v),f);p=APb(this,S(p),t);p=JG(iS(yS(this.a,f,p)),h);Mx(k,p)}}else Lx(f)?(f=h.g,F(P(p),p),h=p.m(),F(Lx(h),h),m=h.m(),F(SH(m),m),t=m.m(),F(kH(t)&&jG(m,t),t),v=t.a,F(DC(v)&&li(O(v).l(),"prototype"),v),this.f?(S(h),Z(this.b,m),f=sS(this.a,NA(v),f),S(p),p=JG(iS(yS(this.a,f,p)),h),Mx(k,p)):(t=this.c.a++,C=
  3611. zPb(this,p,t),qD(p,C),Z(this.b,m),f=sS(this.a,NA(v),f),p=APb(this,p,t),p=JG(iS(yS(this.a,f,p)),h),Mx(k,p))):(F(kH(f),f),F(P(p),p),f=p.m(),F(kH(f)&&jG(p,f),f),h=f.m(),F(yH(h),f),this.f?(p=h.m(),S(h),Z(this.b,p),Mx(k,h)):(t=this.c.a++,v=yw(),qD(p,v),f=NA(h),m=O(fF(f)),C=zPb(this,p,t),qD(v,C),Z(this.b,h),p=APb(this,p,t),qD(m,p),Mx(k,f)));Z(this.b,k)}}}else f instanceof f9&&(p=c,h=d,m=f,(f=m.Vf())&&mL(f)&&(k=m.b,!LH(k)||VW(k)||p.f||!jV(this.g,h,m.Ug())||yPb(p,m)||(p=OY(this.b,h),m=f.va(),this.f?(Fi(LH(k),
  3612. k),h=G(k.m()),F(pH(h),h),f=h.m(),F(kA(f),f),S(k),Z(this.b,h),h=vVa(this.a,mS(this.a,m,f.f),A([k.l()],B,y,1)),f=G(fF(k)),S(f),k=JG(iS(yS(this.a,h,f)),k),Mx(p,k)):(Fi(LH(k),k),f=G(k.m()),F(pH(f),f),t=f.m(),F(kA(t),t),h=this.c.a++,m=vVa(this.a,mS(this.a,m,t.f),A([k.l()],B,y,1)),t=zPb(this,k,h),t=JG(iS(yS(this.a,m,t)),k),v=jX(f),nF(v.m(),t,v),S(k),Z(this.b,f),f=NA(m),m=G(fF(k)),S(m),h=APb(this,m,h),k=JG(iS(yS(this.a,f,h)),k),Mx(p,k)),Z(this.b,p))))}else X(this.b,UL(xPb,A([],B,y,1)))}}this.f||a||0==this.c.a||
  3613. (a=Ljb(this.b,"var JSCompiler_stubMap = [];function JSCompiler_stubMethod(JSCompiler_stubMethod_id) { return function() { return JSCompiler_stubMap[JSCompiler_stubMethod_id].apply( this, arguments); };}function JSCompiler_unstubMethod( JSCompiler_unstubMethod_id, JSCompiler_unstubMethod_body) { return JSCompiler_stubMap[JSCompiler_unstubMethod_id] = JSCompiler_unstubMethod_body;}"),DY(a,this.b),b=OY(this.b,null),kF(b,pD(a)),Z(this.b,b))}};
  3614. function zPb(a,b,c){return JG(wS(a.a,tVa(a.a,"JSCompiler_stubMethod"),A([kVa(a.a,c)],lx,eI,1)),b)}function APb(a,b,c){return JG(wS(a.a,tVa(a.a,"JSCompiler_unstubMethod"),A([kVa(a.a,c),b],lx,eI,1)),b)}function yPb(a,b){BPb();for(a=a.b.h();a.i();){var c=a.j();if(null!=c&&c.pl&&!q(b,c)&&q(b.Vf(),c.Vf())&&!q(b.Ug(),c.Ug()))return!0}return!1}function BPb(){BPb=function(){};xPb=U("JSC_INTERNAL_ERROR_MODULE_DEPEND","null deepest common module")}function CPb(){this.g=0}l(CPb,n);function DPb(){this.v=0}
  3615. l(DPb,n);g=DPb.prototype;g.H=function(a,b){F(this.f.D(),"process() called more than once");sT(mT(this.c,this,this.u),a,b)};g.J=function(a,b,c){if(this.a)if(cd(b,this.a.o))this.f.add(EPb(this,this.a)),this.a=null;else if(L(b)){var d=b.l(),e=ET(a).T(d);e&&mL(e)&&!MX(this.c).Cd(e.va())&&(this.o.X(d)?E(bd(this.o.get(d),e)):this.o.C(d,e),a=i_a(b,a,rp(this.b)),q(a.N(),this.a.a)?this.a.c=a:this.a.f.add(a),d=this.g.get(e),d||(d=m_a(),this.g.C(e,d)),n_a(d,a))}FPb(b,c)&&(b=this.b,b.Wa(b.w()-1))};
  3616. g.Hb=function(a){var b=HT(a),c=this.b.D()?null:rp(this.b);DT(HT(a))&&this.b.add(XU(c,b))};g.Tb=function(a){DT(HT(a))&&(a=this.b,a.Wa(a.w()-1))};
  3617. g.ga=function(a,b,c){if(c&&f4a(c)){F(!this.a,b);var d=BT(a),e=this.v++;a=new CPb;a.f=w();a.b=null;a.a=null;a.c=null;a.g=e;a.u=d;a.o=b;if(PI(b))a.a=b.a,a.b=hF(b);else if(kA(b))a.a=b.a,a.b=b;else if(P(b))a.a=b.a,a.b=b;else if(yH(b))if(e=G(b.a),kH(e))if(d=G(e.a),e=G(R(e)),L(d))a.a=d,a.b=e;else{if(N(d)){for(d=G(d.a);N(d);)d=G(d.a);L(d)&&(a.a=d,a.b=e)}}else if(eH(e)){var f=d=null,h=MX(this.c).zd(e);if(h)for(h=G(h.a),e=R(e);e;e=e.b){if(L(e)&&li(h,e.l())){d=e;break}}else SX(e)&&(e=R(e),d=L(e)?e:e.a,f=e.b);
  3618. d&&(a.a=d,a.b=f)}this.a=a}FPb(b,c)&&this.b.add(XU(rp(this.b),b));return!0};function FPb(a,b){if(b)switch(b.c.a){case 75:case 76:case 77:case 105:case 106:case 47:case 74:case 81:case 100:return!0;case 65:case 63:case 70:case 64:case 71:case 66:return!q(a,b.a)}return mH(a)}
  3619. function i9(a,b,c){if(!c||tJ(c,!0)||P(c))return!0;switch(c.c.a){case 100:c=O(c);for(c=c.a;c;c=c.b)if(rH(c)){var d=c.a,e=O(c);F(P(e),e);if(!i9(a,b,d))return!1}else F(LH(c)||HX(c),c);return!0;case 28:return a=G(c.a),L(a)&&li(a.l(),"JSCompiler_stubMethod");case 45:for(c=c.a;c;c=c.b)if(!i9(a,b,c))return!1;return!0;case 46:for(c=c.a;c;c=c.b)switch(c.c.a){case 102:case 90:case 91:break;case 122:if(!i9(a,b,c.a)||!i9(a,b,O(c)))return!1;break;case 95:case 121:if(!i9(a,b,fF(c)))return!1;break;default:throw pb("Unexpected child of OBJECTLIT: "+
  3620. r(uD(c))).s;}return!0;case 32:if((b=b.T(c.l()))&&mL(b)&&(a=a.g.get(b))&&fV(a)&&hV(a))return!0;break;case 124:for(c=c.a;c;c=c.b)if(ZH(c)){if(!i9(a,b,c.a))return!1}else F(YH(c),c);return!0}return!1}g.la=!0;g.ic=!0;function GPb(){this.a=0}l(GPb,n);function EPb(a,b){var c=new GPb;c.g=a;c.a=b.g;c.c=b.u;c.u=b.o;c.f=qf(b.f);c.b=b.c;c.o=b.b;return c}function HPb(){}l(HPb,n);function IPb(a,b){var c=new HPb;c.f=ef();c.b=Uk();c.c=a;c.a=b;return c}function JPb(){this.a=0;this.c=this.g=!1}l(JPb,n);
  3621. JPb.prototype.toString=function(){return this.A.va()};function KPb(){}l(KPb,n);KPb.prototype.b=function(){return this.c};KPb.prototype.a=function(){return this.f};function LPb(){}l(LPb,n);LPb.prototype.b=function(){return this.c.a};LPb.prototype.a=function(){return this.f};function MPb(){}l(MPb,n);function NPb(a,b){var c=a.b.get(b);c||(c=new JPb,c.u=a.a,c.b=Uk(),c.f=kn(c.u.b.a.length),c.v=pm(),c.o=Uk(),c.a=-1,c.g=!1,c.c=!1,c.A=b,a.b.C(b,c),a.c.Ea(c));return c}function OPb(){}l(OPb,n);
  3622. function PPb(){}l(PPb,n);function QPb(){this.c=0}l(QPb,n);function RPb(a,b){Ji(0>b.a,"already processed: %s",b);b.a=a.c++;a.a.Ea(b);a.b.Ea(b);for(var c=b.v.h();c.i();){var d=c.j();if(0>d.a)RPb(a,d);else if(!d.g)for(;a.a.Na().a>d.a;)a.a.Ta()}if(cd(a.a.Na(),b)){a.a.Ta();c=new PPb;c.b=a.g;c.a=Uk();do d=a.b.Ta(),c.a.add(d),d.g=!0;while(!cd(d,b));a.f.add(c)}}function SPb(){this.c=!1}l(SPb,n);
  3623. SPb.prototype.H=function(a,b){if(1<this.b.a.length){var c=kT(this.a),d=new DPb,e=this.a;d.o=bf();d.g=Uf();d.b=w();d.f=w();d.v=0;d.a=null;d.c=e;d.u=c;F(d.f.D(),"process() called more than once");nT(mT(d.c,d,d.u),b);var f=new MPb;f.a=this;f.b=bf();f.c=Uk();for(var h,k=qf(d.f).h();k.i();){var m=k.j();if(m.b){var p=f,t=m,v=NPb(p,G(t.b).hg()),C=t.c,J=v.b.Na();J||(J=IPb(v,C),v.b.Ea(J));if(cd(C,J.a))var K=J;else K=IPb(v,C),v.b.Ea(K);K.b.Ea(t);var Ca=K;for(var Wa=qf(t.f).h();Wa.i();){var Ma=Wa.j(),Vb=NPb(p,
  3624. Ma.hg());if(!cd(Vb,v)){if(p.a.c){var sc=Ma.N();if(TPb(sc)||UPb(sc))continue;else if(VPb(sc)){var gc=new LPb,tc=gc,Qb=Ma;tc.c=Ca;tc.f=Qb;Vb.o.Ea(gc);continue}}Ca.f.add(Vb);Vb.v.add(v)}}}else for(var Wb=f,Rd=m,Ne=qf(Rd.f).h();Ne.i();){var Jc=Ne.j();a:{var kd=Wb,Cc=Jc,pc=Rd.c,Db=NPb(kd,Cc.hg());if(kd.a.c){var Rb=Cc.N();if(TPb(Rb)||UPb(Rb))break a;if(VPb(Rb)){var Uc=new KPb,ad=Uc,rf=Cc;ad.c=pc;ad.f=rf;Db.o.Ea(Uc);break a}}rn(Db.f,pc.a)}}}h=f.c;var uc=new QPb;uc.g=this;uc.b=Uk();uc.a=Uk();uc.c=0;uc.o=
  3625. h;uc.f=Bga(h.w());for(var Nc=uc.o.h();Nc.i();){var Xb=Nc.j();0>Xb.a&&RPb(uc,Xb)}for(var Nb=uc.f.h();Nb.i();){for(var ic=Nb.j(),Vc=ic.a.h();Vc.i();){var sd=Vc.j();Ji(!sd.c,"duplicate attempt to move %s",sd)}for(var Ye=kn(ic.b.b.a.length),Hf=ic,Ie=w(),Be=null,fe=Uk(),mh=Hf.a.h();mh.i();){var mf=mh.j(),Od=fe,Se=Vk(mf.b);for(fe=Bga(Od.w()+Se.w());;)if(Od.D()){fe.na(Se);break}else if(Se.D()){fe.na(Od);break}else{var eg=Od.Na(),pg=Se.Na();eg.a.a>pg.a.a?(fe.add(Od.Ta()),F(Od.D()||Od.Na().a.a<=eg.a.a,"DSG stacks are out of order.")):
  3626. (fe.add(Se.Ta()),F(Se.D()||Se.Na().a.a<=pg.a.a,"DSG stacks are out of order."))}}for(var vf=fe.h();vf.i();){var qe=vf.j();if(!Be||!cd(Be.b,qe.a)){var Pd=new OPb,wf=Pd,fg=qe.a;wf.a=Hf.b;wf.b=fg;wf.c=Uk();Be=Pd;Ie.add(Be)}Be.c.add(qe)}for(var Ec=Ie.h();Ec.i();){for(var oi=Ec.j(),Qf=ic.a.h();Qf.i();){var Ni=Qf.j();qn(Ye,Ni.f)}var re=oi,Je=void 0,Ce=void 0,nf=void 0,Xc=re,nh=Ye;if(0==on(nh))nf=Xc.b;else{a:{for(var Dd=Xc.c.h();Dd.i();){b:{for(var Qg=Dd.j().b.h();Qg.i();){var Rf=Qg.j();if(!Rf.b||!i9(Rf.g,
  3627. Rf.b.b,Rf.o)){var pi=!1;break b}}pi=!0}if(!pi){Je=!1;break a}}Je=!0}if(Je){var gg=Xc.a.b,Rh=Xc.b;E(0!=on(nh));var If=gg.a.length,ke=kn(gg.a.length);wia(ke,0,gg.a.length);for(var Gd=pn(nh,0);0<=Gd;Gd=pn(nh,Gd+1)){If=Math.min(If,Gd);var xf=ke,Oi=gg.b[Gd];if(!q(xf,Oi)){for(var Sh=Math.min(xf.a.length,Oi.a.length),Ag=0;Ag<Sh;Ag++){var se=xf.a[Ag]|0;0!=se&&(xf.a[Ag]=se&(Oi.a[Ag]|0))}var jk=xf.a,oh=Ag,qg=xf.a.length;Ld(oh,qg,jk.length);Tda(jk,oh,qg,0)}}Ji(0!=on(ke),"No common dependency found for %s",nh);
  3628. for(var yf=Rh.a,of=yf,hg=via(ke,If);0<=hg;hg=via(ke,hg-1)){var ig=gg.b[hg];nn(ig,yf)&&(sia(ke,ig),gg.f[hg]<gg.f[of]&&(of=hg))}Ce=gg.a[of]}else Ce=Xc.b;nf=Ce}var ph=nf;if(!cd(ph,re.b)){var Jf=re,xd=ph,Bg=Jf.a.f.get(xd);Bg||(Bg=OY(Jf.a.a,xd),Jf.a.f.C(xd,Bg));for(var qh=Uk(),ai=Jf.c.h();ai.i();){var Rg=ai.j(),rh=Vk(Rg.b),ge=qh;for(qh=Bga(rh.w()+ge.w());;)if(rh.D()){qh.na(ge);break}else if(ge.D()){qh.na(rh);break}else{var Ke=rh.Na(),pf=ge.Na();Ke.a>pf.a?(qh.add(rh.Ta()),F(rh.D()||rh.Na().a<Ke.a,"Statements are recorded in the wrong order.")):
  3629. (qh.add(ge.Ta()),F(ge.D()||ge.Na().a<pf.a,"Statements are recorded in the wrong order."))}}for(var jg=qh.h();jg.i();){var sh=jg.j().u;Z(Jf.a.a,sh);S(sh);Mx(Bg,sh);Z(Jf.a.a,sh)}}for(var uj=re.c.h();uj.i();){var Cg=uj.j();Cg.a=ph;var Pi=Cg;rn(Pi.c.f,Pi.a.a);for(var Eh=Pi.f.h();Eh.i();){var th=Eh.j();Ki(!th.c,"symbol %s moved before referring symbol %s",th,Pi.c);rn(th.f,Pi.a.a)}}}for(var Sg=ic.a.h();Sg.i();)Sg.j().c=!0}for(var id=h.h();id.i();)for(var Md=id.j(),vj=Md.o.h();vj.i();){var cj=vj.j();a:{for(var bi=
  3630. Md,wj=cj.b(),ci=bi.b.h();ci.i();){var Sf=ci.j();if(cd(wj,Sf.a)||jV(bi.u.b,wj,Sf.a)){var Th=!0;break a}}Th=!1}if(!Th){var qi=cj.a().N();Ji(VPb(qi),"instanceof Reference is already guarded: %s",qi);var ri=G(qi.m()),di=CG(qi),ei=Lw();qD(ri,ei);var Qi=Bx(ex((H(),ks),ux("undefined"),Ow(us,di)),ri);JG(Qi,ri);qD(ei,Qi);Z(this.a,Qi)}}}};function UPb(a){var b=gG(a);return b&&WPb(b,a)?(b=b.m(),!!b&&iH(b)&&XPb(O(b),a)):!1}
  3631. function WPb(a,b){if(OH(a)){var c=a.a;a=O(a);return Dw(c)&&li(c.l(),"undefined")&&cI(a)&&tD(a.a,b)}return!1}function TPb(a){var b=a.m();return XPb(b,a)?(b=b.m(),!!b&&iH(b)&&WPb(b.a,a)):!1}function VPb(a){var b=a.m();return XPb(b,a)?(b=b.m(),!(b&&iH(b)&&WPb(b.a,a))):!1}function XPb(a,b){return JH(a)&&tD(O(a),b)}function YPb(){this.a=0}var j9,k9;l(YPb,z);function ZPb(a,b){var c=new YPb;c.b=a;c.a=b;return c}YPb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  3632. function l9(){l9=function(){};j9=ZPb("EXPORT",0);k9=ZPb("EXTERN",1)}function $Pb(){this.a=!1}var aQb,bQb;l($Pb,RT);
  3633. $Pb.prototype.J=function(a,b,c){var d=nG(b);if(d&&Ay(d,1024)){if(kH(c)&&(P(b)||kA(b))&&(d=nG(c))&&Ay(d,1024))return;var e=d=null,f=null;switch(b.c.a){case 69:case 100:tC(c)&&(e=TT(b),f=b,d=(l9(),j9));break;case 50:a=c.m();yH(c)&&!kH(O(b))&&(a&&tC(a)&&DC(b.a)?(e=EC(b.a),f=b,d=(l9(),j9)):this.a&&N(b.a)&&(e=O(b.a).l(),d=(l9(),k9)));break;case 80:case 104:case 92:tC(c)&&b.a.a&&!kH(hF(b))&&(e=b.a.l(),f=b,d=(l9(),j9));break;case 26:this.a&&yH(c)&&(e=O(b).l(),d=(l9(),k9));break;case 102:if(kA(c.m())){c=
  3634. tY(sY(c.m()));if(null==c){MT(a,b,aQb,A([],B,y,1));return}this.c.C(b,r(c)+String(TG(b)?"":".prototype"));return}case 95:case 90:case 91:this.a&&(e=b.l(),d=(l9(),k9))}null!=e?q(d,(l9(),j9))?(G(f),this.f.C(e,f)):(E(!f),E(q(d,(l9(),k9))),E(!te(e)),this.g.add(e)):N(b)&&yH(c)||P(b)&&FX(c)||(this.a?X(this.b,V(b,aQb,A([],B,y,1))):X(this.b,V(b,bQb,A([],B,y,1))))}};
  3635. function cQb(){cQb=function(){};bQb=U("JSC_NON_GLOBAL_ERROR","@export only applies to symbols/properties defined in the global scope.");aQb=U("JSC_EXPORT_ANNOTATION_NOT_ALLOWED","@export is not supported on this expression.")}function dQb(){this.f=!1}l(dQb,n);
  3636. dQb.prototype.H=function(a,b){a=this.a;var c=this.f;cQb();var d=new $Pb;d.f=Uf();d.c=Uf();d.g=pm();d.b=a;d.a=c;Y(this.a,b,d);b=d.f;a=d.g;for(d=d.c.V().h();d.i();){var e=d.j();c=e.M();e=e.O();Fi(LH(c),c);Fi(!te(e),e);var f=r(e)+"."+r(c.l());eQb(this,e,c,f,c.l())}for(d=b.V().h();d.i();){c=d.j();e=c.M();f=c.O();c=b;var h=null,k=!1,m=null;if(N(f.a)){m=f.a;var p=m.a;h=EC(p);N(p)&&li(O(p).l(),"prototype")&&(k=!0);m=R(m).l()}p=!0;k?p=!1:null!=h&&c.X(h)&&(p=!1);p?(c=f,f=mi(e,46),-1==f?this.c.add(e):this.c.add(ne(e,
  3637. 0,f)),e=px(NX(this.a,this.g,c,e),A([ux(e),NX(this.a,e,c,e)],lx,eI,1)),e=JG(cx(e),c),Y(this.a,e,new I8),fQb(this,c,e)):eQb(this,h,f,e,m)}for(b=a.h();b.i();)a=b.j(),d=LX(this.a,"Object.prototype"),c=qy(eJ(this.a),(I(),Uv)),Q(d.a,c),d=cx(sx(d,ux(a))),HG(d,zZ(this.a).Pb(this.a)),bG(d,a),M(zZ(this.a).Pb(this.a),d),Z(this.a,d)};function eQb(a,b,c,d,e){G(b);b=px(NX(a.a,a.b,c,a.b),A([NX(a.a,b,c,a.b),ux(e),NX(a.a,d,c,a.b)],lx,eI,1));b=JG(cx(b),c);Y(a.a,b,new I8);fQb(a,c,b)}
  3638. function fQb(a,b,c){for(var d=MX(a.a);!jT(b.m());)b=b.m();for(;;){var e=b.b;if(e&&oX(e)&&d.zd(e.a))b=e;else break}nF(b.m(),c,b);Z(a.a,c)}function gQb(){}l(gQb,n);gQb.prototype.H=function(a,b){this.a.H(a,b);this.b.hd.na(this.a.c)};function hQb(){}l(hQb,n);hQb.prototype.H=function(a,b){var c=this.b,d=q(this.a.a.Be,hYa),e=a_a(this.a.a.um);u4();var f=new Jtb;f.a=c;f.c=d;f.b=Xh();f.b.Ud(e);f.H(a,b)};function iQb(){}l(iQb,n);
  3639. iQb.prototype.H=function(a,b){var c=this.a.a,d=this.a,e=c.fi,f=c.bi,h=c.di,k=c.$h;q5();var m=new rxb;m.a=d;m.b=ff(e);m.f=ff(f);m.g=ff(h);m.c=ff(k);m.o=ef();q(c.Be,hYa)&&m.b.add("goog.tweak");m.H(a,b)};function jQb(){}l(jQb,n);jQb.prototype.H=function(){this.a.u=null};jQb.prototype.ra=function(){this.H(null,null)};var kQb;function lQb(){lQb=function(){};kQb=Tla(kq(10))}function mQb(){this.a=0}var nQb,m9,n9,oQb,pQb;l(mQb,z);function o9(a,b){var c=new mQb;c.b=a;c.a=b;return c}
  3640. mQb.prototype.R=function(a){return z.prototype.c.call(this,a)};function p9(){p9=function(){};nQb=o9("CONSISTENT",0);m9=o9("INCONSISTENT",1);n9=o9("MAPPED",2);oQb=o9("STABLE",3);pQb=o9("XID",4)}function qQb(){}l(qQb,RT);
  3641. qQb.prototype.J=function(a,b){if(a=nG(b)){var c=A([Ay(a,262144),Ay(a,524288),Ay(a,16777216),Ay(a,65536),Ay(a,33554432)],Yc,Iba,1);for(var d=0,e=0;e<c.length;e++)c[e]&&d++;c=d;if(0!=c){1<c&&X(this.a.a,V(b,(q9(),rQb),A([],B,y,1)));c=null;if(kH(b))c=EC(b.a);else if(PI(b))c=b.a.l();else if(P(b)&&(c=b.a.l(),te(c)))return;if(Ay(a,262144))this.a.g.C(c,Uf()),this.a.b.C(c,sQb(this.a,(p9(),nQb),this.a.f.get(c)));else if(Ay(a,16777216))this.a.b.C(c,sQb(this.a,(p9(),oQb),this.a.f.get(c)));else if(Ay(a,65536))this.a.b.C(c,
  3642. sQb(this.a,(p9(),pQb),this.a.f.get(c)));else if(Ay(a,524288))this.a.b.C(c,sQb(this.a,(p9(),m9),this.a.f.get(c)));else if(Ay(a,33554432)){if(a=this.a.b.get(c),!a||!q(a.a(),(p9(),n9))){X(this.a.a,V(b,(q9(),tQb),A([],B,y,1)));return}}else throw pb("unexpected").s;this.a.c.C(c,Uf())}}};function uQb(){}l(uQb,n);uQb.prototype.b=function(a,b){return acb(this.c,b)};uQb.prototype.a=function(){return p9(),n9};function vQb(){}l(vQb,n);vQb.prototype.b=function(a){a=this.f.get(a);null==a&&(a=aU(this.c));return a};
  3643. vQb.prototype.a=function(){return this.g};function wQb(){this.c=0}l(wQb,n);wQb.prototype.b=function(a,b){return q(this.f,(p9(),m9))?r(b)+"$"+this.c++:r(b)+"$0"};wQb.prototype.a=function(){return this.f};function xQb(){}l(xQb,RT);
  3644. xQb.prototype.J=function(a,b,c){if(eH(b)){var d=EC(b.a),e=this.a.b.get(d);if(e)if(!JT(a)&&q(e.a(),(p9(),m9)))X(this.a.a,V(b,(q9(),yQb),A([],B,y,1)));else{if(q(e.a(),(p9(),m9)))for(var f=DE(b.m()).h();f.i();){var h=f.j();if(iT(h)){X(this.a.a,V(b,(q9(),zQb),A([],B,y,1)));return}}if(f=R(b))if(Dw(f))d=AQb(this,f,d,e,f.l()),pF(c,b,ux(d)),NT(a);else if(SH(f)){for(h=BA(f).h();h.i();){var k=h.j();if(LH(k)){X(this.a.a,V(b,(q9(),BQb),A([],B,y,1)));return}if(rH(k)){X(this.a.a,V(b,(q9(),NQb),A([],B,y,1)));return}var m=
  3645. AQb(this,k,d,e,k.l());k.Ga(m);Hx(k,(kx(),GE),!0)}S(f);pF(c,b,f);NT(a)}else X(this.a.a,V(b,(q9(),OQb),A([],B,y,1)));else X(this.a.a,V(b,(q9(),OQb),A([],B,y,1)))}}};function AQb(a,b,c,d,e){var f=a.a.c.get(c),h=!q(d.a(),(p9(),m9));q9();F(Dw(b)||Lx(b),b);b=h?b.l():r(WA(b))+Hg(58)+XA(b)+":"+YA(b);q(d.a(),nQb)?(c=a.a.g.get(c),a=c.get(b),null==a&&(a=d.b(b,e),c.C(b,a))):a=d.b(b,e);f.C(a,b);return a}function PQb(){}l(PQb,n);
  3646. PQb.prototype.b=function(a,b){a=Yg(b);Jr();b=za([6],Ob,Pb,0);for(var c=0;5>c;c++)Ad(b,c,loa(a>>26-6*c&63));Ad(b,5,loa(a<<4&63));return Pg(b)};PQb.prototype.a=function(){return p9(),oQb};function QQb(){}l(QQb,n);function RQb(){}var SQb;l(RQb,n);function TQb(){TQb=function(){};SQb=new QQb}function UQb(){}l(UQb,n);
  3647. UQb.prototype.b=function(a,b){var c=Yg(b);TQb();a=za([6],Ob,Pb,0);b=0;c=Ya(Cb(c),Cb(-2147483648));var d=b++;var e=Cb(52);e=Ya(c,Za(Xa(c,e),e));a[d]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charCodeAt(e.a);for(c=Xa(c,Cb(52)).a;0<c;)Ad(a,b++,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".charCodeAt(c%62|0)),c=c/62|0;return Ub(a,0,b)};UQb.prototype.a=function(){return p9(),pQb};function VQb(){this.o=!1}var rQb,tQb,yQb,zQb,OQb,BQb,NQb;l(VQb,n);
  3648. function sQb(a,b,c){c=c?c:dka();q(b,(p9(),oQb))?b=new PQb:q(b,(p9(),pQb))?(b=new UQb,(a=a.u)?(TQb(),c=new RQb,c.a=a,a=c):(TQb(),a=new RQb,a.a=SQb),b.c=a):a.o?(a=new wQb,a.c=0,a.f=b,b=a):(a=new vQb,a.f=c.ef(),a.c=$T(c.oa(),"",null),a.g=b,b=a);return b}function WQb(a,b){E(q(a,(p9(),n9)));a=new uQb;a.c=b;return a}VQb.prototype.H=function(a,b){a=this.a;var c=new qQb;c.a=this;Y(a,b,c);this.b.Qa()||(a=this.a,c=new xQb,c.a=this,Y(a,b,c))};
  3649. function q9(){q9=function(){};yQb=U("JSC_NON_GLOBAL_ID_GENERATOR_CALL","Id generator call must be in the global scope");zQb=U("JSC_CONDITIONAL_ID_GENERATOR_CALL","Id generator call must be unconditional");rQb=U("JSC_CONFLICTING_ID_GENERATOR_TYPE","Id generator can only be one of consistent, inconsistent, mapped, stable, or xid.");U("JSC_INVALID_GENERATOR_ID_MAPPING","Invalid generator id mapping. {0}");tQb=AJ("JSC_MISSING_NAME_MAP_FOR_GENERATOR","The mapped id generator, does not have a renaming map supplied.");
  3650. OQb=AJ("JSC_INVALID_GENERATOR_PARAMETER","An id generator must be called with a literal.");BQb=U("JSC_SHORTHAND_FUNCTION_NOT_SUPPORTED_IN_ID_GEN","Object literal shorthand functions is not allowed in the arguments of an id generator");NQb=U("JSC_COMPUTED_PROP_NOT_SUPPORTED_IN_ID_GEN","Object literal computed property name is not allowed in the arguments of an id generator")}function XQb(){}l(XQb,n);
  3651. XQb.prototype.H=function(a,b){var c=this.b,d=this.a.a.xm,e=this.a.a.Lb,f=this.a.a.Wn,h=this.a.a.no;q9();var k=new VQb;k.a=c;k.o=e;k.u=h;k.b=Uf();k.c=Uf();k.g=Uf();lQb();if(f){c=bf();e=null;h=0;for(var m=lq(kQb,f).h();m.i();){var p=m.j();h++;if(!te(p))if(91==p.charCodeAt(0)){var t=ne(p,1,p.length-1);if(e=c.get(t))throw ua(CN("Cannot parse id map: %s\n Line: $s, lineIndex: %s",[f,p,Fc(h)])).s;e=xma();c.C(t,e)}else if(t=mi(p,58),-1!=t)e.C(ne(p,0,t),ne(p,t+1,p.length));else throw ua(CN("Cannot parse id map: %s\n Line: $s, lineIndex: %s",
  3652. [f,p,Fc(h)])).s;}f=c}else f=Qca();k.f=f;if(d)for(d=d.V().h();d.i();)c=d.j(),f=c.M(),c=c.O(),k.b.C(f,WQb((p9(),n9),c)),k.c.C(f,Uf());k.H(a,b);b=k.c;lQb();a=Mg();for(b=b.V().h();b.i();)if(k=b.j(),!k.O().Qa()){Og(Og(Og(x(Og(a,91),k.M()),93),10),10);for(k=k.O().V().h();k.i();)d=k.j(),Og(x(Og(x(a,d.M()),58),d.O()),10);Og(a,10)}this.b.rg=a.toString()};function YQb(){}l(YQb,n);
  3653. YQb.prototype.H=function(a,b){var c=this.b,d=this.a.a.Jn,e=this.a.a.tg,f=this.a.a.Kn,h=this.a.a.co;kvb();var k=new evb;k.b=bf();k.c=Vq();k.a=Uf();k.g=c;k.f=te(d)?"`":d;k.u=eJ(c);c=f;if(h)for(c=bka(h.a).oa(),c=yk(A([f,c],wc,Ac,1)),h=bka(h.a).V().h();h.i();){var m=h.j();d=m.M();f.B(d)||(m=m.O(),k.a.C(m,cvb(m,d)))}f=za([0],Ob,Pb,0);f=$T(nm(c),"",f);k.o=f;for(e=e.h();e.i();){h=e.j();var p=mi(h,40),t=mi(h,41);d=h.indexOf(":!");E(-1!=p&&-1!=t);f=ne(h,0,p);m=0;c=w();p=yi(ne(h,p+1,t),",",0);for(t=0;t<p.length;t++){var v=
  3654. p[t];m++;"*"===v?(E(1==m&&1==p.length),c.add(Fc(0))):"?"===v?(E(!c.B(Fc(0))),c.add(Fc(m))):Ji(te(v),"Unknown marker",v)}E(!c.D());h=-1==d?dm():Cha(yi(h.substr(d+2),",",0));d=new dvb;d.a=f;d.b=c;d.c=h;f=d;k.b.C(f.a,f);c=yi(f.a,"\\.prototype\\.",0);E(1==c.length||2==c.length);c=2==c.length?c[1]:null;null!=c&&k.c.Aa(c,f.a)}k.H(a,b);a=this.b;b=el();for(k=np(k.a.values(),fvb).h();k.i();)e=k.j(),b.L(e.b,e.c);k=lXa(b.Jb());a.Lf=k};function ZQb(){}l(ZQb,n);
  3655. ZQb.prototype.H=function(a,b){var c=this.a,d=this.b.a.Xn;nXa();var e=new mXa;e.f=0;e.a=0;e.b=c;c=d?d.a.ef().oa():dm();e.o=$T(c,"$",null);e.g=d;e.c=bf();e.H(a,b);a=lXa(il(e.c));this.a.lg=a};function $Qb(){}l($Qb,n);$Qb.prototype.H=function(){var a=(cJ(),Oza);this.a.c=a};function aRb(){}l(aRb,n);
  3656. aRb.prototype.H=function(a,b){var c=this.b,d=this.a.a.Lb,e=this.c,f=b_a(this.a.a),h=c_a(this.a.a),k=this.a.a.Tj;Lub();var m=new Qub;m.g=w();m.F=w();m.u=Uf();m.c=Uf();var p=A(["prototype"],B,y,1);m.b=Am(lg(p));m.f=pm();m.a=c;m.o=d;m.A=e;m.K=f;m.U=h;m.v=k;m.b.na(c.F);m.H(a,b);a=this.b;b=el();for(m=m.c.values().h();m.i();)c=m.j(),null!=c.a&&b.L(c.b,c.a);m=lXa(b.Jb());a.ug=m};function bRb(){}l(bRb,n);
  3657. bRb.prototype.H=function(a,b){var c=this.a,d=this.c,e=this.a,f=this.b,h=d.a.U.f,k=!q(d.a.U,($I(),Dza)),m=ef();null!=d.a.jb&&m.add(d.a.jb);m.na(e.hd);m.na(dUa());var p=d.a.In,t=q(d.a.Nf,(PU(),LZa)),v=d.a.Lb,C=d.a.Wh,J=d.a.Zj;d=d.a.Tj;cRb();var K=new dRb;K.U=w();K.ja=w();K.v=bf();K.Da=bf();K.K=0;K.$=ef();K.o=wq();K.c=bf();K.f=e;K.A=p||"";K.pa=t;K.za=k;v?K.b=bf():K.b=null;K.F=f;K.Ha=h;K.Oa=C;K.ta=J;K.a=m?ff(m):ef();K.u=d;K.H(a,b);a=lXa(il(K.Da));c.Nf=a};function eRb(){}l(eRb,n);
  3658. eRb.prototype.H=function(a,b){for(var c=this.a.h();c.i();)c.j().H(a,b)};function fRb(){}l(fRb,n);fRb.prototype.H=function(a,b){this.a.H(a,b);this.b.hd.na(this.a.b)};function gRb(){}l(gRb,n);gRb.prototype.H=function(a,b){this.a.H(a,b);this.b.hd.na(this.a.f)};gRb.prototype.ra=function(a,b){this.a.ra(a,b)};function hRb(){}l(hRb,n);hRb.prototype.H=function(a,b){var c=this.a,d=this.b.a.ck;$4();var e=new Zub;e.a=c;e.c=null;e.g=d;e.H(a,b);this.a.ng=null};function iRb(){}l(iRb,n);
  3659. iRb.prototype.H=function(a,b){this.a.H(a,b);this.b.le=this.a.a};function jRb(){}l(jRb,n);jRb.prototype.H=function(a,b){a=b.m();this.a.v=!0;this.b.c=Heb(Feb(this.a,yMb(this.a),fNb(this.b,this.a)),a)};jRb.prototype.ra=function(a){var b=Feb(this.a,yMb(this.a),fNb(this.b,this.a)),c=this.b.c;G(c);E(!b.b);b.b=c;Heb(b,a)};function kRb(){}l(kRb,n);kRb.prototype.H=function(a,b){G(this.a.c);G(this.a.g);Hab(this.b).H(a,b)};kRb.prototype.ra=function(a,b){Hab(this.b).ra(a,b)};function lRb(){}l(lRb,n);
  3660. lRb.prototype.H=function(a,b){G(this.a.c);G(this.a.g);var c=gNb(this.a,this.b);c.H(a,b);JUa(this.b).cm(Tfb(c))};lRb.prototype.ra=function(a){wfb(gNb(this.a,this.b),a,!1)};function mRb(){}l(mRb,n);mRb.prototype.H=function(a,b){this.a.u=LZ(this.b,a,b);var c=this.b,d=this.a.a.Vh;o9a();var e=new b9a;e.a=null;e.f=ef();e.g=ef();e.b=c;e.c=MX(c);e.o=d;c=this.a.u;D(!!c.a);e.a=c;e.H(a,b)};function nRb(){}l(nRb,n);nRb.prototype.H=function(){this.a.c=null};function oRb(){}l(oRb,n);
  3661. oRb.prototype.H=function(){this.a.g=null};function pRb(){}l(pRb,n);function qRb(){var a=new pRb;a.f=pm();a.c=ef();a.b=pm();a.a=pm();return a}function rRb(){}l(rRb,RT);function sRb(a){var b=new rRb;b.a=a;b.c=w();b.b=bf();return b}
  3662. rRb.prototype.J=function(a,b,c){switch(b.c.a){case 28:yG(b.a,"$jscomp.inherits")&&(this.c.add(b),this.b.C(b,Fc(this.b.wa())));if(SX(b)&&(c=R(b),tRb(this.a,a,c)))for(a=EC(c),a=this.a.a.get(a),b=I3a(b).h();b.i();)c=b.j(),a.a.add(c.l());break;case 92:case 104:case 80:a=b.a;a.a&&(b=EC(a.a),this.a.a.X(b)&&(a=EC(a),null!=a&&uRb(this,b,a)));break;case 50:c=EC(O(b));null!=c&&this.a.a.X(c)?(b=EC(b.a),null!=b&&uRb(this,c,b)):N(b.a)&&(c=b.a.a,tRb(this.a,a,c)&&(a=this.a.a.get(EC(c)),a.f.add(b),a.c.add(O(b.a).l()),
  3663. this.b.C(b,Fc(this.b.wa()))));break;case 26:yH(c)&&(c=b.a,tRb(this.a,a,c)&&this.a.a.get(EC(c)).b.add(b));break;case 69:(a=tL(b))&&dE(a)&&(b=TT(b),this.a.a.X(b)?this.a.c.add(b):this.a.a.C(b,qRb()))}};function uRb(a,b,c){D(a.a.a.X(b));a.a.a.C(c,a.a.a.get(b))}function vRb(){}var wRb,xRb;l(vRb,n);vRb.prototype.H=function(a,b){var c=sRb(this);b7(this.b,a,wRb,A([c],OS,PS,1));b7(this.b,b,wRb,A([c],OS,PS,1));yRb(this,c)};
  3664. vRb.prototype.ra=function(a){var b=sRb(this);b7(this.b,a,wRb,A([b],OS,PS,1));yRb(this,b)};
  3665. function yRb(a,b){for(var c=b.c.h();c.i();){var d=c.j(),e=O(d),f=EC(e),h=EC(iF(e));e=a.a.get(f);h=a.a.get(h);if(a.c.B(f)){X(a.b,V(d,xRb,A([],B,y,1)));break}if(e&&h){f=a;for(var k=e,m=h,p=d,t=b,v=k.f.h();v.i();){var C=v.j();F(kH(C),C);var J=O(C.a).l(),K;if(K=!k.a.B(J))if(K=!zRb(m,J)){var Ca=t,Wa=C;K=Ca.b.get(p);Ca=Ca.b.get(Wa);K=!(K&&Ca&&K.xb()<Ca.xb())}if(K){K=JP(nG(C));C=Ca=O(C);if(P(Ca))for(C=Ca.a,Ca=lX(Ca),F(Gw(Ca),Ca),Ca=BA(Ca).h();Ca.i();)if(Wa=Ca.j(),nG(Wa)){var Ma=Wa.l();vPa(K,Ma,ZD(nG(Wa)))}Ca=
  3666. R(p);Wa=Ca.b;J=wx(sx(NA(Ca),ux(J)),sx(NA(Wa),ux(J)));PP(K,"visibility");Gx(J,KP(K));K=cx(J);JG(K,C);C=p.m();nF(C.m(),K,C);Z(f.b,C);K=m;K.f.add(J);K.c.add(O(J.a).l())}}f=a;for(k=e.b.h();k.i();)m=k.j(),E(N(m)),m=O(m).l(),e.a.B(m)&&!zRb(h,m)&&(p=sx(NA(R(d)),ux(m)),Gx(p,null),t=cx(p),JG(t,d),v=d.m(),mF(v.m(),t,v),Z(f.b,v),h.a.B(m)||(h.b.add(p),h.a.add(m)))}}}function zRb(a,b){return a.c.B(b)||a.a.B(b)?!0:!1}
  3667. function tRb(a,b,c){var d=EC(c);if(!a.a.X(d))return!1;if(!L(c))return!0;a=ET(b).T(d);return!a||!UR(a.b)}function ARb(){ARb=function(){};xRb=U("DUPLICATE_CLASS","Multiple classes cannot share the same name.");wRb=$K((uI(),vI),(KI(),aK))}function BRb(){}l(BRb,n);function r9(){}l(r9,n);function CRb(a){var b=new r9;b.a=a;b.b=bf();return b}
  3668. r9.prototype.ga=function(a,b){switch(b.c.a){case 85:case 89:case 169:return!0;case 164:return q(b.a.c,(H(),Nu));case 113:switch(b.a.c.a){case 100:case 157:case 160:case 163:case 168:case 164:return!0}break;case 168:a=EC(b.a);a=yi(a,"\\.",0);for(var c=0;c<a.length;c++){var d=s9(this.a,a[c]);if(!this.b.X(d)){var e=this.a,f=new BRb,h=f,k=this.a.b;h.b=d;h.c=k;h.a=ef();e.b=f;this.b.C(d,this.a.b)}this.a.b=this.b.get(d)}this.a.f.C(b,this.a.b);return!0;case 100:case 157:case 160:return this.a.b&&this.a.b.a.add(b.a.l()),
  3669. !0;case 163:return this.a.b&&this.a.b.a.add(b.l()),!0}return!1};r9.prototype.J=function(a,b,c){DRb(this.a,b,c)};r9.prototype.la=!0;function ERb(){}var FRb,GRb,HRb,IRb,JRb,KRb,LRb,MRb,NRb,ORb,PRb;l(ERb,n);g=ERb.prototype;g.H=function(a,b){var c=CRb(this);Y(this.a,a,c);Y(this.a,b,c);Y(this.a,a,this);Y(this.a,b,this);yZ(this.a)||(a=VK(JBa(this.a.u.a,PK((wBa(),MK)))),this.a.u=a)};g.ra=function(a){var b=CRb(this);Y(this.a,a,b);Y(this.a,a,this)};
  3670. g.ga=function(a,b,c){rX(b)&&this.c.Ea(bf());switch(b.c.a){case 168:if(!this.b&&!q(c.c,(H(),Ju)))return X(this.a,V(b,FRb,A([],B,y,1))),!1;this.b=this.f.get(b);return!0;default:return!0}};
  3671. g.J=function(a,b,c){switch(b.c.a){case 100:a:{QRb(this,b,b);var d=JP(nG(b)),e=aF(b,(kx(),UE));if(e){for(e=BA(e).h();e.i();){var f=e.j();f=t9(this,f);WP(d,mD(HG(f,b),WA(b)))}sF(b,UE)}e=R(b);f=RRb(this,e);q(f,e)||pF(b,e,f);f=O(b);e=NHb(b,c,Vza());for(f=BA(f).h();f.i();){var h=f.j();if(q(h.c,(H(),Mu)))X(this.a,V(b,HRb,A([],B,y,1)));else if(q(h.c,(H(),Lu)))WP(d,SRb(this,a,h));else if(MH(h)||tF(h,RE)){if(!e){X(this.a,V(b,IRb,A([],B,y,1)));break a}h=TRb(this,a,h,EC(e.c));u7(e.b,h);NT(a)}else URb(this,h)}Gx(b,
  3672. KP(d));VRb(this,a,b,c)}break;case 157:QRb(this,b,b);e=b.a;d=e.b;f=JP(nG(b));VP(f);if(!Aw(d))for(h=BA(d).h();h.i();){var k=h.j();k=t9(this,k);XP(f,mD(HG(k,b),WA(b)))}k=b;h=O(b);for(var m=BA(h).h();m.i();){var p=m.j();q(p.c,(H(),Mu))&&X(this.a,V(b,HRb,A([],B,y,1)));q(p.c,(H(),Lu))&&XP(f,SRb(this,a,p));if(LH(p)){var t=p.a;if(OG(t))p=WRb(this,p);else{var v=(H(),Lt);O(t).c=v}}MH(p)&&(p=TRb(this,a,p,e.l()),nF(k.m(),p,k),k=p)}Gx(b,KP(f));e=(H(),Yt);b.c=e;e=qF(zw(Jt),b);pF(b,d,e);h.c=Zt;HY(a.b,(KI(),aK),
  3673. this.a);VRb(this,a,b,c);NT(a);break;case 160:e=b.a;f=O(b);h=0;d=za([GA(f)],lx,eI,lx.a);k=0;for(m=f.a;m;m=m.b,k++)m.a?h=m.a.ab()+1:Mx(m,eF(h++)),d[k]=m;BG(f);e=e.l();e=s9(this,e);f=JP(nG(b));APa(f,mD(GG(ux("number"),b),WA(b)));d=HG(OX(this.a,e,Kx(d),KP(f)),b);Gx(b,null);pF(c,b,d);NT(a);break;case 32:XRb(this,a,b,b);break;case 118:case 119:XRb(this,a,b,fF(b));break;case 69:e=(d=LH(c))?c.l():b.a.l();!te(e)&&this.c.Na().X(e)?(X(this.a,V(b,JRb,A([],B,y,1))),d?(PT(a,c.m()),S(c),uX(c,this.a)):(PT(a,c),S(b),
  3674. uX(b,this.a)),a=this.c.Na().get(e),this.o.add(a),pD(R(a)),c=a.m(),a=LH(c)||kH(c)?c:a,c=HP(!1),QP(c,mD(IG(t9(this,jNa(lq(kq(46),"Function"))),b),WA(b))),Gx(a,KP(c))):(this.c.Na().C(e,b),e=d?c:b,QRb(this,b,e),d&&OG(b)||XRb(this,a,b,e),Aw(O(b))&&pF(b,O(b),FG(Lw(),b)),d||VRb(this,a,b,c));break;case 163:d=b.l();RR(ET(a),d)&&X(this.a,V(b,LRb,A([d],B,y,1)));d=JP(nG(b));zPa(d,mD(IG(t9(this,b.a),b),WA(b)));e=JG(RRb(this,rx(b.l())),b);d=HG(OX(this.a,EC(e),null,KP(d)),b);pF(c,b,d);NT(a);break;case 164:eG(b)||
  3675. X(this.a,V(b,MRb,A([],B,y,1)));d=b;e=c;if(f=xH(c))d=c,e=c.m();for(h=BA(b).h();h.i();)k=h.j(),ix(k)&&(m=JP(nG(k)),TP(m),p=(H(),Ft),k.c=p,Gx(k,KP(m))),k=S(k),f&&!yH(k)&&(k=GG(Ow((H(),ku),k),c)),mF(e,k,d);S(d);NT(a);break;case 113:if(this.b)YRb(a,b,BA(b));else if(lG(b)){d=b;for(e=R(b);e;e=e.b)yH(e)?f=S(e):(f=CG(b),Mx(f,S(e))),nF(c,f,d),d=f;NT(a)}break;case 168:DRb(this,b,c);for(d=PX(b.a);!q(d,b);d=d.m())e=s9(this,EC(d)),this.g.B(e)||(f=JP(nG(b)),TP(f),f=HG(OX(this.a,e,Kx(A([],lx,eI,1)),KP(f)),b),mF(c,
  3676. f,b),this.g.add(e));YRb(a,b,BA(O(b)));break;case 80:case 104:case 92:if(this.b){d=b;for(e=BA(b).h();e.i();)f=e.j(),h=f.l(),h=s9(this,h),k=JP(nG(f)),ix(b)&&TP(k),f=HG(OX(this.a,h,UA(f),KP(k)),b),nF(c,f,d),d=f;S(b);NT(a)}}rX(b)&&this.c.Ta()};function QRb(a,b,c){b=b.a;var d=aF(b,(kx(),TE));if(d){var e=JP(nG(c));for(d=BA(d).h();d.i();){var f=d.j(),h=f.l();OP(e,h,null);f.a&&(X(a.a,V(b,GRb,A([],B,y,1))),pD(f))}sF(b,TE);Gx(c,KP(e))}}
  3677. function SRb(a,b,c){var d=t9(a,zF(c.a));a=t9(a,zF(c));d=ex((H(),Lt),d,a);a=ux("IObject");Mx(a,d);d=mD(JG(Ow(zu,a),c),WA(c));S(c);NT(b);return d}function TRb(a,b,c,d){S(c);d=s9(a,d);var e=LX(a.a,d),f=D3a(a.a,e,"prototype");d=a.a;e=TG(c)?e:f;e=NA(e);d=rH(c)?vx(e,UA(c)):D3a(d,e,c.l());XRb(a,b,c,c);URb(a,c);Gx(d,nG(c));return JG(ZW(d),c)}function URb(a,b){var c=aF(b,(kx(),VE));c&&(rH(b)&&X(a.a,V(b,KRb,A([],B,y,1))),a=JP(nG(b)),MP(a,c),Gx(b,KP(a)),sF(b,VE))}
  3678. function XRb(a,b,c,d){var e=zF(c),f=!!e;Jw(c)&&f?e=Ow((H(),ou),t9(a,UA(e))):MH(c)?e&&(e=ZRb(a,c,e)):e=$Rb(a,c,e);if(e){a=JP(nG(d));e=mD(HG(e,c),WA(c));switch(c.c.a){case 69:RP(a,e);break;case 165:QP(a,e);break;default:QP(a,e),a.a.A=!0}Gx(d,KP(a));f&&(xF(c,null),NT(b))}}function YRb(a,b,c){var d=b;for(c=c.h();c.i();){var e=S(c.j());nF(b.m(),e,d);d=e}S(b);NT(a)}function u9(a,b){return b?b:qF(mI((H(),wpa)),a)}
  3679. function $Rb(a,b,c){return OG(b)?(Hx(b,(kx(),SE),!1),c=u9(b,c),Ow((H(),Eu),t9(a,c))):c?t9(a,c):null}function ZRb(a,b,c){OG(b)?(Hx(b,(kx(),SE),!1),b=u9(b,c),c=mNa(Sl(b,mI((H(),Apa)))),JG(c,b)):c=u9(b,c);return t9(a,c)}function t9(a,b){return qF(aSb(a,b),b)}
  3680. function aSb(a,b){D(b instanceof lI);switch(b.c.a){case 130:return ux("string");case 131:return ux("boolean");case 132:return ux("number");case 138:return ux("void");case 143:return ux("undefined");case 136:return zw((H(),yu));case 140:var c=b.a;a=RRb(a,c);q(a,c)||pF(b,c,a);a=EC(b.a);return Ow((H(),zu),ux(a));case 144:return c=ux("Array"),a=t9(a,b.a),Mx(c,qF(Ow((H(),Lt),a),b)),Ow(zu,c);case 134:var d=b.a;c=t9(a,d);var e=q(c.c,(H(),zu))?c.a:c;b=qF(Lw(),b);Mx(e,b);for(d=d.b;d;d=d.b)M(b,t9(a,d));return c;
  3681. case 133:b=b.a;c=zw((H(),Qs));for(d=b.b;d;d=d.b)e=zF(d),Jw(d)?e=e?Ow(ou,t9(a,e.a)):Ow(ou,zw(yu)):e=$Rb(a,d,u9(d,e)),M(c,e);d=zw(ut);c.a&&M(d,c);M(d,t9(a,b));return d;case 135:c=zw((H(),xu));for(b=BA(b).h();b.i();)d=b.j(),M(c,t9(a,d));return c;case 142:c=zw((H(),Fu));for(d=BA(b).h();d.i();){e=d.j();if(LH(e))e=WRb(a,e);else if(!MH(e)){X(a.a,V(b,NRb,A([],B,y,1)));continue}var f=zw(Hu);e.c=Tt;var h=ZRb(a,e,zF(e));xF(e,null);M(f,S(e));M(f,h);M(c,f)}return Ow(Gu,c);case 25:return X(a.a,V(b,ORb,A([],B,y,
  3682. 1))),zw((H(),yu));case 34:return X(a.a,V(b,PRb,A([],B,y,1))),zw((H(),yu))}throw ua("Unexpected node type for type conversion: "+r(b.c)).s;}function VRb(a,b,c,d){if(a.b){var e=c.a,f=e.l();f=s9(a,f);var h=P(c)?rx(""):yw();FG(h,c);pF(c,e,h);e=yw();pF(d,c,e);a=HG(OX(a.a,f,c,nG(c)),c);Gx(c,null);pF(d,e,a);NT(b)}}
  3683. function WRb(a,b){var c=b.a,d=ox((H(),Ku),b.l());FG(d,b);if(a.o.B(c))xF(d,jNa(lq(kq(46),"Function")));else{for(var e=u9(c,zF(c)),f=Uf(),h=Uf(),k=null,m=null,p=BA(R(c)).h();p.i();){var t=p.j();L(t)?OG(t)?h.C(t.l(),zF(t)):f.C(t.l(),zF(t)):Jw(t)&&(k=t.a.l(),m=zF(t))}e=lNa(e,f,h,k,m);xF(d,e)}Hx(d,(kx(),SE),OG(c));qD(b,d);uX(b,a.a);return d}function RRb(a,b){if(L(b))for(var c=b.l(),d=a.b;d;d=d.c)if(d.a.B(c))return HG(LX(a.a,r(d.b)+"."+r(c)),b);return b}function s9(a,b){return a.b?r(a.b.b)+"."+r(b):b}
  3684. function DRb(a,b,c){if(q(b.c,(H(),Nu))){b=c.m();switch(c.c.a){case 164:case 113:c=xH(c.m())?gG(b):b.m();break;default:c=b}a.b=a.f.get(c)}}
  3685. function bSb(){bSb=function(){};IRb=U("JSC_CANNOT_CONVERT_FIELDS","Can only convert class member variables (fields) in declarations or the right hand side of a simple assignment.");GRb=AJ("JSC_CANNOT_CONVERT_BOUNDED_GENERICS","Bounded generics are not yet implemented.");LRb=U("JSC_TYPE_ALIAS_ALREADY_DECLARED","Type alias already declared as a variable: {0}");ORb=AJ("JSC_TYPE_QUERY_NOT_SUPPORTED","Type query is currently not supported.");NRb=U("JSC_UNSUPPORTED_RECORD_TYPE","Currently only member variables are supported in record types, please consider using interfaces instead.");
  3686. KRb=AJ("JSC_COMPUTED_PROP_ACCESS_MODIFIER","Accessibility is not checked on computed properties");FRb=U("JSC_NON_AMBIENT_NAMESPACE_NOT_SUPPORTED","Non-ambient namespaces are not supported");HRb=U("JSC_CALL_SIGNATURE_NOT_SUPPORTED","Call signature and construct signatures are not supported yet");JRb=AJ("JSC_OVERLOAD_NOT_SUPPORTED","Function and method overloads are not supported and type information might be lost");PRb=AJ("JSC_SPECIALIZED_SIGNATURE_NOT_SUPPORTED","Specialized signatures are not supported and type information might be lost");
  3687. MRb=AJ("JSC_DECLARE_IN_NON_EXTERNS","Found a declare statement in program code.\nIf you are generating externs, this should be fine.\nIf not, make sure to pass your .d.ts file as an extern file.")}g.la=!0;function cSb(){}l(cSb,n);cSb.prototype.H=function(){var a=this.a.a;a.ug&&HZ(this.a,"runtime_type_check",!0);for(a=a.vl.h();a.i();){var b=a.j();HZ(this.a,b,!0)}};function dSb(){}l(dSb,RT);
  3688. dSb.prototype.J=function(a,b,c){switch(b.c.a){case 26:case 27:a=R(b);if(Dw(a))if(li(a.l(),"prototype"))switch(c.c.a){case 26:case 27:b=R(c),c=gG(c),Dw(b)&&kH(c)&&(c=R(c),eSb(this.a,b.l(),c))}else kH(c)&&q(c.a,b)&&eSb(this.a,a.l(),b.b);break;case 46:case 101:for(c=b.a;c;c=c.b)switch(c.c.a){case 102:case 95:eSb(this.a,c.l(),c.a);break;case 91:case 90:this.a.o.add(c.l());break;case 122:case 121:break;default:throw pb("Unexpected "+r(b.c)+" key: "+r(c)).s;}}};function fSb(){}l(fSb,RT);
  3689. fSb.prototype.J=function(a,b,c){switch(b.c.a){case 26:case 27:a=R(b);if(!Dw(a))break;a=a.l();kH(c)&&q(c.a,b)&&P(b.b)?(c=this.a,b=b.b,c.b.B(a)||c.c.Aa(a,b)):this.a.b.add(a);this.a.f.add(a);break;case 101:case 46:for(b=b.a;b;b=b.b){var d=b.a;c=b.l();if(Lx(b)&&P(d)){a=this.a;var e=c;a.b.B(e)||a.c.Aa(e,d)}else this.a.b.add(c);this.a.f.add(c)}}};function gSb(){}l(gSb,n);
  3690. gSb.prototype.H=function(a,b){this.f.ia();this.b.ia();this.c.ye();if(a){var c=this.a,d=new fSb;d.a=this;Y(c,a,d)}c=this.a;d=new dSb;d.a=this;tT(c,d,a,b);c=new hSb;c.a=this;tT(this.a,c,a,b)};function eSb(a,b,c){P(c)?a.b.B(b)||a.c.Aa(b,c):a.o.add(b)}function iSb(){}l(iSb,RT);
  3691. iSb.prototype.J=function(a,b,c){if(eH(b)){var d=b.a;if(N(d)&&(d=R(d),Dw(d)&&(d=d.l(),!this.a.f.B(d)&&!this.a.o.B(d)))){var e=this.a.c.Ua(d);if(e&&!e.D()){var f=e.h().j(),h;if(!(h=1==e.w()))a:{h=this.a;var k=null;for(e=e.h();e.i();){var m=e.j();if(!k)k=m;else if(!plb(h.a,k,m)){h=!1;break a}}h=!0}if(h){a:{h=this.a;for(k=R(b);k;k=k.b)if(lJ(h.g,k)){h=!0;break a}h=!1}h||(v9(),h=mX(f),gF(h)?(h=h.a,h=Ux(h)&&gF(h)?fF(h):null):h=null,h?jSb(h)?(xj((v9(),kSb),(sj(),rj))&&(v9(),r(d)),a=this.a,d=NA(h),lSb(d,UA(b.a)),
  3692. pF(c,b,d),Z(a.a,d)):tJ(h,!1)&&!lJ(this.a.g,b.a)&&(xj((v9(),kSb),(sj(),rj))&&(v9(),r(d)),a=this.a,d=NA(h),pF(c,b,d),Z(a.a,d)):(v9(),G2a(mX(f))&&!lJ(this.a.g,b.a)&&(xj((sj(),rj))&&r(d),d=this.a,oX(c)?(qD(c,yw()),uX(c,d.a)):(pF(c,b,vX(b)),uX(b,d.a)),NT(a))))}else xj((v9(),kSb),(sj(),rj))&&(v9(),r(d))}}}};function hSb(){}l(hSb,iSb);function mSb(){}var kSb;l(mSb,gSb);mSb.prototype.H=function(a,b){F(bJ(this.a.c),this.a.c);gSb.prototype.H.call(this,a,b)};
  3693. function jSb(a){v9();if(!N(a))return!1;a=a.a;return SC(a)||jSb(a)}function lSb(a,b){var c=a.a;SC(c)?pF(a,c,b):lSb(c,b)}function v9(){v9=function(){};kSb=Efa(ka(la(mSb)))}function nSb(){}l(nSb,n);nSb.prototype.H=function(a,b){a:{for(a=BA(b).h();a.i();)if(b=a.j(),E(tC(b)),null!=WA(b)&&ki(WA(b),".java.js")){a=!0;break a}a=!1}a&&(a=this.a,Fi(!0,"The stored annotation value cannot be null."),Ii(!a.ie.X("HAS_J2CL"),"Cannot overwrite the existing annotation '%s'.","HAS_J2CL"),a.ie.C("HAS_J2CL",!0))};
  3694. function w9(a){return!0===a.ie.get("HAS_J2CL")}function oSb(){}l(oSb,RT);oSb.prototype.H=function(a,b){w9(this.a)&&Y(this.a,b,this)};oSb.prototype.J=function(a,b){if(a=eH(b))a=b.a,DC(a)?(a=wG(a),a=ji(a,"Asserts")&&ji(a,".$assert")):a=!1;a&&k3a(b,this.a)};function pSb(){}l(pSb,RT);pSb.prototype.J=function(a,b){a=x9(b);null!=a&&this.a.Aa(a,b)};function qSb(){}l(qSb,RT);
  3695. qSb.prototype.J=function(a,b){if(rSb(b))a:if(a=sSb(b))if(b=O(b),b.a){b=b.a;if(nX(b)){var c=hF(b);DH(c)?c=!1:(F(L(c)||N(c),c),c=q3a(O(b.a))&&Jba(tY(c),a))}else c=!1;if(c){if(c=b.b)if(!c.b&&yH(c)&&null!=x9(c.a))c=c.a;else break a;else c=null;this.a.b.C(a,c);tX(b,this.a.a)}}};function tSb(){}l(tSb,RT);
  3696. tSb.prototype.J=function(a,b,c){if(yH(b)){var d=x9(b.a);if(null!=d){var e=uSb(this,b.b);if(e&&L(e.a)){var f=hX(b);if(f&&!li(e.a.l(),D2a(f))&&(f=ET(a).T(e.a.l()))&&rL(f)&&P(rL(f))){f=rL(f);G(d);f=O(f).a;if(d=!!f&&yH(f)&&li(d,x9(f.a)))a:{for(e=R(e);e;){if(d=!tJ(e,!1))d=a,f=e,d=!(L(f)&&Gw(kL(ET(d).T(f.l()))));if(d){d=!1;break a}e=e.b}d=!0}d&&(oF(c,b),Z(this.a.a,c))}}}}};
  3697. function uSb(a,b){if(!b)return null;switch(b.c.a){case 88:case 0:return uSb(a,b.a);case 28:case 23:return b;case 92:case 104:case 80:return gF(b)?uSb(a,hF(b)):null;default:return null}}function vSb(){}l(vSb,n);function wSb(a){var b=new vSb;b.b=ef();b.a=a;return b}function xSb(a,b){return!ySb(a,b)&&a.b.add(b)}function ySb(a,b){return!!a.a&&(a.a.b.B(b)||ySb(a.a,b))}function y9(){}l(y9,n);y9.prototype.b=function(){this.a=wSb(null);this.c.ia()};
  3698. y9.prototype.ga=function(a,b,c){if(qJ(b)||tC(b))this.c.Sb(this.a),this.a=wSb(null);zSb(c)&&(this.a=wSb(this.a),rSb(c)&&xSb(this.a,sSb(c)));return!0};y9.prototype.J=function(a,b,c){a=x9(b);null!=a&&(xSb(this.a,a)||k3a(b,this.f.a));zSb(c)&&(this.a=this.a.a);if(qJ(b)||tC(b))this.a=this.c.Ke()};function zSb(a){return!!a&&(iT(a)||vH(a)||EH(a)||iH(a)||TH(a)||P(a))}y9.prototype.la=!0;function ASb(){this.f=this.b=this.a=this.c=!1}l(ASb,n);function BSb(){this.a=0}l(BSb,n);
  3699. function CSb(a,b){var c=new BSb;c.a=0;c.c=G(b);c.b=a.se(c);return c}function z9(a,b){a.a|=b;return a}function A9(a,b){return 0!=(a.a&b)}BSb.prototype.toString=function(){return Mn(On(Mn(Ria(Na(la(ma(this)))),"name",this.c),"graphNode",ed(this.b)),"sideEffects",DSb(this)).toString()};function DSb(a){var b=w();A9(a,4)&&b.add("this");A9(a,2)&&b.add("global");A9(a,10)&&b.add("args");A9(a,16)&&b.add("return");A9(a,1)&&b.add("throw");return ze(b)}function B9(){}l(B9,n);B9.prototype.ga=function(){return!0};
  3700. B9.prototype.J=function(a,b){if(P(b))for(a=this.a.b.Ua(b).h();a.i();){var c=a.j(),d=b;D(P(d));D(eG(d));var e=tL(d);if(d=(d=d.f)?d.ha():null){d=HA(d);var f=this.a.a;G(d);f=qy(eJ(f),(I(),Tv));uy(d.Gc(f))||z9(c,16)}else z9(c,16);e?VD(e).B("this")?z9(c,4):Uwa(e)?z9(c,8):YD(e).D()?Ay(e,16384)||z9(c,2):z9(c,1):(z9(c,2),z9(c,1))}};B9.prototype.la=!0;function ESb(){}l(ESb,n);g=ESb.prototype;
  3701. g.ga=function(a,b){FSb(this,b,1);P(b)&&(this.b.Sb(Fc(0)),this.a.b.Yc(b)||(a=CSb(this.a.c,"<anonymous>"),this.a.b.Aa(b,a)));return!0};
  3702. g.J=function(a,b){FSb(this,b,-1);P(b)&&E(0==this.b.Ke().xb());if(lAa(fJ(this.a.a),b)||Ux(b)){qY(b)&&this.a.A.add(b);var c=YR(ET(a));if(yL(c)){c=c.ka();for(var d=this.a.b.Ua(c).h();d.i();){var e=d.j();G(e);var f=e;var h=a,k=b;e=c;switch(k.c.a){case 50:var m=k.a;m=Xw(m)?(C9(),GSb):(C9(),HSb);D9(this,f,ET(h),e,eT(k),m);break;case 67:case 68:case 24:D9(this,f,ET(h),e,Ml(fF(k)),(C9(),ISb));break;case 106:E9(this,f);case 105:D9(this,f,ET(h),e,eT(k),(C9(),GSb));e=f;pJ(k)&&F9(this,e);break;case 77:D9(this,
  3703. f,ET(h),e,eT(k),(C9(),ISb));break;case 28:case 23:case 123:e=f;if(!eH(k)||nJ(this.a.F,k))if(!TC(k)||sJ(k))if(h=JSb(this.a,k),h.D())z9(e,31);else for(f=0==this.b.mh().xb(),h=h.h();h.i();){m=h.j();var p=k,t=f;Fi(qY(p),p);var v=iAa(p);var C=void 0,J=p;if(KSb(J)){var K=J.a;WH(K)?K=!0:(LSb(J)?C=R(J):N(K)?C=K.a:C=null,K=C&&(SC(C)||WH(C))?!0:!1)}else K=!1;J=C=new ASb;Fi(!p||qY(p),p);J.c=!1;J.a=v;J.b=K;J.f=t;J.g=p;YVa(this.a.c,m.b,C,e.b)}break;case 99:if(yT(k.m()))break;D9(this,f,ET(h),e,eT(k.m()),(C9(),
  3704. GSb));break;case 32:Fi(PI(k.m()),k.m());(f=k.a)&&!oJ(f)&&(k=ET(h).T(k.l()),this.c.Aa(e,k));break;case 42:E9(this,f);break;case 0:k.a&&!oJ(k.a)&&z9(f,16);break;case 107:e=f;pJ(k)&&F9(this,e);E9(this,f);break;case 108:E9(this,f);break;case 118:case 119:case 120:case 121:$w(k.m())||SH(k.m())?this.a.o||F9(this,f):(e=f,pJ(k)&&F9(this,e));break;case 95:$w(k.m())&&0!=(MSb(this.a,k.l()).f&1)&&F9(this,f);break;case 26:0!=(MSb(this.a,O(k).l()).f&3)&&F9(this,f);break;default:if(R2a(k))D9(this,f,ET(h),e,Ml(k.a),
  3705. (C9(),ISb));else throw ua("Unhandled side effect node type "+r(k)).s;}}}}};function F9(a,b){E9(a,b);z9(b,2);z9(b,8);z9(b,4)}function E9(a,b){0==a.b.mh().xb()&&z9(b,1)}g.Hb=function(){};
  3706. g.Tb=function(a){var b=YR(ET(a));if(yL(b)){b=b.ka();for(var c=this.a.b.Ua(b).h();c.i();){var d=c.j();Mi(d,"%s has no side effect info.",b);if(!A9(d,2))for(var e=TR(ET(a)).h();e.i();){var f=e.j();if(xL(f)&&!Sn(this.c,b,f)&&Sn(this.f,b,f))z9(d,8);else{var h=!1;xL(f)||q(vL(f),(H(),Ht))||(h=!0);if((!h||Sn(this.c,b,f))&&Sn(this.f,b,f)){z9(d,2);break}}}}P(HT(a))&&(this.c.Nc(b),this.f.Nc(b))}};
  3707. function D9(a,b,c,d,e,f){for(e=e.h();e.i();){var h=e.j();if(UI(h))if(SC(h.a))z9(b,4);else if(h=h.a,L(h)){h=c.T(h.l());var k=c;h&&aS(h.ya(),k)?a.f.Aa(d,h):z9(b,2)}else z9(b,2);else{F(L(h),h);k=c.T(h.l());var m=c;k&&aS(k.ya(),m)?f.Ca(h)||a.c.Aa(d,k):z9(b,2)}}}function FSb(a,b,c){var d=b.m();Hw(b)&&bI(d)&&iG(b,d)&&b.b.a&&a.b.Sb(Fc(a.b.Ke().xb()+c))}g.la=!0;g.ic=!0;function NSb(){this.u=this.o=!1}var GSb,HSb,ISb;l(NSb,n);
  3708. function OSb(a,b){C9();var c=new NSb;c.f=bf();c.b=wq();c.A=w();c.c=XVa();c.v=z9(CSb(c.c,"<unknown>"),31);c.u=!1;c.a=G(a);c.o=b;c.F=fJ(a);return c}
  3709. NSb.prototype.g=function(a,b,c){E(bJ(this.a.c));F(!this.u,"PureFunctionIdentifier::process may only be called once per instance.");this.u=!0;PSb(this,c);c=this.a;var d=new B9;d.a=this;Y(c,a,d);a=this.a;c=new ESb;c.a=this;c.c=Vq();c.f=Vq();c.b=Vk(Ml(Fc(0)));Y(a,b,c);QSb(this);for(b=this.A.h();b.i();){a=b.j();d=JSb(this,a);c=new zya;c.a=31;if(d.D())c.a=31;else for(c.a=0,d=d.h();d.i();){var e=d.j();G(e);A9(e,2)&&Aya(c);A9(e,10)&&(c.a|=4);A9(e,1)&&(c.a|=8);KSb(a)&&A9(e,4)&&(LSb(a)?c.a|=4:c.a|=2);A9(e,
  3710. 16)&&(c.a|=16)}WH(a.a)&&(c.a|=2);KSb(a)?nJ(this.F,a)||(c.a&=16):TC(a)&&!sJ(a)&&(c.a&=16);oG(a)!=c.a&&(oya(a,c.a),Z(this.a,a))}};function RSb(a){var b=w();return G9(a,b)?Wl(b):null}
  3711. function G9(a,b){switch(a.c.a){case 69:case 26:case 32:return b.add(a),!0;case 103:var c=G(gX(a)),d=G(hX(a)),e=G(UW(c));Ji(iG(d,e),"Unknown SUPER reference: %s",uD(a));return G9(R(c),b);case 100:return(c=UW(a))?G9(fF(c),b):Aw(R(a))?!0:G9(R(a),b);case 65:case 64:case 66:return G9(a.a,b)&&G9(R(a),b);case 49:case 50:return G9(R(a),b);case 63:return G9(R(a),b)&&G9(RC(a,2),b);default:return!1}}
  3712. function SSb(a){var b=a.m();switch(b.c.a){case 65:case 49:case 63:case 64:case 66:case 4:case 19:case 39:case 45:case 28:case 23:case 123:case 44:case 25:case 27:case 26:case 0:case 107:return!0;case 71:case 72:case 70:case 74:return iG(a,b);case 88:return!eG(a);case 100:case 50:return jG(a,b);case 95:return SH(b.m());default:return!1}}
  3713. function JSb(a,b){Fi(qY(b),b);var c=MX(a.a).aj(b);c?(G(c),b=Mj().fb(RSb(c.b)),c.a&&b.fb(RSb(c.a)),c=b.fa()):c=LSb(b)?Ml(hF(b)):RSb(b.a);b=c;if(!b)return Ml(a.v);c=Mj();for(b=b.h();b.i();){var d=b.j();if(P(d)){F(P(d),d);var e=a.b.Ua(d);Ji(!e.D(),"Function missed during analysis: %s",d);c.fb(e)}else d=TSb(d),c.W(a.f.Ya(d,a.v))}return c.fa()}
  3714. function PSb(a,b){for(var c=wq(),d=b.b.V().h();d.i();){var e=d.j();c.Oj(e.M(),e.O())}for(b=b.a.V().h();b.i();)d=b.j(),c.Oj("."+r(d.M()),d.O());E(!c.Yc(""));E(!c.Yc("."));for(b=c.Pc().h();b.i();)d=b.j(),a.f.C(d,CSb(a.c,d));c.Uc().ib(Wd(function(f,h){USb(a,f,h)}))}
  3715. function USb(a,b,c){var d=G(a.f.get(b));b=og(tg(tg(sg(c.S(),fd(function(e){return!SSb(e)})),u(function(e){return sL(e)})),u(function(e){return e?RSb(e):null})),uda());b.D()||b.B(null)?z9(d,31):ng(ug(b.S(),u(function(e){return e.S()})),zb(function(e){if(P(e))a.b.Aa(e,d);else{e=TSb(e);var f=a.f.Ya(e,a.v);e=a.c;f=f.b;var h=new ASb;Fi(!0,null);h.c=!0;h.a=!1;h.b=!1;h.f=!0;h.g=null;YVa(e,f,h,d.b)}}))}
  3716. function QSb(a){qjb(a2(new ojb(function(b,c,d){var e=d.a;c.c?z9(d,b.a):(A9(b,2)&&z9(d,2),c.f&&A9(b,1)&&z9(d,1),A9(b,10)&&!c.a&&z9(d,2),A9(b,4)&&!TC(c.g)&&(c.b?z9(d,4):z9(d,2)));b=d.a!=e;return b})),a.c)}function LSb(a){C9();var b=hF(a);return b&&(L(b)||N(b))?BX(a)||AX(a,"apply"):!1}function KSb(a){C9();return eH(a)||fH(a)}function TSb(a){switch(a.c.a){case 32:return a.l();case 26:return"."+r(R(a).l());default:throw pb("Unexpected name reference: "+r(uD(a))).s;}}
  3717. function MSb(a,b){return a.o?(kJ(),hJ):a.a.Ha.a.Ya(b,(kJ(),hJ))}function C9(){C9=function(){};ISb=fd(function(){return!0});GSb=fd(function(){return!1});HSb=fd(function(a){a=sL(a);return!a||oJ(a)})}function VSb(){}l(VSb,n);function WSb(a){var b=new VSb;b.a=a;return b}VSb.prototype.H=function(a,b){m4(n4(o4(p4(q4(),this.a),!0),OSb(this.a,this.a.a.Tc))).H(a,b)};function XSb(){}l(XSb,n);
  3718. XSb.prototype.H=function(a,b){if(w9(this.a)){var c=this.c,d=new y9;d.f=this;d.c=Uk();d.a=wSb(null);var e=this.a;if(c){var f;T();var h=Am(c);for(f=c.h();f.i();){var k=f.j();h.add(QT(k))}f=Jd(h);h=Am(f);for(f=f.h();f.i();){k=f.j();for(var m=k.m();m;m=m.m())if(bT(m)&&h.B(m)){h.sa(k);break}}h=Jd(h)}else h=null;zT(e,b,h,d,d,!0);d=new tSb;d.a=this;zT(this.a,b,c,d,null,!1);YSb(this,b,this.c);if(!this.b.Qa()){c=Vq();d=new pSb;d.a=c;Y(this.a,b,d);do{d=c;e=w();for(h=this.b.V().h();h.i();)for(f=h.j(),k=f.M(),
  3719. f=f.O(),k=d.Nc(k).h();k.i();){m=k.j();var p=QT(m.m());f?(f=NA(f),qD(m,f),OT(this.a,p),d.Aa(x9(f),f)):k3a(m,this.a);e.add(p)}YSb(this,b,e)}while(!this.b.Qa());WSb(this.a).H(a,b)}}};function YSb(a,b,c){a.b.Fa();var d=a.a,e=new qSb;e.a=a;zT(d,b,c,e,null,!1);for(b=a.b.V().h();b.i();)c=b.j(),c.dd(ZSb(a,c.O()))}function ZSb(a,b){if(!b)return null;var c=x9(b);return a.b.X(c)?ZSb(a,a.b.get(c)):b}function rSb(a){return P(a)&&$Sb(sSb(a))}function x9(a){return eH(a)?(a=tY(a.a),$Sb(a)?a:null):null}
  3720. function $Sb(a){return null!=a&&(ki(a,"$$0clinit")||ki(a,".$clinit"))}function sSb(a){Fi(P(a),a);a=sY(a);return tY(a)}function aTb(){}l(aTb,n);aTb.prototype.H=function(a,b){if(w9(this.a)){var c=wq(),d=ef();NWa(this.a,b,new $S(function(e,f,h){h&&DX(f)&&c.Aa(EC(f),h);P(f)&&0==ET(e).a.wa()&&d.add(f)}));for(a=c.Uc().values().h();a.i();)b=a.j(),bTb(this,b,d)}};
  3721. function bTb(a,b,c){if(2==b.w()){var d=pp(b,0),e=pp(b,1);b=cTb(d)?d:e;d=dTb(d)?d:e;if(cTb(b)&&dTb(d)&&(e=R(d),tJ(e,!0)&&(!P(e)||c.B(e))&&q(iX(d),iX(b)))){c=R(d);e=b.a;var f=e.a,h=QT(d);wX(d.m(),d);S(c);OT(a.a,h);f?cd(f,c)||(E(tJ(f,!1)),pF(e,f,c),Z(a.a,b)):(Mx(e,c),Z(a.a,b));gH(e,!0)}}}function cTb(a){return tC(a.m())&&gx(a)&&(!a.a.a||!!hF(a)&&tJ(hF(a),!1))}
  3722. function dTb(a){var b;if(b=yH(a.m())&&Hw(gG(a)))a=gG(a).m(),P(a)?(a=TT(a),b=null!=a&&null!=a&&(ki(a,"$$0clinit")||ki(a,".$clinit"))):b=!1;return b}function eTb(){this.a=0}var H9,fTb,gTb,I9;l(eTb,z);function hTb(a,b){var c=new eTb;c.b=a;c.a=b;return c}eTb.prototype.R=function(a){return z.prototype.c.call(this,a)};function J9(){J9=function(){};H9=hTb("NULL_OR_UNDEFINED",0);fTb=hTb("NON_NULL",1);gTb=hTb("NUMBER",2);I9=hTb("UNKNOWN",3)}function iTb(){this.o=this.c=!1}l(iTb,J2);
  3723. function jTb(a){var b=new iTb;b.c=a;return b}iTb.prototype.g=function(a){J2.prototype.g.call(this,a);this.o=w9(a)};iTb.prototype.b=function(a){var b;if(!(b=!this.o)){if(b=eH(a)&&mG(a,3))b=a.a,DC(b)?(b=wG(b),b=ki(b,".$same")&&ji(b,"Equality")):b=!1;b=!b}if(b)return a;b=kTb(this,a);if(!b)return a;qF(b,a);qD(a,b);R2(this,b);return b};
  3724. function kTb(a,b){var c=R(b),d=lTb(c);b=O(b);var e=lTb(b);if(q(d,(J9(),I9))&&q(e,(J9(),I9)))return null;if(q(d,(J9(),H9)))return mTb(a,b,c);if(q(e,(J9(),H9)))return mTb(a,c,b);if(q(d,(J9(),fTb))||q(e,(J9(),fTb)))return nTb(c,b);E(q(d,(J9(),gTb))||q(e,(J9(),gTb)));d=A2a(c);e=A2a(b);null!=d&&null!=e?(S(c),S(b),a=SU(q(d,e))):a=oTb(d)||oTb(e)||a.c&&(!pTb(c)||!pTb(b))?nTb(c,b):null;return a}
  3725. function mTb(a,b,c){S(b);S(c);if(a=a.c)(a=b.f)?(a=a.Ia(),a=!a.aa()&&!uy(a)&&!a.bd()&&a.Ab()):a=!1;var d;a?d=Dx(b):d=Ax((H(),js),b,c);return d}function nTb(a,b){S(a);S(b);return Oqa(a,b)}function oTb(a){var b;if(b=null!=a&&0!=a)b=!isNaN(a);return b}function pTb(a){a=a.f;if(!a)return!0;a=a.Ia();return a.aa()||uy(a)||a.bd()||!a.Ab()}
  3726. function lTb(a){switch(bX(a).a){case 2:return $W(a)?(J9(),I9):(J9(),H9);case 1:return J9(),H9;case 4:case 5:case 6:return J9(),fTb;case 3:return J9(),gTb;case 0:return J9(),I9}throw jb("Unknown ValueType").s;}function K9(){}l(K9,n);K9.prototype.ga=function(a,b){return!tC(b)||ki(WA(b),this.a.b)||"*"===this.a.b};
  3727. K9.prototype.J=function(a,b){switch(b.c.a){case 50:if(!P(O(b)))return;var c=b.a;if(!N(c)||!DC(c))return;a=EC(c);c=O(c).l();break;case 102:a=tY(b);c=b.l();break;default:return}this.a.u.B(c)&&this.a.c.C(a,O(b))};K9.prototype.la=!0;function qTb(){}l(qTb,RT);
  3728. qTb.prototype.J=function(a,b){if(eH(b)){var c=b.a;if(N(c)&&DC(c)){var d=EC(c);c=O(c).l();var e=this.a.c.get(d);if(e){if(q(this.a.g,(N3(),M3))&&!Ux(mX(e).a))throw pb("Attempted to direct inline function "+r(d)+", but function is not a simple return.").s;d=Cpb(b,ET(a),BT(a),this.a.g);d=Pqb(this.a.f,d,c,e);HG(d,b);Z(a.c,d)}}}};function rTb(){}l(rTb,n);
  3729. function sTb(a,b,c,d,e){var f=new rTb;f.a=a;f.c=bf();f.o=b;f.b=c;f.u=d;f.g=e;b=rqb(a.a);b.a=G(a.b);f.f=uqb(tqb(sqb(b,!0),!0));a=f.f;E(a.b.D());a.b=d;return f}function tTb(a){var b=new K9;b.a=a;Y(a.a.a,a.o,b);b=new qTb;b.a=a;Y(a.a.a,a.o,b)}function uTb(){}l(uTb,n);
  3730. uTb.prototype.H=function(a,b){if(w9(this.a)){a=im("$create","$init","$instanceIsOfType","$castTo","$stampType");var c=(N3(),M3);tTb(sTb(this,b,"Arrays.impl.java.js",a,c));a=mm("$to");tTb(sTb(this,b,"Casts.impl.java.js",a,M3));a=mm("$markImplementor");tTb(sTb(this,b,"*",a,L3));a=hm("$setClassMetadata","$setClassMetadataForInterface","$setClassMetadataForEnum","$setClassMetadataForPrimitive");tTb(sTb(this,b,"Util.impl.java.js",a,L3))}};function vTb(){this.a=!1}l(vTb,n);function wTb(){}l(wTb,RT);
  3731. wTb.prototype.J=function(a,b){if(R2a(b)||IH(b)||tH(b))if(a=b.a,N(a)&&(a=EC(a),a=this.a.get(a)))a.a=!1};function xTb(){this.a=!1}l(xTb,vTb);function yTb(a,b,c){var d=new xTb;d.f=a;d.b=b;d.c=c;d.a=!0;Fi(Lx(b)&&li(b.l(),"get"),b);Fi(!c||Lx(c)&&li(c.l(),"set"),c);return d}xTb.prototype.g=function(){var a=gG(this.b),b=a.m();F(SH(b),b);S(a);uX(a,this.f.a.a);Z(this.f.a.a,b);b.a||S(gG(b))};function zTb(){this.a=!1}l(zTb,vTb);
  3732. function ATb(a,b,c){var d=new zTb;d.f=a;d.b=b;d.c=c;d.a=!0;Fi(CH(b),b);Fi(!c||VH(c),c);return d}zTb.prototype.g=function(){var a=this.b.m();F(pH(a),a);oF(a,this.b);uX(this.b,this.f.a.a);this.c&&(oF(a,this.c),uX(this.c,this.f.a.a));Z(this.f.a.a,a)};function BTb(){}l(BTb,RT);
  3733. BTb.prototype.J=function(a,b){if(kA(b)){a=TT(b);var c=TW(b);b=Uf();var d=Uf();for(c=BA(c).h();c.i();){var e=c.j();if(TG(e))switch(e.c.a){case 90:d.C(e.l(),e);break;case 91:b.C(e.l(),e)}}for(c=d.oa().h();c.i();){e=c.j();var f=d.get(e),h=b.get(e);!CTb(a,f)||h&&!DTb(a,h)||this.a.C(r(a)+"."+r(e),ATb(this.b,f,h))}}else if(SX(b)&&(a=R(b),L(a)))for(a=a.l(),b=I3a(b).h();b.i();){h=b.j();d=h.l();e=c=null;f=!1;for(h=BA(h.a).h();h.i();){var k=h.j();if(Lx(k))switch(k.l()){case "get":CTb(a,k)&&(c=k);break;case "set":f=
  3734. !0,DTb(a,k)&&(e=k)}}!c||f&&!e||this.a.C(r(a)+"."+r(d),yTb(this.b,c,e))}};function ETb(){}l(ETb,RT);
  3735. ETb.prototype.J=function(a,b,c){if(N(b)){if(yH(c)||XI(c)&&q(c.a,b))return;var d=EC(b);(d=this.b.get(d))&&d.a&&(d=Oqb(uqb(tqb(sqb(rqb(this.a.a.a),!0),!0)),Cpb(b,ET(a),BT(a),(N3(),M3)),null,d.b.a),Z(a.c,d))}if(kH(b)){var e=b.a;d=O(b);if(N(e)&&(e=EC(e),(e=this.b.get(e))&&e.c&&e.a)){var f=uqb(tqb(sqb(rqb(this.a.a.a),!0),!0));S(d);d=px(yw(),A([d],lx,eI,1));pF(c,b,d);b=Cpb(d,ET(a),BT(a),(N3(),L3));T3(f,b).f(f,b);b=Oqb(f,b,null,e.c.a);Z(a.c,b)}}};function FTb(){}l(FTb,n);
  3736. function CTb(a,b){if(!P(b.a))return!1;b=b.a;if(!b.a||!Hw(O(b)))return!1;b=O(b);if(!b.a||!gF(b)||!Ux(b.a))return!1;b=b.a;if(!qH(b.a))return!1;b=b.a;if(!eH(b.a)||!N(R(b)))return!1;var c=R(b);return yG(hF(b),r(a)+".$clinit")&&zi(EC(c),r(a)+".$")?!0:!1}function DTb(a,b){if(!P(b.a))return!1;b=b.a;if(!(b.a&&Hw(O(b))&&Gw(R(b))&&gF(R(b))))return!1;b=O(b);if(!b.a||!yH(b.a)||!qH(hF(b)))return!1;b=hF(b);return mG(b,2)&&kH(R(b))&&yG(hF(b),r(a)+".$clinit")?!0:!1}function GTb(){}l(GTb,n);
  3737. GTb.prototype.H=function(a,b){if(w9(this.a)){var c=new FTb;c.a=this;c.b=b;var d=new BTb;d.b=c;d.a=bf();Y(c.a.a,c.b,d);d=d.a;var e=new wTb;e.a=d;Y(c.a.a,c.b,e);e=new ETb;e.a=c;e.b=d;Y(e.a.a.a,e.a.b,e);for(c=e.b.values().h();c.i();)d=c.j(),d.a&&d.g();SY(this.a,a,b)}};function HTb(){this.c=!1}l(HTb,J2);HTb.prototype.g=function(a){J2.prototype.g.call(this,a);this.c=w9(a)};
  3738. HTb.prototype.b=function(a){var b;if(b=this.c)if(b=eH(a)&&mG(a,2))b=a.a,b=DC(b)&&li(wG(b),"module$exports$java$lang$String$impl.m_valueOf__java_lang_Object");b&&(b=R(a),b=aX(b)?ux("null"):nY(b)&&!jH(b)?xS(FG(rx("String"),a),A([S(b)],lx,eI,1)):a,q(b,a)||(b=qF(b,a),qD(a,b),R2(this,b)),a=b);return a};function ITb(){}l(ITb,RT);ITb.prototype.H=function(a,b){w9(this.a)&&(this.b=hBb(gBb(TAb(this.a)),a,b).oa(),Y(this.a,b,this))};
  3739. ITb.prototype.J=function(a,b){var c;if(c=eH(b))c=EC(b.a),c=null!=c&&ki(c,".$getDefine")&&ji(c,"Util");if(c){var d=R(b);c=O(b);q(c,d)?c=Tx():S(c);this.b.B(d.l())&&(d=LX(this.a,d.l()),d=xS(rx("String"),A([d],lx,eI,1)),c=zx(c,d));JG(c,b);qD(b,c);NT(a)}};function L9(){this.b=0;this.c=!1}l(L9,n);function M9(a,b,c,d){var e=new L9;e.a=a;e.f=b;e.b=c;e.c=d;return e}function N9(a){E(PH(a.a));return JTb(KTb(a.a,a.f)[0])}
  3740. function LTb(a){switch(a.a.c.a){case 4:return MTb(a,(H(),ks));case 5:return MTb(a,(H(),js));case 39:return MTb(a,(H(),Is));case 40:return MTb(a,(H(),Hs));case 19:return N9(a);default:return NTb(a)}}function KTb(a,b){if(b||!a.a)return b;b=za([GA(a)],L9,O9,L9.a);var c=0;for(a=BA(a).h();a.i();){var d=a.j();Ad(b,c++,M9(d,null,0,!1))}return b}function MTb(a,b){return M9(GG(zw(b),a.a),KTb(a.a,a.f),a.b,!0)}function NTb(a){return JTb(P9(GG(zw((H(),qs)),a.a),A([a],L9,O9,1)))}
  3741. function JTb(a){return a.c?a:M9(a.a,a.f,a.b,!0)}function OTb(a,b){return II(a.a.c)<b}function P9(a,b){for(var c=0,d=!1,e=0;e<b.length;e++){var f=b[e];c+=f.b;d=d||f.c}e=0;PH(a)&&e++;f=II(a.c);for(var h=0;h<b.length;h++)OTb(b[h],f)&&(e+=2);return M9(a,b,c+e,d)}function PTb(a,b){G(b);return!q(b,a.a)||a.c}function QTb(a){return a.m()?S(a):a}function RTb(a){if(a.f){BG(a.a);for(var b=a.f,c=0;c<b.length;c++){var d=QTb(RTb(b[c]));M(a.a,d)}}return a.a}function O9(a){return a instanceof L9}
  3742. function STb(){this.a=0}var TTb,UTb;l(STb,z);function VTb(a,b){var c=new STb;c.b=a;c.a=b;return c}STb.prototype.R=function(a){return z.prototype.c.call(this,a)};function Q9(){Q9=function(){};TTb=VTb("PREFER_UNNEGATED",0);UTb=VTb("ALLOW_LEADING_NOT",1)}function WTb(){}l(WTb,n);function R9(a,b){var c=new WTb;c.a=a;c.b=JTb(b);return c}
  3743. function XTb(a){E(!!a.m());switch(a.c.a){case 19:case 65:case 64:case 63:case 49:return S9(a);default:return G(a.m()),R9(M9(a,null,0,!1),M9(null,null,2147483647,!0))}}function T9(a,b){return q(b,(Q9(),TTb))||PH(a.a.a)||a.a.b<=a.b.b?a.a:NTb(a.b)}function YTb(a,b){return a.b==b.b?b.c?a:b:a.b<b.b?a:b}
  3744. function S9(a){switch(a.c.a){case 19:var b=S9(a.a);a=YTb(P9(a,A([b.a],L9,O9,1)),b.b);b=YTb(LTb(b.b),b.a);return R9(a,b);case 65:case 64:var c=GG(zw(iH(a)?(H(),ft):(H(),gt)),a),d=S9(a.a),e=S9(O(a));b=YTb(P9(a,A([d.a,e.a],L9,O9,1)),LTb(P9(c,A([d.b,e.b],L9,O9,1))));a=YTb(LTb(P9(a,A([d.a,e.a],L9,O9,1))),JTb(P9(c,A([d.b,e.b],L9,O9,1))));return R9(b,a);case 63:return b=a.a,c=b.b,d=c.b,c=S9(c),e=S9(d),d=P9(a,A([M9(b,null,0,!1),c.a,e.a],L9,O9,1)),a=P9(a,A([M9(b,null,0,!1),c.b,e.b],L9,O9,1)),R9(d,a);case 49:return c=
  3745. a.a,d=S9(c.b),b=P9(a,A([M9(c,null,0,!1),d.a],L9,O9,1)),a=P9(a,A([M9(c,null,0,!1),d.b],L9,O9,1)),R9(b,a);default:return a=M9(a,null,0,!1),b=LTb(a),R9(a,b)}}function U9(){}l(U9,n);U9.prototype.Ca=function(a){return this.ca(a)};U9.prototype.cb=function(){return hd(this)};U9.prototype.ca=function(a){return N(a)&&kH(a.m())};function ZTb(){this.c=!1}l(ZTb,J2);function $Tb(a){V9();var b=new ZTb;b.c=a;return b}
  3746. function aUb(a,b){switch(b.c.a){case 42:case 0:var c=b.a;var d=WS(b,b,null),e=d;d=bUb(d);!q(e,d)&&!cUb(a,c)||!d&&($H(b)||c)?c=b:!d||dUb(b,d)?(R2(a,b),S(b),c=null):c=b;return q(c,b)?eUb(a,b):c;case 19:fUb(a,b.a);a:{D(PH(b));c=b.m();switch(b.a.c.a){case 4:d=(H(),ks);break;case 5:d=(H(),js);break;case 39:d=(H(),Is);break;case 40:d=(H(),Hs);break;default:a=b;break a}e=UA(b);e.c=d;pF(c,b,e);R2(a,c);a=e}return a;case 70:return W9(a,b.a),gUb(a,b);case 88:return W9(a,b.a),c=b.a,d=T9(XTb(c),(Q9(),UTb)),PH(d.a)?
  3747. X9(a,c,N9(d)):X9(a,c,d),b;case 63:return W9(a,b.a),c=b.a,d=T9(XTb(c),(Q9(),UTb)),PH(d.a)?(e=R(b),X9(a,c,N9(d)),oF(b,e),M(b,e),R2(a,b)):X9(a,c,d),b;case 74:case 75:return fUb(a,NS(b)),b;case 76:if(a.c&&(c=O(b),(d=c.a)&&FH(d))){e=R(d);var f=e.a;f&&lH(f)&&!f.a&&(mG(d,3)?pF(c,d,S(O(d))):(IX(e),UA(c)),c=UA(d),c=GG(Dx(c),c),d=NS(b),Aw(d)?(pF(b,d,c),R2(a,c)):(e=zw((H(),gt)),pF(b,d,e),M(e,d),M(e,c),R2(a,e)))}fUb(a,NS(b));return b;case 86:for(d=b.a;d;d=e)if(e=d.b,FH(d)){f=d.a;var h=f.b,k=h.b;if((c=d.b)&&!k&&
  3748. hUb(h)&&FH(c)){k=c.a;var m=k.b,p=m.b;h.ae(m,!0,!0,!0,!1)?(S(d),BG(d),d=Ow((H(),ft),f),pF(c,k,d),M(d,k),R2(a,d)):p&&h.ae(p,!0,!0,!0,!1)&&(S(d),BG(d),d=Ow((H(),gt),GG(Dx(f),f)),pF(c,k,d),M(d,k),R2(a,d))}else{if(m=c&&!k&&hUb(h))m=c,m=Ux(m)?gF(m):!1;if(m){iUb(h)?(e=jUb(h),S(e)):e=vX(d);h=c.a;S(f);S(h);e=bx(GG(yx(f,e,h),d));pF(b,d,e);oF(b,c);R2(a,b);break}else k&&kUb(h)&&(oF(d,k),nF(b,k,d),R2(a,b))}}return b;default:return b}}
  3749. function kUb(a){switch(a.c.a){case 42:case 0:return!0;case 86:return a.a?kUb(O(a)):!1;default:return!1}}function eUb(a,b){for(var c=b.a,d=b;!nWa(d,null);d=d.m())if(P(d)||tC(d))return b;var e=d=WS(d,d,null);d=bUb(d);return!q(e,d)&&!cUb(a,c)||!d&&($H(b)||c)?b:!d||dUb(b,d)?(c=zw((H(),Dt)),qD(b,c),R2(a,c),c):b}function cUb(a,b){return!b||!$W(b)&&!N2(a,b)}function bUb(a){for(V9();a&&lWa(a.m(),a);)a=WS(a,a,null);return a}
  3750. function dUb(a,b){var c;if(c=tD(a,b))V9(),F(Ux(a)||$H(a),a),c=!($H(a)||a.a&&!tJ(O(a),!0))||q(lUb(a),lUb(b));return c}function lUb(a){V9();a:{for(;!tC(a)&&!P(a);a=a.m()){b:{var b=a;if(Hw(b)&&bI(b.m())&&q(b.m().a,b))for(b=b.b;b;b=b.b)if(YS(b)){b=b.a;break b}b=null}if(b){a=b;break a}}a=null}return a}
  3751. function gUb(a,b){var c=b.m(),d=b.a;if(tJ(d,!0))return b;var e=d.b,f=e.b,h=XTb(d),k=T9(h,(Q9(),TTb));h=T9(h,UTb);if(!f){if(mUb(e)){f=Y9(e);if(e=!a.c)e=VI(f,new U9,(T(),WI));if(e)return X9(a,d,k),b;if(PH(h.a))return d=S(X9(a,d,N9(h))),d=GG(Cx(d,UA(f)),b),d=ZW(d),pF(c,b,d),R2(a,c),d;if(OTb(h,nUb)&&oUb(f.a))return X9(a,d,h),b;d=S(X9(a,d,h));d=GG(Bx(d,UA(f)),b);d=ZW(d);pF(c,b,d);R2(a,c);return d}if(jT(e)&&gF(e)&&(c=e.a,FH(c)&&(c=c.a,h=c.b,!(h.b||OTb(k,nUb)&&oUb(c)))))return k=S(X9(a,d,k)),BG(b),M(b,GG(Bx(k,
  3752. S(c)),d)),M(b,S(h)),R2(a,b),b;X9(a,d,k);return b}if(M2(a)){F(FH(b),b);var m=b.m();if(jT(m)){var p=b.a.b,t=p.b;G(p);for(G(t);;){var v=O(p),C=O(t);if(!v||!C||!L2(a,v,C))break;S(v);S(C);nF(m,v,b);R2(a,m)}}}if(PH(h.a)&&!pUb(f))return X9(a,d,N9(h)),oF(b,e),M(b,e),R2(a,b),b;if(iUb(e)&&iUb(f))return k=jUb(e),f=jUb(f),d=S(X9(a,d,h)),S(k),S(f),d=bx(GG(yx(d,k,f),b)),pF(c,b,d),R2(a,d),d;m=mUb(e);p=mUb(f);if(m&&p){k=Y9(e).a;f=Y9(f).a;if(q(k.c,f.c)&&XI(k)&&(e=k.a,L2(a,e,f.a)&&!mJ(a.f,e,!0)&&(!N2(a,d)||kH(k)&&
  3753. L(k.a))))return h=S(X9(a,d,h)),d=UA(k),e=UA(k),m=O(f),oF(f,m),h=GG(yx(h,e,m),b),d=GG(ex(k.c,d,h),k),d=ZW(d),pF(c,b,d),R2(a,c),d;d=S(X9(a,d,h));S(k);S(f);d=cx(GG(yx(d,k,f),b));pF(c,b,d);R2(a,c);return d}t=qUb(e);v=qUb(f);if(t&&p&&kH(Y9(f).a)){if(e=rUb(e),m=Y9(f).a,f=e.a,p=m.a,f.a&&L(p)&&li(f.l(),p.l()))return E(gF(f)),k=UA(f),m=S(O(m)),d=S(X9(a,d,h)),d=GG(yx(d,k,m),b),S(e),M(f,d),pF(c,b,e),R2(a,c),e}else if(v&&m&&kH(Y9(e).a)&&(f=rUb(f),m=Y9(e).a,p=m.a,e=f.a,e.a&&L(p)&&li(p.l(),e.l())))return k=S(O(m)),
  3754. E(gF(e)),m=UA(e),d=S(X9(a,d,h)),d=GG(yx(d,k,m),b),S(f),M(e,d),pF(c,b,f),R2(a,c),f;X9(a,d,k);return b}function mUb(a){return Hw(a)&&gF(a)&&(a=a.a,yH(a))?eH(a.a)&&(a=hF(a),DH(a)||N(a)&&zi(O(a).l(),"on"))?!1:!0:!1}function Y9(a){E(mUb(a));return a.a}function hUb(a){return Hw(a)&&gF(a)?Ux(a.a):!1}function iUb(a){return Hw(a)&&gF(a)&&(a=a.a,Ux(a))?gF(a):!1}function jUb(a){E(iUb(a));return hF(a)}function qUb(a){return Hw(a)&&gF(a)&&(a=a.a,gx(a))?gF(a):!1}function rUb(a){E(qUb(a));return a.a}
  3755. function pUb(a){for(;;)switch(a.c.a){case 70:if(3>GA(a))return!0;a=O(a);continue;case 86:if(!gF(a))return!1;a=O(a);continue;case 81:case 74:case 76:case 77:a=O(a);continue;default:return!1}}function oUb(a){var b=nUb;V9();return II(a.c)<b}function fUb(a,b){b=W9(a,b);var c=XTb(b);X9(a,b,T9(c,(Q9(),TTb)))}function X9(a,b,c){return PTb(c,b)?(G(b),E(PTb(c,b)),c=RTb(c),q(b,c)||(QTb(c),qD(b,c)),R2(a,c),c):b}
  3756. function W9(a,b){var c=b.m();switch(b.c.a){case 64:case 65:var d=b.a;var e=O(b);d=W9(a,d);e=W9(a,e);var f=Q2(a,e);if(!q(Q2(a,e),(Xu(),Vu))){var h=b.c;f=f.ed(!0);q(h,(H(),ft))&&!f||q(h,(H(),gt))&&f||(N2(a,d)?(BG(b),d=zx(d,e)):d=e);if(d)return BG(b),pF(c,b,d),R2(a,c),d}return b;case 63:d=b.a;e=R(b);h=O(b);e=W9(a,e);h=W9(a,h);f=null;var k=Q2(a,e),m=Q2(a,h);q(k,(Xu(),Tu))&&q(m,(Xu(),Uu))?(S(d),f=d):q(k,(Xu(),Uu))&&q(m,(Xu(),Tu))?(S(d),f=Dx(d)):q(k,(Xu(),Tu))?(BG(b),f=Cx(d,h)):q(m,(Xu(),Uu))?(BG(b),f=
  3757. Bx(d,e)):N2(a,d)||N2(a,e)||!tD(d,e)||(BG(b),f=Cx(e,h));f&&(pF(c,b,f),R2(a,f),b=f);return b;default:return d=Q2(a,b),q(d,(Xu(),Vu))?a=b:(d=eF(d.ed(!0)?1:0),tD(d,b)?a=b:(pF(c,b,d),R2(a,d),S2(a,b),a=d)),a}}ZTb.prototype.b=function(a){return aUb(this,a)};function V9(){V9=function(){};nUb=II((H(),gt))}var nUb=0;function Z9(){}l(Z9,n);Z9.prototype.Ca=function(a){return this.ca(a)};Z9.prototype.cb=function(){return hd(this)};Z9.prototype.ca=function(a){return lH(a)&&!a.a};function $9(){}l($9,n);
  3758. $9.prototype.Ca=function(a){return this.ca(a)};$9.prototype.cb=function(){return hd(this)};$9.prototype.ca=function(a){return sH(a)&&!a.a};function a$(){}l(a$,n);a$.prototype.Ca=function(a){return this.ca(a)};a$.prototype.cb=function(){return hd(this)};a$.prototype.ca=function(a){return!ax(a)&&!ZS(a)&&!XH(a)};function b$(){}l(b$,n);b$.prototype.Ca=function(a){return this.ca(a)};b$.prototype.cb=function(){return hd(this)};b$.prototype.ca=function(a){return!ax(a)&&!ZS(a)};function c$(){}l(c$,n);
  3759. c$.prototype.Ca=function(a){return this.ca(a)};c$.prototype.cb=function(){return hd(this)};c$.prototype.ca=function(a){return lH(a)&&!a.a};function sUb(){}var tUb,uUb,vUb,wUb,xUb;l(sUb,J2);function yUb(){zUb();return new sUb}
  3760. sUb.prototype.b=function(a){switch(a.c.a){case 50:E(kH(a));var b=a.a,c=O(a);L(b)&&L(c)&&li(b.l(),c.l())?(qD(a,S(c)),R2(this,c),a=c):Xw(b)&&!b.a&&(qD(a,S(c)),R2(this,c),a=c);return a;case 49:b=a.m();c=a.a;var d=c.b;c=d$(this,c);c&&N2(this,c)||(oF(a,d),pF(b,a,d),R2(this,b),a=d);return a;case 89:case 86:for(c=a.a;c;){b=c.b;d=c;if(Hw(d)&&PG(d)||tC(d)||N2(this,c)){var e;d=c;c=d.b;if(e=AUb(d))e=!!c&&(FH(c)||BUb(c));e&&(E(AUb(d)),e=nX(d)?hF(d):d.a,FH(c)?c=NS(c):(E(BUb(c)),c=hF(c)),L(e)&&L(c)&&li(e.l(),c.l())&&
  3761. (E(AUb(d)),d=O(d.a),d=RW(d),q(d,(Xu(),Vu))||(d=SU(d.ed(!0)),qD(c,d),R2(this,d))))}else CUb(!qJ(a),"function declaration"),oF(a,c),R2(this,a),S2(this,c);c=b}PG(a)||tC(a)||!a.m()||(b=a.m(),xX(a,!1)&&(R2(this,b),a=null));return a;case 88:return d$(this,a.a)||(b=a.m(),KH(b)?(c=GG(Lw(),a),pF(b,a,c),a=c):(S(a),a=null)),a;case 63:F(EH(a),a);b=a.m();G(b);c=a.a;e=c.b;var f=e.b;d=RW(c);if(!q(d,(Xu(),Vu))||L2(this,e,f))d.ed(!0)?(d=e,e=f):d=f,f=N2(this,c),BG(a),f?d=GG(zx(c,d),a):S2(this,c),pF(b,a,d),R2(this,
  3762. d),S2(this,e),a=d;return a;case 71:a:{F(XH(a),a);b:{F(XH(a),a);b=a.a;for(c=R(a);c;c=c.b){if(uH(c)){for(d=b.b;!q(d,c);d=e)e=d.b,e$(this,a,d);if(DUb(this,c,q(b,a.a)?null:b,c)){e$(this,a,c);break}e=c;break b}E(mH(c));if(O(c).a||N2(this,c.a))b=c}e=null}if(!e||uH(O(a))){b=a.a;f=null;for(c=b.b;c;c=d)d=c.b,!N2(this,c.a)&&DUb(this,c,f,e)?e$(this,a,c):f=c;if(tJ(b,!1)){e=(Xu(),Tu);for(c=b.b;c&&(d=c.b,e=c.a,e=VEb(this,(H(),Hs),b,e),!q(e,Tu))&&!q(e,Vu);c=d)e$(this,a,c);if(c&&q(e,Tu)){e=c;for(f=O(e);c;){var h=
  3763. O(c);d=O(h);var k=!1;d&&EUb(d)&&(FUb(this,d),k=!0);d=c.b;if(!q(c,e)){for(;h.a;)M(f,UA(h));R2(this,c);S(c)}c=d;if(k)break}for(;c;c=d)d=c.b,e$(this,a,c);if((c=b.b)&&!c.b){a=GUb(this,a,!1);break a}}}}gF(a)?(b=UA(a),b=GG(cx(b),a),qD(a,b),R2(this,b),a=b):a=kG(a)&&uH(O(a))?eH(a.a)?GUb(this,a,!0):GUb(this,a,!1):a}return a;case 70:return HUb(this,a);case 74:throw CUb(!1,"WHILE").s;case 76:return(b=NS(a))&&q(Q2(this,b),(Xu(),Tu))&&(R2(this,b),qD(b,yw())),D(zH(a)),c=a.a,b=c.b,d=b.b,Aw(c)||PI(c)||(c=d$(this,
  3764. c),c||(c=GG(yw(),a),Mx(a,c))),Aw(d)||(d=d$(this,d),d||(d=GG(yw(),a),nF(a,d,b))),Aw(a.a)&&q(RW(b),(Xu(),Uu))&&(c=a.m(),IX(a),N2(this,b)?(b=qF(cx(S(b)),b),KH(c)&&(d=Lw(),qF(d,b),Mx(d,b),b=d),pF(c,a,b)):wX(c,a),R2(this,c),a=null),a;case 75:return D(tya(a)),c=NS(a),q(RW(c),(Xu(),Uu))&&(b=pX(a),(d=KH(a.m()))||(zUb(),d=VI(b,uUb,vUb)||VI(b,wUb,xUb)),d||(d=a.m(),qD(a,S(b)),N2(this,c)&&(a=GG(cx(S(c)),c),nF(d,a,b)),R2(this,d),a=b)),tya(a)&&(D(tya(a)),b=pX(a),Hw(b)&&!b.a&&(c=NS(a),b=fx(GG(yw(),a),S(c),GG(yw(),
  3765. a),S(b)),qD(a,b),R2(this,b),a=b)),a;case 47:return F(bI(a),a),b=a.a,c=b.b,d=c.b,c.a||d&&d.a?b.a||(IX(c),R2(this,a),d?(oF(a,d),qD(a,d)):S(a),a=d):(oF(a,b),qD(a,b),R2(this,b),a=b),a;case 87:return b=a.a.l(),c=O(a),Aw(c)||Hw(c)&&!c.a?(R2(this,a),S(a),a=null):((d=IUb(c))&&(c=d),lH(c)&&li(c.a.l(),b)&&(R2(this,a),S(a),a=null)),a;case 97:Fi(Zw(a),a);for(b=O(a);b;)if(Aw(b)||JUb(this,b))c=iF(b),oF(a,b),b=c,R2(this,a);else break;return a;case 98:Fi($w(a),a);if(!a.a||!Jw(O(a)))for(b=a.a;b;)c=b,b=c.b,Lx(c)&&
  3766. JUb(this,fF(c))&&(S(c),R2(this,a));return a;case 80:case 92:case 104:return E(PI(a)),b=a.a,Yw(b)&&kG(b)&&!b.a.a&&(b=R(b),qD(a,GG(cx(S(b)),b)),R2(this,b)),a;case 127:return Fi(vH(a),a),b=a.a,c=R(a),d=!1,L(c)&&li(c.l(),"undefined")&&(d=!0),q(c.c,(H(),It))&&(d=!N2(this,c.a)),d&&(qD(a,S(b)),R2(this,b),a=b),a;default:return a}};function IUb(a){if(!Hw(a))return null;if(gF(a))return fF(a);var b=null;for(a=BA(a).h();a.i();){var c=a.j();if(!PG(c)||c.a){if(b)return null;b=c}}return b}
  3767. function d$(a,b){var c=Uk();if(KUb(a,b,c))return b;if(c.D())return G(a.a),tX(b,a.a),null;if(q(c.$f(),b))return F(1==c.w(),c),R2(a,b),b;for(var d=LUb(c.Ch());!c.D();){var e=LUb(c.Ch());d=GG(zx(d,e),e)}mF(b.m(),d,b);G(a.a);tX(b,a.a);return d}
  3768. function KUb(a,b,c){switch(b.c.a){case 63:var d=d$(a,R(b));var e=d$(a,O(b));if(!d&&e)return F(kG(b),b),a=(H(),ft),b.c=a,c.Sb(b),!1;if(d&&!e)return F(kG(b),b),a=(H(),gt),b.c=a,c.Sb(b),!1;if(d||e)return c.Sb(b),MUb(b);KUb(a,fF(b),c);return!1;case 65:case 64:case 66:if(d=d$(a,O(b)))return c.Sb(b),MUb(b);KUb(a,fF(b),c);return!1;case 69:return!1;default:if(lAa(a.f,b))return c.Sb(b),MUb(b);if(!b.a)return!1;d=MUb(b);for(b=b.a;b;b=b.b)d=!!(+d&+KUb(a,b,c));return d}}
  3769. function LUb(a){switch(a.c.a){case 120:case 121:switch(a.m().c.a){case 45:case 23:case 28:a=GG(Nx(A([S(a)],lx,eI,1)),a);break;case 46:a=GG(Kx(A([S(a)],lx,eI,1)),a);break;default:throw pb(uD(a)).s;}}a.m()&&S(a);F(ax(a),a);return a}function MUb(a){switch(a.m().c.a){case 65:case 49:case 63:case 64:case 66:return!0;case 45:case 46:return qx(a);default:return EI(a.m())}}function FUb(a,b){b&&lH(b)&&!b.a&&(R2(a,b),S(b))}
  3770. function GUb(a,b,c){var d=O(O(b));FUb(a,O(d));if(VI(d,tUb,(T(),WI)))return b;c&&(c=gG(d),nF(c.m(),GG(cx(UA(b)),b),iF(c)));qD(b,S(d));R2(a,d);return d}function e$(a,b,c){IX(c);oF(b,c);R2(a,b)}
  3771. function DUb(a,b,c,d){E(!c||q(c.b,b));if(!q(O(b.m()),b)&&c&&(c=O(c),!c.a||!EUb(O(c))))return!1;for(c=b;c;){E(uH(c)||mH(c));E(q(b,c)||!uH(c));if(!uH(c)&&N2(a,c.a))return!1;var e=O(c);E(Hw(e));if(e.a)for(e=BA(e).h();e.i();){var f=e.j();switch(f.c.a){case 78:return!f.a&&(!d||q(d,c));case 80:if(gF(f)&&!hF(f))continue;return!1;default:return!1}}c=c.b}return!0}function EUb(a){switch(a.c.a){case 78:case 79:case 0:case 42:return!0;default:return!1}}
  3772. function AUb(a){return nX(a)&&L(hF(a))||PI(a)&&gF(a)&&hF(a)?!0:!1}function BUb(a){if(yH(a))switch(a.a.c.a){case 63:case 65:case 64:case 66:return!0}return!1}
  3773. function HUb(a,b){F(FH(b),b);var c=b.m();G(c);var d=b.c,e=b.a,f=e.b,h=f.b;h&&!N2(a,h)&&(oF(b,h),R2(a,b),h=null);if(!N2(a,f)&&h){oF(b,h);pF(b,f,h);var k=zw((H(),qs));pF(b,e,k);R2(a,b);Mx(k,e);e=k;f=e.b;h=null}if(!N2(a,f)&&!h){if(N2(a,e))return oF(b,e),d=ZW(e),pF(c,b,d),R2(a,c),d;wX(c,b);R2(a,c);return null}k=RW(e);if(q(k,(Xu(),Vu)))return b;if(N2(a,e)){var m=q(k,(Xu(),Tu));m||h||(h=GG(Lw(),b),M(b,h));var p=SU(m);pF(b,e,p);f=m?f:h;Mx(f,GG(cx(e),e));R2(a,f)}e=k.ed(!0);if(kG(b)){E(q(d,(H(),vt)));if(e)return d=
  3774. R(b),oF(b,d),pF(c,b,d),R2(a,d),d;IX(b);wX(c,b);R2(a,c);S2(a,b);return null}d=R(b);k=d.b;f=e?d:k;IX(e?k:d);oF(b,f);pF(c,b,f);R2(a,f);S2(a,b);return f}function JUb(a,b){var c=b,d=null;vH(b)&&(c=b.a,d=R(b));return!Xw(c)||c.a?!1:!d||!N2(a,d)}function CUb(a,b){Ji(a,"Unexpected %s. AST should be normalized.",b);return null}function zUb(){zUb=function(){};uUb=new Z9;wUb=new $9;vUb=new a$;xUb=new b$;tUb=new c$}function NUb(){}l(NUb,n);function f$(a,b,c){var d=new NUb;d.c=a;d.b=b;d.a=c;return d}
  3775. NUb.prototype.toString=function(){return Mn(Mn(Qn(this),"name",this.b),"value",this.a).toString()};function OUb(){this.b=!1}l(OUb,n);function PUb(a,b,c,d,e,f){var h=new OUb;h.o=a;h.f=b;h.g=c;h.b=d;h.c=e;h.a=f;return h}function QUb(){this.a=!1}l(QUb,n);function RUb(a,b,c){var d=new QUb;d.c=a;d.a=b;d.b=c;return d}function SUb(){this.a=0}var g$,TUb;l(SUb,z);function UUb(a,b){var c=new SUb;c.b=a;c.a=b;return c}SUb.prototype.R=function(a){return z.prototype.c.call(this,a)};
  3776. function h$(){h$=function(){};g$=UUb("ObjectLiteral",0);TUb=UUb("ES6Class",1)}function VUb(){this.F=!1}l(VUb,n);function WUb(a,b){if(a)for(b=og(tg(b.S(),u(function(d){return d.b.l()})),vda()),a=a.V().h();a.i();){var c=a.j().M();b.B(c.b.l())&&a.ma()}}VUb.prototype.toString=function(){return Ln(Mn(Mn(Mn(Mn(Qn(this),"defType",this.A),"definition",this.f),"target",this.a),"nativeBaseElement",this.g)).toString()};
  3777. function XUb(a,b){null==a.K&&(a.K="Polymer"+r(vi(EC(a.a),46,95))+"Interface"+r(b.f()));return a.K}function YUb(){}l(YUb,n);YUb.prototype.a=function(a){if(Dw(a)&&li(a.l(),"$")&&N(a.m())&&N(gG(a))&&(!eH(hG(a,3))||!gF(hG(a,3)))){a=gG(a);var b=(H(),ws);a.c=b;Z(this.b,a)}};function i$(a,b){E(SH(a)||pH(a));for(a=BA(a).h();a.i();){var c=a.j().a;if(c&&P(c)){c=O(c);var d=new YUb;d.b=b;Q3a(c,d)}}}
  3778. function ZUb(a,b){E(SH(a));for(a=BA(a).h();a.i();){var c=a.j();if(!rH(c)&&(li(c.l(),"listeners")||li(c.l(),"hostAttributes")))for(c=BA(c.a).h();c.i();){var d=c.j();d.bb()||(d.Pg(),Z(b,d))}}}function j$(a,b,c,d){var e=a;q(b,(h$(),g$))&&(e=kX(a,"properties"));if(!e)return Ll();a=bf();d&&$Ub(d,a);d=Mj();for(e=BA(e).h();e.i();){b=e.j();var f=a.get(b.l()),h=tL(b);f?h&&X(c,V(b,(V5(),tGb),A([],B,y,1))):f=h;d.W(f$(f,b,b.a))}return d.fa()}
  3779. function $Ub(a,b){G(a);for(a=BA(a).h();a.i();){var c=a.j();N(c)&&SC(c.a)&&Dw(R(c))?b.C(R(c).l(),tL(c)):$Ub(c,b)}}
  3780. function k$(a,b){if(a.c&&gE(a.c))return qwa(ZD(a.c));if(SH(a.a)){var c=kX(a.a,"type");if(!c||!L(c))return X(b,V(a.b,(V5(),mGb),A([],B,y,1))),null}else L(a.a)?c=a.a:c=null;if(!c)return X(b,V(a.a,(V5(),mGb),A([],B,y,1))),null;var d=c.l();switch(d){case "Boolean":case "String":case "Number":a=GG(ux(Xp(d)),c);break;case "Array":case "Function":case "Object":case "Date":a=IG(Ow((H(),zu),ux(d)),c);break;default:return X(b,V(a.a,(V5(),mGb),A([],B,y,1))),null}return mD(a,"<PolymerPassStaticUtils.java>")}
  3781. function aVb(a){a=null==a.g?"":Hla((cq(),aq),a.g);return CN("Polymer%sElement",[a])}function bVb(){}var l$,cVb,dVb;l(bVb,n);
  3782. function eVb(a,b,c){if(!b)return Ll();if(!jH(b))return X(a.a,V(b,(V5(),oGb),A([],B,y,1))),Ll();var d=Mj();for(b=BA(b).h();b.i();){var e=b.j();if(SH(e)){i$(e,a.a);ZUb(e,a.a);kX(e,"is")&&X(a.a,V(e,(V5(),iGb),A([],B,y,1)));var f=U2a(e);d.W(PUb(j$(e,(h$(),g$),a.a,null),fVb(e),gVb(e),sC(V2a(e)),aF(iX(e),(kx(),XE)),f))}else{f=e;if(eH(f)&&cVb.de(f.a)&&kG(f)&&Dw(R(f))){f=a;var h=R(e).l(),k=f.g.a.get(h);k?PV(k)?f=m$(f,h,null):(F(NV(k),k),f=m$(f,"exports",k)):f=l$}else f=m$(a,hVb(e),c);cd(f,l$)?X(a.a,V(e,(V5(),
  3783. W5),A([],B,y,1))):(h=f.c,jH(h)?d.fb(eVb(a,h,f.b)):SH(h)?(i$(h,a.a),ZUb(h,a.a),kX(h,"is")&&X(a.a,V(h,(V5(),iGb),A([],B,y,1))),e=U2a(h),d.W(PUb(j$(h,(h$(),g$),a.a,null),fVb(h),gVb(h),f.a,aF(iX(h),(kx(),XE)),e))):X(a.a,V(e,(V5(),W5),A([],B,y,1))))}}return d.fa()}function m$(a,b,c){if(null==b)return l$;var d=c?a.o.Ze(b,c):a.f.get(b);d||(d=G(iVb(a,b,c)),c?a.o.Mc(b,c,d):a.f.C(b,d));return d}
  3784. function iVb(a,b,c){if(c&&(MV(c)||NV(c))){if(NV(c)){var d=c.b.ff().G(0);d=a.b.a.get(d)}else d=yW(a.b,c.a);Li(d,c);var e=mi(b,46);if((d=d.Od.get(-1==e?b:ne(b,0,e)))&&!cd(d.o,(FV(),DV))){var f=-1==e?"":b.substr(e);d.c?d=jVb(a,d,f):(e=d.a.o,MV(e)?d=r(d.a.a)+r(f):NV(e)?d="exports."+r(d.a.b)+r(f):(F(PV(e),e),d=r(d.g)+"."+r(d.a.b)+r(f)),d=m$(a,d,e))}else d=null}else d=null;if(d)return d;a:{for(d=b.length;0<=d;){if((e=a.g.a.get(ne(b,0,d)))&&OV(e)){d=m$(a,"exports"+r(d==b.length?"":b.substr(d)),e);d=cd(d,
  3785. l$)?null:d;break a}--d;e=ii(46);d=b.lastIndexOf(e,d)}d=null}if(d)return d;c?(d=a.c,G(c),G(b),s_(d),d=d.o.Ze(c,b)):d=null;e=d?d:a.c.ob(b);if(!e)return l$;b=!d;d=e.hb();if(!d)for(e=NZ(e).h();e.i();)if(f=e.j(),l_(f)){b=!1;d=f;break}if(!d)return l$;f=d.N();if(!f)return l$;e=sL(f);if(!e)return l$;if(DC(e))return c=WR(d.c),c=p_(a.a.A,a.a,c.ka()),m$(a,hVb(e),c?c.a:null);(d=tL(f))&&rE(d)||X(a.a,V(f,(V5(),pGb),A([],B,y,1)));return RUb(e,b,c)}
  3786. function jVb(a,b,c){if(NV(b.b))return m$(a,"exports"+r(c),b.b);if(PV(b.b))return m$(a,r(b.g)+r(c),b.b);E(MV(b.b));if(te(c))return l$;c=c.substr(1);var d=mi(c,46),e=-1==d?c:ne(c,0,d);return(e=yW(a.b,b.b.a).ld.get(e))&&cd(e.o,(FV(),DV))?m$(a,r(e.a.a)+r(-1==d?"":c.substr(d)),b.b):l$}function fVb(a){E(SH(a));var b=Mj();for(a=BA(a).h();a.i();){var c=a.j();(Lx(c)&&P(c.a)||LH(c))&&!dVb.B(c.l())&&b.W(f$(tL(c),c,c.a))}return b.fa()}
  3787. function hVb(a){if(L(a)){var b=a.l();return te(b)?null:b}if(N(a)){b=hVb(a.a);if(null==b)return null;a=O(a).l();return r(b)+"."+r(a)}return nH(a)?hVb(a.a):null}function gVb(a){E(SH(a));var b=Mj();for(a=BA(a).h();a.i();){var c=a.j();(CH(c)||Lx(c)&&!P(c.a))&&!dVb.B(c.l())&&b.W(f$(tL(c),c,c.a))}return b.fa()}
  3788. function kVb(){kVb=function(){};dVb=jm("created","attached","detached","attributeChanged","configure","ready",A(["properties","listeners","observers","hostAttributes"],B,y,1));l$=RUb(null,!1,null);cVb=Wx("goog.module.get")}function lVb(){this.g=0;this.c=this.o=!1}var mVb,nVb;l(lVb,n);function oVb(a){n$();return eH(a)&&P(a.a)}function pVb(a){n$();if(!P(a))return!1;a=a.m();return!!a&&zY(a)}
  3789. function qVb(a,b,c){switch(b.c.a){case 116:b=rVb(a,b.m());Mx(b,c);OT(a.a,iX(b));break;case 89:Mx(b,c);OT(a.a,iX(b));break;case 28:E(oVb(b));b=fX(b.m(),Ti(function(d){return tC(d)||NH(d)}));tC(b)?(Mx(b,c),OT(a.a,iX(b))):(E(NH(b)),b=rVb(a,b.m()),Mx(b,c),OT(a.a,iX(b)));break;case 69:E(pVb(b));b=iX(b);b=rVb(a,b);Mx(b,c);OT(a.a,b);break;default:throw Ha("Enclosing node for Polymer is incorrect").s;}}function rVb(a,b){return YW(b)?tC(a.b)?a.b:a.b.m():OY(a.a,null)}
  3790. function sVb(a,b,c){switch(b.c.a){case 116:tF(b.m(),(kx(),WE))?(a=tVb(b),lF(b,c,a)):kF(b,c);break;case 89:kF(b,c);OT(a.a,iX(b));break;case 28:E(oVb(b));kF(O(b.a),c);break;case 69:E(pVb(b)),b=O(b),(a=tVb(b))&&lF(b,c,a)}}
  3791. function uVb(a,b,c){var d=b.f.m();d=yH(d)?d:d.m();F(rX(d.m()),d.m());var e=G(b.b),f=HP(!0),h=mD(GG(ux(r(EC(b.a))+".prototype"),d),WA(d));OPa(f,h);Gx(e,KP(f));vVb(a,e,EC(b.a),b.A);i$(e,a.a);ZUb(e,a.a);for(f=b.c.h();f.i();)h=f.j(),SH(h.a)&&i$(h.a,a.a);f=Lw();h=wVb(a,b);var k=b.u.a.m();k&&sF(k,(kx(),HE));IT(c)||(k=ET(c).T("PolymerElement"))&&!nL(k.ya())&&(k=k.a,X(a.a,V(b.u.a,mVb,A([WA(k),""+XA(k),""+YA(k)],B,y,1))));h=xVb(a,d,b,h,c);k=r(EC(b.a))+".prototype.";yVb(a,b,f,k,!1);o$(a,b.c,f,k,!1);zVb(a,b,
  3792. f);k=AVb(a,b,f);var m=BVb(b);CVb(a,b,k,m);DVb(a,e,b.A);f=pD(f);e=d.m();IT(c)||!b.F||N(b.a)?((c=iF(d))?(f&&lF(e,f,c),nF(e,h,c)):(f&&kF(e,f),Mx(e,h)),Z(a.a,e)):(c=fX(e,Ti(function(p){return tC(p)||NH(p)||oVb(p)||pVb(p)})),qVb(a,c,h),f&&sVb(a,c,f));f&&Z(a.a,f);b.U&&(c=iX(e),f=aF(c,(kx(),XE)),h=YK(f,b.U),h.I(f)||(vF(c,XE,h),OT(a.a,c)));PI(d)&&(c=EVb(d),pF(e,d,c),Z(a.a,c));1<a.g&&a.o&&b.b&&(d=kX(b.b,"properties"))&&SH(d)&&FVb(a,b,d)}
  3793. function GVb(a,b,c){a=TW(a.f);if(b=W2a(a,b))a=tL(b),a&&hE(a)||(a=JP(a),RP(a,c),JG(c.a,b),Gx(b,KP(a)))}function FVb(a,b,c){G(c);E(SH(c));var d=c.m();b=JG(px(LX(a.a,"$jscomp.reflectObject"),A([NA(b.a),S(c)],lx,eI,1)),c);Mx(d,b);Z(a.a,d)}
  3794. function vVb(a,b,c,d){E(SH(b));for(var e=BA(b).h();e.i();){var f=e.j(),h=O(f);h&&P(h)&&(h=JP(nG(f)),BPa(h,mD(IG(Ow((H(),zu),ux(c)),f),"<PolymerClassRewriter.java>")),Gx(f,KP(h)))}for(b=j$(b,d,a.a,null).h();b.i();)d=b.j(),SH(d.a)&&(e=kX(d.a,"value"))&&P(e)&&(e=e.m(),f=JP(nG(e)),BPa(f,mD(IG(Ow((H(),zu),ux(c)),e),"<PolymerClassRewriter.java>")),RP(f,k$(d,a.a)),Gx(e,KP(f)))}
  3795. function AVb(a,b,c){for(var d=r(EC(b.a))+".prototype.",e=Mj(),f=b.c.h();f.i();){var h=f.j();if(SH(h.a)){var k=kX(h.a,"readOnly");k&&aI(k)&&(k=HVb(a,h,d),JG(k,h.b),M(c,k),e.W(h))}}if(b.o)for(b=b.o.V().h();b.i();)f=b.j().M(),SH(f.a)&&(h=kX(f.a,"readOnly"))&&aI(h)&&(h=HVb(a,f,d),JG(h,f.b),M(c,h),e.W(f));return e.fa()}
  3796. function BVb(a){for(var b=Mj(),c=a.c.h();c.i();){var d=c.j();if(SH(d.a)){var e=kX(d.a,"reflectToAttribute");e&&aI(e)&&b.W(d)}}if(a.o)for(a=a.o.V().h();a.i();)c=a.j().M(),SH(c.a)&&(d=kX(c.a,"reflectToAttribute"))&&aI(d)&&b.W(c);return b.fa()}function wVb(a,b){var c=JP(b.u.c);UP(c);var d=mD(IG(Ow((H(),zu),ux(aVb(b))),b.f),"<PolymerClassRewriter.java>");SP(c,d);a=XUb(b,s3(a.a));b=mD(IG(Ow(zu,ux(a)),b.f),"<PolymerClassRewriter.java>");WP(c,b);return c}
  3797. function xVb(a,b,c,d,e){if(N(c.a))return e=wx(NA(c.a),NA(c.u.a)),DY(e,a.a),Gx(e,KP(d)),a=cx(e),JG(a,c.a),a;var f=Rw(NA(c.a),NA(c.u.a));DY(f,a.a);JG(f,b);Gx(f,KP(d));d=c.a.l();ET(e).ob(d)&&c.F&&X(a.a,V(c.u.a,nVb,A([d],B,y,1)));return f}
  3798. function IVb(a,b,c,d){var e=JP(b.c);QP(e,c);e=KP(e);var f=Nj();rwa(c.a,f);for(f=f.fa().h();f.i();){var h=f.j(),k="PolymerDummyVar"+r(s3(a.a).f()),m=ox((H(),As),k);k=zw(Ft);M(k,m);var p=h;h=c.b;m=b;var t=zw(Gu),v=zw(Fu),C=zw(Hu);p=ux(p);p.c=Tt;var J=zw(yu);M(C,p);M(C,J);M(v,C);M(t,v);JG(t,m.b);h=mD(t,h);m=KP(JP(b.c));h=tPa(m,h);Gx(k,KP(h));M(d,k)}a=mD(zw((H(),yu)),c.b);a=e?tPa(e,a):tPa(Kwa(!0),a);return KP(a)}
  3799. function JVb(a,b,c){if(b.b.bb())return null;a=cx(LX(a.a,r(c)+r(b.b.l())));JG(a,b.b);return a}function yVb(a,b,c,d,e){if(b.v&&!b.v.D()&&b.o)for(b=b.o.V().h();b.i();){var f=b.j(),h=f.O(),k=f.M();if(f=JVb(a,k,d)){var m=k$(k,a.a);m&&(e?h=IVb(a,k,m,c):(h=KVb(a,h,k),QP(h,m),h=KP(h)),Gx(f.a,h),M(c,f))}}}function o$(a,b,c,d,e){for(b=b.h();b.i();){var f=b.j(),h=JVb(a,f,d);if(h){var k=k$(f,a.a);k&&(e?k=IVb(a,f,k,c):(f=JP(f.c),QP(f,k),k=KP(f)),Gx(h.a,k),M(c,h))}}}
  3800. function DVb(a,b,c){for(a=j$(b,c,a.a,null).h();a.i();)sF(a.j().b,(kx(),HE))}
  3801. function KVb(a,b,c){var d;if(d=!b.b&&c.c)d=c.c,d=gE(d)||hE(d)||iE(d)||jE(d)||!!d.f||!!ND(d)||0!=kE(d);if(d)if(b.a){d=Uf();var e=w(),f=kT(a.a),h=gS(b.a.m());b=b.a;a=a.a;T();F(NH(b),"getAllVarsDeclaredInModule expects a module body node");E(d.Qa());E(e.D());F(nL(h),h);var k=new b2a;k.a=d;k.b=e;uT(mT(a,k,f),b,h);a=c.c;c=d.oa();a||(a=Kwa(!0));d=a;a=new ID;a.a=d.a?swa(d.a):null;a.b=d.b;a.c=d.c;a.g=d.g&536870911;a.o=d.o;a.v=d.v;for(e=Twa(d).V().h();e.i();)switch(h=e.j(),f=h.M(),h=h.O(),f=Lwa(c,f),h.a){case 10:pE(a,
  3802. f,536870912);break;case 6:pE(a,f,1073741824);break;case 1:pE(a,f,1610612736);break;case 11:pE(a,f,-2147483648);break;case 0:h=a;nE(h);h.a.A=f;break;case 4:h=a;nE(h);h.a.U=f;break;case 8:a.f=f;break;case 5:d.a&&(a.a.a=Mwa(d.a.a,c));break;case 7:d.a&&(a.a.b=Mwa(d.a.b,c));break;case 3:d.a&&(a.a.f=Nwa(d.a.f,c));break;case 2:d.a&&(a.a.c=Nwa(d.a.c,c));break;case 9:d.a&&(a.a.o=Nwa(d.a.o,c))}c=sPa(a,d.o)}else c=JP(c.c);else c=JP(c.c);return c}
  3803. function zVb(a,b,c){for(var d=r(EC(b.a))+".prototype.",e=bf(),f=b.v.h();f.i();){for(var h=f.j(),k=h.f.h();k.i();){var m=k.j(),p=m.b.l();if(!kX(b.b,p)){e.X(p)&&oF(c,e.get(p));var t=NA(m.a);DY(t,a.a);var v=cx(wx(LX(a.a,r(d)+r(p)),t));JG(v,m.b);var C=KVb(a,h,m);PP(C,"unusedPrivateMembers");if(m.c&&q(m.c.c,(HD(),DD))){m=C;var J=(HD(),ED);m.b=!0;m.a.c=J}if(!h.b)for(m=mX(t),aH(t)&&!Hw(mX(t))?qD(m,vX(m)):pD(m),m=0,t=BA(lX(t)).h();t.i();){J=t.j();var K=m++;Jw(J)?J=fF(J):vH(J)&&(qD(R(J),vX(J)),J=J.a);Xw(J)&&
  3804. qD(J,GG(rx("param$polymer$"+K),J))}Gx(v.a,KP(C));M(c,v);e.C(p,v)}}for(k=h.g.h();k.i();)p=k.j(),v=p.b.l(),e.X(v)&&oF(c,e.get(v)),C=cx(LX(a.a,r(d)+r(v))),HG(C,p.b),t=KVb(a,h,p),CH(p.b)&&(t=HP(!0),p.c&&QD(p.c,1073741824)&&QP(t,QD(p.c,1073741824))),Gx(C.a,KP(t)),M(c,C),e.C(v,C)}}function HVb(a,b,c){var d=b.b.l(),e="_set"+r(ofa(ne(d,0,1)))+r(d.substr(1)),f=Fw(rx(""),Iw(A([rx(d)],lx,eI,1)),Lw());OT(a.a,f);c=cx(wx(LX(a.a,r(c)+r(e)),f));e=HP(!0);LPa(e);a=k$(b,a.a);vPa(e,d,a);Gx(c.a,KP(e));return c}
  3805. function CVb(a,b,c,d){var e=Lw(),f=XUb(b,s3(a.a)),h=N3a();OT(a.a,h);h=Rw(LX(a.a,f),h);var k=HP(!0);VP(k);Gx(h,KP(k));M(e,h);f=r(f)+".prototype.";if(q(a.f,(HU(),rZa))){yVb(a,b,e,f,!0);o$(a,b.c,e,f,!0);d=Uf();if(b.v)for(h=b.v.h();h.i();)for(k=h.j().f.h();k.i();){var m=k.j();d.C(m.b.l(),m)}for(h=b.$.h();h.i();)k=h.j(),d.C(k.b.l(),k);for(d=d.values().h();d.i();){m=d.j();h=a;k=b;var p=LX(h.a,r(EC(k.a))+".prototype."+r(m.b.l())),t=HP(!0);m.c&&MP(t,m.c.c);NPa(t);Gx(p,KP(t));m=JG(cx(p),m.b);for(k=k.f;!jT(k.m());)k=
  3806. k.m();nF(k.m(),m,k);Z(h.a,m)}}else 1==a.g?(yVb(a,b,e,f,!0),o$(a,b.c,e,f,!0)):(b=w(),b.na(c),d&&b.na(d),o$(a,b,e,f,!0));for(c=c.h();c.i();)k=c.j(),b=k.b.l(),d="_set"+r(ofa(ne(b,0,1)))+r(b.substr(1)),d=cx(LX(a.a,r(f)+r(d))),h=HP(!0),k=k$(k,a.a),k=mD(zw((H(),yu)),k.b),vPa(h,b,k),Gx(d.a,KP(h)),M(e,d);JG(e,a.b);f=a.b;tC(f)||(f=f.m());e=pD(e);oD(f,e);Z(a.a,e)}function EVb(a){var b=wx(CG(a.a),UA(a.a));return JG(cx(b),a)}
  3807. function LVb(a,b){for(var c=w(),d=b.c.h();d.i();){var e=d.j();SH(e.a)&&(e=kX(e.a,"computed"))&&Dw(e)&&c.na(MVb(a,b.a,e))}return c}function NVb(a,b){var c=w(),d=TW(b.f),e=W2a(d,"observers");if(e){d=null;for(e=BA(mX(e.a)).h();e.i();){var f=e.j();if(Ux(f)&&f.a&&jH(f.a)){d=f.a;break}}if(d)for(d=BA(d).h();d.i();)e=d.j(),Dw(e)&&c.na(MVb(a,b.a,e))}return c}
  3808. function MVb(a,b,c){D(Dw(c));var d=w(),e=Ci(c.l()),f=mi(e,40);if(41!=e.charCodeAt(e.length-1)||1>f)return X(a.a,V(c,(V5(),uGb),A([],B,y,1))),d;var h=HP(!1),k=mD(IG(Ow((H(),zu),ux(EC(b))),c),WA(b));QP(h,k);h=Qqa(Kx(A([],lx,eI,1)),KP(h));k=Ci(ne(e,0,f));d.add(HG(tx(NA(b),"prototype",A([k],B,y,1)),c));k=px(sx(rx("$jscomp"),ux("reflectProperty")),A([ux(k),NA(h)],lx,eI,1));var m="(";if(f<e.length-2){f=Ci(ne(e,f+1,e.length-1));e=w();for(var p=44,t="",v=0;v<f.length;v++)if(f.charCodeAt(v)==p)44==p?(e.add(Ci(t)),
  3809. t=""):(t=r(t)+Hg(p),p=44);else if(t=r(t)+Hg(f.charCodeAt(v)),34==f.charCodeAt(v)||39==f.charCodeAt(v))p=f.charCodeAt(v);44!=p?X(a.a,V(c,(V5(),uGb),A([],B,y,1))):0<t.length&&e.add(Ci(t));for(f=e.h();f.i();)if(t=f.j(),p=h,0!=t.length){a:{v=t;try{Ib(v);var C=!0;break a}catch(K){if(K=va(K),hh(K)){if(1<v.length&&(34==v.charCodeAt(0)||39==v.charCodeAt(0))&&v.charCodeAt(0)==v.charCodeAt(v.length-1)){C=!0;break a}}else throw K.s;}C=!1}if(C)p=ux(t),k=Jx(Jx(k,ux(m)),p);else for(t=mq(kq(46),t),v=0;v<t.w();v++){if(0<
  3810. v&&v==t.w()-1&&(li(t.G(v),"*")||li(t.G(v),"splices")))k=Jx(k,ux(r(m)+r(t.G(v))));else{0==v&&d.add(HG(Mqa(NA(b),ux("prototype"),A([ux(t.G(v))],lx,eI,1)),c));var J=px(sx(rx("$jscomp"),ux("reflectProperty")),A([ux(t.G(v)),NA(p)],lx,eI,1));k=Jx(Jx(k,ux(m)),J);p=tx(NA(p),t.G(v),A([],B,y,1))}m="."}m=","}k=0==e.w()?Jx(k,ux("()")):Jx(k,ux(")"))}else k=Jx(k,ux("()"));qD(c,HG(k,c));Z(a.a,k);return d}function tVb(a){a=a.a;for(var b=a.b;OVb(b)||AY(b)||e4a(b);)a=b,b=b.b;return a}
  3811. function OVb(a){if(oX(a)&&o_(fF(a)))return!0;if(!PI(a))return!1;a=L(a.a)?hF(a):R(a.a);return o_(a)}
  3812. function n$(){n$=function(){};nVb=U("JSC_POLYMER_IMPLICIT_GLOBAL_CONFLICT","Implicit global name for Polymer element conflicts with existing var {0}. Either give the element a lhs or rename {0}. (Or move to class-based Polymer 2 elements)");mVb=U("JSC_POLYMER_ELEMENT_CONFLICT","Cannot generate correct types for Polymer call due to PolymerElement definition at {0}:{2}:{1}.\nRename the local PolymerElement to avoid shadowing the PolymerElement externs.")}function p$(){}l(p$,n);
  3813. p$.prototype.ga=function(a,b){return!(tC(b)&&YW(b))};p$.prototype.J=function(a,b){PI(b)&&yG(b.a,"PolymerElement")?this.b=b:b&&yH(b)&&hF(b)&&N(hF(b))&&DC(hF(b))&&yG(PX(hF(b)),"PolymerElement")&&this.a.W(b)};p$.prototype.la=!0;function PVb(){}l(PVb,G3);PVb.prototype.J=function(a,b){nG(b)&&rE(nG(b))&&(PI(b)||kH(b)?(a=JP(nG(b)),EPa(a),Gx(b,KP(a)),a=R(b),PI(b)&&(a=hF(b)),QVb(this,a,b)):X(this.a,V(b,(V5(),W5),A([],B,y,1))))};
  3814. function QVb(a,b,c){if(!b)X(a.a,V(c,(V5(),W5),A([],B,y,1)));else if(jH(b))for(c=BA(b).h();c.i();){var d=c.j();QVb(a,d,b)}else if(SH(b)){for(c=j$(b,(h$(),g$),a.a,null).h();c.i();)sF(c.j().b,(kx(),HE));for(c=BA(b).h();c.i();)if(d=c.j(),P(d.a)){sF(d,(kx(),HE));var e=HP(!0);PP(e,"checkTypes");PP(e,"globalThis");PP(e,"visibility");Gx(d,KP(e))}for(a=j$(b,g$,a.a,null).h();a.i();)b=a.j(),SH(b.a)&&(b=kX(b.a,"value"))&&P(b)&&(b=b.m(),c=JP(nG(b)),PP(c,"checkTypes"),PP(c,"globalThis"),PP(c,"visibility"),Gx(b,
  3815. KP(c)))}}function q$(){this.c=0;this.u=this.g=this.f=!1}l(q$,G3);q$.prototype.H=function(a,b){var c=new p$;c.a=Mj();Y(this.a,a,c);this.b=c.b;this.U=c.a.fa();if(1!=this.c||this.b){1<this.c&&this.f&&HZ(this.a,"util/reflectobject",!1);this.v=LZ(this.a,a,b);a=this.a;c=this.v;var d=this.a.K,e=this.a.A;kVb();var f=new bVb;f.o=Bq();f.f=bf();f.a=a;f.c=c;f.g=d;f.b=e;this.F=f;this.ra(b.m(),null)}else this.g=!0,X(this.a,UL((V5(),lGb),A([],B,y,1)))};
  3816. q$.prototype.ra=function(a){Y(this.a,a,this);var b=new PVb;b.a=this.a;Y(this.a,a,b)};
  3817. q$.prototype.J=function(a,b,c){Li(this.v,"Cannot call visit() before process()");if(b&&eH(b)){var d=b.a;var e=xG(d,"Polymer")||"Polymer"===wG(d)||N(d)&&li(O(d).l(),"Polymer")}else e=!1;if(e)if(this.b){var f=c.m();if(ix(f)){var h=(H(),bu);f.c=h;var k=a.b;k&&HY(k,(KI(),lK),this.a);NT(a)}if(PI(f)&&xH(f.m())){var m=f.m(),p=f.a;mF(m.m(),S(f),m);var t=zw((H(),mu));Mx(t,CG(p));Mx(t,CG(p));Mx(m,IG(Ow(lu,t),m));NT(a)}var v=this.a;var C=a.b;if(C&&NH(C.a))var J=p_(this.a.A,this.a,C.a).a;else{var K=HT(a);J=yY(K)?
  3818. p_(this.a.A,this.a,K).a:null}var Ca=J,Wa=this.F,Ma=oY(b,0);if(Ma&&SH(Ma))if(1!=GA(b)-1){X(v,V(b,(V5(),kGb),A([],B,y,1)));var Vb=null}else{var sc=kX(Ma,"is");if(sc){var gc=!1;if(PI(gG(b)))var tc=rx(b.m().l());else if(kH(b.m())){var Qb=b.m();if(yH(Qb.m())&&xG(Qb.a,"exports")){var Wb=gG(Qb);var Rd=NH(Wb)&&tF(Wb.m(),(kx(),WE))||yY(Wb)}else Rd=!1;if(Rd){var Ne="exportsForPolymer$jscomp"+r(s3(v).f()),Jc=gG(b),kd=Jc.m(),Cc=b.m().a,pc=GG(rF(rx(Ne),Cc),Cc);qD(b,pc);var Db=GG(Rw(CG(pc),b),Jc);mF(kd,Db,Jc);
  3819. Gx(Db,nG(Jc));Gx(Jc,null);var Rb=pc}else Rb=NA(b.m().a);tc=Rb}else{var Uc=DC(sc)?vi(EC(sc),46,36):sc.l(),ad=Hla((cq(),aq),Uc);ad=r(ad)+"Element";tc=rx(ad);gc=!0}tL(tc);var rf=null,uc=kX(Ma,"factoryImpl");uc?rf=tL(uc):(uc=N3a(),OT(v,uc),HG(uc,b));for(var Nc=kX(Ma,"extends"),Xb=Nc?Nc.l():null,Nb=kX(Ma,"behaviors"),ic=eVb(Wa,Nb,Ca),Vc=w(),sd=Uf(),Ye=ic.h();Ye.i();)for(var Hf=Ye.j(),Ie=Hf.o.h();Ie.i();){var Be=Ie.j();sd.C(Be,Hf)}for(var fe=j$(Ma,(h$(),g$),v,null).h();fe.i();){for(var mh=fe.j(),mf=Vc.h();mf.i();){var Od=
  3820. mf.j();if(li(Od.b.l(),mh.b.l())){Vc.sa(Od);break}}Vc.add(mh)}if(sd)for(var Se=sd.V().h(),eg=ef();Se.i();){var pg=Se.j().M().b.l();eg.add(pg)||Se.ma()}WUb(sd,Vc);var vf=null;if(!ic.D()){vf=ic.G(0).c;for(var qe=1;qe<ic.w();qe++)vf=YK(vf,ic.G(qe).c)}for(var Pd=w(),wf=BA(Ma).h();wf.i();){var fg=wf.j();(LH(fg)||Lx(fg)&&P(fg.a))&&Pd.add(f$(tL(fg),fg,fg.a))}var Ec=new VUb,oi=g$,Qf=tc,Ni=gc,re=f$(rf,null,uc),Je=vf;Ec.K=null;Ec.A=oi;Ec.f=b;Ec.a=Qf;Ec.F=Ni;E(!Ma||SH(Ma));Ec.b=Ma;Ec.u=re;Ec.g=Xb;Ec.c=Vc;Ec.o=
  3821. sd;Ec.$=Pd;Ec.v=ic;Ec.U=Je;Vb=Ec}else X(v,V(b,(V5(),jGb),A([],B,y,1))),Vb=null}else X(v,V(b,(V5(),MAb),A([],B,y,1))),Vb=null;if(Vb){if(null!=Vb.g){var Ce=Vb;if(this.K.add(Ce.g)){var nf=Lw(),Xc=NA(this.b),nh=aVb(Ce);Xc.a.Ga(nh);var Dd=this.$.get(Ce.g);if(null==Dd)X(this.a,V(Ce.b,(V5(),nGb),A([Ce.g],B,y,1)));else{var Qg=mD(Ow((H(),zu),IG(ux(Dd),this.b)),"<PolymerPass.java>"),Rf=IP(nG(Xc));if(Qg&&!NP(Rf)){var pi=Rf.a;nE(pi);pi.a.A=Qg;Rf.b=!0}Gx(Xc,KP(Rf));M(nf,Xc);for(var gg=this.U.h();gg.i();){var Rh=
  3822. NA(gg.j());PX(hF(Rh)).Ga(nh);M(nf,Rh)}JG(nf,this.b);var If=this.b.m(),ke=pD(nf);lF(If,ke,this.b);Z(this.a,ke)}}}var Gd=this.a,xf=RVb(this),Oi=this.c,Sh=this.A,Ag=this.f;n$();var se=new lVb;se.c=!1;se.a=Gd;se.b=xf;se.g=Oi;se.f=Sh;se.o=Ag;uVb(se,Vb,a)}}else this.g||(X(this.a,V(b,(V5(),lGb),A([],B,y,1))),this.g=!0);else{if(b&&kA(b)){var jk=tL(b);if(jk&&sE(jk))var oh=!0;else{var qg=R(b);oh=!Aw(qg)&&(yG(qg,"Polymer.Element")||xG(qg,"PolymerElement")||"PolymerElement"===wG(qg)||N(qg)&&li(O(qg).l(),"PolymerElement"))}}else oh=
  3823. !1;if(oh){a:{var yf=this.a;E(!!b&&kA(b));var of=null,hg=W2a(TW(b),"properties");if(hg)if(TG(hg))for(var ig=BA(mX(hg.a)).h();ig.i();){var ph=ig.j();if(Ux(ph))if(ph.a&&SH(ph.a)){of=ph.a;break}else X(yf,V(hg,(V5(),qGb),A([],B,y,1)))}else X(yf,V(b,(V5(),rGb),A([],B,y,1)));if(PI(gG(b)))var Jf=rx(b.m().l());else if(kH(b.m())&&DC(b.m().a))Jf=b.m().a;else{if(Aw(b.a)){X(yf,V(b,(V5(),sGb),A([],B,y,1)));var xd=null;break a}Jf=b.a}tL(b);var Bg=null,qh=UW(b);qh&&(Bg=tL(qh));for(var ai=j$(of,(h$(),TUb),yf,qh),
  3824. Rg=w(),rh=BA(TW(b)).h();rh.i();){var ge=rh.j();LH(ge)&&Rg.add(f$(tL(ge),ge,ge.a))}var Ke=new VUb,pf=TUb,jg=Jf,sh=of,uj=f$(Bg,null,qh);Ke.K=null;Ke.A=pf;Ke.f=b;Ke.a=jg;Ke.F=!1;E(!sh||SH(sh));Ke.b=sh;Ke.u=uj;Ke.g=null;Ke.c=ai;Ke.o=null;Ke.$=Rg;Ke.v=null;Ke.U=null;xd=Ke}if(xd){var Cg=this.a,Pi=RVb(this),Eh=this.c,th=this.A,Sg=this.f;n$();var id=new lVb;id.a=Cg;id.b=Pi;id.g=Eh;id.f=th;id.o=Sg;id.c=this.u;var Md=xd;Md.b&&vVb(id,Md.b,EC(Md.a),Md.A);i$(TW(b),id.a);for(var vj=Md.c.h();vj.i();){var cj=vj.j();
  3825. SH(cj.a)&&i$(cj.a,id.a)}var bi=Lw();yVb(id,Md,bi,r(EC(Md.a))+".prototype.",!1);o$(id,Md.c,bi,r(EC(Md.a))+".prototype.",!1);var wj=AVb(id,Md,bi),ci=BVb(Md);CVb(id,Md,wj,ci);if(q(id.f,(HU(),rZa))||!wj.D()||!ci.D()){var Sf=rY(b),Th=JP(nG(Sf)),qi=XUb(Md,s3(id.a)),ri=mD(IG(Ow((H(),zu),ux(qi)),Sf),"<PolymerClassRewriter.java>");WP(Th,ri);Gx(Sf,KP(Th))}var di=jX(b);if(bi.a){DVb(id,Md.b,Md.A);var ei=O(bi);lF(di.m(),pD(bi),di);Z(id.a,di);di=ei}GVb(Md,"is",mD(ux("string"),"<PolymerClassRewriter.java>"));var Qi=
  3826. zw((H(),zu)),kk=ux("Array");M(Qi,kk);var Tg=Ow(Lt,ux("string"));M(kk,Tg);GVb(Md,"observers",mD(Qi,"<PolymerClassRewriter.java>"));GVb(Md,"properties",mD(ux("PolymerElementProperties"),"<PolymerClassRewriter.java>"));if(id.o&&Md.b){for(var Il=Md.c.h();Il.i();){var Fh=Il.j();if(SH(Fh.a)){var dj=kX(Fh.a,"observer");if(dj&&Dw(dj)){var Hj=FG(tx(NA(Md.a),"prototype",A([dj.l()],B,y,1)),dj);qD(dj,Hj);Z(id.a,Hj)}}}var Ij=w();q(id.f,(HU(),rZa))||(Ij.na(LVb(id,Md)),Ij.na(NVb(id,Md)));if(0<Ij.w()){id.c||ET(a).T("JSCOMPILER_PRESERVE")||
  3827. (hGb(id.a),id.c=!0);for(var ej=Ij.h();ej.i();){var Gh=ej.j(),lk=GG(rx("JSCOMPILER_PRESERVE"),Gh);Hx(lk,(kx(),IE),!0);var Ug=GG(px(lk,A([Gh],lx,eI,1)),Gh);Hx(Ug,KE,!0);Ug=FG(cx(Ug),Gh);nF(di.m(),Ug,di);di=Ug}Z(id.a,di)}FVb(id,Md,Md.b)}this.u=id.c}}}};function RVb(a){if(a.b)return a.b;a.o||(a.o=Jvb(a.a).Pb(a.a));return a.o}function SVb(){this.f=!1;this.b=this.g=0}l(SVb,n);function r$(){}l(r$,n);r$.prototype.ac=function(){return fc(this)};r$.prototype.hc=function(a){return cc(this,a)};
  3828. r$.prototype.oc=function(a){return dc(this,a)};r$.prototype.Pa=function(a,b){return a.b!=b.b?b.b-a.b:(cRb(),TVb).Pa(a,b)};function s$(){}l(s$,n);s$.prototype.ac=function(){return fc(this)};s$.prototype.hc=function(a){return cc(this,a)};s$.prototype.oc=function(a){return dc(this,a)};s$.prototype.Pa=function(a,b){return a.g-b.g};function UVb(){}l(UVb,RT);g=UVb.prototype;
  3829. g.Hb=function(a){if(!JT(a)&&VVb(this.a,ET(a))){a=ET(a);for(var b=TR(a).h();b.i();){var c=b.j();WBa(c)&&(this.a.$.add(c),this.a.o.Aa(a.m(),c))}}};g.Tb=function(){};
  3830. g.J=function(a,b,c){if(L(b)||Cw(b)){var d=b.l();if(!(te(d)||Bw(c)&&kG(c)&&q(c.a,b)))if(a=ET(a).T(d),c=!!a&&UR(a.b)&&(UR(a.ya().m())||!WBa(a)),a&&YBa(a))this.a.a.add(d);else if(!c&&this.a.pa)this.a.a.add(d);else if(this.a.za&&a&&lL(kL(a)))this.a.a.add(d);else if(MX(this.a.f).Ie(d,c))c&&(a=aob(d),q(a,d)||b.Ga(a));else if(this.a.b&&this.a.b.C(b,Hg(36)+r(b.l())+"$$"),c&&VVb(this.a,a.ya())){d=this.a;c=a.g;var e=a.ya().m();if(!e)throw ua("Var is not local").s;for(var f=!!e.m()&&d.$.B(a);e.m();)f?(c+=d.o.Ua(e).indexOf(a)+
  3831. 1,f=!1):c+=d.o.Ua(e).w(),VVb(d,e)&&(c+=e.a.wa()),e=e.m();a="L "+c;WVb(this,a);this.a.ja.add(b);this.a.v.C(b,b.l());b.Ga(a)}else a&&(WVb(this,d),this.a.U.add(b))}};function WVb(a,b){var c=a.a.c.get(b);if(!c){c=new SVb;var d=a.a;c.f=zi(b,"L ");c.a=b;c.c=null;c.b=0;c.g=d.K++;a.a.c.C(b,c)}c.b++}g.la=!0;g.ic=!0;function XVb(){}l(XVb,n);function YVb(){}l(YVb,RT);g=YVb.prototype;
  3832. g.Hb=function(a){if(!IT(a)){var b=HT(a);if(!(P(b)&&!hX(b.m())||VR(b)&&!hX(gG(b))))for(a=ET(a),b=TR(a).h();b.i();){var c=b.j();if(!WBa(c)&&!q(vL(c),(H(),Ht))&&!MX(this.a.f).Ie(c.va(),UR(a))){var d=this.a.u.get(c.va());if(d){a:{var e=a;for(var f=c,h=this.a.b.h();h.i();){var k=h.j();if(k.f&&!Sn(this.a.a,e.ka(),k.a)&&RR(e,k.a)){var m=e.T(k.a);if(!q(f.ya(),m.ya())){e=k;break a}}}e=null}if(e&&!(e.b<d.b)){f=e;h=c;k=h.ya();m=this.a.g.Ua(h);this.a.b.sa(d);this.a.b.sa(f);d.b-=m.w();f.b+=m.w();this.a.b.add(d);
  3833. this.a.b.add(f);var p=k.T(f.a);if(p){yL(k)&&Hw(O(k.ka()))&&(this.a.a.Aa(O(k.ka()),f.a),this.a.a.eg(O(k.ka()),d.a));for(var t=k;!q(t,p.ya());t=t.m())this.a.a.Aa(t.ka(),f.a),this.a.a.eg(t.ka(),d.a)}for(m=m.h();m.i();)if(p=m.j(),p.a.Ga(f.a),q(p.b.ka(),k.ka()))q(h.a,p.a)||(this.a.a.Aa(k.ka(),f.a),this.a.a.eg(k.ka(),d.a));else for(p=p.b;!q(p.ka(),k.ka());p=p.m())this.a.a.Aa(p.ka(),f.a),this.a.a.eg(p.ka(),d.a);if(this.a.c)for(e=this.a.c.get(a.T(e.a).a),c=this.a.g.Ua(c).h();c.i();)d=c.j(),this.a.o.C(d.a,
  3834. e)}}}}}};g.Tb=function(){};g.J=function(){};g.la=!0;g.ic=!0;function ZVb(){}l(ZVb,RT);ZVb.prototype.J=function(a,b){if(sX(b)&&!IT(a)){var c=ET(a),d=c.T(b.l());if(d&&!nL(d.ya())){if(q(d.ya(),c))this.a.a.Aa(HT(a),d.va());else for(a=c;!q(a,d.ya())&&UR(a);a=a.m())this.a.a.Aa(a.ka(),d.va());yL(c)&&q(d.ya(),c)&&this.a.a.Aa(O(c.ka()),d.va());a=new XVb;a.a=b;a.b=c;this.a.g.Aa(d,a)}}};function $Vb(){}l($Vb,n);
  3835. $Vb.prototype.H=function(a,b){a=this.f;var c=new ZVb;c.a=this;Y(a,b,c);a=this.f;c=new YVb;c.a=this;Y(a,b,c);this.c&&this.c.Ud(this.o)};function dRb(){this.K=0;this.ta=this.Oa=this.za=this.pa=!1}var TVb,aWb;l(dRb,n);
  3836. dRb.prototype.H=function(a,b){this.g=i4a(this.f,a);this.v.Fa();var c=this.f,d=new UVb;d.a=this;Y(c,b,d);this.a.na(this.g);c=um(aWb);c.na(this.c.values());if(this.Oa){d=new $Vb;var e=this.f,f=this.c,h=this.b;d.a=Vq();d.g=Vq();d.f=e;d.u=f;d.b=c;d.c=h;d.o=Uf();d.H(a,b)}if(this.F)for(G(this.F.a.ef()),a=c.h();a.i();)b=a.j(),d=this.F.a.get(b.a),null!=d&&!this.a.B(d)&&(b.f||!this.g.B(b.a)&&zi(d,this.A))&&(this.a.add(d),bWb(this,b,d));a=this.u;b=this.Ha;ZT(this.u,this.a,this.A,b,b);if(te(this.A))b=a;else{b=
  3837. new XT;d=this.a;e=this.Ha;f=this.u.c;b.c=cf(Qm(YT.length));for(f=f.V().h();f.i();)h=f.j(),b.c.C(h.M(),bXa(h.O()));ZT(b,d,"",e,e)}e=b;b=w();d=w();for(c=c.h();c.i();)f=c.j(),null!=f.c||this.g.B(f.a)||(f.f?(h=aU(e),bWb(this,f,h)):(h=aU(a),b.add(f),d.add(h)),this.a.add(h));c=d.w();for(a=0;a<c;){e=um(TVb);f=d.G(a).length;for(h=a;h<c&&d.G(h).length==f;h++)e.add(b.G(h));for(e=e.h();e.i();)f=e.j(),bWb(this,f,d.G(a)),++a}for(c=this.U.h();c.i();)a=b=c.j(),d=b.l(),e=this.c.get(d),b=null==e.c||q(e.c,d)?null:
  3838. this.b?this.b.get(b):e.c,cWb(this,a,b);for(c=this.ja.h();c.i();)a=b=c.j(),d=b.l(),e=this.c.get(d),b=q(e.c,d)?null:this.b?this.b.get(b):e.c,cWb(this,a,b)};function cWb(a,b,c){null==c||li(c,b.l())||(b.Ga(c),li(c,a.v.get(b))||(Z(a.f,b),b=b.m(),P(b)&&qJ(b)&&Z(a.f,b)))}function bWb(a,b,c){E(null==b.c);b.c=c;a.Da.C(b.a,c)}function VVb(a,b){return!a.ta||1E3>=b.a.wa()}function cRb(){cRb=function(){};aWb=new r$;TVb=new s$}function dWb(){}l(dWb,RT);
  3839. dWb.prototype.J=function(a,b){if(L(b)&&(b=b.l(),""!==b&&!this.a.b.B(b))){var c=ET(a).T(b);c&&mL(c)&&((c=c.c)?q(c.a,BT(a))||this.a.b.add(b):this.a.b.add(b))}};function eWb(){}l(eWb,RT);eWb.prototype.J=function(a,b,c){if(L(b)){var d=b.l();if(!te(d)){var e=null;kH(c)&&q(b,c.a)?e=O(c):PI(c)?e=b.a:P(c)&&(e=c);!e&&!eV(b)||this.a.f.B(d)||(a=ET(a).T(d))&&mL(a)&&(e&&P(e)&&!X2a(e)||this.a.f.add(d))}}};function fWb(){}l(fWb,t5);
  3840. fWb.prototype.J=function(a,b,c){if(PI(b)){a=w();for(var d=w(),e=!0,f=BA(b).h();f.i();){var h=f.j();L(h)||Yw(h)||(e=!1);(kH(h)||yT(c))&&d.add(h)}if(!e){for(d=d.h();d.i();)e=d.j(),yT(c)&&q(c.a,b)?a.add(NA(e)):(e=GG(cx(NA(e)),e),DY(e,this.a.a),mF(c,e,b));if(!a.D()){e=a.G(0);for(d=1;d<a.w();d++)e=zx(e,a.G(d)),qF(e,b);mF(c,e,b)}oF(c,b);uX(b,this.a.a);Z(this.a.a,c)}}};function gWb(){}l(gWb,t5);
  3841. gWb.prototype.J=function(a,b,c){if(qJ(b)||rJ(b)&&IT(a)){var d=SW(b);a=d.l();kA(b)?qD(d,GG(yw(),d)):(d.Ga(""),Z(this.a.a,d));d=iF(b);S(b);b=jY(a,b);d?nF(c,b,d):Mx(c,b);Z(this.a.a,c)}};function hWb(){}l(hWb,n);function iWb(a,b){var c=new hWb;c.a=a;c.b=b;return c}function t$(){}l(t$,n);
  3842. t$.prototype.ga=function(a,b){if(PI(b)){var c=eT(b);if(!c.D()){for(var d=!1,e=mL(ET(a).T(c.G(0).l())),f=c.h();f.i();){var h=f.j();Ji(L(h),"Unexpected lhs node %s, expected NAME",h);if(e&&jWb(this.a,h.l())||kWb(this.a,h.l(),a)){d=!0;break}}if(d){d=AT(a);for(c=c.h();c.i();)f=c.j(),h=f.l(),e&&jWb(this.a,h)||kWb(this.a,h,a)||this.b.add(iWb(d.Pb(this.a.a),GG(rx(h),f)));for(a=BA(b).h();a.i();)e=a.j(),L(e)&&e.a?(c=wx(CG(e),UA(e)),qD(e,c),Gx(c,nG(b))):Yw(e)&&(gF(e)?(Ji(dV(b.m()),"DESTRUCTURING_LHS should have two children: %s",
  3843. uD(b)),qD(e,UA(e))):(c=wx(UA(e),UA(e)),qD(e,c),Gx(c,nG(b))));Z(this.a.a,b)}}}return!0};t$.prototype.J=function(a,b,c){if(L(b)){var d=b.l();P(c)&&te(d)||kWb(this.a,d,a)||(a=ET(a).T(d),mL(a)||!q(d,this.a.c)&&!zi(d,r(this.a.c)+"$")||(b.Ga(r(d)+"$"),Z(this.a.a,b)),mL(a)&&jWb(this.a,d)&&(a=b.m(),c=sx(rx(this.a.c),ux(d)),HG(c,b),pF(a,b,c),Z(this.a.a,c),eH(a)&&!this.a.f.B(d)&&Hx(a,(kx(),KE),!1),Z(this.a.a,a)))}};t$.prototype.la=!0;function lWb(){this.o=this.g=!1}l(lWb,n);
  3844. function jWb(a,b){return a.o||a.b.B(b)||MX(a.a).Ie(b,!1)}function kWb(a,b,c){if(te(b))return!1;c=ET(c).T(b);return!c||oL(c)||nL(c.ya())&&a.u.B(b)}
  3845. lWb.prototype.H=function(a,b){this.u=i4a(this.a,a);this.g&&(a=Tw(rx(this.c)),M(zZ(this.a).Pb(this.a),a),Z(this.a,a));a=this.a;var c=new gWb;c.a=this;Y(a,b,c);a=w();c=new dWb;c.a=this;a.add(c);c=new eWb;c.a=this;a.add(c);WOb(this.a,b,a);a=new t$;a.a=this;a.b=w();Y(this.a,b,a);c=this.a;var d=new fWb;d.a=this;Y(c,b,d);for(b=a.b.h();b.i();)c=b.j(),c.a.a&&gx(c.a.a)?M(c.a.a,c.b):Mx(c.a,GG(Tw(c.b),c.b)),Z(a.a.a,c.a)};function u$(){}l(u$,n);
  3846. function mWb(a){return a.cd()?a.Ba():a.Kc()||a.rj()||a.xj()||a.th()||a.Zb()?a.toString():""}u$.prototype.ac=function(){return fc(this)};u$.prototype.hc=function(a){return cc(this,a)};u$.prototype.oc=function(a){return dc(this,a)};u$.prototype.Pa=function(a,b){return kc(mWb(a),mWb(b))};function nWb(){}l(nWb,RT);
  3847. nWb.prototype.J=function(a,b){T();if(null==WA(b)||!zi(WA(b)," [synthetic:"))switch(b.c.a){case 69:a=O(b);for(var c=null,d=a.a;d&&qJ(d);d=d.b)c=d;for(b=oWb(lX(b)).h();b.i();)if(d=b.j(),F(L(d),d),d=pWb(this,d.f,NA(d)))d=cx(d),c?nF(a,d,c):Mx(a,d),Z(this.a.a,a),c=d;break;case 0:case 107:d=CT(a);var e=Fy(d.f);e&&(c=b.a)&&(e=HA(e),UG(d)&&(e=NUa(e,this.a.c)),bH(d)&&(e=C_(this.a.c,e)),dH(b)&&(d=e,e=this.a.c,e=MC(e,Lz(e,(I(),Hv)),A([d],ly,ey,1))),d=pWb(this,e,NA(c)))&&(pF(b,c,d),NT(a))}};
  3848. function pWb(a,b,c){if(jy(b)){var d=um((qWb(),rWb));d.na(Zy(b.nb()))}else d=Ml(b);b=Nx(A([],lx,eI,1));for(d=d.h();d.i();){var e=d.j();e=sWb(a,e);if(!e)return null;M(b,e)}return px(v$(a.a,"checkType"),A([c,b],lx,eI,1))}
  3849. function sWb(a,b){if(b.Kc())return v$(a.a,"nullChecker");if(b.rj()||b.xj()||b.th()||b.Zb())return px(v$(a.a,"valueChecker"),A([ux(b.toString())],lx,eI,1));if(b.cd()){var c=b.Ba();if("Object"===c)return v$(a.a,"objectChecker");var d=W3a(b.ua().c);return!d||d.Vg()?px(v$(a.a,"externClassChecker"),A([ux(c)],lx,eI,1)):px(v$(a.a,b.ua().Ja()?"interfaceChecker":"classChecker"),A([ux(c)],lx,eI,1))}return iy(b)?px(v$(a.a,"valueChecker"),A([ux("function")],lx,eI,1)):null}function tWb(a){this.a=a}l(tWb,n);
  3850. function uWb(){}l(uWb,RT);uWb.prototype.J=function(a,b){var c=this;this.b=a;a=Fy(b.f);switch(b.c.a){case 69:if(BY(b))break;vWb(a,wWb(this,b),new tWb(function(d,e,f){null!=e&&(e=LX(c.a,e),d=cx(wx(vx(sx(e,ux("prototype")),ux(d)),Rx())),nF(f.m(),d,f),Z(c.a,d),f=d);return f}));break;case 100:vWb(a,RC(b,2),new tWb(function(d,e,f){e=Fw(rx(""),Iw(A([],lx,eI,1)),Lw());d=Sqa(ux(d),e);Hx(d,(kx(),OE),!0);M(f,d);Z(c.a,d);OT(c.a,e);HY(c.b.b,(KI(),dK),c.a);return f}))}};
  3851. function vWb(a,b,c){if(a&&a.c&&a.xa()){var d=TT(a.c),e=w();for(a=nta(a).h();a.i();){var f=a.j();e.add("implements__"+r(f.Ba()))}e.lb(ec());null!=d&&e.bc(0,"instance_of__"+r(d));for(e=e.h();e.i();)a=e.j(),f=void 0,b=(f=c.a,f(a,d,b))}}function wWb(a,b){for(;!tC(b.m())&&!Hw(b.m());)b=b.m();for(var c=b.b;c&&xWb(a,c);)b=c,c=b.b;return b}function xWb(a,b){return oX(b)&&!!MX(a.a).zd(b.a)}function yWb(){}var rWb;l(yWb,n);
  3852. yWb.prototype.H=function(a,b){var c=this.a,d=new uWb;d.a=this.a;Y(c,b,d);c=this.a;d=new nWb;d.a=this;Y(c,b,d);(c=HZ(this.a,"runtime_type_check",!1))&&null!=this.b&&(Ji(F3a(this.a.u,this.b),"%s is not a valid qualified name",this.b),d=cx(wx(LX(this.a,"$jscomp.typecheck.log"),LX(this.a,this.b))),F(tC(c.m()),c.m()),nF(c.m(),d,c),Z(this.a,c));GNb(this.a,!1).H(a,b)};function oWb(a){qWb();Fi(Gw(a),a);var b=Mj();l4a(a,zb(function(c){b.W(c)}));return b.fa()}
  3853. function v$(a,b){return LX(a.a,"$jscomp.typecheck."+r(b))}function qWb(){qWb=function(){};rWb=new u$}function w$(a){if(!N(a)||!SC(a.a))return null;a=hX(a);return a?(a=zWb(a))?a:null:null}function x$(a){D(P(a));a=a.m();return LH(a)&&pH(a.m())?!0:Lx(a)&&SH(a.m())&&eH(gG(a))&&yG(gG(a).a,"goog.defineClass")}function AWb(a){D(P(a));return null!=zWb(a)}function zWb(a){D(P(a));if(x$(a)){var b=a.m();if(LH(b))return a=gG(a).m(),E(kA(a)),TT(a);E(Lx(b));a=gG(b);E(eH(a));return EC(sY(a))}return TT(a)}
  3854. var BWb,CWb;function DWb(a){y$();return z$(a,ux("UnusableType"))}function EWb(a,b){a=JP(a);QP(a,mD(HG(b,BWb),"<synthetic>"));return a}function z$(a,b){a=EWb(a,b);TP(a);return KP(a)}function FWb(a){y$();return a?gE(a)||hE(a)||0<kE(a)||fE(a)||jE(a)||!!a.f||iE(a):!1}
  3855. function GWb(a,b){y$();switch(bX(a).a){case 5:return z$(b,ux("boolean"));case 3:return z$(b,ux("number"));case 4:return z$(b,ux("string"));case 1:return z$(b,ux("null"));case 2:return z$(b,ux("void"));case 6:if(UH(a))return z$(b,Ow((H(),zu),ux("RegExp")));break;case 0:if(b&&null!=cE(b))return z$(b,ux("string"))}return nH(a)?z$(b,ZD(nG(a)).a):null}function y$(){y$=function(){};CWb=Woa("<synthetic>",(gs(),fs));BWb=vD(zw((H(),Jt)),CWb)}function A$(){}l(A$,n);
  3856. function B$(a,b,c,d){a.g=G(b);a.b=G(c);a.a=d}function HWb(a){Fi(DC(a),a);var b=sL(a);if(null!=w$(a)){var c=G(w$(a));var d=r(c)+".prototype."+r(O(a).l());c=new IWb;B$(c,d,a,b);a=jX(a);c.f=jX(a.m());return c}c=EC(a);d=new JWb;B$(d,c,a,b);return d}function KWb(a){D(CY(a,"goog.define"));a:switch(a.m().c.a){case 88:a=LWb(R(a).l(),a,O(a));break a;case 50:var b=iF(a);a=LWb(EC(b),b,O(a));break a;case 32:b=a.m();a=LWb(b.l(),b,O(a));break a;default:throw pb("Unexpected parent: "+r(a.m().c)).s;}return a}
  3857. function C$(a){return tL(a.b)}g=A$.prototype;g.Pk=function(){for(var a=this.b;a;a=a.m())if(tC(a))return!1;return!0};g.Uf=function(){return jX(this.b)};function MWb(a,b){a.Pk()||(a=a.Uf(),tX(a,b),pD(a))}g.ln=function(a){if(SH(this.a)&&this.a.a){for(var b=BA(this.a).h();b.i();){var c=b.j();NWb(c)}Z(a,this.a)}};g.Xm=function(){switch(this.b.m().c.a){case 80:case 104:case 92:case 100:case 69:return!0;default:return OWb(this.b)||!!C$(this)&&mE(C$(this))||!!this.a&&PWb(this.a)}};
  3858. g.af=function(){return!!this.a&&PWb(this.a)};function D$(a){var b=tL(a);return(ix(a.m())||OWb(a)||!!b&&bE(b))&&!FWb(b)&&!CL(a)}function PWb(a){return P(a)||kA(a)||CY(a,"goog.defineClass")||DC(a)&&yG(a,"goog.abstractMethod")||DC(a)&&yG(a,"goog.nullFunction")}function OWb(a){return L(a)&&xG(a,"exports")||N(a)&&xG(a.a,"exports")||yG(a,"module.exports")}function QWb(a){if(!a||!eH(a))return!1;a=a.a;return yG(a,"goog.require")||yG(a,"goog.requireType")||yG(a,"goog.forwardDeclare")||xG(a,"require")}
  3859. function RWb(a,b){return null==w$(a)&&D$(a)&&!!b&&DC(b)}function NWb(a){var b=fF(a),c=IG(eF(0),b);pF(a,b,c)}function E$(){}l(E$,A$);E$.prototype.c=function(){};E$.prototype.Uf=function(){var a=this.b;return Zw(a.m())&&lG(a.m())?a:$w(gG(a))&&lG(gG(a))?a.m():jX(a)};E$.prototype.Xm=function(){return!0};E$.prototype.af=function(){return!0};function SWb(){}l(SWb,A$);function LWb(a,b,c){var d=new SWb;B$(d,a,b,c);return d}
  3860. SWb.prototype.c=function(a){var b=C$(this);if(b&&ZD(b)&&(b=TWb(ZD(b)))){qD(this.a,b);Z(a,b);return}tX(this.Uf(),a)};function TWb(a){for(a=a.a;a&&!Dw(a)&&!L(a);)a=a.a;switch(a?a.l():""){case "boolean":return zw((H(),Fs));case "number":return eF(0);case "string":return ux("");default:return null}}function UWb(){}l(UWb,A$);UWb.prototype.c=function(){};UWb.prototype.Uf=function(){return this.b};function JWb(){}l(JWb,A$);
  3861. JWb.prototype.c=function(a){if(this.a&&!this.af()){var b=this.b,c=C$(this);if(c&&iE(c))A$.prototype.ln.call(this,a);else if(CL(b))TH(this.a)&&(b=S(O(this.a)),qD(this.a,b),Z(a,this.b));else if(xG(b,"exports")){c=this.a;var d=eF(0);y$();var e=KP(EWb(null,zw((H(),yu))));qD(c,IG(Qqa(d,e),c));Z(a,b)}else if(CY(this.a,"Symbol"))for(D(CY(this.a,"Symbol")),b=this.a;lG(b);)tX(O(b),a);else{ix(this.b.m())&&(y$(),c=JP(c),TP(c),c=KP(c));c=OX(a,EC(b),null,c);JG(c,b);b=this.Uf();for(T();b.a;)tX(b.a,a);xH(b)?M(b,
  3862. c):qD(b,c);Z(a,c)}}};JWb.prototype.af=function(){var a=this.a,b=this.b,c=C$(this);b=OWb(b);(a=A$.prototype.af.call(this)||QWb(a)||b&&!!a&&(DC(a)||SH(a))||!!c&&dE(c)&&!!a&&DC(a)||!!a&&SH(a)&&!a.a&&(!c||!FWb(c))||!!a&&CY(a,"Polymer"))||(a=C$(this),c=this.a,a=!!a&&rE(a)&&!!c&&(L(c)||jH(c)));return a};function F$(){}l(F$,A$);F$.prototype.c=function(a){if(!this.Pk()){var b=this.a;if(SH(b)&&b.a)for(b=BA(b).h();b.i();){var c=fF(b.j());if(SH(c))for(c=BA(c).h();c.i();){var d=c.j();li(d.l(),"type")||tX(d,a)}}}};
  3863. F$.prototype.af=function(){return!0};F$.prototype.Uf=function(){return this.b};function G$(){}l(G$,A$);G$.prototype.c=function(a){if(!this.af()){var b=C$(this);if(b&&iE(b))A$.prototype.ln.call(this,a);else{var c=this.b;NWb(c);Z(a,c);b&&mE(b)&&!D$(this.b)||Gx(c,DWb(b))}}};G$.prototype.af=function(){var a;if(!(a=A$.prototype.Pk.call(this)||A$.prototype.af.call(this))){if(a=sY(this.b.m())){var b=tL(a);a=!OWb(a)&&!FWb(b)&&CL(a)}else a=!1;a=!a}return a};G$.prototype.Uf=function(){return this.b};
  3864. function IWb(){}l(IWb,A$);IWb.prototype.c=function(a){if(!this.af()){var b=OX(a,this.g,null,C$(this));JG(b,this.b);tX(this.Uf(),a);this.f.m()&&(nF(this.f.m(),b,this.f),Z(a,b))}};function VWb(){}l(VWb,n);function H$(a,b){a.a.Aa(b.g,b)}function WWb(){}var XWb,YWb,ZWb,$Wb;l(WWb,RT);
  3865. WWb.prototype.J=function(a,b,c){switch(b.c.a){case 100:rX(c)&&H$(this.a,HWb(b.a));break;case 69:if(rX(c))H$(this.a,HWb(b.a));else if(x$(b)&&AWb(b)){a=this.a;D(x$(b));D(x$(b));c=zWb(b);E(null!=c&&!te(c));var d=b.m(),e=d.l();c=TG(d)?r(c)+"."+r(e):r(c)+".prototype."+r(e);d=new UWb;B$(d,c,b.m(),b);H$(a,d)}break;case 88:b=b.a;switch(b.c.a){case 28:a=b.a;XWb.de(a)?(a=this.a,b=O(b).l(),G(b),a.b.add(b)):YWb.de(a)||ZWb.de(a)?(b=O(b).l(),this.a.c.add(b)):$Wb.de(a)&&H$(this.a,KWb(b));break;case 50:aXb(this,
  3866. a,b.a,O(b));break;case 26:H$(this.a,HWb(b));break;default:throw Ha("Unexpected declaration: "+r(b)).s;}break;case 80:case 92:case 104:F(gF(b),b);aXb(this,a,b.a,O(b.a));break;case 95:if(SH(c)&&gF(b)){bXb(a,b);a=this.a;a:{D(Lx(b));D(SH(b.m()));c="this."+r(b.l());if(li(b.l(),"properties")&&(d=tL(b.m()))&&rE(d)){d=new F$;B$(d,c,b,O(b));b=d;break a}d=new G$;B$(d,c,b,O(b));b=d}H$(a,b)}}};
  3867. function aXb(a,b,c,d){if(d&&eH(d)&&$Wb.de(d.a)&&DC(c))H$(a.a,KWb(d));else{D(PI(c.m())||kH(c.m()));for(var e=QWb(d),f=RWb(c,d),h=eT(c.m()).h();h.i();){var k=h.j();if(f||e){var m=a.a;Fi(DC(k),k);var p=EC(k),t=new E$;B$(t,p,k,null);H$(m,t)}else H$(a.a,HWb(k))}!Yw(c)&&d&&bXb(b,c)}}
  3868. function bXb(a,b){Fi(DC(b)||Lx(b),b);F(!!sL(b),b);if(D$(b)){Fi(DC(b)||Lx(b)||Yw(b),b);var c=rY(b),d=nG(c),e=sL(b),f=GWb(e,d);if(!f&&null!=w$(b))if(b=ET(a),I$(),e=L(e)?b.T(e.l()):null,y$(),e){b:if(b=e.a,T(),D(L(b)||Lx(b)),f=tL(b))b=ZD(f);else{f=b.m();if(Jw(f)||vH(f))f=f.m();if(Gw(f)&&(f=tL(f.m()))){b=LD(f,b.l());break b}b=null}if(b){b=b.a;switch(b.c.a){case 153:b=NA(b.a);XBa(e)||(b=ex((H(),xu),b,ux("undefined")));break;case 118:e=zw((H(),zu)),f=ux("Array"),M(e,f),b=Ow(Lt,NA(b.a)),M(f,b),b=e}f=z$(d,
  3869. b)}else f=null}else f=null;f&&(Gx(c,f),NT(a))}}function cXb(){cXb=function(){};$Wb=Wx("goog.define");XWb=Wx("goog.provide");YWb=Wx("goog.require");ZWb=Wx("require")}function dXb(){}l(dXb,WWb);function J$(){}l(J$,n);
  3870. J$.prototype.ga=function(a,b,c){switch(b.c.a){case 69:x$(b)?c=BY(b)||"constructor"===b.m().l():(c=tL(b),c=!!c&&dE(c));if(!c||!AWb(b))if(b=O(b),!Hw(b)||b.a)PT(a,b),qD(b,GG(Lw(),b)),uX(b,a.c);return!0;case 88:switch(c=b.a,c.c.a){case 28:c=c.a;E(!yG(c,"goog.scope"));if((I$(),eXb).B(EC(c)))return!0;tX(b,a.c);return!1;case 50:return c=c.a,!DC(c)||L(c)&&!IT(a)&&!KT(a)||null==w$(c)&&!JT(a)&&!LT(a)?(tX(b,a.c),!1):!0;case 26:return DC(c)&&nG(c)?!0:(tX(b,a.c),!1);default:return tX(b,a.c),!1}case 122:return tX(b,
  3871. a.c),!1;case 42:case 0:case 78:case 79:case 93:case 84:return rX(c)&&tX(b,a.c),!1;case 87:case 70:case 71:case 72:case 74:return tX(b.a,a.c),!0;case 47:case 75:return tX(R(b),a.c),!0;case 76:tX(R(b),a.c);case 105:case 106:case 77:return tX(R(b),a.c),a=UA(b),gx(a)&&Mx(O(b),a),!0;case 92:case 104:return IT(a)||KT(a)?!0:(wX(c,b),PT(a,c),!1);case 80:return JT(a)||LT(a)?!0:(wX(c,b),PT(a,c),!1);case 116:case 100:case 73:case 86:case 113:case 109:return!0;default:return F(!EI(b),b.c),!0}};
  3872. J$.prototype.J=function(a,b,c){switch(b.c.a){case 47:case 87:case 73:case 72:case 75:case 74:case 76:case 77:case 105:case 106:case 70:case 71:if(b.m()){var d=pD(b);lF(c,d,b);wX(c,b);NT(a)}break;case 80:case 104:case 92:D(PI(b));c=nG(b);for(var e=(d=xH(b.m()))?b.m():b;b.a;){var f=O(b);if(!Yw(f)||QWb(O(f))||RWb(f,O(f))){var h=nG(f);Gx(f,null);var k=c;y$();h&&gE(h)&&(k=JP(k),QP(k,ZD(h)),k=KP(k));if(gF(b)){Gx(b,k);break}h=f.a?UA(f):null;f=S(f);var m=b.c;T();f=h?Sw(f,h,m):Uw(f,m);f=FG(f,b);Gx(f,k);d&&
  3873. (k=f,k=Ow((H(),ku),k),f=FG(k,e));nF(e.m(),f,e)}else uX(f,a.c),wX(b,f);NT(a)}break;case 86:P(c)||(lF(c,pD(b),b),S(b),PT(a,c))}};J$.prototype.la=!0;function fXb(){this.a=0}var gXb,hXb,iXb;l(fXb,z);function jXb(a,b){var c=new fXb;c.b=a;c.a=b;return c}fXb.prototype.R=function(a){return z.prototype.c.call(this,a)};function kXb(){kXb=function(){};gXb=jXb("TYPED_JSDOC_DECLARATION",0);hXb=jXb("UNTYPED_JSDOC_DECLARATION",1);iXb=jXb("NO_JSDOC",2)}function lXb(){}var mXb,nXb;l(lXb,n);
  3874. function oXb(a){for(var b=a.b.a.Pc().h();b.i();){var c=b.j();if(!zi(c,"this."))for(c=a.b.a.Ua(c),c.lb(mXb);1<c.w();)MWb(c.Wa(1),a.a)}}function pXb(a){var b;oXb(a);for(var c=(b=Jda(a.b.a.Pc().S(),nXb),new Bc(function(){return b.o()})).h();c.i();)for(var d=c.j(),e=a.b.a.Ua(d).h();e.i();){var f=e.j();qXb(a,d,f)}}
  3875. function qXb(a,b,c){var d=mi(b,46);if("$jscomp"===(-1==d?b:ne(b,0,d)))c.Pk()||(c.a&&kA(c.a)||C$(c)&&Rwa(C$(c)))&&rXb(a.a,c.b,(I$(),sXb),A([],B,y,1)),b=!0;else{if(d=!zi(b,"this.")&&!c.Xm()){b:{for(d=a.b.b.h();d.i();){var e=d.j();if(q(b,e)||zi(b,r(e)+".")){d=!0;break b}}d=!1}d=!d}if(d){b:{for(d=a.b.a.Pc().h();d.i();)if(e=d.j(),zi(b,r(e)+".")){b=!0;break b}b=!1}d=!b}b=d}if(b)MWb(c,a.a);else{if(c.a&&P(c.a))tXb(a,c.a);else if(c.a&&uXb(c.a))for(b=c.a,D(uXb(b)),b=BA(O(b)).h();b.i();)d=b.j(),Aw(d)?tX(d,a.a):
  3876. tXb(a,O(d));b=c.b;d=C$(c);if(!(c.af()||CL(b)||c.a&&CY(c.a,"Symbol")||d&&mE(d)&&!D$(c.b))){e=a.a;I$();var f;if(f=D$(c.b)&&!eG(c.b))f=C$(c),y$(),f=!(f&&cd(f.c,(HD(),CD)));f&&(f=c.b,f.f?rXb(e,f,vXb,A([oz(f.f,(pz(),qz))],B,y,1)):rXb(e,f,wXb,A([],B,y,1)));Gx(rY(b),DWb(d))}c.c(a.a)}}function tXb(a,b){D(P(b));b=R(b);D(Gw(b));for(b=b.a;b;b=b.b)if(vH(b)){var c=O(b);qD(c,vX(c));Z(a.a,b)}}function uXb(a){return kA(a)||CY(a,"goog.defineClass")}
  3877. function xXb(){xXb=function(){};nXb=ac(u(function(a){return Fc(xi(a,"[^.]","").length)}),ec());mXb=ac(u(function(a){return(a=C$(a))?AE(a).D()?(kXb(),hXb):(kXb(),gXb):(kXb(),iXb)}),ec())}function yXb(){}var eXb,sXb,wXb,vXb;l(yXb,n);function rXb(a,b,c,d){I$();var e=mY(b);ki(e,"_test.js")||ki(e,"_test.closure.js")||X(a,V(b,c,d))}
  3878. yXb.prototype.H=function(a,b){for(a=b.a;a;a=a.b){var c=a;D(tC(c));b=WA(c);gJ();if(ki(b,"$fillFile"))S(c);else{var d=b=new VWb;d.b=ef();d.c=ef();d.a=nja($ia()).a();Y(this.a,c,new J$);d=this.a;var e=b;cXb();var f=new dXb;f.a=e;Y(d,c,f);c=pXb;d=this.a;f=b;xXb();e=b=new lXb;e.a=d;e.b=f;c(b)}}};
  3879. function I$(){I$=function(){};vXb=AJ("JSC_CONSTANT_WITH_SUGGESTED_TYPE","Constants in top-level should have types explicitly specified.\nYou may want specify this type as:\t@const '{'{0}'}'");wXb=AJ("JSC_CONSTANT_WITHOUT_EXPLICIT_TYPE","Constants in top-level should have types explicitly specified.");sXb=AJ("JSC_GOOG_SCOPE_HIDDEN_TYPE","Please do not use goog.scope to hide declarations.\nIt is preferable to either create an @private namespaced declaration, or migrate to goog.module.");eXb=jm("Polymer",
  3880. "goog.addSingletonGetter","goog.define","goog.forwardDeclare","goog.module","goog.module.declareLegacyNamespace",A(["goog.declareModuleId","goog.provide","goog.require","goog.requireType"],B,y,1))}function z8(){}var zXb,Ylb;l(z8,D8);
  3881. z8.prototype.Oa=function(){var a=w();VU(this.a,(uI(),SJ))&&a.add(this.Tc);a.add(this.me);a.add(this.Mf);a.add(this.f);a.add(this.o);if(JI(HJ(this.a.a),(KI(),sK)))switch(a.add(this.oe),this.a.rl.a){case 3:iKb(a,this.b);break;case 2:g8();a.add(MJb);break;case 1:g8(),a.add(NJb)}a.add(this.kb);this.a.wd&&VU(this.a,(uI(),SK))&&a.add(this.pa);g8();a.add(LJb);jKb(a,this.a);VU(this.a,(uI(),SK))&&this.a.kb&&a.add(hKb);a.add(this.je);AXb(a);BXb(this,a);return a};
  3882. z8.prototype.Re=function(){var a=w();this.a.u?a.add(this.Da):JI(HJ(this.a.a),(KI(),sK))&&a.add(this.Ha);this.a.ni&&a.add(this.Ae);return a};function CXb(a,b,c){JI(HJ(c.a),(KI(),sK))&&(b.add(a.oe),iKb(b,a.b));c.b&&b.add(a.ja)}
  3883. z8.prototype.Be=function(){var a=w();a.add(this.lk);if(XZa(this.a))return a.add(this.F),a.add(this.Ph),a.add(this.jc),a.add(this.wd),a.add(this.Ae),a.add(this.za),a;a.add(this.F);VU(this.a,(uI(),SJ))&&a.add(this.Tc);this.a.v||a.add(this.me);a.add(this.Ci);a.add(R6("beforeStandardChecks"));!this.a.u&&JI(HJ(this.a.a),(KI(),sK))&&a.add(this.Ha);a.add(this.f);a.add(this.o);this.a.u&&a.add(this.Da);a.add(this.Za);a.add(this.wg);TU(this.a,(E5(),dzb))&&a.add(this.Hh);this.a.b&&TU(this.a,(E5(),dzb))&&a.add(this.tg);
  3884. TU(this.a,(E5(),Yyb))&&a.add(this.yi);(TU(this.a,(E5(),Uyb))||TU(this.a,(E5(),Vyb)))&&a.add(this.Mh);(TU(this.a,(E5(),Wyb))||TU(this.a,(E5(),Xyb)))&&a.add(this.jb);a.add(this.K);this.a.uf&&a.add(this.jd);this.a.u||a.add(this.U);this.a.b&&a.add(this.lg);a.add(this.vg);this.a.b&&a.add(this.Kb);a.add(this.kb);this.a.b&&a.add(this.jc);a.add(this.ug);TU(this.a,(E5(),D5))&&a.add(this.rg);this.a.Re&&a.add(this.vf);this.a.b&&a.add(this.$);YZa(this.a)&&CXb(this,a,this.a);this.a.b&&(a.add(this.Lb),YZa(this.a)&&
  3885. a.add(this.Ob));this.a.pa&&a.add(this.v);this.a.b&&!q(this.a.Zh,vJ)&&a.add(this.Lh);null!=this.a.Mf&&a.add(this.ii);this.a.u&&a.add(this.U);this.a.lg&&a.add(this.ie);this.a.sf&&a.add(this.sg);this.a.wd&&!xI(zI(this.a),(uI(),SK))&&a.add(this.pa);a.add(R6("beforePreTypeCheckTranspilation"));g8();a.add(LJb);this.a.kb&&!this.a.v&&a.add(hKb);a.add(this.je);a.add(R6("beforeTypeChecking"));this.a.g&&(a.add(this.Fi),this.a.g?a.add(this.Lf):a.add(this.Ei));this.a.o||this.a.K||a.add(this.ah);var b=this.a;b.je&&
  3886. !b.oe&&(CXb(this,a,this.a),this.a.b&&a.add(this.Ob));this.a.o||this.a.K||a.add(this.Nf);(this.a.hd||TU(this.a,(E5(),B5))||TU(this.a,(E5(),Fyb)))&&a.add(this.pe);q(this.a.A,eU)&&a.add(this.ak);UU(this.a,(E5(),Nyb))&&UU(this.a,(E5(),Cyb))||a.add(this.pg);!this.a.g||UU(this.a,(E5(),yyb))&&!TU(this.a,(E5(),Pyb))||a.add(this.If);a.add(this.og);TU(this.a,(E5(),fzb))&&this.a.g&&a.add(this.uf);!q(this.a.Vh,vJ)&&a.add(this.qg);this.a.ki.D()||a.add(this.mg);this.a.b&&!this.a.ta&&a.add(this.Th);!q(this.a.Be,
  3887. gYa)&&a.add(this.bi);this.a.v&&a.add(this.A);q(this.a.A,eU)&&a.add(this.Xj);q(this.a.ke,(wI(),HXa))&&a.add(this.wd);this.a.xi&&a.add(this.Di);a.add(R6("afterStandardChecks"));this.a.v?a.add(this.za):this.a.v||(a.add(this.Kh),q(this.a.A,eU)&&a.add(this.ke),this.a.If&&a.add(this.wi),jKb(a,this.a),VU(this.a,(uI(),SK))&&a.add(this.ei));AXb(a);BXb(this,a);a.add(R6("beforeSerialization"));return a};
  3888. z8.prototype.Qe=function(){var a=w();if(this.a.F)return a;a.add(this.fi);this.a.K||a.add(this.Sj);a.add(this.Ai);this.a.tn&&a.add(this.fk);a.add(this.A);!q(this.a.Be,hYa)&&this.a.fi.D()&&this.a.bi.D()&&this.a.di.D()&&this.a.$h.D()||a.add(this.kk);a.add(this.Uh);(this.a.kg||null!=this.a.sl)&&a.add(this.xi);a.add(this.Bi);q(this.a.A,eU)&&a.add(this.le);this.a.Ci&&a.add(this.Uj);this.a.ug&&a.add(this.jk);a.add(R6("beforeStandardOptimizations"));this.a.Sh&&a.add(this.ni);this.a.b&&(this.a.rg||this.a.sg)&&
  3889. a.add(this.Nh);this.a.Oh&&a.add(this.Wj);AXb(a);q(this.a.jd,(gU(),VXa))&&a.add(this.rf);q(this.a.A,eU)&&q(this.a.jd,(gU(),VXa))&&a.add(this.$j);q(this.a.jd,(gU(),WXa))||a.add(this.ai);this.a.lg&&a.add(this.ie);a.add(this.ng);this.a.Eh&&this.a.wg&&(this.a.Kb&&(this.a.ja||this.a.$)&&(a.add(this.ui),a.add(this.vi)),a.add(this.ge));this.a.Ha&&this.a.g&&(this.a.vm?a.add(this.si):a.add(this.ti));this.a.sf&&a.add(this.Ih);this.a.wg&&a.na(DXb(this));this.a.b&&a.add(this.Rh);this.a.tg.D()||a.add(this.gk);
  3890. this.a.tf&&a.add(this.hd);this.a.si&&a.add(this.ri);this.a.rb&&a.add(EXb(this,(uU(),JYa)));a.add(R6("beforeMainOptimizations"));(this.a.ja||this.a.$)&&a.add(this.vd);a.na(FXb(this));a.add(R6("afterMainOptimizations"));a.add(R6("beforeModuleMotion"));this.a.tf&&a.add(this.hd);this.a.oi&&a.add(this.ki);a.add(R6("afterModuleMotion"));this.a.rb&&a.add(EXb(this,(uU(),KYa)));if(this.a.ja||this.a.$)a.add(this.vd),GXb(this)&&a.add(this.ge);this.a.ei&&a.add(this.Xh);(this.a.Sj||null!=this.a.jb)&&a.add(this.Oh);
  3891. q(this.a.U,($I(),Fza))&&a.add(this.Qh);q(this.a.wi,(EXa(),CXa))||a.add(this.zi);this.a.za&&q(this.a.Za,(JU(),IU))&&this.a.g&&a.add(this.tf);q(this.a.Za,(JU(),IU))&&a.add(this.ji);this.a.mi&&a.add(this.gi);this.a.Uh&&a.add(this.ik);this.a.ah.D()&&!this.a.Qe||a.add(this.sf);this.a.ci&&(a.add(this.Vh),this.a.Kb&&a.add(this.Yh));a.add(this.Jh);this.a.ii&&(a.add(this.Eh),a.add(this.ci));a.add(this.pi);q(this.a.Nf,(PU(),MZa))||a.add(this.Vj);q(this.a.Nf,(PU(),KZa))||a.add(this.li);this.a.Fi&&a.add(this.hi);
  3892. this.a.Kb&&a.add(this.bk);q(this.a.U,($I(),Eza))&&a.add(this.Sh);if(null!=this.a.jb){if(!PZa(RU(zXb,this.a.jb)))throw ua("Illegal character in renamePrefixNamespace name: "+r(this.a.jb)).s;a.add(this.hk)}a.add(this.kg);a.add(this.ck);xI(zI(this.a),(uI(),SK))&&a.add(this.Wh);K$(a,this.A,this.le,"J2CL define re-writing should be done after processDefines since it relies on collectDefines which has side effects.");return a};
  3893. function FXb(a){var b=w();a.a.zi&&b.add(a.Rj);b.na(DXb(a));q(a.a.mg,(iU(),hU))||b.add(a.Kj);a.a.Ai&&a.a.g&&b.add(a.Qj);(a.a.ne||a.a.me)&&a.a.ri&&(b.add(a.mi),a.a.pa||b.add(a.oi));q(a.a.A,eU)&&(b.add(a.Zj),b.add(a.Yj));HXb(b);return b}function DXb(a){var b=w();a.a.gi&&b.add(a.Zh);a.a.ja||a.a.$?b.add(a.Tj):a.a.yi&&b.add(a.Gi);a.a.Kb&&b.add(a.$h);a.a.Mh&&b.add(a.di);GXb(a)&&b.add(a.ne);HXb(b);return b}function GXb(a){return a.a.ne||a.a.me||a.a.ge||a.a.le||a.a.kb}
  3894. function AXb(a){for(a=a.h();a.i();){var b=a.j();E(!b.b)}}function HXb(a){for(a=a.h();a.i();){var b=a.j();E(b.b)}}function K$(a,b,c,d){b=a.indexOf(b);a=a.indexOf(c);-1!=b&&-1!=a&&F(b<a,d)}
  3895. function BXb(a,b){K$(b,a.jd,a.U,"declaredGlobalExternsOnWindow must happen before VarCheck, which adds synthetic externs");K$(b,a.rb,a.Za,"The ChromePass must run before after JsDoc and Es6 module checking.");K$(b,a.ja,a.A,"Must rewrite goog.module before processing @define's, so that @defines in modules work.");K$(b,a.Lb,a.v,"The Polymer pass must run after goog.provide processing.");K$(b,a.rb,a.v,"The Polymer pass must run after ChromePass processing.");K$(b,a.v,a.pe,"The Polymer pass must run before suspiciousCode processing.");
  3896. K$(b,a.pa,(g8(),WJb),"The Dart super accessors pass must run before ES6->ES3 super lowering.");K$(b,a.F,a.f,"Cannot add a synthetic script node after module metadata creation.");K$(b,a.ja,a.za,"Synthetic script node should be removed only after module rewriting.");b.B(a.$)&&F(b.B(a.K),"goog.scope processing requires variable checking");K$(b,a.K,a.$,"Variable checking must happen before goog.scope processing.");K$(b,a.f,a.Kb,"Need to gather module metadata before checking closure modules.");K$(b,a.f,
  3897. a.o,"Need to gather module metadata before scanning modules.");K$(b,a.o,a.Da,"Need to gather module information before rewriting CommonJS modules.");K$(b,a.Ha,a.f,"Need to gather module information after rewriting scripts to modules.");K$(b,a.f,a.jb,"Need to gather module information before checking for missing requires.");K$(b,a.ke,gKb,"J2CL normalization should be done before generator re-writing.")}
  3898. function IXb(a){var b=a.a.jc,c=w();c.add(new Nrb);c.add($Tb(!1));c.add($sb(!1));c.add(Fsb(!1,b));c.add(yUb());if(q(a.a.A,eU)){c.add(jTb(b));var d=new HTb;d.c=!1;c.add(d)}c.add(LEb(!1,b));c.add(new rsb);return zsb(a,"peepholeOptimizations",c)}function L$(a,b){D(!b.D());return VOb(a,b)}function EXb(a,b){return J6(N6(O6(L6(P6(),"runCustomPasses"),u(function(){var c=a.a.rb.Ua(b),d=new eRb;d.a=c;return d})),(uI(),PJ)))}
  3899. function JXb(a){pMb();var b=bf();(a.Rj||a.b)&&b.C("COMPILED",Rx());a.b&&null!=a.Qj&&b.C("goog.LOCALE",ux(a.Qj));return b}
  3900. function qMb(a){a.u=null;a.b=new eyb;a.ta=null;a.lk=J6(N6(O6(L6(P6(),"syncCompilerFeatures"),u(function(b){var c=new sxb;c.a=b;return c})),(uI(),RK)));a.ug=J6(N6(O6(L6(Q6(),"checkSideEffects"),u(function(b){var c=a.a.hd;Lzb();var d=new W6;d.b=w();d.g=ef();d.c=!1;d.a=b;d.f=c;d.o=!1;return d})),QJ));a.vl=J6(N6(O6(L6(P6(),"stripSideEffectProtection"),u(function(b){var c=new NOb;c.a=b;return c})),dL()));a.pe=J6(N6(O6(L6(Q6(),"suspiciousCode"),u(function(b){var c=w();a.a.hd&&(c.add(Wib()),c.add(oBb(b)));
  3901. TU(a.a,(E5(),B5))&&c.add(o$a(b));TU(a.a,(E5(),Fyb))&&c.add($8a(b));return L$(b,c)})),QJ));a.yi=J6(O6(N6(L6(Q6(),"checkExtraRequires"),PJ),u(function(b){Pzb();var c=new e6;c.b=bf();c.a=ef();c.c=b;return c})));a.Mh=J6(O6(N6(L6(Q6(),"checkMissingAndExtraRequires"),PJ),u(function(b){zgb();var c=new mgb;c.a=ef();c.b=bf();c.c=bf();c.g=ef();c.f=b;c.u=MX(b);return c})));a.jb=J6(N6(O6(L6(P6(),"checkMissingRequires"),u(function(b){var c=b.K;Egb();var d=new e1;d.c=b;d.g=c;d.a=ef();d.o=c.a;return d})),NJ));a.rg=
  3902. J6(O6(N6(L6(Q6(),"checkProvides"),PJ),u(function(b){Ahb();var c=new Chb;c.b=b;c.a=MX(b);return c})));a.Za=J6(O6(N6(L6(Q6(),"checkJsDocAndEs6Modules"),QJ),u(function(b){M$a();var c=new v_;c.a=b;amb();var d=new G2;d.a=b;return L$(b,Sl(c,d))})));a.Di=J6(N6(O6(L6(P6(),"generateExports"),u(function(b){var c=MX(b);if(null!=c.Sf()&&null!=c.Cg()){var d=new dQb,e=a.a.vf,f=c.Sf();c=c.Cg();d.c=ef();G(b);G(f);G(c);d.a=b;d.f=e;d.g=f;d.b=c;e=new gQb;e.a=d;e.b=b;return e}return Xlb(b)})),PJ));a.wd=J6(N6(O6(L6(P6(),
  3903. "generateIjs"),u(function(b){I$();var c=new yXb;c.a=b;return c})),PJ));a.wi=J6(N6(O6(L6(P6(),"exportTestFunctions"),u(function(b){var c=MX(b);if(null!=c.Sf()){var d=c.Sf();c=c.Cg();Xxb();var e=new Zxb;G(b);e.a=b;e.c=d;e.b=c;b=e}else b=Xlb(b);return b})),PJ));a.rl=J6(N6(O6(L6(P6(),"gatherRawExports"),u(function(b){apb();var c=new Zob;c.b=ef();c.a=b;var d=new fRb;d.a=c;d.b=b;return d})),dL()));a.Lb=J6(N6(O6(L6(Q6(),"closurePrimitives"),u(function(b){x5(a.b,b);var c=a.b.a;l0();var d=new i0;d.b=ef();
  3904. d.f=ef();d.g=w();d.a=b;d.c=c;c=new gRb;c.a=d;c.b=b;return c})),QJ));a.Ob=J6(N6(O6(L6(Q6(),"closureProvidesRequires"),u(function(b){x5(a.b,b);return Ncb(b,a.b.a,a.a.Rh,a.a.ta,b.a.K?null:a.c)})),QJ));a.vf=J6(N6(O6(L6(Q6(),"angularPass"),u(function(b){C5a();var c=new YY;c.b=w();c.a=b;return c})),PJ));a.fk=J6(N6(O6(L6(P6(),"replaceMessages"),u(function(){return new $ub})),NJ));a.ul=J6(N6(O6(L6(P6(),"replaceMessages"),u(function(){return new avb})),NJ));a.Ph=J6(N6(O6(L6(Q6(),"closureGoogScopeAliasesForIjs"),
  3905. u(function(b){return hwb(Mwb(b))})),PJ));a.$=J6(N6(O6(L6(Q6(),"closureGoogScopeAliases"),u(function(b){x5(a.b,b);var c=Mwb(b);c.c=a.b.a;c.f=a.a.fk;c.a=b.K;b=(nwb(),lwb);c.b=b;return hwb(c)})),QJ));a.je=J6(N6(O6(L6(P6(),"InjectRuntimeLibraries"),u(function(b){var c=new cSb;c.a=b;return c})),QJ));a.Tc=J6(N6(O6(L6(Q6(),"convertEs6Typed"),u(function(b){bSb();var c=new ERb;c.a=b;c.f=bf();c.g=ef();c.c=Uk();c.o=ef();return c})),SJ));a.me=J6(N6(O6(L6(P6(),"markUntranspilableFeaturesAsRemoved"),u(function(b){var c=
  3906. zI(a.a);jzb();var d=new X6;G(b);G(c);d.b=b;d.a=XK(vGb,c);return d})),QJ));a.ei=J6(N6(O6(L6(P6(),"Es6StaticInheritance"),u(function(b){ARb();var c=new vRb;c.c=ef();c.a=Uf();c.b=b;return c})),PJ));a.Sj=J6(N6(O6(L6(P6(),"inlineTypeAliases"),u(function(b){wpb();var c=new ypb;c.a=Uf();c.b=b;c.f=dJ(b);return c})),PJ));a.rf=J6(N6(O6(L6(P6(),"aggressiveInlineAliases"),u(function(b){LOb();var c=new DOb;c.a=b;c.b=!0;return c})),PJ));a.fi=J6(N6(O6(L6(P6(),"removeWeakSources"),u(function(b){var c=new Hub;c.a=
  3907. b;return c})),dL()));a.jd=J6(N6(O6(L6(P6(),"declaredGlobalExternsOnWindow"),u(function(b){var c=new s2;c.a=pm();c.b=!1;c.c=b;return c})),QJ));a.wg=J6(N6(O6(L6(P6(),"checkTypeImportCodeReferences"),u(function(b){djb();var c=new ajb;c.a=b;return c})),QJ));a.jc=J6(N6(O6(L6(Q6(),"closureRewriteClass"),u(function(b){mab();var c=new A_;c.a=b;return c})),QJ));a.Kb=J6(N6(O6(L6(Q6(),"closureCheckModule"),u(function(b){var c=b.K;bZ();var d=new p6a;d.c=b;d.g=c;d.a=null;return d})),QJ));a.ja=J6(N6(O6(L6(Q6(),
  3908. "closureRewriteModule"),u(function(b){x5(a.b,b);a.a.K&&!a.ta&&(a.ta=f7a());var c=a.b.a,d=a.ta,e=b.a.K?null:a.c;hZ();var f=new b8a;f.$=Uf();f.U=null;var h=new Q6a;h.b=f;f.ja=h;f.o=Uk();f.a=null;f.F=ef();f.K=w();f.v=w();D(!e||nL(e));f.b=b;f.f=dJ(b);f.A=c;f.c=d?d:f7a();f.u=b.a.ta;f.g=e;return f})),QJ));a.lg=J6(N6(O6(L6(Q6(),"checkGoogRequires"),u(function(b){var c=b.K;aZ();var d=new f6a;d.a=!1;d.c=b;var e=new F5a;e.a=d;e.c=b;e.g=c;e.o=c;d.b=e;d.f=ef();return d})),QJ));a.oe=J6(N6(O6(L6(Q6(),"rewriteGoogJsImports"),
  3909. u(function(b){var c=(c5(),qvb),d=b.A;mvb();var e=new tvb;e.f=bf();G(d);e.a=b;e.g=c;e.c=d;return e})),QJ));a.Lh=J6(N6(O6(L6(P6(),"closureCheckGetCssName"),u(function(){return new Agb})),PJ));a.Th=J6(N6(O6(L6(P6(),"closureReplaceGetCssName"),u(function(b){var c=new hRb;c.b=a;c.a=b;return c})),QJ));a.ii=J6(N6(O6(L6(P6(),"createSyntheticBlocks"),u(function(b){var c=a.a.Mf,d=a.a.Pn;Lkb();var e=new Hkb;e.f=Uk();e.g=w();e.a=b;e.b=c;e.c=d;return e})),PJ));a.vi=J6(N6(O6(L6(P6(),"earlyPeepholeOptimizations"),
  3910. u(function(b){var c=b.a.jc,d=w();d.add(yUb());q(b.a.A,eU)&&d.add(jTb(c));return zsb(b,"earlyPeepholeOptimizations",d)})),PJ));a.ui=J6(N6(O6(L6(P6(),"earlyInlineVariables"),u(function(b){if(a.a.ja)var c=(g4(),Irb);else if(a.a.$)c=(g4(),Hrb);else throw pb("No variable inlining option set.").s;return Lrb(b,c)})),PJ));a.$h=J6(N6(O6(M6(L6(P6(),"peepholeOptimizations"),!0),u(function(b){return IXb(b)})),PJ));a.Yh=J6(N6(O6(L6(P6(),"peepholeOptimizations"),u(function(b){return IXb(b)})),PJ));a.bk=J6(N6(O6(L6(P6(),
  3911. "latePeepholeOptimizations"),u(function(b){var c=a.a.jc,d=new Pwb;d.c=!1;return ysb(b,"latePeepholeOptimizations",A([d,yUb(),$Tb(!0),$sb(!0),Fsb(!0,c),LEb(!0,c),new Bsb],J2,kmb,1))})),PJ));a.U=J6(N6(O6(L6(Q6(),"checkVars"),u(function(b){L5();var c=new YFb;bGb(c,b,!1);return c})),QJ));a.ie=J6(N6(O6(L6(P6(),"inferConsts"),u(function(b){var c=new ppb;c.a=b;return c})),QJ));a.sg=J6(N6(O6(L6(P6(),"checkRegExp"),u(function(b){Jhb();var c=new Dhb;c.a=!1;c.b=b;var d=new iRb;d.a=c;d.b=b;return d})),QJ));a.Mf=
  3912. J6(N6(O6(L6(Q6(),"checkVariableReferences"),u(function(b){O5();var c=new k8;AKb(c,b,!0);return c})),NJ));a.K=J6(N6(O6(L6(Q6(),"checkVariableReferences"),u(function(b){O5();var c=new k8;AKb(c,b,!1);return c})),QJ));a.kb=J6(N6(O6(L6(Q6(),"checkSuper"),u(function(b){T1();var c=new Mib;c.a=Uk();c.b=b;return c})),QJ));a.ah=J6(N6(O6(L6(P6(),"clearTypedScopeCreatorPass"),u(function(){var b=new oRb;b.a=a;return b})),QJ));a.Nf=J6(N6(O6(L6(P6(),"clearTopTypedScopePass"),u(function(){var b=new nRb;b.a=a;return b})),
  3913. QJ));a.Fi=J6(N6(O6(L6(Q6(),"inferTypes"),u(function(b){var c=new jRb;c.b=a;c.a=b;return c})),QJ));a.Ei=J6(N6(O6(L6(Q6(),"inferJsDocInfo"),u(function(b){var c=new kRb;c.a=a;c.b=b;return c})),PJ));a.Lf=J6(N6(O6(L6(Q6(),"checkTypes"),u(function(b){var c=new lRb;c.a=a;c.b=b;return c})),QJ));a.pg=J6(N6(O6(L6(Q6(),"checkControlFlow"),u(function(b){var c=w();UU(a.a,(E5(),Nyb))||c.add(ijb(b));UU(a.a,(E5(),Cyb))||c.add(Jgb(b));return L$(b,c)})),QJ));a.If=J6(N6(O6(L6(Q6(),"checkAccessControls"),u(function(b){J5();
  3914. var c=new ZDb;c.f=0;var d=new hja;d.c=new go;d.b=new go;ija(d);c.u=d;c.a=b;c.o=eJ(b);c.g=Vq();c.c=!1;return c})),QJ));a.Hh=J6(N6(O6(L6(Q6(),"lintChecks"),u(function(b){var c=Mj().W(nBb(b)).W(qBb(b)).W(sBb(b)).W(ABb(b)).W(BBb(b)).W(gCb(b)).W(IBb(b)).W(YBb(b)).W(eCb(b)).W(jCb(b)).W(uCb(b)).W(wCb(b)).W(WCb(b)).W(YCb(b));return L$(b,c.fa())})),PJ));a.uf=J6(N6(O6(L6(Q6(),"analyzerChecks"),u(function(b){var c=Mj();TU(a.a,(E5(),ezb))&&c.W(qCb(b)).W(kBb(b)).W(opb(b));TU(a.a,(E5(),$yb))&&c.W(ujb(b));TU(a.a,
  3915. (E5(),bzb))&&c.W(W8a(b));return L$(b,c.fa())})),PJ));a.tg=J6(N6(O6(L6(Q6(),"checkRequiresAndProvidesSorted"),u(function(b){var c=(ACb(),yCb);yAb();var d=new l6;d.a=w();d.b=null;d.f=null;d.c=!1;d.g=null;d.o=c;c=(RCb(),PCb);AAb();var e=new s6;e.f=wq();e.g=w();e.a=null;e.c=null;e.b=!1;e.o=null;e.u=c;return L$(b,Sl(d,e))})),PJ));a.qg=J6(N6(O6(L6(P6(),"checkGlobalNames"),u(function(b){var c=new mRb;c.a=a;c.b=b;return c})),PJ));a.vg=J6(N6(O6(L6(P6(),"checkStrictMode"),u(function(b){m5();var c=new cxb;c.a=
  3916. b;return c})),QJ));a.bi=J6(N6(O6(L6(P6(),"processTweaks"),u(function(b){var c=new hQb;c.a=a;c.b=b;return c})),PJ));a.A=J6(N6(O6(L6(P6(),"processDefines"),u(function(b){return gBb(WAb(VAb(UAb(UAb(UAb(TAb(b),b.je),JXb(a.a)),a_a(a.a.ql)),a.a.v),Wc(function(){return a.u})))})),PJ));a.kk=J6(N6(O6(L6(P6(),"stripCode"),u(function(b){var c=new iQb;c.a=b;return c})),NJ));a.Ai=J6(N6(O6(L6(Q6(),"garbageCollectChecks"),u(function(){var b=new jQb;b.a=a;return b})),dL()));a.og=J6(N6(O6(L6(P6(),"checkConsts"),u(function(b){var c=
  3917. b.K;Akb();var d=new wkb;G(c);d.b=b;d.a=ef();d.c=c;return d})),QJ));a.ng=J6(N6(O6(L6(P6(),"checkConstParams"),u(function(b){Ekb();var c=new Bkb;c.a=G(b);return c})),$K(NJ,(KI(),FK))));a.jk=J6(N6(O6(L6(P6(),"runtimeTypeCheck"),u(function(b){var c=a.a.Mn;qWb();var d=new yWb;d.a=b;d.c=eJ(b);d.b=c;return d})),IJ));a.ni=J6(N6(O6(L6(P6(),"replaceIdGenerators"),u(function(b){var c=new XQb;c.a=a;c.b=b;return c})),$K(NJ,FK)));a.gk=J6(N6(O6(L6(P6(),"replaceStrings"),u(function(b){var c=new YQb;c.a=a;c.b=b;return c})),
  3918. NJ));a.sl=J6(N6(O6(L6(P6(),"optimizeArgumentsArray"),u(function(b){var c=new Rrb;c.f=0;c.c=Uk();c.a=Ll();c.b=G(b);c.g=G("JSCompiler_OptimizeArgumentsArray_p");return c})),PJ));a.Nh=J6(N6(O6(L6(P6(),"closureCodeRemoval"),u(function(b){var c=new XOb,d=a.a.rg,e=a.a.sg;c.b=w();c.c=w();c.f=w();c.a=b;c.g=d;c.o=e;return c})),PJ));a.Rh=J6(N6(O6(L6(P6(),"closureOptimizePrimitives"),u(function(b){var c=q(b.a.Za,(JU(),IU)),d=xI(zI(b.a),SK);Tjb();var e=new Rjb;e.a=b;e.c=c;e.b=d;return e})),PJ));a.hk=J6(N6(O6(L6(P6(),
  3919. "rescopeGlobalSymbols"),u(function(b){var c=new lWb,d=a.a.jb,e=a.a.Qh;c.b=ef();c.f=ef();c.a=b;c.c=d;c.g=!0;c.o=e;return c})),NJ));a.ai=J6(N6(O6(L6(P6(),"collapseProperties"),u(function(b){var c=a.a.jd;S5();var d=new xEb;d.f=ef();d.a=b;d.b=c;return d})),PJ));a.Zh=J6(N6(O6(M6(L6(P6(),"collapseObjectLiterals"),!0),u(function(b){var c=new grb,d=s3(b);c.a=b;c.b=d;return c})),PJ));a.ql=J6(N6(O6(L6(P6(),"disambiguatePrivateProperties"),u(function(b){var c=new x2;c.c=0;c.a=b;c.b=MX(c.a);b=c.b.lh();c.f=nm(b);
  3920. return c})),NJ));a.ti=J6(N6(O6(L6(P6(),"disambiguateProperties"),u(function(b){var c=a.a.Jh;Alb();var d=new Rlb;Vlb(d);d.a=b;d.b=eJ(b);d.f=zy(qy(d.b,(I(),iw)));d.A=c;d.v=c.Qa()?null:br();c=e5a(d.b);c.A=d.v;d.g=f5a(i5a(TY(TY(j5a(c),GMb(b)),HMb(b))));return d})),NJ));a.si=J6(N6(O6(L6(P6(),"disambiguateProperties"),u(function(b){var c=il(a.a.Jh),d=new RKb;d.a=b;d.c=c;d.b=eJ(d.a);d.g=Nj().fb(GMb(b)).fb(HMb(b)).fa();b=i5a(j5a(e5a(d.b)));b.v=!1;b.g=!0;d.f=f5a(b);return d})),NJ));a.ri=J6(N6(O6(L6(P6(),"devirtualizeMethods"),
  3921. u(function(b){var c=o4(p4(q4(),b),!1),d=new elb;d.a=b;return m4(n4(c,d))})),PJ));a.tl=J6(N6(O6(M6(L6(P6(),"optimizeCalls"),!0),u(function(b){var c=o4(p4(q4(),b),!1),d=new osb;d.a=b;c=n4(c,d);d=new $rb;d.a=G(b);d.b=fJ(b);return m4(n4(c,d))})),PJ));a.Ih=J6(N6(O6(L6(P6(),"markPureFunctions"),u(function(b){return WSb(b)})),PJ));a.Tj=J6(N6(O6(M6(L6(P6(),"inlineVariables"),!0),u(function(b){if(a.a.ja)var c=(g4(),Irb);else if(a.a.$)c=(g4(),Hrb);else throw pb("No variable inlining option set.").s;return Lrb(b,
  3922. c)})),PJ));a.Gi=J6(N6(O6(M6(L6(P6(),"inlineConstants"),!0),u(function(b){return Lrb(b,(g4(),h4))})),NJ));a.di=J6(N6(O6(M6(L6(P6(),"removeUnreachableCode"),!0),u(function(b){Hxb();var c=new Jxb;c.a=b;return c})),PJ));a.Rj=J6(N6(O6(M6(L6(P6(),"inlineSimpleMethods"),!0),u(function(b){v9();var c=new mSb;c.f=ef();c.b=ef();c.o=ef();c.c=br();c.a=b;c.g=fJ(b);return c})),PJ));a.mi=J6(N6(O6(M6(L6(P6(),"deadAssignmentsElimination"),!0),u(function(b){var c=new l2;c.a=b;c.b=Uk();return c})),PJ));a.oi=J6(N6(O6(M6(L6(P6(),
  3923. "deadPropertyAssignmentElimination"),!0),u(function(b){var c=new blb;c.a=b;return c})),PJ));a.Kj=J6(N6(O6(M6(L6(P6(),"inlineFunctions"),!0),u(function(b){var c=s3(b),d=a.a.Ph||jUa(a.a),e=new Tqb,f=a.a.mg,h=a.a.Nh,k=a.a.og;e.a=Uf();e.g=bf();D(!!b);D(!!c);D(!q(f,(iU(),hU)));e.b=b;e.A=f;e.u=h;e.f=k;e.o=-1!=k;e.v=Pnb(fJ(b));b=rqb(b);b.a=G(c);c=tqb(sqb(b,d),h);c.c=!1;c.b=G(e.v);e.c=uqb(c);return e})),PJ));a.Qj=J6(N6(O6(M6(L6(P6(),"inlineProperties"),!0),u(function(b){krb();var c=new prb;c.b=bf();c.a=b;
  3924. var d=e5a(eJ(b));d.f=!1;c.c=f5a(TY(j5a(d),GMb(b)));for(b=c.a.F.h();b.i();)d=b.j(),c.b.C(d,lrb);return c})),NJ));a.ne=J6(N6(O6(M6(L6(P6(),"removeUnusedCode"),!0),u(function(b){var c=!q(a.a.U,($I(),Dza)),d=new Ptb;d.a=b;d.o=a.a.me;d.g=a.a.ne;d.f=c;d.A=a.a.ge;d.b=a.a.Ob;d.F=a.a.le;d.u=a.a.le;d.v=a.a.kb;d.c=a.a.Tc;Y4();b=new zub;b.v=Uk();b.$=lf();b.A=ff(Aub);b.F=Vq();b.ja=w();b.f=Vq();b.b=d.a;b.a=fJ(b.b);b.o=MX(d.a);b.c=kT(d.a);b.K=d.o;b.u=d.g;b.za=d.f;b.U=d.A;b.pa=d.b;b.Oa=d.F;b.Da=d.u;b.Ha=d.v;b.ta=
  3925. d.c;b.g=yub(b);O4(b.g);return b})),PJ));a.ge=J6(M6(eFb(a.ne),!1));a.hd=J6(N6(O6(M6(L6(P6(),"crossChunkCodeMotion"),!0),u(function(b){var c=new SPb,d=b.b,e=a.a.Wj;c.f=bf();c.a=b;c.b=d;c.c=e;return c})),PJ));a.ki=J6(N6(O6(M6(L6(P6(),"crossChunkMethodMotion"),!0),u(function(b){var c=b.mg,d=a.a.Ob;BPb();var e=new wPb;e.b=b;e.c=c;e.g=b.b;c=e.g;d9();var f=new uPb;f.a=XVa();f.f=ZOb(f,"[global]");f.b=ZOb(f,"[extern]");f.g=ZOb(f,"[anonymous]");f.K=Uf();f.U=Uf();f.c=b;f.F=c;f.A=d;f.v=!1;f.u=!1;1<c.a.length?
  3926. f.o=Wj(c.c.G(0)):f.o=null;$Ob(f.f,null);$Ob(f.b,null);f.a.se(f.f);f.a.se(f.b);for(d=vPb.h();d.i();){var h=d.j();h=c9(f,h,e9);if(c)for(var k=lg(c.a).h();k.i();){var m=k.j();f.a.Pf(f.b,m,h)}else f.a.Pf(f.b,null,h)}e.o=f;e.f=!1;e.a=dJ(b);return e})),PJ));a.vd=J6(N6(O6(L6(P6(),"flowSensitiveInlineVariables"),u(function(b){var c=new bnb;c.a=b;b=new X2;b.b=c;b.a=null;c.o=b;return c})),PJ));a.Vh=J6(N6(O6(L6(P6(),"coalesceVariableNames"),u(function(b){var c=new akb,d=a.a.Lb,e=new b2;e.a=c;c.o=e;E(bJ(b.c));
  3927. c.b=b;c.c=Uk();c.f=Uk();c.g=d;return c})),PJ));a.Eh=J6(N6(O6(L6(P6(),"exploitAssign"),u(function(b){return ysb(b,"exploitAssign",A([new lmb],J2,kmb,1))})),PJ));a.ci=J6(N6(O6(L6(P6(),"collapseVariableDeclarations"),u(function(b){var c=new vkb;c.a=w();c.b=ef();E(!bJ(b.c));c.c=b;return c})),PJ));a.zi=J6(N6(O6(L6(P6(),"extractPrototypeMemberDeclarations"),u(function(b){switch(a.a.wi.a){case 1:var c=(V2(),Lmb);break;case 2:c=(V2(),Mmb);break;default:throw pb("unexpected").s;}var d=new Omb;d.a=b;d.b=c;
  3928. return d})),PJ));a.ik=J6(N6(O6(L6(P6(),"rewriteFunctionExpressions"),u(function(b){var c=new pnb;c.a=b;return c})),dL()));a.Xh=J6(N6(O6(L6(P6(),"collapseAnonymousFunctions"),u(function(b){var c=new rkb;D(bJ(b.c));c.a=b;return c})),PJ));a.Oh=J6(N6(O6(L6(P6(),"moveFunctionDeclarations"),u(function(b){var c=new l4;c.a=b;c.b=wq();return c})),GBa));a.Sh=J6(N6(O6(L6(P6(),"nameAnonymousFunctions"),u(function(b){$Wa();var c=new ZWa;c.c=0;c.a=0;c.b=b;return c})),NJ));a.Qh=J6(N6(O6(L6(P6(),"nameAnonymousFunctions"),
  3929. u(function(b){var c=new ZQb;c.b=a;c.a=b;return c})),NJ));a.sf=J6(N6(O6(L6(P6(),"aliasStrings"),u(function(b){var c=b.b,d=a.a.Qe?null:a.a.ah,e=a.a.gk,f=a.a.Vj;L4a();var h=new NY;h.b=null;h.a=Xh();h.A=pm();h.g=bf();h.u=-1;h.c=b;h.v=c;h.f=d;0!=e.length?h.b=RU(QU(e),""):h.b=null;h.o=f;return h})),NJ));a.tf=J6(N6(O6(L6(P6(),"ambiguateProperties"),u(function(b){var c=b_a(a.a),d=c_a(a.a);v5a();var e=new s5a;e.v=w();e.g=Uf();e.c=ef();e.u=null;e.a=xma();e.f=bf();E(bJ(b.c));e.b=b;e.F=c;e.K=d;e.A=f5a(TY(TY(j5a(e5a(eJ(b))),
  3930. GMb(b)),HMb(b)));e.o=Nj().W("prototype").fb(b.F).fa();return e})),NJ));a.Jh=J6(N6(O6(L6(P6(),"markUnnormalized"),u(function(b){var c=new $Qb;c.a=b;return c})),dL()));a.Uh=J6(N6(O6(L6(P6(),"normalize"),u(function(b){return GNb(b,!1)})),$K(dL(),FK)));a.xi=J6(N6(O6(L6(P6(),"externExports"),u(function(b){T2();var c=new Cmb;c.c=w();c.a=b;c.b=bf();c.g=Qw();c.f=ef();c.o=bf();b=MX(c.a);c.v=em(b.Sf(),"google_exportSymbol");c.u=em(b.Cg(),"google_exportProperty");return c})),NJ));a.pi=J6(N6(O6(L6(P6(),"denormalize"),
  3931. u(function(b){var c=new clb;c.a=b;return c})),$K(NJ,FK)));a.Vj=J6(N6(O6(L6(P6(),"invertContextualRenaming"),u(function(b){var c=new $nb;c.a=dm();c.f=Uk();var d=ao();d=nja(d);c.c=d.a();c.b=b;c.g=!0;return c})),$K(NJ,FK)));a.ji=J6(N6(O6(L6(P6(),"renameProperties"),u(function(b){E(q(a.a.Za,(JU(),IU)));var c=new aRb,d=a.a.Yn;c.a=a;c.b=b;c.c=d;return c})),PJ));a.li=J6(N6(O6(L6(P6(),"renameVars"),u(function(b){var c=new bRb,d=a.a.Zn;c.c=a;c.a=b;c.b=d;return c})),PJ));a.hi=J6(N6(O6(L6(P6(),"renameLabels"),
  3932. u(function(b){var c=new mob,d=new gob;d.a=$T(ef(),"",null);c.c=b;c.f=d;c.b=!0;c.a=!0;return c})),PJ));a.gi=J6(N6(O6(L6(P6(),"convertToDottedProperties"),u(function(b){var c=new Fkb;c.a=b;return c})),PJ));a.kg=J6(N6(O6(L6(P6(),"checkAstValidity"),u(function(b){return bNb(b)})),dL()));a.ck=J6(N6(O6(L6(P6(),"varCheckValidity"),u(function(b){return aGb(b)})),$K(NJ,FK)));a.Uj=J6(N6(O6(L6(P6(),"instrumentForCodeCoverage"),u(function(){if(a.a.Bi)var b=iMb((jMb(),rNb),(hMb(),uNb));else jMb(),b=new wNb;return b})),
  3933. PJ));a.Bi=J6(N6(O6(L6(P6(),"gatherExternProperties"),u(function(b){return uOb(b)})),$K(NJ,FK)));a.v=J6(N6(O6(L6(Q6(),"polymerPass"),u(function(b){var c=q(b.a.Za,(JU(),IU)),d=new q$,e=b.a.pa,f=b.a.Gn;d.o=null;d.g=!1;d.u=!1;Ii(!e||1==e.xb()||2==e.xb(),"Invalid Polymer version:",e);d.a=b;d.$=Gj().L("a","HTMLAnchorElement").L("area","HTMLAreaElement").L("audio","HTMLAudioElement").L("base","HTMLBaseElement").L("body","HTMLBodyElement").L("br","HTMLBRElement").L("button","HTMLButtonElement").L("canvas",
  3934. "HTMLCanvasElement").L("caption","HTMLTableCaptionElement").L("col","HTMLTableColElement").L("content","HTMLContentElement").L("data","HTMLDataElement").L("datalist","HTMLDataListElement").L("del","HTMLModElement").L("dialog","HTMLDialogElement").L("dir","HTMLDirectoryElement").L("div","HTMLDivElement").L("dl","HTMLDListElement").L("embed","HTMLEmbedElement").L("fieldset","HTMLFieldSetElement").L("font","HTMLFontElement").L("form","HTMLFormElement").L("frame","HTMLFrameElement").L("frameset","HTMLFrameSetElement").L("h1",
  3935. "HTMLHeadingElement").L("head","HTMLHeadElement").L("hr","HTMLHRElement").L("html","HTMLHtmlElement").L("iframe","HTMLIFrameElement").L("img","HTMLImageElement").L("input","HTMLInputElement").L("keygen","HTMLKeygenElement").L("label","HTMLLabelElement").L("legend","HTMLLegendElement").L("li","HTMLLIElement").L("link","HTMLLinkElement").L("map","HTMLMapElement").L("marquee","HTMLMarqueeElement").L("menu","HTMLMenuElement").L("menuitem","HTMLMenuItemElement").L("meta","HTMLMetaElement").L("meter","HTMLMeterElement").L("object",
  3936. "HTMLObjectElement").L("ol","HTMLOListElement").L("optgroup","HTMLOptGroupElement").L("option","HTMLOptionElement").L("output","HTMLOutputElement").L("p","HTMLParagraphElement").L("param","HTMLParamElement").L("pre","HTMLPreElement").L("progress","HTMLProgressElement").L("q","HTMLQuoteElement").L("script","HTMLScriptElement").L("select","HTMLSelectElement").L("shadow","HTMLShadowElement").L("source","HTMLSourceElement").L("span","HTMLSpanElement").L("style","HTMLStyleElement").L("table","HTMLTableElement").L("tbody",
  3937. "HTMLTableSectionElement").L("tfoot","HTMLTableSectionElement").L("template","HTMLTemplateElement").L("td","HTMLTableSectionElement").L("textarea","HTMLTextAreaElement").L("th","HTMLTableCellElement").L("thead","HTMLTableCellElement").L("time","HTMLTimeElement").L("title","HTMLTitleElement").L("tr","HTMLTableRowElement").L("track","HTMLTrackElement").L("ul","HTMLUListElement").L("video","HTMLVideoElement").Jb();d.K=ef();d.c=e?e.xb():1;d.A=f?f:(HU(),qZa);d.f=c;return d})),PJ));a.rb=J6(N6(O6(L6(P6(),
  3938. "chromePass"),u(function(b){Mjb();var c=new zjb;c.a=b;c.b=ff(lg(A(["cr"],B,y,1)));return c})),NJ));a.pa=J6(N6(O6(L6(Q6(),"dartSuperAccessorsPass"),u(function(b){var c=new Mkb;c.a=b;b=b.a;c.b=q(b.Za,(JU(),IU));F(xI(zI(b),IJ),"Dart super accessors pass requires ES5+ output");F(!b.za&&!b.Ha,"Dart super accessors pass is not compatible with property (dis)ambiguation yet");return c})),PJ));a.Zj=J6(N6(O6(M6(L6(P6(),"j2clConstantHoisterPass"),!0),u(function(b){var c=new aTb;c.a=b;return c})),PJ));a.Yj=J6(N6(O6(M6(L6(P6(),
  3939. "j2clClinitPass"),!0),u(function(b){var c=Asb(b,"j2clClinitPass"),d=new XSb;d.b=Uf();d.a=b;d.c=c;return d})),PJ));a.$j=J6(N6(O6(L6(P6(),"j2clES6Pass"),u(function(b){var c=new GTb;c.a=b;return c})),PJ));a.ke=J6(N6(O6(L6(P6(),"j2clPass"),u(function(b){var c=new uTb;c.a=b;c.b=s3(b);return c})),QJ));a.le=J6(N6(O6(L6(P6(),"j2clUtilGetDefineRewriterPass"),u(function(b){var c=new ITb;c.a=b;return c})),PJ));a.Wj=J6(N6(O6(L6(P6(),"j2clAssertRemovalPass"),u(function(b){var c=new oSb;c.a=b;return c})),PJ));
  3940. a.ak=J6(N6(O6(L6(P6(),"j2clSourceFileChecker"),u(function(b){var c=new nSb;c.a=b;return c})),QJ));a.Xj=J6(N6(O6(L6(P6(),"j2clChecksPass"),u(function(b){Hzb();var c=new PAb;c.a=b;return c})),QJ));a.mg=J6(N6(O6(L6(P6(),"checkConformance"),u(function(){Wl(a.a.ki);return new MOb})),QJ));a.Wh=J6(N6(O6(L6(P6(),"optimizeToEs6"),u(function(b){var c=new s5;c.a=b;return c})),$K(NJ,FK)));a.Ae=J6(N6(O6(L6(Q6(),"whitespaceWrapGoogModules"),u(function(b){var c=new Kxb;c.a=b;return c})),dL()));a.Da=J6(N6(O6(L6(P6(),
  3941. "rewriteCommonJsModules"),u(function(b){v3();var c=new Uob;c.a=b;return c})),PJ));a.Ha=J6(N6(O6(L6(P6(),"rewriteScriptsToEs6Modules"),u(function(b){var c=new I2;c.a=b;return c})),QJ));a.f=J6(N6(O6(L6(Q6(),"gatherModuleMetadata"),u(function(b){zZ(b);var c=a.a.u,d=a.a.c;o3();var e=new Nnb;e.f=bf();e.c=bf();e.b=b;e.u=c;e.v=d;return e})),QJ));a.o=J6(N6(O6(L6(Q6(),"createModuleMap"),u(function(b){var c=b.K;I5();var d=new ADb;d.c=b;d.u=c;v6();c=new x6;c.a=b;d.o=c;c=new GDb;c.a=b;d.g=c;d.f=new zDb;d.a=bf();
  3942. d.b=bf();return d})),cL()));a.Ci=J6(N6(O6(L6(P6(),"gatherGettersAndSetters"),u(function(b){var c=new c5a;c.a=b;return c})),QJ));a.F=J6(O6(N6(L6(P6(),"ADD_SYNTHETIC_SCRIPT"),cL()),u(function(b){return new BS(function(){F(!b.kb,"Already initialized synthetic input");var c=vMb(WLb.a);if(b.Za.X(c.gd()))throw pb("Conflicting synthetic id name").s;var d=CUa(c,!1);Mx(b.g,G(c.Pb(b)));var e=qp(y8(b),null);"$strong$"===e.eb()&&hM(e,d);iM(d,e);t8(b,d.gd(),d);b.kb=d;b.Tc.C(WLb.a,Ll());OT(b,c.Pb(b))})})));a.za=
  3943. J6(O6(N6(L6(P6(),"REMOVE_SYNTHETIC_SCRIPT"),cL()),u(function(b){return new BS(function(){TMb(b,!1)})})));a.Kh=J6(O6(N6(L6(P6(),"REMOVE_SYNTHETIC_SCRIPT"),cL()),u(function(b){return new BS(function(){TMb(b,!0)})})))}function pMb(){pMb=function(){};U("JSC_CANNOT_USE_PROTOTYPE_AND_VAR","Rename prototypes and inline variables cannot be used together.");zXb=QU("^[a-zA-Z0-9$_]+$");Ylb=U("JSC_GENERATE_EXPORTS_ERROR","Exports can only be generated if export symbol/property functions are set.")}
  3944. function M$(){}l(M$,n);g=M$.prototype;g.zl=function(){return this.dh(N$(this.b,(I(),gw)))};g.sk=function(){return this.dh(N$(this.b,(I(),xv)))};g.yg=function(a){var b=null;for(a=Zy(a).h();a.i();){var c=a.j().La(this);c&&(b=b?c.uc(b):c)}return b};g.Al=function(a){return a};g.qk=function(a){var b=a.b.La(this);return b&&a.b.I(b)?a:b};g.Ui=function(a){return this.md(a)};g.Ti=function(a){return this.md(a)};g.Ni=function(a){return this.rk(a)};g.rk=function(a){return a.b.La(this)};function O$(){}l(O$,M$);
  3945. g=O$.prototype;g.Oi=function(){return null};g.Mi=function(){return null};g.Ve=function(){return null};g.Pi=function(){return null};g.Qi=function(){return null};g.md=function(){return null};g.Ri=function(){return null};g.Si=function(){return null};g.Vi=function(){return null};function KXb(){}l(KXb,O$);KXb.prototype.dh=function(a){return a.bd()?N$(this.a,(I(),pv)):a};KXb.prototype.md=function(a){var b=N$(this.a,(I(),pv));return vy(b,a)?b:null};function P$(){}l(P$,M$);g=P$.prototype;g.dh=function(a){return a};
  3946. g.Oi=function(){return N$(this.a,(I(),iw))};g.Mi=function(){return N$(this.a,(I(),uv))};g.Ve=function(a){return a};g.Pi=function(){return N$(this.a,(I(),Ov))};g.Qi=function(){return N$(this.a,(I(),Pv))};g.md=function(a){return a};g.Ri=function(){return N$(this.a,(I(),$v))};g.Si=function(){return N$(this.a,(I(),cw))};g.Vi=function(){return N$(this.a,(I(),fw))};function LXb(){}l(LXb,P$);LXb.prototype.md=function(a){return vy(a,N$(this.c,(I(),pv)))?null:a};function MXb(){this.c=!1}l(MXb,M$);
  3947. function Q$(a,b){return q(b,a.f)==a.c}g=MXb.prototype;g.dh=function(a){if(this.c){var b=NXb(this.a,this.f);b&&(a=b)}return a};g.Oi=function(){return("object"===this.f||"function"===this.f)==this.c?N$(this.a,(I(),iw)):null};g.Mi=function(){return Q$(this,"boolean")?N$(this.a,(I(),uv)):null};g.Ve=function(a){return Q$(this,"function")?a:null};g.Pi=function(){return Q$(this,"object")?N$(this.a,(I(),Ov)):null};g.Qi=function(){return Q$(this,"number")?N$(this.a,(I(),Pv)):null};
  3948. g.md=function(a){if("function"===this.f){var b=N$(this.a,(I(),Av));return this.c?b.Gc(a):vy(a,b)?null:a}return Q$(this,"object")?a:null};g.Ri=function(){return Q$(this,"string")?N$(this.a,(I(),$v)):null};g.Si=function(){return Q$(this,"symbol")?N$(this.a,(I(),cw)):null};g.Vi=function(){return Q$(this,"undefined")?N$(this.a,(I(),fw)):null};function OXb(){}l(OXb,n);function BMb(a,b){var c=new KXb;c.a=a;c.b=a;a.g=c;c=new LXb;c.c=a;c.a=a;c.b=a;a.o=c;a.f=b;a.c=a;a.b=null}
  3949. function R$(a,b,c,d){return a.c.a(b,c,d)}function S$(a,b,c){switch(b.c.a){case 32:if(a=c.ob(b.l()))return(a=a.qa())||(a=b.f),a;break;case 26:var d=EC(b);if(null!=d)return c=c.ob(d),d=null,c&&(d=c.qa()),d||(d=b.f),d||(d=N$(a,(I(),ew))),d}return null}function PXb(a,b,c,d){switch(c.c.a){case 32:return b.Ig(c.l(),d);case 26:var e=EC(c);G(e);var f=(f=c.f)?f:N$(a,(I(),ew));return b.Hg(c,e,f,d,!1);case 36:return b;default:throw ua("Node cannot be refined. \n"+r(uD(c))).s;}}
  3950. function T$(a,b,c,d){if(!b)return d?(b=NXb(a,c))?b:N$(a,(I(),xv)):null;var e=new MXb;e.a=a;e.b=a;e.f=c;e.c=d;return b.La(e)}function N$(a,b){return qy(a.f,b)}function NXb(a,b){switch(b){case "number":return N$(a,(I(),Pv));case "boolean":return N$(a,(I(),uv));case "string":return N$(a,(I(),$v));case "symbol":return N$(a,(I(),cw));case "undefined":return N$(a,(I(),fw));case "object":return Yy(a.f,A([N$(a,(I(),Tv)),N$(a,Ov)],ly,ey,1));case "function":return N$(a,(I(),Av));default:return null}}
  3951. function U$(){}l(U$,O$);U$.prototype.dh=function(){return N$(this.a,(I(),iw))};U$.prototype.md=function(a){return a};U$.prototype.Ve=function(a){return a};function QXb(){}l(QXb,P$);QXb.prototype.md=function(){return null};QXb.prototype.Ve=function(){return null};function RXb(){this.b=!1}l(RXb,n);function DMb(){}l(DMb,OXb);
  3952. function EMb(a,b){BMb(a,b);SXb(a);a.A=Gj().L("isDef",gj(function(c){return c.b?c.a?c.a.cg():null:c.a?N$(a,(I(),fw)).Gc(c.a):null})).L("isNull",gj(function(c){return c.b?c.a?N$(a,(I(),Ov)).Gc(c.a):null:c.a?c.a.cl():null})).L("isDefAndNotNull",gj(function(c){return c.b?c.a?c.a.Ia():null:c.a?N$(a,(I(),mw)).Gc(c.a):null})).L("isString",gj(function(c){return T$(a,c.a,"string",c.b)})).L("isBoolean",gj(function(c){return T$(a,c.a,"boolean",c.b)})).L("isNumber",gj(function(c){return T$(a,c.a,"number",c.b)})).L("isFunction",
  3953. gj(function(c){return T$(a,c.a,"function",c.b)})).L("isArray",gj(function(c){return c.a?c.a.La(c.b?a.g:a.o):c.b?N$(a,(I(),pv)):null})).L("isObject",gj(function(c){return c.a?c.a.La(c.b?a.v:a.u):c.b?N$(a,(I(),Tv)):null})).Jb()}DMb.prototype.a=function(a,b,c){if(eH(a)&&kG(a)){var d=a.a,e=O(a);if(N(d)&&DC(e)){var f=S$(this,e,b),h=d.a;d=O(d);if(L(h)&&"goog"===h.l()&&Dw(d)&&(h=this.A.get(d.l())))return a=c.f(),c=new RXb,c.a=f,c.b=a,(f=h.f(c))?PXb(this,b,e,f):b}}return this.b?this.b.a(a,b,c):b};
  3954. function SXb(a){var b=new U$;b.a=a;b.b=a;a.v=b;b=new QXb;b.a=a;b.b=a;a.u=b}function TXb(){}l(TXb,n);function UXb(a,b){var c=new TXb;c.a=a;c.b=b;return c}g=TXb.prototype;g.sn=function(){throw wb().s;};g.Ig=function(a,b){this.b.add(a);return VXb(this,this.a.Ig(a,b))};g.Hg=function(a,b,c,d,e){this.b.add(b);return VXb(this,this.a.Hg(a,b,c,d,e))};function VXb(a,b){return q(b,a.a)?a:UXb(b,a.b)}g.Qd=function(){return this.a.Qd()};g.ka=function(){return this.a.ka()};g.Ge=function(){throw wb().s;};g.ob=function(a){return this.a.ob(a)};
  3955. g.Mb=function(a){return this.a.Mb(a)};g.Xc=function(){return this.a.Xc()};g.Ac=function(a){return Rz(this,a)};g.$d=function(a){return by(this,a)};g.Fh=!0;function V$(){}l(V$,P$);V$.prototype.md=function(a){if(this.c.aa())return a;var b=this.c.ha();return wA(b)?vy(a,Tz(b))?null:a:null};V$.prototype.yg=function(a){if(this.c.aa())return a;var b=this.c.ha();return wA(b)?Wsa(a,Tz(b)):null};V$.prototype.Ve=function(a){return this.md(a)};function WXb(){}l(WXb,O$);g=WXb.prototype;
  3956. g.dh=function(a){return XXb(this,a)};g.sk=function(){var a=Fy(this.a);return a&&wA(a)?Tz(a):N$(this.c,(I(),ew))};g.md=function(a){return XXb(this,a)};g.yg=function(a){return XXb(this,a)};g.Ve=function(a){return this.md(a)};function XXb(a,b){if(a.a.aa())return b;a=a.a.ha();return wA(a)?b.Gc(Tz(a)):null}function AMb(){}var YXb,ZXb,$Xb,aYb;l(AMb,OXb);
  3957. AMb.prototype.a=function(a,b,c){var d,e=a.c;switch(e.a){case 4:case 5:case 39:case 40:case 72:if(q(e,(H(),xt))){var f=a.m().a;var h=a.a}else f=a.a,h=O(a);var k=d=null;cI(f)&&Dw(h)?(d=f,k=h):cI(h)&&Dw(f)&&(d=h,k=f);if(d&&k&&(f=d.a,h=S$(this,f,b)))return a=q(e,(H(),js))||q(e,(H(),Hs))||q(e,(H(),xt)),c.f()||(a=!a),c=k.l(),W$(this,b,f,h,T$(this,h,c,a))}switch(e.a){case 65:return c.f()?bYb(this,a.a,O(a),b,(bv(),Zu)):cYb(this,a.a,O(a),b,(bv(),Zu));case 64:return c.f()?cYb(this,a.a,O(a),b,(bv(),$u)):bYb(this,
  3958. a.a,O(a),b,(bv(),$u));case 4:return c.f()?X$(this,a,b,YXb):X$(this,a,b,ZXb);case 5:return c.f()?X$(this,a,b,ZXb):X$(this,a,b,YXb);case 39:return c.f()?X$(this,a,b,$Xb):X$(this,a,b,aYb);case 40:return c.f()?X$(this,a,b,aYb):X$(this,a,b,$Xb);case 32:case 26:if(k=S$(this,a,b))c=k.ph(c),b=W$(this,b,a,k,c);return b;case 50:return R$(this,a.a,R$(this,R(a),b,c),c);case 19:return R$(this,a.a,b,c.g());case 7:case 6:case 9:case 8:if(c.f())return X$(this,a,b,this.u);break;case 44:k=a.a;e=O(a);if(a=S$(this,k,
  3959. b))f=e.f,e=Lz(this.f,(I(),ew)),f&&iy(f)&&(e=f.ha()),c.f()?(c=new WXb,c.c=this,c.b=this,c.a=e):(c=new V$,c.a=this,c.b=this,c.c=e),b=W$(this,b,k,a,a.La(c));return b;case 43:if(c.f()&&Dw(a.a))return c=O(a),a=a.a.l(),e=(e=c.f)?e.Ia():null,k=!1,(e=Uy(e))&&(k=ty(e,a)),k||(k=EC(c),null!=k&&(a=r(k)+"."+r(a),b.ob(a)||(k=qy(this.f,(I(),ew)),b=b.Hg(c,a,k,k,!1)))),b;break;case 72:return k=a.m().a,a=a.a,c.f()?dYb(this,k,a,b,$Xb):dYb(this,k,a,b,aYb);case 28:if(k=a.a,"Array.isArray"===EC(k)&&k.b)return a=k.b,(k=
  3960. S$(this,a,b))?W$(this,b,a,k,k.La(c.f()?this.g:this.o)):b}return this.b?this.b.a(a,b,c):b};function X$(a,b,c,d){return dYb(a,b.a,O(b),c,d)}function dYb(a,b,c,d,e){var f=S$(a,b,d);if(f)var h=!0;else h=!1,f=b.f;var k=S$(a,c,d);if(k)var m=!0;else m=!1,k=c.f;(e=e.f(cz(f,k)))?(h=h?e.a:null,m=m?e.b:null,f=!!h&&!my(h,f),k=!!m&&!my(m,k),f||k?(f&&(d=PXb(a,d,b,h)),k&&(d=PXb(a,d,c,m)),a=d):a=d):a=d;return a}
  3961. function bYb(a,b,c,d,e){var f=S$(a,b,d);if(f)var h=!0;else h=!1,f=b.f,d=R$(a,b,d,e);var k=f?f.ph(e):null;if(!k)return R$(a,c,d,e);d=W$(a,d,b,f,h?k:null);(b=S$(a,c,d))?f=!0:(f=!1,b=c.f,d=R$(a,c,d,e));return e.f()?(e=b?b.ph(e):null,W$(a,d,c,b,f?e:null)):d}
  3962. function cYb(a,b,c,d,e){var f=ef();d=UXb(d,f);var h=R$(a,b,d,e.g());h=1==f.w()?h.ob(f.h().j()):null;if(!h)return eYb(d);f.ia();b=UXb(R$(a,b,d,e),f);b=R$(a,c,b,e.g());a=1==f.w()?b.ob(f.h().j()):null;if(!a||!li(h.va(),a.va()))return eYb(d);a=h.qa().uc(a.qa());return eYb(d).Ig(h.va(),a)}function W$(a,b,c,d,e){return e&&!my(e,d)?PXb(a,b,c,e):b}function eYb(a){for(;a instanceof TXb;)a=a.a;return a}function CMb(a){a.u=gj(function(b){return cz(b.a?b.a.cg():null,b.b?b.b.cg():null)})}
  3963. function zMb(){zMb=function(){};YXb=gj(function(a){return a.a&&a.b?a.a.Hk(a.b):null});ZXb=gj(function(a){return a.a&&a.b?a.a.Ik(a.b):null});$Xb=gj(function(a){a.a&&a.b?(a=a.a.Gc(a.b),a=cz(a,a)):a=null;return a});aYb=gj(function(a){return a.a&&a.b?a.a.Jk(a.b):null})}function fYb(){MU.call(this)}l(fYb,ILb);fYb.prototype.v=function(a,b){gYb(bDa(b,a,this.o))};fYb.prototype.u=function(){0<this.jf()+this.kf()&&gYb(this.jf()+" error(s), "+this.kf()+" warning(s)")};var hYb;
  3964. function iYb(){iYb=function(){};hYb=nU(A([U("JSC_CANNOT_CONVERT","")],zJ,CJ,1))}function gYb(a){"undefined"!==typeof console&&"undefined"!==typeof console.log&&console.log(a)}
  3965. function jYb(a,b,c){iYb();var d=(new Date).getTime(),e=ZZa(),f=(TJ(),VAa);E(!q(f,YAa));e.a=q(f,XAa)?ZAa:f;e.Am=pj(G(!0));switch(c){case "es_next":c=(uI(),PJ);break;case "es_2019":c=(uI(),GBa);break;case "es9":c=(uI(),UK);break;case "es8":c=(uI(),TK);break;case "es7":c=(uI(),FBa);break;case "es6":c=(uI(),SK);break;case "es5":c=(uI(),IJ);break;default:c=(uI(),yI)}c=WK(c,(KI(),sK),A([],UJ,NK,1));e.pg=pj(G(c));e.ti=pj(G(!1));e.F=!0;c=ZL("externs.js","var window;");f=ZL(b,a);e.qg=!0;e.Kh=!0;a=(yJ(),vJ);
  3966. sU(e.f,BU(hYb,a));a=(SL(),VCa);e.Xj=a;cNb();a=new dNb;a.kg=e;a.ie=bf();a.c=(cJ(),Oza);WMb(a);a.Oa.add(a.vg);a.tg=null;a.Re=bf();var h=new fYb;xZa(h,dm());h.o=(GU(),kZa).f(null,!1);XLb(a,h);h=Ml(c);c=Ml(f);E(!a.g);try{for(var k=JDa("$strong$"),m=c.h();m.i();){var p=m.j();hM(k,FUa(p))}var t=Kd();t.add(k);a:{YLb(a,e);t.D()?X(a,UL(QLb,A([],B,y,1))):t.G(0).b.D()&&1<t.w()&&X(a,UL(RLb,A([t.G(0).eb()],B,y,1)));for(var v=Kd(h.w()),C=h.h();C.i();){var J=C.j();v.add(GUa(J))}a.rb=v;try{G_a();var K=new y_a;k=
  3967. t;lf();E(!k.D());m=k;p=!1;for(var Ca=m.h();Ca.i();){var Wa=Ca.j();if("$weak$"===Wa.eb()){p=!0;var Ma=ff(m);Ma.sa(Wa);F(LDa(Wa).Db(Ma),"A weak module already exists but it does not depend on every other module.");F(LDa(Wa).w()==Ma.w(),"The weak module cannot have extra dependencies.");break}}if(p){for(var Vb=w(),sc=w(),gc=m.h();gc.i();)for(var tc=gc.j(),Qb="$weak$"===tc.eb(),Wb=tc.b.h();Wb.i();){var Rd=Wb.j();Qb&&!Rd.Cb().lf()?sc.add(Rd.Cb().ub()):!Qb&&Rd.Cb().lf()&&Vb.add(r(Rd.Cb().ub())+" (in module "+
  3968. r(tc.eb())+")")}if(!sc.D()||!Vb.D()){var Ne=ue("A weak module exists but some sources are misplaced.");sc.D()||x(x(Ne,"\nFound these strong sources in the weak module:\n "),tk(qk("\n "),sc));Vb.D()||x(x(Ne,"\nFound these weak sources in other modules:\n "),tk(qk("\n "),Vb));throw pb(Ne.toString()).s;}}else{for(var Jc=JDa("$weak$"),kd=m.h();kd.i();){var Cc=kd.j();Ca=Jc;Wa=Cc;G(Wa);Ji(!q(Wa,Ca),"Cannot add dependency on self",Ca);Ca.c.add(Wa)}m=Jd(m);m.add(Jc)}k=m;K.a=za([k.w()],gM,MDa,gM.a);for(Jc=
  3969. 0;Jc<K.a.length;++Jc){var pc=k.G(Jc);Ji(-1==pc.a,"Module index already set: %s",pc);kd=pc;Cc=Jc;Gi(0<=Cc,"Invalid module index: %s",Cc);kd.a=Cc;K.a[Jc]=pc}var Db=w();for(pc=0;pc<K.a.length;++pc){var Rb=K.a[pc];Ji(-1==Rb.f,"Module depth already set: %s",Rb);Jc=0;for(var Uc=Wl(Rb.c).h();Uc.i();){var ad=Uc.j(),rf=ad.f;if(0>rf){var uc=CN("Modules not in dependency order: %s preceded %s",[Rb.eb(),ad.eb()]),Nc=new x_a,Xb=Nc,Nb=Rb,ic=ad;sa(Xb,uc);Xb.u=Nb;Xb.f=ic;Nc.a(Error(Nc));throw Nc.s;}Jc=Math.max(Jc,
  3970. rf+1)}kd=Rb;Cc=Jc;Gi(0<=Cc,"invalid depth: %s",Cc);kd.f=Cc;Jc==Db.w()&&Db.add(w());Db.G(Jc).add(Rb)}K.c=Db;var Vc=za([K.a.length],jn,uia,jn.a);for(uc=0;uc<K.a.length;++uc){var sd=K.a[uc],Ye=kn(uc+1);Vc[uc]=Ye;rn(Ye,uc);for(var Hf=Wl(sd.c).h();Hf.i();){var Ie=Hf.j();qn(Ye,Vc[Ie.a])}}K.b=Vc;var Be=za([K.a.length],Zc,$c,0);for(uc=0;uc<K.a.length;++uc){var fe=K.b[uc];for(Nc=uc;0<=Nc;Nc=via(fe,Nc-1))Be[Nc]+=1}K.f=Be;E_a(C_a(K),iV(K));a.b=K}catch(mf){mf=va(mf);if(mf instanceof x_a){Xb=mf;X(a,UL(PLb,A([Xb.u.eb(),
  3971. Xb.f.eb()],B,y,1)));break a}throw mf.s;}$Lb(a,y8(a));K=0;Xb=a.b.a;for(uc=0;uc<Xb.length;uc++)K+=Xb[uc].b.w();Nb=new vl;Nb.a=cf();a.Tc=Nb;a.Lb.Ud(a.a.zm);if(null!=a.a.Yh&&(a.ta=a.a.Nn.f(),a.ta.b=a.a.On,a.a.Lh&&(a.ta.f=a,a.a.pe)))for(ic=a.Lb.values().h();ic.i();){var mh=ic.j();lUa(a,mh)}aMb(a);a.g=Kw(A([],lx,eI,1));a.o=Kw(A([],lx,eI,1));a.jd=Kw(A([a.o,a.g],lx,eI,1))}rMb(a,c);e.bk&&rga(iV(a.b).h());yZ(a)||lMb(a);yZ(a)||(e.Oa?gMb(a):(bMb(a),yZ(a)||eMb(a)),fMb(a))}finally{e=v8(a,"generateReport"),a.U.ml(),
  3972. w8(a,e,"generateReport")}e=ef();if(a.g)for(Xb=BA(a.g).h();Xb.i();)Nb=Xb.j(),tF(Nb,(kx(),YE))&&e.add(RMb(a,WA(Nb)));e=a.U?a.U.km():Ll();a.U?a.U.lm():Ll();e.D();e=sMb(a);a=(new Date).getTime();gYb("Transpiled "+r(b)+" in "+(a-d)/1E3+" seconds");return e}var Y$=["$gwtExport","$jscomp","transpile"],Z$=ha;Y$[0]in Z$||"undefined"==typeof Z$.execScript||Z$.execScript("var "+Y$[0]);
  3973. for(var $$;Y$.length&&($$=Y$.shift());)Y$.length||void 0===jYb?Z$[$$]&&Z$[$$]!==Object.prototype[$$]?Z$=Z$[$$]:Z$=Z$[$$]={}:Z$[$$]=jYb;
  3974. })();