1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006 |
- var COMPILED = false;
- var goog = goog || {};
- goog.global = this;
- goog.global.CLOSURE_UNCOMPILED_DEFINES;
- goog.global.CLOSURE_DEFINES;
- goog.isDef = function(val) {
-
-
- return val !== void 0;
- };
- goog.isString = function(val) {
- return typeof val == 'string';
- };
- goog.isBoolean = function(val) {
- return typeof val == 'boolean';
- };
- goog.isNumber = function(val) {
- return typeof val == 'number';
- };
- goog.exportPath_ = function(name, opt_object, opt_objectToExportTo) {
- var parts = name.split('.');
- var cur = opt_objectToExportTo || goog.global;
-
-
-
- if (!(parts[0] in cur) && typeof cur.execScript != 'undefined') {
- cur.execScript('var ' + parts[0]);
- }
- for (var part; parts.length && (part = parts.shift());) {
- if (!parts.length && goog.isDef(opt_object)) {
-
- cur[part] = opt_object;
- } else if (cur[part] && cur[part] !== Object.prototype[part]) {
- cur = cur[part];
- } else {
- cur = cur[part] = {};
- }
- }
- };
- goog.define = function(name, defaultValue) {
- var value = defaultValue;
- if (!COMPILED) {
- var uncompiledDefines = goog.global.CLOSURE_UNCOMPILED_DEFINES;
- var defines = goog.global.CLOSURE_DEFINES;
- if (uncompiledDefines &&
-
- (uncompiledDefines).nodeType === undefined &&
- Object.prototype.hasOwnProperty.call(uncompiledDefines, name)) {
- value = uncompiledDefines[name];
- } else if (
- defines &&
-
- (defines).nodeType === undefined &&
- Object.prototype.hasOwnProperty.call(defines, name)) {
- value = defines[name];
- }
- }
- goog.exportPath_(name, value);
- };
- goog.define('goog.DEBUG', true);
- goog.define('goog.LOCALE', 'en');
- goog.define('goog.TRUSTED_SITE', true);
- goog.define('goog.STRICT_MODE_COMPATIBLE', false);
- goog.define('goog.DISALLOW_TEST_ONLY_CODE', COMPILED && !goog.DEBUG);
- goog.define('goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING', false);
- goog.provide = function(name) {
- if (goog.isInModuleLoader_()) {
- throw new Error('goog.provide cannot be used within a module.');
- }
- if (!COMPILED) {
-
-
- if (goog.isProvided_(name)) {
- throw new Error('Namespace "' + name + '" already declared.');
- }
- }
- goog.constructNamespace_(name);
- };
- goog.constructNamespace_ = function(name, opt_obj) {
- if (!COMPILED) {
- delete goog.implicitNamespaces_[name];
- var namespace = name;
- while ((namespace = namespace.substring(0, namespace.lastIndexOf('.')))) {
- if (goog.getObjectByName(namespace)) {
- break;
- }
- goog.implicitNamespaces_[namespace] = true;
- }
- }
- goog.exportPath_(name, opt_obj);
- };
- goog.getScriptNonce = function(opt_window) {
- if (opt_window && opt_window != goog.global) {
- return goog.getScriptNonce_(opt_window.document);
- }
- if (goog.cspNonce_ === null) {
- goog.cspNonce_ = goog.getScriptNonce_(goog.global.document);
- }
- return goog.cspNonce_;
- };
- goog.NONCE_PATTERN_ = /^[\w+/_-]+[=]{0,2}$/;
- goog.cspNonce_ = null;
- goog.getScriptNonce_ = function(doc) {
- var script = doc.querySelector && doc.querySelector('script[nonce]');
- if (script) {
-
-
-
-
- var nonce = script['nonce'] || script.getAttribute('nonce');
- if (nonce && goog.NONCE_PATTERN_.test(nonce)) {
- return nonce;
- }
- }
- return '';
- };
- goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
- goog.module = function(name) {
- if (!goog.isString(name) || !name ||
- name.search(goog.VALID_MODULE_RE_) == -1) {
- throw new Error('Invalid module identifier');
- }
- if (!goog.isInGoogModuleLoader_()) {
- throw new Error(
- 'Module ' + name + ' has been loaded incorrectly. Note, ' +
- 'modules cannot be loaded as normal scripts. They require some kind of ' +
- 'pre-processing step. You\'re likely trying to load a module via a ' +
- 'script tag or as a part of a concatenated bundle without rewriting the ' +
- 'module. For more info see: ' +
- 'https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.');
- }
- if (goog.moduleLoaderState_.moduleName) {
- throw new Error('goog.module may only be called once per module.');
- }
-
- goog.moduleLoaderState_.moduleName = name;
- if (!COMPILED) {
-
-
- if (goog.isProvided_(name)) {
- throw new Error('Namespace "' + name + '" already declared.');
- }
- delete goog.implicitNamespaces_[name];
- }
- };
- goog.module.get = function(name) {
- return goog.module.getInternal_(name);
- };
- goog.module.getInternal_ = function(name) {
- if (!COMPILED) {
- if (name in goog.loadedModules_) {
- return goog.loadedModules_[name].exports;
- } else if (!goog.implicitNamespaces_[name]) {
- var ns = goog.getObjectByName(name);
- return ns != null ? ns : null;
- }
- }
- return null;
- };
- goog.ModuleType = {
- ES6: 'es6',
- GOOG: 'goog'
- };
- goog.moduleLoaderState_ = null;
- goog.isInModuleLoader_ = function() {
- return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_();
- };
- goog.isInGoogModuleLoader_ = function() {
- return !!goog.moduleLoaderState_ &&
- goog.moduleLoaderState_.type == goog.ModuleType.GOOG;
- };
- goog.isInEs6ModuleLoader_ = function() {
- var inLoader = !!goog.moduleLoaderState_ &&
- goog.moduleLoaderState_.type == goog.ModuleType.ES6;
- if (inLoader) {
- return true;
- }
- var jscomp = goog.global['$jscomp'];
- if (jscomp) {
-
-
-
-
-
- if (typeof jscomp.getCurrentModulePath != 'function') {
- return false;
- }
-
- return !!jscomp.getCurrentModulePath();
- }
- return false;
- };
- goog.module.declareLegacyNamespace = function() {
- if (!COMPILED && !goog.isInGoogModuleLoader_()) {
- throw new Error(
- 'goog.module.declareLegacyNamespace must be called from ' +
- 'within a goog.module');
- }
- if (!COMPILED && !goog.moduleLoaderState_.moduleName) {
- throw new Error(
- 'goog.module must be called prior to ' +
- 'goog.module.declareLegacyNamespace.');
- }
- goog.moduleLoaderState_.declareLegacyNamespace = true;
- };
- goog.declareModuleId = function(namespace) {
- if (!COMPILED) {
- if (!goog.isInEs6ModuleLoader_()) {
- throw new Error(
- 'goog.declareModuleId may only be called from ' +
- 'within an ES6 module');
- }
- if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName) {
- throw new Error(
- 'goog.declareModuleId may only be called once per module.');
- }
- if (namespace in goog.loadedModules_) {
- throw new Error(
- 'Module with namespace "' + namespace + '" already exists.');
- }
- }
- if (goog.moduleLoaderState_) {
-
- goog.moduleLoaderState_.moduleName = namespace;
- } else {
-
- var jscomp = goog.global['$jscomp'];
- if (!jscomp || typeof jscomp.getCurrentModulePath != 'function') {
- throw new Error(
- 'Module with namespace "' + namespace +
- '" has been loaded incorrectly.');
- }
- var exports = jscomp.require(jscomp.getCurrentModulePath());
- goog.loadedModules_[namespace] = {
- exports: exports,
- type: goog.ModuleType.ES6,
- moduleId: namespace
- };
- }
- };
- goog.module.declareNamespace = goog.declareModuleId;
- goog.setTestOnly = function(opt_message) {
- if (goog.DISALLOW_TEST_ONLY_CODE) {
- opt_message = opt_message || '';
- throw new Error(
- 'Importing test-only code into non-debug environment' +
- (opt_message ? ': ' + opt_message : '.'));
- }
- };
- goog.forwardDeclare = function(name) {};
- goog.forwardDeclare('Document');
- goog.forwardDeclare('HTMLScriptElement');
- goog.forwardDeclare('XMLHttpRequest');
- if (!COMPILED) {
-
- goog.isProvided_ = function(name) {
- return (name in goog.loadedModules_) ||
- (!goog.implicitNamespaces_[name] &&
- goog.isDefAndNotNull(goog.getObjectByName(name)));
- };
-
- goog.implicitNamespaces_ = {'goog.module': true};
-
-
-
-
- }
- goog.getObjectByName = function(name, opt_obj) {
- var parts = name.split('.');
- var cur = opt_obj || goog.global;
- for (var i = 0; i < parts.length; i++) {
- cur = cur[parts[i]];
- if (!goog.isDefAndNotNull(cur)) {
- return null;
- }
- }
- return cur;
- };
- goog.globalize = function(obj, opt_global) {
- var global = opt_global || goog.global;
- for (var x in obj) {
- global[x] = obj[x];
- }
- };
- goog.addDependency = function(relPath, provides, requires, opt_loadFlags) {
- if (!COMPILED && goog.DEPENDENCIES_ENABLED) {
- goog.debugLoader_.addDependency(relPath, provides, requires, opt_loadFlags);
- }
- };
- goog.define('goog.ENABLE_DEBUG_LOADER', true);
- goog.logToConsole_ = function(msg) {
- if (goog.global.console) {
- goog.global.console['error'](msg);
- }
- };
- goog.require = function(namespace) {
- if (!COMPILED) {
-
- if (goog.ENABLE_DEBUG_LOADER) {
- goog.debugLoader_.requested(namespace);
- }
-
- if (goog.isProvided_(namespace)) {
- if (goog.isInModuleLoader_()) {
- return goog.module.getInternal_(namespace);
- }
- } else if (goog.ENABLE_DEBUG_LOADER) {
- var moduleLoaderState = goog.moduleLoaderState_;
- goog.moduleLoaderState_ = null;
- try {
- goog.debugLoader_.load_(namespace);
- } finally {
- goog.moduleLoaderState_ = moduleLoaderState;
- }
- }
- return null;
- }
- };
- goog.requireType = function(namespace) {
-
-
-
- return {};
- };
- goog.basePath = '';
- goog.global.CLOSURE_BASE_PATH;
- goog.global.CLOSURE_NO_DEPS;
- goog.global.CLOSURE_IMPORT_SCRIPT;
- goog.nullFunction = function() {};
- goog.abstractMethod = function() {
- throw new Error('unimplemented abstract method');
- };
- goog.addSingletonGetter = function(ctor) {
-
-
-
-
-
- ctor.instance_ = undefined;
- ctor.getInstance = function() {
- if (ctor.instance_) {
- return ctor.instance_;
- }
- if (goog.DEBUG) {
-
- goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor;
- }
-
- return (ctor.instance_) = new ctor;
- };
- };
- goog.instantiatedSingletons_ = [];
- goog.define('goog.LOAD_MODULE_USING_EVAL', true);
- goog.define('goog.SEAL_MODULE_EXPORTS', goog.DEBUG);
- goog.loadedModules_ = {};
- goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER;
- goog.define('goog.TRANSPILE', 'detect');
- goog.define('goog.TRANSPILE_TO_LANGUAGE', '');
- goog.define('goog.TRANSPILER', 'transpile.js');
- goog.hasBadLetScoping = null;
- goog.useSafari10Workaround = function() {
- if (goog.hasBadLetScoping == null) {
- var hasBadLetScoping;
- try {
- hasBadLetScoping = !eval(
- '"use strict";' +
- 'let x = 1; function f() { return typeof x; };' +
- 'f() == "number";');
- } catch (e) {
-
- hasBadLetScoping = false;
- }
- goog.hasBadLetScoping = hasBadLetScoping;
- }
- return goog.hasBadLetScoping;
- };
- goog.workaroundSafari10EvalBug = function(moduleDef) {
- return '(function(){' + moduleDef +
- '\n' +
- ';' +
- '})();\n';
- };
- goog.loadModule = function(moduleDef) {
-
-
-
-
-
- var previousState = goog.moduleLoaderState_;
- try {
- goog.moduleLoaderState_ = {
- moduleName: '',
- declareLegacyNamespace: false,
- type: goog.ModuleType.GOOG
- };
- var exports;
- if (goog.isFunction(moduleDef)) {
- exports = moduleDef.call(undefined, {});
- } else if (goog.isString(moduleDef)) {
- if (goog.useSafari10Workaround()) {
- moduleDef = goog.workaroundSafari10EvalBug(moduleDef);
- }
- exports = goog.loadModuleFromSource_.call(undefined, moduleDef);
- } else {
- throw new Error('Invalid module definition');
- }
- var moduleName = goog.moduleLoaderState_.moduleName;
- if (goog.isString(moduleName) && moduleName) {
-
-
- if (goog.moduleLoaderState_.declareLegacyNamespace) {
- goog.constructNamespace_(moduleName, exports);
- } else if (
- goog.SEAL_MODULE_EXPORTS && Object.seal &&
- typeof exports == 'object' && exports != null) {
- Object.seal(exports);
- }
- var data = {
- exports: exports,
- type: goog.ModuleType.GOOG,
- moduleId: goog.moduleLoaderState_.moduleName
- };
- goog.loadedModules_[moduleName] = data;
- } else {
- throw new Error('Invalid module name \"' + moduleName + '\"');
- }
- } finally {
- goog.moduleLoaderState_ = previousState;
- }
- };
- goog.loadModuleFromSource_ = (function() {
-
-
- 'use strict';
- var exports = {};
- eval(arguments[0]);
- return exports;
- });
- goog.normalizePath_ = function(path) {
- var components = 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('/');
- };
- goog.global.CLOSURE_LOAD_FILE_SYNC;
- goog.loadFileSync_ = function(src) {
- if (goog.global.CLOSURE_LOAD_FILE_SYNC) {
- return goog.global.CLOSURE_LOAD_FILE_SYNC(src);
- } else {
- try {
-
- var xhr = new goog.global['XMLHttpRequest']();
- xhr.open('get', src, false);
- xhr.send();
-
-
-
-
- return xhr.status == 0 || xhr.status == 200 ? xhr.responseText : null;
- } catch (err) {
-
- return null;
- }
- }
- };
- goog.transpile_ = function(code, path, target) {
- var jscomp = goog.global['$jscomp'];
- if (!jscomp) {
- goog.global['$jscomp'] = jscomp = {};
- }
- var transpile = jscomp.transpile;
- if (!transpile) {
- var transpilerPath = goog.basePath + goog.TRANSPILER;
- var transpilerCode = goog.loadFileSync_(transpilerPath);
- if (transpilerCode) {
-
-
-
-
- (function() {
- eval(transpilerCode + '\n//# sourceURL=' + transpilerPath);
- }).call(goog.global);
-
-
-
- if (goog.global['$gwtExport'] && goog.global['$gwtExport']['$jscomp'] &&
- !goog.global['$gwtExport']['$jscomp']['transpile']) {
- throw new Error(
- 'The transpiler did not properly export the "transpile" ' +
- 'method. $gwtExport: ' + JSON.stringify(goog.global['$gwtExport']));
- }
-
-
-
- goog.global['$jscomp'].transpile =
- goog.global['$gwtExport']['$jscomp']['transpile'];
- jscomp = goog.global['$jscomp'];
- transpile = jscomp.transpile;
- }
- }
- if (!transpile) {
-
-
- var suffix = ' requires transpilation but no transpiler was found.';
- transpile = jscomp.transpile = function(code, path) {
-
-
-
-
- goog.logToConsole_(path + suffix);
- return code;
- };
- }
-
- return transpile(code, path, target);
- };
- goog.typeOf = function(value) {
- var s = typeof value;
- if (s == 'object') {
- if (value) {
-
-
-
-
-
- if (value instanceof Array) {
- return 'array';
- } else if (value instanceof Object) {
- return s;
- }
-
-
-
- var className = Object.prototype.toString.call(
- (value));
-
-
-
- if (className == '[object Window]') {
- return 'object';
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if ((className == '[object Array]' ||
-
-
-
- typeof value.length == 'number' &&
- typeof value.splice != 'undefined' &&
- typeof value.propertyIsEnumerable != 'undefined' &&
- !value.propertyIsEnumerable('splice')
- )) {
- return 'array';
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
- if ((className == '[object Function]' ||
- typeof value.call != 'undefined' &&
- typeof value.propertyIsEnumerable != 'undefined' &&
- !value.propertyIsEnumerable('call'))) {
- return 'function';
- }
- } else {
- return 'null';
- }
- } else if (s == 'function' && typeof value.call == 'undefined') {
-
-
-
-
- return 'object';
- }
- return s;
- };
- goog.isNull = function(val) {
- return val === null;
- };
- goog.isDefAndNotNull = function(val) {
-
- return val != null;
- };
- goog.isArray = function(val) {
- return goog.typeOf(val) == 'array';
- };
- goog.isArrayLike = function(val) {
- var type = goog.typeOf(val);
-
- return type == 'array' || type == 'object' && typeof val.length == 'number';
- };
- goog.isDateLike = function(val) {
- return goog.isObject(val) && typeof val.getFullYear == 'function';
- };
- goog.isFunction = function(val) {
- return goog.typeOf(val) == 'function';
- };
- goog.isObject = function(val) {
- var type = typeof val;
- return type == 'object' && val != null || type == 'function';
-
-
- };
- goog.getUid = function(obj) {
-
-
-
-
- return obj[goog.UID_PROPERTY_] ||
- (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_);
- };
- goog.hasUid = function(obj) {
- return !!obj[goog.UID_PROPERTY_];
- };
- goog.removeUid = function(obj) {
-
-
-
- if (obj !== null && 'removeAttribute' in obj) {
- obj.removeAttribute(goog.UID_PROPERTY_);
- }
- try {
- delete obj[goog.UID_PROPERTY_];
- } catch (ex) {
- }
- };
- goog.UID_PROPERTY_ = 'closure_uid_' + ((Math.random() * 1e9) >>> 0);
- goog.uidCounter_ = 0;
- goog.getHashCode = goog.getUid;
- goog.removeHashCode = goog.removeUid;
- goog.cloneObject = function(obj) {
- var type = goog.typeOf(obj);
- if (type == 'object' || type == 'array') {
- if (typeof obj.clone === 'function') {
- return obj.clone();
- }
- var clone = type == 'array' ? [] : {};
- for (var key in obj) {
- clone[key] = goog.cloneObject(obj[key]);
- }
- return clone;
- }
- return obj;
- };
- goog.bindNative_ = function(fn, selfObj, var_args) {
- return (fn.call.apply(fn.bind, arguments));
- };
- goog.bindJs_ = function(fn, selfObj, var_args) {
- if (!fn) {
- throw new Error();
- }
- if (arguments.length > 2) {
- var boundArgs = Array.prototype.slice.call(arguments, 2);
- return function() {
-
- var newArgs = Array.prototype.slice.call(arguments);
- Array.prototype.unshift.apply(newArgs, boundArgs);
- return fn.apply(selfObj, newArgs);
- };
- } else {
- return function() {
- return fn.apply(selfObj, arguments);
- };
- }
- };
- goog.bind = function(fn, selfObj, var_args) {
-
- if (Function.prototype.bind &&
-
-
-
-
-
-
- Function.prototype.bind.toString().indexOf('native code') != -1) {
- goog.bind = goog.bindNative_;
- } else {
- goog.bind = goog.bindJs_;
- }
- return goog.bind.apply(null, arguments);
- };
- goog.partial = function(fn, var_args) {
- var args = Array.prototype.slice.call(arguments, 1);
- return function() {
-
-
- var newArgs = args.slice();
- newArgs.push.apply(newArgs, arguments);
- return fn.apply( (this), newArgs);
- };
- };
- goog.mixin = function(target, source) {
- for (var x in source) {
- target[x] = source[x];
- }
-
-
-
-
-
- };
- goog.now = (goog.TRUSTED_SITE && Date.now) || (function() {
-
-
-
- return +new Date();
- });
- goog.globalEval = function(script) {
- if (goog.global.execScript) {
- goog.global.execScript(script, 'JavaScript');
- } else if (goog.global.eval) {
-
- if (goog.evalWorksForGlobals_ == null) {
- try {
- goog.global.eval('var _evalTest_ = 1;');
- } catch (ignore) {
- }
- if (typeof goog.global['_evalTest_'] != 'undefined') {
- try {
- delete goog.global['_evalTest_'];
- } catch (ignore) {
-
- }
- goog.evalWorksForGlobals_ = true;
- } else {
- goog.evalWorksForGlobals_ = false;
- }
- }
- if (goog.evalWorksForGlobals_) {
- goog.global.eval(script);
- } else {
-
- var doc = goog.global.document;
- var scriptElt =
- (doc.createElement('SCRIPT'));
- scriptElt.type = 'text/javascript';
- scriptElt.defer = false;
-
-
- scriptElt.appendChild(doc.createTextNode(script));
- doc.head.appendChild(scriptElt);
- doc.head.removeChild(scriptElt);
- }
- } else {
- throw new Error('goog.globalEval not available');
- }
- };
- goog.evalWorksForGlobals_ = null;
- goog.cssNameMapping_;
- goog.cssNameMappingStyle_;
- goog.global.CLOSURE_CSS_NAME_MAP_FN;
- goog.getCssName = function(className, opt_modifier) {
-
-
- if (String(className).charAt(0) == '.') {
- throw new Error(
- 'className passed in goog.getCssName must not start with ".".' +
- ' You passed: ' + className);
- }
- var getMapping = function(cssName) {
- return goog.cssNameMapping_[cssName] || cssName;
- };
- var renameByParts = function(cssName) {
-
- var parts = cssName.split('-');
- var mapped = [];
- for (var i = 0; i < parts.length; i++) {
- mapped.push(getMapping(parts[i]));
- }
- return mapped.join('-');
- };
- var rename;
- if (goog.cssNameMapping_) {
- rename =
- goog.cssNameMappingStyle_ == 'BY_WHOLE' ? getMapping : renameByParts;
- } else {
- rename = function(a) {
- return a;
- };
- }
- var result =
- opt_modifier ? className + '-' + rename(opt_modifier) : rename(className);
-
-
- if (goog.global.CLOSURE_CSS_NAME_MAP_FN) {
- return goog.global.CLOSURE_CSS_NAME_MAP_FN(result);
- }
- return result;
- };
- goog.setCssNameMapping = function(mapping, opt_style) {
- goog.cssNameMapping_ = mapping;
- goog.cssNameMappingStyle_ = opt_style;
- };
- goog.global.CLOSURE_CSS_NAME_MAPPING;
- if (!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING) {
-
-
- goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING;
- }
- goog.getMsg = function(str, opt_values) {
- if (opt_values) {
- str = str.replace(/\{\$([^}]+)}/g, function(match, key) {
- return (opt_values != null && key in opt_values) ? opt_values[key] :
- match;
- });
- }
- return str;
- };
- goog.getMsgWithFallback = function(a, b) {
- return a;
- };
- goog.exportSymbol = function(publicPath, object, opt_objectToExportTo) {
- goog.exportPath_(publicPath, object, opt_objectToExportTo);
- };
- goog.exportProperty = function(object, publicName, symbol) {
- object[publicName] = symbol;
- };
- goog.inherits = function(childCtor, parentCtor) {
-
- function tempCtor() {}
- tempCtor.prototype = parentCtor.prototype;
- childCtor.superClass_ = parentCtor.prototype;
- childCtor.prototype = new tempCtor();
-
- childCtor.prototype.constructor = childCtor;
-
- childCtor.base = function(me, methodName, var_args) {
-
-
- var args = new Array(arguments.length - 2);
- for (var i = 2; i < arguments.length; i++) {
- args[i - 2] = arguments[i];
- }
- return parentCtor.prototype[methodName].apply(me, args);
- };
- };
- goog.base = function(me, opt_methodName, var_args) {
- var caller = arguments.callee.caller;
- if (goog.STRICT_MODE_COMPATIBLE || (goog.DEBUG && !caller)) {
- throw new Error(
- 'arguments.caller not defined. goog.base() cannot be used ' +
- 'with strict mode code. See ' +
- 'http://www.ecma-international.org/ecma-262/5.1/#sec-C');
- }
- if (typeof caller.superClass_ !== 'undefined') {
-
-
- var ctorArgs = new Array(arguments.length - 1);
- for (var i = 1; i < arguments.length; i++) {
- ctorArgs[i - 1] = arguments[i];
- }
-
- return (caller.superClass_)
- .constructor.apply(me, ctorArgs);
- }
- if (typeof opt_methodName != 'string' && typeof opt_methodName != 'symbol') {
- throw new Error(
- 'method names provided to goog.base must be a string or a symbol');
- }
-
-
- var args = new Array(arguments.length - 2);
- for (var i = 2; i < arguments.length; i++) {
- args[i - 2] = arguments[i];
- }
- var foundCaller = false;
- for (var ctor = me.constructor; ctor;
- ctor = ctor.superClass_ && ctor.superClass_.constructor) {
- if (ctor.prototype[opt_methodName] === caller) {
- foundCaller = true;
- } else if (foundCaller) {
- return ctor.prototype[opt_methodName].apply(me, args);
- }
- }
-
-
-
-
- if (me[opt_methodName] === caller) {
- return me.constructor.prototype[opt_methodName].apply(me, args);
- } else {
- throw new Error(
- 'goog.base called from a method of one name ' +
- 'to a method of a different name');
- }
- };
- goog.scope = function(fn) {
- if (goog.isInModuleLoader_()) {
- throw new Error('goog.scope is not supported within a module.');
- }
- fn.call(goog.global);
- };
- if (!COMPILED) {
- goog.global['COMPILED'] = COMPILED;
- }
- goog.defineClass = function(superClass, def) {
-
- var constructor = def.constructor;
- var statics = def.statics;
- // Wrap the constructor prior to setting up the prototype and static methods.
- if (!constructor || constructor == Object.prototype.constructor) {
- constructor = function() {
- throw new Error(
- 'cannot instantiate an interface (no constructor defined).');
- };
- }
- var cls = goog.defineClass.createSealingConstructor_(constructor, superClass);
- if (superClass) {
- goog.inherits(cls, superClass);
- }
-
- delete def.constructor;
- delete def.statics;
- goog.defineClass.applyProperties_(cls.prototype, def);
- if (statics != null) {
- if (statics instanceof Function) {
- statics(cls);
- } else {
- goog.defineClass.applyProperties_(cls, statics);
- }
- }
- return cls;
- };
- goog.defineClass.ClassDescriptor;
- goog.define('goog.defineClass.SEAL_CLASS_INSTANCES', goog.DEBUG);
- goog.defineClass.createSealingConstructor_ = function(ctr, superClass) {
- if (!goog.defineClass.SEAL_CLASS_INSTANCES) {
-
-
- return ctr;
- }
-
-
- var superclassSealable = !goog.defineClass.isUnsealable_(superClass);
-
- var wrappedCtr = function() {
-
-
- var instance = ctr.apply(this, arguments) || this;
- instance[goog.UID_PROPERTY_] = instance[goog.UID_PROPERTY_];
- if (this.constructor === wrappedCtr && superclassSealable &&
- Object.seal instanceof Function) {
- Object.seal(instance);
- }
- return instance;
- };
- return wrappedCtr;
- };
- goog.defineClass.isUnsealable_ = function(ctr) {
- return ctr && ctr.prototype &&
- ctr.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_];
- };
- goog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = [
- 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
- 'toLocaleString', 'toString', 'valueOf'
- ];
- goog.defineClass.applyProperties_ = function(target, source) {
-
- var key;
- for (key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
-
-
-
-
-
- for (var i = 0; i < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; i++) {
- key = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i];
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- };
- goog.tagUnsealableClass = function(ctr) {
- if (!COMPILED && goog.defineClass.SEAL_CLASS_INSTANCES) {
- ctr.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_] = true;
- }
- };
- goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_ = 'goog_defineClass_legacy_unsealable';
- if (!COMPILED && goog.DEPENDENCIES_ENABLED) {
-
- goog.inHtmlDocument_ = function() {
-
- var doc = goog.global.document;
- return doc != null && 'write' in doc;
- };
-
- goog.isDocumentLoading_ = function() {
-
-
-
- var doc = goog.global.document;
- return doc.attachEvent ? doc.readyState != 'complete' :
- doc.readyState == 'loading';
- };
-
- goog.findBasePath_ = function() {
- if (goog.isDef(goog.global.CLOSURE_BASE_PATH) &&
-
- goog.isString(goog.global.CLOSURE_BASE_PATH)) {
- goog.basePath = goog.global.CLOSURE_BASE_PATH;
- return;
- } else if (!goog.inHtmlDocument_()) {
- return;
- }
-
- var doc = goog.global.document;
-
- var currentScript = doc.currentScript;
- if (currentScript) {
- var scripts = [currentScript];
- } else {
- var scripts = doc.getElementsByTagName('SCRIPT');
- }
-
-
- for (var i = scripts.length - 1; i >= 0; --i) {
- var script = (scripts[i]);
- var src = script.src;
- var qmark = src.lastIndexOf('?');
- var l = qmark == -1 ? src.length : qmark;
- if (src.substr(l - 7, 7) == 'base.js') {
- goog.basePath = src.substr(0, l - 7);
- return;
- }
- }
- };
- goog.findBasePath_();
-
- goog.Transpiler = function() {
-
- this.requiresTranspilation_ = null;
-
- this.transpilationTarget_ = goog.TRANSPILE_TO_LANGUAGE;
- };
-
- goog.Transpiler.prototype.createRequiresTranspilation_ = function() {
- var transpilationTarget = 'es3';
- var requiresTranspilation = {'es3': false};
- var transpilationRequiredForAllLaterModes = false;
-
- function addNewerLanguageTranspilationCheck(modeName, isSupported) {
- if (transpilationRequiredForAllLaterModes) {
- requiresTranspilation[modeName] = true;
- } else if (isSupported()) {
- transpilationTarget = modeName;
- requiresTranspilation[modeName] = false;
- } else {
- requiresTranspilation[modeName] = true;
- transpilationRequiredForAllLaterModes = true;
- }
- }
-
- function /** boolean */ evalCheck(/** string */ code) {
- try {
- return !!eval(code);
- } catch (ignored) {
- return false;
- }
- }
- var userAgent = goog.global.navigator && goog.global.navigator.userAgent ?
- goog.global.navigator.userAgent :
- '';
-
- addNewerLanguageTranspilationCheck('es5', function() {
- return evalCheck('[1,].length==1');
- });
- addNewerLanguageTranspilationCheck('es6', function() {
-
-
- var re = /Edge\/(\d+)(\.\d)*/i;
- var edgeUserAgent = userAgent.match(re);
- if (edgeUserAgent && Number(edgeUserAgent[1]) < 15) {
- return false;
- }
-
-
-
-
- var es6fullTest =
- 'class X{constructor(){if(new.target!=String)throw 1;this.x=42}}' +
- 'let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof ' +
- 'String))throw 1;for(const a of[2,3]){if(a==2)continue;function ' +
- 'f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()' +
- '==3}';
- return evalCheck('(()=>{"use strict";' + es6fullTest + '})()');
- });
-
-
-
-
- addNewerLanguageTranspilationCheck('es6-impl', function() {
- return true;
- });
-
- addNewerLanguageTranspilationCheck('es7', function() {
- return evalCheck('2 ** 2 == 4');
- });
-
- addNewerLanguageTranspilationCheck('es8', function() {
- return evalCheck('async () => 1, true');
- });
- addNewerLanguageTranspilationCheck('es9', function() {
- return evalCheck('({...rest} = {}), true');
- });
- addNewerLanguageTranspilationCheck('es_next', function() {
- return false;
- });
- return {target: transpilationTarget, map: requiresTranspilation};
- };
-
- goog.Transpiler.prototype.needsTranspile = function(lang, module) {
- if (goog.TRANSPILE == 'always') {
- return true;
- } else if (goog.TRANSPILE == 'never') {
- return false;
- } else if (!this.requiresTranspilation_) {
- var obj = this.createRequiresTranspilation_();
- this.requiresTranspilation_ = obj.map;
- this.transpilationTarget_ = this.transpilationTarget_ || obj.target;
- }
- if (lang in this.requiresTranspilation_) {
- if (this.requiresTranspilation_[lang]) {
- return true;
- } else if (
- goog.inHtmlDocument_() && module == 'es6' &&
- !('noModule' in goog.global.document.createElement('script'))) {
- return true;
- } else {
- return false;
- }
- } else {
- throw new Error('Unknown language mode: ' + lang);
- }
- };
-
- goog.Transpiler.prototype.transpile = function(code, path) {
-
-
-
- return goog.transpile_(code, path, this.transpilationTarget_);
- };
-
- goog.transpiler_ = new goog.Transpiler();
-
- goog.protectScriptTag_ = function(str) {
- return str.replace(/<\/(SCRIPT)/ig, '\\x3c/$1');
- };
-
- goog.DebugLoader_ = function() {
-
- this.dependencies_ = {};
-
- this.idToPath_ = {};
-
- this.written_ = {};
-
- this.loadingDeps_ = [];
-
- this.depsToLoad_ = [];
-
- this.paused_ = false;
-
- this.factory_ = new goog.DependencyFactory(goog.transpiler_);
-
- this.deferredCallbacks_ = {};
-
- this.deferredQueue_ = [];
- };
-
- goog.DebugLoader_.prototype.bootstrap = function(namespaces, callback) {
- var cb = callback;
- function resolve() {
- if (cb) {
- goog.global.setTimeout(cb, 0);
- cb = null;
- }
- }
- if (!namespaces.length) {
- resolve();
- return;
- }
- var deps = [];
- for (var i = 0; i < namespaces.length; i++) {
- var path = this.getPathFromDeps_(namespaces[i]);
- if (!path) {
- throw new Error('Unregonized namespace: ' + namespaces[i]);
- }
- deps.push(this.dependencies_[path]);
- }
- var require = goog.require;
- var loaded = 0;
- for (var i = 0; i < namespaces.length; i++) {
- require(namespaces[i]);
- deps[i].onLoad(function() {
- if (++loaded == namespaces.length) {
- resolve();
- }
- });
- }
- };
-
- goog.DebugLoader_.prototype.loadClosureDeps = function() {
-
-
- var relPath = 'deps.js';
- this.depsToLoad_.push(this.factory_.createDependency(
- goog.normalizePath_(goog.basePath + relPath), relPath, [], [], {},
- false));
- this.loadDeps_();
- };
-
- goog.DebugLoader_.prototype.requested = function(absPathOrId, opt_force) {
- var path = this.getPathFromDeps_(absPathOrId);
- if (path &&
- (opt_force || this.areDepsLoaded_(this.dependencies_[path].requires))) {
- var callback = this.deferredCallbacks_[path];
- if (callback) {
- delete this.deferredCallbacks_[path];
- callback();
- }
- }
- };
-
- goog.DebugLoader_.prototype.setDependencyFactory = function(factory) {
- this.factory_ = factory;
- };
-
- goog.DebugLoader_.prototype.load_ = function(namespace) {
- if (!this.getPathFromDeps_(namespace)) {
- var errorMessage = 'goog.require could not find: ' + namespace;
- goog.logToConsole_(errorMessage);
- throw Error(errorMessage);
- } else {
- var loader = this;
- var deps = [];
-
- var visit = function(namespace) {
- var path = loader.getPathFromDeps_(namespace);
- if (!path) {
- throw new Error('Bad dependency path or symbol: ' + namespace);
- }
- if (loader.written_[path]) {
- return;
- }
- loader.written_[path] = true;
- var dep = loader.dependencies_[path];
- for (var i = 0; i < dep.requires.length; i++) {
- if (!goog.isProvided_(dep.requires[i])) {
- visit(dep.requires[i]);
- }
- }
- deps.push(dep);
- };
- visit(namespace);
- var wasLoading = !!this.depsToLoad_.length;
- this.depsToLoad_ = this.depsToLoad_.concat(deps);
- if (!this.paused_ && !wasLoading) {
- this.loadDeps_();
- }
- }
- };
-
- goog.DebugLoader_.prototype.loadDeps_ = function() {
- var loader = this;
- var paused = this.paused_;
- while (this.depsToLoad_.length && !paused) {
- (function() {
- var loadCallDone = false;
- var dep = loader.depsToLoad_.shift();
- var loaded = false;
- loader.loading_(dep);
- var controller = {
- pause: function() {
- if (loadCallDone) {
- throw new Error('Cannot call pause after the call to load.');
- } else {
- paused = true;
- }
- },
- resume: function() {
- if (loadCallDone) {
- loader.resume_();
- } else {
-
-
- paused = false;
- }
- },
- loaded: function() {
- if (loaded) {
- throw new Error('Double call to loaded.');
- }
- loaded = true;
- loader.loaded_(dep);
- },
- pending: function() {
-
- var pending = [];
- for (var i = 0; i < loader.loadingDeps_.length; i++) {
- pending.push(loader.loadingDeps_[i]);
- }
- return pending;
- },
-
- setModuleState: function(type) {
- goog.moduleLoaderState_ = {
- type: type,
- moduleName: '',
- declareLegacyNamespace: false
- };
- },
-
- registerEs6ModuleExports: function(
- path, exports, opt_closureNamespace) {
- if (opt_closureNamespace) {
- goog.loadedModules_[opt_closureNamespace] = {
- exports: exports,
- type: goog.ModuleType.ES6,
- moduleId: opt_closureNamespace || ''
- };
- }
- },
-
- registerGoogModuleExports: function(moduleId, exports) {
- goog.loadedModules_[moduleId] = {
- exports: exports,
- type: goog.ModuleType.GOOG,
- moduleId: moduleId
- };
- },
- clearModuleState: function() {
- goog.moduleLoaderState_ = null;
- },
- defer: function(callback) {
- if (loadCallDone) {
- throw new Error(
- 'Cannot register with defer after the call to load.');
- }
- loader.defer_(dep, callback);
- },
- areDepsLoaded: function() {
- return loader.areDepsLoaded_(dep.requires);
- }
- };
- try {
- dep.load(controller);
- } finally {
- loadCallDone = true;
- }
- })();
- }
- if (paused) {
- this.pause_();
- }
- };
-
- goog.DebugLoader_.prototype.pause_ = function() {
- this.paused_ = true;
- };
-
- goog.DebugLoader_.prototype.resume_ = function() {
- if (this.paused_) {
- this.paused_ = false;
- this.loadDeps_();
- }
- };
-
- goog.DebugLoader_.prototype.loading_ = function(dep) {
- this.loadingDeps_.push(dep);
- };
-
- goog.DebugLoader_.prototype.loaded_ = function(dep) {
- for (var i = 0; i < this.loadingDeps_.length; i++) {
- if (this.loadingDeps_[i] == dep) {
- this.loadingDeps_.splice(i, 1);
- break;
- }
- }
- for (var i = 0; i < this.deferredQueue_.length; i++) {
- if (this.deferredQueue_[i] == dep.path) {
- this.deferredQueue_.splice(i, 1);
- break;
- }
- }
- if (this.loadingDeps_.length == this.deferredQueue_.length &&
- !this.depsToLoad_.length) {
-
-
-
- while (this.deferredQueue_.length) {
- this.requested(this.deferredQueue_.shift(), true);
- }
- }
- dep.loaded();
- };
-
- goog.DebugLoader_.prototype.areDepsLoaded_ = function(pathsOrIds) {
- for (var i = 0; i < pathsOrIds.length; i++) {
- var path = this.getPathFromDeps_(pathsOrIds[i]);
- if (!path ||
- (!(path in this.deferredCallbacks_) &&
- !goog.isProvided_(pathsOrIds[i]))) {
- return false;
- }
- }
- return true;
- };
-
- goog.DebugLoader_.prototype.getPathFromDeps_ = function(absPathOrId) {
- if (absPathOrId in this.idToPath_) {
- return this.idToPath_[absPathOrId];
- } else if (absPathOrId in this.dependencies_) {
- return absPathOrId;
- } else {
- return null;
- }
- };
-
- goog.DebugLoader_.prototype.defer_ = function(dependency, callback) {
- this.deferredCallbacks_[dependency.path] = callback;
- this.deferredQueue_.push(dependency.path);
- };
-
- goog.LoadController = function() {};
-
- goog.LoadController.prototype.pause = function() {};
-
- goog.LoadController.prototype.resume = function() {};
-
- goog.LoadController.prototype.loaded = function() {};
-
- goog.LoadController.prototype.pending = function() {};
-
- goog.LoadController.prototype.registerEs6ModuleExports = function(
- path, exports, opt_closureNamespace) {};
-
- goog.LoadController.prototype.setModuleState = function(type) {};
-
- goog.LoadController.prototype.clearModuleState = function() {};
-
- goog.LoadController.prototype.defer = function(callback) {};
-
- goog.LoadController.prototype.areDepsLoaded = function() {};
-
- goog.Dependency = function(
- path, relativePath, provides, requires, loadFlags) {
-
- this.path = path;
-
- this.relativePath = relativePath;
-
- this.provides = provides;
-
- this.requires = requires;
-
- this.loadFlags = loadFlags;
-
- this.loaded_ = false;
-
- this.loadCallbacks_ = [];
- };
-
- goog.Dependency.prototype.getPathName = function() {
- var pathName = this.path;
- var protocolIndex = pathName.indexOf('://');
- if (protocolIndex >= 0) {
- pathName = pathName.substring(protocolIndex + 3);
- var slashIndex = pathName.indexOf('/');
- if (slashIndex >= 0) {
- pathName = pathName.substring(slashIndex + 1);
- }
- }
- return pathName;
- };
-
- goog.Dependency.prototype.onLoad = function(callback) {
- if (this.loaded_) {
- callback();
- } else {
- this.loadCallbacks_.push(callback);
- }
- };
-
- goog.Dependency.prototype.loaded = function() {
- this.loaded_ = true;
- var callbacks = this.loadCallbacks_;
- this.loadCallbacks_ = [];
- for (var i = 0; i < callbacks.length; i++) {
- callbacks[i]();
- }
- };
-
- goog.Dependency.defer_ = false;
-
- goog.Dependency.callbackMap_ = {};
-
- goog.Dependency.registerCallback_ = function(callback) {
- var key = Math.random().toString(32);
- goog.Dependency.callbackMap_[key] = callback;
- return key;
- };
-
- goog.Dependency.unregisterCallback_ = function(key) {
- delete goog.Dependency.callbackMap_[key];
- };
-
- goog.Dependency.callback_ = function(key, var_args) {
- if (key in goog.Dependency.callbackMap_) {
- var callback = goog.Dependency.callbackMap_[key];
- var args = [];
- for (var i = 1; i < arguments.length; i++) {
- args.push(arguments[i]);
- }
- callback.apply(undefined, args);
- } else {
- var errorMessage = 'Callback key ' + key +
- ' does not exist (was base.js loaded more than once?).';
- throw Error(errorMessage);
- }
- };
-
- goog.Dependency.prototype.load = function(controller) {
- if (goog.global.CLOSURE_IMPORT_SCRIPT) {
- if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) {
- controller.loaded();
- } else {
- controller.pause();
- }
- return;
- }
- if (!goog.inHtmlDocument_()) {
- goog.logToConsole_(
- 'Cannot use default debug loader outside of HTML documents.');
- if (this.relativePath == 'deps.js') {
-
-
-
-
- goog.logToConsole_(
- 'Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, ' +
- 'or setting CLOSURE_NO_DEPS to true.');
- controller.loaded();
- } else {
- controller.pause();
- }
- return;
- }
-
- var doc = goog.global.document;
-
-
-
-
- if (doc.readyState == 'complete' &&
- !goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) {
-
-
-
-
- var isDeps = /\bdeps.js$/.test(this.path);
- if (isDeps) {
- controller.loaded();
- return;
- } else {
- throw Error('Cannot write "' + this.path + '" after document load');
- }
- }
- if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING &&
- goog.isDocumentLoading_()) {
- var key = goog.Dependency.registerCallback_(function(script) {
- if (!goog.DebugLoader_.IS_OLD_IE_ || script.readyState == 'complete') {
- goog.Dependency.unregisterCallback_(key);
- controller.loaded();
- }
- });
- var nonceAttr = !goog.DebugLoader_.IS_OLD_IE_ && goog.getScriptNonce() ?
- ' nonce="' + goog.getScriptNonce() + '"' :
- '';
- var event =
- goog.DebugLoader_.IS_OLD_IE_ ? 'onreadystatechange' : 'onload';
- var defer = goog.Dependency.defer_ ? 'defer' : '';
- doc.write(
- '<script src="' + this.path + '" ' + event +
- '="goog.Dependency.callback_(\'' + key +
- '\', this)" type="text/javascript" ' + defer + nonceAttr + '><' +
- '/script>');
- } else {
- var scriptEl =
- (doc.createElement('script'));
- scriptEl.defer = goog.Dependency.defer_;
- scriptEl.async = false;
- scriptEl.type = 'text/javascript';
-
-
- var nonce = goog.getScriptNonce();
- if (nonce) {
- scriptEl.setAttribute('nonce', nonce);
- }
- if (goog.DebugLoader_.IS_OLD_IE_) {
-
-
- controller.pause();
- scriptEl.onreadystatechange = function() {
- if (scriptEl.readyState == 'loaded' ||
- scriptEl.readyState == 'complete') {
- controller.loaded();
- controller.resume();
- }
- };
- } else {
- scriptEl.onload = function() {
- scriptEl.onload = null;
- controller.loaded();
- };
- }
- scriptEl.src = this.path;
- doc.head.appendChild(scriptEl);
- }
- };
-
- goog.Es6ModuleDependency = function(
- path, relativePath, provides, requires, loadFlags) {
- goog.Es6ModuleDependency.base(
- this, 'constructor', path, relativePath, provides, requires, loadFlags);
- };
- goog.inherits(goog.Es6ModuleDependency, goog.Dependency);
-
- goog.Es6ModuleDependency.prototype.load = function(controller) {
- if (goog.global.CLOSURE_IMPORT_SCRIPT) {
- if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) {
- controller.loaded();
- } else {
- controller.pause();
- }
- return;
- }
- if (!goog.inHtmlDocument_()) {
- goog.logToConsole_(
- 'Cannot use default debug loader outside of HTML documents.');
- controller.pause();
- return;
- }
-
- var doc = goog.global.document;
- var dep = this;
-
-
-
- function write(src, contents) {
- if (contents) {
- doc.write(
- '<script type="module" crossorigin>' + contents + '</' +
- 'script>');
- } else {
- doc.write(
- '<script type="module" crossorigin src="' + src + '"></' +
- 'script>');
- }
- }
- function append(src, contents) {
- var scriptEl =
- (doc.createElement('script'));
- scriptEl.defer = true;
- scriptEl.async = false;
- scriptEl.type = 'module';
- scriptEl.setAttribute('crossorigin', true);
-
-
- var nonce = goog.getScriptNonce();
- if (nonce) {
- scriptEl.setAttribute('nonce', nonce);
- }
- if (contents) {
- scriptEl.textContent = contents;
- } else {
- scriptEl.src = src;
- }
- doc.head.appendChild(scriptEl);
- }
- var create;
- if (goog.isDocumentLoading_()) {
- create = write;
-
-
-
- goog.Dependency.defer_ = true;
- } else {
- create = append;
- }
-
-
-
-
-
-
-
-
- var beforeKey = goog.Dependency.registerCallback_(function() {
- goog.Dependency.unregisterCallback_(beforeKey);
- controller.setModuleState(goog.ModuleType.ES6);
- });
- create(undefined, 'goog.Dependency.callback_("' + beforeKey + '")');
-
- create(this.path, undefined);
- var registerKey = goog.Dependency.registerCallback_(function(exports) {
- goog.Dependency.unregisterCallback_(registerKey);
- controller.registerEs6ModuleExports(
- dep.path, exports, goog.moduleLoaderState_.moduleName);
- });
- create(
- undefined,
- 'import * as m from "' + this.path + '"; goog.Dependency.callback_("' +
- registerKey + '", m)');
- var afterKey = goog.Dependency.registerCallback_(function() {
- goog.Dependency.unregisterCallback_(afterKey);
- controller.clearModuleState();
- controller.loaded();
- });
- create(undefined, 'goog.Dependency.callback_("' + afterKey + '")');
- };
-
- goog.TransformedDependency = function(
- path, relativePath, provides, requires, loadFlags) {
- goog.TransformedDependency.base(
- this, 'constructor', path, relativePath, provides, requires, loadFlags);
-
- this.contents_ = null;
-
- this.lazyFetch_ = !goog.inHtmlDocument_() ||
- !('noModule' in goog.global.document.createElement('script'));
- };
- goog.inherits(goog.TransformedDependency, goog.Dependency);
-
- goog.TransformedDependency.prototype.load = function(controller) {
- var dep = this;
- function fetch() {
- dep.contents_ = goog.loadFileSync_(dep.path);
- if (dep.contents_) {
- dep.contents_ = dep.transform(dep.contents_);
- if (dep.contents_) {
- dep.contents_ += '\n//# sourceURL=' + dep.path;
- }
- }
- }
- if (goog.global.CLOSURE_IMPORT_SCRIPT) {
- fetch();
- if (this.contents_ &&
- goog.global.CLOSURE_IMPORT_SCRIPT('', this.contents_)) {
- this.contents_ = null;
- controller.loaded();
- } else {
- controller.pause();
- }
- return;
- }
- var isEs6 = this.loadFlags['module'] == goog.ModuleType.ES6;
- if (!this.lazyFetch_) {
- fetch();
- }
- function load() {
- if (dep.lazyFetch_) {
- fetch();
- }
- if (!dep.contents_) {
-
-
- return;
- }
- if (isEs6) {
- controller.setModuleState(goog.ModuleType.ES6);
- }
- var namespace;
- try {
- var contents = dep.contents_;
- dep.contents_ = null;
- goog.globalEval(contents);
- if (isEs6) {
- namespace = goog.moduleLoaderState_.moduleName;
- }
- } finally {
- if (isEs6) {
- controller.clearModuleState();
- }
- }
- if (isEs6) {
-
-
- goog.global['$jscomp']['require']['ensure'](
- [dep.getPathName()], function() {
- controller.registerEs6ModuleExports(
- dep.path,
- goog.global['$jscomp']['require'](dep.getPathName()),
- namespace);
- });
- }
- controller.loaded();
- }
-
-
-
-
- function fetchInOwnScriptThenLoad() {
-
- var doc = goog.global.document;
- var key = goog.Dependency.registerCallback_(function() {
- goog.Dependency.unregisterCallback_(key);
- load();
- });
- doc.write(
- '<script type="text/javascript">' +
- goog.protectScriptTag_('goog.Dependency.callback_("' + key + '");') +
- '</' +
- 'script>');
- }
-
- var anythingElsePending = controller.pending().length > 1;
-
-
-
-
- var useOldIeWorkAround =
- anythingElsePending && goog.DebugLoader_.IS_OLD_IE_;
-
-
-
-
-
- var needsAsyncLoading = goog.Dependency.defer_ &&
- (anythingElsePending || goog.isDocumentLoading_());
- if (useOldIeWorkAround || needsAsyncLoading) {
-
-
-
-
- controller.defer(function() {
- load();
- });
- return;
- }
-
-
-
- var doc = goog.global.document;
- var isInternetExplorer =
- goog.inHtmlDocument_() && 'ActiveXObject' in goog.global;
-
-
-
-
-
-
- if (isEs6 && goog.inHtmlDocument_() && goog.isDocumentLoading_() &&
- !isInternetExplorer) {
- goog.Dependency.defer_ = true;
-
-
- controller.pause();
- var oldCallback = doc.onreadystatechange;
- doc.onreadystatechange = function() {
- if (doc.readyState == 'interactive') {
- doc.onreadystatechange = oldCallback;
- load();
- controller.resume();
- }
- if (goog.isFunction(oldCallback)) {
- oldCallback.apply(undefined, arguments);
- }
- };
- } else {
-
- if (goog.DebugLoader_.IS_OLD_IE_ || !goog.inHtmlDocument_() ||
- !goog.isDocumentLoading_()) {
- load();
- } else {
- fetchInOwnScriptThenLoad();
- }
- }
- };
-
- goog.TransformedDependency.prototype.transform = function(contents) {};
-
- goog.TranspiledDependency = function(
- path, relativePath, provides, requires, loadFlags, transpiler) {
- goog.TranspiledDependency.base(
- this, 'constructor', path, relativePath, provides, requires, loadFlags);
-
- this.transpiler = transpiler;
- };
- goog.inherits(goog.TranspiledDependency, goog.TransformedDependency);
-
- goog.TranspiledDependency.prototype.transform = function(contents) {
-
- return this.transpiler.transpile(contents, this.getPathName());
- };
-
- goog.GoogModuleDependency = function(
- path, relativePath, provides, requires, loadFlags, needsTranspile,
- transpiler) {
- goog.GoogModuleDependency.base(
- this, 'constructor', path, relativePath, provides, requires, loadFlags);
-
- this.needsTranspile_ = needsTranspile;
-
- this.transpiler_ = transpiler;
- };
- goog.inherits(goog.GoogModuleDependency, goog.TransformedDependency);
-
- goog.GoogModuleDependency.prototype.transform = function(contents) {
- if (this.needsTranspile_) {
- contents = this.transpiler_.transpile(contents, this.getPathName());
- }
- if (!goog.LOAD_MODULE_USING_EVAL || !goog.isDef(goog.global.JSON)) {
- return '' +
- 'goog.loadModule(function(exports) {' +
- '"use strict";' + contents +
- '\n' +
- ';return exports' +
- '});' +
- '\n//# sourceURL=' + this.path + '\n';
- } else {
- return '' +
- 'goog.loadModule(' +
- goog.global.JSON.stringify(
- contents + '\n//# sourceURL=' + this.path + '\n') +
- ');';
- }
- };
-
- goog.DebugLoader_.IS_OLD_IE_ = !!(
- !goog.global.atob && goog.global.document && goog.global.document['all']);
-
- goog.DebugLoader_.prototype.addDependency = function(
- relPath, provides, requires, opt_loadFlags) {
- provides = provides || [];
- relPath = relPath.replace(/\\/g, '/');
- var path = goog.normalizePath_(goog.basePath + relPath);
- if (!opt_loadFlags || typeof opt_loadFlags === 'boolean') {
- opt_loadFlags = opt_loadFlags ? {'module': goog.ModuleType.GOOG} : {};
- }
- var dep = this.factory_.createDependency(
- path, relPath, provides, requires, opt_loadFlags,
- goog.transpiler_.needsTranspile(
- opt_loadFlags['lang'] || 'es3', opt_loadFlags['module']));
- this.dependencies_[path] = dep;
- for (var i = 0; i < provides.length; i++) {
- this.idToPath_[provides[i]] = path;
- }
- this.idToPath_[relPath] = path;
- };
-
- goog.DependencyFactory = function(transpiler) {
-
- this.transpiler = transpiler;
- };
-
- goog.DependencyFactory.prototype.createDependency = function(
- path, relativePath, provides, requires, loadFlags, needsTranspile) {
- if (loadFlags['module'] == goog.ModuleType.GOOG) {
- return new goog.GoogModuleDependency(
- path, relativePath, provides, requires, loadFlags, needsTranspile,
- this.transpiler);
- } else if (needsTranspile) {
- return new goog.TranspiledDependency(
- path, relativePath, provides, requires, loadFlags, this.transpiler);
- } else {
- if (loadFlags['module'] == goog.ModuleType.ES6) {
- return new goog.Es6ModuleDependency(
- path, relativePath, provides, requires, loadFlags);
- } else {
- return new goog.Dependency(
- path, relativePath, provides, requires, loadFlags);
- }
- }
- };
-
- goog.debugLoader_ = new goog.DebugLoader_();
-
- goog.loadClosureDeps = function() {
- goog.debugLoader_.loadClosureDeps();
- };
-
- goog.setDependencyFactory = function(factory) {
- goog.debugLoader_.setDependencyFactory(factory);
- };
- if (!goog.global.CLOSURE_NO_DEPS) {
- goog.debugLoader_.loadClosureDeps();
- }
-
- goog.bootstrap = function(namespaces, callback) {
- goog.debugLoader_.bootstrap(namespaces, callback);
- };
- }
|