From ff3c721dc4395303505cb79b1b54b43b5f93d9ad Mon Sep 17 00:00:00 2001 From: bradfordcsmith Date: Mon, 30 Sep 2019 12:54:22 -0700 Subject: [PATCH] JS Compiler release r20190929 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=272045149 --- closure/goog/transpile.js | 3662 ++++++++++++++++++------------------- 1 file changed, 1831 insertions(+), 1831 deletions(-) diff --git a/closure/goog/transpile.js b/closure/goog/transpile.js index 9b0fdf0d13..8d5193f85b 100644 --- a/closure/goog/transpile.js +++ b/closure/goog/transpile.js @@ -162,1359 +162,1360 @@ blockingDeps["delete"](absModulePath);var cacheEntry=new CacheEntry(moduleDef,ne 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); 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], 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()}})(); -(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})();(function(window){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function X0(){}function S0(){}function tb(){}function Db(){}function oc(){}function Bd(){}function Yk(){}function $k(){}function al(){}function cl(){}function el(){}function gl(){}function il(){}function kl(){}function As(){}function et(){}function lv(){}function LA(){}function PA(){}function nC(){}function OC(){}function gE(){}function UE(){}function aF(){}function kF(){}function AF(){}function aG(){}function kG(){}function rG(){} -function B3(){}function u5(){}function E5(){}function _5(){}function hab(){}function Mab(){}function Ucb(){}function wfb(){}function wgb(){}function wpb(){}function kpb(){}function ypb(){}function bhb(){}function uib(){}function Ejb(){}function Bkb(){}function Cnb(){}function Hnb(){}function Hsb(){}function ssb(){}function Lsb(){}function Lwb(){}function vwb(){}function zwb(){}function Hwb(){}function oxb(){}function Lxb(){}function Nxb(){}function Sxb(){}function Wxb(){}function Yxb(){}function $xb(){} -function $Eb(){}function SEb(){}function Syb(){}function Nzb(){}function BBb(){}function tCb(){}function zCb(){}function QDb(){}function WEb(){}function YEb(){}function aFb(){}function cFb(){}function eFb(){}function gFb(){}function iFb(){}function kFb(){}function mFb(){}function oFb(){}function qFb(){}function sFb(){}function uFb(){}function wFb(){}function yFb(){}function AFb(){}function CFb(){}function EFb(){}function GFb(){}function IFb(){}function KFb(){}function QFb(){}function lHb(){}function aJb(){} -function IJb(){}function PJb(){}function TJb(){}function VJb(){}function XJb(){}function xKb(){}function AKb(){}function GKb(){}function vLb(){}function DLb(){}function tOb(){}function m7b(){}function j8b(){}function x8b(){}function Tac(){}function Yac(){}function dbc(){}function ibc(){}function lbc(){}function rbc(){}function Gfc(){}function Ifc(){}function Kfc(){}function Mfc(){}function Ofc(){}function Qfc(){}function bic(){}function dic(){}function fic(){}function hic(){}function jic(){}function lic(){} -function nic(){}function pic(){}function iuc(){}function Jyc(){}function Lyc(){}function Nyc(){}function Pyc(){}function Ryc(){}function Tyc(){}function Vyc(){}function Xyc(){}function Zyc(){}function rHc(){}function THc(){}function TKc(){}function XKc(){}function aIc(){}function iIc(){}function lOc(){}function nOc(){}function fPc(){}function kPc(){}function kSc(){}function aSc(){}function eSc(){}function iSc(){}function fQc(){}function oRc(){}function rRc(){}function uRc(){}function xRc(){}function nTc(){} -function qTc(){}function HTc(){}function Doc(a){}function ESc(a){}function FSc(a){}function Zsb(a){}function hEb(a){Pd(a)}function Pzb(a){a.Wd()}function xJb(){nJb()}function Y0(){GLb()}function ueb(){dBc(0)}function zq(){this.a=0}function Iz(){this.a=8}function jc(a){this.a=a}function Fe(a){this.a=a}function Xe(a){this.a=a}function xh(a){this.a=a}function Dh(a){this.a=a}function fk(a){this.a=a}function rk(a){this.a=a}function wk(a){this.a=a}function Pk(a){this.a=a}function ml(a){this.a=a}function Vl(a){this.a= +(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})();(function(window){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function Y0(){}function T0(){}function tb(){}function Db(){}function oc(){}function Bd(){}function Yk(){}function $k(){}function al(){}function cl(){}function el(){}function gl(){}function il(){}function kl(){}function As(){}function et(){}function lv(){}function LA(){}function PA(){}function nC(){}function OC(){}function gE(){}function UE(){}function aF(){}function kF(){}function AF(){}function aG(){}function kG(){}function rG(){} +function F3(){}function y5(){}function I5(){}function d6(){}function lab(){}function Qab(){}function Ycb(){}function Afb(){}function Agb(){}function Apb(){}function mpb(){}function ypb(){}function yib(){}function fhb(){}function Fjb(){}function Ckb(){}function Dnb(){}function Inb(){}function Iwb(){}function wwb(){}function Awb(){}function Mwb(){}function Mxb(){}function pxb(){}function Oxb(){}function Txb(){}function Xxb(){}function Zxb(){}function _xb(){}function usb(){}function Jsb(){}function Nsb(){} +function Tyb(){}function TEb(){}function XEb(){}function ZEb(){}function _Eb(){}function Ozb(){}function CBb(){}function uCb(){}function ACb(){}function RDb(){}function bFb(){}function dFb(){}function fFb(){}function hFb(){}function jFb(){}function lFb(){}function nFb(){}function pFb(){}function rFb(){}function tFb(){}function vFb(){}function xFb(){}function zFb(){}function BFb(){}function DFb(){}function FFb(){}function HFb(){}function JFb(){}function PFb(){}function RFb(){}function mHb(){}function bJb(){} +function JJb(){}function QJb(){}function UJb(){}function WJb(){}function YJb(){}function yKb(){}function BKb(){}function HKb(){}function wLb(){}function ELb(){}function wOb(){}function p7b(){}function m8b(){}function A8b(){}function Vac(){}function $ac(){}function fbc(){}function kbc(){}function nbc(){}function tbc(){}function Ifc(){}function Kfc(){}function Mfc(){}function Ofc(){}function Qfc(){}function Sfc(){}function dic(){}function fic(){}function hic(){}function jic(){}function lic(){}function nic(){} +function pic(){}function ric(){}function kuc(){}function Lyc(){}function Nyc(){}function Pyc(){}function Ryc(){}function Tyc(){}function Vyc(){}function Xyc(){}function Zyc(){}function _yc(){}function tHc(){}function VHc(){}function VKc(){}function ZKc(){}function cIc(){}function kIc(){}function nOc(){}function pOc(){}function hPc(){}function mPc(){}function mSc(){}function cSc(){}function gSc(){}function kSc(){}function hQc(){}function qRc(){}function tRc(){}function wRc(){}function zRc(){}function pTc(){} +function sTc(){}function JTc(){}function Foc(a){}function GSc(a){}function HSc(a){}function $sb(a){}function iEb(a){Pd(a)}function Qzb(a){a.Wd()}function yJb(){oJb()}function Z0(){HLb()}function yeb(){fBc(0)}function zq(){this.a=0}function Iz(){this.a=8}function jc(a){this.a=a}function Fe(a){this.a=a}function Xe(a){this.a=a}function xh(a){this.a=a}function Dh(a){this.a=a}function fk(a){this.a=a}function rk(a){this.a=a}function wk(a){this.a=a}function Pk(a){this.a=a}function ml(a){this.a=a}function Vl(a){this.a= a}function Vt(a){this.a=a}function Mt(a){this.a=a}function jm(a){this.a=a}function xp(a){this.a=a}function xs(a){this.a=a}function Xs(a){this.a=a}function ur(a){this.a=a}function Sr(a){this.a=a}function uu(a){this.a=a}function av(a){this.a=a}function Rv(a){this.a=a}function Av(a){this.b=a}function Uv(a){this.b=a}function My(a){this.b=a}function Ht(a){this.c=a}function HA(a){this.a=a}function eA(a){this.a=a}function iA(a){this.a=a}function yA(a){this.a=a}function AA(a){this.a=a}function TA(a){this.a= -a}function Nx(a){this.a=a}function nz(a){this.a=a}function sz(a){this.a=a}function Dz(a){this.a=a}function FB(a){this.a=a}function uC(a){this.a=a}function yC(a){this.a=a}function LC(a){this.a=a}function QC(a){this.a=a}function DC(a){this.b=a}function nE(a){this.e=a}function PE(a){this.a=a}function _E(a){this.c=a}function g1(a){this.e=a}function z1(a){this.a=a}function U1(a){this.a=a}function s6(a){this.a=a}function S9(a){this.a=a}function w0(a){return a}function g8b(a,b){a.n=b}function e8b(a,b){a.a= -b}function h8b(a,b){a.p=b}function dcb(a,b){a.q=b}function zdb(a,b){a.j=b}function LCb(a,b){a.c=b}function BJb(a,b){a.d=b}function NSb(a,b){a.d=b}function OSb(a,b){a.e=b}function Wec(a,b){a.e=b}function Yec(a,b){a.j=b}function Rac(a,b){a.j=b}function Lac(a,b){a.f=b}function Pac(a,b){a.g=b}function fbc(a,b){a.b=b}function gbc(a,b){a.c=b}function hbc(a,b){a.d=b}function Zec(a,b){a.k=b}function bfc(a,b){a.n=b}function sqc(a,b){a.o=b}function Mvc(a,b){a.a=b}function pTc(a,b){a.a=b}function meb(a,b){a.oc= -b}function Ei(a){a.c=a.d.d}function Tib(a){this.b=a}function Vib(a){this.a=a}function Zcb(a){this.a=a}function ddb(a){this.a=a}function fdb(a){this.a=a}function hdb(a){this.a=a}function jdb(a){this.a=a}function ldb(a){this.a=a}function sgb(a){this.a=a}function Fkb(a){this.a=a}function wlb(a){this.a=a}function tnb(a){this.a=a}function znb(a){this.c=a}function sqb(a){this.c=a}function fmb(a){this.b=a}function Psb(a){this.a=a}function rwb(a){this.a=a}function Dwb(a){this.a=a}function Qxb(a){this.a=a} -function OAb(a){this.a=a}function WAb(a){this.a=a}function xCb(a){this.a=a}function bEb(a){this.a=a}function MFb(a){this.a=a}function jIb(a){this.a=a}function RJb(a){this.a=a}function tLb(a){this.a=a}function IRb(a){this.a=a}function m8b(a){this.a=a}function r9b(a){this.a=a}function K_b(a){this.d=a}function i4b(a){this.j=a}function Uac(a){this.c=a}function Grc(a){this.c=a}function Gzc(a){this.a=a}function $zc(a){this.a=a}function Sfc(a){this.a=a}function Xfc(a){this.a=a}function whc(a){this.a=a}function Bhc(a){this.a= -a}function Qvc(a){this.a=a}function RAc(a){this.a=a}function hBc(a){this.a=a}function hEc(a){this.a=a}function bEc(a){this.a=a}function mEc(a){this.a=a}function rEc(a){this.a=a}function PEc(a){this.a=a}function $Cc(a){this.a=a}function xDc(a){this.a=a}function NDc(a){this.d=a}function awc(a){this.b=a}function $Ec(a){this.b=a}function dFc(a){this.a=a}function lFc(a){this.a=a}function kHc(a){this.a=a}function qIc(a){this.a=a}function AIc(a){this.a=a}function MIc(a){this.b=a}function cJc(a){this.b=a} -function CJc(a){this.d=a}function FGc(a){this.c=a}function FKc(a){this.a=a}function dKc(a){this.a=a}function iKc(a){this.a=a}function JKc(a){this.a=a}function _Kc(a){this.a=a}function CLc(a){this.a=a}function wMc(a){this.a=a}function TNc(a){this.a=a}function yOc(a){this.a=a}function MOc(a){this.a=a}function OOc(a){this.a=a}function NQc(a){this.a=a}function KSc(a){this.a=a}function _Sc(a){this.a=a}function tTc(a){this.a=a}function KTc(a){this.a=a}function df(){this.a="."}function p0(a){return a.e} -function UKb(a){return a}function Jz(a){pl(a,oVc)}function Z8(a,b){r8(a.c,b)}function y8(a,b){b&&a.Bh()}function acb(a,b){bcb(a,b)}function nGc(){bGc(this)}function oGc(){bGc(this)}function JFc(){qFc(this)}function rc(a){this.a=Pd(a)}function Kc(a){this.a=Pd(a)}function rf(a){this.a=Pd(a)}function dm(a){this.a=Pd(a)}function wy(a){this.a=Pd(a)}function By(a){this.a=Pd(a)}function uz(a){this.a=Pd(a)}function Xz(a){this.a=Pd(a)}function Xv(a){this.b=Pd(a)}function Kh(a){this.b=Pd(a)}function hNc(){this.a= -cNc()}function vs(){this.a=new nGc}function Fs(){this.b=new nGc}function _yc(a){a.a=new nGc}function X8(a){a.d=new mMc}function ttb(a){a.d=new mMc}function nt(){this.a=new CNc}function bu(){this.b=new nGc}function gu(a){On();this.a=a}function cv(a){On();this.a=a}function Uy(a){On();this.a=a}function Dn(a){on();this.a=a}function Ps(a){on();this.a=a}function Zs(a){on();this.a=a}function fG(a){eG();dG.rg(a)}function BF(){CD.call(this)}function YCc(){YCc=S0;JTc()}function wsb(){BF.call(this)}function $mb(a, -b){rFc(a.c,b)}function dbb(a,b){dGc(a.e,b)}function _bb(a,b){jGc(a.e,b)}function rdb(a,b){dGc(a.e,b)}function hnb(a,b){onb(a.j,b)}function Br(a,b,c){a.ef(c,b)}function Ow(a,b){a.e=b;b.b=a}function ZAc(a){return a&-a}function $zb(a){this.f=Pd(a)}function eE(){this.a=new CNc}function Cb(){Cb=S0;Bb=new Db}function nc(){nc=S0;mc=new oc}function uc(){uc=S0;tc=new vc}function Km(){Km=S0;Jm=new Lm}function p7b(){BF.call(this)}function Mzc(){BF.call(this)}function OAc(){BF.call(this)}function uBc(){BF.call(this)} -function HCc(){BF.call(this)}function dLc(){BF.call(this)}function sOc(){BF.call(this)}function Rzc(){CD.call(this)}function CTc(a,b){a.length=b}function Bq(a,b){a.Ze().Id(b)}function deb(a,b){ggb(a.xd,b)}function AE(a){return a.b0}function z0(a,b){return r0(a,b)<0}function bz(a){return!a?null:a.g}function gz(a){return!a?null:a.i}function Ymb(a){CFc(a.c);CFc(a.i)}function iEb(){Pd(P$c);this.a=P$c}function yyb(a){this.a=a;this.b=1}function LOc(a,b){while(a.uf(b));}function cGc(a,b,c){zTc(a.a,b,c)}function us(a,b){ms(a,b);return a}function _3b(a){a.e=true; -return a}function ITb(a){a.a=a.i-a.f-a.r-1}function wcc(a,b){a.d&&Lac(a.a,b)}function xcc(a,b){a.d&&Mac(a.a,b)}function Stc(a,b){return a.u[b.f]}function Ttc(a,b){return a.u[b.f]}function Zqc(a){return a.p=true,a}function sCc(a,b){a.a+=b;return a}function tCc(a,b){a.a+=b;return a}function $vc(a,b){a!=Rvc&&(a.a=b)}function SKc(a,b){return Wzc(a,b)}function QOc(a,b){while(a.Dk(b));}function MQc(a){this.a=new HPc(a)}function $Hc(){$Hc=S0;ZHc=new aIc}function wOc(){wOc=S0;vOc=new mMc}function Tgb(){Tgb= -S0;Sgb=new mMc}function w8b(){w8b=S0;v8b=new x8b}function xBb(){xBb=S0;wBb=new BBb}function MDb(){MDb=S0;LDb=new QDb}function FJb(){FJb=S0;EJb=new IJb}function SKb(){SKb=S0;RKb=new VKb}function XF(){MF!=0&&(MF=0);OF=-1}function Ub(a){return a>=65&&a<=90}function USc(a){uSc(a);return a.a}function BTc(a,b,c){a.splice(b,c)}function qe(a,b){ee.call(this,a,b)}function ee(a,b){this.e=a;this.f=b}function kf(a,b){this.a=a;this.b=b}function Zj(a,b){this.a=a;this.b=b}function Mj(a,b){this.a=a;this.c=b}function Rj(a, +a}function Nx(a){this.a=a}function nz(a){this.a=a}function sz(a){this.a=a}function Dz(a){this.a=a}function FB(a){this.a=a}function uC(a){this.a=a}function yC(a){this.a=a}function LC(a){this.a=a}function QC(a){this.a=a}function DC(a){this.b=a}function nE(a){this.e=a}function PE(a){this.a=a}function _E(a){this.c=a}function h1(a){this.e=a}function A1(a){this.a=a}function V1(a){this.a=a}function w6(a){this.a=a}function W9(a){this.a=a}function x0(a){return a}function j8b(a,b){a.n=b}function h8b(a,b){a.a= +b}function hcb(a,b){a.q=b}function Ddb(a,b){a.j=b}function MCb(a,b){a.c=b}function CJb(a,b){a.d=b}function QSb(a,b){a.d=b}function RSb(a,b){a.e=b}function k8b(a,b){a.p=b}function Nac(a,b){a.f=b}function Rac(a,b){a.g=b}function Tac(a,b){a.j=b}function $ec(a,b){a.j=b}function Yec(a,b){a.e=b}function _ec(a,b){a.k=b}function hbc(a,b){a.b=b}function ibc(a,b){a.c=b}function jbc(a,b){a.d=b}function dfc(a,b){a.n=b}function uqc(a,b){a.o=b}function Ovc(a,b){a.a=b}function rTc(a,b){a.a=b}function qeb(a,b){a.oc= +b}function Ei(a){a.c=a.d.d}function Xib(a){this.b=a}function Zib(a){this.a=a}function bdb(a){this.a=a}function hdb(a){this.a=a}function jdb(a){this.a=a}function ldb(a){this.a=a}function ndb(a){this.a=a}function pdb(a){this.a=a}function wgb(a){this.a=a}function Gkb(a){this.a=a}function xlb(a){this.a=a}function unb(a){this.a=a}function Anb(a){this.c=a}function uqb(a){this.c=a}function gmb(a){this.b=a}function Rsb(a){this.a=a}function Rxb(a){this.a=a}function swb(a){this.a=a}function Ewb(a){this.a=a} +function PAb(a){this.a=a}function XAb(a){this.a=a}function yCb(a){this.a=a}function cEb(a){this.a=a}function LFb(a){this.a=a}function LRb(a){this.a=a}function kIb(a){this.a=a}function SJb(a){this.a=a}function uLb(a){this.a=a}function p8b(a){this.a=a}function s9b(a){this.a=a}function N_b(a){this.d=a}function l4b(a){this.j=a}function Wac(a){this.c=a}function Irc(a){this.c=a}function Izc(a){this.a=a}function Ufc(a){this.a=a}function Zfc(a){this.a=a}function yhc(a){this.a=a}function Dhc(a){this.a=a}function Svc(a){this.a= +a}function aAc(a){this.a=a}function TAc(a){this.a=a}function jBc(a){this.a=a}function jEc(a){this.a=a}function dEc(a){this.a=a}function oEc(a){this.a=a}function tEc(a){this.a=a}function REc(a){this.a=a}function aDc(a){this.a=a}function zDc(a){this.a=a}function PDc(a){this.d=a}function cwc(a){this.b=a}function aFc(a){this.b=a}function fFc(a){this.a=a}function nFc(a){this.a=a}function mHc(a){this.a=a}function sIc(a){this.a=a}function CIc(a){this.a=a}function OIc(a){this.b=a}function eJc(a){this.b=a} +function EJc(a){this.d=a}function HGc(a){this.c=a}function HKc(a){this.a=a}function fKc(a){this.a=a}function kKc(a){this.a=a}function LKc(a){this.a=a}function bLc(a){this.a=a}function ELc(a){this.a=a}function yMc(a){this.a=a}function VNc(a){this.a=a}function AOc(a){this.a=a}function OOc(a){this.a=a}function QOc(a){this.a=a}function PQc(a){this.a=a}function MSc(a){this.a=a}function MTc(a){this.a=a}function bTc(a){this.a=a}function vTc(a){this.a=a}function df(){this.a="."}function q0(a){return a.e} +function VKb(a){return a}function Jz(a){pl(a,qVc)}function b9(a,b){v8(a.c,b)}function C8(a,b){b&&a.Bh()}function ecb(a,b){fcb(a,b)}function LFc(){sFc(this)}function pGc(){dGc(this)}function qGc(){dGc(this)}function _8(a){a.d=new oMc}function rc(a){this.a=Pd(a)}function Kc(a){this.a=Pd(a)}function rf(a){this.a=Pd(a)}function dm(a){this.a=Pd(a)}function wy(a){this.a=Pd(a)}function By(a){this.a=Pd(a)}function uz(a){this.a=Pd(a)}function Xz(a){this.a=Pd(a)}function Xv(a){this.b=Pd(a)}function Kh(a){this.b= +Pd(a)}function jNc(){this.a=eNc()}function vs(){this.a=new pGc}function Fs(){this.b=new pGc}function nt(){this.a=new ENc}function bu(){this.b=new pGc}function bzc(a){a.a=new pGc}function utb(a){a.d=new oMc}function Ow(a,b){a.e=b;b.b=a}function Br(a,b,c){a.ef(c,b)}function BF(){CD.call(this)}function $Cc(){$Cc=T0;LTc()}function _Ac(a){return a&-a}function Dn(a){on();this.a=a}function Ps(a){on();this.a=a}function Zs(a){on();this.a=a}function gu(a){On();this.a=a}function cv(a){On();this.a=a}function Uy(a){On(); +this.a=a}function fG(a){eG();dG.rg(a)}function _zb(a){this.f=Pd(a)}function eE(){this.a=new ENc}function ysb(){BF.call(this)}function s7b(){BF.call(this)}function Ozc(){BF.call(this)}function QAc(){BF.call(this)}function wBc(){BF.call(this)}function JCc(){BF.call(this)}function fLc(){BF.call(this)}function uOc(){BF.call(this)}function Tzc(){CD.call(this)}function ETc(a,b){a.length=b}function Bq(a,b){a.Ze().Id(b)}function hbb(a,b){fGc(a.e,b)}function vdb(a,b){fGc(a.e,b)}function dcb(a,b){lGc(a.e,b)} +function _mb(a,b){tFc(a.c,b)}function inb(a,b){pnb(a.j,b)}function Cb(){Cb=T0;Bb=new Db}function GF(){GF=T0;FF=new tb}function ZF(){ZF=T0;YF=new aG}function nc(){nc=T0;mc=new oc}function uc(){uc=T0;tc=new vc}function Km(){Km=T0;Jm=new Lm}function qw(){qw=T0;pw=new rw}function OA(){OA=T0;NA=new PA}function wu(){wu=T0;Do();OA()}function obc(){nbc.call(this)}function qbc(){nbc.call(this)}function sbc(){qbc.call(this)}function oMc(){oDc.call(this)}function GMc(){oDc.call(this)}function pMc(){pDc.call(this)} +function vMc(){this.a=new oMc}function wMc(){this.a=new pMc}function bRc(){this.a=new pMc}function aRc(){this.a=new oMc}function FRc(){this.a=new oMc}function Ujb(){this.a=new vMc}function Xwb(){this.a=new vMc}function V7b(){this.c=new DCc}function NQc(){this.a=new IPc}function AE(a){return a.b0}function A0(a,b){return s0(a,b)<0}function T5(a,b){return a.c.Pd(b)}function NOc(a,b){while(a.uf(b));}function NTc(a){MTc.call(this,a)}function UJc(a){OIc.call(this,a)}function _Jc(a){UJc.call(this,a)}function rKc(a){jJc.call(this,a)}function zyb(a){this.a=a;this.b=1}function jEb(){Pd(R$c);this.a=R$c}function Zmb(a){EFc(a.c);EFc(a.i)}function pAc(a){nAc(a);return a.p}function qAc(a){nAc(a);return a.n}function us(a,b){ms(a,b);return a}function c4b(a){a.e=true;return a} +function LTb(a){a.a=a.i-a.f-a.r-1}function ycc(a,b){a.d&&Nac(a.a,b)}function zcc(a,b){a.d&&Oac(a.a,b)}function Utc(a,b){return a.u[b.f]}function Vtc(a,b){return a.u[b.f]}function _qc(a){return a.p=true,a}function uCc(a,b){a.a+=b;return a}function vCc(a,b){a.a+=b;return a}function awc(a,b){a!=Tvc&&(a.a=b)}function UKc(a,b){return Yzc(a,b)}function SOc(a,b){while(a.Dk(b));}function OQc(a){this.a=new JPc(a)}function aIc(){aIc=T0;_Hc=new cIc}function yOc(){yOc=T0;xOc=new oMc}function Xgb(){Xgb=T0;Wgb= +new oMc}function z8b(){z8b=T0;y8b=new A8b}function yBb(){yBb=T0;xBb=new CBb}function NDb(){NDb=T0;MDb=new RDb}function GJb(){GJb=T0;FJb=new JJb}function TKb(){TKb=T0;SKb=new WKb}function XF(){MF!=0&&(MF=0);OF=-1}function Ub(a){return a>=65&&a<=90}function WSc(a){wSc(a);return a.a}function DTc(a,b,c){a.splice(b,c)}function qe(a,b){ee.call(this,a,b)}function ee(a,b){this.e=a;this.f=b}function kf(a,b){this.a=a;this.b=b}function Zj(a,b){this.a=a;this.b=b}function Mj(a,b){this.a=a;this.c=b}function Rj(a, b){this.a=a;this.c=b}function $h(a,b){this.b=a;this.c=b}function Zg(a,b){this.b=a;this.a=b}function kr(a,b){this.b=a;this.a=b}function or(a,b){this.g=a;this.i=b}function Jr(a,b){this.b=a;this.a=b}function ul(a,b){this.a=a;this.b=b}function Al(a,b){this.a=a;this.b=b}function Cl(a,b){this.a=a;this.b=b}function Kl(a,b){this.a=a;this.b=b}function Ml(a,b){this.a=a;this.b=b}function Xl(a,b){this.a=a;this.b=b}function zm(a,b){this.a=a;this.b=b}function wq(a,b){this.a=a;this.b=b}function ju(a,b){this.a=a; -this.b=b}function tv(a,b){this.a=a;this.b=b}function Kx(a,b){this.a=a;this.b=b}function Zx(a,b){this.a=a;this.f=b}function xB(a,b){this.a=a;this.b=b}function pC(a,b){this.a=a;this.b=b}function St(a,b){this.b=a;this.a=b}function XD(a,b){this.b=a;this.a=b}function LD(a,b){ED.call(this,a,b)}function DF(a,b){LD.call(this,a,b)}function e2(a,b){ee.call(this,a,b)}function m7(a,b){ee.call(this,a,b)}function Lt(){Mt.call(this,new lx)}function D3(a,b){this.a=a;this.b=b}function ox(a,b){return aDc(a.b,b)}function dp(a, -b){return zJc(a.d,b)}function CE(a){return HBc(a.a,a.b)}function C0(a,b){return r0(a,b)!=0}function u0(a,b){return r0(a,b)==0}function l8b(a,b){return ep(a.a,b)}function EVb(a,b){return a.a.Td(b)}function Vgb(a,b){return a.b.Td(b)}function HIc(a,b){return a.b.Td(b)}function IIc(a,b){return a.b.Ud(b)}function LIc(a,b){return a.b.ce(b)}function Wvc(a,b){return a.b.Le(b)}function xJc(a,b){return a.d.Ie(b)}function WJc(a,b){return a.b.Td(b)}function zJc(a,b){return vb(a.d,b)}function rMc(a,b){return a.a.ue(b)} -function dD(a,b){return a.g[b%a.d]}function ds(a,b){return a>b&&b=97&&a<=122}function Re(a,b){return a.c.le(a,b)}function OSc(a,b){uSc(a);a.a.Id(b)}function GPb(a,b,c){Wec(a,c.c-b.c)}function E7b(a,b,c){wCc(a.c,b,0,c)}function ixb(a,b,c){nub(a.b,a,b,c)}function Zpb(){Zpb=S0;Ypb=qic(EZc)}function hMc(a){this.c=a;eMc(this)}function Mm(){this.c=(Cb(),Cb(),Bb)}function GPc(){HPc.call(this,null)}function ASc(){wSc.call(this,null)}function bs(){yj.call(this, -new mMc)}function lx(){yj.call(this,new CNc)}function lab(a,b){U9.call(this,a,b)}function Jab(a,b){ee.call(this,a,b)}function $db(a,b){ee.call(this,a,b)}function Aeb(a,b){ee.call(this,a,b)}function Feb(a,b){ee.call(this,a,b)}function Meb(a,b){ee.call(this,a,b)}function Seb(a,b){ee.call(this,a,b)}function Yeb(a,b){ee.call(this,a,b)}function bfb(a,b){ee.call(this,a,b)}function ufb(a,b){ee.call(this,a,b)}function Bfb(a,b){ee.call(this,a,b)}function Hfb(a,b){ee.call(this,a,b)}function Nfb(a,b){ee.call(this, -a,b)}function Vfb(a,b){ee.call(this,a,b)}function _fb(a,b){ee.call(this,a,b)}function Qgb(a,b){ee.call(this,a,b)}function cib(a,b){ee.call(this,a,b)}function cB(a){Do();gp.call(this,a)}function hB(a){gB();Np.call(this,a)}function dhb(a,b){this.a=a;this.b=b}function _cb(a,b){this.a=a;this.b=b}function hjb(a,b){this.a=a;this.b=b}function Rjb(a,b){this.a=a;this.b=b}function gkb(a,b){this.a=a;this.b=b}function Nkb(a,b){this.a=a;this.c=b}function nlb(a,b){this.b=a;this.a=b}function amb(a,b){this.b=a;this.a= -b}function Dmb(a,b){this.b=a;this.a=b}function Pnb(a,b){this.b=a;this.a=b}function unb(a,b){this.a=a;this.b=b}function Mnb(a){this.a=a;this.b=lXc}function Grb(a,b){this.a=a;this.b=b}function tlb(a,b){ee.call(this,a,b)}function $lb(a,b){ee.call(this,a,b)}function Lqb(a,b){ee.call(this,a,b)}function Yqb(a,b){ee.call(this,a,b)}function ysb(a,b){DF.call(this,a,b)}function exb(a,b){this.b=a;this.a=b}function jxb(a,b){this.b=a;this.a=b}function mxb(a,b){this.b=a;this.a=b}function Qyb(a,b){this.b=a;this.a= -b}function QAb(a,b){this.a=a;this.b=b}function tBb(a,b){this.a=a;this.b=b}function pCb(a,b){this.a=a;this.b=b}function Pxb(a,b){this.j=a;this.i=b}function XCb(a,b){this.b=a;this.a=b}function ECb(a,b){ee.call(this,a,b)}function Fyb(a,b){ee.call(this,a,b)}function Lzb(a,b){ee.call(this,a,b)}function bDb(a,b){ee.call(this,a,b)}function lDb(a,b){ee.call(this,a,b)}function eDb(){bDb.call(this,lYc,0)}function nDb(){lDb.call(this,N$c,0)}function xIb(a,b){ee.call(this,a,b)}function dKb(a,b){ee.call(this, -a,b)}function LKb(a,b){ee.call(this,a,b)}function aLb(a,b){ee.call(this,a,b)}function ALb(a,b){LD.call(this,a,b)}function dOb(a,b){ee.call(this,a,b)}function AOb(a,b){ee.call(this,a,b)}function TOb(a,b){ee.call(this,a,b)}function YOb(a,b){ee.call(this,a,b)}function mjb(a,b){return Oob(b,a.b)}function njb(a,b){return Oob(b,a.g)}function Usb(a,b){return Oob(b,a.e)}function WE(a,b){return b.b+a.c.i.b}function EKb(a,b){this.b=a;this.a=b}function OFb(a,b){this.a=a;this.b=b}function XSb(a,b){this.a=a;this.b= -b}function XTb(a,b){this.c=a;this.b=b}function $Tb(a,b){this.a=a;this.b=b}function fXb(a,b){this.e=a;this.d=b}function aTb(a,b){ee.call(this,a,b)}function yTb(a,b){ee.call(this,a,b)}function B_b(a,b){ee.call(this,a,b)}function O_b(a,b){return rYb(a.g,b)}function P_b(a,b){return b>=0&b=48&&a<=55}function K0b(a,b){this.b=a;this.a=b}function t7b(a,b){this.b=a;this.a=b}function J0b(a,b){this.a=a;this.b=b}function $2b(a,b){this.p=a;this.o=b}function w3b(a,b){ee.call(this, -a,b)}function o4b(a,b){ee.call(this,a,b)}function M6b(a,b){ee.call(this,a,b)}function zbc(a,b){ee.call(this,a,b)}function uhc(a,b){ee.call(this,a,b)}function Eic(a,b){ee.call(this,a,b)}function Olc(a,b){ee.call(this,a,b)}function Fbc(a,b){return jac(a.a,b)}function hmc(a,b){return Ttc(a.D,b)}function Rnc(a,b){ee.call(this,a,b)}function Boc(a,b){ee.call(this,a,b)}function agc(a,b){this.c=a;this.b=b}function sic(a,b){this.b=a;this.a=b}function Uqc(a){this.q=a;this.s=a.g}function hIb(){this.a=(on(), -new bu)}function pwc(a,b){this.b=a;this.a=b}function qrc(a,b){ee.call(this,a,b)}function asc(a,b){ee.call(this,a,b)}function ytc(a,b){ee.call(this,a,b)}function Txc(a,b){ee.call(this,a,b)}function Vxc(){Txc.call(this,w0c,0)}function _xc(){Txc.call(this,v0c,1)}function Qzc(a,b){ED.call(this,a,b)}function QAc(a,b){DF.call(this,a,b)}function SCc(a,b){ee.call(this,a,b)}function ZCc(a,b){return _Cc(a.a,b)}function Fzc(a,b){return aCc(a.a,b)}function Ezc(a,b){return HBc(a.a,b)}function nIc(a,b){return aDc(a.a, -b)}function hxc(a,b){return Ttc(a.c,b)}function KDc(a){return a.b=48&&a<=57}function eNc(a,b){return a.a.get(b)}function xNc(a,b){return aDc(a.c,b)}function ZNc(a){return a.b!=a.c.a.b}function NLc(a,b){this.b=a;this.a=b}function DEc(a,b){this.d=a;this.e=b}function BKc(a,b){this.a=a;this.b=b}function eTc(a,b){this.a=a;this.b=b}function jTc(a,b){this.a=a;this.b=b}function uTc(a,b){this.b=a;this.a=b}function yQc(a,b){ee.call(this,a,b)}function KOc(a){COc.call(this, -a,21)}function WF(a){$wnd.clearTimeout(a)}function frc(a){a.e=a.e|8;return a}function s8b(a,b){r8b();return a[b]}function cNc(){$Mc();return new ZMc}function gi(a){ei(a);return a.d.$d()}function Kg(a){return!a?null:a.gf()}function rH(a){return a==null?null:a}function mH(a){return typeof a===gUc}function nH(a){return typeof a===hUc}function qH(a){return typeof a===jUc}function BE(a){return HBc(a.a,a.b++)}function mo(a,b){return vb(a.Jf(),b)}function no(a,b){return a.Jf().ee(b)}function u1(a,b){return!!b&& -G1(b,a)}function eeb(a,b){return igb(a.xd,b)}function feb(a,b){return jgb(a.xd,b)}function leb(a,b){a.hc=new Fe(Pd(b))}function gTc(a,b,c){b.vf(a.a.Pd(c))}function zTc(a,b,c){a.splice(b,0,c)}function dEb(a,b){a.b=gEb(b,a.a,a.b)}function zD(a,b){a.e=b;xD(a,b);yD(a)}function wA(a,b){GA(a,b.df(),b.cf())}function Sn(a,b){GCc(b,a,0,b.length)}function Jpc(a,b){Ud(!a.$j());a.r=b}function rJb(a,b){a.c=Mo(b);return a}function uJb(a,b){a.f=Wn(b);return a}function vJb(a,b){a.g=Wn(b);return a}function wJb(a, -b){a.i=Wn(b);return a}function sOb(a,b){a.i=Dp(b);return a}function mOb(a,b){a.b=Dp(b);return a}function HPb(a,b){JPb(a,b.d.b,b.d.a)}function CVb(a,b){return a.a.Ud(b.a)}function D0b(a){return C0b(a)&&a!=42}function iec(a){return!!a.c&&!a.c.f}function y0(a){return typeof a===hUc}function aCc(a,b){return a.substr(b)}function uCc(a,b){return a.a+=""+b,a}function vCc(a,b){a.a+=""+b;return a}function xCc(a,b){a.a+=""+b;return a}function yCc(a,b){a.a+=""+b;return a}function HTb(a,b){a.q[a.r++]=b;--a.b} -function ZOc(a,b){ROc.call(this,a,b)}function JTb(a){KTb.call(this,a,0,0)}function oDb(){lDb.call(this,"V3",1)}function DCc(a){Gzc.call(this,W0(a))}function X4(a){this.a=a;this.c=false}function Rwb(a){this.b=a;this.a=true}function Rm(a){this.a=a;Mm.call(this)}function Um(a){this.a=a;Mm.call(this)}function mEb(){this.a=v0(Date.now())}function rx(){this.b=($y(12),new nMc)}function hv(a){return Pd(a),new Rm(a)}function t2(a){return f3(a,hWc,u2(a))}function CG(a){return DG(a.l,a.m,a.h)}function Ol(a, -b){return a.e=a.d.Pd(b)}function sb(a,b){return rH(a)===rH(b)}function ecb(a,b){b>1?a.M=1:a.M=b}function jmb(a,b){Ldc(a.c,b,_dc(a.c))}function W_b(a,b,c,d){VTb(a.e,b,c,d)}function duc(a,b,c){Wf(a.q,c.Xj(),b)}function cAb(a,b){return pAb(a.a.d,b)}function JYb(a,b){return lYb(b,a.b.d)}function zOb(a){return a==wOb||a==uOb}function iac(a){return!!a.d&&!!a.d.n}function Ayb(a){this.b=a;this.a=a.b.c}function Frb(a){this.b=a;this.a=false}function q6(a){this.a=new Rq;this.b=a}function $f(a){Gd(a.$d()==0); -this.c=a}function yj(a){Gd(a.$d()==0);this.a=a}function Hcc(a,b){z9b(a.a,b);a.e=true}function k_b(a,b,c){VTb(a.c,b,"%s",c)}function Pec(a,b){a.k=Afc(tfc(a.k),b)}function Qnc(a,b){return Pnc(a.f|b.f)}function PBc(a,b){return a.indexOf(b)}function _dc(a){return a.c?a.c.i:null}function hec(a){return!!a.c&&!!a.c.f}function LAc(a){return nH(a)?a:a.sk()}function smc(a){tmc.call(this,a,null)}function fOc(){wMc.call(this,new CNc)}function gOc(){wMc.call(this,new DNc)}function ntb(){ptb.call(this,new utb)} -function NTc(){KTc.call(this,"UTF-8")}function Ddb(a){Edb.call(this,a,false)}function Pyb(a){Qyb.call(this,a,false)}function GCb(){ECb.call(this,"LINE",0)}function Xi(a,b,c){Ti.call(this,a,b,c)}function eC(a,b){this.c=a;this.b=Pd(b)}function OMc(a){this.a=cNc();this.b=a}function O9b(a){return!a.d?null:a.d.b}function P9b(a){return!a.d?null:a.d.c}function Q9b(a){return!a.d?null:a.d.d}function V9b(a){return!a.d?null:a.d.j}function W9b(a){return!a.d?null:a.d.k}function ov(a){return Pv(a.a.Xd(),a.b)}function Rt(a, -b){return no(a.b,b).df()}function iYb(a){gYb();return ep(JXb,a)}function iVb(){iVb=S0;hVb=ge(gVb())}function dLb(){dLb=S0;cLb=new Kc("/")}function bE(a,b){var c;c=mF(b);aE(a,c)}function Oec(a,b){Fec(a,(thc(),ugc),b)}function Qec(a,b){Gec(a,(thc(),Bgc),b)}function Sec(a,b){Gec(a,(thc(),Rgc),b)}function Vec(a,b){Gec(a,(thc(),phc),b)}function _ec(a,b){Gec(a,(thc(),khc),b)}function aHc(a,b){ZGc(a,0,a.length,b)}function Yhc(a){Jdc();kfc.call(this,a)}function nnc(a){amc();smc.call(this,a)}function Wnc(a){amc(); -Tnc.call(this,a)}function Avc(a){amc();Tnc.call(this,a)}function Hvc(a){amc();Tnc.call(this,a)}function rwc(a){amc();Tnc.call(this,a)}function wwc(a){amc();Tnc.call(this,a)}function vzc(a){amc();Tnc.call(this,a)}function guc(a){amc();yqc.call(this,a)}function ivc(a){amc();Xuc.call(this,a)}function tvc(a){amc();ivc.call(this,a)}function syc(a){amc();smc.call(this,a)}function pPc(a){qPc.call(this,a,"","")}function CQc(){yQc.call(this,"Head",1)}function HQc(){yQc.call(this,"Tail",3)}function qFc(a){a.a= -vG(qZ,xUc,1,8,5,1)}function bGc(a){a.a=vG(qZ,xUc,1,0,5,1)}function Ni(a){this.a=a;Hi.call(this,a)}function uOc(a){return a!=null?zb(a):0}function iLc(a){return a<10?"0"+a:""+a}function qmc(a){return lH(a,49)?a:null}function rmc(a){return lH(a,49)?a:null}function tBc(a,b){return r0(a,b)>0?a:b}function MBc(a,b){return rH(a)===rH(b)}function zKc(a,b,c){return SKc(b.a,c.a)}function Aac(a,b){b?a.a|=1:a.a&=-2}function VRc(a,b){if(IRc)return;a.b=b}function Shb(a,b){hDc(Qhb,a,b);return b}function _t(a,b){Pd(b); -ls(a,b);return a}function jt(a,b){On();this.a=a;this.b=b}function pu(a,b){On();ju.call(this,a,b)}function Nr(a){this.a=a;Kh.call(this,a)}function Ur(a){this.a=a;Kh.call(this,a)}function DE(a){this.a=a;this.c=a.length}function Rib(a){this.a=a;this.b=new nGc}function ejb(a){this.b=a;this.a=new JFc}function Uwb(a){this.b=a;this.a=new tMc}function qAb(a){this.b=a;this.a=new CNc}function nIb(a){this.b=a;this.a=new nGc}function Qkb(a){this.b=new fOc;this.a=a}function NAb(a){this.c=new fOc;this.a=a}function owc(a){this.c= -new mMc;this.d=a}function VCb(){this.a=(Dic(),Bic);YCc()}function g9b(a){return Jdc(),new ggc(a)}function LAb(a,b){return new JAb(a,b,b)}function IYb(a,b){return new t7b(b,a.f)}function Qwc(a,b){return Pwc(a,b.c,b.d)}function dSc(a,b){return new cSc(a.a,b)}function BVb(a,b){return a.a.Ud(SLc(b))}function SAc(a,b){return ab?1:0}function sTc(a,b,c){return WSc(a.a,b,c)}function DG(a,b,c){return{l:a,m:b,h:c}}function lH(a,b){return a!=null&&iH(a,b)}function lGc(a,b){_Gc(a.a,a.a.length,b)}function fMc(a){return a.a< -a.c.a.length}function aOc(a){this.c=a;this.b=a.a.b.a}function EQc(){yQc.call(this,"Range",2)}function ze(){qe.call(this,"IS_NULL",2)}function Ce(){qe.call(this,"NOT_NULL",3)}function rw(){ee.call(this,"INSTANCE",0)}function vD(a){a.i=vG(sZ,xUc,138,0,0,1)}function XSc(a,b,c){pTc(a,sTc(b,a.a,c))}function ts(a,b){dGc(a.a,Pd(b));return a}function $t(a,b){dGc(a.b,Pd(b));return a}function Zy(a,b){return new lz(a.Xd(),b)}function a1(a){return new r2(a,a.Hg().k)}function rkb(a,b){return Ttc(a.a.Mg(),b)}function Lv(a){return a.Jd()? -a.Kd():null}function cub(a,b,c){a.i=b;a.p=c;a.d=null}function vlb(a,b){Kdc(a.a.g,b,a.a);a.a=b}function T$b(a,b){return V_b(a.g,0).e==b}function kYb(a){gYb();return!!ep(JXb,a)}function z7b(a){CF.call(this,"Width:"+a)}function HCb(){ECb.call(this,"REGION",1)}function NKb(){LKb.call(this,"ESCAPE",0)}function cgb(a,b){CF.call(this,T7b(a,b))}function f8(){e8();g8.call(this,new Mab)}function Gd(a){if(!a)throw p0(new wsb);}function Ud(a){if(!a)throw p0(new OAc);}function tx(a){if(!a)throw p0(new sOc);}function b8b(a){this.a= -a;this.c=a.length}function aec(a){return a==a.g.c?null:a.i}function mac(a){return!!a.d&&bbc(a.d,4)}function oac(a){return!!a.d&&bbc(a.d,5)}function pac(a){return!!a.d&&bbc(a.d,6)}function qac(a){return!!a.d&&bbc(a.d,0)}function rac(a){return!!a.d&&bbc(a.d,3)}function sac(a){return!!a.d&&bbc(a.d,2)}function vac(a){return!!a.d&&bbc(a.d,1)}function SDc(a){return a.a.ee(a.c=--a.b)}function sMc(a,b){return a.a.Ne(b)!=null}function KQc(a,b){return a.a.Ne(b)!=null}function HBc(a,b){return a.charCodeAt(b)} -function Ic(a,b){return Hc(a,new BCc,b).a}function oCc(a){return pCc(a,0,a.length)}function nCc(a){return a==null?uUc:W0(a)}function Vzc(){Vzc=S0;Tzc=false;Uzc=true}function Dc(){Dc=S0;Cc=$Ac(31);Bc=new Ec}function Xqc(a){a.b=(prc(),mrc);return a}function WSc(a,b,c){a.a.ef(b,c);return b}function Kt(a,b){vj(a.a,Pd(b),1);return a}function ANc(a,b){if(a.a){ONc(b);NNc(b)}}function Sh(a,b){this.a=a;Kh.call(this,b)}function Hr(a,b){this.a=a;dr.call(this,b)}function ir(a,b){this.a=b;dr.call(this,a)}function bw(a, -b){this.a=b;Xv.call(this,a)}function lz(a,b){this.a=b;Xv.call(this,a)}function GC(a){this.a=a;DC.call(this,a.a)}function Fu(a){Fs.call(this);this.a=Pd(a)}function Xu(a){bu.call(this);this.a=Pd(a)}function CD(){vD(this);wD(this);this.jg()}function Fi(a){a.b.Ld();--a.d.f.d;fi(a.d)}function Wvb(a){uub();return XLc(qub,a.n)}function Pv(a,b){Pd(b);return new bw(a,b)}function Pe(a,b){Pd(b);return new kf(a,b)}function Jx(a,b){return new ey(a.a,a.b,b)}function MAb(a,b){return new JAb(a,b,a.b)}function MG(a){return a.l+ -a.m*LVc+a.h*MVc}function Fz(a){return pl(2,oVc),new Qz(a)}function Gz(a){return pl(2,oVc),new Sz(a)}function Hz(a){return pl(2,oVc),new Uz(a)}function f9b(a){return p9b((Nlc(),Mkc),a)}function q9b(a){return p9b((Nlc(),Ilc),a)}function _mb(a,b,c){rFc(a.c,b);rFc(a.i,c)}function l_b(a,b,c){VTb(a.c,N_b(a.g),b,c)}function U2b(a,b){V2b.call(this,a,b,null)}function luc(a,b){muc.call(this,a,b,null)}function Shc(){kfc.call(this,(Nlc(),wlc))}function fyc(){Txc.call(this,"UNKNOWN",2)}function gDb(){bDb.call(this, -"SYMBOLS",1)}function VKb(){ee.call(this,"RELATIVE",0)}function PDb(a,b){MDb();this.a=a;this.b=b}function bdc(a,b){adc();this.a=a;this.b=b}function Pdc(a,b){Odc(a,b,a.c?a.c.i:null)}function oIc(a,b){return iDc(a.a,b)!=null}function RBc(a,b){return a.lastIndexOf(b)}function QBc(a,b,c){return a.indexOf(b,c)}function Z3b(a,b){a.k=b;return new Y3b(a)}function h_b(a,b){a.d=HVb(a.d,b);return a}function xFc(a){var b;b=a.a[a.b];return b}function Aqb(a){var b;for(b=a.o;b;b=b.o);}function HSc(a,b){!!b&&(a.a= -(uSc(b),b.a))}function XLc(a,b){return!!b&&a.b[b.f]==b}function YTc(a){return a.$H||(a.$H=++XTc)}function MAc(a){return nH(a)?sH(a):a.tk()}function de(a){return a.e!=null?a.e:""+a.f}function cQc(a){this.a=a;$Ec.call(this,a)}function hJc(a){MIc.call(this,a);this.a=a}function sJc(a){cJc.call(this,a);this.a=a}function qKc(a){CJc.call(this,a);this.a=a}function tKc(a){SJc.call(this,a);this.a=a}function Bf(a,b){Sd(b,a);this.d=a;this.c=b}function yc(a,b){this.a=Pd(a);this.b=Pd(b)}function mE(a,b){this.i= -a;this.a=new DE(b)}function Pn(a,b){return new rs(a,a.$d(),b)}function Vnb(a,b){return gLb(DKb(a.e,b).a)}function iPb(a,b){return jPb(a,fPb(a,b.d))}function xw(a,b){return xg(a.a,b,dBc(0)).a}function S$b(a,b,c){return V_b(a.g,b).e==c}function U_b(a){V_b(a,0);return iGc(a.d,0)}function iG(a){eG();return parseInt(a)||-1}function NFc(a){if(!a)throw p0(new dLc);}function STc(a){if(!a)throw p0(new sOc);}function PTc(a){if(!a)throw p0(new wsb);}function Rec(a,b){Fec(a,(thc(),Tgc),b?1:0)}function $ec(a, -b){Fec(a,(thc(),lhc),b?1:0)}function cfc(a,b){Fec(a,(thc(),shc),b?1:0)}function Cec(a,b){return Dec(a,b,b.length)}function _Bc(a,b,c){return a.substr(b,c-b)}function bCc(a,b,c){return a.substr(b,c-b)}function Di(a,b,c,d){vi.call(this,a,b,c,d)}function Zhc(a,b){Jdc();mfc.call(this,a,b)}function ODb(a){MDb();PDb.call(this,a,LDb)}function Moc(a){smc.call(this,a);Doc(this)}function g6(){c6.call(this,(on(),gB(),fB))}function PNc(a){QNc.call(this,a,null,null)}function RKc(a){QKc();return a==NKc?null:a} -function gac(a){return!!(!a.d?null:a.d.a)}function hac(a){return!!(!a.d?null:a.d.i)}function KGc(a,b){return LGc(a,a.length,b)}function HLb(){return(new Date).getTime()}function kDc(a){a.d=new OMc(a);a.e=new hNc}function vNc(a){a.b=new PNc(a);a.c=new mMc}function MDc(a){a.d.he(a.c);a.b=a.c;a.c=-1}function fc(a,b){Gd(b>=a);this.b=a;this.a=b}function r2(a,b){l2();this.b=Pd(a);this.a=b}function Ii(a,b){this.d=a;Ei(this);this.b=b}function tmc(a,b){this.D=a;this.F=!b?a.g:b}function Wm(a,b){this.a=b;Bf.call(this, -a,0)}function Ti(a,b,c){hi.call(this,a,b,c,null)}function Cdb(a,b){Bdb.call(this,a,a.Zh(),b)}function Zgb(a){Tgb();Xgb.call(this,null,a)}function $gb(a){Tgb();Ygb.call(this,null,a)}function Kjb(a){Hjb();this.a=a;this.b=false}function x8(a,b){a.th();b&&a.Bh();a.q=false}function v8(a){Ud(a.s==a.t);a.sh("`");++a.s}function lAc(a){if(a.p!=null)return;BAc(a)}function Wlb(a){this.b=(Zlb(),Xlb);this.a=a}function lAb(a,b){this.a=a;$zb.call(this,b)}function kjb(a,b,c){return Lob(a.a,a.f,b,c)}function yrb(a, -b,c){return zrb(a,pXc,b.a,c)}function TCb(a,b,c){return new WCb(b,c,a.a)}function T1(a,b){return Fo(a.a,b,(Z1(),X1))}function KBc(a){return oCc(MTc(a,a.length))}function IFc(a){return a.c-a.b&a.a.length-1}function DTb(a){return a.g==a.d?a.c+a.a:a.a}function sfc(a){Jdc();return a==-1?-1:a&NVc}function hnc(a){amc();return!a?null:a.rj()}function WLc(a,b){return lH(b,11)&&XLc(a,b)}function YLc(a,b){return lH(b,11)&&ZLc(a,b)}function ORc(a,b){if(IRc)return;dGc(a.a,b)}function VSc(a,b){wSc.call(this,a); -this.a=b}function _vc(){Svc();awc.call(this,new GPc)}function rOc(){CF.call(this,"no key found")}function te(){qe.call(this,"ALWAYS_TRUE",0)}function we(){qe.call(this,"ALWAYS_FALSE",1)}function fib(){cib.call(this,"MULTILINE",1)}function eLc(a){this.a=new $wnd.Date(G0(a))}function ak(a){this.e=a;this.c=a.a.Je().Xd()}function gg(a){return lH(a,53)?a.fe():a.Xd()}function xc(a,b){return a.a.Nd(b)||a.b.Nd(b)}function pH(a,b){return a&&b&&a instanceof b}function ot(a,b){return xg(a.a,b,dBc(0)).a>0}function QF(a, -b,c){return a.apply(b,c);var d}function c3(a,b,c){return b3(a,b,Pe(We(),c))}function hcb(a,b,c,d){ndb(new bdb(a,b,d,c))}function p4(a,b){x4((Nlc(),Ckc),b);N4(a,b.c)}function im(a,b){var c;c=a.a;a.a=b;return c}function Vdc(a){Pd(a.g);Hec(a.g,a);return a}function Jbb(a){oeb(a.I)&&Vbb(a);return null}function di(a){a.b?di(a.b):a.f.c.Me(a.e,a.d)}function jH(a){return String.fromCharCode(a)}function kw(a){this.a=(ew(),dw);this.d=Pd(a)}function Dsb(a){this.a=new r9b(a.b);this.c=a}function Jgb(a,b){this.a= -a;this.c=b;this.b=0}function Xcb(){this.c=new BCc;this.d=new tMc}function aUc(){aUc=S0;ZTc=new tb;_Tc=new tb}function Hjb(){Hjb=S0;Gjb=Ne(Ve(new jc(46)))}function mx(a){yj.call(this,($y(a),new DNc))}function Lm(){zm.call(this,(Do(),Do(),Co),0)}function y3b(a){$2b.call(this,(L6b(),i5b),a)}function z3b(a){$2b.call(this,(L6b(),j5b),a)}function A3b(a){$2b.call(this,(L6b(),h5b),a)}function I3b(a){$2b.call(this,(L6b(),r5b),a)}function N3b(a){$2b.call(this,(L6b(),w5b),a)}function w4b(a){$2b.call(this,(L6b(), -O5b),a)}function H4b(a){$2b.call(this,(L6b(),Z5b),a)}function L4b(a){$2b.call(this,(L6b(),c6b),a)}function M4b(a){$2b.call(this,(L6b(),d6b),a)}function T6b(a){$2b.call(this,(L6b(),q6b),a)}function Y6b(a){$2b.call(this,(L6b(),v6b),a)}function eib(){cib.call(this,"SINGLELINE",0)}function hib(){cib.call(this,"SOURCELESS",2)}function v7b(a){CF.call(this,"codePoint:"+a)}function tfc(a){Jdc();return a==-1?-1:a>>>12}function Nbc(a,b){a.e=true;return H9b(a.a,b)}function IEc(a,b){var c;c=b;return!!a.zk(c)} -function wEc(a,b){var c;c=a.e;a.e=b;return c}function ryc(a,b){Ud(!b.Wd());a.a=b;return a}function Adb(a,b){Gd(!b||!a.k||a.k==b);a.k=b}function Mac(a,b){if(!wac(a))return;a.b.i=b}function uNc(a,b){while(a.Jd())b.vf(a.Kd())}function JVb(a,b){return new NVb(TVb(a.a,b))}function rPb(a,b){return Sdc(new kfc(b),a.u)}function yTc(a,b){return DTc(new Array(b),a)}function Lc(a,b,c){Pd(c);return new td(c,a,b)}function Ve(a){Pd(a);return new Te(new Xe(a))}function Jc(a){Pd(a);return lH(a,445)?a:W0(a)}function kCc(a){return qH(a)? -a.length:a.lk()}function DOc(a){this.d=a;this.a=0;this.c=YUc}function td(a,b,c){this.b=a;this.a=b;this.c=c}function El(a,b,c){this.c=b;this.b=c;this.a=a}function af(a,b,c){this.a=c;$e.call(this,a,b)}function ff(a,b,c){this.a=c;$e.call(this,a,b)}function rs(a,b,c){this.a=a;Bf.call(this,b,c)}function Aw(a,b,c){this.a=a;this.c=b;this.d=c}function lA(a,b){$f.call(this,a);this.a=Pd(b)}function pA(a,b){zk.call(this,a);this.a=Pd(b)}function xSc(a){wSc.call(this,null);this.a=a}function SE(a,b,c){this.j=a; -this.b=b;this.a=c}function XC(a,b,c){this.b=a;this.a=b;this.c=c}function n1(a,b,c){ee.call(this,a,b);this.a=c}function H1(a,b,c){ee.call(this,a,b);this.a=c}function w5(a,b,c){this.c=a;this.b=b;this.a=c}function u6(a,b,c){this.a=a;this.c=b;this.b=c}function Ybb(a,b,c){c.b=a;return YQc(a.v,b,c)}function Edb(a,b){Cdb.call(this,new Dsb(a),b)}function XMc(a,b){var c;c=a[p0c];c.call(a,b)}function YMc(a,b){var c;c=a[p0c];c.call(a,b)}function lo(a,b){return b!=null&&a.Jf().Td(b)}function vF(a){return new uF(a.d, -a.c,a.a,a.b)}function wNc(a){kDc(a.c);a.b.b=a.b;a.b.a=a.b}function fnb(a,b){rnb(a.j,b);dGc(a.a,b);a.j=b}function Osb(a,b){if(a.a)return a.a;return b}function NE(a,b){OE(a,"file",false);a.a+=""+b}function Np(a){on();this.b=(JHc(),new SJc(a))}function fp(a){Do();this.d=(JHc(),new CJc(a))}function r_b(a){this.b=a;this.a=(On(),new vs)}function _jb(a){Wjb();this.a=a;this.b=new JFc}function aBb(a){ZAb();this.a=a;this.b=new mMc}function aDb(){aDb=S0;$Cb=new eDb;_Cb=new gDb}function kDb(){kDb=S0;iDb=new nDb; -jDb=new oDb}function DCb(){DCb=S0;BCb=new GCb;CCb=new HCb}function KKb(){KKb=S0;JKb=new NKb;IKb=new PKb}function on(){on=S0;new Dn((JHc(),JHc(),HHc))}function A8b(a,b){return E8b((Nlc(),Gic),a,b)}function J8b(a,b){return E8b((Nlc(),pjc),a,b)}function M8b(a,b){return E8b((Nlc(),Hjc),a,b)}function $8b(a,b){return E8b((Nlc(),ykc),a,b)}function d9b(a,b){return E8b((Nlc(),Ikc),a,b)}function n9b(a,b){return E8b((Nlc(),rlc),a,b)}function Ulc(a){return new Zhc((Nlc(),Mic),a)}function lEb(a){return E0(v0(Date.now()), -a.a)}function SBc(a,b,c){return a.lastIndexOf(b,c)}function yac(a,b){!a.d&&(a.d=new dbc);a.d.a=b}function zac(a,b){!a.d&&(a.d=new dbc);a.d.b=b}function Dac(a,b){!a.d&&(a.d=new dbc);a.d.d=b}function Eac(a,b){!a.d&&(a.d=new dbc);a.d.i=b}function Fac(a,b){!a.d&&(a.d=new dbc);a.d.j=b}function Gac(a,b){!a.d&&(a.d=new dbc);a.d.k=b}function WRc(a,b){if(IRc)return;!!b&&(a.d=b)}function ep(a,b){return b==null?null:dz(a.d,b)}function Oe(a){return new Ue(a.c,true,a.d,a.a)}function ISc(a){this.b=a;ZOc.call(this, -YUc,0)}function mSc(){this.a=tUc;this.b="";this.c=""}function wv(a){this.a=a;this.b=1;Mm.call(this)}function y7b(a){CF.call(this,"Precision: "+a)}function I9(a,b){J9.call(this,a,b,false,false)}function N4(a,b){while(b){M4(a,b,false);b=b.f}}function Vhb(a,b){return lH(b,5)&&MBc(b.b,a.b)}function peb(a){return a.xc||a.Ab==(Xeb(),Ueb)}function tjb(){tjb=S0;sjb=MVb((AVb(),qVb),pVb)}function eB(){eB=S0;on();dB=Cw((On(),On(),Nn))}function kOc(){kOc=S0;iOc=new lOc;jOc=new nOc}function JHc(){JHc=S0;HHc=new THc; -IHc=new iIc}function WRb(a){var b;b=a.o;a.o=null;return b}function Trb(a,b){Gd(true);b.k=null;jGc(a.d,b)}function vyb(a,b){this.c=a;this.b=b.d;this.a=b}function vBb(a,b,c){this.b=a;this.c=b;this.a=c}function Whb(a,b,c){this.b=a;this.c=b;this.a=c}function WSb(a,b,c){this.c=a;this.b=b;this.a=c}function Oib(a,b,c){this.a=a;this.b=b;this.c=c}function UEb(a,b,c){this.a=a;this.b=b;this.c=c}function lrb(a,b,c){this.a=a;this.c=b;this.b=c}function fkb(a,b,c){this.g=a;this.f=b;this.b=c}function Dzb(a,b,c){ee.call(this, -a,b);this.a=c}function HIb(a,b,c){ee.call(this,a,b);this.a=c}function NOb(a,b,c){ee.call(this,a,b);this.a=c}function V2b(a,b,c){ee.call(this,a,b);this.a=c}function p3b(a,b,c){this.c=a;this.a=b;this.b=c}function yAb(a,b){return Osb(Nsb(b.d,a.e),a.g)}function FVb(a,b){return new NVb(TVb(a.a,b.a))}function IVb(a,b){return new NVb(TVb(a.a,b.a))}function MVb(a,b){return new NVb(PVb(a.a,b.a))}function fVb(a){dVb();return ke((iVb(),hVb),a)}function $9b(a){return(lZc&a.a)==lVc?a.i:null}function dac(a){return(lZc& -a.a)==yZc?a.i:null}function Bac(a){!a.d&&(a.d=new dbc);cbc(a.d,4)}function Hac(a){!a.d&&(a.d=new dbc);cbc(a.d,5)}function Iac(a){!a.d&&(a.d=new dbc);cbc(a.d,6)}function Kac(a){!a.d&&(a.d=new dbc);cbc(a.d,0)}function Nac(a){!a.d&&(a.d=new dbc);cbc(a.d,3)}function Oac(a){!a.d&&(a.d=new dbc);cbc(a.d,2)}function Sac(a){!a.d&&(a.d=new dbc);cbc(a.d,1)}function Noc(a,b){tmc.call(this,a,b);Doc(this)}function Xrc(a,b,c){ee.call(this,a,b);this.a=c}function csc(a,b,c){this.c=a;this.a=b;this.b=c}function esc(a, -b,c){this.b=a;this.a=b;this.c=c}function $Lc(a,b,c){this.a=a;this.b=b;this.c=c}function qNc(a,b,c){this.a=a;this.b=b;this.c=c}function Hi(a){this.d=a;Ei(this);this.b=gg(a.d)}function pGc(a){bGc(this);ATc(this.a,0,a.be())}function AKc(a,b,c){return SAc(a.vi(b),a.vi(c))}function jxc(a,b,c){return b==c||b==Uwc(a.a,c)}function bnc(a,b,c,d){amc();return d.jj(a,b,c)}function cnc(a,b,c,d){amc();return a.jj(d,b,c)}function tl(a,b){Pd(a);Pd(b);return new ul(a,b)}function kv(a,b){Pd(a);Pd(b);return new pv(a, -b)}function Xn(a){On();Pd(a);return Wn(new kHc(a))}function Hj(a,b){if(!a)return 0;return im(a,b)}function D0(a,b){return s0(WG(y0(a)?F0(a):a,b))}function v1(a,b){return xNc(a.e,b)||u1(a,I1(b))}function k3(a,b,c){return f3(a,b,j3(a,v3(a,c)))}function jnb(a,b,c){qnb(a.j,b,Jmb(a,b,false,c))}function wAb(a,b,c){return Lob(!!a.a.b,a.e,b,c)}function OEb(a,b,c){JEb();return new UEb(c,a,b)}function lyb(a,b){a.r=b;a.a=j6(new q6(a.b),a.d)}function DVb(a,b){return lH(b,123)&&kB(b.a,a.a)}function Akb(a){return a.n== -(Nlc(),Tjc)||Kvb(a)}function BFc(a){return a.a[a.c-1&a.a.length-1]}function uAc(){var a;a=rAc(null);a.i=2;return a}function py(a){var b;b=new nGc;Fv(b,a);return b}function mB(a){var b;b=new tMc;Fv(b,a);return b}function Oob(a,b){Hob();!!b&&(a.d=b,a);return a}function Tec(a,b){Gec(a,(thc(),Zgc),b);return a}function qbb(a){!a.I&&Fbb(a,new reb);return a.i}function sAc(a){var b;b=rAc(a);FAc(a,b);return b}function dGc(a,b){a.a[a.a.length]=b;return true}function bgc(a,b,c){agc.call(this,a,c);this.a=b}function lgc(a, -b,c){agc.call(this,a,c);this.a=b}function wYb(a,b,c){fXb.call(this,a,c);this.c=b}function QNc(a,b,c){this.c=a;DEc.call(this,b,c)}function pv(a,b){this.a=a;this.b=b;Mm.call(this)}function gt(a){this.b=a;this.a=Eo(this.b.a).Gf()}function DHb(a){AHb();this.b=a;this.a=new X4(a)}function IA(a,b){this.b=a;this.a=b;pl(b,"count")}function w8(a){Ud(a.s==a.t+1);a.sh("${");++a.t}function fx(a){if(a.c.e!=a.a)throw p0(new dLc);}function Sx(a){if(a.e.c!=a.b)throw p0(new dLc);}function H0(a){if(y0(a))return a|0; -return ZG(a)}function EA(a){if(a)return aj(a).$d();return 11}function Yo(a,b){Do();return ol(a,b),new NB(a,b)}function Po(a,b){Do();ol(a,b);return new or(a,b)}function _tb(a,b){uub();XLc(oub,b.n)&&rFc(a.b,b)}function onb(a,b){Ud(!a.d);Ud(a9b(b));Mdc(a.a,b)}function J4(a,b,c){_3(a,(aXb(),RWb),c);I4(a,b,c)}function ATc(a,b,c){xTc(c,0,a,b,c.length,false)}function WTb(a,b,c,d){var e;e=T7b(c,d);a.yi(b,e)}function sPb(a,b,c){return Sdc(new mfc(b,c),a.u)}function KVb(a,b){return new NVb(TVb(a.a,Fp(b)))} -function mPb(a,b){return!!a.b&&a.b.a.a.c<=b.b.c}function hQc(a,b){return!!b&&iQc(a,b.d)?b:null}function eD(a,b){return b0?1:0}function bDc(a,b){return cDc(a,b,a.e)||cDc(a,b,a.d)}function kuc(a,b){a.e=b;lH(b,49)?a.d=b:a.d=null}function UGc(a, -b){var c;for(c=0;c=0,Y0c),1<>24}function tD(a,b){lD.call(this,a,b);Gd(a.c.length==64)}function PKb(){LKb.call(this,"CANONICALIZE_ONLY",1)}function Pd(a){if(a==null)throw p0(new uBc);return a}function xAb(a,b){if(a.a.b)return b.Dd();return null}function pmb(a,b){while(b.c)wmb(a,Jec(b),null,null)}function DKb(a,b){return new EKb(a.b,a.b.c.ti(a.a,b))}function sYb(a,b,c){return new t7b(rYb(a,b),rYb(a,c))}function LVb(a,b,c){return new NVb(PVb(a.a, -TLc(b,c)))}function Gmb(a,b,c,d){return gfc(N8b(Fmb(a,b,c,d)),b)}function dnb(a,b,c,d){return gfc(j9b(Fmb(a,b,c,d)),b)}function mIc(a,b){return gDc(a.a,b,(Vzc(),Uzc))==null}function tSc(a,b){!a.c?dGc(a.b,b):tSc(a.c,b);return a}function erc(a,b,c){a.f=b;a.e=c?a.e|4:a.e&-5;return a}function wTc(a,b){var c;c=a.slice(0,b);return zG(c,a)}function gib(a){var b;b=(c1(),new atb);b.d=a;return b}function Lq(a){var b;b=a.d;return!b?a.d=new ur(a):b}function LDc(a){a.b0);Ud(a.s==a.t);a.sh("}");--a.t}function Rbb(a){a.M=0;bgb(a.I);Nbb(a);Sbb(a);a.M=.15}function jib(){jib=S0;iib=HVb((AVb(),jVb), -(aXb(),VWb))}function zib(){zib=S0;yib=HVb((AVb(),jVb),(aXb(),VWb))}function Yib(){Yib=S0;Xib=HVb((AVb(),jVb),(aXb(),dWb))}function ylb(){ylb=S0;xlb=HVb((AVb(),jVb),(aXb(),dWb))}function jjb(){jjb=S0;ijb=HVb((AVb(),jVb),(aXb(),qWb))}function Ajb(){Ajb=S0;zjb=HVb((AVb(),jVb),(aXb(),oWb))}function Wjb(){Wjb=S0;Vjb=HVb((AVb(),jVb),(aXb(),ZVb))}function Rzb(){Rzb=S0;Qzb=HVb((AVb(),jVb),(aXb(),$Vb))}function Skb(){Skb=S0;Rkb=HVb((AVb(),jVb),(aXb(),bWb))}function cmb(){cmb=S0;bmb=HVb((AVb(),jVb),(aXb(), -rWb))}function Qob(){Qob=S0;Pob=HVb((AVb(),jVb),(aXb(),nWb))}function TAb(){TAb=S0;SAb=HVb((AVb(),jVb),(aXb(),JWb))}function eBb(){eBb=S0;dBb=HVb((AVb(),jVb),(aXb(),GWb))}function nJb(){nJb=S0;Do();ol(_Wc,ZWc);new NB(_Wc,ZWc)}function muc(a,b,c){Noc.call(this,a,c);kuc(this,Pd(b))}function Asb(a,b,c){xsb.call(this,a);this.b=b;this.a=c}function LLb(){g6.call(this);this.a=gib((bib(),false))}function oeb(a){return!a.ad&&!a.B&&a.Ab!=(Xeb(),Ueb)}function fCc(a,b){return qH(a)?a.charCodeAt(b):a.kk(b)}function dDc(a, -b){return qH(b)?eDc(a,b):Kg(LMc(a.d,b))}function qCc(a,b){return a.a+=String.fromCharCode(b),a}function rCc(a,b){a.a+=String.fromCharCode(b);return a}function Utc(a,b){var c,d;c=a.t;d=vq(a.B,c,b);return d}function iGc(a,b){var c;c=a.a[b];BTc(a.a,b,1);return c}function zy(a,b){var c;c=a.a.$d();Od(b,c);return c-1-b}function Hoc(a){var b;b=new LQc;Tvc(a.Vj(),b);return b}function TTc(a){if(a==null)throw p0(new uBc);return a}function Isb(a){this.b=new nGc;this.c=new nGc;this.a=a}function zd(a){this.b= -new Bd;this.c=this.b;this.a=Pd(a)}function gx(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function syb(a){this.f=a;this.d=new nGc;this.c=new tMc}function xu(a,b){wu();fp.call(this,a);this.a=b;this.c=a}function FHc(a,b){var c;c=b+1;c>a.length&&(a.length=c)}function FTc(a,b){var c;c=console[a];c.call(console,b)}function M3(a,b){var c;c=Ydc(a);b!=c&&Z4(AWc+b+BWc+c,a)}function Erb(a,b){var c;c=new BCc;xrb(a,c,b);return c.a}function Do(){Do=S0;Co=new cB(yG(tG(Y$,1),aVc,51,0,[]))}function rD(){qD.call(this, -new fD("base16()",cCc(qUc)))}function d3(a){return Ud(_8b(a)),new mfc((Nlc(),glc),a)}function X2(a){return V2(a,"$jscomp$unused$catch",a.c)}function Cd(a,b){return rH(a)===rH(b)||a!=null&&vb(a,b)}function Fdb(a,b){return(on(),au(new bu,a)).$f(b)._f()}function Smb(a,b){return c9b(b+(a.r.b==0?"":"$"+a.r.b))}function Vvb(a){uub();return a.n!=(Nlc(),Ckc)&&Wvb(a.g)}function zvb(a){uub();return a.n==(Nlc(),Zjc)||a.n==Yjc}function z8(a){Ud(a.s>0);Ud(a.s==a.t+1);a.sh("`");--a.s}function rKb(a,b){!b?a.a=new GKb: -a.a=b;BJb(a.c,a.a)}function PEb(a,b,c){JEb();a.Og()||a.Yg(LVb(a.Cg(),b,c))}function fCb(a,b,c,d,e){acb(a.a,cCb(b,c,d,e,(l7(),i7)))}function gCb(a,b,c,d,e){acb(a.a,cCb(b,c,d,e,(l7(),k7)))}function WDb(a,b,c){this.a=a;this.c=b;this.d=c;Ud(true)}function hXb(a,b){fXb.call(this,(S2b(),B1b),a);this.a=b}function h3b(a,b){$2b.call(this,(L6b(),_4b),a);this.a=b}function a3b(a,b){$2b.call(this,(L6b(),U4b),a);this.a=b}function b3b(a,b){$2b.call(this,(L6b(),V4b),a);this.a=b}function c3b(a,b){$2b.call(this,(L6b(), -W4b),a);this.a=b}function d3b(a,b){$2b.call(this,(L6b(),X4b),a);this.a=b}function e3b(a,b){$2b.call(this,(L6b(),Y4b),a);this.a=b}function f3b(a,b){$2b.call(this,(L6b(),Z4b),a);this.a=b}function i3b(a,b){$2b.call(this,(L6b(),a5b),a);this.a=b}function o3b(a,b){$2b.call(this,(L6b(),g5b),a);this.a=b}function H3b(a,b){$2b.call(this,(L6b(),q5b),a);this.a=b}function J3b(a,b){$2b.call(this,(L6b(),s5b),a);this.a=b}function M3b(a,b){$2b.call(this,(L6b(),v5b),a);this.a=b}function R3b(a,b){$2b.call(this,(L6b(), -A5b),a);this.a=b}function S3b(a,b){$2b.call(this,(L6b(),B5b),a);this.a=b}function X3b(a,b){$2b.call(this,(L6b(),C5b),a);this.a=b}function r4b(a,b){$2b.call(this,(L6b(),J5b),a);this.a=b}function t4b(a,b){$2b.call(this,(L6b(),L5b),a);this.a=b}function A4b(a,b){$2b.call(this,(L6b(),S5b),a);this.a=b}function B4b(a,b){$2b.call(this,(L6b(),T5b),a);this.a=b}function D4b(a,b){$2b.call(this,(L6b(),V5b),a);this.a=b}function J4b(a,b){$2b.call(this,(L6b(),a6b),a);this.a=b}function N4b(a,b){$2b.call(this,(L6b(), -e6b),a);this.a=b}function O4b(a,b){$2b.call(this,(L6b(),f6b),a);this.a=b}function P4b(a,b){$2b.call(this,(L6b(),g6b),a);this.a=b}function Q4b(a,b){$2b.call(this,(L6b(),h6b),a);this.a=b}function R4b(a,b){$2b.call(this,(L6b(),i6b),a);this.a=b}function T4b(a,b){$2b.call(this,(L6b(),k6b),a);this.a=b}function Q6b(a,b){$2b.call(this,(L6b(),n6b),a);this.a=b}function R6b(a,b){$2b.call(this,(L6b(),o6b),a);this.a=b}function W6b(a,b){$2b.call(this,(L6b(),t6b),a);this.a=b}function X6b(a,b){$2b.call(this,(L6b(), -u6b),a);this.a=b}function Z6b(a,b){$2b.call(this,(L6b(),w6b),a);this.a=b}function a7b(a,b){$2b.call(this,(L6b(),A6b),a);this.a=b}function b7b(a,b){$2b.call(this,(L6b(),B6b),a);this.a=b}function e7b(a,b){$2b.call(this,(L6b(),D6b),a);this.a=b}function i7b(a,b){$2b.call(this,(L6b(),H6b),a);this.a=b}function Ue(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function gzc(a){_yc(this);this.j=a;this.k=a.D;this.i=30}function sr(a,b,c,d){or.call(this,a,c);this.a=b;this.f=d}function Nwc(a,b,c,d){return Mwc(a, -b,c,new Jrc(true),d)}function ZQc(a,b,c){return WQc(a,b)?XQc(a,b):YQc(a,b,c)}function Otc(a,b){return czc(bzc((amc(),new fzc(a)),b))}function iQc(a,b){return wPc(a.c,a.f,b,a.b,a.a,a.e,a.d)}function nLc(a){Oc(a.a);a.b=vG(qZ,xUc,1,a.b.length,5,1)}function uSc(a){if(!a.c){vSc(a);a.d=true}else uSc(a.c)}function oSc(a){if(0>=a)return new ASc;return pSc(a-1)}function t3(a,b){Qd(a.b,oWc);return Rd(Ttc(a.b,b),pWc,b)}function f3(a,b,c){return K8b(V2(a,b,c.d),c,(Nlc(),rjc))}function Qw(a,b,c,d){or.call(this, -a,b);this.d=c;this.a=d}function J9(a,b,c,d){ee.call(this,a,b);this.b=c;this.a=d}function oF(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function uF(a,b,c,d){this.d=a;this.c=b;this.a=c;this.b=d}function iB(a){Np.call(this,a);this.a=(JHc(),new tKc(a))}function Gs(a){this.b=(pl(a,"initialArraySize"),new oGc)}function Gi(a){ei(a.d);if(a.d.d!=a.c)throw p0(new dLc);}function fvb(a){uub();Gd(a.n==(Nlc(),Blc));return jec(a)}function dSb(a,b){a.o=!a.o?ETb(a.j):WRb(a);return a.o==b}function inb(a,b){onb(a.j, -b);hnb(a,Imb(a,b));a.j.e=false}function wPb(a,b,c){return Sdc((Jdc(),new Jhc(b,c)),a.u)}function yPb(a,b,c){return Sdc((Jdc(),new Thc(b,c)),a.u)}function uPb(a,b,c,d,e){return Sdc(new pfc(b,c,d,e),a.u)}function X8b(a){Ud(_8b(a));return new mfc((Nlc(),qkc),a)}function j9b(a){Ud(_8b(a));return new mfc((Nlc(),glc),a)}function cAc(a){var b;b=a-10;return(b<0?48+a:97+b)&oUc}function Jtc(a,b){var c;c=new Gpc(a);Cpc(c,b);return c.b}function IBc(a,b){var c,d;c=a;d=b;return c==d?0:c0)a=a<<1|(a<0?1:0);return a}function COc(a,b){this.b=a;this.a=(b&4096)==0?b|64|WUc:b}function Ywc(a,b){return b.a.kj()?Ttc(a.a,(xtc(),vtc)):b}function pqc(a){return kmc(a.o)?Ttc(a.D,(xtc(),vtc)):a.o}function pLc(a,b){return YLc(a.a,b)?qLc(a,b.f,null):null}function gDc(a,b,c){return qH(b)?hDc(a,b,c):MMc(a.d,b,c)}function tOc(a,b){return rH(a)===rH(b)||a!=null&&vb(a,b)}function gCc(a){return String.fromCharCode.apply(null,a)}function r3(a){return Vd(_8b(a),a),new mfc((Nlc(),Njc),a)}function ieb(a, -b){return CVb(tfb(a.Tb),b)&&!CVb(heb(a),b)}function jeb(a,b){return EVb(tfb(a.Tb),b)&&!EVb(heb(a),b)}function TKb(){SKb();return yG(tG(CT,1),DUc,270,0,[RKb])}function PHc(a){JHc();return!a?(QKc(),QKc(),PKc):a.zf()}function T2b(a){return a.a==null?(gYb(),ep(JXb,a)).c:a.a}function Nrb(a,b,c){return new Jrb(null,null,-1,-1,b,a,c)}function NEb(a,b){JEb();return new Rlb(Vlb(new Wlb(b),a))}function Wgb(a){Tgb();this.a=null;this.b=(on(),new UB(a))}function bdb(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c= -d}function CJb(a,b,c,d){this.e=a;this.f=b;this.d=c;this.g=d}function oAb(a,b,c,d){this.b=a;this.a=b;this.c=c;this.d=d}function bXb(a,b,c,d){ee.call(this,a,b);this.a=c;this.b=d}function I_b(a,b,c,d){ee.call(this,a,b);this.b=c;this.a=d}function aab(a,b,c,d){U9.call(this,c,d);this.a=a;this.c=b}function r7b(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function ggc(a){Jdc();kfc.call(this,(Nlc(),Pkc));this.a=a}function Nvc(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function VTb(a,b,c,d){var e;a.d=true; -e=T7b(c,d);a.xi(b,e)}function T7b(a,b){var c;c=new S7b;D7b(c,a,b);return c.c.a}function vv(a){var b;b=jf(a.a);Gv(b,a.b);return new Av(b)}function aj(a){var b;b=a.c;!b&&(a.c=b=new rk(a));return b}function bj(a){var b;b=a.d;!b&&(a.d=b=new wk(a));return b}function Oc(a){var b;for(b=a.Xd();b.Jd();){b.Kd();b.Ld()}}function MRc(a,b,c,d){var e;e=new FRc(b,c);e.c=d;NRc(a,e)}function Ycc(a){if(!a)return new Wcc(true);return Xcc(a)}function NSc(a,b){vSc(a);return new VSc(a,new cTc(b,a.a))}function PSc(a,b){vSc(a); -return new VSc(a,new hTc(b,a.a))}function Hw(a){var b;return b=a.g,!b?a.g=new Sh(a,a.c):b}function yw(a){var b;b=a.b;return!b?a.b=new St(a.c,a):b}function bib(){bib=S0;_hb=new eib;$hb=new fib;aib=new hib}function Sxc(){Sxc=S0;Pxc=new Vxc;Qxc=new _xc;Rxc=new fyc}function QKc(){QKc=S0;NKc=new TKc;OKc=new TKc;PKc=new XKc}function eG(){eG=S0;var a,b;b=!jG();a=new rG;dG=b?new kG:a}function R9(a){this.c=new reb;this.a=new S9(this);this.f=a}function $e(a,b){this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function DBc(a, -b,c){this.a=HVc;this.d=a;this.b=b;this.c=c}function ctb(a,b){g1.call(this,a);Zsb(this);Pd(a);this.a=b}function mgb(a){lgb.call(this,(On(),Pd(a),Wn(new kHc(a))))}function _gb(a){Tgb();pOc(Sgb,a,new bhb);return dDc(Sgb,a)}function Prb(a,b,c,d,e,f){return new Jrb(a,null,b,c,e,d,f)}function jDc(a,b){return b==null?NMc(a.d,null):gNc(a.e,b)}function M_b(a){return a.d.a.length==0?a.f:V_b(a,0).d.b.c}function SC(a){return lH(a,18)?a.ae():new VSc(null,a._d())}function N8b(a){Vd(_8b(a),a);return new mfc((Nlc(), -Njc),a)}function Xzb(a){a.a=_0(a.b);a.c=a.b.Mg();return new Tzb(a)}function GAb(a){a.a=_0(a.b);a.c=a.b.Mg();return new CAb(a)}function Rdc(a){return!a.c?(JHc(),JHc(),IHc):new whc(a.c)}function TBc(a,b){return(new RegExp("^("+b+")$")).test(a)}function lCc(a,b,c){return qH(a)?a.substr(b,c-b):a.mk(b,c)}function pIc(a){return!a.b&&(a.b=new bEc(a.a)),a.b.a.$d()}function sLc(a){this.a=VLc(a.a);this.b=wTc(a.b,a.b.length)}function ZSc(a,b,c,d){this.b=a;this.c=d;ZOc.call(this,b,c)}function iAb(a,b,c){this.b= -a;$zb.call(this,c);this.a=Pd(b)}function zzb(a,b,c){var d;Dzb.call(this,a,b,(d=c,Nlc(),d))}function Azb(a,b,c){var d;Dzb.call(this,a,b,(d=c,Nlc(),d))}function Bzb(a,b,c){var d;Dzb.call(this,a,b,(d=c,Nlc(),d))}function $8(a,b){var c;for(c=b;c;c=c.f)a.Nh(c,(H9(),C9))}function J0(a,b){return s0(_G(y0(a)?F0(a):a,y0(b)?F0(b):b))}function f2(){d2();return yG(tG(iN,1),DUc,237,0,[b2,c2,a2])}function n7(){l7();return yG(tG(BN,1),DUc,235,0,[i7,k7,j7])}function VF(a){PF();$wnd.setTimeout(function(){throw a; -},0)}function c6(a){var b;this.c=new MQc(new tCb);on();b=a;Dp(b)}function Yx(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function uic(a){this.b="";this.a=a}function dUc(){if($Tc==256){ZTc=_Tc;_Tc=new tb;$Tc=0}++$Tc}function pe(){pe=S0;me=new te;le=new we;ne=new ze;oe=new Ce}function wD(a){if(a.k){a.e!==tVc&&a.jg();a.i=null}return a}function Stb(a){while(!!a&&a.n!=(Nlc(),jlc))a=a.g;return a}function Orc(a,b,c,d){gDc(a.b,new Qrc(a,b,c),d);return d.a}function Xdc(a,b){var c; -c=a.c;while(b>0){c=c.f;--b}return c}function Ydc(a){var b,c;b=0;for(c=a.c;c;c=c.f)++b;return b}function dkb(a,b){a.g.a.Qg()&&Pd(b);a.a=b;a.d=true;return a}function ekb(a,b){a.g.a.Qg()&&Pd(b);a.i=b;a.e=true;return a}function icb(a,b){!a.I&&Fbb(a,new reb);return jcb(a,b,true)}function fSb(a,b){return Sdc(new lfc(b,a.j.g,DTb(a.j)),a.n)}function qKb(a,b){return new EKb(a,vKb(a.e.wi(UKb(b)),a.d))}function irc(a,b){return hrc(a,(On(),Pd(b),Wn(new kHc(b))))}function Ptc(a,b){return Otc(a,(On(),Pd(b),Wn(new kHc(b))))} -function fDc(a,b){return b==null?!!LMc(a.d,null):dNc(a.e,b)}function kac(a){return(a.a&37)!=0||(!a.d?null:a.d.d)!=null}function V3(a){x4((Nlc(),Ejc),a);q4(a.c);W3(a.c?a.c.i:null)}function PRc(a,b){if(!GRc)return;URc(a,(kRc(),gRc),b,null)}function SRc(a,b){if(!HRc)return;URc(a,(kRc(),hRc),b,null)}function XRc(a,b){if(!JRc)return;URc(a,(kRc(),iRc),b,null)}function YRc(a,b){if(!KRc)return;URc(a,(kRc(),jRc),b,null)}function SHc(a){JHc();return lH(a,69)?new pKc(a):new hJc(a)}function Kab(){Iab();return yG(tG(NN, -1),DUc,283,0,[Gab,Hab])}function Geb(){Eeb();return yG(tG(dO,1),DUc,268,0,[Ceb,Deb])}function cfb(){afb();return yG(tG(hO,1),DUc,269,0,[_eb,$eb])}function _lb(){Zlb();return yG(tG(rP,1),DUc,312,0,[Xlb,Ylb])}function geb(a){return a.Qb.Gd((Vzc(),sfb(a.Tb)?true:false))}function L0b(a,b,c){wYb.call(this,(S2b(),y2b),a,b);this.a=c}function TDc(a,b){this.a=a;NDc.call(this,a);a.$d();this.b=b}function Thb(a,b){var c;c=new Xgb(a,b);hDc(Qhb,a,c);return c}function Uhb(a,b){var c;c=new Ygb(a,b);hDc(Qhb,a,c); -return c}function mub(a,b,c){var d;d=new lub(a,c,new ODb(a));eub(d,b)}function VE(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}function BD(a,b){var c;c=nAc(a.Ik);return b==null?c:c+": "+b}function Mob(a,b,c){Hob();if(!a)return null;return b.u[c.f]}function KPb(a,b){Xec(a,tfc(b.k));Pec(a,sfc(b.k));Wec(a,b.e)}function Khc(a,b,c,d){Jdc();lfc.call(this,a,c,d);Hhc(this,b)}function lmc(a,b){var c;return c=new Jrc(false),emc(a,b,0,c)}function bsc(){_rc();return yG(tG(aY,1),DUc,300,0,[$rc,Zrc])}function dDb(){aDb(); -return yG(tG(cS,1),DUc,200,0,[$Cb,_Cb])}function mDb(){kDb();return yG(tG(fS,1),DUc,199,0,[iDb,jDb])}function FCb(){DCb();return yG(tG(XR,1),DUc,189,0,[BCb,CCb])}function Gyb(){Eyb();return yG(tG(gR,1),DUc,274,0,[Dyb,Cyb])}function Mzb(){Kzb();return yG(tG(lR,1),DUc,273,0,[Jzb,Izb])}function MKb(){KKb();return yG(tG(AT,1),DUc,194,0,[JKb,IKb])}function UOb(){SOb();return yG(tG(YT,1),DUc,278,0,[ROb,QOb])}function ZOb(){XOb();return yG(tG(ZT,1),DUc,277,0,[WOb,VOb])}function LMc(a,b){return JMc(a,b,KMc(a, -b==null?0:a.b.vk(b)))}function XJc(a,b){var c;c=a.b.ce(b);YJc(c,a.b.$d());return c}function EDc(a){var b;a.c=a.a;b=a.a.Kd();a.b=DDc(a);return b}function zAc(a){if(a.rk())return null;var b=a.o;return P0[b]}function wDc(a,b){if(lH(b,51))return vg(a.a,b);return false}function BLc(a,b){if(lH(b,51))return vg(a.a,b);return false}function RNc(a,b){if(lH(b,51))return vg(a.a,b);return false}function Vtc(a,b){Hd(b.indexOf("<")==-1,xWc);return Utc(a,b)}function kq(a,b,c,d){Pd(b);Pd(c);Pd(d);return jq(a,b).Me(c, -d)}function jv(a){if(lH(a,18))return a.Wd();return!a.Xd().Jd()}function ut(a){return a.Wd()?(eB(),dB):(eB(),a.Wd()?dB:Cw(a))}function Pz(a){return new lA(($y(a.a.a),new nMc),new Jz(a.b))}function Rz(a){return new pA(($y(a.a.a),new nMc),new Lz(a.b))}function Tz(a){return new pA(($y(a.a.a),new nMc),new Nz(a.b))}function sH(a){return Math.max(Math.min(a,kUc),-2147483648)|0}function xm(a,b){var c;return c=ep(a.a,b),!c?(On(),On(),Nn):c}function YJc(a,b){var c;for(c=0;c=0,Y0c),1<>24);c!=a.j&&(a.j=c)}function gmc(a,b){var c;c=Mv(b.Vi().c.Xd());return Swc(a.Vi(),c)}function Kv(a){var b;while(true){b=a.Kd();if(!a.Jd())return b}}function Ttb(a){var b;b=IFc(a.o)+a.n.a.length;Ud(b>0);return b-1}function zyb(a){var b;b=a.b.e>a.a;a.a=a.b.b.c;++a.b.b.c;return b}function Z3(a){var b;x4((Nlc(),Mjc),a);for(b=a.c;b;b=b.f)Y3(b)}function g4(a){var b;x4((Nlc(),gkc),a);for(b=a.c;b;b=b.f)f4(b)}function e0b(a){while(H0b(P_b(a,a.f)?HBc(a.b,a.f):0)>= -0)Q_b(a)}function l0b(a){while(I0b(P_b(a,a.f)?HBc(a.b,a.f):0)>=0)Q_b(a)}function Szc(a){Qzc.call(this,a==null?uUc:W0(a),lH(a,37)?a:null)}function KFc(a){qFc(this);CTc(this.a,XAc($wnd.Math.max(8,a))<<1)}function Ctc(a,b,c){return Wqc(drc(brc((amc(),new krc(a)),c),b))}function mwc(a,b,c,d){a.b=false;hDc(a.c,b,new pwc(c,d));return a}function SSc(a){var b;vSc(a);b=(QKc(),QKc(),OKc);return TSc(a,b)}function Af(a){if(a.c>=a.d)throw p0(new sOc);return a.ee(a.c++)}function yD(a){if(!a.f||!pH(a.e,Error))return; -a.e["cause"]=a.f.e}function Yg(a,b){var c;c=b.ff();return new or(c,a.b.Ee(c,b.gf()))}function gBc(a,b){var c,d;for(d=a.Xd();d.Jd();){c=d.Kd();b.vf(c)}}function YDc(a,b,c){UTc(b,c,a.$d());this.c=a;this.a=b;this.b=c-b}function B8(a){if(a.q){a.sh(";");a.Ih();a.Bh();a.q=false}a.r=true}function f1(a,b){if(!a.d)return b;return(m1(),h1).a+(""+b)+k1.a}function G0(a){var b;if(y0(a)){b=a;return b==-0?0:b}return YG(a)}function Vob(a,b){var c;c=fpb(b);if(c)return bpb(a,c,b);return 0}function keb(a,b){Ud(b!=(rfb(), -nfb));Ud(b!=qfb);a.Tb=b==ofb?pfb:b}function Fab(a,b){Md(uec(a),OXc,a);Md(uec(b),OXc,b);cec(a);cec(b)}function _A(a){On();this.a=(JHc(),lH(a,69)?new pKc(a):new hJc(a))}function rpb(a,b,c){this.c=(Zdb(),Ydb);this.a=a;this.e=b;this.d=c}function kHb(a,b,c){yCc(yCc(yCc(yCc((a.a+="@",a),b)," {"),c),"}")}function i_b(a,b,c,d){!b?VTb(a.c,N_b(a.g),c,d):VTb(a.c,b.d.b,c,d)}function j_b(a,b,c,d){!b?VTb(a.c,N_b(a.g),c,d):VTb(a.c,b.o.b,c,d)}function FYb(a,b){if(V_b(a.g,0).e==b)return BYb(a,b);return null}function _ub(a){var b, -c;b=a;for(c=Mub(b);c;c=Mub(b))b=c;return b}function Wuc(a){var b;Ud(a.Xj()!=null);b=Pd(a.Xj());return cUc(b)}function rec(a){var b;b=~$dc(a,(thc(),ihc))&31;b|=16;return b==16}function tvb(a){uub();return a.n==(Nlc(),Sjc)||a.n==Qjc||a.n==Rjc}function Coc(){Aoc();return yG(tG(NX,1),DUc,261,0,[zoc,xoc,yoc])}function Fic(){Dic();return yG(tG(HX,1),DUc,234,0,[Bic,Cic,Aic])}function rrc(){prc();return yG(tG(SX,1),DUc,250,0,[orc,mrc,nrc])}function Yrc(){Wrc();return yG(tG(_X,1),DUc,247,0,[Trc,Urc,Vrc])} -function Uxc(){Sxc();return yG(tG(GY,1),DUc,162,0,[Pxc,Qxc,Rxc])}function o1(){m1();return yG(tG(aN,1),DUc,175,0,[i1,l1,j1,h1,k1])}function sFc(a,b){TTc(b);a.a[a.c]=b;a.c=a.c+1&a.a.length-1;wFc(a)}function rFc(a,b){TTc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;wFc(a)}function Zvc(a,b,c){var d;d=a.b.Le(b);!!d&&Mvc(c,d.a);a.b.Me(b,c)}function Yf(a,b){var c,d;c=ez(a.c,b);if(c){d=c.$d();c.Sd();a.d-=d}}function l9(a,b){var c;c=bec(b,(Jdc(),tdc));!!c&&a.Nh(c,(H9(),C9))}function Td(a,b,c){if(a<0||bc)throw p0(new Nzc(Fd(a, -b,c)));}function Od(a,b){if(a<0||a>=b)throw p0(new Nzc(Dd(a,b)));return a}function WQc(a,b){if(b==null)throw p0(new uBc);return aDc(a.a,b)}function XQc(a,b){if(b==null)throw p0(new uBc);return dDc(a.a,b)}function gab(a,b){if(b||CVb(heb(a),(AVb(),yVb)))return 1;return 0}function vdb(a){var b;if(!a.n){b=a.b.D;a.n=qKb(b,a.i.a)}return a.n}function ayb(a){var b;b=new $xb;Y8(new r9(b),a,(H9(),C9));return b}function Yqc(a){a.b=(prc(),nrc);a.c=new kfc((Nlc(),Ykc));return a}function wCc(a,b,c,d){a.a+=""+bCc(b== -null?uUc:W0(b),c,d);return a}function eSb(a,b,c){a.o=!a.o?ETb(a.j):WRb(a);return a.o==b||a.o==c}function j3b(a,b,c){$2b.call(this,(L6b(),b5b),a);this.b=b;this.a=c}function m3b(a,b,c){$2b.call(this,(L6b(),e5b),a);this.b=b;this.a=c}function K3b(a,b,c){$2b.call(this,(L6b(),t5b),a);this.b=b;this.a=c}function l3b(a,b,c){$2b.call(this,(L6b(),d5b),a);this.a=b;this.b=c}function B3b(a,b,c){$2b.call(this,(L6b(),k5b),a);this.a=b;this.b=c}function L3b(a,b,c){$2b.call(this,(L6b(),u5b),a);this.a=b;this.b=c}function q4b(a, -b,c){$2b.call(this,(L6b(),I5b),a);this.a=b;this.b=c}function x4b(a,b,c){$2b.call(this,(L6b(),P5b),a);this.b=b;this.a=c}function y4b(a,b,c){$2b.call(this,(L6b(),Q5b),a);this.b=b;this.a=c}function O3b(a,b,c){$2b.call(this,(L6b(),x5b),a);this.b=b;this.a=c}function Q3b(a,b,c){$2b.call(this,(L6b(),z5b),a);this.b=b;this.a=c}function E4b(a,b,c){$2b.call(this,(L6b(),W5b),a);this.b=b;this.a=c}function F4b(a,b,c){$2b.call(this,(L6b(),X5b),a);this.b=b;this.a=c}function I4b(a,b,c){$2b.call(this,(L6b(),_5b),a); -this.b=b;this.a=c}function K4b(a,b,c){$2b.call(this,(L6b(),b6b),a);this.b=b;this.a=c}function S4b(a,b,c){$2b.call(this,(L6b(),j6b),a);this.b=b;this.a=c}function O6b(a,b,c){$2b.call(this,(L6b(),l6b),a);this.b=b;this.a=c}function U6b(a,b,c){$2b.call(this,(L6b(),r6b),a);this.b=b;this.a=c}function V6b(a,b,c){$2b.call(this,(L6b(),s6b),a);this.b=b;this.a=c}function P6b(a,b,c){$2b.call(this,(L6b(),m6b),a);this.a=b;this.b=c}function _6b(a,b,c){$2b.call(this,(L6b(),z6b),a);this.a=b;this.b=c}function c7b(a, -b,c){$2b.call(this,(L6b(),y6b),a);this.a=b;this.b=c}function g7b(a,b,c){$2b.call(this,(L6b(),G6b),a);this.a=b;this.b=c}function C4b(a,b,c){$2b.call(this,(L6b(),U5b),a);this.a=b;this.b=c}function d7b(a,b,c){$2b.call(this,(L6b(),C6b),a);this.b=b;this.a=c}function j7b(a,b,c){$2b.call(this,(L6b(),I6b),a);this.b=b;this.a=c}function k7b(a,b,c){$2b.call(this,(L6b(),J6b),a);this.b=b;this.a=c}function l7b(a,b,c){$2b.call(this,(L6b(),K6b),a);this.b=b;this.a=c}function cSc(a,b){this.b=a;new $wnd.RegExp(a.source, -"g");this.a=b}function qib(a){jib();this.b=a;this.a=a.Qg()?new A3(a.Mg()):new z3}function UAb(a){TAb();this.b=a;this.a=a.Qg()?new A3(a.Mg()):new z3}function hBb(a){eBb();this.b=a;this.a=a.Qg()?new A3(a.Mg()):new z3}function hqc(a){Zd(a.Zi()||a.i==(prc(),nrc),jWc,a);return rmc(a.o)}function Z9b(a,b){if(!a.d||!a.d.o)return null;return yNc(a.d.o,b)}function R9b(a,b){if(!a.b||!a.b.e)return null;return yNc(a.b.e,b)}function cac(a,b){if(!a.b||!a.b.j)return null;return yNc(a.b.j,b)}function kPb(a,b){if(!LPb(b))return null; -return jPb(a,fPb(a,b.o))}function cwc(a,b,c,d,e){if(a.a)return false;return Ipc(a,b,c,d,e)}function Nrc(a,b,c){!a.a&&(a.a=new Jrc(a.c));return emc(b,c,0,a.a)}function EPc(a,b){var c;c=1-b;a.a[c]=FPc(a.a[c],c);return FPc(a,b)}function Vf(a,b){var c;c=a.c.Le(b);!c&&(c=a.Be(b));return a.Ee(b,c)}function hgb(a,b){var c,d;for(d=b.Xd();d.Jd();){c=d.Kd();ggb(a,c)}}function Rtc(a,b){return xNc(a.f,b)?yNc(a.f,b).Oe():(On(),On(),Nn)}function oPc(a){return!a.a?a.c:a.e.length==0?a.a.a:a.a.a+(""+a.e)}function xac(a, -b){if(b.d){!a.d&&(a.d=new dbc);a.d.p|=!b.d?0:b.d.p}}function cr(a){if(a.e.g!=a.b)throw p0(new dLc);return!!a.c&&a.d>0}function a9(a,b){Vd(b.n==(Nlc(),ejc),b);a.c.wh();$8(a,b.c);a.c.yh()}function sl(a,b,c){!!c&&Gd(true);return new El(oSc(a).Hk(),b,1301)}function XBc(a,b,c){c=mCc(c);return a.replace(new RegExp(b,"g"),c)}function txb(a,b,c){var d;d=c.g;Ud(!!d);Ud(gec(d,b));nub(a.b,a,b,c)}function TF(a,b,c){var d;d=RF();try{return QF(a,b,c)}finally{UF(d)}}function Job(a,b,c){Hob();a.Tg(Orb(b,Fob,yG(tG(vZ, -1),cWc,2,6,[c])))}function Kob(a,b,c){Hob();a.Tg(Orb(b,Gob,yG(tG(vZ,1),cWc,2,6,[c])))}function nSb(a,b){return b==(xTb(),qTb)?fSb(a,(Nlc(),clc)):lSb(a,b)}function j0b(a){while(aAc(P_b(a,a.f)?HBc(a.b,a.f):0,16)>=0)Q_b(a)}function Ixb(a,b,c){rFc(a.g,new Pxb(b,c));MBc(b,VXc)||(a.e.a=false)}function SPc(a){TPc.call(this,a,(xQc(),tQc),null,false,null,false)}function YPc(a){ZPc.call(this,a,(xQc(),tQc),null,false,null,false)}function sBb(a){nBb();tBb.call(this,a,ABb(t8b("js/polyfills.txt")))}function wjb(a){tjb(); -this.a=a;this.b=!CVb((AVb(),oVb),heb(a.Hg()))}function Q5(a,b,c,d,e){this.d=a;this.e=b;this.a=c;this.c=d;this.b=e}function atb(){c1();g1.call(this,null);Zsb(this);this.a=(DCb(),BCb)}function SMc(a){this.e=a;this.b=this.e.a.entries();this.a=new Array}function QHc(a){JHc();var b;b=new uMc;b.a.Me(a,b);return new SJc(b)}function E8b(a,b,c){Vd(_8b(b),b);Vd(_8b(c),c);return new ofc(a,b,c)}function HVb(a,b){if(a.a.Td(b))return a;return new NVb(OVb(a.a,b))}function jac(a,b){if(!a.d||!a.d.o)return false;return xNc(a.d.o, -b)}function qSc(a,b){if(a.a<=a.b){b.wf(a.a++);return true}return false}function bec(a,b){var c;c=yec(a,b);if(!c)return null;return c.Li()}function Ntc(a,b,c){return new Exc(a,b,(On(),Pd(c),Wn(new kHc(c))))}function Zf(a,b,c,d){return lH(c,69)?new Di(a,b,c,d):new vi(a,b,c,d)}function Cg(a,b){return rH(b)===rH(a)?"(this Map)":b==null?uUc:W0(b)}function KCb(a,b){a.a=MBc(b.substr(0,1),J$c)?b.substr(1):b;a.d=null}function hTc(a,b){ZOc.call(this,b.sf(),b.rf()&-6);this.a=a;this.b=b}function Zl(a,b,c,d){this.e= -null;this.c=a;this.d=b;this.a=c;this.b=d}function CA(a,b){if(b.Wd())return false;b.$e(new HA(a));return true}function ydb(a){if(!a.a||!a.a.$h())return;LCb(a.a.$h(),(Dic(),Aic))}function Z8b(a){Ud(a.length!=0);return Jdc(),new Jhc((Nlc(),skc),a)}function V7b(a){if(a.b>=a.c)throw p0(a8b(a));return HBc(a.a,a.b++)}function QE(a){qCc(a.b,34);ZE(new _E(a.j),a);qCc(a.b,59);qCc(a.b,34)}function Zib(a){var b;b=Ycc(bec(a,(thc(),Zgc)));Rbc(b);Tec(a,Ebc(b))}function Q3(a,b){var c;x4((Nlc(),hlc),b);for(c=b.c;c;c= -c.f)K4(a,c)}function k4(a,b){var c;x4((Nlc(),okc),b);for(c=b.c;c;c=c.f)j4(a,c)}function A4(a,b){var c;x4((Nlc(),Rkc),b);for(c=b.c;c;c=c.f)B4(a,c)}function v4(a,b){switch(b.n.f){case 29:q4(b);break;case 26:c4(a,b)}}function Tmb(a,b,c){if(b){bnb(a,null,b);qnb(a.j,b,Jmb(a,b,false,c))}}function J_b(){H_b();return yG(tG(uU,1),DUc,208,0,[G_b,F_b,D_b,E_b])}function p4b(){n4b();return yG(tG(uV,1),DUc,212,0,[k4b,l4b,m4b,j4b])}function Beb(){zeb();return yG(tG(cO,1),DUc,192,0,[web,xeb,yeb,veb])}function Neb(){Leb(); -return yG(tG(eO,1),DUc,191,0,[Ieb,Jeb,Keb,Heb])}function Rgb(){Pgb();return yG(tG(xO,1),DUc,198,0,[Lgb,Ogb,Ngb,Mgb])}function bLb(){_Kb();return yG(tG(DT,1),DUc,195,0,[XKb,YKb,ZKb,$Kb])}function BOb(){yOb();return yG(tG(WT,1),DUc,197,0,[xOb,vOb,wOb,uOb])}function BQc(){xQc();return yG(tG(t_,1),DUc,144,0,[tQc,uQc,vQc,wQc])}function Snc(){Onc();return yG(tG(LX,1),DUc,220,0,[Lnc,Nnc,Mnc,Knc])}function Wn(a){On();var b;if(lH(a,54)){b=a;return b.Ef()}return Un(a)}function Qv(a){var b;Pd(a);if(lH(a,97)){b= -a;return b}return new Rv(a)}function WD(a){var b;b=(a&1)==1;a=a>>>1;if(!b)return a;return-a|wVc}function cxc(a,b){var c,d;c=b.e;d=c.wj(a);if(d!=c)return d;return b}function s1(a,b){var c;c=yNc(a.e,b);if(c)return c;return r1(a,I1(b))}function XHb(a,b){var c;c=new hIb;mub(a.b,b,c);a.d=Ep(new FGc(c.a.b))}function XOb(){XOb=S0;WOb=new YOb("STRICT",0);VOb=new YOb("SLOPPY",1)}function U5(a){var b;b=V5(a);Ud(b.d.length!=0);b.b&&Ud(!b.e);return b}function W7b(a){while(c8b(a.bb)throw p0(new Nzc(Ed(a,b,BUc)));return a}function C5(a,b){if(!b)throw p0(new vBc("Null kind"));a.b=b;return a}function wac(a){if(!a.c)return false;!a.b&&(a.b=new Yac);return true}function Foc(a,b,c,d){var e;e=a.ck(b,c,false,d);cuc(a.D,b,a);return e}function hfc(a,b){var c;gfc(a,b);for(c=a.c;c;c=c.f)hfc(c,b);return a}function jfc(a,b){var c;ifc(a,b);for(c=a.c;c;c=c.f)jfc(c,b);return a}function bzc(a, -b){var c;for(c=0;c=0&& -(a[b]|0)==0;--b);return b}function Aub(a){uub();var b,c;c=1;for(b=a.c;b;b=b.f)c+=Aub(b);return c}function Ygb(a,b){Tgb();var c;this.a=a;this.b=(on(),c=new kHc(b),Dp(c))}function hYb(a,b,c,d){ee.call(this,a,b);this.c=c;this.b=d;this.a=nYb(d)}function Thc(a,b){Jdc();kfc.call(this,(Nlc(),wlc));this.a=a;Rhc(this,b)}function cTc(a,b){ZOc.call(this,b.sf(),b.rf()&-16449);this.a=a;this.c=b}function CNc(){mMc.call(this);vNc(this);this.b.b=this.b;this.b.a=this.b}function DNc(){nDc.call(this);vNc(this);this.b.b= -this.b;this.b.a=this.b}function dr(a){this.e=a;this.c=this.e.a;this.b=this.e.g;this.d=this.e.i}function lNc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}function EB(a,b){this.c=a;this.d=b;this.a=this.c.Xd();this.b=this.d.Xd()}function dy(a,b){var c;this.f=a;this.b=b;c=dDc(a.b,b);this.c=!c?null:c.b}function LBc(a,b){var c;c=b.length;return MBc(a.substr(a.length-c,c),b)}function MSc(a,b){var c;return b.b.Pd(QSc(a,b.c.Dd(),(c=new tTc(b),c)))}function hrc(a,b){return Sqc(Tqc(a,Pwc(a.q.g, -b,(On(),On(),Nn))),b.$d())}function Wfb(){Ufb();return yG(tG(nO,1),DUc,169,0,[Pfb,Sfb,Qfb,Tfb,Rfb])}function SF(b){PF();return function(){return TF(b,this,arguments);var a}}function LF(){if(Date.now)return Date.now();return(new Date).getTime()}function jw(a){if(iw(a)){a.c=a.a;return a.a.Kd()}else throw p0(new sOc);}function F9b(a,b){if(_9b(a).Wd()){Qac(a,b,wVc);return true}return false}function Hf(a){a.f=3;a.e=DB(a);if(a.f!=2){a.f=0;return true}return false}function Sib(a,b){var c;a.a=false;c=new Vib(a); -mub(a.b.b,b,c);return a.a}function Es(a,b){var c,d;for(d=b.Xd();d.Jd();){c=d.Kd();a.Xf(c)}return a}function Mbb(a){var b,c;for(c=a.Xd();c.Jd();){b=c.Kd();udb(b).a&&ydb(b)}}function Myb(a,b){var c;Lyb(a,b);for(c=b.c;c;c=c.f){Ud(c.g==b);Myb(a,c)}}function P3(a,b,c){var d;x4((Nlc(),njc),b);for(d=b.c;d;d=d.f)O3(a,d,c)}function W8b(a){var b;b=p9b((Nlc(),jkc),a);Fec(b,(Jdc(),wdc),0);return b}function Q8b(a,b){Ud(_8b(a));Ud(_8b(b));return new ofc((Nlc(),Yjc),a,b)}function Bbc(a,b){if(G9b(a.a,b)){a.e=true; -return true}else return false}function Dbc(a,b){if(K9b(a.a,b)){a.e=true;return true}else return false}function Dcc(a,b){if(L9b(a.a,b)){a.e=true;return true}else return false}function bcc(a,b){if(I9b(a.a,b)){a.e=true;return true}else return false}function Rcc(a,b){if(N9b(a.a,b)){a.e=true;return true}else return false}function Vbc(a,b){if(Cac(a.a,b)){a.e=true;return true}else return false}function MGc(a,b){var c,d;c=(d=a.slice(0,b),zG(d,a));c.length=b;return c}function BNc(a,b){var c;c=iDc(a.c,b);if(c){ONc(c); -return c.e}return null}function YBc(a,b,c){var d;c=mCc(c);d=new RegExp(b);return a.replace(d,c)}function Y_b(a,b,c){WTb(a.e,a.d.a.length==0?O_b(a,a.f):V_b(a,0).d.b,b,c)}function qPc(a,b,c){this.b=a;this.d=b;this.e=c;this.c=this.d+(""+this.e)}function rSc(a,b){this.c=0;this.b=b;ROc.call(this,a,17493);this.a=this.c}function ZRc(a){LRc();if(IRc)return;this.c=a;this.e=true;this.a=new nGc}function pmc(a,b){return b==0?bmc(a,new BCc,true).a:a.Mi(new BCc,true).a}function Mvb(a){uub();return!!a&&(a.n==(Nlc(), -Hlc)||a.n==wkc||a.n==rjc)}function RIb(a){OIb();return YIb(_Ib($Ib(ZIb(new aJb,a),a),(cKb(),$Jb)))}function TIb(a){OIb();return YIb(_Ib($Ib(ZIb(new aJb,a),a),(cKb(),aKb)))}function eKb(){cKb();return yG(tG(rT,1),DUc,173,0,[aKb,_Jb,bKb,ZJb,$Jb])}function x3b(){v3b();return yG(tG(TU,1),DUc,182,0,[q3b,t3b,s3b,u3b,r3b])}function Abc(){ybc();return yG(tG($W,1),DUc,179,0,[vbc,ubc,wbc,xbc,tbc])}function ewb(a){uub();return gfc((Vd(_8b(a),a),new mfc((Nlc(),Njc),a)),a)}function Qmb(a,b){return gfc(Oob(c9b(qZc+ -(a.r.b==0?"":"$"+a.r.b)),a.g),b)}function Imb(a,b){var c;c=gfc(new kfc((Nlc(),gjc)),b);dGc(a.q,c);return c}function pkb(a,b,c){var d;d=E8b((Nlc(),pjc),b,c);a.d&&Uec(d,c.d);return d}function cD(a,b){var c;if(lH(b,251)){c=b;return OGc(a.c,c.c)}return false}function lE(a,b){if(AE(a.a)&&CE(a.a)==b){BE(a.a);return true}return false}function Ob(a){a.i=3;a.g=a.Hd();if(a.i!=2){a.i=0;return true}return false}function R8b(a,b){Ud(_8b(a));Ud(b.n==(Nlc(),olc));return new ofc(Zjc,a,b)}function U8b(a,b){Ud(_8b(a)); -Ud(b.n==(Nlc(),ejc));return new ofc(bkc,a,b)}function ccb(a,b){Qd(b,"the error manager cannot be null");a.i=new bEb(b)}function qOb(a,b){if(!b)throw p0(new vBc("Null runMode"));a.f=b;return a}function Qd(a,b){if(a==null)throw p0(new vBc(b==null?uUc:W0(b)));return a}function Ahc(a){var b;if(!a.a)throw p0(new sOc);b=a.a;a.a=a.a.f;return b}function Qn(a){var b;b=(Pd(a),a?new pGc(a):py(a.Xd()));OHc(b);return ko(b)}function BG(a){var b,c,d;b=a&IVc;c=a>>22&IVc;d=a<0?JVc:0;return DG(b,c,d)}function j6(a, -b){var c;Fq(a.a);a.c=a.b.c;c=Tdc(b,false);h6(a,b,c);return a}function j3(a,b){var c;c=new kfc((Nlc(),ylc));!!a.b&&Uec(c,Pd(b));return c}function B2(a,b,c){var d;d=E8b((Nlc(),pjc),b,c);!!a.b&&Uec(d,c.d);return d}function tAc(a,b,c){var d;d=rAc(a);FAc(a,d);d.i=c?8:0;d.f=b;d.e=c;return d}function J3(a,b){var c;x4((Nlc(),ejc),b);for(c=b.c;c;c=c.f)M4(a,c,false)}function W9(a,b,c){var d,e;e=a.b;d=a.a;return e==b&&d>=c?new XD(e+1,d-c):a}function iHb(a,b,c){s9.call(this,a,b);Pd(c);this.b=c;this.a=new Frb(false)} -function Vrb(a){this.d=new nGc;this.a=new nGc;this.e=a;this.b=-1;this.c=-1}function $B(a){this.d=a;this.c=new aOc(new TNc(this.d.a));this.a=(qw(),pw)}function utb(){ttb(this);this.i=null;this.e=true;this.g=new bs;this.f=this}function Eyb(){Eyb=S0;Dyb=new Fyb("LEGACY",0);Cyb=new Fyb("EXPORT_ALL",1)}function OIb(){OIb=S0;NIb=YIb(_Ib($Ib(ZIb(new aJb,ZWc),ZWc),(cKb(),aKb)))}function QIb(a,b){OIb();return YIb(_Ib($Ib(ZIb(new aJb,b),a),(cKb(),ZJb)))}function SIb(a,b){OIb();return YIb(_Ib($Ib(ZIb(new aJb, -b),a),(cKb(),_Jb)))}function Mmc(a,b){amc();var c;return!a?!b:(c=new Jrc(false),emc(a,b,0,c))}function lYb(a,b){gYb();var c;return c=ep(IXb,a),!!(!!c&&(b||!c.a)?c:null)}function Wac(a,b){if(a)return b?new bdc(Tdc(a.a,false),a.b):a;return null}function B5(a,b){if(!b)throw p0(new vBc("Null jsDocInfo"));a.a=b;return a}function PD(a){if(a<=0)throw p0(new xsb("x ("+a+") must be > 0"));return a}function Eu(a,b){var c,d;for(d=new FDc(b.a);d.b;){c=EDc(d);Ds(a,c)}return a}function nPc(a,b){!a.a?a.a=new ECc(a.d): -yCc(a.a,a.b);vCc(a.a,b);return a}function W5(a,b){if(!b)throw p0(new vBc("Null featureSet"));a.a=b;return a}function qdb(a,b){if(hGc(a.o,b,0)==-1){dGc(a.o,b);return true}return false}function pdb(a,b){if(hGc(a.d,b,0)==-1){dGc(a.d,b);return true}return false}function yNc(a,b){var c;c=dDc(a.c,b);if(c){ANc(a,c);return c.e}return null}function NQb(a,b){var c;c=rPb(a.a,(Nlc(),Njc));Mdc(c,MPb(a.a,b.a));return c}function V_b(a,b){while(a.d.a.length<=b)dGc(a.d,c0b(a));return gGc(a.d,b)}function Ubb(a){if(a.I.ad){lcb(a); -ieb(a.I,tfb(a.I.Tb))&&kcb(a)}else fbb(a)}function Wub(a){var b;b=Xub(a);if(b)return b.Di();throw p0(new PAc(g$c+a));}function kE(a){var b;if(!AE(a.a))return true;b=CE(a.a);return b==59||b==44}function Xvc(a){var b;if(!a.a)return null;b=a.a.Sj();return!b?null:b.Vj()}function Iec(a){var b,c;c=a.c;for(b=a.c;b;b=b.f)b.g=null;a.c=null;return c}function Btc(a){var b;b=Oqc((amc(),new Uqc(a)),true).ek();b.u=true;return b}function xOc(a,b){var c;c=l8b(a.a,b);if(c==null)throw p0(new rOc);return c}function sJb(a, -b){if(b==null)throw p0(new vBc("Null name"));a.d=b;return a}function Sdc(a,b){Vd(!a.j,"Node has existing properties.");a.j=b.j;return a}function ke(a,b){var c;c=a[":"+b];QTc(!!c,yG(tG(qZ,1),xUc,1,5,[b]));return c}function Zd(a,b,c){if(!a)throw p0(new PAc(pf(b,yG(tG(qZ,1),xUc,1,5,[c]))));}function Md(a,b,c){if(!a)throw p0(new xsb(pf(b,yG(tG(qZ,1),xUc,1,5,[c]))));}function VTc(a,b,c){if(a<0||b>c||b>24;d=a.j;while(!!d&&c!=d.c)d=d.b;return d}function Qoc(a){var b;b=a;while(lH(b,128))b.uj()?b=b.uj().d:b=b.d;return b}function Gfb(){Gfb=S0;Dfb=new Hfb(lYc,0);Ffb=new Hfb(bYc,1); -Efb=new Hfb(mYc,2)}function xQc(){xQc=S0;tQc=new yQc("All",0);uQc=new CQc;vQc=new EQc;wQc=new HQc}function _rc(){_rc=S0;$rc=new asc(YVc,0);Zrc=new asc("IGNORE_NULL_UNDEFINED",1)}function JTc(){JTc=S0;new NTc;new LTc("ISO-LATIN-1");new LTc("ISO-8859-1")}function Czb(){Dzb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}function EF(a){vD(this);this.g=!a?null:BD(a,a.ig());this.f=a;wD(this);this.jg()}function Nqb(a,b,c,d,e,f){this.c=c;this.b=d;this.a=a;this.g=e;this.e=b;this.d=f}function eVb(a, -b,c,d,e,f){ee.call(this,a,b);this.d=c;this.c=d;this.b=e;this.a=f}function fGc(a,b){var c,d,e,f;for(d=a.a,e=0,f=d.length;e0)return kUc;if(r0(a,wVc)<0)return wVc;return H0(a)}function YG(a){if(QG(a,(eH(),dH))<0)return-MG(TG(a));return a.l+a.m*LVc+a.h*MVc}function c9b(a){Zd(PBc(a,hCc(46))==-1,iWc,a);return Jdc(), -new Jhc((Nlc(),Ekc),a)}function Ovb(a){uub();return a.n==(Nlc(),Tjc)&&!(a.n==Tjc&&$dc(a,(thc(),sgc))!=0)}function LYb(a){var b;b=null;T$b(a,(S2b(),d1b))&&(b=(BYb(a,d1b),G$b(a)));return b}function gfc(a,b){afc(a,b);Gec(a,(thc(),ehc),bec(b,ehc));a.k=b.k;a.e=b.e;return a}function Wfc(a){var b;if(!a.a.a)throw p0(new sOc);b=a.a.a;a.a.a=a.a.a.g;return b}function cCc(a){var b,c;c=a.length;b=vG(uH,pUc,50,c,15,1);OBc(a,0,c,b,0);return b}function x3(a,b){var c;c=(Hd(wWc.indexOf("<")==-1,xWc),Utc(b,wWc));return c? -c:a.c}function ULc(a,b){var c;c=b.f;if(!a.b[c]){a.b[c]=b;++a.c;return true}return false}function SNc(a,b){var c;if(RNc(a,b)){c=b.ff();BNc(a.a,c);return true}return false}function cBc(a,b){var c;if(b==10||b<2||b>36)return""+a;return c=a,c.toString(b)}function RSc(a,b){vSc(a);if(r0(b,0)==0)return a;return new VSc(a,new lTc(b,a.a))}function dcc(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.e=true;return true}}function Wbb(a){a.I.ab==(zeb(),yeb)&&P5(a.T,a).dh(a.p,a.w);a.M=1;!!a.Q&&Cxb(a.Q)}function Dp(a){on(); -var b;if(lH(a,109)&&!lH(a,252)){b=a;return b}return Ep(a.Xd())}function vt(a){var c;on();var b;b=a?a:(c=new mx(EA(a)),gv(c,a),c);return ut(bj(b))}function Fv(a,b){var c;Pd(a);Pd(b);c=false;while(b.Jd())c=c|a.Qd(b.Kd());return c}function ms(a,b){var c,d;Pd(b);for(d=b.Xd();d.Jd();){c=d.Kd();a.Uf(Pd(c))}return a}function qOc(a,b){var c,d;for(d=a.Je().Xd();d.Jd();){c=d.Kd();b.ef(c.ff(),c.gf())}}function QTc(a,b){if(!a)throw p0(new xsb(WTc("Enum constant undefined: %s",b)));}function q5(a,b){if(!b)throw p0(new vBc("Null fullClassNameNode")); -a.g=b;return a}function uqb(a,b){var c;!a.p&&(a.p=new nGc);c=new Cqb(a.t,b,a);dGc(a.p,c);return c}function FDc(a){this.e=a;this.d=new lNc(this.e.e);this.a=this.d;this.b=DDc(this)}function A3(a){this.b=a;this.c=t3(this,(xtc(),vtc));this.a=new rf(new D3(this,a))}function Kib(a){zib();this.b=a;this.a=a.Qg()?new A3(a.Mg()):new z3;this.c=new JFc}function Xk(){Xk=S0;Wk=new hSc(new Yk,new cl,new el);new hSc(new gl,new il,new kl)}function d2(){d2=S0;b2=new e2(ZVc,0);c2=new e2("UNMAPPED",1);a2=new e2("MAPPED", -2)}function wIb(){wIb=S0;vIb=new xIb(ZVc,0);uIb=new xIb("LOCAL",1);tIb=new xIb(lYc,2)}function PZb(a){var b,c;c=V_b(a.g,0).d.b;b=CYb(a);return new t4b(new t7b(c,a.f),b)}function Z7b(a,b){var c,d;c=V7b(a);b.b=c;if(c==116||c==84){d=V7b(a);b.c=d}return b}function JSb(a,b){var c,d;d=fSb(a,(Nlc(),Clc));c=wSb(a,b);PSb(a);Ndc(d,c);return d}function mRb(a,b){var c;c=rPb(a.a,(Nlc(),glc));!!b.a&&Mdc(c,MPb(a.a,b.a));return c}function Zdc(a,b){var c,d;d=a.c;c=0;while(d){if(b==d)return c;d=d.f;++c}return-1}function XE(a, -b){var c,d,e,f;e=a.a.b;f=b.e.b;c=a.a.a;d=b.e.a;return e==f&&c>=d||e>f}function Jbc(a,b,c,d,e,f){var g;if(a.b){g=new obc;g.d=b;kbc(g,c,d,e,f);fbc(a.b,g)}}function _F(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=cG(b,c)}while(a.b);a.b=c}}function $F(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=cG(b,c)}while(a.a);a.a=c}}function M2(a,b,c){var d,e,f;f=b;for(e=vv(c);Lb(e.b);){d=zv(e);f=L2(a,f,d)}return f}function qwb(a,b,c){uub();var d;b.hh(a);if(c.Md(a))for(d=a.c;d;d=d.f)qwb(d,b,c)}function nOb(a,b){if(!b)throw p0(new vBc("Null jsDocParsingMode")); -a.c=b;return a}function t5(a,b){if(!b)throw p0(new vBc("Null superClassNameNode"));a.k=b;return a}function jSb(a,b,c,d,e,f){var g;f?g=ISb(a,b):g=FSb(a,b);MSb(a,c,d,g,e);return g}function E0b(a){switch(a){case 8232:case 8233:return false;default:return B0b(a)}}function $_b(a,b){if((P_b(a,a.f)?HBc(a.b,a.f):0)==46){Q_b(a);h0b(a)}return Z_b(a,b)}function Y8b(a,b){var c;Ud(a.n==(Nlc(),skc));Ud(a9b(b));c=new ofc(rkc,a,b);return c}function wvb(a){Gd(a.n==(Nlc(),Kjc));return!!a.c&&!!a.c.f&&a.c.f==(a.c?a.c.i: -null)}function ccc(a){if((a.a.a&32)!=0)return false;else{a.a.a|=32;a.e=true;return true}}function ycc(a){if((a.a.a&64)!=0)return false;else{a.a.a|=64;a.e=true;return true}}function MTb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function Wdc(a){var b,c;for(b=a.c;b;){c=b.f;b.g=null;b.f=null;b.i=null;b=c}a.c=null}function Fpc(a,b){var c;c=(Jdc(),new Jhc((Nlc(),Ekc),""));c.d=b;Mdc(a.b,c);return c}function dCc(a,b){return b==(kOc(),kOc(),jOc)?a.toLocaleLowerCase():a.toLowerCase()} -function Jq(a,b){return gz(Pq(a,b,H0(A0(gVc,aBc(H0(A0(b==null?0:zb(b),hVc)),15)))))}function Ezb(){yzb();return yG(tG(kR,1),DUc,92,0,[vzb,wzb,xzb,uzb,rzb,qzb,szb,tzb])}function Njb(){Njb=S0;Mjb=KVb((AVb(),jVb),yG(tG(lU,1),DUc,25,0,[(aXb(),jWb),gWb]))}function vob(){vob=S0;uob=KVb((AVb(),jVb),yG(tG(lU,1),DUc,25,0,[(aXb(),XVb),FWb]))}function SOb(){SOb=S0;ROb=new TOb("STOP_AFTER_ERROR",0);QOb=new TOb("KEEP_GOING",1)}function eH(){eH=S0;aH=DG(IVc,IVc,524287);bH=DG(0,0,KVc);cH=BG(1);BG(2);dH=BG(0)}function cc(){this.a= -cCc("0123456789_.");this.a.sort(T0(rHc.prototype.Bk,rHc,[]))}function ENc(a){mMc.call(this);vNc(this);this.b.b=this.b;this.b.a=this.b;zg(this,a)}function Xuc(a){amc();yqc.call(this,Zqc(Xqc(new krc(a))));this.b.b=this;this.o=this}function Sdb(a){this.a=new GPc;this.c=new nGc;this.d=new nGc;this.e=new nGc;this.b=a}function z2(a){var b;b=new kfc((Nlc(),Alc));!!a.b&&Uec(b,t3(a,(xtc(),vsc)));return b}function eMc(a){var b;++a.a;for(b=a.c.a.length;a.aa)return new ASc;b=a+1;c=new rSc(b,a);return new xSc(c)}function TSc(a,b){var c;vSc(a);c=new ZSc(a,a.a.sf(),a.a.rf()|4,b);return new VSc(a,c)}function uHc(a,b){var c;BHc(b);c=b/31|0;return c>>b%31&1)==1}function T0(a,b, -c){var d=function(){return a.apply(d,arguments)};b.apply(d,c);return d}function Mc(a,b){var c,d,e;c=false;for(e=b.Xd();e.Jd();){d=e.Kd();c=c|a.Qd(d)}return c}function jq(a,b){var c;c=yNc(a.a,b);if(!c){c=($y(a.b.a),new DNc);zNc(a.a,b,c)}return c}function rAc(a){var b;b=new pAc;b.p="Class$"+(a?"S"+a:""+b.k);b.b=b.p;b.n=b.p;return b}function qt(a){var b;return lB((b=a.f,!b?a.f=RD(a.d)==0?(on(),gB(),fB):new Vt(a):b))}function u4(a,b,c){var d;x4((Nlc(),Hkc),b);for(d=b.c;d;d=d.f)c?F3(a,d):M4(a,d,false)} -function nec(a){Zd(a.n==(Nlc(),Ekc)||a.n==hkc,b1c,a);return($dc(a,(thc(),zgc))&1)!=0}function qec(a){Zd(a.n==(Nlc(),Ekc)||a.n==hkc,b1c,a);return($dc(a,(thc(),zgc))&2)!=0}function mec(a){return a.n==(Nlc(),Tjc)&&$dc(a,(thc(),tgc))!=0&&$dc(a,(thc(),Lgc))!=0}function uvb(a){uub();var b;if(a.n!=(Nlc(),Tjc))return false;b=a.g;return!!b&&vvb(b)}function wub(a){uub();var b;for(b=a.c.f;b;b=b.f)if(!Dub(b))return false;return true}function Cac(a,b){!a.d&&(a.d=new dbc);if(a.d.c!=null)return false;a.d.c=b;return true} -function D9b(a,b){!a.d&&(a.d=new dbc);!a.d.s&&(a.d.s=new nGc);dGc(a.d.s,b);return true}function Qbc(a){if((a.a.a&1)!=0)return false;else{Aac(a.a,true);a.e=true;return true}}function Swc(a,b){var c;c=Twc(a,b);return c==-1?b.a.kj()?Ttc(a.a,(xtc(),vtc)):b:a.b[c]}function FAc(a,b){var c;if(!a)return;b.o=a;var d=zAc(b);if(!d){P0[a]=[b];return}d.Ik=b}function Kf(a,b,c){var d,e;d=(e=a.f,!e?a.f=new Zg(a,a.c):e).Le(b);return!!d&&d.Td(c)}function mt(a,b,c){var d;ol(b,c);d=yNc(a.a,b);!d&&zNc(a.a,b,d=new nGc); -d.Qd(c);return a}function Dwc(a,b){amc();luc.call(this,a,Ttc(a,(xtc(),vtc)));this.b=b;this.a=Ttc(a,vtc)}function QRb(a,b){RRb(a,"msg.bad.fileoverview.visibility.annotation",b,a.j.g,DTb(a.j))}function Ne(a){Jd(true,"must be greater than zero: %s",2);return new Ue(a.c,a.b,a.d,2)}function Q1(a){if(!a.c)return false;return nec(a.c)||qec(a.c)||$dc(a.c,(Jdc(),xdc))!=0}function qeb(a){if(a.Ab==(Xeb(),Ueb))return false;return a.Dc||CVb((AVb(),oVb),heb(a))}function Nbb(a){if(a.I.pd==(Ufb(),Rfb))return;a.Q= -new Kxb(a.p,a.w,a.I.pd);dbb(a,a.Q.e)}function S2(a,b,c){var d;d=b3(a,b,Pe(We(),mWc));return A2(a,d,yG(tG(BX,1),kWc,7,0,[c]))}function ujb(a,b){var c;if(!Aec(b,ZYc))return false;c=t1(Rtb(a),ZYc);return!c||!c.d.b}function Hgb(a,b){var c;for(c=0;c=a.c,b,a.c);while(b>=a.d)qYb(a);return new r7b(a.e,b,a.b,b-a.c)}function i0b(a){if(aAc(P_b(a,a.f)?HBc(a.b,a.f):0,16)<0)return false;Q_b(a);return true}function Obc(a,b){if(O9b(a.a)==null){zac(a.a,b);a.e=true;return true}else return false}function qcc(a){if((a.a.a&1)!=0){Aac(a.a,false);a.e=true;return true}else return false}function gcc(a){if((a.a.a&8192)!=0)return false;else{a.a.a|=8192;a.e=true;return true}}function Zbc(a){if((a.a.a& -1024)!=0)return false;else{a.a.a|=1024;a.e=true;return true}}function ucc(a){if((a.a.a&2048)!=0)return false;else{a.a.a|=2048;a.e=true;return true}}function L0(){M0();var a=K0;for(var b=0;bb){b<<=1;return b>0?b:lVc}return b}function hG(a){var b=/function(?:\s+([\w$]+))?\s*\(/;var c=b.exec(a);return c&&c[1]||FVc}function gsc(a,b){var c;for(c=0;c=48&&a<=49)return a-48;throw p0(new PAc(v_c+String.fromCharCode(a))); -}function cQb(a){if(a>=48&&a<=55)return a-48;throw p0(new PAc(v_c+String.fromCharCode(a)));}function Pbc(a){if((a.a.a&262144)!=0)return false;else{a.a.a|=262144;a.e=true;return true}}function o5(a,b){if(!b)throw p0(new vBc("Null definePropertiesObjForClass"));a.e=b;return a}function QD(a){if(!a)throw p0(new Lzc("mode was UNNECESSARY, but rounding was necessary"));}function B7(){B7=S0;A7=new Whb("JSC_USELESS_CODE",(l7(),k7),new $Cc("Suspicious code. {0}"))}function N7(){N7=S0;M7=new Whb("JSC_UNREACHABLE_CODE", -(l7(),k7),new $Cc("unreachable code"))}function UMb(){UMb=S0;TMb=new Whb("JSC_UNUSED_LABEL",(l7(),j7),new $Cc("Unused label {0}."))}function GLb(){GLb=S0;FLb=new $gb(yG(tG(CO,1),xUc,5,0,[new Whb(BZc,(l7(),i7),new $Cc(""))]))}function Dic(){Dic=S0;Bic=new Eic("STRONG",0);Cic=new Eic("WEAK",1);Aic=new Eic("EXTERN",2)}function P8b(a,b,c){Ud(a.n==(Nlc(),Ekc));Ud(b.n==Ykc);Ud(c.n==ejc);return new pfc(Tjc,a,b,c)}function Xcc(a){var b;b=A9b(a,false);b.j==(ybc(),tbc)&&(b.j=null);return new Vcc(b,a.c,true)} -function OZb(a){var b;b=(On(),new vs);while(!T$b(a,(S2b(),o1b)))ts(b,x$b(a));return Wn(b.a)}function w1(a,b){var c;for(c=a;c;c=c.b)if(xNc(c.e,b)||u1(c,I1(b)))return true;return false}function nqb(a,b){var c,d,e;e=a.c.a.yg();d=e.kh(b);if(d)return true;c=e.lh(b);return c!=null}function rgb(a,b,c){var d;d=b.bi()-c.bi();if(d!=0)return d;return dDc(a.a,c).a-dDc(a.a,b).a}function iyb(a,b,c){var d;if(a.j){d="AST hashCode after "+b+": "+cUc(icb(a.b,c));SRc(fyb,d)}}function Y9b(a){var b;if(!a.d||!a.d.o)return on(), -gB(),fB;return on(),b=new bEc(a.d.o),Dp(b)}function Y3(a){var b,c;x4((Nlc(),Ljc),a);c=Ydc(a);2!=c&&Z4(zWc+c,a);for(b=a.c;b;b=b.f)q4(b)}function f4(a){var b,c;x4((Nlc(),fkc),a);c=Ydc(a);2!=c&&Z4(zWc+c,a);for(b=a.c;b;b=b.f)q4(b)}function lB(a){var b,c,d;b=0;for(d=a.Xd();d.Jd();){c=d.Kd();b+=c!=null?zb(c):0;b=~~b}return b}function Wwc(a,b){var c,d;for(d=a.c.Xd();d.Jd();){c=d.Kd();if(c==b)return true}return false}function Pc(a,b){var c,d;for(d=b.Xd();d.Jd();){c=d.Kd();if(!a.Td(c))return false}return true} -function Pq(a,b,c){var d;for(d=a.b[c&a.f];d;d=d.b)if(c==d.a&&Cd(b,d.g))return d;return null}function Qq(a,b,c){var d;for(d=a.c[c&a.f];d;d=d.d)if(c==d.f&&Cd(b,d.i))return d;return null}function HE(a,b){var c,d;c=yNc(a.g,b);if(c)d=c.a;else{d=lDc(a.g.c);zNc(a.g,b,dBc(d))}return d}function ls(a,b){var c,d,e,f;Pd(b);for(d=b,e=0,f=d.length;e0&&!b.uj()&& -(b=new Exc(a.D,b,(On(),On(),Nn)));a.F=Qwc(b.Vi(),a.Vi())}function ZPc(a,b,c,d,e,f){var g;this.c=a;g=new nGc;vPc(a,g,b,a.b,c,d,e,f);this.a=new TDc(g,0)}function aub(a,b,c,d){var e,f;e=new Krb((f=bec(b,(thc(),khc)),!f?null:f.ah()),b,c,d);a.c.Tg(e)}function Wtb(a,b,c){$tb(a,b);a.e=b;if(a.a.ih(a,b,c)){a.e=b;gub(a,b);a.a.jh(a,b,c)}Ztb(a,false)}function OYb(a,b){if(b){h_b(a,(aXb(),XWb));a.b.e&&WTb(a.c,b.d.b,F$c,yG(tG(qZ,1),xUc,1,5,[]))}}function POb(){MOb();return yG(tG(XT,1),DUc,107,0,[COb,DOb,EOb,FOb, -GOb,HOb,IOb,JOb,LOb,KOb])}function O1(){O1=S0;N1=qs(TLc((Nlc(),Hlc),yG(tG(IX,1),DUc,9,0,[wkc,rjc,Tjc,mjc,ljc,dkc,Ykc])))}function lkb(){lkb=S0;kkb=KVb((AVb(),jVb),yG(tG(lU,1),DUc,25,0,[(aXb(),zWb),iWb]));jkb=new Bkb}function I8b(a,b){Ud(_8b(a));Ud(b.n==(Nlc(),ejc));Fec(b,(thc(),rgc),1);return new ofc(jjc,a,b)}function NHc(a,b){JHc();var c,d;d=new nGc;for(c=0;c2)&&Z4(IWc+c,a);for(b=a.c;b;b=b.f)O4(b)}function eEb(a,b){var c;c=iDc(a.a,b);if(c){c.a?c.a.b=c.b:a.b=c.b;c.b.a=c.a;c.a=null;c.b=null}}function Ugb(a,b){var c,d;for(d=b.b.Xd();d.Jd();){c=d.Kd();if(!a.b.Td(c))return false}return true}function $$b(a){switch(V_b(a.g,0).e.f){case 65:case 94:case 67:return true; -default:return false}}function g_b(a){switch(V_b(a.g,0).e.f){case 25:case 30:case 38:return true;default:return false}}function c_b(a){switch(V_b(a.g,0).e.f){case 70:case 71:case 72:return true;default:return false}}function n$b(a,b){switch(V_b(a.g,0).e.f){case 49:return $Yb(a,b);case 45:default:return j$b(a,b)}}function Tpb(a,b){var c;switch(b.n.f){case 150:Spb(a,b);break;default:for(c=b.c;c;c=c.f)Tpb(a,c)}}function PSb(a){while(dSb(a,(xTb(),iTb))){!a.o?ETb(a.j):WRb(a);dSb(a,vTb)&&(!a.o?ETb(a.j): -WRb(a))}}function XRb(a,b){a.o=!a.o?ETb(a.j):WRb(a);if(a.o==b){!a.o?ETb(a.j):WRb(a);return true}return false}function Bvb(a){uub();var b;if(a.n==(Nlc(),Njc)&&a.c.n==hjc){b=a.c.c;return ric(pub,b)}return false}function CKb(a,b,c,d,e){var f;f=a.b.c.si(a.a,b,c,d,e);if(f!=null)return new EKb(a.b,f);return null}function isb(a){var b,c,d,e,f;b=0;for(d=a.a,e=0,f=d.length;e0){c.a+=":";c.a+=b}c.a+=": "}return c.a}function m$b(a){var b;if(S$b(a,0,(S2b(),Z1b))){BYb(a,Z1b);b=G$b(a);BYb(a,b1b)}else b=u$b(a);return b}function VYb(a){if(T$b(a,(S2b(),H1b)))return VZb(a);if(T$b(a,u1b))return AZb(a,true);return TYb(a)}function I9b(a, -b){a.a|=4096;if(!wac(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}function acc(a){if((a.a.a&$Xc)==0&&(a.a.a&16)==0){a.a.a|=$Xc;a.e=true;return true}else return false}function L$b(a){var b,c;b=V_b(a.g,0).d.b;c=J$b(a);if(!T$b(a,(S2b(),X1b)))return c;return I$b(a,b,c)}function LZb(a,b,c){sFc(a.e,c);b4b(g4b(a4b(d4b(c4b(b,c.b),MYb(a)),IZb(a,0)),LYb(a)),JZb(a));DFc(a.e)}function P3b(a,b,c,d,e,f){$2b.call(this,(L6b(),y5b),a);this.d=b;this.e=c;this.a=d;this.b=e;this.c=f}function n3b(a,b, -c,d,e,f){$2b.call(this,(L6b(),f5b),a);this.d=b;this.b=c;this.e=d;this.c=e;this.a=f}function G4b(a,b,c,d,e,f){$2b.call(this,(L6b(),Y5b),a);this.e=b;this.d=c;this.c=d;this.a=e;this.b=f}function cF(a,b,c,d,e,f,g,h){this.i=a;this.c=b;this.b=c;this.d=d;this.g=e;this.e=f;this.f=g;this.a=h}function lfc(a,b,c){Jdc();this.n=a;this.g=null;this.k=b<0||c<0?-1:(c&-4096)!=0?b<<12|NVc:b<<12|c&NVc}function nfc(a,b,c,d){Jdc();mfc.call(this,a,b);this.k=c<0||d<0?-1:(d&-4096)!=0?c<<12|NVc:c<<12|d&NVc}function OG(a,b){var c, -d,e;c=a.l+b.l;d=a.m+b.m+(c>>22);e=a.h+b.h+(d>>22);return DG(c&IVc,d&IVc,e&JVc)}function XG(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return DG(c&IVc,d&IVc,e&JVc)}function Qc(a,b){var c,d,e;c=false;for(d=a.Xd();d.Jd();){e=d.Kd();if(b.Td(e)){d.Ld();c=true}}return c}function F2(a,b){var c;c=(Ud(_8b(b)),new mfc((Nlc(),yjc),b));!!a.b&&Uec(c,t3(a,(xtc(),vsc)));return c}function Rpb(a,b){var c,d;for(d=new FGc(eac(b));d.a0)return gGc(a.n,b-1);else{c=AFc(a.o);return c?c.d:null}}function F8b(a){var b;Zd(a9b(a),"Block node cannot contain %s",a.n);b=new mfc((Nlc(),ejc),a);return b}function x9b(a){var b;if(!wac(a))return null;!a.b.d&&(a.b.d=new nGc);b=new ibc;dGc(a.b.d,b);return b}function Jac(a, -b){var c;!a.d&&(a.d=new dbc);if(a.d.n)return false;a.d.n=(on(),c=b,Dp(c));return true}function xnc(a){var b,c;if(a.a)for(b=a.a.c;b;b=b.f){c=b.d;if(!!c&&imc(c))return true}return false}function hAc(a){var b;if(a<128){b=(jAc(),iAc)[a];!b&&(b=iAc[a]=new $zc(a));return b}return new $zc(a)}function pcc(a,b){if(!((a.a.a&WUc)!=0||iac(a.a))&&Jac(a.a,b)){a.e=true;return true}else return false}function uFc(a,b){if(b==null)return false;while(a.a!=a.b)if(vb(b,WFc(a)))return true;return false}function DDc(a){if(a.a.Jd())return true; -if(a.a!=a.d)return false;a.a=new SMc(a.e.d);return a.a.Jd()}function eGc(a,b){var c,d;c=b.be();d=c.length;if(d==0)return false;ATc(a.a,a.a.length,c);return true}function Yb(a,b){var c;for(c=b.length-1;c>=0;c--)if(!xc(a,b.charCodeAt(c)))return false;return true}function $l(b,c){Pd(b);try{return b.Td(c)}catch(a){a=o0(a);if(lH(a,43))return false;else throw p0(a);}}function RRc(a){if(IRc)return vG(z_,G1c,285,0,0,1);return mGc(a.a,vG(z_,G1c,285,a.a.a.length,0,1))}function qF(){qF=S0;pF=yG(tG(uH,1),pUc, -50,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function TD(){TD=S0;var a;SD=vG(vH,xVc,50,256,15,1);PGc(SD);for(a=0;a<64;a++)SD[qVc.charCodeAt(a)]=a}function Reb(){Reb=S0;Oeb=new Seb(ZVc,0);Peb=new Seb("USE_GLOBAL_TEMP",1);Qeb=new Seb("USE_IIFE",2)}function Rmb(a){var b,c;for(c=new YFc(a.e);c.a!=c.b;){b=WFc(c);if(b.b==0)return b.a;break}return null}function ksb(a){var b,c,d,e,f;f=new mMc;for(c=a.a,d=0,e=c.length;da.$d()?Nv(a.Xd(),b):oB(a,b.Xd())}function CFc(a){var b;b=a.a[a.b]; -if(b==null)return null;a.a[a.b]=null;a.b=a.b+1&a.a.length-1;return b}function wec(a){switch(a.n.f){case 29:return a.Di()!="";case 26:return wec(a.c);default:return false}}function cwb(a){uub();switch(a.n.f){case 91:case 86:case 87:case 98:return true;default:return false}}function _y(a,b){var c;if(a===b)return true;else if(lH(b,52)){c=b;return kB(Eo(a),c.Je())}return false}function j5(a){if(!a.g)throw p0(new PAc('Property "fullClassNameNode" has not been set'));return a.g}function Rhc(a,b){if(null== -b)throw p0(new xsb("TemplateLiteralSubstringNode: raw str is null"));a.b=b}function gOb(a,b,c,d,e,f,g,h){this.d=a;this.g=b;this.c=c;this.f=d;this.a=e;this.i=f;this.b=g;this.e=h}function IF(a){GF();vD(this);wD(this);zD(this,a);this.g=a==null?uUc:W0(a);this.a="";this.b=a;this.a=""}function krc(a){Uqc.call(this,a);this.a=(on(),gB(),fB);this.b=(prc(),orc);Pqc(this,Ttc(a,(xtc(),ttc)))}function snb(a){var b;this.g=a;this.f=new nGc;this.c=a.d++;this.a=gfc((b=new kfc((Nlc(),ejc)),b),a.r.e)}function ajb(a){Yib(); -var b;this.b=a;b=new tMc;this.c=new dpb(a,a.Ng(),b,new oCb(new kfc((Nlc(),jlc))))}function TPc(a,b,c,d,e,f){var g;this.c=a;g=new nGc;vPc(a,g,b,a.b,c,d,e,f);this.a=new TDc(g,g.a.length)}function JPb(a,b,c){var d,e;if(tfc(a.k)==-1){e=b.b+1;Xec(a,e);d=b.a;a.k=Afc(tfc(a.k),d);Wec(a,c.c-b.c)}}function Ag(a,b,c){var d;return d=qH(b)?eDc(a,b):Kg(LMc(a.d,b)),d!=null?d:qH(b)?hDc(a,b,c):MMc(a.d,b,c)}function JE(a,b,c,d){var e,f;Ud(b>=0);Ud(c>=0);a.f=new XD(b,c);e=new eE;f=mF(d);aE(e,f);dE(e,new PE(a))}function cDc(a, -b,c){var d,e;for(e=c.Xd();e.Jd();){d=e.Kd();if(a.uk(b,d.gf()))return true}return false}function LHc(a){JHc();var b,c,d;d=0;for(c=a.Xd();c.Jd();){b=c.Kd();d=d+(b!=null?zb(b):0);d=d|0}return d}function RLc(a){var b,c,d,e;!a.Wd();d=a.Xd();c=d.Kd();e=SLc(c);while(d.Jd()){b=d.Kd();ULc(e,b)}return e}function Xg(a,b){var c,d;c=a.a.Ne(b);if(!c)return null;d=a.b.Ae();d.Rd(c);a.b.d-=c.$d();c.Sd();return d}function Qe(a,b){var c,d;Pd(b);c=a.c.le(a,b);d=new nGc;while(Lb(c))dGc(d,Mb(c));return JHc(),new pKc(d)} -function ZZb(a){var b,c;c=V_b(a.g,0).d.b;BYb(a,(S2b(),m1b));b=bZb(a,1);return new B4b(new t7b(c,a.f),b)}function W3(a){var b,c;x4((Nlc(),Fjc),a);for(b=a.c;b;b=b.f){x4(plc,b);C4(b);c=Ydc(b);0!=c&&Z4(yWc+c,b)}}function TG(a){var b,c,d;b=~a.l+1&IVc;c=~a.m+(b==0?1:0)&IVc;d=~a.h+(b==0&&c==0?1:0)&JVc;return DG(b,c,d)}function Avb(a){var b;if(a.n==(Nlc(),Njc)&&a.c.n==hjc){b=a.c.c;return Dec(b,FZc,FZc.length)}return false}function erb(a,b){arb();var c;if(a.yg().ph(b))return true;c=b.c;return c.n==(Nlc(), -Ekc)&&_qb.Td(c.Di())}function hwb(a,b,c){uub();var d;d=gwb(a,b);pwb(d,c);MBc(VVc,bec(d,(thc(),ehc)))||Gec(d,ehc,VVc);return d}function t8b(a){r8b();var b;b=s8b(q8b,a);if(b!=null)return b;throw p0(new CF("Resource not found: "+a));}function vfb(){rfb();return yG(tG(iO,1),DUc,91,0,[dfb,efb,ffb,hfb,gfb,ifb,jfb,kfb,lfb,mfb,ofb,nfb,qfb])}function c1(){c1=S0;on();Gp(yG(tG(qZ,1),xUc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function Onc(){Onc=S0;Lnc=new Rnc("EMPTY",0);Nnc=new Rnc(v0c,1); -Mnc=new Rnc(w0c,2);Knc=new Rnc("BOTH",3)}function Zlb(){Zlb=S0;Xlb=new $lb("REWRITE_ALL_OBJECT_PATTERNS",0);Ylb=new $lb("REWRITE_OBJECT_REST",1)}function w7(){w7=S0;v7=new Whb("JSC_MISSING_PROVIDE",(l7(),k7),new $Cc("missing goog.provide(''{0}'')"))}function a6(a,b){return MSc(PSc(NSc(new VSc(null,new KOc(a.c)),new xCb(b)),new zCb),(On(),Xk(),Xk(),Wk))}function vq(a,b,c){var d,e;return!b||c==null?null:(e=dz((d=a.c,!d?a.c=new yC(a):d),b),!e?null:dz(e,c))}function kxc(a,b,c){this.d=(JHc(),new qIc(new EMc)); -this.c=a;this.a=b;this.g=false;this.e=false;this.f=c}function vkb(a){lkb();this.c=new wq(new CNc,new zq);this.b=new tMc;this.e=new tMc;this.a=a;this.f=a.Ng()}function nYb(a){gYb();switch(a.f){case 109:case 108:case 110:case 111:return true;default:return false}}function xec(a){switch(a.n.f){case 29:case 26:case 27:case 93:case 94:return true;default:return false}}function jPb(a,b){var c;if(b){c=ePb(a,b);qMc(a.o,b);if(!lPb(a,c))return DPb(a,b.a,Ebc(c.f))}return null}function XAc(a){var b;if(a<0)return wVc; -else if(a==0)return 0;else{for(b=lVc;(b&a)==0;b>>=1);return b}}function KG(a){var b,c;c=$Ac(a.h);if(c==32){b=$Ac(a.m);return b==32?$Ac(a.l)+32:b+20-10}else return c-12}function g$b(a){var b;b=(On(),new vs);while(!T$b(a,(S2b(),a1b))&&!T$b(a,o1b))ts(b,x$b(a));return Wn(b.a)}function YZb(a,b){var c,d;d=V_b(a.g,0).d.b;BYb(a,(S2b(),m1b));c=w$b(a,b);return new A4b(new t7b(d,a.f),c)}function W$b(a){switch(V_b(a.g,0).e.f){case 59:case 60:case 61:case 62:return true;default:return false}}function m_b(a,b){switch(b.p.f){case 28:case 29:a.f= -b.o.b,d0b(a.g,a.f);return n$b(a,1);default:return b}}function Yvc(a){if(!a.a)return On(),On(),Nn;if(!!a.a.Qj()&&a.a.Qj().f)return a.a.Qj().e;return a.a.Rj()}function Fec(a,b,c){var d;d=Lec(a,a.j,b.f<<24>>24);d!=a.j&&(a.j=d);c!=0&&(a.j=new bgc(b.f<<24>>24,c,a.j))}function zPc(a,b,c){var d,e;d=new eQc(b,c);e=new fQc;a.b=xPc(a,a.b,d,e);e.b||++a.c;a.b.b=false;return e.d}function SDb(a,b,c){var d,e;for(e=new FGc(Eub(c));e.a>24);d!=a.j&&(a.j=d);c!=null&&(a.j=new lgc(b.f<<24>>24,c,a.j))}function T3(a,b,c){var d,e;e=Plc(c.n);e!=-1&&(d=Ydc(c),e!=d&&Z4(AWc+e+BWc+d,c));l4(a,b,c.c);$3(a,c.c?c.c.i:null)}function HYb(a,b){var c;c=CYb(a);if(!c||!MBc(c.a,b)){i_b(a,c,z0c,yG(tG(qZ,1),xUc,1,5,[b]));return null}return c}function hw(a){var b;while(!a.d||!a.d.Jd())if(!!a.b&&!zFc(a.b))a.d=(b=CFc(a.b), -b);else return null;return a.d}function bUb(a){var b,c,d,e;for(c=gVb(),d=0,e=c.length;d127)return false}return true}function JMc(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f=d||b=0,"numberToAdvance must be nonnegative");for(c=0;c>24);d!=a.j&&(a.j=d);(c?1:0)!=0&&(a.j=new bgc(b.f<<24>>24,c?1:0,a.j))}function p3(a,b,c){var d;d=a.b?Dtc(a.b,c,yG(tG(hY,1),xUc,23,0,[])):null;return J2(a,i9b(yG(tG(BX,1),kWc,7,0,[])),b,d)}function _Cc(a,b){var c,d;for(c=0;cb&&d.xf(a[f-1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function svb(a){uub();var b;if(a.n!=(Nlc(),ejc))return false;for(b=a.c;b;b=b.f)if(b.n!=Djc)return false;return true}function kRb(a,b){var c,d,e;e=new Yhc((Nlc(), -dlc));for(d=b.a.Xd();d.Jd();){c=d.Kd();Mdc(e,MPb(a.a,c))}return dPb(a.a,e)}function ERb(a,b,c){var d;if(!b){d=rPb(a.a,(Nlc(),Djc));tfc(d.k)==-1&&JPb(d,c.o.b,c.o.a);return d}return $Qb(a,b,false)}function U2(a,b,c){var d;d=(Zd(PBc(c,hCc(46))==-1,iWc,c),Jdc(),new Jhc((Nlc(),Ekc),c));!!a.b&&Uec(d,w3(a,b,c));return d}function Wrc(){Wrc=S0;Trc=new Xrc("MATCH",0,true);Urc=new Xrc("NOT_MATCH",1,false);Vrc=new Xrc("PROCESSING",2,true)}function F1(){F1=S0;B1=new H1("ARGUMENTS",0,SVc);C1=new H1("EXPORTS",1, -TVc);D1=new H1(UVc,2,VVc);E1=new H1(WVc,3,XVc)}function P7(){P7=S0;O7=new Whb("JSC_UNUSED_PRIVATE_PROPERTY",(l7(),j7),new $Cc("Private property {0} is never read"))}function WLb(){WLb=S0;VLb=new Whb("JSC_DUPLICATE_CASE",(l7(),k7),new $Cc("Duplicate case in a switch statement."))}function AMb(){AMb=S0;zMb=new Whb("JSC_MISSING_SEMICOLON",(l7(),j7),new $Cc("Missing semicolon (fix with go/fixjs)"))}function Y6(){Y6=S0;X6=new Whb("JSC_USED_GLOBAL_THIS",(l7(),k7),new $Cc("dangerous use of the global 'this' object"))} -function ceb(){ceb=S0;cCc("ABCDEFGHIJKLMNOPQRSTUVWXYZ$");cCc("_$");aeb=(On(),new RB(Pd((r8b(),new wgb))));beb=new wfb}function zec(a){var b,c;Fec(a,(thc(),ahc),1);for(c=(!a.c?(JHc(),JHc(),IHc):new whc(a.c)).Xd();c.Jd();){b=c.Kd();zec(b)}}function u2(a){var b;b=(Zd(PBc(SVc,hCc(46))==-1,iWc,SVc),Jdc(),new Jhc((Nlc(),Ekc),SVc));!!a.b&&Uec(b,a.a.Dd());return b}function $A(a,b){var c,d;c=a.b.b.$d();b.lengthc&&(b[c]=null);return b}function Hc(b,c,d){var e; -try{Gc(b,c,d)}catch(a){a=o0(a);if(lH(a,105)){e=a;throw p0(new Szc(e));}else throw p0(a);}return c}function dBc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(fBc(),eBc)[b];!c&&(c=eBc[b]=new RAc(a));return c}return new RAc(a)}function Ylc(a,b){var c,d,e;if(jv(b))return a;c=new Zhc((Nlc(),Xkc),a);for(e=b.Xd();e.Jd();){d=e.Kd();Mdc(c,d)}return c}function Vwc(a){var b,c,d,e;if(a.b!=null)for(c=a.b,d=0,e=c.length;d>>=5;b>0&&(c|=32);qCc(a,(TD(),qVc,qVc.charCodeAt(c)))}while(b>0)}function UQb(a,b){var c;c=rPb(a.a,(Nlc(),bkc));Mdc(c,MPb(a.a,b.a));Mdc(c,NPb(a.a,b.c));!!b.b&&Mdc(c,NPb(a.a,b.b));return c}function yRb(a,b){var c,d,e;e=(On(),new vs);for(d= -b.a.Xd();d.Jd();){c=d.Kd();ts(e,MPb(a.a,c))}return dPb(a.a,Zlc(Wn(e.a)))}function aUb(a,b){var c,d;Xec(b,tfc(b.k)+a.d);for(d=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();d.Jd();){c=d.Kd();aUb(a,c)}}function gsb(a,b,c){if(c==b||c!=b&&uHc(a.c[c.c],b.c))return b;else if(b!=c&&uHc(a.c[b.c],c.c))return c;return fsb(a,b,c)}function NAc(a,b){if(ab)return 1;if(a==b)return a==0?NAc(1/a,1/b):0;return isNaN(a)?isNaN(b)?0:1:-1}function ko(a){On();var b;switch(a.$d()){case 0:return Nn;case 1:return new RB(Pd(a.ee(0))); -default:b=a;return new _A(b)}}function o0b(a){switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 92:return m0b(a);case 91:return p0b(a);default:Q_b(a);return true}}function _Pb(a){switch(a.n.f){case 72:case 73:case 101:case 102:case 70:case 71:case 67:return true;default:return false}}function I0b(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return a-48;default:return-1}}function v9b(a,b){!a.d&&(a.d=new dbc);!a.d.f&&(a.d.f=new oGc);if(hGc(a.d.f,b,0)!=-1)return false;dGc(a.d.f, -b);return true}function w9b(a,b){!a.d&&(a.d=new dbc);!a.d.g&&(a.d.g=new oGc);if(hGc(a.d.g,b,0)!=-1)return false;dGc(a.d.g,b);return true}function roc(a,b,c){amc();if(b==a.b)return Aoc(),zoc;else if(nIc(a.a,b))return Aoc(),yoc;else{mIc(a.a,b);return c.wj(a)}}function Twc(a,b){var c,d;d=$wnd.Math.min(a.c.$d(),a.d.$d());for(c=d-1;c>=0;c--){amc();if(a.c.ee(c)==b)return c}return-1}function kD(a,b){var c,d;Pd(b);if(!a.c)return b;d=a.c.a;for(c=kCc(b)-1;c>=0;c--)if(fCc(b,c)!=d)break;return lCc(b,0,c+1)}function Zjb(a, -b){var c,d;Fec(b,(thc(),ahc),1);for(d=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();d.Jd();){c=d.Kd();Zjb(a,c)}}function rRb(a,b){var c,d,e;e=sPb(a.a,(Nlc(),tlc),MPb(a.a,b.b));for(d=b.a.Xd();d.Jd();){c=d.Kd();Mdc(e,MPb(a.a,c))}return e}function Wnb(a,b,c){var d;Ud(c.n==(Nlc(),Ekc));d=t1(b,c.Di());if(!!d&&!!d.c&&Evb(d.c)&&c!=d.c)return Tnb(a,d.c);return null}function Zmb(a,b){var c,d;for(d=new FGc(b);d.a0&&hrc(d,(On(),Pd(c),Wn(new kHc(c))));return Wqc(d)}function _pb(a,b){return a.e||(!!a.c&&mub(a.a,a.c,new sqb(a)),mub(a.a,a.j,new sqb(a)),a.e=true,a.d=null,undefined),eDc(a.i,b)}function fIb(a,b){var c,d;c= -b.c;if(!c||(uub(),!(c.n==(Nlc(),Njc)&&c.c.n==hjc)))return;d=c.f;!!d&&Bvb(d)&&gIb(a,c.c.c.f.Di())}function RQb(a,b){var c,d,e;e=sPb(a.a,(Nlc(),hjc),MPb(a.a,b.b));for(d=b.a.a.Xd();d.Jd();){c=d.Kd();Mdc(e,MPb(a.a,c))}return e}function zrb(a,b,c,d){var e;e=new BCc;e.a+="@";e.a+=b;e.a+=" {";xrb(a,e,c);e.a+="}";if(d!=null){e.a+=" ";e.a+=""+d}return e.a}function lub(a,b,c){this.o=new JFc;this.n=new nGc;this.b=new JFc;this.a=b;lH(b,330)&&(this.j=b);this.c=a;this.k=c;this.q=true}function M9b(a,b,c){if(!wac(a))return true; -!a.b.j&&(a.b.j=new CNc);if(!xNc(a.b.j,b)){zNc(a.b.j,b,c);return true}return false}function Yvb(a){uub();switch(a.f){case 24:case 79:case 25:case 21:case 22:case 20:case 19:return true;default:return false}}function m6(a,b){if($dc(b,(thc(),Dgc))!=0)throw p0(new PAc(a+"existing scope is improperly marked as deleted:\n"+ffc(b)));}function Pgb(){Pgb=S0;Lgb=new Qgb(bYc,0);Ogb=new Qgb("SORT_ONLY",1);Ngb=new Qgb("PRUNE_LEGACY",2);Mgb=new Qgb("PRUNE",3)}function zeb(){zeb=S0;web=new Aeb(ZVc,0);xeb=new Aeb("START", -1);yeb=new Aeb("START_AND_END",2);veb=new Aeb("EVERY_PASS",3)}function n4b(){n4b=S0;k4b=new o4b("DECLARATION",0);l4b=new o4b("EXPRESSION",1);m4b=new o4b("MEMBER",2);j4b=new o4b("ARROW",3)}function slb(){slb=S0;rlb=new tlb("QUOTED_PROPERTY",0);plb=new tlb("COMPUTED_PROPERTY",1);qlb=new tlb("NORMAL_PROPERTY",2)}function ybc(){ybc=S0;vbc=new zbc(f_c,0);ubc=new zbc(e_c,1);wbc=new zbc(g_c,2);xbc=new zbc(h_c,3);tbc=new zbc("INHERITED",4)}function LE(){this.e=new nGc;this.k=new CNc;this.j=new CNc;this.g= -new CNc;this.f=new XD(0,0);this.i=new XD(0,0);this.a=new CNc}function Vsb(a){Rsb();this.b=a;this.a=a.Qg();this.c=a.Mg();this.e=Mob(this.a,this.c,(xtc(),vtc));this.d=Mob(this.a,this.c,otc)}function W0(a){var b;if(Array.isArray(a)&&a.Kk===X0)return nAc(xb(a))+"@"+(b=zb(a)>>>0,b.toString(16));return a.toString()}function u9(a){var b,c;for(b=a.c;b;b=b.f)if(b.n==(Nlc(),ejc)){c=u9(b);if(c)return c}else if(b.n!=Djc)return b;return null}function Nub(a){uub();var b,c;Hd(a.n==(Nlc(),mjc),a);b=Qd(a.c?a.c.i: -null,a);for(c=b.c;c;c=c.f)if(vvb(c))return c;return null}function RYb(a){var b,c,d,e;e=V_b(a.g,0).d.b;b=e$b(a);while(U$b(a)){c=PYb(a);d=e$b(a);b=new g3b(new t7b(e,a.f),b,c,d)}return b}function e$b(a){var b,c,d,e;e=V_b(a.g,0).d.b;b=zZb(a);while($$b(a)){c=PYb(a);d=zZb(a);b=new g3b(new t7b(e,a.f),b,c,d)}return b}function A$b(a){var b,c,d,e;e=V_b(a.g,0).d.b;b=RYb(a);while(c_b(a)){c=PYb(a);d=RYb(a);b=new g3b(new t7b(e,a.f),b,c,d)}return b}function C$b(a){var b;b=(On(),new vs);while(S$b(a,0,(S2b(),z1b))|| -d_b(a)||T$b(a,L1b)||S$b(a,0,$0b))ts(b,B$b(a));return Wn(b.a)}function D$b(a){var b;b=(On(),new vs);while(S$b(a,0,(S2b(),z1b))||d_b(a)||T$b(a,L1b)||S$b(a,0,$0b))ts(b,B$b(a));return Wn(b.a)}function $7b(a,b){var c;V7b(a);c=a.b=48&&c<=57){g8b(b,X7b(a));return Z7b(a,b)}else throw p0(a8b(a));}function Lcc(a,b){if(!!b&&!((a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)){D9b(a.a,b);a.e=true;return true}return false}function B9b(a,b,c){!a.d&&(a.d=new dbc);!a.d.o&&(a.d.o=new CNc); -if(xNc(a.d.o,c))return false;else{zNc(a.d.o,c,b);return true}}function I1(a){F1();switch(a){case SVc:return B1;case VVc:return D1;case XVc:return E1;case TVc:return C1;default:return null}}function eo(a){On();var b,c,d;for(c=0,d=a.length;cc)throw p0(new Nzc(K1c+a+L1c+ -b+", size: "+c));if(a>b)throw p0(new xsb(K1c+a+" > toIndex: "+b));}function MCb(a,b){if(!a)throw p0(new xsb("a source must have a name"));MBc("/",Dzc)?this.b=a:this.b=WBc(a,Dzc,"/");this.c=b}function lKb(a){this.f=new nGc;this.c=new nGc;this.a=new tMc;this.e=new CNc;this.b=new mMc;this.d=new Iw;eGc(this.f,a);kKb(this)}function ATb(a,b){var c,d;c=a.p;if(c==a.o.length){d=vG(uH,pUc,50,a.o.length*2,15,1);GCc(a.o,d,0,c);a.o=d}a.o[c]=b&oUc;a.p=c+1}function yHc(a,b){var c,d;if(a==b)return;FHc(a.a,b.a.length- -1);for(c=0;c0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return uVc in new Error}function o6(a){Ud(a.n==(Nlc(),hlc));if($dc(a,(thc(),ugc))!=0)throw p0(new PAc("Root nodes should never be marked as changed."));}function h6(a,b,c){var d,e;(b.n==(Nlc(),hlc)||(uub(),b.n==jlc||b.n==Tjc))&&Mq(a.a,b,c);d= -b.c;e=c.c;while(d){h6(a,d,e);d=d.f;e=e.f}}function Xvb(a){var b,c;b=a.c;if(b.n==(Nlc(),Zjc)||b.n==Yjc){c=b.c?b.c.i:null;return c.n==olc&&MBc("toString",c.Di())}return false}function N7b(a){var b;if(a.a==null)b=uUc;else throw p0(new CF("Integer.toHexString is outside the GWT subset"));return F7b(a,b,0)}function JIb(a,b){if(a==null)throw p0(new vBc("Null prefix"));this.a=a;if(b==null)throw p0(new vBc("Null replacement"));this.b=b}function J9b(a,b,c){if(!wac(a))return true;!a.b.e&&(a.b.e=new CNc);if(xNc(a.b.e, -b))return false;else{zNc(a.b.e,b,c);return true}}function pbc(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return a.d==b.d&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function Bdb(a,b,c){this.f=new nGc;this.e=new nGc;this.o=new nGc;this.d=new nGc;this.j=(Zdb(),Ydb);this.a=a;this.i=b;c&&ydb(this)}function cUc(a){aUc();var b,c,d;c=":"+a;d=_Tc[c];if(d!=null)return sH(d);d=ZTc[c];b=d==null?bUc(a):sH(d);dUc();_Tc[c]=b;return b}function Arb(a,b,c){var d,e;e=Z9b(b,c);if(e){d="{"+Erb(a,e.a)+"} "+ -c+(a.a&&R9b(b,c)!=null?R9b(b,c):"");return eCc(d)}else return c}function v$b(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=A$b(a);while(b_b(a,b)){d=PYb(a);e=A$b(a);c=new g3b(new t7b(f,a.f),c,d,e)}return c}function CPb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;f=new TSb(new KTb(d.substr(3),e,c+3),d,b.a.b.c,a.u,a.a,a.e);return uSb(f)}function Ytb(a,b){var c,d,e;c=Kub(b);a.g=c;e=Stb(c);e?cub(a,bec(e,(thc(),Rgc)),(d=bec(e,khc),!d?null:d.ah())):cub(a,null,"");a.f=e}function Ssb(a,b){var c,d;for(d=(!b.c?(JHc(), -JHc(),IHc):new whc(b.c)).Xd();d.Jd();){c=d.Kd();if(c.n==(Nlc(),qjc)){Tsb(a,b);return}}}function lq(a){var b,c,d,e,f;f=0;for(d=(e=(new mEc(a.a)).a.Je().Xd(),new rEc(e));d.a.Jd();){c=(b=d.a.Kd(),b.gf());f+=c.$d()}return f}function ME(a,b){var c,d,e,f;e=0;for(d=new aOc(new TNc(b));d.b!=d.c.a.b;){c=$Nc(d);f=c.d;e!=0&&(a.a+=",",a);uCc(a,(qF(),tF(f)));++e}}function YLb(){YLb=S0;XLb=new Whb("JSC_USELESS_EMPTY_STATEMENT",(l7(),j7),new $Cc("Useless empty statement. (fix with go/fixjs)"))}function _Sb(){_Sb= -S0;ZSb=new aTb("SEARCHING_ANNOTATION",0);$Sb=new aTb("SEARCHING_NEWLINE",1);YSb=new aTb("NEXT_IS_ANNOTATION",2)}function Z1(){Z1=S0;X1=new $1(YVc,0,0);W1=new $1("GETTER_ONLY",1,1);Y1=new $1("SETTER_ONLY",2,2);V1=new $1("GETTER_AND_SETTER",3,3)}function zUb(a,b){if(b.n!=(Nlc(),Ekc)){a.a.gi(z_c+tic(R_c,yG(tG(qZ,1),xUc,1,5,["name"])),a.b.ah(),a.d,a.c);return false}return true}function L8b(a,b){Vd(a.n==(Nlc(),Ekc)||a.n==Skc||a.n==Lic||a.n==zjc,a);(a.n==Skc||a.n==Lic)&&(a=new mfc(zjc,a));return new mfc(b, -a)}function tqc(a,b,c){if(!b)return false;if(a.Zi()&&b==(Zd(a.Zi()||a.i==(prc(),nrc),jWc,a),rmc(a.o)))return false;return vqc(a,b,c)}function Abb(a,b){var c;if(udb(b).a){Mdc(a.p,tdb(b,a));c=b.k;!!c&&(Gd(true),b.k=null,jGc(c.d,b));dGc(a.n,b);return true}return false}function RF(){var a;if(MF!=0){a=LF();if(a-NF>2E3){NF=a;OF=$wnd.setTimeout(XF,10)}}if(MF++==0){$F((ZF(),YF));return true}return false}function gqc(a){var b,c;c=a.Zi()?oqc(a):null;if(!c)return a.e;b=(On(),new vs);us(b,a.e);while(c){us(b, -c.e);c=oqc(c)}return Wn(b.a)}function yZb(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=v$b(a,b);while(W$b(a)){d=PYb(a);e=v$b(a,b);c=new g3b(new t7b(f,a.f),c,d,e)}return c}function H$b(a){var b,c,d;d=V_b(a.g,0).d.b;BYb(a,(S2b(),J2b));b=CYb(a);BYb(a,q1b);c=G$b(a);GYb(a);return new _6b(new t7b(d,a.f),b,c)}function wRb(a,b){var c,d;d=b.a.Gf();c=wPb(a.a,(Nlc(),Ekc),d.Kd());while(d.Jd())c=R8b(c,l9b(d.Kd()));return dPb(a.a,new Zhc(Clc,c))}function Olb(a,b,c,d){var e;!!d&&d.n==(Nlc(),zjc)&&(d=d.g);switch(c.n.f){case 93:case 94:Qlb(a, -b,c,d);c==yFc(a.f).b&&(e=DFc(a.f),e)}}function NBc(a,b){if(b==null)return false;if(MBc(a,b))return true;return a.length==b.length&&MBc(a.toLowerCase(),b.toLowerCase())}function nwc(a){var b;if(a.b)return Ttc(a.d,(xtc(),gtc));b=(wu(),new Fu((OA(),NA)));Eu(b,new xDc(a.c));return new fwc(a.d,Du(b),a.a)}function rn(a){switch(a.$d()){case 0:return On(),On(),Nn;case 1:return On(),new RB(Pd(a.Gf().Kd()));default:return new ku(a,a.be())}}function GCc(a,b,c,d){var e,f;xb(a);xb(b);f=a.length;e=b.length;if(c< -0||d<0||d>f||c+d>e)throw p0(new Mzc);d>0&&xTc(a,0,b,c,d,true)}function zNc(a,b,c){var d,e,f;e=dDc(a.c,b);if(!e){d=new QNc(a,b,c);gDc(a.c,b,d);NNc(d);return null}else{f=wEc(e,c);ANc(a,e);return f}}function k9b(a){var b,c,d,e,f;f=new kfc((Nlc(),hlc));for(c=a,d=0,e=c.length;d>1);g=a[f];if(gc)d=f-1;else return f}return-e-1}function Aob(a){var b;for(b=a.c;b;b=b.f){if(b.n!=(Nlc(),wlc))continue;if(b.Ai()==null||!MBc(b.Ai(),b.Ci()))return false}return true}function brb(a,b){var c;if(wj(a.e,b)>0)return true;c=AFc(a.d);if(!c.c)return false;while(!!c&&!!c.a){Wf(a.g,c.a,b);c=c.b}return true}function cRb(a,b){var c,d,e;e=sPb(a.a,(Nlc(),Kkc),MPb(a.a,b.b));if(b.a)for(d=b.a.a.Xd();d.Jd();){c=d.Kd();Mdc(e,MPb(a.a,c))}return e}function cSb(a, -b){var c,d;d=false;while(true){c=BTb(a.j);if(c==32)continue;else if(c==b){d=true;break}else break}HTb(a.j,c);return d}function uPc(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.xf(b,f.d);if(c&&d==0)return f;if(d>=0)f=f.a[1];else{e=f;f=f.a[0]}}return e}function E2(a,b,c,d){var e,f,g;g=dwb(c,d);if(a.b){Pd(b);e=Pd(b.rj());f=Pd((Zd(e.Zi()||e.i==(prc(),nrc),jWc,e),rmc(e.o)));g.d=f}return g}function xkb(a,b,c,d){lkb();var e;if(a.n==(Nlc(),rjc)&&!(b.n==Rjc&&a==b.c)){wkb(a,c,d);e=Ycc(bec(d,(thc(),Zgc)));Qbc(e); -Tec(d,Ebc(e))}}function V4(a,b){var c;uub();if(!!b&&(b.n==(Nlc(),Hlc)||b.n==wkc||b.n==rjc)){c=Ydc(b);1!=c&&Z4(EWc+c,b);s4(a,b.n,b)}else l4(a,b.g.n,b)}function i4(a){var b,c,d;x4((Nlc(),nkc),a);for(b=a.c;b;b=b.f){x4(Fkc,b);c=Plc(b.n);c!=-1&&(d=Ydc(b),c!=d&&Z4(AWc+c+BWc+d,b));q4(b.c)}}function Qdc(a,b){var c,d,e;if(!b)return;Qd(b.i,b);for(c=b;c;c=c.f){Gd(!c.g);c.g=a}e=b.i;if(a.c){d=a.c.i;b.i=d;e.f=a.c;a.c.i=e}a.c=b}function mIb(a){var b,c,d;for(c=new FGc(a.a);c.a0)return W7b(a)}return H0(b)}function qyb(a){var b,c;for(c=new FGc(a.d);c.a0&&r0(a,128)<0){b=H0(a)+128;c=(sBc(),rBc)[b];!c&&(c=rBc[b]=new hBc(a));return c}return new hBc(a)}function RTc(a,b){if(0>a)throw p0(new xsb("fromIndex: 0 > toIndex: "+a));if(a>b)throw p0(new Ozc("fromIndex: 0, toIndex: "+a+J1c+b));}function fbb(a){a.L=myb(ibb(a),new yyb(a.M));hyb(a.L,(!a.K&&(a.K=new QLb(a.a)),new nGc));kyb(a.L,a.p,a.w);if(a.i.a.d!=0)return;a.L=null}function $ub(a){uub();var b;for(b=a;true;b=b.c){if(b.n==(Nlc(),Ekc)||b.n==ylc||b.n==slc)return b;Zd(b.n==Zjc,"Not a getprop node: ", -b)}}function dMb(){dMb=S0;cMb=new Whb("JSC_MUST_COME_BEFORE_IN_ES6_MODULE",(l7(),k7),new $Cc("In ES6 modules, {0} should come before {1}."))}function jbc(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return pbc(a.a,b.a)&&nbc(a.c,b.c)&&pbc(a.b,b.b)&&sbc(a.d,b.d)}function amc(){amc=S0;$lc=(on(),Gp(yG(tG(qZ,1),xUc,1,5,[aWc,n1c,$Vc])));_lc=Gp(yG(tG(qZ,1),xUc,1,5,["Iterable","Iterator",XYc,o1c,p1c]))}function mGc(a,b){var c,d;d=a.a.length;b.lengthd&&(b[d]=null);return b}function jHc(a,b){var c,d;d=a.a.length;b.lengthd&&(b[d]=null);return b}function fRb(a,b){var c,d,e,f;pPb(a.a,b,(aXb(),FWb));f=rPb(a.a,(Nlc(),Skc));for(d=b.a.Xd();d.Jd();){c=d.Kd();e=gRb(a,c);Mdc(f,e)}return f}function FFc(a,b){var c,d,e,f;d=a.a.length-1;c=b-a.b&d;f=a.c-b&d;e=a.c-a.b&d;NFc(c=f){GFc(a,b);return-1}else{HFc(a,b);return 1}}function A9b(a,b){var c;c=new Tac;c.d=!a.d?null:$ac(a.d, -b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=Wac(a.i,b);c.g=Wac(a.g,b);c.c=a.c;c.f=a.f;return c}function _ac(a,b){var c,d,e;e=null;if(a){e=new oGc;for(d=new FGc(a);d.a=(QRc(a),800):HRc?b.tk()>=(kRc(),800):KRc?b.tk()>=(kRc(),900):JRc&&b.tk()>=(kRc(),1E3))&&MRc(a,b,c,d)}function TRc(a,b,c){(GRc?b.tk()>=(QRc(a),800):HRc?b.tk()>=(kRc(),800):KRc?b.tk()>=(kRc(),900):JRc&&b.tk()>= -(kRc(),1E3))&&MRc(a,b,c,null)}function r4(a,b,c){if(c.n==(Nlc(),Ekc)){y4(c)&&c.Di().length==0&&Z4(JWc,c);n4(c);!!c.c&&$3(a,c.c)}else c.n==zjc?U3(a,b,c):Z4(CWc+b+DWc,c)}function r9(a){X8(this);this.c=a;this.g=false;this.k=true;this.i=false;this.j=false;this.n=false;this.f=(AVb(),jVb);this.e=new Frb(false)}function w9(b){var c;if(z9(b))try{c=KAc(b);if(z0(c,{l:0,m:0,h:512}))return G0(c)}catch(a){a=o0(a);if(!lH(a,83))throw p0(a);}return NaN}function lob(a,b){var c,d,e;c=T8b(a,b,yG(tG(vZ,1),cWc,2,6,[])); -e=a.d;if(!e)return c;d=fmc(e,b);!d&&lH(e,135)&&(d=lqc(e,b));return c.d=d,c}function dzb(a,b){czb();var c;if(b==(_Kb(),$Kb)){c=Ydc(a)>=3?Xdc(a,2):a.c.f;return c.n==(Nlc(),Pkc)?""+sH(c.Bi()):c.Di()}return a.c.f.Di()}function Cgb(a){var b,c,d,e,f;a.e=($y(Agb.length),new nMc);f=0;for(c=Agb,d=0,e=c.length;d=0;d=zHc(b,d-1))e[d]+=1}return e}function abc(a, -b){var c,d,e,f;e=null;if(a){e=new CNc;for(d=new aOc(new TNc(a));d.b!=d.c.a.b;){c=$Nc(d);f=c.e;zNc(e,c.d,Wac(f,b))}}return e}function fmc(a,b){var c,d,e;c=a.Pi(b);if(!c)return null;if(a.Vi().c.Wd()||!imc(c))return c;e=a.Vi();d=new kxc(a.D,e,false);return c.wj(d)}function o$b(a,b){var c,d,e;e=V_b(a.g,0).d.b;c=p$b(a,b);if(T$b(a,(S2b(),q1b))){BYb(a,q1b);d=bZb(a,1);c=new K3b(new t7b(e,a.f),c,d)}return c}function yYb(a,b){var c;c=(On(),new vs);ts(c,b?b.a:"");while(T$b(a,(S2b(),d2b))){BYb(a,d2b);b=CYb(a); -if(!b)break;ts(c,b.a)}return Wn(c.a)}function T2(a,b){var c,d;Hd(b.c.Di().length==0,b);c=(Ud(b.n==(Nlc(),Tjc)),d=(Jdc(),new Jhc(zkc,nWc)),Mdc(d,b),d);!!a.b&&Uec(c,b.d);return c}function Wcb(a,b){var c,d;yCc(a.c,b);c=-1;d=c;while((c=QBc(b,hCc(10),c+1))>=0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function Ikb(a,b,c,d){var e,f;f=T8b(Hkb(a,b),d,yG(tG(vZ,1),cWc,2,6,[]));if(a.f.d){e=c.d;!e&&(e=rkb(a.f,(xtc(),vtc)));f.d=e}hfc(f,c);return f}function Mwc(a,b,c,d,e){var f,g;g=Hrc(d,a,b);if(!g){f= -$wc(c,a,b,d,e)&&$wc(c,b,a,d,e);Irc(d,a,b,(Wrc(),f?Trc:Urc));return f}else return g.a}function ETc(a,b){(!b&&console.groupCollapsed!=null?console.groupCollapsed:console.group!=null?console.group:console.log).call(console,a)}function l6(a,b,c){var d;d=$dc(c,(thc(),ugc));if(d==0||d0?f=iGc(a.n,e-1):f=(d=CFc(a.o),d).d;uub();XLc(oub,f.n)&&(c=CFc(a.b),c)}function i9b(a){var b,c,d,e,f;f=new kfc((Nlc(),Ykc));for(c=a,d=0,e=c.length;d=a.length)throw p0(new A7b(bCc(c.a,c.d,c.b)));if(b==-2)return d;return a[b]}function fAc(a,b,c){PTc(a>=0&&a<=BVc);if(a>=AVc){b[c++]=55296+(a-AVc>>10&CVc)&oUc;b[c]=56320+(a-AVc&CVc)&oUc;return 2}else{b[c]=a&oUc;return 1}}function b3(a,b,c){var d,e,f;d=Pd(Lv(Re(c.a,c.b))); -f=(Pd(c),Hd(true,"number to skip cannot be negative"),new wv(c));e=U2(a,b,d);return M2(a,e,f)}function Vbb(a){var b;Ud(oeb(a.I));b=(!a.K&&(a.K=new QLb(a.a)),new nGc);if(b.a.length==0)return;a.L=ibb(a);hyb(a.L,b);kyb(a.L,a.p,a.w);a.L=null}function jub(a,b,c,d){Pd(c);Ytb(a,b);if(Rtb(a)!=d){a.e=b;Pd(a.e);rFc(a.o,d);_tb(a,d.d);!!a.j&&a.j.di(a);fub(a,b,c);Ztb(a,false)}else fub(a,b,c)}function pwb(a,b){var c;if(!bec(a,(thc(),khc))){afc(a,b);Zec(a,b.k)}bec(a,ehc)==null&&Gec(a,(Jdc(),Bdc),bec(b,ehc));for(c= -a.c;c;c=c.f)pwb(c,b)}function dJb(a,b){cJb();return qJb(pJb(rJb(wJb(vJb(uJb(tJb(sJb(new xJb,b),a),(On(),On(),Nn)),(null,Nn)),(null,Nn)),(Do(),Do(),Co)),false),false)}function _Kb(){_Kb=S0;XKb=new aLb("BROWSER",0);YKb=new aLb("BROWSER_WITH_TRANSFORMED_PREFIXES",1);ZKb=new aLb("NODE",2);$Kb=new aLb("WEBPACK",3)}function iUb(a,b){if(!_Tb(a,b,(dVb(),KUb)))return false;if(!yUb(a,(Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)))){EUb(a,KUb.d);return false}return true}function pUb(a,b){if(!_Tb(a,b,(dVb(),VUb)))return false; -if(!yUb(a,(Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)))){EUb(a,VUb.d);return false}return true}function Mbc(a,b){if(!!b&&!((a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)&&!gac(a.a)){yac(a.a,b);a.e=true;return true}else return false}function qYb(a){var b,c;++a.b;a.c=a.d;for(c=a.c;c>4&oUc}return pCc(c,0,c.length)}function Cvb(a){uub();var b;if(a.n==(Nlc(),Tjc)&&qvb(a.g)&&a.n==Tjc&&Tvb(a.c)){b=a.g;return b.n==jlc||b.n==Ckc||b.g.n==Tjc||b.n==Kjc}return false} -function gpb(a){var b,c,d;b=fpb(a);Pd(b);c=b;d=c.g;while(d.n==(Nlc(),rkc)){c=d;d=c.g}Vd((uub(),d.n==hlc||d.n==jlc||d.n==ejc||d.n==Ckc),d);return c}function fBb(a,b,c){var d,e;for(e=(!c.c?(JHc(),JHc(),IHc):new whc(c.c)).Xd();e.Jd();){d=e.Kd();if(d.n==(Nlc(),qkc)||d.n==Ukc){gBb(a,b,c);return}}}function H8b(a,b){var c,d,e,f,g;g=new mfc((Nlc(),hjc),a);for(d=b,e=0,f=d.length;ec.b){CUb(a,c.d);return false}return true}function VPb(a,b){var c;if(b.n==(Nlc(),glc)){c=b;while(c=c.g)if(c.n==Tjc)return;a.e.fi("return must be inside function",a.s,tfc(b.k),sfc(b.k))}}function ggb(a,b){var c;if(lH(b,224)){c=b;c.a&&(a.a=c.a);hgb(a,new pGc(new NQc(c.c.a.xk())))}else{++a.d;gDc(a.e,b,dBc(a.d));KQc(a.c, -b);JQc(a.c,b)}}function Yd(a,b,c){if(!a)throw p0(new PAc(pf("Bad GETELEM node: Expected 2 children but got %s. For node: %s",yG(tG(qZ,1),xUc,1,5,[dBc(b),c]))));}function Umb(a,b,c){var d;d=new nGc;dGc(d,pnb(b,c));--a.o!=0&&dGc(d,gfc(g9b(a.o),c));inb(a,Gmb(a,c,"leaveFinallyBlock",mGc(d,vG(BX,kWc,7,0,0,1))))}function cJb(){cJb=S0;bJb=oJb(qJb(pJb(rJb(wJb(vJb(uJb(tJb(sJb(new xJb,""),""),(On(),On(),Nn)),(null,Nn)),(null,Nn)),(Do(),Do(),Co)),false),false))}function fOb(a){var b,c,d;b=(Do(),new Fs);Es(b, -Eo((cOb(),bOb)));for(d=a.Xd();d.Jd();){c=d.Kd();c.length!=0&&!cp(bOb,c)&&Cs(b,c,BNb)}return To(b.b)}function Zlc(a){var b,c,d;Hd(!jv(a),"union must have at least one option");b=new Yhc((Nlc(),Flc));for(d=a.Xd();d.Jd();){c=d.Kd();Mdc(b,c)}return b}function OTc(a){switch(typeof a){case jUc:return cUc(a);case hUc:return sH(a);case gUc:return Vzc(),a?1231:1237;default:return a==null?0:YTc(a)}}function xj(a,b,c){var d,e;pl(c,"count");if(c==0){d=a.a.Ne(b);e=Hj(d,c)}else{d=a.a.Le(b);e=Hj(d,c);!d&&a.a.Me(b, -new jm(c))}a.b=q0(a.b,c-e);return e}function ol(a,b){if(a==null)throw p0(new vBc("null key in entry: null="+b));else if(b==null)throw p0(new vBc("null value in entry: "+a+"=null"));}function R6(){R6=S0;Q6=new Whb("JSC_MISSING_CONST_PROPERTY",(l7(),j7),new $Cc("Private property {0} is never modified, use the @const annotation"))}function Jmb(a,b,c,d){var e;Ud(!b.b);e=gfc(G8b(yG(tG(BX,1),kWc,7,0,[Gmb(a,d,rZc,yG(tG(BX,1),kWc,7,0,[pnb(b,d)])),Imb(a,d)])),d);c&&(b.b=e);return e}function epb(a,b,c){var d; -if(b){d=a.d;return hfc(Oob(D8b(Oob((Zd(PBc(c,hCc(46))==-1,iWc,c),Jdc(),new Jhc((Nlc(),Ekc),c)),d),a),d),a)}else return a}function bnb(a,b,c){var d,e,f,g;if(b){f=(d=CFc(a.e),d);Ud(f.b==0);Ud(f.a==b)}if(c){if(!zFc(a.e)){e=--xFc(a.e).b;Ud(e>=0)}g=(d=CFc(a.k),d);Ud(g==c)}}function gVb(){dVb();return yG(tG(jU,1),DUc,62,0,[HUb,IUb,JUb,LUb,MUb,NUb,OUb,PUb,KUb,RUb,QUb,SUb,TUb,UUb,VUb,YUb,XUb,WUb,ZUb,$Ub,_Ub,aVb,bVb,cVb])}function J7b(a,b){var c,d,e;d=a.b.n;e=W0(a.a);if(e.indexOf(".")!=-1){c=PBc(e,hCc(46)); -c+d0&&Jbc(a.f,c,d,b,d,b+c.length);return new XSb(c,!a.o?ETb(a.j):WRb(a))}function h4(a,b){switch(b.n.f){case 29:case 26:case 27:$3(a,b);break;case 92:M3(b.c,1);h4(a,b.c);break;default:Z4("Invalid INC/DEC target "+b.n,b)}}function aqb(a,b,c){Zpb();this.f=new nGc;this.i=new mMc; -new wq(new CNc,new zq);this.g=k9b(yG(tG(BX,1),kWc,7,0,[]));this.a=a;this.c=b;this.j=c;a.Hg()}function gZb(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=yZb(a,b);while(T$b(a,(S2b(),O0b))){d=BYb(a,O0b);e=yZb(a,b);c=new g3b(new t7b(f,a.f),c,d,e)}return c}function hZb(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=iZb(a,b);while(T$b(a,(S2b(),T0b))){d=BYb(a,T0b);e=iZb(a,b);c=new g3b(new t7b(f,a.f),c,d,e)}return c}function iZb(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=gZb(a,b);while(T$b(a,(S2b(),W0b))){d=BYb(a,W0b);e=gZb(a,b);c= -new g3b(new t7b(f,a.f),c,d,e)}return c}function a$b(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=hZb(a,b);while(T$b(a,(S2b(),Q0b))){d=BYb(a,Q0b);e=hZb(a,b);c=new g3b(new t7b(f,a.f),c,d,e)}return c}function b$b(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=a$b(a,b);while(T$b(a,(S2b(),_1b))){d=BYb(a,_1b);e=a$b(a,b);c=new g3b(new t7b(f,a.f),c,d,e)}return c}function Ecc(a,b){if(!!b&&!$9b(a.a)&&!((a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)){Qac(a.a,b,lVc);a.e=true;return true}else return false}function Jv(a,b){var c, -d;while(a.Jd()){if(!b.Jd())return false;c=a.Kd();d=b.Kd();if(!(rH(c)===rH(d)||c!=null&&vb(c,d)))return false}return!b.Jd()}function oQb(a){var b,c;Gd(a.n==(Nlc(),jlc));if(!a.c)return false;c=a.c;if(c.n!=Njc)return false;b=c.c;if(b.n!=hjc)return false;return Cec(b.c,FZc)}function VSb(a){var b,c;c=0;while(c0&&(Ezc(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function Ypc(a,b,c,d){var e,f;e=(!c.b&&(c.b=new mMc),Ag(c.b,new Qrc(c,a,b),(Wrc(),Vrc)));if(e)return e.a;f=dpc(a,b,c,d,1);return Orc(c,a,b,f?Trc:Urc)}function Etb(a,b){if(b.length==0)return b;b.indexOf(CZc)!=-1&&(b=bCc(b,0,b.lastIndexOf(CZc)));a.a.oh(b)&&(b="JSCompiler_"+b);return b+CZc+a.d+a.f.Dd()}function gEb(a,b,c){var d;d=Kg(LMc(b.d,a));if(c==d)return d; -if(d){d.b.a=d.a;d.a.b=d.b;d.a=null}else{d=new hEb(a);MMc(b.d,a,d)}d.b=c;c.a=d;c=d;return d}function TRb(a,b,c,d){var e;a.c.gi(z_c+tic("msg.jsdoc.type.record.duplicate",yG(tG(qZ,1),xUc,1,5,[b]))+A_c,(e=bec(a.n,(thc(),khc)),!e?null:e.ah()),c,d)}function KTb(a,b,c){this.o=vG(uH,pUc,50,128,15,1);this.q=vG(vH,xVc,50,3,15,1);Pd(a);this.g=b;this.k=a;this.j=a.length;this.i=this.b=0;this.d=b;this.c=c}function Anc(a,b,c,d){smc.call(this,a);this.a=!b?Ltc(a,true,yG(tG(hY,1),xUc,23,0,[hmc(this,(xtc(),vtc))])): -b;this.b=!c?hmc(this,(xtc(),vtc)):c;this.c=d}function vPc(a,b,c,d,e,f,g,h){var i,j;if(!d)return;i=d.a[0];!!i&&vPc(a,b,c,i,e,f,g,h);wPc(a,c,d.d,e,f,g,h)&&b.Qd(d);j=d.a[1];!!j&&vPc(a,b,c,j,e,f,g,h)}function DSc(a,b){var c,d,e;e=new COc(new kHc(yG(tG(g0,1),xUc,1179,0,[a,b])),16);d=new ISc(e);c=new VSc(null,d);return tSc(c,new ESc(a)).Gk(new FSc(b))}function IG(a,b){var c,d,e;if(b<=22){c=a.l&(1<=0);e=Wn(b.a);return new sic(e,e.$d())}function kqc(a){var b,c,d,e;e=new nGc;for(c=(d=a.b.a,d?!d.c?(JHc(),JHc(),IHc):new whc(d.c):(JHc(), -JHc(),IHc)).Xd();c.Jd();){b=c.Kd();dGc(e,b.d)}return e}function VBc(a,b,c){var d,e,f,g;d=(e=b>>>0,e.toString(16));f="\\u"+aCc("0000",d.length)+d;g=String.fromCharCode(c);return a.replace(new RegExp(f,"g"),g)}function eCc(a){var b,c,d;c=a.length;d=0;while(dd&&a.charCodeAt(b-1)<=32)--b;return d>0||b' unexpected",yG(tG(qZ,1),xUc,1,5,[]));e=b}return e}function Uvc(a,b,c){var d,e,f,g;if(!c.Qd(a))return;b.Rd(a.b.ye());g=Xvc(a);!!g&&Uvc(g,b,c);for(e= -Yvc(a).Xd();e.Jd();){d=e.Kd();f=d.Vj();!!f&&Uvc(f,b,c)}}function eAc(a){return String.fromCharCode(a).toUpperCase().charCodeAt(0)==a&&(Zzc==null&&(Zzc=new RegExp("[A-Z]","i")),Zzc.test(String.fromCharCode(a)))}function Iv(a,b){if(b==null)while(a.a.Jd()){if(a.a.Kd().gf()==null)return true}else while(a.a.Jd())if(vb(b,a.a.Kd().gf()))return true;return false}function wG(a,b){var c=new Array(b);var d;switch(a){case 14:case 15:d=0;break;case 16:d=false;break;default:return c}for(var e=0;e57)return false}return d==1||a.charCodeAt(0)!=48}function bob(a,b){var c,d,e,f;e= -Eub(b);for(d=new FGc(e);d.a=0){c=QBc(b,hCc(46),c+1);f=c<0?b:b.substr(0,c);Ud(f.length!=0);d=hqb(a,f,null);d.j=true}e=hqb(a,b,null);e.j=true}function nyb(a,b){gyb();var c;this.b=a;this.d=a.w;this.p=b;this.i=new nGc;this.c=false;this.e=0;this.q=a.I.td;c=a.I.dc;c>0&&c<=100?this.g=c:this.g=100}function jRb(a,b){var c,d;c=dRb(a,b.a);bfc(c,(Nlc(),plc));if(b.b)Ndc(c,MPb(a.a, -b.b));else{d=c.zi(false);Fec(c,(thc(),Xgc),1);bfc(d,Ekc);Ndc(c,d)}return c}function MZb(a){var b,c,d,e;d=V_b(a.g,0).d.b;e=null;if(Y$b(a)){b=IZb(a,0);BYb(a,(S2b(),R0b));c=G$b(a);e=new q4b(new t7b(d,a.f),b,c)}else e=_Yb(a);return e}function eec(a){var b,c,d,e;b=0;for(e=a.j;e;e=e.b)++b;c=vG(tH,rVc,50,b,15,1);for(d=a.j;d;d=d.b){--b;c[b]=d.c}c.sort(T0(rHc.prototype.Bk,rHc,[]));return c}function ffc(b){var c,d;try{d=new BCc;Ffc(b,0,d);return d.a}catch(a){a=o0(a);if(lH(a,105)){c=a;throw p0(new CF("Should not happen\n"+ -c));}else throw p0(a);}}function qD(a){var b;lD.call(this,a,null);this.a=vG(uH,pUc,50,512,15,1);Gd(a.c.length==16);for(b=0;b<256;++b){this.a[b]=a.c[b>>>4];this.a[b|256]=a.c[b&15]}}function G3(a,b){var c,d;x4((Nlc(),Kic),b);for(c=b.c;c;c=c.f)switch(c.n.f){case 116:L4(a,c);break;default:c.n==Djc?(d=Ydc(c),0!=d&&Z4(yWc+d,c)):$3(a,c)}}function $9(a){if(a.k<=a.n)return;if(a.d>a.b&&a.d>22);e+=d>>22;if(e<0)return false;a.l=c& -IVc;a.m=d&IVc;a.h=e&JVc;return true}function e9(a,b){var c,d,e;d=b.Di();e=$dc(b,(Jdc(),Fdc))!=0;if(e)Z8(a,k9(a,b.Di(),e));else{c=eDc(a.d,d);if(c==null){c=k9(a,b.Di(),e);hDc(a.d,d,c)}r8(a.c,c)}}function Vmb(a,b,c,d){var e,f;bnb(a,b,null);e=new nGc;dGc(e,pnb(c,d));f=Rmb(a);!!f&&dGc(e,pnb(f,d));inb(a,Gmb(a,d,"leaveTryBlock",mGc(e,vG(BX,kWc,7,0,0,1))))}function Jxb(a,b,c){var d,e;e=(d=CFc(a.g),d);Ud(MBc(b,e.j));dGc(a.A,e);e.n=c;e.a=0;e.k=1;a.e.a&&(e.d=1);MBc(b,WXc)?Hxb(a,e):a.e.a&&a.F!=(Ufb(),Tfb)&&Gxb(a, -e)}function icc(a){if((a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc||(a.a.a&2)!=0||nac(a.a)||(a.a.a&XZc)!=0)return false;a.a.a|=512;a.e=true;return true}function wPc(a,b,c,d,e,f,g){var h,i;if(b.Ek()&&(i=a.a.xf(c,d),i<0||!e&&i==0))return false;if(b.Fk()&&(h=a.a.xf(c,f),h>0||!g&&h==0))return false;return true}function fE(a,b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=a.a[f].kg()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d",VWc),eLb(b))));return new M5(a,c,c)}function Fbb(a,b){var c,d;a.I=b;dcb(a,tfb(b.Tb));!a.i&&ccb(a,new etb((c=a.I.L,d=new btb(a),d.d=c,d),bbb));a.D=(pKb(),mKb);Zbb(a);b.A||(b.ud=false);Gbb(a,b.xd)}function Nlb(a,b,c,d,e){var f,g,h;h=d.d;g=V2(a.a,e,h);Tec(g,bec(d,(thc(),Zgc))); -Mec(d.g,d,g);f=K8b(d,V2(a.a,e,h),(Nlc(),Hlc));Kdc(b.c?b.c.i:null,f,c);return f}function ivb(a){uub();if(a.n==(Nlc(),Ekc))switch(a.g.n.f){case 100:case 88:case 78:return true;case 96:return a.g.c==a;case 65:return jvb(a.g)}return false}function Qvb(a){uub();var b,c,d;if(a.n==(Nlc(),hjc)){b=a.c;if(b.n==Zjc||b.n==Yjc){c=b.c?b.c.i:null;if(!!c&&c.n==olc){d=c.Di();return MBc(d,QYc)}}}return false}function F0b(a){switch(a){case 9:case 11:case 12:case 32:case 160:case 65279:case 10:case 13:case 8232:case 8233:case 12288:return true; -default:return false}}function Hbc(a,b,c,d){var e,f;e=x9b(a.a);if(e){f=new qbc;Hd(b.charCodeAt(0)!=32&&HBc(b,b.length-1)!=32,Z0c);f.d=b;kbc(f,c,d,c,d+b.length);e.a=f;a.e=true}a.b=e}function ixc(a,b,c){var d,e,f,g;g=c.oj().uj();if(!g)return false;f=g.c;for(e=f.Xd();e.Jd();){d=e.Kd();if(!!d.tj()&&jxc(a,b,d.tj()))return true}return false}function Loc(a){var b,c,d;if(a.A){b=a.Sj();if(!b||b._j()){a.A=false;for(d=a.Rj().Xd();d.Jd();){c=d.Kd();if(c.kj()){a.A=true;break}}}else a.A=b.kj()}return a.A}function kh(a, -b){var c,d,e,f;f=a.$d();if(f31&&b<127?(d.a+=String.fromCharCode(b),d):sF(d,b)}return d.a}function Rtb(a){var b,c,d;b=AFc(a.o);for(d= -new FGc(a.n);d.a=d)return-1;e=(a.a[c]|0)&kUc<=d)return-1;e=a.a[c]|0}return c*31+_Ac(e)}function oy(a,b){var c,d;d=a.a.b.b.$d();if(b==null)for(c=0;c-1){a=a.substr(b+3);c=PBc(a,hCc(47));c>-1&&(a=a.substr(c+1))}else MBc(a.substr(0,1),"/")&&(a=a.substr(1));return a}function yJb(a,b,c){var d,e,f;f=a.g.wi(c);pKb();if(MBc(c.substr(0,2),cYc)||MBc(c.substr(0,3),T$c)){e=b;d=e.lastIndexOf("/");f=eLb(e.substr(0,d+1)+(""+f))}return f}function hcc(a){if(!((a.a.a& -lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)&&!nac(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=NYc;a.e=true;return true}else return false}function Ep(a){on();var b,c;if(!a.Jd())return gB(),fB;c=a.Kd();if(!a.Jd())return new UB(c);b=new fOc;qMc(b,Pd(c));do qMc(b,Pd(a.Kd()));while(a.Jd());return Mp(b)}function QG(a,b){var c,d,e,f,g,h,i,j;i=a.h>>19;j=b.h>>19;if(i!=j)return j-i;e=a.h;h=b.h;if(e!=h)return e-h;d=a.m;g=b.m;if(d!=g)return d-g;c=a.l;f=b.l;return c-f}function CHb(a,b,c){var d,e;d=new ypb;a.b.ug(d); -Nyb(new Qyb(a.b,true),null,c);if(b1(a.b.V)){Pwb(new Rwb(a.b),b,c);if(a.b.V==1){e=new uxb(a.b);txb(e,b,c)}}a.b.Sg(d)}function BZb(a){var b,c,d;d=V_b(a.g,0).d.b;c=DYb(a);b=null;if(S$b(a,0,(S2b(),B1b))&&MBc(V_b(a.g,0).a,"as")){HYb(a,"as");b=DYb(a)}return new Q3b(new t7b(d,a.f),c,b)}function O8b(a,b,c,d){Ud(a.n==(Nlc(),Hlc)||a.n==wkc||a.n==rjc||a.n==Djc||_8b(a));Ud(b.n==Djc||_8b(b));Ud(c.n==Djc||_8b(c));Ud(d.n==ejc);return new qfc(Pjc,a,b,c,d)}function K8b(a,b,c){if(a.n==(Nlc(),Ekc))Ud(!a.c);else{Ud(a.n== -Lic||a.n==Skc);a=new mfc(zjc,a)}Zd(_8b(b),"%s can't be an expression",b);Mdc(a,b);return new mfc(c,a)}function iwb(a,b){if(a.n==(Nlc(),Skc)||a.n==Lic){Pd(b);return gfc(L8b(gfc(new ofc(zjc,a,b),a),Hlc),a)}else{Ud(a.n==Ekc&&!a.c);!!b&&Mdc(a,b);return gfc(L8b(a,Hlc),a)}}function Dpc(a,b){var c,d,e,f,g;c=_dc(a.b);if(!!c&&($dc(c,(thc(),chc))!=0||$dc(c,qhc)!=0))return false;for(e=b,f=0,g=e.length;f=65&a<=90|a>=97&a<=122|a>=48&a<=57|a==95|a==36;return A0b(a)||(Xzc==null&&(Xzc=new RegExp("\\d")),Xzc.test(String.fromCharCode(a)))}function A0b(a){if(a<=127)return a>=65&a<=90|a>=97&a<=122|a==95|a==36;return a==629||a==916||(Zzc==null&&(Zzc=new RegExp("[A-Z]","i")),Zzc.test(String.fromCharCode(a)))}function aqc(a,b,c,d){!!c.vj()&&(c=oyc(c.vj(),Ttc(a.D, -(xtc(),wtc))));yCc((d&&c.gj()&&!c.kj()&&!c.tj()&&!c.sj()&&!c.rj()&&!c.vj()&&!nmc(c)&&(b.a+="!",b),c.Mi(b,d)),"=")}function N0(b,c,d,e){M0();var f=K0;$moduleName=c;$moduleBase=d;n0=e;function g(){for(var a=0;a=0;d--)if(MBc(a[d].d,b)||MBc(a[d].d,c)){a.length>=d+1&&a.splice(0,d+1);break}return a}function Ggb(){Bgb();var a;Cgb(this);a=($y(0),new uMc);this.f= -a;this.d="";this.b=0;this.a=Fgb(this,zgb);this.c=Fgb(this,Agb);aHc(this.a,null);aHc(this.c,null);Dgb(this)}function CQb(a,b){if(mPb(a.a,b.c.o)){(b.b.e==(S2b(),v2b)||b.b.e==w2b)&&pPb(a.a,b,(aXb(),nWb));return tPb(a.a,fQb(b.b.e),MPb(a.a,b.a),MPb(a.a,b.c))}else return DQb(a,b)}function Atc(a,b,c){var d,e,f,g;if(lH(c,49)&&c.Xj()!=null){g=pOc(a.f,b,new iuc);f=c;g.Me(f.Xj(),f)}else if(c.vj())for(e=myc(c.vj()).Xd();e.Jd();){d=e.Kd();Atc(a,b,d)}}function yg(a,b,c){var d,e,f;for(e=a.Je().Xd();e.Jd();){d=e.Kd(); -f=d.ff();if(rH(b)===rH(f)||b!=null&&vb(b,f)){if(c){d=new DEc(d.ff(),d.gf());e.Ld()}return d}}return null}function c4(a,b){var c,d,e;x4((Nlc(),Zjc),b);d=Plc(b.n);d!=-1&&(c=Ydc(b),d!=c&&Z4(AWc+d+BWc+c,b));$3(a,b.c);e=b.c?b.c.i:null;x4(olc,e);y4(e)&&e.Di().length==0&&Z4(JWc,e)}function wQb(a,b,c){a.a.a.d!=(MOb(),KOb)&&a.a.e.gi("type syntax is only supported in ES6 typed mode: "+c,a.a.s,(cPb(),b.o.b.b+1),b.o.b.a);a.a.f=HVb(a.a.f,c);EPb(a.a,b.o)}function Kd(a,b,c){if(!a)throw p0(new xsb(pf("Must call rewindTo before calling getSourcePosition for an earlier line (%s < %s)", -yG(tG(qZ,1),xUc,1,5,[dBc(b),dBc(c)]))));}function Eib(a){var b,c,d,e;b=cec(Uub(a));c=Pd((uub(),Lub(a,new vwb)));e=null;for(d=c.f;d;d=d.f){e=Dib(d,b);if(e)break}return Qd(e,"$jscomp.inherits() call not found.")}function tZb(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=b$b(a,b);if(T$b(a,(S2b(),l2b))){BYb(a,l2b);d=bZb(a,b);BYb(a,d1b);e=bZb(a,b);return new G3b(new t7b(f,a.f),c,d,e)}return c}function CZb(a){var b,c;b=(On(),new vs);BYb(a,(S2b(),Y1b));while(c=V_b(a.g,0).e,B1b==c||(gYb(),!!ep(JXb,c))){ts(b,BZb(a)); -T$b(a,a1b)||BYb(a,e1b)}BYb(a,a1b);return Wn(b.a)}function TZb(a){var b,c;b=(On(),new vs);BYb(a,(S2b(),Y1b));while(c=V_b(a.g,0).e,B1b==c||(gYb(),!!ep(JXb,c))){ts(b,SZb(a));T$b(a,a1b)||BYb(a,e1b)}BYb(a,a1b);return Wn(b.a)}function vHc(a){var b,c,d,e;d=EHc(a.a);b=-2128831035^d;for(c=0;c<=d;c++){e=a.a[c]|0;b=b*D1c&-1^e&255;b=b*D1c&-1^e>>>8&255;b=b*D1c&-1^e>>>16&255;b=b*D1c&-1^e>>>24}return b}function Bg(a){var b,c,d;d=new qPc(tUc,"{","}");for(c=a.Je().Xd();c.Jd();){b=c.Kd();nPc(d,Cg(a,b.ff())+"="+Cg(a, -b.gf()))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function xub(a){var b,c,d,e;c=a.c;e=new BCc;for(d=c;d;d=d.f){b=d.n==(Nlc(),Nkc)||Zvb(d)||d.n==Djc?"":cvb(d);if(b==null)return null;d!=c&&(e.a+=",",e);e.a+=""+b}return e.a}function aAc(a,b){if(b<2||b>36)return-1;if(a>=48&&a<48+$wnd.Math.min(b,10))return a-48;if(a>=97&&a=65&&a=65&&b<=90&&(c[d]=(b^32)&oUc)}return pCc(c,0,c.length)}return a}function Wb(a){var b,c,d,e;e=a.length;for(d=0;d=97&&b<=122&&(c[d]=(b^32)&oUc)}return pCc(c,0,c.length)}return a}function fo(a,b,c,d,e,f,g,h,i,j,k,l,m){On();var n;n=vG(qZ,xUc,1, -12+m.length,5,1);Sn(n,yG(tG(qZ,1),xUc,1,5,[a,b,c,d,e,f,g,h,i,j,k,l]));GCc(m,n,12,m.length);return new _A(eo(n))}function Qu(a,b){Lu();var c,d;Pd(a);if(!b.Jd())return Pd(a),Ku==a?Ju:new iB(new MQc(a));c=new MQc(a);while(b.Jd()){d=b.Kd();Pd(d);c.a.Me(d,(Vzc(),Tzc))==null}return new iB(c)}function sbb(a){var b;if(!a.C||jv(hv(kv(new kHc(a.C.a),new ssb))))throw p0(new PAc("No inputs"));b=Lv(new kw(Pv(ov(hv(kv(new kHc(a.C.a),new ssb)).a),new lv)));return tdb(b,a)}function gcb(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+ -a;c=new DF(d,b);!!b&&AD(c,(b.i==null&&(b.i=(eG(),e=dG.sg(b),gG(e))),b.i));throw p0(c);}function $pb(a,b,c){var d,e,f;b=(d=PBc(b,hCc(46)),d==-1?b:b.substr(0,d));f=t1(c,b);!f&&!!a.d&&(f=t1(a.d,b));if(!f){e=eDc(a.i,b);return!!e&&e.j?a.g:null}return f.d.b?f.d.d:a.g}function Qcc(a){if((a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc||nac(a.a)||(a.a.a&nZc)!=0||(a.a.a&LVc)!=0||(a.a.a&mZc)!=0)return false;a.a.a|=mZc;a.e=true;return true}function Owc(a,b){var c,d;d=a.c.$d()-a.d.$d()-b.$d();Hd(d>=0,dBc(d)); -if(a.c.$d()-a.d.$d()==0)return a;c=new nGc;eGc(c,a.d);eGc(c,b);Xwc(a,a.c,c);return new Zwc(a.a,a.c,Wn(c))}function q2(a,b){var c,d,e;if(b.n==(Nlc(),olc))return true;if(a.b.Hg().ud){e=b.d;if(e){d=Ttc(a.b.Mg(),(xtc(),otc));c=new Jrc(false);if(emc(e,d,0,c))return true}}return false}function ynb(a,b){var c,d;c=Oob(Smb(a.c.r.a,"$jscomp$generator$this"),b.d);Mec(b.g,b,c);if(!a.c.s){d=gfc(K8b(gfc(c.zi(false),b),b,(Nlc(),Hlc)),a.c.r.c);jmb(a.c.r,d);a.c.s=true}}function Tyb(a){var b;Vd(a.n==(Nlc(),hjc),a); -b=a.c;while(b.n==kjc)b=b.c;uub();b.n==Zjc||b.n==Yjc||Eec(a,(Jdc(),rdc),true);b.n==Ekc&&MBc("eval",b.Di())&&Eec(b,(Jdc(),mdc),true)}function ZHb(a){UHb();this.g=new fOc;this.d=new tMc;this.b=a;this.e=a.Ag(new Jrb("",null,0,0,MHb,null,yG(tG(vZ,1),cWc,2,6,[])))==(l7(),i7);this.f=true;this.a=!!a.Hg()&&a.Hg().D}function KE(a){var b,c,d,e,f;ZE(new _E(a),new aF);c=0;f=0;for(e=new FGc(a.e);e.a1&&Z4("Expected at most 1 'default' in switch but was "+d,b)}function mqb(a,b,c,d,e,f,g){var h;if(rqb(a,b,c,d,e,f,g))return;h=hqb(a,f,g);$dc(d,(Jdc(),zdc))!=0;e.n==(Nlc(),Nic)&&e.g.n!=Njc?cqb(a,h,d,(Xqb(),Vqb),b,c):bqb(a,h,d,(Xqb(),Vqb),b,c)}function YGb(a,b,c,d){var e,f,g,h,i;h=jqc(c);g=iqc(c);e=Vn(kqc(c));for(f=0;fa.length||e+f>d.length)return false;if(f<=0)return true;g=a.substr(c,f);h=d.substr(e,f);return b?NBc(g,h):MBc(g, -h)}function R4(a,b){var c,d,e;_3(a,(aXb(),WWb),b);x4((Nlc(),vlc),b);for(c=b.c;c;c=c.f)c.n==wlc?S4(c):(x4(xlc,c),d=Plc(c.n),d!=-1&&(e=Ydc(c),d!=e&&Z4(AWc+d+BWc+e,c)),$3(a,c.c),undefined)}function Dib(a,b){var c,d,e;if(a.n!=(Nlc(),Njc))return null;c=a.c;if(c.n!=hjc)return null;e=c.c;if(!Dec(e,PXc,PXc.length))return null;d=Pd(e.f);return Dec(d,b,b.length)?Pd(d.f):null}function Mlb(a,b,c,d,e,f){Hd((uub(),f.n!=(Nlc(),Ckc)&&Wvb(f.g)),f);switch(c.n.f){case 93:Klb(a,b,c,d,e,f);break;case 94:Llb(a,b,c,d,e, -f);break;default:throw p0(new PAc("unexpected"));}}function kub(b,c,d){var e,f;try{e=c.g;Pd(e);Ytb(b,e);b.e=e;$tb(b,e);fub(b,c,e);Ud(d.g==e);fub(b,d,e);Ztb(b,false)}catch(a){a=o0(a);if(lH(a,81)||lH(a,40)){f=a;dub(b,f)}else throw p0(a);}}function mvb(a,b){uub();var c;c=b.g;if(c.n==(Nlc(),Zjc)&&b==(c.c?c.c.i:null))return a.nh(b.Di());else if(cwb(b))return a.nh(b.Di());else if(b.n==Ekc)return a.mh(b.Di());return false}function ovb(a){uub();switch(a.n.f){case 72:case 73:case 101:case 102:case 71:case 70:case 77:case 66:case 83:case 44:case 78:case 67:case 68:case 69:return true; -default:return false}}function rBb(a,b,c){var d,e,f,g,h;h=b.c;while(!!h&&h!=c){g=h.f;uub();if(h.n==(Nlc(),Njc)&&h.c.n==hjc){d=h.c;e=d.c;if(Dec(e,A$c,A$c.length)){f=UVb(e.f.f.f.Di());qBb(a,f)&&owb(b,h)}}h=g}}function tKb(a,b,c,d,e){pKb();Pd(a);Pd(b);Pd(d);Pd(e);this.f=d;this.e=e;this.a=new GKb;this.d=uKb(a,e);this.b=wKb(kv(kv(b,new xKb),d),this.d,e);this.c=c.ui(this.b,this.d,this.a,this.e)}function QZb(a){var b,c,d,e;e=V_b(a.g,0).d.b;BYb(a,(S2b(),C1b));BYb(a,Z1b);b=QYb(a,1);BYb(a,b1b);d=B$b(a);c=null; -if(T$b(a,n1b)){BYb(a,n1b);c=B$b(a)}return new u4b(new t7b(e,a.f),b,d,c)}function KZb(a){var b,c,d;d=V_b(a.g,0).d.b;BYb(a,(gYb(),BXb).b);c=!!FYb(a,(S2b(),t2b));b=e4b(new i4b((n4b(),k4b)),CYb(a));LZb(a,b,c?(H_b(),F_b):(H_b(),G_b));return Z3b(b,new t7b(d,a.f))}function hCc(a){var b,c;if(a>=AVc){b=55296+(a-AVc>>10&CVc)&oUc;c=56320+(a-AVc&CVc)&oUc;return String.fromCharCode(b)+(""+String.fromCharCode(c))}else return String.fromCharCode(a&oUc)}function dlb(a,b,c){var d,e;d=$dc(b,(thc(),lhc))!=0?Tdc(c.g, -false):Tdc(c.d,false);zec(d);if(b.n==(Nlc(),qjc))return jfc(K2(a.a,d,Jec(b)),b);else{e=b.c.c;return hfc(L2(a.a,d,b.Di()),e)}}function apb(a,b,c){var d;if(b.n==(Nlc(),Nic)){d=b.c;switch(d.n.f){case 29:return true;case 26:return!_ob(a,d.c,c);case 27:return!_ob(a,d.c,c)&&!_ob(a,d.c?d.c.i:null,c)}}return false}function kvb(a){uub();if(!(a.n==(Nlc(),hjc)&&!!a.c&&!!a.c.f&&a.c.f==(a.c?a.c.i:null)&&Cec(a.c,h$c)))return false;return!!a.g&&a.g.n==Njc&&!!(!a.g?null:a.g.g)&&(!a.g?null:a.g.g).n==jlc}function Kxb(a, -b,c){this.e=new Nzb;this.g=new JFc;this.A=new nGc;Hd(c!=(Ufb(),Rfb),"PerformanceTracker can't work without tracer data.");this.J=v0(Date.now());this.o=a;this.v=b;this.F=c}function iKb(a,b){var c;if(fDc(a.b,b))return eDc(a.b,b);return yNc(a.e,(dLb(),gLb((c=WBc(WBc(WBc(WBc(WBc(VBc(VBc(b,58,45),92,47)," ",RWc),"[",SWc),"]",TWc),"<",UWc),">",VWc),eLb(c)))))}function sUb(a,b,c){var d;for(d=0;d0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.xf(c.d,f.d)>0?1:0}f.a[e]=d;d.b=c.b;d.a[0]=c.a[0];d.a[1]=c.a[1];c.a[0]=null;c.a[1]=null}function Rc(a){var b,c,d;d=new qPc(tUc,"[","]");for(c=a.Xd();c.Jd();){b=c.Kd();nPc(d,rH(b)===rH(a)?"(this Collection)":b==null?uUc:W0(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function ISb(a, -b){var c;if(b==(xTb(),mTb)){PSb(a);c=HSb(a,!a.o?ETb(a.j):WRb(a));if(c){PSb(a);dSb(a,sTb)?!a.o?ETb(a.j):WRb(a):(SRb(a,D_c,a.j.g,DTb(a.j)),null)}return c}else return HSb(a,b)}function Obb(a){var b,c;b=new YDb;if(WQc(a.v,b.a))throw p0(new xsb("Conflicting externs name: {SyntheticVarsDeclar}"));c=new Cdb(b,true);Ybb(a,c.i,c);Ndc(a.p,Pd(b.b));cGc(a.n,0,c);return c}function Gxb(a,b){var c,d,e;e=Aub(a.v);b.b=a.c-e;a.c=b.c=e;if(!(a.F==(Ufb(),Sfb)||a.F==Pfb))return;c=ayb((d=a.v,a.F==Pfb,d));e=c.b;b.e=a.f- -e;a.f=b.o=e;if(a.F==Pfb){e=0;b.f=a.p-e;a.p=b.g=e}}function d$b(a,b,c,d,e,f){var g;g=b4b(g4b(a4b(d4b($3b(f4b(c4b(h4b(e4b(new i4b((n4b(),m4b)),c),d),e),false),f),MYb(a)),IZb(a,1)),LYb(a)),new N3b(new t7b(b,a.f)));return Z3b(g,new t7b(b,a.f))}function jqc(a){var b,c,d,e,f;b=0;c=0;for(e=(f=a.b.a,f?!f.c?(JHc(),JHc(),IHc):new whc(f.c):(JHc(),JHc(),IHc)).Xd();e.Jd();){d=e.Kd();++b;$dc(d,(thc(),chc))==0&&$dc(d,qhc)==0&&(c=b)}return c}function OGc(a,b){var c;if(rH(a)===rH(b))return true;if(a==null||b==null)return false; -if(a.length!=b.length)return false;for(c=0;ca.f.b,b||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b)?GYb(a):BYb(a,e1b))}return Wn(c.a)}function lcb(a){var b,c;c=(a.I.pd!=(Ufb(),Rfb)&&!!a.Q&&Ixb(a.Q,ZXc,true),new mEb);try{!a.K&&(a.K=new QLb(a.a));JHc();$Hc()}finally{b=E0(v0(Date.now()), -c.a);a.I.pd!=Rfb&&!!a.Q&&Jxb(a.Q,ZXc,b)}}function kgb(a,b){var c,d,e,f,g;for(f=(d=(new dFc(a.c.a)).a.Je().b.yk(),new lFc(d));f.a.Jd();){e=(c=f.a.Kd(),c.ff());g=e.ci(b);if(g){if(a.a&&g==(l7(),i7))return l7(),k7;return g}}return null}function mpb(a,b){var c,d;for(c=b.e;c;c=c.g)if(c.n==(Nlc(),jlc))return c;if(b.f==null)return null;d=vbb(a.b,b.f);if(d){if(d.n!=(Nlc(),jlc))return null;Vd(d.n==jlc,d);return d}return null}function STb(){var a;if(NTb)return;a=zOc(P_c);NTb=RTb(xOc(a,"jsdoc.annotations")); -PTb=RTb(xOc(a,"jsdoc.suppressions"));OTb=RTb(xOc(a,"jsdoc.primitives"));RTb(xOc(a,"compiler.reserved.vars"))}function Hbb(a,b){var c,d,e,f,g;e=b.d;f=e.a.length;if(f==0)return"";c=new Xcb;for(d=0;d=a.a.length)return wHc(a)-1;d=(a.a[c]|0)&kUc>>>31-b%31-1;while(d==0){if(--c<0)return-1;d=a.a[c]|0}return c*31+(32-$Ac(d))-1}function NRc(a,b){var c,d,e,f,g,h,i;for(d=RRc(a),f=0,h=d.length;f0,TUc,c);d=a.a.Le(b);if(!d){g=0;a.a.Me(b,new jm(c))}else{g=d.a;f=q0(g,c);Ld(r0(f,kUc)<=0,f);d.a+=c}a.b=q0(a.b,c);return g}function gp(a){var b,c,d,e,f,g,h;b=new CNc;for(d=a,e=0,f=d.length;e>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++0)by(this)}this.b=b;this.a=null}function WG(a, -b){var c,d,e,f;b&=63;c=a.h&JVc;if(b<22){f=c>>>b;e=a.m>>b|c<<22-b;d=a.l>>b|a.m<<22-b}else if(b<44){f=0;e=c>>>b-22;d=a.m>>b-22|a.h<<44-b}else{f=0;e=0;d=c>>>b-44}return DG(d&IVc,e&IVc,f&JVc)}function H2(a,b){var c,d;d=(uub(),P8b((Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc((Nlc(),Ekc),"")),i9b(yG(tG(BX,1),kWc,7,0,[])),(c=new kfc(ejc),c)));if(a.b){Pd(b);Hd(!!b.rj(),b);Uec(d,Pd(b))}return d}function cob(a,b,c,d){var e,f,g,h;for(f=Rdc(c.c).Xd();f.Jd();){e=f.Kd();g=e.c.Di();h=t1(Rtb(b),g);if(!!h&&Evb(h.c)){g= -Wnb(a,Rtb(b),e.c);Pd(g)}zPc(a.b,(e.c?e.c.i:null).Di(),new Pnb(g,e))}Hec(d,c);bub(b)}function iob(){iob=S0;gob=new Whb("BAD_REST_PARAMETER_ANNOTATION",(l7(),k7),new $Cc('Missing "..." in type annotation for rest parameter.'));hob=KVb((AVb(),jVb),yG(tG(lU,1),DUc,25,0,[(aXb(),RWb),TWb]))}function Bob(a,b,c,d,e){var f,g;f=Oob(B8b(yG(tG(BX,1),kWc,7,0,[])),b);for(g=a.c;g;g=g.f)g.n==(Nlc(),wlc)&&(g.Ai()!=null?Mdc(f,Oob(l9b(g.Ai()),c)):Mdc(f,Oob(q9b(Oob((Jdc(),new ggc(0)),e)),d)));return f}function Pub(a, -b){uub();var c,d;Ud(a.n==(Nlc(),Rkc));for(d=(!a.c?(JHc(),JHc(),IHc):new whc(a.c)).Xd();d.Jd();){c=d.Kd();if(c.n==qjc&&c.c.Ei(b,false,true,false,false))return c.c?c.c.i:null}return null}function Q7b(a,b){var c,d;d=a.b.n;d=0==d?1:d;g8b(a.b,d);c=LAc(a.a);if(c==0){--d;g8b(a.b,d);J7b(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;g8b(a.b,d);I7b(a,b);return}J7b(a,b)}function qx(a,b){var c;b.d?b.d.b=b.b:a.a=b.b;b.b?b.b.d=b.d:a.e=b.d;if(!b.e&&!b.c){c=iDc(a.b,b.a);c.a=0;++a.c}else{c= -dDc(a.b,b.a);--c.a;!b.e?c.b=b.c:b.e.c=b.c;!b.c?c.c=b.e:b.c.e=b.e}--a.d}function P2(a,b,c){var d,e,f;f=b3(a,c,Pe(We(),"$jscomp.makeAsyncIterator"));if(!!a.b&&!f.d.kj()){d=Osb(Nsb(b.d,a.b),a.c);e=f.d;Uec(f,y3(a,e,(On(),new RB(Pd(d)))))}return A2(a,f,yG(tG(BX,1),kWc,7,0,[b]))}function S_b(a){var b;b=(V_b(a,0),iGc(a.d,0));(!P_b(a,a.f)||b.e!=(S2b(),a1b))&&W_b(a,O_b(a,a.f),"Expected '}' after expression in template literal",yG(tG(qZ,1),xUc,1,5,[]));return T_b(a,(S2b(),D2b),C2b)}function soc(a,b){var c, -d,e;amc();if(b==a.b)return Aoc(),zoc;for(d=(hsc(new Jyc,b.a)&&ryc(b,dzc(bzc(new gzc(b),b.a))),b.a).Xd();d.Jd();){c=d.Kd();e=c.wj(a);if(e!=(Aoc(),xoc))return e}return Aoc(),xoc}function MMc(a,b,c){var d,e,f,g;g=b==null?0:a.b.vk(b);e=(d=a.a.get(g),d==null?new Array:d);if(e.length==0)a.a.set(g,e);else{f=JMc(a,b,e);if(f)return f.hf(c)}e[e.length]=new DEc(b,c);++a.c;return null}function Pvb(a){uub();var b;Hd(a.n==(Nlc(),Ekc),a);b=a.g;if(b.n==fkc&&b==a.g&&!(a==a.g.c?null:a.i))return true;else if(b.n==Ljc)return!(b== -a.g&&!(a==a.g.c?null:a.i))||wvb(!b.g?null:b.g.g);return false}function _wb(a,b){var c,d,e,f;if(b.c.n==(Nlc(),Ekc)){e=b.c;bfc(b,Yub(b));f=b.g;d=new kfc(Djc);Mec(f,b,d);c=gfc(D8b(gfc(e.zi(false),e),b),b);Tec(c,bec(b,(thc(),Zgc)));Gec(b,Zgc,null);Mec(f,d,c);a.b.Vg(c)}}function mLb(a,b,c){var d,e,f,g,h,i,j;for(f=iLb,g=0,h=f.length;gc)return Ed(a,c,"start index");if(b<0||b>c)return Ed(b,c,"end index");return pf("end index (%s) must not be less than start index (%s)",yG(tG(qZ,1),xUc,1,5,[dBc(b),dBc(a)]))}function l4(a,b,c){switch(c.n.f){case 29:q4(c);break;case 93:H3(a,b,c);break;case 94:D4(a,b,c);break;case 26:case 27:d4(a,b,c);break; -case 92:l4(a,b,(Ud(!!c.c&&!c.c.f),c.c));break;default:Z4(CWc+b+DWc,c)}}function LPb(a){var b;switch(a.p.f){case 6:case 20:case 68:case 78:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=ZPb(a);if(b.p==(L6b(),k6b))return false;return true;default:return true}}function FTb(a){var b,c;for(;;){b=BTb(a);switch(b){case 42:if((c=BTb(a),a.q[a.r++]=c,--a.b,c)!=47){ATb(a,b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=pCc(a.o,0,a.p);a.p=0;return a.n;default:ATb(a,b)}}}function Vvc(a,b){var c, -d,e,f,g,h,i;for(e=a;e;e=Xvc(e)){i=e.b.Le(b);if(i)return new Qvc(i)}for(d=a;d;d=Xvc(d))for(g=Yvc(d).Xd();g.Jd();){f=g.Kd();h=f.Vj();if(h){c=Vvc(h,b);if(c)return c}}return null}function R3(a,b){var c,d,e,f;e=Plc(b.n);e!=-1&&(d=Ydc(b),e!=d&&Z4(AWc+e+BWc+d,b));c=b.n;f=b.c;switch(f.n.f){case 29:q4(f);break;case 26:case 27:d4(a,c,f);break;default:Z4(CWc+c+DWc,f)}$3(a,b.c?b.c.i:null)}function Omb(a,b,c,d){var e,f;Emb(a,b,c);e=new nGc;if(!b){f="setFinallyBlock";dGc(e,pnb(c,d))}else{f="setCatchFinallyBlocks"; -dGc(e,pnb(b,d));!!c&&dGc(e,pnb(c,d))}hnb(a,Gmb(a,d,f,mGc(e,vG(BX,kWc,7,0,0,1))))}function nBb(){nBb=S0;mBb=new Whb("JSC_INSUFFICIENT_OUTPUT_VERSION",(l7(),j7),new $Cc("Built-in ''{0}'' not supported in output version {1}"));lBb=(on(),Gp(yG(tG(qZ,1),xUc,1,5,["goog.global.","window."])))}function sRb(a,b){var c,d,e,f;pPb(a.a,b,(aXb(),WWb));f=rPb(a.a,(Nlc(),vlc));tfc(f.k)==-1&&JPb(f,b.o.b,b.o.a);e=!b.b?f:tPb(a.a,ulc,MPb(a.a,b.b),f);for(d=b.a.Xd();d.Jd();){c=d.Kd();Mdc(f,MPb(a.a,c))}return e}function Ioc(a, -b){var c;c=a.Yj(b);if(!c){if(a.bj()||a.Yi())return hmc(a,(xtc(),wsc));else if(a.cj()||a.aj()||a.bj()||a==Ttc(a.D,(xtc(),Ssc)))return hmc(a,(xtc(),Vsc));return hmc(a,(xtc(),vtc))}return c.e}function lyc(a,b,c,d){var e,f,g;g=(hsc(new Jyc,b.a)&&ryc(b,dzc(bzc(new gzc(b),b.a))),b.a);if(c==0&&a.a.$d()!=g.$d())return false;for(e=0;e=0;d--){i=gGc(a.b,d);for(e=i.$d()-1;e>=0;e--){f=i.ee(e);if(b!=f&&uHc(a.c[b.c],f.c)&&c!=f&&uHc(a.c[c.c],f.c))return f}}return null}function cPb(){cPb=S0;bPb=(on(),new UB(lXc));$Ob=bPb;_Ob=Kp(yXc,GYc,LXc,tXc,zXc,wXc,yG(tG(vZ, -1),cWc,2,6,[VVc]));aPb=Kp(yXc,GYc,LXc,tXc,zXc,wXc,yG(tG(vZ,1),cWc,2,6,[VVc,AXc,KXc,"let",k_c,l_c,m_c,n_c,p_c,DXc]))}function xTc(a,b,c,d,e,f){var g,h,i,j,k;if(a===c){a=a.slice(b,b+e);b=0}i=c;for(h=b,j=b+e;h=0,dBc(e));if(a.c.$d()-a.d.$d()==0&&b.Wd())return a;d=Wn(us(us((On(),new vs),a.c),b).a);f=new nGc;eGc(f,a.d);Xwc(a,a.c,f);eGc(f,c);return new Zwc(a.a,d,Wn(f))}function fxc(a,b){var c,d,e,f,g;e=false;g=new nGc;for(d=(hsc(new Jyc,b.a)&&ryc(b,dzc(bzc(new gzc(b),b.a))),b.a).Xd();d.Jd();){c=d.Kd();f=c.wj(a);f!=c&&(e=true);g.a[g.a.length]=f}if(e)return Otc(a.c,g);return b}function $Gc(a, -b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){XGc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);$Gc(b,a,i,j,-e,f);$Gc(b,a,j,h,-e,f);if(f.xf(a[j-1],a[j])<=0){while(c=0){g=b.substr(0,d);f=hqb(a,g,c);e=uqb(f,b.substr(d+1));hDc(a.c.i,b,e)}else{e=new Cqb(a.c,b,null);dGc(a.c.f,e);hDc(a.c.i,b,e)}}return e}function wUb(a,b){if(!_Tb(a,b,(dVb(),aVb)))return false;if((Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)).n!=olc){a.a.gi(z_c+tic(R_c,yG(tG(qZ,1),xUc,1,5,["name"])),a.b.ah(),a.d,a.c);EUb(a, -aVb.d);return false}return true}function Ed(a,b,c){if(a<0)return pf(AUc,yG(tG(qZ,1),xUc,1,5,[c,dBc(a)]));else if(b<0)throw p0(new xsb(CUc+b));else return pf("%s (%s) must not be greater than size (%s)",yG(tG(qZ,1),xUc,1,5,[c,dBc(a),dBc(b)]))}function oRb(a,b){var c,d,e,f,g;f=b.a;d=nRb(a,f);g=d.Di();if(PBc(g,hCc(11))!=-1){e=f.d.b.c;c=f.d.a.c;ea.a.tk())return;c=(d=a.a.tk(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");FTc(c,a.b);!!a.c&>c(b,c,a.c,"Exception: ",true)}function G2(a,b){var c, -d;c=null;if(a.b)if(b.kj())c=Dtc(a.b,y3(a,t3(a,(xtc(),Csc)),(On(),new RB(Pd(a.c)))),yG(tG(hY,1),xUc,23,0,[]));else{d=Mv(new FGc(kqc(b.rj())));c=Dtc(a.b,d,yG(tG(hY,1),xUc,23,0,[]))}return I2(a,c)}function ASb(a){PSb(a);if(!dSb(a,(xTb(),eTb)))return fSb(a,(Nlc(),Djc));!a.o?ETb(a.j):WRb(a);PSb(a);if(dSb(a,wTb)&&MBc(JXc,a.j.n)){!a.o?ETb(a.j):WRb(a);return fSb(a,(Nlc(),Ilc))}else return ESb(a,!a.o?ETb(a.j):WRb(a))}function CYb(a){var b,c;c=V_b(a.g,0).e;if((S2b(),B1b)==c||a.b.d&&nYb(c)||!a.b.c&&mYb(c))return DYb(a); -else{i_b(a,V_b(a.g,0),z0c,yG(tG(qZ,1),xUc,1,5,[B1b]));return b=V_b(a.g,0).e,B1b==b||(gYb(),!!ep(JXb,b))?DYb(a):null}}function WYb(a){var b;b=(On(),new vs);while(S$b(a,0,(S2b(),N2b))||S$b(a,0,L1b)||S$b(a,0,f1b)||S$b(a,0,z1b)||S$b(a,0,$0b)||S$b(a,0,H1b)||S$b(a,0,p1b)||S$b(a,0,P1b)||S$b(a,0,Q1b)||S$b(a,0,u1b))ts(b,VYb(a));return Wn(b.a)}function RCc(){RCc=S0;QCc=new SCc("UP",0);KCc=new SCc("DOWN",1);JCc=new SCc("CEILING",2);LCc=new SCc("FLOOR",3);OCc=new SCc("HALF_UP",4);MCc=new SCc("HALF_DOWN",5);NCc= -new SCc("HALF_EVEN",6);PCc=new SCc("UNNECESSARY",7)}function Wf(a,b,c){var d;d=a.c.Le(b);if(!d){d=a.Be(b);if(d.Qd(c)){++a.d;a.c.Me(b,d);return true}else throw p0(new Szc("New Collection violated the Collection spec"));}else if(d.Qd(c)){++a.d;return true}else return false}function Cu(a,b){wu();var c,d,e,f;d=Pd(b.ff());f=Pd(b.gf());c=d;if(tPc(a,c)){e=(new $Ec(new jQc(a,(xQc(),wQc),d))).b.yk().Kd();throw p0(new xsb("Duplicate keys in mappings "+e.ff()+"="+e.gf()+" and "+d+"="+f));}zPc(a,d,f)}function qmb(a, -b,c,d){var e,f,g;g=new snb(a.a);c=Wmb(a.a,c);d=Wmb(a.a,d);fnb(a.a,g);e=Jec(b);_mb(a.a,c,d);wmb(a,e,null,null);Ymb(a.a);fnb(a.a,d);f=nmb(a,mmb(a,Jec(b)));hnb(a.a,gfc(U8b(f,Jmb(a.a,g,false,b)),b));fnb(a.a,c)}function gHc(a){var b,c,d,e,f;if(a==null)return uUc;f=new qPc(tUc,"[","]");for(c=a,d=0,e=c.length;da.f.b;if(b||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b))return;l_b(a,"Semi-colon expected",yG(tG(qZ,1),xUc,1,5,[]))}function n8b(a){if(a.indexOf(":")!=-1||a.indexOf("=")!=-1){if(PBc(a,hCc(58))==-1)return PBc(a,hCc(61));if(PBc(a,hCc(61))==-1)return PBc(a,hCc(58));return $wnd.Math.min(PBc(a,hCc(61)), -PBc(a,hCc(58)))}return PBc(a,hCc(32))}function Bbb(a){var b,c,d;d=false;a.I.cc>1&&(new Kyb,hv(kv(new kHc(a.C.a),new ssb)));for(c=Vn(hv(kv(new kHc(a.C.a),new ssb))).Xd();c.Jd();){b=c.Kd();if(udb(b).b){Trb(b.k,b);d=true}}d&&(kbb(a,a.C?new kHc(a.C.a):null),Dbb(a))}function Glb(a,b,c){var d;switch(c.n.f){case 91:d=c.Fi()?K2(a.a,b,g3(a.a,c.Di())):L2(a.a,b,c.Di());break;case 29:d=K2(a.a,b,c);break;default:throw p0(new PAc("Unexpected property to delete node: "+ffc(c)));}return F2(a.a,d)}function dRb(a, -b){var c;if(!b)return wPb(a.a,(Nlc(),Ekc),w_c);else if(b.e==(S2b(),B1b))c=$Qb(a,b,true);else if(b.e==W1b){c=PPb(a.a,b);Fec(c,(Jdc(),Edc),1)}else{c=nRb(a,b);Fec(c,(Jdc(),Edc),1)}Ud(c.n==(Nlc(),olc));return c}function DA(a,b){var c,d,e;if(b===a)return true;if(lH(b,165)){e=b;if(a.$d()!=e.$d()||a.Je().$d()!=e.Je().$d())return false;for(d=e.Je().Xd();d.Jd();){c=d.Kd();if(a.Ve(c.df())!=c.cf())return false}return true}return false}function I4(a,b,c){var d,e;switch(c.n.f){case 114:case 115:break;default:Z4(LWc, -c);return}e=Plc(c.n);e!=-1&&(d=Ydc(c),e!=d&&Z4(AWc+e+BWc+d,c));l4(a,b,c.c);!!c.f&&Z4("Rest parameters must come after all other parameters.",c)}function Egb(a){var b,c,d;do{c=a.d;b=a.b;if(c.length==0){d=b%a.a.length;c=String.fromCharCode(a.a[d].a);b=b/a.a.length|0}while(b>0){--b;d=b%a.c.length;c+=jH(a.c[d].a);b=b/a.c.length|0}++a.b}while(Rlc(c)||rMc(a.f,c));return c}function oBb(a,b){var c,d,e,f,g,h,i;i=new FBb(a);mub(a.a,b,i);if(i.a.a.$d()!=0){d=null;for(f=(g=(new bEc(i.a.a)).a.Je().Xd(),new hEc(g));f.a.Jd();){e= -(c=f.a.Kd(),c.ff());d=a.a.wg(e,false)}if(d){h=d.g;rBb(a,h,d.f);a.a.Vg(h)}}}function VQb(a,b){var c,d,e;pPb(a.a,b,(aXb(),CWb));c=ERb(a,b.a,b);if(!b.d){d=DRb(a,(Nlc(),gkc),b.b);tfc(d.k)==-1&&JPb(d,b.o.b,b.o.a)}else{d=wPb(a.a,(Nlc(),hkc),b.d.a);HPb(d,b.d)}e=nRb(a,b.c);return uPb(a.a,(Nlc(),dkc),c,d,e)}function SZb(a){var b,c,d;d=V_b(a.g,0).d.b;c=DYb(a);b=null;if(S$b(a,0,(S2b(),B1b))&&MBc(V_b(a.g,0).a,"as")){HYb(a,"as");b=CYb(a)}else JYb(a,c.a)&&i_b(a,null,z0c,yG(tG(qZ,1),xUc,1,5,["as"]));return new x4b(new t7b(d, -a.f),c,b)}function b4(a,b){b.n==(Nlc(),Tjc)&&$dc(b,(thc(),sgc))!=0&&_3(a,(aXb(),ZVb),b);$dc(b,(thc(),Lgc))!=0&&_3(a,(aXb(),rWb),b);b.n==Tjc&&$dc(b,tgc)!=0&&_3(a,(aXb(),$Vb),b);b.n==Tjc&&$dc(b,tgc)!=0&&$dc(b,Lgc)!=0&&_3(a,(aXb(),_Vb),b)}function wqb(a,b,c,d,e,f){var g,h;Hd(e==(Xqb(),Uqb)||e==Vqb,e);h=new Nqb(b,Pd(c),Pd(d),a,e,f);g=xqb(a,b,c,d,Pqb,f+1);h.f=g;g.f=h;gDc(a.r,d,(On(),new _A(eo(yG(tG(qZ,1),xUc,1,5,[h,g])))));qMc(a.q,h);Bqb(a,h);qMc(a.q,g);Bqb(a,g)}function Lyb(a,b){var c,d,e;if(ovb(b)&& -b.n!=(Nlc(),rkc)&&b.n!=(Nlc(),tlc))for(d=b.c;d;d=d.f)if(pvb(b,d)&&d.n!=(Nlc(),ejc)){e=gfc((c=new kfc((Nlc(),ejc)),c),b);Mec(b,d,e);Fec(e,(thc(),rgc),1);d.n==Djc||Qdc(e,d);d=e;Oyb(a)}}function OOb(a){MOb();var b,c,d,e;for(c=yG(tG(XT,1),DUc,107,0,[COb,DOb,EOb,FOb,GOb,HOb,IOb,JOb,LOb,KOb]),d=0,e=c.length;d>16);b=d>>16&16;c=16-b;a=a>>b;d=a-256;b=d>>16&8;c+=b;a<<=b;d=a-4096;b=d>>16&4;c+=b;a<<=b;d=a-WUc;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>> -1);return c+2-b}}function Pdb(a,b,c){var d,e;Gd(b.n==(Nlc(),olc));Gd(c.n==Kjc||c.n==dkc);e=b.Di();if(MBc(e.substr(0,5),"goog:")){dGc(a.d,TIb(e.substr(5)));return}d=CKb(a.b,e,a.b.a,tfc(b.k),sfc(b.k));!d&&(d=DKb(a.b,e));dGc(a.d,SIb(gLb(d.a),b.Di()))}function Amb(a,b){var c,d;Fec(b,(thc(),Tgc),0);c=b.zi(false);while(b.c){while(!!(d=Jec(b))&&$dc(d,Tgc)==0)Mdc(c,d);if(c.c){zmb(a,c);c=b.zi(false)}if(d){Ud($dc(d,Tgc)!=0);Ndc(d,mmb(a,Jec(d)));Fec(d,Tgc,0);Mdc(c,d)}}!!c.c&&zmb(a,c)}function UYb(a){var b,c, -d,e;e=V_b(a.g,0).d.b;BYb(a,(gYb(),BXb).b);c=!!FYb(a,(S2b(),t2b));d=CYb(a);return b=b4b(g4b(a4b(d4b(c4b(e4b(new i4b((n4b(),k4b)),d),c),MYb(a)),IZb(a,1)),LYb(a)),new N3b(new t7b(e,a.f))),Z3b(b,new t7b(e,a.f))}function F3(a,b){switch(b.n.f){case 76:case 100:case 88:s4(a,b.n,b);break;case 65:a4(a,b,true);break;case 96:N3(a,b,true),q4(b.c);break;case 156:V3(b);break;case 164:t4(a,b,true);break;case 159:U4(a,b);break;case 109:X3(a,b,true)}}function Fmb(a,b,c,d){var e,f;f=gfc(Oob(R8b(gfc(Oob(c9b(qZc+(a.r.b== -0?"":"$"+a.r.b)),a.g),b),gfc((Jdc(),new Jhc((Nlc(),olc),c)),b)),a.r.f.g?a.g.Wj(c):null),b);e=gfc(H8b(f,d),b);a.r.f.g&&Uec(e,f.d.rj()?f.d.rj().b.b:a.r.f.i);return e}function QYb(a,b){var c,d,e;e=V_b(a.g,0).d.b;d=bZb(a,b);if(T$b(a,(S2b(),e1b))&&!S$b(a,1,m1b)){c=(On(),new vs);dGc(c.a,Pd(d));while(T$b(a,e1b)&&!S$b(a,1,m1b)){BYb(a,e1b);ts(c,bZb(a,b))}return new o3b(new t7b(e,a.f),Wn(c.a))}return d}function mfc(a,b){Jdc();Hd(!b.g,"new child has existing parent");Hd(!b.f,"new child has existing next sibling"); -Hd(!b.i,"new child has existing previous sibling");this.n=a;this.g=null;this.c=b;b.f=null;b.i=this.c;b.g=this;this.k=-1}function Cib(a,b,c,d){var e,f,g;Hd(uec(b),b);Hd(c.n==(Nlc(),hjc),c);e=Jec(c);g=hfc(L2(a.a,Tdc(b,false),QYc),e);f=gfc(A2(a.a,g,yG(tG(BX,1),kWc,7,0,[])),c);Mdc(f,gfc(j3(a.a,d),e));Fec(f,(Jdc(),rdc),0);while(c.c)Mdc(f,Jec(c));return f}function Srb(a){var b,c,d,e,f,g,h;b=(JHc(),new qIc(new EMc));Mc(b,a.a);h=new LFc(a.a);while(h.b!=h.c){f=(e=CFc(h),e);g=f.a;for(d=new FGc(g);d.a0||(a.a.a&lZc)==lVc||gac(a.a)||T9b(a.a)>0||hac(a.a)||!!a.a.g||(a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)return false;else{Eac(a.a,b);a.e=true;return true}}function imb(a,b){var c,d,e;Ud($dc(b,(thc(),Tgc))!=0);if(b.n==(Nlc(),Mlc))return b;e=_8b(b);c=F8b(e?(Ud(_8b(b)),new mfc(glc,b)):b);mub(a.f.b,b,new Fnb(a.f));mub(a.f.b,c,new Hnb);d=Vdc(c.c?c.c.i:null);wmb(a,c,null,null);return e?Jec(d):d}function Lvb(a){uub();var b; -if(a.n==(Nlc(),Tjc)){b=a.g;switch(b.n.f){case 86:case 87:case 98:return true;case 118:return(b.c?b.c.i:null)==a&&($dc(b,(Jdc(),idc))!=0||$dc(b,hdc)!=0||$dc(b,jdc)!=0);default:return false}}else return false}function Bec(a,b){var c;if(b.n!=a.n)return false;switch(a.n.f){case 29:c=a.Di();return c!=""&&c==b.Di();case 33:case 99:return true;case 26:return(a.c?a.c.i:null).Di()==(b.c?b.c.i:null).Di()&&Bec(a.c,b.c);case 98:default:return false}}function Vw(a,b){var c,d,e,f;f=H0(A0(gVc,aBc(H0(A0(b==null? -0:zb(b),hVc)),15)));c=f&a.b.length-1;e=null;for(d=a.b[c];d;e=d,d=d.a)if(d.d==f&&Cd(d.i,b)){!e?a.b[c]=d.a:e.a=d.a;Pw(d.c,d.f);Ow(d.b,d.e);--a.f;++a.e;return true}return false}function T4(a,b){var c,d,e;x4((Nlc(),Blc),b);d=Ydc(b);(d<2||d>3)&&Z4(MWc+d,b);J3(a,b.c);e=false;c=b.c.f;x4(ejc,c);n4(c);if(c.c){L3(a,c.c);e=true}if(jec(b)){J3(a,b.c?b.c.i:null);e=true}e||Z4("Missing catch or finally for try statement.",b)}function eAb(a,b,c){this.e=a;$zb.call(this,c);_zb(this);Vd(c.n==(Nlc(),Tjc),c);c.n==Tjc&& -$dc(c,(thc(),tgc))!=0?c.n==Tjc&&$dc(c,(thc(),sgc))!=0?this.a=!b.a?this:b.a:this.a=this:c.n==Tjc&&$dc(c,(thc(),sgc))!=0?this.a=b.a:this.a=null}function ICb(b){var c,d;if(b.d!=null)return;try{d=ZBc(b.a,vVc,-1);b.d=vG(vH,xVc,50,d.length,15,1);for(c=1;c0||(a.a.a&lZc)==lVc||gac(a.a)||T9b(a.a)>0||hac(a.a)||!!a.a.g||(a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)&&F9b(a.a,b)){a.e=true;return true}return false}function lqb(a,b,c,d,e,f,g,h){var i,j;if(rqb(a,b,c,d,e,f,h))return;i=hqb(a,f,h);i.v==(Kqb(),Gqb)||(i.v=g);$dc(d,(Jdc(),zdc))!=0;if(e.n==(Nlc(),Nic)&&e.g.n!=Njc){j=(Xqb(),Uqb);cqb(a,i,d,j,b,c)}else{bqb(a,i,d,(Xqb(),Uqb),b,c);qqb(d)&&Aqb(i)}}function ktb(a, -b,c){var d,e,f,g;Vd((uub(),Bub(c)||c.n==(Nlc(),Tjc)||c.n==(Nlc(),Ckc)||c.n==(Nlc(),hlc)&&!c.g||c.n==(Nlc(),jlc)),c);for(g=(e=(new mEc(Rtb(b).e)).a.Je().Xd(),new rEc(e));g.a.Jd();){f=(d=g.a.Kd(),d.gf());AFc(a.b).hi(f.b,false)}}function h9b(a){var b,c,d,e,f;b=new kfc((Nlc(),Rkc));for(d=a,e=0,f=d.length;e0&(a&a-1)==0);case 1:case 3:return 31-$Ac(a);case 0:case 2:return 32-$Ac(a-1);case 5:case 4:case 6:d=$Ac(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-a)>>>31);default:throw p0(new Rzc);}}function s2(a,b,c){var d,e,f,g;f=E8b((Nlc(),Hic),b,c);if(a.b){d= -Qd(b.d,b);g=Qd(c.d,c);e=d.Si();switch(e.f){case 1:f.d=g;break;case 2:f.d=d;break;case 3:Uec(f,d.Ri(g));break;default:Zd(e==(Onc(),Lnc),gWc,e);Uec(f,t3(a,(xtc(),Vsc)))}}return f}function a3(a,b,c){var d,e,f,g;f=E8b((Nlc(),Wkc),b,c);if(a.b){d=Qd(b.d,b);g=Qd(c.d,c);e=d.Si();switch(e.f){case 1:f.d=d;break;case 2:f.d=g;break;case 3:Uec(f,d.Ri(g));break;default:Zd(e==(Onc(),Lnc),gWc,e);Uec(f,t3(a,(xtc(),Vsc)))}}return f}function JCb(b,c){var d,e;ICb(b);if(c>b.d.length)return null;c<1&&(c=1);e=b.d[c-1]; -d="";try{d=b.a}catch(a){a=o0(a);if(lH(a,105))return null;else throw p0(a);}return QBc(d,hCc(10),e)==-1?e>=d.length?null:d.substr(e):bCc(d,e,QBc(d,hCc(10),e))}function QPb(a,b){var c,d,e;e=new JFc;while(b){UPb(a,b);RPb(a,b);VPb(a,b);TPb(a,b);SPb(a,b);b.n==(Nlc(),Tjc)&&b.g.n==ejc&&(!b.g?null:b.g.g).n!=Tjc&&qPb(a,b,(aXb(),bWb));d=b.f;c=b.c;if(c){!!d&&rFc(e,d);b=c}else d?b=d:b=CFc(e)}Ud(e.b==e.c)}function VG(a,b){var c,d,e,f,g;b&=63;c=a.h;d=(c&KVc)!=0;d&&(c|=-1048576);if(b<22){g=c>>b;f=a.m>>b|c<<22-b; -e=a.l>>b|a.m<<22-b}else if(b<44){g=d?JVc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?JVc:0;f=d?IVc:0;e=c>>b-44}return DG(e&IVc,f&IVc,g&JVc)}function udb(a){!a.c&&(a.c=sdb(a));if(a.f.a.length!=0||a.e.a.length!=0){a.c=oJb(qJb(pJb(rJb(wJb(vJb(uJb(dJb(a.i.a,a.i.a),Fdb(a.c.f,a.e)),Fdb(a.c.g,a.f)),a.c.i),a.c.c),a.c.a),a.c.b));a.f.a=vG(qZ,xUc,1,0,5,1);a.e.a=vG(qZ,xUc,1,0,5,1)}return a.c}function Msb(a,b){var c;c=a.Ni().Vi();if(Wwc(c,Pd(b.r)))return Swc(c,Pd(b.r));else if(Wwc(c,Pd(b.s)))return Swc(c,Pd(b.s)); -else if(Wwc(c,Pd(b.c)))return Swc(c,Pd(b.c));else if(Wwc(c,Pd(b.d)))return Swc(c,Pd(b.d));return Ttc(b,(xtc(),vtc))}function vtb(a,b,c,d){ttb(this);Vd((uub(),Bub(a)||a.n==(Nlc(),Tjc)||a.n==(Nlc(),Ckc)||a.n==(Nlc(),hlc)&&!a.g),a);a.n==(Nlc(),Tjc)&&Vd(!c,a);this.i=a;this.e=false;this.g=b;if(c){Vd(!Bub(a),a);this.f=this}else{Vd(Bub(a)||a.n==Tjc,a);this.f=d.f}}function jvb(a){var b;if(!(a.n==(Nlc(),Tjc)&&qvb(a.g)&&a.n==Tjc&&Tvb(a.c)))return false;b=a.g;while(b)switch(b.n.f){case 82:return b.g.n!=Tjc; -case 65:case 85:case 160:case 109:case 112:return false;default:Vd(b.n==rkc,b);b=b.g}return false}function _Yb(a){var b,c,d;c=V_b(a.g,0).d.b;d=m$b(a);while(b=V_b(a.g,0).d.b.b>a.f.b,!(b||S$b(a,0,(S2b(),q2b))||S$b(a,0,(S2b(),a1b))||S$b(a,0,(S2b(),o1b)))&&S$b(a,0,(S2b(),$1b))){BYb(a,(S2b(),$1b));BYb(a,c1b);d=new e3b(new t7b(c,a.f),d)}return d}function pZb(a,b){var c,d;c=(On(),new vs);while(true){d=V_b(a.g,0);switch(d.e.f){case 52:BYb(a,(S2b(),q2b));continue;case 2:case 100:case 65:case 43:case 101:case 49:break; -default:{gYb();if(iYb(d.e))break;else return Wn(c.a)}}ts(c,oZb(a,b))}}function Iob(a,b){Hob();var c,d,e;e=a.Mg();c=Ttc(e,(xtc(),msc));d=Uec((a.wg(fZc+dCc("arrayFromIterable",(kOc(),iOc)),false),H8b(gwb(a,"$jscomp.arrayFromIterable"),yG(tG(BX,1),kWc,7,0,[b]))),c);Uec(d.c,Etc(e,c,yG(tG(hY,1),xUc,23,0,[])));return d}function dHb(a,b){var c;c=null;if(a){Hd(a.g.n==(Nlc(),Ykc),a);a.n==pkc||a.n==Tkc?a=(Ud(!!a.c&&!a.c.f),a.c):a.n==xjc&&(a=a.c);if(a.n==Ekc)c=a;else{Vd(a.n==Skc||a.n==Lic,a);c=null}}if(!c)return"p"+ -b;else{Vd(c.n==(Nlc(),Ekc),c);return c.Di()}}function Kpc(a){amc();Noc.call(this,a.q,a.s);this.v=new _vc;this.q=a.n;this.w=a.r;this.s=a.p;this.p=a.k;$vc(this.v,this);this.s||!!a.o?Jpc(this,a.o):Jpc(this,Stc(this.D,(xtc(),gtc)));this.p&&Ud(this.q==null);Pd(this.F);Ud(this.F.c.$d()>=this.w)}function n6(a,b,c){if(b.n==(Nlc(),hlc))return;if($dc(b,(thc(),ugc))>$dc(c,ugc)){if(r6(b,c))throw p0(new PAc(a+"unchanged scope marked as changed: "+i6(b)));}else if(!r6(b,c))throw p0(new PAc(a+"changed scope not marked as changed: "+ -i6(b)));}function elb(a){var b,c,d,e;c=bec(a,(thc(),Zgc));if(c){b=a.n==(Nlc(),$jc)||$dc(a,(Jdc(),hdc))!=0;if(b&&!!((lZc&c.a)==lVc?c.i:null))return(lZc&c.a)==lVc?c.i:null;else{d=Y9b(c);if(d.$d()==1){e=Z9b(c,Mv(Y9b(c).Xd()));if(e)return e}}}return null}function YQb(a,b){var c;c=MPb(a.a,b.b);if(c.n==(Nlc(),Tjc)||c.n==mjc||c.n==wkc||c.n==rjc){a.a.e.fi("Lexical declarations are only allowed at top level or inside a block.",a.a.s,(cPb(),b.o.b.b+1),b.o.b.a);return c}return tPb(a.a,rkc,BRb(a,b.a),c)}function U3(a, -b,c){var d,e;e=Ydc(c);(e<1||e>2)&&Z4(IWc+e,c);d=c.c;switch(d.n.f){case 93:H3(a,b,d);break;case 94:D4(a,b,d);break;default:Z4("Invalid destructuring lhs first child for "+b+DWc,c)}!!c.c&&!!c.c.f&&c.c.f==(c.c?c.c.i:null)&&$3(a,c.c.f)}function Otb(){Otb=S0;Ntb=new Whb("JSC_UNTRANSPILABLE",(l7(),i7),new $Cc('Cannot convert {0} feature "{1}" to targeted output language.'));Ltb=KVb((AVb(),jVb),yG(tG(lU,1),DUc,25,0,[(aXb(),LWb),OWb,PWb,QWb]));Mtb=HVb(jVb,_Wb);FVb(FVb(jVb,Ltb),Mtb)}function mQb(a,b,c,d){var e, -f;e=d.n==(Nlc(),kjc)?d.c:d;xec(e)||a.a.e.fi(T7b("Invalid %s %s operand.",yG(tG(qZ,1),xUc,1,5,[c?"postfix":"prefix",b==jkc?"increment":"decrement"])),a.a.s,tfc(d.k),sfc(d.k));f=sPb(a.a,b,d);Eec(f,(Jdc(),wdc),c);return f}function p0b(a){Q_b(a);while(P_b(a,a.f)&&(P_b(a,a.f)?HBc(a.b,a.f):0)!=93&&!B0b(P_b(a,a.f)?HBc(a.b,a.f):0))if(!q0b(a))return false;if((P_b(a,a.f)?HBc(a.b,a.f):0)!=93){X_b(a,"']' expected",yG(tG(qZ,1),xUc,1,5,[]));return false}Q_b(a);return true}function pYb(){gYb();return yG(tG(oU,1), -DUc,38,0,[jXb,kXb,lXb,oXb,pXb,rXb,sXb,tXb,uXb,zXb,AXb,BXb,CXb,FXb,GXb,NXb,TXb,WXb,XXb,YXb,$Xb,aYb,bYb,cYb,dYb,eYb,mXb,nXb,vXb,wXb,xXb,EXb,VXb,DXb,HXb,KXb,PXb,QXb,RXb,SXb,UXb,fYb,OXb,ZXb,yXb,qXb,_Xb,LXb,MXb])}function bD(a,b){var c,d;if(b>127)throw p0(new MD((c=b>>>0,sVc+c.toString(16))));d=a.e[b];if(d==-1)if(b<=32||b==127)throw p0(new MD((c=b>>>0,sVc+c.toString(16))));else throw p0(new MD("Unrecognized character: "+String.fromCharCode(b)));return d}function nnb(a,b){this.r=a;this.n=new mMc;this.c= -new JFc;this.i=new JFc;this.e=new JFc;this.k=new JFc;this.f=new tMc;this.a=new nGc;this.q=new nGc;this.p=new snb(this);Ud(this.p.c==0);this.j=new snb(this);Ud(this.j.c==1);dGc(this.a,this.j);this.g=b}function $Ab(a,b,c){var d,e,f,g,h;for(e=(!c.c?(JHc(),JHc(),IHc):new whc(c.c)).Xd();e.Jd();){d=e.Kd();h=d.c;Ud(d.n==(Nlc(),plc)&&(h.n==olc||h.n==Ojc));f=d.Di();MBc(f.substr(0,2),cYc)&&(f=f.substr(2));g=h.n==olc?b+(""+h.Di()):x$c;hDc(a.b,b+(""+f),g)}}function MPb(a,b){var c,d,e,f;d=kPb(a,b);c=null;if(a.a.c== -(yOb(),uOb)){f=gPb(a,b.o);f.a.length==0||(c=YPb(f))}e=yQb(a.v,b);if(d){e=nPb(a,b,d,e);Gec(e,(thc(),Zgc),d)}a.a.c==uOb&&!!c&&(Gec(e,(thc(),bhc),c),e);tfc(e.k)==-1&&JPb(e,b.o.b,b.o.a);return e}function Ybc(a,b){if(!!b&&!((a.a.a&2)!=0||nac(a.a)||(a.a.a&XZc)!=0||X9b(a.a)>0||(a.a.a&lZc)==lVc||gac(a.a)||T9b(a.a)>0||hac(a.a)||!!a.a.g||(a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)){Qac(a.a,b,IZc);a.e=true;return true}else return false}function Mcc(a,b){if(!!b&&!((a.a.a&2)!=0||nac(a.a)||(a.a.a&XZc)!= -0||X9b(a.a)>0||(a.a.a&lZc)==lVc||gac(a.a)||T9b(a.a)>0||hac(a.a)||!!a.a.g||(a.a.a&lZc)==yZc||(a.a.a&lZc)==wVc||(a.a.a&lZc)==IZc)){Qac(a.a,b,yZc);a.e=true;return true}else return false}function Xqb(){Xqb=S0;Uqb=new Yqb("SET_FROM_GLOBAL",0);Vqb=new Yqb("SET_FROM_LOCAL",1);Tqb=new Yqb("PROTOTYPE_GET",2);Pqb=new Yqb("ALIASING_GET",3);Sqb=new Yqb("DIRECT_GET",4);Qqb=new Yqb("CALL_GET",5);Rqb=new Yqb("DELETE_PROP",6);Wqb=new Yqb(OZc,7)}function uRb(a,b){var c,d,e,f,g;g=sPb(a.a,(Nlc(),Blc),NPb(a.a,b.a)); -c=rPb(a.a,ejc);f=false;d=b.b;if(d){tfc(c.k)==-1&&JPb(c,d.o.b,d.o.a);f=true;Mdc(c,MPb(a.a,d))}Mdc(g,c);e=b.c;!!e&&Mdc(g,NPb(a.a,e));!f&&!!e&&tfc(c.k)==-1&&JPb(c,e.o.b,e.o.a);return g}function n0b(a){if(!D0b(P_b(a,a.f)?HBc(a.b,a.f):0)){X_b(a,"Expected regular expression first char",yG(tG(qZ,1),xUc,1,5,[]));return false}if(!o0b(a))return false;while(P_b(a,a.f)&&C0b(P_b(a,a.f)?HBc(a.b,a.f):0))if(!o0b(a))return false;return true}function V5(a){var b;b="";a.d==null&&(b+=" name");a.e==null&&(b+=" runInFixedPointLoop"); -!a.a&&(b+=" featureSet");!a.c&&(b+=" internalFactory");a.b==null&&(b+=" hotSwapable");if(b.length!=0)throw p0(new PAc(QWc+b));return new Q5(a.d,a.e,a.a,a.c,a.b)}function k8(a){var b,c,d;c=null;if(a.n==(Nlc(),Zjc))c=(a.c?a.c.i:null).Di();else if(a.n==Ekc){d=a.Di();b=RBc(d,hCc(36));b!=-1&&(c=d.substr(b+1))}if(c!=null)if(MBc(c,"inherits"))return Iab(),Gab;else if(MBc(c,"mixin"))return Iab(),Hab;return null}function axb(a,b){var c,d,e;Gd(b.n==(Nlc(),rkc));e=b.c?b.c.i:null;switch(e.n.f){case 83:case 82:case 72:case 73:case 101:case 102:case 70:case 71:return; -default:d=(c=new kfc(ejc),c);ifc(d,e);Mec(b,e,d);Ndc(d,e);bxb(a,"LABEL normalization",b);return}}function HSb(a,b){var c,d;d=wSb(a,b);if(dSb(a,(xTb(),lTb))){!a.o?ETb(a.j):WRb(a);PSb(a);c=GSb(a,d.Di(),!a.o?ETb(a.j):WRb(a));if(c){Ndc(d,c);PSb(a);if(!dSb(a,rTb))return SRb(a,"msg.jsdoc.missing.gt",a.j.g,DTb(a.j)),null;!a.o?ETb(a.j):WRb(a)}}return d}function sbc(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&b.d== -null||a.d.Ei(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b&&a.a==b.a}function K7(){K7=S0;J7=new Whb("JSC_TYPE_IMPORT_CODE_REFERENCE",(l7(),i7),new $Cc("Cannot reference goog.requireType()''d name {0} outside of a type annotation."));R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),Jdc(),new Jhc((Nlc(),Ekc),ZWc)),new Jhc(olc,cXc))}function cnb(a,b,c,d){var e;if(zFc(a.k)||xFc(a.k).cc&&(c=d.a.a.c);while(g0){e.a+=".";f=vG(uH,pUc,50,a.b.n,15,1);SGc(f,f.length,48);e.a+=pCc(f,0,f.length)}e.a+="E+00";c=W0(a.a);yCc(b,VBc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=bCc(b.a,0,d)+"."+aCc(b.a, -d)}}function Wob(a,b,c,d){if(!b||b==c)return;Wob(a,b.f,c,d);if(cwb(b)||b.n==(Nlc(),qjc)){b.n==(Nlc(),qjc)&&Wob(a,b.c.f,c,d);b=b.c}else if(b.n==(Nlc(),xlc))b=b.c;else if(b.n==qkc||b.n==Ukc);else if(!_8b(b))return;if(_ob(a,b,d.b)){d.b=true;d.a=$ob(a,b,d.a)}}function SLb(){SLb=S0;new Whb("JSC_BAD_IJS_FILE_NAME",(l7(),i7),new $Cc("--ijs file name must end in .i.js: {0}"));RLb=new Whb("JSC_CONFLICTING_IJS_FILE",k7,new $Cc("Found --ijs file in a conflict with --js or --weakdep file.\nFile 1: {0}\nFile 2: {1}"))} -function W6(){W6=S0;V6=new Whb("JSC_UNDEFINED_NAME",(l7(),k7),new $Cc("{0} is never defined"));new Whb("JSC_NAME_DEFINED_LATE",k7,new $Cc("{0} defined before its owner. {1} is defined at {2}:{3}"));U6=new Whb("JSC_STRICT_MODULE_DEP_QNAME",j7,new $Cc(fXc))}function _Qb(a,b){var c,d,e,f;d=hPb(a.a,b.d);c=null;if(a.a.a.c==(yOb(),uOb)){f=gPb(a.a,b.d);f.a.length==0||(c=YPb(f))}vQb(a,b);e=wPb(a.a,(Nlc(),Ekc),b.a);!!d&&(Gec(e,(thc(),Zgc),d),e);a.a.a.c==uOb&&!!c&&(Gec(e,(thc(),bhc),c),e);JPb(e,b.d.b,b.d.a); -return e}function vQb(a,b){var c,d;c=b.a;d=false;if(Rlc(c)){a.a.f=HVb(a.a.f,(aXb(),mWb));d=a.a.a.d==(MOb(),COb)}if(!!a.a.p&&a.a.p.Td(c)){a.a.f=HVb(a.a.f,(aXb(),yWb));d=a.a.a.d==(MOb(),COb)}d&&a.a.e.fi("identifier is a reserved word",a.a.s,(cPb(),b.d.b.b+1),b.d.b.a)}function Eub(a){uub();var b;Hd(!!a&&(a.n==(Nlc(),Hlc)||a.n==wkc||a.n==rjc)||a.n==(Nlc(),Ykc)||gvb(a)||a.n==(Nlc(),ljc)||a.n==(Nlc(),zjc)||a.n==(Nlc(),xjc)||a.n==(Nlc(),dkc)||a.n==(Nlc(),Sjc)||a.n==(Nlc(),Qjc)||a.n==(Nlc(),Rjc),a);b=new nGc; -Sub(a,b);return b}function xRb(a,b){var c,d;d=iQb(b.b.e);c=MPb(a.a,b.a);if(d==(Nlc(),Jkc)&&c.n==Pkc){c.Gi(-c.Bi());return c}else{d==yjc&&!(c.n==Zjc||c.n==Yjc||c.n==Ekc)&&a.a.e.fi("Invalid delete operand. Only properties can be deleted.",a.a.s,tfc(c.k),0);return sPb(a.a,d,c)}}function p$b(a,b){var c;if(S$b(a,0,(S2b(),$1b))||S$b(a,0,Y1b))c=n$b(a,b);else{c=$Zb(a);Z2b(c)||l_b(a,D0c,yG(tG(qZ,1),xUc,1,5,[]));b==0&&c.p!=(L6b(),L5b)&&l_b(a,"Only an identifier or destructuring pattern is allowed here.",yG(tG(qZ, -1),xUc,1,5,[]))}return c}function Cw(a){on();var b,c,d,e,f,g,h;e=a.ce(vG(CL,{1190:1,3:1,4:1},221,0,0,1));c=($y(e.length),new nMc);h=0;for(g=0;g=a.c.a.length)return null;Ud(b>=0);Ud(c>=0);if(gGc(a.c,b)==null)return _D(a,b);d=gGc(a.c,b);Ud(d.a.length!=0);if(d.a[0].kg()>c)return _D(a,b);e=fE(d,c,0,d.a.length-1);Wd(e>=0,"unexpected:%s",e);return $D(a,d.a[e])}function k9(a,b,c){var d,e,f,g,h,i;h=0;d=0;for(f=0;f=0?a.c=new oGc:a.c=new nGc;zg(a.a,b.a);hE(new mE(a,b.d))}function e8(){e8=S0;new Whb("JSC_REFLECT_OBJECTLIT_EXPECTED",(l7(),k7),new $Cc("Object literal expected as second argument"));S8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc), -Jdc(),new Jhc((Nlc(),Ekc),ZWc)),new Jhc(olc,"reflect"),yG(tG(BX,1),kWc,7,0,[new Jhc(olc,"cache")]))}function ubb(a){var b,c,d,e,f;f=new tMc;if(a.w)for(e=Rdc(a.w).Xd();e.Jd();){d=e.Kd();$dc(d,(Jdc(),Hdc))!=0&&qMc(f,wbb(a,(b=bec(d,(thc(),khc)),!b?null:b.ah())))}return new Pzb((c=!a.i?(On(),On(),Nn):a6(a.i.a,(l7(),i7)),!a.i?(On(),On(),Nn):a6(a.i.a,(l7(),k7)),c))}function fcb(a){var b,c,d;Vd(!!a.C,QXc);Ud(a.i.a.d==0);Ud(true);d=jsb(a.C);if(d)for(c=new kw(Pv(ov(hv(kv(new kHc(a.C.a),new ssb)).a),new lv));iw(c);){b= -jw(c);b.a.$h().c==(Dic(),Cic)&&Vd(b.k==d,"Expected all weak files to be in the weak module.")}ndb(new ddb(a))}function qqb(a){var b,c,d;d=Zub(a);if(!d)return false;else if(d.n==(Nlc(),mjc))return true;b=(uub(),c=Fub(a),!c?null:bec(c,(thc(),Zgc)));return!!b&&((b.a&2)!=0&&d.n==(Nlc(),Tjc)||((b.a&512)!=0||(b.a&NYc)!=0)&&d.n==(Nlc(),Tjc)||(b.a&lZc)==IZc&&d.n==(Nlc(),Rkc))}function b9b(a){switch(a.n.f){case 80:case 65:return true;case 82:case 74:case 96:case 88:case 75:case 89:case 71:case 84:case 72:case 73:case 101:case 102:case 66:case 83:case 100:case 67:case 39:case 44:case 76:case 70:case 77:return true; -default:return false}}function kCb(a,b,c,d){var e,f;Gd(b.length!=0);Ud(!s1(a,b));f=new FHb(b,c,a,(lDc(a.e.c),d));Zd(xNc(a.e,b)||u1(a,I1(b))||!(xNc(a.e,b)||u1(a,I1(b)))&&(!yvb(a.d)||!v1(a.b,b)||(e=t1(a,b),!!e&&!!e.c&&e.c.g.n==(Nlc(),Tjc))),"Illegal shadow: %s",f.c);zNc(a.e,b,f);return f}function GSb(a,b,c){var d,e,f,g;f=CSb(a,c);if(!f)return null;g=(d=new kfc((Nlc(),ejc)),d);e=1;Mdc(g,f);while(dSb(a,(xTb(),fTb))){!a.o?ETb(a.j):WRb(a);PSb(a);f=CSb(a,!a.o?ETb(a.j):WRb(a));if(!f)return null;++e;Mdc(g, -f)}MBc(b,aWc)&&e==1&&Ndc(g,fSb(a,clc));return g}function qfc(a,b,c,d,e){Jdc();Gd(!b.g);Gd(!b.f);Gd(!b.i);Gd(!c.g);Gd(!c.f);Gd(!c.i);Gd(!d.g);Gd(!d.f);Gd(!d.i);Gd(!e.g);Gd(!e.f);Gd(!e.i);this.n=a;this.g=null;this.c=b;b.f=c;b.i=e;b.g=this;c.f=d;c.i=b;c.g=this;d.f=e;d.i=c;d.g=this;e.f=null;e.i=d;e.g=this;this.k=-1}function xqc(a,b,c){var d,e,f,g,h;e=null;if(wnc(a.b,b.b,0,new Jrc(true)))e=a.b.a;else return null;f=c?a.b.b.Ri(b.b.b):a.b.b.Qi(b.b.b);h=null;if(Mmc(a.o,b.o))h=a.o;else{d=c?a.o.Ri(b.o):a.o.Qi(b.o); -h=d}g=a.b.c||b.b.c;return Wqc(jrc(erc(brc(new krc(a.D),e),f,g),h))}function aob(a,b,c,d){var e,f,g,h,i;h=c.c?c.c.i:null;g=V8b(new kfc((Nlc(),Djc)),new kfc(Djc),h.zi(false));gfc(g,c);Ldc(d,g,c);Znb(a,b,g,d);i=Vnb(a,h.Di());for(f=Rdc(c.c).Xd();f.Jd();){e=f.Kd();zPc(a.b,(e.c?e.c.i:null).Di(),new Pnb(i+"."+e.c.Di(),e))}Hec(d,c);bub(b)}function Pwb(a,b,c){var d,e,f,g,h;e=new ntb;nub(a.b,e,b,c);nub(a.b,new exb(a.b,a.a),b,c);f=new oxb;g=new PDb(a.b,new Uwb(a));h=new lub(a.b,f,g);kub(h,b,c);ixb(new jxb(a.b, -a.a),b,c);d=new Wwb;mub(a.b,c,d);d.a.a.$d()==0||mub(a.b,c,new mxb(a,d.a));b1(a.b.V)||(a.b.V=1)}function BUb(a,b){var c,d;if(!_Tb(a,b,(dVb(),bVb)))return false;d=(Md(b.n==(Nlc(),hjc),Q_c,b),Ydc(b)-1);for(c=0;c=1){b=c.a.ee(0);b.p==(L6b(),S5b)&&j_b(a,b,"Setter must not have a rest parameter",yG(tG(qZ, -1),xUc,1,5,[]))}return c}function kbc(a,b,c,d,e){if(b>d)throw p0(new PAc("Recorded bad position information\nstart-line: "+b+vVc+"end-line: "+d));else if(b==d&&c>=e)throw p0(new PAc("Recorded bad position information\nline: "+b+vVc+"start-char: "+c+vVc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}function $2(a,b){var c,d,e,f,g;d=W2(a,aWc,(xtc(),etc));c=L2(a,d,"getPrototypeOf");e=A2(a,c,yG(tG(BX,1),kWc,7,0,[b]));if(a.b){g=dmc((Rd(b.d,rWc,b),b.d));f=(Pd(g),g.kj()?g:Rd(g.Sj(),"null prototype: %s",g));e.d= -f;Uec(c,Dtc(a.b,f,yG(tG(hY,1),xUc,23,0,[t3(a,gtc)])))}return e}function gMb(){gMb=S0;eMb=new Whb("JSC_DUPLICATE_IMPORT",(l7(),k7),new $Cc('The module "{0}" has already been imported at {1}, {2}.'));fMb=new Whb("JSC_DEFAULT_EXPORT",k7,new $Cc("Do not use the default export. There is no way to force consistent naming when imported."))}function iqb(a,b){var c,d,e;if(!b)return Kqb(),Iqb;switch(b.n.f){case 96:return Kqb(),Eqb;case 43:return Kqb(),Hqb;case 65:return Kqb(),Fqb;case 61:return iqb(a,b.c?b.c.i: -null);case 60:c=b.c.f;d=iqb(a,c);if(d!=(Kqb(),Iqb))return d;e=c.f;return iqb(a,e)}return Kqb(),Iqb}function zJb(a,b,c){var d,e,f,g,h;d=yJb(a,b,c);f=d;pKb();!MBc(d.substr(0,"/".length),"/")&&!(MBc(d.substr(0,cYc.length),cYc)||MBc(d.substr(0,T$c.length),T$c))&&(f="/"+d);if(a.e.Td(f))return d;for(h=a.f.Xd();h.Jd();){g=h.Kd();e=g+(""+f);if(a.e.Td(e))return d}return null}function MMb(){MMb=S0;KMb=new Whb("JSC_PRIMITIVE_OBJECT",(l7(),k7),new $Cc("Explicit creation of a {0} object."));LMb=new Whb("JSC_PRIMITIVE_OBJECT_DECLARATION", -k7,new $Cc("Declaration of {0} object instead of primitive type."));on();Gp(yG(tG(qZ,1),xUc,1,5,[eWc,dWc,EVc]))}function wSb(a,b){var c,d,e,f;if(b!=(xTb(),wTb)){PRb(a,"msg.jsdoc.name.syntax",a.j.g,DTb(a.j));return null}f=a.j.n;d=a.j.g;c=DTb(a.j);while(dSb(a,iTb)&&(e=".".length,MBc(f.substr(f.length-e,e),"."))){PSb(a);if(dSb(a,wTb)){!a.o?ETb(a.j):WRb(a);f+=a.j.n}}return gSb(a,f,d,c)}function xSb(a,b){var c,d;c=false;if(b==(xTb(),kTb)){b=!a.o?ETb(a.j):WRb(a);if(b==sTb){a.o=b;return RSb(a,(Nlc(),pkc), -new kfc(Djc))}c=true}d=CSb(a,b);if(d){PSb(a);if(c)d=RSb(a,(Nlc(),pkc),d);else if(dSb(a,jTb)){!a.o?ETb(a.j):WRb(a);PSb(a);d=RSb(a,(Nlc(),Ijc),d)}}return d}function e4(a,b){var c,d,e;_3(a,(aXb(),CWb),b);x4((Nlc(),dkc),b);d=Plc(b.n);d!=-1&&(c=Ydc(b),d!=c&&Z4(AWc+d+BWc+c,b));b.c.n==Ekc?q4(b.c):x4(Djc,b.c);e=b.c.f;switch(e.n.f){case 106:g4(e);break;case 108:y4(e)&&e.Di().length==0&&Z4(JWc,e);break;default:x4(Djc,e)}O4(Xdc(b,2))}function ARb(a,b){var c,d,e,f;switch(b.a.f){case 30:pPb(a.a,b,(aXb(),iWb)); -e=(Nlc(),rjc);break;case 38:pPb(a.a,b,(aXb(),zWb));e=(Nlc(),wkc);break;case 25:e=(Nlc(),Hlc);break;default:throw p0(new OAc);}f=rPb(a.a,e);for(d=b.b.Xd();d.Jd();){c=d.Kd();Mdc(f,OPb(a.a,c))}return f}function Y$b(b){var c;if(b.b.d&&T$b(b,(S2b(),Z1b))||T$b(b,(S2b(),X1b))){c=new p_b(b.b,new m7b,b.g.j,M_b(b.g),BFc(b.e).b);try{MYb(c);IZb(c,2);T$b(c,(S2b(),d1b))&&(BYb(c,d1b),G$b(c));return T$b(c,R0b)}catch(a){a=o0(a);if(lH(a,438))return false;else throw p0(a);}}return false}function wnc(a,b,c,d){var e, -f,g,h;g=a.a.c;e=b.a.c;while(!!g&&!!e){h=g.d;f=e.d;if(h){if(!!f&&!emc(h,f,c,d))return false}else if(f)return false;if($dc(g,(thc(),chc))!=0!=($dc(e,chc)!=0))return false;if($dc(g,qhc)!=0!=($dc(e,qhc)!=0))return false;g=g.f;e=e.f}return g==e}function L9(a,b,c,d,e,f,g){var h,i,j;Ud(!!c.cd);j=b==0?new aab(f,c.rc,c.Wb,c.cd):new lab(c.Wb,c.cd);h=b==2?new iHb(j,g.a.c,g.a.e):new s9(j,g.a.c);d&&r8(h.c,"/** @fileoverview @typeSummary */\n");e&&(r8(h.c,"'use strict';"),h.c.Bh());h.Nh(a,(H9(),C9));j.zh();i=j.e.a; -return i}function igb(a,b){var c,d,e,f,g,h,i;j:for(i=b.b.Xd();i.Jd();){h=i.Kd();g=(Tgb(),pOc(Sgb,h,new bhb),dDc(Sgb,h));for(f=(d=(new dFc(a.c.a)).a.Je().b.yk(),new lFc(d));f.a.Jd();){e=(c=f.a.Kd(),c.ff());if(e._h(g))continue j;else if(e.ai(g))return false}return false}return true}function BHb(a,b){var c;c=a.b.Bg();if(!c)return;Upb(new Vpb(a.b),b);if(!kB(a.b.Bg(),c)){a.b.Tg(new Jrb(null,null,-1,-1,zHb,null,yG(tG(vZ,1),cWc,2,6,[c.Cd(),a.b.Bg().Cd()])));throw p0(new PAc("Validity Check failed: Extern properties changed from:\n"+ -c+"\nto:\n"+a.b.Bg()));}}function prb(){prb=S0;orb=new Whb("JSC_J2CL_REFERENCE_EQUALITY",(l7(),k7),new $Cc("Reference equality may not be used with the specified type: {0}"));Do();new cB(yG(tG(Y$,1),aVc,51,0,[(ol(QZc,RZc),new or(QZc,RZc)),(ol(SZc,TZc),new or(SZc,TZc)),(ol(UZc,VZc),new or(UZc,VZc))]))}function nUb(a,b){if(!_Tb(a,b,(dVb(),TUb)))return false;if((Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)).n!=olc){a.a.gi(z_c+tic(R_c,yG(tG(qZ,1),xUc,1,5,[_Yc])),a.b.ah(),a.d,a.c);EUb(a,TUb.d);return false}if(!yUb(a, -(Md(b.n==hjc,Q_c,b),Xdc(b,2)))){EUb(a,TUb.d);return false}return true}function Ilb(a,b,c,d,e){var f,g,h,i;Gd((b.c?b.c.i:null)==c);h=V2(a.a,d,b.d);i=Ghc(h,false);if(e.a.length!=0){g=new FGc(e);f=Glb(a,Ghc(h,false),(g.b=g.a++,g.c.a[g.b]));while(g.a=0x7fffffffffffffff)return eH(),aH;e=false;if(a<0){e=true;a=-a}d=0;if(a>=MVc){d=sH(a/MVc);a-=d*MVc}c=0;if(a>=LVc){c=sH(a/LVc);a-=c*LVc}b=sH(a);f=DG(b,c,d);e&&JG(f);return f}function Qnb(a, -b,c,d){var e,f,g;e=gwb(a.a,d.b);f=P8b((Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc((Nlc(),Ekc),"")),i9b(yG(tG(BX,1),kWc,7,0,[])),F8b((Ud(_8b(e)),new mfc(glc,e))));hfc(f,d.a);g=h9b(yG(tG(BX,1),kWc,7,0,[m9b(kZc,new kfc(Alc)),m9b(aXc,f)]));Mdc(b,m9b(c,g));a.a.Ug(f)}function nob(a,b){var c,d,e,f;Gd(b.n==(Nlc(),Kic));e=kob(a,b);e.a[0].n==Kic?c=iGc(e,0):c=Uec(B8b(yG(tG(BX,1),kWc,7,0,[])),a.a);if(e.a.length==0)f=c;else{d=Uec(R8b(c,(Jdc(),new Jhc(olc,xZc))),a.d);f=H8b(d,mGc(e,vG(BX,kWc,7,0,0,1)))}jfc(f, -b);Uec(f,a.a);Mec(b.g,b,f);a.c.Vg(f)}function Ivb(a){var b,c;c=a.g;b=!a.g?null:a.g.g;switch(c.n.f){case 93:case 114:case 115:return true;case 118:if(c==a.g&&!(a==a.g.c?null:a.i))return false;case 91:return b.n==(Nlc(),Skc);case 123:if(c==a.g&&!(a==a.g.c?null:a.i))return Ivb(c);return false;default:return false}}function n_b(a,b){var c;switch(b.p.f){case 61:c=b;break;case 26:c=new X3b(b.o,(On(),new RB(Pd(b))));break;case 48:case 56:a.f=b.o.b;d0b(a.g,a.f);c=IZb(a,0);break;default:j_b(a,b,"invalid arrow function parameters", -yG(tG(qZ,1),xUc,1,5,[]));c=new X3b(b.o,(On(),On(),Nn))}return c}function H9(){H9=S0;G9=new I9("STATEMENT",0);A9=new I9("BEFORE_DANGLING_ELSE",1);F9=new I9("START_OF_EXPR",2);B9=new J9("IN_FOR_INIT_CLAUSE",3,true,false);D9=new J9("START_OF_ARROW_FN_BODY",4,false,true);E9=new J9("START_OF_ARROW_FN_IN_FOR_INIT",5,true,true);C9=new I9("OTHER",6)}function fzb(a,b){czb();var c;if(Dec(b,o$c,o$c.length)||b.n==(Nlc(),Yjc)&&Cec(b.c,_Wc)&&b.c.f.n==olc&&MBc(b.c.f.Di(),TVc)){c=t1(Rtb(a),_Wc);if(!c||!c.a||xdb(c.a))return true}else if(b.n== -(Nlc(),Ekc)&&MBc(TVc,b.Di())){c=t1(Rtb(a),b.Di());if(!c||!c.d.b)return true}return false}function DQb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){(b.b.e==(S2b(),v2b)||b.b.e==w2b)&&pPb(a.a,b,(aXb(),nWb));e=c;c=sPb(a.a,fQb(b.b.e),MPb(a.a,b.c));tfc(c.k)==-1&&JPb(c,b.o.b,b.o.a);!!e&&Ndc(e,c);if(lH(b.a,100))b=b.a;else{d=MPb(a.a,b.a);Ndc(c,d);b=null}!f&&(f=c)}return f}function USb(a){NRb();var b,c;b=kOb(mOb(rOb(oOb(pOb(mOb(sOb(lOb(qOb(nOb(rOb(oOb(new tOb,(MOb(),KOb)),(XOb(),WOb)),(yOb(),xOb)),(SOb(), -ROb)),fOb((on(),gB(),fB))),(null,fB)),(null,fB)),false),COb),VOb),new UB("testPrimitive")));c=new TSb(new JTb(a),a,0,null,b,(w8b(),v8b));return c}function vhc(){thc();return yG(tG(oX,1),DUc,34,0,[bhc,Zgc,qhc,Qgc,ghc,chc,mhc,rgc,ehc,ihc,Sgc,Wgc,Egc,Fgc,Kgc,khc,Rgc,jhc,ugc,hhc,lhc,Lgc,sgc,tgc,shc,Igc,Hgc,zgc,Tgc,Ugc,wgc,vgc,xgc,ygc,Bgc,phc,dhc,Mgc,Pgc,Agc,qgc,ahc,fhc,Ngc,Ogc,Jgc,Vgc,rhc,nhc,Dgc,$gc,Ygc,_gc,Xgc,Ggc,ohc,Cgc])}function fub(a,b,c){var d;switch(b.n.f){case 85:Xtb(a,b,c);return;case 65:Vtb(a, -b,c);return;case 112:Wtb(a,b,c);return}a.e=b;if(!a.a.ih(a,b,c))return;d=b.n;d==(Nlc(),mjc)?hub(a,b):d==njc?iub(a,b):a.q&&Bub(b)?($tb(a,b),gub(a,b),Ztb(a,false),undefined):gub(a,b);a.e=b;a.a.jh(a,b,c)}function BQb(a,b){var c,d,e,f,g;g=rPb(a.a,(Nlc(),jlc));for(d=b.b.Xd();d.Jd();){c=d.Kd();Mdc(g,MPb(a.a,c))}xQb(g);e=oQb(g);if(e||EVb(a.a.f,(aXb(),CWb))){f=rPb(a.a,Ckc);tfc(f.k)==-1&&JPb(f,b.o.b,b.o.a);Pdc(f,Iec(g));Mdc(g,f);e?Eec(g,(Jdc(),udc),true):Eec(g,(Jdc(),ndc),true)}return g}function NZb(a,b){var c, -d,e,f;HYb(a,aXc);if(a_b(a,0)){e=EYb(a);BYb(a,(S2b(),Z1b));BYb(a,b1b);f=LYb(a);c=JZb(a);h_b(a,(aXb(),tWb));return new s4b(IYb(a,b.d),e,b.c,f,c)}else{d=sZb(a);BYb(a,(S2b(),Z1b));BYb(a,b1b);LYb(a);c=JZb(a);h_b(a,(aXb(),tWb));return new C3b(IYb(a,b.d),d,b.c,c)}}function h$b(a){var b,c,d,e;if(T$b(a,(S2b(),R1b)))if(S$b(a,1,d2b))return e=V_b(a.g,0).d.b,BYb(a,R1b),BYb(a,d2b),HYb(a,"target"),new L4b(new t7b(e,a.f));else{d=V_b(a.g,0).d.b;BYb(a,R1b);c=h$b(a);b=null;T$b(a,Z1b)&&(b=YYb(a));return new K4b(new t7b(d, -a.f),c,b)}else return c$b(a)}function GTc(a,b,c,d,e){var f,g,h,i,j;ETc(d+BD(c,c.ig()),e);FTc(b,ITc(c));f=c.f;!!f&>c(a,b,f,"Caused by: ",false);for(h=(c.j==null&&(c.j=vG(wZ,xUc,37,0,0,1)),c.j),i=0,j=h.length;ia.i?(On(),new RB(Pd(Ttc(a.k,(xtc(),vtc))))):Wn(a.a)}function ZC(){ZC=S0;YC=new uD("base64()",qVc,hAc(61));new uD("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", -hAc(61));new mD("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",hAc(61));new mD("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",hAc(61));new rD}function Kbb(a){var b,c,d,e,f,g;g=(a.I.pd!=(Ufb(),Rfb)&&!!a.Q&&Ixb(a.Q,VXc,true),new mEb);try{b=new Xcb;if(a.w){c=0;if(peb(a.I))for(f=a.p.c;f;f=f.f)hcb(a,b,c++,f);for(e=a.w.c;e;e=e.f)hcb(a,b,c++,e)}return b.c.a}finally{d=E0(v0(Date.now()),g.a);a.I.pd!=Rfb&&!!a.Q&&Jxb(a.Q,VXc,d)}}function Bmb(a,b){var c,d,e,f,g;if($dc(b,(thc(),Tgc))==0)return b;c=new snb(a.a); -e=(g=new Cnb,mub(a.f.b,b,g),Pd(g.a),g.a);d=nmb(a,mmb(a,Jec(e)));$dc(e,shc)!=0?lnb(a.a,d,c,e):knb(a.a,d,c,e);fnb(a.a,c);f=mnb(a.a,e);if(e==b)return f;Mec(e.g,e,f);while(f!=b){f=f.g;Fec(f,Tgc,0)}return b}function MJb(a,b,c,d,e){LJb();var f,g;CJb.call(this,a,b,c,d);g=MSc(PSc(new VSc(null,Eo(e)._d()),new TJb),Wu(new BKc(new _Kc(new JKc(new VJb)),new FKc((QKc(),QKc(),OKc)))));this.b=(on(),f=g,Dp(f));this.a=MSc(SSc(PSc(new VSc(null,this.b._d()),new PJb)),new hSc(new mSc,new kSc,new iSc))}function sQb(a, -b){a.a.f=HVb(a.a.f,(aXb(),tWb));if(a.a.a.d==(MOb(),COb)){a.a.e.fi("getters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.s,(cPb(),b.o.b.b+1),0);return true}return false}function tQb(a,b){a.a.f=HVb(a.a.f,(aXb(),SWb));if(a.a.a.d==(MOb(),COb)){a.a.e.fi("setters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.", -a.a.s,(cPb(),b.o.b.b+1),0);return true}return false}function rob(a){iob();var b;this.c=a;if(a.Qg()){b=a.Mg();this.a=Ttc(b,(xtc(),msc));this.b=Ttc(b,vsc);this.d=fmc(this.a,xZc);this.f=Ttc(b,Wsc);this.g=Ttc(b,dtc);this.i=Ttc(b,utc);this.e=Ttc(b,zsc)}else{this.a=null;this.b=null;this.d=null;this.f=null;this.g=null;this.i=null;this.e=null}}function Cxc(a,b){var c;Pd(b);if(!(!!b.uj()&&lmc(a.e,b.uj().e))){if(!b.uj())if(Zmc(a,b,new Prc(true),(_rc(),$rc)))return a;else if(b.ij(a))return xmc(b);if(b.gj())return hmc(a, -(xtc(),Tsc));return hmc(a,(xtc(),Vsc))}c=b.uj();Pd(c);if(Nwc(a.F,c.F,2,(_rc(),$rc)))return a;return a.d}function qf(b){var c,d,e;try{return b==null?uUc:W0(b)}catch(a){a=o0(a);if(lH(a,40)){c=a;e=nAc(xb(b))+"@"+(d=OTc(b)>>>0,d.toString(16));URc($Rc("com.google.common.base.Strings"),(kRc(),jRc),"Exception during lenientFormat for "+e,c);return"<"+e+" threw "+nAc(c.Ik)+">"}else throw p0(a);}}function rF(a,b){var c;if(a>=AVc&&a<=BVc){c=(PTc(a>=0&&a<=BVc),a>=AVc?yG(tG(uH,1),pUc,50,15,[55296+(a-AVc>>10& -CVc)&oUc,56320+(a-AVc&CVc)&oUc]):yG(tG(uH,1),pUc,50,15,[a&oUc]));rF(c[0],b);rF(c[1],b);return}qCc(qCc(qCc(qCc((b.a+="\\u",b),pF[a>>>12&15]),pF[a>>>8&15]),pF[a>>>4&15]),pF[a&15])}function YMb(){YMb=S0;XMb=new Whb("JSC_MISSING_NAMESPACE_IMPORT",(l7(),i7),new $Cc('Imported Closure namespace "{0}" never defined.'));new Whb(Z$c,i7,new $Cc('Requested module does not have an export "{0}".'));new Whb(Z$c,i7,new $Cc('Requested module does not have an export "{0}".{1}'))}function P7b(a){var b,c,d;if(!lH(a.a, -227))return null;c=a.a;b=LAc(c);d=null;if(isNaN(b))d="NaN";else if(b==Infinity)a.b.d?d="+Infinity":a.b.j?d=" Infinity":d=f$c;else if(b==-Infinity)a.b.g?d="(Infinity)":d="-Infinity";else return null;a.b.n=-1;a.b.k=false;return F7b(a,d,0)}function c9(a,b,c,d,e){var f,g;f=e==(H9(),F9);f&&r8(a.c,"(");Z8(a,b.n==(Nlc(),Tjc)&&$dc(b,(thc(),tgc))!=0?NXc:iUc);if($dc(b,(thc(),Lgc))!=0){r8(a.c,"*");c.Di().length==0||a.c.Hh()}a.Nh(c,C9);g=bec(c,(Jdc(),tdc));!!g&&a.Nh(g,C9);a.Nh(c.f,C9);m9(a,b);a.Nh(d,C9);a.c.Ah(e== -G9);f&&r8(a.c,")")}function yub(a,b,c){uub();var d;switch(a.n.f){case 103:case 28:case 23:return true;case 29:return!nvb(a,c)&&!b.Td(a.Di());case 26:case 27:return true;case 65:Vd(!(a.n==(Nlc(),Tjc)&&qvb(a.g)&&a.n==Tjc&&Tvb(a.c)),a);return false}for(d=a.c;d;d=d.f)if(yub(d,b,c))return true;return false}function oUb(a,b){if(!_Tb(a,b,(dVb(),UUb)))return false;if((Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)).n!=olc){a.a.gi(z_c+tic(R_c,yG(tG(qZ,1),xUc,1,5,["property name"])),a.b.ah(),a.d,a.c);EUb(a,UUb.d);return false}if(!yUb(a, -(Md(b.n==hjc,Q_c,b),Xdc(b,2)))){EUb(a,UUb.d);return false}return true}function uqc(a,b,c){var d;if(!!a.k&&a.k.n==(Nlc(),mjc)){d=b.Qj();!!d&&(Ud(!(!!a.j||!a.A)),a.r=d)}if(b.Xj()!=null||a.s||!!b.Uj()){if(!!a.j&&(a.Zi()||a.i==(prc(),nrc))&&b.zd((Zd(a.Zi()||a.i==(prc(),nrc),jWc,a),rmc(a.o))))return;b=Pqc(Qqc((amc(),new Uqc(a.D)),a.Xj()+JZc),b).ek()}tqc(a,b,c)}function Gp(a){on();var b,c,d,e,f,g;g=new fOc;KHc(g,a);for(c=(f=(new bEc(g.a)).a.Je().Xd(),new hEc(f));c.a.Jd();){b=(d=c.a.Kd(),d.ff());Pd(b)}switch(g.a.$d()){case 0:return gB(), -fB;case 1:return new UB((e=(new bEc(g.a)).a.Je().Xd(),d=(new hEc(e)).a.Kd(),d.ff()));default:return new hB(g)}}function pvb(a,b){uub();switch(a.n.f){case 71:return a.c==b;case 44:return a.c==b||(a.c?a.c.i:null)==b;case 72:case 73:case 101:case 102:case 70:case 83:case 77:case 78:return(a.c?a.c.i:null)==b;case 66:case 67:case 68:return a.c!=b;case 69:return true;default:Vd(ovb(a),a);return false}}function yd(a){var b,c,d,e,f,g,h;f=a.d;d="";c=rCc(yCc(new CCc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f|| -g!=null){c.a+=d;d=tUc;h.a!=null&&rCc(yCc(c,h.a),61);if(g!=null&&(xb(g).i&4)!=0){e=yG(tG(qZ,1),xUc,1,5,[g]);b=NGc(e,new tMc);wCc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+="}",c).a}function seb(a){var b,c,d,e,f;d=(Do(),new Fs);for(c=new FDc((new xDc(a)).a);c.b;){b=EDc(c);e=b.ff();f=b.gf();if(mH(f))Cs(d,e,(uub(),f?new kfc((Nlc(),Alc)):new kfc((Nlc(),Ojc))));else if(lH(f,129))Cs(d,e,g9b(f.a));else if(nH(f))Cs(d,e,g9b(f));else{Ud(qH(f));Cs(d,e,l9b(f))}}return To(d.b)}function vKb(a,b){pKb();var c, -d,e,f;e=a;!MBc(e.substr(0,"/".length),"/")&&!(MBc(e.substr(0,cYc.length),cYc)||MBc(e.substr(0,T$c.length),T$c))&&(e="/"+e);for(d=b.Xd();d.Jd();){c=d.Kd();if(MBc(e.substr(0,c.length),c)){f=aCc(e,c.length);if(MBc(f.substr(0,1),"/"))return f.substr(1)}}return a}function VZb(a){var b,c,d,e,f,g;e=V_b(a.g,0).d.b;BYb(a,(S2b(),H1b));d=CYb(a);c=MYb(a);f=(On(),new vs);if(T$b(a,v1b)){BYb(a,v1b);g=G$b(a);dGc(f.a,Pd(g));while(T$b(a,e1b)){BYb(a,e1b);g=G$b(a);!!g&&(dGc(f.a,Pd(g)),f)}}BYb(a,Y1b);b=XZb(a);BYb(a,a1b); -return new z4b(new t7b(e,a.f),d,c,Wn(f.a),b)}function j9(a){var b,c,d;d=new BCc;for(c=0;c31&&b<127?(d.a+=String.fromCharCode(b),d):sF(d,b)}}return d.a}function vqc(a,b,c){var d,e,f,g,h;f=!a.j?null:a.j.e;g=!!f;a.j=new Nvc(PWc,b,true,!c?a.k:c);b.ak(a);!!f&&f.ak(null);if(a.Zi()||a.i==(prc(),nrc)){h=oqc(a);if(h){!h.n&& -(h.n=new nGc);dGc(h.n,a)}if(a.i==(prc(),nrc))for(e=a.d.Xd();e.Jd();){d=e.Kd();!!d.Qj()&&_pc(d.Qj(),a)}}g&&dqc(a);return true}function R$b(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;BYb(a,(S2b(),R2b));d=false;c=null;e=V_b(a.g,0).d.b.b>a.f.b;if(!(e||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b))){d=!!FYb(a,t2b);X$b(a)?c=bZb(a,b):d&&l_b(a,"yield* requires an expression",yG(tG(qZ,1),xUc,1,5,[]))}return new l7b(new t7b(f,a.f),d,c)}function Rnb(a){var b,c,d;if(a.b.c!=0){b=h9b(yG(tG(BX,1),kWc,7,0,[]));for(d=(new cQc(a.b)).b.yk();d.Jd();){c= -d.Kd();Qnb(a,b,c.ff(),c.gf())}Ndc(a.g,jfc(N8b(H8b(gwb(a.a,"Object.defineProperties"),yG(tG(BX,1),kWc,7,0,[(Zd(PBc(uZc,hCc(46))==-1,iWc,uZc),Jdc(),new Jhc((Nlc(),Ekc),uZc)),b]))),a.g))}}function ppb(a,b){var c,d,e,f;d=(b.c?b.c.i:null).Di();e=MBc(d.substr(0,5),"goog:");if(e)return d.substr(5);else{f=CKb(vdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d)),d,(c=bec(b,(thc(),khc)),!c?null:c.ah()),tfc(b.k),sfc(b.k));!f&&(f=DKb(vdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d)),d));return gLb(f.a)}}function HZb(a,b,c){var d, -e,f;!c&&(c=new M4b(new t7b(a.f,V_b(a.g,0).d.b)));BYb(a,(S2b(),q2b));T$b(a,q2b)?e=new M4b(new t7b(a.f,V_b(a.g,0).d.b)):e=QYb(a,1);BYb(a,q2b);T$b(a,b1b)?f=new M4b(new t7b(a.f,V_b(a.g,0).d.b)):f=QYb(a,1);BYb(a,b1b);d=B$b(a);return new W3b(new t7b(b,a.f),c,e,f,d)}function uub(){uub=S0;pub=qic("goog.module.declareLegacyNamespace");qic(GZc);oub=TLc((Nlc(),Tjc),yG(tG(IX,1),DUc,9,0,[jlc,Ckc,hlc]));qub=TLc(jlc,yG(tG(IX,1),DUc,9,0,[Ckc,ejc,rkc,Hkc,okc]));tub=new Hwb;rub=new Lwb;R8b((Zd(PBc(dWc,hCc(46))==-1, -iWc,dWc),Jdc(),new Jhc(Ekc,dWc)),new Jhc(olc,"NaN"))}function Bib(a,b,c,d){var e,f,g,h,i;Hd(uec(b),b);Hd(c.n==(Nlc(),hjc),c);f=Jec(c);Vd(f.n==Zjc,f);e=Pd(f.c.f);Vd(MBc(e.Di(),TYc),e);i=f.c;Mec(f,i,hfc(Tdc(b,false),i));h=c.c;Vd(h.n==Nkc,h);Hec(c,h);g=gfc(A2(a.a,f,yG(tG(BX,1),kWc,7,0,[])),c);Mdc(g,gfc(j3(a.a,d),h));while(c.c)Mdc(g,Jec(c));return g}function MOb(){MOb=S0;COb=new NOb(gYc,0,(AVb(),oVb));DOb=new NOb(hYc,1,pVb);EOb=new NOb("ECMASCRIPT6",2,rVb);FOb=new NOb("ECMASCRIPT7",3,tVb);GOb=new NOb("ECMASCRIPT8", -4,vVb);HOb=new NOb(iYc,5,lVb);IOb=new NOb(jYc,6,nVb);JOb=new NOb("ES_NEXT",7,wVb);LOb=new NOb(kYc,8,xVb);KOb=new NOb(o_c,9,yVb)}function dXb(){aXb();return yG(tG(lU,1),DUc,25,0,[mWb,tWb,yWb,SWb,UWb,XWb,YVb,ZVb,aWb,bWb,dWb,eWb,fWb,gWb,iWb,jWb,XVb,FWb,oWb,qWb,rWb,zWb,AWb,EWb,IWb,MWb,NWb,RWb,TWb,VWb,WWb,CWb,nWb,$Vb,YWb,GWb,HWb,_Vb,pWb,LWb,OWb,PWb,QWb,_Wb,JWb,kWb,vWb,VVb,WVb,cWb,hWb,lWb,sWb,uWb,wWb,xWb,BWb,DWb,KWb,ZWb,$Wb])}function s$b(a){var b,c,d,e,f;e=V_b(a.g,1).e;if(e==(S2b(),y2b)||e==W1b||e==B1b|| -(gYb(),gYb(),!!ep(JXb,e)))return qZb(a,new K_b(V_b(a.g,0).d.b));else{d=V_b(a.g,0).d.b;BYb(a,t2b);c=sZb(a);b=new i4b((n4b(),l4b));LZb(a,b,(H_b(),F_b));f=Z3b(b,new t7b(d,a.f));return new E3b(new t7b(d,a.f),null,c,f)}}function kcb(a){var b,c,d,e;e=(a.I.pd!=(Ufb(),Rfb)&&!!a.Q&&Ixb(a.Q,YXc,true),new mEb);try{for(c=(!a.K&&(a.K=new QLb(a.a)),new FGc(PLb(a.K)));c.aa.f.b,!(c||S$b(a,0,(S2b(),q2b))||S$b(a, -0,(S2b(),a1b))||S$b(a,0,(S2b(),o1b))))){e=PYb(a);return new f7b(new t7b(f,a.f),e,1,b)}else return b}}function ybb(a,b,c,d){var e,f,g,h,i,j,k;if(b==null)return null;j=XQc(a.u,b);if(!j)return null;e=sDb(j,a.i);if(!e)return null;g=ZD(e,c,d+1);if(!g)return null;k=j.c.b;h=g.d;f=Qcb(k,h);i=wbb(a,f);if(!i&&!!h){i=null;!!i&&ZQc(a.O,f,i)}return vF(wF(zF(xF(wF(yF(zF(new AF,g.d),g.c),g.a),g.b),f),g.a-1))}function _ib(a,b){var c,d;d=b.g;c=b.c.n==(Nlc(),Djc);uub();if(b.n==mjc&&qvb(b.g)&&b.n==mjc&&Tvb(b.c)||c&& -d.n==Ekc||c&&d.n==Nic&&uec(d.c)&&d.g.n==Njc)return false;if(Vob(a.c,b)==0){a.b.Tg(Orb(b,(Hob(),Fob),yG(tG(vZ,1),cWc,2,6,["class expression that cannot be extracted"])));return false}return true}function $wb(a,b){var c,d,e;Ud(b.g.n==(Nlc(),Tjc));d=null;c=b.c;while(!!c&&(uub(),c.n==Tjc&&qvb(c.g)&&c.n==Tjc&&Tvb(c.c))){d=c;c=c.f}while(c){e=c.f;uub();if(c.n==Tjc&&qvb(c.g)&&c.n==Tjc&&Tvb(c.c)){Hec(b,c);d=(!d?Ndc(b,c):Kdc(b,c,d),c);bxb(a,"Move function declaration not at top of function",b)}c=e}}function ric(a, -b){var c;c=a.a-1;while(c>0&&b.n==(Nlc(),Zjc)){if(rH((b.c?b.c.i:null).Di())!==rH(a.b.ee(c)))return false;--c;b=b.c}if(c>0)return false;switch(b.n.f){case 29:case 98:return rH(a.b.ee(0))===rH(b.Di());case 33:return a.b.ee(0)===XVc;case 99:return a.b.ee(0)===VVc;default:return false}}function Zub(a){uub();var b;b=a.g;switch(b.n.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 95:return a.f;case 76:case 100:case 88:return a.c?a.c.i:null;case 43:case 97:return Ud(!!a.c&& -!a.c.f),a.c;case 65:case 96:return b}return null}function lUb(a,b){var c,d,e;if(!_Tb(a,b,(dVb(),_Ub)))return false;e=(Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1));if(e.n!=olc){a.a.gi(z_c+tic(S_c,yG(tG(qZ,1),xUc,1,5,["native type"])),a.b.ah(),a.d,a.c);EUb(a,_Ub.d);return false}d=(NRb(),c=USb(e.Di()),CSb(c,!c.o?ETb(c.j):WRb(c)));Vdc(e);Mdc(b,d);return true}function B$b(a){var b;if(S$b(a,0,(S2b(),B1b))&&MBc(V_b(a.g,0).a,rXc)&&(b=V_b(a.g,1).d.b.b>V_b(a.g,0).d.a.b,!(b||S$b(a,1,q2b)||S$b(a,1,a1b)||S$b(a,1,o1b)))&& -S$b(a,1,z1b))return eZb(a);if(S$b(a,0,z1b))return KZb(a);if(S$b(a,0,$0b))return nZb(a,false,false);if(T$b(a,L1b))return Q$b(a);return E$b(a)}function i9(a,b){var c,d,e,f;e=b.Di();f=b.Fi()||a.j&&Rlc(e)||($cc(),!Zcc.test(e))||!Gvb(e);if(f){d=w9(e);isNaN(d)?e9(a,b):a.c.rh(d,b)}else{if($dc(b,(thc(),Xgc))!=0){c=b.c;if(Dec(c,e,e.length)||c.n==(Nlc(),xjc)&&Cec(c.c,e)){a.Nh(c,(H9(),C9));return}}r8(a.c,e)}if(b.c){r8(a.c,":");b9(a,b.c,1,(H9(),C9))}}function xPc(a,b,c,d){var e,f;if(!b)return c;else{e=a.a.xf(c.d, -b.d);if(e==0){d.d=wEc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=xPc(a,b.a[f],c,d);if(yPc(b.a[f]))if(yPc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else yPc(b.a[f].a[f])?b=FPc(b,1-f):yPc(b.a[f].a[1-f])&&(b=EPc(b,1-f))}return b}function Ywb(a,b,c){var d,e,f,g;Ud(b.n==(Nlc(),Ekc)||b.n==olc||b.n==plc||b.n==$jc||b.n==klc);if(a.b.V==2)return;e=cwb(b);f=e||c.n==Zjc&&(c.c?c.c.i:null)==b;if(b.n==Ekc||f){d=$dc(b,(Jdc(),xdc))!=0;if(!d&&mvb(a.b.yg(),b)){if(a.a){g=b.Di();throw p0(new PAc(k$c+g+vVc+" parent:"+ -ffc(b.g)));}Fec(b,xdc,1)}}}function czb(){czb=S0;bzb=new Whb("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",(l7(),k7),new $Cc("Unrecognized require.ensure call: {0}"));azb=new Whb("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",k7,new $Cc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}function PQb(a,b){var c,d,e,f;f=rPb(a.a,(Nlc(),Ykc));if(!kQb(a,b.a))return f;for(d=b.a.Xd();d.Jd();){c=d.Kd();switch(c.p.f){case 75:e=JQb(a,c);break;case 65:pPb(a.a,c,(aXb(), -RWb));e=OPb(a.a,c);break;default:e=OPb(a.a,c)}Ud(e.n==Ekc||e.n==pkc||e.n==Tkc||e.n==Lic||e.n==Skc||e.n==xjc);Mdc(f,e)}return f}function Exb(a){var b,c,d,e,f;f=new mMc;for(d=new FGc(a.A);d.a127)continue;if(MTb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function L3(a,b){var c,d,e,f,g;x4((Nlc(),ljc),b);g=Plc(b.n);g!=-1&&(e=Ydc(b),g!=e&&Z4(AWc+g+BWc+e,b));c=b.c;c.n==Ekc?q4(c):c.n==Lic?H3(a,ljc,c):c.n==Skc?D4(a,ljc,c):c.n==Djc?(_3(a,(aXb(),JWb),c),f=Plc(c.n),f!=-1&&(d=Ydc(c),f!=d&&Z4(AWc+f+BWc+d,c))):Z4("Unexpected catch binding: "+ -c,b);J3(a,b.c?b.c.i:null)}function yab(b){var c,d,e,f,g;if(b.n!=(Nlc(),Pkc))return null;g=avb(b);if(!lH(g,193))return null;e=g;try{f=e.a}catch(a){a=o0(a);if(lH(a,105))return null;else throw p0(a);}try{d=fec(b)}catch(a$0){a$0=o0(a$0);if(lH(a$0,39))return null;else throw p0(a$0);}c=d+b.e;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function _nb(a,b,c,d){var e,f,g,h,i;e=c.c;g=null;(e.n==(Nlc(),Tjc)||e.n==mjc)&&(g=(uub(),h=Uub(e),!h?null:cec(h)));if(g!=null){f=Vdc(e);Mec(d,c,f)}else{g="$$default"; -i=K8b((Zd(PBc(g,hCc(46))==-1,iWc,g),Jdc(),new Jhc(Ekc,g)),Jec(c),rjc);Mec(d,c,jfc(i,c));vub(b.f,(aXb(),iWb))}zPc(a.b,uXc,new Pnb(g,c));bub(b)}function Uvb(a){uub();switch(a.f){case 13:case 3:case 20:case 1:case 2:case 46:case 16:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 7:case 10:case 6:case 17:case 15:case 5:case 19:case 11:case 36:case 37:case 14:case 25:case 79:case 21:case 22:case 12:return true;default:return false}}function qSb(a,b){var c,d,e,f,g;d=fSb(a,(Nlc(),tkc)); -f=new tMc;do{c=pSb(a,b);if(!c)return null;e=c.n==plc?c.Di():c.c.Di();g=f.a.Me(e,f);g==null?Mdc(d,c):TRb(a,e,a.j.g,DTb(a.j));PSb(a);if(!dSb(a,(xTb(),fTb)))break;!a.o?ETb(a.j):WRb(a);PSb(a);if(dSb(a,sTb))break;b=!a.o?ETb(a.j):WRb(a)}while(true);return d}function dxc(a,b){var c,d;if(!Wwc(a.a,b))return a.e?hxc(a,(xtc(),vtc)):b;if(nIc(a.d,b))return b;else if(Twc(a.a,b)!=-1){c=Uwc(a.a,b);if(c==a.b||ixc(a,b,c))return b;mIc(a.d,b);d=c.wj(a);oIc(a.d,b);Zd(d!=a.b,"Trying to replace key %s with the same value", -a.b);return d}else return a.f?hxc(a,(xtc(),vtc)):b}function pf(a,b){var c,d,e,f,g;a=a;for(e=0;e2)&&Z4(IWc+d,b);b.c.n==Mjc?Z3(b.c):M4(a,b.c,c);!!b.c&&!!b.c.f&&b.c.f==(b.c?b.c.i:null)&&O4(b.c.f)}}function mtb(a,b,c,d){var e,f,g,h;if(c.n==(Nlc(),Ekc)&&Pvb(c))return;g=ltb(a,c.Di());if(g!=null){h=AFc(a.b);if(h.li()){Kec(c,(Jdc(),xdc));f=Fub(c);if(!!f&&!!bec(f,(thc(), -Zgc))){e=Xcc(bec(f,(thc(),Zgc)));qcc(e);Tec(f,Ebc(e))}}c.Ii(g);if(a.a){bub(b);d.n==Tjc&&(uub(),d.n==Tjc&&qvb(d.g)&&d.n==Tjc&&Tvb(d.c))&&b.c.Vg(d)}}}function qUb(a,b){var c,d;if(b.n==(Nlc(),Rkc))for(d=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();d.Jd();){c=d.Kd();if($dc(c,(thc(),Xgc))!=0){a.a.gi(z_c+tic(R_c,yG(tG(qZ,1),xUc,1,5,["property, missing type"])),a.b.ah(),a.d,a.c);return false}else if(!yUb(a,c.c))return false}else if(!yUb(a,b))return false;return true}function FE(a,b){var c,d,e,f,g,h,i,j;f= -false;i=lDc(a.k.c);c=new oGc;eGc(c,NHc(i,""));for(e=new aOc(new TNc(a.j));e.b!=e.c.a.b;){d=$Nc(e);h=yNc(a.k,d.d);if(!!h&&h.a=0,"Invalid module index: %s",c);b.c=c;this.a[c]=b}this.b=lsb(this);this.c=nsb(this);msb(this);rsb(jsb(this),hv(kv(new kHc(this.a),new ssb)))}function y$b(a,b){var c,d,e,f, -g;HYb(a,"set");if(a_b(a,0)){f=EYb(a);d=z$b(a);g=LYb(a);!!g&&i_b(a,V_b(a.g,0),"setter should not have any returns",yG(tG(qZ,1),xUc,1,5,[]));c=JZb(a);h_b(a,(aXb(),SWb));return new S6b(IYb(a,b.d),f,b.c,d,c)}else{e=sZb(a);d=z$b(a);c=JZb(a);h_b(a,(aXb(),SWb));return new F3b(IYb(a,b.d),e,b.c,d,c)}}function _Mc(){if(!Object.create||!Object.getOwnPropertyNames)return false;var a="__proto__";var b=Object.create(null);if(b[a]!==undefined)return false;var c=Object.getOwnPropertyNames(b);if(c.length!=0)return false; -b[a]=42;if(b[a]!==42)return false;if(Object.getOwnPropertyNames(b).length==0)return false;return true}function bRb(a,b){var c,d,e,f,g;e=b.a;if(e.$d()==1){c=wPb(a.a,(Nlc(),Ekc),e.ee(0));tfc(c.k)==-1&&JPb(c,b.o.b,b.o.a);return c}else{f=e.Gf();d=c9b(f.Kd());tfc(d.k)==-1&&JPb(d,b.o.b,b.o.a);while(f.Jd()){g=wPb(a.a,(Nlc(),olc),f.Kd());tfc(g.k)==-1&&JPb(g,b.o.b,b.o.a);d=tPb(a.a,Zjc,d,g);tfc(d.k)==-1&&JPb(d,b.o.b,b.o.a)}return d}}function mUb(a,b){var c,d;d=(Md(b.n==(Nlc(),hjc),Q_c,b),b.c.Di());c=fVb(Wb(d)); -switch(c.f){case 1:return hUb(a,b);case 9:return kUb(a,b);case 10:return jUb(a,b);case 21:return wUb(a,b);case 8:return iUb(a,b);case 12:return nUb(a,b);case 13:return oUb(a,b);default:throw p0(new PAc("Invalid type transformation operation"));}}function j$b(a,b){var c,d,e,f;f=V_b(a.g,0).d.b;c=(On(),new vs);BYb(a,(S2b(),Y1b));while(a_b(a,0)||V_b(a.g,0).e==$1b){ts(c,k$b(a,b));if(T$b(a,e1b))BYb(a,e1b);else break}if(T$b(a,m1b)){h_b(a,(aXb(),HWb));e=V_b(a.g,0).d.b;BYb(a,m1b);d=w$b(a,b);ts(c,new P4b(new t7b(e, -a.f),d))}BYb(a,a1b);return new O4b(new t7b(f,a.f),Wn(c.a))}function P$b(a,b){var c,d,e;d=V_b(a.g,0).d.b;e=V_b(a.g,0).e;switch(e.f){case 30:case 38:case 25:BYb(a,e);break;default:i_b(a,V_b(a.g,0),"expected declaration",yG(tG(qZ,1),xUc,1,5,[]));return null}c=(On(),new vs);ts(c,O$b(a,e,b));while(T$b(a,(S2b(),e1b))){BYb(a,e1b);ts(c,O$b(a,e,b))}return new g7b(new t7b(d,a.f),e,Wn(c.a))}function t8(a,b,c){var d,e;B8(a);d=b.charCodeAt(0);e=a.Eh();(d==43||d==45)&&e==d?a.sh(" "):(Zzc==null&&(Zzc=new RegExp("[A-Z]", -"i")),Zzc.test(String.fromCharCode(d))&&(e==95||e==36||(Yzc==null&&(Yzc=new RegExp(sUc,"i")),Yzc.test(String.fromCharCode(e))))?a.sh(" "):(e==45&&d==62||e==60&&d==33)&&a.sh(" "));a.vh(b,c);c&&a.Gh()}function hKb(a,b,c){var d,e,f,g,h,i,j,k,l,m;g=new tMc;m=new LFc(b);while(m.b!=m.c){h=(e=CFc(m),e);j=g.a.Me(h,g);if(j==null)for(l=h.Vh().Xd();l.Jd();){k=l.Kd();f=eDc(a.b,k);!!f&&(sFc(m,f),true)}}d=(On(),new vs);for(i=new FGc(c?a.c:a.f);i.a>19!=0)return"-"+$G(TG(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=BG(1E9);c=EG(c,e,true);b=""+ZG(AG);if(!(c.l==0&&c.m==0&&c.h==0)){f=9-b.length;for(;f>0;f--)b="0"+b}d=b+d}return d}function wKb(a,b,c){var d,e,f,g,h;h=(on(),new bu);e=new tMc;for(g=Pv(a.a.Xd(),a.b);g.b.Jd();){f=aw(g,g.b.Kd());d=c.wi(f);if(!qMc(e,vKb(d,b)))throw p0(new xsb("Duplicate module path after resolving: "+f));!MBc(d.substr(0, -1),"/")&&!(MBc(d.substr(0,2),cYc)||MBc(d.substr(0,3),T$c))&&(d="/"+d);dGc(h.b,Pd(d))}return Ep(new FGc(h.b))}function nLb(a,b,c){var d,e,f,g,h;h=(pKb(),(!MBc(b.substr(0,"/".length),"/")&&!(MBc(b.substr(0,cYc.length),cYc)||MBc(b.substr(0,T$c.length),T$c))?"/":"")+b);for(g=Qv(new cJc(a.b.b.b.Xd()));g.Jd();){f=g.Kd();if(!MBc(h.substr(0,f.length),f))continue;d=f+W$c+c;e=mLb(a,b,d);e==null&&(e=oLb(a,b,d));if(e!=null)return e}return null}function CMb(){CMb=S0;BMb=new Whb("JSC_MUTATED_EXPORT",(l7(),k7), -new $Cc('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.'))}function ZQb(a,b){var c,d;switch(b.a.e.f){case 100:return c=zPb(a.a,b.a),d=vPb(a.a,c),tfc(d.k)==-1&&JPb(d,b.o.b,b.o.a),d;case 101:return oRb(a,b);case 99:case 98:return rPb(a.a,gQb(b.a.e));case 97:return rPb(a.a,(Nlc(),Nkc));case 102:return lRb(a, -b);default:throw p0(new PAc("Unexpected literal type: "+b.a.Ik+" type: "+b.a.e));}}function O$b(a,b,c){var d,e,f,g;f=V_b(a.g,0).d.b;g=null;if(S$b(a,0,(S2b(),$1b))||S$b(a,0,Y1b))e=n$b(a,0);else{e=PZb(a);T$b(a,d1b)&&(g=(BYb(a,d1b),G$b(a)))}d=null;T$b(a,q1b)?d=(BYb(a,q1b),bZb(a,c)):c!=0&&(b==f1b?l_b(a,A0c,yG(tG(qZ,1),xUc,1,5,[])):Y2b(e)&&l_b(a,B0c,yG(tG(qZ,1),xUc,1,5,[])));return new h7b(new t7b(f,a.f),e,g,d)}function lqc(a,b){var c,d,e;if((Wvc(a.v,b)?1:0)==0){e=MBc(QYc,b);d=MBc("bind",b);if(e||d)Foc(a, -b,fqc(a,e),a.k);else if(MBc(TYc,b)){c=new Gpc(a.D);Cpc(c,yG(tG(hY,1),xUc,23,0,[Htc(a.D,kmc(a.o)?Ttc(a.D,(xtc(),vtc)):a.o),Htc(a.D,Ttc(a.D,(xtc(),gtc)))]));Foc(a,b,Wqc(hrc(drc(brc(new krc(a.D),c.b),a.b.b),a.F.c)),a.k)}}return Ioc(a,b)}function hE(a){var b,c,d,e;e=vG(vH,xVc,50,5,15,1);b=new nGc;while(AE(a.a))if(lE(a,59)){iE(a,b);b.a.length==0||(b=new nGc)}else{d=0;while(!kE(a)){e[d]=UD(a.a);++d}c=jE(a,e,d);Xd(a.i.b<0||a.bn&&wCc(a.c,b,n,m);h=m;if(h0?(e.i=(_Sb(),ZSb),PSb(e),h=!e.o?ETb(e.j):WRb(e),i=$Rb(e,h,0,false,true),j=" "+i.a,e.d?Cbc(e.d,j):e.f.d?Nbc(e.f,j):Nbc(e.f,""),undefined): -iSb(e);return e}function kob(a,b){var c,d,e,f;Gd(b.n==(Nlc(),hjc)||b.n==Kic||b.n==Kkc);e=new nGc;d=null;for(c=Jec(b);c;c=Jec(b))if(c.n==qkc||c.n==Ukc){f=Jec(c);if(f.n==Kic)!d?d=f:Pdc(d,Iec(f));else{if(d){e.a[e.a.length]=d;d=null}dGc(e,Iob(a.c,f))}}else{!d&&(d=Uec(B8b(yG(tG(BX,1),kWc,7,0,[])),a.a));Mdc(d,c)}!!d&&(e.a[e.a.length]=d,true);return e}function T_b(a,b,c){var d,e,f;d=a.f;e=u0b(a);!P_b(a,a.f)&&W_b(a,rYb(a.g,d),H0c,yG(tG(qZ,1),xUc,1,5,[]));f=bCc(a.b,d,a.f);switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 96:Q_b(a); -return new M0b(b,f,e.a,e.b,sYb(a.g,d-1,a.f));case 36:Q_b(a);Q_b(a);return new M0b(c,f,e.a,e.b,sYb(a.g,d-1,a.f));default:return new M0b(b,f,e.a,e.b,sYb(a.g,d-1,a.f))}}function xmc(a){var b,c,d,e,f,g,h;if(a.bj())return hmc(a,(xtc(),Usc));else if(a.vj()){h=a.vj();g=false;c=(hsc(new Jyc,h.a)&&ryc(h,dzc(bzc(new gzc(h),h.a))),h.a);for(f=0;f=0){++j;i=QBc(f,hCc(46),i+1)}}if(!!e&&cwb(d))return true;for(h=0;h>>16<<24>>24;if(f>>8&255)<<24>>24;if(f>24}}}return d}function sDb(b,c){var d,e,f,g,h,i;if(!b.a){b.a=true;i=b.c.b;try{g=b.c.a;d=new eE;h=mF(g);aE(d,h);b.b=d}catch(a){a=o0(a);if(lH(a,105)){e=a;f=new Jrb(null,null,-1,-1,qDb,null,yG(tG(vZ,1),cWc,2,6,[i,e.g]));aEb(c,f.b,f)}else if(lH(a,126)){e=a;f=new Jrb(null,null,-1,-1,pDb,null,yG(tG(vZ,1),cWc,2,6,[i,e.g]));aEb(c,f.b,f)}else throw p0(a);}}return b.b}function fwc(a,b,c){amc();var d,e,f,g;Kpc.call(this,new Uqc(a));this.a=false;this.u=true;for(g=Qv(new cJc((d=b.b,!d?b.b=Pu(b.a,AJc(b.c)): -d).b.b.Xd()));g.Jd();){f=g.Kd();e=f==null?null:dz(b.d,f);if(!e)throw p0(new PAc("RecordProperty associated with a property should not be null!"));c?Foc(this,f,e.b,e.a):cwc(this,f,e.b,false,e.a)}this.a=true}function qBb(a,b){switch(GVb(b)){case "ts":return pBb(a,(rfb(),gfb));case z$c:return pBb(a,(rfb(),lfb));case "es9":return pBb(a,(rfb(),kfb));case "es8":return pBb(a,(rfb(),jfb));case "es7":return pBb(a,(rfb(),ifb));case XXc:return pBb(a,(rfb(),hfb));case "es5":return pBb(a,(rfb(),efb));case "es3":return pBb(a, -(rfb(),dfb));default:return false}}function EE(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(b==null||d.b<0)return;h=e;g=f;if(a.f.b!=0||a.f.a!=0){o=a.f.b;p=a.f.a;i=a.f.a;e.b>0&&(p=0);f.b>0&&(i=0);h=new XD(e.b+o,e.a+p);g=new XD(f.b+o,f.a+i)}l=new UE;l.d=b;l.c=d;l.b=c;l.e=h;l.a=g;if(a.b){k=a.b.e.b;j=a.b.e.a;n=l.e.b;m=l.e.a;ae(n>k||n==k&&m>=j,dBc(k),dBc(j),dBc(n),dBc(m))}a.b=l;dGc(a.e,l)}function eLb(a){dLb();var b,c,d,e,f,g,h,i,j;i=ZBc(a,"/",0);d=vG(vZ,cWc,2,i.length,6,1);j=0;c=0;b=i.length>1&&i[0].length== -0;b&&--c;for(f=i,g=0,h=f.length;g0){--j;--c;d[j]=null}else if(!b){d[j]=e;++j}continue}d[j]=e;++j;++c}if(b&&j==1)return"/";return Ic(cLb,new NDc(new kHc(MGc(d,j))))}function lF(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw p0(new nF("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new oF(0,a.url,c,b);else if(a.map!=null)return new oF(1,nCc(a.map),c,b);throw p0(new nF("Invalid map format: section must have either 'map' or 'url'")); -}function qyc(a,b){var c,d,e,f,g,h,i;d=new fzc(a.D);for(f=0;f4&&(HBc(a.b,c+2)==42?d=s3b:HBc(a.b,c+2)==33&&(d=r3b));b=sYb(a.g,c,a.f);e=bCc(a.b,c,a.f);q_b(a.a,d,b,e)}else X_b(a,"unterminated comment",yG(tG(qZ,1),xUc,1,5,[]))}function Wqc(a){var b,c,d;d=(a.e&8)!=0;c=!a.a.b.b.Wd();c&&(a.j=Stc(a.q,(xtc(),vtc)));b=new yqc(a);!!a.g&&uqc(b,a.g,null);d&&(b.b.b=(Zd(b.i==(prc(), -mrc)||b.i==nrc,jWc,b),rmc(b.o)));c&&sqc(b,new trc(Sqc(Tqc((amc(),Drc(Sqc(Tqc(Oqc(Rqc(Pqc(Qqc(new Erc(b.D),b.q!=null?b.q:b.t?b.t.Xj()+JZc:null),null),b.s),b.p),b.F),b.w),b)),Rwc(b.F,a.a)),b.w-a.a.b.b.$d())));return b}function oJb(a){var b;b="";a.d==null&&(b+=" name");a.e==null&&(b+=" pathRelativeToClosureBase");!a.f&&(b+=" provides");!a.g&&(b+=" requires");!a.i&&(b+=" typeRequires");!a.c&&(b+=" loadFlags");a.a==null&&(b+=" hasExternsAnnotation");a.b==null&&(b+=" hasNoCompileAnnotation");if(b.length!= -0)throw p0(new PAc(QWc+b));return new eJb(a.d,a.e,a.f,a.g,a.i,a.c,a.a,a.b)}function WPb(a,b,c,d,e){var f;this.o=new tMc;this.f=(AVb(),jVb);this.t=a;this.k=e.Gf();this.n=e.Gf();this.b=eQb(this.k);this.d=dQb(this.n);this.r=b;this.u=(f=new kfc((Nlc(),jlc)),_ec(f,this.r),f);this.g=new Wcc(c.c!=(yOb(),xOb));this.s=!b?null:b.ah();this.a=c;this.e=d;this.v=new IRb(this);c.g==(XOb(),WOb)?this.p=aPb:c.d==(MOb(),COb)?this.p=null:this.p=_Ob}function KSb(a,b,c){var d,e,f;f=fSb(a,(Nlc(),Zkc));!!c&&Mdc(f,c);d=null; -do{if(d){PSb(a);b=!a.o?ETb(a.j):WRb(a);Ud(b==(xTb(),pTb));PSb(a);b=!a.o?ETb(a.j):WRb(a)}d=ESb(a,b);if(!d)return null;Mdc(f,d)}while(dSb(a,(xTb(),pTb)));if(!c){PSb(a);if(!dSb(a,tTb))return SRb(a,H_c,a.j.g,DTb(a.j)),null;!a.o?ETb(a.j):WRb(a)}if(!!f.c&&!f.c.f){e=f.c;Hec(f,e);return e}return f}function Jub(a){uub();var b,c;c=_ub(a);b=c.g;if(b.n==(Nlc(),pkc)||b.n==Tkc||b.n==xjc){b=b.g;Vd(b.n==Ykc,b)}else if(b.n==zjc){b=b.g;Vd(!!b&&(b.n==Hlc||b.n==wkc||b.n==rjc),b)}else if(b.n==mjc||b.n==Tjc)Vd(a==b.c, -a);else if(b.n==fkc){Vd(a==b.c.f,a);b=!b.g?null:b.g.g;Vd(b.n==dkc,b)}else Vd(b.n==Ykc||!!b&&(b.n==Hlc||b.n==wkc||b.n==rjc)||b.n==dkc||b.n==ljc,b);return b}function _sb(a,b,c,d,e){var f,g,h,i,j,k,l;f=new BCc;k=a.e;l=!k?null:xbb(k,c,d);if(l!=null){f.a+=""+l;f.a+=vVc;if(a.a==(DCb(),BCb)&&0<=e&&e<=l.length){for(i=0;i=0){if(a.e==13&&b==10){a.e=10;continue}a.e=-1;a.f=a.i-1;++a.g}if(b<= -127){if(b==10||b==13){a.e=b;b=10}}else{Tlc();if(b>127)continue;if(MTb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function jE(a,b,c){var d;switch(c){case 1:d=new nE(b[0]+a.c);a.c=d.e;return d;case 4:d=new tE(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.ng();a.g=d.og();a.e=d.mg();return d;case 5:d=new yE(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e,b[4]+a.d);a.c=d.e;a.f=d.ng();a.g=d.og();a.e=d.mg();a.d=d.lg();return d;default:throw p0(new nF("Unexpected number of values for entry:"+c));}}function Gub(a){var b; -b=a.g;if(a.n==(Nlc(),Tjc)&&qvb(a.g)&&a.n==Tjc&&Tvb(a.c)||a.n==mjc&&qvb(a.g)&&a.n==mjc&&Tvb(a.c))return a.c;else if(a.n==njc)return Gub(b);else if(b.n==Ekc)return b;else if(b.n==Nic)return b.c;else if(cwb(b)||b.n==qjc)return b;else if(b.n==akc&&b.c!=a||b.n==Wkc||b.n==Hic||b.n==pjc&&b.c!=a)return Gub(b);else if(b.n==kjc)return Gub(b);return null}function hxb(a,b){var c,d,e,f,g,h;Vd(a.n==(Nlc(),Tjc),a);uub();if(a.n==Tjc&&qvb(a.g)&&a.n==Tjc&&Tvb(a.c)&&!Cvb(a)){e=a.c;f=e.zi(false);g=gfc(L8b(f,Hlc),a); -e.Ii("");b.Vg(e);h=a.g;Hec(h,a);Ndc(h,g);b.Vg(g);Ndc(f,a);return true}else if(a.n==Tjc&&(Hd(a.n==Tjc,a),a.c?a.c.i:null).n!=ejc){d=(Hd(a.n==Tjc,a),a.c?a.c.i:null);c=F8b(j9b(Vdc(d)));jfc(c,d);Mdc(a,c);b.Vg(c)}return false}function Hzb(){Hzb=S0;Fzb=new Whb("JSC_INVALIDATION",(l7(),j7),new $Cc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));Gzb=new Whb("JSC_INVALIDATION_TYPE",j7,new $Cc("Property disambiguator skipping instances of property {0} on type {1}. {2}")); -new Whb("JSC_INVALID_RENAME_FUNCTION",i7,new $Cc("{0} call is invalid: {1}"))}function r8(a,b){var c,d,e;B8(a);if(b.length==0)return;c=b.charCodeAt(0);(c==95||c==36||(Yzc==null&&(Yzc=new RegExp(sUc,"i")),Yzc.test(String.fromCharCode(c)))||c==92)&&O8(a.Eh())?a.sh(" "):c==47&&a.Eh()==47?a.sh(" "):(c==34||c==39)&&O8(a.Eh())&&a.Hh();e=0;d=PBc(b,hCc(10));while(d>=0){d>e&&a.sh(b.substr(e,d-e));a.Lh();e=d+1;d=QBc(b,hCc(10),e)}b.length>e&&a.sh(b.substr(e))}function $Yb(a,b){var c,d,e;e=V_b(a.g,0).d.b;c=(On(), -new vs);BYb(a,(S2b(),$1b));while(T$b(a,e1b)||X$b(a))if(T$b(a,e1b)){d=V_b(a.g,0).d.b;BYb(a,e1b);ts(c,new M4b(new t7b(d,a.f)))}else{ts(c,o$b(a,b));if(T$b(a,e1b))BYb(a,e1b);else break}if(T$b(a,m1b)){h_b(a,(aXb(),YVb));ts(c,YZb(a,b))}if(!BYb(a,c1b))return new H4b(IYb(a,V_b(a.g,0).d.b));return new d3b(new t7b(e,a.f),Wn(c.a))}function gHb(a,b){var c,d,e;d=b.g;if(!d)return;if(d.n==(Nlc(),ejc)||d.n==jlc||d.n==njc)if(b.n==mjc||b.n==Tjc||b.n==zkc)Z8(a,fHb(a,b));else if(b.n==Njc&&b.c.n==Nic){c=b.c;if(Nvb(c.c))Z8(a, -Crb(a.a,bec(c,(thc(),Zgc))));else{e=c.c?c.c.i:null;Z8(a,fHb(a,e))}}else{uub();!!b&&(b.n==Hlc||b.n==wkc||b.n==rjc)&&!!b.c.c&&(Nvb(b.c)?Z8(a,Crb(a.a,bec(b,(thc(),Zgc)))):Z8(a,fHb(a,b.c.c)))}}function vjb(a,b,c){var d,e,f,g;f=c.c;e=f.f.Di();if(ujb(b,f)){a.a.wg(eZc,false);g=(uub(),Lub(c,new vwb));switch(e){case "iterator":{d=hfc(N8b(H8b(gwb(a.a,"$jscomp.initSymbolIterator"),yG(tG(BX,1),kWc,7,0,[]))),g);Ldc(g.g,d,g);a.a.Vg(d);break}case "asyncIterator":{d=hfc(N8b(H8b(gwb(a.a,"$jscomp.initSymbolAsyncIterator"), -yG(tG(BX,1),kWc,7,0,[]))),g);Ldc(g.g,d,g);a.a.Vg(d);break}}}}function Yub(a){uub();switch(a.n.f){case 48:return Nlc(),cjc;case 49:return Nlc(),djc;case 50:return Nlc(),ajc;case 51:return Nlc(),xkc;case 52:return Nlc(),ilc;case 53:return Nlc(),Glc;case 54:return Nlc(),Gic;case 55:return Nlc(),rlc;case 56:return Nlc(),Dkc;case 59:return Nlc(),Jjc;case 57:return Nlc(),Ajc;case 58:return Nlc(),Bkc}throw p0(new xsb("Not an assignment op:"+a));}function ymb(a,b,c){var d,e,f,g,h,i,j,k;k=Jec(b);d=Jec(b); -i=Jec(b);f=d.c?new snb(a.a):null;j=!i?null:new snb(a.a);g=Wmb(a.a,c);Omb(a.a,f,j,k);wmb(a,k,null,null);if(!i)Vmb(a.a,f,g,k);else{fnb(a.a,j);Nmb(a.a,f,j,i);wmb(a,i,null,null);Umb(a.a,g,i)}if(d.c){Ud(d.c.n==(Nlc(),ljc));fnb(a.a,f);h=Vdc(d.c.c);Mmb(a.a,j,h);e=Vdc(d.c.c);Ud(e.n==ejc);wmb(a,e,null,null);Tmb(a.a,j,e)}fnb(a.a,g)}function Nq(a,b,c,d){var e,f,g,h,i;i=H0(A0(gVc,aBc(H0(A0(b==null?0:zb(b),hVc)),15)));e=H0(A0(gVc,aBc(H0(A0(c==null?0:zb(c),hVc)),15)));h=Qq(a,b,i);g=Pq(a,c,e);if(!!h&&e==h.a&&Cd(c, -h.g))return c;else if(!!g&&!d)throw p0(new xsb("key already present: "+c));!!h&&Hq(a,h);!!g&&Hq(a,g);f=new sr(c,e,b,i);Kq(a,f,g);if(g){g.e=null;g.c=null}if(h){h.e=null;h.c=null}Oq(a);return!h?null:h.g}function HG(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=KG(b)-KG(a);g=UG(b,j);i=DG(0,0,0);while(j>=0){h=NG(a,g);if(h){j<22?(i.l|=1<>>1;g.m=k>>>1|(l&1)<<21;g.l=m>>>1|(k&1)<<21;--j}c&&JG(i); -if(f)if(d){AG=TG(a);e&&(AG=XG(AG,(eH(),cH)))}else AG=DG(a.l,a.m,a.h);return i}function zlb(a,b){var c,d,e,f;d=Qd((uub(),Lub(b,new vwb)),b);if(d==b)return true;else{c=b.g;if(!!d&&(d.n==(Nlc(),Hlc)||d.n==wkc||d.n==rjc)&&c.n==(Nlc(),Ekc)&&d==c.g&&!(c==c.g.c?null:c.i))return true;else if(d.n==(Nlc(),Njc)&&d==c.g&&!(c==c.g.c?null:c.i)&&!c.f&&c.n==Nic&&(f=b==b.g.c?null:b.i,!!f&&c==f.g&&!(f==f.g.c?null:f.i))){e=c.c;return!m2(a1(a.b),e,false)}else return false}}function ZGb(a,b){var c,d,e,f,g,h,i,j;g=new LQc; -for(f=(j=(new bEc(eqc(b).a)).a.Je().Xd(),new hEc(j));f.a.Jd();){e=(c=f.a.Kd(),c.ff());JQc(g,e.Mi(new BCc,true).a)}for(i=(d=(new dFc(g.a)).a.Je().b.yk(),new lFc(d));i.a.Jd();){h=(c=i.a.Kd(),c.ff());a.a+=S$c;yCc(yCc(yCc(yCc((a.a+="@",a),zXc)," {"),h),"}");a.a+=vVc}b.i==(prc(),nrc)&&b.g?(a.a+=" * @record\n",a):(a.a+=" * @interface\n",a)}function K7b(a){var b,c;if(a.a==null)return F7b(a,uUc,0);if(lH(a.a,190))return F7b(a,nCc(a.a),0);else if(lH(a.a,129)){b=MAc(a.a);if(!(b>=0&&b<=BVc))throw p0(new v7b(b)); -c=b=0&&b<=BVc),b>=AVc?yG(tG(uH,1),pUc,50,15,[55296+(b-AVc>>10&CVc)&oUc,56320+(b-AVc&CVc)&oUc]):yG(tG(uH,1),pUc,50,15,[b&oUc])));return F7b(a,c,0)}else throw p0(C7b(a));}function Vlc(a,b,c,d,e){var f,g,h,i,j,k;g=new Zhc((Nlc(),Ujc),a);Pd(b);Pd(c);for(j=new aOc(new TNc(b));j.b!=j.c.a.b;){h=$Nc(j);f=c9b(h.d);Mdc(g,Wlc(f,h.e))}for(i=new aOc(new TNc(c));i.b!=i.c.a.b;){h=$Nc(i);f=c9b(h.d);Eec(f,(Jdc(),Adc),true);Mdc(g,Wlc(f,h.e))}if(d!=null){k=new mfc(pkc,(Zd(PBc(d, -hCc(46))==-1,iWc,d),Jdc(),new Jhc(Ekc,d)));Mdc(g,(!!e&&Gec(k,(thc(),Bgc),e),k))}return g}function Ze(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=a.ne(a.c);if(d==-1){b=a.e.length;a.c=-1}else{b=d;a.c=a.me(d)}if(a.c==c){++a.c;a.c>a.e.length&&(a.c=-1);continue}while(ee&&a.f.Nd(HBc(a.e,b-1)))--b;if(a.d&&e==b){c=a.c;continue}if(a.b==1){b=a.e.length;a.c=-1;while(b>e&&a.f.Nd(HBc(a.e,b-1)))--b}else--a.b;return _Bc(a.e,e,b)}return a.i=2,null}function j4(a,b){var c,d,e,f,g,h, -i;switch(b.n.f){case 98:h=Plc(b.n),h!=-1&&(d=Ydc(b),h!=d&&Z4(AWc+h+BWc+d,b));a4(a,b.c,true);break;case 161:e=Ydc(b),0!=e&&Z4(yWc+e,b);break;case 162:i=Plc(b.n),i!=-1&&(f=Ydc(b),i!=f&&Z4(AWc+i+BWc+f,b));M3(b.c,0);break;case 163:g=Plc(b.n),g!=-1&&(c=Ydc(b),g!=c&&Z4(AWc+g+BWc+c,b));break;default:Z4("Interface contained member of invalid type "+b.n,b)}}function rfb(){rfb=S0;dfb=new ufb(gYc,0);efb=new ufb(hYc,1);ffb=new ufb("ECMASCRIPT5_STRICT",2);hfb=new ufb("ECMASCRIPT_2015",3);gfb=new ufb("ECMASCRIPT6_TYPED", -4);ifb=new ufb("ECMASCRIPT_2016",5);jfb=new ufb("ECMASCRIPT_2017",6);kfb=new ufb(iYc,7);lfb=new ufb(jYc,8);mfb=new ufb("ECMASCRIPT_NEXT",9);ofb=new ufb("STABLE",10);nfb=new ufb("NO_TRANSPILE",11);qfb=new ufb(kYc,12);pfb=lfb}function gwb(a,b){uub();var c,d,e,f,g,h,i;c=PBc(b,hCc(46));if(c==-1)return fwb(a,b);f=b.substr(0,c);MBc(XVc,f)?e=new kfc((Nlc(),ylc)):MBc(VVc,f)?e=new kfc((Nlc(),slc)):e=fwb(a,f);do{i=c+1;c=QBc(b,hCc(46),i);g=c==-1?b.substr(i):b.substr(i,c-i);h=(Jdc(),new Jhc((Nlc(),olc),g));Wec(h, -g.length);a.yg().nh(g)&&Eec(h,xdc,true);d=e.e+1+g.length;e=R8b(e,h);e.e=d}while(c!=-1);return e}function euc(){this.B=new wq(new CNc,new zq);new mMc;this.t=new kfc((Nlc(),hlc));this.v=Rz(Gz((pl(8,PZc),new Iz)));this.D=Tz(Hz((pl(8,PZc),new Iz)));this.A=new tMc;this.e=new tMc;this.f=new CNc;this.j=new mMc;this.q=new Iw;new nGc;this.g=(Gd(!this.g),new Zwc(this,(On(),On(),Nn),(null,Nn)));this.u=vG(hY,xUc,23,ztc().length,0,1);Tf(this.D);wNc(this.f);Wtc(this);wNc(this.B.a);Xtc(this)}function fHb(a,b){var c, -d,e;if(b.n==(Nlc(),zkc))return cHb(a,(Ud(!!b.c&&!b.c.f),b.c));else if(b.n==mjc)return aHb(b.d);else if(b.n==Tjc)return bHb(a,b);else{d=(uub(),c=Fub(b),!!(!c?null:bec(c,(thc(),Zgc))));if(!d)return"";e=b.d;return!e?"":e.rj()?bHb(a,b):(e.qj(),!e.kj()&&!(e.cj()||e.aj()||e.bj()||e==Ttc(e.D,(xtc(),Ssc)))&&!e.lj()&&!e._i()?"/** @type {"+pmc(b.d,0)+"} */\n":"")}}function qLb(a,b){var c,d,e,f,g,h,i,j,k,l;j=new MQc(new vLb);for(e=a.Xd();e.Jd();){d=e.Kd();for(g=b.Xd();g.Jd();){f=g.Kd();if(MBc(d.substr(0,f.length), -f)){d=aCc(d,f.length);break}}h=ZBc(d,"/node_modules/",0);i="";for(c=0;c1&&e.length==c-f&&UBc(e,false,0,b,f,c-f)&&Dec(a.c,b,f-1);case 98:default:return false}}function ZBc(a,b,c){var d,e,f,g,h,i,j,k;d=new RegExp(b,"g");j=vG(vZ,cWc,2,0,6,1);e=0;k=a;g=null;while(true){i=d.exec(k); -if(i==null||k==""||e==c-1&&c>0){j[e]=k;break}else{h=i.index;j[e]=k.substr(0,h);k=bCc(k,h+i[0].length,k.length);d.lastIndex=0;if(g==k){j[e]=k.substr(0,1);k=k.substr(1)}g=k;++e}}if(c==0&&a.length>0){f=j.length;while(f>0&&j[f-1]=="")--f;f36)throw p0(new CBc("radix "+b+" out of range")); -e=a.length;f=e>0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(c=f;ckUc)throw p0(new CBc(A1c+a+'"'));return g}function $sb(a,b,c){var d,e,f,g,h,i,j,k,l;j=a.e;l=b.f;g=b.d;f=b.a;d=new BCc;e=new BCc;i=dtb(l,g);if(a.c){h=!j?null:ybb(j,b.f,b.d,b.a);if(!h)e.a+=""+i;else{l=h.d;g=h.c;f=h.a;d.a+=""+i;d.a+="\nOriginally at:\n";yCc(e,dtb(l,g))}}if(a.b){yCc(e,d1(a, -c?(l7(),k7):(l7(),i7)));e.a+=" - [";yCc(e,b.g.b);e.a+="] "}yCc(e,b.c);yCc(d,f1(a,e.a));d.a+=vVc;k=_sb(a,b,l,g,f);k!=null&&(d.a+=""+k,d);return d.a}function GRb(a,b){var c,d,e,f,g,h;switch(b.p.f){case 33:c=b;f=c.c;e=c.b;d=true;break;case 34:h=b;f=h.d;e=h.b;d=true;break;case 1:g=b;f=g.k;e=g.i;d=g.f||g.e;break;default:return false}if(e)return false;if(f.e!=(S2b(),B1b)||!MBc(f.a,nWc))return false;if(d){a.a.e.fi("Class constructor may not be getter, setter, async, or generator.",a.a.s,(cPb(),b.o.b.b+1), -b.o.b.a);return false}return true}function gyb(){gyb=S0;dyb=new Whb("JSC_FEATURES_NOT_SUPPORTED_BY_PASS",(l7(),i7),new $Cc('Attempted to run pass "{0}" on input with features it does not support. {1}\nUnsupported features: {2}'));fyb=$Rc((lAc(fR),fR.p));eyb=(On(),new _A(eo(yG(tG(qZ,1),xUc,1,5,["inlineFunctions",fYc,"deadAssignmentsElimination",eYc,"removeUnusedCode",l$c,m$c]))));cyb=new _A(eo(yG(tG(qZ,1),xUc,1,5,[l$c,m$c])))}function pKb(){pKb=S0;new Whb("JSC_MODULE_CONFLICT",(l7(),k7),new $Cc("File cannot be a combination of goog.provide, goog.module, and/or ES6 module: {0}")); -oKb=new Whb("JSC_JS_MODULE_LOAD_WARNING",i7,new $Cc('Failed to load module "{0}"'));nKb=new Whb("JSC_INVALID_MODULE_PATH",i7,new $Cc('Invalid module path "{0}" for resolution mode "{1}"'));mKb=new sKb((On(),On(),Nn),(null,Nn),(FJb(),EJb))}function cE(b,c,d){var e,f,g,h,i,j;!d&&(d=new gE);try{if(c.c>=0||c.d!=null||c.g!=null||c.e!=null)throw p0(new nF("Invalid map format"));f=new LE;for(j=c.f.Xd();j.Jd();){i=j.Kd();g=i.d;i.c==0&&(g=null);if(g==null)throw p0(new nF("Unable to retrieve: "+i.d));JE(f, -i.b,i.a,g)}h=new BCc;GE(f,h,c.b);bE(b,h.a)}catch(a){a=o0(a);if(lH(a,105)){e=a;throw p0(new nF("IO exception: "+e));}else throw p0(a);}}function vUb(a,b){var c,d;d=(Md(b.n==(Nlc(),hjc),Q_c,b),b.c.Di());c=fVb(Wb(d));switch(c.f){case 19:return tUb(a,b);case 22:return BUb(a,b);case 11:return _Tb(a,b,(dVb(),SUb));case 0:return _Tb(a,b,(dVb(),HUb));case 23:return _Tb(a,b,(dVb(),cVb));case 14:return pUb(a,b);case 18:return uUb(a,b);case 17:return rUb(a,b);case 20:return lUb(a,b);default:throw p0(new PAc("Invalid type expression")); -}}function ND(a,b,c){var d,e,f,g,h,i;Pd(c);if(b==0)throw p0(new Lzc("/ by zero"));f=a/b|0;h=a-b*f;if(h==0)return f;i=1|(a^b)>>31;switch(c.f){case 7:QD(h==0);case 1:g=false;break;case 0:g=true;break;case 2:g=i>0;break;case 3:g=i<0;break;case 6:case 5:case 4:d=$wnd.Math.abs(h);e=d-($wnd.Math.abs(b)-d);e==0?g=c==(RCc(),OCc)||c==NCc&(f&1)!=0:g=e>0;break;default:throw p0(new Rzc);}return g?f+i:f}function lsb(a){var b,c,d,e,f,g,h;h=new nGc;for(g=0;g=0,"invalid depth: %s",e);f.b=e;e==h.a.length&&dGc(h,new nGc);h.a[e].Qd(f)}return h}function dsb(){dsb=S0;csb=new Whb("JSC_WEAK_FILE_REACHABLE_FROM_ENTRY_POINT_ERROR",(l7(),i7),new $Cc("File strongly reachable from an entry point must not be weak: {0}"));asb=new Whb("JSC_EXPLICIT_WEAK_ENTRY_POINT_ERROR",i7, -new $Cc("Explicit entry point input must not be weak: {0}"));bsb=new Whb("JSC_IMPLICIT_WEAK_ENTRY_POINT_ERROR",k7,new $Cc("Implicit entry point input should not be weak: {0}"))}function KLb(a){cbb();this.a=a;new mMc;this.t=new CNc;this.v=new $Qc;this.O=new $Qc;this.u=new $Qc;new $Qc;this.f=new f8;this.r=new tMc;this.H=(bCb(),new hCb(this));this.b=new U1(Mo((Do(),Do(),Co)));this.d=new fEb;this.g=new fEb;this.T=U5(W5(Y5($5(Z5(X5($5(new _5,false),false),"validityCheck"),true),new Ucb),(AVb(),vVb))); -this.N=new Nzb;this.e=new nGc;new CNc;new fOc;dbb(this,this.N);this.G=new mMc}function JMb(){JMb=S0;HMb=new Whb("JSC_NULLABLE_RETURN",(l7(),j7),new $Cc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));IMb=new Whb("JSC_NULLABLE_RETURN_WITH_NAME",j7,new $Cc('The return type of the function "{0}" is nullable, but it always returns a non-null value. Consider making the return type non-nullable.'))}function Nmb(a,b,c,d){var e, -f,g;bnb(a,b,c);f=Rmb(a);g=zFc(a.k)?null:xFc(a.k);e=new nGc;if(a.o==0){if(!!f||!!g){dGc(e,!f?gfc(Oob((Jdc(),new ggc(0)),a.r.f.e),d):pnb(f,d));!!g&&dGc(e,pnb(g,d))}}else{dGc(e,!f?gfc(Oob((Jdc(),new ggc(0)),a.r.f.e),d):pnb(f,d));dGc(e,!g?gfc(Oob((Jdc(),new ggc(0)),a.r.f.e),d):pnb(g,d));dGc(e,gfc(g9b(a.o),d))}hnb(a,Gmb(a,d,"enterFinallyBlock",mGc(e,vG(BX,kWc,7,0,0,1))));++a.o}function SQb(a,b){var c,d,e,f,g,h,i,j;f=new CNc;c=new CNc;g=null;h=null;if(kQb(a,b.a.a))for(e=b.a.a.Xd();e.Jd();){d=e.Kd();i=null; -if(d.p==(L6b(),y6b)){j=d;i=MPb(a.a,j.b);d=j.a}switch(d.p.f){case 26:zNc(f,d.a.a,i);break;case 82:wQb(a,d,(aXb(),KWb));zNc(c,d.a.a.a,i);break;case 65:g=d.a.a.a;h=i;break;default:throw p0(new PAc("Illegal parameter type: "+d.p));}}return dPb(a.a,Vlc(MPb(a.a,b.b),f,c,g,h))}function Dbb(a){var b,c,d,e,f;(new xDc(a.v.a)).a.Sd();for(e=new FGc(a.n);e.a=48&&c<=57){d=X7b(a);if((a.b=48&&c<=57?_7b(a,b,X7b(a)):c==46?$7b(a,b):Z7b(a,b)}function Dgb(a){var b,c,d;if("".length>0){if(!Hgb(a.a,"".charCodeAt(0))){b=vG(uH,pUc,50,a.a.length,15,1);for(c=0;c";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 sXc;case 20:return"=";case 4:return a.j.n;default:throw p0(new PAc(b.e!=null?b.e:""+b.f));}}function R_b(a){var b;a.d.a.length==0||d0b(a,V_b(a,0).d.b);b=a.f;Q_b(a);if(!n0b(a))return new wYb((S2b(),m2b),bCc(a.b,b,a.f),sYb(a.g,b,a.f));if((P_b(a,a.f)?HBc(a.b,a.f):0)!=47){X_b(a,"Expected '/' in regular expression literal",yG(tG(qZ, -1),xUc,1,5,[]));return new wYb((S2b(),m2b),bCc(a.b,b,a.f),sYb(a.g,b,a.f))}Q_b(a);while(z0b(P_b(a,a.f)?HBc(a.b,a.f):0))Q_b(a);return new wYb((S2b(),m2b),bCc(a.b,b,a.f),sYb(a.g,b,a.f))}function nZb(a,b,c){var d,e,f,g,h,i,j,k;h=V_b(a.g,0).d.b;BYb(a,(S2b(),$0b));g=null;(!b||(k=V_b(a.g,0).e,B1b==k||a.b.d&&nYb(k)||!a.b.c&&mYb(k)))&&(g=CYb(a));e=MYb(a);i=null;if(T$b(a,v1b)){BYb(a,v1b);i=QYb(a,1)}f=(On(),new vs);if(a.b.d&&T$b(a,D1b)){BYb(a,D1b);j=G$b(a);dGc(f.a,Pd(j));while(T$b(a,e1b)){BYb(a,e1b);j=G$b(a); -!!j&&(dGc(f.a,Pd(j)),f)}}BYb(a,Y1b);d=pZb(a,c);BYb(a,a1b);return new n3b(new t7b(h,a.f),g,e,i,Wn(f.a),d)}function a4(a,b,c){var d,e,f,g,h,i,j,k;x4((Nlc(),Tjc),b);f=Plc(b.n);f!=-1&&(e=Ydc(b),f!=e&&Z4(AWc+f+BWc+e,b));G4(a,b.c.f);g=b.c;d=b.c?b.c.i:null;if(b.n==Tjc&&$dc(b,(thc(),sgc))!=0){x4(Ekc,g);y4(g)&&g.Di().length!=0&&Z4("Expected empty string.",g);h=Plc(g.n);h!=-1&&(i=Ydc(g),h!=i&&Z4(AWc+h+BWc+i,g));d.n==ejc?J3(a,d):$3(a,d)}else{x4(Ekc,g);y4(g);j=Plc(g.n);j!=-1&&(k=Ydc(g),j!=k&&Z4(AWc+j+BWc+k,g)); -c?x4(Djc,d):J3(a,d)}b4(a,b)}function uUb(a,b){var c;if(!_Tb(a,b,(dVb(),ZUb)))return false;if(!yUb(a,(Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)))){EUb(a,ZUb.d);return false}if((Md(b.n==hjc,Q_c,b),Xdc(b,2)).n!=Pkc){a.a.gi(z_c+tic(R_c,yG(tG(qZ,1),xUc,1,5,[BUc])),a.b.ah(),a.d,a.c);EUb(a,ZUb.d);return false}c=(Md(b.n==hjc,Q_c,b),Xdc(b,2)).Bi();if(c<0||c%1!=0){a.a.gi(z_c+tic(R_c,yG(tG(qZ,1),xUc,1,5,[BUc])),a.b.ah(),a.d,a.c);EUb(a,ZUb.d);return false}return true}function ofc(a,b,c){Jdc();Hd(!b.g,"first new child has existing parent"); -Hd(!b.f,"first new child has existing next sibling");Hd(!b.i,"first new child has existing previous sibling");Hd(!c.g,"second new child has existing parent");Hd(!c.f,"second new child has existing next sibling");Hd(!c.i,"second new child has existing previous sibling");this.n=a;this.g=null;this.c=b;b.f=c;b.i=c;b.g=this;c.f=null;c.i=b;c.g=this;this.k=-1}function Bqb(a,b){var c,d,e;switch(b.g.f){case 0:!a.d&&(a.d=b);!a.f&&(a.f=yqb(b));++a.i;break;case 1:++a.k;c=!b.c?null:(uub(),d=Fub(b.c),!d?null:bec(d, -(thc(),Zgc)));!!c&&(c.a&LZc)!=0&&++a.n;break;case 2:case 4:e=b.c;!a.g&&(Zpb(),!!e&&e.n==(Nlc(),Zjc)&&e.g.n==(Nlc(),Njc))&&(a.g=bec(e,(thc(),Zgc)));++a.u;break;case 3:++a.a;++a.u;break;case 5:++a.c;++a.u;break;case 6:++a.e;break;case 7:++a.s;++a.u;break;default:throw p0(new OAc);}}function Fub(a){uub();var b,c;if(a.n==(Nlc(),Njc))return Fub(a.c);b=bec(a,(thc(),Zgc));if(!b){c=a.g;if(!c||a.n==Njc)return null;if(c.n==Ekc)return Fub(c);else if(c.n==Nic)return Fub(c);else if(cwb(c)||c.n==qjc)return c;else if((c.n== -Tjc||c.n==mjc)&&a==c.c)return Fub(c);else if(!!c&&(c.n==Hlc||c.n==wkc||c.n==rjc)&&!!c.c&&!c.c.f)return c;else if(c.n==akc&&c.c!=a||c.n==Wkc||c.n==Hic||c.n==pjc&&c.c!=a)return Fub(c)}return a}function gzb(a,b){czb();if(a.n==(Nlc(),hjc)&&!!a.c&&!!a.c.f&&a.c.f==(a.c?a.c.i:null))if(b==(_Kb(),$Kb)&&(Cec(a.c,"__webpack_require__")||Cec(a.c,"__webpack_require__.t"))&&(a.c.f.n==Pkc||a.c.f.n==olc))return true;else{if(Cec(a.c,$Wc)&&a.c.f.n==olc)return true}else if(a.n==hjc&&jec(a)&&b==(_Kb(),$Kb)&&Cec(a.c, -"__webpack_require__.bind")&&a.c.f.n==Nkc&&((a.c?a.c.i:null).n==Pkc||(a.c?a.c.i:null).n==olc))return true;return false}function hzb(a){var b,c,d,e;Gd(a.n==(Nlc(),Tjc));if(!a.g)return false;d=a.g;if(d.n!=hjc)return false;if(!(!!d.c&&d.c.n==Zjc&&d.c.c.n==hjc))return false;e=d.c.c.c;if(Dec(e,p$c,p$c.length)&&d.c.c.f.n==olc&&MBc(d.c.c.f.Di(),"then"))return true;else if(Dec(e,q$c,q$c.length)&&!!e.f&&e.f.n==Kic){b=false;for(c=e.f.c;c;c=c.f){if(!(c.n==hjc&&!!c.c&&!!c.c.f&&c.c.f==(c.c?c.c.i:null)&&Cec(c.c, -p$c)))return false;b=true}return b}return false}function sCb(a,b){var c,d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return be(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=IBc(g,h);if(i!=0)return i}else if(g==null&&h!=null)return-1;else if(g!=null&&h==null)return 1;e=a.a.d;f=b.a.d;if(e!=f)return e-f;else if(e<0&&0<=f)return-1;else if(0<=e&&f<0)return 1;c=a.a.a;d=b.a.a;if(c!=d)return c-d;else if(c<0&&0<=d)return-1;else if(0<=c&&d<0)return 1;return IBc(a.a.c,b.a.c)}function hUb(a,b){if(!_Tb(a,b,(dVb(), -IUb)))return false;if(!fUb(a,(Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)))){a.a.gi(z_c+tic(U_c,yG(tG(qZ,1),xUc,1,5,[V_c])),a.b.ah(),a.d,a.c);return false}if(!yUb(a,(Md(b.n==hjc,Q_c,b),Xdc(b,2)))){a.a.gi(z_c+tic(U_c,yG(tG(qZ,1),xUc,1,5,[V_c])),a.b.ah(),a.d,a.c);return false}if(!yUb(a,(Md(b.n==hjc,Q_c,b),Xdc(b,3)))){a.a.gi(z_c+tic(U_c,yG(tG(qZ,1),xUc,1,5,[V_c])),a.b.ah(),a.d,a.c);return false}return true}function vAb(a,b,c,d){var e,f,g;Pd(d);Ud(d.n==(Nlc(),Mlc));Ud(!!c&&!!c.b);Ud(mec(c.b));e=Jec(d);f=Y2(a.a, -c3(a.a,Rtb(b),r$c),yG(tG(BX,1),kWc,7,0,[]));if($dc(d,(thc(),shc))!=0){Pd(e);Mdc(f,c3(a.a,Rtb(b),"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR"));Mdc(f,e)}else{!e&&(e=(uub(),g=q9b((Jdc(),new ggc(0))),g));Mdc(f,c3(a.a,Rtb(b),"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE"));Mdc(f,e)}jfc(f,d);Ndc(d,f);Kec(d,(Jdc(),Idc))}function vSb(a,b){var c,d;if(b==(xTb(),mTb)){c=new tMc;while(true){if(dSb(a,wTb)){d=a.j.n;!LRb.Td(d)&&!Fbc(a.f,d)&&RRb(a,"msg.jsdoc.modifies.unknown",d,a.j.g,DTb(a.j)); -qMc(c,a.j.n);b=!a.o?ETb(a.j):WRb(a)}else{PRb(a,K_c,a.j.g,DTb(a.j));return b}if(dSb(a,pTb))b=!a.o?ETb(a.j):WRb(a);else break}if(dSb(a,sTb)){b=!a.o?ETb(a.j):WRb(a);pcc(a.f,c)||PRb(a,"msg.jsdoc.modifies.duplicate",a.j.g,DTb(a.j))}else PRb(a,K_c,a.j.g,DTb(a.j))}return b}function znc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!lH(b,432))return false;f=b;if(!a.b.jj(f.b,c,d))return false;m=a.a.c;i=f.a.c;while(!!m&&!!i){n=m.d;j=i.d;if(n)if(!j||!j.jj(n,c,d))return false;l=$dc(m,(thc(),qhc))!=0;h=$dc(i,qhc)!=0;k= -l||$dc(m,chc)!=0;g=h||$dc(i,chc)!=0;if(!k&&g){e=h&&(!j||j.kj()||j.cj());if(!e)return false}l||(m=m.f);h||(i=i.f);if(l&&h){m=null;i=null}}return!m||$dc(m,(thc(),chc))!=0||$dc(m,(thc(),qhc))!=0||!!i}function BSb(a,b){var c,d;if(b!=(xTb(),mTb)){PRb(a,L_c,a.j.g,DTb(a.j));return b}else{d=new tMc;while(true){if(dSb(a,wTb)){c=a.j.n;a.k.Td(c)||RRb(a,"msg.jsdoc.suppress.unknown",c,a.j.g,DTb(a.j));qMc(d,a.j.n);b=!a.o?ETb(a.j):WRb(a)}else{PRb(a,L_c,a.j.g,DTb(a.j));return b}if(eSb(a,pTb,fTb))b=!a.o?ETb(a.j): -WRb(a);else break}if(dSb(a,sTb)){b=!a.o?ETb(a.j):WRb(a);Hcc(a.f,d)}else PRb(a,L_c,a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a))}}function z7(){z7=S0;y7=new Whb("JSC_REGEXP_REFERENCE",(l7(),k7),new $Cc("References to the global RegExp object prevents optimization of regular expressions."));x7=new Whb("JSC_MALFORMED_REGEXP",k7,new $Cc("Malformed Regular Expression: {0}"));Kp("$1","$2","$3","$4","$5","$6",yG(tG(vZ,1),cWc,2,6,["$7","$8","$9","$_","$input","input","lastMatch","lastParen","leftContext", -"rightContext",tWc,"ignoreCase","lastIndex","multiline","source"]))}function ukb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;k=Rtb(b);j=c.g;if((c.n==(Nlc(),wkc)||c.n==rjc)&&!d.c&&(!j||j.n!=Rjc)&&(e=Lub(c,jkb),!!e&&e.n!=Tjc)){m=gfc((n=(Zd(PBc(bZc,hCc(46))==-1,iWc,bZc),Jdc(),new Jhc(Ekc,bZc)),a.d&&Uec(n,rkb(a,(xtc(),wtc))),n),d);Ndc(d,m);a.a.Vg(m)}h=d.Di();f=p1(k);if(k!=f){g=h;if(w1(f,h)||rMc(a.e,h)){do g=h+"$"+(""+a.a.Ng().a.S++);while(w1(f,g));d.Ii(g);a.a.Vg(d);l=k.d;kq(a.c,l,h,g)}i=t1(k,h);x1(k,i);kCb(f,g, -d,i.a)}}function _vb(a){uub();var b,c;c=a.g;switch(a.n.f){case 116:b=(Ud(!!a.c&&!a.c.f),a.c);break;case 103:if($dc(a,(thc(),shc))==0)return false;b=(Ud(!!a.c&&!a.c.f),a.c);break;case 101:case 102:b=a.c.f;break;case 114:switch(c.n.f){case 45:return false;case 93:return true;default:throw p0(new PAc("Unexpected parent of ITRE_REST: "+ffc(c)));}default:throw p0(new PAc("Expected a kind of node that may trigger iteration: "+ffc(a)));}return!Svb(b)}function pAb(a,b){var c,d,e,f,g,h,i,j,k,l;Hd(b.n==(Nlc(), -Zjc),b);g=b.c;Hd(g.n==slc,g);e=b.c?b.c.i:null;Hd(e.n==olc,e);d=e.Di();f=b.d;if(xNc(a.a,d)){h=yNc(a.a,d);c=h.a.d;_d(c==f||!!c&&c.zd(f),"Previous reference type: %s differs from current reference type: %s",c,f)}else{h=(Hd(b.n==Zjc,b),i=(b.c?b.c.i:null).Di(),j=b.d,k="$jscomp$async$super$get$"+i,!j?l=null:l=Wqc(drc((amc(),new krc(a.b.d)),j)),new oAb(a.b,b,k,l));zNc(a.a,d,h)}return h}function vRb(a,b){var c,d;if(b.a.$d()==1){c=b.a.ee(0);switch(c){case "any":d=dPb(a.a,new Yhc((Nlc(),Jic)));break;case hUc:d= -dPb(a.a,new Yhc((Nlc(),Qkc)));break;case gUc:d=dPb(a.a,new Yhc((Nlc(),fjc)));break;case jUc:d=dPb(a.a,new Yhc((Nlc(),qlc)));break;case JXc:d=dPb(a.a,new Yhc((Nlc(),Jlc)));break;case bZc:d=dPb(a.a,new Yhc((Nlc(),Elc)));break;default:d=dPb(a.a,Xlc(b.a))}}else d=dPb(a.a,Xlc(b.a));tfc(d.k)==-1&&JPb(d,b.o.b,b.o.a);return d}function lSb(a,b){var c;if(b==(xTb(),vTb))return fSb(a,(Nlc(),nlc));else if(b==mTb){PSb(a);return zSb(a,!a.o?ETb(a.j):WRb(a))}else if(b==nTb){PSb(a);return KSb(a,!a.o?ETb(a.j):WRb(a), -null)}else if(b==wTb){c=a.j.n;switch(c){case iUc:PSb(a);return rSb(a,!a.o?ETb(a.j):WRb(a));case uUc:case bZc:return gSb(a,c,a.j.g,DTb(a.j));case i$c:PSb(a);return JSb(a,!a.o?ETb(a.j):WRb(a));default:return HSb(a,b)}}a.o=b;return SRb(a,G_c,a.j.g,DTb(a.j)),null}function d_b(a){switch(V_b(a.g,0).e.f){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 108:case 109:case 110:case 111:case 21:case 29:case 35:case 100:case 101:case 107:case 104:case 97:case 98:case 94:case 95:case 99:case 49:case 47:case 18:case 9:case 26:case 24:case 68:case 69:case 63:case 64:case 77:case 76:return true; -default:return false}}function yUb(a,b){var c,d;if(!(b.n==(Nlc(),Ekc)||b.n==olc||b.n==hjc)){a.a.gi(z_c+tic(S_c,yG(tG(qZ,1),xUc,1,5,[T_c])),a.b.ah(),a.d,a.c);return false}if(b.n==Ekc||b.n==olc)return true;d=(Md(b.n==hjc,Q_c,b),b.c.Di());if(!bUb(d)){a.a.gi(z_c+tic(S_c,yG(tG(qZ,1),xUc,1,5,[T_c])),a.b.ah(),a.d,a.c);return false}c=fVb(Wb(d));switch(c.a){case 0:return vUb(a,b);case 1:return mUb(a,b);default:throw p0(new PAc("Invalid type transformation expression"));}}function F7b(a,b,c){var d,e,f,g,h, -i,j,k,l;j=c;k=a.b.p;h=a.b.n;d=kCc(b);if(h>=0){d=$wnd.Math.min(d,h);lH(b,29)?(l=b.a.length,dl&&(b.a+=oCc(vG(uH,pUc,50,d-l,15,1))),undefined):b=lCc(b,0,d)}k>0&&(k=$wnd.Math.max(kCc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=vG(uH,pUc,50,k-d,15,1);SGc(f,f.length,e);g=a.b.f;i=lH(b,29)?b:new DCc(b);g?(i.a+=pCc(f,0,f.length),i):ACc(i,j,pCc(f,0,f.length));return i}function o8b(a){var b,c,d,e,f,g,h,i;h=ZBc(a,"\r?\n",0);b=(Do(),new Fs);for(e=0;e=100)while(u0(A0(t0(d,10),v0($wnd.Math.pow(10,c+1))),g)){d=t0(d,10);++c}if(c>2)r8(a,I0(d)+"E"+c);else{h=r0(g,0)<0?B0(g):g;r0(h,1E12)>0&&oBc(h,4).length+2<(""+I0(h)).length?r8(a,(r0(g,0)<0?"-":"")+"0x"+oBc(h,4)):r8(a,""+I0(g))}}else r8(a,YBc(WBc(""+b,".0E","E"),"^(-?)0\\.","$1."))}function BAb(a,b,c,d,e){var f,g, -h,i;if(e.n!=(Nlc(),Zjc)){a.b.Tg(Orb(e,rAb,yG(tG(vZ,1),cWc,2,6,["super only allowed with getprop (like super.foo(), not super['foo']())"])));return}Gd(d.n==slc);Gd(!!c&&!!c.c&&mec(c.c.a.b));Hd(!!c.b,t$c);Pd(c.c);h=d.f;i=w$c+h.Di();f=A2(a.a,U2(a.a,Rtb(b),i),yG(tG(BX,1),kWc,7,0,[]));g=e.g;if(g.n==hjc&&g.c==e){f=L2(a.a,f,QYc);Kdc(g,gfc(U2(a.a,Rtb(b),u$c),e),e);c.c.d=true}hfc(f,e);Mec(g,e,f);qMc(c.c.c,h.Di());a.b.Ug(c.b)}function rZb(a,b,c){var d,e,f,g,h,i;f=V_b(a.g,0).d.b;BYb(a,b);d=(On(),new vs);while(T$b(a, -(S2b(),y1b))||T$b(a,C1b))T$b(a,y1b)?ts(d,(g=V_b(a.g,0).d.b,BYb(a,y1b),BYb(a,Z1b),h=V_b(a.g,0).e,B1b==h||a.b.d&&nYb(h)||!a.b.c&&mYb(h)?PZb(a):n$b(a,1),HYb(a,"of"),bZb(a,1),BYb(a,b1b),new y3b(new t7b(g,a.f)))):ts(d,(i=V_b(a.g,0).d.b,BYb(a,C1b),BYb(a,Z1b),bZb(a,1),BYb(a,b1b),new z3b(new t7b(i,a.f))));bZb(a,1);BYb(a,c);return new A3b((e=new t7b(f,a.f),Wn(d.a),e))}function GE(a,b,c){var d,e,f,g,h,i,j;g=KE(a)+1;b.a+="{\n";OE(b,zVc,true);b.a+="3";c!=null&&NE(b,(qF(),tF(c)));OE(b,"lineCount",false);b.a+= -""+g;OE(b,"mappings",false);QE(new SE(a,b,g));OE(b,"sources",false);b.a+="[";ME(b,a.k);b.a+="]";FE(a,b);OE(b,"names",false);b.a+="[";ME(b,a.g);b.a+="]";for(f=(i=(new bEc(a.a)).a.Je().Xd(),new hEc(i));f.a.Jd();){e=(d=f.a.Kd(),d.ff());h=yNc(a.a,e);qH(h)?j=(qF(),tF(h)):j=W0(h);OE(b,e,false);b.a+=""+j}b.a+="\n}\n"}function fqb(a,b){var c,d,e;e=a;for(d=new Xfc(new Sfc(a.g));d.a.a;){c=Wfc(d);switch(c.n.f){case 41:case 84:case 76:case 100:case 88:case 66:case 70:case 72:case 73:case 25:case 79:case 19:case 20:case 21:case 22:return Xqb(), -Sqb;case 60:if(c.c==e)return Xqb(),Sqb;break;case 47:if(!Cec(c.c,b))return Xqb(),Pqb;break;case 29:if(!MBc(b,c.Di()))return Xqb(),Pqb;break;case 28:if(c.c!=e)return Xqb(),Pqb;break;case 24:return Xqb(),Rqb}e=c}return Xqb(),Pqb}function Mub(a){var b,c,d;Vd(xec(Pd(a)),a);c=Qd(a.g,a);d=c.c==a;if(c.n==(Nlc(),xjc)||c.n==pkc||c.n==Tkc){Vd(d,c);a=c;c=Pd(a.g);d=a==c.c}switch(c.n.f){case 94:case 93:return c;case 118:Vd(!d,c);case 91:b=Qd(c.g,c);Vd(b.n==Skc,b);return b;case 45:case 100:case 88:case 105:case 78:case 76:return null; -case 65:case 96:Vd(d,a);return null;case 73:case 101:case 95:case 102:Vd(d,a);return null;case 107:Vd(!d,c);return null;default:Vd(gvb(c)&&d,c);return null}}function G0b(b){var c,d,e,f;while(b.indexOf("\\")!=-1){e=PBc(b,hCc(92));try{if(b.charCodeAt(e+1)!=117)return null;if(b.charCodeAt(e+2)!=123){d=e+6;f=b.substr(e+2,d-(e+2))}else{d=e+3;while(aAc(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=JAc(f,16)&oUc;if(!z0b(c))return null;b=b.substr(0,e)+String.fromCharCode(c)+ -b.substr(d)}catch(a){a=o0(a);if(lH(a,83)||lH(a,344))return null;else throw p0(a);}}return b}function o9(a,b,c){switch(b.n.f){case 96:case 153:case 156:case 164:y8(a.c,c==(H9(),G9));break;case 65:(b.c?b.c.i:null).n==(Nlc(),Djc)?a.c.Dh(true):a.c.Ah(c==(H9(),G9));break;case 160:b.g.n!=(Nlc(),Hkc)&&o9(a,b.c,c);break;case 109:b.g.n!=(Nlc(),Hkc)&&b.c.n!=vjc&&o9(a,b.c,c);break;case 118:!!b.c&&!b.c.f&&a.c.Dh(true);break;case 98:case 86:case 87:_dc(b.c).n==(Nlc(),Djc)&&a.c.Dh(true);break;case 161:a.c.Dh(true); -break;default:c==(H9(),G9)&&a.c.Dh(false)}}function mSb(a,b){var c;if(b!=(xTb(),mTb)){PRb(a,"msg.jsdoc.missing.lc",a.j.g,DTb(a.j));return b}else if(dSb(a,wTb)){c=a.j.n;a.b.Td(c)?Obc(a.f,c)||PRb(a,"msg.jsdoc.closurePrimitive.extra",a.j.g,DTb(a.j)):RRb(a,"msg.jsdoc.closurePrimitive.invalid",c,a.j.g,DTb(a.j));b=!a.o?ETb(a.j):WRb(a)}else{PRb(a,"msg.jsdoc.closurePrimitive.missing",a.j.g,DTb(a.j));return b}dSb(a,sTb)?b=!a.o?ETb(a.j):WRb(a):PRb(a,D_c,a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a))}function UTb(b, -c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;n=b.ah();try{j=new K0b(n,c);k=d.f==(SOb(),QOb);f=new XTb(e,k);g=TTb(d);l=new o_b(g,f,j);p=(q=V_b(l.g,0).d.b,r=OZb(l),BYb(l,(S2b(),o1b)),new O6b(new t7b(q,l.f),r,Wn(l.a.a.a)));m=null;On();i=l.d;if(!f.d||k){h=hQb(p,b,c,d,e);m=h.q;i=FVb(i,h.f);Gec(m,(Jdc(),qdc),i);d.c!=(yOb(),xOb)&&Wn(l.a.a.a)}return new $Tb(m,l.i)}catch(a){a=o0(a);if(lH(a,37)){o=a;throw p0(new DF('Exception parsing "'+n+'"',o));}else throw p0(a);}}function i5(a){var b;b="";!a.i&&(b+=" insertionPoint"); -!a.f&&(b+=" definePropertiesObjForPrototype");!a.e&&(b+=" definePropertiesObjForClass");!a.j&&(b+=" prototypeMembersToDeclare");!a.b&&(b+=" classMembersToDeclare");!a.g&&(b+=" fullClassNameNode");!a.d&&(b+=" classPrototypeNode");a.a==null&&(b+=" anonymous");!a.c&&(b+=" classNameNode");!a.k&&(b+=" superClassNameNode");if(b.length!=0)throw p0(new PAc(QWc+b));return new e5(a.i,a.f,a.e,a.j,a.b,a.g,a.d,a.a,a.c,a.k)}function G$b(a){var b,c,d,e;b=V_b(a.g,0).d.b;c=V_b(a.g,0).e;if(!((S2b(),B1b)==c||a.b.d&& -nYb(c)||!a.b.c&&mYb(c))&&!XLc(TLc(O2b,yG(tG(CU,1),DUc,14,0,[Z1b,Y1b,K2b])),V_b(a.g,0).e)){l_b(a,"Unexpected token '%s' in type expression",yG(tG(qZ,1),xUc,1,5,[V_b(a.g,0).e]));return new a7b(new t7b(b,a.f),(On(),new RB(Pd("error"))))}d=MZb(a);if(!T$b(a,T0b))return d;e=(On(),new vs);dGc(e.a,Pd(d));do{BYb(a,T0b);ts(e,_Yb(a))}while(T$b(a,T0b));return new e7b(new t7b(b,a.f),Wn(e.a))}function Csb(b,c){var d,e,f,g,h;f=new Isb(c.zg());try{g=UTb(b.c,b.c.a,c.Ig(b.c.c==(Dic(),Aic)?1:0),f);b.b=g.a;c.Hg();if(g.b!= -null&&c.Hg().Xc){c.Hg();h=uDb(b.c,g.b);!!h&&c.vg(b.c.b,new tDb(h))}}catch(a){a=o0(a);if(lH(a,105)){e=a;c.Tg(new Jrb(null,null,-1,-1,($0(),Z0),null,yG(tG(vZ,1),cWc,2,6,[b.c.b,e.g])))}else throw p0(a);}!b.b?b.b=(d=new kfc((Nlc(),jlc)),d):c.Rg(b.b);if(f.b.a.length!=0||f.c.a.length!=0){g=(Wn(f.b),Wn(f.c),new Hsb);Gec(b.b,(Jdc(),Cdc),g)}_ec(b.b,b.c)}function Eob(a,b,c){var d,e,f,g,h,i,j,k;j=a.c.Mg();k=Mob(c,j,(xtc(),otc));i=Ydc(b);if(i==0)Nec(b,Oob((Jdc(),new Jhc((Nlc(),olc),'""')),k));else{f=Jec(b);Ud(f.n== -(Nlc(),wlc)&&f.Ai()!=null);g=Oob(l9b(f.Ai()),k);if(i==1)Mec(b.g,b,g);else{d=Oob(A8b(g,Jec(Jec(b))),b.d);for(h=2;h2;g=0;for(i=(f=(new dFc(j.a)).a.Je().b.yk(),new lFc(f));i.a.Jd();){h=(e=i.a.Kd(),e.ff());g>0&&(b.a+=",",b);k?(b.a+="\n ",b):g>0&&(b.a+=" ",b);yCc((b.a+=""+h,b),": ");bmc(a.Wj(h),b,c);++g;if(!c&&g==10){b.a+=", ...";break}}k&&(b.a+=vVc,b);b.a+="}";a.u=true;return b}function k$b(a,b){var c,d,e, -f,g,h,i,j,k;h=V_b(a.g,0).d.b;if(V_b(a.g,0).e==(S2b(),$1b)){f=sZb(a);BYb(a,d1b);k=o$b(a,b);return new B3b(new t7b(h,a.f),f,k)}i=V_b(a.g,0).e;if(B1b==i||(gYb(),!!ep(JXb,i))){g=DYb(a);if(!T$b(a,d1b)){d=g;lYb(d.a,false)&&l_b(a,F0c,yG(tG(qZ,1),xUc,1,5,[g]));if(T$b(a,q1b)){e=new t4b(new t7b(h,a.f),d);BYb(a,q1b);c=bZb(a,1);return new K3b(new t7b(h,a.f),e,c)}return new P6b(new t7b(h,a.f),g,null)}}else g=_Zb(a).a;BYb(a,d1b);j=o$b(a,b);return new P6b(new t7b(h,a.f),g,j)}function cHb(a,b){var c,d,e,f,g,h,i, -j;Vd(b.n==(Nlc(),Tjc)&&b.g.n==zkc,b);h=b.d;if(!h||h.kj())return"";c=h.rj();g=new ECc("/**\n");e=(uub(),Gd(b.n==Tjc),b.c.f).c;YGb(a,g,c,e);if(uvb(b))$Gb(g,(Vd(c.Zi(),c),i=c.F,j=c.w-(Zd(c.Zi()||c.i==(prc(),nrc),jWc,c),rmc(c.o)).Ui(),i.c.If(i.c.$d()-j,i.c.$d())));else{$Gb(g,(d=c.F,d.c.If(d.c.$d()-c.w,d.c.$d())));f=c.b.b;if(!!f&&!(f.cj()||f.aj()||f.bj()||f==Ttc(f.D,(xtc(),Ssc)))){g.a+=S$c;kHb(g,pXc,bmc(f,new BCc,true).a);g.a+=vVc}}g.a+=" */\n";return g.a}function ABb(a){xBb();var b,c,d,e,f,g,h,i;e=new nt; -g=(Do(),new Fs);for(c=jf(Pe(Oe(Ve(new jc(10))),a));Lb(c);){b=Mb(c);i=Qe(Oe(Ve(new jc(32))),eCc(b));if(i.b.$d()==1&&i.a.ee(0).length==0)continue;else if(i.b.$d()<3)throw p0(new xsb("Invalid table: too few tokens on line: "+b));h=i.a.ee(0);f=new vBb(UVb(i.a.ee(1)),UVb(i.a.ee(2)),i.b.$d()>3?i.a.ee(3):"");h.indexOf(KZc)!=-1?mt(e,XBc(h,".*\\.prototype\\.",""),f):(dGc(g.b,(ol(h,f),new or(h,f))),g)}return new zBb((d=new TNc(e.a),Cm(d)),To(g.b))}function Sub(a,b){var c;switch(a.n.f){case 105:Sub(a.c,b);Sub(a.c.f, -b);return;case 76:case 88:case 100:case 94:case 93:case 45:case 106:for(c=a.c;c;c=c.f)Sub(c,b);return;case 95:case 123:case 78:case 114:case 115:case 92:Sub(a.c,b);return;case 107:case 118:case 91:Sub(a.c?a.c.i:null,b);return;case 29:case 108:b.Qd(a);return;case 26:case 27:b.Qd(a);return;case 80:return;case 73:case 101:case 102:Sub(a.c,b);return;default:if(gvb(a))Sub(a.c,b);else throw p0(new PAc("Invalid node in lhs: "+a));}}function X2b(){S2b();return yG(tG(CU,1),DUc,14,0,[o1b,t1b,B1b,V0b,Y0b,Z0b, -g1b,h1b,j1b,k1b,l1b,n1b,x1b,y1b,z1b,C1b,F1b,G1b,R1b,n2b,A2b,E2b,F2b,I2b,K2b,N2b,O2b,P2b,Q2b,$0b,f1b,p1b,u1b,v1b,E1b,z2b,D1b,H1b,L1b,a2b,i2b,j2b,k2b,x2b,R2b,Y1b,a1b,Z1b,b1b,$1b,c1b,d2b,q2b,e1b,X1b,_0b,K1b,A1b,R0b,r1b,S1b,s1b,T1b,e2b,M1b,t2b,v2b,b2b,g2b,O1b,I1b,o2b,L2b,O0b,T0b,W0b,S0b,G2b,Q0b,_1b,l2b,d1b,q1b,f2b,N1b,u2b,w2b,c2b,J1b,p2b,M2b,P0b,U0b,X0b,r2b,s2b,h2b,V1b,H2b,w1b,W1b,y2b,m2b,m1b,B2b,C2b,D2b,U1b,J2b,i1b,P1b,Q1b])}function Snb(a){var b,c,d,e,f,g,h,i,j,k,l,m;if(a.c.a.$d()!=0){for(d=(h=(new bEc(a.d.a)).a.Je().Xd(), -new hEc(h));d.a.Jd();){c=(b=d.a.Kd(),b.ff());Pd(c.g);Hec(c.g,c)}e=new tMc;for(j=(g=(new bEc(a.c.a)).a.Je().Xd(),new hEc(g));j.a.Jd();){i=(b=j.a.Kd(),b.ff());m=i.b;f=e.a.Me(m,e);if(f==null){k=H8b((Zd(PBc(vZc,hCc(46))==-1,iWc,vZc),Jdc(),new Jhc((Nlc(),Ekc),vZc)),yG(tG(BX,1),kWc,7,0,[l9b(i.a)]));Eec(k,rdc,true);l=K8b((Zd(PBc(m,hCc(46))==-1,iWc,m),new Jhc(Ekc,m)),k,Hlc);jfc(l,a.g);Kdc(a.g,l,a.f);a.f=l}}}}function Iib(a,b){var c;switch(b){case $Vc:case "ArrayBuffer":case eWc:case "DataView":case "Date":case VYc:case WYc:case XYc:case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case dWc:case YYc:case "Proxy":case bWc:case "Set":case EVc:case ZYc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c= -t1(Rtb(a),b),!(!!c&&!(!c.a||xdb(c.a)));default:return false}}function XGb(a,b){var c,d,e,f,g,h,i,j,k;j=(Zd(b.Zi()||b.i==(prc(),nrc),jWc,b),rmc(b.o)).Zj();if(j){k=(Zd(j.Zi()||j.i==(prc(),nrc),jWc,j),rmc(j.o));if(!MBc(k.Mi(new BCc,false).a,aWc)){a.a+=S$c;kHb(a,zXc,k.Mi(new BCc,true).a);a.a+=vVc}}e=new LQc;for(h=(i=(new bEc(eqc(b).a)).a.Je().Xd(),new hEc(i));h.a.Jd();){f=(c=h.a.Kd(),c.ff());JQc(e,f.Mi(new BCc,true).a)}for(g=(d=(new dFc(e.a)).a.Je().b.yk(),new lFc(d));g.a.Jd();){f=(c=g.a.Kd(),c.ff()); -a.a+=S$c;yCc(yCc(yCc(yCc((a.a+="@",a),AXc)," {"),f),"}");a.a+=vVc}}function AVb(){AVb=S0;var a;jVb=new NVb((a=mAc(lU),new $Lc(a,yTc(a,a.length),0)));oVb=JVb(jVb,eXb(0));pVb=JVb(oVb,eXb(1));rVb=JVb(pVb,eXb(2));qVb=LVb(rVb,(aXb(),CWb),yG(tG(lU,1),DUc,25,0,[]));tVb=JVb(rVb,eXb(3));sVb=LVb(tVb,CWb,yG(tG(lU,1),DUc,25,0,[]));vVb=JVb(tVb,eXb(4));uVb=LVb(vVb,CWb,yG(tG(lU,1),DUc,25,0,[]));lVb=JVb(vVb,eXb(5));kVb=LVb(lVb,CWb,yG(tG(lU,1),DUc,25,0,[]));nVb=JVb(lVb,eXb(6));mVb=LVb(nVb,CWb,yG(tG(lU,1),DUc,25,0, -[]));wVb=JVb(nVb,eXb(7));xVb=JVb(wVb,eXb(8));yVb=JVb(wVb,eXb(9));zVb=nVb}function RZb(a){var b,c,d,e,f,g,h,i,j,k;j=V_b(a.g,0).d.b;BYb(a,(S2b(),E1b));if(T$b(a,y2b)){f=BYb(a,y2b);GYb(a);return new v4b(new t7b(j,a.f),null,null,null,f)}b=null;h=null;c=null;i=true;k=V_b(a.g,0).e;if(B1b==k||a.b.d&&nYb(k)||!a.b.c&&mYb(k)){b=CYb(a);T$b(a,e1b)?BYb(a,e1b):i=false}else if(kYb(V_b(a.g,0).e)){d=PYb(a);i_b(a,d,F0c,yG(tG(qZ,1),xUc,1,5,[d]))}if(i)if(T$b(a,t2b)){BYb(a,t2b);HYb(a,"as");h=CYb(a)}else c=TZb(a);HYb(a, -vXc);g=BYb(a,y2b);e=!g?null:g;GYb(a);return new v4b(new t7b(j,a.f),b,c,h,e)}function O7b(a){var b,c,d,e;d=0;c=new BCc;b=a.b.b;if(lH(a.a,156))e=a.a.a;else if(lH(a.a,129))e=a.a.a;else throw p0(C7b(a));if(a.b.i)if(b==111){c.a+="0";d+=1}else{c.a+="0x";d+=2}if(100==b){a.b.e?xCc(c,a.a):(c.a+=I0(e),c);if(r0(e,0)<0)if(a.b.g)return R7b(a,c);else a.b.k&&++d;else if(a.b.d){ACc(c,0,String.fromCharCode(43));d+=1}else if(a.b.j){ACc(c,0,String.fromCharCode(32));d+=1}}else{lH(a.a,129)&&(e=s0(PG(y0(e)?F0(e):e,y0(W0c)? -F0(W0c):W0c)));111==b?yCc(c,oBc(e,3)):yCc(c,oBc(e,4))}return F7b(a,c,d)}function Zbb(a){if(feb(a.I,(Rhb(),mhb)))a.I.A=true;else if(eeb(a.I,mhb)){a.I.A=false;a.I.wd=false}else a.I.A||deb(a.I,new dhb(_gb((bCb(),XBb)),(l7(),j7)));a.I.s!=(l7(),j7)&&!eeb(a.I,vhb)&&deb(a.I,new dhb(vhb,a.I.s));geb(a.I)&&deb(a.I,new dhb(rhb,i7));!a.I.w&&!feb(a.I,ohb)&&deb(a.I,new dhb(ohb,j7));a.I.ad&&!feb(a.I,ohb)&&deb(a.I,new dhb(ohb,j7));a.I.ad&&!feb(a.I,Ahb)&&deb(a.I,new dhb(Ahb,j7));a.I.o==j7&&deb(a.I,new dhb(Ahb,j7)); -if(!a.I.wd||!feb(a.I,Lhb)){deb(a.I,new dhb(Lhb,j7));deb(a.I,new dhb(jhb,k7))}}function ESb(a,b){var c,d,e;e=a.j.g;d=DTb(a.j);if(b==(xTb(),qTb)){b=!a.o?ETb(a.j):WRb(a);if(b==fTb||b==jTb||b==uTb||b==sTb||b==tTb||b==pTb||b==rTb||b==gTb||b==iTb||b==hTb){a.o=b;return fSb(a,(Nlc(),clc))}return SSb(a,(Nlc(),clc),lSb(a,b),e,d)}else if(b==dTb)return SSb(a,(Nlc(),_ic),lSb(a,!a.o?ETb(a.j):WRb(a)),e,d);else{c=lSb(a,b);e=a.j.g;d=DTb(a.j);if(c)if(dSb(a,qTb)){!a.o?ETb(a.j):WRb(a);return SSb(a,(Nlc(),clc),c,e,d)}else if(dSb(a, -dTb)){!a.o?ETb(a.j):WRb(a);return SSb(a,(Nlc(),_ic),c,e,d)}return c}}function oib(a,b,c,d){var e,f,g,h,i,j;Vd(c.n==(Nlc(),Zjc)||c.n==Yjc,c);Vd(b.n==slc,b);g=c.g;if(Fvb(c)){a.b.Tg(Orb(c,(Hob(),Gob),yG(tG(vZ,1),cWc,2,6,["assigning to a super property"])));return}e=(uub(),Lub(b,new rwb(mjc)));j=e.c.f;if(!uec(j))return;if($dc(d,(thc(),lhc))!=0){f=hfc(Tdc(j,false),b);Gec(f,ehc,VVc);Mec(b.g,b,f)}else if(a.a.b){i=hfc(L2(a.a,Tdc(j,false),PWc),b);Gec(i,ehc,VVc);Mec(b.g,b,i)}else{h=Ic(new Kc("."),new NDc(Lc(cec(j), -PWc,yG(tG(qZ,1),xUc,1,5,[]))));Nec(b,hfc(hwb(a.b,h,b),b))}a.b.Vg(g)}function bpb(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=m2(a.b,c,false);d=c;for(i=new Xfc(new Sfc(d.g));i.a.a;){h=Wfc(i);uub();if(!!h&&(h.n==(Nlc(),Hlc)||h.n==wkc||h.n==rjc)&&!(h==d.g&&!(d==d.g.c?null:d.i)))return 0;if(h==b)return j?2:1;if(jpb(h))d!=h.c&&(j=true);else if(apb(a,h,k));else{e=ipb(h);for(g=e==0?h.c:h.c?h.c.i:null;g;g=e==0?g.f:g==g.g.c?null:g.i){if(g==d)break;if(_ob(a,g,k)){k=true;j=true}}f=h.c;if(j&&h.n==(Nlc(),hjc)&&(f.n== -(Nlc(),Zjc)||f.n==Yjc))return a.a?2:0}d=h}throw p0(new PAc("Unexpected."));}function cvb(a){var b,c,d,e,f,g;switch(a.n.f){case 31:case 91:return a.Di();case 120:g="";for(c=a.c;c;c=c.f){d=c;c.n==(Nlc(),xlc)&&(d=c.c);e=cvb(d);if(e==null)return null;g=g+e}return g;case 122:return a.Ai();case 29:f=a.Di();if(MBc(bZc,f)||MBc(f$c,f)||MBc("NaN",f))return f;break;case 30:return""+a.Bi();case 34:return EXc;case 35:return FXc;case 32:return uUc;case 79:return bZc;case 19:b=Iub(a.c);if(b!=(Sxc(),Rxc))return b.jk(true)? -EXc:FXc;break;case 42:return xub(a);case 43:return"[object Object]"}return null}function dfc(a,b,c,d,e){var f,g,h,i,j,k;xCc(b,a.n);if(lH(a,13)){b.a+=" ";yCc(b,a.Di())}else if(a.n==(Nlc(),Tjc)){b.a+=" ";!a.c||a.c.n!=Ekc?(b.a+="",b):yCc(b,a.c.Di())}else if(a.n==Pkc){b.a+=" ";sCc(b,a.Bi())}if(c){h=tfc(a.k);if(h!=-1){b.a+=" ";b.a+=h}if(a.e!=0){b.a+=" [length: ";tCc(b,a.e);b.a+="]"}}if(d){g=eec(a);for(f=0;f",VWc),eLb(d))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),RWc,"_")+"$classextends$var"+a.a++);h=(uub(),Lub(c,new vwb));g=c.c.f;Nec(g,gfc((Zd(PBc(f,hCc(46))==-1, -iWc,f),Jdc(),new Jhc((Nlc(),Ekc),f)),g));e=jfc(K8b((Zd(PBc(f,hCc(46))==-1,iWc,f),new Jhc(Ekc,f)),g,rjc),g);Ldc(h.g,e,h);vub(Lub(c,new rwb(jlc)),(aXb(),iWb));b.c.Vg(c)}function sSb(a,b,c){var d,e;while(true)switch(b.f){case 14:if(a.i==(_Sb(),ZSb)){a.i=$Sb;b=kSb(a,b,c)}else b=!a.o?ETb(a.j):WRb(a);break;case 17:d=true;URb(a,c);if(Gbc(a.f)){a.e=Ebc(a.f);e=a.e.j;switch(e.f){case 0:case 2:QRb(a,Vb(e.e!=null?e.e:""+e.f));d=false}}return d;case 0:Ebc(a.f);PRb(a,"msg.unexpected.eof",a.j.g,DTb(a.j));URb(a, -c);return false;case 1:a.i==(_Sb(),$Sb)&&(a.i=ZSb);b=!a.o?ETb(a.j):WRb(a);break;default:if(b==(xTb(),vTb)&&a.i==(_Sb(),ZSb))b=!a.o?ETb(a.j):WRb(a);else{a.i=(_Sb(),$Sb);b=YRb(a,!a.o?ETb(a.j):WRb(a))}}}function pib(a,b,c,d){var e,f,g,h,i,j,k,l;Vd(c.n==(Nlc(),Zjc)||c.n==Yjc,c);Vd(b.n==slc,b);i=c.g;Ud(i.n==hjc);g=(uub(),Lub(b,new rwb(mjc)));j=g.c.f;if(!uec(j))return;f=c;e=(Jdc(),new Jhc(olc,QYc));Fec(e,(thc(),ahc),1);if($dc(d,lhc)!=0){h=hfc(Tdc(j,false),b);Gec(h,ehc,VVc);Mec(f,b,h);f=L2(a.a,Vdc(f),QYc); -Ndc(i,f);k=j3(a.a,g.d);Fec(k,ahc,1);Kdc(i,k,f);jfc(i,c)}else{h=hfc(L2(a.a,Tdc(j,false),PWc),b);Gec(h,ehc,VVc);Mec(b.g,b,h);f=L2(a.a,Vdc(f),QYc);Ndc(i,f);l=lib(g);k=j3(a.a,l);Fec(k,ahc,1);Kdc(i,k,f);Eec(i,rdc,false);jfc(i,c)}a.b.Vg(i)}function xTb(){xTb=S0;hTb=new yTb("EOF",0);iTb=new yTb("EOL",1);lTb=new yTb("LEFT_ANGLE",2);rTb=new yTb("RIGHT_ANGLE",3);wTb=new yTb(M_c,4);oTb=new yTb("LEFT_SQUARE",5);uTb=new yTb("RIGHT_SQUARE",6);mTb=new yTb("LEFT_CURLY",7);sTb=new yTb("RIGHT_CURLY",8);nTb=new yTb("LEFT_PAREN", -9);tTb=new yTb("RIGHT_PAREN",10);fTb=new yTb("COMMA",11);eTb=new yTb("COLON",12);kTb=new yTb(N_c,13);cTb=new yTb(O_c,14);pTb=new yTb("PIPE",15);vTb=new yTb("STAR",16);gTb=new yTb("EOC",17);qTb=new yTb("QMARK",18);dTb=new yTb("BANG",19);jTb=new yTb("EQUALS",20)}function d5(a,b,c){var d,e,f,g,h;e=a.c;h=e.f;d=m5(t5(l5(s5(new u5,new CNc),new CNc),h),e);uub();if(a.n==(Nlc(),mjc)&&qvb(a.g)&&a.n==mjc&&Tvb(a.c))k5(q5(r5(d,new wlb(a)),e),false);else if(b.n==Nic&&b.g.n==Njc){g=b.c;if(!uec(g))return null;k5(q5(r5(d, -new wlb(b.g)),g),true)}else if(b.n==Kjc)k5(q5(r5(d,new wlb(a)),e),false);else if(b.n==Ekc)k5(q5(r5(d,new wlb(b.g)),b.zi(false)),true);else return null;f=j5(d).d;n5(d,L2(c,Tdc(j5(d),false),PWc));o5(d,Uec(h9b(yG(tG(BX,1),kWc,7,0,[])),f));p5(d,Uec(h9b(yG(tG(BX,1),kWc,7,0,[])),f));return i5(d)}function DSb(a,b,c,d){var e,f,g,h,i;h=b.a;if(!MBc(h.substr(0,1),"="))return null;h=h.substr(1);e=h.indexOf("=:");e>=0?h=h.substr(0,e):a.c.gi(z_c+tic("msg.jsdoc.template.typetransformation.missingDelimiter",yG(tG(qZ, -1),xUc,1,5,[]))+A_c,(g=bec(a.n,(thc(),khc)),!g?null:g.ah()),c,d);h=eCc(h);if(h.length==0){a.c.gi(z_c+tic("msg.jsdoc.template.typetransformation.expressionMissing",yG(tG(qZ,1),xUc,1,5,[]))+A_c,(f=bec(a.n,(thc(),khc)),!f?null:f.ah()),c,d);return null}i=new GUb(h,bec(a.n,(thc(),khc)),a.c,c,d);if(!eUb(i))return null;return i.e}function _kb(a,b,c){var d,e,f,g,h,i,j,k;h=$dc(c,(thc(),lhc))!=0?b.e:b.f;i=c.n==(Nlc(),qjc)?Pub(h,c.c):Qub(h,c.Di());if(!i){i=Uec(h9b(yG(tG(BX,1),kWc,7,0,[h3(a.a,"configurable", -z2(a.a)),h3(a.a,kZc,z2(a.a))])),a.c);if(c.n==qjc)Mdc(h,D2(a.a,Tdc(c.c,false),i));else{k=h3(a.a,c.Di(),i);c.Fi()&&Eec(k,(Jdc(),Edc),true);Mdc(h,k)}}e=c.c?c.c.i:null;f=Ycc((uub(),g=Fub(e),!g?null:bec(g,Zgc)));Jcc(f,new bdc(new mfc(_ic,l9b(cec(b.g))),(d=bec(c,khc),!d?null:d.ah())));j=h3(a.a,c.n==$jc||$dc(c,(Jdc(),hdc))!=0?aXc:"set",Vdc(e));Tec(j,Ebc(f));Mdc(i,j);jfc(i,c)}function Xjb(a,b,c){var d,e,f,g,h;g=c.f;if(c.e){f=Uec((Zd(PBc(iZc,hCc(46))==-1,iWc,iZc),Jdc(),new Jhc((Nlc(),Ekc),iZc)),c.i);h=K8b(f, -Uec(new kfc(ylc),c.i),rjc);vub(b.f,(aXb(),iWb));jfc(h,g);Zjb(a,h);!c.c?Ndc(g,h):Kdc(g,h,c.c);a.a.Vg(h)}if(c.d){f=Uec((Zd(PBc(jZc,hCc(46))==-1,iWc,jZc),Jdc(),new Jhc((Nlc(),Ekc),jZc)),c.a);d=K8b(f,Uec((Zd(PBc(SVc,hCc(46))==-1,iWc,SVc),new Jhc(Ekc,SVc)),c.a),rjc);vub(b.f,(aXb(),iWb));Ndc(g,d);e=new Wcc(false);Mcc(e,new bdc(new mfc(_ic,new Jhc(olc,wWc)),""));Tec(d,Ebc(e));jfc(d,g);a.a.Vg(d)}}function jrb(a,b,c,d){var e;e=d==c.c;switch(c.n.f){case 92:return a;case 46:return d== -(c.c?c.c.i:null)?a:a.c?a:new lrb(a.a,true,a.b);case 60:case 62:return e?new lrb(c,true,a.a?a:null):a;case 61:return e?new lrb(c,false,a.a?a:null):a;case 66:return e?new lrb(c,true,a.a?a:null):hrb;case 41:case 47:return e==a.c?a:new lrb(a.a,e,a.b);case 25:case 19:case 4:case 5:case 36:case 37:return a.c?a:new lrb(a.a,true,a.b);case 28:return krb(a,!e&&erb(b,c));case 81:return hrb;default:return uub(),c.n!=(Nlc(),Ckc)&&Wvb(c.g)?hrb:a.c?new lrb(a.a,false,a.b):a}}function WZb(a){var b,c,d,e,f,g,h,i;h= -V_b(a.g,0).d.b;e=!!FYb(a,(S2b(),t2b));g=null;i=V_b(a.g,0).e;if(i==R1b)return kZb(a,true);else if(i==B1b||(gYb(),gYb(),!!ep(JXb,i)))g=DYb(a);else if(i==$1b)return UZb(a);else if(i==X1b||i==Z1b)return kZb(a,false);f=false;if(T$b(a,l2b)){BYb(a,l2b);f=true}if(T$b(a,Z1b)||T$b(a,X1b)){d=(b=b4b(g4b(a4b(d4b($3b(f4b(c4b(h4b(e4b(new i4b((n4b(),m4b)),g),false),e),f),null),MYb(a)),IZb(a,1)),LYb(a)),new N3b(new t7b(h,a.f))),Z3b(b,new t7b(h,a.f)));return d}else{c=LYb(a);return new G4b(new t7b(h,a.f),g,false,f, -null,c)}}function smb(a,b,c,d){var e,f,g,h,i,j,k;j=mmb(a,Jec(b));f=b.c;h=f.f;e=h.f;if($dc(f,(thc(),Tgc))==0&&$dc(h,Tgc)==0&&$dc(e,Tgc)==0){Ndc(b,j);Fec(b,Tgc,0);zmb(a,b);return}if(j.n!=(Nlc(),Djc)){_8b(j)&&(j=gfc((Vd(_8b(j),j),new mfc(Njc,j)),j));zmb(a,j)}k=new snb(a.a);i=Wmb(a.a,d);g=Wmb(a.a,c);fnb(a.a,k);if(f.n!=Djc){f=nmb(a,mmb(a,Vdc(f)));hnb(a.a,gfc(U8b(gfc(Oob(p9b(Mkc,f),a.f.a),f),Jmb(a.a,g,true,b)),b))}_mb(a.a,g,i);wmb(a,Vdc(e),null,null);Ymb(a.a);fnb(a.a,i);if(h.n!=Djc){h=mmb(a,Vdc(h));zmb(a, -gfc((Vd(_8b(h),h),new mfc(Njc,h)),h))}jnb(a.a,k,b);fnb(a.a,g)}function Nvb(a){uub();var b,c,d,e,f,g,h,i;f=(g=Fub(a),!g?null:bec(g,(thc(),Zgc)));if(!!f&&eac(f).a.length!=0)return false;e=a.g.n==(Nlc(),rjc)||!!f&&((f.a&37)!=0||(!f.d?null:f.d.d)!=null);c=bec(a,(thc(),khc));if(!(!!c&&c.ri())&&!e)return false;if(Mvb(a.g)){i=a;d=a.c}else if(a.n==Njc){b=a.c;if(b.n!=Nic||b.c.n!=Zjc)return false;i=b.c;d=b.c?b.c.i:null}else if(a.n==Zjc){h=a.g;if(h.n!=Nic||h.g.n!=Njc)return false;i=a;d=h.c?h.c.i:null}else return false; -if(!d||!i)return false;if(d.n==Rkc)return true;return d.n==Wkc&&Bec(i,d.c)&&(d.c?d.c.i:null).n==Rkc}function Vab(){Vab=S0;Uab=new Whb("JSC_PARTIAL_NAMESPACE",(l7(),k7),new $Cc("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."));Tab=new Whb("JSC_NAMESPACE_REDEFINED", -k7,new $Cc("namespace {0} should not be redefined"));new Whb("JSC_UNSAFE_THIS",k7,new $Cc("dangerous use of ''this'' in static method {0}"))}function kQb(a,b){var c,d,e,f,g,h;f=false;c=true;for(d=0;d>13|(a.m&15)<<9;e=a.m>>4&8191;f=a.m>>17|(a.h&255)<<5;g=(a.h&1048320)>>8;h=b.l&8191;i=b.l>>13|(b.m&15)<<9;j=b.m>>4&8191;k=b.m>>17|(b.h&255)<<5;l=(b.h&1048320)>> -8;B=c*h;C=d*h;D=e*h;F=f*h;G=g*h;if(i!=0){C+=c*i;D+=d*i;F+=e*i;G+=f*i}if(j!=0){D+=c*j;F+=d*j;G+=e*j}if(k!=0){F+=c*k;G+=d*k}l!=0&&(G+=c*l);n=B&IVc;o=(C&511)<<13;m=n+o;q=B>>22;r=C>>9;s=(D&262143)<<4;t=(F&31)<<17;p=q+r+s+t;v=D>>18;w=F>>5;A=(G&NVc)<<8;u=v+w+A;p+=m>>22;m&=IVc;u+=p>>22;p&=IVc;u&=JVc;return DG(m,p,u)}function pec(a,b,c,d,e,f){var g,h,i,j,k,l;if(a.n!=b.n||Ydc(a)!=Ydc(b)||a.Ik!=b.Ik)return false;if(c&&!Mmc(a.d,b.d))return false;if(e&&!Vac(bec(a,(thc(),Zgc)),bec(b,Zgc)))return false;l=bec(a, -(thc(),Bgc));k=bec(b,Bgc);if((!!l||!!k)&&(!l||!k||!pec(l,k,c,d,e,false)))return false;for(h=Qv(new cJc(Ddc.a.b.Xd()));h.Jd();){g=h.Kd();if(!Cd(g.Pd(a),g.Pd(b)))return false}if(f){if((~$dc(a,ihc)&31)!=(~$dc(b,ihc)&31))return false;if($dc(a,Ygc)!=0!=($dc(b,Ygc)!=0))return false}if(d)for(i=a.c,j=b.c;i;i=i.f,j=j.f)if(!i.Ei(j,c,d,e,f))return false;return true}function dZb(a,b){var c,d,e,f,g,h,i;i=V_b(a.g,0).d.b;HYb(a,rXc);g=V_b(a.g,0).d.b.b>a.f.b;(g||S$b(a,0,(S2b(),q2b))||S$b(a,0,(S2b(),a1b))||S$b(a,0, -(S2b(),o1b)))&&l_b(a,"No newline allowed between `async` and arrow function parameter list",yG(tG(qZ,1),xUc,1,5,[]));d=null;if(T$b(a,(S2b(),Z1b)))d=IZb(a,0);else{h=PZb(a);d=new X3b(h.o,(On(),new RB(Pd(h))))}f=V_b(a.g,0).d.b.b>a.f.b;(f||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b))&&l_b(a,C0c,yG(tG(qZ,1),xUc,1,5,[]));BYb(a,R0b);c=aZb(a,b,(H_b(),D_b));e=b4b(a4b(_3b(new i4b((n4b(),j4b))),d),c);return Z3b(e,new t7b(i,a.f))}function Ebb(b,c,d,e){var f;Fbb(b,e);d.a.length==0?bcb(b,new Jrb(null,null,-1,-1,Yab, -null,yG(tG(vZ,1),cWc,2,6,[]))):d.a[0].d.a.length==0&&d.a.length>1&&bcb(b,new Jrb(null,null,-1,-1,Zab,null,yG(tG(vZ,1),cWc,2,6,[d.a[0].e])));b.n=Lbb(c);try{b.C=new qsb(d)}catch(a){a=o0(a);if(lH(a,332)){f=a;bcb(b,new Jrb(null,null,-1,-1,abb,null,yG(tG(vZ,1),cWc,2,6,[f.b.e,f.a.e])));return}else throw p0(a);}kbb(b,b.C?new kHc(b.C.a):null);isb(b.C);new _Qc;zg(b.u,b.I.Mb);Dbb(b);b.w=k9b(yG(tG(BX,1),kWc,7,0,[]));b.p=k9b(yG(tG(BX,1),kWc,7,0,[]));b.j=k9b(yG(tG(BX,1),kWc,7,0,[b.p,b.w]))}function gRb(a,b){var c, -d,e,f,g,h,i,j,k,l,m;switch(b.p.f){case 75:return f=JQb(a,b),g=f.c,h=wPb(a.a,(Nlc(),plc),g.Di()),KPb(h,g),Fec(h,(thc(),Xgc),1),Mdc(h,f),h;case 35:return hRb(a,b);case 36:c=b;return pPb(a.a,c,(aXb(),gWb)),i=MPb(a.a,c.a),j=c.b,k=(j.p==(L6b(),t5b)?l=JQb(a,j):j.p==L5b?l=_Qb(a,j.a):l=OPb(a.a,j),l),m=tPb(a.a,(Nlc(),qjc),i,k),tfc(m.k)==-1&&JPb(m,c.o.b,c.o.a),m;case 66:pPb(a.a,b,(aXb(),HWb));e=OPb(a.a,b.a);d=sPb(a.a,(Nlc(),Tkc),e);tfc(d.k)==-1&&JPb(d,b.o.b,b.o.a);return d;default:throw p0(new PAc("Unexpected object pattern element: "+ -b));}}function GQb(a,b){var c,d,e,f,g,h,i,j,k;pPb(a.a,b,(aXb(),dWb));j=ERb(a,b.d,b);qQb(a,j,b.b);k=FRb(a,b.e,b);k.n==(Nlc(),Djc)||(a.a.f=HVb(a.a.f,eWb));i=DRb(a,ckc,b.c);c=rPb(a.a,njc);tfc(c.k)==-1&&JPb(c,b.o.b,b.o.a);h=false;for(e=b.a.Xd();e.Jd();){d=e.Kd();switch(d.p.f){case 89:case 90:wQb(a,d,BWb)}switch(d.p.f){case 37:case 39:case 33:case 34:a.a.f=HVb(a.a.f,fWb)}f=GRb(a,d);if(f){h&&a.a.e.fi("Class may have only one constructor.",a.a.s,(cPb(),d.o.b.b+1),d.o.b.a);h=true}Mdc(c,MPb(a.a,d))}g=uPb(a.a, -mjc,j,k,c);if(i.n!=Djc){wQb(a,b,uWb);Gec(g,(Jdc(),vdc),i)}return g}function Knb(){Knb=S0;new Whb("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST",(l7(),i7),new $Cc("The left side of a goog.require() or goog.requireType() must use ''const'' (not ''let'' or ''var'')"));new Whb("JSC_REQUIRE_TYPE_FOR_ES6_SHOULD_BE_CONST",i7,new $Cc("goog.requireType alias for ES6 module should be const."));new Whb("JSC_FORWARD_DECLARE_FOR_ES6_SHOULD_BE_CONST",i7,new $Cc("goog.forwardDeclare alias for ES6 module should be const.")); -new Whb("JSC_SHOULD_IMPORT_ES6_MODULE",k7,new $Cc("ES6 modules should import other ES6 modules rather than goog.require them."))}function cxb(a,b){var c,d,e,f,g,h,i,j,k;if($dc(b,(Jdc(),pdc))!=0)return;c=b.c;uub();if(!!c&&(c.n==(Nlc(),Hlc)||c.n==wkc||c.n==rjc)||c.n==(Nlc(),Tjc)&&qvb(c.g)&&(c.n==Tjc&&Tvb(c.c))||c.n==(Nlc(),mjc)&&qvb(c.g)&&(c.n==mjc&&Tvb(c.c))){Hec(b,c);g=gfc(new kfc((Nlc(),Mjc)),b);Ndc(b,g);if(c.n==mjc||c.n==Tjc){j=QHc(c.c);Ldc(b.g,c,b)}else{j=Eub(c);for(e=(!c.c?(JHc(),JHc(),IHc):new whc(c.c)).Xd();e.Jd();){d= -e.Kd();Hec(c,d);k=gfc(new mfc(c.n,d),b);Ldc(b.g,k,b)}}for(i=j.Xd();i.Jd();){h=i.Kd();f=gfc(new kfc(Ljc),h);Ndc(f,h.zi(false));Ndc(f,h.zi(false));Mdc(g,f)}a.b.Vg(b.g)}}function dAb(a,b,c){var d,e,f,g,h;if(a.f==c&&lec(a.f))Szb(a.e,b,a);else if(a.a)switch(c.n.f){case 29:if(Dec(c,SVc,SVc.length)){c.Ii(hWc);a.a.a.b=true;a.e.b.Ug(a.f)}break;case 33:Mec(c.g,c,aAb(a.a));a.e.b.Ug(a.f);break;case 99:{f=c.g;f.n==(Nlc(),Zjc)||a.e.b.Tg(Orb(f,(Hob(),Gob),yG(tG(vZ,1),cWc,2,6,["super expression"])));g=f;h=cAb(a.a, -g);d=A2(h.b.a,V2(h.b.a,h.c,h.d),yG(tG(BX,1),kWc,7,0,[]));e=g.g;if(e.n==hjc&&e.c==g){d=L2(a.e.a,d,QYc);Kdc(e,gfc(l3(a.e.a,a.a.f),g),g);a.a.a.c=true}hfc(d,g);Mec(e,g,d);a.e.b.Ug(a.f)}break;case 104:Mec(c.g,c,n3(a.e.a,c.d,Jec(c)))}}function oZb(a,b){var c,d;if(T$b(a,(S2b(),q2b)))return vZb(a);else{d=new K_b(V_b(a.g,0).d.b);d.b=b;d.a=a.b.d&&XLc(TLc(k2b,yG(tG(CU,1),DUc,14,0,[j2b,i2b])),V_b(a.g,0).e)?PYb(a).e:null;d.c=!!FYb(a,x2b);return S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,aXc)&&(a_b(a,1)||V_b(a.g,1).e==$1b)? -NZb(a,d):S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,"set")&&(a_b(a,1)||V_b(a.g,1).e==$1b)?y$b(a,d):S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,rXc)&&(c=V_b(a.g,1).d.b.b>V_b(a.g,0).d.a.b,!(c||S$b(a,1,q2b)||S$b(a,1,a1b)||S$b(a,1,o1b)))&&(a_b(a,1)||V_b(a.g,1).e==$1b||S$b(a,1,t2b)&&(a_b(a,2)||V_b(a.g,2).e==$1b))?fZb(a,d):qZb(a,d)}}function mF(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new kF;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=o0(a);if(lH(a,40)){d=a;throw p0(new nF("JSON parse exception: "+d));}else throw p0(a);}q=f;jF(c, -q.version);eF(c,q.file);c.c=-1;fF(c,q.mappings);if(q.sections!=null){l=(On(),new vs);for(n=q.sections,o=0,p=n.length;o0&&!(b.c.a.length>vVc.length&&MBc(vVc,Fzc(b.c,b.c.a.length-vVc.length)))&&Wcb(b,vVc);Ud(c.n==(Nlc(),jlc));f=a.I.Kb;i=bec(c,(thc(),Rgc)).a;n=(g=bec(c,khc),!g?null:g.ah());Ud(n!=null);Ud(n.length!=0);f=WBc(WBc(WBc(f,"%name%",gSc(i)),"%num%",""+d),"%n%",vVc);Wcb(Wcb(b,f),vVc)}if(bec(c,(thc(),Zgc))){l=V9b(bec(c, -Zgc));l!=null&&qMc(b.d,l)&&Wcb(Wcb(Wcb(b,"/*\n"),l),"*/\n")}e=jcb(a,c,d==0);if(e.length!=0){Wcb(b,e);k=e.length;j=e.charCodeAt(k-1);m=k>=2?e.charCodeAt(k-2):0;h=j==59||j==10&&m==59;h||Wcb(b,";")}return null}function F$b(a,b){var c,d,e,f,g,h,i;f=!b?V_b(a.g,0).d.b:b.o.b;h=PYb(a);lH(h,257)||i_b(a,h,"Unexpected template literal token %s.",yG(tG(qZ,1),xUc,1,5,[T2b(h.e)]));e=!!b;g=h;e||g.a!=null&&k_b(a,g.b,yG(tG(qZ,1),xUc,1,5,[g.a]));c=(On(),new vs);ts(c,new W6b(g.d,g));if(g.e==(S2b(),U1b))return new V6b(new t7b(f, -a.f),b,Wn(c.a));d=QYb(a,1);ts(c,new X6b(d.o,d));while(!a.c.d){g=(i=S_b(a.g),a.f=i.d.a,i);if(g.e==t1b||g.e==o1b)break;e||g.a!=null&&k_b(a,g.b,yG(tG(qZ,1),xUc,1,5,[g.a]));ts(c,new W6b(g.d,g));if(g.e==D2b)break;d=QYb(a,1);ts(c,new X6b(d.o,d))}return new V6b(new t7b(f,a.f),b,Wn(c.a))}function EG(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw p0(new Lzc("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(AG=DG(0,0,0));return DG(0,0,0)}if(b.h==KVc&&b.m==0&&b.l==0)return FG(a,c);i=false;if(b.h>>19!= -0){b=TG(b);i=!i}g=LG(b);f=false;e=false;d=false;if(a.h==KVc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=CG((eH(),aH));d=true;i=!i}else{h=VG(a,g);i&&JG(h);c&&(AG=DG(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=TG(a);d=true;i=!i}if(g!=-1)return GG(a,g,i,f,c);if(QG(a,b)<0){c&&(f?AG=TG(a):AG=DG(a.l,a.m,a.h));return DG(0,0,0)}return HG(d?a:DG(a.l,a.m,a.h),b,i,f,e,c)}function nG(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.tg(HVc,FVc,-1,-1);k=eCc(b);MBc(k.substr(0,3),"at ")&&(k=k.substr(3)); -k=k.replace(/\[.*?\]/g,"");g=k.indexOf("(");if(g==-1){g=k.indexOf("@");if(g==-1){j=k;k=""}else{j=eCc(k.substr(g+1));k=eCc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=eCc(k.substr(0,g))}g=PBc(k,hCc(46));g!=-1&&(k=k.substr(g+1));(k.length==0||MBc(k,"Anonymous function"))&&(k=FVc);h=RBc(j,hCc(58));e=SBc(j,hCc(58),h-1);i=-1;d=-1;f=HVc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=iG(j.substr(e+1,h-(e+1)));d=iG(j.substr(h+1))}return a.tg(f,k,i,d)}function r6(a,b){var c,d,e,f;if(!a||!b)return!a&& -!b;if(!a.Ei(b,false,false,false,true))return false;if(Ydc(a)!=Ydc(b))return false;if(a.n==(Nlc(),Tjc)&&b.n==Tjc){uub();if((a.n==Tjc&&qvb(a.g)&&a.n==Tjc&&Tvb(a.c))!=(b.n==Tjc&&qvb(b.g)&&b.n==Tjc&&Tvb(b.c)))return false}if(!!a.g&&a.g.n==Ykc)if($dc(a,(thc(),Ygc))!=0!=($dc(b,Ygc)!=0))return false;e=a.c;c=b.c;while(!!e&&!!c){if(e.n==Tjc||e.n==jlc){if(c.n!=e.n)return false;if(e.n==Tjc&&(uub(),e.n==Tjc&&qvb(e.g)&&e.n==Tjc&&Tvb(e.c))){f=e.c.Di();d=c.c.Di();if(!MBc(f,d))return false}}else if(!r6(e,c))return false; -e=e.f;c=c.f}return true}function KYb(a,b){var c,d,e,f,g,h,i;if(b.p==(L6b(),L5b)){f=b.a;return MBc(f.a,rXc)&&(h=V_b(a.g,0).d.b.b>a.f.b,!(h||S$b(a,0,(S2b(),q2b))||S$b(a,0,(S2b(),a1b))||S$b(a,0,(S2b(),o1b))))&&(i=V_b(a.g,0).e,(S2b(),B1b)==i||a.b.d&&nYb(i)||!a.b.c&&mYb(i))&&(g=V_b(a.g,1).d.b.b>V_b(a.g,0).d.a.b,!(g||S$b(a,1,(S2b(),q2b))||S$b(a,1,(S2b(),a1b))||S$b(a,1,(S2b(),o1b))))&&S$b(a,1,(S2b(),R0b))}else if(b.p==b5b){d=b;e=d.b;c=d.a;return e.p==L5b&&MBc(e.a.a,rXc)&&e.o.a.b==c.o.b.b&&(g=V_b(a.g,0).d.b.b> -a.f.b,!(g||S$b(a,0,(S2b(),q2b))||S$b(a,0,(S2b(),a1b))||S$b(a,0,(S2b(),o1b))))&&T$b(a,(S2b(),R0b))}else return false}function kKb(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new FGc(a.f);l.a",VWc),eLb(b)))),j);for(f=j.Uh().Xd();f.Jd();){e=f.Kd();hDc(a.b,e,j)}}for(m= -new FGc(a.f);m.aa.f.b,(h||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b))&&l_b(a,C0c,yG(tG(qZ,1),xUc,1,5,[])),BYb(a,R0b),i=aZb(a,b,(H_b(),G_b)),j=b4b(a4b(new i4b((n4b(),j4b)),g),i),Z3b(j,IYb(a,g.o.b)));if(V$b(a)){c=m_b(a,c);if(!Z2b(c)){l_b(a,D0c,yG(tG(qZ,1),xUc,1,5,[]));return new H4b(IYb(a,V_b(a.g,0).d.b))}d=PYb(a);e=bZb(a,b);return new g3b(new t7b(f,a.f),c,d,e)}return c}function EBb(a,b,c){var d,e,f,g,h,i,j,k;if(uec(c)&&yBb(a.b.b,c)){h=cec(c);f=false;for(e=(nBb(),lBb).Xd();e.Jd();){d=e.Kd(); -if(MBc(h.substr(0,d.length),d)){h=aCc(h,d.length);f=true;break}}i=ep(a.b.b.b,h);!!i&&!f&&(k=$ub(c),k.n!=(Nlc(),Ekc)||!!t1(Rtb(b),k.Di()))&&(i=null);if(!!i&&!brb(a,h)){qBb(a.b,i.c)||aub(b,c,mBb,yG(tG(vZ,1),cWc,2,6,[h,GVb(heb(a.b.a.Hg()))]));!qBb(a.b,i.b)&&i.a.length!=0&&qMc(a.a,i.a);return}}if(c.n==(Nlc(),Zjc)&&(c.c?c.c.i:null).n==olc){h=(c.c?c.c.i:null).Di();g=xm(a.b.b.a,h);if(!g.Wd()&&!brb(a,"."+h))for(j=g.Xd();j.Jd();){i=j.Kd();!qBb(a.b,i.b)&&i.a.length!=0&&qMc(a.a,i.a)}}return}function M7b(a){var b, -c,d,e,f;if(a.a==null)return a.b.k=false,F7b(a,uUc,0);if(!nH(a.a))throw p0(C7b(a));e=P7b(a);if(e!=null)return e;b=a.b.b;b!=97&&b!=65&&a.b.n==-1&&(a.b.n=6,undefined);d=new BCc;switch(b){case 97:case 65:H7b(a);break;case 101:case 69:I7b(a,d);break;case 102:J7b(a,d);break;case 103:case 71:Q7b(a,d);break;default:throw p0(i8b(a.b));}a.b.n=-1;f=0;if(45==d.a.charCodeAt(0)){if(a.b.g)return R7b(a,d)}else{if(a.b.j){ACc(d,0,String.fromCharCode(32));++f}if(a.b.d){ACc(d,0,String.fromCharCode(43));++f}}c=d.a.charCodeAt(0); -a.b.k&&(c==43||c==45)&&(f=1);(b==97||b==65)&&(f+=2);return F7b(a,d,f)}function umb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;e=mmb(a,Jec(b));i=b.c;f=i.f;if($dc(i,(thc(),Tgc))==0&&(!f||$dc(f,Tgc)==0)){Ndc(b,e);Fec(b,Tgc,0);zmb(a,b);return}Vdc(i);!f?f=gfc((d=new kfc((Nlc(),ejc)),d),b):Vdc(f);if($dc(i,Tgc)!=0&&$dc(f,Tgc)==0){e=gfc(Oob(p9b((Nlc(),Mkc),e),a.f.a),e);n=i;i=f;f=n}if($dc(i,Tgc)==0){h=Wmb(a.a,c);k=Jmb(a.a,h,false,i);while(k.c){l=Jec(k);Fec(l,Ugc,1);Mdc(i,l)}zmb(a,gfc(U8b(e,i),b));wmb(a,f,null,null); -fnb(a.a,h);return}j=new snb(a.a);g=Wmb(a.a,c);e=nmb(a,e);m=Jmb(a.a,j,true,b);hnb(a.a,gfc(U8b(nmb(a,e),m),b));wmb(a,f,null,null);jnb(a.a,g,f);fnb(a.a,j);wmb(a,i,null,null);fnb(a.a,g)}function O3(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;switch(b.n.f){case 98:_3(a,(aXb(),AWb),b);C4(b);j=Plc(b.n);j!=-1&&(e=Ydc(b),j!=e&&Z4(AWc+j+BWc+e,b));n=b.c;c?a4(a,n,true):a4(a,n,false);break;case 86:case 87:_3(a,(aXb(),fWb),b);C4(b);B4(a,b);k=Plc(b.n);k!=-1&&(f=Ydc(b),k!=f&&Z4(AWc+k+BWc+f,b));m=b.c;c?a4(a,m,true):a4(a,m,false); -break;case 161:g=Ydc(b);0!=g&&Z4(yWc+g,b);break;case 118:S3(a,b);break;case 162:l=Plc(b.n);l!=-1&&(h=Ydc(b),l!=h&&Z4(AWc+l+BWc+h,b));M3(b.c,0);break;case 163:i=Plc(b.n);i!=-1&&(d=Ydc(b),i!=d&&Z4(AWc+i+BWc+d,b));break;case 80:break;default:Z4("Class contained member of invalid type "+b.n,b)}}function Qbb(b){var c,d,e,f,g,h,i;b.I.cc>1&&(new Kyb,hv(kv(new kHc(b.C.a),new ssb)));f=Vn(hv(kv(new kHc(b.C.a),new ssb)));Mbb(f);i=false;if(b.I._.b!=(Pgb(),Lgb)){for(e=new kw(Pv(ov(hv(kv(new kHc(b.C.a),new ssb)).a), -new lv));iw(e);){d=jw(e);for(h=udb(d).f.Xd();h.Jd();){g=h.Kd();qMc(b.r,g)}}try{psb(b.C,b,b.I._);i=true}catch(a){a=o0(a);if(lH(a,225)){c=a;bcb(b,new Jrb(null,null,-1,-1,$ab,null,yG(tG(vZ,1),cWc,2,6,[c.g])))}else if(lH(a,336)){c=a;bcb(b,new Jrb(null,null,-1,-1,_ab,null,yG(tG(vZ,1),cWc,2,6,[c.g])))}else throw p0(a);}}zbb(b,f);kbb(b,b.C?new kHc(b.C.a):null);Bbb(b);i&&(kbb(b,b.C?new kHc(b.C.a):null),Dbb(b))}function KEb(a,b){JEb();ieb(b,(AVb(),wVb))&&dGc(a,FEb);if(ieb(b,kVb)){dGc(a,CEb);dGc(a,IEb)}if(ieb(b, -uVb)){dGc(a,LEb("markTrailingCommasInParameterListsRemoved",(aXb(),YWb),yG(tG(lU,1),DUc,25,0,[])));dGc(a,BEb)}ieb(b,sVb)&&dGc(a,GEb);if(ieb(b,qVb)){dGc(a,LEb("markEs6FeaturesNotRequiringTranspilationAsRemoved",(aXb(),aWb),yG(tG(lU,1),DUc,25,0,[IWb,MWb,NWb])));dGc(a,sEb);dGc(a,wEb);dGc(a,nEb);dGc(a,tEb);dGc(a,zEb);dGc(a,MEb((Zlb(),Xlb)));dGc(a,uEb);dGc(a,pEb);dGc(a,vEb);dGc(a,yEb);dGc(a,AEb);dGc(a,qEb);dGc(a,EEb);dGc(a,DEb);dGc(a,HEb);dGc(a,oEb)}else if(jeb(b,(aXb(),HWb))){dGc(a,tEb);dGc(a,zEb);dGc(a, -MEb((Zlb(),Ylb)))}}function tF(a){qF();var b,c,d;d=new CCc;d.a+='"';for(c=0;c=2&&(a.charCodeAt(c-1)==45&&a.charCodeAt(c-2)==45||a.charCodeAt(c-1)==93&&a.charCodeAt(c-2)==93)?(d.a+="\\u003e",d):(d.a+=String.fromCharCode(b),d);break;case 60:UBc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):UBc(a,false, -c+1,"!--",0,3)?(d.a+="\\u003c",d):(d.a+=String.fromCharCode(b),d);break;default:b>31&&b<=127?(d.a+=String.fromCharCode(b),d):sF(d,b)}}d.a+='"';return d.a}function UDb(a){var b,c,d,e,f;f=a.d.d;a.b=Rub(f);switch(f.n.f){case 65:{e=f.c;b=e.f;Ud(b.n==(Nlc(),Ykc));SDb(a,a.d,b);d=e.Di();d.length!=0&&(uub(),f.n==Tjc&&!(f.n==Tjc&&qvb(f.g)&&f.n==Tjc&&Tvb(f.c))&&!Lvb(f))&&TDb(a,a.d,e);return}case 96:{c=f.c;c.n!=(Nlc(),Djc)&&(uub(),f.n==mjc&&(!(f.n==mjc&&Tvb(f.c))||!qvb(f.g)))&&TDb(a,a.d,c);return}case 81:case 85:Vd(!a.d.b, -a.d);VDb(a,f,a.d,a.d);return;case 112:VDb(a,f,a.d,a.d);return;case 72:case 101:case 102:case 73:case 67:VDb(a,f,null,a.d);return;case 82:uub();f.n==(Nlc(),ejc)&&!!f.g&&f.g.n==Tjc?VDb(a,f,a.d,a.d):VDb(a,f,null,a.d);return;default:throw p0(new CF("Illegal scope root: "+f));}}function Xtc(a){auc(a,Ttc(a,(xtc(),msc)));auc(a,Ttc(a,qsc));auc(a,Ttc(a,ssc));auc(a,Ttc(a,osc));auc(a,Ttc(a,usc));auc(a,Ttc(a,vsc));auc(a,Ttc(a,Ksc));auc(a,Ttc(a,Gsc));auc(a,Ttc(a,Isc));auc(a,Ttc(a,Csc));auc(a,Ttc(a,ysc));auc(a, -Ttc(a,Osc));auc(a,Ttc(a,Msc));auc(a,Ttc(a,Psc));auc(a,Ttc(a,Rsc));auc(a,Ttc(a,Wsc));$tc(a,Ttc(a,Wsc),"Null");auc(a,Ttc(a,Zsc));auc(a,Ttc(a,dtc));auc(a,Ttc(a,gtc));auc(a,Ttc(a,itc));auc(a,Ttc(a,ktc));auc(a,Ttc(a,mtc));auc(a,Ttc(a,otc));auc(a,Ttc(a,qtc));auc(a,Ttc(a,rtc));$tc(a,Ttc(a,stc),v1c);auc(a,Ttc(a,wtc));$tc(a,Ttc(a,wtc),"Undefined");$tc(a,Ttc(a,wtc),JXc);$tc(a,Ttc(a,ttc),WYc);$tc(a,Ttc(a,Dsc),"Global")}function MTc(a,b){var c,d,e,f,g,h,i,j,k;e=0;for(i=0;ib)throw p0(new Nzc(I1c));}f=vG(uH,pUc,50,e,15,1);k=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128)throw p0(new xsb("Invalid UTF8 sequence at "+(h-1)+", byte="+(j=c>>>0,j.toString(16))));d=d<<6|c& -63}k+=fAc(d,f,k)}return f}function __b(a,b,c){var d,e,f,g,h,i,j;j=a.f-1;e=c==92;d=false;h=e?1:0;c=P_b(a,a.f)?HBc(a.b,a.f):0;while(z0b(c)||c==92||c==123&&h==2||c==125&&d){c==92&&(e=true);(c==92||h>0)&&++h;c==123&&(d=true);if(c==125||h>=6&&!d){d=false;h=0}Q_b(a);c=P_b(a,a.f)?HBc(a.b,a.f):0}i=bCc(a.b,j,a.f);if(e){i=G0b(i);if(i==null){W_b(a,O_b(a,a.f),I0c,yG(tG(qZ,1),xUc,1,5,[]));return L_b(a,(S2b(),t1b),b)}}g=i.charCodeAt(0);if(!A0b(g)){W_b(a,rYb(a.g,b),"Character '%c' (U+%04X) is not a valid identifier start char", -yG(tG(qZ,1),xUc,1,5,[hAc(g),dBc(g)]));return L_b(a,(S2b(),t1b),b)}f=jYb(i,a.i);if(f)return new fXb(f.b,sYb(a.g,b,a.f));return new hXb(sYb(a.g,b,a.f),i)}function _8b(a){switch(a.n.f){case 65:case 96:return true;case 13:case 62:case 42:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 104:case 3:case 1:case 20:case 2:case 28:case 92:case 46:case 64:case 24:case 16:case 4:case 18:case 34:case 9:case 26:case 27:case 8:case 60:case 125:case 40:case 63:case 41:case 7:case 10:case 6:case 17:case 15:case 29:case 5:case 22:case 23:case 124:case 19:case 30:case 32:case 43:case 61:case 21:case 38:case 11:case 36:case 37:case 31:case 14:case 99:case 120:case 119:case 33:case 25:case 35:case 12:case 79:case 103:return true; -default:return false}}function eac(a){var b,c,d,e,f,g,h,i,j,k,l;e=new nGc;!!a.i&&dGc(e,a.i.a);!!a.g&&dGc(e,a.g.a);if(a.d){!!a.d.a&&dGc(e,a.d.a.a);if(a.d.f)for(d=new FGc(a.d.f);d.a>24}this.e=e;j=vG(m0,{1175:1,3:1},50,this.d,16,1);for(h=0;h1&&(new Kyb,hv(kv(new kHc(a.C.a),new ssb)));e=new nGc; -i=new mMc;h=new mMc;for(g=new kw(Pv(ov(hv(kv(new kHc(a.C.a),new ssb)).a),new lv));iw(g);){f=jw(g);a.I._.b!=(Pgb(),Mgb)&&udb(f).f.Wd()&&(e.a[e.a.length]=f,true);hDc(h,J5(K5(vdb(f).a)),f);for(m=udb(f).f.Xd();m.Jd();){l=m.Kd();MBc(l.substr(0,7),UXc)||(l==null?MMc(i.d,null,f):fNc(i.e,l,f))}}for(k=Qv(new cJc(a.I._.a.a.b.Xd()));k.Jd();){j=k.Kd();f=eDc(i,J5(j));!f&&(f=eDc(h,J5(j)));!!f&&(e.a[e.a.length]=f,true)}n=mB(new kw(Pv(ov(hv(kv(new kHc(a.C.a),new ssb)).a),new lv)));for(d=new FGc(e);d.a=14&&k<=16)))if(b.a.ue(d)){!c.a?c.a=new ECc(c.d):yCc(c.a,c.b);vCc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=uG(d),!(l>=14&&l<=16)),d);j=new vMc(b);nPc(c, -NGc(h,j))}else lH(d,1175)?nPc(c,iHc(d)):lH(d,443)?nPc(c,bHc(d)):lH(d,76)?nPc(c,cHc(d)):lH(d,1184)?nPc(c,hHc(d)):lH(d,150)?nPc(c,fHc(d)):lH(d,639)?nPc(c,gHc(d)):lH(d,1185)?nPc(c,eHc(d)):lH(d,1186)&&nPc(c,dHc(d));else nPc(c,d==null?uUc:W0(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function oob(a,b){var c,d,e,f,g,h;if(b.n==(Nlc(),Kic))nob(a,b);else if(b.n==hjc)pob(a,b);else{Hd(b.n==Kkc,b);Gd(b.n==Kkc);c=Jec(b);d=kob(a,b);d.a[0].n==Kic?e=iGc(d,0):e=Uec(B8b(yG(tG(BX,1),kWc,7,0,[])),a.a);Ndc(e, -Uec(new kfc(Nkc),a.f));f=d.a.length==0?e:Uec(H8b(Uec(R8b(e,(Jdc(),new Jhc(olc,xZc))),a.d),mGc(d,vG(BX,kWc,7,0,0,1))),a.a);CVb((AVb(),oVb),heb(a.c.Hg()))&&Job(a.c,b,'"..." passed to a constructor (consider using --language_out=ES5)');g=lob(Uec(T8b(lob(Uec((Zd(PBc(WYc,hCc(46))==-1,iWc,WYc),Jdc(),new Jhc(Ekc,WYc)),a.e),PWc),"bind",yG(tG(vZ,1),cWc,2,6,[])),a.i),TYc);h=Uec(e9b(job(g,yG(tG(BX,1),kWc,7,0,[c,f])),yG(tG(BX,1),kWc,7,0,[])),b.d);jfc(h,b);Mec(b.g,b,h);a.c.Vg(h)}}function CPc(a,b,c){var d,e,f, -g,h,i,j,k,l,m,n;if(!a.b)return false;g=null;m=null;i=new eQc(null,null);e=1;i.a[1]=a.b;l=i;while(l.a[e]){j=e;h=m;m=l;l=l.a[e];d=a.a.xf(b,l.d);e=d<0?0:1;d==0&&(!c.c||tOc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!yPc(l.a[e]))if(yPc(l.a[1-e]))m=m.a[j]=FPc(l,e);else if(!yPc(l.a[1-e])){n=m.a[1-j];if(n)if(!yPc(n.a[1-j])&&!yPc(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;yPc(n.a[j])?h.a[f]=EPc(m,j):yPc(n.a[1-j])&&(h.a[f]=FPc(m,j));l.b=h.a[f].b=true;h.a[f].a[0].b=false;h.a[f].a[1].b=false}}}if(g){c.b= -true;c.d=g.e;if(l!=g){k=new eQc(l.d,l.e);DPc(a,i,g,k);m==g&&(m=k)}m.a[m.a[1]==l?1:0]=l.a[!l.a[0]?1:0];--a.c}a.b=i.a[1];!!a.b&&(a.b.b=false);return c.b}function bHb(a,b){var c,d,e,f,g,h,i;i=b.d;Ud(b.n==(Nlc(),Tjc)||!!i.rj());if(!i||i.kj())return"";c=i.rj();if(i.zd(Ttc(a.b,(xtc(),ttc))))return"/** @type {!Function} */\n";g=new ECc("/**\n");e=null;!!b&&b.n==Tjc&&(e=(uub(),Gd(b.n==Tjc),b.c.f).c);YGb(a,g,c,e);f=c.b.b;if(!!f&&!(f.cj()||f.aj()||f.bj()||f==Ttc(f.D,Ssc))&&c.i!=(prc(),nrc)&&!(c.Zi()&&f.lj())){g.a+= -S$c;kHb(g,pXc,bmc(f,new BCc,true).a);g.a+=vVc}if(c.Zi()){XGb(g,c);g.a+=" * @constructor\n"}else if(c.i==(prc(),nrc))ZGb(g,c);else{h=kmc(c.o)?Ttc(c.D,vtc):c.o;if(!!h&&!h.kj()&&!h.lj())if(!b||!h.zd(_Gb(a,b))){g.a+=S$c;kHb(g,XVc,bmc(h,new BCc,true).a);g.a+=vVc}}$Gb(g,(d=c.F,d.c.If(d.c.$d()-c.w,d.c.$d())));g.a+=" */\n";return g.a}function Zob(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.g;q=a.i+CZc+(""+a.e.a.S++);i=b.c;p=i.f;m=b.c?b.c.i:null;Wdc(b);g=null;s=gfc((f=new kfc((Nlc(),ejc)),f),b);h=gfc((e= -new kfc(ejc),e),b);switch(b.n.f){case 60:g=i;Ndc(s,ewb(epb(p,d,q)));Ndc(h,ewb(epb(m,d,q)));break;case 62:g=epb(i,d,q);Ndc(s,ewb(epb(m,d,q)));break;case 61:g=epb(i,d,q);Ndc(h,ewb(epb(m,d,q)));break;default:throw p0(new PAc("Unexpected expression: "+b));}h.c?k=(Ud(_8b(g)),Ud(s.n==ejc),Ud(h.n==ejc),new pfc(bkc,g,s,h)):k=U8b(g,s);ifc(k,b);if(d){r=jfc(jwb(q,null),b);Uec(r.c,a.k);l=c.g;Ldc(l,r,c);Kdc(l,k,r);o=Oob((Zd(PBc(q,hCc(46))==-1,iWc,q),Jdc(),new Jhc(Ekc,q)),b.d);Mec(n,b,o)}else{Gd(n.n==Njc);j=n.g; -Mec(j,n,k)}return k}function G7b(a,b,c){var d,e,f;a.b=b;a.a=c;if(!b.d&&!b.e&&!b.f&&!b.g&&!b.i&&!b.j&&!b.k&&b.p==-1&&b.n==-1)switch(b.b){case 115:if(a.a==null)return uUc;case 100:if(lH(a.a,129)||lH(a.a,156)){e=W0(a.a);return e}}d8b(a.b,a.a);switch(b.b){case 66:case 98:f=(mH(a.a)?e=W0(a.a):a.a==null?e=EXc:e=FXc,F7b(a,e,0));break;case 72:case 104:f=N7b(a);break;case 83:case 115:f=(d=nCc(a.a),F7b(a,d,0));break;case 67:case 99:f=K7b(a);break;case 100:case 111:case 120:case 88:f=O7b(a);break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:f= -M7b(a);break;case 37:f=F7b(a,"%",0);break;case 110:f=vVc;break;case 116:case 84:f=L7b(a);break;default:throw p0(i8b(b));}eAc(b.b)&&f!=null&&(f=Wb(W0(f)));return f}function Dob(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=_0(a.c);m=a.c.Mg();p=Mob(c,m,(xtc(),otc));d=Lob(c,m,msc,p);q=Mob(c,m,Psc);t=Mob(c,m,wtc);k=Mob(c,m,dtc);r=b.c?b.c.i:null;i=Bob(r,q,p,t,k);o=(Hob(),!!q&&(i.d=q,i),i);g=Oob(c9b("$jscomp$templatelit$"+(""+a.c.Ng().a.S++)),q);s=jfc(K8b(g,o,(Nlc(),Hlc)),b);n=(uub(),Lub(b,new rwb(jlc))); -Ndc(n,s);a.c.Vg(s);if(Aob(r))j=jfc(N8b(w2(e,L2(e,g.zi(false),"raw"),A2(e,L2(e,g.zi(false),"slice"),yG(tG(BX,1),kWc,7,0,[])))),b);else{l=Cob(r,d,p);j=jfc(N8b(w2(e,L2(e,g.zi(false),"raw"),l)),b)}Kdc(n,j,s);f=Oob(H8b(Jec(b),yG(tG(BX,1),kWc,7,0,[g.zi(false)])),b.d);for(h=r.c;h;h=h.f)h.n==wlc||Mdc(f,Jec(h));jfc(f,r);Eec(f,(Jdc(),rdc),f.c.n!=Zjc);Mec(b.g,b,f);bub(a)}function jbb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;l=c||!a.I.ad;if(xNc(a.t,b)||!l)return a.A;j=t8b("js/"+b+SXc);d=(!a.I&&Fbb(a,new reb),n=NCb(" [synthetic:"+ -b+"] ",j,(Dic(),Bic)),On(),new RB(Pd(n)),o=new Ddb(n),Ybb(a,o.i,o),Pd(tdb(o,a)));for(i=d.c;!!i&&i.n==(Nlc(),Njc)&&i.c.n==(Nlc(),olc);i=d.c){f=i.c.Di();m=Qe(Ne(Ve(new jc(32))),f);switch(m.a.ee(0)){case "use":break;case $Wc:jbb(a,m.a.ee(1),c);break;default:throw p0(new CF("Bad directive: "+f));}Hec(d,i)}b1(a.V)&&(mub(a,d,new exb(a,false)),mub(a,d,new otb(new Ctb(obb(a),new jdb(a),"jscomp_"+b+"_"))));h=d.c?d.c.i:null;for(e=d.c;e;e=e.f)bwb(e,a);g=Iec(d);if(!g)return a.A;k=sbb(a);!a.A?Qdc(k,g):Odc(k,g, -a.A);a.A=h;zNc(a.t,b,h);$bb(a,nbb(k));Pbb(a);return h}function rSb(a,b){var c,d,e,f,g,h,i,j;if(b!=(xTb(),nTb)){a.o=b;return SRb(a,"msg.jsdoc.missing.lp",a.j.g,DTb(a.j)),null}d=fSb(a,(Nlc(),Tjc));h=null;PSb(a);if(!dSb(a,tTb)){b=!a.o?ETb(a.j):WRb(a);e=true;if(b==wTb){j=a.j.n;g=MBc(XVc,j);f=MBc("new",j);if(g||f){if(dSb(a,eTb)){!a.o?ETb(a.j):WRb(a);PSb(a);c=RSb(a,g?ylc:Kkc,nSb(a,!a.o?ETb(a.j):WRb(a)));if(!c)return null;Ndc(d,c)}else return SRb(a,"msg.jsdoc.missing.colon",a.j.g,DTb(a.j)),null;if(dSb(a, -fTb)){!a.o?ETb(a.j):WRb(a);PSb(a);b=!a.o?ETb(a.j):WRb(a)}else e=false}}if(e){h=ySb(a,b);if(!h)return null}}!!h&&Mdc(d,h);PSb(a);if(!dSb(a,tTb))return SRb(a,H_c,a.j.g,DTb(a.j)),null;PSb(a);!a.o?ETb(a.j):WRb(a);i=ASb(a);if(!i)return null;else Mdc(d,i);return d}function Ynb(a,b){var c,d,e,f,g,h,i,j,k;d=(c=new kfc((Nlc(),ejc)),c);Qdc(d,Iec(a.g));Ndc(d,N8b(l9b(a.i.b)));g=P8b((Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc(Ekc,"")),i9b(yG(tG(BX,1),kWc,7,0,[(Zd(PBc(vZc,hCc(46))==-1,iWc,vZc),new Jhc(Ekc,vZc)), -(Zd(PBc(uZc,hCc(46))==-1,iWc,uZc),new Jhc(Ekc,uZc)),(Zd(PBc(wZc,hCc(46))==-1,iWc,wZc),new Jhc(Ekc,wZc))])),d);k=new kfc(Kic);for(j=(h=(new bEc(a.c.a)).a.Je().Xd(),new hEc(h));j.a.Jd();){i=(e=j.a.Kd(),e.ff());Mdc(k,l9b(i.a))}f=N8b(H8b(R8b((Zd(PBc(uWc,hCc(46))==-1,iWc,uWc),new Jhc(Ekc,uWc)),new Jhc(olc,"registerAndLoadModule")),yG(tG(BX,1),kWc,7,0,[g,l9b(Nnb(qKb(a.a.Fg(),(!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d).i.a).a)),k])));Mdc(a.g,jfc(f,a.g));a.a.Ug(a.g);a.a.Ug(g);bub(b)}function Znb(a,b,c,d){var e, -f,g,h;switch(c.n.f){case 105:dob(a,vdb((!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d)),c);break;case 109:$dc(c,(Jdc(),pdc))!=0?_nb(a,b,c,d):$dc(c,odc)!=0?(e=c.c?c.c.i:null,f=V8b(new kfc((Nlc(),Djc)),new kfc(Djc),e.zi(false)),gfc(f,c),Ldc(d,f,c),Znb(a,b,f,d),g=Vnb(a,e.Di()),Nec(c,hfc(N8b(H8b(R8b((Zd(PBc(wZc,hCc(46))==-1,iWc,wZc),new Jhc(Ekc,wZc)),new Jhc(olc,"exportAllFrom")),yG(tG(BX,1),kWc,7,0,[(Zd(PBc(g,hCc(46))==-1,iWc,g),new Jhc(Ekc,g))]))),c)),bub(b),undefined):!!c.c&&!!c.c.f&&c.c.f==(c.c?c.c.i:null)? -aob(a,b,c,d):c.c.n==(Nlc(),Mjc)?cob(a,b,c,d):$nb(a,b,c,d);break;case 85:Ud(a.g==c);h=c.c;Ud(h.n==(Nlc(),Ckc));Pd(h.g);Hec(h.g,h);Qdc(c,Iec(h));Snb(a);Rnb(a);Ynb(a,b);break;case 29:Xnb(a,b,c)}}function Jvb(a,b){uub();var c,d,e,f;switch(a.n.f){case 92:return Jvb(a.c,b);case 42:for(d=a.c;d;d=d.f)if(d.n!=(Nlc(),Djc)&&!Jvb(d,b))return false;return true;case 38:for(e=a.c;e;e=e.f)if(!Jvb(e,b))return false;return true;case 43:for(f=a.c;f;f=f.f)switch(f.n.f){case 98:case 86:case 87:if(!b)return false;break; -case 118:if(!Jvb(f.c,b)||!Jvb(f.c?f.c.i:null,b))return false;break;case 91:case 117:if(!Jvb((Ud(!!f.c&&!f.c.f),f.c),b))return false;break;default:throw p0(new xsb("Unexpected child of OBJECTLIT: "+ffc(f)));}return true;case 65:return b&&!(a.n==(Nlc(),Tjc)&&qvb(a.g)&&a.n==Tjc&&Tvb(a.c));case 120:for(c=a.c;c;c=c.f)if(c.n==(Nlc(),xlc))if(!Jvb(c.c,b))return false;return true;default:return Dvb(a)}}function Qlc(){Nlc();return yG(tG(IX,1),DUc,9,0,[glc,cjc,djc,ajc,Hjc,Ikc,ykc,vkc,_jc,Vjc,xkc,ilc,Glc,Gic, -rlc,Dkc,Ajc,Bkc,Jjc,Mkc,bjc,blc,Jkc,Kkc,yjc,Clc,Zjc,Yjc,hjc,Ekc,Pkc,olc,Nkc,ylc,Ojc,Alc,llc,mlc,elc,zlc,ikc,lkc,Kic,Rkc,Blc,Ykc,pjc,Nic,Qic,Ric,Pic,Uic,Xic,Zic,Oic,Yic,Wic,Sic,Vic,Tic,akc,Wkc,Hic,jkc,ujc,Tjc,bkc,tlc,jjc,wjc,Klc,Bjc,Pjc,Rjc,gjc,sjc,Hlc,Llc,ljc,Ilc,Djc,hlc,ejc,rkc,Njc,jlc,$jc,klc,rjc,tjc,skc,plc,kjc,Lic,Skc,zjc,mjc,njc,zkc,slc,wkc,Sjc,Qjc,Mlc,$ic,dkc,gkc,fkc,hkc,Kjc,Mjc,Ljc,Ckc,Cjc,pkc,Tkc,qkc,Ukc,qjc,ulc,vlc,xlc,wlc,xjc,Lkc,ekc,qlc,fjc,Qkc,Ujc,Xkc,Flc,Jic,Okc,Jlc,flc,Fkc,Vkc,dlc,Elc, -Mic,Wjc,Xjc,Iic,Zkc,nlc,Gjc,clc,_ic,Ijc,tkc,ukc,ojc,mkc,nkc,okc,Ejc,Fjc,ckc,Dlc,vjc,Akc,kkc,ijc,Gkc,Hkc,$kc,_kc,alc])}function I7(){I7=S0;H7=new Whb("JSC_SUSPICIOUS_SEMICOLON",(l7(),k7),new $Cc("If this if/for/while really shouldn''t have a body, use '{}'"));C7=new Whb("JSC_SUSPICIOUS_NAN",k7,new $Cc("Comparison against NaN is always false. Did you mean isNaN()?"));E7=new Whb("JSC_SUSPICIOUS_IN",k7,new $Cc('Use of the "in" keyword on non-object types throws an exception.'));D7=new Whb("JSC_SUSPICIOUS_INSTANCEOF_LEFT", -k7,new $Cc('"instanceof" with left non-object operand is always false.'));F7=new Whb("JSC_SUSPICIOUS_LEFT_OPERAND_OF_LOGICAL_OPERATOR",k7,new $Cc("Left operand of {0} operator is always {1}."));G7=new Whb("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",k7,new $Cc("Suspicious negated left operand of 'in' operator."))}function JLb(a,b,c){GLb();var d,e,f,g,h,i,j,k;k=HLb();g=new reb;keb(g,(rfb(),lfb));g.Qb=new Fe(Pd((Vzc(),true)));switch(c){case X$c:h=(AVb(),wVb);break;case z$c:h=(AVb(),mVb);break; -case "es9":h=(AVb(),kVb);break;case "es8":h=(AVb(),uVb);break;case "es7":h=(AVb(),sVb);break;case XXc:h=(AVb(),qVb);break;case "es5":h=(AVb(),pVb);break;default:h=(AVb(),oVb)}leb(g,LVb(h,(aXb(),CWb),yG(tG(lU,1),DUc,25,0,[])));g.eb=new Fe(Pd(false));g.ad=true;f=NCb("externs.js","var window;",(Dic(),Bic));j=NCb(b,a,Bic);g.wc=true;g.Dc=true;deb(g,new dhb(FLb,(l7(),j7)));meb(g,(KKb(),IKb));d=new KLb(g);ccb(d,new LLb);gbb(d,(On(),new RB(Pd(f))),new RB(Pd(j)),g);i=ndb(new ldb(d));e=HLb();ILb("Transpiled "+ -b+" in "+(e-k)/1E3+" seconds");return i}function esb(b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;m=new fOc;o=ksb(b);if(d.b==(Pgb(),Ngb)||d.b==Mgb){g=iKb(f,ZWc);!!g&&(q=m.a.Me(g,m),q==null);if(d.b!=Mgb)for(l=Wn(new mEc(f.e)).Xd();l.Jd();){k=l.Kd();k.a.$h().c==(Dic(),Cic)?bcb(c,new Jrb(null,null,-1,-1,bsb,null,yG(tG(vZ,1),cWc,2,6,[k.a.$h().b]))):(p=m.a.Me(k,m),p==null)}for(j=Qv(new cJc(d.a.a.b.Xd()));j.Jd();){i=j.Kd();k=null;try{if(MBc(i.a,i.b)){k=iKb(f,i.a);!k&&(k=fKb(f,i.c))}else{n=eDc(o,i.b);if(!n)throw p0(new vsb(i.b)); -else{k=fKb(f,i.a);k.k=n}}}catch(a){a=o0(a);if(lH(a,225)){h=a;throw p0(new ALb(i.c,h));}else throw p0(a);}k.a.$h().c==(Dic(),Cic)?bcb(c,new Jrb(null,null,-1,-1,asb,null,yG(tG(vZ,1),cWc,2,6,[k.a.$h().b]))):(p=m.a.Me(k,m),p==null)}}else gv(m,e);return m}function tmb(a,b,c,d){var e,f,g,h,i,j,k,l,m;f=mmb(a,Vdc(b.c.f));m=b.c;e=b.c.f;if($dc(m,(thc(),Tgc))==0&&$dc(e,Tgc)==0){Kdc(b,f,m);Fec(b,Tgc,0);zmb(a,b);return}if(Vdc(m).n==(Nlc(),Hlc)){Ud($dc(m,Tgc)==0);k=m;Ud(!k.c.c);m=k.c.zi(false)}else k=gfc(new kfc(Hlc), -m);h=gfc(Smb(a.a,"$jscomp$generator$forin$"+(""+a.f.b.Ng().a.S++)),m);Ndc(h,Fmb(a.a,m,"forIn",yG(tG(BX,1),kWc,7,0,[f])));l=a.f.g?qmc(h.c.d):null;h.d=l;Mdc(k,h);i=gfc(Oob(R8b(h.zi(false),gfc((Jdc(),new Jhc(olc,"getNext")),f)),a.f.g?l.Wj("getNext"):null),f);g=gfc(Oob(d9b(gfc(Oob(D8b(Oob(m,a.f.d),gfc(Oob(H8b(i,yG(tG(BX,1),kWc,7,0,[])),a.f.d),f)),a.f.d),f),gfc(Oob(new kfc(Nkc),a.f.c),h)),a.f.a),f);Rec(g,$dc(m,Tgc)!=0);j=gfc(O8b(k,g,gfc(new kfc(Djc),b),Vdc(e)),b);smb(a,j,c,d)}function Zwb(a,b,c,d){var e, -f,g,h,i,j,k,l,m,n,o,p,q,r,s;for(e=b.c;e;e=s){s=e.f;j=!c?e:c;k=!c?b:d;switch(e.n.f){case 83:Zwb(a,e,j,k);break;case 73:case 101:case 102:h=e.c;if(h.n==(Nlc(),Hlc)){l=h.c;if(l.n==zjc){m=Eub(l);for(o=new FGc(m);o.a0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1);--f;i=b==45}}if(f==0)throw p0(new CBc(A1c+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1);--f}if(f>(BBc(),zBc)[10])throw p0(new CBc(A1c+j+'"'));for(e=0;e0){l=-parseInt(a.substr(0,d),10);a=a.substr(d);f-=d;c=false}while(f>=g){d=parseInt(a.substr(0,g),10);a=a.substr(g);f-=g;if(c)c=false;else{if(r0(l,h)<0)throw p0(new CBc(A1c+j+'"'));l=A0(l,k)}l=E0(l,d)}if(r0(l,0)>0)throw p0(new CBc(A1c+j+'"'));if(!i){l=B0(l);if(r0(l,0)<0)throw p0(new CBc(A1c+j+'"'));}return l}function sIb(){sIb=S0;pIb=new Whb("JSC_REFERENCE_BEFORE_DECLARE",(l7(),k7),new $Cc("Variable referenced before declaration: {0}")); -qIb=new Whb("JSC_REDECLARED_VARIABLE",k7,new $Cc("Redeclared variable: {0}"));new Whb("JSC_REFERENCE_BEFORE_DECLARE_ERROR",i7,new $Cc("Illegal variable reference before declaration: {0}"));new Whb("JSC_REASSIGNED_CONSTANT",i7,new $Cc("Constant reassigned: {0}"));new Whb("JSC_REDECLARED_VARIABLE_ERROR",i7,new $Cc("Illegal redeclared variable: {0}"));new Whb("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK",i7,new $Cc("Block-scoped declaration not directly within block: {0}"));rIb=new Whb("JSC_UNUSED_LOCAL_ASSIGNMENT", -j7,new $Cc("Value assigned to local variable {0} is never read"));qs(TLc((Nlc(),bkc),yG(tG(IX,1),DUc,9,0,[Pjc,Rjc,Sjc,Qjc,Klc])))}function wmb(a,b,c,d){var e,f,g,h;Ud(a9b(b));Ud(!b.g);if($dc(b,(thc(),Tgc))==0){zmb(a,b);return}switch(b.n.f){case 83:vmb(a,b);break;case 82:pmb(a,b);break;case 84:rmb(a,b);break;case 76:Amb(a,b);break;case 0:Ndc(b,enb(a.a,b,nmb(a,mmb(a,Jec(b)))));hnb(a.a,b);a.a.j.e=false;break;case 39:Ndc(b,nmb(a,mmb(a,Jec(b))));hnb(a.a,b);a.a.j.e=false;break;case 66:umb(a,b,c);break; -case 72:smb(a,b,c,d);break;case 73:tmb(a,b,c,d);break;case 70:e=Wmb(a.a,d);f=Wmb(a.a,c);fnb(a.a,e);g=nmb(a,mmb(a,Jec(b)));h=Jec(b);hnb(a.a,gfc(U8b(gfc(Oob(p9b((Nlc(),Mkc),g),a.f.a),g),Jmb(a.a,f,true,b)),b));_mb(a.a,f,e);wmb(a,h,null,null);Ymb(a.a);jnb(a.a,e,b);fnb(a.a,f);break;case 71:qmb(a,b,c,d);break;case 44:ymb(a,b,c);break;case 67:xmb(a,b,c);break;default:Zd(false,"Unsupported token: %s ",b.n)}}function $ib(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;Vob(a.c,c)==2&&Xob(a.c,c);m=c.g;l=(dLb(),WBc(VBc(VBc(VBc(VBc(VBc(VBc(WBc(YBc(fLb((h= -WBc(WBc(WBc(WBc(WBc(VBc(VBc(bec(c,(thc(),khc)).ah(),58,45),92,47)," ",RWc),"[",SWc),"]",TWc),"<",UWc),">",VWc),eLb(h))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),RWc,"_")+"$classdecl$var"+a.a++);j=(uub(),k=Fub(c),!k?null:bec(k,Zgc));n=Lub(m,new vwb);g=c.d;Ud(!a.b.Qg()||!!g);e=Uec((Zd(PBc(l,hCc(46))==-1,iWc,l),Jdc(),new Jhc((Nlc(),Ekc),l)),g);f=Tdc(e,false);Mec(m,c,f);d=jfc(K8b(e,c,rjc),c);vub(b.f,(aXb(),iWb));Tec(d,Ebc(Ycc(j)));Ldc(n.g,d,n);if(!!n&&(n.n==Hlc||n.n==wkc||n.n==rjc)&& -!!n.c&&!n.c.f&&(Ud(!!n.c&&!n.c.f),n.c==m))Zib(n);else if(n.n==Njc){i=(Ud(!!n.c&&!n.c.f),n.c);i.n==Nic&&uec(i.c)&&i.c.f==f&&Zib(i)}a.b.Vg(d)}function _Ab(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(!(!!c.c&&!c.c.f)||c.c.n!=(Nlc(),Njc)){bcb(a.a,Orb(c,YAb,yG(tG(vZ,1),cWc,2,6,[])));return}j=Vdc(c.c.c);d=c.c;!!d&&Hec(c,d);k=gLb(vdb((!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d)).a);Ndc(c,gfc(K8b(gfc((Zd(PBc(k,hCc(46))==-1,iWc,k),Jdc(),new Jhc((Nlc(),Ekc),k)),j),j,Hlc),j));Ndc(c,jfc(N8b(H8b(R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc, -ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,nXc)),yG(tG(BX,1),kWc,7,0,[new Jhc(olc,k)]))),c));i=(!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d).a.$h().b;m=y$c.length;if(MBc(i.substr(i.length-m,m),y$c)&&j.n==Rkc){l=a.a.I.kc;for(h=Qv(new cJc(l.a.b.Xd()));h.Jd();){g=h.Kd();f=Qub(j,g);if(!!f&&(f.n==olc||f.n==Rkc)){e=bCc(i,0,i.length-12);if(f.n==olc){hDc(a.b,i,e+(""+f.Di()));break}else if(f.n==Rkc){Vd(MBc(g,"browser"),g);$Ab(a,e,f)}}}}bub(b)}function Iub(a){var b,c,d,e,f,g,h;switch(a.n.f){case 32:case 34:case 79:return Sxc(), -Pxc;case 35:case 38:case 65:case 96:case 23:case 42:case 43:return Sxc(),Qxc;case 120:if(!!a.c&&!a.c.f){g=(Ud(!!a.c&&!a.c.f),a.c);Vd(g.n==(Nlc(),wlc),g);b=g.Ai();return Sxc(),b!=null&&b.length!=0?Qxc:Pxc}else return Sxc(),Rxc;case 31:return Sxc(),a.Di().length>0?Qxc:Pxc;case 30:return Sxc(),a.Bi()!=0?Qxc:Pxc;case 19:return Iub(a.c?a.c.i:null).hk();case 29:e=a.Di();return MBc(bZc,e)||MBc("NaN",e)?(Sxc(),Pxc):MBc(f$c,e)?(Sxc(),Qxc):(Sxc(),Rxc);case 47:case 46:return Iub(a.c?a.c.i:null);case 62:{d=Iub(a.c); -f=Iub(a.c?a.c.i:null);return d.gk(f)}case 61:{d=Iub(a.c);f=Iub(a.c?a.c.i:null);return d.ik(f)}case 60:{h=Iub(a.c.f);c=Iub(a.c?a.c.i:null);return h==c?h:(Sxc(),Rxc)}default:return Sxc(),Rxc}}function pbb(a){var b,c,d,e,f,g,h,i,j,k,l,m;e=a.I.rb;j=a.I.C;b=new BCc;if(e.a.a.Wd()&&j.a.a.Wd())return ndb(new ldb(a));if(!e.a.a.Wd()){Pd(a.p);Pd(a.w);for(g=Tm(Nm(yG(tG(kZ,1),xUc,16,0,[Rdc(a.p),Rdc(a.w)])));iw(g);){f=jw(g);d=(c=bec(f,(thc(),khc)),!c?null:c.ah());for(l=Qv(new cJc(e.a.b.Xd()));l.Jd();){k=l.Kd(); -if((new RegExp("^("+k+")$")).test(d)){m="// "+d+vVc+(!a.I&&Fbb(a,new reb),jcb(a,f,true));b.a+=m;break}}}if(b.a.length==0)throw p0(new CF("No files matched any of: "+e));}if(!j.a.a.Wd()){for(i=new NDc(a.C?new kHc(a.C.a):null);i.b2){a.a.gi(z_c+tic(Z_c,yG(tG(qZ,1),xUc,1,5,[W_c])),a.b.ah(),a.d,a.c);EUb(a,(c=QUb.d,Md(b.n==hjc,Q_c,b),Xdc(b,2),c));return false}f=(Md(e.n==Tjc,X_c,e),Xdc(e,2));if(!yUb(a,f)){a.a.gi(z_c+tic(U_c,yG(tG(qZ,1),xUc,1,5,[$_c])),a.b.ah(),a.d,a.c);return false}return true}function kUb(a,b){var c,d,e,f,g;if(!_Tb(a,b,(dVb(),RUb)))return false;if(!yUb(a,(Md(b.n==(Nlc(),hjc),Q_c,b),Xdc(b,1)))){EUb(a,(c=RUb.d,Md(b.n==hjc,Q_c,b),Xdc(b,1),c));return false}if((Md(b.n== -hjc,Q_c,b),Xdc(b,2)).n!=Tjc){DUb(a,(d=W_c,Md(b.n==hjc,Q_c,b),Xdc(b,2),d));EUb(a,(c=RUb.d,Md(b.n==hjc,Q_c,b),Xdc(b,2),c));return false}e=(Md(b.n==hjc,Q_c,b),Xdc(b,2));g=(Md(e.n==Tjc,X_c,e),Ydc(e.c.f));if(g<1){a.a.gi(z_c+tic(Y_c,yG(tG(qZ,1),xUc,1,5,[W_c])),a.b.ah(),a.d,a.c);EUb(a,(c=RUb.d,Md(b.n==hjc,Q_c,b),Xdc(b,2),c));return false}if(g>1){a.a.gi(z_c+tic(Z_c,yG(tG(qZ,1),xUc,1,5,[W_c])),a.b.ah(),a.d,a.c);EUb(a,(c=RUb.d,Md(b.n==hjc,Q_c,b),Xdc(b,2),c));return false}f=(Md(e.n==Tjc,X_c,e),Xdc(e,2));if(!yUb(a, -f)){a.a.gi(z_c+tic(U_c,yG(tG(qZ,1),xUc,1,5,[$_c])),a.b.ah(),a.d,a.c);return false}return true}function x$b(a){var b,c,d,e;if(S$b(a,0,(S2b(),E1b))&&(e=V_b(a.g,1).e,B1b==e||(gYb(),!!ep(JXb,e))||S$b(a,1,y2b)||S$b(a,1,Y1b)||S$b(a,1,t2b)))return RZb(a);if(S$b(a,0,u1b))return AZb(a,false);if(S$b(a,0,H1b))return VZb(a);if(S$b(a,0,p1b))return wZb(a);if(S$b(a,0,J2b)&&(c=V_b(a.g,1).d.b.b>V_b(a.g,0).d.a.b,!(c||S$b(a,1,q2b)||S$b(a,1,a1b)||S$b(a,1,o1b)))&&S$b(a,1,B1b)&&S$b(a,2,q1b))return H$b(a);if(S$b(a,0,i1b)&& -(d=V_b(a.g,1).d.b.b>V_b(a.g,0).d.a.b,!(d||S$b(a,1,q2b)||S$b(a,1,a1b)||S$b(a,1,o1b)))&&(S$b(a,1,N2b)||S$b(a,1,L1b)||S$b(a,1,f1b)||S$b(a,1,z1b)||S$b(a,1,$0b)||S$b(a,1,p1b)||S$b(a,1,P1b)||S$b(a,1,Q1b)))return SYb(a);if((S$b(a,0,P1b)||S$b(a,0,Q1b))&&(b=V_b(a.g,1).d.b.b>V_b(a.g,0).d.a.b,!(b||S$b(a,1,q2b)||S$b(a,1,a1b)||S$b(a,1,o1b)))&&S$b(a,1,B1b))return f$b(a,false);return B$b(a)}function Dub(a){uub();switch(a.n.f){case 47:return Dvb(a.c?a.c.i:null);case 46:return Dub(a.c?a.c.i:null);case 62:case 61:return Dub(a.c)&& -Dub(a.c?a.c.i:null);case 60:return Dub(a.c.f)&&Dub(a.c?a.c.i:null);case 33:case 99:return false;case 29:return Dvb(a);case 27:case 26:return false;case 28:return Vd(a.n==(Nlc(),hjc)||a.n==ulc,a),Jdc(),(~$dc(a,(thc(),ihc))&31&16)!=16||Xvb(a);case 119:return Vd(a.n==(Nlc(),hjc)||a.n==ulc,a),Jdc(),(~$dc(a,(thc(),ihc))&31&16)!=16;case 23:return Vd(a.n==(Nlc(),Kkc),a),tec(a);case 24:case 63:case 64:case 96:case 65:case 38:case 80:case 42:case 43:case 120:return true;case 92:return Dub(a.c);case 116:case 117:case 103:case 104:return false; -default:if(gvb(a)||Uvb(a.n)||Dvb(a))return true;throw p0(new PAc("Unexpected expression node: "+a+"\n parent:"+a.g));}}function pob(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;Gd(b.n==(Nlc(),hjc));e=b.c;f=m2(a1(a.c),e,false);Hec(b,e);if(!!b.c&&!b.c.f&&mob((Ud(!!b.c&&!b.c.f),b.c)))m=Jec(Jec(b));else{k=kob(a,b);Ud(k.a.length!=0);if(k.a.length==1)m=iGc(k,0);else{c=k.a[0].n==Kic?iGc(k,0):Uec(B8b(yG(tG(BX,1),kWc,7,0,[])),a.a);g=Uec(R8b(c,(Jdc(),new Jhc(olc,xZc))),a.d);m=Uec(H8b(g,mGc(k,vG(BX,kWc,7,0,0,1))),a.a)}Uec(m, -a.a)}l=$dc(b,(Jdc(),rdc))!=0;if(f&&e.n==Zjc&&!l){n=e.c.d;i=Uec(c9b("$jscomp$spread$args"+(""+a.c.Ng().a.S++)),n);j=L8b(Tdc(i,false),Hlc);o=(uub(),Lub(b,new vwb));jfc(j,o);Ldc(o.g,j,o);Ndc(e,Uec(D8b(Tdc(i,false),Jec(e)),n));d=H8b(lob(e,TYc),yG(tG(BX,1),kWc,7,0,[Tdc(i,false),m]))}else{h=(e.n==Zjc||e.n==Yjc)&&!l?Tdc(e.c,false):Uec(new kfc(Nkc),a.f);d=H8b(lob(e,TYc),yG(tG(BX,1),kWc,7,0,[h,m]))}Uec(d,b.d);jfc(d,b);Mec(b.g,b,d);a.c.Vg(d)}function kqb(a,b,c,d,e,f,g){var h,i,j;if(rqb(a,b,c,d,e,f,g))return; -switch(e.n.f){case 84:case 66:case 41:case 25:case 79:case 19:case 20:case 21:case 22:j=(Xqb(),Sqb);break;case 28:d==e.c?j=(Xqb(),Qqb):nqb(a,e)?j=(Xqb(),Sqb):j=(Xqb(),Pqb);break;case 23:j=d==e.c?(Xqb(),Sqb):(Xqb(),Pqb);break;case 61:case 62:j=fqb(e,f);break;case 60:d!=e.c?j=fqb(e,f):j=(Xqb(),Sqb);break;case 24:j=(Xqb(),Rqb);break;case 96:j=(Xqb(),Wqb);break;case 95:case 47:h=d==d.g.c?null:d.i;h.n==(Nlc(),kjc)&&(h=(Ud(!!h.c&&!h.c.f),h.c));switch(h.n.f){case 29:case 26:case 27:case 93:j=(Xqb(),Pqb); -break;case 94:j=!!h.c&&vec(h.c?h.c.i:null)?(Xqb(),Pqb):(Xqb(),Sqb);break;default:throw p0(new PAc("Unexpected previous sibling of "+d.n+": "+(d==d.g.c?null:d.i)));}break;case 94:case 116:case 117:default:j=(Xqb(),Pqb)}i=hqb(a,f,g);bqb(a,i,d,j,b,c)}function xrb(a,b,c){var d,e,f,g,h,i,j;if(a.b&&bec(c,(thc(),ehc))!=null){yCc(b,bec(c,(thc(),ehc)));return}if(c.n==(Nlc(),_ic)){b.a+="!";xrb(a,b,c.c)}else if(c.n==Ijc){xrb(a,b,c.c);b.a+="="}else if(c.n==Zkc){b.a+="(";g=c.c?c.c.i:null;for(d=c.c;d;d=d.f){xrb(a, -b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.n==pkc){b.a+=sXc;!!c.c&&c.c.n!=Djc&&xrb(a,b,c.c)}else if(c.n==nlc)b.a+="*";else if(c.n==clc){b.a+="?";!!c.c&&xrb(a,b,c.c)}else if(c.n==Tjc)wrb(a,b,c);else if(c.n==ukc){b.a+="{";i=c.c;h=i.c?i.c.i:null;for(e=i.c;e;e=e.f){if(e.c){yCc(yCc(b,e.c.Di()),":");xrb(a,b,e.c?e.c.i:null)}else yCc(b,e.Di());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.n==Ilc)b.a+=JXc;else if(c.n==Clc){b.a+="typeof ";xrb(a,b,c.c)}else if(c.c){yCc(yCc(b,c.Di()),"<");d=c.c;f=d.c?d.c.i:null;for(j= -d.c;j;j=j.f){xrb(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else yCc(b,c.Di())}function Klb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(a.g==(Zlb(),Ylb))if(zFc(a.f)||!BFc(a.f).a)return;t=oZc+a.c++;i=Q2(a.a,Vdc(d),Rtb(b));s=V2(a.a,t,i.d);r=K8b(Ghc(s,false),i,(Nlc(),Hlc));jfc(r,c);Ldc(f.g,r,f);for(h=c.c;h;h=m){m=h.f;if(h.n==Djc){n=N8b(A2(a.a,L2(a.a,Ghc(s,false),cZc),yG(tG(BX,1),kWc,7,0,[])));jfc(n,h);Ldc(f.g,n,f);continue}if(h.n==xjc){p=oZc+a.c++;o=L2(a.a,A2(a.a,L2(a.a,Ghc(s,false),cZc),yG(tG(BX,1),kWc, -7,0,[])),dZc);q=o.d;u=K8b(V2(a.a,p,q),o,Hlc);jfc(u,h);Ldc(f.g,u,f);j=Vdc(h.c);l=Flb(a,V2(a.a,p,q),Vdc(h.c?h.c.i:null))}else if(h.n==pkc||h.n==Tkc){j=Vdc(h.c);l=R2(a.a,Ghc(s,false),Rtb(b))}else{j=Vdc(h);l=L2(a.a,A2(a.a,L2(a.a,Ghc(s,false),cZc),yG(tG(BX,1),kWc,7,0,[])),dZc)}if(e.n==Nic){g=w2(a.a,j,l);k=(Vd(_8b(g),g),new mfc(Njc,g))}else k=K8b(j,l,e.n);jfc(k,c);Ldc(f.g,k,f);Olb(a,b,j,j.g)}Vdc(f);bub(b)}function q$b(a){var b,c,d,e,f,g,h,i;switch(V_b(a.g,0).e.f){case 29:return nZb(a,true,false);case 35:return b= -V_b(a.g,0).d.b,BYb(a,(S2b(),z2b)),new T6b(new t7b(b,a.f));case 21:return c=V_b(a.g,0).d.b,BYb(a,(S2b(),E2b)),new Y6b(new t7b(c,a.f));case 34:return d=V_b(a.g,0).d.b,BYb(a,(S2b(),E1b)),BYb(a,Z1b),e=bZb(a,1),BYb(a,b1b),h_b(a,(aXb(),kWb)),new M3b(new t7b(d,a.f),e);case 2:case 108:case 109:case 110:case 111:return PZb(a);case 100:case 101:case 98:case 99:case 97:return _Zb(a);case 107:case 104:return F$b(a,null);case 49:return V_b(a.g,1).e==(S2b(),y1b)?rZb(a,$1b,c1b):ZYb(a);case 45:return i$b(a);case 47:return uZb(a); -case 94:case 95:return f=V_b(a.g,0).d.b,g=(i=R_b(a.g),a.f=i.d.a,i),new D4b(new t7b(f,a.f),g);default:return h=V_b(a.g,0).d.b,PYb(a),l_b(a,"primary expression expected",yG(tG(qZ,1),xUc,1,5,[])),new H4b(new t7b(h,a.f))}}function ilb(a,b,c){var d,e,f,g,h,i,j,k;if(b.n==(Nlc(),qjc)&&$dc(b,(thc(),lhc))!=0){Kob(a.b,b,"Static computed property");return}if(b.n==qjc&&!uec(b.c)){Job(a.b,b.c,"Computed property with non-qualified-name key");return}k=elb(b);_kb(a,c,b);j=$dc(b,(thc(),lhc))!=0?c.b:c.j;d=new E5;if(b.n== -qjc){Ud($dc(b,lhc)==0);i=cec(b.c);C5(d,(slb(),plb))}else if(b.Fi()){i=b.Di();C5(d,(slb(),rlb))}else{i=b.Di();C5(d,(slb(),qlb))}D5(d,i);e=yNc(j,i);f=!e?null:dac(e.a);if(!!e&&!!k&&!(!!k&&k.a.Ei(f.a,false,true,false,false)))a.b.Tg(Orb(b,Xkb,yG(tG(vZ,1),cWc,2,6,[i])));else{h=new Wcc(false);if(!!bec(b,Zgc)&&(bec(b,Zgc).a&1024)!=0){Zbc(h);Scc(h,(ybc(),xbc))}!!bec(b,Zgc)&&(bec(b,Zgc).a&64)!=0?ycc(h):!k&&(k=new bdc(new kfc(clc),(g=bec(b,khc),!g?null:g.ah())));!!k&&Mcc(h,new bdc(Tdc(k.a,false),k.b));$dc(b, -lhc)!=0&&b.n!=qjc&&scc(h);B5(d,Ebc(h));zNc(j,i,A5(d))}}function bNc(){function e(){this.obj=this.createObject()}e.prototype.createObject=function(a){return Object.create(null)};e.prototype.get=function(a){return this.obj[a]};e.prototype.set=function(a,b){this.obj[a]=b};e.prototype[p0c]=function(a){delete this.obj[a]};e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)};e.prototype.entries=function(){var b=this.keys();var c=this;var d=0;return{next:function(){if(d>=b.length)return{done:true}; -var a=b[d++];return{value:[a,c.get(a)],done:false}}}};if(!_Mc()){e.prototype.createObject=function(){return{}};e.prototype.get=function(a){return this.obj[":"+a]};e.prototype.set=function(a,b){this.obj[":"+a]=b};e.prototype[p0c]=function(a){delete this.obj[":"+a]};e.prototype.keys=function(){var a=[];for(var b in this.obj)b.charCodeAt(0)==58&&a.push(b.substring(1));return a}}return e}function dwc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;if(b.sj()){t=b.sj();f=new owc(a.D);f.a=false;i=Stc(a.D, -(xtc(),Vsc));for(p=a.v.b.ye().Xd();p.Jd();){q=p.Kd();v=Ioc(a,q);m=null;if((t==Ttc(t.D,Ssc)||Loc(t)||(r=Vvc(t.v,q),!!(!r?null:r.a))?1:0)==0)m=v;else{s=Ioc(t,q);m=v.Qi(s);g=new Jrc(false);if(emc(m,i,0,g))return i}mwc(f,q,m,(j=(n=Vvc(a.v,q),!n?null:n.a),!j?null:j.d))}for(o=t.v.b.ye().Xd();o.Jd();){q=o.Kd();(a==Ttc(a.D,Ssc)||Loc(a)||(r=Vvc(a.v,q),!!(!r?null:r.a))?1:0)!=0||mwc(f,q,Ioc(t,q),(j=(n=Vvc(t.v,q),!n?null:n.a),!j?null:j.d))}return nwc(f)}h=Ttc(a.D,(xtc(),Tsc));u=Ttc(a.D,gtc).Qi(b);if(!(u.cj()|| -u.aj()||u.bj()||u==Ttc(u.D,Ssc)))for(l=a.v.b.ye().Xd();l.Jd();){k=l.Kd();m=Ioc(a,k);f=new fzc(a.D);for(d=Rtc(a.D,k).Xd();d.Jd();){c=d.Kd();e=c.Wj(k);!!e&&(g=new Jrc(false),!emc(c,a,0,g))&&c.ij(b)&&e.ij(m)&&azc(f,c)}h=h.Ri(czc(f))}return h}function Zmc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;Pd(a);if(b.kj()||b.Xi()||a.kj()||a.cj())return true;if(d==(_rc(),Zrc)&&(a.ej()||a.lj()))return true;if(mmc(a,b,c.c))return true;if(a.vj())return gsc(new csc(b,c,d),myc(a.vj()));else if(b.vj())return hsc(new esc(a,c,d), -myc(b.vj()));i=a.Vi();j=b.Vi();k=true;n=Cmc(b);if(!!n&&$lc.Td(n.Xj())){h=a.D.k;m=(g=Twc(i,h),g==-1?h.a.kj()?Ttc(i.a,(xtc(),vtc)):h:i.b[g]);l=(f=Twc(j,h),f==-1?h.a.kj()?Ttc(j.a,(xtc(),vtc)):h:j.b[f]);k=m.jj(l,c,d)||l.jj(m,c,d)}else{e=Emc(b);if(e){m=(g=Twc(i,e),g==-1?e.a.kj()?Ttc(i.a,(xtc(),vtc)):e:i.b[g]);l=(f=Twc(j,e),f==-1?e.a.kj()?Ttc(j.a,(xtc(),vtc)):e:j.b[f]);k=m.jj(l,c,d)}else k=Mwc(i,j,2,new Jrc(true),d)}if(!k)return false;if(c.c&&a.gj()&&b.hj())return Koc(lH(a,49)?a:null,lH(b,49)?b:null,c, -d);if(a.uj())return a.uj().d.jj(b,c,d);if(lH(b,128)&&!b.tj())return a.jj(b.e,c,d);return false}function qZb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!FYb(a,(S2b(),t2b));if(a_b(a,0)){l=V_b(a.g,0).e;if(B1b==l||(gYb(),!!ep(JXb,l))){k=null;j=DYb(a);lYb(j.a,false)&&h_b(a,(aXb(),yWb))}else{j=null;k=_Zb(a)}}else{if(a.b.d&&S$b(a,0,$1b)&&S$b(a,1,B1b)&&S$b(a,2,d1b)){g=UZb(a);GYb(a);return g}k=sZb(a);j=null}if(!a.b.d||T$b(a,Z1b)||T$b(a,X1b)){if(!k){i=(n4b(),m4b);c=b.a}else{i=(n4b(),l4b);c=null}if(b.b){f=d$b(a,b.d,j, -b.c,h,b.a);GYb(a)}else{d=$3b(h4b(e4b(new i4b(i),j),b.c),c);LZb(a,d,h?(H_b(),F_b):(H_b(),G_b));f=Z3b(d,IYb(a,b.d))}return i==(n4b(),m4b)?f:new E3b(IYb(a,b.d),b.a,k,f)}else{h&&l_b(a,"Member variable cannot be prefixed by '*' (generator function)",yG(tG(qZ,1),xUc,1,5,[]));e=LYb(a);T$b(a,q1b)&&l_b(a,"Member variable initializers ('=') are not supported",yG(tG(qZ,1),xUc,1,5,[]));GYb(a);return!k?new G4b(IYb(a,b.d),j,b.c,false,b.a,e):new D3b(IYb(a,b.d),k,b.c,b.a,e)}}function kwb(a){uub();switch(a.f){case 1:return"|"; -case 61:return"||";case 2:return"^";case 62:return"&&";case 3:return"&";case 36:return"===";case 4:return"==";case 19:return"!";case 5:return"!=";case 37:return"!==";case 10:return"<<";case 40: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"-";case 47:return"=";case 48:return"|=";case 49:return"^="; -case 50:return"&=";case 51:return"<<=";case 52:return">>=";case 53:return">>>=";case 54:return"+=";case 55:return"-=";case 56:return"*=";case 59:return"**=";case 57:return"/=";case 58:return"%=";case 79:return JXc;case 25:return i$c;case 41:return j$c;default:return null}}function Qlb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;uub();if(!!d&&(d.n==(Nlc(),Hlc)||d.n==wkc||d.n==rjc)&&!tvb(d.g))Mlb(a,b,c,c.f,d,d);else if(d.n==(Nlc(),Nic))d.g.n==Njc?Mlb(a,b,c,c.f,d,d.g):(e=oZc+a.c++,f=V2(a.a,e,d.d),g=Vdc(d.c? -d.c.i:null),h=K8b(Ghc(f,false),g,wkc),vub(b.f,(aXb(),zWb)),i=w2(a.a,Vdc(d.c),Ghc(f,false)),j=(Vd(_8b(i),i),new mfc(Njc,i)),k=j9b(Ghc(f,false)),l=G8b(yG(tG(BX,1),kWc,7,0,[h,j,k])),m=p3(a.a,l,d.d),Ud(m.n==Tjc),Fec(m,(thc(),sgc),1),n=A2(a.a,m,yG(tG(BX,1),kWc,7,0,[])),vub(b.f,ZVb),jfc(n,d),Eec(n,(Jdc(),rdc),true),Mec(d.g,d,n),bwb(n,a.b),Mlb(a,b,i.c,i.c?i.c.i:null,i,j),undefined);else if(d.n==pkc||d.n==Tkc||d.n==plc||d.n==Lic||d.n==xjc||d.n==qjc);else if(d.n==Sjc||d.n==Qjc||d.n==Rjc||tvb(d.g))Plb(a,c); -else if(d.n==ljc){o=oZc+a.c++;p=c.f;Nec(c,V2(a.a,o,c.d));Ndc(p,K8b(c,V2(a.a,o,c.d),wkc));vub(b.f,(aXb(),zWb))}else throw p0(new PAc("unexpected parent"));}function Pmb(a,b){var c,d,e;Xmb(a);(a.a.a.length==2||a.a.a.length==3)&&Mdc(b,jfc(U8b(Oob(M8b(gfc(Oob(R8b(gfc(Oob(c9b(qZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),gfc((Jdc(),new Jhc((Nlc(),olc),sZc)),b)),a.r.f.g?a.g.Wj(sZc):null),b),Oob(new ggc(1),a.r.f.e)),a.r.f.a),iGc(a.a,0).a),b));a.a.a.length==2&&Mdc(b,jfc(U8b(Oob(d9b(gfc(Oob(R8b(gfc(Oob(c9b(qZc+(a.r.b== -0?"":"$"+a.r.b)),a.g),b),gfc((Jdc(),new Jhc((Nlc(),olc),sZc)),b)),a.r.f.g?a.g.Wj(sZc):null),b),Oob(g9b(a.a.a[1].c),a.r.f.e)),a.r.f.a),iGc(a.a,0).a),b));if(a.a.a.length==1){Pdc(b,Iec(iGc(a.a,0).a));Lmb(a);return}e=gfc(o9b(gfc(Oob(R8b(gfc(Oob(c9b(qZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),gfc((Jdc(),new Jhc((Nlc(),olc),sZc)),b)),a.r.f.g?a.g.Wj(sZc):null),b),yG(tG(BX,1),kWc,7,0,[])),b);Mdc(b,e);for(d=new FGc(a.a);d.aa.f.b,i||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b)))&&GYb(a);return new P3b(new t7b(l,a.f),f,g,c,d,j)}function t0b(a){var b,c,d,e,f;Q_b(a);if(!P_b(a,a.f)){X_b(a,"Unterminated string literal escape sequence",yG(tG(qZ,1),xUc,1,5,[]));return false}if(E0b(P_b(a,a.f)?HBc(a.b,a.f):0)){d=Q_b(a); -d==13&&(P_b(a,a.f)?HBc(a.b,a.f):0)==10&&Q_b(a);return true}e=Q_b(a);switch(e){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:case 48:return true;break;case 120:c=i0b(a)&&i0b(a);c||X_b(a,K0c,yG(tG(qZ,1),xUc,1,5,[]));return c;case 117:if((P_b(a,a.f)?HBc(a.b,a.f):0)==123){Q_b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==125){X_b(a,L0c,yG(tG(qZ,1),xUc,1,5,[]));return false}b=true;while((P_b(a,a.f)?HBc(a.b,a.f):0)!=125&&b)b=b&&i0b(a);b||X_b(a,K0c,yG(tG(qZ,1),xUc,1,5,[]));Q_b(a); -return b}else{f=i0b(a)&&i0b(a)&&i0b(a)&&i0b(a);f||X_b(a,K0c,yG(tG(qZ,1),xUc,1,5,[]));return f}}if(e==47);else Y_b(a,"Unnecessary escape: '\\%s' is equivalent to just '%s'",yG(tG(qZ,1),xUc,1,5,[hAc(e),hAc(e)]));return true}function QQb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;g=b.j==(n4b(),k4b);i=b.j==m4b;e=b.j==j4b;f=b.e;h=b.f;j=b.c.p==(L6b(),w5b);h&&pPb(a.a,b,(aXb(),rWb));i&&pPb(a.a,b,(aXb(),AWb));e&&pPb(a.a,b,(aXb(),ZVb));f&&pPb(a.a,b,(aXb(),$Vb));h&&f&&pPb(a.a,b,(aXb(),_Vb));l=b.k;if(l)m=_Qb(a,l);else{if(g|| -i){a.a.e.fi("unnamed function statement",a.a.s,(cPb(),b.o.b.b+1),b.o.b.a);m=wPb(a.a,(Nlc(),Ekc),"__missing_name__")}else m=wPb(a.a,(Nlc(),Ekc),"");tfc(m.k)==-1&&JPb(m,b.o.b,b.o.a)}n=rPb(a.a,(Nlc(),Tjc));i&&m.Ii("");Mdc(n,m);qQb(a,n.c,b.d);Mdc(n,MPb(a.a,b.b));rQb(a,n,b.n);d=MPb(a.a,b.c);if(!e&&!j&&d.n!=ejc){Ud(a.a.a.f==(SOb(),QOb));d=(c=new kfc(ejc),c)}xQb(d);Mdc(n,d);Fec(n,(thc(),Lgc),h?1:0);Ud(n.n==Tjc);Fec(n,sgc,e?1:0);Ud(n.n==Tjc);Fec(n,tgc,f?1:0);Eec(n,(Jdc(),Adc),b.g);if(i){tfc(n.k)==-1&&JPb(n, -b.o.b,b.o.a);k=wPb(a.a,zkc,l.a);Mdc(k,n);$ec(k,b.i);pQb(a,b,k,b.a);Qec(n,bec(n,Bgc));JPb(k,l.d.b,l.d.a);o=k}else o=n;return o}function zPb(a,b){var c,d,e,f,g,h,i,j;j=b.c;g=b.d;f=j.length;Ud(f>0);Ud(j.charCodeAt(0)!=45&&j.charCodeAt(0)!=43);if(j.charCodeAt(0)==46)return IAc("0"+j);else if(j.charCodeAt(0)==48&&f>1)switch(j.charCodeAt(1)){case 46:case 101:case 69:return IAc(j);case 98:case 66:{oPb(a,b,(aXb(),aWb));i=0;d=1;while(++d=48&&e<=55)h=h*8+cQb(e);else{a.e.fi(t_c,a.s,g.b.b+1,g.b.a);return 0}}a.a.g==(XOb(),WOb)?a.e.fi(u_c,a.s,g.b.b+1,g.b.a):a.e.gi(u_c,a.s,g.b.b+1,g.b.a);return h;case 56:case 57:a.e.fi(t_c,a.s,g.b.b+1,g.b.a);return 0;default:throw p0(new PAc("Unexpected character in number literal: "+ -jH(j.charCodeAt(1))));}else return IAc(j)}function Tsb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;Gd(b.n==(Nlc(),Rkc));k=new nGc;d=b.c;g=b.d;while(d)if($dc(d,(Jdc(),hdc))!=0||$dc(d,jdc)!=0){Kob(a.b,d,"computed getter/setter in an object literal");return}else if(d.n==$jc||d.n==klc)d=d.f;else{e=d.f;Hec(b,d);k.Qd(d);d=e}f="$jscomp$compprop"+(""+a.b.Ng().a.S++);k=lH(k,106)?Qn(k):lH(k,174)?k.a:lH(k,69)?new Ly(k):new By(k);l=Oob((Zd(PBc(f,hCc(46))==-1,iWc,f),Jdc(),new Jhc(Ekc,f)),g);for(i=k.Xd();i.Jd();){h= -i.Kd();if(h.n==qjc){j=Jec(h);p=Jec(h);q=p.d;l=Oob(J8b(Oob(D8b(Usb(a,Q8b(Oob((Zd(PBc(f,hCc(46))==-1,iWc,f),new Jhc(Ekc,f)),g),j)),p),q),l),g)}else{o=Jec(h);q=o.d;n=h.Fi()?Yjc:Zjc;bfc(h,olc);Uec(h,a.d);Eec(h,Edc,false);c=Oob(new ofc(n,Oob((Zd(PBc(f,hCc(46))==-1,iWc,f),new Jhc(Ekc,f)),g),h),q);l=Oob(J8b(Oob(D8b(c,o),q),l),g)}}m=b;while(uub(),!(m.n!=Ckc&&Wvb(m.g)))m=m.g;jfc(l,b);Mec(b.g,b,l);r=K8b(Oob((Zd(PBc(f,hCc(46))==-1,iWc,f),new Jhc(Ekc,f)),g),(Hob(),b),Hlc);jfc(r,m);Ldc(m.g,r,m);a.b.Vg(r)}function owb(a, -b){uub();var c,d;if(a.n==(Nlc(),Blc)&&jec(a)&&b==(a.c?a.c.i:null))evb((Gd(a.n==Blc),a.c.f))?Hec(a,b):Wdc(b);else if(b.n==ljc){d=!b.g?null:b.g.g;Ud((Gd(d.n==Blc),jec(d)));Vdc(b)}else{c=b.g;if(c.n==Blc&&c.c.f==b){d=b.g;Ud((Gd(d.n==Blc),jec(d)));Wdc(b)}else if(b.n==ejc)Wdc(b);else if(a.n==hlc||a.n==jlc||a.n==ejc||a.n==Ckc||b.n==jjc||b.n==wjc||b.n==zkc)Hec(a,b);else if(!!a&&(a.n==Hlc||a.n==wkc||a.n==rjc)||a.n==Njc)if(!!a.c&&!!a.c.f)Hec(a,b);else{Hec(a,b);owb(a.g,a)}else if(a.n==rkc&&b==(a.c?a.c.i:null)){Hec(a, -b);owb(a.g,a)}else if(a.n==Pjc)Mec(a,b,new kfc(Djc));else if(a.n==Skc)Hec(a,b);else if(a.n==Lic)b==(a.c?a.c.i:null)?Hec(a,b):Mec(a,b,new kfc(Djc));else if(a.n==zjc){Hec(a,b);!!a.g.c&&owb(a.g,a)}else if(a.n==pkc||a.n==Tkc)Vdc(a);else if(a.n==Ykc)Hec(a,b);else if(a.n==dkc)if(b==a.c)Mec(a,b,new kfc(Djc));else throw p0(new PAc("Invalid attempt to remove: "+b+" from "+a));else throw p0(new PAc("Invalid attempt to remove node: "+b+" of "+a));}}function Qdb(a,b,c){var d,e,f;switch(b.n.f){case 28:if(!!b.c&& -!!b.c.f&&b.c.f==(b.c?b.c.i:null)&&b.c.n==(Nlc(),Zjc)&&Aec(b.c.c,ZWc)){hGc(a.d,(OIb(),NIb),0)!=-1||dGc(a.d,NIb);e=b.c;d=b.c?b.c.i:null;switch((e.c?e.c.i:null).Di()){case _Wc:zPc(a.a,_Wc,ZWc);case nXc:if(d.n!=(Nlc(),olc))return;dGc(a.c,d.Di());return;case $Wc:if(d.n!=(Nlc(),olc))return;dGc(a.d,TIb(d.Di()));return;case cXc:if(d.n!=(Nlc(),olc))return;dGc(a.e,d.Di());return;case mXc:b=d.c?d.c.i:null;break;default:return}}else if(c.n==(Nlc(),Zjc)&&Dec(c,aYc,aYc.length)&&c.g.n==hjc){d=c.g.c.f;if(d.n!=olc)return; -dGc(a.c,d.Di())}break;case 112:if($dc(c,(Jdc(),udc))==0){dGc(a.c,gLb(a.b.a));zPc(a.a,_Wc,XXc)}break;case 105:Pdb(a,b.c?b.c.i:null,b);return;case 109:uub();Gd(b.n==(Nlc(),Kjc));!!b.c&&!!b.c.f&&b.c.f==(b.c?b.c.i:null)&&Pdb(a,b.c?b.c.i:null,b);return;case 76:Aec(b.c,ZWc)&&Nvb(b.c)&&dGc(a.c,ZWc);break;case 84:case 88:case 82:case 85:case 29:case 95:case 100:break;default:return}for(f=b.c;f;f=f.f)Qdb(a,f,b)}function bgb(a){if(a.u!=(l7(),j7)&&!a.t)throw p0(new cgb("Cannot check use of goog.getCssName because of empty blacklist.", -yG(tG(qZ,1),xUc,1,5,[])));if(a.Mc&&!a.Lc)throw p0(new cgb("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",yG(tG(qZ,1),xUc,1,5,[])));if(a.Eb==(Mfb(),Lfb)&&a.Zb!=-1)throw p0(new cgb("max_function_size_after_inlining has no effect if inlining is disabled.",yG(tG(qZ,1),xUc,1,5,[])));if(a.W){if(!CVb(heb(a),(AVb(),pVb)))throw p0(new cgb("Dart requires --language_out=ES5 or higher.",yG(tG(qZ,1),xUc,1,5,[])));a.f=false;a.db=false}if(a.Mc&&a.kb)throw p0(new cgb("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.", -yG(tG(qZ,1),xUc,1,5,[])));if((rfb(),gfb)==a.Tb){r8b();if(s8b(q8b,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw p0(new cgb("type syntax is not yet generally available, please contact jscomp-team@",yG(tG(qZ,1),xUc,1,5,[])));}}function r$b(a){var b,c,d,e,f,g,h;g=V_b(a.g,0).e;if(g==(S2b(),t2b))return s$b(a);else if(g==m1b){h_b(a,(aXb(),GWb));f=V_b(a.g,0).d.b;BYb(a,m1b);e=bZb(a,1);return new Q4b(new t7b(f,a.f),e)}else if(g==y2b||g==W1b||g==B1b||(gYb(),!!ep(JXb,g)))return S$b(a,0,B1b)&& -MBc(V_b(a.g,0).a,aXc)&&(a_b(a,1)||V_b(a.g,1).e==$1b)?NZb(a,new K_b(V_b(a.g,0).d.b)):S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,"set")&&(a_b(a,1)||V_b(a.g,1).e==$1b)?y$b(a,new K_b(V_b(a.g,0).d.b)):S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,rXc)&&(c=V_b(a.g,1).d.b.b>V_b(a.g,0).d.a.b,!(c||S$b(a,1,q2b)||S$b(a,1,a1b)||S$b(a,1,o1b)))&&(a_b(a,1)||V_b(a.g,1).e==$1b||S$b(a,1,t2b)&&(a_b(a,2)||V_b(a.g,2).e==$1b))?fZb(a,new K_b(V_b(a.g,0).d.b)):V_b(a.g,1).e==Z1b?qZb(a,new K_b(V_b(a.g,0).d.b)):t$b(a);else if(g==$1b){f=V_b(a.g,0).d.b; -d=sZb(a);if(T$b(a,d1b)){BYb(a,d1b);h=bZb(a,1);return new B3b(new t7b(f,a.f),d,h)}else{b=new i4b((n4b(),l4b));LZb(a,b,(H_b(),G_b));h=Z3b(b,new t7b(f,a.f));return new E3b(new t7b(f,a.f),null,d,h)}}else throw p0(new CF(ZUc));}function dVb(){dVb=S0;HUb=new eVb(lYc,0,"all",0,0,0);IUb=new eVb("COND",1,"cond",3,3,1);JUb=new eVb("EQ",2,"eq",2,2,3);LUb=new eVb("ISCTOR",3,"isCtor",1,1,3);MUb=new eVb("ISDEFINED",4,"isDefined",1,1,4);NUb=new eVb("ISRECORD",5,"isRecord",1,1,3);OUb=new eVb("ISTEMPLATIZED",6,"isTemplatized", -1,1,3);PUb=new eVb("ISUNKNOWN",7,"isUnknown",1,1,3);KUb=new eVb(a0c,8,"instanceOf",1,1,1);RUb=new eVb("MAPUNION",9,"mapunion",2,2,1);QUb=new eVb("MAPRECORD",10,"maprecord",2,2,1);SUb=new eVb(bYc,11,"none",0,0,0);TUb=new eVb("PRINTTYPE",12,"printType",2,2,1);UUb=new eVb("PROPTYPE",13,"propType",2,2,1);VUb=new eVb("RAWTYPEOF",14,"rawTypeOf",1,1,0);YUb=new eVb("SUB",15,"sub",2,2,3);XUb=new eVb("STREQ",16,"streq",2,2,2);WUb=new eVb("RECORD",17,"record",1,kUc,0);ZUb=new eVb("TEMPLATETYPEOF",18,"templateTypeOf", -2,2,0);$Ub=new eVb(j_c,19,MXc,2,kUc,0);_Ub=new eVb("TYPEEXPR",20,"typeExpr",1,1,0);aVb=new eVb("TYPEOFVAR",21,"typeOfVar",1,1,1);bVb=new eVb("UNION",22,"union",2,kUc,0);cVb=new eVb("UNKNOWN",23,b0c,0,0,0)}function Yob(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;l=hpb(c,b);h=m2(a.b,l,false);e=gpb(l);n=new kpb;n.b=h;n.a=e;i=null;g=l;f=g.g;while(f!=b){Vd(!jpb(f)||f==g.g&&!(g==g.g.c?null:g.i),f);if(f.n==(Nlc(),Nic))if(apb(a,f,n.b));else{if(!(f==g.g&&!(g==g.g.c?null:g.i))){j=f.c;switch(j.n.f){case 27:Wob(a, -j.c?j.c.i:null,null,n);case 26:Wob(a,j.c,null,n);break;default:throw p0(new PAc("Expected a property access: "+ffc(j)));}}}else if(f.n==hjc&&zvb(f.c)){d=f.c;Wob(a,d.f,g,n);if(_ob(a,d,n.b)&&i!=d.c){Vd(a.a,"Object method calls can not be decomposed.");n.b=true;f=(Hd(f.n==hjc,f),o=f.c,Hd((uub(),o.n==Zjc||o.n==Yjc),o),p=o.d,q=null,!!p&&(q=p.rj()?lqc(p.rj(),QYc):a.j),r=$ob(a,o,n.a),n.a=r,s=r.c.c,Hd(s.n==Zjc||s.n==Yjc,s),t=$ob(a,s.c,n.a),n.a=t,u=t.c,v=r.c,w=jfc(Uec(H8b(Oob(R8b(v.zi(false),Oob((Jdc(),new Jhc(olc, -QYc)),a.g)),q),yG(tG(BX,1),kWc,7,0,[u.zi(false)])),f.d),f),Jec(f),!!f.c&&Pdc(w,Iec(f)),Mec(f.g,f,w),w)}}else Wob(a,f.c,g,n);i=g;g=f;f=g.g}if(l==c);else{m=l.g;k=m.n!=(Nlc(),Njc);Zob(a,l,e,k)}}function $ob(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;k=b.g;g=gvb(k)&&k.n!=(Nlc(),Nic)&&k==b.g&&!(b==b.g.c?null:b.i);e=null;if(g&&(uub(),b.n==(Nlc(),Zjc)||b.n==Yjc))for(i=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();i.Jd();){h=i.Kd();if(h.n!=(Nlc(),olc)&&!(h.n==Ekc&&(nvb(h,a.f)||rMc(a.d,h.Di())))){d=$ob(a,h,c); -!e&&(e=d)}}o=(r=a.i+"_const"+CZc+(""+a.e.a.S++),qMc(a.d,r),r);l=gfc(Uec((Zd(PBc(o,hCc(46))==-1,iWc,o),Jdc(),new Jhc((Nlc(),Ekc),o)),b.d),b);if(g){Vd(b.n==Ekc||(uub(),b.n==Zjc||b.n==Yjc),b);j=ifc(Oob(new kfc(Yub(k)),k.d),k);m=k.c?k.c.i:null;bfc(k,Nic);Mec(k,m,j);Ndc(j,l);Mdc(j,m);p=Tdc(b,false)}else if(b.n==qkc||b.n==Ukc){n=b.zi(false);Mdc(n,l);Mec(b.g,b,n);switch(k.n.f){case 42:case 28:case 23:p=gfc(v2(a.c,yG(tG(BX,1),kWc,7,0,[b])),(Ud(!!b.c&&!b.c.f),b.c));break;case 43:p=gfc(_2(a.c,yG(tG(BX,1),kWc, -7,0,[b])),(Ud(!!b.c&&!b.c.f),b.c));break;default:throw p0(new PAc("Unexpected parent of SPREAD:"+ffc(k)));}}else{Mec(k,b,l);p=b}q=jwb(o,p);Uec(q.c,p.d);f=c.g;Ldc(f,q,c);!e&&(e=q);Ud(e.n==Hlc);return e}function O6(){O6=S0;new Whb("JSC_INVALID_CLOSURE_IMPORT_DESTRUCTURING",(l7(),i7),new $Cc("Destructuring {0} must be a simple object pattern."));new Whb("JSC_ONE_CLOSURE_IMPORT_PER_DECLARATION",i7,new $Cc("There may only be one {0} per var/let/const declaration."));new Whb("JSC_INVALID_CLOSURE_IMPORT_CALL", -i7,new $Cc("{0} parameter must be a string literal."));new Whb(WWc,i7,new $Cc(XWc));N6=new Whb("JSC_LET_CLOSURE_IMPORT",j7,new $Cc(YWc));new Whb("JSC_NO_CLOSURE_IMPORT_DESTRUCTURING",i7,new $Cc("Cannot destructure the return value of {0}"));new Whb("JSC_LHS_OF_CLOUSRE_IMPORT_MUST_BE_CONST_IN_ES_MODULE",i7,new $Cc("The left side of a {0} must use ''const'' (not ''let'' or ''var'') in an ES module."));R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),Jdc(),new Jhc((Nlc(),Ekc),ZWc)),new Jhc(olc,$Wc));R8b(R8b((Zd(PBc(ZWc, -hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,_Wc)),new Jhc(olc,aXc));R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,bXc));R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,cXc))}function v0b(a){var b,c,d,e,f;Q_b(a);if(!P_b(a,a.f)){X_b(a,"Unterminated template literal escape sequence",yG(tG(qZ,1),xUc,1,5,[]));return null}if(B0b(P_b(a,a.f)?HBc(a.b,a.f):0)){d=Q_b(a);d==13&&(P_b(a,a.f)?HBc(a.b,a.f):0)==10&&Q_b(a);return null}e=Q_b(a);switch(e){case 48:if(I0b(P_b(a, -a.f)?HBc(a.b,a.f):0)>=0)return new J0b(I0c,a.d.a.length==0?O_b(a,a.f):V_b(a,0).d.b);return null;case 49:case 50:case 51:case 52:case 53:case 54:case 55:return new J0b(I0c,a.d.a.length==0?O_b(a,a.f):V_b(a,0).d.b);case 120:c=i0b(a)&&i0b(a);if(!c)return new J0b(K0c,a.d.a.length==0?O_b(a,a.f):V_b(a,0).d.b);return null;case 117:if((P_b(a,a.f)?HBc(a.b,a.f):0)==123){Q_b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==125)return new J0b(L0c,a.d.a.length==0?O_b(a,a.f):V_b(a,0).d.b);b=true;while((P_b(a,a.f)?HBc(a.b,a.f): -0)!=125&&b)b=b&&i0b(a);if(!b)return new J0b(K0c,a.d.a.length==0?O_b(a,a.f):V_b(a,0).d.b);Q_b(a);return null}else{f=i0b(a)&&i0b(a)&&i0b(a)&&i0b(a);if(!f)return new J0b(K0c,a.d.a.length==0?O_b(a,a.f):V_b(a,0).d.b);return null}default:return null}}function fQb(a){cPb();switch(a.f){case 74:return Nlc(),cjc;case 75:return Nlc(),djc;case 73:return Nlc(),ajc;case 59:return Nlc(),Hjc;case 60:return Nlc(),Ikc;case 54:return Nlc(),ykc;case 56:return Nlc(),vkc;case 55:return Nlc(),_jc;case 57:return Nlc(),Vjc; -case 70:return Nlc(),xkc;case 71:return Nlc(),ilc;case 72:return Nlc(),Glc;case 63:return Nlc(),Gic;case 64:return Nlc(),rlc;case 65:return Nlc(),Dkc;case 94:return Nlc(),Ajc;case 67:return Nlc(),Bkc;case 66:return Nlc(),Jjc;case 61:return Nlc(),llc;case 62:return Nlc(),mlc;case 16:return Nlc(),ikc;case 17:return Nlc(),lkc;case 53:return Nlc(),pjc;case 82:return Nlc(),Nic;case 92:return Nlc(),Qic;case 93:return Nlc(),Ric;case 91:return Nlc(),Pic;case 88:return Nlc(),Uic;case 89:return Nlc(),Xic;case 90:return Nlc(), -Zic;case 83:return Nlc(),Oic;case 84:return Nlc(),Yic;case 85:return Nlc(),Wic;case 86:return Nlc(),Tic;case 95:return Nlc(),Sic;case 87:return Nlc(),Vic;case 79:return Nlc(),Wkc;case 78:return Nlc(),Hic;default:throw p0(new PAc(!a?uUc:a.a==null?(gYb(),ep(JXb,a)).c:a.a));}}function osb(a){var b,c,d,e,f,g,h,i,j,k,l,m;c=false;for(k=a.Xd();k.Jd();){i=k.Kd();if(MBc(i.e,TXc)){c=true;b=new vMc(a);b.a.Ne(i)!=null;Vd(Pc(Srb(i),b),"A weak module already exists but it does not depend on every other module."); -Vd(pIc(Srb(i))==b.a.$d(),"The weak module cannot have extra dependencies.");break}}if(c){h=new nGc;g=new nGc;for(j=a.Xd();j.Jd();){i=j.Kd();f=MBc(i.e,TXc);for(e=new FGc(i.d);e.ab&&b=97&&a<=122}function Re(a,b){return a.c.le(a,b)}function QSc(a,b){wSc(a);a.a.Id(b)}function JPb(a,b,c){Yec(a,c.c-b.c)}function H7b(a,b,c){yCc(a.c,b,0,c)}function jxb(a,b,c){oub(a.b,a,b,c)}function _pb(){_pb=T0;$pb=sic(GZc)}function jMc(a){this.c=a;gMc(this)}function Mm(){this.c=(Cb(),Cb(),Bb)}function IPc(){JPc.call(this,null)}function CSc(){ySc.call(this,null)}function bs(){yj.call(this, +new oMc)}function lx(){yj.call(this,new ENc)}function pab(a,b){Y9.call(this,a,b)}function Nab(a,b){ee.call(this,a,b)}function ceb(a,b){ee.call(this,a,b)}function Eeb(a,b){ee.call(this,a,b)}function Jeb(a,b){ee.call(this,a,b)}function Qeb(a,b){ee.call(this,a,b)}function Web(a,b){ee.call(this,a,b)}function afb(a,b){ee.call(this,a,b)}function ffb(a,b){ee.call(this,a,b)}function yfb(a,b){ee.call(this,a,b)}function Ffb(a,b){ee.call(this,a,b)}function Lfb(a,b){ee.call(this,a,b)}function Rfb(a,b){ee.call(this, +a,b)}function Zfb(a,b){ee.call(this,a,b)}function dgb(a,b){ee.call(this,a,b)}function Ugb(a,b){ee.call(this,a,b)}function gib(a,b){ee.call(this,a,b)}function cB(a){Do();gp.call(this,a)}function hB(a){gB();Np.call(this,a)}function hhb(a,b){this.a=a;this.b=b}function hkb(a,b){this.a=a;this.b=b}function ddb(a,b){this.a=a;this.b=b}function ljb(a,b){this.a=a;this.b=b}function Sjb(a,b){this.a=a;this.b=b}function vnb(a,b){this.a=a;this.b=b}function Okb(a,b){this.a=a;this.c=b}function olb(a,b){this.b=a;this.a= +b}function bmb(a,b){this.b=a;this.a=b}function Emb(a,b){this.b=a;this.a=b}function Qnb(a,b){this.b=a;this.a=b}function Irb(a,b){this.a=a;this.b=b}function fxb(a,b){this.b=a;this.a=b}function kxb(a,b){this.b=a;this.a=b}function nxb(a,b){this.b=a;this.a=b}function Qxb(a,b){this.j=a;this.i=b}function Nnb(a){this.a=a;this.b=nXc}function Ryb(a,b){this.b=a;this.a=b}function Gyb(a,b){ee.call(this,a,b)}function ulb(a,b){ee.call(this,a,b)}function _lb(a,b){ee.call(this,a,b)}function Nqb(a,b){ee.call(this, +a,b)}function $qb(a,b){ee.call(this,a,b)}function Mzb(a,b){ee.call(this,a,b)}function FCb(a,b){ee.call(this,a,b)}function cDb(a,b){ee.call(this,a,b)}function mDb(a,b){ee.call(this,a,b)}function Asb(a,b){DF.call(this,a,b)}function fDb(){cDb.call(this,nYc,0)}function oDb(){mDb.call(this,P$c,0)}function yIb(a,b){ee.call(this,a,b)}function eKb(a,b){ee.call(this,a,b)}function FKb(a,b){this.b=a;this.a=b}function YCb(a,b){this.b=a;this.a=b}function qCb(a,b){this.a=a;this.b=b}function RAb(a,b){this.a=a;this.b= +b}function uBb(a,b){this.a=a;this.b=b}function NFb(a,b){this.a=a;this.b=b}function MKb(a,b){ee.call(this,a,b)}function bLb(a,b){ee.call(this,a,b)}function gOb(a,b){ee.call(this,a,b)}function DOb(a,b){ee.call(this,a,b)}function WOb(a,b){ee.call(this,a,b)}function _Ob(a,b){ee.call(this,a,b)}function dTb(a,b){ee.call(this,a,b)}function BTb(a,b){ee.call(this,a,b)}function BLb(a,b){LD.call(this,a,b)}function $Sb(a,b){this.a=a;this.b=b}function $Tb(a,b){this.c=a;this.b=b}function bUb(a,b){this.a=a;this.b= +b}function iXb(a,b){this.e=a;this.d=b}function M0b(a,b){this.a=a;this.b=b}function N0b(a,b){this.b=a;this.a=b}function b3b(a,b){this.p=a;this.o=b}function z3b(a,b){ee.call(this,a,b)}function E_b(a,b){ee.call(this,a,b)}function r4b(a,b){ee.call(this,a,b)}function P6b(a,b){ee.call(this,a,b)}function w7b(a,b){this.b=a;this.a=b}function WE(a,b){return b.b+a.c.i.b}function R_b(a,b){return uYb(a.g,b)}function Hbc(a,b){return lac(a.a,b)}function S_b(a,b){return b>=0&b=48&&a<= +55}function f8b(a){return a>=48&&a<=57}function v8b(a,b){u8b();return a[b]}function hrc(a){a.e=a.e|8;return a}function WF(a){$wnd.clearTimeout(a)}function Bbc(a,b){ee.call(this,a,b)}function whc(a,b){ee.call(this,a,b)}function Gic(a,b){ee.call(this,a,b)}function Qlc(a,b){ee.call(this,a,b)}function Tnc(a,b){ee.call(this,a,b)}function Doc(a,b){ee.call(this,a,b)}function trc(a,b){ee.call(this,a,b)}function csc(a,b){ee.call(this,a,b)}function Atc(a,b){ee.call(this,a,b)}function Vxc(a,b){ee.call(this, +a,b)}function Xxc(){Vxc.call(this,y0c,0)}function byc(){Vxc.call(this,x0c,1)}function Wqc(a){this.q=a;this.s=a.g}function cgc(a,b){this.c=a;this.b=b}function uic(a,b){this.b=a;this.a=b}function rwc(a,b){this.b=a;this.a=b}function Szc(a,b){ED.call(this,a,b)}function SAc(a,b){DF.call(this,a,b)}function UCc(a,b){ee.call(this,a,b)}function _Cc(a,b){return bDc(a.a,b)}function pIc(a,b){return cDc(a.a,b)}function Hzc(a,b){return cCc(a.a,b)}function Gzc(a,b){return JBc(a.a,b)}function jmc(a,b){return Vtc(a.D, +b)}function jxc(a,b){return Vtc(a.c,b)}function zNc(a,b){return cDc(a.c,b)}function gNc(a,b){return a.a.get(b)}function MDc(a){return a.b1?a.M=1:a.M=b}function kmb(a,b){Ndc(a.c,b,bec(a.c))} +function dAb(a,b){return qAb(a.a.d,b)}function xCc(a,b){a.a+=""+b;return a}function zCc(a,b){a.a+=""+b;return a}function ACc(a,b){a.a+=""+b;return a}function MYb(a,b){return oYb(b,a.b.d)}function COb(a){return a==zOb||a==xOb}function kac(a){return!!a.d&&!!a.d.n}function bec(a){return a.c?a.c.i:null}function jec(a){return!!a.c&&!!a.c.f}function Byb(a){this.b=a;this.a=a.b.c}function Hrb(a){this.b=a;this.a=false}function u6(a){this.a=new Rq;this.b=a}function $f(a){Gd(a.$d()==0);this.c=a}function yj(a){Gd(a.$d()== +0);this.a=a}function Jcc(a,b){A9b(a.a,b);a.e=true}function cHc(a,b){_Gc(a,0,a.length,b)}function Rec(a,b){a.k=Cfc(vfc(a.k),b)}function Snc(a,b){return Rnc(a.f|b.f)}function RBc(a,b){return a.indexOf(b)}function NAc(a){return nH(a)?a:a.sk()}function Rt(a,b){return no(a.b,b).df()}function ov(a){return Pv(a.a.Xd(),a.b)}function otb(){qtb.call(this,new vtb)}function hOc(){yMc.call(this,new ENc)}function iOc(){yMc.call(this,new FNc)}function PTc(){MTc.call(this,"UTF-8")}function umc(a){vmc.call(this,a, +null)}function Hdb(a){Idb.call(this,a,false)}function Qyb(a){Ryb.call(this,a,false)}function HCb(){FCb.call(this,"LINE",0)}function Xi(a,b,c){Ti.call(this,a,b,c)}function n_b(a,b,c){YTb(a.c,b,"%s",c)}function bE(a,b){var c;c=mF(b);aE(a,c)}function eC(a,b){this.c=a;this.b=Pd(b)}function QMc(a){this.a=eNc();this.b=a}function Qec(a,b){Hec(a,(vhc(),wgc),b)}function Sec(a,b){Iec(a,(vhc(),Dgc),b)}function Uec(a,b){Iec(a,(vhc(),Tgc),b)}function Xec(a,b){Iec(a,(vhc(),rhc),b)}function Cac(a,b){b?a.a|=1:a.a&= +-2}function $hc(a){Ldc();mfc.call(this,a)}function pnc(a){cmc();umc.call(this,a)}function Ync(a){cmc();Vnc.call(this,a)}function iuc(a){cmc();Aqc.call(this,a)}function kvc(a){cmc();Zuc.call(this,a)}function vvc(a){cmc();kvc.call(this,a)}function Cvc(a){cmc();Vnc.call(this,a)}function Jvc(a){cmc();Vnc.call(this,a)}function twc(a){cmc();Vnc.call(this,a)}function ywc(a){cmc();Vnc.call(this,a)}function tyc(a){cmc();umc.call(this,a)}function xzc(a){cmc();Vnc.call(this,a)}function lYb(a){jYb();return ep(MXb, +a)}function vBc(a,b){return s0(a,b)>0?a:b}function OBc(a,b){return rH(a)===rH(b)}function smc(a){return lH(a,49)?a:null}function tmc(a){return lH(a,49)?a:null}function kLc(a){return a<10?"0"+a:""+a}function wOc(a){return a!=null?zb(a):0}function P9b(a){return!a.d?null:a.d.b}function Q9b(a){return!a.d?null:a.d.c}function R9b(a){return!a.d?null:a.d.d}function W9b(a){return!a.d?null:a.d.j}function X9b(a){return!a.d?null:a.d.k}function BKc(a,b,c){return UKc(b.a,c.a)}function XRc(a,b){if(KRc)return;a.b= +b}function rPc(a){sPc.call(this,a,"","")}function JQc(){AQc.call(this,"Tail",3)}function EQc(){AQc.call(this,"Head",1)}function ze(){qe.call(this,"IS_NULL",2)}function pu(a,b){On();ju.call(this,a,b)}function jt(a,b){On();this.a=a;this.b=b}function DE(a){this.a=a;this.c=a.length}function Ni(a){this.a=a;Hi.call(this,a)}function Nr(a){this.a=a;Kh.call(this,a)}function Ur(a){this.a=a;Kh.call(this,a)}function Rkb(a){this.b=new hOc;this.a=a}function ijb(a){this.b=a;this.a=new LFc}function Vwb(a){this.b= +a;this.a=new vMc}function rAb(a){this.b=a;this.a=new ENc}function Vib(a){this.a=a;this.b=new pGc}function OAb(a){this.c=new hOc;this.a=a}function oIb(a){this.b=a;this.a=new pGc}function WCb(){this.a=(Fic(),Dic);$Cc()}function eLb(){eLb=T0;dLb=new Kc("/")}function h9b(a){return Ldc(),new igc(a)}function MAb(a,b){return new KAb(a,b,b)}function LYb(a,b){return new w7b(b,a.f)}function Swc(a,b){return Rwc(a,b.c,b.d)}function EVb(a,b){return a.a.Ud(ULc(b))}function UAc(a,b){return ab?1:0}function DG(a, +b,c){return{l:a,m:b,h:c}}function hMc(a){return a.a=a);this.b=a;this.a=b}function s2(a,b){m2();this.b=Pd(a);this.a=b}function Ii(a,b){this.d=a;Ei(this);this.b=b}function vmc(a,b){this.D=a;this.F=!b?a.g:b}function Wm(a,b){this.a=b;Bf.call(this,a,0)}function Ti(a,b,c){hi.call(this,a,b,c,null)}function Gdb(a,b){Fdb.call(this,a,a.Zh(),b)}function bhb(a){Xgb();_gb.call(this,null,a)}function chb(a){Xgb(); +ahb.call(this,null,a)}function Ljb(a){Ijb();this.a=a;this.b=false}function B8(a,b){a.th();b&&a.Bh();a.q=false}function z8(a){Ud(a.s==a.t);a.sh("`");++a.s}function nAc(a){if(a.p!=null)return;DAc(a)}function Xlb(a){this.b=($lb(),Ylb);this.a=a}function mAb(a,b){this.a=a;_zb.call(this,b)}function ojb(a,b,c){return Nob(a.a,a.f,b,c)}function Arb(a,b,c){return Brb(a,rXc,b.a,c)}function UCb(a,b,c){return new XCb(b,c,a.a)}function lcb(a,b,c,d){rdb(new fdb(a,b,d,c))}function U1(a,b){return Fo(a.a,b,($1(),Y1))} +function MBc(a){return qCc(OTc(a,a.length))}function KFc(a){return a.c-a.b&a.a.length-1}function GTb(a){return a.g==a.d?a.c+a.a:a.a}function ufc(a){Ldc();return a==-1?-1:a&PVc}function jnc(a){cmc();return!a?null:a.rj()}function QRc(a,b){if(KRc)return;fGc(a.a,b)}function YLc(a,b){return lH(b,11)&&ZLc(a,b)}function $Lc(a,b){return lH(b,11)&&_Lc(a,b)}function XSc(a,b){ySc.call(this,a);this.a=b}function bwc(){Uvc();cwc.call(this,new IPc)}function tOc(){CF.call(this,"no key found")}function te(){qe.call(this, +"ALWAYS_TRUE",0)}function we(){qe.call(this,"ALWAYS_FALSE",1)}function jib(){gib.call(this,"MULTILINE",1)}function ak(a){this.e=a;this.c=a.a.Je().Xd()}function gLc(a){this.a=new $wnd.Date(H0(a))}function Xdc(a){Pd(a.g);Jec(a.g,a);return a}function im(a,b){var c;c=a.a;a.a=b;return c}function pH(a,b){return a&&b&&a instanceof b}function xc(a,b){return a.a.Nd(b)||a.b.Nd(b)}function QF(a,b,c){return a.apply(b,c);var d}function f3(a,b,c){return e3(a,b,Pe(We(),c))}function ot(a,b){return xg(a.a,b,fBc(0)).a> +0}function gg(a){return lH(a,53)?a.fe():a.Xd()}function jH(a){return String.fromCharCode(a)}function di(a){a.b?di(a.b):a.f.c.Me(a.e,a.d)}function t4(a,b){B4((Plc(),Ekc),b);R4(a,b.c)}function Edb(a,b){Gd(!b||!a.k||a.k==b);a.k=b}function Ngb(a,b){this.a=a;this.c=b;this.b=0}function Fsb(a){this.a=new s9b(a.b);this.c=a}function kw(a){this.a=(ew(),dw);this.d=Pd(a)}function _cb(){this.c=new DCc;this.d=new vMc}function cUc(){cUc=T0;_Tc=new tb;bUc=new tb}function Ijb(){Ijb=T0;Hjb=Ne(Ve(new jc(46)))}function mx(a){yj.call(this, +($y(a),new FNc))}function Lm(){zm.call(this,(Do(),Do(),Co),0)}function L3b(a){b3b.call(this,(O6b(),u5b),a)}function B3b(a){b3b.call(this,(O6b(),l5b),a)}function C3b(a){b3b.call(this,(O6b(),m5b),a)}function D3b(a){b3b.call(this,(O6b(),k5b),a)}function Q3b(a){b3b.call(this,(O6b(),z5b),a)}function z4b(a){b3b.call(this,(O6b(),R5b),a)}function K4b(a){b3b.call(this,(O6b(),a6b),a)}function O4b(a){b3b.call(this,(O6b(),f6b),a)}function P4b(a){b3b.call(this,(O6b(),g6b),a)}function W6b(a){b3b.call(this,(O6b(), +t6b),a)}function _6b(a){b3b.call(this,(O6b(),y6b),a)}function lib(){gib.call(this,"SOURCELESS",2)}function iib(){gib.call(this,"SINGLELINE",0)}function y7b(a){CF.call(this,"codePoint:"+a)}function Nbb(a){seb(a.I)&&Zbb(a);return null}function syc(a,b){Ud(!b.Wd());a.a=b;return a}function yEc(a,b){var c;c=a.e;a.e=b;return c}function KEc(a,b){var c;c=b;return!!a.zk(c)}function Pbc(a,b){a.e=true;return I9b(a.a,b)}function MVb(a,b){return new QVb(WVb(a.a,b))}function uPb(a,b){return Udc(new mfc(b),a.u)} +function ATc(a,b){return FTc(new Array(b),a)}function mCc(a){return qH(a)?a.length:a.lk()}function Jc(a){Pd(a);return lH(a,445)?a:X0(a)}function vfc(a){Ldc();return a==-1?-1:a>>>12}function Lc(a,b,c){Pd(c);return new td(c,a,b)}function Ve(a){Pd(a);return new Te(new Xe(a))}function ZMc(a,b){var c;c=a[r0c];c.call(a,b)}function $Mc(a,b){var c;c=a[r0c];c.call(a,b)}function af(a,b,c){this.a=c;$e.call(this,a,b)}function ff(a,b,c){this.a=c;$e.call(this,a,b)}function td(a,b,c){this.b=a;this.a=b;this.c=c} +function El(a,b,c){this.c=b;this.b=c;this.a=a}function FOc(a){this.d=a;this.a=0;this.c=$Uc}function Aw(a,b,c){this.a=a;this.c=b;this.d=c}function rs(a,b,c){this.a=a;Bf.call(this,b,c)}function fp(a){Do();this.d=(LHc(),new EJc(a))}function Np(a){on();this.b=(LHc(),new UJc(a))}function on(){on=T0;new Dn((LHc(),LHc(),JHc))}function lo(a,b){return b!=null&&a.Jf().Td(b)}function vF(a){return new uF(a.d,a.c,a.a,a.b)}function yNc(a){mDc(a.c);a.b.b=a.b;a.b.a=a.b}function Oac(a,b){if(!yac(a))return;a.b.i=b} +function wNc(a,b){while(a.Jd())b.vf(a.Kd())}function lA(a,b){$f.call(this,a);this.a=Pd(b)}function pA(a,b){zk.call(this,a);this.a=Pd(b)}function o1(a,b,c){ee.call(this,a,b);this.a=c}function I1(a,b,c){ee.call(this,a,b);this.a=c}function A5(a,b,c){this.c=a;this.b=b;this.a=c}function SE(a,b,c){this.j=a;this.b=b;this.a=c}function XC(a,b,c){this.b=a;this.a=b;this.c=c}function y6(a,b,c){this.a=a;this.c=b;this.b=c}function akb(a){Xjb();this.a=a;this.b=new LFc}function bBb(a){$Ab();this.a=a;this.b=new oMc} +function bDb(){bDb=T0;_Cb=new fDb;aDb=new hDb}function lDb(){lDb=T0;jDb=new oDb;kDb=new pDb}function ECb(){ECb=T0;CCb=new HCb;DCb=new ICb}function LKb(){LKb=T0;KKb=new OKb;JKb=new QKb}function u_b(a){this.b=a;this.a=(On(),new vs)}function B7b(a){CF.call(this,"Precision: "+a)}function zSc(a){ySc.call(this,null);this.a=a}function Idb(a,b){Gdb.call(this,new Fsb(a),b)}function acb(a,b,c){c.b=a;return $Qc(a.v,b,c)}function Qsb(a,b){if(a.a)return a.a;return b}function gnb(a,b){snb(a.j,b);fGc(a.a,b);a.j= +b}function Aac(a,b){!a.d&&(a.d=new fbc);a.d.a=b}function Bac(a,b){!a.d&&(a.d=new fbc);a.d.b=b}function Fac(a,b){!a.d&&(a.d=new fbc);a.d.d=b}function Gac(a,b){!a.d&&(a.d=new fbc);a.d.i=b}function Hac(a,b){!a.d&&(a.d=new fbc);a.d.j=b}function Iac(a,b){!a.d&&(a.d=new fbc);a.d.k=b}function NE(a,b){OE(a,"file",false);a.a+=""+b}function D8b(a,b){return H8b((Plc(),Iic),a,b)}function O8b(a,b){return H8b((Plc(),Jjc),a,b)}function a9b(a,b){return H8b((Plc(),Akc),a,b)}function f9b(a,b){return H8b((Plc(),Kkc), +a,b)}function o9b(a,b){return H8b((Plc(),tlc),a,b)}function Wlc(a){return new _hc((Plc(),Oic),a)}function Oe(a){return new Ue(a.c,true,a.d,a.a)}function mEb(a){return F0(w0(Date.now()),a.a)}function UBc(a,b,c){return a.lastIndexOf(b,c)}function ep(a,b){return b==null?null:dz(a.d,b)}function YRc(a,b){if(KRc)return;!!b&&(a.d=b)}function R4(a,b){while(b){Q4(a,b,false);b=b.f}}function M9(a,b){N9.call(this,a,b,false,false)}function wv(a){this.a=a;this.b=1;Mm.call(this)}function KSc(a){this.b=a;_Oc.call(this, +$Uc,0)}function oSc(){this.a=vUc;this.b="";this.c=""}function Sib(a,b,c){this.a=a;this.b=b;this.c=c}function $hb(a,b,c){this.b=a;this.c=b;this.a=c}function nrb(a,b,c){this.a=a;this.c=b;this.b=c}function gkb(a,b,c){this.g=a;this.f=b;this.b=c}function wyb(a,b){this.c=a;this.b=b.d;this.a=b}function Ezb(a,b,c){ee.call(this,a,b);this.a=c}function Zhb(a,b){return lH(b,5)&&OBc(b.b,a.b)}function zAb(a,b){return Qsb(Psb(b.d,a.e),a.g)}function teb(a){return a.xc||a.Ab==(_eb(),Yeb)}function ZRb(a){var b;b=a.o; +a.o=null;return b}function Vrb(a,b){Gd(true);b.k=null;lGc(a.d,b)}function VEb(a,b,c){this.a=a;this.b=b;this.c=c}function ZSb(a,b,c){this.c=a;this.b=b;this.a=c}function wBb(a,b,c){this.b=a;this.c=b;this.a=c}function IIb(a,b,c){ee.call(this,a,b);this.a=c}function QOb(a,b,c){ee.call(this,a,b);this.a=c}function Y2b(a,b,c){ee.call(this,a,b);this.a=c}function s3b(a,b,c){this.c=a;this.a=b;this.b=c}function IVb(a,b){return new QVb(WVb(a.a,b.a))}function LVb(a,b){return new QVb(WVb(a.a,b.a))}function PVb(a, +b){return new QVb(SVb(a.a,b.a))}function iVb(a){gVb();return ke((lVb(),kVb),a)}function ujb(){ujb=T0;tjb=PVb((DVb(),tVb),sVb)}function eB(){eB=T0;on();dB=Cw((On(),On(),Nn))}function mOc(){mOc=T0;kOc=new nOc;lOc=new pOc}function LHc(){LHc=T0;JHc=new VHc;KHc=new kIc}function Dac(a){!a.d&&(a.d=new fbc);ebc(a.d,4)}function Jac(a){!a.d&&(a.d=new fbc);ebc(a.d,5)}function Kac(a){!a.d&&(a.d=new fbc);ebc(a.d,6)}function Mac(a){!a.d&&(a.d=new fbc);ebc(a.d,0)}function Pac(a){!a.d&&(a.d=new fbc);ebc(a.d,3)}function Qac(a){!a.d&& +(a.d=new fbc);ebc(a.d,2)}function Uac(a){!a.d&&(a.d=new fbc);ebc(a.d,1)}function Poc(a,b){vmc.call(this,a,b);Foc(this)}function Zrc(a,b,c){ee.call(this,a,b);this.a=c}function esc(a,b,c){this.c=a;this.a=b;this.b=c}function gsc(a,b,c){this.b=a;this.a=b;this.c=c}function aMc(a,b,c){this.a=a;this.b=b;this.c=c}function sNc(a,b,c){this.a=a;this.b=b;this.c=c}function Hi(a){this.d=a;Ei(this);this.b=gg(a.d)}function rGc(a){dGc(this);CTc(this.a,0,a.be())}function eac(a){return(nZc&a.a)==AZc?a.i:null}function _9b(a){return(nZc& +a.a)==nVc?a.i:null}function lxc(a,b,c){return b==c||b==Wwc(a.a,c)}function CKc(a,b,c){return UAc(a.vi(b),a.vi(c))}function enc(a,b,c,d){cmc();return a.jj(d,b,c)}function dnc(a,b,c,d){cmc();return d.jj(a,b,c)}function tl(a,b){Pd(a);Pd(b);return new ul(a,b)}function kv(a,b){Pd(a);Pd(b);return new pv(a,b)}function Xn(a){On();Pd(a);return Wn(new mHc(a))}function Hj(a,b){if(!a)return 0;return im(a,b)}function E0(a,b){return t0(WG(z0(a)?G0(a):a,b))}function w1(a,b){return zNc(a.e,b)||v1(a,J1(b))}function n3(a, +b,c){return i3(a,b,m3(a,z3(a,c)))}function knb(a,b,c){rnb(a.j,b,Kmb(a,b,false,c))}function xAb(a,b,c){return Nob(!!a.a.b,a.e,b,c)}function PEb(a,b,c){KEb();return new VEb(c,a,b)}function myb(a,b){a.r=b;a.a=n6(new u6(a.b),a.d)}function GVb(a,b){return lH(b,123)&&kB(b.a,a.a)}function Bkb(a){return a.n==(Plc(),Vjc)||Lvb(a)}function DFc(a){return a.a[a.c-1&a.a.length-1]}function wAc(){var a;a=tAc(null);a.i=2;return a}function py(a){var b;b=new pGc;Fv(b,a);return b}function mB(a){var b;b=new vMc;Fv(b, +a);return b}function ubb(a){!a.I&&Jbb(a,new veb);return a.i}function Qob(a,b){Job();!!b&&(a.d=b,a);return a}function Vec(a,b){Iec(a,(vhc(),_gc),b);return a}function bfc(a,b){Iec(a,(vhc(),mhc),b);return a}function uAc(a){var b;b=tAc(a);HAc(a,b);return b}function fGc(a,b){a.a[a.a.length]=b;return true}function Po(a,b){Do();ol(a,b);return new or(a,b)}function Yo(a,b){Do();return ol(a,b),new NB(a,b)}function EHb(a){BHb();this.b=a;this.a=new _4(a)}function gt(a){this.b=a;this.a=Eo(this.b.a).Gf()}function pv(a, +b){this.a=a;this.b=b;Mm.call(this)}function SNc(a,b,c){this.c=a;FEc.call(this,b,c)}function dgc(a,b,c){cgc.call(this,a,c);this.a=b}function ngc(a,b,c){cgc.call(this,a,c);this.a=b}function zYb(a,b,c){iXb.call(this,a,c);this.c=b}function CTc(a,b,c){zTc(c,0,a,b,c.length,false)}function N4(a,b,c){d4(a,(dXb(),UWb),c);M4(a,b,c)}function c5(a){return a.b==(Tgb(),Rgb)||a.b==Qgb}function jQc(a,b){return!!b&&kQc(a,b.d)?b:null}function eD(a,b){return b0?1:0}function dDc(a,b){return eDc(a,b,a.e)||eDc(a,b,a.d)}function mrb(a, +b){return b==a.c?a:new nrb(a.a,b,a.b)}function Tm(a){return new kw(new Wm(a.a.length,a.a))}function Aub(a,b,c){vub();return evb(a,new Ewb(b),c)}function wPb(a,b,c,d){return Udc(new qfc(b,c,d),a.u)}function yPb(a,b){return Udc((Ldc(),new igc(b)),a.u)}function ku(a,b){On();ju.call(this,a,ko(new mHc(b)))}function Zi(a,b,c){this.a=a;hi.call(this,a,b,c,null)}function LAb(a){this.a=Pd(a);this.b=null;this.c=null}function mfc(a){Ldc();this.n=a;this.g=null;this.k=-1}function VIb(a,b,c){PIb();this.b=a;this.a= +b;this.c=c}function Lhc(a,b){Ldc();mfc.call(this,a);Jhc(this,b)}function Ay(a,b){var c;c=a.a.$d();Sd(b,c);return c-b}function Ylc(a,b){!!b&&Iec(a,(vhc(),Dgc),b);return a}function ebc(a,b){var c;c=(Hd(b>=0,$0c),1<0);Ud(a.s==a.t);a.sh("}");--a.t}function Vbb(a){a.M=0;fgb(a.I);Rbb(a);Wbb(a);a.M=.15}function kib(a){var b;b=(d1(),new btb);b.d=a;return b}function Pd(a){if(a==null)throw q0(new wBc);return a}function tD(a,b){lD.call(this,a,b);Gd(a.c.length==64)}function _1(a,b,c){ee.call(this,a,b);this.a=c<<24>>24}function yE(a, +b,c,d,e){tE.call(this,a,b,c,d);this.a=e}function Hmb(a,b,c,d){return ifc(P8b(Gmb(a,b,c,d)),b)}function enb(a,b,c,d){return ifc(k9b(Gmb(a,b,c,d)),b)}function vYb(a,b,c){return new w7b(uYb(a,b),uYb(a,c))}function OVb(a,b,c){return new QVb(SVb(a.a,VLc(b,c)))}function EKb(a,b){return new FKb(a.b,a.b.c.ti(a.a,b))}function seb(a){return!a.ad&&!a.B&&a.Ab!=(_eb(),Yeb)}function HPb(a,b){a.j&&a.e.fi(F$c,a.s,b.b.b+1,b.b.a)}function B4(a,b){b.n!=a&&b5(CWc+a+" but was "+b.n,b)}function yAb(a,b){if(a.a.b)return b.Dd(); +return null}function pmc(a){if(lH(a,110))return a.p;return false}function NDc(a){a.ba.length&&(a.length=c)}function kGc(a,b){var c;c=a.a[b];DTc(a.a,b,1);return c}function Wtc(a,b){var c,d;c=a.t;d=vq(a.B,c,b);return d}function Joc(a){var b; +b=new NQc;Vvc(a.Vj(),b);return b}function Do(){Do=T0;Co=new cB(yG(tG(Z$,1),cVc,51,0,[]))}function rD(){qD.call(this,new fD("base16()",eCc(sUc)))}function xu(a,b){wu();fp.call(this,a);this.a=b;this.c=a}function gx(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function zd(a){this.b=new Bd;this.c=this.b;this.a=Pd(a)}function D8(a){Ud(a.s>0);Ud(a.s==a.t+1);a.sh("`");--a.s}function Avb(a){vub();return a.n==(Plc(),_jc)||a.n==$jc}function Wvb(a){vub();return a.n!=(Plc(),Ekc)&&Xvb(a.g)}function Jdb(a,b){return(on(), +au(new bu,a)).$f(b)._f()}function Tmb(a,b){return e9b(b+(a.r.b==0?"":"$"+a.r.b))}function g3(a){return Ud(b9b(a)),new ofc((Plc(),ilc),a)}function Q3(a,b){var c;c=$dc(a);b!=c&&b5(CWc+b+DWc+c,a)}function Grb(a,b){var c;c=new DCc;zrb(a,c,b);return c.a}function sKb(a,b){!b?a.a=new HKb:a.a=b;CJb(a.c,a.a)}function QEb(a,b,c){KEb();a.Og()||a.Yg(OVb(a.Cg(),b,c))}function gCb(a,b,c,d,e){ecb(a.a,dCb(b,c,d,e,(p7(),m7)))}function hCb(a,b,c,d,e){ecb(a.a,dCb(b,c,d,e,(p7(),o7)))}function h3b(a,b){b3b.call(this, +(O6b(),_4b),a);this.a=b}function d3b(a,b){b3b.call(this,(O6b(),X4b),a);this.a=b}function e3b(a,b){b3b.call(this,(O6b(),Y4b),a);this.a=b}function f3b(a,b){b3b.call(this,(O6b(),Z4b),a);this.a=b}function g3b(a,b){b3b.call(this,(O6b(),$4b),a);this.a=b}function i3b(a,b){b3b.call(this,(O6b(),a5b),a);this.a=b}function k3b(a,b){b3b.call(this,(O6b(),c5b),a);this.a=b}function l3b(a,b){b3b.call(this,(O6b(),d5b),a);this.a=b}function r3b(a,b){b3b.call(this,(O6b(),j5b),a);this.a=b}function K3b(a,b){b3b.call(this, +(O6b(),t5b),a);this.a=b}function M3b(a,b){b3b.call(this,(O6b(),v5b),a);this.a=b}function P3b(a,b){b3b.call(this,(O6b(),y5b),a);this.a=b}function U3b(a,b){b3b.call(this,(O6b(),D5b),a);this.a=b}function V3b(a,b){b3b.call(this,(O6b(),E5b),a);this.a=b}function $3b(a,b){b3b.call(this,(O6b(),F5b),a);this.a=b}function u4b(a,b){b3b.call(this,(O6b(),M5b),a);this.a=b}function w4b(a,b){b3b.call(this,(O6b(),O5b),a);this.a=b}function D4b(a,b){b3b.call(this,(O6b(),V5b),a);this.a=b}function E4b(a,b){b3b.call(this, +(O6b(),W5b),a);this.a=b}function G4b(a,b){b3b.call(this,(O6b(),Y5b),a);this.a=b}function M4b(a,b){b3b.call(this,(O6b(),d6b),a);this.a=b}function Q4b(a,b){b3b.call(this,(O6b(),h6b),a);this.a=b}function R4b(a,b){b3b.call(this,(O6b(),i6b),a);this.a=b}function S4b(a,b){b3b.call(this,(O6b(),j6b),a);this.a=b}function T4b(a,b){b3b.call(this,(O6b(),k6b),a);this.a=b}function U4b(a,b){b3b.call(this,(O6b(),l6b),a);this.a=b}function W4b(a,b){b3b.call(this,(O6b(),n6b),a);this.a=b}function T6b(a,b){b3b.call(this, +(O6b(),q6b),a);this.a=b}function U6b(a,b){b3b.call(this,(O6b(),r6b),a);this.a=b}function Z6b(a,b){b3b.call(this,(O6b(),w6b),a);this.a=b}function $6b(a,b){b3b.call(this,(O6b(),x6b),a);this.a=b}function a7b(a,b){b3b.call(this,(O6b(),z6b),a);this.a=b}function d7b(a,b){b3b.call(this,(O6b(),D6b),a);this.a=b}function e7b(a,b){b3b.call(this,(O6b(),E6b),a);this.a=b}function h7b(a,b){b3b.call(this,(O6b(),G6b),a);this.a=b}function l7b(a,b){b3b.call(this,(O6b(),K6b),a);this.a=b}function kXb(a,b){iXb.call(this, +(V2b(),E1b),a);this.a=b}function izc(a){bzc(this);this.j=a;this.k=a.D;this.i=30}function Ue(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function XDb(a,b,c){this.a=a;this.c=b;this.d=c;Ud(true)}function sr(a,b,c,d){or.call(this,a,c);this.a=b;this.f=d}function Pwc(a,b,c,d){return Owc(a,b,c,new Lrc(true),d)}function _Qc(a,b,c){return YQc(a,b)?ZQc(a,b):$Qc(a,b,c)}function Qtc(a,b){return ezc(dzc((cmc(),new hzc(a)),b))}function kQc(a,b){return yPc(a.c,a.f,b,a.b,a.a,a.e,a.d)}function pLc(a){Oc(a.a);a.b= +vG(rZ,zUc,1,a.b.length,5,1)}function wSc(a){if(!a.c){xSc(a);a.d=true}else wSc(a.c)}function qSc(a){if(0>=a)return new CSc;return rSc(a-1)}function x3(a,b){Qd(a.b,qWc);return Rd(Vtc(a.b,b),rWc,b)}function i3(a,b,c){return M8b(W2(a,b,c.d),c,(Plc(),tjc))}function Qw(a,b,c,d){or.call(this,a,b);this.d=c;this.a=d}function N9(a,b,c,d){ee.call(this,a,b);this.b=c;this.a=d}function oF(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function uF(a,b,c,d){this.d=a;this.c=b;this.a=c;this.b=d}function iB(a){Np.call(this, +a);this.a=(LHc(),new vKc(a))}function Gs(a){this.b=(pl(a,"initialArraySize"),new qGc)}function Gi(a){ei(a.d);if(a.d.d!=a.c)throw q0(new fLc);}function gvb(a){vub();Gd(a.n==(Plc(),Dlc));return lec(a)}function gSb(a,b){a.o=!a.o?HTb(a.j):ZRb(a);return a.o==b}function jnb(a,b){pnb(a.j,b);inb(a,Jmb(a,b));a.j.e=false}function zPb(a,b,c){return Udc((Ldc(),new Lhc(b,c)),a.u)}function BPb(a,b,c){return Udc((Ldc(),new Vhc(b,c)),a.u)}function xPb(a,b,c,d,e){return Udc(new rfc(b,c,d,e),a.u)}function Z8b(a){Ud(b9b(a)); +return new ofc((Plc(),skc),a)}function k9b(a){Ud(b9b(a));return new ofc((Plc(),ilc),a)}function eAc(a){var b;b=a-10;return(b<0?48+a:97+b)&qUc}function Ltc(a,b){var c;c=new Ipc(a);Epc(c,b);return c.b}function KBc(a,b){var c,d;c=a;d=b;return c==d?0:c0)a=a<<1|(a<0?1:0);return a}function EOc(a,b){this.b=a;this.a=(b&4096)==0?b|64|YUc:b}function $wc(a,b){return b.a.kj()?Vtc(a.a,(ztc(),xtc)):b}function rqc(a){return mmc(a.o)?Vtc(a.D,(ztc(),xtc)):a.o}function rLc(a, +b){return $Lc(a.a,b)?sLc(a,b.f,null):null}function iDc(a,b,c){return qH(b)?jDc(a,b,c):OMc(a.d,b,c)}function vOc(a,b){return rH(a)===rH(b)||a!=null&&vb(a,b)}function iCc(a){return String.fromCharCode.apply(null,a)}function v3(a){return Vd(b9b(a),a),new ofc((Plc(),Pjc),a)}function meb(a,b){return FVb(xfb(a.Tb),b)&&!FVb(leb(a),b)}function neb(a,b){return HVb(xfb(a.Tb),b)&&!HVb(leb(a),b)}function UKb(){TKb();return yG(tG(DT,1),FUc,270,0,[SKb])}function RHc(a){LHc();return!a?(SKc(),SKc(),RKc):a.zf()}function W2b(a){return a.a== +null?(jYb(),ep(MXb,a)).c:a.a}function Prb(a,b,c){return new Lrb(null,null,-1,-1,b,a,c)}function OEb(a,b){KEb();return new Slb(Wlb(new Xlb(b),a))}function $gb(a){Xgb();this.a=null;this.b=(on(),new UB(a))}function fdb(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function DJb(a,b,c,d){this.e=a;this.f=b;this.d=c;this.g=d}function pAb(a,b,c,d){this.b=a;this.a=b;this.c=c;this.d=d}function eXb(a,b,c,d){ee.call(this,a,b);this.a=c;this.b=d}function L_b(a,b,c,d){ee.call(this,a,b);this.b=c;this.a=d}function eab(a, +b,c,d){Y9.call(this,c,d);this.a=a;this.c=b}function u7b(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function igc(a){Ldc();mfc.call(this,(Plc(),Rkc));this.a=a}function Pvc(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function YTb(a,b,c,d){var e;a.d=true;e=W7b(c,d);a.xi(b,e)}function W7b(a,b){var c;c=new V7b;G7b(c,a,b);return c.c.a}function vv(a){var b;b=jf(a.a);Gv(b,a.b);return new Av(b)}function aj(a){var b;b=a.c;!b&&(a.c=b=new rk(a));return b}function bj(a){var b;b=a.d;!b&&(a.d=b=new wk(a));return b} +function Oc(a){var b;for(b=a.Xd();b.Jd();){b.Kd();b.Ld()}}function ORc(a,b,c,d){var e;e=new HRc(b,c);e.c=d;PRc(a,e)}function $cc(a){if(!a)return new Ycc(true);return Zcc(a)}function PSc(a,b){xSc(a);return new XSc(a,new eTc(b,a.a))}function RSc(a,b){xSc(a);return new XSc(a,new jTc(b,a.a))}function Hw(a){var b;return b=a.g,!b?a.g=new Sh(a,a.c):b}function yw(a){var b;b=a.b;return!b?a.b=new St(a.c,a):b}function P_b(a){return a.d.a.length==0?a.f:Y_b(a,0).d.b.c}function lDc(a,b){return b==null?PMc(a.d, +null):iNc(a.e,b)}function SC(a){return lH(a,18)?a.ae():new XSc(null,a._d())}function eG(){eG=T0;var a,b;b=!jG();a=new rG;dG=b?new kG:a}function fib(){fib=T0;dib=new iib;cib=new jib;eib=new lib}function Uxc(){Uxc=T0;Rxc=new Xxc;Sxc=new byc;Txc=new hyc}function SKc(){SKc=T0;PKc=new VKc;QKc=new VKc;RKc=new ZKc}function V9(a){this.c=new veb;this.a=new W9(this);this.f=a}function $e(a,b){this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function FBc(a,b,c){this.a=JVc;this.d=a;this.b=b;this.c=c}function dtb(a,b){h1.call(this, +a);$sb(this);Pd(a);this.a=b}function qgb(a){pgb.call(this,(On(),Pd(a),Wn(new mHc(a))))}function Azb(a,b,c){var d;Ezb.call(this,a,b,(d=c,Plc(),d))}function Bzb(a,b,c){var d;Ezb.call(this,a,b,(d=c,Plc(),d))}function Czb(a,b,c){var d;Ezb.call(this,a,b,(d=c,Plc(),d))}function jAb(a,b,c){this.b=a;_zb.call(this,c);this.a=Pd(b)}function wic(a){this.b="";this.a=a}function wD(a){if(a.k){a.e!==vVc&&a.jg();a.i=null}return a}function Yzb(a){a.a=a1(a.b);a.c=a.b.Mg();return new Uzb(a)}function HAb(a){a.a= +a1(a.b);a.c=a.b.Mg();return new DAb(a)}function dhb(a){Xgb();rOc(Wgb,a,new fhb);return fDc(Wgb,a)}function Qrc(a,b,c,d){iDc(a.b,new Src(a,b,c),d);return d.a}function Rrb(a,b,c,d,e,f){return new Lrb(a,null,b,c,e,d,f)}function P8b(a){Vd(b9b(a),a);return new ofc((Plc(),Pjc),a)}function rIc(a){return!a.b&&(a.b=new dEc(a.a)),a.b.a.$d()}function Tdc(a){return!a.c?(LHc(),LHc(),KHc):new yhc(a.c)}function nCc(a,b,c){return qH(a)?a.substr(b,c-b):a.mk(b,c)}function VBc(a,b){return(new RegExp("^("+b+")$")).test(a)} +function K0(a,b){return t0(_G(z0(a)?G0(a):a,z0(b)?G0(b):b))}function g2(){e2();return yG(tG(iN,1),FUc,237,0,[c2,d2,b2])}function r7(){p7();return yG(tG(BN,1),FUc,235,0,[m7,o7,n7])}function VF(a){PF();$wnd.setTimeout(function(){throw a;},0)}function g6(a){var b;this.c=new OQc(new uCb);on();b=a;Dp(b)}function Yx(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function _Sc(a,b,c,d){this.b=a;this.c=d;_Oc.call(this,b,c)}function uLc(a){this.a=XLc(a.a);this.b=yTc(a.b,a.b.length)}function Z3(a){B4((Plc(), +Gjc),a);u4(a.c);$3(a.c?a.c.i:null)}function Ttb(a){while(!!a&&a.n!=(Plc(),llc))a=a.g;return a}function ekb(a,b){a.g.a.Qg()&&Pd(b);a.a=b;a.d=true;return a}function fkb(a,b){a.g.a.Qg()&&Pd(b);a.i=b;a.e=true;return a}function Zdc(a,b){var c;c=a.c;while(b>0){c=c.f;--b}return c}function $dc(a){var b,c;b=0;for(c=a.c;c;c=c.f)++b;return b}function c9(a,b){var c;for(c=b;c;c=c.f)a.Nh(c,(L9(),G9))}function mcb(a,b){!a.I&&Jbb(a,new veb);return ncb(a,b,true)}function iSb(a,b){return Udc(new nfc(b,a.j.g,GTb(a.j)), +a.n)}function rKb(a,b){return new FKb(a,wKb(a.e.wi(VKb(b)),a.d))}function krc(a,b){return jrc(a,(On(),Pd(b),Wn(new mHc(b))))}function Rtc(a,b){return Qtc(a,(On(),Pd(b),Wn(new mHc(b))))}function hDc(a,b){return b==null?!!NMc(a.d,null):fNc(a.e,b)}function mac(a){return(a.a&37)!=0||(!a.d?null:a.d.d)!=null}function UHc(a){LHc();return lH(a,69)?new rKc(a):new jJc(a)}function URc(a,b){if(!JRc)return;WRc(a,(mRc(),jRc),b,null)}function RRc(a,b){if(!IRc)return;WRc(a,(mRc(),iRc),b,null)}function ZRc(a,b){if(!LRc)return; +WRc(a,(mRc(),kRc),b,null)}function $Rc(a,b){if(!MRc)return;WRc(a,(mRc(),lRc),b,null)}function Oab(){Mab();return yG(tG(NN,1),FUc,283,0,[Kab,Lab])}function Keb(){Ieb();return yG(tG(dO,1),FUc,268,0,[Geb,Heb])}function gfb(){efb();return yG(tG(hO,1),FUc,269,0,[dfb,cfb])}function keb(a){return a.Qb.Gd((Xzc(),wfb(a.Tb)?true:false))}function amb(){$lb();return yG(tG(rP,1),FUc,312,0,[Ylb,Zlb])}function Xhb(a,b){var c;c=new _gb(a,b);jDc(Uhb,a,c);return c}function Yhb(a,b){var c;c=new ahb(a,b);jDc(Uhb,a,c); +return c}function nub(a,b,c){var d;d=new mub(a,c,new PDb(a));fub(d,b)}function VE(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}function BD(a,b){var c;c=pAc(a.Ik);return b==null?c:c+": "+b}function Oob(a,b,c){Job();if(!a)return null;return b.u[c.f]}function O0b(a,b,c){zYb.call(this,(V2b(),B2b),a,b);this.a=c}function VDc(a,b){this.a=a;PDc.call(this,a);a.$d();this.b=b}function fUc(){if(aUc==256){_Tc=bUc;bUc=new tb;aUc=0}++aUc}function pe(){pe=T0;me=new te;le=new we;ne=new ze;oe=new Ce}function Lu(){Lu= +T0;on();Ku=(OA(),NA);Ju=new iB(new OQc(Ku))}function NKb(){LKb();return yG(tG(BT,1),FUc,194,0,[KKb,JKb])}function Nzb(){Lzb();return yG(tG(mR,1),FUc,273,0,[Kzb,Jzb])}function Hyb(){Fyb();return yG(tG(hR,1),FUc,274,0,[Eyb,Dyb])}function GCb(){ECb();return yG(tG(YR,1),FUc,189,0,[CCb,DCb])}function nDb(){lDb();return yG(tG(gS,1),FUc,199,0,[jDb,kDb])}function eDb(){bDb();return yG(tG(dS,1),FUc,200,0,[_Cb,aDb])}function XOb(){VOb();return yG(tG(ZT,1),FUc,278,0,[UOb,TOb])}function aPb(){$Ob();return yG(tG($T, +1),FUc,277,0,[ZOb,YOb])}function dsc(){bsc();return yG(tG(bY,1),FUc,300,0,[asc,_rc])}function nmc(a,b){var c;return c=new Lrc(false),gmc(a,b,0,c)}function $Jc(a,b){var c;for(c=0;c=0,$0c),1<=a.d)throw q0(new uOc);return a.ee(a.c++)}function y8(a){if(a.q){a.sh(";");a.Ih()}a.uh();a.Bh();a.q=false}function Xpb(a){this.a= +a;this.b=!a.Bg()?new hOc:new jOc(a.Bg())}function Kv(a){var b;while(true){b=a.Kd();if(!a.Jd())return b}}function b4(a){var b;B4((Plc(),Ojc),a);for(b=a.c;b;b=b.f)a4(b)}function k4(a){var b;B4((Plc(),ikc),a);for(b=a.c;b;b=b.f)j4(b)}function Utb(a){var b;b=KFc(a.o)+a.n.a.length;Ud(b>0);return b-1}function oub(a,b,c,d){var e;e=new mub(a,b,new PDb(a));lub(e,c,d)}function tE(a,b,c,d){nE.call(this,a);this.c=b;this.d=c;this.b=d}function Ayb(a){var b;b=a.b.e>a.a;a.a=a.b.b.c;++a.b.b.c;return b}function zvb(a){vub(); +return a.n==(Plc(),gjc)&&!!a.g&&a.g.n==Vjc}function zIb(){xIb();return yG(tG(_S,1),FUc,236,0,[wIb,vIb,uIb])}function Xeb(){Veb();return yG(tG(fO,1),FUc,231,0,[Seb,Teb,Ueb])}function bfb(){_eb();return yG(tG(gO,1),FUc,230,0,[Zeb,Yeb,$eb])}function Gfb(){Efb();return yG(tG(kO,1),FUc,232,0,[Bfb,Dfb,Cfb])}function Mfb(){Kfb();return yG(tG(lO,1),FUc,229,0,[Hfb,Jfb,Ifb])}function Sfb(){Qfb();return yG(tG(mO,1),FUc,228,0,[Nfb,Ofb,Pfb])}function egb(){cgb();return yG(tG(oO,1),FUc,233,0,[agb,_fb,bgb])}function eTb(){cTb(); +return yG(tG(eU,1),FUc,256,0,[aTb,bTb,_Sb])}function vlb(){tlb();return yG(tG(lP,1),FUc,259,0,[slb,qlb,rlb])}function hib(){fib();return yG(tG(GO,1),FUc,157,0,[dib,cib,eib])}function APb(a,b){return Udc((Ldc(),new Lhc((Plc(),qlc),b)),a.u)}function VSb(a,b,c,d,e){return!c?null:Udc(new pfc(b,c,d,e),a.n)}function tKb(a,b,c){uKb.call(this,a,b,c,(TKb(),SKb),(LKb(),KKb))}function h0b(a){while(K0b(S_b(a,a.f)?JBc(a.b,a.f):0)>=0)T_b(a)}function o0b(a){while(L0b(S_b(a,a.f)?JBc(a.b,a.f):0)>=0)T_b(a)}function GBb(a){crb(); +this.b=a;frb.call(this,a.a);this.a=new hOc}function Mec(a,b){var c;c=Nec(a,a.j,b.f<<24>>24);c!=a.j&&(a.j=c)}function aec(a,b){var c;c=Aec(a,b);if(!c)return 0;return c.Ki()}function Ihc(a,b){var c;c=new Khc(a.n);c.a=a.a;return Wdc(a,c,b)}function imc(a,b){var c;c=Mv(b.Vi().c.Xd());return Uwc(a.Vi(),c)}function Etc(a,b,c){return Yqc(frc(drc((cmc(),new mrc(a)),c),b))}function Eoc(){Coc();return yG(tG(OX,1),FUc,261,0,[Boc,zoc,Aoc])}function Hic(){Fic();return yG(tG(IX,1),FUc,234,0,[Dic,Eic,Cic])}function urc(){rrc(); +return yG(tG(TX,1),FUc,250,0,[qrc,orc,prc])}function $rc(){Yrc();return yG(tG(aY,1),FUc,247,0,[Vrc,Wrc,Xrc])}function Wxc(){Uxc();return yG(tG(HY,1),FUc,162,0,[Rxc,Sxc,Txc])}function MFc(a){sFc(this);ETc(this.a,ZAc($wnd.Math.max(8,a))<<1)}function Uzc(a){Szc.call(this,a==null?wUc:X0(a),lH(a,37)?a:null)}function _A(a){On();this.a=(LHc(),lH(a,69)?new rKc(a):new jJc(a))}function USc(a){var b;xSc(a);b=(SKc(),SKc(),QKc);return VSc(a,b)}function H0(a){var b;if(z0(a)){b=a;return b==-0?0:b}return YG(a)}function Yg(a, +b){var c;c=b.ff();return new or(c,a.b.Ee(c,b.gf()))}function iBc(a,b){var c,d;for(d=a.Xd();d.Jd();){c=d.Kd();b.vf(c)}}function Xob(a,b){var c;c=hpb(b);if(c)return dpb(a,c,b);return 0}function owc(a,b,c,d){a.b=false;jDc(a.c,b,new rwc(c,d));return a}function avb(a){var b,c;b=a;for(c=Nub(b);c;c=Nub(b))b=c;return b}function oeb(a,b){Ud(b!=(vfb(),rfb));Ud(b!=ufb);a.Tb=b==sfb?tfb:b}function Jab(a,b){Md(wec(a),QXc,a);Md(wec(b),QXc,b);eec(a);eec(b)}function IYb(a,b){if(Y_b(a.g,0).e==b)return EYb(a,b);return null} +function g1(a,b){if(!a.d)return b;return(n1(),i1).a+(""+b)+l1.a}function yD(a){if(!a.f||!pH(a.e,Error))return;a.e["cause"]=a.f.e}function F8(a){if(a.q){a.sh(";");a.Ih();a.Bh();a.q=false}a.r=true}function uvb(a){vub();return a.n==(Plc(),Ujc)||a.n==Sjc||a.n==Tjc}function p1(){n1();return yG(tG(aN,1),FUc,174,0,[j1,m1,k1,i1,l1])}function lHb(a,b,c){ACc(ACc(ACc(ACc((a.a+="@",a),b)," {"),c),"}")}function l_b(a,b,c,d){!b?YTb(a.c,Q_b(a.g),c,d):YTb(a.c,b.d.b,c,d)}function m_b(a,b,c,d){!b?YTb(a.c,Q_b(a.g), +c,d):YTb(a.c,b.o.b,c,d)}function _vc(a,b,c){var d;d=a.b.Le(b);!!d&&Ovc(c,d.a);a.b.Me(b,c)}function $Dc(a,b,c){WTc(b,c,a.$d());this.c=a;this.a=b;this.b=c-b}function tpb(a,b,c){this.c=(beb(),aeb);this.a=a;this.e=b;this.d=c}function eSc(a,b){this.b=a;new $wnd.RegExp(a.source,"g");this.a=b}function adc(){adc=T0;_cc=new $wnd.RegExp("^[a-zA-Z_$][\\w$]*$")}function tFc(a,b){VTc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;yFc(a)}function uFc(a,b){VTc(b);a.a[a.c]=b;a.c=a.c+1&a.a.length-1;yFc(a)}function Yuc(a){var b; +Ud(a.Xj()!=null);b=Pd(a.Xj());return eUc(b)}function tec(a){var b;b=~aec(a,(vhc(),khc))&31;b|=16;return b==16}function p9(a,b){var c;c=dec(b,(Ldc(),vdc));!!c&&a.Nh(c,(L9(),G9))}function Yf(a,b){var c,d;c=ez(a.c,b);if(c){d=c.$d();c.Sd();a.d-=d}}function lgb(a,b){var c,d;for(d=b.Xd();d.Jd();){c=d.Kd();kgb(a,c)}}function zdb(a){var b;if(!a.n){b=a.b.D;a.n=rKb(b,a.i.a)}return a.n}function byb(a){var b;b=new _xb;a9(new v9(b),a,(L9(),G9));return b}function $qc(a){a.b=(rrc(),prc);a.c=new mfc((Plc(),$kc)); +return a}function Od(a,b){if(a<0||a>=b)throw q0(new Pzc(Dd(a,b)));return a}function Td(a,b,c){if(a<0||bc)throw q0(new Pzc(Fd(a,b,c)));}function YQc(a,b){if(b==null)throw q0(new wBc);return cDc(a.a,b)}function ZQc(a,b){if(b==null)throw q0(new wBc);return fDc(a.a,b)}function nPb(a,b){if(!OPb(b))return null;return mPb(a,iPb(a,b.o))}function sl(a,b,c){!!c&&Gd(true);return new El(qSc(a).Hk(),b,1301)}function m3b(a,b,c){b3b.call(this,(O6b(),e5b),a);this.b=b;this.a=c}function p3b(a,b,c){b3b.call(this, +(O6b(),h5b),a);this.b=b;this.a=c}function N3b(a,b,c){b3b.call(this,(O6b(),w5b),a);this.b=b;this.a=c}function R3b(a,b,c){b3b.call(this,(O6b(),A5b),a);this.b=b;this.a=c}function T3b(a,b,c){b3b.call(this,(O6b(),C5b),a);this.b=b;this.a=c}function o3b(a,b,c){b3b.call(this,(O6b(),g5b),a);this.a=b;this.b=c}function E3b(a,b,c){b3b.call(this,(O6b(),n5b),a);this.a=b;this.b=c}function O3b(a,b,c){b3b.call(this,(O6b(),x5b),a);this.a=b;this.b=c}function t4b(a,b,c){b3b.call(this,(O6b(),L5b),a);this.a=b;this.b=c} +function F4b(a,b,c){b3b.call(this,(O6b(),X5b),a);this.a=b;this.b=c}function A4b(a,b,c){b3b.call(this,(O6b(),S5b),a);this.b=b;this.a=c}function B4b(a,b,c){b3b.call(this,(O6b(),T5b),a);this.b=b;this.a=c}function H4b(a,b,c){b3b.call(this,(O6b(),Z5b),a);this.b=b;this.a=c}function I4b(a,b,c){b3b.call(this,(O6b(),$5b),a);this.b=b;this.a=c}function L4b(a,b,c){b3b.call(this,(O6b(),c6b),a);this.b=b;this.a=c}function N4b(a,b,c){b3b.call(this,(O6b(),e6b),a);this.b=b;this.a=c}function V4b(a,b,c){b3b.call(this, +(O6b(),m6b),a);this.b=b;this.a=c}function R6b(a,b,c){b3b.call(this,(O6b(),o6b),a);this.b=b;this.a=c}function X6b(a,b,c){b3b.call(this,(O6b(),u6b),a);this.b=b;this.a=c}function Y6b(a,b,c){b3b.call(this,(O6b(),v6b),a);this.b=b;this.a=c}function g7b(a,b,c){b3b.call(this,(O6b(),F6b),a);this.b=b;this.a=c}function c7b(a,b,c){b3b.call(this,(O6b(),C6b),a);this.a=b;this.b=c}function f7b(a,b,c){b3b.call(this,(O6b(),B6b),a);this.a=b;this.b=c}function j7b(a,b,c){b3b.call(this,(O6b(),J6b),a);this.a=b;this.b=c} +function S6b(a,b,c){b3b.call(this,(O6b(),p6b),a);this.a=b;this.b=c}function m7b(a,b,c){b3b.call(this,(O6b(),L6b),a);this.b=b;this.a=c}function n7b(a,b,c){b3b.call(this,(O6b(),M6b),a);this.b=b;this.a=c}function o7b(a,b,c){b3b.call(this,(O6b(),N6b),a);this.b=b;this.a=c}function hSb(a,b,c){a.o=!a.o?HTb(a.j):ZRb(a);return a.o==b||a.o==c}function $9b(a,b){if(!a.d||!a.d.o)return null;return ANc(a.d.o,b)}function S9b(a,b){if(!a.b||!a.b.e)return null;return ANc(a.b.e,b)}function dac(a,b){if(!a.b||!a.b.j)return null; +return ANc(a.b.j,b)}function ewc(a,b,c,d,e){if(a.a)return false;return Kpc(a,b,c,d,e)}function Prc(a,b,c){!a.a&&(a.a=new Lrc(a.c));return gmc(b,c,0,a.a)}function zac(a,b){if(b.d){!a.d&&(a.d=new fbc);a.d.p|=!b.d?0:b.d.p}}function qPc(a){return!a.a?a.c:a.e.length==0?a.a.a:a.a.a+(""+a.e)}function Ttc(a,b){return zNc(a.f,b)?ANc(a.f,b).Oe():(On(),On(),Nn)}function GPc(a,b){var c;c=1-b;a.a[c]=HPc(a.a[c],c);return HPc(a,b)}function Vf(a,b){var c;c=a.c.Le(b);!c&&(c=a.Be(b));return a.Ee(b,c)}function kab(a, +b){if(b||FVb(leb(a),(DVb(),BVb)))return 1;return 0}function jqc(a){Zd(a.Zi()||a.i==(rrc(),prc),lWc,a);return tmc(a.o)}function cr(a){if(a.e.g!=a.b)throw q0(new fLc);return!!a.c&&a.d>0}function e9(a,b){Vd(b.n==(Plc(),gjc),b);a.c.wh();c9(a,b.c);a.c.yh()}function yCc(a,b,c,d){a.a+=""+dCc(b==null?wUc:X0(b),c,d);return a}function U5(a,b,c,d,e){this.d=a;this.e=b;this.a=c;this.c=d;this.b=e}function uib(a){nib();this.b=a;this.a=a.Qg()?new E3(a.Mg()):new D3}function VAb(a){UAb();this.b=a;this.a=a.Qg()?new E3(a.Mg()): +new D3}function iBb(a){fBb();this.b=a;this.a=a.Qg()?new E3(a.Mg()):new D3}function xjb(a){ujb();this.a=a;this.b=!FVb((DVb(),rVb),leb(a.Hg()))}function tBb(a){oBb();uBb.call(this,a,BBb(w8b("js/polyfills.txt")))}function btb(){d1();h1.call(this,null);$sb(this);this.a=(ECb(),CCb)}function UPc(a){VPc.call(this,a,(zQc(),vQc),null,false,null,false)}function $Pc(a){_Pc.call(this,a,(zQc(),vQc),null,false,null,false)}function Jxb(a,b,c){tFc(a.g,new Qxb(b,c));OBc(b,XXc)||(a.e.a=false)}function uxb(a,b,c){var d; +d=c.g;Ud(!!d);Ud(iec(d,b));oub(a.b,a,b,c)}function TF(a,b,c){var d;d=RF();try{return QF(a,b,c)}finally{UF(d)}}function ZBc(a,b,c){c=oCc(c);return a.replace(new RegExp(b,"g"),c)}function KVb(a,b){if(a.a.Td(b))return a;return new QVb(RVb(a.a,b))}function lac(a,b){if(!a.d||!a.d.o)return false;return zNc(a.d.o,b)}function Y7b(a){if(a.b>=a.c)throw q0(d8b(a));return JBc(a.a,a.b++)}function H8b(a,b,c){Vd(b9b(b),b);Vd(b9b(c),c);return new qfc(a,b,c)}function SHc(a){LHc();var b;b=new wMc;b.a.Me(a,b);return new UJc(b)} +function dec(a,b){var c;c=Aec(a,b);if(!c)return null;return c.Li()}function sSc(a,b){if(a.a<=a.b){b.wf(a.a++);return true}return false}function LCb(a,b){a.a=OBc(b.substr(0,1),L$c)?b.substr(1):b;a.d=null}function jTc(a,b){_Oc.call(this,b.sf(),b.rf()&-6);this.a=a;this.b=b}function Zl(a,b,c,d){this.e=null;this.c=a;this.d=b;this.a=c;this.b=d}function UMc(a){this.e=a;this.b=this.e.a.entries();this.a=new Array}function m0b(a){while(cAc(S_b(a,a.f)?JBc(a.b,a.f):0,16)>=0)T_b(a)}function qSb(a,b){return b== +(ATb(),tTb)?iSb(a,(Plc(),elc)):oSb(a,b)}function Ptc(a,b,c){return new Gxc(a,b,(On(),Pd(c),Wn(new mHc(c))))}function Zf(a,b,c,d){return lH(c,69)?new Di(a,b,c,d):new vi(a,b,c,d)}function Cg(a,b){return rH(b)===rH(a)?"(this Map)":b==null?wUc:X0(b)}function Lob(a,b,c){Job();a.Tg(Qrb(b,Hob,yG(tG(wZ,1),eWc,2,6,[c])))}function Mob(a,b,c){Job();a.Tg(Qrb(b,Iob,yG(tG(wZ,1),eWc,2,6,[c])))}function Feb(){Deb();return yG(tG(cO,1),FUc,192,0,[Aeb,Beb,Ceb,zeb])}function Reb(){Peb();return yG(tG(eO,1),FUc,191,0, +[Meb,Neb,Oeb,Leb])}function Vgb(){Tgb();return yG(tG(xO,1),FUc,198,0,[Pgb,Sgb,Rgb,Qgb])}function bjb(a){var b;b=$cc(dec(a,(vhc(),_gc)));Tbc(b);Vec(a,Gbc(b))}function U3(a,b){var c;B4((Plc(),jlc),b);for(c=b.c;c;c=c.f)O4(a,c)}function o4(a,b){var c;B4((Plc(),qkc),b);for(c=b.c;c;c=c.f)n4(a,c)}function E4(a,b){var c;B4((Plc(),Tkc),b);for(c=b.c;c;c=c.f)F4(a,c)}function z4(a,b){switch(b.n.f){case 29:u4(b);break;case 26:g4(a,b)}}function Umb(a,b,c){if(b){cnb(a,null,b);rnb(a.j,b,Kmb(a,b,false,c))}}function Cdb(a){if(!a.a|| +!a.a.$h())return;MCb(a.a.$h(),(Fic(),Cic))}function _8b(a){Ud(a.length!=0);return Ldc(),new Lhc((Plc(),ukc),a)}function CA(a,b){if(b.Wd())return false;b.$e(new HA(a));return true}function Z7b(a){while(f8b(a.bb)throw q0(new Pzc(Ed(a,b,DUc)));return a}function Wn(a){On();var b;if(lH(a,54)){b=a;return b.Ef()}return Un(a)}function Qv(a){var b;Pd(a);if(lH(a,97)){b=a;return b}return new Rv(a)} +function WD(a){var b;b=(a&1)==1;a=a>>>1;if(!b)return a;return-a|yVc}function t1(a,b){var c;c=ANc(a.e,b);if(c)return c;return s1(a,J1(b))}function UF(a){a&&_F((ZF(),YF));--MF;if(a)if(OF!=-1){WF(OF);OF=-1}}function Y5(a){var b;b=Z5(a);Ud(b.d.length!=0);b.b&&Ud(!b.e);return b}function G5(a,b){if(!b)throw q0(new xBc("Null kind"));a.b=b;return a}function JUb(a,b,c,d,e){this.f=a;this.b=b;this.a=c;this.d=d;this.c=e}function Mub(a,b){vub();var c;c=a;while(!!c&&!b.Md(c))c=c.g;return c}function YHb(a,b){var c; +c=new iIb;nub(a.b,b,c);a.d=Ep(new HGc(c.a.b))}function $Ob(){$Ob=T0;ZOb=new _Ob("STRICT",0);YOb=new _Ob("SLOPPY",1)}function EOb(){BOb();return yG(tG(XT,1),FUc,197,0,[AOb,yOb,zOb,xOb])}function cLb(){aLb();return yG(tG(ET,1),FUc,195,0,[YKb,ZKb,$Kb,_Kb])}function M_b(){K_b();return yG(tG(vU,1),FUc,208,0,[J_b,I_b,G_b,H_b])}function s4b(){q4b();return yG(tG(vV,1),FUc,212,0,[n4b,o4b,p4b,m4b])}function Unc(){Qnc();return yG(tG(MX,1),FUc,220,0,[Nnc,Pnc,Onc,Mnc])}function DQc(){zQc();return yG(tG(u_,1), +FUc,144,0,[vQc,wQc,xQc,yQc])}function GRb(a,b,c){return!c||c.Wd()?uPb(a.a,(Plc(),Fjc)):FRb(a,b,c)}function Htc(a,b,c){return Yqc(_qc(frc(drc((cmc(),new mrc(a)),c),b)))}function reb(a){return a.eb.Fd(a.Ub).Gd((Xzc(),wfb(a.Tb)?true:false))}function bac(a){if(!a.d||!a.d.r)return Do(),Do(),Co;return Mo(a.d.r)}function hac(a){if(!a.d||!a.d.t)return Do(),Do(),Co;return Mo(a.d.t)}function oab(a){if(a.k<=0&&a.s!=a.t+1)return;tCc(a.e,10);++a.j;a.k=0}function QE(a){sCc(a.b,34);ZE(new _E(a.j),a);sCc(a.b,59); +sCc(a.b,34)}function px(a,b){var c;c=UHc(py(new dy(a,b)));Hv(new dy(a,b));return c}function oB(a,b){var c;c=false;while(b.Jd())c=c|a.Yd(b.Kd());return c}function dzc(a,b){var c;for(c=0;c=0&&(a[b]|0)==0;--b);return b}function Bub(a){vub();var b,c;c=1;for(b=a.c;b;b=b.f)c+=Bub(b);return c}function G9b(a,b){if(aac(a).Wd()){Sac(a,b,yVc);return true}return false}function S8b(a,b){Ud(b9b(a));Ud(b9b(b));return new qfc((Plc(), +$jc),a,b)}function NBc(a,b){var c;c=b.length;return OBc(a.substr(a.length-c,c),b)}function OSc(a,b){var c;return b.b.Pd(SSc(a,b.c.Dd(),(c=new vTc(b),c)))}function jrc(a,b){return Uqc(Vqc(a,Rwc(a.q.g,b,(On(),On(),Nn))),b.$d())}function Vhc(a,b){Ldc();mfc.call(this,(Plc(),ylc));this.a=a;Thc(this,b)}function eTc(a,b){_Oc.call(this,b.sf(),b.rf()&-16449);this.a=a;this.c=b}function ENc(){oMc.call(this);xNc(this);this.b.b=this.b;this.b.a=this.b}function FNc(){pDc.call(this);xNc(this);this.b.b=this.b;this.b.a= +this.b}function dr(a){this.e=a;this.c=this.e.a;this.b=this.e.g;this.d=this.e.i}function EB(a,b){this.c=a;this.d=b;this.a=this.c.Xd();this.b=this.d.Xd()}function nNc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}function dy(a,b){var c;this.f=a;this.b=b;c=fDc(a.b,b);this.c=!c?null:c.b}function Es(a,b){var c,d;for(d=b.Xd();d.Jd();){c=d.Kd();a.Xf(c)}return a}function Qbb(a){var b,c;for(c=a.Xd();c.Jd();){b=c.Kd();ydb(b).a&&Cdb(b)}}function T3(a,b,c){var d;B4((Plc(),pjc),b);for(d=b.c;d;d=d.f)S3(a, +d,c)}function Nyb(a,b){var c;Myb(a,b);for(c=b.c;c;c=c.f){Ud(c.g==b);Nyb(a,c)}}function Wib(a,b){var c;a.a=false;c=new Zib(a);nub(a.b.b,b,c);return a.a}function Hf(a){a.f=3;a.e=DB(a);if(a.f!=2){a.f=0;return true}return false}function NRc(){NRc=T0;KRc=true;IRc=false;JRc=false;MRc=false;LRc=false}function Nvb(a){vub();return!!a&&(a.n==(Plc(),Jlc)||a.n==ykc||a.n==tjc)}function SIb(a){PIb();return ZIb(aJb(_Ib($Ib(new bJb,a),a),(dKb(),_Jb)))}function UIb(a){PIb();return ZIb(aJb(_Ib($Ib(new bJb,a),a),(dKb(), +bKb)))}function fKb(){dKb();return yG(tG(sT,1),FUc,172,0,[bKb,aKb,cKb,$Jb,_Jb])}function $fb(){Yfb();return yG(tG(nO,1),FUc,168,0,[Tfb,Wfb,Ufb,Xfb,Vfb])}function A3b(){y3b();return yG(tG(UU,1),FUc,181,0,[t3b,w3b,v3b,x3b,u3b])}function Cbc(){Abc();return yG(tG(_W,1),FUc,178,0,[xbc,wbc,ybc,zbc,vbc])}function SF(b){PF();return function(){return TF(b,this,arguments);var a}}function LF(){if(Date.now)return Date.now();return(new Date).getTime()}function jw(a){if(iw(a)){a.c=a.a;return a.a.Kd()}else throw q0(new uOc); +}function Dbc(a,b){if(H9b(a.a,b)){a.e=true;return true}else return false}function Fbc(a,b){if(L9b(a.a,b)){a.e=true;return true}else return false}function Fcc(a,b){if(M9b(a.a,b)){a.e=true;return true}else return false}function dcc(a,b){if(J9b(a.a,b)){a.e=true;return true}else return false}function Tcc(a,b){if(O9b(a.a,b)){a.e=true;return true}else return false}function Xbc(a,b){if(Eac(a.a,b)){a.e=true;return true}else return false}function DNc(a,b){var c;c=kDc(a.c,b);if(c){QNc(c);return c.e}return null} +function $Bc(a,b,c){var d;c=oCc(c);d=new RegExp(b);return a.replace(d,c)}function OGc(a,b){var c,d;c=(d=a.slice(0,b),zG(d,a));c.length=b;return c}function Y8b(a){var b;b=q9b((Plc(),lkc),a);Hec(b,(Ldc(),ydc),0);return b}function cD(a,b){var c;if(lH(b,251)){c=b;return QGc(a.c,c.c)}return false}function lE(a,b){if(AE(a.a)&&CE(a.a)==b){BE(a.a);return true}return false}function Ob(a){a.i=3;a.g=a.Hd();if(a.i!=2){a.i=0;return true}return false}function BG(a){var b,c,d;b=a&KVc;c=a>>22&KVc;d=a<0?LVc:0;return DG(b, +c,d)}function qkb(a,b,c){var d;d=H8b((Plc(),rjc),b,c);a.d&&Wec(d,c.d);return d}function Jmb(a,b){var c;c=ifc(new mfc((Plc(),ijc)),b);fGc(a.q,c);return c}function Rmb(a,b){return ifc(Qob(e9b(sZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b)}function fwb(a){vub();return ifc((Vd(b9b(a),a),new ofc((Plc(),Pjc),a)),a)}function PIb(){PIb=T0;OIb=ZIb(aJb(_Ib($Ib(new bJb,_Wc),_Wc),(dKb(),bKb)))}function Fyb(){Fyb=T0;Eyb=new Gyb("LEGACY",0);Dyb=new Gyb("EXPORT_ALL",1)}function T8b(a,b){Ud(b9b(a));Ud(b.n==(Plc(),qlc));return new qfc(_jc, +a,b)}function W8b(a,b){Ud(b9b(a));Ud(b.n==(Plc(),gjc));return new qfc(dkc,a,b)}function rmc(a,b){return b==0?dmc(a,new DCc,true).a:a.Mi(new DCc,true).a}function gcb(a,b){Qd(b,"the error manager cannot be null");a.i=new cEb(b)}function tOb(a,b){if(!b)throw q0(new xBc("Null runMode"));a.f=b;return a}function Qd(a,b){if(a==null)throw q0(new xBc(b==null?wUc:X0(b)));return a}function Chc(a){var b;if(!a.a)throw q0(new uOc);b=a.a;a.a=a.a.f;return b}function Qn(a){var b;b=(Pd(a),a?new rGc(a):py(a.Xd())); +QHc(b);return ko(b)}function C2(a,b,c){var d;d=H8b((Plc(),rjc),b,c);!!a.b&&Wec(d,c.d);return d}function m3(a,b){var c;c=new mfc((Plc(),Alc));!!a.b&&Wec(c,Pd(b));return c}function vAc(a,b,c){var d;d=tAc(a);HAc(a,d);d.i=c?8:0;d.f=b;d.e=c;return d}function n6(a,b){var c;Fq(a.a);a.c=a.b.c;c=Vdc(b,false);l6(a,b,c);return a}function N3(a,b){var c;B4((Plc(),gjc),b);for(c=b.c;c;c=c.f)Q4(a,c,false)}function $9(a,b,c){var d,e;e=a.b;d=a.a;return e==b&&d>=c?new XD(e+1,d-c):a}function __b(a,b,c){ZTb(a.e,a.d.a.length== +0?R_b(a,a.f):Y_b(a,0).d.b,b,c)}function sPc(a,b,c){this.b=a;this.d=b;this.e=c;this.c=this.d+(""+this.e)}function tSc(a,b){this.c=0;this.b=b;TOc.call(this,a,17493);this.a=this.c}function $B(a){this.d=a;this.c=new cOc(new VNc(this.d.a));this.a=(qw(),pw)}function Xrb(a){this.d=new pGc;this.a=new pGc;this.e=a;this.b=-1;this.c=-1}function vtb(){utb(this);this.i=null;this.e=true;this.g=new bs;this.f=this}function _Rc(a){NRc();if(KRc)return;this.c=a;this.e=true;this.a=new pGc}function jHb(a,b,c){w9.call(this, +a,b);Pd(c);this.b=c;this.a=new Hrb(false)}function tdb(a,b){if(jGc(a.d,b,0)==-1){fGc(a.d,b);return true}return false}function udb(a,b){if(jGc(a.o,b,0)==-1){fGc(a.o,b);return true}return false}function Yac(a,b){if(a)return b?new ddc(Vdc(a.a,false),a.b):a;return null}function F5(a,b){if(!b)throw q0(new xBc("Null jsDocInfo"));a.a=b;return a}function pPc(a,b){!a.a?a.a=new GCc(a.d):ACc(a.a,a.b);xCc(a.a,b);return a}function ANc(a,b){var c;c=fDc(a.c,b);if(c){CNc(a,c);return c.e}return null}function Y_b(a, +b){while(a.d.a.length<=b)fGc(a.d,f0b(a));return iGc(a.d,b)}function Fob(a){this.b=a;this.a=a.Qg()?new E3(a.Mg()):new D3;this.c=a.Mg()}function hi(a,b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function OE(a,b,c){c||(a.a+=",\n",a);a.a+='"';a.a+=""+b;a.a+='"';a.a+=":"}function Omc(a,b){cmc();var c;return!a?!b:(c=new Lrc(false),gmc(a,b,0,c))}function oYb(a,b){jYb();var c;return c=ep(LXb,a),!!(!!c&&(b||!c.a)?c:null)}function RIb(a,b){PIb();return ZIb(aJb(_Ib($Ib(new bJb,b),a),(dKb(), +$Jb)))}function TIb(a,b){PIb();return ZIb(aJb(_Ib($Ib(new bJb,b),a),(dKb(),aKb)))}function Ybb(a){if(a.I.ad){pcb(a);meb(a.I,xfb(a.I.Tb))&&ocb(a)}else jbb(a)}function uf(a){Pd(a);if(lH(a,26))throw q0(a);if(lH(a,81))throw q0(a);}function kE(a){var b;if(!AE(a.a))return true;b=CE(a.a);return b==59||b==44}function Xub(a){var b;b=Yub(a);if(b)return b.Di();throw q0(new RAc(i$c+a));}function G8b(a,b){Vd(zec(a),a);Vd(b9b(b),b);return new qfc((Plc(),Pic),a,b)}function QQb(a,b){var c;c=uPb(a.a,(Plc(),Pjc)); +Odc(c,PPb(a.a,b.a));return c}function Eu(a,b){var c,d;for(d=new HDc(b.a);d.b;){c=GDc(d);Ds(a,c)}return a}function $5(a,b){if(!b)throw q0(new xBc("Null featureSet"));a.a=b;return a}function tJb(a,b){if(b==null)throw q0(new xBc("Null name"));a.d=b;return a}function PD(a){if(a<=0)throw q0(new zsb("x ("+a+") must be > 0"));return a}function Md(a,b,c){if(!a)throw q0(new zsb(pf(b,yG(tG(rZ,1),zUc,1,5,[c]))));}function Zd(a,b,c){if(!a)throw q0(new RAc(pf(b,yG(tG(rZ,1),zUc,1,5,[c]))));}function ke(a,b){var c; +c=a[":"+b];STc(!!c,yG(tG(rZ,1),zUc,1,5,[b]));return c}function zOc(a,b){var c;c=o8b(a.a,b);if(c==null)throw q0(new tOc);return c}function au(a,b){var c;if(lH(b,18)){c=b;a.b.a.length+c.$d()}ms(a,b);return a}function Dtc(a){var b;b=Qqc((cmc(),new Wqc(a)),true).ek();b.u=true;return b}function Kec(a){var b,c;c=a.c;for(b=a.c;b;b=b.f)b.g=null;a.c=null;return c}function l3(a,b){var c;c=new mfc((Plc(),ulc));!!a.b&&Wec(c,y3(a,b));return c}function p3(a,b){var c;c=new mfc((Plc(),Alc));!!a.b&&Wec(c,z3(a,b)); +return c}function J4(a,b){var c;b.n==(Plc(),Fjc)?(c=$dc(b),0!=c&&b5(AWc+c,b)):c4(a,b)}function JEc(a,b){var c,d;c=b.ff();d=a.zk(c);return!!d&&vOc(d.gf(),b.gf())}function Zvc(a){var b;if(!a.a)return null;b=a.a.Sj();return!b?null:b.Vj()}function s1(a,b){if(!(!!b&&H1(b,a)))return null;return rOc(a.c,b,new A1(a))}function XTc(a,b,c){if(a<0||b>c||b>24;d=a.j;while(!!d&&c!=d.c)d=d.b;return d}function Soc(a){var b;b=a;while(lH(b,128))b.uj()?b=b.uj().d:b=b.d;return b}function Kfb(){Kfb=T0;Hfb=new Lfb(nYc,0);Jfb=new Lfb(dYc,1);Ifb=new Lfb(oYc,2)}function bsc(){bsc=T0;asc=new csc($Vc,0);_rc=new csc("IGNORE_NULL_UNDEFINED",1)}function zQc(){zQc=T0;vQc=new AQc("All",0);wQc=new EQc;xQc=new GQc;yQc=new JQc}function hVb(a,b,c,d,e,f){ee.call(this, +a,b);this.d=c;this.c=d;this.b=e;this.a=f}function Pqb(a,b,c,d,e,f){this.c=c;this.b=d;this.a=a;this.g=e;this.e=b;this.d=f}function EF(a){vD(this);this.g=!a?null:BD(a,a.ig());this.f=a;wD(this);this.jg()}function Dzb(){Ezb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}function eH(){eH=T0;aH=DG(KVc,KVc,524287);bH=DG(0,0,MVc);cH=BG(1);BG(2);dH=BG(0)}function oH(a){return a!=null&&(typeof a===hUc||typeof a===kUc)&&!(a.Kk===Y0)}function uG(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$} +function qy(a){return lH(a,106)?Qn(a):lH(a,173)?a.a:lH(a,69)?new Ly(a):new By(a)}function pt(a){var b;b=a.f;return!b?a.f=RD(a.d)==0?(on(),gB(),fB):new Vt(a):b}function j6(a){var b,c;for(c=Wn(a.c).Xd();c.Jd();){b=c.Kd();a.gh(b.b,b.a)}a.fh()}function M3(a,b){var c;c=$dc(b);2!=c&&b5(BWc+c,b);c4(a,b.c);c4(a,b.c?b.c.i:null)}function _Gc(a,b,c,d){var e;d=(SKc(),!d?PKc:d);e=a.slice(b,c);aHc(e,a,b,c,-b,d)}function PSb(a,b,c,d,e){var f,g;if(d){g=a.j.g;f=GTb(a.j);Mbc(a.f,d,b,c,g,f,e)}}function CYb(a,b){var c, +d;for(d=b.b.Xd();d.Jd();){c=d.Kd();!c.b&&QYb(a,b.a,c.c)}}function hGc(a,b){var c,d,e,f;for(d=a.a,e=0,f=d.length;e0)return mUc;if(s0(a,yVc)<0)return yVc;return I0(a)}function YG(a){if(QG(a,(eH(),dH))<0)return-MG(TG(a));return a.l+a.m*NVc+a.h*OVc}function e9b(a){Zd(RBc(a, +jCc(46))==-1,kWc,a);return Ldc(),new Lhc((Plc(),Gkc),a)}function E3(a){this.b=a;this.c=x3(this,(ztc(),xtc));this.a=new rf(new H3(this,a))}function HDc(a){this.e=a;this.d=new nNc(this.e.e);this.a=this.d;this.b=FDc(this)}function Oib(a){Dib();this.b=a;this.a=a.Qg()?new E3(a.Mg()):new D3;this.c=new LFc}function Pvb(a){vub();return a.n==(Plc(),Vjc)&&!(a.n==Vjc&&aec(a,(vhc(),ugc))!=0)}function Gq(a,b){return!!Qq(a,b,I0(B0(iVc,cBc(I0(B0(b==null?0:zb(b),jVc)),15))))}function zg(a,b){var c,d;for(d=b.Je().Xd();d.Jd();){c= +d.Kd();a.Me(c.ff(),c.gf())}}function B3(a,b){var c;c=(Hd(yWc.indexOf("<")==-1,zWc),Wtc(b,yWc));return c?c:a.c}function eCc(a){var b,c;c=a.length;b=vG(uH,rUc,50,c,15,1);QBc(a,0,c,b,0);return b}function CHc(a){var b;b=((a-1)/31|0)+1;this.a=vG(vH,zVc,50,0,15,1);ETc(this.a,b)}function OYb(a){var b;b=null;W$b(a,(V2b(),g1b))&&(b=(EYb(a,g1b),J$b(a)));return b}function ifc(a,b){cfc(a,b);Iec(a,(vhc(),ghc),dec(b,ghc));a.k=b.k;a.e=b.e;return a}function UNc(a,b){var c;if(TNc(a,b)){c=b.ff();DNc(a.a,c);return true}return false} +function WLc(a,b){var c;c=b.f;if(!a.b[c]){a.b[c]=b;++a.c;return true}return false}function eBc(a,b){var c;if(b==10||b<2||b>36)return""+a;return c=a,c.toString(b)}function TSc(a,b){xSc(a);if(s0(b,0)==0)return a;return new XSc(a,new nTc(b,a.a))}function fcc(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.e=true;return true}}function Yfc(a){var b;if(!a.a.a)throw q0(new uOc);b=a.a.a;a.a.a=a.a.a.g;return b}function H5(a,b){if(b==null)throw q0(new xBc("Null propertyKey"));a.c=b;return a}function STc(a, +b){if(!a)throw q0(new zsb(YTc("Enum constant undefined: %s",b)));}function sOc(a,b){var c,d;for(d=a.Je().Xd();d.Jd();){c=d.Kd();b.ef(c.ff(),c.gf())}}function ms(a,b){var c,d;Pd(b);for(d=b.Xd();d.Jd();){c=d.Kd();a.Uf(Pd(c))}return a}function Fv(a,b){var c;Pd(a);Pd(b);c=false;while(b.Jd())c=c|a.Qd(b.Kd());return c}function _2(a){var b;b=(Ldc(),new igc(0));!!a.b&&Wec(b,x3(a,(ztc(),ftc)));return b}function wqb(a,b){var c;!a.p&&(a.p=new pGc);c=new Eqb(a.t,b,a);fGc(a.p,c);return c}function vt(a){var c; +on();var b;b=a?a:(c=new mx(EA(a)),gv(c,a),c);return ut(bj(b))}function Dp(a){on();var b;if(lH(a,109)&&!lH(a,252)){b=a;return b}return Ep(a.Xd())}function $bb(a){a.I.ab==(Deb(),Ceb)&&T5(a.T,a).dh(a.p,a.w);a.M=1;!!a.Q&&Dxb(a.Q)}function Ojb(){Ojb=T0;Njb=NVb((DVb(),mVb),yG(tG(mU,1),FUc,25,0,[(dXb(),mWb),jWb]))}function wob(){wob=T0;vob=NVb((DVb(),mVb),yG(tG(mU,1),FUc,25,0,[(dXb(),$Vb),IWb]))}function xIb(){xIb=T0;wIb=new yIb(_Vc,0);vIb=new yIb("LOCAL",1);uIb=new yIb(nYc,2)}function e2(){e2=T0;c2=new f2(_Vc, +0);d2=new f2("UNMAPPED",1);b2=new f2("MAPPED",2)}function Xk(){Xk=T0;Wk=new jSc(new Yk,new cl,new el);new jSc(new gl,new il,new kl)}function SZb(a){var b,c;c=Y_b(a.g,0).d.b;b=FYb(a);return new w4b(new w7b(c,a.f),b)}function a8b(a,b){var c,d;c=Y7b(a);b.b=c;if(c==116||c==84){d=Y7b(a);b.c=d}return b}function MSb(a,b){var c,d;d=iSb(a,(Plc(),Elc));c=zSb(a,b);SSb(a);Pdc(d,c);return d}function pRb(a,b){var c;c=uPb(a.a,(Plc(),ilc));!!b.a&&Odc(c,PPb(a.a,b.a));return c}function _dc(a,b){var c,d;d=a.c;c=0;while(d){if(b== +d)return c;d=d.f;++c}return-1}function XE(a,b){var c,d,e,f;e=a.a.b;f=b.e.b;c=a.a.a;d=b.e.a;return e==f&&c>=d||e>f}function N2(a,b,c){var d,e,f;f=b;for(e=vv(c);Lb(e.b);){d=zv(e);f=M2(a,f,d)}return f}function Lbc(a,b,c,d,e,f){var g;if(a.b){g=new qbc;g.d=b;mbc(g,c,d,e,f);hbc(a.b,g)}}function _F(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=cG(b,c)}while(a.b);a.b=c}}function $F(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=cG(b,c)}while(a.a);a.a=c}}function Jq(a,b){return gz(Pq(a,b,I0(B0(iVc,cBc(I0(B0(b== +null?0:zb(b),jVc)),15)))))}function Fzb(){zzb();return yG(tG(lR,1),FUc,92,0,[wzb,xzb,yzb,vzb,szb,rzb,tzb,uzb])}function rwb(a,b,c){vub();var d;b.hh(a);if(c.Md(a))for(d=a.c;d;d=d.f)rwb(d,b,c)}function mSb(a,b,c,d,e,f){var g;f?g=LSb(a,b):g=ISb(a,b);PSb(a,c,d,g,e);return g}function $8b(a,b){var c;Ud(a.n==(Plc(),ukc));Ud(c9b(b));c=new qfc(tkc,a,b);return c}function xvb(a){Gd(a.n==(Plc(),Mjc));return!!a.c&&!!a.c.f&&a.c.f==(a.c?a.c.i:null)}function ecc(a){if((a.a.a&32)!=0)return false;else{a.a.a|=32;a.e= +true;return true}}function Acc(a){if((a.a.a&64)!=0)return false;else{a.a.a|=64;a.e=true;return true}}function PTb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function H0b(a){switch(a){case 8232:case 8233:return false;default:return E0b(a)}}function b0b(a,b){if((S_b(a,a.f)?JBc(a.b,a.f):0)==46){T_b(a);k0b(a)}return a0b(a,b)}function _Lc(a,b){if(!!b&&a.b[b.f]==b){a.b[b.f]=null;--a.c;return true}return false}function u5(a,b){if(!b)throw q0(new xBc("Null fullClassNameNode")); +a.g=b;return a}function x5(a,b){if(!b)throw q0(new xBc("Null superClassNameNode"));a.k=b;return a}function qOb(a,b){if(!b)throw q0(new xBc("Null jsDocParsingMode"));a.c=b;return a}function Hpc(a,b){var c;c=(Ldc(),new Lhc((Plc(),Gkc),""));c.d=b;Odc(a.b,c);return c}function $2(a,b){var c;c=q9b((Plc(),Okc),b);!!a.b&&Wec(c,x3(a,(ztc(),xsc)));return c}function q3(a,b){var c;c=q9b((Plc(),Klc),b);!!a.b&&Wec(c,x3(a,(ztc(),ytc)));return c}function A2(a){var b;b=new mfc((Plc(),Clc));!!a.b&&Wec(b,x3(a,(ztc(), +xsc)));return b}function gMc(a){var b;++a.a;for(b=a.c.a.length;a.aa)return new CSc;b=a+1;c=new tSc(b,a);return new zSc(c)}function VSc(a,b){var c;xSc(a);c=new _Sc(a,a.a.sf(),a.a.rf()|4,b);return new XSc(a,c)}function wHc(a,b){var c;DHc(b);c=b/31|0;return c>>b%31&1)==1}function jq(a,b){var c;c=ANc(a.a,b);if(!c){c=($y(a.b.a),new FNc);BNc(a.a,b,c)}return c}function Mc(a,b){var c,d,e;c=false;for(e=b.Xd();e.Jd();){d=e.Kd();c=c|a.Qd(d)}return c}function U0(a,b,c){var d=function(){return a.apply(d, +arguments)};b.apply(d,c);return d}function tAc(a){var b;b=new rAc;b.p="Class$"+(a?"S"+a:""+b.k);b.b=b.p;b.n=b.p;return b}function qt(a){var b;return lB((b=a.f,!b?a.f=RD(a.d)==0?(on(),gB(),fB):new Vt(a):b))}function y4(a,b,c){var d;B4((Plc(),Jkc),b);for(d=b.c;d;d=d.f)c?J3(a,d):Q4(a,d,false)}function pec(a){Zd(a.n==(Plc(),Gkc)||a.n==jkc,d1c,a);return(aec(a,(vhc(),Bgc))&1)!=0}function sec(a){Zd(a.n==(Plc(),Gkc)||a.n==jkc,d1c,a);return(aec(a,(vhc(),Bgc))&2)!=0}function oec(a){return a.n==(Plc(),Vjc)&& +aec(a,(vhc(),vgc))!=0&&aec(a,(vhc(),Ngc))!=0}function vvb(a){vub();var b;if(a.n!=(Plc(),Vjc))return false;b=a.g;return!!b&&wvb(b)}function xub(a){vub();var b;for(b=a.c.f;b;b=b.f)if(!Eub(b))return false;return true}function Eac(a,b){!a.d&&(a.d=new fbc);if(a.d.c!=null)return false;a.d.c=b;return true}function E9b(a,b){!a.d&&(a.d=new fbc);!a.d.s&&(a.d.s=new pGc);fGc(a.d.s,b);return true}function Sbc(a){if((a.a.a&1)!=0)return false;else{Cac(a.a,true);a.e=true;return true}}function dab(a){if(a.k<=0&&a.s!= +a.t+1)return;tCc(a.e,10);a.k=0;++a.j;a.b=a.e.a.length}function Ne(a){Jd(true,"must be greater than zero: %s",2);return new Ue(a.c,a.b,a.d,2)}function TRb(a,b){URb(a,"msg.bad.fileoverview.visibility.annotation",b,a.j.g,GTb(a.j))}function Fwc(a,b){cmc();nuc.call(this,a,Vtc(a,(ztc(),xtc)));this.b=b;this.a=Vtc(a,xtc)}function Uwc(a,b){var c;c=Vwc(a,b);return c==-1?b.a.kj()?Vtc(a.a,(ztc(),xtc)):b:a.b[c]}function HAc(a,b){var c;if(!a)return;b.o=a;var d=BAc(b);if(!d){Q0[a]=[b];return}d.Ik=b}function B2(a, +b,c){var d,e,f;e=ewb(b,c);if(a.b){d=jnc(b.d);f=d?d.b.b:a.c;e.d=f}return e}function mt(a,b,c){var d;ol(b,c);d=ANc(a.a,b);!d&&BNc(a.a,b,d=new pGc);d.Qd(c);return a}function Kf(a,b,c){var d,e;d=(e=a.f,!e?a.f=new Zg(a,a.c):e).Le(b);return!!d&&d.Td(c)}function T2(a,b,c){var d;d=e3(a,b,Pe(We(),oWc));return B2(a,d,yG(tG(CX,1),mWc,7,0,[c]))}function vjb(a,b){var c;if(!Cec(b,_Yc))return false;c=u1(Stb(a),_Yc);return!c||!c.d.b}function ueb(a){if(a.Ab==(_eb(),Yeb))return false;return a.Dc||FVb((DVb(),rVb),leb(a))} +function Rbb(a){if(a.I.pd==(Yfb(),Vfb))return;a.Q=new Lxb(a.p,a.w,a.I.pd);hbb(a,a.Q.e)}function uYb(a,b){Kd(b>=a.c,b,a.c);while(b>=a.d)tYb(a);return new u7b(a.e,b,a.b,b-a.c)}function l0b(a){if(cAc(S_b(a,a.f)?JBc(a.b,a.f):0,16)<0)return false;T_b(a);return true}function Qbc(a,b){if(P9b(a.a)==null){Bac(a.a,b);a.e=true;return true}else return false}function Lgb(a,b){var c;for(c=0;cb){b<<=1;return b>0?b:nVc}return b}function Bbb(a,b,c){var d;if(c<1)return null;d=Abb(a,b);if(d)return KCb(d,c);return null} +function YDb(a,b){var c;if(zvb(b.d)){c=t1(b.b,a);return!c||Q1(c)!=(Plc(),$kc)}return true}function M$b(a){var b,c;b=Y_b(a.g,0).d.b;c=GYb(a);return new d7b(new w7b(b,a.f),BYb(a,c))}function Zob(a,b){var c;c=hpb(b);Pd(c);Vd((vub(),c.n!=(Plc(),Ekc)&&Xvb(c.g)),c);$ob(a,c,b)}function _tb(a,b){Pd(a.e);Pd(b);fGc(a.n,b);vub();ZLc(pub,b.n)&&tFc(a.b,b);!!a.j&&a.j.di(a)}function Oyb(a,b,c){if(a.a)Nyb(a,c);else{!!b&&nub(a.b,b,new Tyb);!!c&&nub(a.b,c,new Tyb)}}function H9b(a,b){if(!yac(a))return true;!a.b.a&& +(a.b.a=new pGc);fGc(a.b.a,b);return true}function L9b(a,b){if(!yac(a))return true;!a.b.g&&(a.b.g=new pGc);fGc(a.b.g,b);return true}function I9b(a,b){if(!yac(a))return true;if(a.b.b!=null)return false;a.b.b=b;return true}function M9b(a,b){if(!yac(a))return true;if(a.b.f!=null)return false;a.b.f=b;return true}function O9b(a,b){if(!yac(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function oPb(a,b){if(b.e!=a.i){a.i=b.e;(a.i.a&aYc)!=0&&(a.c=true);return true}return false}function JTb(a){var b; +b=FTb(a);if(b==47)return true;else{a.q[a.r++]=b;--a.b;return false}}function isc(a,b){var c;for(c=0;c=48&&a<=49)return a-48;throw q0(new RAc(x_c+String.fromCharCode(a)));}function fQb(a){if(a>=48&&a<=55)return a-48;throw q0(new RAc(x_c+String.fromCharCode(a)));}function z7b(a,b){CF.call(this,"ConvertionType = "+String.fromCharCode(a)+" class = "+b)}function nTc(a,b){_Oc.call(this, +b.tf(64)?vBc(0,F0(b.sf(),a)):$Uc,b.rf());this.b=a;this.a=b}function Tx(a){this.e=a;this.d=($y(Lf(this.e).$d()),new wMc);this.c=this.e.a;this.b=this.e.c}function Y9(a,b){this.e=new ECc;Ud(!!b);this.n=a<=0?mUc:a;this.g=false;this.o=b;this.f=null}function P0(a,b){typeof window===hUc&&typeof window["$gwt"]===hUc&&(window["$gwt"][a]=b)}function Ktc(a,b){return Qtc(a,Xn(yG(tG(iY,1),zUc,23,0,[b,Vtc(a,(ztc(),ytc)),Vtc(a,Ysc)])))}function Kbb(a,b){a.U=new qgb(yG(tG(bT,1),zUc,153,0,[new urb,new JDb(a,(Vhb(), +Mo(Uhb))),b]))}function rkb(a){var b;b=i9b(yG(tG(CX,1),mWc,7,0,[]));a.d&&Wec(b,skb(a,(ztc(),itc)));return b}function xdb(a,b){var c;c=Pd(a.a.Yh(b));Ud(c.n==(Plc(),llc));Pd(dec(c,(vhc(),Tgc)));return c}function K2(a,b,c,d){var e,f;e=W2(a,"",d);f=R8b(e,b,c);if(a.b){Hd(!!d.rj(),d);f.d=d}return f}function mwb(a){vub();var b;b=lwb(a);if(b==null)throw q0(new Rzc("Unknown op "+a));return b}function vgb(a,b,c){var d;d=b.bi()-c.bi();if(d!=0)return d;return fDc(a.a,c).a-fDc(a.a,b).a}function jyb(a,b,c){var d; +if(a.j){d="AST hashCode after "+b+": "+eUc(mcb(a.b,c));URc(gyb,d)}}function RZb(a){var b;b=(On(),new vs);while(!W$b(a,(V2b(),r1b)))ts(b,A$b(a));return Wn(b.a)}function s5(a,b){if(!b)throw q0(new xBc("Null definePropertiesObjForClass"));a.e=b;return a}function QD(a){if(!a)throw q0(new Nzc("mode was UNNECESSARY, but rounding was necessary"));}function F7(){F7=T0;E7=new $hb("JSC_USELESS_CODE",(p7(),o7),new aDc("Suspicious code. {0}"))}function R7(){R7=T0;Q7=new $hb("JSC_UNREACHABLE_CODE",(p7(),o7),new aDc("unreachable code"))} +function XMb(){XMb=T0;WMb=new $hb("JSC_UNUSED_LABEL",(p7(),n7),new aDc("Unused label {0}."))}function HLb(){HLb=T0;GLb=new chb(yG(tG(CO,1),zUc,5,0,[new $hb(DZc,(p7(),m7),new aDc(""))]))}function Fic(){Fic=T0;Dic=new Gic("STRONG",0);Eic=new Gic("WEAK",1);Cic=new Gic("EXTERN",2)}function R8b(a,b,c){Ud(a.n==(Plc(),Gkc));Ud(b.n==$kc);Ud(c.n==gjc);return new rfc(Vjc,a,b,c)}function Zcc(a){var b;b=B9b(a,false);b.j==(Abc(),vbc)&&(b.j=null);return new Xcc(b,a.c,true)}function x1(a,b){var c;for(c=a;c;c=c.b)if(zNc(c.e, +b)||v1(c,J1(b)))return true;return false}function pqb(a,b){var c,d,e;e=a.c.a.yg();d=e.kh(b);if(d)return true;c=e.lh(b);return c!=null}function lB(a){var b,c,d;b=0;for(d=a.Xd();d.Jd();){c=d.Kd();b+=c!=null?zb(c):0;b=~~b}return b}function a4(a){var b,c;B4((Plc(),Njc),a);c=$dc(a);2!=c&&b5(BWc+c,a);for(b=a.c;b;b=b.f)u4(b)}function j4(a){var b,c;B4((Plc(),hkc),a);c=$dc(a);2!=c&&b5(BWc+c,a);for(b=a.c;b;b=b.f)u4(b)}function AD(a,b){var c,d,e;e=b.length;c=vG(tZ,zUc,138,e,0,1);for(d=0;d0&&!b.uj()&&(b=new Gxc(a.D,b,(On(),On(),Nn))); +a.F=Swc(b.Vi(),a.Vi())}function bub(a,b,c,d){var e,f;e=new Mrb((f=dec(b,(vhc(),mhc)),!f?null:f.ah()),b,c,d);a.c.Tg(e)}function Xtb(a,b,c){_tb(a,b);a.e=b;if(a.a.ih(a,b,c)){a.e=b;hub(a,b);a.a.jh(a,b,c)}$tb(a,false)}function kPb(a,b){var c;c=iPb(a,b);return!!c&&c.c.indexOf("@")==-1?GPb(a,b,FPb(a,c)):mPb(a,c)}function RYb(a,b){if(b){k_b(a,(dXb(),$Wb));a.b.e&&ZTb(a.c,b.d.b,H$c,yG(tG(rZ,1),zUc,1,5,[]))}}function L8b(a,b){Ud(b9b(a));Ud(b.n==(Plc(),gjc));Hec(b,(vhc(),tgc),1);return new qfc(ljc,a,b)}function PHc(a, +b){LHc();var c,d;d=new pGc;for(c=0;c2)&&b5(KWc+c,a);for(b=a.c;b;b=b.f)S4(b)}function Zec(a,b){var c;c=ufc(a.k);c==-1&&(c=0);a.k=b<0||c<0?-1:(c&-4096)!=0?b<<12|PVc:b<<12|c&PVc}function WVb(a,b){var c, +d;d=a.Wd()?(c=oAc(mU),new aMc(c,ATc(c,c.length),0)):TLc(a);Mc(d,b);return d}function uq(a,b,c){var d,e;return!!b&&c!=null&&(e=dz((d=a.c,!d?a.c=new yC(a):d),b),!!e&&cz(e,c))}function TRc(a){if(KRc)return vG(A_,I1c,285,0,0,1);return oGc(a.a,vG(A_,I1c,285,a.a.a.length,0,1))}function qF(){qF=T0;pF=yG(tG(uH,1),rUc,50,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function Veb(){Veb=T0;Seb=new Web(_Vc,0);Teb=new Web("USE_GLOBAL_TEMP",1);Ueb=new Web("USE_IIFE",2)}function Lkb(a){this.f=a;this.c= +new ENc;this.b=new Iw;this.a=new $r;this.e=new Iw;this.d=new ENc}function cF(a,b,c,d,e,f,g,h){this.i=a;this.c=b;this.b=c;this.d=d;this.g=e;this.e=f;this.f=g;this.a=h}function q3b(a,b,c,d,e,f){b3b.call(this,(O6b(),i5b),a);this.d=b;this.b=c;this.e=d;this.c=e;this.a=f}function S3b(a,b,c,d,e,f){b3b.call(this,(O6b(),B5b),a);this.d=b;this.e=c;this.a=d;this.b=e;this.c=f}function J4b(a,b,c,d,e,f){b3b.call(this,(O6b(),_5b),a);this.e=b;this.d=c;this.c=d;this.a=e;this.b=f}function etb(a,b){var c;c=new DCc;if(a!= +null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=": "}return c.a}function dSc(a){var b,c;c=a.b.exec(a.a);if(c!=null){b=c[0];if(OBc(b,a.a))return true}return false}function Pcc(a){if((a.a.a&16)==0&&(a.a.a&aYc)==0){a.a.a|=16;a.e=true;return true}else return false}function F0b(a){switch(a){case 47:return false;case 92:case 91:return true;default:return!E0b(a)}}function YYb(a){if(W$b(a,(V2b(),K1b)))return YZb(a);if(W$b(a,x1b))return DZb(a,true);return WYb(a)}function p$b(a){var b;if(V$b(a,0,(V2b(),a2b))){EYb(a, +a2b);b=J$b(a);EYb(a,e1b)}else b=x$b(a);return b}function p0(a){var b;if(lH(a,37))return a;b=a&&a.__java$exception;if(!b){b=new IF(a);fG(b)}return b}function Zp(a,b){var c;if(lH(b,51)){c=b;return Cd(a.a.ff(),c.ff())&&Cd(a.a.gf(),c.gf())}return false}function Vz(a,b){var c;if(b===a)return true;if(lH(b,102)){c=b;return vb(a.te(),c.te())}return false}function J9b(a,b){a.a|=4096;if(!yac(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}function RVb(a,b){var c,d;d=a.Wd()?(c=oAc(mU),new aMc(c, +ATc(c,c.length),0)):TLc(a);WLc(d,b);return d}function Qc(a,b){var c,d,e;c=false;for(d=a.Xd();d.Jd();){e=d.Kd();if(b.Td(e)){d.Ld();c=true}}return c}function FRb(a,b,c){var d,e,f;d=uPb(a.a,b);for(f=c.Xd();f.Jd();){e=f.Kd();Odc(d,PPb(a.a,e))}return d}function l9(a,b){var c;v8(a.c,"{");for(c=b.c;c;c=c.f){c!=b.c&&a.c.Fh();a.Nh(c,(L9(),G9))}v8(a.c,"}")}function nB(a,b){Pd(b);lH(b,164)&&(b=b.Ye());return lH(b,35)&&b.$d()>a.$d()?Nv(a.Xd(),b):oB(a,b.Xd())}function Exb(a){var b;if(a.b)return;b=(on(),new Lt); +vub();rwb(a.v,new Rxb(b),(pe(),me));a.b=vt(b.a)}function G2(a,b){var c;c=(Ud(b9b(b)),new ofc((Plc(),Ajc),b));!!a.b&&Wec(c,x3(a,(ztc(),xsc)));return c}function n5(a){if(!a.g)throw q0(new RAc('Property "fullClassNameNode" has not been set'));return a.g}function ccc(a){if((a.a.a&aYc)==0&&(a.a.a&16)==0){a.a.a|=aYc;a.e=true;return true}else return false}function O$b(a){var b,c;b=Y_b(a.g,0).d.b;c=M$b(a);if(!W$b(a,(V2b(),$1b)))return c;return L$b(a,b,c)}function Vtb(a){var b,c;b=a.n.a.length;if(b>0)return iGc(a.n, +b-1);else{c=CFc(a.o);return c?c.d:null}}function OG(a,b){var c,d,e;c=a.l+b.l;d=a.m+b.m+(c>>22);e=a.h+b.h+(d>>22);return DG(c&KVc,d&KVc,e&LVc)}function XG(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return DG(c&KVc,d&KVc,e&LVc)}function VYb(a){var b,c;c=Y_b(a.g,0).d.b;EYb(a,(V2b(),l1b));b=WYb(a);return new d3b(new w7b(c,a.f),b)}function OZb(a,b,c){uFc(a.e,c);e4b(j4b(d4b(g4b(f4b(b,c.b),PYb(a)),LZb(a,0)),OYb(a)),MZb(a));FFc(a.e)}function MEb(a,b,c){return Y5($5(a6(b6(_5(c6(new d6,false), +true),a),new NFb(b,c)),(DVb(),DVb(),zVb)))}function Tpb(a,b){var c,d;for(d=new HGc(gac(b));d.a=0;c--)if(!xc(a, +b.charCodeAt(c)))return false;return true}function gGc(a,b){var c,d;c=b.be();d=c.length;if(d==0)return false;CTc(a.a,a.a.length,c);return true}function Smb(a){var b,c;for(c=new $Fc(a.e);c.a!=c.b;){b=YFc(c);if(b.b==0)return b.a;break}return null}function msb(a){var b,c,d,e,f;f=new oMc;for(c=a.a,d=0,e=c.length;d=0);Ud(c>=0);a.f=new XD(b,c);e=new eE;f=mF(d);aE(e,f);dE(e,new PE(a))}function MPb(a,b,c){var d,e;if(vfc(a.k)==-1){e=b.b+1;Zec(a,e);d=b.a;a.k=Cfc(vfc(a.k),d);Yec(a,c.c-b.c)}}function Ag(a,b,c){var d;return d=qH(b)?gDc(a,b):Kg(NMc(a.d,b)),d!=null?d:qH(b)?jDc(a,b,c):OMc(a.d,b,c)}function VPc(a,b,c,d,e,f){var g;this.c=a;g=new pGc;xPc(a,g,b,a.b,c,d,e,f);this.a=new VDc(g,g.a.length)}function ejb(a){ajb();var b;this.b=a;b=new vMc;this.c=new fpb(a, +a.Ng(),b,new pCb(new mfc((Plc(),llc))))}function tnb(a){var b;this.g=a;this.f=new pGc;this.c=a.d++;this.a=ifc((b=new mfc((Plc(),gjc)),b),a.r.e)}function TLc(a){var b,c,d,e;!a.Wd();d=a.Xd();c=d.Kd();e=ULc(c);while(d.Jd()){b=d.Kd();WLc(e,b)}return e}function NHc(a){LHc();var b,c,d;d=0;for(c=a.Xd();c.Jd();){b=c.Kd();d=d+(b!=null?zb(b):0);d=d|0}return d}function eDc(a,b,c){var d,e;for(e=c.Xd();e.Jd();){d=e.Kd();if(a.uk(b,d.gf()))return true}return false}function Qe(a,b){var c,d;Pd(b);c=a.c.le(a,b);d= +new pGc;while(Lb(c))fGc(d,Mb(c));return LHc(),new rKc(d)}function Xg(a,b){var c,d;c=a.a.Ne(b);if(!c)return null;d=a.b.Ae();d.Rd(c);a.b.d-=c.$d();c.Sd();return d}function $3(a){var b,c;B4((Plc(),Hjc),a);for(b=a.c;b;b=b.f){B4(rlc,b);G4(b);c=$dc(b);0!=c&&b5(AWc+c,b)}}function a$b(a){var b,c;c=Y_b(a.g,0).d.b;EYb(a,(V2b(),p1b));b=eZb(a,1);return new E4b(new w7b(c,a.f),b)}function TG(a){var b,c,d;b=~a.l+1&KVc;c=~a.m+(b==0?1:0)&KVc;d=~a.h+(b==0&&c==0?1:0)&LVc;return DG(b,c,d)}function Bvb(a){var b;if(a.n== +(Plc(),Pjc)&&a.c.n==jjc){b=a.c.c;return Fec(b,HZc,HZc.length)}return false}function grb(a,b){crb();var c;if(a.yg().ph(b))return true;c=b.c;return c.n==(Plc(),Gkc)&&brb.Td(c.Di())}function iwb(a,b,c){vub();var d;d=hwb(a,b);qwb(d,c);OBc(XVc,dec(d,(vhc(),ghc)))||Iec(d,ghc,XVc);return d}function w8b(a){u8b();var b;b=v8b(t8b,a);if(b!=null)return b;throw q0(new CF("Resource not found: "+a));}function wkb(a){mkb();this.c=new wq(new ENc,new zq);this.b=new vMc;this.e=new vMc;this.a=a;this.f=a.Ng()}function qYb(a){jYb(); +switch(a.f){case 109:case 108:case 110:case 111:return true;default:return false}}function zec(a){switch(a.n.f){case 29:case 26:case 27:case 93:case 94:return true;default:return false}}function ZAc(a){var b;if(a<0)return yVc;else if(a==0)return 0;else{for(b=nVc;(b&a)==0;b>>=1);return b}}function zfb(){vfb();return yG(tG(iO,1),FUc,91,0,[hfb,ifb,jfb,lfb,kfb,mfb,nfb,ofb,pfb,qfb,sfb,rfb,ufb])}function d1(){d1=T0;on();Gp(yG(tG(rZ,1),zUc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function Qnc(){Qnc= +T0;Nnc=new Tnc("EMPTY",0);Pnc=new Tnc(x0c,1);Onc=new Tnc(y0c,2);Mnc=new Tnc("BOTH",3)}function $lb(){$lb=T0;Ylb=new _lb("REWRITE_ALL_OBJECT_PATTERNS",0);Zlb=new _lb("REWRITE_OBJECT_REST",1)}function $Ab(){$Ab=T0;ZAb=new $hb("JSC_JSON_UNEXPECTED_TOKEN",(p7(),m7),new aDc("Unexpected JSON token"))}function A7(){A7=T0;z7=new $hb("JSC_MISSING_PROVIDE",(p7(),o7),new aDc("missing goog.provide(''{0}'')"))}function e6(a,b){return OSc(RSc(PSc(new XSc(null,new MOc(a.c)),new yCb(b)),new ACb),(On(),Xk(),Xk(), +Wk))}function vq(a,b,c){var d,e;return!b||c==null?null:(e=dz((d=a.c,!d?a.c=new yC(a):d),b),!e?null:dz(e,c))}function RRb(a,b,c){var d;a.c.gi("Missing type declaration.",(d=dec(a.n,(vhc(),mhc)),!d?null:d.ah()),b,c)}function TDb(a,b,c){var d,e;for(e=new HGc(Fub(c));e.a>24);d!=a.j&&(a.j=d);c!=0&&(a.j=new dgc(b.f<<24>>24,c,a.j))}function OHc(a){LHc();var b,c,d;d=1;for(c=a.Xd();c.Jd();){b=c.Kd();d=31*d+(b!=null?zb(b): +0);d=d|0}return d}function lsb(a){var b,c,d,e;for(c=a.a,d=0,e=c.length;d>24);d!=a.j&&(a.j=d);c!=null&&(a.j=new ngc(b.f<<24>>24,c,a.j))}function Eib(a,b,c,d){var e;Hd(wec(b),b);Hd(c.n==(Plc(),jjc),c);e=c.c;return e.n==ulc? +Gib(a,b,c,d):Fib(a,b,c,d)}function HYb(a){var b;b=Y_b(a.g,0);switch(b.e.f){case 101:case 100:return SYb(a);case 2:default:return GYb(a)}}function KYb(a,b){var c;c=FYb(a);if(!c||!OBc(c.a,b)){l_b(a,c,B0c,yG(tG(rZ,1),zUc,1,5,[b]));return null}return c}function hw(a){var b;while(!a.d||!a.d.Jd())if(!!a.b&&!BFc(a.b))a.d=(b=EFc(a.b),b);else return null;return a.d}function eUb(a){var b,c,d,e;for(c=jVb(),d=0,e=c.length;d=d||b127)return false}return true}function cz(b,c){Pd(b);try{return b.ue(c)}catch(a){a=p0(a);if(lH(a,1101)||lH(a,43))return false;else throw q0(a); +}}function _l(b,c){Pd(b);try{return b.Yd(c)}catch(a){a=p0(a);if(lH(a,1101)||lH(a,43))return false;else throw q0(a);}}function qnb(a,b){var c;if(a.d)return qnb(a.d,b);c=ifc(Qob((Ldc(),new igc(a.c)),a.g.r.f.e),b);fGc(a.f,c);return c}function QLb(a){var b;b=new pGc;HVb(leb(a.a),(dXb(),FWb))||(KEb(),fGc(b,yEb));KEb();fGc(b,sEb);LEb(b,a.a);return b}function RQb(a,b){var c;c=xPb(a.a,(Plc(),Rjc),IRb(a,b.d,b),IRb(a,b.b,b),IRb(a,b.c,b));Odc(c,QPb(a.a,b.a));return c}function HZb(a,b,c){var d,e;EYb(a,(V2b(), +I1b));e=TYb(a,1);EYb(a,e1b);d=E$b(a);return new X3b(new w7b(b,a.f),c,e,d)}function NEb(a){return Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6RewriteDestructuring"),new LFb(a)),(DVb(),nVb)))}function tLc(a){var b;this.a=(b=a.e&&a.e(),new aMc(b,ATc(b,b.length),0));this.b=vG(rZ,zUc,1,this.a.a.length,5,1)}function Iw(){Fw.call(this,($y(16),new FNc));pl(2,qVc);this.b=2;this.a=new Qw(null,null,0,null);Ow(this.a,this.a)}function Jrc(a,b,c){if(rH(b)===rH(c))return Yrc(),Vrc;return!a.a&&(a.a=new oMc),Ag(a.a, +new Mrc(b,c),(Yrc(),Xrc))}function r0(a,b){var c;if(z0(a)&&z0(b)){c=a+b;if(QVc=0,"numberToAdvance must be nonnegative");for(c=0;c>24);d!=a.j&&(a.j=d);(c?1:0)!=0&&(a.j=new dgc(b.f<<24>>24,c?1:0,a.j))}function $C(b,c){var d;try{return _C(b,c)}catch(a){a=p0(a);if(lH(a,210)){d=a;throw q0(new Bsb(d));}else throw q0(a);}}function K7b(a){if(nH(a.a))throw q0(new CF("Double.toHexString is outside the GWT subset")); +else throw q0(F7b(a));}function Rwb(a,b){if(a.a)throw q0(new RAc("Normalize constraints violated:\nDuplicate VAR declaration"));a.b.Vg(b)}function b5(a,b){throw q0(new RAc(a+". Reference node:\n"+hfc(b)+"\n Parent node:\n"+(b.g?hfc(b.g):" no parent ")));}function _Rb(a,b){do{if(b==(ATb(),lTb)||b==jTb||b==kTb){a.i=(cTb(),aTb);return b}b=!a.o?HTb(a.j):ZRb(a)}while(true)}function clb(a,b){var c,d,e;e=Vub(b);d=(vub(),Mub(b,new swb((Plc(),Vjc))));if(!d)return;c=new olb(a,e);nub(a.b,d,c)}function CQb(a, +b){var c,d,e,f;f=uPb(a.a,(Plc(),Mic));for(e=b.a.Xd();e.Jd();){d=e.Kd();c=PPb(a.a,d);Odc(f,c)}return f}function kfc(a,b){if(!dec(a,(vhc(),mhc))){cfc(a,b);a.k=b.k;a.e=b.e}dec(a,ghc)==null&&Iec(a,ghc,dec(b,ghc));return a}function hec(a){var b,c;b=dec(a,(vhc(),mhc));if(!b)return-1;c=vfc(a.k);if(c==-1)return-1;return b.qi(c)+ufc(a.k)}function Loc(a,b){var c;for(c=a;c;c=c.Sj()){!!c.uj()&&(c=c.uj().d);c=Soc(c);if(!!c&&c==b)return true}return false}function bDc(a,b){var c,d;for(c=0;cb&&d.xf(a[f- +1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function tvb(a){vub();var b;if(a.n!=(Plc(),gjc))return false;for(b=a.c;b;b=b.f)if(b.n!=Fjc)return false;return true}function nRb(a,b){var c,d,e;e=new $hc((Plc(),flc));for(d=b.a.Xd();d.Jd();){c=d.Kd();Odc(e,PPb(a.a,c))}return gPb(a.a,e)}function HRb(a,b,c){var d;if(!b){d=uPb(a.a,(Plc(),Fjc));vfc(d.k)==-1&&MPb(d,c.o.b,c.o.a);return d}return bRb(a,b,false)}function V2(a,b,c){var d;d=(Zd(RBc(c,jCc(46))==-1,kWc,c),Ldc(),new Lhc((Plc(),Gkc),c));!!a.b&&Wec(d, +A3(a,b,c));return d}function ZLb(){ZLb=T0;YLb=new $hb("JSC_DUPLICATE_CASE",(p7(),o7),new aDc("Duplicate case in a switch statement."))}function DMb(){DMb=T0;CMb=new $hb("JSC_MISSING_SEMICOLON",(p7(),n7),new aDc("Missing semicolon (fix with go/fixjs)"))}function a7(){a7=T0;_6=new $hb("JSC_USED_GLOBAL_THIS",(p7(),o7),new aDc("dangerous use of the global 'this' object"))}function T7(){T7=T0;S7=new $hb("JSC_UNUSED_PRIVATE_PROPERTY",(p7(),n7),new aDc("Private property {0} is never read"))}function G1(){G1= +T0;C1=new I1("ARGUMENTS",0,UVc);D1=new I1("EXPORTS",1,VVc);E1=new I1(WVc,2,XVc);F1=new I1(YVc,3,ZVc)}function Yrc(){Yrc=T0;Vrc=new Zrc("MATCH",0,true);Wrc=new Zrc("NOT_MATCH",1,false);Xrc=new Zrc("PROCESSING",2,true)}function geb(){geb=T0;eCc("ABCDEFGHIJKLMNOPQRSTUVWXYZ$");eCc("_$");eeb=(On(),new RB(Pd((u8b(),new Agb))));feb=new Afb}function Bec(a){var b,c;Hec(a,(vhc(),chc),1);for(c=(!a.c?(LHc(),LHc(),KHc):new yhc(a.c)).Xd();c.Jd();){b=c.Kd();Bec(b)}}function v2(a){var b;b=(Zd(RBc(UVc,jCc(46))==-1, +kWc,UVc),Ldc(),new Lhc((Plc(),Gkc),UVc));!!a.b&&Wec(b,a.a.Dd());return b}function $A(a,b){var c,d;c=a.b.b.$d();b.lengthc&&(b[c]=null);return b}function Hc(b,c,d){var e;try{Gc(b,c,d)}catch(a){a=p0(a);if(lH(a,105)){e=a;throw q0(new Uzc(e));}else throw q0(a);}return c}function fBc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(hBc(),gBc)[b];!c&&(c=gBc[b]=new TAc(a));return c}return new TAc(a)}function $lc(a,b){var c,d,e;if(jv(b))return a;c=new _hc((Plc(),Zkc), +a);for(e=b.Xd();e.Jd();){d=e.Kd();Odc(c,d)}return c}function Xwc(a){var b,c,d,e;if(a.b!=null)for(c=a.b,d=0,e=c.length;d>>=5;b>0&&(c|=32);sCc(a,(TD(),sVc,sVc.charCodeAt(c)))}while(b>0)}function smb(a,b){var c,d;d=jmb(a,Lec(b));c=Cmb(a,d);if(d.n!=(Plc(),Olc)){Pdc(b,omb(a,c));Hec(b,(vhc(),Vgc),0);inb(a.a,b)}}function erb(a,b){var c;b.n==(Plc(),gjc)&&(b=b.g);if(b.n==dkc&&Uf(a.f,b)){c=b.g;(c.n==gjc||c.n== +llc)&&Mf(a.g,c,Vf(a.f,b))}}function pib(a){var b,c;Hd(a.n==(Plc(),ojc),a);b=a.d;if(b){Hd(b.Zi(),a);c=jqc((cmc(),!b?null:b.rj()))}else c=null;return c}function XQb(a,b){var c;c=uPb(a.a,(Plc(),dkc));Odc(c,PPb(a.a,b.a));Odc(c,QPb(a.a,b.c));!!b.b&&Odc(c,QPb(a.a,b.b));return c}function BRb(a,b){var c,d,e;e=(On(),new vs);for(d=b.a.Xd();d.Jd();){c=d.Kd();ts(e,PPb(a.a,c))}return gPb(a.a,_lc(Wn(e.a)))}function dUb(a,b){var c,d;Zec(b,vfc(b.k)+a.d);for(d=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();d.Jd();){c= +d.Kd();dUb(a,c)}}function isb(a,b,c){if(c==b||c!=b&&wHc(a.c[c.c],b.c))return b;else if(b!=c&&wHc(a.c[b.c],c.c))return c;return hsb(a,b,c)}function ko(a){On();var b;switch(a.$d()){case 0:return Nn;case 1:return new RB(Pd(a.ee(0)));default:b=a;return new _A(b)}}function r0b(a){switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 92:return p0b(a);case 91:return s0b(a);default:T_b(a);return true}}function cQb(a){switch(a.n.f){case 72:case 73:case 101:case 102:case 70:case 71:case 67:return true;default:return false}} +function L0b(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return a-48;default:return-1}}function w9b(a,b){!a.d&&(a.d=new fbc);!a.d.f&&(a.d.f=new qGc);if(jGc(a.d.f,b,0)!=-1)return false;fGc(a.d.f,b);return true}function x9b(a,b){!a.d&&(a.d=new fbc);!a.d.g&&(a.d.g=new qGc);if(jGc(a.d.g,b,0)!=-1)return false;fGc(a.d.g,b);return true}function toc(a,b,c){cmc();if(b==a.b)return Coc(),Boc;else if(pIc(a.a,b))return Coc(),Aoc;else{oIc(a.a,b);return c.wj(a)}}function PAc(a,b){if(a< +b)return-1;if(a>b)return 1;if(a==b)return a==0?PAc(1/a,1/b):0;return isNaN(a)?isNaN(b)?0:1:-1}function xQb(a,b){if(Tlc(b.Di())){a.a.f=KVb(a.a.f,(dXb(),BWb));a.a.a.d==(POb(),FOb)&&a.a.e.gi(E$c,a.a.s,vfc(b.k),ufc(b.k))}}function uRb(a,b){var c,d,e;e=vPb(a.a,(Plc(),vlc),PPb(a.a,b.b));for(d=b.a.Xd();d.Jd();){c=d.Kd();Odc(e,PPb(a.a,c))}return e}function $jb(a,b){var c,d;Hec(b,(vhc(),chc),1);for(d=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();d.Jd();){c=d.Kd();$jb(a,c)}}function kD(a,b){var c,d;Pd(b);if(!a.c)return b; +d=a.c.a;for(c=mCc(b)-1;c>=0;c--)if(hCc(b,c)!=d)break;return nCc(b,0,c+1)}function Vwc(a,b){var c,d;d=$wnd.Math.min(a.c.$d(),a.d.$d());for(c=d-1;c>=0;c--){cmc();if(a.c.ee(c)==b)return c}return-1}function Xnb(a,b,c){var d;Ud(c.n==(Plc(),Gkc));d=u1(b,c.Di());if(!!d&&!!d.c&&Fvb(d.c)&&c!=d.c)return Unb(a,d.c);return null}function c$b(a){var b,c;c=Y_b(a.g,0).d.b;b=SYb(a);b.e==(V2b(),B2b)&&b.a&&k_b(a,(dXb(),cXb));return new G4b(new w7b(c,a.f),b)}function Tgb(){Tgb=T0;Pgb=new Ugb(dYc,0);Sgb=new Ugb("SORT_ONLY", +1);Rgb=new Ugb("PRUNE_LEGACY",2);Qgb=new Ugb("PRUNE",3)}function Deb(){Deb=T0;Aeb=new Eeb(_Vc,0);Beb=new Eeb("START",1);Ceb=new Eeb("START_AND_END",2);zeb=new Eeb("EVERY_PASS",3)}function tlb(){tlb=T0;slb=new ulb("QUOTED_PROPERTY",0);qlb=new ulb("COMPUTED_PROPERTY",1);rlb=new ulb("NORMAL_PROPERTY",2)}function Abc(){Abc=T0;xbc=new Bbc(h_c,0);wbc=new Bbc(g_c,1);ybc=new Bbc(i_c,2);zbc=new Bbc(j_c,3);vbc=new Bbc("INHERITED",4)}function $tc(a,b,c){var d;d=crc($qc(_qc((cmc(),new mrc(a)))),b);c.length>0&& +jrc(d,(On(),Pd(c),Wn(new mHc(c))));return Yqc(d)}function qh(a,b){var c,d,e;if(lH(b,51)){c=b;d=c.ff();e=dz(a.Re(),d);return Cd(e,c.gf())&&(e!=null||a.Re().ue(d))}return false}function FG(a,b){if(a.h==MVc&&a.m==0&&a.l==0){b&&(AG=DG(0,0,0));return CG((eH(),cH))}b&&(AG=DG(a.l,a.m,a.h));return DG(0,0,0)}function X0(a){var b;if(Array.isArray(a)&&a.Kk===Y0)return pAc(xb(a))+"@"+(b=zb(a)>>>0,b.toString(16));return a.toString()}function $mb(a,b){var c,d;for(d=new HGc(b);d.ac)throw q0(new Pzc(M1c+a+N1c+b+", size: "+c));if(a>b)throw q0(new zsb(M1c+a+" > toIndex: "+b));}function eo(a){On();var b,c,d;for(c=0,d=a.length;c=48&&c<=57){j8b(b,$7b(a));return a8b(a,b)}else throw q0(d8b(a)); +}function bqb(a,b){return a.e||(!!a.c&&nub(a.a,a.c,new uqb(a)),nub(a.a,a.j,new uqb(a)),a.e=true,a.d=null,undefined),gDc(a.i,b)}function owb(a){vub();return a.n==(Plc(),Vjc)?owb((Gd(a.n==Vjc),a.c.f))||owb((Hd(a.n==Vjc,a),a.c?a.c.i:null)):evb(a,new Awb,tub)}function gPb(a,b){var c,d;!!b.j||Udc(b,a.u);for(d=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();d.Jd();){c=d.Kd();gPb(a,c)}return b}function J8b(a){var b,c,d,e,f,g;c=(b=new mfc((Plc(),gjc)),b);for(e=a,f=0,g=e.length;f +0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return wVc in new Error}function eUc(a){cUc();var b,c,d;c=":"+a;d=bUc[c];if(d!=null)return sH(d);d=_Tc[c];b=d==null?dUc(a):sH(d);fUc();bUc[c]=b;return b}function Crb(a,b,c){var d,e;e=$9b(b,c);if(e){d="{"+Grb(a,e.a)+"} "+c+(a.a&&S9b(b,c)!=null?S9b(b,c):"");return gCc(d)}else return c}function Yvb(a){var b,c;b=a.c;if(b.n==(Plc(),_jc)||b.n==$jc){c=b.c?b.c.i:null;return c.n==qlc&&OBc("toString",c.Di())}return false}function Usb(a,b){var c, +d;for(d=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();d.Jd();){c=d.Kd();if(c.n==(Plc(),sjc)){Vsb(a,b);return}}}function FPb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;f=new WSb(new NTb(d.substr(3),e,c+3),d,b.a.b.c,a.u,a.a,a.e);return xSb(f)}function K9b(a,b,c){if(!yac(a))return true;!a.b.e&&(a.b.e=new ENc);if(zNc(a.b.e,b))return false;else{BNc(a.b.e,b,c);return true}}function vqc(a,b,c){if(!b)return false;if(a.Zi()&&b==(Zd(a.Zi()||a.i==(rrc(),prc),lWc,a),tmc(a.o)))return false;return xqc(a,b,c)}function CUb(a, +b){if(b.n!=(Plc(),Gkc)){a.a.gi(B_c+vic(T_c,yG(tG(rZ,1),zUc,1,5,["name"])),a.b.ah(),a.d,a.c);return false}return true}function N8b(a,b){Vd(a.n==(Plc(),Gkc)||a.n==Ukc||a.n==Nic||a.n==Bjc,a);(a.n==Ukc||a.n==Nic)&&(a=new ofc(Bjc,a));return new ofc(b,a)}function KIb(a,b){if(a==null)throw q0(new xBc("Null prefix"));this.a=a;if(b==null)throw q0(new xBc("Null replacement"));this.b=b}function PBc(a,b){if(b==null)return false;if(OBc(a,b))return true;return a.length==b.length&&OBc(a.toLowerCase(),b.toLowerCase())} +function rbc(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return a.d==b.d&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function _Lb(){_Lb=T0;$Lb=new $hb("JSC_USELESS_EMPTY_STATEMENT",(p7(),n7),new aDc("Useless empty statement. (fix with go/fixjs)"))}function cTb(){cTb=T0;aTb=new dTb("SEARCHING_ANNOTATION",0);bTb=new dTb("SEARCHING_NEWLINE",1);_Sb=new dTb("NEXT_IS_ANNOTATION",2)}function $1(){$1=T0;Y1=new _1($Vc,0,0);X1=new _1("GETTER_ONLY",1,1);Z1=new _1("SETTER_ONLY",2,2);W1=new _1("GETTER_AND_SETTER", +3,3)}function Q7b(a){var b;if(a.a==null)b=wUc;else throw q0(new CF("Integer.toHexString is outside the GWT subset"));return I7b(a,b,0)}function iqc(a){var b,c;c=a.Zi()?qqc(a):null;if(!c)return a.e;b=(On(),new vs);us(b,a.e);while(c){us(b,c.e);c=qqc(c)}return Wn(b.a)}function lq(a){var b,c,d,e,f;f=0;for(d=(e=(new oEc(a.a)).a.Je().Xd(),new tEc(e));d.a.Jd();){c=(b=d.a.Kd(),b.gf());f+=c.$d()}return f}function l9b(a){var b,c,d,e,f;f=new mfc((Plc(),jlc));for(c=a,d=0,e=c.length;d2E3){NF=a;OF=$wnd.setTimeout(XF,10)}}if(MF++==0){$F((ZF(),YF));return true}return false}function Bcc(a,b,c){if(!((a.a.a&nZc)==AZc||(a.a.a&nZc)==yVc||(a.a.a&nZc)==KZc)&&C9b(a.a,c,b)){a.e=true;return true}else return false}function ICc(a,b,c,d){var e,f;xb(a);xb(b);f=a.length;e=b.length;if(c<0||d<0||d>f||c+d>e)throw q0(new Ozc);d>0&&zTc(a,0,b,c,d,true)}function ME(a,b){var c,d,e,f;e=0;for(d=new cOc(new VNc(b));d.b!= +d.c.a.b;){c=aOc(d);f=c.d;e!=0&&(a.a+=",",a);wCc(a,(qF(),tF(f)));++e}}function BNc(a,b,c){var d,e,f;e=fDc(a.c,b);if(!e){d=new SNc(a,b,c);iDc(a.c,b,d);PNc(d);return null}else{f=yEc(e,c);CNc(a,e);return f}}function Cob(a,b,c){var d,e;d=Qob(E8b(yG(tG(CX,1),mWc,7,0,[])),c);for(e=b.c;e;e=e.f)e.n==(Plc(),ylc)&&Odc(d,j3(a.a,e.Ci()));return d}function NGc(a,b,c){var d,e,f,g;e=0;d=b-1;while(e<=d){f=e+(d-e>>1);g=a[f];if(gc)d=f-1;else return f}return-e-1}function UD(a){var b,c,d,e,f,g;f=0; +g=0;do{b=JBc(a.a,a.b++);d=(TD(),e=SD[b],e);c=(d&32)!=0;d&=31;f=f+(d<0)return true;c=CFc(a.d);if(!c.c)return false;while(!!c&&!!c.a){Wf(a.g,c.a,b);c=c.b}return true}function fRb(a,b){var c,d,e;e=vPb(a.a,(Plc(), +Mkc),PPb(a.a,b.b));if(b.a)for(d=b.a.a.Xd();d.Jd();){c=d.Kd();Odc(e,PPb(a.a,c))}return e}function fSb(a,b){var c,d;d=false;while(true){c=ETb(a.j);if(c==32)continue;else if(c==b){d=true;break}else break}KTb(a.j,c);return d}function wPc(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.xf(b,f.d);if(c&&d==0)return f;if(d>=0)f=f.a[1];else{e=f;f=f.a[0]}}return e}function F2(a,b,c,d){var e,f,g;g=ewb(c,d);if(a.b){Pd(b);e=Pd(b.rj());f=Pd((Zd(e.Zi()||e.i==(rrc(),prc),lWc,e),tmc(e.o)));g.d=f}return g}function sPb(a, +b,c){var d;a.f=KVb(a.f,c);HVb(a.a.d.a,c)||a.e.gi((d=ROb(c),d==(POb(),OOb)?s_c+c:t_c+ROb(c)+u_c+c),a.s,b.o.b.b+1,b.o.b.a)}function rPb(a,b,c){var d;a.f=KVb(a.f,c);HVb(a.a.d.a,c)||a.e.gi((d=ROb(c),d==(POb(),OOb)?s_c+c:t_c+ROb(c)+u_c+c),a.s,b.d.b.b+1,b.d.b.a)}function tPb(a,b,c){var d;a.f=KVb(a.f,c);HVb(a.a.d.a,c)||a.e.gi((d=ROb(c),d==(POb(),OOb)?s_c+c:t_c+ROb(c)+u_c+c),a.s,vfc(b.k),ufc(b.k))}function cfc(a,b){var c;if(!!b.j&&(!a.j||a.j.c==15&&!a.j.b)){c=b.j;while(c.b)c=c.b;if(c.c==15){a.j=c;return}}bfc(a, +dec(b,(vhc(),mhc)))}function GAc(a,b){var c=0;while(!b[c]||b[c]=="")c++;var d=b[c++];for(;c0)return Z7b(a)}return I0(b)}function sBc(a){var b,c;if(s0(a,-129)>0&&s0(a,128)<0){b= +I0(a)+128;c=(uBc(),tBc)[b];!c&&(c=tBc[b]=new jBc(a));return c}return new jBc(a)}function zZb(a){var b,c,d;d=Y_b(a.g,0).d.b;EYb(a,(V2b(),s1b));c=FYb(a);EYb(a,_1b);b=AZb(a);EYb(a,d1b);return new R3b(new w7b(d,a.f),c,b)}function nZb(a,b){var c,d,e,f;f=Y_b(a.g,0).d.b;b&&EYb(a,(V2b(),U1b));c=PYb(a);d=LZb(a,1);e=OYb(a);return new n3b(new w7b(f,a.f),b,c,d,e)}function TTc(a,b){if(0>a)throw q0(new zsb("fromIndex: 0 > toIndex: "+a));if(a>b)throw q0(new Qzc("fromIndex: 0, toIndex: "+a+L1c+b));}function jbb(a){a.L= +nyb(mbb(a),new zyb(a.M));iyb(a.L,(!a.K&&(a.K=new RLb(a.a)),new pGc));lyb(a.L,a.p,a.w);if(a.i.a.d!=0)return;a.L=null}function _ub(a){vub();var b;for(b=a;true;b=b.c){if(b.n==(Plc(),Gkc)||b.n==Alc||b.n==ulc)return b;Zd(b.n==_jc,"Not a getprop node: ",b)}}function gMb(){gMb=T0;fMb=new $hb("JSC_MUST_COME_BEFORE_IN_ES6_MODULE",(p7(),o7),new aDc("In ES6 modules, {0} should come before {1}."))}function lbc(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return rbc(a.a,b.a)&&pbc(a.c,b.c)&&rbc(a.b, +b.b)&&ubc(a.d,b.d)}function cmc(){cmc=T0;amc=(on(),Gp(yG(tG(rZ,1),zUc,1,5,[cWc,p1c,aWc])));bmc=Gp(yG(tG(rZ,1),zUc,1,5,["Iterable","Iterator",ZYc,q1c,r1c]))}function oGc(a,b){var c,d;d=a.a.length;b.lengthd&&(b[d]=null);return b}function lHc(a,b){var c,d;d=a.a.length;b.lengthd&&(b[d]=null);return b}function HFc(a,b){var c,d,e,f;d=a.a.length-1;c=b-a.b&d;f=a.c-b&d;e=a.c-a.b& +d;PFc(c=f){IFc(a,b);return-1}else{JFc(a,b);return 1}}function iRb(a,b){var c,d,e,f;sPb(a.a,b,(dXb(),IWb));f=uPb(a.a,(Plc(),Ukc));for(d=b.a.Xd();d.Jd();){c=d.Kd();e=jRb(a,c);Odc(f,e)}return f}function B9b(a,b){var c;c=new Vac;c.d=!a.d?null:abc(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=Yac(a.i,b);c.g=Yac(a.g,b);c.c=a.c;c.f=a.f;return c}function bbc(a,b){var c,d,e;e=null;if(a){e=new qGc;for(d=new HGc(a);d.a=(SRc(a),800):JRc?b.tk()>=(mRc(),800):MRc?b.tk()>=(mRc(),900):LRc&&b.tk()>=(mRc(),1E3))&&ORc(a,b,c,d)}function VRc(a,b,c){(IRc?b.tk()>=(SRc(a),800):JRc?b.tk()>=(mRc(),800):MRc?b.tk()>=(mRc(),900):LRc&&b.tk()>=(mRc(),1E3))&&ORc(a,b,c,null)}function v4(a,b,c){if(c.n==(Plc(),Gkc)){C4(c)&&c.Di().length==0&&b5(LWc,c);r4(c);!!c.c&&c4(a,c.c)}else c.n==Bjc?Y3(a, +b,c):b5(EWc+b+FWc,c)}function v9(a){_8(this);this.c=a;this.g=false;this.k=true;this.i=false;this.j=false;this.n=false;this.f=(DVb(),mVb);this.e=new Hrb(false)}function A9(b){var c;if(D9(b))try{c=MAc(b);if(A0(c,{l:0,m:0,h:512}))return H0(c)}catch(a){a=p0(a);if(!lH(a,83))throw q0(a);}return NaN}function mob(a,b){var c,d,e;c=V8b(a,b,yG(tG(wZ,1),eWc,2,6,[]));e=a.d;if(!e)return c;d=hmc(e,b);!d&&lH(e,135)&&(d=nqc(e,b));return c.d=d,c}function ezb(a,b){dzb();var c;if(b==(aLb(),_Kb)){c=$dc(a)>=3?Zdc(a,2): +a.c.f;return c.n==(Plc(),Rkc)?""+sH(c.Bi()):c.Di()}return a.c.f.Di()}function wub(a,b){vub();var c,d;Vd(a.n==(Plc(),llc),a);c=(Vd(a.n==llc,a),dec(a,(Ldc(),sdc)));d=c?KVb(c,b):KVb((DVb(),mVb),b);Iec(a,sdc,d)}function U2(a,b){var c,d;Hd(b.c.Di().length==0,b);c=(Ud(b.n==(Plc(),Vjc)),d=(Ldc(),new Lhc(Bkc,pWc)),Odc(d,b),d);!!a.b&&Wec(c,b.d);return c}function Kjb(a,b,c){var d,e;for(e=c.Xd();e.Jd();){d=e.Kd();d.n==(Plc(),qlc)&&Jjb(a,b,d,true);Kjb(a,b,!d.c?(LHc(),LHc(),KHc):new yhc(d.c))}}function r$b(a, +b){var c,d,e;e=Y_b(a.g,0).d.b;c=s$b(a,b);if(W$b(a,(V2b(),t1b))){EYb(a,t1b);d=eZb(a,1);c=new N3b(new w7b(e,a.f),c,d)}return c}function BYb(a,b){var c;c=(On(),new vs);ts(c,b?b.a:"");while(W$b(a,(V2b(),g2b))){EYb(a,g2b);b=FYb(a);if(!b)break;ts(c,b.a)}return Wn(c.a)}function hmc(a,b){var c,d,e;c=a.Pi(b);if(!c)return null;if(a.Vi().c.Wd()||!kmc(c))return c;e=a.Vi();d=new mxc(a.D,e,false);return c.wj(d)}function cbc(a,b){var c,d,e,f;e=null;if(a){e=new ENc;for(d=new cOc(new VNc(a));d.b!=d.c.a.b;){c=aOc(d); +f=c.e;BNc(e,c.d,Yac(f,b))}}return e}function osb(a){var b,c,d,e;e=vG(vH,zVc,50,a.a.length,15,1);for(c=0;c=0;d=BHc(b,d-1))e[d]+=1}return e}function GTc(a,b){(!b&&console.groupCollapsed!=null?console.groupCollapsed:console.group!=null?console.group:console.log).call(console,a)}function $4(a,b){var c;vub();!!b&&(b.n==(Plc(),Jlc)||b.n==ykc||b.n==tjc)?w4(a,b.n,b):b.n==(Plc(),Fjc)?(c=$dc(b),0!=c&&b5(AWc+c,b)):c4(a,b)}function p6(a,b,c){var d;d=aec(c,(vhc(),wgc));if(d== +0||d=0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function gwb(a,b){var c;c=(Zd(RBc(b,jCc(46))==-1,kWc,b),Ldc(),new Lhc((Plc(),Gkc),b)); +Yec(c,b.length);a.yg().mh(b)&&Gec(c,zdc,true);return c}function vb(a,b){return qH(a)?OBc(a,b):nH(a)?rH(a)===rH(b):mH(a)?a===b:kH(a)?a.zd(b):xG(a)?sb(a,b):!!a&&!!a.equals?a.equals(b):rH(a)===rH(b)}function Yfb(){Yfb=T0;Tfb=new Zfb(nYc,0);Wfb=new Zfb("RAW_SIZE",1);Ufb=new Zfb("AST_SIZE",2);Xfb=new Zfb("TIMING_ONLY",3);Vfb=new Zfb(_Vc,4)}function fob(a,b,c){this.i=a;this.a=b;this.g=c;this.f=null;this.b=new IPc;this.c=new hOc;this.d=new vMc;this.e=zdb(b.Dg(dec(c,(vhc(),Tgc))))}function Uub(a){vub();switch(a.n.f){case 72:case 73:case 101:case 102:case 70:return a.c? +a.c.i:null;case 71:return a.c;default:return null}}function pYb(a){jYb();switch(a.f){case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:return true;default:return false}}function B0b(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return true;default:return false}}function Rnc(a){switch(a){case 0:return Nnc;case 1:return Pnc;case 2:return Onc;case 3:return Mnc;default:throw q0(new zsb("Ordinal: "+a));}}function Yub(a){switch(a.n.f){case 91:case 86:case 87:case 98:return a; +case 118:return a.c.n==(Plc(),qlc)?a.c:null}throw q0(new RAc(i$c+a));}function Gxb(a){var b,c,d;for(d=Tdc(a.o).Xd();d.Jd();){b=d.Kd();a.n+=1;a.k+=Cxb(b)}for(c=Tdc(a.v).Xd();c.Jd();){b=c.Kd();a.w+=1;a.u+=Cxb(b)}}function lRb(a,b){var c,d,e,f;e=(On(),new vs);for(d=b.a.Xd();d.Jd();){c=d.Kd();ts(e,PPb(a.a,c))}f=PPb(a.a,b.b);return gPb(a.a,$lc(f,Wn(e.a)))}function u0b(a,b){var c,d,e;d=a.f;while(S_b(a,a.f)&&!E0b(S_b(a,a.f)?JBc(a.b,a.f):0))T_b(a);c=vYb(a.g,d,a.f);e=dCc(a.b,d,a.f);t_b(a.a,b,c,e)}function U7b(a, +b){b.a=b.a.substr(0,0)+"("+b.a.substr(1);if(a.b.k){k8b(a.b,a.b.p-1);b=I7b(a,b,1);b.a+=")"}else{b.a+=")";b=I7b(a,b,0)}return b}function Ntc(a,b,c){var d,e,f;d=new Ipc(a);f=c.length-1;for(e=0;e<=f;e++)b&&e==f?Gpc(d,c[e]):Fpc(d,yG(tG(iY,1),zUc,23,0,[c[e]]));return d.b}function bnb(a,b,c,d){var e,f;for(f=new HGc(b);f.a0?f=kGc(a.n,e-1):f=(d=EFc(a.o),d).d;vub();ZLc(pub,f.n)&&(c=EFc(a.b),c)}function j9b(a){var b,c,d,e,f;f=new mfc((Plc(),$kc));for(c=a,d=0,e=c.length;d=a.length)throw q0(new D7b(dCc(c.a, +c.d,c.b)));if(b==-2)return d;return a[b]}function hAc(a,b,c){RTc(a>=0&&a<=DVc);if(a>=CVc){b[c++]=55296+(a-CVc>>10&EVc)&qUc;b[c]=56320+(a-CVc&EVc)&qUc;return 2}else{b[c]=a&qUc;return 1}}function e3(a,b,c){var d,e,f;d=Pd(Lv(Re(c.a,c.b)));f=(Pd(c),Hd(true,"number to skip cannot be negative"),new wv(c));e=V2(a,b,d);return N2(a,e,f)}function Zbb(a){var b;Ud(seb(a.I));b=(!a.K&&(a.K=new RLb(a.a)),new pGc);if(b.a.length==0)return;a.L=mbb(a);iyb(a.L,b);lyb(a.L,a.p,a.w);a.L=null}function kub(a,b,c,d){Pd(c); +Ztb(a,b);if(Stb(a)!=d){a.e=b;Pd(a.e);tFc(a.o,d);aub(a,d.d);!!a.j&&a.j.di(a);gub(a,b,c);$tb(a,false)}else gub(a,b,c)}function eJb(a,b){dJb();return rJb(qJb(sJb(xJb(wJb(vJb(uJb(tJb(new yJb,b),a),(On(),On(),Nn)),(null,Nn)),(null,Nn)),(Do(),Do(),Co)),false),false)}function aLb(){aLb=T0;YKb=new bLb("BROWSER",0);ZKb=new bLb("BROWSER_WITH_TRANSFORMED_PREFIXES",1);$Kb=new bLb("NODE",2);_Kb=new bLb("WEBPACK",3)}function lUb(a,b){if(!cUb(a,b,(gVb(),NUb)))return false;if(!BUb(a,(Md(b.n==(Plc(),jjc),S_c,b),Zdc(b, +1)))){HUb(a,NUb.d);return false}return true}function sUb(a,b){if(!cUb(a,b,(gVb(),YUb)))return false;if(!BUb(a,(Md(b.n==(Plc(),jjc),S_c,b),Zdc(b,1)))){HUb(a,YUb.d);return false}return true}function tYb(a){var b,c;++a.b;a.c=a.d;for(c=a.c;c>4&qUc}return rCc(c,0,c.length)}function Dvb(a){vub();var b;if(a.n== +(Plc(),Vjc)&&rvb(a.g)&&a.n==Vjc&&Uvb(a.c)){b=a.g;return b.n==llc||b.n==Ekc||b.g.n==Vjc||b.n==Mjc}return false}function ipb(a){var b,c,d;b=hpb(a);Pd(b);c=b;d=c.g;while(d.n==(Plc(),tkc)){c=d;d=c.g}Vd((vub(),d.n==jlc||d.n==llc||d.n==gjc||d.n==Ekc),d);return c}function gBb(a,b,c){var d,e;for(e=(!c.c?(LHc(),LHc(),KHc):new yhc(c.c)).Xd();e.Jd();){d=e.Kd();if(d.n==(Plc(),skc)||d.n==Wkc){hBb(a,b,c);return}}}function g9b(a,b){var c,d,e,f,g;g=new ofc((Plc(),Mkc),a);for(d=b,e=0,f=d.length;ec.b){FUb(a,c.d);return false}return true}function YPb(a,b){var c;if(b.n==(Plc(),ilc)){c=b;while(c=c.g)if(c.n==Vjc)return;a.e.fi("return must be inside function",a.s,vfc(b.k),ufc(b.k))}}function kgb(a,b){var c; +if(lH(b,224)){c=b;c.a&&(a.a=c.a);lgb(a,new rGc(new PQc(c.c.a.xk())))}else{++a.d;iDc(a.e,b,fBc(a.d));MQc(a.c,b);LQc(a.c,b)}}function Yd(a,b,c){if(!a)throw q0(new RAc(pf("Bad GETELEM node: Expected 2 children but got %s. For node: %s",yG(tG(rZ,1),zUc,1,5,[fBc(b),c]))));}function Vmb(a,b,c){var d;d=new pGc;fGc(d,qnb(b,c));--a.o!=0&&fGc(d,ifc(h9b(a.o),c));jnb(a,Hmb(a,c,"leaveFinallyBlock",oGc(d,vG(CX,mWc,7,0,0,1))))}function dJb(){dJb=T0;cJb=pJb(rJb(qJb(sJb(xJb(wJb(vJb(uJb(tJb(new yJb,""),""),(On(),On(), +Nn)),(null,Nn)),(null,Nn)),(Do(),Do(),Co)),false),false))}function iOb(a){var b,c,d;b=(Do(),new Fs);Es(b,Eo((fOb(),eOb)));for(d=a.Xd();d.Jd();){c=d.Kd();c.length!=0&&!cp(eOb,c)&&Cs(b,c,ENb)}return To(b.b)}function _lc(a){var b,c,d;Hd(!jv(a),"union must have at least one option");b=new $hc((Plc(),Hlc));for(d=a.Xd();d.Jd();){c=d.Kd();Odc(b,c)}return b}function QTc(a){switch(typeof a){case lUc:return eUc(a);case jUc:return sH(a);case iUc:return Xzc(),a?1231:1237;default:return a==null?0:$Tc(a)}}function xj(a, +b,c){var d,e;pl(c,"count");if(c==0){d=a.a.Ne(b);e=Hj(d,c)}else{d=a.a.Le(b);e=Hj(d,c);!d&&a.a.Me(b,new jm(c))}a.b=r0(a.b,c-e);return e}function ol(a,b){if(a==null)throw q0(new xBc("null key in entry: null="+b));else if(b==null)throw q0(new xBc("null value in entry: "+a+"=null"));}function V6(){V6=T0;U6=new $hb("JSC_MISSING_CONST_PROPERTY",(p7(),n7),new aDc("Private property {0} is never modified, use the @const annotation"))}function Kmb(a,b,c,d){var e;Ud(!b.b);e=ifc(J8b(yG(tG(CX,1),mWc,7,0,[Hmb(a, +d,tZc,yG(tG(CX,1),mWc,7,0,[qnb(b,d)])),Jmb(a,d)])),d);c&&(b.b=e);return e}function gpb(a,b,c){var d;if(b){d=a.d;return jfc(Qob(G8b(Qob((Zd(RBc(c,jCc(46))==-1,kWc,c),Ldc(),new Lhc((Plc(),Gkc),c)),d),a),d),a)}else return a}function cnb(a,b,c){var d,e,f,g;if(b){f=(d=EFc(a.e),d);Ud(f.b==0);Ud(f.a==b)}if(c){if(!BFc(a.e)){e=--zFc(a.e).b;Ud(e>=0)}g=(d=EFc(a.k),d);Ud(g==c)}}function jVb(){gVb();return yG(tG(kU,1),FUc,62,0,[KUb,LUb,MUb,OUb,PUb,QUb,RUb,SUb,NUb,UUb,TUb,VUb,WUb,XUb,YUb,_Ub,$Ub,ZUb,aVb,bVb,cVb, +dVb,eVb,fVb])}function M7b(a,b){var c,d,e;d=a.b.n;e=X0(a.a);if(e.indexOf(".")!=-1){c=RBc(e,jCc(46));c+d0&&Lbc(a.f,c,d,b,d,b+c.length);return new $Sb(c,!a.o?HTb(a.j):ZRb(a))}function l4(a,b){switch(b.n.f){case 29:case 26:case 27:c4(a,b);break;case 92:Q3(b.c,1);l4(a,b.c);break; +default:b5("Invalid INC/DEC target "+b.n,b)}}function cqb(a,b,c){_pb();this.f=new pGc;this.i=new oMc;new wq(new ENc,new zq);this.g=l9b(yG(tG(CX,1),mWc,7,0,[]));this.a=a;this.c=b;this.j=c;a.Hg()}function jZb(a,b){var c,d,e,f;f=Y_b(a.g,0).d.b;c=BZb(a,b);while(W$b(a,(V2b(),R0b))){d=EYb(a,R0b);e=BZb(a,b);c=new j3b(new w7b(f,a.f),c,d,e)}return c}function kZb(a,b){var c,d,e,f;f=Y_b(a.g,0).d.b;c=lZb(a,b);while(W$b(a,(V2b(),W0b))){d=EYb(a,W0b);e=lZb(a,b);c=new j3b(new w7b(f,a.f),c,d,e)}return c}function lZb(a, +b){var c,d,e,f;f=Y_b(a.g,0).d.b;c=jZb(a,b);while(W$b(a,(V2b(),Z0b))){d=EYb(a,Z0b);e=jZb(a,b);c=new j3b(new w7b(f,a.f),c,d,e)}return c}function d$b(a,b){var c,d,e,f;f=Y_b(a.g,0).d.b;c=kZb(a,b);while(W$b(a,(V2b(),T0b))){d=EYb(a,T0b);e=kZb(a,b);c=new j3b(new w7b(f,a.f),c,d,e)}return c}function e$b(a,b){var c,d,e,f;f=Y_b(a.g,0).d.b;c=d$b(a,b);while(W$b(a,(V2b(),c2b))){d=EYb(a,c2b);e=d$b(a,b);c=new j3b(new w7b(f,a.f),c,d,e)}return c}function Gcc(a,b){if(!!b&&!_9b(a.a)&&!((a.a.a&nZc)==AZc||(a.a.a&nZc)== +yVc||(a.a.a&nZc)==KZc)){Sac(a.a,b,nVc);a.e=true;return true}else return false}function Jv(a,b){var c,d;while(a.Jd()){if(!b.Jd())return false;c=a.Kd();d=b.Kd();if(!(rH(c)===rH(d)||c!=null&&vb(c,d)))return false}return!b.Jd()}function rQb(a){var b,c;Gd(a.n==(Plc(),llc));if(!a.c)return false;c=a.c;if(c.n!=Pjc)return false;b=c.c;if(b.n!=jjc)return false;return Eec(b.c,HZc)}function YSb(a){var b,c;c=0;while(c0&&(Gzc(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function $pc(a,b,c,d){var e,f;e=(!c.b&&(c.b=new oMc),Ag(c.b,new Src(c,a,b),(Yrc(),Xrc))); +if(e)return e.a;f=fpc(a,b,c,d,1);return Qrc(c,a,b,f?Vrc:Wrc)}function Ftb(a,b){if(b.length==0)return b;b.indexOf(EZc)!=-1&&(b=dCc(b,0,b.lastIndexOf(EZc)));a.a.oh(b)&&(b="JSCompiler_"+b);return b+EZc+a.d+a.f.Dd()}function hEb(a,b,c){var d;d=Kg(NMc(b.d,a));if(c==d)return d;if(d){d.b.a=d.a;d.a.b=d.b;d.a=null}else{d=new iEb(a);OMc(b.d,a,d)}d.b=c;c.a=d;c=d;return d}function WRb(a,b,c,d){var e;a.c.gi(B_c+vic("msg.jsdoc.type.record.duplicate",yG(tG(rZ,1),zUc,1,5,[b]))+C_c,(e=dec(a.n,(vhc(),mhc)),!e?null: +e.ah()),c,d)}function NTb(a,b,c){this.o=vG(uH,rUc,50,128,15,1);this.q=vG(vH,zVc,50,3,15,1);Pd(a);this.g=b;this.k=a;this.j=a.length;this.i=this.b=0;this.d=b;this.c=c}function Cnc(a,b,c,d){umc.call(this,a);this.a=!b?Ntc(a,true,yG(tG(iY,1),zUc,23,0,[jmc(this,(ztc(),xtc))])):b;this.b=!c?jmc(this,(ztc(),xtc)):c;this.c=d}function xPc(a,b,c,d,e,f,g,h){var i,j;if(!d)return;i=d.a[0];!!i&&xPc(a,b,c,i,e,f,g,h);yPc(a,c,d.d,e,f,g,h)&&b.Qd(d);j=d.a[1];!!j&&xPc(a,b,c,j,e,f,g,h)}function FSc(a,b){var c,d,e;e=new EOc(new mHc(yG(tG(h0, +1),zUc,1180,0,[a,b])),16);d=new KSc(e);c=new XSc(null,d);return vSc(c,new GSc(a)).Gk(new HSc(b))}function IG(a,b){var c,d,e;if(b<=22){c=a.l&(1<=0);e=Wn(b.a);return new uic(e,e.$d())}function mqc(a){var b,c,d,e;e=new pGc;for(c=(d=a.b.a,d?!d.c?(LHc(),LHc(),KHc):new yhc(d.c):(LHc(),LHc(),KHc)).Xd();c.Jd();){b=c.Kd();fGc(e,b.d)}return e}function XBc(a,b,c){var d,e,f,g;d=(e=b>>>0,e.toString(16));f="\\u"+cCc("0000",d.length)+d;g=String.fromCharCode(c);return a.replace(new RegExp(f,"g"),g)}function gCc(a){var b,c,d;c=a.length;d=0;while(dd&&a.charCodeAt(b-1)<=32)--b;return d>0||b' unexpected",yG(tG(rZ,1),zUc,1,5,[]));e=b}return e}function Wvc(a,b,c){var d,e,f,g;if(!c.Qd(a))return;b.Rd(a.b.ye());g=Zvc(a);!!g&&Wvc(g,b,c);for(e=$vc(a).Xd();e.Jd();){d=e.Kd();f=d.Vj();!!f&&Wvc(f,b,c)}}function gAc(a){return String.fromCharCode(a).toUpperCase().charCodeAt(0)==a&&(_zc==null&&(_zc=new RegExp("[A-Z]","i")),_zc.test(String.fromCharCode(a)))}function Iv(a,b){if(b==null)while(a.a.Jd()){if(a.a.Kd().gf()== +null)return true}else while(a.a.Jd())if(vb(b,a.a.Kd().gf()))return true;return false}function wG(a,b){var c=new Array(b);var d;switch(a){case 14:case 15:d=0;break;case 16:d=false;break;default:return c}for(var e=0;e57)return false}return d==1||a.charCodeAt(0)!=48}function cob(a,b){var c,d,e,f;e=Fub(b);for(d=new HGc(e);d.a=0){c=SBc(b,jCc(46),c+1);f=c<0?b:b.substr(0,c);Ud(f.length!=0);d=jqb(a,f,null);d.j=true}e=jqb(a,b,null);e.j= +true}function oyb(a,b){hyb();var c;this.b=a;this.d=a.w;this.p=b;this.i=new pGc;this.c=false;this.e=0;this.q=a.I.td;c=a.I.dc;c>0&&c<=100?this.g=c:this.g=100}function mRb(a,b){var c,d;c=gRb(a,b.a);dfc(c,(Plc(),rlc));if(b.b)Pdc(c,PPb(a.a,b.b));else{d=c.zi(false);Hec(c,(vhc(),Zgc),1);dfc(d,Gkc);Pdc(c,d)}return c}function PZb(a){var b,c,d,e;d=Y_b(a.g,0).d.b;e=null;if(_$b(a)){b=LZb(a,0);EYb(a,(V2b(),U0b));c=J$b(a);e=new t4b(new w7b(d,a.f),b,c)}else e=cZb(a);return e}function gec(a){var b,c,d,e;b=0;for(e= +a.j;e;e=e.b)++b;c=vG(tH,tVc,50,b,15,1);for(d=a.j;d;d=d.b){--b;c[b]=d.c}c.sort(U0(tHc.prototype.Bk,tHc,[]));return c}function hfc(b){var c,d;try{d=new DCc;Hfc(b,0,d);return d.a}catch(a){a=p0(a);if(lH(a,105)){c=a;throw q0(new CF("Should not happen\n"+c));}else throw q0(a);}}function qD(a){var b;lD.call(this,a,null);this.a=vG(uH,rUc,50,512,15,1);Gd(a.c.length==16);for(b=0;b<256;++b){this.a[b]=a.c[b>>>4];this.a[b|256]=a.c[b&15]}}function K3(a,b){var c,d;B4((Plc(),Mic),b);for(c=b.c;c;c=c.f)switch(c.n.f){case 116:P4(a, +c);break;default:c.n==Fjc?(d=$dc(c),0!=d&&b5(AWc+d,c)):c4(a,c)}}function Gbb(a,b,c,d){var e,f,g,h;e=new Xrb("$strong$");for(h=Qv(new PDc(c.a));h.Jd();){g=h.Kd();Trb(e,new Hdb(g))}f=new qGc;f.a[f.a.length]=e;Ibb(a,b,f,d)}function nnb(a,b){return ifc(Qob(T8b(ifc(Qob(e9b(sZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),ifc((Ldc(),new Lhc((Plc(),qlc),vZc)),b)),a.r.f.g?a.g.Wj(vZc):null),b)}function oCc(a){var b;b=0;while(0<=(b=a.indexOf("\\",b)))a.charCodeAt(b+1)==36?a=a.substr(0,b)+"$"+cCc(a,++b):a=a.substr(0,b)+ +(""+cCc(a,++b));return a}function jub(a,b){var c,d;for(c=b.c;c;){d=c.f;if(c.n==(Plc(),sjc)){a.e=b;if(a.a.ih(a,c,b)){gub(a,c.c?c.c.i:null,c);a.e=b;a.a.jh(a,c,b)}}else gub(a,c,b);c=d}}function RMb(){RMb=T0;QMb=new $hb("JSC_ILLEGAL_PROTOTYPE_MEMBER",(p7(),n7),new aDc("Prototype property {0} should be a primitive, not an Array or Object."))}function rSb(a,b){var c,d;switch(b.f){case 4:d=a.j.n;c=Udc((Ldc(),new Mhc((Plc(),rlc),d,a.j.g,GTb(a.j))),a.n);Yec(c,d.length);return c;default:return null}}function Gmc(a){var b, +c;if(a.uj()){b=a.uj();if(Ywc(b.F,Pd(b.D.o)))return Pd(b.D.o)}c=Emc(a);if(!!c&&bmc.Td(c.Xj()))return Mv(c.Qj().F.c.Xd());return null}function YBc(a,b,c){var d,e;d=ZBc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=ZBc(ZBc(c,"\\\\","\\\\\\\\"),"\\$","\\\\$");return ZBc(a,d,e)}function yFc(a){var b,c,d;if(a.b!=a.c)return;d=a.a.length;c=ZAc($wnd.Math.max(8,d))<<1;if(a.b!=0){b=ATc(a.a,c);xFc(a,b,d);a.a=b;a.b=0}else ETc(a.a,c);a.c=d}function NG(a,b){var c,d,e;e=a.h-b.h;if(e<0)return false; +c=a.l-b.l;d=a.m-b.m+(c>>22);e+=d>>22;if(e<0)return false;a.l=c&KVc;a.m=d&KVc;a.h=e&LVc;return true}function i9(a,b){var c,d,e;d=b.Di();e=aec(b,(Ldc(),Hdc))!=0;if(e)b9(a,o9(a,b.Di(),e));else{c=gDc(a.d,d);if(c==null){c=o9(a,b.Di(),e);jDc(a.d,d,c)}v8(a.c,c)}}function cab(a){if(a.k<=a.n)return;if(a.d>a.b&&a.d +0||!g&&h==0))return false;return true}function fE(a,b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=a.a[f].kg()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d",XWc),fLb(b))));return new Q5(a, +c,c)}function Jbb(a,b){var c,d;a.I=b;hcb(a,xfb(b.Tb));!a.i&&gcb(a,new ftb((c=a.I.L,d=new ctb(a),d.d=c,d),fbb));a.D=(qKb(),nKb);bcb(a);b.A||(b.ud=false);Kbb(a,b.xd)}function Olb(a,b,c,d,e){var f,g,h;h=d.d;g=W2(a.a,e,h);Vec(g,dec(d,(vhc(),_gc)));Oec(d.g,d,g);f=M8b(d,W2(a.a,e,h),(Plc(),Jlc));Mdc(b.c?b.c.i:null,f,c);return f}function jvb(a){vub();if(a.n==(Plc(),Gkc))switch(a.g.n.f){case 100:case 88:case 78:return true;case 96:return a.g.c==a;case 65:return kvb(a.g)}return false}function Rvb(a){vub(); +var b,c,d;if(a.n==(Plc(),jjc)){b=a.c;if(b.n==_jc||b.n==$jc){c=b.c?b.c.i:null;if(!!c&&c.n==qlc){d=c.Di();return OBc(d,SYc)}}}return false}function I0b(a){switch(a){case 9:case 11:case 12:case 32:case 160:case 65279:case 10:case 13:case 8232:case 8233:case 12288:return true;default:return false}}function Jbc(a,b,c,d){var e,f;e=y9b(a.a);if(e){f=new sbc;Hd(b.charCodeAt(0)!=32&&JBc(b,b.length-1)!=32,_0c);f.d=b;mbc(f,c,d,c,d+b.length);e.a=f;a.e=true}a.b=e}function kxc(a,b,c){var d,e,f,g;g=c.oj().uj();if(!g)return false; +f=g.c;for(e=f.Xd();e.Jd();){d=e.Kd();if(!!d.tj()&&lxc(a,b,d.tj()))return true}return false}function Noc(a){var b,c,d;if(a.A){b=a.Sj();if(!b||b._j()){a.A=false;for(d=a.Rj().Xd();d.Jd();){c=d.Kd();if(c.kj()){a.A=true;break}}}else a.A=b.kj()}return a.A}function kh(a,b){var c,d,e,f;f=a.$d();if(f31&&b<127?(d.a+=String.fromCharCode(b),d):sF(d,b)}return d.a}function Stb(a){var b,c,d;b=CFc(a.o);for(d=new HGc(a.n);d.a=d)return-1;e=(a.a[c]|0)&mUc<=d)return-1;e=a.a[c]|0}return c*31+bBc(e)}function oy(a,b){var c,d;d=a.a.b.b.$d();if(b== +null)for(c=0;c-1){a=a.substr(b+3); +c=RBc(a,jCc(47));c>-1&&(a=a.substr(c+1))}else OBc(a.substr(0,1),"/")&&(a=a.substr(1));return a}function zJb(a,b,c){var d,e,f;f=a.g.wi(c);qKb();if(OBc(c.substr(0,2),eYc)||OBc(c.substr(0,3),V$c)){e=b;d=e.lastIndexOf("/");f=fLb(e.substr(0,d+1)+(""+f))}return f}function jcc(a){if(!((a.a.a&nZc)==AZc||(a.a.a&nZc)==yVc||(a.a.a&nZc)==KZc)&&!pac(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=PYc;a.e=true;return true}else return false}function Ep(a){on();var b,c;if(!a.Jd())return gB(),fB;c=a.Kd();if(!a.Jd())return new UB(c); +b=new hOc;sMc(b,Pd(c));do sMc(b,Pd(a.Kd()));while(a.Jd());return Mp(b)}function QG(a,b){var c,d,e,f,g,h,i,j;i=a.h>>19;j=b.h>>19;if(i!=j)return j-i;e=a.h;h=b.h;if(e!=h)return e-h;d=a.m;g=b.m;if(d!=g)return d-g;c=a.l;f=b.l;return c-f}function DHb(a,b,c){var d,e;d=new Apb;a.b.ug(d);Oyb(new Ryb(a.b,true),null,c);if(c1(a.b.V)){Qwb(new Swb(a.b),b,c);if(a.b.V==1){e=new vxb(a.b);uxb(e,b,c)}}a.b.Sg(d)}function EZb(a){var b,c,d;d=Y_b(a.g,0).d.b;c=GYb(a);b=null;if(V$b(a,0,(V2b(),E1b))&&OBc(Y_b(a.g,0).a,"as")){KYb(a, +"as");b=GYb(a)}return new T3b(new w7b(d,a.f),c,b)}function Q8b(a,b,c,d){Ud(a.n==(Plc(),Jlc)||a.n==ykc||a.n==tjc||a.n==Fjc||b9b(a));Ud(b.n==Fjc||b9b(b));Ud(c.n==Fjc||b9b(c));Ud(d.n==gjc);return new sfc(Rjc,a,b,c,d)}function M8b(a,b,c){if(a.n==(Plc(),Gkc))Ud(!a.c);else{Ud(a.n==Nic||a.n==Ukc);a=new ofc(Bjc,a)}Zd(b9b(b),"%s can't be an expression",b);Odc(a,b);return new ofc(c,a)}function jwb(a,b){if(a.n==(Plc(),Ukc)||a.n==Nic){Pd(b);return ifc(N8b(ifc(new qfc(Bjc,a,b),a),Jlc),a)}else{Ud(a.n==Gkc&&!a.c); +!!b&&Odc(a,b);return ifc(N8b(a,Jlc),a)}}function Fpc(a,b){var c,d,e,f,g;c=bec(a.b);if(!!c&&(aec(c,(vhc(),ehc))!=0||aec(c,shc)!=0))return false;for(e=b,f=0,g=e.length;f= +65&a<=90|a>=97&a<=122|a>=48&a<=57|a==95|a==36;return D0b(a)||(Zzc==null&&(Zzc=new RegExp("\\d")),Zzc.test(String.fromCharCode(a)))}function D0b(a){if(a<=127)return a>=65&a<=90|a>=97&a<=122|a==95|a==36;return a==629||a==916||(_zc==null&&(_zc=new RegExp("[A-Z]","i")),_zc.test(String.fromCharCode(a)))}function cqc(a,b,c,d){!!c.vj()&&(c=qyc(c.vj(),Vtc(a.D,(ztc(),ytc))));ACc((d&&c.gj()&&!c.kj()&&!c.tj()&&!c.sj()&&!c.rj()&&!c.vj()&&!pmc(c)&&(b.a+="!",b),c.Mi(b,d)),"=")}function O0(b,c,d,e){N0();var f=L0; +$moduleName=c;$moduleBase=d;o0=e;function g(){for(var a=0;a=0;d--)if(OBc(a[d].d,b)||OBc(a[d].d,c)){a.length>=d+1&&a.splice(0,d+1);break}return a}function Kgb(){Fgb();var a;Ggb(this);a=($y(0),new wMc);this.f=a;this.d="";this.b=0;this.a=Jgb(this,Dgb);this.c=Jgb(this,Egb);cHc(this.a,null);cHc(this.c,null);Hgb(this)}function FQb(a,b){if(pPb(a.a,b.c.o)){(b.b.e== +(V2b(),y2b)||b.b.e==z2b)&&sPb(a.a,b,(dXb(),qWb));return wPb(a.a,iQb(b.b.e),PPb(a.a,b.a),PPb(a.a,b.c))}else return GQb(a,b)}function Ctc(a,b,c){var d,e,f,g;if(lH(c,49)&&c.Xj()!=null){g=rOc(a.f,b,new kuc);f=c;g.Me(f.Xj(),f)}else if(c.vj())for(e=oyc(c.vj()).Xd();e.Jd();){d=e.Kd();Ctc(a,b,d)}}function yg(a,b,c){var d,e,f;for(e=a.Je().Xd();e.Jd();){d=e.Kd();f=d.ff();if(rH(b)===rH(f)||b!=null&&vb(b,f)){if(c){d=new FEc(d.ff(),d.gf());e.Ld()}return d}}return null}function g4(a,b){var c,d,e;B4((Plc(),_jc), +b);d=Rlc(b.n);d!=-1&&(c=$dc(b),d!=c&&b5(CWc+d+DWc+c,b));c4(a,b.c);e=b.c?b.c.i:null;B4(qlc,e);C4(e)&&e.Di().length==0&&b5(LWc,e)}function zQb(a,b,c){a.a.a.d!=(POb(),NOb)&&a.a.e.gi("type syntax is only supported in ES6 typed mode: "+c,a.a.s,(fPb(),b.o.b.b+1),b.o.b.a);a.a.f=KVb(a.a.f,c);HPb(a.a,b.o)}function Kd(a,b,c){if(!a)throw q0(new zsb(pf("Must call rewindTo before calling getSourcePosition for an earlier line (%s < %s)",yG(tG(rZ,1),zUc,1,5,[fBc(b),fBc(c)]))));}function Iib(a){var b,c,d,e;b=eec(Vub(a)); +c=Pd((vub(),Mub(a,new wwb)));e=null;for(d=c.f;d;d=d.f){e=Hib(d,b);if(e)break}return Qd(e,"$jscomp.inherits() call not found.")}function wZb(a,b){var c,d,e,f;f=Y_b(a.g,0).d.b;c=e$b(a,b);if(W$b(a,(V2b(),o2b))){EYb(a,o2b);d=eZb(a,b);EYb(a,g1b);e=eZb(a,b);return new J3b(new w7b(f,a.f),c,d,e)}return c}function FZb(a){var b,c;b=(On(),new vs);EYb(a,(V2b(),_1b));while(c=Y_b(a.g,0).e,E1b==c||(jYb(),!!ep(MXb,c))){ts(b,EZb(a));W$b(a,d1b)||EYb(a,h1b)}EYb(a,d1b);return Wn(b.a)}function WZb(a){var b,c;b=(On(), +new vs);EYb(a,(V2b(),_1b));while(c=Y_b(a.g,0).e,E1b==c||(jYb(),!!ep(MXb,c))){ts(b,VZb(a));W$b(a,d1b)||EYb(a,h1b)}EYb(a,d1b);return Wn(b.a)}function xHc(a){var b,c,d,e;d=GHc(a.a);b=-2128831035^d;for(c=0;c<=d;c++){e=a.a[c]|0;b=b*F1c&-1^e&255;b=b*F1c&-1^e>>>8&255;b=b*F1c&-1^e>>>16&255;b=b*F1c&-1^e>>>24}return b}function Bg(a){var b,c,d;d=new sPc(vUc,"{","}");for(c=a.Je().Xd();c.Jd();){b=c.Kd();pPc(d,Cg(a,b.ff())+"="+Cg(a,b.gf()))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function Bob(a,b,c){var d, +e;d=Qob(E8b(yG(tG(CX,1),mWc,7,0,[])),c);for(e=b.c;e;e=e.f)e.n==(Plc(),ylc)&&(e.Ai()!=null?Odc(d,j3(a.a,e.Ai())):Odc(d,q3(a.a,_2(a.a))));return d}function yub(a){var b,c,d,e;c=a.c;e=new DCc;for(d=c;d;d=d.f){b=d.n==(Plc(),Pkc)||$vb(d)||d.n==Fjc?"":dvb(d);if(b==null)return null;d!=c&&(e.a+=",",e);e.a+=""+b}return e.a}function cAc(a,b){if(b<2||b>36)return-1;if(a>=48&&a<48+$wnd.Math.min(b,10))return a-48;if(a>=97&&a=65&&a=65&&b<=90&&(c[d]=(b^32)&qUc)}return rCc(c,0,c.length)}return a}function Wb(a){var b,c,d,e;e=a.length;for(d=0;d= +97&&b<=122&&(c[d]=(b^32)&qUc)}return rCc(c,0,c.length)}return a}function fo(a,b,c,d,e,f,g,h,i,j,k,l,m){On();var n;n=vG(rZ,zUc,1,12+m.length,5,1);Sn(n,yG(tG(rZ,1),zUc,1,5,[a,b,c,d,e,f,g,h,i,j,k,l]));ICc(m,n,12,m.length);return new _A(eo(n))}function Qu(a,b){Lu();var c,d;Pd(a);if(!b.Jd())return Pd(a),Ku==a?Ju:new iB(new OQc(a));c=new OQc(a);while(b.Jd()){d=b.Kd();Pd(d);c.a.Me(d,(Xzc(),Vzc))==null}return new iB(c)}function wbb(a){var b;if(!a.C||jv(hv(kv(new mHc(a.C.a),new usb))))throw q0(new RAc("No inputs")); +b=Lv(new kw(Pv(ov(hv(kv(new mHc(a.C.a),new usb)).a),new lv)));return xdb(b,a)}function kcb(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+a;c=new DF(d,b);!!b&&AD(c,(b.i==null&&(b.i=(eG(),e=dG.sg(b),gG(e))),b.i));throw q0(c);}function aqb(a,b,c){var d,e,f;b=(d=RBc(b,jCc(46)),d==-1?b:b.substr(0,d));f=u1(c,b);!f&&!!a.d&&(f=u1(a.d,b));if(!f){e=gDc(a.i,b);return!!e&&e.j?a.g:null}return f.d.b?f.d.d:a.g}function Scc(a){if((a.a.a&nZc)==AZc||(a.a.a&nZc)==yVc||(a.a.a&nZc)==KZc|| +pac(a.a)||(a.a.a&pZc)!=0||(a.a.a&NVc)!=0||(a.a.a&oZc)!=0)return false;a.a.a|=oZc;a.e=true;return true}function Qwc(a,b){var c,d;d=a.c.$d()-a.d.$d()-b.$d();Hd(d>=0,fBc(d));if(a.c.$d()-a.d.$d()==0)return a;c=new pGc;gGc(c,a.d);gGc(c,b);Zwc(a,a.c,c);return new _wc(a.a,a.c,Wn(c))}function r2(a,b){var c,d,e;if(b.n==(Plc(),qlc))return true;if(a.b.Hg().ud){e=b.d;if(e){d=Vtc(a.b.Mg(),(ztc(),qtc));c=new Lrc(false);if(gmc(e,d,0,c))return true}}return false}function znb(a,b){var c,d;c=Qob(Tmb(a.c.r.a,"$jscomp$generator$this"), +b.d);Oec(b.g,b,c);if(!a.c.s){d=ifc(M8b(ifc(c.zi(false),b),b,(Plc(),Jlc)),a.c.r.c);kmb(a.c.r,d);a.c.s=true}}function Uyb(a){var b;Vd(a.n==(Plc(),jjc),a);b=a.c;while(b.n==mjc)b=b.c;vub();b.n==_jc||b.n==$jc||Gec(a,(Ldc(),tdc),true);b.n==Gkc&&OBc("eval",b.Di())&&Gec(b,(Ldc(),odc),true)}function $Hb(a){VHb();this.g=new hOc;this.d=new vMc;this.b=a;this.e=a.Ag(new Lrb("",null,0,0,NHb,null,yG(tG(wZ,1),eWc,2,6,[])))==(p7(),m7);this.f=true;this.a=!!a.Hg()&&a.Hg().D}function KE(a){var b,c,d,e,f;ZE(new _E(a), +new aF);c=0;f=0;for(e=new HGc(a.e);e.a1&&b5("Expected at most 1 'default' in switch but was "+d,b)}function oqb(a, +b,c,d,e,f,g){var h;if(tqb(a,b,c,d,e,f,g))return;h=jqb(a,f,g);aec(d,(Ldc(),Bdc))!=0;e.n==(Plc(),Pic)&&e.g.n!=Pjc?eqb(a,h,d,(Zqb(),Xqb),b,c):dqb(a,h,d,(Zqb(),Xqb),b,c)}function ZGb(a,b,c,d){var e,f,g,h,i;h=lqc(c);g=kqc(c);e=Vn(mqc(c));for(f=0;fa.length||e+f>d.length)return false;if(f<=0)return true;g=a.substr(c,f);h=d.substr(e,f);return b?PBc(g,h):OBc(g,h)}function V4(a,b){var c,d,e;d4(a,(dXb(),ZWb),b);B4((Plc(),xlc),b);for(c=b.c;c;c=c.f)c.n== +ylc?W4(c):(B4(zlc,c),d=Rlc(c.n),d!=-1&&(e=$dc(c),d!=e&&b5(CWc+d+DWc+e,c)),c4(a,c.c),undefined)}function Hib(a,b){var c,d,e;if(a.n!=(Plc(),Pjc))return null;c=a.c;if(c.n!=jjc)return null;e=c.c;if(!Fec(e,RXc,RXc.length))return null;d=Pd(e.f);return Fec(d,b,b.length)?Pd(d.f):null}function Nlb(a,b,c,d,e,f){Hd((vub(),f.n!=(Plc(),Ekc)&&Xvb(f.g)),f);switch(c.n.f){case 93:Llb(a,b,c,d,e,f);break;case 94:Mlb(a,b,c,d,e,f);break;default:throw q0(new RAc("unexpected"));}}function lub(b,c,d){var e,f;try{e=c.g;Pd(e); +Ztb(b,e);b.e=e;_tb(b,e);gub(b,c,e);Ud(d.g==e);gub(b,d,e);$tb(b,false)}catch(a){a=p0(a);if(lH(a,81)||lH(a,40)){f=a;eub(b,f)}else throw q0(a);}}function nvb(a,b){vub();var c;c=b.g;if(c.n==(Plc(),_jc)&&b==(c.c?c.c.i:null))return a.nh(b.Di());else if(dwb(b))return a.nh(b.Di());else if(b.n==Gkc)return a.mh(b.Di());return false}function pvb(a){vub();switch(a.n.f){case 72:case 73:case 101:case 102:case 71:case 70:case 77:case 66:case 83:case 44:case 78:case 67:case 68:case 69:return true;default:return false}} +function sBb(a,b,c){var d,e,f,g,h;h=b.c;while(!!h&&h!=c){g=h.f;vub();if(h.n==(Plc(),Pjc)&&h.c.n==jjc){d=h.c;e=d.c;if(Fec(e,C$c,C$c.length)){f=XVb(e.f.f.f.Di());rBb(a,f)&&pwb(b,h)}}h=g}}function uKb(a,b,c,d,e){qKb();Pd(a);Pd(b);Pd(d);Pd(e);this.f=d;this.e=e;this.a=new HKb;this.d=vKb(a,e);this.b=xKb(kv(kv(b,new yKb),d),this.d,e);this.c=c.ui(this.b,this.d,this.a,this.e)}function TZb(a){var b,c,d,e;e=Y_b(a.g,0).d.b;EYb(a,(V2b(),F1b));EYb(a,a2b);b=TYb(a,1);EYb(a,e1b);d=E$b(a);c=null;if(W$b(a,q1b)){EYb(a, +q1b);c=E$b(a)}return new x4b(new w7b(e,a.f),b,d,c)}function NZb(a){var b,c,d;d=Y_b(a.g,0).d.b;EYb(a,(jYb(),EXb).b);c=!!IYb(a,(V2b(),w2b));b=h4b(new l4b((q4b(),n4b)),FYb(a));OZb(a,b,c?(K_b(),I_b):(K_b(),J_b));return a4b(b,new w7b(d,a.f))}function jCc(a){var b,c;if(a>=CVc){b=55296+(a-CVc>>10&EVc)&qUc;c=56320+(a-CVc&EVc)&qUc;return String.fromCharCode(b)+(""+String.fromCharCode(c))}else return String.fromCharCode(a&qUc)}function elb(a,b,c){var d,e;d=aec(b,(vhc(),nhc))!=0?Vdc(c.g,false):Vdc(c.d,false); +Bec(d);if(b.n==(Plc(),sjc))return lfc(L2(a.a,d,Lec(b)),b);else{e=b.c.c;return jfc(M2(a.a,d,b.Di()),e)}}function cpb(a,b,c){var d;if(b.n==(Plc(),Pic)){d=b.c;switch(d.n.f){case 29:return true;case 26:return!bpb(a,d.c,c);case 27:return!bpb(a,d.c,c)&&!bpb(a,d.c?d.c.i:null,c)}}return false}function lvb(a){vub();if(!(a.n==(Plc(),jjc)&&!!a.c&&!!a.c.f&&a.c.f==(a.c?a.c.i:null)&&Eec(a.c,j$c)))return false;return!!a.g&&a.g.n==Pjc&&!!(!a.g?null:a.g.g)&&(!a.g?null:a.g.g).n==llc}function Lxb(a,b,c){this.e=new Ozb; +this.g=new LFc;this.A=new pGc;Hd(c!=(Yfb(),Vfb),"PerformanceTracker can't work without tracer data.");this.J=w0(Date.now());this.o=a;this.v=b;this.F=c}function jKb(a,b){var c;if(hDc(a.b,b))return gDc(a.b,b);return ANc(a.e,(eLb(),hLb((c=YBc(YBc(YBc(YBc(YBc(XBc(XBc(b,58,45),92,47)," ",TWc),"[",UWc),"]",VWc),"<",WWc),">",XWc),fLb(c)))))}function vUb(a,b,c){var d;for(d=0;d0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.xf(c.d,f.d)>0?1:0}f.a[e]=d;d.b=c.b;d.a[0]=c.a[0];d.a[1]=c.a[1];c.a[0]=null;c.a[1]=null}function Rc(a){var b,c,d;d=new sPc(vUc,"[","]");for(c=a.Xd();c.Jd();){b=c.Kd();pPc(d,rH(b)===rH(a)?"(this Collection)":b==null?wUc:X0(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function LSb(a,b){var c;if(b==(ATb(),pTb)){SSb(a);c=KSb(a,!a.o?HTb(a.j):ZRb(a));if(c){SSb(a); +gSb(a,vTb)?!a.o?HTb(a.j):ZRb(a):(VRb(a,F_c,a.j.g,GTb(a.j)),null)}return c}else return KSb(a,b)}function Sbb(a){var b,c;b=new ZDb;if(YQc(a.v,b.a))throw q0(new zsb("Conflicting externs name: {SyntheticVarsDeclar}"));c=new Gdb(b,true);acb(a,c.i,c);Pdc(a.p,Pd(b.b));eGc(a.n,0,c);return c}function Hxb(a,b){var c,d,e;e=Bub(a.v);b.b=a.c-e;a.c=b.c=e;if(!(a.F==(Yfb(),Wfb)||a.F==Tfb))return;c=byb((d=a.v,a.F==Tfb,d));e=c.b;b.e=a.f-e;a.f=b.o=e;if(a.F==Tfb){e=0;b.f=a.p-e;a.p=b.g=e}}function g$b(a,b,c,d,e,f){var g; +g=e4b(j4b(d4b(g4b(b4b(i4b(f4b(k4b(h4b(new l4b((q4b(),p4b)),c),d),e),false),f),PYb(a)),LZb(a,1)),OYb(a)),new Q3b(new w7b(b,a.f)));return a4b(g,new w7b(b,a.f))}function lqc(a){var b,c,d,e,f;b=0;c=0;for(e=(f=a.b.a,f?!f.c?(LHc(),LHc(),KHc):new yhc(f.c):(LHc(),LHc(),KHc)).Xd();e.Jd();){d=e.Kd();++b;aec(d,(vhc(),ehc))==0&&aec(d,shc)==0&&(c=b)}return c}function QGc(a,b){var c;if(rH(a)===rH(b))return true;if(a==null||b==null)return false;if(a.length!=b.length)return false;for(c=0;ca.f.b,b||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b)?JYb(a):EYb(a,h1b))}return Wn(c.a)}function pcb(a){var b,c;c=(a.I.pd!=(Yfb(),Vfb)&&!!a.Q&&Jxb(a.Q,_Xc,true),new nEb);try{!a.K&&(a.K=new RLb(a.a));LHc();aIc()}finally{b=F0(w0(Date.now()),c.a);a.I.pd!=Vfb&&!!a.Q&&Kxb(a.Q,_Xc,b)}}function ogb(a,b){var c,d, +e,f,g;for(f=(d=(new fFc(a.c.a)).a.Je().b.yk(),new nFc(d));f.a.Jd();){e=(c=f.a.Kd(),c.ff());g=e.ci(b);if(g){if(a.a&&g==(p7(),m7))return p7(),o7;return g}}return null}function opb(a,b){var c,d;for(c=b.e;c;c=c.g)if(c.n==(Plc(),llc))return c;if(b.f==null)return null;d=zbb(a.b,b.f);if(d){if(d.n!=(Plc(),llc))return null;Vd(d.n==llc,d);return d}return null}function VTb(){var a;if(QTb)return;a=BOc(R_c);QTb=UTb(zOc(a,"jsdoc.annotations"));STb=UTb(zOc(a,"jsdoc.suppressions"));RTb=UTb(zOc(a,"jsdoc.primitives")); +UTb(zOc(a,"compiler.reserved.vars"))}function Lbb(a,b){var c,d,e,f,g;e=b.d;f=e.a.length;if(f==0)return"";c=new _cb;for(d=0;d=a.a.length)return yHc(a)-1;d=(a.a[c]|0)&mUc>>>31-b%31-1;while(d==0){if(--c<0)return-1;d=a.a[c]|0}return c*31+(32-aBc(d))-1}function PRc(a,b){var c,d,e,f,g,h,i;for(d=TRc(a),f=0,h=d.length;f0,VUc,c);d=a.a.Le(b);if(!d){g=0;a.a.Me(b,new jm(c))}else{g=d.a;f=r0(g,c);Ld(s0(f,mUc)<=0,f);d.a+=c}a.b=r0(a.b,c);return g}function gp(a){var b,c,d,e,f,g,h;b=new ENc;for(d=a,e=0,f=d.length;e>22-b;e=a.h<>22-b}else if(b<44){c=0;d=a.l<>44-b}else{c=0;d=0;e=a.l<=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++0)by(this)}this.b=b;this.a=null}function WG(a,b){var c,d,e,f;b&=63;c=a.h&LVc;if(b<22){f=c>>>b;e=a.m>>b|c<<22-b;d=a.l>>b|a.m<<22-b}else if(b<44){f=0;e=c>>>b-22;d=a.m>>b-22|a.h<<44- +b}else{f=0;e=0;d=c>>>b-44}return DG(d&KVc,e&KVc,f&LVc)}function I2(a,b){var c,d;d=(vub(),R8b((Zd(RBc("",jCc(46))==-1,kWc,""),Ldc(),new Lhc((Plc(),Gkc),"")),j9b(yG(tG(CX,1),mWc,7,0,[])),(c=new mfc(gjc),c)));if(a.b){Pd(b);Hd(!!b.rj(),b);Wec(d,Pd(b))}return d}function dob(a,b,c,d){var e,f,g,h;for(f=Tdc(c.c).Xd();f.Jd();){e=f.Kd();g=e.c.Di();h=u1(Stb(b),g);if(!!h&&Fvb(h.c)){g=Xnb(a,Stb(b),e.c);Pd(g)}BPc(a.b,(e.c?e.c.i:null).Di(),new Qnb(g,e))}Jec(d,c);cub(b)}function job(){job=T0;hob=new $hb("BAD_REST_PARAMETER_ANNOTATION", +(p7(),o7),new aDc('Missing "..." in type annotation for rest parameter.'));iob=NVb((DVb(),mVb),yG(tG(mU,1),FUc,25,0,[(dXb(),UWb),WWb]))}function Qub(a,b){vub();var c,d;Ud(a.n==(Plc(),Tkc));for(d=(!a.c?(LHc(),LHc(),KHc):new yhc(a.c)).Xd();d.Jd();){c=d.Kd();if(c.n==sjc&&c.c.Ei(b,false,true,false,false))return c.c?c.c.i:null}return null}function T7b(a,b){var c,d;d=a.b.n;d=0==d?1:d;j8b(a.b,d);c=NAc(a.a);if(c==0){--d;j8b(a.b,d);M7b(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d; +j8b(a.b,d);L7b(a,b);return}M7b(a,b)}function qx(a,b){var c;b.d?b.d.b=b.b:a.a=b.b;b.b?b.b.d=b.d:a.e=b.d;if(!b.e&&!b.c){c=kDc(a.b,b.a);c.a=0;++a.c}else{c=fDc(a.b,b.a);--c.a;!b.e?c.b=b.c:b.e.c=b.c;!b.c?c.c=b.e:b.c.e=b.e}--a.d}function Q2(a,b,c){var d,e,f;f=e3(a,c,Pe(We(),"$jscomp.makeAsyncIterator"));if(!!a.b&&!f.d.kj()){d=Qsb(Psb(b.d,a.b),a.c);e=f.d;Wec(f,C3(a,e,(On(),new RB(Pd(d)))))}return B2(a,f,yG(tG(CX,1),mWc,7,0,[b]))}function V_b(a){var b;b=(Y_b(a,0),kGc(a.d,0));(!S_b(a,a.f)||b.e!=(V2b(),d1b))&& +Z_b(a,R_b(a,a.f),"Expected '}' after expression in template literal",yG(tG(rZ,1),zUc,1,5,[]));return W_b(a,(V2b(),G2b),F2b)}function uoc(a,b){var c,d,e;cmc();if(b==a.b)return Coc(),Boc;for(d=(jsc(new Lyc,b.a)&&syc(b,fzc(dzc(new izc(b),b.a))),b.a).Xd();d.Jd();){c=d.Kd();e=c.wj(a);if(e!=(Coc(),zoc))return e}return Coc(),zoc}function OMc(a,b,c){var d,e,f,g;g=b==null?0:a.b.vk(b);e=(d=a.a.get(g),d==null?new Array:d);if(e.length==0)a.a.set(g,e);else{f=LMc(a,b,e);if(f)return f.hf(c)}e[e.length]=new FEc(b, +c);++a.c;return null}function Qvb(a){vub();var b;Hd(a.n==(Plc(),Gkc),a);b=a.g;if(b.n==hkc&&b==a.g&&!(a==a.g.c?null:a.i))return true;else if(b.n==Njc)return!(b==a.g&&!(a==a.g.c?null:a.i))||xvb(!b.g?null:b.g.g);return false}function axb(a,b){var c,d,e,f;if(b.c.n==(Plc(),Gkc)){e=b.c;dfc(b,Zub(b));f=b.g;d=new mfc(Fjc);Oec(f,b,d);c=ifc(G8b(ifc(e.zi(false),e),b),b);Vec(c,dec(b,(vhc(),_gc)));Iec(b,_gc,null);Oec(f,d,c);a.b.Vg(c)}}function nLb(a,b,c){var d,e,f,g,h,i,j;for(f=jLb,g=0,h=f.length;gc)return Ed(a,c,"start index");if(b<0||b>c)return Ed(b,c,"end index");return pf("end index (%s) must not be less than start index (%s)",yG(tG(rZ,1), +zUc,1,5,[fBc(b),fBc(a)]))}function p4(a,b,c){switch(c.n.f){case 29:u4(c);break;case 93:L3(a,b,c);break;case 94:H4(a,b,c);break;case 26:case 27:h4(a,b,c);break;case 92:p4(a,b,(Ud(!!c.c&&!c.c.f),c.c));break;default:b5(EWc+b+FWc,c)}}function OPb(a){var b;switch(a.p.f){case 6:case 20:case 68:case 78:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=aQb(a);if(b.p==(O6b(),n6b))return false;return true;default:return true}}function ITb(a){var b,c;for(;;){b=ETb(a);switch(b){case 42:if((c=ETb(a), +a.q[a.r++]=c,--a.b,c)!=47){DTb(a,b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=rCc(a.o,0,a.p);a.p=0;return a.n;default:DTb(a,b)}}}function Xvc(a,b){var c,d,e,f,g,h,i;for(e=a;e;e=Zvc(e)){i=e.b.Le(b);if(i)return new Svc(i)}for(d=a;d;d=Zvc(d))for(g=$vc(d).Xd();g.Jd();){f=g.Kd();h=f.Vj();if(h){c=Xvc(h,b);if(c)return c}}return null}function V3(a,b){var c,d,e,f;e=Rlc(b.n);e!=-1&&(d=$dc(b),e!=d&&b5(CWc+e+DWc+d,b));c=b.n;f=b.c;switch(f.n.f){case 29:u4(f);break;case 26:case 27:h4(a,c,f);break;default:b5(EWc+ +c+FWc,f)}c4(a,b.c?b.c.i:null)}function Pmb(a,b,c,d){var e,f;Fmb(a,b,c);e=new pGc;if(!b){f="setFinallyBlock";fGc(e,qnb(c,d))}else{f="setCatchFinallyBlocks";fGc(e,qnb(b,d));!!c&&fGc(e,qnb(c,d))}inb(a,Hmb(a,d,f,oGc(e,vG(CX,mWc,7,0,0,1))))}function oBb(){oBb=T0;nBb=new $hb("JSC_INSUFFICIENT_OUTPUT_VERSION",(p7(),n7),new aDc("Built-in ''{0}'' not supported in output version {1}"));mBb=(on(),Gp(yG(tG(rZ,1),zUc,1,5,["goog.global.","window."])))}function vRb(a,b){var c,d,e,f;sPb(a.a,b,(dXb(),ZWb));f=uPb(a.a, +(Plc(),xlc));vfc(f.k)==-1&&MPb(f,b.o.b,b.o.a);e=!b.b?f:wPb(a.a,wlc,PPb(a.a,b.b),f);for(d=b.a.Xd();d.Jd();){c=d.Kd();Odc(f,PPb(a.a,c))}return e}function Koc(a,b){var c;c=a.Yj(b);if(!c){if(a.bj()||a.Yi())return jmc(a,(ztc(),ysc));else if(a.cj()||a.aj()||a.bj()||a==Vtc(a.D,(ztc(),Usc)))return jmc(a,(ztc(),Xsc));return jmc(a,(ztc(),xtc))}return c.e}function nyc(a,b,c,d){var e,f,g;g=(jsc(new Lyc,b.a)&&syc(b,fzc(dzc(new izc(b),b.a))),b.a);if(c==0&&a.a.$d()!=g.$d())return false;for(e=0;e=0;d--){i=iGc(a.b,d);for(e=i.$d()- +1;e>=0;e--){f=i.ee(e);if(b!=f&&wHc(a.c[b.c],f.c)&&c!=f&&wHc(a.c[c.c],f.c))return f}}return null}function fPb(){fPb=T0;ePb=(on(),new UB(nXc));bPb=ePb;cPb=Kp(AXc,IYc,NXc,vXc,BXc,yXc,yG(tG(wZ,1),eWc,2,6,[XVc]));dPb=Kp(AXc,IYc,NXc,vXc,BXc,yXc,yG(tG(wZ,1),eWc,2,6,[XVc,CXc,MXc,"let",m_c,n_c,o_c,p_c,r_c,FXc]))}function zTc(a,b,c,d,e,f){var g,h,i,j,k;if(a===c){a=a.slice(b,b+e);b=0}i=c;for(h=b,j=b+e;h=0,fBc(e));if(a.c.$d()-a.d.$d()==0&&b.Wd())return a;d=Wn(us(us((On(),new vs),a.c),b).a);f=new pGc;gGc(f,a.d);Zwc(a,a.c,f);gGc(f,c);return new _wc(a.a,d,Wn(f))}function hxc(a,b){var c,d,e,f,g;e=false; +g=new pGc;for(d=(jsc(new Lyc,b.a)&&syc(b,fzc(dzc(new izc(b),b.a))),b.a).Xd();d.Jd();){c=d.Kd();f=c.wj(a);f!=c&&(e=true);g.a[g.a.length]=f}if(e)return Qtc(a.c,g);return b}function aHc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){ZGc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);aHc(b,a,i,j,-e,f);aHc(b,a,j,h,-e,f);if(f.xf(a[j-1],a[j])<=0){while(c=0){g=b.substr(0,d);f=jqb(a,g,c);e=wqb(f,b.substr(d+1));jDc(a.c.i,b,e)}else{e=new Eqb(a.c,b,null);fGc(a.c.f,e);jDc(a.c.i,b,e)}}return e} +function zUb(a,b){if(!cUb(a,b,(gVb(),dVb)))return false;if((Md(b.n==(Plc(),jjc),S_c,b),Zdc(b,1)).n!=qlc){a.a.gi(B_c+vic(T_c,yG(tG(rZ,1),zUc,1,5,["name"])),a.b.ah(),a.d,a.c);HUb(a,dVb.d);return false}return true}function Ed(a,b,c){if(a<0)return pf(CUc,yG(tG(rZ,1),zUc,1,5,[c,fBc(a)]));else if(b<0)throw q0(new zsb(EUc+b));else return pf("%s (%s) must not be greater than size (%s)",yG(tG(rZ,1),zUc,1,5,[c,fBc(a),fBc(b)]))}function rRb(a,b){var c,d,e,f,g;f=b.a;d=qRb(a,f);g=d.Di();if(RBc(g,jCc(11))!=-1){e= +f.d.b.c;c=f.d.a.c;ea.a.tk())return;c=(d=a.a.tk(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");HTc(c,a.b);!!a.c&&ITc(b,c,a.c,"Exception: ",true)}function H2(a,b){var c,d;c=null;if(a.b)if(b.kj())c=Ftc(a.b,C3(a,x3(a,(ztc(),Esc)),(On(),new RB(Pd(a.c)))),yG(tG(iY,1),zUc,23,0,[]));else{d=Mv(new HGc(mqc(b.rj())));c=Ftc(a.b,d,yG(tG(iY,1),zUc,23,0,[]))}return J2(a,c)}function DSb(a){SSb(a);if(!gSb(a,(ATb(),hTb)))return iSb(a,(Plc(),Fjc)); +!a.o?HTb(a.j):ZRb(a);SSb(a);if(gSb(a,zTb)&&OBc(LXc,a.j.n)){!a.o?HTb(a.j):ZRb(a);return iSb(a,(Plc(),Klc))}else return HSb(a,!a.o?HTb(a.j):ZRb(a))}function FYb(a){var b,c;c=Y_b(a.g,0).e;if((V2b(),E1b)==c||a.b.d&&qYb(c)||!a.b.c&&pYb(c))return GYb(a);else{l_b(a,Y_b(a.g,0),B0c,yG(tG(rZ,1),zUc,1,5,[E1b]));return b=Y_b(a.g,0).e,E1b==b||(jYb(),!!ep(MXb,b))?GYb(a):null}}function ZYb(a){var b;b=(On(),new vs);while(V$b(a,0,(V2b(),Q2b))||V$b(a,0,O1b)||V$b(a,0,i1b)||V$b(a,0,C1b)||V$b(a,0,b1b)||V$b(a,0,K1b)|| +V$b(a,0,s1b)||V$b(a,0,S1b)||V$b(a,0,T1b)||V$b(a,0,x1b))ts(b,YYb(a));return Wn(b.a)}function TCc(){TCc=T0;SCc=new UCc("UP",0);MCc=new UCc("DOWN",1);LCc=new UCc("CEILING",2);NCc=new UCc("FLOOR",3);QCc=new UCc("HALF_UP",4);OCc=new UCc("HALF_DOWN",5);PCc=new UCc("HALF_EVEN",6);RCc=new UCc("UNNECESSARY",7)}function Wf(a,b,c){var d;d=a.c.Le(b);if(!d){d=a.Be(b);if(d.Qd(c)){++a.d;a.c.Me(b,d);return true}else throw q0(new Uzc("New Collection violated the Collection spec"));}else if(d.Qd(c)){++a.d;return true}else return false} +function Cu(a,b){wu();var c,d,e,f;d=Pd(b.ff());f=Pd(b.gf());c=d;if(vPc(a,c)){e=(new aFc(new lQc(a,(zQc(),yQc),d))).b.yk().Kd();throw q0(new zsb("Duplicate keys in mappings "+e.ff()+"="+e.gf()+" and "+d+"="+f));}BPc(a,d,f)}function rmb(a,b,c,d){var e,f,g;g=new tnb(a.a);c=Xmb(a.a,c);d=Xmb(a.a,d);gnb(a.a,g);e=Lec(b);anb(a.a,c,d);xmb(a,e,null,null);Zmb(a.a);gnb(a.a,d);f=omb(a,nmb(a,Lec(b)));inb(a.a,ifc(W8b(f,Kmb(a.a,g,false,b)),b));gnb(a.a,c)}function iHc(a){var b,c,d,e,f;if(a==null)return wUc;f=new sPc(vUc, +"[","]");for(c=a,d=0,e=c.length;da.f.b;if(b||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b))return;o_b(a,"Semi-colon expected", +yG(tG(rZ,1),zUc,1,5,[]))}function q8b(a){if(a.indexOf(":")!=-1||a.indexOf("=")!=-1){if(RBc(a,jCc(58))==-1)return RBc(a,jCc(61));if(RBc(a,jCc(61))==-1)return RBc(a,jCc(58));return $wnd.Math.min(RBc(a,jCc(61)),RBc(a,jCc(58)))}return RBc(a,jCc(32))}function Fbb(a){var b,c,d;d=false;a.I.cc>1&&(new Lyb,hv(kv(new mHc(a.C.a),new usb)));for(c=Vn(hv(kv(new mHc(a.C.a),new usb))).Xd();c.Jd();){b=c.Kd();if(ydb(b).b){Vrb(b.k,b);d=true}}d&&(obb(a,a.C?new mHc(a.C.a):null),Hbb(a))}function Hlb(a,b,c){var d;switch(c.n.f){case 91:d= +c.Fi()?L2(a.a,b,j3(a.a,c.Di())):M2(a.a,b,c.Di());break;case 29:d=L2(a.a,b,c);break;default:throw q0(new RAc("Unexpected property to delete node: "+hfc(c)));}return G2(a.a,d)}function gRb(a,b){var c;if(!b)return zPb(a.a,(Plc(),Gkc),y_c);else if(b.e==(V2b(),E1b))c=bRb(a,b,true);else if(b.e==Z1b){c=SPb(a.a,b);Hec(c,(Ldc(),Gdc),1)}else{c=qRb(a,b);Hec(c,(Ldc(),Gdc),1)}Ud(c.n==(Plc(),qlc));return c}function DA(a,b){var c,d,e;if(b===a)return true;if(lH(b,164)){e=b;if(a.$d()!=e.$d()||a.Je().$d()!=e.Je().$d())return false; +for(d=e.Je().Xd();d.Jd();){c=d.Kd();if(a.Ve(c.df())!=c.cf())return false}return true}return false}function M4(a,b,c){var d,e;switch(c.n.f){case 114:case 115:break;default:b5(NWc,c);return}e=Rlc(c.n);e!=-1&&(d=$dc(c),e!=d&&b5(CWc+e+DWc+d,c));p4(a,b,c.c);!!c.f&&b5("Rest parameters must come after all other parameters.",c)}function Igb(a){var b,c,d;do{c=a.d;b=a.b;if(c.length==0){d=b%a.a.length;c=String.fromCharCode(a.a[d].a);b=b/a.a.length|0}while(b>0){--b;d=b%a.c.length;c+=jH(a.c[d].a);b=b/a.c.length| +0}++a.b}while(Tlc(c)||tMc(a.f,c));return c}function pBb(a,b){var c,d,e,f,g,h,i;i=new GBb(a);nub(a.a,b,i);if(i.a.a.$d()!=0){d=null;for(f=(g=(new dEc(i.a.a)).a.Je().Xd(),new jEc(g));f.a.Jd();){e=(c=f.a.Kd(),c.ff());d=a.a.wg(e,false)}if(d){h=d.g;sBb(a,h,d.f);a.a.Vg(h)}}}function YQb(a,b){var c,d,e;sPb(a.a,b,(dXb(),FWb));c=HRb(a,b.a,b);if(!b.d){d=GRb(a,(Plc(),ikc),b.b);vfc(d.k)==-1&&MPb(d,b.o.b,b.o.a)}else{d=zPb(a.a,(Plc(),jkc),b.d.a);KPb(d,b.d)}e=qRb(a,b.c);return xPb(a.a,(Plc(),fkc),c,d,e)}function VZb(a){var b, +c,d;d=Y_b(a.g,0).d.b;c=GYb(a);b=null;if(V$b(a,0,(V2b(),E1b))&&OBc(Y_b(a.g,0).a,"as")){KYb(a,"as");b=FYb(a)}else MYb(a,c.a)&&l_b(a,null,B0c,yG(tG(rZ,1),zUc,1,5,["as"]));return new A4b(new w7b(d,a.f),c,b)}function f4(a,b){b.n==(Plc(),Vjc)&&aec(b,(vhc(),ugc))!=0&&d4(a,(dXb(),aWb),b);aec(b,(vhc(),Ngc))!=0&&d4(a,(dXb(),uWb),b);b.n==Vjc&&aec(b,vgc)!=0&&d4(a,(dXb(),bWb),b);b.n==Vjc&&aec(b,vgc)!=0&&aec(b,Ngc)!=0&&d4(a,(dXb(),cWb),b)}function yqb(a,b,c,d,e,f){var g,h;Hd(e==(Zqb(),Wqb)||e==Xqb,e);h=new Pqb(b, +Pd(c),Pd(d),a,e,f);g=zqb(a,b,c,d,Rqb,f+1);h.f=g;g.f=h;iDc(a.r,d,(On(),new _A(eo(yG(tG(rZ,1),zUc,1,5,[h,g])))));sMc(a.q,h);Dqb(a,h);sMc(a.q,g);Dqb(a,g)}function Myb(a,b){var c,d,e;if(pvb(b)&&b.n!=(Plc(),tkc)&&b.n!=(Plc(),vlc))for(d=b.c;d;d=d.f)if(qvb(b,d)&&d.n!=(Plc(),gjc)){e=ifc((c=new mfc((Plc(),gjc)),c),b);Oec(b,d,e);Hec(e,(vhc(),tgc),1);d.n==Fjc||Sdc(e,d);d=e;Pyb(a)}}function ROb(a){POb();var b,c,d,e;for(c=yG(tG(YT,1),FUc,107,0,[FOb,GOb,HOb,IOb,JOb,KOb,LOb,MOb,OOb,NOb]),d=0,e=c.length;d>16);b=d>>16&16; +c=16-b;a=a>>b;d=a-256;b=d>>16&8;c+=b;a<<=b;d=a-4096;b=d>>16&4;c+=b;a<<=b;d=a-YUc;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}function Tdb(a,b,c){var d,e;Gd(b.n==(Plc(),qlc));Gd(c.n==Mjc||c.n==fkc);e=b.Di();if(OBc(e.substr(0,5),"goog:")){fGc(a.d,UIb(e.substr(5)));return}d=DKb(a.b,e,a.b.a,vfc(b.k),ufc(b.k));!d&&(d=EKb(a.b,e));fGc(a.d,TIb(hLb(d.a),b.Di()))}function Bmb(a,b){var c,d;Hec(b,(vhc(),Vgc),0);c=b.zi(false);while(b.c){while(!!(d=Lec(b))&&aec(d,Vgc)==0)Odc(c,d);if(c.c){Amb(a,c);c= +b.zi(false)}if(d){Ud(aec(d,Vgc)!=0);Pdc(d,nmb(a,Lec(d)));Hec(d,Vgc,0);Odc(c,d)}}!!c.c&&Amb(a,c)}function XYb(a){var b,c,d,e;e=Y_b(a.g,0).d.b;EYb(a,(jYb(),EXb).b);c=!!IYb(a,(V2b(),w2b));d=FYb(a);return b=e4b(j4b(d4b(g4b(f4b(h4b(new l4b((q4b(),n4b)),d),c),PYb(a)),LZb(a,1)),OYb(a)),new Q3b(new w7b(e,a.f))),a4b(b,new w7b(e,a.f))}function J3(a,b){switch(b.n.f){case 76:case 100:case 88:w4(a,b.n,b);break;case 65:e4(a,b,true);break;case 96:R3(a,b,true),u4(b.c);break;case 156:Z3(b);break;case 164:x4(a,b,true); +break;case 159:Y4(a,b);break;case 109:_3(a,b,true)}}function Gmb(a,b,c,d){var e,f;f=ifc(Qob(T8b(ifc(Qob(e9b(sZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),ifc((Ldc(),new Lhc((Plc(),qlc),c)),b)),a.r.f.g?a.g.Wj(c):null),b);e=ifc(K8b(f,d),b);a.r.f.g&&Wec(e,f.d.rj()?f.d.rj().b.b:a.r.f.i);return e}function TYb(a,b){var c,d,e;e=Y_b(a.g,0).d.b;d=eZb(a,b);if(W$b(a,(V2b(),h1b))&&!V$b(a,1,p1b)){c=(On(),new vs);fGc(c.a,Pd(d));while(W$b(a,h1b)&&!V$b(a,1,p1b)){EYb(a,h1b);ts(c,eZb(a,b))}return new r3b(new w7b(e,a.f),Wn(c.a))}return d} +function ofc(a,b){Ldc();Hd(!b.g,"new child has existing parent");Hd(!b.f,"new child has existing next sibling");Hd(!b.i,"new child has existing previous sibling");this.n=a;this.g=null;this.c=b;b.f=null;b.i=this.c;b.g=this;this.k=-1}function Gib(a,b,c,d){var e,f,g;Hd(wec(b),b);Hd(c.n==(Plc(),jjc),c);e=Lec(c);g=jfc(M2(a.a,Vdc(b,false),SYc),e);f=ifc(B2(a.a,g,yG(tG(CX,1),mWc,7,0,[])),c);Odc(f,ifc(m3(a.a,d),e));Hec(f,(Ldc(),tdc),0);while(c.c)Odc(f,Lec(c));return f}function Urb(a){var b,c,d,e,f,g,h;b=(LHc(), +new sIc(new GMc));Mc(b,a.a);h=new NFc(a.a);while(h.b!=h.c){f=(e=EFc(h),e);g=f.a;for(d=new HGc(g);d.a0||(a.a.a&nZc)==nVc||iac(a.a)||U9b(a.a)>0||jac(a.a)||!!a.a.g||(a.a.a&nZc)==AZc||(a.a.a&nZc)==yVc||(a.a.a&nZc)==KZc)return false;else{Gac(a.a,b);a.e=true;return true}}function jmb(a,b){var c,d,e;Ud(aec(b,(vhc(),Vgc))!=0);if(b.n==(Plc(),Olc))return b;e=b9b(b);c=I8b(e?(Ud(b9b(b)),new ofc(ilc,b)):b);nub(a.f.b, +b,new Gnb(a.f));nub(a.f.b,c,new Inb);d=Xdc(c.c?c.c.i:null);xmb(a,c,null,null);return e?Lec(d):d}function Mvb(a){vub();var b;if(a.n==(Plc(),Vjc)){b=a.g;switch(b.n.f){case 86:case 87:case 98:return true;case 118:return(b.c?b.c.i:null)==a&&(aec(b,(Ldc(),kdc))!=0||aec(b,jdc)!=0||aec(b,ldc)!=0);default:return false}}else return false}function Dec(a,b){var c;if(b.n!=a.n)return false;switch(a.n.f){case 29:c=a.Di();return c!=""&&c==b.Di();case 33:case 99:return true;case 26:return(a.c?a.c.i:null).Di()==(b.c? +b.c.i:null).Di()&&Dec(a.c,b.c);case 98:default:return false}}function Vw(a,b){var c,d,e,f;f=I0(B0(iVc,cBc(I0(B0(b==null?0:zb(b),jVc)),15)));c=f&a.b.length-1;e=null;for(d=a.b[c];d;e=d,d=d.a)if(d.d==f&&Cd(d.i,b)){!e?a.b[c]=d.a:e.a=d.a;Pw(d.c,d.f);Ow(d.b,d.e);--a.f;++a.e;return true}return false}function X4(a,b){var c,d,e;B4((Plc(),Dlc),b);d=$dc(b);(d<2||d>3)&&b5(OWc+d,b);N3(a,b.c);e=false;c=b.c.f;B4(gjc,c);r4(c);if(c.c){P3(a,c.c);e=true}if(lec(b)){N3(a,b.c?b.c.i:null);e=true}e||b5("Missing catch or finally for try statement.", +b)}function fAb(a,b,c){this.e=a;_zb.call(this,c);aAb(this);Vd(c.n==(Plc(),Vjc),c);c.n==Vjc&&aec(c,(vhc(),vgc))!=0?c.n==Vjc&&aec(c,(vhc(),ugc))!=0?this.a=!b.a?this:b.a:this.a=this:c.n==Vjc&&aec(c,(vhc(),ugc))!=0?this.a=b.a:this.a=null}function JCb(b){var c,d;if(b.d!=null)return;try{d=_Bc(b.a,xVc,-1);b.d=vG(vH,zVc,50,d.length,15,1);for(c=1;c0||(a.a.a&nZc)==nVc||iac(a.a)||U9b(a.a)>0||jac(a.a)||!!a.a.g||(a.a.a&nZc)==AZc||(a.a.a&nZc)==yVc||(a.a.a&nZc)==KZc)&&G9b(a.a,b)){a.e=true;return true}return false}function nqb(a,b,c,d,e,f,g,h){var i,j;if(tqb(a,b,c,d,e,f,h))return;i=jqb(a,f,h);i.v==(Mqb(),Iqb)||(i.v=g);aec(d,(Ldc(),Bdc))!=0;if(e.n== +(Plc(),Pic)&&e.g.n!=Pjc){j=(Zqb(),Wqb);eqb(a,i,d,j,b,c)}else{dqb(a,i,d,(Zqb(),Wqb),b,c);sqb(d)&&Cqb(i)}}function ltb(a,b,c){var d,e,f,g;Vd((vub(),Cub(c)||c.n==(Plc(),Vjc)||c.n==(Plc(),Ekc)||c.n==(Plc(),jlc)&&!c.g||c.n==(Plc(),llc)),c);for(g=(e=(new oEc(Stb(b).e)).a.Je().Xd(),new tEc(e));g.a.Jd();){f=(d=g.a.Kd(),d.gf());CFc(a.b).hi(f.b,false)}}function i9b(a){var b,c,d,e,f;b=new mfc((Plc(),Tkc));for(d=a,e=0,f=d.length;e0&(a&a-1)==0);case 1:case 3:return 31-aBc(a);case 0:case 2:return 32-aBc(a-1);case 5:case 4:case 6:d=aBc(a);c=-1257966797>>>d;e= +31-d;return e+(~~(c-a)>>>31);default:throw q0(new Tzc);}}function t2(a,b,c){var d,e,f,g;f=H8b((Plc(),Jic),b,c);if(a.b){d=Qd(b.d,b);g=Qd(c.d,c);e=d.Si();switch(e.f){case 1:f.d=g;break;case 2:f.d=d;break;case 3:Wec(f,d.Ri(g));break;default:Zd(e==(Qnc(),Nnc),iWc,e);Wec(f,x3(a,(ztc(),Xsc)))}}return f}function d3(a,b,c){var d,e,f,g;f=H8b((Plc(),Ykc),b,c);if(a.b){d=Qd(b.d,b);g=Qd(c.d,c);e=d.Si();switch(e.f){case 1:f.d=d;break;case 2:f.d=g;break;case 3:Wec(f,d.Ri(g));break;default:Zd(e==(Qnc(),Nnc),iWc, +e);Wec(f,x3(a,(ztc(),Xsc)))}}return f}function KCb(b,c){var d,e;JCb(b);if(c>b.d.length)return null;c<1&&(c=1);e=b.d[c-1];d="";try{d=b.a}catch(a){a=p0(a);if(lH(a,105))return null;else throw q0(a);}return SBc(d,jCc(10),e)==-1?e>=d.length?null:d.substr(e):dCc(d,e,SBc(d,jCc(10),e))}function TPb(a,b){var c,d,e;e=new LFc;while(b){XPb(a,b);UPb(a,b);YPb(a,b);WPb(a,b);VPb(a,b);b.n==(Plc(),Vjc)&&b.g.n==gjc&&(!b.g?null:b.g.g).n!=Vjc&&tPb(a,b,(dXb(),eWb));d=b.f;c=b.c;if(c){!!d&&tFc(e,d);b=c}else d?b=d:b=EFc(e)}Ud(e.b== +e.c)}function VG(a,b){var c,d,e,f,g;b&=63;c=a.h;d=(c&MVc)!=0;d&&(c|=-1048576);if(b<22){g=c>>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?LVc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?LVc:0;f=d?KVc:0;e=c>>b-44}return DG(e&KVc,f&KVc,g&LVc)}function ydb(a){!a.c&&(a.c=wdb(a));if(a.f.a.length!=0||a.e.a.length!=0){a.c=pJb(rJb(qJb(sJb(xJb(wJb(vJb(eJb(a.i.a,a.i.a),Jdb(a.c.f,a.e)),Jdb(a.c.g,a.f)),a.c.i),a.c.c),a.c.a),a.c.b));a.f.a=vG(rZ,zUc,1,0,5,1);a.e.a=vG(rZ,zUc,1,0,5,1)}return a.c}function Osb(a, +b){var c;c=a.Ni().Vi();if(Ywc(c,Pd(b.r)))return Uwc(c,Pd(b.r));else if(Ywc(c,Pd(b.s)))return Uwc(c,Pd(b.s));else if(Ywc(c,Pd(b.c)))return Uwc(c,Pd(b.c));else if(Ywc(c,Pd(b.d)))return Uwc(c,Pd(b.d));return Vtc(b,(ztc(),xtc))}function wtb(a,b,c,d){utb(this);Vd((vub(),Cub(a)||a.n==(Plc(),Vjc)||a.n==(Plc(),Ekc)||a.n==(Plc(),jlc)&&!a.g),a);a.n==(Plc(),Vjc)&&Vd(!c,a);this.i=a;this.e=false;this.g=b;if(c){Vd(!Cub(a),a);this.f=this}else{Vd(Cub(a)||a.n==Vjc,a);this.f=d.f}}function kvb(a){var b;if(!(a.n==(Plc(), +Vjc)&&rvb(a.g)&&a.n==Vjc&&Uvb(a.c)))return false;b=a.g;while(b)switch(b.n.f){case 82:return b.g.n!=Vjc;case 65:case 85:case 160:case 109:case 112:return false;default:Vd(b.n==tkc,b);b=b.g}return false}function cZb(a){var b,c,d;c=Y_b(a.g,0).d.b;d=p$b(a);while(b=Y_b(a.g,0).d.b.b>a.f.b,!(b||V$b(a,0,(V2b(),t2b))||V$b(a,0,(V2b(),d1b))||V$b(a,0,(V2b(),r1b)))&&V$b(a,0,(V2b(),b2b))){EYb(a,(V2b(),b2b));EYb(a,f1b);d=new h3b(new w7b(c,a.f),d)}return d}function sZb(a,b){var c,d;c=(On(),new vs);while(true){d= +Y_b(a.g,0);switch(d.e.f){case 52:EYb(a,(V2b(),t2b));continue;case 2:case 100:case 65:case 43:case 101:case 49:break;default:{jYb();if(lYb(d.e))break;else return Wn(c.a)}}ts(c,rZb(a,b))}}function Kob(a,b){Job();var c,d,e;e=a.Mg();c=Vtc(e,(ztc(),osc));d=Wec((a.wg(hZc+fCc("arrayFromIterable",(mOc(),kOc)),false),K8b(hwb(a,"$jscomp.arrayFromIterable"),yG(tG(CX,1),mWc,7,0,[b]))),c);Wec(d.c,Gtc(e,c,yG(tG(iY,1),zUc,23,0,[])));return d}function eHb(a,b){var c;c=null;if(a){Hd(a.g.n==(Plc(),$kc),a);a.n==rkc|| +a.n==Vkc?a=(Ud(!!a.c&&!a.c.f),a.c):a.n==zjc&&(a=a.c);if(a.n==Gkc)c=a;else{Vd(a.n==Ukc||a.n==Nic,a);c=null}}if(!c)return"p"+b;else{Vd(c.n==(Plc(),Gkc),c);return c.Di()}}function Mpc(a){cmc();Poc.call(this,a.q,a.s);this.v=new bwc;this.q=a.n;this.w=a.r;this.s=a.p;this.p=a.k;awc(this.v,this);this.s||!!a.o?Lpc(this,a.o):Lpc(this,Utc(this.D,(ztc(),itc)));this.p&&Ud(this.q==null);Pd(this.F);Ud(this.F.c.$d()>=this.w)}function r6(a,b,c){if(b.n==(Plc(),jlc))return;if(aec(b,(vhc(),wgc))>aec(c,wgc)){if(v6(b, +c))throw q0(new RAc(a+"unchanged scope marked as changed: "+m6(b)));}else if(!v6(b,c))throw q0(new RAc(a+"changed scope not marked as changed: "+m6(b)));}function flb(a){var b,c,d,e;c=dec(a,(vhc(),_gc));if(c){b=a.n==(Plc(),akc)||aec(a,(Ldc(),jdc))!=0;if(b&&!!((nZc&c.a)==nVc?c.i:null))return(nZc&c.a)==nVc?c.i:null;else{d=Z9b(c);if(d.$d()==1){e=$9b(c,Mv(Z9b(c).Xd()));if(e)return e}}}return null}function _Qb(a,b){var c;c=PPb(a.a,b.b);if(c.n==(Plc(),Vjc)||c.n==ojc||c.n==ykc||c.n==tjc){a.a.e.fi("Lexical declarations are only allowed at top level or inside a block.", +a.a.s,(fPb(),b.o.b.b+1),b.o.b.a);return c}return wPb(a.a,tkc,ERb(a,b.a),c)}function Y3(a,b,c){var d,e;e=$dc(c);(e<1||e>2)&&b5(KWc+e,c);d=c.c;switch(d.n.f){case 93:L3(a,b,d);break;case 94:H4(a,b,d);break;default:b5("Invalid destructuring lhs first child for "+b+FWc,c)}!!c.c&&!!c.c.f&&c.c.f==(c.c?c.c.i:null)&&c4(a,c.c.f)}function Ptb(){Ptb=T0;Otb=new $hb("JSC_UNTRANSPILABLE",(p7(),m7),new aDc('Cannot convert {0} feature "{1}" to targeted output language.'));Mtb=NVb((DVb(),mVb),yG(tG(mU,1),FUc,25,0, +[(dXb(),OWb),RWb,SWb,TWb]));Ntb=KVb(mVb,cXb);IVb(IVb(mVb,Mtb),Ntb)}function pQb(a,b,c,d){var e,f;e=d.n==(Plc(),mjc)?d.c:d;zec(e)||a.a.e.fi(W7b("Invalid %s %s operand.",yG(tG(rZ,1),zUc,1,5,[c?"postfix":"prefix",b==lkc?"increment":"decrement"])),a.a.s,vfc(d.k),ufc(d.k));f=vPb(a.a,b,d);Gec(f,(Ldc(),ydc),c);return f}function s0b(a){T_b(a);while(S_b(a,a.f)&&(S_b(a,a.f)?JBc(a.b,a.f):0)!=93&&!E0b(S_b(a,a.f)?JBc(a.b,a.f):0))if(!t0b(a))return false;if((S_b(a,a.f)?JBc(a.b,a.f):0)!=93){$_b(a,"']' expected", +yG(tG(rZ,1),zUc,1,5,[]));return false}T_b(a);return true}function sYb(){jYb();return yG(tG(pU,1),FUc,38,0,[mXb,nXb,oXb,rXb,sXb,uXb,vXb,wXb,xXb,CXb,DXb,EXb,FXb,IXb,JXb,QXb,WXb,ZXb,$Xb,_Xb,bYb,dYb,eYb,fYb,gYb,hYb,pXb,qXb,yXb,zXb,AXb,HXb,YXb,GXb,KXb,NXb,SXb,TXb,UXb,VXb,XXb,iYb,RXb,aYb,BXb,tXb,cYb,OXb,PXb])}function bD(a,b){var c,d;if(b>127)throw q0(new MD((c=b>>>0,uVc+c.toString(16))));d=a.e[b];if(d==-1)if(b<=32||b==127)throw q0(new MD((c=b>>>0,uVc+c.toString(16))));else throw q0(new MD("Unrecognized character: "+ +String.fromCharCode(b)));return d}function onb(a,b){this.r=a;this.n=new oMc;this.c=new LFc;this.i=new LFc;this.e=new LFc;this.k=new LFc;this.f=new vMc;this.a=new pGc;this.q=new pGc;this.p=new tnb(this);Ud(this.p.c==0);this.j=new tnb(this);Ud(this.j.c==1);fGc(this.a,this.j);this.g=b}function _Ab(a,b,c){var d,e,f,g,h;for(e=(!c.c?(LHc(),LHc(),KHc):new yhc(c.c)).Xd();e.Jd();){d=e.Kd();h=d.c;Ud(d.n==(Plc(),rlc)&&(h.n==qlc||h.n==Qjc));f=d.Di();OBc(f.substr(0,2),eYc)&&(f=f.substr(2));g=h.n==qlc?b+(""+h.Di()): +z$c;jDc(a.b,b+(""+f),g)}}function PPb(a,b){var c,d,e,f;d=nPb(a,b);c=null;if(a.a.c==(BOb(),xOb)){f=jPb(a,b.o);f.a.length==0||(c=_Pb(f))}e=BQb(a.v,b);if(d){e=qPb(a,b,d,e);Iec(e,(vhc(),_gc),d)}a.a.c==xOb&&!!c&&(Iec(e,(vhc(),dhc),c),e);vfc(e.k)==-1&&MPb(e,b.o.b,b.o.a);return e}function $bc(a,b){if(!!b&&!((a.a.a&2)!=0||pac(a.a)||(a.a.a&ZZc)!=0||Y9b(a.a)>0||(a.a.a&nZc)==nVc||iac(a.a)||U9b(a.a)>0||jac(a.a)||!!a.a.g||(a.a.a&nZc)==AZc||(a.a.a&nZc)==yVc||(a.a.a&nZc)==KZc)){Sac(a.a,b,KZc);a.e=true;return true}else return false} +function Occ(a,b){if(!!b&&!((a.a.a&2)!=0||pac(a.a)||(a.a.a&ZZc)!=0||Y9b(a.a)>0||(a.a.a&nZc)==nVc||iac(a.a)||U9b(a.a)>0||jac(a.a)||!!a.a.g||(a.a.a&nZc)==AZc||(a.a.a&nZc)==yVc||(a.a.a&nZc)==KZc)){Sac(a.a,b,AZc);a.e=true;return true}else return false}function Zqb(){Zqb=T0;Wqb=new $qb("SET_FROM_GLOBAL",0);Xqb=new $qb("SET_FROM_LOCAL",1);Vqb=new $qb("PROTOTYPE_GET",2);Rqb=new $qb("ALIASING_GET",3);Uqb=new $qb("DIRECT_GET",4);Sqb=new $qb("CALL_GET",5);Tqb=new $qb("DELETE_PROP",6);Yqb=new $qb(QZc,7)}function xRb(a, +b){var c,d,e,f,g;g=vPb(a.a,(Plc(),Dlc),QPb(a.a,b.a));c=uPb(a.a,gjc);f=false;d=b.b;if(d){vfc(c.k)==-1&&MPb(c,d.o.b,d.o.a);f=true;Odc(c,PPb(a.a,d))}Odc(g,c);e=b.c;!!e&&Odc(g,QPb(a.a,e));!f&&!!e&&vfc(c.k)==-1&&MPb(c,e.o.b,e.o.a);return g}function q0b(a){if(!G0b(S_b(a,a.f)?JBc(a.b,a.f):0)){$_b(a,"Expected regular expression first char",yG(tG(rZ,1),zUc,1,5,[]));return false}if(!r0b(a))return false;while(S_b(a,a.f)&&F0b(S_b(a,a.f)?JBc(a.b,a.f):0))if(!r0b(a))return false;return true}function Z5(a){var b; +b="";a.d==null&&(b+=" name");a.e==null&&(b+=" runInFixedPointLoop");!a.a&&(b+=" featureSet");!a.c&&(b+=" internalFactory");a.b==null&&(b+=" hotSwapable");if(b.length!=0)throw q0(new RAc(SWc+b));return new U5(a.d,a.e,a.a,a.c,a.b)}function o8(a){var b,c,d;c=null;if(a.n==(Plc(),_jc))c=(a.c?a.c.i:null).Di();else if(a.n==Gkc){d=a.Di();b=TBc(d,jCc(36));b!=-1&&(c=d.substr(b+1))}if(c!=null)if(OBc(c,"inherits"))return Mab(),Kab;else if(OBc(c,"mixin"))return Mab(),Lab;return null}function bxb(a,b){var c,d, +e;Gd(b.n==(Plc(),tkc));e=b.c?b.c.i:null;switch(e.n.f){case 83:case 82:case 72:case 73:case 101:case 102:case 70:case 71:return;default:d=(c=new mfc(gjc),c);kfc(d,e);Oec(b,e,d);Pdc(d,e);cxb(a,"LABEL normalization",b);return}}function KSb(a,b){var c,d;d=zSb(a,b);if(gSb(a,(ATb(),oTb))){!a.o?HTb(a.j):ZRb(a);SSb(a);c=JSb(a,d.Di(),!a.o?HTb(a.j):ZRb(a));if(c){Pdc(d,c);SSb(a);if(!gSb(a,uTb))return VRb(a,"msg.jsdoc.missing.gt",a.j.g,GTb(a.j)),null;!a.o?HTb(a.j):ZRb(a)}}return d}function ubc(a,b){if(!a&&!b)return true; +if(!a&&!!b||!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&b.d==null||a.d.Ei(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b&&a.a==b.a}function O7(){O7=T0;N7=new $hb("JSC_TYPE_IMPORT_CODE_REFERENCE",(p7(),m7),new aDc("Cannot reference goog.requireType()''d name {0} outside of a type annotation."));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),Ldc(),new Lhc((Plc(),Gkc),_Wc)),new Lhc(qlc,eXc))}function dnb(a,b,c,d){var e;if(BFc(a.k)||zFc(a.k).c< +c.c)e=tZc;else{Ud(zFc(a.k).c!=c.c);e="jumpThroughFinallyBlocks"}if(d==0){Ndc(b.g,Hmb(a,b,e,yG(tG(CX,1),mWc,7,0,[qnb(c,b)])),b);Pec(b,Jmb(a,b))}else Pec(b,enb(a,b,e,yG(tG(CX,1),mWc,7,0,[qnb(c,b)])))}function ivb(a){vub();switch(a.f){case 61:case 62:case 1:case 2:case 3:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 41:case 40:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:return true;default:return false}}function pLb(a,b,c){var d,e,f;f="/".length;OBc(c.substr(c.length- +f,f),"/")&&(c=dCc(c,0,c.length-1));for(d=0;dc&&(c=d.a.a.c);while(g0){e.a+=".";f=vG(uH, +rUc,50,a.b.n,15,1);UGc(f,f.length,48);e.a+=rCc(f,0,f.length)}e.a+="E+00";c=X0(a.a);ACc(b,XBc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=dCc(b.a,0,d)+"."+cCc(b.a,d)}}function Yob(a,b,c,d){if(!b||b==c)return;Yob(a,b.f,c,d);if(dwb(b)||b.n==(Plc(),sjc)){b.n==(Plc(),sjc)&&Yob(a,b.c.f,c,d);b=b.c}else if(b.n==(Plc(),zlc))b=b.c;else if(b.n==skc||b.n==Wkc);else if(!b9b(b))return;if(bpb(a,b,d.b)){d.b=true;d.a=apb(a,b,d.a)}}function TLb(){TLb=T0;new $hb("JSC_BAD_IJS_FILE_NAME",(p7(),m7),new aDc("--ijs file name must end in .i.js: {0}")); +SLb=new $hb("JSC_CONFLICTING_IJS_FILE",o7,new aDc("Found --ijs file in a conflict with --js or --weakdep file.\nFile 1: {0}\nFile 2: {1}"))}function JSb(a,b,c){var d,e,f;e=FSb(a,c);if(!e)return null;f=iSb(a,(Plc(),gjc));d=1;Odc(f,e);while(gSb(a,(ATb(),iTb))){!a.o?HTb(a.j):ZRb(a);SSb(a);e=FSb(a,!a.o?HTb(a.j):ZRb(a));if(!e)return null;++d;Odc(f,e)}OBc(b,cWc)&&d==1&&Pdc(f,iSb(a,elc));return f}function $6(){$6=T0;Z6=new $hb("JSC_UNDEFINED_NAME",(p7(),o7),new aDc("{0} is never defined"));new $hb("JSC_NAME_DEFINED_LATE", +o7,new aDc("{0} defined before its owner. {1} is defined at {2}:{3}"));Y6=new $hb("JSC_STRICT_MODULE_DEP_QNAME",n7,new aDc(hXc))}function cRb(a,b){var c,d,e,f;d=kPb(a.a,b.d);c=null;if(a.a.a.c==(BOb(),xOb)){f=jPb(a.a,b.d);f.a.length==0||(c=_Pb(f))}yQb(a,b);e=zPb(a.a,(Plc(),Gkc),b.a);!!d&&(Iec(e,(vhc(),_gc),d),e);a.a.a.c==xOb&&!!c&&(Iec(e,(vhc(),dhc),c),e);MPb(e,b.d.b,b.d.a);return e}function yQb(a,b){var c,d;c=b.a;d=false;if(Tlc(c)){a.a.f=KVb(a.a.f,(dXb(),pWb));d=a.a.a.d==(POb(),FOb)}if(!!a.a.p&&a.a.p.Td(c)){a.a.f= +KVb(a.a.f,(dXb(),BWb));d=a.a.a.d==(POb(),FOb)}d&&a.a.e.fi("identifier is a reserved word",a.a.s,(fPb(),b.d.b.b+1),b.d.b.a)}function Fub(a){vub();var b;Hd(!!a&&(a.n==(Plc(),Jlc)||a.n==ykc||a.n==tjc)||a.n==(Plc(),$kc)||hvb(a)||a.n==(Plc(),njc)||a.n==(Plc(),Bjc)||a.n==(Plc(),zjc)||a.n==(Plc(),fkc)||a.n==(Plc(),Ujc)||a.n==(Plc(),Sjc)||a.n==(Plc(),Tjc),a);b=new pGc;Tub(a,b);return b}function ARb(a,b){var c,d;d=lQb(b.b.e);c=PPb(a.a,b.a);if(d==(Plc(),Lkc)&&c.n==Rkc){c.Gi(-c.Bi());return c}else{d==Ajc&&!(c.n== +_jc||c.n==$jc||c.n==Gkc)&&a.a.e.fi("Invalid delete operand. Only properties can be deleted.",a.a.s,vfc(c.k),0);return vPb(a.a,d,c)}}function s$b(a,b){var c;if(V$b(a,0,(V2b(),b2b))||V$b(a,0,_1b))c=q$b(a,b);else{c=b$b(a);a3b(c)||o_b(a,F0c,yG(tG(rZ,1),zUc,1,5,[]));b==0&&c.p!=(O6b(),O5b)&&o_b(a,"Only an identifier or destructuring pattern is allowed here.",yG(tG(rZ,1),zUc,1,5,[]))}return c}function Cw(a){on();var b,c,d,e,f,g,h;e=a.ce(vG(CL,{1191:1,3:1,4:1},221,0,0,1));c=($y(e.length),new pMc);h=0;for(g= +0;g=a.c.a.length)return null;Ud(b>=0);Ud(c>=0);if(iGc(a.c,b)==null)return _D(a, +b);d=iGc(a.c,b);Ud(d.a.length!=0);if(d.a[0].kg()>c)return _D(a,b);e=fE(d,c,0,d.a.length-1);Wd(e>=0,"unexpected:%s",e);return $D(a,d.a[e])}function o9(a,b,c){var d,e,f,g,h,i;h=0;d=0;for(f=0;f=0?a.c=new qGc:a.c=new pGc;zg(a.a,b.a);hE(new mE(a,b.d))}function i8(){i8=T0;new $hb("JSC_REFLECT_OBJECTLIT_EXPECTED",(p7(),o7),new aDc("Object literal expected as second argument"));U8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),Ldc(),new Lhc((Plc(),Gkc),_Wc)),new Lhc(qlc,"reflect"),yG(tG(CX,1),mWc,7,0,[new Lhc(qlc,"cache")]))}function ybb(a){var b,c,d,e,f;f=new vMc;if(a.w)for(e= +Tdc(a.w).Xd();e.Jd();){d=e.Kd();aec(d,(Ldc(),Jdc))!=0&&sMc(f,Abb(a,(b=dec(d,(vhc(),mhc)),!b?null:b.ah())))}return new Qzb((c=!a.i?(On(),On(),Nn):e6(a.i.a,(p7(),m7)),!a.i?(On(),On(),Nn):e6(a.i.a,(p7(),o7)),c))}function jcb(a){var b,c,d;Vd(!!a.C,SXc);Ud(a.i.a.d==0);Ud(true);d=lsb(a.C);if(d)for(c=new kw(Pv(ov(hv(kv(new mHc(a.C.a),new usb)).a),new lv));iw(c);){b=jw(c);b.a.$h().c==(Fic(),Eic)&&Vd(b.k==d,"Expected all weak files to be in the weak module.")}rdb(new hdb(a))}function sqb(a){var b,c,d;d=$ub(a); +if(!d)return false;else if(d.n==(Plc(),ojc))return true;b=(vub(),c=Gub(a),!c?null:dec(c,(vhc(),_gc)));return!!b&&((b.a&2)!=0&&d.n==(Plc(),Vjc)||((b.a&512)!=0||(b.a&PYc)!=0)&&d.n==(Plc(),Vjc)||(b.a&nZc)==KZc&&d.n==(Plc(),Tkc))}function d9b(a){switch(a.n.f){case 80:case 65:return true;case 82:case 74:case 96:case 88:case 75:case 89:case 71:case 84:case 72:case 73:case 101:case 102:case 66:case 83:case 100:case 67:case 39:case 44:case 76:case 70:case 77:return true;default:return false}}function lCb(a, +b,c,d){var e,f;Gd(b.length!=0);Ud(!t1(a,b));f=new GHb(b,c,a,(nDc(a.e.c),d));Zd(zNc(a.e,b)||v1(a,J1(b))||!(zNc(a.e,b)||v1(a,J1(b)))&&(!zvb(a.d)||!w1(a.b,b)||(e=u1(a,b),!!e&&!!e.c&&e.c.g.n==(Plc(),Vjc))),"Illegal shadow: %s",f.c);BNc(a.e,b,f);return f}function sfc(a,b,c,d,e){Ldc();Gd(!b.g);Gd(!b.f);Gd(!b.i);Gd(!c.g);Gd(!c.f);Gd(!c.i);Gd(!d.g);Gd(!d.f);Gd(!d.i);Gd(!e.g);Gd(!e.f);Gd(!e.i);this.n=a;this.g=null;this.c=b;b.f=c;b.i=e;b.g=this;c.f=d;c.i=b;c.g=this;d.f=e;d.i=c;d.g=this;e.f=null;e.i=d;e.g=this; +this.k=-1}function zqc(a,b,c){var d,e,f,g,h;e=null;if(ync(a.b,b.b,0,new Lrc(true)))e=a.b.a;else return null;f=c?a.b.b.Ri(b.b.b):a.b.b.Qi(b.b.b);h=null;if(Omc(a.o,b.o))h=a.o;else{d=c?a.o.Ri(b.o):a.o.Qi(b.o);h=d}g=a.b.c||b.b.c;return Yqc(lrc(grc(drc(new mrc(a.D),e),f,g),h))}function bob(a,b,c,d){var e,f,g,h,i;h=c.c?c.c.i:null;g=X8b(new mfc((Plc(),Fjc)),new mfc(Fjc),h.zi(false));ifc(g,c);Ndc(d,g,c);$nb(a,b,g,d);i=Wnb(a,h.Di());for(f=Tdc(c.c).Xd();f.Jd();){e=f.Kd();BPc(a.b,(e.c?e.c.i:null).Di(),new Qnb(i+ +"."+e.c.Di(),e))}Jec(d,c);cub(b)}function Qwb(a,b,c){var d,e,f,g,h;e=new otb;oub(a.b,e,b,c);oub(a.b,new fxb(a.b,a.a),b,c);f=new pxb;g=new QDb(a.b,new Vwb(a));h=new mub(a.b,f,g);lub(h,b,c);jxb(new kxb(a.b,a.a),b,c);d=new Xwb;nub(a.b,c,d);d.a.a.$d()==0||nub(a.b,c,new nxb(a,d.a));c1(a.b.V)||(a.b.V=1)}function EUb(a,b){var c,d;if(!cUb(a,b,(gVb(),eVb)))return false;d=(Md(b.n==(Plc(),jjc),S_c,b),$dc(b)-1);for(c=0;c=1){b=c.a.ee(0);b.p==(O6b(),V5b)&&m_b(a,b,"Setter must not have a rest parameter",yG(tG(rZ,1),zUc,1,5,[]))}return c} +function mbc(a,b,c,d,e){if(b>d)throw q0(new RAc("Recorded bad position information\nstart-line: "+b+xVc+"end-line: "+d));else if(b==d&&c>=e)throw q0(new RAc("Recorded bad position information\nline: "+b+xVc+"start-char: "+c+xVc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}function b3(a,b){var c,d,e,f,g;d=X2(a,cWc,(ztc(),gtc));c=M2(a,d,"getPrototypeOf");e=B2(a,c,yG(tG(CX,1),mWc,7,0,[b]));if(a.b){g=fmc((Rd(b.d,tWc,b),b.d));f=(Pd(g),g.kj()?g:Rd(g.Sj(),"null prototype: %s",g));e.d=f;Wec(c,Ftc(a.b,f,yG(tG(iY, +1),zUc,23,0,[x3(a,itc)])))}return e}function jMb(){jMb=T0;hMb=new $hb("JSC_DUPLICATE_IMPORT",(p7(),o7),new aDc('The module "{0}" has already been imported at {1}, {2}.'));iMb=new $hb("JSC_DEFAULT_EXPORT",o7,new aDc("Do not use the default export. There is no way to force consistent naming when imported."))}function kqb(a,b){var c,d,e;if(!b)return Mqb(),Kqb;switch(b.n.f){case 96:return Mqb(),Gqb;case 43:return Mqb(),Jqb;case 65:return Mqb(),Hqb;case 61:return kqb(a,b.c?b.c.i:null);case 60:c=b.c.f; +d=kqb(a,c);if(d!=(Mqb(),Kqb))return d;e=c.f;return kqb(a,e)}return Mqb(),Kqb}function AJb(a,b,c){var d,e,f,g,h;d=zJb(a,b,c);f=d;qKb();!OBc(d.substr(0,"/".length),"/")&&!(OBc(d.substr(0,eYc.length),eYc)||OBc(d.substr(0,V$c.length),V$c))&&(f="/"+d);if(a.e.Td(f))return d;for(h=a.f.Xd();h.Jd();){g=h.Kd();e=g+(""+f);if(a.e.Td(e))return d}return null}function PMb(){PMb=T0;NMb=new $hb("JSC_PRIMITIVE_OBJECT",(p7(),o7),new aDc("Explicit creation of a {0} object."));OMb=new $hb("JSC_PRIMITIVE_OBJECT_DECLARATION", +o7,new aDc("Declaration of {0} object instead of primitive type."));on();Gp(yG(tG(rZ,1),zUc,1,5,[gWc,fWc,GVc]))}function zSb(a,b){var c,d,e,f;if(b!=(ATb(),zTb)){SRb(a,"msg.jsdoc.name.syntax",a.j.g,GTb(a.j));return null}f=a.j.n;d=a.j.g;c=GTb(a.j);while(gSb(a,lTb)&&(e=".".length,OBc(f.substr(f.length-e,e),"."))){SSb(a);if(gSb(a,zTb)){!a.o?HTb(a.j):ZRb(a);f+=a.j.n}}return jSb(a,f,d,c)}function i4(a,b){var c,d,e;d4(a,(dXb(),FWb),b);B4((Plc(),fkc),b);d=Rlc(b.n);d!=-1&&(c=$dc(b),d!=c&&b5(CWc+d+DWc+c,b)); +b.c.n==Gkc?u4(b.c):B4(Fjc,b.c);e=b.c.f;switch(e.n.f){case 106:k4(e);break;case 108:C4(e)&&e.Di().length==0&&b5(LWc,e);break;default:B4(Fjc,e)}S4(Zdc(b,2))}function DRb(a,b){var c,d,e,f;switch(b.a.f){case 30:sPb(a.a,b,(dXb(),lWb));e=(Plc(),tjc);break;case 38:sPb(a.a,b,(dXb(),CWb));e=(Plc(),ykc);break;case 25:e=(Plc(),Jlc);break;default:throw q0(new QAc);}f=uPb(a.a,e);for(d=b.b.Xd();d.Jd();){c=d.Kd();Odc(f,RPb(a.a,c))}return f}function _$b(b){var c;if(b.b.d&&W$b(b,(V2b(),a2b))||W$b(b,(V2b(),$1b))){c= +new s_b(b.b,new p7b,b.g.j,P_b(b.g),DFc(b.e).b);try{PYb(c);LZb(c,2);W$b(c,(V2b(),g1b))&&(EYb(c,g1b),J$b(c));return W$b(c,U0b)}catch(a){a=p0(a);if(lH(a,438))return false;else throw q0(a);}}return false}function ync(a,b,c,d){var e,f,g,h;g=a.a.c;e=b.a.c;while(!!g&&!!e){h=g.d;f=e.d;if(h){if(!!f&&!gmc(h,f,c,d))return false}else if(f)return false;if(aec(g,(vhc(),ehc))!=0!=(aec(e,ehc)!=0))return false;if(aec(g,shc)!=0!=(aec(e,shc)!=0))return false;g=g.f;e=e.f}return g==e}function P9(a,b,c,d,e,f,g){var h, +i,j;Ud(!!c.cd);j=b==0?new eab(f,c.rc,c.Wb,c.cd):new pab(c.Wb,c.cd);h=b==2?new jHb(j,g.a.c,g.a.e):new w9(j,g.a.c);d&&v8(h.c,"/** @fileoverview @typeSummary */\n");e&&(v8(h.c,"'use strict';"),h.c.Bh());h.Nh(a,(L9(),G9));j.zh();i=j.e.a;return i}function mgb(a,b){var c,d,e,f,g,h,i;j:for(i=b.b.Xd();i.Jd();){h=i.Kd();g=(Xgb(),rOc(Wgb,h,new fhb),fDc(Wgb,h));for(f=(d=(new fFc(a.c.a)).a.Je().b.yk(),new nFc(d));f.a.Jd();){e=(c=f.a.Kd(),c.ff());if(e._h(g))continue j;else if(e.ai(g))return false}return false}return true} +function CHb(a,b){var c;c=a.b.Bg();if(!c)return;Wpb(new Xpb(a.b),b);if(!kB(a.b.Bg(),c)){a.b.Tg(new Lrb(null,null,-1,-1,AHb,null,yG(tG(wZ,1),eWc,2,6,[c.Cd(),a.b.Bg().Cd()])));throw q0(new RAc("Validity Check failed: Extern properties changed from:\n"+c+"\nto:\n"+a.b.Bg()));}}function rrb(){rrb=T0;qrb=new $hb("JSC_J2CL_REFERENCE_EQUALITY",(p7(),o7),new aDc("Reference equality may not be used with the specified type: {0}"));Do();new cB(yG(tG(Z$,1),cVc,51,0,[(ol(SZc,TZc),new or(SZc,TZc)),(ol(UZc,VZc), +new or(UZc,VZc)),(ol(WZc,XZc),new or(WZc,XZc))]))}function qUb(a,b){if(!cUb(a,b,(gVb(),WUb)))return false;if((Md(b.n==(Plc(),jjc),S_c,b),Zdc(b,1)).n!=qlc){a.a.gi(B_c+vic(T_c,yG(tG(rZ,1),zUc,1,5,[bZc])),a.b.ah(),a.d,a.c);HUb(a,WUb.d);return false}if(!BUb(a,(Md(b.n==jjc,S_c,b),Zdc(b,2)))){HUb(a,WUb.d);return false}return true}function Jlb(a,b,c,d,e){var f,g,h,i;Gd((b.c?b.c.i:null)==c);h=W2(a.a,d,b.d);i=Ihc(h,false);if(e.a.length!=0){g=new HGc(e);f=Hlb(a,Ihc(h,false),(g.b=g.a++,g.c.a[g.b]));while(g.a< +g.c.a.length)f=C2(a.a,f,Hlb(a,Ihc(h,false),(g.b=g.a++,g.c.a[g.b])));i=C2(a.a,f,i)}lfc(i,c);return i}function exb(a,b){var c,d,e,f;for(c=b.c;c;c=f){f=c.f;vub();if(!!c&&(c.n==(Plc(),Jlc)||c.n==ykc||c.n==tjc)){if(a.a&&!c.c)throw q0(new RAc("Empty VAR node."));while(c.c!=(c.c?c.c.i:null)){d=c.c;Jec(c,d);e=ifc(new ofc(c.n,d),b);Ndc(b,e,c);cxb(a,"VAR with multiple children",b)}}}}function kQb(a,b,c,d,e){var j;fPb();var f,g,h,i;h=new ZPb(c,b,d,e,a.a);i=BQb(h.v,a);vfc(i.k)==-1&&MPb(i,a.o.b,a.o.a);if(a.a)for(g= +a.a.Xd();g.Jd();){f=g.Kd();(f.b==(y3b(),v3b)||f.b==u3b)&&!tMc(h.o,f)&&(j=hPb(h,f),sMc(h.o,f),oPb(h,j),undefined)}IPb(h,i);TPb(h,i);h.q=i;return h}function lQb(a){fPb();switch(a.f){case 76:return Plc(),Okc;case 77:return Plc(),djc;case 63:return Plc(),dlc;case 64:return Plc(),Lkc;case 9:return Plc(),Ajc;case 24:return Plc(),Elc;case 26:return Plc(),Klc;default:throw q0(new RAc(!a?wUc:a.a==null?(jYb(),ep(MXb,a)).c:a.a));}}function x0b(a){var b,c;c=new M0b(null,a.d.a.length==0?R_b(a,a.f):Y_b(a,0).d.b); +while(S_b(a,a.f))switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 96:return c;case 92:b=y0b(a);!!b&&c.a==null&&(c=b);break;case 36:if((S_b(a,a.f+1)?JBc(a.b,a.f+1):0)==123)return c;default:T_b(a)}return c}function _wc(a,b,c){var d,e,f,g,h,i,j;Pd(b);Pd(c);Gd(c.$d()<=b.$d());this.a=a;this.c=b;this.d=c;g=new mxc(a,this,true);f=this.d.$d();e=this.c.$d();h=vG(iY,zUc,23,e,0,1);for(d=0;d=0x7fffffffffffffff)return eH(),aH;e=false;if(a<0){e=true;a=-a}d=0;if(a>=OVc){d=sH(a/OVc);a-=d*OVc}c=0;if(a>=NVc){c=sH(a/NVc);a-=c*NVc}b=sH(a);f=DG(b,c,d);e&&JG(f);return f}function Rnb(a,b,c,d){var e,f,g;e=hwb(a.a,d.b);f=R8b((Zd(RBc("",jCc(46))==-1,kWc,""),Ldc(),new Lhc((Plc(),Gkc),"")),j9b(yG(tG(CX,1),mWc,7,0,[])),I8b((Ud(b9b(e)),new ofc(ilc,e))));jfc(f,d.a);g=i9b(yG(tG(CX,1),mWc,7,0,[n9b(mZc,new mfc(Clc)),n9b(cXc,f)]));Odc(b,n9b(c,g));a.a.Ug(f)} +function oob(a,b){var c,d,e,f;Gd(b.n==(Plc(),Mic));e=lob(a,b);e.a[0].n==Mic?c=kGc(e,0):c=Wec(E8b(yG(tG(CX,1),mWc,7,0,[])),a.a);if(e.a.length==0)f=c;else{d=Wec(T8b(c,(Ldc(),new Lhc(qlc,zZc))),a.d);f=K8b(d,oGc(e,vG(CX,mWc,7,0,0,1)))}lfc(f,b);Wec(f,a.a);Oec(b.g,b,f);a.c.Vg(f)}function Jvb(a){var b,c;c=a.g;b=!a.g?null:a.g.g;switch(c.n.f){case 93:case 114:case 115:return true;case 118:if(c==a.g&&!(a==a.g.c?null:a.i))return false;case 91:return b.n==(Plc(),Ukc);case 123:if(c==a.g&&!(a==a.g.c?null:a.i))return Jvb(c); +return false;default:return false}}function q_b(a,b){var c;switch(b.p.f){case 61:c=b;break;case 26:c=new $3b(b.o,(On(),new RB(Pd(b))));break;case 48:case 56:a.f=b.o.b;g0b(a.g,a.f);c=LZb(a,0);break;default:m_b(a,b,"invalid arrow function parameters",yG(tG(rZ,1),zUc,1,5,[]));c=new $3b(b.o,(On(),On(),Nn))}return c}function L9(){L9=T0;K9=new M9("STATEMENT",0);E9=new M9("BEFORE_DANGLING_ELSE",1);J9=new M9("START_OF_EXPR",2);F9=new N9("IN_FOR_INIT_CLAUSE",3,true,false);H9=new N9("START_OF_ARROW_FN_BODY", +4,false,true);I9=new N9("START_OF_ARROW_FN_IN_FOR_INIT",5,true,true);G9=new M9("OTHER",6)}function gzb(a,b){dzb();var c;if(Fec(b,q$c,q$c.length)||b.n==(Plc(),$jc)&&Eec(b.c,bXc)&&b.c.f.n==qlc&&OBc(b.c.f.Di(),VVc)){c=u1(Stb(a),bXc);if(!c||!c.a||Bdb(c.a))return true}else if(b.n==(Plc(),Gkc)&&OBc(VVc,b.Di())){c=u1(Stb(a),b.Di());if(!c||!c.d.b)return true}return false}function GQb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){(b.b.e==(V2b(),y2b)||b.b.e==z2b)&&sPb(a.a,b,(dXb(),qWb));e=c;c=vPb(a.a,iQb(b.b.e), +PPb(a.a,b.c));vfc(c.k)==-1&&MPb(c,b.o.b,b.o.a);!!e&&Pdc(e,c);if(lH(b.a,100))b=b.a;else{d=PPb(a.a,b.a);Pdc(c,d);b=null}!f&&(f=c)}return f}function XSb(a){QRb();var b,c;b=nOb(pOb(uOb(rOb(sOb(pOb(vOb(oOb(tOb(qOb(uOb(rOb(new wOb,(POb(),NOb)),($Ob(),ZOb)),(BOb(),AOb)),(VOb(),UOb)),iOb((on(),gB(),fB))),(null,fB)),(null,fB)),false),FOb),YOb),new UB("testPrimitive")));c=new WSb(new MTb(a),a,0,null,b,(z8b(),y8b));return c}function xhc(){vhc();return yG(tG(pX,1),FUc,34,0,[dhc,_gc,shc,Sgc,ihc,ehc,ohc,tgc,ghc, +khc,Ugc,Ygc,Ggc,Hgc,Mgc,mhc,Tgc,lhc,wgc,jhc,nhc,Ngc,ugc,vgc,uhc,Kgc,Jgc,Bgc,Vgc,Wgc,ygc,xgc,zgc,Agc,Dgc,rhc,fhc,Ogc,Rgc,Cgc,sgc,chc,hhc,Pgc,Qgc,Lgc,Xgc,thc,phc,Fgc,ahc,$gc,bhc,Zgc,Igc,qhc,Egc])}function gub(a,b,c){var d;switch(b.n.f){case 85:Ytb(a,b,c);return;case 65:Wtb(a,b,c);return;case 112:Xtb(a,b,c);return}a.e=b;if(!a.a.ih(a,b,c))return;d=b.n;d==(Plc(),ojc)?iub(a,b):d==pjc?jub(a,b):a.q&&Cub(b)?(_tb(a,b),hub(a,b),$tb(a,false),undefined):hub(a,b);a.e=b;a.a.jh(a,b,c)}function EQb(a,b){var c,d,e, +f,g;g=uPb(a.a,(Plc(),llc));for(d=b.b.Xd();d.Jd();){c=d.Kd();Odc(g,PPb(a.a,c))}AQb(g);e=rQb(g);if(e||HVb(a.a.f,(dXb(),FWb))){f=uPb(a.a,Ekc);vfc(f.k)==-1&&MPb(f,b.o.b,b.o.a);Rdc(f,Kec(g));Odc(g,f);e?Gec(g,(Ldc(),wdc),true):Gec(g,(Ldc(),pdc),true)}return g}function QZb(a,b){var c,d,e,f;KYb(a,cXc);if(d_b(a,0)){e=HYb(a);EYb(a,(V2b(),a2b));EYb(a,e1b);f=OYb(a);c=MZb(a);k_b(a,(dXb(),wWb));return new v4b(LYb(a,b.d),e,b.c,f,c)}else{d=vZb(a);EYb(a,(V2b(),a2b));EYb(a,e1b);OYb(a);c=MZb(a);k_b(a,(dXb(),wWb));return new F3b(LYb(a, +b.d),d,b.c,c)}}function k$b(a){var b,c,d,e;if(W$b(a,(V2b(),U1b)))if(V$b(a,1,g2b))return e=Y_b(a.g,0).d.b,EYb(a,U1b),EYb(a,g2b),KYb(a,"target"),new O4b(new w7b(e,a.f));else{d=Y_b(a.g,0).d.b;EYb(a,U1b);c=k$b(a);b=null;W$b(a,a2b)&&(b=_Yb(a));return new N4b(new w7b(d,a.f),c,b)}else return f$b(a)}function ITc(a,b,c,d,e){var f,g,h,i,j;GTc(d+BD(c,c.ig()),e);HTc(b,KTc(c));f=c.f;!!f&&ITc(a,b,f,"Caused by: ",false);for(h=(c.j==null&&(c.j=vG(xZ,zUc,37,0,0,1)),c.j),i=0,j=h.length;ia.i?(On(),new RB(Pd(Vtc(a.k,(ztc(),xtc))))):Wn(a.a)}function ZC(){ZC=T0;YC=new uD("base64()",sVc,jAc(61));new uD("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",jAc(61));new mD("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",jAc(61));new mD("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",jAc(61));new rD}function Obb(a){var b,c,d,e,f,g;g=(a.I.pd!=(Yfb(),Vfb)&&!!a.Q&&Jxb(a.Q,XXc,true),new nEb); +try{b=new _cb;if(a.w){c=0;if(teb(a.I))for(f=a.p.c;f;f=f.f)lcb(a,b,c++,f);for(e=a.w.c;e;e=e.f)lcb(a,b,c++,e)}return b.c.a}finally{d=F0(w0(Date.now()),g.a);a.I.pd!=Vfb&&!!a.Q&&Kxb(a.Q,XXc,d)}}function Cmb(a,b){var c,d,e,f,g;if(aec(b,(vhc(),Vgc))==0)return b;c=new tnb(a.a);e=(g=new Dnb,nub(a.f.b,b,g),Pd(g.a),g.a);d=omb(a,nmb(a,Lec(e)));aec(e,uhc)!=0?mnb(a.a,d,c,e):lnb(a.a,d,c,e);gnb(a.a,c);f=nnb(a.a,e);if(e==b)return f;Oec(e.g,e,f);while(f!=b){f=f.g;Hec(f,Vgc,0)}return b}function NJb(a,b,c,d,e){MJb(); +var f,g;DJb.call(this,a,b,c,d);g=OSc(RSc(new XSc(null,Eo(e)._d()),new UJb),Wu(new DKc(new bLc(new LKc(new WJb)),new HKc((SKc(),SKc(),QKc)))));this.b=(on(),f=g,Dp(f));this.a=OSc(USc(RSc(new XSc(null,this.b._d()),new QJb)),new jSc(new oSc,new mSc,new kSc))}function vQb(a,b){a.a.f=KVb(a.a.f,(dXb(),wWb));if(a.a.a.d==(POb(),FOb)){a.a.e.fi("getters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.s,(fPb(), +b.o.b.b+1),0);return true}return false}function wQb(a,b){a.a.f=KVb(a.a.f,(dXb(),VWb));if(a.a.a.d==(POb(),FOb)){a.a.e.fi("setters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.s,(fPb(),b.o.b.b+1),0);return true}return false}function sob(a){job();var b;this.c=a;if(a.Qg()){b=a.Mg();this.a=Vtc(b,(ztc(),osc));this.b=Vtc(b,xsc);this.d=hmc(this.a,zZc);this.f=Vtc(b,Ysc);this.g=Vtc(b,ftc);this.i=Vtc(b,wtc); +this.e=Vtc(b,Bsc)}else{this.a=null;this.b=null;this.d=null;this.f=null;this.g=null;this.i=null;this.e=null}}function Exc(a,b){var c;Pd(b);if(!(!!b.uj()&&nmc(a.e,b.uj().e))){if(!b.uj())if(_mc(a,b,new Rrc(true),(bsc(),asc)))return a;else if(b.ij(a))return zmc(b);if(b.gj())return jmc(a,(ztc(),Vsc));return jmc(a,(ztc(),Xsc))}c=b.uj();Pd(c);if(Pwc(a.F,c.F,2,(bsc(),asc)))return a;return a.d}function qf(b){var c,d,e;try{return b==null?wUc:X0(b)}catch(a){a=p0(a);if(lH(a,40)){c=a;e=pAc(xb(b))+"@"+(d=QTc(b)>>> +0,d.toString(16));WRc(aSc("com.google.common.base.Strings"),(mRc(),lRc),"Exception during lenientFormat for "+e,c);return"<"+e+" threw "+pAc(c.Ik)+">"}else throw q0(a);}}function rF(a,b){var c;if(a>=CVc&&a<=DVc){c=(RTc(a>=0&&a<=DVc),a>=CVc?yG(tG(uH,1),rUc,50,15,[55296+(a-CVc>>10&EVc)&qUc,56320+(a-CVc&EVc)&qUc]):yG(tG(uH,1),rUc,50,15,[a&qUc]));rF(c[0],b);rF(c[1],b);return}sCc(sCc(sCc(sCc((b.a+="\\u",b),pF[a>>>12&15]),pF[a>>>8&15]),pF[a>>>4&15]),pF[a&15])}function _Mb(){_Mb=T0;$Mb=new $hb("JSC_MISSING_NAMESPACE_IMPORT", +(p7(),m7),new aDc('Imported Closure namespace "{0}" never defined.'));new $hb(_$c,m7,new aDc('Requested module does not have an export "{0}".'));new $hb(_$c,m7,new aDc('Requested module does not have an export "{0}".{1}'))}function S7b(a){var b,c,d;if(!lH(a.a,227))return null;c=a.a;b=NAc(c);d=null;if(isNaN(b))d="NaN";else if(b==Infinity)a.b.d?d="+Infinity":a.b.j?d=" Infinity":d=h$c;else if(b==-Infinity)a.b.g?d="(Infinity)":d="-Infinity";else return null;a.b.n=-1;a.b.k=false;return I7b(a,d,0)}function g9(a, +b,c,d,e){var f,g;f=e==(L9(),J9);f&&v8(a.c,"(");b9(a,b.n==(Plc(),Vjc)&&aec(b,(vhc(),vgc))!=0?PXc:kUc);if(aec(b,(vhc(),Ngc))!=0){v8(a.c,"*");c.Di().length==0||a.c.Hh()}a.Nh(c,G9);g=dec(c,(Ldc(),vdc));!!g&&a.Nh(g,G9);a.Nh(c.f,G9);q9(a,b);a.Nh(d,G9);a.c.Ah(e==K9);f&&v8(a.c,")")}function zub(a,b,c){vub();var d;switch(a.n.f){case 103:case 28:case 23:return true;case 29:return!ovb(a,c)&&!b.Td(a.Di());case 26:case 27:return true;case 65:Vd(!(a.n==(Plc(),Vjc)&&rvb(a.g)&&a.n==Vjc&&Uvb(a.c)),a);return false}for(d= +a.c;d;d=d.f)if(zub(d,b,c))return true;return false}function rUb(a,b){if(!cUb(a,b,(gVb(),XUb)))return false;if((Md(b.n==(Plc(),jjc),S_c,b),Zdc(b,1)).n!=qlc){a.a.gi(B_c+vic(T_c,yG(tG(rZ,1),zUc,1,5,["property name"])),a.b.ah(),a.d,a.c);HUb(a,XUb.d);return false}if(!BUb(a,(Md(b.n==jjc,S_c,b),Zdc(b,2)))){HUb(a,XUb.d);return false}return true}function wqc(a,b,c){var d;if(!!a.k&&a.k.n==(Plc(),ojc)){d=b.Qj();!!d&&(Ud(!(!!a.j||!a.A)),a.r=d)}if(b.Xj()!=null||a.s||!!b.Uj()){if(!!a.j&&(a.Zi()||a.i==(rrc(),prc))&& +b.zd((Zd(a.Zi()||a.i==(rrc(),prc),lWc,a),tmc(a.o))))return;b=Rqc(Sqc((cmc(),new Wqc(a.D)),a.Xj()+LZc),b).ek()}vqc(a,b,c)}function Gp(a){on();var b,c,d,e,f,g;g=new hOc;MHc(g,a);for(c=(f=(new dEc(g.a)).a.Je().Xd(),new jEc(f));c.a.Jd();){b=(d=c.a.Kd(),d.ff());Pd(b)}switch(g.a.$d()){case 0:return gB(),fB;case 1:return new UB((e=(new dEc(g.a)).a.Je().Xd(),d=(new jEc(e)).a.Kd(),d.ff()));default:return new hB(g)}}function qvb(a,b){vub();switch(a.n.f){case 71:return a.c==b;case 44:return a.c==b||(a.c?a.c.i: +null)==b;case 72:case 73:case 101:case 102:case 70:case 83:case 77:case 78:return(a.c?a.c.i:null)==b;case 66:case 67:case 68:return a.c!=b;case 69:return true;default:Vd(pvb(a),a);return false}}function yd(a){var b,c,d,e,f,g,h;f=a.d;d="";c=tCc(ACc(new ECc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||g!=null){c.a+=d;d=vUc;h.a!=null&&tCc(ACc(c,h.a),61);if(g!=null&&(xb(g).i&4)!=0){e=yG(tG(rZ,1),zUc,1,5,[g]);b=PGc(e,new vMc);yCc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+="}",c).a}function web(a){var b, +c,d,e,f;d=(Do(),new Fs);for(c=new HDc((new zDc(a)).a);c.b;){b=GDc(c);e=b.ff();f=b.gf();if(mH(f))Cs(d,e,(vub(),f?new mfc((Plc(),Clc)):new mfc((Plc(),Qjc))));else if(lH(f,129))Cs(d,e,h9b(f.a));else if(nH(f))Cs(d,e,h9b(f));else{Ud(qH(f));Cs(d,e,m9b(f))}}return To(d.b)}function wKb(a,b){qKb();var c,d,e,f;e=a;!OBc(e.substr(0,"/".length),"/")&&!(OBc(e.substr(0,eYc.length),eYc)||OBc(e.substr(0,V$c.length),V$c))&&(e="/"+e);for(d=b.Xd();d.Jd();){c=d.Kd();if(OBc(e.substr(0,c.length),c)){f=cCc(e,c.length);if(OBc(f.substr(0, +1),"/"))return f.substr(1)}}return a}function YZb(a){var b,c,d,e,f,g;e=Y_b(a.g,0).d.b;EYb(a,(V2b(),K1b));d=FYb(a);c=PYb(a);f=(On(),new vs);if(W$b(a,y1b)){EYb(a,y1b);g=J$b(a);fGc(f.a,Pd(g));while(W$b(a,h1b)){EYb(a,h1b);g=J$b(a);!!g&&(fGc(f.a,Pd(g)),f)}}EYb(a,_1b);b=$Zb(a);EYb(a,d1b);return new C4b(new w7b(e,a.f),d,c,Wn(f.a),b)}function n9(a){var b,c,d;d=new DCc;for(c=0;c31&&b<127?(d.a+=String.fromCharCode(b),d):sF(d,b)}}return d.a}function xqc(a,b,c){var d,e,f,g,h;f=!a.j?null:a.j.e;g=!!f;a.j=new Pvc(RWc,b,true,!c?a.k:c);b.ak(a);!!f&&f.ak(null);if(a.Zi()||a.i==(rrc(),prc)){h=qqc(a);if(h){!h.n&&(h.n=new pGc);fGc(h.n,a)}if(a.i==(rrc(),prc))for(e=a.d.Xd();e.Jd();){d=e.Kd();!!d.Qj()&&bqc(d.Qj(),a)}}g&&fqc(a);return true}function qjb(a){var b,c;njb();this.c=a;this.a=a.Qg();this.f=a.Mg();this.g=Oob(this.a,this.f,(ztc(),xtc));this.d= +(b=czc(czc(czc((cmc(),new hzc(this.f)),Vtc(this.f,qtc)),Vtc(this.f,Ksc)),Vtc(this.f,Isc)),c=Xtc(this.f,yWc),!!c&&czc(b,c),ezc(b));this.e=new Kgb;this.b=a.Qg()?new E3(a.Mg()):new D3}function U$b(a,b){var c,d,e,f;f=Y_b(a.g,0).d.b;EYb(a,(V2b(),U2b));d=false;c=null;e=Y_b(a.g,0).d.b.b>a.f.b;if(!(e||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b))){d=!!IYb(a,w2b);$$b(a)?c=eZb(a,b):d&&o_b(a,"yield* requires an expression",yG(tG(rZ,1),zUc,1,5,[]))}return new o7b(new w7b(f,a.f),d,c)}function Snb(a){var b,c,d;if(a.b.c!= +0){b=i9b(yG(tG(CX,1),mWc,7,0,[]));for(d=(new eQc(a.b)).b.yk();d.Jd();){c=d.Kd();Rnb(a,b,c.ff(),c.gf())}Pdc(a.g,lfc(P8b(K8b(hwb(a.a,"Object.defineProperties"),yG(tG(CX,1),mWc,7,0,[(Zd(RBc(wZc,jCc(46))==-1,kWc,wZc),Ldc(),new Lhc((Plc(),Gkc),wZc)),b]))),a.g))}}function rpb(a,b){var c,d,e,f;d=(b.c?b.c.i:null).Di();e=OBc(d.substr(0,5),"goog:");if(e)return d.substr(5);else{f=DKb(zdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d)),d,(c=dec(b,(vhc(),mhc)),!c?null:c.ah()),vfc(b.k),ufc(b.k));!f&&(f=EKb(zdb((!a.d&&!!a.i&& +(a.d=a.c.Dg(a.i)),a.d)),d));return hLb(f.a)}}function KZb(a,b,c){var d,e,f;!c&&(c=new P4b(new w7b(a.f,Y_b(a.g,0).d.b)));EYb(a,(V2b(),t2b));W$b(a,t2b)?e=new P4b(new w7b(a.f,Y_b(a.g,0).d.b)):e=TYb(a,1);EYb(a,t2b);W$b(a,e1b)?f=new P4b(new w7b(a.f,Y_b(a.g,0).d.b)):f=TYb(a,1);EYb(a,e1b);d=E$b(a);return new Z3b(new w7b(b,a.f),c,e,f,d)}function vub(){vub=T0;qub=sic("goog.module.declareLegacyNamespace");sic(IZc);pub=VLc((Plc(),Vjc),yG(tG(JX,1),FUc,9,0,[llc,Ekc,jlc]));rub=VLc(llc,yG(tG(JX,1),FUc,9,0,[Ekc, +gjc,tkc,Jkc,qkc]));uub=new Iwb;tub=new Mwb;T8b((Zd(RBc(fWc,jCc(46))==-1,kWc,fWc),Ldc(),new Lhc(Gkc,fWc)),new Lhc(qlc,"NaN"))}function Fib(a,b,c,d){var e,f,g,h,i;Hd(wec(b),b);Hd(c.n==(Plc(),jjc),c);f=Lec(c);Vd(f.n==_jc,f);e=Pd(f.c.f);Vd(OBc(e.Di(),VYc),e);i=f.c;Oec(f,i,jfc(Vdc(b,false),i));h=c.c;Vd(h.n==Pkc,h);Jec(c,h);g=ifc(B2(a.a,f,yG(tG(CX,1),mWc,7,0,[])),c);Odc(g,ifc(m3(a.a,d),h));while(c.c)Odc(g,Lec(c));return g}function POb(){POb=T0;FOb=new QOb(iYc,0,(DVb(),rVb));GOb=new QOb(jYc,1,sVb);HOb=new QOb("ECMASCRIPT6", +2,uVb);IOb=new QOb("ECMASCRIPT7",3,wVb);JOb=new QOb("ECMASCRIPT8",4,yVb);KOb=new QOb(kYc,5,oVb);LOb=new QOb(lYc,6,qVb);MOb=new QOb("ES_NEXT",7,zVb);OOb=new QOb(mYc,8,AVb);NOb=new QOb(q_c,9,BVb)}function gXb(){dXb();return yG(tG(mU,1),FUc,25,0,[pWb,wWb,BWb,VWb,XWb,$Wb,_Vb,aWb,dWb,eWb,gWb,hWb,iWb,jWb,lWb,mWb,$Vb,IWb,rWb,tWb,uWb,CWb,DWb,HWb,LWb,PWb,QWb,UWb,WWb,YWb,ZWb,FWb,qWb,bWb,_Wb,JWb,KWb,cWb,sWb,OWb,RWb,SWb,TWb,cXb,MWb,nWb,yWb,YVb,ZVb,fWb,kWb,oWb,vWb,xWb,zWb,AWb,EWb,GWb,NWb,aXb,bXb])}function v$b(a){var b, +c,d,e,f;e=Y_b(a.g,1).e;if(e==(V2b(),B2b)||e==Z1b||e==E1b||(jYb(),jYb(),!!ep(MXb,e)))return tZb(a,new N_b(Y_b(a.g,0).d.b));else{d=Y_b(a.g,0).d.b;EYb(a,w2b);c=vZb(a);b=new l4b((q4b(),o4b));OZb(a,b,(K_b(),I_b));f=a4b(b,new w7b(d,a.f));return new H3b(new w7b(d,a.f),null,c,f)}}function ocb(a){var b,c,d,e;e=(a.I.pd!=(Yfb(),Vfb)&&!!a.Q&&Jxb(a.Q,$Xc,true),new nEb);try{for(c=(!a.K&&(a.K=new RLb(a.a)),new HGc(QLb(a.K)));c.aa.f.b,!(c||V$b(a,0,(V2b(),t2b))||V$b(a,0,(V2b(),d1b))||V$b(a,0,(V2b(),r1b))))){e=SYb(a);return new i7b(new w7b(f,a.f),e,1,b)}else return b}}function Cbb(a,b,c,d){var e,f,g,h,i,j,k;if(b==null)return null;j=ZQc(a.u,b);if(!j)return null;e=tDb(j,a.i);if(!e)return null;g=ZD(e,c,d+1);if(!g)return null;k=j.c.b;h=g.d;f=Ucb(k,h);i=Abb(a,f);if(!i&&!!h){i=null;!!i&&_Qc(a.O,f,i)}return vF(wF(zF(xF(wF(yF(zF(new AF,g.d),g.c),g.a),g.b),f),g.a-1))}function djb(a,b){var c,d;d=b.g;c=b.c.n==(Plc(),Fjc);vub(); +if(b.n==ojc&&rvb(b.g)&&b.n==ojc&&Uvb(b.c)||c&&d.n==Gkc||c&&d.n==Pic&&wec(d.c)&&d.g.n==Pjc)return false;if(Xob(a.c,b)==0){a.b.Tg(Qrb(b,(Job(),Hob),yG(tG(wZ,1),eWc,2,6,["class expression that cannot be extracted"])));return false}return true}function _wb(a,b){var c,d,e;Ud(b.g.n==(Plc(),Vjc));d=null;c=b.c;while(!!c&&(vub(),c.n==Vjc&&rvb(c.g)&&c.n==Vjc&&Uvb(c.c))){d=c;c=c.f}while(c){e=c.f;vub();if(c.n==Vjc&&rvb(c.g)&&c.n==Vjc&&Uvb(c.c)){Jec(b,c);d=(!d?Pdc(b,c):Mdc(b,c,d),c);cxb(a,"Move function declaration not at top of function", +b)}c=e}}function tic(a,b){var c;c=a.a-1;while(c>0&&b.n==(Plc(),_jc)){if(rH((b.c?b.c.i:null).Di())!==rH(a.b.ee(c)))return false;--c;b=b.c}if(c>0)return false;switch(b.n.f){case 29:case 98:return rH(a.b.ee(0))===rH(b.Di());case 33:return a.b.ee(0)===ZVc;case 99:return a.b.ee(0)===XVc;default:return false}}function $ub(a){vub();var b;b=a.g;switch(b.n.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 95:return a.f;case 76:case 100:case 88:return a.c? +a.c.i:null;case 43:case 97:return Ud(!!a.c&&!a.c.f),a.c;case 65:case 96:return b}return null}function oUb(a,b){var c,d,e;if(!cUb(a,b,(gVb(),cVb)))return false;e=(Md(b.n==(Plc(),jjc),S_c,b),Zdc(b,1));if(e.n!=qlc){a.a.gi(B_c+vic(U_c,yG(tG(rZ,1),zUc,1,5,["native type"])),a.b.ah(),a.d,a.c);HUb(a,cVb.d);return false}d=(QRb(),c=XSb(e.Di()),FSb(c,!c.o?HTb(c.j):ZRb(c)));Xdc(e);Odc(b,d);return true}function E$b(a){var b;if(V$b(a,0,(V2b(),E1b))&&OBc(Y_b(a.g,0).a,tXc)&&(b=Y_b(a.g,1).d.b.b>Y_b(a.g,0).d.a.b,!(b|| +V$b(a,1,t2b)||V$b(a,1,d1b)||V$b(a,1,r1b)))&&V$b(a,1,C1b))return hZb(a);if(V$b(a,0,C1b))return NZb(a);if(V$b(a,0,b1b))return qZb(a,false,false);if(W$b(a,O1b))return T$b(a);return H$b(a)}function m9(a,b){var c,d,e,f;e=b.Di();f=b.Fi()||a.j&&Tlc(e)||(adc(),!_cc.test(e))||!Hvb(e);if(f){d=A9(e);isNaN(d)?i9(a,b):a.c.rh(d,b)}else{if(aec(b,(vhc(),Zgc))!=0){c=b.c;if(Fec(c,e,e.length)||c.n==(Plc(),zjc)&&Eec(c.c,e)){a.Nh(c,(L9(),G9));return}}v8(a.c,e)}if(b.c){v8(a.c,":");f9(a,b.c,1,(L9(),G9))}}function zPc(a, +b,c,d){var e,f;if(!b)return c;else{e=a.a.xf(c.d,b.d);if(e==0){d.d=yEc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=zPc(a,b.a[f],c,d);if(APc(b.a[f]))if(APc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else APc(b.a[f].a[f])?b=HPc(b,1-f):APc(b.a[f].a[1-f])&&(b=GPc(b,1-f))}return b}function Zwb(a,b,c){var d,e,f,g;Ud(b.n==(Plc(),Gkc)||b.n==qlc||b.n==rlc||b.n==akc||b.n==mlc);if(a.b.V==2)return;e=dwb(b);f=e||c.n==_jc&&(c.c?c.c.i:null)==b;if(b.n==Gkc||f){d=aec(b,(Ldc(),zdc))!=0;if(!d&&nvb(a.b.yg(),b)){if(a.a){g= +b.Di();throw q0(new RAc(m$c+g+xVc+" parent:"+hfc(b.g)));}Hec(b,zdc,1)}}}function dzb(){dzb=T0;czb=new $hb("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",(p7(),o7),new aDc("Unrecognized require.ensure call: {0}"));bzb=new $hb("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",o7,new aDc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}function SQb(a,b){var c,d,e,f;f=uPb(a.a,(Plc(),$kc));if(!nQb(a,b.a))return f;for(d=b.a.Xd();d.Jd();){c=d.Kd();switch(c.p.f){case 75:e= +MQb(a,c);break;case 65:sPb(a.a,c,(dXb(),UWb));e=RPb(a.a,c);break;default:e=RPb(a.a,c)}Ud(e.n==Gkc||e.n==rkc||e.n==Vkc||e.n==Nic||e.n==Ukc||e.n==zjc);Odc(f,e)}return f}function Fxb(a){var b,c,d,e,f;f=new oMc;for(d=new HGc(a.A);d.a127)continue;if(PTb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function P3(a,b){var c,d,e,f,g;B4((Plc(),njc),b);g=Rlc(b.n);g!=-1&&(e=$dc(b),g!=e&&b5(CWc+g+DWc+e,b));c=b.c;c.n==Gkc?u4(c):c.n==Nic?L3(a,njc,c):c.n==Ukc?H4(a,njc,c):c.n==Fjc?(d4(a,(dXb(),MWb),c),f=Rlc(c.n),f!=-1&&(d=$dc(c),f!=d&& +b5(CWc+f+DWc+d,c))):b5("Unexpected catch binding: "+c,b);N3(a,b.c?b.c.i:null)}function Cab(b){var c,d,e,f,g;if(b.n!=(Plc(),Rkc))return null;g=bvb(b);if(!lH(g,193))return null;e=g;try{f=e.a}catch(a){a=p0(a);if(lH(a,105))return null;else throw q0(a);}try{d=hec(b)}catch(a$0){a$0=p0(a$0);if(lH(a$0,39))return null;else throw q0(a$0);}c=d+b.e;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function aob(a,b,c,d){var e,f,g,h,i;e=c.c;g=null;(e.n==(Plc(),Vjc)||e.n==ojc)&&(g=(vub(),h=Vub(e),!h?null:eec(h))); +if(g!=null){f=Xdc(e);Oec(d,c,f)}else{g="$$default";i=M8b((Zd(RBc(g,jCc(46))==-1,kWc,g),Ldc(),new Lhc(Gkc,g)),Lec(c),tjc);Oec(d,c,lfc(i,c));wub(b.f,(dXb(),lWb))}BPc(a.b,wXc,new Qnb(g,c));cub(b)}function Vvb(a){vub();switch(a.f){case 13:case 3:case 20:case 1:case 2:case 46:case 16:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 7:case 10:case 6:case 17:case 15:case 5:case 19:case 11:case 36:case 37:case 14:case 25:case 79:case 21:case 22:case 12:return true;default:return false}}function tSb(a, +b){var c,d,e,f,g;d=iSb(a,(Plc(),vkc));f=new vMc;do{c=sSb(a,b);if(!c)return null;e=c.n==rlc?c.Di():c.c.Di();g=f.a.Me(e,f);g==null?Odc(d,c):WRb(a,e,a.j.g,GTb(a.j));SSb(a);if(!gSb(a,(ATb(),iTb)))break;!a.o?HTb(a.j):ZRb(a);SSb(a);if(gSb(a,vTb))break;b=!a.o?HTb(a.j):ZRb(a)}while(true);return d}function fxc(a,b){var c,d;if(!Ywc(a.a,b))return a.e?jxc(a,(ztc(),xtc)):b;if(pIc(a.d,b))return b;else if(Vwc(a.a,b)!=-1){c=Wwc(a.a,b);if(c==a.b||kxc(a,b,c))return b;oIc(a.d,b);d=c.wj(a);qIc(a.d,b);Zd(d!=a.b,"Trying to replace key %s with the same value", +a.b);return d}else return a.f?jxc(a,(ztc(),xtc)):b}function pf(a,b){var c,d,e,f,g;a=a;for(e=0;e2)&&b5(KWc+d,b);b.c.n==Ojc?b4(b.c):Q4(a,b.c,c);!!b.c&& +!!b.c.f&&b.c.f==(b.c?b.c.i:null)&&S4(b.c.f)}}function ntb(a,b,c,d){var e,f,g,h;if(c.n==(Plc(),Gkc)&&Qvb(c))return;g=mtb(a,c.Di());if(g!=null){h=CFc(a.b);if(h.li()){Mec(c,(Ldc(),zdc));f=Gub(c);if(!!f&&!!dec(f,(vhc(),_gc))){e=Zcc(dec(f,(vhc(),_gc)));scc(e);Vec(f,Gbc(e))}}c.Ii(g);if(a.a){cub(b);d.n==Vjc&&(vub(),d.n==Vjc&&rvb(d.g)&&d.n==Vjc&&Uvb(d.c))&&b.c.Vg(d)}}}function tUb(a,b){var c,d;if(b.n==(Plc(),Tkc))for(d=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();d.Jd();){c=d.Kd();if(aec(c,(vhc(),Zgc))!=0){a.a.gi(B_c+ +vic(T_c,yG(tG(rZ,1),zUc,1,5,["property, missing type"])),a.b.ah(),a.d,a.c);return false}else if(!BUb(a,c.c))return false}else if(!BUb(a,b))return false;return true}function FE(a,b){var c,d,e,f,g,h,i,j;f=false;i=nDc(a.k.c);c=new qGc;gGc(c,PHc(i,""));for(e=new cOc(new VNc(a.j));e.b!=e.c.a.b;){d=aOc(e);h=ANc(a.k,d.d);if(!!h&&h.a=0,"Invalid module index: %s",c);b.c=c;this.a[c]=b}this.b=nsb(this);this.c=psb(this);osb(this);tsb(lsb(this),hv(kv(new mHc(this.a),new usb)))}function B$b(a,b){var c,d,e,f,g;KYb(a,"set");if(d_b(a,0)){f=HYb(a);d=C$b(a);g=OYb(a);!!g&&l_b(a,Y_b(a.g,0),"setter should not have any returns",yG(tG(rZ,1),zUc,1,5,[]));c=MZb(a);k_b(a,(dXb(),VWb));return new V6b(LYb(a,b.d),f,b.c,d,c)}else{e=vZb(a);d=C$b(a);c=MZb(a);k_b(a,(dXb(),VWb));return new I3b(LYb(a, +b.d),e,b.c,d,c)}}function bNc(){if(!Object.create||!Object.getOwnPropertyNames)return false;var a="__proto__";var b=Object.create(null);if(b[a]!==undefined)return false;var c=Object.getOwnPropertyNames(b);if(c.length!=0)return false;b[a]=42;if(b[a]!==42)return false;if(Object.getOwnPropertyNames(b).length==0)return false;return true}function eRb(a,b){var c,d,e,f,g;e=b.a;if(e.$d()==1){c=zPb(a.a,(Plc(),Gkc),e.ee(0));vfc(c.k)==-1&&MPb(c,b.o.b,b.o.a);return c}else{f=e.Gf();d=e9b(f.Kd());vfc(d.k)==-1&& +MPb(d,b.o.b,b.o.a);while(f.Jd()){g=zPb(a.a,(Plc(),qlc),f.Kd());vfc(g.k)==-1&&MPb(g,b.o.b,b.o.a);d=wPb(a.a,_jc,d,g);vfc(d.k)==-1&&MPb(d,b.o.b,b.o.a)}return d}}function pUb(a,b){var c,d;d=(Md(b.n==(Plc(),jjc),S_c,b),b.c.Di());c=iVb(Wb(d));switch(c.f){case 1:return kUb(a,b);case 9:return nUb(a,b);case 10:return mUb(a,b);case 21:return zUb(a,b);case 8:return lUb(a,b);case 12:return qUb(a,b);case 13:return rUb(a,b);default:throw q0(new RAc("Invalid type transformation operation"));}}function m$b(a,b){var c, +d,e,f;f=Y_b(a.g,0).d.b;c=(On(),new vs);EYb(a,(V2b(),_1b));while(d_b(a,0)||Y_b(a.g,0).e==b2b){ts(c,n$b(a,b));if(W$b(a,h1b))EYb(a,h1b);else break}if(W$b(a,p1b)){k_b(a,(dXb(),KWb));e=Y_b(a.g,0).d.b;EYb(a,p1b);d=z$b(a,b);ts(c,new S4b(new w7b(e,a.f),d))}EYb(a,d1b);return new R4b(new w7b(f,a.f),Wn(c.a))}function S$b(a,b){var c,d,e;d=Y_b(a.g,0).d.b;e=Y_b(a.g,0).e;switch(e.f){case 30:case 38:case 25:EYb(a,e);break;default:l_b(a,Y_b(a.g,0),"expected declaration",yG(tG(rZ,1),zUc,1,5,[]));return null}c=(On(), +new vs);ts(c,R$b(a,e,b));while(W$b(a,(V2b(),h1b))){EYb(a,h1b);ts(c,R$b(a,e,b))}return new j7b(new w7b(d,a.f),e,Wn(c.a))}function x8(a,b,c){var d,e;F8(a);d=b.charCodeAt(0);e=a.Eh();(d==43||d==45)&&e==d?a.sh(" "):(_zc==null&&(_zc=new RegExp("[A-Z]","i")),_zc.test(String.fromCharCode(d))&&(e==95||e==36||($zc==null&&($zc=new RegExp(uUc,"i")),$zc.test(String.fromCharCode(e))))?a.sh(" "):(e==45&&d==62||e==60&&d==33)&&a.sh(" "));a.vh(b,c);c&&a.Gh()}function iKb(a,b,c){var d,e,f,g,h,i,j,k,l,m;g=new vMc;m= +new NFc(b);while(m.b!=m.c){h=(e=EFc(m),e);j=g.a.Me(h,g);if(j==null)for(l=h.Vh().Xd();l.Jd();){k=l.Kd();f=gDc(a.b,k);!!f&&(uFc(m,f),true)}}d=(On(),new vs);for(i=new HGc(c?a.c:a.f);i.a>19!=0)return"-"+$G(TG(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=BG(1E9);c=EG(c,e,true);b=""+ZG(AG);if(!(c.l==0&&c.m==0&&c.h==0)){f=9-b.length;for(;f>0;f--)b="0"+b}d=b+d}return d} +function xKb(a,b,c){var d,e,f,g,h;h=(on(),new bu);e=new vMc;for(g=Pv(a.a.Xd(),a.b);g.b.Jd();){f=aw(g,g.b.Kd());d=c.wi(f);if(!sMc(e,wKb(d,b)))throw q0(new zsb("Duplicate module path after resolving: "+f));!OBc(d.substr(0,1),"/")&&!(OBc(d.substr(0,2),eYc)||OBc(d.substr(0,3),V$c))&&(d="/"+d);fGc(h.b,Pd(d))}return Ep(new HGc(h.b))}function oLb(a,b,c){var d,e,f,g,h;h=(qKb(),(!OBc(b.substr(0,"/".length),"/")&&!(OBc(b.substr(0,eYc.length),eYc)||OBc(b.substr(0,V$c.length),V$c))?"/":"")+b);for(g=Qv(new eJc(a.b.b.b.Xd()));g.Jd();){f= +g.Kd();if(!OBc(h.substr(0,f.length),f))continue;d=f+Y$c+c;e=nLb(a,b,d);e==null&&(e=pLb(a,b,d));if(e!=null)return e}return null}function FMb(){FMb=T0;EMb=new $hb("JSC_MUTATED_EXPORT",(p7(),o7),new aDc('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.'))}function aRb(a,b){var c,d;switch(b.a.e.f){case 100:return c= +CPb(a.a,b.a),d=yPb(a.a,c),vfc(d.k)==-1&&MPb(d,b.o.b,b.o.a),d;case 101:return rRb(a,b);case 99:case 98:return uPb(a.a,jQb(b.a.e));case 97:return uPb(a.a,(Plc(),Pkc));case 102:return oRb(a,b);default:throw q0(new RAc("Unexpected literal type: "+b.a.Ik+" type: "+b.a.e));}}function R$b(a,b,c){var d,e,f,g;f=Y_b(a.g,0).d.b;g=null;if(V$b(a,0,(V2b(),b2b))||V$b(a,0,_1b))e=q$b(a,0);else{e=SZb(a);W$b(a,g1b)&&(g=(EYb(a,g1b),J$b(a)))}d=null;W$b(a,t1b)?d=(EYb(a,t1b),eZb(a,c)):c!=0&&(b==i1b?o_b(a,C0c,yG(tG(rZ,1), +zUc,1,5,[])):_2b(e)&&o_b(a,D0c,yG(tG(rZ,1),zUc,1,5,[])));return new k7b(new w7b(f,a.f),e,g,d)}function nqc(a,b){var c,d,e;if((Yvc(a.v,b)?1:0)==0){e=OBc(SYc,b);d=OBc("bind",b);if(e||d)Hoc(a,b,hqc(a,e),a.k);else if(OBc(VYc,b)){c=new Ipc(a.D);Epc(c,yG(tG(iY,1),zUc,23,0,[Jtc(a.D,mmc(a.o)?Vtc(a.D,(ztc(),xtc)):a.o),Jtc(a.D,Vtc(a.D,(ztc(),itc)))]));Hoc(a,b,Yqc(jrc(frc(drc(new mrc(a.D),c.b),a.b.b),a.F.c)),a.k)}}return Koc(a,b)}function hE(a){var b,c,d,e;e=vG(vH,zVc,50,5,15,1);b=new pGc;while(AE(a.a))if(lE(a, +59)){iE(a,b);b.a.length==0||(b=new pGc)}else{d=0;while(!kE(a)){e[d]=UD(a.a);++d}c=jE(a,e,d);Xd(a.i.b<0||a.bn&&yCc(a.c,b,n,m);h=m;if(h0?(e.i=(cTb(),aTb),SSb(e),h=!e.o?HTb(e.j):ZRb(e),i=bSb(e,h,0,false,true),j=" "+i.a,e.d?Ebc(e.d,j):e.f.d?Pbc(e.f,j):Pbc(e.f,""),undefined):lSb(e);return e}function lob(a,b){var c,d,e,f;Gd(b.n==(Plc(),jjc)||b.n==Mic||b.n==Mkc);e=new pGc;d=null;for(c=Lec(b);c;c=Lec(b))if(c.n==skc||c.n==Wkc){f=Lec(c);if(f.n==Mic)!d?d=f:Rdc(d,Kec(f));else{if(d){e.a[e.a.length]=d;d=null}fGc(e,Kob(a.c,f))}}else{!d&&(d=Wec(E8b(yG(tG(CX,1),mWc,7,0,[])),a.a)); +Odc(d,c)}!!d&&(e.a[e.a.length]=d,true);return e}function W_b(a,b,c){var d,e,f;d=a.f;e=x0b(a);!S_b(a,a.f)&&Z_b(a,uYb(a.g,d),J0c,yG(tG(rZ,1),zUc,1,5,[]));f=dCc(a.b,d,a.f);switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 96:T_b(a);return new P0b(b,f,e.a,e.b,vYb(a.g,d-1,a.f));case 36:T_b(a);T_b(a);return new P0b(c,f,e.a,e.b,vYb(a.g,d-1,a.f));default:return new P0b(b,f,e.a,e.b,vYb(a.g,d-1,a.f))}}function zmc(a){var b,c,d,e,f,g,h;if(a.bj())return jmc(a,(ztc(),Wsc));else if(a.vj()){h=a.vj();g=false;c=(jsc(new Lyc, +h.a)&&syc(h,fzc(dzc(new izc(h),h.a))),h.a);for(f=0;f=0){++j;i=SBc(f,jCc(46),i+1)}}if(!!e&&dwb(d))return true;for(h=0;h>>16<<24>>24;if(f>>8&255)<<24>>24;if(f>24}}}return d}function tDb(b,c){var d,e,f,g,h,i;if(!b.a){b.a=true;i=b.c.b;try{g=b.c.a;d=new eE;h= +mF(g);aE(d,h);b.b=d}catch(a){a=p0(a);if(lH(a,105)){e=a;f=new Lrb(null,null,-1,-1,rDb,null,yG(tG(wZ,1),eWc,2,6,[i,e.g]));bEb(c,f.b,f)}else if(lH(a,126)){e=a;f=new Lrb(null,null,-1,-1,qDb,null,yG(tG(wZ,1),eWc,2,6,[i,e.g]));bEb(c,f.b,f)}else throw q0(a);}}return b.b}function hwc(a,b,c){cmc();var d,e,f,g;Mpc.call(this,new Wqc(a));this.a=false;this.u=true;for(g=Qv(new eJc((d=b.b,!d?b.b=Pu(b.a,CJc(b.c)):d).b.b.Xd()));g.Jd();){f=g.Kd();e=f==null?null:dz(b.d,f);if(!e)throw q0(new RAc("RecordProperty associated with a property should not be null!")); +c?Hoc(this,f,e.b,e.a):ewc(this,f,e.b,false,e.a)}this.a=true}function ilb(a,b,c){var d,e,f,g,h,i,j;j=elb(a,b,c);h=Xdc(b.c?b.c.i:null);d=kfc(x2(a.a,j,h),h);f=dec(b,(vhc(),_gc));if(aec(b,nhc)!=0&&owb(d.c?d.c.i:null)){g=$cc(f);Lcc(g,new ddc(jfc(new ofc((Plc(),bjc),new mfc(elc)),b),(e=dec(b,mhc),!e?null:e.ah())));f=Gbc(g)}!!f&&(Iec(d,_gc,f),d);i=(vub(),ifc((Vd(b9b(d),d),new ofc((Plc(),Pjc),d)),d));wlb(c.i,i)}function rBb(a,b){switch(JVb(b)){case "ts":return qBb(a,(vfb(),kfb));case B$c:return qBb(a,(vfb(), +pfb));case "es9":return qBb(a,(vfb(),ofb));case "es8":return qBb(a,(vfb(),nfb));case "es7":return qBb(a,(vfb(),mfb));case ZXc:return qBb(a,(vfb(),lfb));case "es5":return qBb(a,(vfb(),ifb));case "es3":return qBb(a,(vfb(),hfb));default:return false}}function EE(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(b==null||d.b<0)return;h=e;g=f;if(a.f.b!=0||a.f.a!=0){o=a.f.b;p=a.f.a;i=a.f.a;e.b>0&&(p=0);f.b>0&&(i=0);h=new XD(e.b+o,e.a+p);g=new XD(f.b+o,f.a+i)}l=new UE;l.d=b;l.c=d;l.b=c;l.e=h;l.a=g;if(a.b){k=a.b.e.b; +j=a.b.e.a;n=l.e.b;m=l.e.a;ae(n>k||n==k&&m>=j,fBc(k),fBc(j),fBc(n),fBc(m))}a.b=l;fGc(a.e,l)}function fLb(a){eLb();var b,c,d,e,f,g,h,i,j;i=_Bc(a,"/",0);d=vG(wZ,eWc,2,i.length,6,1);j=0;c=0;b=i.length>1&&i[0].length==0;b&&--c;for(f=i,g=0,h=f.length;g0){--j;--c;d[j]=null}else if(!b){d[j]=e;++j}continue}d[j]=e;++j;++c}if(b&&j==1)return"/";return Ic(dLb,new PDc(new mHc(OGc(d,j))))}function lF(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!= +null&&a.url!=null)throw q0(new nF("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new oF(0,a.url,c,b);else if(a.map!=null)return new oF(1,pCc(a.map),c,b);throw q0(new nF("Invalid map format: section must have either 'map' or 'url'"));}function Mq(a,b,c){var d,e,f,g,h;d=I0(B0(iVc,cBc(I0(B0(b==null?0:zb(b),jVc)),15)));h=I0(B0(iVc,cBc(I0(B0(c==null?0:zb(c),jVc)),15)));f=Pq(a,b,d);if(!!f&&h==f.f&&Cd(c,f.i))return c;g=Qq(a,c,h);if(g)throw q0(new zsb("value already present: "+ +c));e=new sr(b,d,c,h);if(f){Hq(a,f);Kq(a,e,f);f.e=null;f.c=null;return f.i}else{Kq(a,e,null);Oq(a);return null}}function k8(a){var b;this.b=a;this.a=Kp("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",yG(tG(wZ,1),eWc,2,6,["goog.isFunction","goog.isArray","goog.isArrayLike","goog.isObject"]));b=(on(),new bu);_t(b,yG(tG(wZ,1),eWc,2,6,["superClass_","instance_","getInstance"]));au(b,(On(),On(),Nn));Ep(new HGc(b.b))}function hBb(a,b,c){var d,e,f,g,h;Gd(c.n== +(Plc(),Tkc));f=a3(a.a,Stb(b),c.d,yG(tG(CX,1),mWc,7,0,[c3(a.a,yG(tG(CX,1),mWc,7,0,[]))]));h=null;for(e=(!c.c?(LHc(),LHc(),KHc):new yhc(c.c)).Xd();e.Jd();){d=e.Kd();if(d.n==skc||d.n==Wkc){g=Lec(d);Odc(f,g);h=null}else{if(!h){h=c3(a.a,yG(tG(CX,1),mWc,7,0,[]));Odc(f,h)}Odc(h,Xdc(d))}}lfc(f,c);Oec(c.g,c,f);a.b.Vg(f)}function nOb(a){var b;b="";!a.d&&(b+=" languageMode");!a.g&&(b+=" strictMode");!a.c&&(b+=" jsDocParsingMode");!a.f&&(b+=" runMode");!a.a&&(b+=" annotations");!a.i&&(b+=" suppressionNames"); +!a.b&&(b+=" closurePrimitiveNames");a.e==null&&(b+=" parseInlineSourceMaps");if(b.length!=0)throw q0(new RAc(SWc+b));return new jOb(a.d,a.g,a.c,a.f,a.a,a.i,a.b,a.e)}function Fnb(a,b){if(b.g.n==(Plc(),Pjc))return;Xob(a.a,b)!=0?Zob(a.a,b):a.b.b.Tg(Qrb(b,(Job(),Hob),yG(tG(wZ,1),eWc,2,6,["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"])))} +function n0b(a){var b,c,d,e;c=a.f;T_b(a);T_b(a);while(S_b(a,a.f)&&((S_b(a,a.f)?JBc(a.b,a.f):0)!=42||(S_b(a,a.f+1)?JBc(a.b,a.f+1):0)!=47))T_b(a);if(S_b(a,a.f)){T_b(a);T_b(a);d=(y3b(),t3b);a.f-c>4&&(JBc(a.b,c+2)==42?d=v3b:JBc(a.b,c+2)==33&&(d=u3b));b=vYb(a.g,c,a.f);e=dCc(a.b,c,a.f);t_b(a.a,d,b,e)}else $_b(a,"unterminated comment",yG(tG(rZ,1),zUc,1,5,[]))}function xyc(a,b){var c,d,e,f,g,h,i,j;h=a.D;d=new hzc(h);for(f=0;f=0){if(a.e==13&&b==10){a.e=10;continue}a.e=-1;a.f=a.i-1;++a.g}if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{Vlc();if(b>127)continue;if(PTb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function jE(a,b, +c){var d;switch(c){case 1:d=new nE(b[0]+a.c);a.c=d.e;return d;case 4:d=new tE(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.ng();a.g=d.og();a.e=d.mg();return d;case 5:d=new yE(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e,b[4]+a.d);a.c=d.e;a.f=d.ng();a.g=d.og();a.e=d.mg();a.d=d.lg();return d;default:throw q0(new nF("Unexpected number of values for entry:"+c));}}function Hub(a){var b;b=a.g;if(a.n==(Plc(),Vjc)&&rvb(a.g)&&a.n==Vjc&&Uvb(a.c)||a.n==ojc&&rvb(a.g)&&a.n==ojc&&Uvb(a.c))return a.c;else if(a.n== +pjc)return Hub(b);else if(b.n==Gkc)return b;else if(b.n==Pic)return b.c;else if(dwb(b)||b.n==sjc)return b;else if(b.n==ckc&&b.c!=a||b.n==Ykc||b.n==Jic||b.n==rjc&&b.c!=a)return Hub(b);else if(b.n==mjc)return Hub(b);return null}function ixb(a,b){var c,d,e,f,g,h;Vd(a.n==(Plc(),Vjc),a);vub();if(a.n==Vjc&&rvb(a.g)&&a.n==Vjc&&Uvb(a.c)&&!Dvb(a)){e=a.c;f=e.zi(false);g=ifc(N8b(f,Jlc),a);e.Ii("");b.Vg(e);h=a.g;Jec(h,a);Pdc(h,g);b.Vg(g);Pdc(f,a);return true}else if(a.n==Vjc&&(Hd(a.n==Vjc,a),a.c?a.c.i:null).n!= +gjc){d=(Hd(a.n==Vjc,a),a.c?a.c.i:null);c=I8b(k9b(Xdc(d)));lfc(c,d);Odc(a,c);b.Vg(c)}return false}function Izb(){Izb=T0;Gzb=new $hb("JSC_INVALIDATION",(p7(),n7),new aDc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));Hzb=new $hb("JSC_INVALIDATION_TYPE",n7,new aDc("Property disambiguator skipping instances of property {0} on type {1}. {2}"));new $hb("JSC_INVALID_RENAME_FUNCTION",m7,new aDc("{0} call is invalid: {1}"))}function v8(a,b){var c,d,e;F8(a); +if(b.length==0)return;c=b.charCodeAt(0);(c==95||c==36||($zc==null&&($zc=new RegExp(uUc,"i")),$zc.test(String.fromCharCode(c)))||c==92)&&S8(a.Eh())?a.sh(" "):c==47&&a.Eh()==47?a.sh(" "):(c==34||c==39)&&S8(a.Eh())&&a.Hh();e=0;d=RBc(b,jCc(10));while(d>=0){d>e&&a.sh(b.substr(e,d-e));a.Lh();e=d+1;d=SBc(b,jCc(10),e)}b.length>e&&a.sh(b.substr(e))}function bZb(a,b){var c,d,e;e=Y_b(a.g,0).d.b;c=(On(),new vs);EYb(a,(V2b(),b2b));while(W$b(a,h1b)||$$b(a))if(W$b(a,h1b)){d=Y_b(a.g,0).d.b;EYb(a,h1b);ts(c,new P4b(new w7b(d, +a.f)))}else{ts(c,r$b(a,b));if(W$b(a,h1b))EYb(a,h1b);else break}if(W$b(a,p1b)){k_b(a,(dXb(),_Vb));ts(c,_Zb(a,b))}if(!EYb(a,f1b))return new K4b(LYb(a,Y_b(a.g,0).d.b));return new g3b(new w7b(e,a.f),Wn(c.a))}function hHb(a,b){var c,d,e;d=b.g;if(!d)return;if(d.n==(Plc(),gjc)||d.n==llc||d.n==pjc)if(b.n==ojc||b.n==Vjc||b.n==Bkc)b9(a,gHb(a,b));else if(b.n==Pjc&&b.c.n==Pic){c=b.c;if(Ovb(c.c))b9(a,Erb(a.a,dec(c,(vhc(),_gc))));else{e=c.c?c.c.i:null;b9(a,gHb(a,e))}}else{vub();!!b&&(b.n==Jlc||b.n==ykc||b.n==tjc)&& +!!b.c.c&&(Ovb(b.c)?b9(a,Erb(a.a,dec(b,(vhc(),_gc)))):b9(a,gHb(a,b.c.c)))}}function wjb(a,b,c){var d,e,f,g;f=c.c;e=f.f.Di();if(vjb(b,f)){a.a.wg(gZc,false);g=(vub(),Mub(c,new wwb));switch(e){case "iterator":{d=jfc(P8b(K8b(hwb(a.a,"$jscomp.initSymbolIterator"),yG(tG(CX,1),mWc,7,0,[]))),g);Ndc(g.g,d,g);a.a.Vg(d);break}case "asyncIterator":{d=jfc(P8b(K8b(hwb(a.a,"$jscomp.initSymbolAsyncIterator"),yG(tG(CX,1),mWc,7,0,[]))),g);Ndc(g.g,d,g);a.a.Vg(d);break}}}}function Zub(a){vub();switch(a.n.f){case 48:return Plc(), +ejc;case 49:return Plc(),fjc;case 50:return Plc(),cjc;case 51:return Plc(),zkc;case 52:return Plc(),klc;case 53:return Plc(),Ilc;case 54:return Plc(),Iic;case 55:return Plc(),tlc;case 56:return Plc(),Fkc;case 59:return Plc(),Ljc;case 57:return Plc(),Cjc;case 58:return Plc(),Dkc}throw q0(new zsb("Not an assignment op:"+a));}function zmb(a,b,c){var d,e,f,g,h,i,j,k;k=Lec(b);d=Lec(b);i=Lec(b);f=d.c?new tnb(a.a):null;j=!i?null:new tnb(a.a);g=Xmb(a.a,c);Pmb(a.a,f,j,k);xmb(a,k,null,null);if(!i)Wmb(a.a,f, +g,k);else{gnb(a.a,j);Omb(a.a,f,j,i);xmb(a,i,null,null);Vmb(a.a,g,i)}if(d.c){Ud(d.c.n==(Plc(),njc));gnb(a.a,f);h=Xdc(d.c.c);Nmb(a.a,j,h);e=Xdc(d.c.c);Ud(e.n==gjc);xmb(a,e,null,null);Umb(a.a,j,e)}gnb(a.a,g)}function Nq(a,b,c,d){var e,f,g,h,i;i=I0(B0(iVc,cBc(I0(B0(b==null?0:zb(b),jVc)),15)));e=I0(B0(iVc,cBc(I0(B0(c==null?0:zb(c),jVc)),15)));h=Qq(a,b,i);g=Pq(a,c,e);if(!!h&&e==h.a&&Cd(c,h.g))return c;else if(!!g&&!d)throw q0(new zsb("key already present: "+c));!!h&&Hq(a,h);!!g&&Hq(a,g);f=new sr(c,e,b, +i);Kq(a,f,g);if(g){g.e=null;g.c=null}if(h){h.e=null;h.c=null}Oq(a);return!h?null:h.g}function HG(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=KG(b)-KG(a);g=UG(b,j);i=DG(0,0,0);while(j>=0){h=NG(a,g);if(h){j<22?(i.l|=1<>>1;g.m=k>>>1|(l&1)<<21;g.l=m>>>1|(k&1)<<21;--j}c&&JG(i);if(f)if(d){AG=TG(a);e&&(AG=XG(AG,(eH(),cH)))}else AG=DG(a.l,a.m,a.h);return i}function Alb(a,b){var c,d,e,f;d=Qd((vub(), +Mub(b,new wwb)),b);if(d==b)return true;else{c=b.g;if(!!d&&(d.n==(Plc(),Jlc)||d.n==ykc||d.n==tjc)&&c.n==(Plc(),Gkc)&&d==c.g&&!(c==c.g.c?null:c.i))return true;else if(d.n==(Plc(),Pjc)&&d==c.g&&!(c==c.g.c?null:c.i)&&!c.f&&c.n==Pic&&(f=b==b.g.c?null:b.i,!!f&&c==f.g&&!(f==f.g.c?null:f.i))){e=c.c;return!n2(b1(a.b),e,false)}else return false}}function $Gb(a,b){var c,d,e,f,g,h,i,j;g=new NQc;for(f=(j=(new dEc(gqc(b).a)).a.Je().Xd(),new jEc(j));f.a.Jd();){e=(c=f.a.Kd(),c.ff());LQc(g,e.Mi(new DCc,true).a)}for(i= +(d=(new fFc(g.a)).a.Je().b.yk(),new nFc(d));i.a.Jd();){h=(c=i.a.Kd(),c.ff());a.a+=U$c;ACc(ACc(ACc(ACc((a.a+="@",a),BXc)," {"),h),"}");a.a+=xVc}b.i==(rrc(),prc)&&b.g?(a.a+=" * @record\n",a):(a.a+=" * @interface\n",a)}function N7b(a){var b,c;if(a.a==null)return I7b(a,wUc,0);if(lH(a.a,190))return I7b(a,pCc(a.a),0);else if(lH(a.a,129)){b=OAc(a.a);if(!(b>=0&&b<=DVc))throw q0(new y7b(b));c=b=0&&b<=DVc),b>=CVc?yG(tG(uH,1),rUc,50,15,[55296+(b-CVc>>10&EVc)&qUc,56320+ +(b-CVc&EVc)&qUc]):yG(tG(uH,1),rUc,50,15,[b&qUc])));return I7b(a,c,0)}else throw q0(F7b(a));}function Xlc(a,b,c,d,e){var f,g,h,i,j,k;g=new _hc((Plc(),Wjc),a);Pd(b);Pd(c);for(j=new cOc(new VNc(b));j.b!=j.c.a.b;){h=aOc(j);f=e9b(h.d);Odc(g,Ylc(f,h.e))}for(i=new cOc(new VNc(c));i.b!=i.c.a.b;){h=aOc(i);f=e9b(h.d);Gec(f,(Ldc(),Cdc),true);Odc(g,Ylc(f,h.e))}if(d!=null){k=new ofc(rkc,(Zd(RBc(d,jCc(46))==-1,kWc,d),Ldc(),new Lhc(Gkc,d)));Odc(g,(!!e&&Iec(k,(vhc(),Dgc),e),k))}return g}function Ze(a){var b,c,d, +e;c=a.c;while(a.c!=-1){e=c;d=a.ne(a.c);if(d==-1){b=a.e.length;a.c=-1}else{b=d;a.c=a.me(d)}if(a.c==c){++a.c;a.c>a.e.length&&(a.c=-1);continue}while(ee&&a.f.Nd(JBc(a.e,b-1)))--b;if(a.d&&e==b){c=a.c;continue}if(a.b==1){b=a.e.length;a.c=-1;while(b>e&&a.f.Nd(JBc(a.e,b-1)))--b}else--a.b;return bCc(a.e,e,b)}return a.i=2,null}function n4(a,b){var c,d,e,f,g,h,i;switch(b.n.f){case 98:h=Rlc(b.n),h!=-1&&(d=$dc(b),h!=d&&b5(CWc+h+DWc+d,b));e4(a,b.c,true);break;case 161:e=$dc(b), +0!=e&&b5(AWc+e,b);break;case 162:i=Rlc(b.n),i!=-1&&(f=$dc(b),i!=f&&b5(CWc+i+DWc+f,b));Q3(b.c,0);break;case 163:g=Rlc(b.n),g!=-1&&(c=$dc(b),g!=c&&b5(CWc+g+DWc+c,b));break;default:b5("Interface contained member of invalid type "+b.n,b)}}function vfb(){vfb=T0;hfb=new yfb(iYc,0);ifb=new yfb(jYc,1);jfb=new yfb("ECMASCRIPT5_STRICT",2);lfb=new yfb("ECMASCRIPT_2015",3);kfb=new yfb("ECMASCRIPT6_TYPED",4);mfb=new yfb("ECMASCRIPT_2016",5);nfb=new yfb("ECMASCRIPT_2017",6);ofb=new yfb(kYc,7);pfb=new yfb(lYc,8); +qfb=new yfb("ECMASCRIPT_NEXT",9);sfb=new yfb("STABLE",10);rfb=new yfb("NO_TRANSPILE",11);ufb=new yfb(mYc,12);tfb=pfb}function hwb(a,b){vub();var c,d,e,f,g,h,i;c=RBc(b,jCc(46));if(c==-1)return gwb(a,b);f=b.substr(0,c);OBc(ZVc,f)?e=new mfc((Plc(),Alc)):OBc(XVc,f)?e=new mfc((Plc(),ulc)):e=gwb(a,f);do{i=c+1;c=SBc(b,jCc(46),i);g=c==-1?b.substr(i):b.substr(i,c-i);h=(Ldc(),new Lhc((Plc(),qlc),g));Yec(h,g.length);a.yg().nh(g)&&Gec(h,zdc,true);d=e.e+1+g.length;e=T8b(e,h);e.e=d}while(c!=-1);return e}function guc(){this.B= +new wq(new ENc,new zq);new oMc;this.t=new mfc((Plc(),jlc));this.v=Rz(Gz((pl(8,RZc),new Iz)));this.D=Tz(Hz((pl(8,RZc),new Iz)));this.A=new vMc;this.e=new vMc;this.f=new ENc;this.j=new oMc;this.q=new Iw;new pGc;this.g=(Gd(!this.g),new _wc(this,(On(),On(),Nn),(null,Nn)));this.u=vG(iY,zUc,23,Btc().length,0,1);Tf(this.D);yNc(this.f);Ytc(this);yNc(this.B.a);Ztc(this)}function gHb(a,b){var c,d,e;if(b.n==(Plc(),Bkc))return dHb(a,(Ud(!!b.c&&!b.c.f),b.c));else if(b.n==ojc)return bHb(b.d);else if(b.n==Vjc)return cHb(a, +b);else{d=(vub(),c=Gub(b),!!(!c?null:dec(c,(vhc(),_gc))));if(!d)return"";e=b.d;return!e?"":e.rj()?cHb(a,b):(e.qj(),!e.kj()&&!(e.cj()||e.aj()||e.bj()||e==Vtc(e.D,(ztc(),Usc)))&&!e.lj()&&!e._i()?"/** @type {"+rmc(b.d,0)+"} */\n":"")}}function rLb(a,b){var c,d,e,f,g,h,i,j,k,l;j=new OQc(new wLb);for(e=a.Xd();e.Jd();){d=e.Kd();for(g=b.Xd();g.Jd();){f=g.Kd();if(OBc(d.substr(0,f.length),f)){d=cCc(d,f.length);break}}h=_Bc(d,"/node_modules/",0);i="";for(c=0;c1&&e.length==c-f&&WBc(e,false,0,b,f,c-f)&&Fec(a.c,b,f-1);case 98:default:return false}}function _Bc(a,b,c){var d,e,f,g,h,i,j,k;d=new RegExp(b,"g");j=vG(wZ,eWc,2,0,6,1);e=0;k=a;g=null;while(true){i=d.exec(k);if(i==null||k==""||e==c-1&&c>0){j[e]=k;break}else{h=i.index;j[e]=k.substr(0,h);k=dCc(k,h+i[0].length,k.length);d.lastIndex=0; +if(g==k){j[e]=k.substr(0,1);k=k.substr(1)}g=k;++e}}if(c==0&&a.length>0){f=j.length;while(f>0&&j[f-1]=="")--f;f36)throw q0(new EBc("radix "+b+" out of range"));e=a.length;f=e>0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(c=f;cmUc)throw q0(new EBc(C1c+a+'"'));return g}function _sb(a,b,c){var d,e,f,g,h,i,j,k,l;j=a.e;l=b.f;g=b.d;f=b.a;d=new DCc;e=new DCc;i=etb(l,g);if(a.c){h=!j?null:Cbb(j,b.f,b.d,b.a);if(!h)e.a+=""+i;else{l=h.d;g=h.c;f=h.a;d.a+=""+i;d.a+="\nOriginally at:\n";ACc(e,etb(l,g))}}if(a.b){ACc(e,e1(a,c?(p7(),o7):(p7(),m7)));e.a+=" - [";ACc(e,b.g.b);e.a+="] "}ACc(e,b.c);ACc(d,g1(a,e.a));d.a+=xVc;k=atb(a, +b,l,g,f);k!=null&&(d.a+=""+k,d);return d.a}function JRb(a,b){var c,d,e,f,g,h;switch(b.p.f){case 33:c=b;f=c.c;e=c.b;d=true;break;case 34:h=b;f=h.d;e=h.b;d=true;break;case 1:g=b;f=g.k;e=g.i;d=g.f||g.e;break;default:return false}if(e)return false;if(f.e!=(V2b(),E1b)||!OBc(f.a,pWc))return false;if(d){a.a.e.fi("Class constructor may not be getter, setter, async, or generator.",a.a.s,(fPb(),b.o.b.b+1),b.o.b.a);return false}return true}function hyb(){hyb=T0;eyb=new $hb("JSC_FEATURES_NOT_SUPPORTED_BY_PASS", +(p7(),m7),new aDc('Attempted to run pass "{0}" on input with features it does not support. {1}\nUnsupported features: {2}'));gyb=aSc((nAc(gR),gR.p));fyb=(On(),new _A(eo(yG(tG(rZ,1),zUc,1,5,["inlineFunctions",hYc,"deadAssignmentsElimination",gYc,"removeUnusedCode",n$c,o$c]))));dyb=new _A(eo(yG(tG(rZ,1),zUc,1,5,[n$c,o$c])))}function qKb(){qKb=T0;new $hb("JSC_MODULE_CONFLICT",(p7(),o7),new aDc("File cannot be a combination of goog.provide, goog.module, and/or ES6 module: {0}"));pKb=new $hb("JSC_JS_MODULE_LOAD_WARNING", +m7,new aDc('Failed to load module "{0}"'));oKb=new $hb("JSC_INVALID_MODULE_PATH",m7,new aDc('Invalid module path "{0}" for resolution mode "{1}"'));nKb=new tKb((On(),On(),Nn),(null,Nn),(GJb(),FJb))}function cE(b,c,d){var e,f,g,h,i,j;!d&&(d=new gE);try{if(c.c>=0||c.d!=null||c.g!=null||c.e!=null)throw q0(new nF("Invalid map format"));f=new LE;for(j=c.f.Xd();j.Jd();){i=j.Kd();g=i.d;i.c==0&&(g=null);if(g==null)throw q0(new nF("Unable to retrieve: "+i.d));JE(f,i.b,i.a,g)}h=new DCc;GE(f,h,c.b);bE(b,h.a)}catch(a){a= +p0(a);if(lH(a,105)){e=a;throw q0(new nF("IO exception: "+e));}else throw q0(a);}}function yUb(a,b){var c,d;d=(Md(b.n==(Plc(),jjc),S_c,b),b.c.Di());c=iVb(Wb(d));switch(c.f){case 19:return wUb(a,b);case 22:return EUb(a,b);case 11:return cUb(a,b,(gVb(),VUb));case 0:return cUb(a,b,(gVb(),KUb));case 23:return cUb(a,b,(gVb(),fVb));case 14:return sUb(a,b);case 18:return xUb(a,b);case 17:return uUb(a,b);case 20:return oUb(a,b);default:throw q0(new RAc("Invalid type expression"));}}function ND(a,b,c){var d, +e,f,g,h,i;Pd(c);if(b==0)throw q0(new Nzc("/ by zero"));f=a/b|0;h=a-b*f;if(h==0)return f;i=1|(a^b)>>31;switch(c.f){case 7:QD(h==0);case 1:g=false;break;case 0:g=true;break;case 2:g=i>0;break;case 3:g=i<0;break;case 6:case 5:case 4:d=$wnd.Math.abs(h);e=d-($wnd.Math.abs(b)-d);e==0?g=c==(TCc(),QCc)||c==PCc&(f&1)!=0:g=e>0;break;default:throw q0(new Tzc);}return g?f+i:f}function Eob(a,b,c){var d,e,f,g,h,i;i=$dc(c);if(i==0)Pec(c,j3(a.a,'""'));else{f=Lec(c);Ud(f.n==(Plc(),ylc)&&f.Ai()!=null);g=j3(a.a,f.Ai()); +if(i==1)Oec(c.g,c,g);else{d=Qob(D8b(g,Lec(Lec(c))),c.d);for(h=2;h=0,"invalid depth: %s",e);f.b=e;e==h.a.length&&fGc(h,new pGc);h.a[e].Qd(f)}return h}function fsb(){fsb=T0;esb=new $hb("JSC_WEAK_FILE_REACHABLE_FROM_ENTRY_POINT_ERROR",(p7(),m7),new aDc("File strongly reachable from an entry point must not be weak: {0}"));csb=new $hb("JSC_EXPLICIT_WEAK_ENTRY_POINT_ERROR",m7,new aDc("Explicit entry point input must not be weak: {0}"));dsb=new $hb("JSC_IMPLICIT_WEAK_ENTRY_POINT_ERROR",o7,new aDc("Implicit entry point input should not be weak: {0}"))} +function LLb(a){gbb();this.a=a;new oMc;this.t=new ENc;this.v=new aRc;this.O=new aRc;this.u=new aRc;new aRc;this.f=new j8;this.r=new vMc;this.H=(cCb(),new iCb(this));this.b=new V1(Mo((Do(),Do(),Co)));this.d=new gEb;this.g=new gEb;this.T=Y5($5(a6(c6(b6(_5(c6(new d6,false),false),"validityCheck"),true),new Ycb),(DVb(),yVb)));this.N=new Ozb;this.e=new pGc;new ENc;new hOc;hbb(this,this.N);this.G=new oMc}function MMb(){MMb=T0;KMb=new $hb("JSC_NULLABLE_RETURN",(p7(),n7),new aDc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable.")); +LMb=new $hb("JSC_NULLABLE_RETURN_WITH_NAME",n7,new aDc('The return type of the function "{0}" is nullable, but it always returns a non-null value. Consider making the return type non-nullable.'))}function Omb(a,b,c,d){var e,f,g;cnb(a,b,c);f=Smb(a);g=BFc(a.k)?null:zFc(a.k);e=new pGc;if(a.o==0){if(!!f||!!g){fGc(e,!f?ifc(Qob((Ldc(),new igc(0)),a.r.f.e),d):qnb(f,d));!!g&&fGc(e,qnb(g,d))}}else{fGc(e,!f?ifc(Qob((Ldc(),new igc(0)),a.r.f.e),d):qnb(f,d));fGc(e,!g?ifc(Qob((Ldc(),new igc(0)),a.r.f.e),d):qnb(g, +d));fGc(e,ifc(h9b(a.o),d))}inb(a,Hmb(a,d,"enterFinallyBlock",oGc(e,vG(CX,mWc,7,0,0,1))));++a.o}function VQb(a,b){var c,d,e,f,g,h,i,j;f=new ENc;c=new ENc;g=null;h=null;if(nQb(a,b.a.a))for(e=b.a.a.Xd();e.Jd();){d=e.Kd();i=null;if(d.p==(O6b(),B6b)){j=d;i=PPb(a.a,j.b);d=j.a}switch(d.p.f){case 26:BNc(f,d.a.a,i);break;case 82:zQb(a,d,(dXb(),NWb));BNc(c,d.a.a.a,i);break;case 65:g=d.a.a.a;h=i;break;default:throw q0(new RAc("Illegal parameter type: "+d.p));}}return gPb(a.a,Xlc(PPb(a.a,b.b),f,c,g,h))}function Hbb(a){var b, +c,d,e,f;(new zDc(a.v.a)).a.Sd();for(e=new HGc(a.n);e.a=48&&c<=57){d=$7b(a);if((a.b=48&&c<=57?c8b(a,b,$7b(a)):c==46?b8b(a,b):a8b(a,b)}function Hgb(a){var b, +c,d;if("".length>0){if(!Lgb(a.a,"".charCodeAt(0))){b=vG(uH,rUc,50,a.a.length,15,1);for(c=0;c";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 uXc;case 20:return"=";case 4:return a.j.n;default:throw q0(new RAc(b.e!=null?b.e:""+b.f));}}function U_b(a){var b;a.d.a.length==0||g0b(a,Y_b(a,0).d.b);b=a.f;T_b(a);if(!q0b(a))return new zYb((V2b(),p2b),dCc(a.b,b,a.f),vYb(a.g,b,a.f));if((S_b(a,a.f)?JBc(a.b,a.f):0)!=47){$_b(a,"Expected '/' in regular expression literal",yG(tG(rZ,1),zUc,1,5,[]));return new zYb((V2b(), +p2b),dCc(a.b,b,a.f),vYb(a.g,b,a.f))}T_b(a);while(C0b(S_b(a,a.f)?JBc(a.b,a.f):0))T_b(a);return new zYb((V2b(),p2b),dCc(a.b,b,a.f),vYb(a.g,b,a.f))}function qZb(a,b,c){var d,e,f,g,h,i,j,k;h=Y_b(a.g,0).d.b;EYb(a,(V2b(),b1b));g=null;(!b||(k=Y_b(a.g,0).e,E1b==k||a.b.d&&qYb(k)||!a.b.c&&pYb(k)))&&(g=FYb(a));e=PYb(a);i=null;if(W$b(a,y1b)){EYb(a,y1b);i=TYb(a,1)}f=(On(),new vs);if(a.b.d&&W$b(a,G1b)){EYb(a,G1b);j=J$b(a);fGc(f.a,Pd(j));while(W$b(a,h1b)){EYb(a,h1b);j=J$b(a);!!j&&(fGc(f.a,Pd(j)),f)}}EYb(a,_1b); +d=sZb(a,c);EYb(a,d1b);return new q3b(new w7b(h,a.f),g,e,i,Wn(f.a),d)}function e4(a,b,c){var d,e,f,g,h,i,j,k;B4((Plc(),Vjc),b);f=Rlc(b.n);f!=-1&&(e=$dc(b),f!=e&&b5(CWc+f+DWc+e,b));K4(a,b.c.f);g=b.c;d=b.c?b.c.i:null;if(b.n==Vjc&&aec(b,(vhc(),ugc))!=0){B4(Gkc,g);C4(g)&&g.Di().length!=0&&b5("Expected empty string.",g);h=Rlc(g.n);h!=-1&&(i=$dc(g),h!=i&&b5(CWc+h+DWc+i,g));d.n==gjc?N3(a,d):c4(a,d)}else{B4(Gkc,g);C4(g);j=Rlc(g.n);j!=-1&&(k=$dc(g),j!=k&&b5(CWc+j+DWc+k,g));c?B4(Fjc,d):N3(a,d)}f4(a,b)}function xUb(a, +b){var c;if(!cUb(a,b,(gVb(),aVb)))return false;if(!BUb(a,(Md(b.n==(Plc(),jjc),S_c,b),Zdc(b,1)))){HUb(a,aVb.d);return false}if((Md(b.n==jjc,S_c,b),Zdc(b,2)).n!=Rkc){a.a.gi(B_c+vic(T_c,yG(tG(rZ,1),zUc,1,5,[DUc])),a.b.ah(),a.d,a.c);HUb(a,aVb.d);return false}c=(Md(b.n==jjc,S_c,b),Zdc(b,2)).Bi();if(c<0||c%1!=0){a.a.gi(B_c+vic(T_c,yG(tG(rZ,1),zUc,1,5,[DUc])),a.b.ah(),a.d,a.c);HUb(a,aVb.d);return false}return true}function qfc(a,b,c){Ldc();Hd(!b.g,"first new child has existing parent");Hd(!b.f,"first new child has existing next sibling"); +Hd(!b.i,"first new child has existing previous sibling");Hd(!c.g,"second new child has existing parent");Hd(!c.f,"second new child has existing next sibling");Hd(!c.i,"second new child has existing previous sibling");this.n=a;this.g=null;this.c=b;b.f=c;b.i=c;b.g=this;c.f=null;c.i=b;c.g=this;this.k=-1}function Dqb(a,b){var c,d,e;switch(b.g.f){case 0:!a.d&&(a.d=b);!a.f&&(a.f=Aqb(b));++a.i;break;case 1:++a.k;c=!b.c?null:(vub(),d=Gub(b.c),!d?null:dec(d,(vhc(),_gc)));!!c&&(c.a&NZc)!=0&&++a.n;break;case 2:case 4:e= +b.c;!a.g&&(_pb(),!!e&&e.n==(Plc(),_jc)&&e.g.n==(Plc(),Pjc))&&(a.g=dec(e,(vhc(),_gc)));++a.u;break;case 3:++a.a;++a.u;break;case 5:++a.c;++a.u;break;case 6:++a.e;break;case 7:++a.s;++a.u;break;default:throw q0(new QAc);}}function Gub(a){vub();var b,c;if(a.n==(Plc(),Pjc))return Gub(a.c);b=dec(a,(vhc(),_gc));if(!b){c=a.g;if(!c||a.n==Pjc)return null;if(c.n==Gkc)return Gub(c);else if(c.n==Pic)return Gub(c);else if(dwb(c)||c.n==sjc)return c;else if((c.n==Vjc||c.n==ojc)&&a==c.c)return Gub(c);else if(!!c&& +(c.n==Jlc||c.n==ykc||c.n==tjc)&&!!c.c&&!c.c.f)return c;else if(c.n==ckc&&c.c!=a||c.n==Ykc||c.n==Jic||c.n==rjc&&c.c!=a)return Gub(c)}return a}function hzb(a,b){dzb();if(a.n==(Plc(),jjc)&&!!a.c&&!!a.c.f&&a.c.f==(a.c?a.c.i:null))if(b==(aLb(),_Kb)&&(Eec(a.c,"__webpack_require__")||Eec(a.c,"__webpack_require__.t"))&&(a.c.f.n==Rkc||a.c.f.n==qlc))return true;else{if(Eec(a.c,aXc)&&a.c.f.n==qlc)return true}else if(a.n==jjc&&lec(a)&&b==(aLb(),_Kb)&&Eec(a.c,"__webpack_require__.bind")&&a.c.f.n==Pkc&&((a.c?a.c.i: +null).n==Rkc||(a.c?a.c.i:null).n==qlc))return true;return false}function izb(a){var b,c,d,e;Gd(a.n==(Plc(),Vjc));if(!a.g)return false;d=a.g;if(d.n!=jjc)return false;if(!(!!d.c&&d.c.n==_jc&&d.c.c.n==jjc))return false;e=d.c.c.c;if(Fec(e,r$c,r$c.length)&&d.c.c.f.n==qlc&&OBc(d.c.c.f.Di(),"then"))return true;else if(Fec(e,s$c,s$c.length)&&!!e.f&&e.f.n==Mic){b=false;for(c=e.f.c;c;c=c.f){if(!(c.n==jjc&&!!c.c&&!!c.c.f&&c.c.f==(c.c?c.c.i:null)&&Eec(c.c,r$c)))return false;b=true}return b}return false}function tCb(a, +b){var c,d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return be(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=KBc(g,h);if(i!=0)return i}else if(g==null&&h!=null)return-1;else if(g!=null&&h==null)return 1;e=a.a.d;f=b.a.d;if(e!=f)return e-f;else if(e<0&&0<=f)return-1;else if(0<=e&&f<0)return 1;c=a.a.a;d=b.a.a;if(c!=d)return c-d;else if(c<0&&0<=d)return-1;else if(0<=c&&d<0)return 1;return KBc(a.a.c,b.a.c)}function kUb(a,b){if(!cUb(a,b,(gVb(),LUb)))return false;if(!iUb(a,(Md(b.n==(Plc(),jjc),S_c,b),Zdc(b, +1)))){a.a.gi(B_c+vic(W_c,yG(tG(rZ,1),zUc,1,5,[X_c])),a.b.ah(),a.d,a.c);return false}if(!BUb(a,(Md(b.n==jjc,S_c,b),Zdc(b,2)))){a.a.gi(B_c+vic(W_c,yG(tG(rZ,1),zUc,1,5,[X_c])),a.b.ah(),a.d,a.c);return false}if(!BUb(a,(Md(b.n==jjc,S_c,b),Zdc(b,3)))){a.a.gi(B_c+vic(W_c,yG(tG(rZ,1),zUc,1,5,[X_c])),a.b.ah(),a.d,a.c);return false}return true}function wAb(a,b,c,d){var e,f,g;Pd(d);Ud(d.n==(Plc(),Olc));Ud(!!c&&!!c.b);Ud(oec(c.b));e=Lec(d);f=Z2(a.a,f3(a.a,Stb(b),t$c),yG(tG(CX,1),mWc,7,0,[]));if(aec(d,(vhc(), +uhc))!=0){Pd(e);Odc(f,f3(a.a,Stb(b),"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR"));Odc(f,e)}else{!e&&(e=(vub(),g=r9b((Ldc(),new igc(0))),g));Odc(f,f3(a.a,Stb(b),"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE"));Odc(f,e)}lfc(f,d);Pdc(d,f);Mec(d,(Ldc(),Kdc))}function ySb(a,b){var c,d;if(b==(ATb(),pTb)){c=new vMc;while(true){if(gSb(a,zTb)){d=a.j.n;!ORb.Td(d)&&!Hbc(a.f,d)&&URb(a,"msg.jsdoc.modifies.unknown",d,a.j.g,GTb(a.j));sMc(c,a.j.n);b=!a.o?HTb(a.j):ZRb(a)}else{SRb(a,M_c,a.j.g,GTb(a.j)); +return b}if(gSb(a,sTb))b=!a.o?HTb(a.j):ZRb(a);else break}if(gSb(a,vTb)){b=!a.o?HTb(a.j):ZRb(a);rcc(a.f,c)||SRb(a,"msg.jsdoc.modifies.duplicate",a.j.g,GTb(a.j))}else SRb(a,M_c,a.j.g,GTb(a.j))}return b}function Bnc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!lH(b,432))return false;f=b;if(!a.b.jj(f.b,c,d))return false;m=a.a.c;i=f.a.c;while(!!m&&!!i){n=m.d;j=i.d;if(n)if(!j||!j.jj(n,c,d))return false;l=aec(m,(vhc(),shc))!=0;h=aec(i,shc)!=0;k=l||aec(m,ehc)!=0;g=h||aec(i,ehc)!=0;if(!k&&g){e=h&&(!j||j.kj()||j.cj()); +if(!e)return false}l||(m=m.f);h||(i=i.f);if(l&&h){m=null;i=null}}return!m||aec(m,(vhc(),ehc))!=0||aec(m,(vhc(),shc))!=0||!!i}function ESb(a,b){var c,d;if(b!=(ATb(),pTb)){SRb(a,N_c,a.j.g,GTb(a.j));return b}else{d=new vMc;while(true){if(gSb(a,zTb)){c=a.j.n;a.k.Td(c)||URb(a,"msg.jsdoc.suppress.unknown",c,a.j.g,GTb(a.j));sMc(d,a.j.n);b=!a.o?HTb(a.j):ZRb(a)}else{SRb(a,N_c,a.j.g,GTb(a.j));return b}if(hSb(a,sTb,iTb))b=!a.o?HTb(a.j):ZRb(a);else break}if(gSb(a,vTb)){b=!a.o?HTb(a.j):ZRb(a);Jcc(a.f,d)}else SRb(a, +N_c,a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a))}}function D7(){D7=T0;C7=new $hb("JSC_REGEXP_REFERENCE",(p7(),o7),new aDc("References to the global RegExp object prevents optimization of regular expressions."));B7=new $hb("JSC_MALFORMED_REGEXP",o7,new aDc("Malformed Regular Expression: {0}"));Kp("$1","$2","$3","$4","$5","$6",yG(tG(wZ,1),eWc,2,6,["$7","$8","$9","$_","$input","input","lastMatch","lastParen","leftContext","rightContext",vWc,"ignoreCase","lastIndex","multiline","source"]))}function vkb(a, +b,c,d){var e,f,g,h,i,j,k,l,m,n;k=Stb(b);j=c.g;if((c.n==(Plc(),ykc)||c.n==tjc)&&!d.c&&(!j||j.n!=Tjc)&&(e=Mub(c,kkb),!!e&&e.n!=Vjc)){m=ifc((n=(Zd(RBc(dZc,jCc(46))==-1,kWc,dZc),Ldc(),new Lhc(Gkc,dZc)),a.d&&Wec(n,skb(a,(ztc(),ytc))),n),d);Pdc(d,m);a.a.Vg(m)}h=d.Di();f=q1(k);if(k!=f){g=h;if(x1(f,h)||tMc(a.e,h)){do g=h+"$"+(""+a.a.Ng().a.S++);while(x1(f,g));d.Ii(g);a.a.Vg(d);l=k.d;kq(a.c,l,h,g)}i=u1(k,h);y1(k,i);lCb(f,g,d,i.a)}}function awb(a){vub();var b,c;c=a.g;switch(a.n.f){case 116:b=(Ud(!!a.c&&!a.c.f), +a.c);break;case 103:if(aec(a,(vhc(),uhc))==0)return false;b=(Ud(!!a.c&&!a.c.f),a.c);break;case 101:case 102:b=a.c.f;break;case 114:switch(c.n.f){case 45:return false;case 93:return true;default:throw q0(new RAc("Unexpected parent of ITRE_REST: "+hfc(c)));}default:throw q0(new RAc("Expected a kind of node that may trigger iteration: "+hfc(a)));}return!Tvb(b)}function Yjb(a,b,c){var d,e,f,g;f=c.f;if(c.e){e=Wec((Zd(RBc(kZc,jCc(46))==-1,kWc,kZc),Ldc(),new Lhc((Plc(),Gkc),kZc)),c.i);g=M8b(e,Wec(new mfc(Alc), +c.i),tjc);wub(b.f,(dXb(),lWb));lfc(g,f);$jb(a,g);!c.c?Pdc(f,g):Mdc(f,g,c.c);a.a.Vg(g)}if(c.d){e=Wec((Zd(RBc(lZc,jCc(46))==-1,kWc,lZc),Ldc(),new Lhc((Plc(),Gkc),lZc)),c.a);d=M8b(e,Wec((Zd(RBc(UVc,jCc(46))==-1,kWc,UVc),new Lhc(Gkc,UVc)),c.a),tjc);wub(b.f,(dXb(),lWb));Pdc(f,d);lfc(d,f);a.a.Vg(d)}}function qAb(a,b){var c,d,e,f,g,h,i,j,k,l;Hd(b.n==(Plc(),_jc),b);g=b.c;Hd(g.n==ulc,g);e=b.c?b.c.i:null;Hd(e.n==qlc,e);d=e.Di();f=b.d;if(zNc(a.a,d)){h=ANc(a.a,d);c=h.a.d;_d(c==f||!!c&&c.zd(f),"Previous reference type: %s differs from current reference type: %s", +c,f)}else{h=(Hd(b.n==_jc,b),i=(b.c?b.c.i:null).Di(),j=b.d,k="$jscomp$async$super$get$"+i,!j?l=null:l=Yqc(frc((cmc(),new mrc(a.b.d)),j)),new pAb(a.b,b,k,l));BNc(a.a,d,h)}return h}function yRb(a,b){var c,d;if(b.a.$d()==1){c=b.a.ee(0);switch(c){case "any":d=gPb(a.a,new $hc((Plc(),Lic)));break;case jUc:d=gPb(a.a,new $hc((Plc(),Skc)));break;case iUc:d=gPb(a.a,new $hc((Plc(),hjc)));break;case lUc:d=gPb(a.a,new $hc((Plc(),slc)));break;case LXc:d=gPb(a.a,new $hc((Plc(),Llc)));break;case dZc:d=gPb(a.a,new $hc((Plc(), +Glc)));break;default:d=gPb(a.a,Zlc(b.a))}}else d=gPb(a.a,Zlc(b.a));vfc(d.k)==-1&&MPb(d,b.o.b,b.o.a);return d}function oSb(a,b){var c;if(b==(ATb(),yTb))return iSb(a,(Plc(),plc));else if(b==pTb){SSb(a);return CSb(a,!a.o?HTb(a.j):ZRb(a))}else if(b==qTb){SSb(a);return NSb(a,!a.o?HTb(a.j):ZRb(a),null)}else if(b==zTb){c=a.j.n;switch(c){case kUc:SSb(a);return uSb(a,!a.o?HTb(a.j):ZRb(a));case wUc:case dZc:return jSb(a,c,a.j.g,GTb(a.j));case k$c:SSb(a);return MSb(a,!a.o?HTb(a.j):ZRb(a));default:return KSb(a, +b)}}a.o=b;return VRb(a,I_c,a.j.g,GTb(a.j)),null}function g_b(a){switch(Y_b(a.g,0).e.f){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 108:case 109:case 110:case 111:case 21:case 29:case 35:case 100:case 101:case 107:case 104:case 97:case 98:case 94:case 95:case 99:case 49:case 47:case 18:case 9:case 26:case 24:case 68:case 69:case 63:case 64:case 77:case 76:return true;default:return false}}function BUb(a, +b){var c,d;if(!(b.n==(Plc(),Gkc)||b.n==qlc||b.n==jjc)){a.a.gi(B_c+vic(U_c,yG(tG(rZ,1),zUc,1,5,[V_c])),a.b.ah(),a.d,a.c);return false}if(b.n==Gkc||b.n==qlc)return true;d=(Md(b.n==jjc,S_c,b),b.c.Di());if(!eUb(d)){a.a.gi(B_c+vic(U_c,yG(tG(rZ,1),zUc,1,5,[V_c])),a.b.ah(),a.d,a.c);return false}c=iVb(Wb(d));switch(c.a){case 0:return yUb(a,b);case 1:return pUb(a,b);default:throw q0(new RAc("Invalid type transformation expression"));}}function I7b(a,b,c){var d,e,f,g,h,i,j,k,l;j=c;k=a.b.p;h=a.b.n;d=mCc(b); +if(h>=0){d=$wnd.Math.min(d,h);lH(b,29)?(l=b.a.length,dl&&(b.a+=qCc(vG(uH,rUc,50,d-l,15,1))),undefined):b=nCc(b,0,d)}k>0&&(k=$wnd.Math.max(mCc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=vG(uH,rUc,50,k-d,15,1);UGc(f,f.length,e);g=a.b.f;i=lH(b,29)?b:new FCc(b);g?(i.a+=rCc(f,0,f.length),i):CCc(i,j,rCc(f,0,f.length));return i}function r8b(a){var b,c,d,e,f,g,h,i;h=_Bc(a,"\r?\n",0);b=(Do(),new Fs);for(e=0;e=100)while(v0(B0(u0(d,10),w0($wnd.Math.pow(10,c+1))),g)){d=u0(d,10);++c}if(c>2)v8(a,J0(d)+"E"+c);else{h=s0(g,0)<0?C0(g):g;s0(h,1E12)>0&&qBc(h,4).length+2<(""+J0(h)).length?v8(a,(s0(g,0)<0?"-":"")+"0x"+qBc(h,4)):v8(a,""+J0(g))}}else v8(a,$Bc(YBc(""+b,".0E","E"),"^(-?)0\\.","$1."))}function CAb(a,b,c,d,e){var f,g,h,i;if(e.n!=(Plc(),_jc)){a.b.Tg(Qrb(e,sAb,yG(tG(wZ,1),eWc,2,6,["super only allowed with getprop (like super.foo(), not super['foo']())"]))); +return}Gd(d.n==ulc);Gd(!!c&&!!c.c&&oec(c.c.a.b));Hd(!!c.b,v$c);Pd(c.c);h=d.f;i=y$c+h.Di();f=B2(a.a,V2(a.a,Stb(b),i),yG(tG(CX,1),mWc,7,0,[]));g=e.g;if(g.n==jjc&&g.c==e){f=M2(a.a,f,SYc);Mdc(g,ifc(V2(a.a,Stb(b),w$c),e),e);c.c.d=true}jfc(f,e);Oec(g,e,f);sMc(c.c.c,h.Di());a.b.Ug(c.b)}function uZb(a,b,c){var d,e,f,g,h,i;f=Y_b(a.g,0).d.b;EYb(a,b);d=(On(),new vs);while(W$b(a,(V2b(),B1b))||W$b(a,F1b))W$b(a,B1b)?ts(d,(g=Y_b(a.g,0).d.b,EYb(a,B1b),EYb(a,a2b),h=Y_b(a.g,0).e,E1b==h||a.b.d&&qYb(h)||!a.b.c&&pYb(h)? +SZb(a):q$b(a,1),KYb(a,"of"),eZb(a,1),EYb(a,e1b),new B3b(new w7b(g,a.f)))):ts(d,(i=Y_b(a.g,0).d.b,EYb(a,F1b),EYb(a,a2b),eZb(a,1),EYb(a,e1b),new C3b(new w7b(i,a.f))));eZb(a,1);EYb(a,c);return new D3b((e=new w7b(f,a.f),Wn(d.a),e))}function GE(a,b,c){var d,e,f,g,h,i,j;g=KE(a)+1;b.a+="{\n";OE(b,BVc,true);b.a+="3";c!=null&&NE(b,(qF(),tF(c)));OE(b,"lineCount",false);b.a+=""+g;OE(b,"mappings",false);QE(new SE(a,b,g));OE(b,"sources",false);b.a+="[";ME(b,a.k);b.a+="]";FE(a,b);OE(b,"names",false);b.a+="[";ME(b, +a.g);b.a+="]";for(f=(i=(new dEc(a.a)).a.Je().Xd(),new jEc(i));f.a.Jd();){e=(d=f.a.Kd(),d.ff());h=ANc(a.a,e);qH(h)?j=(qF(),tF(h)):j=X0(h);OE(b,e,false);b.a+=""+j}b.a+="\n}\n"}function hqb(a,b){var c,d,e;e=a;for(d=new Zfc(new Ufc(a.g));d.a.a;){c=Yfc(d);switch(c.n.f){case 41:case 84:case 76:case 100:case 88:case 66:case 70:case 72:case 73:case 25:case 79:case 19:case 20:case 21:case 22:return Zqb(),Uqb;case 60:if(c.c==e)return Zqb(),Uqb;break;case 47:if(!Eec(c.c,b))return Zqb(),Rqb;break;case 29:if(!OBc(b, +c.Di()))return Zqb(),Rqb;break;case 28:if(c.c!=e)return Zqb(),Rqb;break;case 24:return Zqb(),Tqb}e=c}return Zqb(),Rqb}function Nub(a){var b,c,d;Vd(zec(Pd(a)),a);c=Qd(a.g,a);d=c.c==a;if(c.n==(Plc(),zjc)||c.n==rkc||c.n==Vkc){Vd(d,c);a=c;c=Pd(a.g);d=a==c.c}switch(c.n.f){case 94:case 93:return c;case 118:Vd(!d,c);case 91:b=Qd(c.g,c);Vd(b.n==Ukc,b);return b;case 45:case 100:case 88:case 105:case 78:case 76:return null;case 65:case 96:Vd(d,a);return null;case 73:case 101:case 95:case 102:Vd(d,a);return null; +case 107:Vd(!d,c);return null;default:Vd(hvb(c)&&d,c);return null}}function J0b(b){var c,d,e,f;while(b.indexOf("\\")!=-1){e=RBc(b,jCc(92));try{if(b.charCodeAt(e+1)!=117)return null;if(b.charCodeAt(e+2)!=123){d=e+6;f=b.substr(e+2,d-(e+2))}else{d=e+3;while(cAc(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=LAc(f,16)&qUc;if(!C0b(c))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d)}catch(a){a=p0(a);if(lH(a,83)||lH(a,344))return null;else throw q0(a); +}}return b}function s9(a,b,c){switch(b.n.f){case 96:case 153:case 156:case 164:C8(a.c,c==(L9(),K9));break;case 65:(b.c?b.c.i:null).n==(Plc(),Fjc)?a.c.Dh(true):a.c.Ah(c==(L9(),K9));break;case 160:b.g.n!=(Plc(),Jkc)&&s9(a,b.c,c);break;case 109:b.g.n!=(Plc(),Jkc)&&b.c.n!=xjc&&s9(a,b.c,c);break;case 118:!!b.c&&!b.c.f&&a.c.Dh(true);break;case 98:case 86:case 87:bec(b.c).n==(Plc(),Fjc)&&a.c.Dh(true);break;case 161:a.c.Dh(true);break;default:c==(L9(),K9)&&a.c.Dh(false)}}function pSb(a,b){var c;if(b!=(ATb(), +pTb)){SRb(a,"msg.jsdoc.missing.lc",a.j.g,GTb(a.j));return b}else if(gSb(a,zTb)){c=a.j.n;a.b.Td(c)?Qbc(a.f,c)||SRb(a,"msg.jsdoc.closurePrimitive.extra",a.j.g,GTb(a.j)):URb(a,"msg.jsdoc.closurePrimitive.invalid",c,a.j.g,GTb(a.j));b=!a.o?HTb(a.j):ZRb(a)}else{SRb(a,"msg.jsdoc.closurePrimitive.missing",a.j.g,GTb(a.j));return b}gSb(a,vTb)?b=!a.o?HTb(a.j):ZRb(a):SRb(a,F_c,a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a))}function XTb(b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;n=b.ah();try{j=new N0b(n,c);k= +d.f==(VOb(),TOb);f=new $Tb(e,k);g=WTb(d);l=new r_b(g,f,j);p=(q=Y_b(l.g,0).d.b,r=RZb(l),EYb(l,(V2b(),r1b)),new R6b(new w7b(q,l.f),r,Wn(l.a.a.a)));m=null;On();i=l.d;if(!f.d||k){h=kQb(p,b,c,d,e);m=h.q;i=IVb(i,h.f);Iec(m,(Ldc(),sdc),i);d.c!=(BOb(),AOb)&&Wn(l.a.a.a)}return new bUb(m,l.i)}catch(a){a=p0(a);if(lH(a,37)){o=a;throw q0(new DF('Exception parsing "'+n+'"',o));}else throw q0(a);}}function m5(a){var b;b="";!a.i&&(b+=" insertionPoint");!a.f&&(b+=" definePropertiesObjForPrototype");!a.e&&(b+=" definePropertiesObjForClass"); +!a.j&&(b+=" prototypeMembersToDeclare");!a.b&&(b+=" classMembersToDeclare");!a.g&&(b+=" fullClassNameNode");!a.d&&(b+=" classPrototypeNode");a.a==null&&(b+=" anonymous");!a.c&&(b+=" classNameNode");!a.k&&(b+=" superClassNameNode");if(b.length!=0)throw q0(new RAc(SWc+b));return new i5(a.i,a.f,a.e,a.j,a.b,a.g,a.d,a.a,a.c,a.k)}function J$b(a){var b,c,d,e;b=Y_b(a.g,0).d.b;c=Y_b(a.g,0).e;if(!((V2b(),E1b)==c||a.b.d&&qYb(c)||!a.b.c&&pYb(c))&&!ZLc(VLc(R2b,yG(tG(DU,1),FUc,14,0,[a2b,_1b,N2b])),Y_b(a.g,0).e)){o_b(a, +"Unexpected token '%s' in type expression",yG(tG(rZ,1),zUc,1,5,[Y_b(a.g,0).e]));return new d7b(new w7b(b,a.f),(On(),new RB(Pd("error"))))}d=PZb(a);if(!W$b(a,W0b))return d;e=(On(),new vs);fGc(e.a,Pd(d));do{EYb(a,W0b);ts(e,cZb(a))}while(W$b(a,W0b));return new h7b(new w7b(b,a.f),Wn(e.a))}function Esb(b,c){var d,e,f,g,h;f=new Ksb(c.zg());try{g=XTb(b.c,b.c.a,c.Ig(b.c.c==(Fic(),Cic)?1:0),f);b.b=g.a;c.Hg();if(g.b!=null&&c.Hg().Xc){c.Hg();h=vDb(b.c,g.b);!!h&&c.vg(b.c.b,new uDb(h))}}catch(a){a=p0(a);if(lH(a, +105)){e=a;c.Tg(new Lrb(null,null,-1,-1,(_0(),$0),null,yG(tG(wZ,1),eWc,2,6,[b.c.b,e.g])))}else throw q0(a);}!b.b?b.b=(d=new mfc((Plc(),llc)),d):c.Rg(b.b);if(f.b.a.length!=0||f.c.a.length!=0){g=(Wn(f.b),Wn(f.c),new Jsb);Iec(b.b,(Ldc(),Edc),g)}bfc(b.b,b.c)}function yrb(a,b,c){var d,e,f,g,h,i,j;f=false;b.a+="function(";d=c.c;if(d.n==(Plc(),Mkc)){b.a+="new:";zrb(a,b,d.c);f=true}else if(d.n==Alc){b.a+="this:";zrb(a,b,d.c);f=true}else if(d.n==Fjc){b.a+=")";return}else if(d.n!=$kc){b.a+="):";zrb(a,b,d);return}i= +null;d.n==$kc?i=d:d.f.n==$kc&&(i=d.f);if(i){e=true;for(h=(!i.c?(LHc(),LHc(),KHc):new yhc(i.c)).Xd();h.Jd();){g=h.Kd();(!e||f)&&(b.a+=",",b);zrb(a,b,g);e=false}}b.a+=")";j=c.c?c.c.i:null;if(j.n!=Fjc){b.a+=":";zrb(a,b,j)}}function BSb(a,b){var c,d,e;e=iSb(a,(Plc(),$kc));c=false;d=null;if(b!=(ATb(),wTb)){do{if(d){!a.o?HTb(a.j):ZRb(a);SSb(a);b=!a.o?HTb(a.j):ZRb(a)}if(b==nTb){SSb(a);if(gSb(a,wTb))d=iSb(a,rkc);else{SSb(a);d=USb(a,rkc,HSb(a,!a.o?HTb(a.j):ZRb(a)));SSb(a)}c=true}else{d=HSb(a,b);if(gSb(a,mTb)){SSb(a); +!a.o?HTb(a.j):ZRb(a);d=USb(a,Kjc,d)}}if(!d)return null;Odc(e,d);if(c)break}while(gSb(a,iTb))}if(c&&gSb(a,iTb))return VRb(a,"msg.jsdoc.function.varargs",a.j.g,GTb(a.j)),null;return e}function BHb(){BHb=T0;new $hb("JSC_CANNOT_PARSE_GENERATED_CODE",(p7(),m7),new aDc("Internal compiler error. Cannot parse generated code: {0}"));new $hb("JSC_GENERATED_BAD_CODE",m7,new aDc("Internal compiler error. Generated bad code.----------------------------------------\nExpected:\n{0}\n----------------------------------------\nActual:\n{1}")); +AHb=new $hb("JSC_EXTERN_PROPERTIES_CHANGED",m7,new aDc("Internal compiler error. Extern properties modified from:\n{0}\nto:\n{1}"))}function wUb(a,b){var c,d,e;if(!cUb(a,b,(gVb(),bVb)))return false;e=(Md(b.n==(Plc(),jjc),S_c,b),$dc(b)-1);c=(Md(b.n==jjc,S_c,b),Zdc(b,1));if(c.n!=Gkc&&c.n!=qlc){a.a.gi(B_c+vic(T_c,yG(tG(rZ,1),zUc,1,5,["type name or type variable"])),a.b.ah(),a.d,a.c);a.a.gi(B_c+vic(W_c,yG(tG(rZ,1),zUc,1,5,[b0c])),a.b.ah(),a.d,a.c);return false}for(d=1;d2;g=0;for(i=(f=(new fFc(j.a)).a.Je().b.yk(),new nFc(f));i.a.Jd();){h=(e=i.a.Kd(),e.ff());g>0&&(b.a+=",",b);k?(b.a+="\n ",b):g>0&&(b.a+=" ",b);ACc((b.a+=""+h,b),": ");dmc(a.Wj(h),b,c);++g;if(!c&&g==10){b.a+=", ...";break}}k&&(b.a+=xVc,b);b.a+="}";a.u=true;return b}function n$b(a,b){var c,d,e, +f,g,h,i,j,k;h=Y_b(a.g,0).d.b;if(Y_b(a.g,0).e==(V2b(),b2b)){f=vZb(a);EYb(a,g1b);k=r$b(a,b);return new E3b(new w7b(h,a.f),f,k)}i=Y_b(a.g,0).e;if(E1b==i||(jYb(),!!ep(MXb,i))){g=GYb(a);if(!W$b(a,g1b)){d=g;oYb(d.a,false)&&o_b(a,H0c,yG(tG(rZ,1),zUc,1,5,[g]));if(W$b(a,t1b)){e=new w4b(new w7b(h,a.f),d);EYb(a,t1b);c=eZb(a,1);return new N3b(new w7b(h,a.f),e,c)}return new S6b(new w7b(h,a.f),g,null)}}else g=c$b(a).a;EYb(a,g1b);j=r$b(a,b);return new S6b(new w7b(h,a.f),g,j)}function dHb(a,b){var c,d,e,f,g,h,i, +j;Vd(b.n==(Plc(),Vjc)&&b.g.n==Bkc,b);h=b.d;if(!h||h.kj())return"";c=h.rj();g=new GCc("/**\n");e=(vub(),Gd(b.n==Vjc),b.c.f).c;ZGb(a,g,c,e);if(vvb(b))_Gb(g,(Vd(c.Zi(),c),i=c.F,j=c.w-(Zd(c.Zi()||c.i==(rrc(),prc),lWc,c),tmc(c.o)).Ui(),i.c.If(i.c.$d()-j,i.c.$d())));else{_Gb(g,(d=c.F,d.c.If(d.c.$d()-c.w,d.c.$d())));f=c.b.b;if(!!f&&!(f.cj()||f.aj()||f.bj()||f==Vtc(f.D,(ztc(),Usc)))){g.a+=U$c;lHb(g,rXc,dmc(f,new DCc,true).a);g.a+=xVc}}g.a+=" */\n";return g.a}function BBb(a){yBb();var b,c,d,e,f,g,h,i;e=new nt; +g=(Do(),new Fs);for(c=jf(Pe(Oe(Ve(new jc(10))),a));Lb(c);){b=Mb(c);i=Qe(Oe(Ve(new jc(32))),gCc(b));if(i.b.$d()==1&&i.a.ee(0).length==0)continue;else if(i.b.$d()<3)throw q0(new zsb("Invalid table: too few tokens on line: "+b));h=i.a.ee(0);f=new wBb(XVb(i.a.ee(1)),XVb(i.a.ee(2)),i.b.$d()>3?i.a.ee(3):"");h.indexOf(MZc)!=-1?mt(e,ZBc(h,".*\\.prototype\\.",""),f):(fGc(g.b,(ol(h,f),new or(h,f))),g)}return new ABb((d=new VNc(e.a),Cm(d)),To(g.b))}function Tub(a,b){var c;switch(a.n.f){case 105:Tub(a.c,b);Tub(a.c.f, +b);return;case 76:case 88:case 100:case 94:case 93:case 45:case 106:for(c=a.c;c;c=c.f)Tub(c,b);return;case 95:case 123:case 78:case 114:case 115:case 92:Tub(a.c,b);return;case 107:case 118:case 91:Tub(a.c?a.c.i:null,b);return;case 29:case 108:b.Qd(a);return;case 26:case 27:b.Qd(a);return;case 80:return;case 73:case 101:case 102:Tub(a.c,b);return;default:if(hvb(a))Tub(a.c,b);else throw q0(new RAc("Invalid node in lhs: "+a));}}function $2b(){V2b();return yG(tG(DU,1),FUc,14,0,[r1b,w1b,E1b,Y0b,_0b,a1b, +j1b,k1b,m1b,n1b,o1b,q1b,A1b,B1b,C1b,F1b,I1b,J1b,U1b,q2b,D2b,H2b,I2b,L2b,N2b,Q2b,R2b,S2b,T2b,b1b,i1b,s1b,x1b,y1b,H1b,C2b,G1b,K1b,O1b,d2b,l2b,m2b,n2b,A2b,U2b,_1b,d1b,a2b,e1b,b2b,f1b,g2b,t2b,h1b,$1b,c1b,N1b,D1b,U0b,u1b,V1b,v1b,W1b,h2b,P1b,w2b,y2b,e2b,j2b,R1b,L1b,r2b,O2b,R0b,W0b,Z0b,V0b,J2b,T0b,c2b,o2b,g1b,t1b,i2b,Q1b,x2b,z2b,f2b,M1b,s2b,P2b,S0b,X0b,$0b,u2b,v2b,k2b,Y1b,K2b,z1b,Z1b,B2b,p2b,p1b,E2b,F2b,G2b,X1b,M2b,l1b,S1b,T1b])}function Tnb(a){var b,c,d,e,f,g,h,i,j,k,l,m;if(a.c.a.$d()!=0){for(d=(h=(new dEc(a.d.a)).a.Je().Xd(), +new jEc(h));d.a.Jd();){c=(b=d.a.Kd(),b.ff());Pd(c.g);Jec(c.g,c)}e=new vMc;for(j=(g=(new dEc(a.c.a)).a.Je().Xd(),new jEc(g));j.a.Jd();){i=(b=j.a.Kd(),b.ff());m=i.b;f=e.a.Me(m,e);if(f==null){k=K8b((Zd(RBc(xZc,jCc(46))==-1,kWc,xZc),Ldc(),new Lhc((Plc(),Gkc),xZc)),yG(tG(CX,1),mWc,7,0,[m9b(i.a)]));Gec(k,tdc,true);l=M8b((Zd(RBc(m,jCc(46))==-1,kWc,m),new Lhc(Gkc,m)),k,Jlc);lfc(l,a.g);Mdc(a.g,l,a.f);a.f=l}}}}function Mib(a,b){var c;switch(b){case aWc:case "ArrayBuffer":case gWc:case "DataView":case "Date":case XYc:case YYc:case ZYc:case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case fWc:case $Yc:case "Proxy":case dWc:case "Set":case GVc:case _Yc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c= +u1(Stb(a),b),!(!!c&&!(!c.a||Bdb(c.a)));default:return false}}function YGb(a,b){var c,d,e,f,g,h,i,j,k;j=(Zd(b.Zi()||b.i==(rrc(),prc),lWc,b),tmc(b.o)).Zj();if(j){k=(Zd(j.Zi()||j.i==(rrc(),prc),lWc,j),tmc(j.o));if(!OBc(k.Mi(new DCc,false).a,cWc)){a.a+=U$c;lHb(a,BXc,k.Mi(new DCc,true).a);a.a+=xVc}}e=new NQc;for(h=(i=(new dEc(gqc(b).a)).a.Je().Xd(),new jEc(i));h.a.Jd();){f=(c=h.a.Kd(),c.ff());LQc(e,f.Mi(new DCc,true).a)}for(g=(d=(new fFc(e.a)).a.Je().b.yk(),new nFc(d));g.a.Jd();){f=(c=g.a.Kd(),c.ff()); +a.a+=U$c;ACc(ACc(ACc(ACc((a.a+="@",a),CXc)," {"),f),"}");a.a+=xVc}}function DVb(){DVb=T0;var a;mVb=new QVb((a=oAc(mU),new aMc(a,ATc(a,a.length),0)));rVb=MVb(mVb,hXb(0));sVb=MVb(rVb,hXb(1));uVb=MVb(sVb,hXb(2));tVb=OVb(uVb,(dXb(),FWb),yG(tG(mU,1),FUc,25,0,[]));wVb=MVb(uVb,hXb(3));vVb=OVb(wVb,FWb,yG(tG(mU,1),FUc,25,0,[]));yVb=MVb(wVb,hXb(4));xVb=OVb(yVb,FWb,yG(tG(mU,1),FUc,25,0,[]));oVb=MVb(yVb,hXb(5));nVb=OVb(oVb,FWb,yG(tG(mU,1),FUc,25,0,[]));qVb=MVb(oVb,hXb(6));pVb=OVb(qVb,FWb,yG(tG(mU,1),FUc,25,0, +[]));zVb=MVb(qVb,hXb(7));AVb=MVb(zVb,hXb(8));BVb=MVb(zVb,hXb(9));CVb=qVb}function UZb(a){var b,c,d,e,f,g,h,i,j,k;j=Y_b(a.g,0).d.b;EYb(a,(V2b(),H1b));if(W$b(a,B2b)){f=EYb(a,B2b);JYb(a);return new y4b(new w7b(j,a.f),null,null,null,f)}b=null;h=null;c=null;i=true;k=Y_b(a.g,0).e;if(E1b==k||a.b.d&&qYb(k)||!a.b.c&&pYb(k)){b=FYb(a);W$b(a,h1b)?EYb(a,h1b):i=false}else if(nYb(Y_b(a.g,0).e)){d=SYb(a);l_b(a,d,H0c,yG(tG(rZ,1),zUc,1,5,[d]))}if(i)if(W$b(a,w2b)){EYb(a,w2b);KYb(a,"as");h=FYb(a)}else c=WZb(a);KYb(a, +xXc);g=EYb(a,B2b);e=!g?null:g;JYb(a);return new y4b(new w7b(j,a.f),b,c,h,e)}function R7b(a){var b,c,d,e;d=0;c=new DCc;b=a.b.b;if(lH(a.a,156))e=a.a.a;else if(lH(a.a,129))e=a.a.a;else throw q0(F7b(a));if(a.b.i)if(b==111){c.a+="0";d+=1}else{c.a+="0x";d+=2}if(100==b){a.b.e?zCc(c,a.a):(c.a+=J0(e),c);if(s0(e,0)<0)if(a.b.g)return U7b(a,c);else a.b.k&&++d;else if(a.b.d){CCc(c,0,String.fromCharCode(43));d+=1}else if(a.b.j){CCc(c,0,String.fromCharCode(32));d+=1}}else{lH(a.a,129)&&(e=t0(PG(z0(e)?G0(e):e,z0(Y0c)? +G0(Y0c):Y0c)));111==b?ACc(c,qBc(e,3)):ACc(c,qBc(e,4))}return I7b(a,c,d)}function bcb(a){if(jeb(a.I,(Vhb(),qhb)))a.I.A=true;else if(ieb(a.I,qhb)){a.I.A=false;a.I.wd=false}else a.I.A||heb(a.I,new hhb(dhb((cCb(),YBb)),(p7(),n7)));a.I.s!=(p7(),n7)&&!ieb(a.I,zhb)&&heb(a.I,new hhb(zhb,a.I.s));keb(a.I)&&heb(a.I,new hhb(vhb,m7));!a.I.w&&!jeb(a.I,shb)&&heb(a.I,new hhb(shb,n7));a.I.ad&&!jeb(a.I,shb)&&heb(a.I,new hhb(shb,n7));a.I.ad&&!jeb(a.I,Ehb)&&heb(a.I,new hhb(Ehb,n7));a.I.o==n7&&heb(a.I,new hhb(Ehb,n7)); +if(!a.I.wd||!jeb(a.I,Phb)){heb(a.I,new hhb(Phb,n7));heb(a.I,new hhb(nhb,o7))}}function HSb(a,b){var c,d,e;e=a.j.g;d=GTb(a.j);if(b==(ATb(),tTb)){b=!a.o?HTb(a.j):ZRb(a);if(b==iTb||b==mTb||b==xTb||b==vTb||b==wTb||b==sTb||b==uTb||b==jTb||b==lTb||b==kTb){a.o=b;return iSb(a,(Plc(),elc))}return VSb(a,(Plc(),elc),oSb(a,b),e,d)}else if(b==gTb)return VSb(a,(Plc(),bjc),oSb(a,!a.o?HTb(a.j):ZRb(a)),e,d);else{c=oSb(a,b);e=a.j.g;d=GTb(a.j);if(c)if(gSb(a,tTb)){!a.o?HTb(a.j):ZRb(a);return VSb(a,(Plc(),elc),c,e,d)}else if(gSb(a, +gTb)){!a.o?HTb(a.j):ZRb(a);return VSb(a,(Plc(),bjc),c,e,d)}return c}}function sib(a,b,c,d){var e,f,g,h,i,j;Vd(c.n==(Plc(),_jc)||c.n==$jc,c);Vd(b.n==ulc,b);g=c.g;if(Gvb(c)){a.b.Tg(Qrb(c,(Job(),Iob),yG(tG(wZ,1),eWc,2,6,["assigning to a super property"])));return}e=(vub(),Mub(b,new swb(ojc)));j=e.c.f;if(!wec(j))return;if(aec(d,(vhc(),nhc))!=0){f=jfc(Vdc(j,false),b);Iec(f,ghc,XVc);Oec(b.g,b,f)}else if(a.a.b){i=jfc(M2(a.a,Vdc(j,false),RWc),b);Iec(i,ghc,XVc);Oec(b.g,b,i)}else{h=Ic(new Kc("."),new PDc(Lc(eec(j), +RWc,yG(tG(rZ,1),zUc,1,5,[]))));Pec(b,jfc(iwb(a.b,h,b),b))}a.b.Vg(g)}function dpb(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=n2(a.b,c,false);d=c;for(i=new Zfc(new Ufc(d.g));i.a.a;){h=Yfc(i);vub();if(!!h&&(h.n==(Plc(),Jlc)||h.n==ykc||h.n==tjc)&&!(h==d.g&&!(d==d.g.c?null:d.i)))return 0;if(h==b)return j?2:1;if(lpb(h))d!=h.c&&(j=true);else if(cpb(a,h,k));else{e=kpb(h);for(g=e==0?h.c:h.c?h.c.i:null;g;g=e==0?g.f:g==g.g.c?null:g.i){if(g==d)break;if(bpb(a,g,k)){k=true;j=true}}f=h.c;if(j&&h.n==(Plc(),jjc)&&(f.n== +(Plc(),_jc)||f.n==$jc))return a.a?2:0}d=h}throw q0(new RAc("Unexpected."));}function dvb(a){var b,c,d,e,f,g;switch(a.n.f){case 31:case 91:return a.Di();case 120:g="";for(c=a.c;c;c=c.f){d=c;c.n==(Plc(),zlc)&&(d=c.c);e=dvb(d);if(e==null)return null;g=g+e}return g;case 122:return a.Ai();case 29:f=a.Di();if(OBc(dZc,f)||OBc(h$c,f)||OBc("NaN",f))return f;break;case 30:return""+a.Bi();case 34:return GXc;case 35:return HXc;case 32:return wUc;case 79:return dZc;case 19:b=Jub(a.c);if(b!=(Uxc(),Txc))return b.jk(true)? +GXc:HXc;break;case 42:return yub(a);case 43:return"[object Object]"}return null}function ffc(a,b,c,d,e){var f,g,h,i,j,k;zCc(b,a.n);if(lH(a,13)){b.a+=" ";ACc(b,a.Di())}else if(a.n==(Plc(),Vjc)){b.a+=" ";!a.c||a.c.n!=Gkc?(b.a+="",b):ACc(b,a.c.Di())}else if(a.n==Rkc){b.a+=" ";uCc(b,a.Bi())}if(c){h=vfc(a.k);if(h!=-1){b.a+=" ";b.a+=h}if(a.e!=0){b.a+=" [length: ";vCc(b,a.e);b.a+="]"}}if(d){g=gec(a);for(f=0;f",XWc),fLb(d))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),TWc,"_")+"$classextends$var"+a.a++);h=(vub(),Mub(c,new wwb));g=c.c.f;Pec(g,ifc((Zd(RBc(f,jCc(46))==-1, +kWc,f),Ldc(),new Lhc((Plc(),Gkc),f)),g));e=lfc(M8b((Zd(RBc(f,jCc(46))==-1,kWc,f),new Lhc(Gkc,f)),g,tjc),g);Ndc(h.g,e,h);wub(Mub(c,new swb(llc)),(dXb(),lWb));b.c.Vg(c)}function vSb(a,b,c){var d,e;while(true)switch(b.f){case 14:if(a.i==(cTb(),aTb)){a.i=bTb;b=nSb(a,b,c)}else b=!a.o?HTb(a.j):ZRb(a);break;case 17:d=true;XRb(a,c);if(Ibc(a.f)){a.e=Gbc(a.f);e=a.e.j;switch(e.f){case 0:case 2:TRb(a,Vb(e.e!=null?e.e:""+e.f));d=false}}return d;case 0:Gbc(a.f);SRb(a,"msg.unexpected.eof",a.j.g,GTb(a.j));XRb(a, +c);return false;case 1:a.i==(cTb(),bTb)&&(a.i=aTb);b=!a.o?HTb(a.j):ZRb(a);break;default:if(b==(ATb(),yTb)&&a.i==(cTb(),aTb))b=!a.o?HTb(a.j):ZRb(a);else{a.i=(cTb(),bTb);b=_Rb(a,!a.o?HTb(a.j):ZRb(a))}}}function tib(a,b,c,d){var e,f,g,h,i,j,k,l;Vd(c.n==(Plc(),_jc)||c.n==$jc,c);Vd(b.n==ulc,b);i=c.g;Ud(i.n==jjc);g=(vub(),Mub(b,new swb(ojc)));j=g.c.f;if(!wec(j))return;f=c;e=(Ldc(),new Lhc(qlc,SYc));Hec(e,(vhc(),chc),1);if(aec(d,nhc)!=0){h=jfc(Vdc(j,false),b);Iec(h,ghc,XVc);Oec(f,b,h);f=M2(a.a,Xdc(f),SYc); +Pdc(i,f);k=m3(a.a,g.d);Hec(k,chc,1);Mdc(i,k,f);lfc(i,c)}else{h=jfc(M2(a.a,Vdc(j,false),RWc),b);Iec(h,ghc,XVc);Oec(b.g,b,h);f=M2(a.a,Xdc(f),SYc);Pdc(i,f);l=pib(g);k=m3(a.a,l);Hec(k,chc,1);Mdc(i,k,f);Gec(i,tdc,false);lfc(i,c)}a.b.Vg(i)}function ATb(){ATb=T0;kTb=new BTb("EOF",0);lTb=new BTb("EOL",1);oTb=new BTb("LEFT_ANGLE",2);uTb=new BTb("RIGHT_ANGLE",3);zTb=new BTb(O_c,4);rTb=new BTb("LEFT_SQUARE",5);xTb=new BTb("RIGHT_SQUARE",6);pTb=new BTb("LEFT_CURLY",7);vTb=new BTb("RIGHT_CURLY",8);qTb=new BTb("LEFT_PAREN", +9);wTb=new BTb("RIGHT_PAREN",10);iTb=new BTb("COMMA",11);hTb=new BTb("COLON",12);nTb=new BTb(P_c,13);fTb=new BTb(Q_c,14);sTb=new BTb("PIPE",15);yTb=new BTb("STAR",16);jTb=new BTb("EOC",17);tTb=new BTb("QMARK",18);gTb=new BTb("BANG",19);mTb=new BTb("EQUALS",20)}function h5(a,b,c){var d,e,f,g,h;e=a.c;h=e.f;d=q5(x5(p5(w5(new y5,new ENc),new ENc),h),e);vub();if(a.n==(Plc(),ojc)&&rvb(a.g)&&a.n==ojc&&Uvb(a.c))o5(u5(v5(d,new xlb(a)),e),false);else if(b.n==Pic&&b.g.n==Pjc){g=b.c;if(!wec(g))return null;o5(u5(v5(d, +new xlb(b.g)),g),true)}else if(b.n==Mjc)o5(u5(v5(d,new xlb(a)),e),false);else if(b.n==Gkc)o5(u5(v5(d,new xlb(b.g)),b.zi(false)),true);else return null;f=n5(d).d;r5(d,M2(c,Vdc(n5(d),false),RWc));s5(d,Wec(i9b(yG(tG(CX,1),mWc,7,0,[])),f));t5(d,Wec(i9b(yG(tG(CX,1),mWc,7,0,[])),f));return m5(d)}function GSb(a,b,c,d){var e,f,g,h,i;h=b.a;if(!OBc(h.substr(0,1),"="))return null;h=h.substr(1);e=h.indexOf("=:");e>=0?h=h.substr(0,e):a.c.gi(B_c+vic("msg.jsdoc.template.typetransformation.missingDelimiter",yG(tG(rZ, +1),zUc,1,5,[]))+C_c,(g=dec(a.n,(vhc(),mhc)),!g?null:g.ah()),c,d);h=gCc(h);if(h.length==0){a.c.gi(B_c+vic("msg.jsdoc.template.typetransformation.expressionMissing",yG(tG(rZ,1),zUc,1,5,[]))+C_c,(f=dec(a.n,(vhc(),mhc)),!f?null:f.ah()),c,d);return null}i=new JUb(h,dec(a.n,(vhc(),mhc)),a.c,c,d);if(!hUb(i))return null;return i.e}function lrb(a,b,c,d){var e;e=d==c.c;switch(c.n.f){case 92:return a;case 46:return d==(c.c?c.c.i:null)?a:a.c?a:new nrb(a.a,true,a.b);case 60:case 62:return e?new nrb(c,true,a.a? +a:null):a;case 61:return e?new nrb(c,false,a.a?a:null):a;case 66:return e?new nrb(c,true,a.a?a:null):jrb;case 41:case 47:return e==a.c?a:new nrb(a.a,e,a.b);case 25:case 19:case 4:case 5:case 36:case 37:return a.c?a:new nrb(a.a,true,a.b);case 28:return mrb(a,!e&&grb(b,c));case 81:return jrb;default:return vub(),c.n!=(Plc(),Ekc)&&Xvb(c.g)?jrb:a.c?new nrb(a.a,false,a.b):a}}function ZZb(a){var b,c,d,e,f,g,h,i;h=Y_b(a.g,0).d.b;e=!!IYb(a,(V2b(),w2b));g=null;i=Y_b(a.g,0).e;if(i==U1b)return nZb(a,true);else if(i== +E1b||(jYb(),jYb(),!!ep(MXb,i)))g=GYb(a);else if(i==b2b)return XZb(a);else if(i==$1b||i==a2b)return nZb(a,false);f=false;if(W$b(a,o2b)){EYb(a,o2b);f=true}if(W$b(a,a2b)||W$b(a,$1b)){d=(b=e4b(j4b(d4b(g4b(b4b(i4b(f4b(k4b(h4b(new l4b((q4b(),p4b)),g),false),e),f),null),PYb(a)),LZb(a,1)),OYb(a)),new Q3b(new w7b(h,a.f))),a4b(b,new w7b(h,a.f)));return d}else{c=OYb(a);return new J4b(new w7b(h,a.f),g,false,f,null,c)}}function alb(a,b,c){var d,e,f,g,h,i,j,k;h=aec(c,(vhc(),nhc))!=0?b.e:b.f;i=c.n==(Plc(),sjc)? +Qub(h,c.c):Rub(h,c.Di());if(!i){i=Wec(i9b(yG(tG(CX,1),mWc,7,0,[k3(a.a,"configurable",A2(a.a)),k3(a.a,mZc,A2(a.a))])),a.c);if(c.n==sjc)Odc(h,E2(a.a,Vdc(c.c,false),i));else{k=k3(a.a,c.Di(),i);c.Fi()&&Gec(k,(Ldc(),Gdc),true);Odc(h,k)}}e=c.c?c.c.i:null;f=$cc((vub(),g=Gub(e),!g?null:dec(g,_gc)));Lcc(f,new ddc(jfc(new ofc(bjc,m9b(eec(b.g))),c),(d=dec(c,mhc),!d?null:d.ah())));j=k3(a.a,c.n==akc||aec(c,(Ldc(),jdc))!=0?cXc:"set",Xdc(e));Vec(j,Gbc(f));Odc(i,j);lfc(i,c)}function tmb(a,b,c,d){var e,f,g,h,i,j, +k;j=nmb(a,Lec(b));f=b.c;h=f.f;e=h.f;if(aec(f,(vhc(),Vgc))==0&&aec(h,Vgc)==0&&aec(e,Vgc)==0){Pdc(b,j);Hec(b,Vgc,0);Amb(a,b);return}if(j.n!=(Plc(),Fjc)){b9b(j)&&(j=ifc((Vd(b9b(j),j),new ofc(Pjc,j)),j));Amb(a,j)}k=new tnb(a.a);i=Xmb(a.a,d);g=Xmb(a.a,c);gnb(a.a,k);if(f.n!=Fjc){f=omb(a,nmb(a,Xdc(f)));inb(a.a,ifc(W8b(ifc(Qob(q9b(Okc,f),a.f.a),f),Kmb(a.a,g,true,b)),b))}anb(a.a,g,i);xmb(a,Xdc(e),null,null);Zmb(a.a);gnb(a.a,i);if(h.n!=Fjc){h=nmb(a,Xdc(h));Amb(a,ifc((Vd(b9b(h),h),new ofc(Pjc,h)),h))}knb(a.a, +k,b);gnb(a.a,g)}function Ovb(a){vub();var b,c,d,e,f,g,h,i;f=(g=Gub(a),!g?null:dec(g,(vhc(),_gc)));if(!!f&&gac(f).a.length!=0)return false;e=a.g.n==(Plc(),tjc)||!!f&&((f.a&37)!=0||(!f.d?null:f.d.d)!=null);c=dec(a,(vhc(),mhc));if(!(!!c&&c.ri())&&!e)return false;if(Nvb(a.g)){i=a;d=a.c}else if(a.n==Pjc){b=a.c;if(b.n!=Pic||b.c.n!=_jc)return false;i=b.c;d=b.c?b.c.i:null}else if(a.n==_jc){h=a.g;if(h.n!=Pic||h.g.n!=Pjc)return false;i=a;d=h.c?h.c.i:null}else return false;if(!d||!i)return false;if(d.n==Tkc)return true; +return d.n==Ykc&&Dec(i,d.c)&&(d.c?d.c.i:null).n==Tkc}function Zab(){Zab=T0;Yab=new $hb("JSC_PARTIAL_NAMESPACE",(p7(),o7),new aDc("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."));Xab=new $hb("JSC_NAMESPACE_REDEFINED",o7,new aDc("namespace {0} should not be redefined")); +new $hb("JSC_UNSAFE_THIS",o7,new aDc("dangerous use of ''this'' in static method {0}"))}function nQb(a,b){var c,d,e,f,g,h;f=false;c=true;for(d=0;d>13|(a.m&15)<<9;e=a.m>>4&8191;f=a.m>>17|(a.h&255)<<5;g=(a.h&1048320)>>8;h=b.l&8191;i=b.l>>13|(b.m&15)<<9;j=b.m>>4&8191;k=b.m>>17|(b.h&255)<<5;l=(b.h&1048320)>> +8;B=c*h;C=d*h;D=e*h;F=f*h;G=g*h;if(i!=0){C+=c*i;D+=d*i;F+=e*i;G+=f*i}if(j!=0){D+=c*j;F+=d*j;G+=e*j}if(k!=0){F+=c*k;G+=d*k}l!=0&&(G+=c*l);n=B&KVc;o=(C&511)<<13;m=n+o;q=B>>22;r=C>>9;s=(D&262143)<<4;t=(F&31)<<17;p=q+r+s+t;v=D>>18;w=F>>5;A=(G&PVc)<<8;u=v+w+A;p+=m>>22;m&=KVc;u+=p>>22;p&=KVc;u&=LVc;return DG(m,p,u)}function rec(a,b,c,d,e,f){var g,h,i,j,k,l;if(a.n!=b.n||$dc(a)!=$dc(b)||a.Ik!=b.Ik)return false;if(c&&!Omc(a.d,b.d))return false;if(e&&!Xac(dec(a,(vhc(),_gc)),dec(b,_gc)))return false;l=dec(a, +(vhc(),Dgc));k=dec(b,Dgc);if((!!l||!!k)&&(!l||!k||!rec(l,k,c,d,e,false)))return false;for(h=Qv(new eJc(Fdc.a.b.Xd()));h.Jd();){g=h.Kd();if(!Cd(g.Pd(a),g.Pd(b)))return false}if(f){if((~aec(a,khc)&31)!=(~aec(b,khc)&31))return false;if(aec(a,$gc)!=0!=(aec(b,$gc)!=0))return false}if(d)for(i=a.c,j=b.c;i;i=i.f,j=j.f)if(!i.Ei(j,c,d,e,f))return false;return true}function gZb(a,b){var c,d,e,f,g,h,i;i=Y_b(a.g,0).d.b;KYb(a,tXc);g=Y_b(a.g,0).d.b.b>a.f.b;(g||V$b(a,0,(V2b(),t2b))||V$b(a,0,(V2b(),d1b))||V$b(a,0, +(V2b(),r1b)))&&o_b(a,"No newline allowed between `async` and arrow function parameter list",yG(tG(rZ,1),zUc,1,5,[]));d=null;if(W$b(a,(V2b(),a2b)))d=LZb(a,0);else{h=SZb(a);d=new $3b(h.o,(On(),new RB(Pd(h))))}f=Y_b(a.g,0).d.b.b>a.f.b;(f||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b))&&o_b(a,E0c,yG(tG(rZ,1),zUc,1,5,[]));EYb(a,U0b);c=dZb(a,b,(K_b(),G_b));e=e4b(d4b(c4b(new l4b((q4b(),m4b))),d),c);return a4b(e,new w7b(i,a.f))}function Ibb(b,c,d,e){var f;Jbb(b,e);d.a.length==0?fcb(b,new Lrb(null,null,-1,-1,abb, +null,yG(tG(wZ,1),eWc,2,6,[]))):d.a[0].d.a.length==0&&d.a.length>1&&fcb(b,new Lrb(null,null,-1,-1,bbb,null,yG(tG(wZ,1),eWc,2,6,[d.a[0].e])));b.n=Pbb(c);try{b.C=new ssb(d)}catch(a){a=p0(a);if(lH(a,332)){f=a;fcb(b,new Lrb(null,null,-1,-1,ebb,null,yG(tG(wZ,1),eWc,2,6,[f.b.e,f.a.e])));return}else throw q0(a);}obb(b,b.C?new mHc(b.C.a):null);ksb(b.C);new bRc;zg(b.u,b.I.Mb);Hbb(b);b.w=l9b(yG(tG(CX,1),mWc,7,0,[]));b.p=l9b(yG(tG(CX,1),mWc,7,0,[]));b.j=l9b(yG(tG(CX,1),mWc,7,0,[b.p,b.w]))}function jRb(a,b){var c, +d,e,f,g,h,i,j,k,l,m;switch(b.p.f){case 75:return f=MQb(a,b),g=f.c,h=zPb(a.a,(Plc(),rlc),g.Di()),NPb(h,g),Hec(h,(vhc(),Zgc),1),Odc(h,f),h;case 35:return kRb(a,b);case 36:c=b;return sPb(a.a,c,(dXb(),jWb)),i=PPb(a.a,c.a),j=c.b,k=(j.p==(O6b(),w5b)?l=MQb(a,j):j.p==O5b?l=cRb(a,j.a):l=RPb(a.a,j),l),m=wPb(a.a,(Plc(),sjc),i,k),vfc(m.k)==-1&&MPb(m,c.o.b,c.o.a),m;case 66:sPb(a.a,b,(dXb(),KWb));e=RPb(a.a,b.a);d=vPb(a.a,(Plc(),Vkc),e);vfc(d.k)==-1&&MPb(d,b.o.b,b.o.a);return d;default:throw q0(new RAc("Unexpected object pattern element: "+ +b));}}function JQb(a,b){var c,d,e,f,g,h,i,j,k;sPb(a.a,b,(dXb(),gWb));j=HRb(a,b.d,b);tQb(a,j,b.b);k=IRb(a,b.e,b);k.n==(Plc(),Fjc)||(a.a.f=KVb(a.a.f,hWb));i=GRb(a,ekc,b.c);c=uPb(a.a,pjc);vfc(c.k)==-1&&MPb(c,b.o.b,b.o.a);h=false;for(e=b.a.Xd();e.Jd();){d=e.Kd();switch(d.p.f){case 89:case 90:zQb(a,d,EWb)}switch(d.p.f){case 37:case 39:case 33:case 34:a.a.f=KVb(a.a.f,iWb)}f=JRb(a,d);if(f){h&&a.a.e.fi("Class may have only one constructor.",a.a.s,(fPb(),d.o.b.b+1),d.o.b.a);h=true}Odc(c,PPb(a.a,d))}g=xPb(a.a, +ojc,j,k,c);if(i.n!=Fjc){zQb(a,b,xWb);Iec(g,(Ldc(),xdc),i)}return g}function Lnb(){Lnb=T0;new $hb("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST",(p7(),m7),new aDc("The left side of a goog.require() or goog.requireType() must use ''const'' (not ''let'' or ''var'')"));new $hb("JSC_REQUIRE_TYPE_FOR_ES6_SHOULD_BE_CONST",m7,new aDc("goog.requireType alias for ES6 module should be const."));new $hb("JSC_FORWARD_DECLARE_FOR_ES6_SHOULD_BE_CONST",m7,new aDc("goog.forwardDeclare alias for ES6 module should be const.")); +new $hb("JSC_SHOULD_IMPORT_ES6_MODULE",o7,new aDc("ES6 modules should import other ES6 modules rather than goog.require them."))}function dxb(a,b){var c,d,e,f,g,h,i,j,k;if(aec(b,(Ldc(),rdc))!=0)return;c=b.c;vub();if(!!c&&(c.n==(Plc(),Jlc)||c.n==ykc||c.n==tjc)||c.n==(Plc(),Vjc)&&rvb(c.g)&&(c.n==Vjc&&Uvb(c.c))||c.n==(Plc(),ojc)&&rvb(c.g)&&(c.n==ojc&&Uvb(c.c))){Jec(b,c);g=ifc(new mfc((Plc(),Ojc)),b);Pdc(b,g);if(c.n==ojc||c.n==Vjc){j=SHc(c.c);Ndc(b.g,c,b)}else{j=Fub(c);for(e=(!c.c?(LHc(),LHc(),KHc):new yhc(c.c)).Xd();e.Jd();){d= +e.Kd();Jec(c,d);k=ifc(new ofc(c.n,d),b);Ndc(b.g,k,b)}}for(i=j.Xd();i.Jd();){h=i.Kd();f=ifc(new mfc(Njc),h);Pdc(f,h.zi(false));Pdc(f,h.zi(false));Odc(g,f)}a.b.Vg(b.g)}}function eAb(a,b,c){var d,e,f,g,h;if(a.f==c&&nec(a.f))Tzb(a.e,b,a);else if(a.a)switch(c.n.f){case 29:if(Fec(c,UVc,UVc.length)){c.Ii(jWc);a.a.a.b=true;a.e.b.Ug(a.f)}break;case 33:Oec(c.g,c,bAb(a.a));a.e.b.Ug(a.f);break;case 99:{f=c.g;f.n==(Plc(),_jc)||a.e.b.Tg(Qrb(f,(Job(),Iob),yG(tG(wZ,1),eWc,2,6,["super expression"])));g=f;h=dAb(a.a, +g);d=B2(h.b.a,W2(h.b.a,h.c,h.d),yG(tG(CX,1),mWc,7,0,[]));e=g.g;if(e.n==jjc&&e.c==g){d=M2(a.e.a,d,SYc);Mdc(e,ifc(o3(a.e.a,a.a.f),g),g);a.a.a.c=true}jfc(d,g);Oec(e,g,d);a.e.b.Ug(a.f)}break;case 104:Oec(c.g,c,r3(a.e.a,c.d,Lec(c)))}}function rZb(a,b){var c,d;if(W$b(a,(V2b(),t2b)))return yZb(a);else{d=new N_b(Y_b(a.g,0).d.b);d.b=b;d.a=a.b.d&&ZLc(VLc(n2b,yG(tG(DU,1),FUc,14,0,[m2b,l2b])),Y_b(a.g,0).e)?SYb(a).e:null;d.c=!!IYb(a,A2b);return V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,cXc)&&(d_b(a,1)||Y_b(a.g,1).e==b2b)? +QZb(a,d):V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,"set")&&(d_b(a,1)||Y_b(a.g,1).e==b2b)?B$b(a,d):V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,tXc)&&(c=Y_b(a.g,1).d.b.b>Y_b(a.g,0).d.a.b,!(c||V$b(a,1,t2b)||V$b(a,1,d1b)||V$b(a,1,r1b)))&&(d_b(a,1)||Y_b(a.g,1).e==b2b||V$b(a,1,w2b)&&(d_b(a,2)||Y_b(a.g,2).e==b2b))?iZb(a,d):tZb(a,d)}}function mF(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new kF;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=p0(a);if(lH(a,40)){d=a;throw q0(new nF("JSON parse exception: "+d));}else throw q0(a);}q=f;jF(c, +q.version);eF(c,q.file);c.c=-1;fF(c,q.mappings);if(q.sections!=null){l=(On(),new vs);for(n=q.sections,o=0,p=n.length;o0&&!(b.c.a.length>xVc.length&&OBc(xVc,Hzc(b.c,b.c.a.length-xVc.length)))&&$cb(b,xVc);Ud(c.n==(Plc(),llc));f=a.I.Kb;i=dec(c,(vhc(),Tgc)).a;n=(g=dec(c,mhc),!g?null:g.ah());Ud(n!=null);Ud(n.length!=0);f=YBc(YBc(YBc(f,"%name%",iSc(i)),"%num%",""+d),"%n%",xVc);$cb($cb(b,f),xVc)}if(dec(c,(vhc(),_gc))){l=W9b(dec(c, +_gc));l!=null&&sMc(b.d,l)&&$cb($cb($cb(b,"/*\n"),l),"*/\n")}e=ncb(a,c,d==0);if(e.length!=0){$cb(b,e);k=e.length;j=e.charCodeAt(k-1);m=k>=2?e.charCodeAt(k-2):0;h=j==59||j==10&&m==59;h||$cb(b,";")}return null}function I$b(a,b){var c,d,e,f,g,h,i;f=!b?Y_b(a.g,0).d.b:b.o.b;h=SYb(a);lH(h,257)||l_b(a,h,"Unexpected template literal token %s.",yG(tG(rZ,1),zUc,1,5,[W2b(h.e)]));e=!!b;g=h;e||g.a!=null&&n_b(a,g.b,yG(tG(rZ,1),zUc,1,5,[g.a]));c=(On(),new vs);ts(c,new Z6b(g.d,g));if(g.e==(V2b(),X1b))return new Y6b(new w7b(f, +a.f),b,Wn(c.a));d=TYb(a,1);ts(c,new $6b(d.o,d));while(!a.c.d){g=(i=V_b(a.g),a.f=i.d.a,i);if(g.e==w1b||g.e==r1b)break;e||g.a!=null&&n_b(a,g.b,yG(tG(rZ,1),zUc,1,5,[g.a]));ts(c,new Z6b(g.d,g));if(g.e==G2b)break;d=TYb(a,1);ts(c,new $6b(d.o,d))}return new Y6b(new w7b(f,a.f),b,Wn(c.a))}function EG(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw q0(new Nzc("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(AG=DG(0,0,0));return DG(0,0,0)}if(b.h==MVc&&b.m==0&&b.l==0)return FG(a,c);i=false;if(b.h>>19!= +0){b=TG(b);i=!i}g=LG(b);f=false;e=false;d=false;if(a.h==MVc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=CG((eH(),aH));d=true;i=!i}else{h=VG(a,g);i&&JG(h);c&&(AG=DG(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=TG(a);d=true;i=!i}if(g!=-1)return GG(a,g,i,f,c);if(QG(a,b)<0){c&&(f?AG=TG(a):AG=DG(a.l,a.m,a.h));return DG(0,0,0)}return HG(d?a:DG(a.l,a.m,a.h),b,i,f,e,c)}function nG(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.tg(JVc,HVc,-1,-1);k=gCc(b);OBc(k.substr(0,3),"at ")&&(k=k.substr(3)); +k=k.replace(/\[.*?\]/g,"");g=k.indexOf("(");if(g==-1){g=k.indexOf("@");if(g==-1){j=k;k=""}else{j=gCc(k.substr(g+1));k=gCc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=gCc(k.substr(0,g))}g=RBc(k,jCc(46));g!=-1&&(k=k.substr(g+1));(k.length==0||OBc(k,"Anonymous function"))&&(k=HVc);h=TBc(j,jCc(58));e=UBc(j,jCc(58),h-1);i=-1;d=-1;f=JVc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=iG(j.substr(e+1,h-(e+1)));d=iG(j.substr(h+1))}return a.tg(f,k,i,d)}function v6(a,b){var c,d,e,f;if(!a||!b)return!a&& +!b;if(!a.Ei(b,false,false,false,true))return false;if($dc(a)!=$dc(b))return false;if(a.n==(Plc(),Vjc)&&b.n==Vjc){vub();if((a.n==Vjc&&rvb(a.g)&&a.n==Vjc&&Uvb(a.c))!=(b.n==Vjc&&rvb(b.g)&&b.n==Vjc&&Uvb(b.c)))return false}if(!!a.g&&a.g.n==$kc)if(aec(a,(vhc(),$gc))!=0!=(aec(b,$gc)!=0))return false;e=a.c;c=b.c;while(!!e&&!!c){if(e.n==Vjc||e.n==llc){if(c.n!=e.n)return false;if(e.n==Vjc&&(vub(),e.n==Vjc&&rvb(e.g)&&e.n==Vjc&&Uvb(e.c))){f=e.c.Di();d=c.c.Di();if(!OBc(f,d))return false}}else if(!v6(e,c))return false; +e=e.f;c=c.f}return true}function NYb(a,b){var c,d,e,f,g,h,i;if(b.p==(O6b(),O5b)){f=b.a;return OBc(f.a,tXc)&&(h=Y_b(a.g,0).d.b.b>a.f.b,!(h||V$b(a,0,(V2b(),t2b))||V$b(a,0,(V2b(),d1b))||V$b(a,0,(V2b(),r1b))))&&(i=Y_b(a.g,0).e,(V2b(),E1b)==i||a.b.d&&qYb(i)||!a.b.c&&pYb(i))&&(g=Y_b(a.g,1).d.b.b>Y_b(a.g,0).d.a.b,!(g||V$b(a,1,(V2b(),t2b))||V$b(a,1,(V2b(),d1b))||V$b(a,1,(V2b(),r1b))))&&V$b(a,1,(V2b(),U0b))}else if(b.p==e5b){d=b;e=d.b;c=d.a;return e.p==O5b&&OBc(e.a.a,tXc)&&e.o.a.b==c.o.b.b&&(g=Y_b(a.g,0).d.b.b> +a.f.b,!(g||V$b(a,0,(V2b(),t2b))||V$b(a,0,(V2b(),d1b))||V$b(a,0,(V2b(),r1b))))&&W$b(a,(V2b(),U0b))}else return false}function lKb(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new HGc(a.f);l.a",XWc),fLb(b)))),j);for(f=j.Uh().Xd();f.Jd();){e=f.Kd();jDc(a.b,e,j)}}for(m= +new HGc(a.f);m.aa.f.b,(h||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b))&&o_b(a,E0c,yG(tG(rZ,1),zUc,1,5,[])),EYb(a,U0b),i=dZb(a,b,(K_b(),J_b)),j=e4b(d4b(new l4b((q4b(),m4b)),g),i),a4b(j,LYb(a,g.o.b)));if(Y$b(a)){c=p_b(a,c);if(!a3b(c)){o_b(a,F0c,yG(tG(rZ,1),zUc,1,5,[]));return new K4b(LYb(a,Y_b(a.g,0).d.b))}d=SYb(a);e=eZb(a,b);return new j3b(new w7b(f,a.f),c,d,e)}return c}function FBb(a,b,c){var d,e,f,g,h,i,j,k;if(wec(c)&&zBb(a.b.b,c)){h=eec(c);f=false;for(e=(oBb(),mBb).Xd();e.Jd();){d=e.Kd(); +if(OBc(h.substr(0,d.length),d)){h=cCc(h,d.length);f=true;break}}i=ep(a.b.b.b,h);!!i&&!f&&(k=_ub(c),k.n!=(Plc(),Gkc)||!!u1(Stb(b),k.Di()))&&(i=null);if(!!i&&!drb(a,h)){rBb(a.b,i.c)||bub(b,c,nBb,yG(tG(wZ,1),eWc,2,6,[h,JVb(leb(a.b.a.Hg()))]));!rBb(a.b,i.b)&&i.a.length!=0&&sMc(a.a,i.a);return}}if(c.n==(Plc(),_jc)&&(c.c?c.c.i:null).n==qlc){h=(c.c?c.c.i:null).Di();g=xm(a.b.b.a,h);if(!g.Wd()&&!drb(a,"."+h))for(j=g.Xd();j.Jd();){i=j.Kd();!rBb(a.b,i.b)&&i.a.length!=0&&sMc(a.a,i.a)}}return}function P7b(a){var b, +c,d,e,f;if(a.a==null)return a.b.k=false,I7b(a,wUc,0);if(!nH(a.a))throw q0(F7b(a));e=S7b(a);if(e!=null)return e;b=a.b.b;b!=97&&b!=65&&a.b.n==-1&&(a.b.n=6,undefined);d=new DCc;switch(b){case 97:case 65:K7b(a);break;case 101:case 69:L7b(a,d);break;case 102:M7b(a,d);break;case 103:case 71:T7b(a,d);break;default:throw q0(l8b(a.b));}a.b.n=-1;f=0;if(45==d.a.charCodeAt(0)){if(a.b.g)return U7b(a,d)}else{if(a.b.j){CCc(d,0,String.fromCharCode(32));++f}if(a.b.d){CCc(d,0,String.fromCharCode(43));++f}}c=d.a.charCodeAt(0); +a.b.k&&(c==43||c==45)&&(f=1);(b==97||b==65)&&(f+=2);return I7b(a,d,f)}function vmb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;e=nmb(a,Lec(b));i=b.c;f=i.f;if(aec(i,(vhc(),Vgc))==0&&(!f||aec(f,Vgc)==0)){Pdc(b,e);Hec(b,Vgc,0);Amb(a,b);return}Xdc(i);!f?f=ifc((d=new mfc((Plc(),gjc)),d),b):Xdc(f);if(aec(i,Vgc)!=0&&aec(f,Vgc)==0){e=ifc(Qob(q9b((Plc(),Okc),e),a.f.a),e);n=i;i=f;f=n}if(aec(i,Vgc)==0){h=Xmb(a.a,c);k=Kmb(a.a,h,false,i);while(k.c){l=Lec(k);Hec(l,Wgc,1);Odc(i,l)}Amb(a,ifc(W8b(e,i),b));xmb(a,f,null,null); +gnb(a.a,h);return}j=new tnb(a.a);g=Xmb(a.a,c);e=omb(a,e);m=Kmb(a.a,j,true,b);inb(a.a,ifc(W8b(omb(a,e),m),b));xmb(a,f,null,null);knb(a.a,g,f);gnb(a.a,j);xmb(a,i,null,null);gnb(a.a,g)}function S3(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;switch(b.n.f){case 98:d4(a,(dXb(),DWb),b);G4(b);j=Rlc(b.n);j!=-1&&(e=$dc(b),j!=e&&b5(CWc+j+DWc+e,b));n=b.c;c?e4(a,n,true):e4(a,n,false);break;case 86:case 87:d4(a,(dXb(),iWb),b);G4(b);F4(a,b);k=Rlc(b.n);k!=-1&&(f=$dc(b),k!=f&&b5(CWc+k+DWc+f,b));m=b.c;c?e4(a,m,true):e4(a,m,false); +break;case 161:g=$dc(b);0!=g&&b5(AWc+g,b);break;case 118:W3(a,b);break;case 162:l=Rlc(b.n);l!=-1&&(h=$dc(b),l!=h&&b5(CWc+l+DWc+h,b));Q3(b.c,0);break;case 163:i=Rlc(b.n);i!=-1&&(d=$dc(b),i!=d&&b5(CWc+i+DWc+d,b));break;case 80:break;default:b5("Class contained member of invalid type "+b.n,b)}}function Ubb(b){var c,d,e,f,g,h,i;b.I.cc>1&&(new Lyb,hv(kv(new mHc(b.C.a),new usb)));f=Vn(hv(kv(new mHc(b.C.a),new usb)));Qbb(f);i=false;if(b.I._.b!=(Tgb(),Pgb)){for(e=new kw(Pv(ov(hv(kv(new mHc(b.C.a),new usb)).a), +new lv));iw(e);){d=jw(e);for(h=ydb(d).f.Xd();h.Jd();){g=h.Kd();sMc(b.r,g)}}try{rsb(b.C,b,b.I._);i=true}catch(a){a=p0(a);if(lH(a,225)){c=a;fcb(b,new Lrb(null,null,-1,-1,cbb,null,yG(tG(wZ,1),eWc,2,6,[c.g])))}else if(lH(a,336)){c=a;fcb(b,new Lrb(null,null,-1,-1,dbb,null,yG(tG(wZ,1),eWc,2,6,[c.g])))}else throw q0(a);}}Dbb(b,f);obb(b,b.C?new mHc(b.C.a):null);Fbb(b);i&&(obb(b,b.C?new mHc(b.C.a):null),Hbb(b))}function LEb(a,b){KEb();meb(b,(DVb(),zVb))&&fGc(a,GEb);if(meb(b,nVb)){fGc(a,DEb);fGc(a,JEb)}if(meb(b, +xVb)){fGc(a,MEb("markTrailingCommasInParameterListsRemoved",(dXb(),_Wb),yG(tG(mU,1),FUc,25,0,[])));fGc(a,CEb)}meb(b,vVb)&&fGc(a,HEb);if(meb(b,tVb)){fGc(a,MEb("markEs6FeaturesNotRequiringTranspilationAsRemoved",(dXb(),dWb),yG(tG(mU,1),FUc,25,0,[LWb,PWb,QWb])));fGc(a,tEb);fGc(a,xEb);fGc(a,oEb);fGc(a,uEb);fGc(a,AEb);fGc(a,NEb(($lb(),Ylb)));fGc(a,vEb);fGc(a,qEb);fGc(a,wEb);fGc(a,zEb);fGc(a,BEb);fGc(a,rEb);fGc(a,FEb);fGc(a,EEb);fGc(a,IEb);fGc(a,pEb)}else if(neb(b,(dXb(),KWb))){fGc(a,uEb);fGc(a,AEb);fGc(a, +NEb(($lb(),Zlb)))}}function tF(a){qF();var b,c,d;d=new ECc;d.a+='"';for(c=0;c=2&&(a.charCodeAt(c-1)==45&&a.charCodeAt(c-2)==45||a.charCodeAt(c-1)==93&&a.charCodeAt(c-2)==93)?(d.a+="\\u003e",d):(d.a+=String.fromCharCode(b),d);break;case 60:WBc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):WBc(a,false, +c+1,"!--",0,3)?(d.a+="\\u003c",d):(d.a+=String.fromCharCode(b),d);break;default:b>31&&b<=127?(d.a+=String.fromCharCode(b),d):sF(d,b)}}d.a+='"';return d.a}function VDb(a){var b,c,d,e,f;f=a.d.d;a.b=Sub(f);switch(f.n.f){case 65:{e=f.c;b=e.f;Ud(b.n==(Plc(),$kc));TDb(a,a.d,b);d=e.Di();d.length!=0&&(vub(),f.n==Vjc&&!(f.n==Vjc&&rvb(f.g)&&f.n==Vjc&&Uvb(f.c))&&!Mvb(f))&&UDb(a,a.d,e);return}case 96:{c=f.c;c.n!=(Plc(),Fjc)&&(vub(),f.n==ojc&&(!(f.n==ojc&&Uvb(f.c))||!rvb(f.g)))&&UDb(a,a.d,c);return}case 81:case 85:Vd(!a.d.b, +a.d);WDb(a,f,a.d,a.d);return;case 112:WDb(a,f,a.d,a.d);return;case 72:case 101:case 102:case 73:case 67:WDb(a,f,null,a.d);return;case 82:vub();f.n==(Plc(),gjc)&&!!f.g&&f.g.n==Vjc?WDb(a,f,a.d,a.d):WDb(a,f,null,a.d);return;default:throw q0(new CF("Illegal scope root: "+f));}}function Ztc(a){cuc(a,Vtc(a,(ztc(),osc)));cuc(a,Vtc(a,ssc));cuc(a,Vtc(a,usc));cuc(a,Vtc(a,qsc));cuc(a,Vtc(a,wsc));cuc(a,Vtc(a,xsc));cuc(a,Vtc(a,Msc));cuc(a,Vtc(a,Isc));cuc(a,Vtc(a,Ksc));cuc(a,Vtc(a,Esc));cuc(a,Vtc(a,Asc));cuc(a, +Vtc(a,Qsc));cuc(a,Vtc(a,Osc));cuc(a,Vtc(a,Rsc));cuc(a,Vtc(a,Tsc));cuc(a,Vtc(a,Ysc));auc(a,Vtc(a,Ysc),"Null");cuc(a,Vtc(a,_sc));cuc(a,Vtc(a,ftc));cuc(a,Vtc(a,itc));cuc(a,Vtc(a,ktc));cuc(a,Vtc(a,mtc));cuc(a,Vtc(a,otc));cuc(a,Vtc(a,qtc));cuc(a,Vtc(a,stc));cuc(a,Vtc(a,ttc));auc(a,Vtc(a,utc),x1c);cuc(a,Vtc(a,ytc));auc(a,Vtc(a,ytc),"Undefined");auc(a,Vtc(a,ytc),LXc);auc(a,Vtc(a,vtc),YYc);auc(a,Vtc(a,Fsc),"Global")}function OTc(a,b){var c,d,e,f,g,h,i,j,k;e=0;for(i=0;ib)throw q0(new Pzc(K1c));}f=vG(uH,rUc,50,e,15,1);k=0;g=0;for(h=0;h0){c=a[h++];if((c&192)!=128)throw q0(new zsb("Invalid UTF8 sequence at "+(h-1)+", byte="+(j=c>>>0,j.toString(16))));d=d<<6|c& +63}k+=hAc(d,f,k)}return f}function c0b(a,b,c){var d,e,f,g,h,i,j;j=a.f-1;e=c==92;d=false;h=e?1:0;c=S_b(a,a.f)?JBc(a.b,a.f):0;while(C0b(c)||c==92||c==123&&h==2||c==125&&d){c==92&&(e=true);(c==92||h>0)&&++h;c==123&&(d=true);if(c==125||h>=6&&!d){d=false;h=0}T_b(a);c=S_b(a,a.f)?JBc(a.b,a.f):0}i=dCc(a.b,j,a.f);if(e){i=J0b(i);if(i==null){Z_b(a,R_b(a,a.f),K0c,yG(tG(rZ,1),zUc,1,5,[]));return O_b(a,(V2b(),w1b),b)}}g=i.charCodeAt(0);if(!D0b(g)){Z_b(a,uYb(a.g,b),"Character '%c' (U+%04X) is not a valid identifier start char", +yG(tG(rZ,1),zUc,1,5,[jAc(g),fBc(g)]));return O_b(a,(V2b(),w1b),b)}f=mYb(i,a.i);if(f)return new iXb(f.b,vYb(a.g,b,a.f));return new kXb(vYb(a.g,b,a.f),i)}function b9b(a){switch(a.n.f){case 65:case 96:return true;case 13:case 62:case 42:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 104:case 3:case 1:case 20:case 2:case 28:case 92:case 46:case 64:case 24:case 16:case 4:case 18:case 34:case 9:case 26:case 27:case 8:case 60:case 125:case 40:case 63:case 41:case 7:case 10:case 6:case 17:case 15:case 29:case 5:case 22:case 23:case 124:case 19:case 30:case 32:case 43:case 61:case 21:case 38:case 11:case 36:case 37:case 31:case 14:case 99:case 120:case 119:case 33:case 25:case 35:case 12:case 79:case 103:return true; +default:return false}}function i0b(a){var b;b=z0b(a);if(S_b(a,a.f))switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 47:switch(S_b(a,a.f+1)?JBc(a.b,a.f+1):0){case 47:u0b(a,(y3b(),w3b));return true;case 42:n0b(a);return true}break;case 60:if((S_b(a,a.f+1)?JBc(a.b,a.f+1):0)==33&&(S_b(a,a.f+2)?JBc(a.b,a.f+2):0)==45&&(S_b(a,a.f+3)?JBc(a.b,a.f+3):0)==45){__b(a,L0c,yG(tG(rZ,1),zUc,1,5,[]));u0b(a,(y3b(),w3b));return true}break;case 45:if(b&&(S_b(a,a.f+1)?JBc(a.b,a.f+1):0)==45&&(S_b(a,a.f+2)?JBc(a.b,a.f+2):0)==62){__b(a, +L0c,yG(tG(rZ,1),zUc,1,5,[]));u0b(a,(y3b(),w3b));return true}break;case 35:if(a.f==0&&(S_b(a,a.f+1)?JBc(a.b,a.f+1):0)==33){u0b(a,(y3b(),x3b));return true}}return false}function Kib(a,b){var c,d,e,f,g,h,i,j,k;if(!a.d)return false;i=bqb(a.d,b);if(!i)return false;d=i.d;if(!d)for(k=(LHc(),new eJc((new OIc(i.q)).b.Xd()));k.b.Jd();){j=k.b.Kd();(j.g==(Zqb(),Wqb)||j.g==Xqb)&&(d=j)}if(!d)return false;f=d.c;g=dec(f,(vhc(),mhc));if(!!g&&g.ri())return false;c=f.g;e=null;if(c.n==(Plc(),Vjc))e=c;else{vub();if(!!c&& +(c.n==Jlc||c.n==ykc||c.n==tjc)&&f.n==Gkc)if(f.c)e=Pd(f.c);else return false;else if(c.n==Pic&&c.c==f)e=Pd(c.c.f);else if(c.n==Tkc&&!!f.c&&!f.c.f)e=Pd(f.c);else throw q0(new RAc("Unexpected declaration format:\n"+hfc(c)));}if(e.n==Vjc){h=Pd(Zdc(e,2));return!Wib(new Xib(a),h)}else return wec(e)&&Kib(a,eec(e))}function Cmc(a,b){var c,d,e;if(!!a.rj()&&!!b.rj())return yqc(a.rj(),b.rj(),false);else{d=new Lrc(false);if(gmc(a,b,0,d))return a;else if(a.kj()||b.kj())return c=new Lrc(false),gmc(a,b,0,c)?a:jmc(a, +(ztc(),xtc));else if(a.vj())return xyc(a.vj(),b);else if(b.vj())return xyc(b.vj(),a);else if(a.uj())return Exc(a.uj(),b);else if(b.uj())return Exc(b.uj(),a);else if(a.ij(b))return zmc(a);else if(b.ij(a))return zmc(b);else if(a.sj())return fwc(a.sj(),b);else if(b.sj())return fwc(b.sj(),a)}if(a.pj()){e=qpc(a.pj(),b);if(e)return e}else if(b.pj()){e=qpc(b.pj(),a);if(e)return e}if(a.gj()&&b.gj())return jmc(a,(ztc(),Vsc));return jmc(a,(ztc(),Xsc))}function fD(b,c){var d,e,f,g,h,i,j;this.f=Pd(b);this.c= +Pd(c);try{this.a=OD(c.length,(TCc(),RCc))}catch(a){a=p0(a);if(lH(a,201)){f=a;throw q0(new Asb("Illegal alphabet length "+c.length,f));}else throw q0(a);}g=$wnd.Math.min(8,_Ac(this.a));try{this.d=8/g|0;this.b=this.a/g|0}catch(a$1){a$1=p0(a$1);if(lH(a$1,201)){f=a$1;throw q0(new Asb("Illegal alphabet "+rCc(c,0,c.length),f));}else throw q0(a$1);}e=vG(tH,tVc,50,128,15,1);TGc(e,e.length);for(i=0;i>24}this.e=e;j=vG(n0,{1176:1,3:1},50,this.d,16,1);for(h=0;h1&&(new Lyb, +hv(kv(new mHc(a.C.a),new usb)));e=new pGc;i=new oMc;h=new oMc;for(g=new kw(Pv(ov(hv(kv(new mHc(a.C.a),new usb)).a),new lv));iw(g);){f=jw(g);a.I._.b!=(Tgb(),Qgb)&&ydb(f).f.Wd()&&(e.a[e.a.length]=f,true);jDc(h,N5(O5(zdb(f).a)),f);for(m=ydb(f).f.Xd();m.Jd();){l=m.Kd();OBc(l.substr(0,7),WXc)||(l==null?OMc(i.d,null,f):hNc(i.e,l,f))}}for(k=Qv(new eJc(a.I._.a.a.b.Xd()));k.Jd();){j=k.Kd();f=gDc(i,N5(j));!f&&(f=gDc(h,N5(j)));!!f&&(e.a[e.a.length]=f,true)}n=mB(new kw(Pv(ov(hv(kv(new mHc(a.C.a),new usb)).a), +new lv)));for(d=new HGc(e);d.a=14&&k<=16)))if(b.a.ue(d)){!c.a?c.a=new GCc(c.d):ACc(c.a,c.b);xCc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=uG(d),!(l>=14&&l<=16)),d);j=new xMc(b);pPc(c, +PGc(h,j))}else lH(d,1176)?pPc(c,kHc(d)):lH(d,443)?pPc(c,dHc(d)):lH(d,77)?pPc(c,eHc(d)):lH(d,1185)?pPc(c,jHc(d)):lH(d,150)?pPc(c,hHc(d)):lH(d,639)?pPc(c,iHc(d)):lH(d,1186)?pPc(c,gHc(d)):lH(d,1187)&&pPc(c,fHc(d));else pPc(c,d==null?wUc:X0(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function pob(a,b){var c,d,e,f,g,h;if(b.n==(Plc(),Mic))oob(a,b);else if(b.n==jjc)qob(a,b);else{Hd(b.n==Mkc,b);Gd(b.n==Mkc);c=Lec(b);d=lob(a,b);d.a[0].n==Mic?e=kGc(d,0):e=Wec(E8b(yG(tG(CX,1),mWc,7,0,[])),a.a);Pdc(e, +Wec(new mfc(Pkc),a.f));f=d.a.length==0?e:Wec(K8b(Wec(T8b(e,(Ldc(),new Lhc(qlc,zZc))),a.d),oGc(d,vG(CX,mWc,7,0,0,1))),a.a);FVb((DVb(),rVb),leb(a.c.Hg()))&&Lob(a.c,b,'"..." passed to a constructor (consider using --language_out=ES5)');g=mob(Wec(V8b(mob(Wec((Zd(RBc(YYc,jCc(46))==-1,kWc,YYc),Ldc(),new Lhc(Gkc,YYc)),a.e),RWc),"bind",yG(tG(wZ,1),eWc,2,6,[])),a.i),VYc);h=Wec(g9b(kob(g,yG(tG(CX,1),mWc,7,0,[c,f])),yG(tG(CX,1),mWc,7,0,[])),b.d);lfc(h,b);Oec(b.g,b,h);a.c.Vg(h)}}function EPc(a,b,c){var d,e,f, +g,h,i,j,k,l,m,n;if(!a.b)return false;g=null;m=null;i=new gQc(null,null);e=1;i.a[1]=a.b;l=i;while(l.a[e]){j=e;h=m;m=l;l=l.a[e];d=a.a.xf(b,l.d);e=d<0?0:1;d==0&&(!c.c||vOc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!APc(l.a[e]))if(APc(l.a[1-e]))m=m.a[j]=HPc(l,e);else if(!APc(l.a[1-e])){n=m.a[1-j];if(n)if(!APc(n.a[1-j])&&!APc(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;APc(n.a[j])?h.a[f]=GPc(m,j):APc(n.a[1-j])&&(h.a[f]=HPc(m,j));l.b=h.a[f].b=true;h.a[f].a[0].b=false;h.a[f].a[1].b=false}}}if(g){c.b= +true;c.d=g.e;if(l!=g){k=new gQc(l.d,l.e);FPc(a,i,g,k);m==g&&(m=k)}m.a[m.a[1]==l?1:0]=l.a[!l.a[0]?1:0];--a.c}a.b=i.a[1];!!a.b&&(a.b.b=false);return c.b}function cHb(a,b){var c,d,e,f,g,h,i;i=b.d;Ud(b.n==(Plc(),Vjc)||!!i.rj());if(!i||i.kj())return"";c=i.rj();if(i.zd(Vtc(a.b,(ztc(),vtc))))return"/** @type {!Function} */\n";g=new GCc("/**\n");e=null;!!b&&b.n==Vjc&&(e=(vub(),Gd(b.n==Vjc),b.c.f).c);ZGb(a,g,c,e);f=c.b.b;if(!!f&&!(f.cj()||f.aj()||f.bj()||f==Vtc(f.D,Usc))&&c.i!=(rrc(),prc)&&!(c.Zi()&&f.lj())){g.a+= +U$c;lHb(g,rXc,dmc(f,new DCc,true).a);g.a+=xVc}if(c.Zi()){YGb(g,c);g.a+=" * @constructor\n"}else if(c.i==(rrc(),prc))$Gb(g,c);else{h=mmc(c.o)?Vtc(c.D,xtc):c.o;if(!!h&&!h.kj()&&!h.lj())if(!b||!h.zd(aHb(a,b))){g.a+=U$c;lHb(g,ZVc,dmc(h,new DCc,true).a);g.a+=xVc}}_Gb(g,(d=c.F,d.c.If(d.c.$d()-c.w,d.c.$d())));g.a+=" */\n";return g.a}function _ob(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.g;q=a.i+EZc+(""+a.e.a.S++);i=b.c;p=i.f;m=b.c?b.c.i:null;Ydc(b);g=null;s=ifc((f=new mfc((Plc(),gjc)),f),b);h=ifc((e= +new mfc(gjc),e),b);switch(b.n.f){case 60:g=i;Pdc(s,fwb(gpb(p,d,q)));Pdc(h,fwb(gpb(m,d,q)));break;case 62:g=gpb(i,d,q);Pdc(s,fwb(gpb(m,d,q)));break;case 61:g=gpb(i,d,q);Pdc(h,fwb(gpb(m,d,q)));break;default:throw q0(new RAc("Unexpected expression: "+b));}h.c?k=(Ud(b9b(g)),Ud(s.n==gjc),Ud(h.n==gjc),new rfc(dkc,g,s,h)):k=W8b(g,s);kfc(k,b);if(d){r=lfc(kwb(q,null),b);Wec(r.c,a.k);l=c.g;Ndc(l,r,c);Mdc(l,k,r);o=Qob((Zd(RBc(q,jCc(46))==-1,kWc,q),Ldc(),new Lhc(Gkc,q)),b.d);Oec(n,b,o)}else{Gd(n.n==Pjc);j=n.g; +Oec(j,n,k)}return k}function J7b(a,b,c){var d,e,f;a.b=b;a.a=c;if(!b.d&&!b.e&&!b.f&&!b.g&&!b.i&&!b.j&&!b.k&&b.p==-1&&b.n==-1)switch(b.b){case 115:if(a.a==null)return wUc;case 100:if(lH(a.a,129)||lH(a.a,156)){e=X0(a.a);return e}}g8b(a.b,a.a);switch(b.b){case 66:case 98:f=(mH(a.a)?e=X0(a.a):a.a==null?e=GXc:e=HXc,I7b(a,e,0));break;case 72:case 104:f=Q7b(a);break;case 83:case 115:f=(d=pCc(a.a),I7b(a,d,0));break;case 67:case 99:f=N7b(a);break;case 100:case 111:case 120:case 88:f=R7b(a);break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:f= +P7b(a);break;case 37:f=I7b(a,"%",0);break;case 110:f=xVc;break;case 116:case 84:f=O7b(a);break;default:throw q0(l8b(b));}gAc(b.b)&&f!=null&&(f=Wb(X0(f)));return f}function nbb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;l=c||!a.I.ad;if(zNc(a.t,b)||!l)return a.A;j=w8b("js/"+b+UXc);d=(!a.I&&Jbb(a,new veb),n=OCb(" [synthetic:"+b+"] ",j,(Fic(),Dic)),On(),new RB(Pd(n)),o=new Hdb(n),acb(a,o.i,o),Pd(xdb(o,a)));for(i=d.c;!!i&&i.n==(Plc(),Pjc)&&i.c.n==(Plc(),qlc);i=d.c){f=i.c.Di();m=Qe(Ne(Ve(new jc(32))),f);switch(m.a.ee(0)){case "use":break; +case aXc:nbb(a,m.a.ee(1),c);break;default:throw q0(new CF("Bad directive: "+f));}Jec(d,i)}c1(a.V)&&(nub(a,d,new fxb(a,false)),nub(a,d,new ptb(new Dtb(sbb(a),new ndb(a),"jscomp_"+b+"_"))));h=d.c?d.c.i:null;for(e=d.c;e;e=e.f)cwb(e,a);g=Kec(d);if(!g)return a.A;k=wbb(a);!a.A?Sdc(k,g):Qdc(k,g,a.A);a.A=h;BNc(a.t,b,h);ccb(a,rbb(k));Tbb(a);return h}function uSb(a,b){var c,d,e,f,g,h,i,j;if(b!=(ATb(),qTb)){a.o=b;return VRb(a,"msg.jsdoc.missing.lp",a.j.g,GTb(a.j)),null}d=iSb(a,(Plc(),Vjc));h=null;SSb(a);if(!gSb(a, +wTb)){b=!a.o?HTb(a.j):ZRb(a);e=true;if(b==zTb){j=a.j.n;g=OBc(ZVc,j);f=OBc("new",j);if(g||f){if(gSb(a,hTb)){!a.o?HTb(a.j):ZRb(a);SSb(a);c=USb(a,g?Alc:Mkc,qSb(a,!a.o?HTb(a.j):ZRb(a)));if(!c)return null;Pdc(d,c)}else return VRb(a,"msg.jsdoc.missing.colon",a.j.g,GTb(a.j)),null;if(gSb(a,iTb)){!a.o?HTb(a.j):ZRb(a);SSb(a);b=!a.o?HTb(a.j):ZRb(a)}else e=false}}if(e){h=BSb(a,b);if(!h)return null}}!!h&&Odc(d,h);SSb(a);if(!gSb(a,wTb))return VRb(a,J_c,a.j.g,GTb(a.j)),null;SSb(a);!a.o?HTb(a.j):ZRb(a);i=DSb(a); +if(!i)return null;else Odc(d,i);return d}function fac(a){var b,c,d,e,f,g,h,i,j,k,l;e=new pGc;!!a.i&&fGc(e,a.i);!!a.g&&fGc(e,a.g);if(a.d){!!a.d.a&&fGc(e,a.d.a);if(a.d.f)for(d=new HGc(a.d.f);d.a0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1);--f;i=b==45}}if(f==0)throw q0(new EBc(C1c+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1);--f}if(f>(DBc(),BBc)[10])throw q0(new EBc(C1c+j+'"'));for(e=0;e0){l=-parseInt(a.substr(0,d),10);a=a.substr(d);f-=d;c=false}while(f>=g){d=parseInt(a.substr(0, +g),10);a=a.substr(g);f-=g;if(c)c=false;else{if(s0(l,h)<0)throw q0(new EBc(C1c+j+'"'));l=B0(l,k)}l=F0(l,d)}if(s0(l,0)>0)throw q0(new EBc(C1c+j+'"'));if(!i){l=C0(l);if(s0(l,0)<0)throw q0(new EBc(C1c+j+'"'));}return l}function tIb(){tIb=T0;qIb=new $hb("JSC_REFERENCE_BEFORE_DECLARE",(p7(),o7),new aDc("Variable referenced before declaration: {0}"));rIb=new $hb("JSC_REDECLARED_VARIABLE",o7,new aDc("Redeclared variable: {0}"));new $hb("JSC_REFERENCE_BEFORE_DECLARE_ERROR",m7,new aDc("Illegal variable reference before declaration: {0}")); +new $hb("JSC_REASSIGNED_CONSTANT",m7,new aDc("Constant reassigned: {0}"));new $hb("JSC_REDECLARED_VARIABLE_ERROR",m7,new aDc("Illegal redeclared variable: {0}"));new $hb("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK",m7,new aDc("Block-scoped declaration not directly within block: {0}"));sIb=new $hb("JSC_UNUSED_LOCAL_ASSIGNMENT",n7,new aDc("Value assigned to local variable {0} is never read"));qs(VLc((Plc(),dkc),yG(tG(JX,1),FUc,9,0,[Rjc,Tjc,Ujc,Sjc,Mlc])))}function Vsb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o, +p,q,r;Gd(b.n==(Plc(),Tkc));m=new pGc;d=b.c;i=b.d;while(d)if(aec(d,(Ldc(),jdc))!=0||aec(d,ldc)!=0){Mob(a.c,d,"computed getter/setter in an object literal");return}else if(d.n==akc||d.n==mlc)d=d.f;else{f=d.f;Jec(b,d);m.Qd(d);d=f}g="$jscomp$compprop"+(""+a.c.Ng().a.S++);m=lH(m,106)?Qn(m):lH(m,173)?m.a:lH(m,69)?new Ly(m):new By(m);n=W2(a.b,g,i);for(k=m.Xd();k.Jd();){j=k.Kd();if(j.n==sjc){l=Lec(j);q=Lec(j);n=C2(a.b,x2(a.b,L2(a.b,W2(a.b,g,i),l),q),n)}else{p=Lec(j);e=j.Fi();dfc(j,qlc);Wec(j,a.e);Gec(j,(Ldc(), +Gdc),false);h=W2(a.b,g,i);c=e?L2(a.b,h,j):M2(a.b,h,j.Di());n=C2(a.b,x2(a.b,c,p),n)}}o=b;while(vub(),!(o.n!=Ekc&&Xvb(o.g)))o=o.g;lfc(n,b);Oec(b.g,b,n);r=M8b(W2(a.b,g,i),(Job(),b),Jlc);lfc(r,o);Ndc(o.g,r,o);a.c.Vg(r)}function xmb(a,b,c,d){var e,f,g,h;Ud(c9b(b));Ud(!b.g);if(aec(b,(vhc(),Vgc))==0){Amb(a,b);return}switch(b.n.f){case 83:wmb(a,b);break;case 82:qmb(a,b);break;case 84:smb(a,b);break;case 76:Bmb(a,b);break;case 0:Pdc(b,fnb(a.a,b,omb(a,nmb(a,Lec(b)))));inb(a.a,b);a.a.j.e=false;break;case 39:Pdc(b, +omb(a,nmb(a,Lec(b))));inb(a.a,b);a.a.j.e=false;break;case 66:vmb(a,b,c);break;case 72:tmb(a,b,c,d);break;case 73:umb(a,b,c,d);break;case 70:e=Xmb(a.a,d);f=Xmb(a.a,c);gnb(a.a,e);g=omb(a,nmb(a,Lec(b)));h=Lec(b);inb(a.a,ifc(W8b(ifc(Qob(q9b((Plc(),Okc),g),a.f.a),g),Kmb(a.a,f,true,b)),b));anb(a.a,f,e);xmb(a,h,null,null);Zmb(a.a);knb(a.a,e,b);gnb(a.a,f);break;case 71:rmb(a,b,c,d);break;case 44:zmb(a,b,c);break;case 67:ymb(a,b,c);break;default:Zd(false,"Unsupported token: %s ",b.n)}}function cjb(a,b,c){var d, +e,f,g,h,i,j,k,l,m,n;Xob(a.c,c)==2&&Zob(a.c,c);m=c.g;l=(eLb(),YBc(XBc(XBc(XBc(XBc(XBc(XBc(YBc($Bc(gLb((h=YBc(YBc(YBc(YBc(YBc(XBc(XBc(dec(c,(vhc(),mhc)).ah(),58,45),92,47)," ",TWc),"[",UWc),"]",VWc),"<",WWc),">",XWc),fLb(h))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),TWc,"_")+"$classdecl$var"+a.a++);j=(vub(),k=Gub(c),!k?null:dec(k,_gc));n=Mub(m,new wwb);g=c.d;Ud(!a.b.Qg()||!!g);e=Wec((Zd(RBc(l,jCc(46))==-1,kWc,l),Ldc(),new Lhc((Plc(),Gkc),l)),g);f=Vdc(e,false);Oec(m,c,f);d=lfc(M8b(e, +c,tjc),c);wub(b.f,(dXb(),lWb));Vec(d,Gbc($cc(j)));Ndc(n.g,d,n);if(!!n&&(n.n==Jlc||n.n==ykc||n.n==tjc)&&!!n.c&&!n.c.f&&(Ud(!!n.c&&!n.c.f),n.c==m))bjb(n);else if(n.n==Pjc){i=(Ud(!!n.c&&!n.c.f),n.c);i.n==Pic&&wec(i.c)&&i.c.f==f&&bjb(i)}a.b.Vg(d)}function aBb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(!(!!c.c&&!c.c.f)||c.c.n!=(Plc(),Pjc)){fcb(a.a,Qrb(c,ZAb,yG(tG(wZ,1),eWc,2,6,[])));return}j=Xdc(c.c.c);d=c.c;!!d&&Jec(c,d);k=hLb(zdb((!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d)).a);Pdc(c,ifc(M8b(ifc((Zd(RBc(k,jCc(46))== +-1,kWc,k),Ldc(),new Lhc((Plc(),Gkc),k)),j),j,Jlc),j));Pdc(c,lfc(P8b(K8b(T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,pXc)),yG(tG(CX,1),mWc,7,0,[new Lhc(qlc,k)]))),c));i=(!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d).a.$h().b;m=A$c.length;if(OBc(i.substr(i.length-m,m),A$c)&&j.n==Tkc){l=a.a.I.kc;for(h=Qv(new eJc(l.a.b.Xd()));h.Jd();){g=h.Kd();f=Rub(j,g);if(!!f&&(f.n==qlc||f.n==Tkc)){e=dCc(i,0,i.length-12);if(f.n==qlc){jDc(a.b,i,e+(""+f.Di()));break}else if(f.n==Tkc){Vd(OBc(g,"browser"), +g);_Ab(a,e,f)}}}}cub(b)}function Jub(a){var b,c,d,e,f,g,h;switch(a.n.f){case 32:case 34:case 79:return Uxc(),Rxc;case 35:case 38:case 65:case 96:case 23:case 42:case 43:return Uxc(),Sxc;case 120:if(!!a.c&&!a.c.f){g=(Ud(!!a.c&&!a.c.f),a.c);Vd(g.n==(Plc(),ylc),g);b=g.Ai();return Uxc(),b!=null&&b.length!=0?Sxc:Rxc}else return Uxc(),Txc;case 31:return Uxc(),a.Di().length>0?Sxc:Rxc;case 30:return Uxc(),a.Bi()!=0?Sxc:Rxc;case 19:return Jub(a.c?a.c.i:null).hk();case 29:e=a.Di();return OBc(dZc,e)||OBc("NaN", +e)?(Uxc(),Rxc):OBc(h$c,e)?(Uxc(),Sxc):(Uxc(),Txc);case 47:case 46:return Jub(a.c?a.c.i:null);case 62:{d=Jub(a.c);f=Jub(a.c?a.c.i:null);return d.gk(f)}case 61:{d=Jub(a.c);f=Jub(a.c?a.c.i:null);return d.ik(f)}case 60:{h=Jub(a.c.f);c=Jub(a.c?a.c.i:null);return h==c?h:(Uxc(),Txc)}default:return Uxc(),Txc}}function tbb(a){var b,c,d,e,f,g,h,i,j,k,l,m;e=a.I.rb;j=a.I.C;b=new DCc;if(e.a.a.Wd()&&j.a.a.Wd())return rdb(new pdb(a));if(!e.a.a.Wd()){Pd(a.p);Pd(a.w);for(g=Tm(Nm(yG(tG(lZ,1),zUc,16,0,[Tdc(a.p),Tdc(a.w)])));iw(g);){f= +jw(g);d=(c=dec(f,(vhc(),mhc)),!c?null:c.ah());for(l=Qv(new eJc(e.a.b.Xd()));l.Jd();){k=l.Kd();if((new RegExp("^("+k+")$")).test(d)){m="// "+d+xVc+(!a.I&&Jbb(a,new veb),ncb(a,f,true));b.a+=m;break}}}if(b.a.length==0)throw q0(new CF("No files matched any of: "+e));}if(!j.a.a.Wd()){for(i=new PDc(a.C?new mHc(a.C.a):null);i.b2){a.a.gi(B_c+vic(__c,yG(tG(rZ,1),zUc,1,5,[Y_c])),a.b.ah(),a.d,a.c);HUb(a,(c=TUb.d,Md(b.n==jjc,S_c,b),Zdc(b,2),c));return false}f=(Md(e.n==Vjc,Z_c,e),Zdc(e,2));if(!BUb(a,f)){a.a.gi(B_c+vic(W_c,yG(tG(rZ,1),zUc,1,5,[a0c])),a.b.ah(),a.d,a.c);return false}return true}function nUb(a,b){var c,d,e,f,g;if(!cUb(a,b,(gVb(),UUb)))return false;if(!BUb(a,(Md(b.n==(Plc(),jjc), +S_c,b),Zdc(b,1)))){HUb(a,(c=UUb.d,Md(b.n==jjc,S_c,b),Zdc(b,1),c));return false}if((Md(b.n==jjc,S_c,b),Zdc(b,2)).n!=Vjc){GUb(a,(d=Y_c,Md(b.n==jjc,S_c,b),Zdc(b,2),d));HUb(a,(c=UUb.d,Md(b.n==jjc,S_c,b),Zdc(b,2),c));return false}e=(Md(b.n==jjc,S_c,b),Zdc(b,2));g=(Md(e.n==Vjc,Z_c,e),$dc(e.c.f));if(g<1){a.a.gi(B_c+vic($_c,yG(tG(rZ,1),zUc,1,5,[Y_c])),a.b.ah(),a.d,a.c);HUb(a,(c=UUb.d,Md(b.n==jjc,S_c,b),Zdc(b,2),c));return false}if(g>1){a.a.gi(B_c+vic(__c,yG(tG(rZ,1),zUc,1,5,[Y_c])),a.b.ah(),a.d,a.c);HUb(a, +(c=UUb.d,Md(b.n==jjc,S_c,b),Zdc(b,2),c));return false}f=(Md(e.n==Vjc,Z_c,e),Zdc(e,2));if(!BUb(a,f)){a.a.gi(B_c+vic(W_c,yG(tG(rZ,1),zUc,1,5,[a0c])),a.b.ah(),a.d,a.c);return false}return true}function A$b(a){var b,c,d,e;if(V$b(a,0,(V2b(),H1b))&&(e=Y_b(a.g,1).e,E1b==e||(jYb(),!!ep(MXb,e))||V$b(a,1,B2b)||V$b(a,1,_1b)||V$b(a,1,w2b)))return UZb(a);if(V$b(a,0,x1b))return DZb(a,false);if(V$b(a,0,K1b))return YZb(a);if(V$b(a,0,s1b))return zZb(a);if(V$b(a,0,M2b)&&(c=Y_b(a.g,1).d.b.b>Y_b(a.g,0).d.a.b,!(c||V$b(a, +1,t2b)||V$b(a,1,d1b)||V$b(a,1,r1b)))&&V$b(a,1,E1b)&&V$b(a,2,t1b))return K$b(a);if(V$b(a,0,l1b)&&(d=Y_b(a.g,1).d.b.b>Y_b(a.g,0).d.a.b,!(d||V$b(a,1,t2b)||V$b(a,1,d1b)||V$b(a,1,r1b)))&&(V$b(a,1,Q2b)||V$b(a,1,O1b)||V$b(a,1,i1b)||V$b(a,1,C1b)||V$b(a,1,b1b)||V$b(a,1,s1b)||V$b(a,1,S1b)||V$b(a,1,T1b)))return VYb(a);if((V$b(a,0,S1b)||V$b(a,0,T1b))&&(b=Y_b(a.g,1).d.b.b>Y_b(a.g,0).d.a.b,!(b||V$b(a,1,t2b)||V$b(a,1,d1b)||V$b(a,1,r1b)))&&V$b(a,1,E1b))return i$b(a,false);return E$b(a)}function Eub(a){vub();switch(a.n.f){case 47:return Evb(a.c? +a.c.i:null);case 46:return Eub(a.c?a.c.i:null);case 62:case 61:return Eub(a.c)&&Eub(a.c?a.c.i:null);case 60:return Eub(a.c.f)&&Eub(a.c?a.c.i:null);case 33:case 99:return false;case 29:return Evb(a);case 27:case 26:return false;case 28:return Vd(a.n==(Plc(),jjc)||a.n==wlc,a),Ldc(),(~aec(a,(vhc(),khc))&31&16)!=16||Yvb(a);case 119:return Vd(a.n==(Plc(),jjc)||a.n==wlc,a),Ldc(),(~aec(a,(vhc(),khc))&31&16)!=16;case 23:return Vd(a.n==(Plc(),Mkc),a),vec(a);case 24:case 63:case 64:case 96:case 65:case 38:case 80:case 42:case 43:case 120:return true; +case 92:return Eub(a.c);case 116:case 117:case 103:case 104:return false;default:if(hvb(a)||Vvb(a.n)||Evb(a))return true;throw q0(new RAc("Unexpected expression node: "+a+"\n parent:"+a.g));}}function qob(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;Gd(b.n==(Plc(),jjc));e=b.c;f=n2(b1(a.c),e,false);Jec(b,e);if(!!b.c&&!b.c.f&&nob((Ud(!!b.c&&!b.c.f),b.c)))m=Lec(Lec(b));else{k=lob(a,b);Ud(k.a.length!=0);if(k.a.length==1)m=kGc(k,0);else{c=k.a[0].n==Mic?kGc(k,0):Wec(E8b(yG(tG(CX,1),mWc,7,0,[])),a.a);g=Wec(T8b(c, +(Ldc(),new Lhc(qlc,zZc))),a.d);m=Wec(K8b(g,oGc(k,vG(CX,mWc,7,0,0,1))),a.a)}Wec(m,a.a)}l=aec(b,(Ldc(),tdc))!=0;if(f&&e.n==_jc&&!l){n=e.c.d;i=Wec(e9b("$jscomp$spread$args"+(""+a.c.Ng().a.S++)),n);j=N8b(Vdc(i,false),Jlc);o=(vub(),Mub(b,new wwb));lfc(j,o);Ndc(o.g,j,o);Pdc(e,Wec(G8b(Vdc(i,false),Lec(e)),n));d=K8b(mob(e,VYc),yG(tG(CX,1),mWc,7,0,[Vdc(i,false),m]))}else{h=(e.n==_jc||e.n==$jc)&&!l?Vdc(e.c,false):Wec(new mfc(Pkc),a.f);d=K8b(mob(e,VYc),yG(tG(CX,1),mWc,7,0,[h,m]))}Wec(d,b.d);lfc(d,b);Oec(b.g, +b,d);a.c.Vg(d)}function mqb(a,b,c,d,e,f,g){var h,i,j;if(tqb(a,b,c,d,e,f,g))return;switch(e.n.f){case 84:case 66:case 41:case 25:case 79:case 19:case 20:case 21:case 22:j=(Zqb(),Uqb);break;case 28:d==e.c?j=(Zqb(),Sqb):pqb(a,e)?j=(Zqb(),Uqb):j=(Zqb(),Rqb);break;case 23:j=d==e.c?(Zqb(),Uqb):(Zqb(),Rqb);break;case 61:case 62:j=hqb(e,f);break;case 60:d!=e.c?j=hqb(e,f):j=(Zqb(),Uqb);break;case 24:j=(Zqb(),Tqb);break;case 96:j=(Zqb(),Yqb);break;case 95:case 47:h=d==d.g.c?null:d.i;h.n==(Plc(),mjc)&&(h=(Ud(!!h.c&& +!h.c.f),h.c));switch(h.n.f){case 29:case 26:case 27:case 93:j=(Zqb(),Rqb);break;case 94:j=!!h.c&&xec(h.c?h.c.i:null)?(Zqb(),Rqb):(Zqb(),Uqb);break;default:throw q0(new RAc("Unexpected previous sibling of "+d.n+": "+(d==d.g.c?null:d.i)));}break;case 94:case 116:case 117:default:j=(Zqb(),Rqb)}i=jqb(a,f,g);dqb(a,i,d,j,b,c)}function zrb(a,b,c){var d,e,f,g,h,i,j;if(a.b&&dec(c,(vhc(),ghc))!=null){ACc(b,dec(c,(vhc(),ghc)));return}if(c.n==(Plc(),bjc)){b.a+="!";zrb(a,b,c.c)}else if(c.n==Kjc){zrb(a,b,c.c); +b.a+="="}else if(c.n==_kc){b.a+="(";g=c.c?c.c.i:null;for(d=c.c;d;d=d.f){zrb(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.n==rkc){b.a+=uXc;!!c.c&&c.c.n!=Fjc&&zrb(a,b,c.c)}else if(c.n==plc)b.a+="*";else if(c.n==elc){b.a+="?";!!c.c&&zrb(a,b,c.c)}else if(c.n==Vjc)yrb(a,b,c);else if(c.n==wkc){b.a+="{";i=c.c;h=i.c?i.c.i:null;for(e=i.c;e;e=e.f){if(e.c){ACc(ACc(b,e.c.Di()),":");zrb(a,b,e.c?e.c.i:null)}else ACc(b,e.Di());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.n==Klc)b.a+=LXc;else if(c.n==Elc){b.a+="typeof "; +zrb(a,b,c.c)}else if(c.c){ACc(ACc(b,c.Di()),"<");d=c.c;f=d.c?d.c.i:null;for(j=d.c;j;j=j.f){zrb(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else ACc(b,c.Di())}function Llb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(a.g==($lb(),Zlb))if(BFc(a.f)||!DFc(a.f).a)return;t=qZc+a.c++;i=R2(a.a,Xdc(d),Stb(b));s=W2(a.a,t,i.d);r=M8b(Ihc(s,false),i,(Plc(),Jlc));lfc(r,c);Ndc(f.g,r,f);for(h=c.c;h;h=m){m=h.f;if(h.n==Fjc){n=P8b(B2(a.a,M2(a.a,Ihc(s,false),eZc),yG(tG(CX,1),mWc,7,0,[])));lfc(n,h);Ndc(f.g,n,f);continue}if(h.n== +zjc){p=qZc+a.c++;o=M2(a.a,B2(a.a,M2(a.a,Ihc(s,false),eZc),yG(tG(CX,1),mWc,7,0,[])),fZc);q=o.d;u=M8b(W2(a.a,p,q),o,Jlc);lfc(u,h);Ndc(f.g,u,f);j=Xdc(h.c);l=Glb(a,W2(a.a,p,q),Xdc(h.c?h.c.i:null))}else if(h.n==rkc||h.n==Vkc){j=Xdc(h.c);l=S2(a.a,Ihc(s,false),Stb(b))}else{j=Xdc(h);l=M2(a.a,B2(a.a,M2(a.a,Ihc(s,false),eZc),yG(tG(CX,1),mWc,7,0,[])),fZc)}if(e.n==Pic){g=x2(a.a,j,l);k=(Vd(b9b(g),g),new ofc(Pjc,g))}else k=M8b(j,l,e.n);lfc(k,c);Ndc(f.g,k,f);Plb(a,b,j,j.g)}Xdc(f);cub(b)}function t$b(a){var b,c, +d,e,f,g,h,i;switch(Y_b(a.g,0).e.f){case 29:return qZb(a,true,false);case 35:return b=Y_b(a.g,0).d.b,EYb(a,(V2b(),C2b)),new W6b(new w7b(b,a.f));case 21:return c=Y_b(a.g,0).d.b,EYb(a,(V2b(),H2b)),new _6b(new w7b(c,a.f));case 34:return d=Y_b(a.g,0).d.b,EYb(a,(V2b(),H1b)),EYb(a,a2b),e=eZb(a,1),EYb(a,e1b),k_b(a,(dXb(),nWb)),new P3b(new w7b(d,a.f),e);case 2:case 108:case 109:case 110:case 111:return SZb(a);case 100:case 101:case 98:case 99:case 97:return c$b(a);case 107:case 104:return I$b(a,null);case 49:return Y_b(a.g, +1).e==(V2b(),B1b)?uZb(a,b2b,f1b):aZb(a);case 45:return l$b(a);case 47:return xZb(a);case 94:case 95:return f=Y_b(a.g,0).d.b,g=(i=U_b(a.g),a.f=i.d.a,i),new G4b(new w7b(f,a.f),g);default:return h=Y_b(a.g,0).d.b,SYb(a),o_b(a,"primary expression expected",yG(tG(rZ,1),zUc,1,5,[])),new K4b(new w7b(h,a.f))}}function jlb(a,b,c){var d,e,f,g,h,i,j,k;if(b.n==(Plc(),sjc)&&aec(b,(vhc(),nhc))!=0){Mob(a.b,b,"Static computed property");return}if(b.n==sjc&&!wec(b.c)){Lob(a.b,b.c,"Computed property with non-qualified-name key"); +return}k=flb(b);alb(a,c,b);j=aec(b,(vhc(),nhc))!=0?c.b:c.j;d=new I5;if(b.n==sjc){Ud(aec(b,nhc)==0);i=eec(b.c);G5(d,(tlb(),qlb))}else if(b.Fi()){i=b.Di();G5(d,(tlb(),slb))}else{i=b.Di();G5(d,(tlb(),rlb))}H5(d,i);e=ANc(j,i);f=!e?null:eac(e.a);if(!!e&&!!k&&!(!!k&&k.a.Ei(f.a,false,true,false,false)))a.b.Tg(Qrb(b,Ykb,yG(tG(wZ,1),eWc,2,6,[i])));else{h=new Ycc(false);if(!!dec(b,_gc)&&(dec(b,_gc).a&1024)!=0){_bc(h);Ucc(h,(Abc(),zbc))}!!dec(b,_gc)&&(dec(b,_gc).a&64)!=0?Acc(h):!k&&(k=new ddc(ifc(new mfc(elc), +b),(g=dec(b,mhc),!g?null:g.ah())));!!k&&Occ(h,new ddc(Vdc(k.a,false),k.b));aec(b,nhc)!=0&&b.n!=sjc&&ucc(h);F5(d,Gbc(h));BNc(j,i,E5(d))}}function dNc(){function e(){this.obj=this.createObject()}e.prototype.createObject=function(a){return Object.create(null)};e.prototype.get=function(a){return this.obj[a]};e.prototype.set=function(a,b){this.obj[a]=b};e.prototype[r0c]=function(a){delete this.obj[a]};e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)};e.prototype.entries=function(){var b= +this.keys();var c=this;var d=0;return{next:function(){if(d>=b.length)return{done:true};var a=b[d++];return{value:[a,c.get(a)],done:false}}}};if(!bNc()){e.prototype.createObject=function(){return{}};e.prototype.get=function(a){return this.obj[":"+a]};e.prototype.set=function(a,b){this.obj[":"+a]=b};e.prototype[r0c]=function(a){delete this.obj[":"+a]};e.prototype.keys=function(){var a=[];for(var b in this.obj)b.charCodeAt(0)==58&&a.push(b.substring(1));return a}}return e}function fwc(a,b){var c,d,e, +f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;if(b.sj()){t=b.sj();f=new qwc(a.D);f.a=false;i=Utc(a.D,(ztc(),Xsc));for(p=a.v.b.ye().Xd();p.Jd();){q=p.Kd();v=Koc(a,q);m=null;if((t==Vtc(t.D,Usc)||Noc(t)||(r=Xvc(t.v,q),!!(!r?null:r.a))?1:0)==0)m=v;else{s=Koc(t,q);m=v.Qi(s);g=new Lrc(false);if(gmc(m,i,0,g))return i}owc(f,q,m,(j=(n=Xvc(a.v,q),!n?null:n.a),!j?null:j.d))}for(o=t.v.b.ye().Xd();o.Jd();){q=o.Kd();(a==Vtc(a.D,Usc)||Noc(a)||(r=Xvc(a.v,q),!!(!r?null:r.a))?1:0)!=0||owc(f,q,Koc(t,q),(j=(n=Xvc(t.v,q),!n?null: +n.a),!j?null:j.d))}return pwc(f)}h=Vtc(a.D,(ztc(),Vsc));u=Vtc(a.D,itc).Qi(b);if(!(u.cj()||u.aj()||u.bj()||u==Vtc(u.D,Usc)))for(l=a.v.b.ye().Xd();l.Jd();){k=l.Kd();m=Koc(a,k);f=new hzc(a.D);for(d=Ttc(a.D,k).Xd();d.Jd();){c=d.Kd();e=c.Wj(k);!!e&&(g=new Lrc(false),!gmc(c,a,0,g))&&c.ij(b)&&e.ij(m)&&czc(f,c)}h=h.Ri(ezc(f))}return h}function _mc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;Pd(a);if(b.kj()||b.Xi()||a.kj()||a.cj())return true;if(d==(bsc(),_rc)&&(a.ej()||a.lj()))return true;if(omc(a,b,c.c))return true; +if(a.vj())return isc(new esc(b,c,d),oyc(a.vj()));else if(b.vj())return jsc(new gsc(a,c,d),oyc(b.vj()));i=a.Vi();j=b.Vi();k=true;n=Emc(b);if(!!n&&amc.Td(n.Xj())){h=a.D.k;m=(g=Vwc(i,h),g==-1?h.a.kj()?Vtc(i.a,(ztc(),xtc)):h:i.b[g]);l=(f=Vwc(j,h),f==-1?h.a.kj()?Vtc(j.a,(ztc(),xtc)):h:j.b[f]);k=m.jj(l,c,d)||l.jj(m,c,d)}else{e=Gmc(b);if(e){m=(g=Vwc(i,e),g==-1?e.a.kj()?Vtc(i.a,(ztc(),xtc)):e:i.b[g]);l=(f=Vwc(j,e),f==-1?e.a.kj()?Vtc(j.a,(ztc(),xtc)):e:j.b[f]);k=m.jj(l,c,d)}else k=Owc(i,j,2,new Lrc(true), +d)}if(!k)return false;if(c.c&&a.gj()&&b.hj())return Moc(lH(a,49)?a:null,lH(b,49)?b:null,c,d);if(a.uj())return a.uj().d.jj(b,c,d);if(lH(b,128)&&!b.tj())return a.jj(b.e,c,d);return false}function tZb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!IYb(a,(V2b(),w2b));if(d_b(a,0)){l=Y_b(a.g,0).e;if(E1b==l||(jYb(),!!ep(MXb,l))){k=null;j=GYb(a);oYb(j.a,false)&&k_b(a,(dXb(),BWb))}else{j=null;k=c$b(a)}}else{if(a.b.d&&V$b(a,0,b2b)&&V$b(a,1,E1b)&&V$b(a,2,g1b)){g=XZb(a);JYb(a);return g}k=vZb(a);j=null}if(!a.b.d||W$b(a,a2b)|| +W$b(a,$1b)){if(!k){i=(q4b(),p4b);c=b.a}else{i=(q4b(),o4b);c=null}if(b.b){f=g$b(a,b.d,j,b.c,h,b.a);JYb(a)}else{d=b4b(k4b(h4b(new l4b(i),j),b.c),c);OZb(a,d,h?(K_b(),I_b):(K_b(),J_b));f=a4b(d,LYb(a,b.d))}return i==(q4b(),p4b)?f:new H3b(LYb(a,b.d),b.a,k,f)}else{h&&o_b(a,"Member variable cannot be prefixed by '*' (generator function)",yG(tG(rZ,1),zUc,1,5,[]));e=OYb(a);W$b(a,t1b)&&o_b(a,"Member variable initializers ('=') are not supported",yG(tG(rZ,1),zUc,1,5,[]));JYb(a);return!k?new J4b(LYb(a,b.d),j, +b.c,false,b.a,e):new G3b(LYb(a,b.d),k,b.c,b.a,e)}}function lwb(a){vub();switch(a.f){case 1:return"|";case 61:return"||";case 2:return"^";case 62:return"&&";case 3:return"&";case 36:return"===";case 4:return"==";case 19:return"!";case 5:return"!=";case 37:return"!==";case 10:return"<<";case 40: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"-";case 47:return"=";case 48:return"|=";case 49:return"^=";case 50:return"&=";case 51:return"<<=";case 52:return">>=";case 53:return">>>=";case 54:return"+=";case 55:return"-=";case 56:return"*=";case 59:return"**=";case 57:return"/=";case 58:return"%=";case 79:return LXc;case 25:return k$c;case 41:return l$c;default:return null}}function Rlb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;vub();if(!!d&&(d.n==(Plc(),Jlc)||d.n==ykc||d.n==tjc)&&!uvb(d.g))Nlb(a, +b,c,c.f,d,d);else if(d.n==(Plc(),Pic))d.g.n==Pjc?Nlb(a,b,c,c.f,d,d.g):(e=qZc+a.c++,f=W2(a.a,e,d.d),g=Xdc(d.c?d.c.i:null),h=M8b(Ihc(f,false),g,ykc),wub(b.f,(dXb(),CWb)),i=x2(a.a,Xdc(d.c),Ihc(f,false)),j=(Vd(b9b(i),i),new ofc(Pjc,i)),k=k9b(Ihc(f,false)),l=J8b(yG(tG(CX,1),mWc,7,0,[h,j,k])),m=t3(a.a,l,d.d),Ud(m.n==Vjc),Hec(m,(vhc(),ugc),1),n=B2(a.a,m,yG(tG(CX,1),mWc,7,0,[])),wub(b.f,aWb),lfc(n,d),Gec(n,(Ldc(),tdc),true),Oec(d.g,d,n),cwb(n,a.b),Nlb(a,b,i.c,i.c?i.c.i:null,i,j),undefined);else if(d.n==rkc|| +d.n==Vkc||d.n==rlc||d.n==Nic||d.n==zjc||d.n==sjc);else if(d.n==Ujc||d.n==Sjc||d.n==Tjc||uvb(d.g))Qlb(a,c);else if(d.n==njc){o=qZc+a.c++;p=c.f;Pec(c,W2(a.a,o,c.d));Pdc(p,M8b(c,W2(a.a,o,c.d),ykc));wub(b.f,(dXb(),CWb))}else throw q0(new RAc("unexpected parent"));}function Qmb(a,b){var c,d,e;Ymb(a);(a.a.a.length==2||a.a.a.length==3)&&Odc(b,lfc(W8b(Qob(O8b(ifc(Qob(T8b(ifc(Qob(e9b(sZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),ifc((Ldc(),new Lhc((Plc(),qlc),uZc)),b)),a.r.f.g?a.g.Wj(uZc):null),b),Qob(new igc(1),a.r.f.e)), +a.r.f.a),kGc(a.a,0).a),b));a.a.a.length==2&&Odc(b,lfc(W8b(Qob(f9b(ifc(Qob(T8b(ifc(Qob(e9b(sZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),ifc((Ldc(),new Lhc((Plc(),qlc),uZc)),b)),a.r.f.g?a.g.Wj(uZc):null),b),Qob(h9b(a.a.a[1].c),a.r.f.e)),a.r.f.a),kGc(a.a,0).a),b));if(a.a.a.length==1){Rdc(b,Kec(kGc(a.a,0).a));Mmb(a);return}e=ifc(p9b(ifc(Qob(T8b(ifc(Qob(e9b(sZc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),ifc((Ldc(),new Lhc((Plc(),qlc),uZc)),b)),a.r.f.g?a.g.Wj(uZc):null),b),yG(tG(CX,1),mWc,7,0,[])),b);Odc(b,e);for(d=new HGc(a.a);d.a< +d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);Odc(e,ifc(L8b(ifc(Qob(new igc(c.c),c.g.r.f.e),c.a),c.a),c.a))}a.a.a=vG(rZ,zUc,1,0,5,1)}function F4(a,b){var c,d,e,f,g,h,i,j,k,l,m;switch(b.n.f){case 86:d4(a,(dXb(),wWb),b);B4((Plc(),akc),b);c=Rlc(b.n);c!=-1&&(d=$dc(b),c!=d&&b5(CWc+c+DWc+d,b));G4(b);e=b.c;e4(a,e,false);e.c.Di().length==0||b5(HWc,b);f=e.c.f;!!f.c&&b5(IWc,b);return;case 87:d4(a,(dXb(),VWb),b);B4((Plc(),mlc),b);g=Rlc(b.n);g!=-1&&(h=$dc(b),g!=h&&b5(CWc+g+DWc+h,b));G4(b);i=b.c;e4(a,i,false);i.c.Di().length== +0||b5(HWc,b);j=i.c.f;!!j.c&&!j.c.f||b5(JWc,b);return;case 91:B4((Plc(),rlc),b);G4(b);k=$dc(b);1!=k&&b5(GWc+k,b);c4(a,b.c);aec(b,(Ldc(),Adc))!=0&&d4(a,(dXb(),rWb),b);return;case 98:S3(a,b,false);aec(b,(vhc(),nhc))!=0&&b5("Keys in an object literal should not be static.",b);return;case 118:d4(a,(dXb(),jWb),b);B4((Plc(),sjc),b);l=Rlc(b.n);l!=-1&&(m=$dc(b),l!=m&&b5(CWc+l+DWc+m,b));c4(a,b.c);c4(a,b.c?b.c.i:null);return;case 117:P4(a,b);return;default:b5("Expected object literal key expression but was "+ +b.n,b)}}function DZb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=Y_b(a.g,0).d.b;f=false;g=false;h=false;k=true;EYb(a,(V2b(),x1b));c=null;d=null;switch(Y_b(a.g,0).e.f){case 65:g=true;n=X_b(a.g);a.f=n.d.a;break;case 2:c=hZb(a);break;case 14:c=b?XYb(a):NZb(a);k=b;break;case 29:c=qZb(a,false,b);k=false;break;case 37:c=YZb(a);k=false;break;case 31:c=zZb(a);k=false;break;case 110:case 111:c=i$b(a,b);k=false;break;case 109:c=VYb(a);k=false;break;case 8:f=true;m=X_b(a.g);a.f=m.d.a;c=TYb(a,1);k=false;break;case 45:h= +true;d=FZb(a);break;case 108:c=K$b(a);break;case 25:case 38:case 30:default:c=b?$Yb(a):S$b(a,1)}j=null;if(g||h&&V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,xXc)){KYb(a,xXc);j=EYb(a,B2b)}else if(h)for(p=d.Xd();p.Jd();){o=p.Kd();e=o.b;MYb(a,e.a)&&l_b(a,e,H0c,yG(tG(rZ,1),zUc,1,5,[e.a]))}(k||(i=Y_b(a.g,0).d.b.b>a.f.b,i||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b)))&&JYb(a);return new S3b(new w7b(l,a.f),f,g,c,d,j)}function w0b(a){var b,c,d,e,f;T_b(a);if(!S_b(a,a.f)){$_b(a,"Unterminated string literal escape sequence", +yG(tG(rZ,1),zUc,1,5,[]));return false}if(H0b(S_b(a,a.f)?JBc(a.b,a.f):0)){d=T_b(a);d==13&&(S_b(a,a.f)?JBc(a.b,a.f):0)==10&&T_b(a);return true}e=T_b(a);switch(e){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:case 48:return true;break;case 120:c=l0b(a)&&l0b(a);c||$_b(a,M0c,yG(tG(rZ,1),zUc,1,5,[]));return c;case 117:if((S_b(a,a.f)?JBc(a.b,a.f):0)==123){T_b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==125){$_b(a,N0c,yG(tG(rZ,1),zUc,1,5,[]));return false}b=true;while((S_b(a, +a.f)?JBc(a.b,a.f):0)!=125&&b)b=b&&l0b(a);b||$_b(a,M0c,yG(tG(rZ,1),zUc,1,5,[]));T_b(a);return b}else{f=l0b(a)&&l0b(a)&&l0b(a)&&l0b(a);f||$_b(a,M0c,yG(tG(rZ,1),zUc,1,5,[]));return f}}if(e==47);else __b(a,"Unnecessary escape: '\\%s' is equivalent to just '%s'",yG(tG(rZ,1),zUc,1,5,[jAc(e),jAc(e)]));return true}function TQb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;g=b.j==(q4b(),n4b);i=b.j==p4b;e=b.j==m4b;f=b.e;h=b.f;j=b.c.p==(O6b(),z5b);h&&sPb(a.a,b,(dXb(),uWb));i&&sPb(a.a,b,(dXb(),DWb));e&&sPb(a.a,b,(dXb(), +aWb));f&&sPb(a.a,b,(dXb(),bWb));h&&f&&sPb(a.a,b,(dXb(),cWb));l=b.k;if(l)m=cRb(a,l);else{if(g||i){a.a.e.fi("unnamed function statement",a.a.s,(fPb(),b.o.b.b+1),b.o.b.a);m=zPb(a.a,(Plc(),Gkc),"__missing_name__")}else m=zPb(a.a,(Plc(),Gkc),"");vfc(m.k)==-1&&MPb(m,b.o.b,b.o.a)}n=uPb(a.a,(Plc(),Vjc));i&&m.Ii("");Odc(n,m);tQb(a,n.c,b.d);Odc(n,PPb(a.a,b.b));uQb(a,n,b.n);d=PPb(a.a,b.c);if(!e&&!j&&d.n!=gjc){Ud(a.a.a.f==(VOb(),TOb));d=(c=new mfc(gjc),c)}AQb(d);Odc(n,d);Hec(n,(vhc(),Ngc),h?1:0);Ud(n.n==Vjc); +Hec(n,ugc,e?1:0);Ud(n.n==Vjc);Hec(n,vgc,f?1:0);Gec(n,(Ldc(),Cdc),b.g);if(i){vfc(n.k)==-1&&MPb(n,b.o.b,b.o.a);k=zPb(a.a,Bkc,l.a);Odc(k,n);afc(k,b.i);sQb(a,b,k,b.a);Sec(n,dec(n,Dgc));MPb(k,l.d.b,l.d.a);o=k}else o=n;return o}function CPb(a,b){var c,d,e,f,g,h,i,j;j=b.c;g=b.d;f=j.length;Ud(f>0);Ud(j.charCodeAt(0)!=45&&j.charCodeAt(0)!=43);if(j.charCodeAt(0)==46)return KAc("0"+j);else if(j.charCodeAt(0)==48&&f>1)switch(j.charCodeAt(1)){case 46:case 101:case 69:return KAc(j);case 98:case 66:{rPb(a,b,(dXb(), +dWb));i=0;d=1;while(++d=48&&e<=55)h=h*8+fQb(e);else{a.e.fi(v_c,a.s,g.b.b+1,g.b.a);return 0}}a.a.g==($Ob(),ZOb)?a.e.fi(w_c,a.s,g.b.b+1,g.b.a):a.e.gi(w_c,a.s,g.b.b+1,g.b.a);return h;case 56:case 57:a.e.fi(v_c, +a.s,g.b.b+1,g.b.a);return 0;default:throw q0(new RAc("Unexpected character in number literal: "+jH(j.charCodeAt(1))));}else return KAc(j)}function pwb(a,b){vub();var c,d;if(a.n==(Plc(),Dlc)&&lec(a)&&b==(a.c?a.c.i:null))fvb((Gd(a.n==Dlc),a.c.f))?Jec(a,b):Ydc(b);else if(b.n==njc){d=!b.g?null:b.g.g;Ud((Gd(d.n==Dlc),lec(d)));Xdc(b)}else{c=b.g;if(c.n==Dlc&&c.c.f==b){d=b.g;Ud((Gd(d.n==Dlc),lec(d)));Ydc(b)}else if(b.n==gjc)Ydc(b);else if(a.n==jlc||a.n==llc||a.n==gjc||a.n==Ekc||b.n==ljc||b.n==yjc||b.n==Bkc)Jec(a, +b);else if(!!a&&(a.n==Jlc||a.n==ykc||a.n==tjc)||a.n==Pjc)if(!!a.c&&!!a.c.f)Jec(a,b);else{Jec(a,b);pwb(a.g,a)}else if(a.n==tkc&&b==(a.c?a.c.i:null)){Jec(a,b);pwb(a.g,a)}else if(a.n==Rjc)Oec(a,b,new mfc(Fjc));else if(a.n==Ukc)Jec(a,b);else if(a.n==Nic)b==(a.c?a.c.i:null)?Jec(a,b):Oec(a,b,new mfc(Fjc));else if(a.n==Bjc){Jec(a,b);!!a.g.c&&pwb(a.g,a)}else if(a.n==rkc||a.n==Vkc)Xdc(a);else if(a.n==$kc)Jec(a,b);else if(a.n==fkc)if(b==a.c)Oec(a,b,new mfc(Fjc));else throw q0(new RAc("Invalid attempt to remove: "+ +b+" from "+a));else throw q0(new RAc("Invalid attempt to remove node: "+b+" of "+a));}}function Udb(a,b,c){var d,e,f;switch(b.n.f){case 28:if(!!b.c&&!!b.c.f&&b.c.f==(b.c?b.c.i:null)&&b.c.n==(Plc(),_jc)&&Cec(b.c.c,_Wc)){jGc(a.d,(PIb(),OIb),0)!=-1||fGc(a.d,OIb);e=b.c;d=b.c?b.c.i:null;switch((e.c?e.c.i:null).Di()){case bXc:BPc(a.a,bXc,_Wc);case pXc:if(d.n!=(Plc(),qlc))return;fGc(a.c,d.Di());return;case aXc:if(d.n!=(Plc(),qlc))return;fGc(a.d,UIb(d.Di()));return;case eXc:if(d.n!=(Plc(),qlc))return;fGc(a.e, +d.Di());return;case oXc:b=d.c?d.c.i:null;break;default:return}}else if(c.n==(Plc(),_jc)&&Fec(c,cYc,cYc.length)&&c.g.n==jjc){d=c.g.c.f;if(d.n!=qlc)return;fGc(a.c,d.Di())}break;case 112:if(aec(c,(Ldc(),wdc))==0){fGc(a.c,hLb(a.b.a));BPc(a.a,bXc,ZXc)}break;case 105:Tdb(a,b.c?b.c.i:null,b);return;case 109:vub();Gd(b.n==(Plc(),Mjc));!!b.c&&!!b.c.f&&b.c.f==(b.c?b.c.i:null)&&Tdb(a,b.c?b.c.i:null,b);return;case 76:Cec(b.c,_Wc)&&Ovb(b.c)&&fGc(a.c,_Wc);break;case 84:case 88:case 82:case 85:case 29:case 95:case 100:break; +default:return}for(f=b.c;f;f=f.f)Udb(a,f,b)}function fgb(a){if(a.u!=(p7(),n7)&&!a.t)throw q0(new ggb("Cannot check use of goog.getCssName because of empty blacklist.",yG(tG(rZ,1),zUc,1,5,[])));if(a.Mc&&!a.Lc)throw q0(new ggb("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",yG(tG(rZ,1),zUc,1,5,[])));if(a.Eb==(Qfb(),Pfb)&&a.Zb!=-1)throw q0(new ggb("max_function_size_after_inlining has no effect if inlining is disabled.",yG(tG(rZ,1),zUc,1,5,[])));if(a.W){if(!FVb(leb(a), +(DVb(),sVb)))throw q0(new ggb("Dart requires --language_out=ES5 or higher.",yG(tG(rZ,1),zUc,1,5,[])));a.f=false;a.db=false}if(a.Mc&&a.kb)throw q0(new ggb("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",yG(tG(rZ,1),zUc,1,5,[])));if((vfb(),kfb)==a.Tb){u8b();if(v8b(t8b,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw q0(new ggb("type syntax is not yet generally available, please contact jscomp-team@",yG(tG(rZ,1),zUc,1,5,[]))); +}}function u$b(a){var b,c,d,e,f,g,h;g=Y_b(a.g,0).e;if(g==(V2b(),w2b))return v$b(a);else if(g==p1b){k_b(a,(dXb(),JWb));f=Y_b(a.g,0).d.b;EYb(a,p1b);e=eZb(a,1);return new T4b(new w7b(f,a.f),e)}else if(g==B2b||g==Z1b||g==E1b||(jYb(),!!ep(MXb,g)))return V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,cXc)&&(d_b(a,1)||Y_b(a.g,1).e==b2b)?QZb(a,new N_b(Y_b(a.g,0).d.b)):V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,"set")&&(d_b(a,1)||Y_b(a.g,1).e==b2b)?B$b(a,new N_b(Y_b(a.g,0).d.b)):V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,tXc)&&(c=Y_b(a.g,1).d.b.b> +Y_b(a.g,0).d.a.b,!(c||V$b(a,1,t2b)||V$b(a,1,d1b)||V$b(a,1,r1b)))&&(d_b(a,1)||Y_b(a.g,1).e==b2b||V$b(a,1,w2b)&&(d_b(a,2)||Y_b(a.g,2).e==b2b))?iZb(a,new N_b(Y_b(a.g,0).d.b)):Y_b(a.g,1).e==a2b?tZb(a,new N_b(Y_b(a.g,0).d.b)):w$b(a);else if(g==b2b){f=Y_b(a.g,0).d.b;d=vZb(a);if(W$b(a,g1b)){EYb(a,g1b);h=eZb(a,1);return new E3b(new w7b(f,a.f),d,h)}else{b=new l4b((q4b(),o4b));OZb(a,b,(K_b(),J_b));h=a4b(b,new w7b(f,a.f));return new H3b(new w7b(f,a.f),null,d,h)}}else throw q0(new CF(_Uc));}function gVb(){gVb= +T0;KUb=new hVb(nYc,0,"all",0,0,0);LUb=new hVb("COND",1,"cond",3,3,1);MUb=new hVb("EQ",2,"eq",2,2,3);OUb=new hVb("ISCTOR",3,"isCtor",1,1,3);PUb=new hVb("ISDEFINED",4,"isDefined",1,1,4);QUb=new hVb("ISRECORD",5,"isRecord",1,1,3);RUb=new hVb("ISTEMPLATIZED",6,"isTemplatized",1,1,3);SUb=new hVb("ISUNKNOWN",7,"isUnknown",1,1,3);NUb=new hVb(c0c,8,"instanceOf",1,1,1);UUb=new hVb("MAPUNION",9,"mapunion",2,2,1);TUb=new hVb("MAPRECORD",10,"maprecord",2,2,1);VUb=new hVb(dYc,11,"none",0,0,0);WUb=new hVb("PRINTTYPE", +12,"printType",2,2,1);XUb=new hVb("PROPTYPE",13,"propType",2,2,1);YUb=new hVb("RAWTYPEOF",14,"rawTypeOf",1,1,0);_Ub=new hVb("SUB",15,"sub",2,2,3);$Ub=new hVb("STREQ",16,"streq",2,2,2);ZUb=new hVb("RECORD",17,"record",1,mUc,0);aVb=new hVb("TEMPLATETYPEOF",18,"templateTypeOf",2,2,0);bVb=new hVb(l_c,19,OXc,2,mUc,0);cVb=new hVb("TYPEEXPR",20,"typeExpr",1,1,0);dVb=new hVb("TYPEOFVAR",21,"typeOfVar",1,1,1);eVb=new hVb("UNION",22,"union",2,mUc,0);fVb=new hVb("UNKNOWN",23,d0c,0,0,0)}function $ob(a,b,c){var d, +e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;l=jpb(c,b);h=n2(a.b,l,false);e=ipb(l);n=new mpb;n.b=h;n.a=e;i=null;g=l;f=g.g;while(f!=b){Vd(!lpb(f)||f==g.g&&!(g==g.g.c?null:g.i),f);if(f.n==(Plc(),Pic))if(cpb(a,f,n.b));else{if(!(f==g.g&&!(g==g.g.c?null:g.i))){j=f.c;switch(j.n.f){case 27:Yob(a,j.c?j.c.i:null,null,n);case 26:Yob(a,j.c,null,n);break;default:throw q0(new RAc("Expected a property access: "+hfc(j)));}}}else if(f.n==jjc&&Avb(f.c)){d=f.c;Yob(a,d.f,g,n);if(bpb(a,d,n.b)&&i!=d.c){Vd(a.a,"Object method calls can not be decomposed."); +n.b=true;f=(Hd(f.n==jjc,f),o=f.c,Hd((vub(),o.n==_jc||o.n==$jc),o),p=o.d,q=null,!!p&&(q=p.rj()?nqc(p.rj(),SYc):a.j),r=apb(a,o,n.a),n.a=r,s=r.c.c,Hd(s.n==_jc||s.n==$jc,s),t=apb(a,s.c,n.a),n.a=t,u=t.c,v=r.c,w=lfc(Wec(K8b(Qob(T8b(v.zi(false),Qob((Ldc(),new Lhc(qlc,SYc)),a.g)),q),yG(tG(CX,1),mWc,7,0,[u.zi(false)])),f.d),f),Lec(f),!!f.c&&Rdc(w,Kec(f)),Oec(f.g,f,w),w)}}else Yob(a,f.c,g,n);i=g;g=f;f=g.g}if(l==c);else{m=l.g;k=m.n!=(Plc(),Pjc);_ob(a,l,e,k)}}function apb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p, +q,r;k=b.g;g=hvb(k)&&k.n!=(Plc(),Pic)&&k==b.g&&!(b==b.g.c?null:b.i);e=null;if(g&&(vub(),b.n==(Plc(),_jc)||b.n==$jc))for(i=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();i.Jd();){h=i.Kd();if(h.n!=(Plc(),qlc)&&!(h.n==Gkc&&(ovb(h,a.f)||tMc(a.d,h.Di())))){d=apb(a,h,c);!e&&(e=d)}}o=(r=a.i+"_const"+EZc+(""+a.e.a.S++),sMc(a.d,r),r);l=ifc(Wec((Zd(RBc(o,jCc(46))==-1,kWc,o),Ldc(),new Lhc((Plc(),Gkc),o)),b.d),b);if(g){Vd(b.n==Gkc||(vub(),b.n==_jc||b.n==$jc),b);j=kfc(Qob(new mfc(Zub(k)),k.d),k);m=k.c?k.c.i:null;dfc(k, +Pic);Oec(k,m,j);Pdc(j,l);Odc(j,m);p=Vdc(b,false)}else if(b.n==skc||b.n==Wkc){n=b.zi(false);Odc(n,l);Oec(b.g,b,n);switch(k.n.f){case 42:case 28:case 23:p=ifc(w2(a.c,yG(tG(CX,1),mWc,7,0,[b])),(Ud(!!b.c&&!b.c.f),b.c));break;case 43:p=ifc(c3(a.c,yG(tG(CX,1),mWc,7,0,[b])),(Ud(!!b.c&&!b.c.f),b.c));break;default:throw q0(new RAc("Unexpected parent of SPREAD:"+hfc(k)));}}else{Oec(k,b,l);p=b}q=kwb(o,p);Wec(q.c,p.d);f=c.g;Ndc(f,q,c);!e&&(e=q);Ud(e.n==Jlc);return e}function S6(){S6=T0;new $hb("JSC_INVALID_CLOSURE_IMPORT_DESTRUCTURING", +(p7(),m7),new aDc("Destructuring {0} must be a simple object pattern."));new $hb("JSC_ONE_CLOSURE_IMPORT_PER_DECLARATION",m7,new aDc("There may only be one {0} per var/let/const declaration."));new $hb("JSC_INVALID_CLOSURE_IMPORT_CALL",m7,new aDc("{0} parameter must be a string literal."));new $hb(YWc,m7,new aDc(ZWc));R6=new $hb("JSC_LET_CLOSURE_IMPORT",n7,new aDc($Wc));new $hb("JSC_NO_CLOSURE_IMPORT_DESTRUCTURING",m7,new aDc("Cannot destructure the return value of {0}"));new $hb("JSC_LHS_OF_CLOUSRE_IMPORT_MUST_BE_CONST_IN_ES_MODULE", +m7,new aDc("The left side of a {0} must use ''const'' (not ''let'' or ''var'') in an ES module."));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),Ldc(),new Lhc((Plc(),Gkc),_Wc)),new Lhc(qlc,aXc));T8b(T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,bXc)),new Lhc(qlc,cXc));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,dXc));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,eXc))}function y0b(a){var b,c,d,e,f;T_b(a);if(!S_b(a,a.f)){$_b(a,"Unterminated template literal escape sequence", +yG(tG(rZ,1),zUc,1,5,[]));return null}if(E0b(S_b(a,a.f)?JBc(a.b,a.f):0)){d=T_b(a);d==13&&(S_b(a,a.f)?JBc(a.b,a.f):0)==10&&T_b(a);return null}e=T_b(a);switch(e){case 48:if(L0b(S_b(a,a.f)?JBc(a.b,a.f):0)>=0)return new M0b(K0c,a.d.a.length==0?R_b(a,a.f):Y_b(a,0).d.b);return null;case 49:case 50:case 51:case 52:case 53:case 54:case 55:return new M0b(K0c,a.d.a.length==0?R_b(a,a.f):Y_b(a,0).d.b);case 120:c=l0b(a)&&l0b(a);if(!c)return new M0b(M0c,a.d.a.length==0?R_b(a,a.f):Y_b(a,0).d.b);return null;case 117:if((S_b(a, +a.f)?JBc(a.b,a.f):0)==123){T_b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==125)return new M0b(N0c,a.d.a.length==0?R_b(a,a.f):Y_b(a,0).d.b);b=true;while((S_b(a,a.f)?JBc(a.b,a.f):0)!=125&&b)b=b&&l0b(a);if(!b)return new M0b(M0c,a.d.a.length==0?R_b(a,a.f):Y_b(a,0).d.b);T_b(a);return null}else{f=l0b(a)&&l0b(a)&&l0b(a)&&l0b(a);if(!f)return new M0b(M0c,a.d.a.length==0?R_b(a,a.f):Y_b(a,0).d.b);return null}default:return null}}function iQb(a){fPb();switch(a.f){case 74:return Plc(),ejc;case 75:return Plc(),fjc;case 73:return Plc(), +cjc;case 59:return Plc(),Jjc;case 60:return Plc(),Kkc;case 54:return Plc(),Akc;case 56:return Plc(),xkc;case 55:return Plc(),bkc;case 57:return Plc(),Xjc;case 70:return Plc(),zkc;case 71:return Plc(),klc;case 72:return Plc(),Ilc;case 63:return Plc(),Iic;case 64:return Plc(),tlc;case 65:return Plc(),Fkc;case 94:return Plc(),Cjc;case 67:return Plc(),Dkc;case 66:return Plc(),Ljc;case 61:return Plc(),nlc;case 62:return Plc(),olc;case 16:return Plc(),kkc;case 17:return Plc(),nkc;case 53:return Plc(),rjc; +case 82:return Plc(),Pic;case 92:return Plc(),Sic;case 93:return Plc(),Tic;case 91:return Plc(),Ric;case 88:return Plc(),Wic;case 89:return Plc(),Zic;case 90:return Plc(),_ic;case 83:return Plc(),Qic;case 84:return Plc(),$ic;case 85:return Plc(),Yic;case 86:return Plc(),Vic;case 95:return Plc(),Uic;case 87:return Plc(),Xic;case 79:return Plc(),Ykc;case 78:return Plc(),Jic;default:throw q0(new RAc(!a?wUc:a.a==null?(jYb(),ep(MXb,a)).c:a.a));}}function qsb(a){var b,c,d,e,f,g,h,i,j,k,l,m;c=false;for(k= +a.Xd();k.Jd();){i=k.Kd();if(OBc(i.e,VXc)){c=true;b=new xMc(a);b.a.Ne(i)!=null;Vd(Pc(Urb(i),b),"A weak module already exists but it does not depend on every other module.");Vd(rIc(Urb(i))==b.a.$d(),"The weak module cannot have extra dependencies.");break}}if(c){h=new pGc;g=new pGc;for(j=a.Xd();j.Jd();){i=j.Kd();f=OBc(i.e,VXc);for(e=new HGc(i.d);e.a=2&&(b.charCodeAt(i-1)==45&&b.charCodeAt(i-2)==45||b.charCodeAt(i-1)==93&&b.charCodeAt(i-2)==93)?(j.a+="\\x3e",j):(j.a+=String.fromCharCode(h), -j);break;case 60:if(!a.k&&!g){j.a+="\\x3c";break}UBc(b,true,i+1,"/script",0,7)?(j.a+="\\x3c",j):UBc(b,false,i+1,"!--",0,3)?(j.a+="\\x3c",j):(j.a+=String.fromCharCode(h),j);break;default:if(g||!BVb(a.f,(aXb(),_Wb))){if(h==8232){j.a+="\\u2028";break}if(h==8233){j.a+="\\u2029";break}}h>31&&h<127?(j.a+=String.fromCharCode(h),j):sF(j,h)}}return j.a}function azc(a,b){var c,d,e,f,g,h,i,j,k,l;Vd(!a.e,y1c);if(b.cj())return a;a.f=a.f||b.Xi();a.c=a.c||b.lj();f=lH(b,218);a.g=a.g||f;f&&(a.b=a.b&&b.Yi());if(a.f|| -a.g)return a;if(b.vj()){bzc(a,myc(b.vj()));return a}if(a.a.a.length>a.i)return a;if(!!b.rj()&&a.d!=-1){g=gGc(a.a,a.d).rj();j=wqc(b.rj(),g,true);kGc(a.a,a.d,j);return a}for(e=0;eV_b(a.g,0).d.a.b,!(c||S$b(a,1,q2b)||S$b(a,1,a1b)||S$b(a,1,o1b)))&&S$b(a,1,z1b)?e=(h=V_b(a.g,0).d.b,HYb(a,rXc),BYb(a,z1b),i=T$b(a,t2b),i&&BYb(a,t2b),j=_3b(e4b(new i4b((n4b(),l4b)),(k=V_b(a.g,0).e,B1b==k||a.b.d&&nYb(k)||!a.b.c&&mYb(k)?DYb(a):null))),LZb(a,j,i?(H_b(),E_b):(H_b(),D_b)),Z3b(j,new t7b(h,a.f))):S$b(a,0,z1b)?e=(l=V_b(a.g,0).d.b,BYb(a,(gYb(),BXb).b),m=!!FYb(a, -t2b),n=e4b(new i4b((n4b(),l4b)),(o=V_b(a.g,0).e,B1b==o||a.b.d&&nYb(o)||!a.b.c&&mYb(o)?DYb(a):null)),LZb(a,n,m?(H_b(),F_b):(H_b(),G_b)),Z3b(n,new t7b(l,a.f))):e=q$b(a);while(S$b(a,0,$1b)||S$b(a,0,d2b)||S$b(a,0,U1b)||S$b(a,0,B2b))switch(V_b(a.g,0).e.f){case 49:BYb(a,$1b);d=QYb(a,1);BYb(a,c1b);e=new F4b(new t7b(f,a.f),e,d);break;case 51:BYb(a,d2b);b=DYb(a);e=new E4b(new t7b(f,a.f),e,b);break;case 107:case 104:e=F$b(a,e);break;default:throw p0(new CF(ZUc));}return e}function VHb(a,b,c,d){var e,f,g,h, -i,j,k,l,m,n,o;n=c.Di();if(n.length==0){Ud((uub(),d.n==(Nlc(),Tjc)&&!(d.n==Tjc&&qvb(d.g)&&d.n==Tjc&&Tvb(d.c))&&!Lvb(d)||Lvb(d)));return}j=Rtb(b);k=t1(j,n);o=k?k.d:null;if(!!o&&!o.b&&(d.n==(Nlc(),Hlc)||(uub(),d.n==Tjc&&qvb(d.g)&&d.n==Tjc&&Tvb(d.c)))&&rMc(a.g,n)){$Hb(a.b,n);sMc(a.g,n);e=Ycc(bec(c,(thc(),Zgc)));y9b(e.a);e.e=true;Tec(c,Ebc(e))}if(!k){uub();if((d.n==(Nlc(),Tjc)&&!(d.n==Tjc&&qvb(d.g)&&d.n==Tjc&&Tvb(d.c))&&!Lvb(d)||d.n==mjc&&(!(d.n==mjc&&Tvb(d.c))||!qvb(d.g)))&&c==d.c);else if(Pvb(c));else if(a.d.Td(c.Di())); -else{h=d.n==Clc;!h&&!(a.e&&xdb((!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d)))&&aub(b,c,NHb,yG(tG(vZ,1),cWc,2,6,[n]));if(a.f)throw p0(new PAc("Unexpected variable "+n));else{$Hb(a.b,n);sMc(a.g,n);kCb(q1(j),n,c,a.b.Lg())}}return}f=(!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d);l=k.a;if(f==l||!f||!l)return;g=f.k;m=l.k;i=a.b.Eg();if(!a.f&&m!=g&&!!m&&!!g)if(g!=m&&uHc(i.c[g.c],m.c));else!j.b?m!=g&&uHc(i.c[m.c],g.c)?aub(b,c,QHb,yG(tG(vZ,1),cWc,2,6,[g.e,m.e,n])):aub(b,c,IHb,yG(tG(vZ,1),cWc,2,6,[g.e,m.e,n])):aub(b,c,LHb,yG(tG(vZ, -1),cWc,2,6,[g.e,m.e,n]))}function a0b(a,b){switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 98:case 66:Q_b(a);H0b(P_b(a,a.f)?HBc(a.b,a.f):0)>=0||X_b(a,"Binary Integer Literal must contain at least one digit",yG(tG(qZ,1),xUc,1,5,[]));e0b(a);return new wYb((S2b(),W1b),bCc(a.b,b,a.f),sYb(a.g,b,a.f));case 111:case 79:Q_b(a);I0b(P_b(a,a.f)?HBc(a.b,a.f):0)>=0||X_b(a,"Octal Integer Literal must contain at least one digit",yG(tG(qZ,1),xUc,1,5,[]));l0b(a);((P_b(a,a.f)?HBc(a.b,a.f):0)==56||(P_b(a,a.f)?HBc(a.b,a.f):0)== -57)&&X_b(a,t_c,yG(tG(qZ,1),xUc,1,5,[]));return new wYb((S2b(),W1b),bCc(a.b,b,a.f),sYb(a.g,b,a.f));case 120:case 88:Q_b(a);aAc(P_b(a,a.f)?HBc(a.b,a.f):0,16)>=0||X_b(a,"Hex Integer Literal must contain at least one digit",yG(tG(qZ,1),xUc,1,5,[]));j0b(a);return new wYb((S2b(),W1b),bCc(a.b,b,a.f),sYb(a.g,b,a.f));case 101:case 69:return Z_b(a,b);case 46:return $_b(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:h0b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==46){Q_b(a);h0b(a)}return new wYb((S2b(), -W1b),bCc(a.b,b,a.f),sYb(a.g,b,a.f));default:return new wYb((S2b(),W1b),bCc(a.b,b,a.f),sYb(a.g,b,a.f))}}function mwb(a){uub();switch(a.f){case 46:return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 47:return 1;case 103:return 2;case 60:return 3;case 61:return 4;case 62:return 5;case 1:return 6;case 2:return 7;case 3:return 8;case 4:case 5:case 36:case 37:return 9;case 6:case 8:case 7:case 9:case 41:case 40:return 10;case 10:case 11:case 12:return 11; +j);break;case 60:if(!a.k&&!g){j.a+="\\x3c";break}WBc(b,true,i+1,"/script",0,7)?(j.a+="\\x3c",j):WBc(b,false,i+1,"!--",0,3)?(j.a+="\\x3c",j):(j.a+=String.fromCharCode(h),j);break;default:if(g||!EVb(a.f,(dXb(),cXb))){if(h==8232){j.a+="\\u2028";break}if(h==8233){j.a+="\\u2029";break}}h>31&&h<127?(j.a+=String.fromCharCode(h),j):sF(j,h)}}return j.a}function czc(a,b){var c,d,e,f,g,h,i,j,k,l;Vd(!a.e,A1c);if(b.cj())return a;a.f=a.f||b.Xi();a.c=a.c||b.lj();f=lH(b,218);a.g=a.g||f;f&&(a.b=a.b&&b.Yi());if(a.f|| +a.g)return a;if(b.vj()){dzc(a,oyc(b.vj()));return a}if(a.a.a.length>a.i)return a;if(!!b.rj()&&a.d!=-1){g=iGc(a.a,a.d).rj();j=yqc(b.rj(),g,true);mGc(a.a,a.d,j);return a}for(e=0;eY_b(a.g,0).d.a.b,!(c||V$b(a,1,t2b)||V$b(a,1,d1b)||V$b(a,1,r1b)))&&V$b(a,1,C1b)?e=(h=Y_b(a.g,0).d.b,KYb(a,tXc),EYb(a,C1b),i=W$b(a,w2b),i&&EYb(a,w2b),j=c4b(h4b(new l4b((q4b(),o4b)),(k=Y_b(a.g,0).e,E1b==k||a.b.d&&qYb(k)||!a.b.c&&pYb(k)?GYb(a):null))),OZb(a,j,i?(K_b(),H_b):(K_b(),G_b)),a4b(j,new w7b(h,a.f))):V$b(a,0,C1b)?e=(l=Y_b(a.g,0).d.b,EYb(a,(jYb(),EXb).b),m=!!IYb(a, +w2b),n=h4b(new l4b((q4b(),o4b)),(o=Y_b(a.g,0).e,E1b==o||a.b.d&&qYb(o)||!a.b.c&&pYb(o)?GYb(a):null)),OZb(a,n,m?(K_b(),I_b):(K_b(),J_b)),a4b(n,new w7b(l,a.f))):e=t$b(a);while(V$b(a,0,b2b)||V$b(a,0,g2b)||V$b(a,0,X1b)||V$b(a,0,E2b))switch(Y_b(a.g,0).e.f){case 49:EYb(a,b2b);d=TYb(a,1);EYb(a,f1b);e=new I4b(new w7b(f,a.f),e,d);break;case 51:EYb(a,g2b);b=GYb(a);e=new H4b(new w7b(f,a.f),e,b);break;case 107:case 104:e=I$b(a,e);break;default:throw q0(new CF(_Uc));}return e}function WHb(a,b,c,d){var e,f,g,h, +i,j,k,l,m,n,o;n=c.Di();if(n.length==0){Ud((vub(),d.n==(Plc(),Vjc)&&!(d.n==Vjc&&rvb(d.g)&&d.n==Vjc&&Uvb(d.c))&&!Mvb(d)||Mvb(d)));return}j=Stb(b);k=u1(j,n);o=k?k.d:null;if(!!o&&!o.b&&(d.n==(Plc(),Jlc)||(vub(),d.n==Vjc&&rvb(d.g)&&d.n==Vjc&&Uvb(d.c)))&&tMc(a.g,n)){_Hb(a.b,n);uMc(a.g,n);e=$cc(dec(c,(vhc(),_gc)));z9b(e.a);e.e=true;Vec(c,Gbc(e))}if(!k){vub();if((d.n==(Plc(),Vjc)&&!(d.n==Vjc&&rvb(d.g)&&d.n==Vjc&&Uvb(d.c))&&!Mvb(d)||d.n==ojc&&(!(d.n==ojc&&Uvb(d.c))||!rvb(d.g)))&&c==d.c);else if(Qvb(c));else if(a.d.Td(c.Di())); +else{h=d.n==Elc;!h&&!(a.e&&Bdb((!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d)))&&bub(b,c,OHb,yG(tG(wZ,1),eWc,2,6,[n]));if(a.f)throw q0(new RAc("Unexpected variable "+n));else{_Hb(a.b,n);uMc(a.g,n);lCb(r1(j),n,c,a.b.Lg())}}return}f=(!b.d&&!!b.i&&(b.d=b.c.Dg(b.i)),b.d);l=k.a;if(f==l||!f||!l)return;g=f.k;m=l.k;i=a.b.Eg();if(!a.f&&m!=g&&!!m&&!!g)if(g!=m&&wHc(i.c[g.c],m.c));else!j.b?m!=g&&wHc(i.c[m.c],g.c)?bub(b,c,RHb,yG(tG(wZ,1),eWc,2,6,[g.e,m.e,n])):bub(b,c,JHb,yG(tG(wZ,1),eWc,2,6,[g.e,m.e,n])):bub(b,c,MHb,yG(tG(wZ, +1),eWc,2,6,[g.e,m.e,n]))}function d0b(a,b){switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 98:case 66:T_b(a);K0b(S_b(a,a.f)?JBc(a.b,a.f):0)>=0||$_b(a,"Binary Integer Literal must contain at least one digit",yG(tG(rZ,1),zUc,1,5,[]));h0b(a);return new zYb((V2b(),Z1b),dCc(a.b,b,a.f),vYb(a.g,b,a.f));case 111:case 79:T_b(a);L0b(S_b(a,a.f)?JBc(a.b,a.f):0)>=0||$_b(a,"Octal Integer Literal must contain at least one digit",yG(tG(rZ,1),zUc,1,5,[]));o0b(a);((S_b(a,a.f)?JBc(a.b,a.f):0)==56||(S_b(a,a.f)?JBc(a.b,a.f):0)== +57)&&$_b(a,v_c,yG(tG(rZ,1),zUc,1,5,[]));return new zYb((V2b(),Z1b),dCc(a.b,b,a.f),vYb(a.g,b,a.f));case 120:case 88:T_b(a);cAc(S_b(a,a.f)?JBc(a.b,a.f):0,16)>=0||$_b(a,"Hex Integer Literal must contain at least one digit",yG(tG(rZ,1),zUc,1,5,[]));m0b(a);return new zYb((V2b(),Z1b),dCc(a.b,b,a.f),vYb(a.g,b,a.f));case 101:case 69:return a0b(a,b);case 46:return b0b(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:k0b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==46){T_b(a);k0b(a)}return new zYb((V2b(), +Z1b),dCc(a.b,b,a.f),vYb(a.g,b,a.f));default:return new zYb((V2b(),Z1b),dCc(a.b,b,a.f),vYb(a.g,b,a.f))}}function nwb(a){vub();switch(a.f){case 46:return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 47:return 1;case 103:return 2;case 60:return 3;case 61:return 4;case 62:return 5;case 1:return 6;case 2:return 7;case 3:return 8;case 4:case 5:case 36:case 37:return 9;case 6:case 8:case 7:case 9:case 41:case 40:return 10;case 10:case 11:case 12:return 11; case 14:case 13:return 12;case 15:case 17:case 16:return 13;case 18:return 14;case 104:case 23:case 24:case 25:case 79:case 19:case 20:case 21:case 22:return 15;case 63:case 64:return 16;case 28:case 27:case 26:case 124:case 125:case 42:case 93:case 123:case 95:case 80:case 34:case 65:case 96:case 153:case 29:case 32:case 30:case 43:case 94:case 38:case 114:case 115:case 116:case 117:case 31:case 91:case 161:case 162:case 163:case 33:case 99:case 35:case 119:case 120:case 113:case 131:return 17;case 129:return 18; -case 140:case 130:return 19;case 126:case 128:case 127:case 132:case 138:case 133:case 136:case 139:case 141:return 20;case 92:return 21;default:Gd(a!=(Nlc(),wlc));throw p0(new PAc("Unknown precedence for "+a));}}function cbb(){cbb=S0;$0();abb=new Whb("JSC_MODULE_DEPENDENCY_ERROR",(l7(),i7),new $Cc("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));$ab=new Whb("JSC_MISSING_ENTRY_ERROR",i7,new $Cc('required entry point "{0}" never provided'));_ab=new Whb("JSC_MISSING_MODULE_ERROR", -i7,new $Cc('unknown module "{0}" specified in entry point spec'));new Whb("JSC_INCONSISTENT_MODULE_DEFINITIONS",i7,new $Cc("Serialized module definitions are not consistent with the module definitions supplied in the command line"));new Whb("JSC_OPTIMIZE_LOOP_ERROR",i7,new $Cc("Exceeded max number of optimization iterations: {0}"));new Whb("JSC_MOTION_ITERATIONS_ERROR",i7,new $Cc("Exceeded max number of code motion iterations: {0}"));bbb=$Rc("com.google.javascript.jscomp");new Kc(Dzc);Yab=new Whb("JSC_EMPTY_MODULE_LIST_ERROR", -i7,new $Cc("At least one module must be provided"));Zab=new Whb("JSC_EMPTY_ROOT_MODULE_ERROR",i7,new $Cc("Root module ''{0}'' must contain at least one source code input"));Xab=new Whb("JSC_DUPLICATE_INPUT",i7,new $Cc("Duplicate input: {0}"));Wab=new Whb("JSC_DUPLICATE_EXTERN_INPUT",i7,new $Cc("Duplicate extern input: {0}"))}function n8(){n8=S0;new Whb("JSC_INVALID_DESTRUCTURING_FORWARD_DECLARE",(l7(),i7),new $Cc("Cannot destructure a forward-declared type"));new Whb("JSC_MODULE_USES_GOOG_MODULE_GET", -i7,new $Cc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new Whb("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",i7,new $Cc("goog.forwardDeclare parameter must be a string literal."));new Whb("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",i7,new $Cc("goog.module.get parameter must be a string literal."));new Whb("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",i7,new $Cc("goog.require parameter must be a string literal."));new Whb("JSC_GOOG_MODULE_INVALID_REQUIRE_TYPE_NAMESPACE", -i7,new $Cc("goog.requireType parameter must be a string literal."));m8=new Whb("JSC_MISSING_MODULE_OR_PROVIDE",i7,new $Cc('Required namespace "{0}" never defined.'));new Whb("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",i7,new $Cc("goog.module.get can not be called in global scope."));l8=new Whb("JSC_INVALID_CLOSURE_CALL_ERROR",i7,new $Cc("Closure primitive methods (goog.provide, goog.require, goog.define, etc) must be called at file scope."))}function pzb(){pzb=S0;var a,b,c,d;new yc(new yc(new fc(97, -122),new fc(65,90)),new cc);ozb=new Whb("JSC_UNKNOWN_TWEAK_WARNING",(l7(),k7),new $Cc("no tweak registered with ID {0}"));new Whb("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",i7,new $Cc("Tweak {0} has already been registered."));new Whb("JSC_NON_LITERAL_TWEAK_ID_ERROR",i7,new $Cc("tweak ID must be a string literal"));lzb=new Whb("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING",k7,new $Cc("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));new Whb("JSC_NON_GLOBAL_TWEAK_INIT_ERROR", -i7,new $Cc("tweak declaration {0} must occur in the global scope"));new Whb("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",i7,new $Cc("Cannot override the default value of tweak {0} after it has been registered"));nzb=new Whb("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",k7,new $Cc("tweak getter function {0} used for tweak registered using {1}"));new Whb("JSC_INVALID_TWEAK_ID_ERROR",i7,new $Cc("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));mzb=new mMc;for(b=(yzb(),yG(tG(kR, -1),DUc,92,0,[vzb,wzb,xzb,uzb,rzb,qzb,szb,tzb])),c=0,d=b.length;c {1}. Modules must be listed in dependency order."));cbb=new $hb("JSC_MISSING_ENTRY_ERROR",m7,new aDc('required entry point "{0}" never provided'));dbb=new $hb("JSC_MISSING_MODULE_ERROR", +m7,new aDc('unknown module "{0}" specified in entry point spec'));new $hb("JSC_INCONSISTENT_MODULE_DEFINITIONS",m7,new aDc("Serialized module definitions are not consistent with the module definitions supplied in the command line"));new $hb("JSC_OPTIMIZE_LOOP_ERROR",m7,new aDc("Exceeded max number of optimization iterations: {0}"));new $hb("JSC_MOTION_ITERATIONS_ERROR",m7,new aDc("Exceeded max number of code motion iterations: {0}"));fbb=aSc("com.google.javascript.jscomp");new Kc(Fzc);abb=new $hb("JSC_EMPTY_MODULE_LIST_ERROR", +m7,new aDc("At least one module must be provided"));bbb=new $hb("JSC_EMPTY_ROOT_MODULE_ERROR",m7,new aDc("Root module ''{0}'' must contain at least one source code input"));_ab=new $hb("JSC_DUPLICATE_INPUT",m7,new aDc("Duplicate input: {0}"));$ab=new $hb("JSC_DUPLICATE_EXTERN_INPUT",m7,new aDc("Duplicate extern input: {0}"))}function r8(){r8=T0;new $hb("JSC_INVALID_DESTRUCTURING_FORWARD_DECLARE",(p7(),m7),new aDc("Cannot destructure a forward-declared type"));new $hb("JSC_MODULE_USES_GOOG_MODULE_GET", +m7,new aDc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new $hb("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",m7,new aDc("goog.forwardDeclare parameter must be a string literal."));new $hb("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",m7,new aDc("goog.module.get parameter must be a string literal."));new $hb("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",m7,new aDc("goog.require parameter must be a string literal."));new $hb("JSC_GOOG_MODULE_INVALID_REQUIRE_TYPE_NAMESPACE", +m7,new aDc("goog.requireType parameter must be a string literal."));q8=new $hb("JSC_MISSING_MODULE_OR_PROVIDE",m7,new aDc('Required namespace "{0}" never defined.'));new $hb("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",m7,new aDc("goog.module.get can not be called in global scope."));p8=new $hb("JSC_INVALID_CLOSURE_CALL_ERROR",m7,new aDc("Closure primitive methods (goog.provide, goog.require, goog.define, etc) must be called at file scope."))}function qzb(){qzb=T0;var a,b,c,d;new yc(new yc(new fc(97, +122),new fc(65,90)),new cc);pzb=new $hb("JSC_UNKNOWN_TWEAK_WARNING",(p7(),o7),new aDc("no tweak registered with ID {0}"));new $hb("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",m7,new aDc("Tweak {0} has already been registered."));new $hb("JSC_NON_LITERAL_TWEAK_ID_ERROR",m7,new aDc("tweak ID must be a string literal"));mzb=new $hb("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING",o7,new aDc("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));new $hb("JSC_NON_GLOBAL_TWEAK_INIT_ERROR", +m7,new aDc("tweak declaration {0} must occur in the global scope"));new $hb("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",m7,new aDc("Cannot override the default value of tweak {0} after it has been registered"));ozb=new $hb("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",o7,new aDc("tweak getter function {0} used for tweak registered using {1}"));new $hb("JSC_INVALID_TWEAK_ID_ERROR",m7,new aDc("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));nzb=new oMc;for(b=(zzb(),yG(tG(lR, +1),FUc,92,0,[wzb,xzb,yzb,vzb,szb,rzb,tzb,uzb])),c=0,d=b.length;c1&&l_b(a,"for-in statement may not have more than one variable declaration",yG(tG(qZ,1),xUc,1,5,[]));c=f.b.ee(0);!!c.b&&(a.b.a?l_b(a,"for-in statement may not have initializer",yG(tG(qZ,1),xUc,1,5,[])):WTb(a.c,c.o.b,"for-in statement should not have initializer",yG(tG(qZ,1),xUc,1,5,[])));return EZb(a,e,f)}else if(S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,"of")){f.b.$d()>1&&(b?l_b(a,"for-await-of statement may not have more than one variable declaration", -yG(tG(qZ,1),xUc,1,5,[])):l_b(a,"for-of statement may not have more than one variable declaration",yG(tG(qZ,1),xUc,1,5,[])));c=f.b.ee(0);!!c.b&&(b?l_b(a,"for-await-of statement may not have initializer",yG(tG(qZ,1),xUc,1,5,[])):l_b(a,"for-of statement may not have initializer",yG(tG(qZ,1),xUc,1,5,[])));return b?DZb(a,e,f):FZb(a,e,f)}else{zYb(a,f);return HZb(a,e,f)}}if(T$b(a,q2b))return HZb(a,e,null);d=QYb(a,0);if(T$b(a,F1b)||T$b(a,q1b)||S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,"of")){d=m_b(a,d);Z2b(d)||l_b(a, -D0c,yG(tG(qZ,1),xUc,1,5,[]))}if(T$b(a,F1b)||S$b(a,0,B1b)&&MBc(V_b(a.g,0).a,"of"))if(d.p!=(L6b(),$4b)&&d.p!=g5b)return T$b(a,F1b)?EZb(a,e,d):b?DZb(a,e,d):FZb(a,e,d);return HZb(a,e,d)}function yHb(){yHb=S0;qHb=(amc(),"(Proxy)");wHb=new Whb("JSC_MALFORMED_TYPEDEF",(l7(),k7),new $Cc("Typedef for {0} does not have any type information"));sHb=new Whb("JSC_ENUM_INITIALIZER_NOT_ENUM",k7,new $Cc("enum initializer must be an object literal or an enum"));new Whb("JSC_INVALID_ENUM_KEY",k7,new $Cc("enum key must be a string or numeric literal")); -pHb=new Whb("JSC_CTOR_INITIALIZER_NOT_CTOR",k7,new $Cc("Constructor {0} must be initialized at declaration"));tHb=new Whb("JSC_IFACE_INITIALIZER_NOT_IFACE",k7,new $Cc("Interface {0} must be initialized at declaration"));oHb=new Whb("JSC_REFLECT_CONSTRUCTOR_EXPECTED",k7,new $Cc("Constructor expected as first argument"));xHb=new Whb("JSC_UNKNOWN_LENDS",k7,new $Cc("Variable {0} not declared before @lends annotation."));vHb=new Whb("JSC_LENDS_ON_NON_OBJECT",k7,new $Cc("May only lend properties to object types. {0} has type {1}.")); -uHb=new Whb("JSC_INCOMPATIBLE_ALIAS_ANNOTATION",k7,new $Cc("Annotation {0} on {1} incompatible with aliased type."));rHb=new Whb("JSC_DYNAMIC_EXTENDS_WITHOUT_JSDOC",k7,new $Cc("The right-hand side of an extends clause must be a qualified name, or else @extends must be specified in JSDoc"));new Whb("JSC_CONFLICTING_GETTER_SETTER_TYPE",k7,new $Cc("The types of the getter and setter for property ''{0}'' do not match.\ngetter type is: {1}\nsetter type is: {2}"));new Ygb(qHb,yG(tG(CO,1),xUc,5,0,[wHb,sHb, -pHb,tHb,oHb,xHb,vHb,uHb,rHb]))}function Vac(a,b){var c,d,e,f,g,h,i,j;if(!a&&!b)return true;if(!a||!b)return false;if(!tOc(Y9b(a),Y9b(b)))return false;for(h=Y9b(a).Xd();h.Jd();){g=h.Kd();if(!tOc(Z9b(a,g),Z9b(b,g)))return false}if((!a.b||!a.b.d?(On(),On(),Nn):a.b.d).$d()!=(!b.b||!b.b.d?(On(),On(),Nn):b.b.d).$d())return false;c=(!a.b||!a.b.d?(On(),On(),Nn):a.b.d).Xd();d=(!b.b||!b.b.d?(On(),On(),Nn):b.b.d).Xd();while(c.Jd())if(!jbc(c.Kd(),d.Kd()))return false;return tOc(!a.b?null:a.b.a,!b.b?null:b.b.a)&& -tOc(!a.d?null:a.d.a,!b.d?null:b.d.a)&&(!a.b?null:a.b.b)==(!b.b?null:b.b.b)&&(!a.b?null:a.b.c)==(!b.b?null:b.b.c)&&tOc(U9b(a),U9b(b))&&tOc((lZc&a.a)==IZc?a.i:null,(lZc&b.a)==IZc?b.i:null)&&tOc(S9b(a),S9b(b))&&tOc(!a.d?null:a.d.i,!b.d?null:b.d.i)&&(!a.d?null:a.d.j)==(!b.d?null:b.d.j)&&(!a.d?null:a.d.k)==(!b.d?null:b.d.k)&&tOc((f=!a.d?null:a.d.n,!f?(JHc(),JHc(),IHc):f),(e=!b.d?null:b.d.n,!e?(JHc(),JHc(),IHc):e))&&(!a.b?null:a.b.i)==(!b.b?null:b.b.i)&&(!a.d?0:a.d.p)==(!b.d?0:b.d.p)&&tOc(!a.b?null:a.b.g, -!b.b?null:b.b.g)&&(!a.b?null:a.b.f)==(!b.b?null:b.b.f)&&tOc((lZc&a.a)==lVc?a.i:null,(lZc&b.a)==lVc?b.i:null)&&tOc((j=!a.d?null:a.d.q,!j?(JHc(),JHc(),IHc):j),(i=!b.d?null:b.d.q,!i?(JHc(),JHc(),IHc):i))&&tOc(_9b(a),_9b(b))&&tOc(a.g,b.g)&&tOc(bac(a),bac(b))&&tOc((lZc&a.a)==wVc?a.i:null,(lZc&b.a)==wVc?b.i:null)&&tOc((lZc&a.a)==yZc?a.i:null,(lZc&b.a)==yZc?b.i:null)&&(!a.b?null:a.b.k)==(!b.b?null:b.b.k)&&tOc(a.j,b.j)&&(!a.d?null:a.d.b)==(!b.d?null:b.d.b)&&a.a==b.a}function m2(a,b,c){var d,e,f,g,h;h=b.g; -switch(b.n.f){case 39:case 103:case 104:case 102:case 101:case 73:case 76:case 100:case 88:case 109:return true;case 99:return false;case 43:case 42:case 38:if(c)return true;break;case 115:case 117:if(a.a)break;return true;case 114:case 116:if(_vb(b))return true;break;case 29:if(b.c)return true;break;case 65:return c||(uub(),b.n==(Nlc(),Tjc)&&qvb(b.g)&&b.n==Tjc&&Tvb(b.c));case 86:case 87:case 98:return false;case 96:return c||(uub(),b.n==(Nlc(),mjc)&&qvb(b.g)&&b.n==mjc&&Tvb(b.c))||m2(a,b.c.f,c)|| -m2(a,b.c?b.c.i:null,c);case 97:for(g=b.c;g;g=g.f)if(g.n==(Nlc(),qjc)&&m2(a,g.c,c))return true;return false;case 23:if(c)return true;if(!n2(b))break;return true;case 28:if(!o2(a,b))break;return true;case 119:return o2(a,b);case 92:case 62:case 82:case 81:case 84:case 60:case 66:case 45:case 123:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 67:case 121:case 44:case 80:case 120:case 122:case 27:case 118:break;case 91:if(h.n==(Nlc(),Skc))if((p2(a,b.Di()).a&1)!=0)return true;break;case 26:if((p2(a, -(b.c?b.c.i:null).Di()).a&3)!=0)return true;break;default:{uub();if(Uvb(b.n))break}if(gvb(b)){d=b.c;if(d.n==(Nlc(),Ekc))return true;if(m2(a,b.c,c)||m2(a,b.c?b.c.i:null,c))return true;uub();if(d.n==Zjc||d.n==Yjc){f=d.c;if(Dub(f))return false;while(f.n==Zjc||f.n==Yjc)f=f.c;return!Jvb(f,true)}else return!Jvb(d,true)}return true}for(e=b.c;e;e=e.f)if(m2(a,e,c))return true;return false}function Llb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L;G=Rtb(b);I=oZc+a.c++;K=c.d;F=null; -B=null;if(!!c.c&&vec(c.c?c.c.i:null)){B=new nGc;F=oZc+a.c++}else if(a.g==(Zlb(),Ylb))if(!BFc(a.f).a){--a.c;return}H=jfc(K8b(V2(a.a,I,K),Vdc(d),(Nlc(),Hlc)),c);if(e.n==rjc){s=new Wcc(false);Qbc(s);Tec(H,Ebc(s))}Ldc(f.g,H,f);for(h=c.c;h;h=w){w=h.f;if(h.n==plc){J=V2(a.a,I,K);o=h.Fi()?K2(a.a,J,g3(a.a,h.Di())):L2(a.a,J,h.Di());L=Jec(h);if(L.n==xjc){t=Jec(L);j=Jec(L);v=Flb(a,o,j)}else{t=L;v=o}!!B&&(B.a[B.a.length]=h,true)}else if(h.n==qjc){p=(h.c?h.c.i:null).n==xjc;A=Jec(h);if(p){i=h.c?h.c.i:null;t=Jec(i); -j=Jec(i)}else{t=Jec(h);j=null}if(B){m=oZc+a.c++;l=V2(a.a,m,A.d);k=K8b(Ghc(l,false),A,Hlc);jfc(k,h);Ldc(f.g,k,f);A=Ghc(l,false);dGc(B,Ghc(l,false))}if(p){n=K2(a.a,V2(a.a,I,K),A);r=oZc+a.c++;q=K8b(V2(a.a,r,n.d),n,Hlc);jfc(q,h);Ldc(f.g,q,f);v=Flb(a,V2(a.a,r,n.d),j)}else v=K2(a.a,V2(a.a,I,t.d),A)}else if(h.n==pkc||h.n==Tkc){if(w)throw p0(new PAc("object rest may not be followed by any properties"));g=A2(a.a,c3(a.a,G,qWc),yG(tG(BX,1),kWc,7,0,[]));Mdc(g,_2(a.a,yG(tG(BX,1),kWc,7,0,[])));Mdc(g,V2(a.a,I,K)); -D=K8b(V2(a.a,F,K),g,Hlc);jfc(D,c);Kdc(f.g,D,H);C=(Ud(!!h.c&&!h.c.f),h.c);t=V2(a.a,C.Di(),C.d);v=Ilb(a,c,h,F,B)}else throw p0(new PAc("unexpected child"));uub();if(!!e&&(e.n==Hlc||e.n==wkc||e.n==rjc))u=K8b(t,v,e.n);else if(e.n==Nic)u=N8b(w2(a.a,t,v));else throw p0(new PAc("not reached"));jfc(u,h);Ldc(f.g,u,f);Olb(a,b,t,t.g)}Vdc(f);bub(b)}function yMb(){yMb=S0;kMb=new Whb("JSC_CLASS_DISALLOWED_JSDOC",(l7(),j7),new $Cc("@constructor annotations are redundant on classes."));oMb=new Whb("JSC_MISSING_JSDOC", -j7,new $Cc("Function must have JSDoc."));pMb=new Whb("JSC_MISSING_PARAMETER_JSDOC",j7,new $Cc("Parameter must have JSDoc."));rMb=new Whb("JSC_MIXED_PARAM_JSDOC_STYLES",j7,new $Cc("Functions may not use both @param annotations and inline JSDoc"));qMb=new Whb("JSC_MISSING_RETURN_JSDOC",j7,new $Cc("Function with non-trivial return must have JSDoc indicating the return type."));sMb=new Whb("JSC_MUST_BE_PRIVATE",j7,new $Cc("Property {0} must be marked @private"));tMb=new Whb("JSC_MUST_HAVE_TRAILING_UNDERSCORE", -j7,new $Cc("Private property {0} should end with ''_''"));uMb=new Whb("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",j7,new $Cc("Parameter {0} is optional so its type must end with ="));xMb=new Whb("JSC_WRONG_NUMBER_OF_PARAMS",j7,new $Cc("Wrong number of @param annotations"));mMb=new Whb("JSC_INCORRECT_PARAM_NAME",j7,new $Cc("Incorrect param name. Are your @param annotations in the wrong order?"));lMb=new Whb("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",j7,new $Cc("Externs files should be annotated with @externs in the @fileoverview block.")); -vMb=new Whb("JSC_PREFER_BACKTICKS_TO_AT_SIGN_CODE",j7,new $Cc("Use `some_code` instead of '{'@code some_code'}'."));nMb=new $gb(yG(tG(CO,1),xUc,5,0,[kMb,oMb,pMb,rMb,qMb,uMb,xMb,mMb,lMb,vMb]));wMb=new $gb(yG(tG(CO,1),xUc,5,0,[sMb,tMb]));new Zgb(yG(tG(BO,1),xUc,47,0,[nMb,wMb]))}function HDb(){HDb=S0;GDb=new Whb("JSC_USE_OF_WITH",(l7(),k7),new $Cc("The 'with' statement cannot be used in strict mode."));DDb=new Whb("JSC_EVAL_DECLARATION",k7,new $Cc('"eval" cannot be redeclared in strict mode'));CDb=new Whb("JSC_EVAL_ASSIGNMENT", -k7,new $Cc('the "eval" object cannot be reassigned in strict mode'));yDb=new Whb("JSC_ARGUMENTS_DECLARATION",k7,new $Cc('"arguments" cannot be redeclared in strict mode'));vDb=new Whb("JSC_ARGUMENTS_ASSIGNMENT",k7,new $Cc('the "arguments" object cannot be reassigned in strict mode'));wDb=new Whb("JSC_ARGUMENTS_CALLEE_FORBIDDEN",k7,new $Cc('"arguments.callee" cannot be used in strict mode'));xDb=new Whb("JSC_ARGUMENTS_CALLER_FORBIDDEN",k7,new $Cc('"arguments.caller" cannot be used in strict mode')); -FDb=new Whb("JSC_FUNCTION_CALLER_FORBIDDEN",k7,new $Cc("A function''s \"caller\" property cannot be used in strict mode"));EDb=new Whb("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN",k7,new $Cc("A function''s \"arguments\" property cannot be used in strict mode"));zDb=new Whb("JSC_BAD_FUNCTION_DECLARATION",k7,new $Cc("functions can only be declared at top level or immediately within another function in ES5 strict mode"));ADb=new Whb("JSC_DELETE_VARIABLE",k7,new $Cc("variables, functions, and arguments cannot be deleted in strict mode")); -BDb=new Whb("JSC_DUPLICATE_OBJECT_KEY",i7,new $Cc('Object literal contains illegal duplicate key "{0}", disallowed in strict mode'));new Whb("JSC_DUPLICATE_CLASS_METHODS",i7,new $Cc('Class contains duplicate method name "{0}"'))}function BPb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.c;l=XBc(l,"\r\n?",vVc);k=c?0:1;f=PBc(l,hCc(92));if(f==-1)return c?l:bCc(l,1,l.length-1);j=new BCc;while(f!=-1){j.a+=""+(l==null?uUc:l).substr(k,f-k);f+=1;d=l.charCodeAt(f);switch(d){case 98:j.a+="\b";break;case 102:j.a+="\f";break; -case 110:j.a+=vVc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:oPb(a,b,(aXb(),UWb));a.e.gi("String continuations are not recommended. See https://google.github.io/styleguide/jsguide.html#features-strings-no-line-continuations",a.s,b.d.b.b+1,b.d.b.a);break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:f+1=0)++g;h=l.substr(f+2,g-(f+2));++g}}e=JAc(h,16);if(e>BVc){a.e.fi("Undefined Unicode code-point",a.s,b.d.b.b+1,b.d.b.a);j.a+="\\u{";j.a+=""+h;j.a+="}"}else zCc(j,(PTc(e>=0&&e<=BVc),e>=AVc?yG(tG(uH,1),pUc,50,15,[55296+(e-AVc>>10&CVc)&oUc,56320+ -(e-AVc&CVc)&oUc]):yG(tG(uH,1),pUc,50,15,[e&oUc])));f=g-1;break;case 39:case 34:case 92:default:j.a+=String.fromCharCode(d)}k=f+1;f=QBc(l,hCc(92),k)}wCc(j,l,k,c?l.length:l.length-1);return j.a}function UHb(){UHb=S0;NHb=new Whb("JSC_UNDEFINED_VARIABLE",(l7(),i7),new $Cc("variable {0} is undeclared"));QHb=new Whb("JSC_VIOLATED_MODULE_DEPENDENCY",i7,new $Cc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));IHb=new Whb("JSC_MISSING_MODULE_DEPENDENCY",k7,new $Cc("missing module dependency; module {0} should depend on module {1} because it references {2}")); -LHb=new Whb("JSC_STRICT_MODULE_DEPENDENCY",j7,new $Cc(fXc));JHb=new Whb("JSC_NAME_REFERENCE_IN_EXTERNS",k7,new $Cc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));MHb=new Whb("JSC_UNDEFINED_EXTERN_VAR_ERROR",k7,new $Cc("name {0} is not defined in the externs."));PHb=new Whb("JSC_VAR_MULTIPLY_DECLARED_ERROR",i7,new $Cc("Variable {0} declared more than once. First occurrence: {1}"));OHb=new Whb("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",i7,new $Cc('Shadowing "arguments" is not allowed')); -HHb=new Whb("JSC_BLOCK_SCOPED_DECL_MULTIPLY_DECLARED_ERROR",i7,new $Cc("Duplicate let / const / class / function declaration in the same scope is not allowed."));SHb=T8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),Jdc(),new Jhc((Nlc(),Ekc),ZWc)),mXc,yG(tG(vZ,1),cWc,2,6,[]));THb=T8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),nXc,yG(tG(vZ,1),cWc,2,6,[]));RHb=T8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),bXc,yG(tG(vZ,1),cWc,2,6,[]));KHb=Kp($Vc,_Vc,VYc,WYc,f$c,"JSCompiler_renameProperty",yG(tG(vZ, -1),cWc,2,6,["Map",fWc,dWc,aWc,YYc,UYc,"Reflect",bWc,"Set",EVc,ZYc,"TypeError","WeakMap",tWc,"isNaN","parseFloat","parseInt","self",bZc,"window"]))}function h7(){h7=S0;var a;f7=new Whb("JSC_MISPLACED_MSG_ANNOTATION",(l7(),j7),new $Cc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should only be on message nodes.\nMessage constants must be prefixed with 'MSG_'."));e7=new Whb("JSC_MISPLACED_ANNOTATION",k7,new $Cc("Misplaced {0} annotation. {1}"));Z6=new Whb("JSC_ANNOTATION_DEPRECATED", -k7,new $Cc("The {0} annotation is deprecated. {1}"));a7=new Whb("JSC_DISALLOWED_MEMBER_JSDOC",k7,new $Cc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members"));$6=new Whb("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",i7,new $Cc("Arrow functions cannot be used as constructors"));_6=new Whb("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",i7,new $Cc("Inline JSDoc on default parameters must be marked as optional"));c7=new Whb("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",i7,new $Cc("@nosideeffects may only appear in externs files.")); -b7=new Whb("JSC_INVALID_MODIFIES_ANNOTATION",i7,new $Cc("@modifies may only appear in externs files."));new Whb("JSC_INVALID_DEFINE_ON_LET",i7,new $Cc("variables annotated with @define may only be declared with VARs, ASSIGNs, or CONSTs"));g7=new Whb("JSC_MISPLACED_SUPPRESS",k7,new $Cc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));d7=new Whb("JSC_JSDOC_IN_BLOCK_COMMENT",k7,new $Cc("Non-JSDoc comment has annotations. Did you mean to start it with '/**'?")); -new Whb("JSC_JSDOC_ON_RETURN",k7,new $Cc("JSDoc annotations are not supported on return."));a=new eSc;a.a=new $wnd.RegExp("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]")}function WGb(){WGb=S0;RGb=new Whb("JSC_INVALID_CAST",(l7(),k7),new $Cc("invalid cast - must be a subtype or supertype\nfrom: {0}\nto : {1}"));UGb=new Whb("JSC_TYPE_MISMATCH",k7,new $Cc(pYc));QGb=new Whb("JSC_INVALID_ASYNC_RETURN_TYPE",k7,new $Cc("The return type of an async function must be a supertype of Promise\nfound: {0}"));SGb= -new Whb("JSC_INVALID_OPERAND_TYPE",j7,new $Cc(pYc));TGb=new Whb("JSC_MISSING_EXTENDS_TAG",k7,new $Cc("Missing @extends tag on type {0}"));KGb=new Whb("JSC_DUP_VAR_DECLARATION",k7,new $Cc("variable {0} redefined, original definition at {1}:{2}"));LGb=new Whb("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",k7,new $Cc("variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}"));PGb=new Whb("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",k7,new $Cc("property {0} on interface {1} is not implemented by type {2}")); -MGb=new Whb("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH",k7,new $Cc("mismatch of the {0} property on type {4} and the type of the property it overrides from interface {1}\noriginal: {2}\noverride: {3}"));NGb=new Whb("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",k7,new $Cc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));IGb=new Whb("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED",k7,new $Cc("property {0} on abstract class {1} is not implemented by type {2}")); -VGb=new Whb("JSC_UNKNOWN_TYPEOF_VALUE",k7,new $Cc("unknown type: {0}"));OGb=new Whb("JSC_ILLEGAL_PROPERTY_ACCESS",k7,new $Cc("Cannot do {0} access on a {1}"));JGb=new $gb(yG(tG(CO,1),xUc,5,0,[IGb,KGb,LGb,MGb,OGb,PGb,QGb,RGb,TGb,UGb,VGb]))}function gYb(){gYb=S0;var a,b,c,d,e,f;jXb=new hYb("BREAK",0,"break",(S2b(),V0b));kXb=new hYb("CASE",1,"case",Y0b);lXb=new hYb(m0c,2,"catch",Z0b);oXb=new hYb(n0c,3,GXc,g1b);pXb=new hYb(o0c,4,IXc,h1b);rXb=new hYb(N$c,5,uXc,j1b);sXb=new hYb("DELETE",6,p0c,k1b);tXb= -new hYb("DO",7,"do",l1b);uXb=new hYb("ELSE",8,"else",n1b);zXb=new hYb(q0c,9,oXc,x1b);AXb=new hYb("FOR",10,"for",y1b);BXb=new hYb(NZc,11,iUc,z1b);CXb=new hYb("IF",12,"if",C1b);FXb=new hYb("IN",13,"in",F1b);GXb=new hYb(a0c,14,j$c,G1b);NXb=new hYb("NEW",15,"new",R1b);TXb=new hYb(i_c,16,pXc,n2b);WXb=new hYb(r0c,17,"switch",A2b);XXb=new hYb(WVc,18,XVc,E2b);YXb=new hYb("THROW",19,"throw",F2b);$Xb=new hYb("TRY",20,"try",I2b);aYb=new hYb(s0c,21,i$c,K2b);bYb=new hYb("VAR",22,"var",N2b);cYb=new hYb("VOID", -23,JXc,O2b);dYb=new hYb("WHILE",24,BXc,P2b);eYb=new hYb("WITH",25,"with",Q2b);mXb=new hYb(MZc,26,yXc,$0b);nXb=new hYb("CONST",27,GYc,f1b);vXb=new hYb(_$c,28,LXc,p1b);wXb=new hYb(b_c,29,tXc,u1b);xXb=new hYb(a_c,30,zXc,v1b);EXb=new hYb(t0c,31,wXc,E1b);VXb=new hYb(UVc,32,VVc,z2b);DXb=new hYb(c_c,33,AXc,D1b);HXb=new hYb(d_c,34,KXc,H1b);KXb=new hYb("LET",35,"let",L1b);PXb=new hYb(e_c,36,k_c,a2b);QXb=new hYb(f_c,37,l_c,i2b);RXb=new hYb(g_c,38,m_c,j2b);SXb=new hYb(h_c,39,n_c,k2b);UXb=new hYb("STATIC",40, -p_c,x2b);fYb=new hYb("YIELD",41,DXc,R2b);OXb=new hYb(u0c,42,uUc,V1b);ZXb=new hYb(v0c,43,FXc,H2b);yXb=new hYb(w0c,44,EXc,w1b);qXb=new hYb(x0c,45,"declare",i1b);_Xb=new hYb(j_c,46,MXc,J2b);LXb=new hYb("MODULE",47,_Wc,P1b);MXb=new hYb(y0c,48,"namespace",Q1b);a=(Do(),new Fs);b=new rLc(CU);for(d=pYb(),e=0,f=d.length;e1&&hv(kv(new kHc(a.C.a),new ssb));for(e=new kw(Pv(ov(hv(kv(new kHc(a.C.a),new ssb)).a),new lv));iw(e);){d=jw(e);n=Pd(tdb(d,a));if(b){P5(a.T,a).dh(a.p,a.w);if(a.i.a.d!=0)return null}if(a.I.mb||!a.I.Sc.a.a.Wd()){s=new XCb(d.i.a,a.I.ab!=web);t=new lub(a,s,new ODb(a));eub(t,n)}if(xvb(n)){ydb(d);Mdc(a.p,n)}else Mdc(a.w,n)}if(a.i.a.d!=0)return null;return a.j}finally{ebb(a);r=E0(v0(Date.now()),u.a);a.I.pd!=Rfb&&!!a.Q&& -Jxb(a.Q,WXc,r)}}function thc(){thc=S0;bhc=new uhc("NON_JSDOC_COMMENT",0);Zgc=new uhc("JSDOC_INFO",1);qhc=new uhc("VAR_ARGS",2);Qgc=new uhc("INCRDECR",3);ghc=new uhc("QUOTED",4);chc=new uhc("OPT_ARG",5);mhc=new uhc("SYNTHETIC",6);rgc=new uhc("ADDED_BLOCK",7);ehc=new uhc("ORIGINALNAME",8);ihc=new uhc("SIDE_EFFECT_FLAGS",9);Sgc=new uhc("IS_CONSTANT_NAME",10);Wgc=new uhc("IS_NAMESPACE",11);Egc=new uhc("DIRECTIVES",12);Fgc=new uhc("DIRECT_EVAL",13);Kgc=new uhc("FREE_CALL",14);khc=new uhc("SOURCE_FILE", -15);Rgc=new uhc("INPUT_ID",16);jhc=new uhc("SLASH_V",17);ugc=new uhc("CHANGE_TIME",18);hhc=new uhc("REFLECTED_OBJECT",19);lhc=new uhc("STATIC_MEMBER",20);Lgc=new uhc("GENERATOR_FN",21);sgc=new uhc("ARROW_FN",22);tgc=new uhc("ASYNC_FN",23);shc=new uhc("YIELD_ALL",24);Igc=new uhc("EXPORT_DEFAULT",25);Hgc=new uhc("EXPORT_ALL_FROM",26);zgc=new uhc("CONSTANT_VAR_FLAGS",27);Tgc=new uhc("IS_GENERATOR_MARKER",28);Ugc=new uhc("IS_GENERATOR_SAFE",29);wgc=new uhc("COMPUTED_PROP_METHOD",30);vgc=new uhc("COMPUTED_PROP_GETTER", -31);xgc=new uhc("COMPUTED_PROP_SETTER",32);ygc=new uhc("COMPUTED_PROP_VARIABLE",33);Bgc=new uhc("DECLARED_TYPE_EXPR",34);phc=new uhc("TYPE_BEFORE_CAST",35);dhc=new uhc("OPT_ES6_TYPED",36);Mgc=new uhc(i1c,37);Pgc=new uhc(c_c,38);Agc=new uhc("CONSTRUCT_SIGNATURE",39);qgc=new uhc("ACCESS_MODIFIER",40);ahc=new uhc("NON_INDEXABLE",41);fhc=new uhc("PARSE_RESULTS",42);Ngc=new uhc("GOOG_MODULE",43);Ogc=new uhc("GOOG_MODULE_REQUIRE",44);Jgc=new uhc("FEATURE_SET",45);Vgc=new uhc("IS_MODULE_NAME",46);rhc=new uhc("WAS_PREVIOUSLY_PROVIDED", -47);nhc=new uhc("TRANSPILED",48);Dgc=new uhc("DELETED",49);$gc=new uhc("MODULE_ALIAS",50);Ygc=new uhc("IS_UNUSED_PARAMETER",51);_gc=new uhc(mYc,52);Xgc=new uhc("IS_SHORTHAND_PROPERTY",53);Ggc=new uhc("ES6_MODULE",54);ohc=new uhc("TYPEDEF_TYPE",55);Cgc=new uhc("DEFINE_NAME",56)}function psb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;H=Vn(hv(kv(new kHc(a.a),new ssb)));Q=new lKb(H);h=esb(a,b,c,hv(kv(new kHc(a.a),new ssb)),Q);r=new mMc;for(n=H.Xd();n.Jd();){l= -n.Kd();for(K=Fdb(l.c?l.c.f:(On(),On(),Nn),l.e).Xd();K.Jd();){J=K.Kd();(J==null?!!LMc(r.d,null):dNc(r.e,J))||hDc(r,J,new fOc);(J==null?Kg(LMc(r.d,null)):eNc(r.e,J)).Qd(l)}A=gLb(vdb(l).a);dNc(r.e,A)||hDc(r,A,new fOc);eNc(r.e,A).Qd(l)}for(o=H.Xd();o.Jd();){l=o.Kd();for(N=Wn(l.d).Xd();N.Jd();){M=N.Kd();(M==null?!!LMc(r.d,null):dNc(r.e,M))&&Mc(h,M==null?Kg(LMc(r.d,null)):eNc(r.e,M))}}d=hKb(Q,H,c.b!=(Pgb(),Lgb));i=new rx;for(p=(I=(new bEc(h.a)).a.Je().Xd(),new hEc(I));p.a.Jd();){l=(e=p.a.Kd(),e.ff());t= -l.k;Pd(t);nx(i,t,l,null)}for(v=new NDc(new kHc(a.a));v.b1)&&Z4("Expected child count in [0, 1], but was "+o,b);!!b.c&&$3(a,b.c);return;case 104:_3(a,(aXb(),$Vb),b);x4((Nlc(),$ic),b);p=(uub(),Lub(b,new rwb(Tjc))); -(!p||!(p.n==Tjc&&$dc(p,(thc(),tgc))!=0))&&Z4("'await' expression is not within an async function",b);return;default:Z4("Expected expression but was "+b.n,b)}}function glb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;blb(a,c);t=d5(c,d,a.a);if(!t)throw p0(new PAc("Can only convert classes that are declarations or the right hand side of a simple assignment: "+c));if(t.k.n!=(Nlc(),Djc)&&!uec(t.k)){a.b.Tg(Orb(t.k,Ykb,yG(tG(vZ,1),cWc,2,6,[])));return}Zd(Vvb(t.i.a),"insertion point must be a statement: %s", -t.i.a);h=null;i=null;f=c.c?c.c.i:null;for(s=(!f.c?(JHc(),JHc(),IHc):new whc(f.c)).Xd();s.Jd();){r=s.Kd();if(r.n==qjc&&($dc(r,(Jdc(),hdc))!=0||$dc(r,jdc)!=0)||r.n==$jc||r.n==klc)ilb(a,r,t);else if(vvb(r)){i=bec(r,(thc(),Zgc));h=Uec(Vdc(r.c),c.d);Vec(h,bec(c,phc));t.a||Mec(h,h.c,t.c.zi(false))}else if(r.n==Djc);else{Zd(r.n==zkc||r.n==qjc,"Unexpected class member:",r);Zd($dc(r,(Jdc(),kdc))==0,"Member variables should have been transpiled earlier:",r);hlb(a,r,t)}}Qd(h,"Es6RewriteClasses expects all classes to have (possibly synthetic) constructors"); -if(t.f.c){k=N8b(A2(a.a,clb(a,Rtb(b)),yG(tG(BX,1),kWc,7,0,[Tdc(t.d,false),t.f])));jfc(k,c);vlb(t.i,k)}if(t.e.c){k=N8b(A2(a.a,clb(a,Rtb(b)),yG(tG(BX,1),kWc,7,0,[Tdc(t.g,false),t.e])));jfc(k,c);vlb(t.i,k)}e=(uub(),q=Fub(c),!q?null:bec(q,(thc(),Zgc)));u=Ycc(e);Rbc(u);l=Lub(c,new vwb);if(t.k.n!=Djc){v=cec(t.k);nac(u.a)?_bc(u,new bdc(new mfc(_ic,(Jdc(),new Jhc(olc,v))),(n=bec(t.k,(thc(),khc)),!n?null:n.ah()))):Mbc(u,new bdc(new mfc(_ic,(Jdc(),new Jhc(olc,v))),(o=bec(t.k,(thc(),khc)),!o?null:o.ah())));m= -bec(c,(thc(),khc));if(!(!!m&&m.ri())){p=jfc(N8b(A2(a.a,c3(a.a,Rtb(b),PXc),yG(tG(BX,1),kWc,7,0,[Tdc(t.g,false),Tdc(t.k,false)]))),t.k);Kdc(l.g,p,l)}}alb(a,Rtb(b),t,l);flb(i,u);if(c.n!=Ckc&&Wvb(c.g)){h.c.Ii("");j=K8b(t.c.zi(false),h,wkc);jfc(j,c);Mec(d,c,j);vub(b.f,(aXb(),zWb))}else Mec(d,c,h);awb(c,a.b);if(h.n!=Ckc&&Wvb(h.g))Tec(h,Ebc(u));else if(d.n==Ekc){w=d.g;Tec(w,Ebc(u))}else if(h.g.n==Ekc){w=!h.g?null:h.g.g;Tec(w,Ebc(u))}else if(d.n==Nic)Tec(d,Ebc(u));else throw p0(new PAc("Unexpected parent node "+ -d));g=hnc(c.d);!!g&&(!!g.j&&(!h||!g.j.d)&&(g.j=new Nvc(g.j.c,g.j.e,g.j.b,h)),g.k=h);bub(b)}function q8(){q8=S0;new Whb("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(l7(),i7),new $Cc("goog.module parameter must be string literals"));new Whb("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",i7,new $Cc("goog.provide parameter must be a string literal."));new Whb("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL",i7,new $Cc("goog.provide can not be called in goog.module."));new Whb("JSC_GOOG_MODULE_INVALID_GET_ALIAS",i7, -new $Cc("goog.module.get should not be aliased."));new Whb("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",i7,new $Cc("Computed properties are not yet supported in goog.module exports."));p8=new Whb("JSC_USELESS_USE_STRICT_DIRECTIVE",j7,new $Cc("'use strict' is unnecessary in goog.module files."));new Whb("JSC_DUPLICATE_MODULE",i7,new $Cc("Duplicate module: {0}"));new Whb("JSC_DUPLICATE_NAMESPACE",i7,new $Cc("Duplicate namespace: {0}"));new Whb(WWc,i7,new $Cc(XWc));new Whb("JSC_IMPORT_INLINING_SHADOWS_VAR", -i7,new $Cc('Inlining of reference to import "{1}" shadows var "{0}".'));new Whb("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",i7,new $Cc("Destructuring import only allowed for importing module with named exports.\nSee https://github.com/google/closure-compiler/wiki/goog.module-style"));new Whb("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",i7,new $Cc('Destructuring import reference to name "{0}" was not exported in module {1}'));new Whb("JSC_LOAD_MODULE_FN_MISSING_RETURN",i7,new $Cc("goog.loadModule function should end with 'return exports;'")); -on();new UB(lXc);R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),Jdc(),new Jhc((Nlc(),Ekc),ZWc)),new Jhc(olc,bXc));R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,mXc));o8=R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,_Wc));R8b(o8,new Jhc(olc,"declareLegacyNamespace"));R8b(Tdc(o8,false),new Jhc(olc,aXc));R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,nXc));R8b((Zd(PBc(ZWc,hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,$Wc));R8b((Zd(PBc(ZWc, -hCc(46))==-1,iWc,ZWc),new Jhc(Ekc,ZWc)),new Jhc(olc,cXc))}function JEb(){JEb=S0;xEb=U5(W5(Y5(Z5(X5($5(new _5,false),false),"es6RewriteModuleToCjs"),new SEb),(AVb(),AVb(),wVb)));U5(W5(Y5(Z5(X5($5(new _5,false),false),"es6RelativizeImportPaths"),new oFb),(null,wVb)));BEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"rewriteAsyncFunctions"),new KFb),wVb));CEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"rewriteAsyncIteration"),new QFb),wVb));IEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"rewriteObjectSpread"),new uFb), -wVb));FEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"rewriteCatchWithNoBinding"),new wFb),wVb));GEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"rewriteExponentialOperator"),new yFb),kVb));sEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"es6NormalizeShorthandProperties"),new AFb),kVb));wEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6ExtractClassExtends"),new CFb),kVb));pEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6ExtractClasses"),new EFb),uVb));vEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6RewriteClass"),new GFb), -uVb));tEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6RenameVariablesInParamLists"),new IFb),kVb));uEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6RewriteArrowFunction"),new WEb),uVb));U5(W5(Y5(Z5(X5($5(new _5,false),true),"RewritePolyfills"),new YEb),(null,wVb)));zEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6SplitVariableDeclarations"),new $Eb),(null,wVb)));oEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"es6ConvertSuperConstructorCalls"),new aFb),uVb));nEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"es6ConvertSuper"), -new cFb),kVb));rEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"es6InjectRuntimeLibraries"),new eFb),wVb));yEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"es6RewriteRestAndSpread"),new gFb),(null,wVb)));AEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"lateConvertEs6"),new iFb),(null,wVb)));qEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"es6ForOf"),new kFb),uVb));EEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6RewriteBlockScopedFunctionDeclaration"),new mFb),uVb));DEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"Es6RewriteBlockScopedDeclaration"), -new qFb),uVb));HEb=U5(W5(Y5(Z5(X5($5(new _5,false),true),"rewriteGenerators"),new sFb),uVb))}function Jyb(){Jyb=S0;Hyb=new Whb("JSC_POLYMER_DESCRIPTOR_NOT_VALID",(l7(),k7),new $Cc("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."));new Whb("JSC_POLYMER_INVALID_BEHAVIOR",i7,new $Cc("A Polymer behavior may not include an ''is'' property."));new Whb("JSC_POLYMER_MISSING_IS",i7,new $Cc("The class descriptor must include an ''is'' property.")); -new Whb("JSC_POLYMER_UNEXPECTED_PARAMS",i7,new $Cc("The class definition has too many arguments."));new Whb("JSC_POLYMER_MISSING_EXTERNS",i7,new $Cc("Missing Polymer externs."));new Whb("JSC_POLYMER_INVALID_PROPERTY",i7,new $Cc("Polymer property has an invalid or missing type."));new Whb("JSC_POLYMER_INVALID_EXTENDS",i7,new $Cc("Cannot extend HTML element ''{0}''. The element is probably either misspelled, or needs to be added to the list of known elements."));new Whb("JSC_POLYMER_INVALID_BEHAVIOR_ARRAY", -i7,new $Cc("The behaviors property must be an array literal."));Iyb=new Whb("JSC_POLYMER_UNQUALIFIED_BEHAVIOR",i7,new $Cc("Behaviors must be global names or qualified names that are declared as object literals or array literals of other valid Behaviors."));new Whb("JSC_POLYMER_UNANNOTATED_BEHAVIOR",i7,new $Cc("Behavior declarations must be annotated with @polymerBehavior."));new Whb("JSC_POLYMER_CLASS_PROPERTIES_INVALID",i7,new $Cc("The Polymer element class 'properties' getter does not return an object literal. Ignoring this definition.")); -new Whb("JSC_POLYMER_CLASS_PROPERTIES_NOT_STATIC",i7,new $Cc("The Polymer element class 'properties' getter is not declared static. Ignoring this definition."));new Whb("JSC_POLYMER2_UNNAMED",k7,new $Cc("Unable to locate a valid name for the Polymer element class.Ignoring this definition."));new Whb("JSC_POLYMER_MISPLACED_PROPERTY_JSDOC",k7,new $Cc("When a Polymer property is declared in the constructor, its JSDoc should only be in the constructor, not on the Polymer properties configuration.")); -new Whb("JSC_POLYMER_UNPARSABLE_STRING",i7,new $Cc("The Polymer computed property or complex observer string could not be parsed."))}function reb(){ceb();this.eb=(Cb(),Cb(),Bb);this.hc=(null,Bb);this.Ub=(null,Bb);this.Ab=(Xeb(),Veb);this.nc=(yOb(),xOb);this._=new _4((Pgb(),Lgb),(On(),On(),Nn));this._b=new RB(Pd(cYc));this.ub=(null,Nn);this.rb=(null,Nn);this.C=(null,Nn);this.xd=new mgb(yG(tG(aT,1),xUc,153,0,[]));new nGc;this.cd=(aDb(),$Cb);this.dd=(kDb(),iDb);this.ed=(null,Nn);this.N=aeb;this.O=new Fe(Pd(fSc("^((.*/)?google3/)?((^/)?(blaze|bazel)-out/[^/]+/bin/)?"))); -this.Qb=(null,Bb);this.jb=(Leb(),Heb);this.Tb=(rfb(),pfb);new ueb;this.gb=(Eeb(),Ceb);this.p=(Do(),Do(),Co);this.$b=(_Kb(),XKb);this.kc=new _A(eo(yG(tG(qZ,1),xUc,1,5,["browser",_Wc,"main"])));this.oc=(KKb(),JKb);this.ad=false;this.ab=(zeb(),web);this.q=false;this.w=false;this.v=false;this.A=false;this.r=(l7(),j7);this.o=i7;this.s=j7;this.u=j7;this.t=null;this.M=false;this.ob=null;this.tb=false;this.F=false;this.X=false;this.Db=false;this.Eb=(Mfb(),Lfb);this.Zb=-1;this.n=false;this.j=false;this.Hb= -false;this.Q=false;this.lc=false;this.S=false;this.Fb=false;this.Ib=false;this.Gb=false;this.bd=false;this.pb=false;this.Gc=false;this.qb=(Reb(),Oeb);this.Lc=false;this.Mc=false;this.Ic=false;this.Nc=false;this.Kc=false;this.K=false;this.H=false;this.e=(gB(),fB);this.d="";this.b=false;this.jc=false;this.P=false;this.Yc=false;this.vd=(wIb(),vIb);this.Bc=(Kzb(),Jzb);this.Sb=false;this.xb=false;this._c=false;this.tc=false;this.Oc=null;this.J=(Gfb(),Ffb);this.I=false;this.bb=false;this.db=false;this.f= -false;this.i=(d2(),b2);this.lb=false;this.Z=true;this.bc=new Ggb;this.Zc=false;this.$c=null;this.nd=null;this.md=null;this.Xb=null;this.Yb=false;this.D=false;this.uc=false;this.g=false;this.qc=null;this.pc=(Eyb(),Dyb);this.W=false;this.Rb=(afb(),$eb);this.Ec=false;this.Fc=false;this.kd=(null,fB);this.hd=(null,fB);this.gd=(null,fB);this.jd=(null,fB);this.V=null;this.$=new mMc;this.rd=($fb(),Yfb);this.sd=new mMc;this.ac=false;this.B=false;this.ic=(Afb(),yfb);this.wb=false;this.kb=false;this.T=null; -this.U=null;this.yb=(null,Co);this.Sc=(null,Nn);this.Uc="";this.Vc=(null,fB);this.Ac=new mMc;this.Mb=(null,Co);this.Pb=false;this.Ob=false;this.vc=false;this.yc=false;this.wc=false;this.Vb=false;this.rc=false;this.pd=(Ufb(),Rfb);this.L=false;this.hb=(bib(),_hb);this.mb=false;this.c=beb;this.ib=null;this.zc=false}function E$b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q;switch(V_b(a.g,0).e.f){case 45:return jZb(a);case 30:case 25:return Q$b(a);case 52:return vZb(a); -case 15:return QZb(a);case 10:return c=V_b(a.g,0).d.b,BYb(a,(S2b(),l1b)),d=B$b(a),BYb(a,P2b),BYb(a,Z1b),e=QYb(a,1),BYb(a,b1b),T$b(a,q2b)&&BYb(a,q2b),new L3b(new t7b(c,a.f),d,e);case 27:return f=V_b(a.g,0).d.b,BYb(a,(S2b(),P2b)),BYb(a,Z1b),g=QYb(a,1),BYb(a,b1b),h=B$b(a),new j7b(new t7b(f,a.f),g,h);case 13:return GZb(a);case 6:return i=V_b(a.g,0).d.b,BYb(a,(S2b(),g1b)),j=null,k=V_b(a.g,0).d.b.b>a.f.b,k||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b)||(j=(l=V_b(a.g,0).e,B1b==l||a.b.d&&nYb(l)||!a.b.c&&mYb(l)? -DYb(a):null)),GYb(a),new H3b(new t7b(i,a.f),j);case 3:return m=V_b(a.g,0).d.b,BYb(a,(S2b(),V0b)),n=null,o=V_b(a.g,0).d.b.b>a.f.b,o||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b)||(n=(p=V_b(a.g,0).e,B1b==p||a.b.d&&nYb(p)||!a.b.c&&mYb(p)?DYb(a):null)),GYb(a),new i3b(new t7b(m,a.f),n);case 19:return q=V_b(a.g,0).d.b,BYb(a,(S2b(),n2b)),r=null,s=V_b(a.g,0).d.b.b>a.f.b,s||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b)||(r=QYb(a,1)),GYb(a),new R6b(new t7b(q,a.f),r);case 28:return t=V_b(a.g,0).d.b,BYb(a,(S2b(),Q2b)), -BYb(a,Z1b),u=QYb(a,1),BYb(a,b1b),v=B$b(a),new k7b(new t7b(t,a.f),u,v);case 20:return w=V_b(a.g,0).d.b,BYb(a,(S2b(),A2b)),BYb(a,Z1b),A=QYb(a,1),BYb(a,b1b),BYb(a,Y1b),B=lZb(a),BYb(a,a1b),new U6b(new t7b(w,a.f),A,B);case 22:return C=V_b(a.g,0).d.b,BYb(a,(S2b(),F2b)),D=null,F=V_b(a.g,0).d.b.b>a.f.b,F||S$b(a,0,q2b)||S$b(a,0,a1b)||S$b(a,0,o1b)?l_b(a,"semicolon/newline not allowed after 'throw'",yG(tG(qZ,1),xUc,1,5,[])):D=QYb(a,1),GYb(a),new Z6b(new t7b(C,a.f),D);case 23:return G=V_b(a.g,0).d.b,BYb(a,(S2b(), -I2b)),H=jZb(a),I=null,T$b(a,Z0b)&&(I=mZb(a)),J=null,T$b(a,x1b)&&(J=(P=V_b(a.g,0).d.b,BYb(a,x1b),Q=jZb(a),new S3b(new t7b(P,a.f),Q))),!I&&!J&&l_b(a,"'catch' or 'finally' expected.",yG(tG(qZ,1),xUc,1,5,[])),new $6b(new t7b(G,a.f),H,I,J);case 7:return K=V_b(a.g,0).d.b,BYb(a,(S2b(),h1b)),GYb(a),new I3b(new t7b(K,a.f));default:{b=V_b(a.g,0).e;if(((S2b(),B1b)==b||a.b.d&&nYb(b)||!a.b.c&&mYb(b))&&S$b(a,1,d1b))return L=V_b(a.g,0).d.b,M=CYb(a),BYb(a,d1b),new C4b(new t7b(L,a.f),M,B$b(a))}return N=V_b(a.g,0).d.b, -O=QYb(a,1),GYb(a),new R3b(new t7b(N,a.f),O)}}function Jkb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab;if(lDc(a.c.c)==0)return;for(u=(M=(new bEc(a.c)).a.Je().Xd(),new hEc(M));u.a.Jd();){t=(h=u.a.Kd(),h.ff());v=yNc(a.c,t);G=qkb(a.f);for(Y=(N=(new bEc(v.b.a)).a.Je().Xd(),new hEc(N));Y.a.Jd();){W=(g=Y.a.Kd(),g.ff());A=yNc(a.d,W);Mdc(G,m9b(A,Ikb(a,v,W.c,A)))}V=okb(a.f,Hkb(a,v),G);F=hfc(K8b(Hkb(a,v),qkb(a.f),(Nlc(),Hlc)),t);mkb(a.f,F,t);if(t.n== -Pjc){p=t.c;Mec(t,p,new kfc(Djc));if(p.n!=Djc){uub();!!p&&(p.n==Hlc||p.n==wkc||p.n==rjc)||(p=gfc((Vd(_8b(p),p),new mfc(Njc,p)),p));mkb(a.f,p,t)}o=Xdc(t,2);if(o.n==Djc)Mec(t,o,jfc(V,t));else{P=new kfc(Djc);Mec(t,o,P);Mec(t,P,jfc(pkb(a.f,V,o),t))}}else{r=v.a;s=Tub(t);if(Z=t.g,$=Z.n==rkc?Z.c.Di():null,ab=new Nkb(r,$),mub(a.f.a,Tub(t),ab),ab.d){q=gfc((c=new kfc(ejc),c),s);Qdc(q,Iec(s));Ndc(s,gfc(Y8b(gfc((Ud(r.length!=0),Jdc(),new Jhc(skc,r)),s),q),s))}Mdc(s,jfc((Vd(_8b(V),V),new mfc(Njc,V)),t))}a.f.a.Vg(t); -for(X=(L=(new bEc(v.b.a)).a.Je().Xd(),new hEc(L));X.a.Jd();){W=(g=X.a.Kd(),g.ff());A=yNc(a.d,W);for(R=Vf(a.e,W).Xd();R.Jd();){Q=R.Kd();Vd(t.n!=Sjc,t);if(t.n==Rjc&&t.c==Q.g){Vd(Q==W.c,Q);S=Q.g;Vd((uub(),!!S&&(S.n==Hlc||S.n==wkc||S.n==rjc)),S);Vd(Q.n==Ekc,Q);w=Q.zi(false);a.f.d&&Uec(w,rkb(a.f,(xtc(),otc)));Ndc(t.c?t.c.i:null,jfc(N8b(okb(a.f,Ikb(a,v,Q,A),w)),Q))}else{if(Mvb(Q.g)){f=Q.g;k=f.g;skb(a.f,f,k);f=Q.g;if(Q.c){B=nkb(a.f,Q);b=okb(a.f,B,Jec(Q));wkb(f,Q,f);xkb(f,k,Q,f);Tec(b,bec(f,(thc(),Zgc))); -T=jfc((Vd(_8b(b),b),new mfc(Njc,b)),f);Mec(k,f,T);Q=B}else Hec(k,f);sMc(a.f.b,f);a.f.a.Vg(k)}Q.g.n==hjc&&Q.g.c==Q&&Eec(Q.g,(Jdc(),rdc),false);e=Kub(Q);Nec(Q,Ikb(a,v,Q,A));!!e&&a.f.a.Ug(e)}}}}for(j=Hw(a.b).Xd();j.Jd();){i=j.Kd();U=new kfc((Nlc(),glc));K=Vf(a.b,i);H=vG(BX,kWc,7,K.$d(),0,1);I=vG(BX,kWc,7,K.$d(),0,1);l=0;J=vG(hY,xUc,23,K.$d(),0,1);for(D=K.Xd();D.Jd();){C=D.Kd();O=Hkb(a,C);H[l]=O;a.f.d&&(J[l]=Pd(O.d));I[l]=Hkb(a,C);++l}m=P8b((Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc(Ekc,"")),i9b(H), -F8b(U));if(a.f.d){n=Wqc(drc(brc(grc(arc((amc(),new krc(a.f.a.Mg())),""),m),Ltc(a.f.a.Mg(),false,J)),i.d));m.d=n}a.f.a.Ug(m);d=H8b(m,I);a.f.d&&Uec(d,i.d);Eec(d,rdc,true);uub();i.n==Tjc&&qvb(i.g)&&i.n==Tjc&&Tvb(i.c)?T=jfc(K8b(c9b(i.c.Di()),d,Hlc),i):T=jfc(d,i);Mec(i.g,i,T);Ndc(U,i);a.f.a.Vg(T)}}function xtc(){xtc=S0;msc=new ytc(R0c,0);lsc=new ytc("ARRAY_FUNCTION_TYPE",1);psc=new ytc("ASYNC_ITERABLE_FUNCTION_TYPE",2);qsc=new ytc("ASYNC_ITERABLE_TYPE",3);rsc=new ytc("ASYNC_ITERATOR_FUNCTION_TYPE",4); -ssc=new ytc("ASYNC_ITERATOR_TYPE",5);nsc=new ytc("ASYNC_GENERATOR_FUNCTION_TYPE",6);osc=new ytc("ASYNC_GENERATOR_TYPE",7);vsc=new ytc(l1c,8);usc=new ytc("BOOLEAN_OBJECT_TYPE",9);tsc=new ytc("BOOLEAN_OBJECT_FUNCTION_TYPE",10);wsc=new ytc("CHECKED_UNKNOWN_TYPE",11);ysc=new ytc("DATE_TYPE",12);xsc=new ytc("DATE_FUNCTION_TYPE",13);zsc=new ytc("FUNCTION_FUNCTION_TYPE",14);Asc=new ytc("FUNCTION_PROTOTYPE",15);Bsc=new ytc("GENERATOR_FUNCTION_TYPE",16);Csc=new ytc("GENERATOR_TYPE",17);Lsc=new ytc("I_ITERABLE_RESULT_FUNCTION_TYPE", -18);Msc=new ytc("I_ITERABLE_RESULT_TYPE",19);Fsc=new ytc("ITERABLE_FUNCTION_TYPE",20);Gsc=new ytc("ITERABLE_TYPE",21);Hsc=new ytc("ITERATOR_FUNCTION_TYPE",22);Isc=new ytc("ITERATOR_TYPE",23);Jsc=new ytc("I_ARRAY_LIKE_FUNCTION_TYPE",24);Ksc=new ytc("I_ARRAY_LIKE_TYPE",25);Psc=new ytc("I_TEMPLATE_ARRAY_TYPE",26);Nsc=new ytc("I_OBJECT_FUNCTION_TYPE",27);Osc=new ytc("I_OBJECT_TYPE",28);Qsc=new ytc("I_THENABLE_FUNCTION_TYPE",29);Rsc=new ytc("I_THENABLE_TYPE",30);Wsc=new ytc("NULL_TYPE",31);dtc=new ytc(m1c, -32);Zsc=new ytc("NUMBER_OBJECT_TYPE",33);Ysc=new ytc("NUMBER_OBJECT_FUNCTION_TYPE",34);itc=new ytc("PROMISE_TYPE",35);htc=new ytc("PROMISE_FUNCTION_TYPE",36);gtc=new ytc("OBJECT_TYPE",37);etc=new ytc("OBJECT_FUNCTION_TYPE",38);ftc=new ytc("OBJECT_PROTOTYPE",39);ktc=new ytc("REGEXP_TYPE",40);jtc=new ytc("REGEXP_FUNCTION_TYPE",41);mtc=new ytc("STRING_OBJECT_TYPE",42);ltc=new ytc("STRING_OBJECT_FUNCTION_TYPE",43);otc=new ytc(k1c,44);qtc=new ytc("SYMBOL_OBJECT_TYPE",45);ptc=new ytc("SYMBOL_OBJECT_FUNCTION_TYPE", -46);rtc=new ytc("SYMBOL_TYPE",47);stc=new ytc("THENABLE_TYPE",48);vtc=new ytc("UNKNOWN_TYPE",49);wtc=new ytc("VOID_TYPE",50);ksc=new ytc("ALL_TYPE",51);Vsc=new ytc("NO_TYPE",52);Tsc=new ytc("NO_OBJECT_TYPE",53);Usc=new ytc("NO_RESOLVED_TYPE",54);Dsc=new ytc("GLOBAL_THIS",55);ttc=new ytc("U2U_CONSTRUCTOR_TYPE",56);utc=new ytc("U2U_FUNCTION_TYPE",57);Ssc=new ytc("LEAST_FUNCTION_TYPE",58);Esc=new ytc("GREATEST_FUNCTION_TYPE",59);Xsc=new ytc("NULL_VOID",60);_sc=new ytc("NUMBER_STRING_BOOLEAN",61);atc= -new ytc("NUMBER_STRING_BOOLEAN_SYMBOL",62);ctc=new ytc("NUMBER_SYMBOL",63);ntc=new ytc("STRING_SYMBOL",64);$sc=new ytc("NUMBER_STRING",65);btc=new ytc("NUMBER_STRING_SYMBOL",66)}function cOb(){cOb=S0;ANb=new dOb("NG_INJECT",0);ZMb=new dOb("ABSTRACT",1);$Mb=new dOb("AUTHOR",2);_Mb=new dOb("CLOSURE_PRIMITIVE",3);aNb=new dOb("CONSTANT",4);bNb=new dOb($$c,5);cNb=new dOb("CUSTOM_ELEMENT",6);PNb=new dOb("RECORD",7);dNb=new dOb("DEFINE",8);eNb=new dOb("DEPRECATED",9);fNb=new dOb("DESC",10);gNb=new dOb("DICT", -11);hNb=new dOb(_$c,12);kNb=new dOb(a_c,13);lNb=new dOb("EXTERNS",14);iNb=new dOb(b_c,15);jNb=new dOb("EXPOSE",16);mNb=new dOb("FILE_OVERVIEW",17);nNb=new dOb("FINAL",18);oNb=new dOb("HIDDEN",19);pNb=new dOb("IDGENERATOR",20);qNb=new dOb(c_c,21);rNb=new dOb("IMPLICIT_CAST",22);sNb=new dOb("INHERIT_DOC",23);tNb=new dOb(d_c,24);uNb=new dOb("LENDS",25);vNb=new dOb("LICENSE",26);wNb=new dOb("MEANING",27);xNb=new dOb("MIXIN_CLASS",28);yNb=new dOb("MIXIN_FUNCTION",29);zNb=new dOb("MODIFIES",30);CNb=new dOb("NO_COLLAPSE", -31);DNb=new dOb("NO_COMPILE",32);ENb=new dOb("NO_INLINE",33);FNb=new dOb("NO_SIDE_EFFECTS",34);BNb=new dOb("NOT_IMPLEMENTED",35);GNb=new dOb("OVERRIDE",36);HNb=new dOb(e_c,37);INb=new dOb("PARAM",38);JNb=new dOb("POLYMER",39);KNb=new dOb("POLYMER_BEHAVIOR",40);LNb=new dOb("PRESERVE",41);MNb=new dOb(f_c,42);NNb=new dOb(g_c,43);ONb=new dOb(h_c,44);QNb=new dOb(i_c,45);RNb=new dOb("SEE",46);SNb=new dOb("STRUCT",47);TNb=new dOb("SUPPRESS",48);UNb=new dOb("TEMPLATE",49);VNb=new dOb(WVc,50);WNb=new dOb("THROWS", -51);XNb=new dOb(j_c,52);YNb=new dOb("TYPEDEF",53);ZNb=new dOb("TYPE_SUMMARY",54);$Nb=new dOb("UNRESTRICTED",55);_Nb=new dOb("VERSION",56);aOb=new dOb("WIZACTION",57);bOb=Cs(new Fs,"ngInject",ANb).Wf("abstract",ZMb).Wf("argument",INb).Wf("author",$Mb).Wf("closurePrimitive",_Mb).Wf(GYc,aNb).Wf("constant",aNb).Wf(nWc,bNb).Wf("customElement",cNb).Wf("copyright",vNb).Wf("define",dNb).Wf(BYc,eNb).Wf("desc",fNb).Wf("dict",gNb).Wf(LXc,hNb).Wf(tXc,iNb).Wf("expose",jNb).Wf(zXc,kNb).Wf("externs",lNb).Wf("fileoverview", -mNb).Wf("final",nNb).Wf("hidden",oNb).Wf("idGenerator",pNb).Wf(AXc,qNb).Wf("implicitCast",rNb).Wf("inheritDoc",sNb).Wf(KXc,tNb).Wf("record",PNb).Wf("lends",uNb).Wf("license",vNb).Wf("meaning",wNb).Wf("mixinClass",xNb).Wf("mixinFunction",yNb).Wf("modifies",zNb).Wf("nocollapse",CNb).Wf("nocompile",DNb).Wf("noinline",ENb).Wf("nosideeffects",FNb).Wf("override",GNb).Wf("owner",$Mb).Wf(k_c,HNb).Wf("param",INb).Wf("polymer",JNb).Wf(KYc,KNb).Wf("preserve",LNb).Wf(l_c,MNb).Wf(m_c,NNb).Wf(n_c,ONb).Wf(pXc,QNb).Wf("returns", -QNb).Wf("see",RNb).Wf("struct",SNb).Wf("suppress",TNb).Wf("template",UNb).Wf(XVc,VNb).Wf(d$c,WNb).Wf(MXc,XNb).Wf("typedef",YNb).Wf("typeSummary",ZNb).Wf("unrestricted",$Nb).Wf(zVc,_Nb).Wf("wizaction",aOb).Vf()}function M4(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M;switch(b.n.f){case 83:x4((Nlc(),rkc),b);i=Plc(b.n);i!=-1&&(j=Ydc(b),i!=j&&Z4(AWc+i+BWc+j,b));m4(b.c);M4(a,b.c?b.c.i:null,false);return;case 82:J3(a,b);return;case 65:c?a4(a,b,true):(x4((Nlc(),Tjc),b),k=Plc(b.n), -k!=-1&&(l=Ydc(b),k!=l&&Z4(AWc+k+BWc+l,b)),q4(b.c),G4(a,b.c.f),J3(a,b.c?b.c.i:null),b4(a,b),b.g.n==ejc&&(!b.g?null:b.g.g).n!=Tjc&&_3(a,(aXb(),bWb),b),undefined);return;case 77:x4((Nlc(),Llc),b);m=Plc(b.n);m!=-1&&(n=Ydc(b),m!=n&&Z4(AWc+m+BWc+n,b));$3(a,b.c);J3(a,b.c?b.c.i:null);return;case 72:x4((Nlc(),Pjc),b);o=Ydc(b);4!=o&&Z4("Expected 4 children, but was "+o,b);W4(a,b.c);F4(a,b.c.f);F4(a,Xdc(b,2));J3(a,b.c?b.c.i:null);return;case 73:x4((Nlc(),Rjc),b);p=Plc(b.n);p!=-1&&(q=Ydc(b),p!=q&&Z4(AWc+p+BWc+ -q,b));V4(a,b.c);$3(a,b.c.f);J3(a,b.c?b.c.i:null);return;case 101:_3(a,(aXb(),qWb),b);x4((Nlc(),Sjc),b);r=Plc(b.n);r!=-1&&(s=Ydc(b),r!=s&&Z4(AWc+r+BWc+s,b));V4(a,b.c);$3(a,b.c.f);J3(a,b.c?b.c.i:null);return;case 102:_3(a,(aXb(),pWb),b);x4((Nlc(),Qjc),b);t=Plc(b.n);t!=-1&&(u=Ydc(b),t!=u&&Z4(AWc+t+BWc+u,b));V4(a,b.c);$3(a,b.c.f);J3(a,b.c?b.c.i:null);return;case 70:x4((Nlc(),Klc),b);v=Plc(b.n);v!=-1&&(w=Ydc(b),v!=w&&Z4(AWc+v+BWc+w,b));$3(a,b.c);J3(a,b.c?b.c.i:null);return;case 71:x4((Nlc(),Bjc),b);A= -Plc(b.n);A!=-1&&(B=Ydc(b),A!=B&&Z4(AWc+A+BWc+B,b));J3(a,b.c);$3(a,b.c?b.c.i:null);return;case 67:P4(a,b);return;case 66:x4((Nlc(),bkc),b);C=Ydc(b);(C<2||C>3)&&Z4(MWc+C,b);$3(a,b.c);J3(a,b.c.f);jec(b)&&J3(a,b.c?b.c.i:null);return;case 88:for(e=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();e.Jd();){d=e.Kd();d.n==(Nlc(),zjc)?(g=Ydc(d),2!=g&&Z4(zWc+g,d)):(h=Ydc(d),1!=h&&Z4(EWc+h,d))}case 76:case 100:s4(a,b.n,b);return;case 84:x4((Nlc(),Njc),b);D=Plc(b.n);D!=-1&&(F=Ydc(b),D!=F&&Z4(AWc+D+BWc+F,b));$3(a,b.c); -return;case 0:x4((Nlc(),glc),b);n4(b);!!b.c&&$3(a,b.c);return;case 39:x4((Nlc(),zlc),b);G=Plc(b.n);G!=-1&&(H=Ydc(b),G!=H&&Z4(AWc+G+BWc+H,b));$3(a,b.c);return;case 44:T4(a,b);return;case 74:x4((Nlc(),gjc),b);n4(b);!!b.c&&m4(b.c);return;case 75:x4((Nlc(),sjc),b);n4(b);!!b.c&&m4(b.c);return;case 80:case 89:f=Ydc(b);0!=f&&Z4(yWc+f,b);return;case 96:N3(a,b,c);q4(b.c);return;case 105:e4(a,b);return;case 109:X3(a,b,c);return;case 153:_3(a,(aXb(),xWb),b);x4((Nlc(),mkc),b);I=Plc(b.n);I!=-1&&(J=Ydc(b),I!=J&& -Z4(AWc+I+BWc+J,b));K=b.c;q4(K);L=K.f;L.n==Djc?(M=Ydc(L),0!=M&&Z4(yWc+M,L)):i4(L);k4(a,b.c?b.c.i:null);return;case 156:V3(b);return;case 159:U4(a,b);return;case 160:_3(a,(aXb(),WVb),b);x4((Nlc(),vjc),b);F3(a,b.c);return;case 164:t4(a,b,c);return;default:Z4("Expected statement but was "+b.n+".",b)}}function bCb(){bCb=S0;SBb=new Whb("JSC_PARSE_ERROR",(l7(),i7),new $Cc(B$c));XBb=new Whb("JSC_TYPE_PARSE_ERROR",k7,new $Cc(pYc));ZBb=new Whb("JSC_UNRECOGNIZED_TYPE_ERROR",k7,new $Cc(pYc));OBb=new Whb("JSC_JSDOC_MISSING_BRACES_WARNING", -j7,new $Cc(pYc));PBb=new Whb("JSC_JSDOC_MISSING_TYPE_WARNING",j7,new $Cc(pYc));NBb=new Whb("JSC_JSDOC_IMPORT_TYPE_WARNING",j7,new $Cc(pYc));VBb=new Whb("JSC_TOO_MANY_TEMPLATE_PARAMS",j7,new $Cc(pYc));WBb=new Whb("JSC_TRAILING_COMMA",i7,new $Cc("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."));IBb=new Whb("JSC_DUPLICATE_PARAM",i7,new $Cc(B$c));YBb=new Whb("JSC_UNNECESSARY_ESCAPE", -j7,new $Cc(B$c));MBb=new Whb("JSC_INVALID_PARAM",k7,new $Cc(B$c));GBb=new Whb("JSC_BAD_JSDOC_ANNOTATION",k7,new $Cc(B$c));KBb=new Whb("JSC_INVALID_ES3_PROP_NAME",k7,new $Cc(C$c));TBb=new Whb("JSC_PARSE_TREE_TOO_DEEP",i7,new $Cc("Parse tree too deep."));LBb=new Whb("JSC_INVALID_OCTAL_LITERAL",k7,new $Cc("This style of octal literal is not supported in strict mode."));UBb=new Whb("JSC_STRING_CONTINUATION",k7,new $Cc(pYc));QBb=new Whb("JSC_LANGUAGE_FEATURE",i7,new $Cc("{0}."));_Bb=new Whb("JSC_UNSUPPORTED_LANGUAGE_FEATURE", -i7,new $Cc("{0}."));JBb=new Whb("JSC_ES6_TYPED",i7,new $Cc("{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features."));RBb=new Whb("JSC_MISPLACED_TYPE_SYNTAX",i7,new $Cc(D$c));$Bb=new Whb("JSC_UNSUPPORTED_BOUNDED_GENERIC_TYPES",i7,new $Cc(E$c));HBb=new Whb("JSC_BOUNDED_GENERIC_TYPE_ERROR",i7,new $Cc("Bounded generic type error. {0} assigned to template type {1} is not a subtype of bound {2}"));aCb=(Do(),Cs(new Fs,fSc(F$c),WBb)).Wf(eCb('Duplicate parameter name "{0}"'),IBb).Wf(fSc("Unnecessary escape:.*"), -YBb).Wf(fSc("^invalid param name.*"),MBb).Wf(eCb(tic(G$c,yG(tG(qZ,1),xUc,1,5,[]))),GBb).Wf(fSc("^Keywords and reserved words are not allowed as unquoted property.*"),KBb).Wf(fSc("^Too many template parameters"),VBb).Wf(fSc(".*Type annotations should have curly braces.*"),OBb).Wf(fSc("Missing type declaration\\."),PBb).Wf(fSc(".*Unknown type.*"),ZBb).Wf(fSc(".*Unknown type.*\n.*"),ZBb).Wf(fSc("^Bad type annotation. Import in typedef.*"),NBb).Wf(fSc("^Bad type annotation.*"),XBb).Wf(fSc("Too deep recursion while parsing"), -TBb).Wf(fSc("^Octal .*literal.*"),LBb).Wf(fSc("^String continuations.*"),UBb).Wf(fSc("^This language feature is only supported for .*"),QBb).Wf(fSc("^This language feature is not currently supported by the internalReporter: .*"),_Bb).Wf(fSc("^type syntax is only supported in ES6 typed mode.*"),JBb).Wf(fSc("^Can only have JSDoc or inline type.*"),RBb).Wf(fSc(E$c),$Bb).Wf(fSc("^Bounded generic type error.*"),HBb).Vf()}function _yb(){_yb=S0;new Whb("JSC_NULL_ARGUMENT_ERROR",(l7(),i7),new $Cc('method "{0}" called without an argument')); -new Whb("JSC_EXPECTED_OBJECTLIT_ERROR",i7,new $Cc('method "{0}" expected an object literal argument'));new Whb("JSC_EXPECTED_STRING_ERROR",i7,new $Cc('method "{0}" expected a string argument'));new Whb("JSC_INVALID_ARGUMENT_ERROR",i7,new $Cc('method "{0}" called with invalid argument'));new Whb("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",i7,new $Cc("Invalid CSS name map style {0}"));new Whb("JSC_TOO_MANY_ARGUMENTS_ERROR",i7,new $Cc('method "{0}" called with more than one argument'));new Whb("JSC_DUPLICATE_NAMESPACE_ERROR", -i7,new $Cc('namespace "{0}" cannot be provided twice\nOriginally provided at {1}'));new Whb("JSC_WEAK_NAMESPACE_TYPE",k7,new $Cc("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"));new Whb("JSC_CLASS_NAMESPACE_ERROR",i7,new $Cc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new Whb("JSC_FUNCTION_NAMESPACE_ERROR",i7,new $Cc('"{0}" cannot be both provided and declared as a function')); -Zyb=new Whb("JSC_MISSING_PROVIDE_ERROR",i7,new $Cc('required "{0}" namespace never provided'));Yyb=new Whb(WWc,i7,new $Cc('required "{0}" namespace not provided yet'));Xyb=new Whb("JSC_INVALID_PROVIDE_ERROR",i7,new $Cc('"{0}" is not a valid {1} qualified name'));new Whb("JSC_INVALID_DEFINE_NAME_ERROR",i7,new $Cc('"{0}" is not a valid JS identifier name'));new Whb("JSC_INVALID_MISSING_DEFINE_ANNOTATION",i7,new $Cc("Missing @define annotation"));new Whb("JSC_XMODULE_REQUIRE_ERROR",k7,new $Cc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?')); -new Whb("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",i7,new $Cc("goog.setCssNameMapping only takes an object literal with string values"));new Whb("INVALID_CSS_RENAMING_MAP",k7,new $Cc("Invalid entries in css renaming map: {0}"));new Whb("JSC_GOOG_BASE_CLASS_ERROR",i7,new $Cc("incorrect use of goog.base: {0}"));new Whb("JSC_BASE_CLASS_ERROR",i7,new $Cc("incorrect use of {0}.base: {1}"));new Whb("JSC_CLOSURE_DEFINES_ERROR",i7,new $Cc("Invalid CLOSURE_DEFINES definition"));new Whb("JSC_INVALID_FORWARD_DECLARE", -i7,new $Cc("Malformed goog.forwardDeclaration"));$yb=new Whb("JSC_USE_OF_GOOG_BASE",j7,new $Cc("goog.base is not compatible with ES5 strict mode.\nPlease use an alternative.\nFor EcmaScript classes use the super keyword. For traditional Closure classes,\nuse the class specific base method instead. For example, for the constructor MyClass:\n MyClass.base(this, ''constructor'')"));Vyb=new Whb(n$c,i7,new $Cc("Closure primitive method {0} may not be aliased"));Wyb=new Whb(n$c,i7,new $Cc("Closure primitive method {0} may not be aliased outside a module (ES module, CommonJS module, or goog.module)"))} -function Z7(){Z7=S0;new Whb("JSC_AT_EXPORT_IN_GOOG_MODULE",(l7(),i7),new $Cc("@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."));Q7=new Whb("JSC_AT_EXPORT_IN_NON_LEGACY_GOOG_MODULE",i7,new $Cc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead."));S7=new Whb("JSC_GOOG_MODULE_IN_NON_MODULE",i7,new $Cc("goog.module() call must be the first statement in a module.")); -R7=new Whb("JSC_DECLARE_LEGACY_NAMESPACE_IN_NON_MODULE",i7,new $Cc("goog.module.declareLegacyNamespace may only be called in a goog.module."));new Whb("JSC_GOOG_MODULE_REFERENCES_THIS",i7,new $Cc("The body of a goog.module cannot reference 'this'."));new Whb("JSC_GOOG_MODULE_USES_THROW",i7,new $Cc("The body of a goog.module cannot use 'throw'."));new Whb("JSC_DUPLICATE_NAME_SHORT_REQUIRE",i7,new $Cc("Found multiple goog.require statements importing identifier ''{0}''."));new Whb("JSC_INVALID_DESTRUCTURING_REQUIRE", -i7,new $Cc("Destructuring goog.require must be a simple object pattern."));W7=new Whb("JSC_LET_GOOG_REQUIRE",j7,new $Cc(YWc));new Whb("JSC_MULTIPLE_MODULES_IN_FILE",i7,new $Cc("There should only be a single goog.module() statement per file."));new Whb("JSC_ONE_REQUIRE_PER_DECLARATION",i7,new $Cc("There may only be one goog.require() per var/let/const declaration."));T7=new Whb("JSC_INCORRECT_SHORTNAME_CAPITALIZATION",j7,new $Cc("The capitalization of short name {0} is incorrect; it should be {1}.")); -new Whb("JSC_EXPORT_NOT_AT_MODULE_SCOPE",i7,new $Cc("Exports must be at the top-level of a module"));new Whb("JSC_EXPORT_NOT_A_STATEMENT",i7,new $Cc("Exports should be a statement."));new Whb("JSC_EXPORT_REPEATED_ERROR",i7,new $Cc("Name cannot be exported multiple times. Previous export on line {0}."));new Whb("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",i7,new $Cc("References to the global name of a module are not allowed. Perhaps you meant exports?"));X7=new Whb("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME", -j7,new $Cc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));Y7=new Whb("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",j7,new $Cc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));U7=new Whb("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",j7,new $Cc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead.")); -V7=new Whb("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",j7,new $Cc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead."));new Whb("JSC_REQUIRE_NOT_AT_TOP_LEVEL",i7,new $Cc("goog.require() must be called at file scope."))}function Rlc(a){var b,c,d,e;d=false;e=a;f:{b=null;g:switch(e.length){case 2:c=e.charCodeAt(1);if(c==102){if(e.charCodeAt(0)==105){d=true;break f}}else if(c==110){if(e.charCodeAt(0)==105){d=true;break f}}else if(c== -111)if(e.charCodeAt(0)==100){d=true;break f}break g;case 3:switch(e.charCodeAt(0)){case 102:{if(e.charCodeAt(2)==114&&e.charCodeAt(1)==111){d=true;break f}}break g;case 105:{if(e.charCodeAt(2)==116&&e.charCodeAt(1)==110){d=true;break f}}break g;case 110:{if(e.charCodeAt(2)==119&&e.charCodeAt(1)==101){d=true;break f}}break g;case 116:{if(e.charCodeAt(2)==121&&e.charCodeAt(1)==114){d=true;break f}}break g;case 118:{if(e.charCodeAt(2)==114&&e.charCodeAt(1)==97){d=true;break f}}break g}break g;case 4:switch(e.charCodeAt(0)){case 98:b= -"byte";d=true;break g;case 99:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==115&&e.charCodeAt(1)==97){d=true;break f}}else if(c==114)if(e.charCodeAt(2)==97&&e.charCodeAt(1)==104){d=true;break f}break g;case 101:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==115&&e.charCodeAt(1)==108){d=true;break f}}else if(c==109)if(e.charCodeAt(2)==117&&e.charCodeAt(1)==110){d=true;break f}break g;case 103:b="goto";d=true;break g;case 108:b="long";d=true;break g;case 110:b=uUc;d=true;break g;case 116:c=e.charCodeAt(3); -if(c==101){if(e.charCodeAt(2)==117&&e.charCodeAt(1)==114){d=true;break f}}else if(c==115)if(e.charCodeAt(2)==105&&e.charCodeAt(1)==104){d=true;break f}break g;case 118:b=JXc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=yXc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=BXc;d=true;break g;case 108:b=EXc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=GYc;d=true}else if(c==102){b="final";d=true}break g;case 111:c=e.charCodeAt(0); -if(c==102){b="float";d=true}else if(c==115){b="short";d=true}break g;case 112:b=VVc;d=true;break g;case 114:b="throw";d=true;break g;case 116:b="catch";d=true;break g}break g;case 6:switch(e.charCodeAt(1)){case 97:b="native";d=true;break g;case 101:c=e.charCodeAt(0);if(c==100){b=p0c;d=true}else if(c==114){b=pXc;d=true}break g;case 104:b=d$c;d=true;break g;case 109:b=wXc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=p_c;d=true;break g;case 117:b=n_c;d=true;break g;case 119:b="switch"; -d=true;break g;case 120:b=tXc;d=true;break g;case 121:b=i$c;d=true;break g}break g;case 7:switch(e.charCodeAt(1)){case 97:b=k_c;d=true;break g;case 101:b=uXc;d=true;break g;case 105:b=oXc;d=true;break g;case 111:b=gUc;d=true;break g;case 114:b=l_c;d=true;break g;case 120:b=zXc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=GXc;d=true;break g;case 100:b=IXc;d=true;break g;case 102:b=iUc;d=true;break g;case 118:b="volatile";d=true;break g}break g; -case 9:c=e.charCodeAt(0);if(c==105){b=KXc;d=true}else if(c==112){b=m_c;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=AXc;d=true}else if(c==110){b=j$c;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!MBc(b,e))return false}return d}function aXb(){aXb=S0;mWb=new bXb("ES3_KEYWORDS_AS_IDENTIFIERS",0,"ES3 keywords as identifiers",1);tWb=new bXb("GETTER",1,"getters",1);yWb=new bXb("KEYWORDS_AS_PROPERTIES",2,"reserved words as properties", -1);SWb=new bXb("SETTER",3,"setters",1);UWb=new bXb("STRING_CONTINUATION",4,"string continuation",1);XWb=new bXb("TRAILING_COMMA",5,"trailing comma",1);YVb=new bXb("ARRAY_PATTERN_REST",6,"array pattern rest",2);ZVb=new bXb("ARROW_FUNCTIONS",7,"arrow function",2);aWb=new bXb("BINARY_LITERALS",8,"binary literal",2);bWb=new bXb("BLOCK_SCOPED_FUNCTION_DECLARATION",9,"block-scoped function declaration",2);dWb=new bXb("CLASSES",10,yXc,2);eWb=new bXb("CLASS_EXTENDS",11,"class extends",2);fWb=new bXb("CLASS_GETTER_SETTER", -12,"class getters/setters",2);gWb=new bXb("COMPUTED_PROPERTIES",13,"computed property",2);iWb=new bXb("CONST_DECLARATIONS",14,"const declaration",2);jWb=new bXb("DEFAULT_PARAMETERS",15,"default parameter",2);XVb=new bXb("ARRAY_DESTRUCTURING",16,"array destructuring",2);FWb=new bXb("OBJECT_DESTRUCTURING",17,"object destructuring",2);oWb=new bXb("EXTENDED_OBJECT_LITERALS",18,"extended object literal",2);qWb=new bXb("FOR_OF",19,"for-of loop",2);rWb=new bXb("GENERATORS",20,"generator",2);zWb=new bXb("LET_DECLARATIONS", -21,"let declaration",2);AWb=new bXb("MEMBER_DECLARATIONS",22,"member declaration",2);EWb=new bXb(c0c,23,CXc,2);IWb=new bXb("OCTAL_LITERALS",24,"octal literal",2);MWb=new bXb("REGEXP_FLAG_U",25,"RegExp flag 'u'",2);NWb=new bXb("REGEXP_FLAG_Y",26,"RegExp flag 'y'",2);RWb=new bXb("REST_PARAMETERS",27,"rest parameter",2);TWb=new bXb("SPREAD_EXPRESSIONS",28,"spread expression",2);VWb=new bXb(UVc,29,VVc,2);WWb=new bXb("TEMPLATE_LITERALS",30,"template literal",2);CWb=new bXb("MODULES",31,"modules",2);nWb= -new bXb("EXPONENT_OP",32,"exponent operator (**)",3);$Vb=new bXb("ASYNC_FUNCTIONS",33,NXc,4);YWb=new bXb("TRAILING_COMMA_IN_PARAM_LIST",34,"trailing comma in param list",4);GWb=new bXb("OBJECT_LITERALS_WITH_SPREAD",35,"object literals with spread",5);HWb=new bXb("OBJECT_PATTERN_REST",36,"object pattern rest",5);_Vb=new bXb("ASYNC_GENERATORS",37,"async generator functions",5);pWb=new bXb(d0c,38,"for-await-of loop",5);LWb=new bXb("REGEXP_FLAG_S",39,"RegExp flag 's'",5);OWb=new bXb("REGEXP_LOOKBEHIND", -40,"RegExp Lookbehind",5);PWb=new bXb("REGEXP_NAMED_GROUPS",41,"RegExp named groups",5);QWb=new bXb("REGEXP_UNICODE_PROPERTY_ESCAPE",42,"RegExp unicode property escape",5);_Wb=new bXb("UNESCAPED_UNICODE_LINE_OR_PARAGRAPH_SEP",43,"Unescaped unicode line or paragraph separator",6);JWb=new bXb("OPTIONAL_CATCH_BINDING",44,"Optional catch binding",6);kWb=new bXb(e0c,45,"Dynamic module import",8);vWb=new bXb(f0c,46,xXc,8);VVb=new bXb("ACCESSIBILITY_MODIFIER",47,"accessibility modifier",9);WVb=new bXb(g0c, -48,"ambient declaration",9);cWb=new bXb(h0c,49,"call signature",9);hWb=new bXb("CONSTRUCTOR_SIGNATURE",50,"constructor signature",9);lWb=new bXb(_$c,51,LXc,9);sWb=new bXb("GENERICS",52,"generics",9);uWb=new bXb(c_c,53,AXc,9);wWb=new bXb(i0c,54,"index signature",9);xWb=new bXb(d_c,55,KXc,9);BWb=new bXb("MEMBER_VARIABLE_IN_CLASS",56,"member variable in class",9);DWb=new bXb(j0c,57,"namespace declaration",9);KWb=new bXb(k0c,58,"optional parameter",9);ZWb=new bXb(l0c,59,"type alias",9);$Wb=new bXb("TYPE_ANNOTATION", -60,"type annotation",9)}function S2b(){S2b=S0;o1b=new V2b("END_OF_FILE",0,"End of File");t1b=new V2b(QVc,1,"error");B1b=new V2b("IDENTIFIER",2,"identifier");V0b=new U2b("BREAK",3);Y0b=new U2b("CASE",4);Z0b=new U2b(m0c,5);g1b=new U2b(n0c,6);h1b=new U2b(o0c,7);j1b=new U2b(N$c,8);k1b=new U2b("DELETE",9);l1b=new U2b("DO",10);n1b=new U2b("ELSE",11);x1b=new U2b(q0c,12);y1b=new U2b("FOR",13);z1b=new U2b(NZc,14);C1b=new U2b("IF",15);F1b=new U2b("IN",16);G1b=new U2b(a0c,17);R1b=new U2b("NEW",18);n2b=new U2b(i_c, -19);A2b=new U2b(r0c,20);E2b=new U2b(WVc,21);F2b=new U2b("THROW",22);I2b=new U2b("TRY",23);K2b=new U2b(s0c,24);N2b=new U2b("VAR",25);O2b=new U2b("VOID",26);P2b=new U2b("WHILE",27);Q2b=new U2b("WITH",28);$0b=new U2b(MZc,29);f1b=new U2b("CONST",30);p1b=new U2b(_$c,31);u1b=new U2b(b_c,32);v1b=new U2b(a_c,33);E1b=new U2b(t0c,34);z2b=new U2b(UVc,35);D1b=new U2b(c_c,36);H1b=new U2b(d_c,37);L1b=new U2b("LET",38);a2b=new U2b(e_c,39);i2b=new U2b(f_c,40);j2b=new U2b(g_c,41);k2b=new U2b(h_c,42);x2b=new U2b("STATIC", -43);R2b=new U2b("YIELD",44);Y1b=new V2b("OPEN_CURLY",45,"{");a1b=new V2b("CLOSE_CURLY",46,"}");Z1b=new V2b("OPEN_PAREN",47,"(");b1b=new V2b("CLOSE_PAREN",48,")");$1b=new V2b("OPEN_SQUARE",49,"[");c1b=new V2b("CLOSE_SQUARE",50,"]");d2b=new V2b("PERIOD",51,".");q2b=new V2b("SEMI_COLON",52,";");e1b=new V2b("COMMA",53,",");X1b=new V2b("OPEN_ANGLE",54,"<");_0b=new V2b("CLOSE_ANGLE",55,">");K1b=new V2b("LESS_EQUAL",56,"<=");A1b=new V2b("GREATER_EQUAL",57,">=");R0b=new V2b("ARROW",58,"=>");r1b=new V2b("EQUAL_EQUAL", -59,"==");S1b=new V2b("NOT_EQUAL",60,"!=");s1b=new V2b("EQUAL_EQUAL_EQUAL",61,"===");T1b=new V2b("NOT_EQUAL_EQUAL",62,"!==");e2b=new V2b("PLUS",63,"+");M1b=new V2b("MINUS",64,"-");t2b=new V2b("STAR",65,"*");v2b=new V2b("STAR_STAR",66,"**");b2b=new V2b("PERCENT",67,"%");g2b=new V2b("PLUS_PLUS",68,"++");O1b=new V2b("MINUS_MINUS",69,"--");I1b=new V2b("LEFT_SHIFT",70,"<<");o2b=new V2b("RIGHT_SHIFT",71,">>");L2b=new V2b("UNSIGNED_RIGHT_SHIFT",72,">>>");O0b=new V2b("AMPERSAND",73,"&");T0b=new V2b("BAR", -74,"|");W0b=new V2b("CARET",75,"^");S0b=new V2b("BANG",76,"!");G2b=new V2b("TILDE",77,"~");Q0b=new V2b("AND",78,"&&");_1b=new V2b("OR",79,"||");l2b=new V2b("QUESTION",80,"?");d1b=new V2b("COLON",81,":");q1b=new V2b("EQUAL",82,"=");f2b=new V2b("PLUS_EQUAL",83,"+=");N1b=new V2b("MINUS_EQUAL",84,"-=");u2b=new V2b("STAR_EQUAL",85,"*=");w2b=new V2b("STAR_STAR_EQUAL",86,"**=");c2b=new V2b("PERCENT_EQUAL",87,"%=");J1b=new V2b("LEFT_SHIFT_EQUAL",88,"<<=");p2b=new V2b("RIGHT_SHIFT_EQUAL",89,">>=");M2b=new V2b("UNSIGNED_RIGHT_SHIFT_EQUAL", -90,">>>=");P0b=new V2b("AMPERSAND_EQUAL",91,"&=");U0b=new V2b("BAR_EQUAL",92,"|=");X0b=new V2b("CARET_EQUAL",93,"^=");r2b=new V2b("SLASH",94,"/");s2b=new V2b("SLASH_EQUAL",95,"/=");h2b=new V2b("POUND",96,"#");V1b=new U2b(u0c,97);H2b=new U2b(v0c,98);w1b=new U2b(w0c,99);W1b=new V2b("NUMBER",100,"number literal");y2b=new V2b(M_c,101,"string literal");m2b=new V2b("REGULAR_EXPRESSION",102,"regular expression literal");m1b=new V2b("ELLIPSIS",103,sXc);B2b=new V2b("TEMPLATE_HEAD",104,"template head");C2b= -new V2b("TEMPLATE_MIDDLE",105,"template middle");D2b=new V2b("TEMPLATE_TAIL",106,"template tail");U1b=new V2b("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");J2b=new U2b(j_c,108);i1b=new U2b(x0c,109);P1b=new U2b("MODULE",110);Q1b=new U2b(y0c,111)}function L6b(){L6b=S0;l6b=new M6b("PROGRAM",0);H5b=new M6b("FUNCTION_DECLARATION",1);_4b=new M6b("BLOCK",2);H6b=new M6b("VARIABLE_STATEMENT",3);F6b=new M6b("VARIABLE_DECLARATION",4);w5b=new M6b("EMPTY_STATEMENT",5);A5b=new M6b("EXPRESSION_STATEMENT", -6);M5b=new M6b("IF_STATEMENT",7);u5b=new M6b("DO_WHILE_STATEMENT",8);I6b=new M6b("WHILE_STATEMENT",9);E5b=new M6b("FOR_IN_STATEMENT",10);G5b=new M6b("FOR_STATEMENT",11);G6b=new M6b("VARIABLE_DECLARATION_LIST",12);q5b=new M6b("CONTINUE_STATEMENT",13);a5b=new M6b("BREAK_STATEMENT",14);o6b=new M6b("RETURN_STATEMENT",15);J6b=new M6b("WITH_STATEMENT",16);d5b=new M6b("CASE_CLAUSE",17);s5b=new M6b("DEFAULT_CLAUSE",18);r6b=new M6b("SWITCH_STATEMENT",19);U5b=new M6b("LABELLED_STATEMENT",20);w6b=new M6b("THROW_STATEMENT", -21);e5b=new M6b(m0c,22);x6b=new M6b("TRY_STATEMENT",23);r5b=new M6b("DEBUGGER_STATEMENT",24);v6b=new M6b("THIS_EXPRESSION",25);L5b=new M6b("IDENTIFIER_EXPRESSION",26);V5b=new M6b("LITERAL_EXPRESSION",27);W4b=new M6b("ARRAY_LITERAL_EXPRESSION",28);e6b=new M6b("OBJECT_LITERAL_EXPRESSION",29);h5b=new M6b("COMPREHENSION",30);j5b=new M6b("COMPREHENSION_IF",31);i5b=new M6b("COMPREHENSION_FOR",32);K5b=new M6b("GET_ACCESSOR",33);p6b=new M6b("SET_ACCESSOR",34);m6b=new M6b("PROPERTY_NAME_ASSIGNMENT",35);k5b= -new M6b("COMPUTED_PROPERTY_DEFINITION",36);l5b=new M6b("COMPUTED_PROPERTY_GETTER",37);n5b=new M6b("COMPUTED_PROPERTY_METHOD",38);o5b=new M6b("COMPUTED_PROPERTY_SETTER",39);Z5b=new M6b("MISSING_PRIMARY_EXPRESSION",40);g5b=new M6b("COMMA_EXPRESSION",41);$4b=new M6b("BINARY_OPERATOR",42);p5b=new M6b("CONDITIONAL_EXPRESSION",43);C6b=new M6b("UNARY_EXPRESSION",44);E6b=new M6b("UPDATE_EXPRESSION",45);W5b=new M6b("MEMBER_EXPRESSION",46);b6b=new M6b("NEW_EXPRESSION",47);V4b=new M6b("ARGUMENT_LIST",48);b5b= -new M6b("CALL_EXPRESSION",49);f5b=new M6b("CLASS_DECLARATION",50);R5b=new M6b("INTERFACE_DECLARATION",51);_5b=new M6b(j0c,52);a6b=new M6b("NAMESPACE_NAME",53);x5b=new M6b("ENUM_DECLARATION",54);X5b=new M6b("MEMBER_LOOKUP_EXPRESSION",55);k6b=new M6b("PAREN_EXPRESSION",56);B5b=new M6b(q0c,57);q6b=new M6b("SUPER_EXPRESSION",58);X4b=new M6b(M0c,59);f6b=new M6b(N0c,60);C5b=new M6b("FORMAL_PARAMETER_LIST",61);T5b=new M6b(O0c,62);h6b=new M6b(P0c,63);d6b=new M6b(u0c,64);S5b=new M6b(N_c,65);g6b=new M6b(Q0c, -66);$5b=new M6b("MODULE_IMPORT",67);y5b=new M6b("EXPORT_DECLARATION",68);z5b=new M6b("EXPORT_SPECIFIER",69);N5b=new M6b("IMPORT_DECLARATION",70);P5b=new M6b("IMPORT_SPECIFIER",71);F5b=new M6b("FOR_OF_STATEMENT",72);D5b=new M6b("FOR_AWAIT_OF_STATEMENT",73);K6b=new M6b("YIELD_EXPRESSION",74);t5b=new M6b("DEFAULT_PARAMETER",75);s6b=new M6b("TEMPLATE_LITERAL_EXPRESSION",76);t6b=new M6b("TEMPLATE_LITERAL_PORTION",77);u6b=new M6b("TEMPLATE_SUBSTITUTION",78);A6b=new M6b("TYPE_NAME",79);B6b=new M6b("TYPE_QUERY", -80);y6b=new M6b("TYPED_PARAMETER",81);i6b=new M6b(k0c,82);j6b=new M6b("PARAMETERIZED_TYPE_TREE",83);Y4b=new M6b(R0c,84);n6b=new M6b(S0c,85);D6b=new M6b(T0c,86);I5b=new M6b(U0c,87);J5b=new M6b(V0c,88);Y5b=new M6b("MEMBER_VARIABLE",89);m5b=new M6b("COMPUTED_PROPERTY_MEMBER_VARIABLE",90);z6b=new M6b(l0c,91);U4b=new M6b(g0c,92);Q5b=new M6b(i0c,93);c5b=new M6b(h0c,94);c6b=new M6b("NEW_TARGET_EXPRESSION",95);Z4b=new M6b("AWAIT_EXPRESSION",96);v5b=new M6b("DYNAMIC_IMPORT_EXPRESSION",97);O5b=new M6b("IMPORT_META_EXPRESSION", -98)}function c0b(a){var b,c;g0b(a);b=a.f;if(!P_b(a,a.f))return L_b(a,(S2b(),o1b),b);c=Q_b(a);switch(c){case 123:return L_b(a,(S2b(),Y1b),b);case 125:return L_b(a,(S2b(),a1b),b);case 40:return L_b(a,(S2b(),Z1b),b);case 41:return L_b(a,(S2b(),b1b),b);case 91:return L_b(a,(S2b(),$1b),b);case 93:return L_b(a,(S2b(),c1b),b);case 46:if(y0b(P_b(a,a.f)?HBc(a.b,a.f):0))return h0b(a),Z_b(a,b);if((P_b(a,a.f)?HBc(a.b,a.f):0)==46&&(P_b(a,a.f+1)?HBc(a.b,a.f+1):0)==46){Q_b(a);Q_b(a);return L_b(a,(S2b(),m1b),b)}return L_b(a, -(S2b(),d2b),b);case 59:return L_b(a,(S2b(),q2b),b);case 44:return L_b(a,(S2b(),e1b),b);case 126:return L_b(a,(S2b(),G2b),b);case 63:return L_b(a,(S2b(),l2b),b);case 58:return L_b(a,(S2b(),d1b),b);case 60:switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 60:Q_b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),J1b),b)}return L_b(a,(S2b(),I1b),b);case 61:Q_b(a);return L_b(a,(S2b(),K1b),b);default:return L_b(a,(S2b(),X1b),b)}case 62:if(a.k>0)return L_b(a,(S2b(),_0b),b);switch(P_b(a,a.f)?HBc(a.b, -a.f):0){case 62:Q_b(a);switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 61:Q_b(a);return L_b(a,(S2b(),p2b),b);case 62:Q_b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),M2b),b)}return L_b(a,(S2b(),L2b),b);default:return L_b(a,(S2b(),o2b),b)}case 61:Q_b(a);return L_b(a,(S2b(),A1b),b);default:return L_b(a,(S2b(),_0b),b)}case 61:switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 61:Q_b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),s1b),b)}return L_b(a,(S2b(),r1b),b);case 62:Q_b(a);return L_b(a, -(S2b(),R0b),b);default:return L_b(a,(S2b(),q1b),b)}case 33:if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),T1b),b)}return L_b(a,(S2b(),S1b),b)}return L_b(a,(S2b(),S0b),b);case 42:if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),u2b),b)}else if((P_b(a,a.f)?HBc(a.b,a.f):0)==42){Q_b(a);if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),w2b),b)}else return L_b(a,(S2b(),v2b),b)}return L_b(a,(S2b(),t2b),b);case 37:if((P_b(a, -a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),c2b),b)}return L_b(a,(S2b(),b2b),b);case 94:if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),X0b),b)}return L_b(a,(S2b(),W0b),b);case 47:if((P_b(a,a.f)?HBc(a.b,a.f):0)==61){Q_b(a);return L_b(a,(S2b(),s2b),b)}return L_b(a,(S2b(),r2b),b);case 43:switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 43:Q_b(a);return L_b(a,(S2b(),g2b),b);case 61:Q_b(a);return L_b(a,(S2b(),f2b),b);default:return L_b(a,(S2b(),e2b),b)}case 45:switch(P_b(a,a.f)?HBc(a.b, -a.f):0){case 45:Q_b(a);return L_b(a,(S2b(),O1b),b);case 61:Q_b(a);return L_b(a,(S2b(),N1b),b);default:return L_b(a,(S2b(),M1b),b)}case 38:switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 38:Q_b(a);return L_b(a,(S2b(),Q0b),b);case 61:Q_b(a);return L_b(a,(S2b(),P0b),b);default:return L_b(a,(S2b(),O0b),b)}case 124:switch(P_b(a,a.f)?HBc(a.b,a.f):0){case 124:Q_b(a);return L_b(a,(S2b(),_1b),b);case 61:Q_b(a);return L_b(a,(S2b(),U0b),b);default:return L_b(a,(S2b(),T0b),b)}case 35:return L_b(a,(S2b(),h2b),b);case 48:return a0b(a, -b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return h0b(a),$_b(a,b);case 34:case 39:return b0b(a,b,c);case 96:return!P_b(a,a.f)&&W_b(a,rYb(a.g,b),H0c,yG(tG(qZ,1),xUc,1,5,[])),T_b(a,(S2b(),U1b),B2b);default:return __b(a,b,c)}}function Crb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;h=false;k=new nGc;k.a[k.a.length]="/**";(b.a&$Xc)!=0?(k.a[k.a.length]="@externs",true):(b.a&16)!=0&&(k.a[k.a.length]="@typeSummary",true);(b.a&1024)!=0?(k.a[k.a.length]="@export",true): -!!b.j&&b.j!=(ybc(),tbc)&&dGc(k,"@"+de(b.j).toLowerCase());(b.a&XZc)!=0&&(k.a[k.a.length]="@abstract",true);!!(!b.d?null:b.d.i)&&dGc(k,zrb(a,"lends",(!b.d?null:b.d.i).a,null));(b.a&1)!=0&&(b.a&4)==0&&(k.a[k.a.length]="@const",true);(b.a&32)!=0&&(k.a[k.a.length]="@final",true);e=!b.d?null:b.d.d;if(e!=null){h=true;k.a[k.a.length]="@desc "+e}!!b.d&&bbc(b.d,1)&&(k.a[k.a.length]="@wizaction",true);!!b.d&&bbc(b.d,2)&&(k.a[k.a.length]=YZc,true);!!b.d&&bbc(b.d,3)&&(k.a[k.a.length]="@polymer",true);!!b.d&& -bbc(b.d,4)&&(k.a[k.a.length]=ZZc,true);!!b.d&&bbc(b.d,5)&&(k.a[k.a.length]=$Zc,true);!!b.d&&bbc(b.d,6)&&(k.a[k.a.length]=_Zc,true);!!b.d&&!!b.d.e&&(k.a[k.a.length]="@disposes",true);(b.a&a$c)!=0&&(k.a[k.a.length]="@expose",true);(b.a&WUc)!=0&&(k.a[k.a.length]="@nosideeffects",true);(b.a&_Xc)!=0&&(k.a[k.a.length]="@nocompile",true);(b.a&2048)!=0&&(k.a[k.a.length]="@noinline",true);(b.a&KVc)!=0&&(k.a[k.a.length]="@idGenerator {unique}",true);(b.a&262144)!=0&&(k.a[k.a.length]="@idGenerator {consistent}", -true);(b.a&b$c)!=0&&(k.a[k.a.length]="@idGenerator {stable}",true);(b.a&AVc)!=0&&(k.a[k.a.length]="@idGenerator {xid}",true);(b.a&c$c)!=0&&(k.a[k.a.length]="@idGenerator {mapped}",true);(b.a&nZc)!=0&&(k.a[k.a.length]="@dict",true);(b.a&LVc)!=0&&(k.a[k.a.length]="@struct",true);(b.a&mZc)!=0&&(k.a[k.a.length]="@unrestricted ",true);(b.a&2)!=0&&(k.a[k.a.length]="@constructor",true);((b.a&512)!=0||(b.a&NYc)!=0)&&(b.a&NYc)==0&&(k.a[k.a.length]="@interface",true);((b.a&512)!=0||(b.a&NYc)!=0)&&(b.a&NYc)!= -0&&(k.a[k.a.length]="@record",true);if(!b.d?null:b.d.a){h=true;u=Drb((!b.d?null:b.d.a).a);dGc(k,zrb(a,zXc,u,null))}for(t=S9b(b).Xd();t.Jd();){r=t.Kd();h=true;u=Drb(r.a);dGc(k,zrb(a,zXc,u,null))}for(s=U9b(b).Xd();s.Jd();){r=s.Kd();h=true;u=Drb(r.a);dGc(k,zrb(a,AXc,u,null))}if(b.g){h=true;u=Drb(b.g.a);dGc(k,zrb(a,XVc,u,null))}if(X9b(b)>0){h=true;for(j=Y9b(b).Xd();j.Jd();){i=j.Kd();dGc(k,"@param "+Arb(a,b,i))}}if((b.a&lZc)==lVc){h=true;dGc(k,yrb(a,(lZc&b.a)==lVc?b.i:null,!b.b?null:b.b.f))}bac(b).Wd()|| -dGc(k,zrb(a,d$c,bac(b).ee(0).a,null));p=aac(b);if(!p.Wd()){h=true;qOc(p,new Grb(a,k))}v=fac(b);if(!v.Wd()){h=true;for(g=Eo(v).Xd();g.Jd();){f=g.Kd();i=f.ff();q=M9(new R9(f.gf()));k.a[k.a.length]=WZc+i+" := "+q+" =:"}}(b.a&64)!=0&&(k.a[k.a.length]="@override",true);(b.a&lZc)==yZc&&(b.a&4)==0&&(b.e?dGc(k,Erb(a,((lZc&b.a)==yZc?b.i:null).a)):dGc(k,zrb(a,MXc,((lZc&b.a)==yZc?b.i:null).a,null)));(b.a&4)!=0&&dGc(k,zrb(a,"define",((lZc&b.a)==yZc?b.i:null).a,null));(b.a&lZc)==wVc&&dGc(k,zrb(a,"typedef",((lZc& -b.a)==wVc?b.i:null).a,null));(b.a&lZc)==IZc&&dGc(k,zrb(a,LXc,((lZc&b.a)==IZc?b.i:null).a,null));(b.a&8192)!=0&&(k.a[k.a.length]="@implicitCast",true);(b.a&LZc)!=0&&(k.a[k.a.length]="@nocollapse",true);o=(n=!b.d?null:b.d.q,!n?(JHc(),JHc(),IHc):n);if(!o.Wd()){c=o.ce(vG(vZ,cWc,2,0,6,1));aHc(c,(OA(),NA));dGc(k,"@suppress {"+Ic(new Kc(String.fromCharCode(44)),new NDc(new kHc(c)))+"}");h=true}if((b.a&256)!=0){dGc(k,"@deprecated "+(!b.d?null:b.d.c));h=true}if(!!b.d&&bbc(b.d,3)){h=true;k.a[k.a.length]="@polymer"}if(!!b.d&& -bbc(b.d,2)){h=true;k.a[k.a.length]=YZc}if(!!b.d&&bbc(b.d,6)){h=true;k.a[k.a.length]=_Zc}if(!!b.d&&bbc(b.d,5)){h=true;k.a[k.a.length]=$Zc}if(!!b.d&&bbc(b.d,4)){h=true;k.a[k.a.length]=ZZc}(!b.d?null:b.d.b)!=null&&dGc(k,"@closurePrimitive {"+(!b.d?null:b.d.b)+"}");!!b.d&&bbc(b.d,0)&&(k.a[k.a.length]="@ngInject",true);if(a.a&&(!b.b?null:b.b.b)!=null){d=XBc(!b.b?null:b.b.b,"\n\\s*\\*\\s*",vVc);if(d.length!=0){h=true;d=eCc(d);k.a.length>1&&(d+=vVc);zTc(k.a,1,d)}}m=new BCc;if(h)Hc(new Kc(vVc),m,new FGc(k)); -else{Hc(new Kc(" "),m,new FGc(k));m.a+=" */"}l=XBc(XBc(m.a,vVc,"\n *"),"\n \\*([^ \n])","\n * $1");h?l+="\n */\n":l+=" ";return l}function Nlc(){Nlc=S0;glc=new Olc(i_c,0);cjc=new Olc("BITOR",1);djc=new Olc("BITXOR",2);ajc=new Olc("BITAND",3);Hjc=new Olc("EQ",4);Ikc=new Olc("NE",5);ykc=new Olc("LT",6);vkc=new Olc("LE",7);_jc=new Olc("GT",8);Vjc=new Olc("GE",9);xkc=new Olc("LSH",10);ilc=new Olc("RSH",11);Glc=new Olc("URSH",12);Gic=new Olc("ADD",13);rlc=new Olc("SUB",14);Dkc=new Olc("MUL",15);Ajc=new Olc("DIV", -16);Bkc=new Olc("MOD",17);Jjc=new Olc("EXPONENT",18);Mkc=new Olc("NOT",19);bjc=new Olc("BITNOT",20);blc=new Olc("POS",21);Jkc=new Olc("NEG",22);Kkc=new Olc("NEW",23);yjc=new Olc("DELPROP",24);Clc=new Olc(s0c,25);Zjc=new Olc("GETPROP",26);Yjc=new Olc("GETELEM",27);hjc=new Olc("CALL",28);Ekc=new Olc("NAME",29);Pkc=new Olc("NUMBER",30);olc=new Olc(M_c,31);Nkc=new Olc(u0c,32);ylc=new Olc(WVc,33);Ojc=new Olc(w0c,34);Alc=new Olc(v0c,35);llc=new Olc("SHEQ",36);mlc=new Olc("SHNE",37);elc=new Olc("REGEXP", -38);zlc=new Olc("THROW",39);ikc=new Olc("IN",40);lkc=new Olc(a0c,41);Kic=new Olc("ARRAYLIT",42);Rkc=new Olc("OBJECTLIT",43);Blc=new Olc("TRY",44);Ykc=new Olc("PARAM_LIST",45);pjc=new Olc("COMMA",46);Nic=new Olc("ASSIGN",47);Qic=new Olc("ASSIGN_BITOR",48);Ric=new Olc("ASSIGN_BITXOR",49);Pic=new Olc("ASSIGN_BITAND",50);Uic=new Olc("ASSIGN_LSH",51);Xic=new Olc("ASSIGN_RSH",52);Zic=new Olc("ASSIGN_URSH",53);Oic=new Olc("ASSIGN_ADD",54);Yic=new Olc("ASSIGN_SUB",55);Wic=new Olc("ASSIGN_MUL",56);Sic=new Olc("ASSIGN_DIV", -57);Vic=new Olc("ASSIGN_MOD",58);Tic=new Olc("ASSIGN_EXPONENT",59);akc=new Olc("HOOK",60);Wkc=new Olc("OR",61);Hic=new Olc("AND",62);jkc=new Olc("INC",63);ujc=new Olc("DEC",64);Tjc=new Olc(NZc,65);bkc=new Olc("IF",66);tlc=new Olc(r0c,67);jjc=new Olc("CASE",68);wjc=new Olc("DEFAULT_CASE",69);Klc=new Olc("WHILE",70);Bjc=new Olc("DO",71);Pjc=new Olc("FOR",72);Rjc=new Olc("FOR_IN",73);gjc=new Olc("BREAK",74);sjc=new Olc(n0c,75);Hlc=new Olc("VAR",76);Llc=new Olc("WITH",77);ljc=new Olc(m0c,78);Ilc=new Olc("VOID", -79);Djc=new Olc("EMPTY",80);hlc=new Olc("ROOT",81);ejc=new Olc("BLOCK",82);rkc=new Olc("LABEL",83);Njc=new Olc("EXPR_RESULT",84);jlc=new Olc("SCRIPT",85);$jc=new Olc("GETTER_DEF",86);klc=new Olc("SETTER_DEF",87);rjc=new Olc("CONST",88);tjc=new Olc(o0c,89);skc=new Olc("LABEL_NAME",90);plc=new Olc("STRING_KEY",91);kjc=new Olc("CAST",92);Lic=new Olc(M0c,93);Skc=new Olc(N0c,94);zjc=new Olc("DESTRUCTURING_LHS",95);mjc=new Olc(MZc,96);njc=new Olc("CLASS_MEMBERS",97);zkc=new Olc("MEMBER_FUNCTION_DEF",98); -slc=new Olc(UVc,99);wkc=new Olc("LET",100);Sjc=new Olc("FOR_OF",101);Qjc=new Olc(d0c,102);Mlc=new Olc("YIELD",103);$ic=new Olc("AWAIT",104);dkc=new Olc(t0c,105);gkc=new Olc("IMPORT_SPECS",106);fkc=new Olc("IMPORT_SPEC",107);hkc=new Olc("IMPORT_STAR",108);Kjc=new Olc(b_c,109);Mjc=new Olc("EXPORT_SPECS",110);Ljc=new Olc("EXPORT_SPEC",111);Ckc=new Olc("MODULE_BODY",112);Cjc=new Olc(e0c,113);pkc=new Olc(N_c,114);Tkc=new Olc(Q0c,115);qkc=new Olc(O0c,116);Ukc=new Olc(P0c,117);qjc=new Olc("COMPUTED_PROP", -118);ulc=new Olc("TAGGED_TEMPLATELIT",119);vlc=new Olc("TEMPLATELIT",120);xlc=new Olc("TEMPLATELIT_SUB",121);wlc=new Olc("TEMPLATELIT_STRING",122);xjc=new Olc("DEFAULT_VALUE",123);Lkc=new Olc(c0c,124);ekc=new Olc(f0c,125);qlc=new Olc(k1c,126);fjc=new Olc(l1c,127);Qkc=new Olc(m1c,128);Ujc=new Olc(U0c,129);Xkc=new Olc("PARAMETERIZED_TYPE",130);Flc=new Olc(T0c,131);Jic=new Olc("ANY_TYPE",132);Okc=new Olc("NULLABLE_TYPE",133);Jlc=new Olc("VOID_TYPE",134);flc=new Olc("REST_PARAMETER_TYPE",135);Fkc=new Olc("NAMED_TYPE", -136);Vkc=new Olc(k0c,137);dlc=new Olc(S0c,138);Elc=new Olc("UNDEFINED_TYPE",139);Mic=new Olc(R0c,140);Wjc=new Olc(i1c,141);Xjc=new Olc(V0c,142);Iic=new Olc(O_c,143);Zkc=new Olc("PIPE",144);nlc=new Olc("STAR",145);Gjc=new Olc("EOC",146);clc=new Olc("QMARK",147);_ic=new Olc("BANG",148);Ijc=new Olc("EQUALS",149);tkc=new Olc("LB",150);ukc=new Olc("LC",151);ojc=new Olc("COLON",152);mkc=new Olc(d_c,153);nkc=new Olc("INTERFACE_EXTENDS",154);okc=new Olc("INTERFACE_MEMBERS",155);Ejc=new Olc(_$c,156);Fjc=new Olc("ENUM_MEMBERS", -157);ckc=new Olc(c_c,158);Dlc=new Olc(l0c,159);vjc=new Olc(x0c,160);Akc=new Olc("MEMBER_VARIABLE_DEF",161);kkc=new Olc(i0c,162);ijc=new Olc(h0c,163);Gkc=new Olc(y0c,164);Hkc=new Olc("NAMESPACE_ELEMENTS",165);$kc=new Olc("PLACEHOLDER1",166);_kc=new Olc("PLACEHOLDER2",167);alc=new Olc("PLACEHOLDER3",168)}function HGb(){HGb=S0;new Whb("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(l7(),i7),new $Cc("Internal Error: TypeCheck doesn''t know how to handle {0}"));$Fb=new Whb("JSC_DETERMINISTIC_TEST",k7,new $Cc("condition always evaluates to {2}\nleft : {0}\nright: {1}")); -mGb=new Whb("JSC_INEXISTENT_ENUM_ELEMENT",k7,new $Cc("element {0} does not exist on this enum"));nGb=new Whb("JSC_INEXISTENT_PROPERTY",k7,new $Cc(Q$c));yGb=new Whb("JSC_POSSIBLE_INEXISTENT_PROPERTY",j7,new $Cc(Q$c));oGb=new Whb("JSC_INEXISTENT_PROPERTY_WITH_SUGGESTION",k7,new $Cc(R$c));zGb=new Whb("JSC_STRICT_INEXISTENT_PROPERTY",j7,new $Cc(Q$c));BGb=new Whb("JSC_STRICT_INEXISTENT_UNION_PROPERTY",j7,new $Cc("Property {0} not defined on all member types of {1}"));AGb=new Whb("JSC_STRICT_INEXISTENT_PROPERTY_WITH_SUGGESTION", -j7,new $Cc(R$c));wGb=new Whb("JSC_NOT_A_CONSTRUCTOR",k7,new $Cc("cannot instantiate non-constructor"));pGb=new Whb("JSC_INSTANTIATE_ABSTRACT_CLASS",k7,new $Cc("cannot instantiate abstract class"));WFb=new Whb("JSC_BAD_TYPE_FOR_BIT_OPERATION",k7,new $Cc("operator {0} cannot be applied to {1}"));xGb=new Whb("JSC_NOT_FUNCTION_TYPE",k7,new $Cc("{0} expressions are not callable"));ZFb=new Whb("JSC_CONSTRUCTOR_NOT_CALLABLE",k7,new $Cc('Constructor {0} should be called with the "new" keyword'));TFb=new Whb("JSC_ABSTRACT_SUPER_METHOD_NOT_USABLE", -k7,new $Cc("Abstract super method {0} cannot be dereferenced"));cGb=new Whb("JSC_FUNCTION_MASKS_VARIABLE",k7,new $Cc("function {0} masks variable (IE bug)"));uGb=new Whb("JSC_MULTIPLE_VAR_DEF",k7,new $Cc("declaration of multiple variables with shared type information"));_Fb=new Whb("JSC_ENUM_DUP",i7,new $Cc("enum element {0} already defined"));sGb=new Whb("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",k7,new $Cc("interface members can only be empty property declarations, empty functions{0}"));qGb=new Whb("JSC_INTERFACE_METHOD_NOT_EMPTY", -k7,new $Cc("interface member functions must have an empty body"));XFb=new Whb("JSC_CONFLICTING_EXTENDED_TYPE",k7,new $Cc("{1} cannot extend this type; {0}s can only extend {0}s"));aGb=new Whb("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",k7,new $Cc("ES5 class {0} cannot extend ES6 class {1}"));new Whb("JSC_ES6_CLASS_EXTENDING_CLASS_WITH_GOOG_INHERITS",k7,new $Cc("Do not use goog.inherits with ES6 classes. Use the ES6 `extends` keyword to inherit instead."));new Whb("JSC_INTERFACE_EXTENDS_LOOP",k7,new $Cc("extends loop involving {0}, loop: {1}")); -YFb=new Whb("JSC_CONFLICTING_IMPLEMENTED_TYPE",k7,new $Cc("{0} cannot implement this type; an interface can only extend, but not implement interfaces"));VFb=new Whb("JSC_IMPLEMENTS_NON_INTERFACE",k7,new $Cc("can only implement interfaces"));gGb=new Whb("JSC_HIDDEN_SUPERCLASS_PROPERTY",j7,new $Cc("property {0} already defined on superclass {1}; use @override to override it"));eGb=new Whb("JSC_PROTOTYPAL_HIDDEN_SUPERCLASS_PROPERTY",j7,new $Cc("property {0} already defined on supertype {1}; use @override to override it")); -dGb=new Whb("JSC_HIDDEN_INTERFACE_PROPERTY",j7,new $Cc("property {0} already defined on interface {1}; use @override to override it"));fGb=new Whb("JSC_HIDDEN_PROTOTYPAL_SUPERTYPE_PROPERTY_MISMATCH",k7,new $Cc("mismatch of the {0} property type and the type of the property it overrides from supertype {1}\noriginal: {2}\noverride: {3}"));DGb=new Whb("JSC_UNKNOWN_OVERRIDE",k7,new $Cc("property {0} not defined on any superclass of {1}"));EGb=new Whb("JSC_UNKNOWN_PROTOTYPAL_OVERRIDE",k7,new $Cc("property {0} not defined on any supertype of {1}")); -rGb=new Whb("JSC_INTERFACE_METHOD_OVERRIDE",k7,new $Cc("property {0} is already defined by the {1} extended interface"));CGb=new Whb("JSC_UNKNOWN_EXPR_TYPE",k7,new $Cc("could not determine the type of this expression"));FGb=new Whb("JSC_UNRESOLVED_TYPE",k7,new $Cc("could not resolve the name {0} to a type"));GGb=new Whb("JSC_WRONG_ARGUMENT_COUNT",k7,new $Cc("Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}."));iGb=new Whb("JSC_ILLEGAL_IMPLICIT_CAST",k7,new $Cc("Illegal annotation on {0}. @implicitCast may only be used in externs.")); -lGb=new Whb("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",k7,new $Cc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}"));bGb=new Whb("JSC_EXPECTED_THIS_TYPE",k7,new $Cc('"{0}" must be called with a "this" type'));tGb=new Whb("JSC_IN_USED_WITH_STRUCT",k7,new $Cc("Cannot use the IN operator with structs"));kGb=new Whb("JSC_ILLEGAL_PROPERTY_CREATION",k7,new $Cc("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.)")); -jGb=new Whb("JSC_ILLEGAL_OBJLIT_KEY",k7,new $Cc("Illegal key, the object literal is a {0}"));hGb=new Whb("JSC_ILLEGAL_CLASS_KEY",k7,new $Cc("Illegal key, the class is a {0}"));vGb=new Whb("JSC_NON_STRINGIFIABLE_OBJECT_KEY",k7,new $Cc('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.'));SFb=new Whb("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",k7,new $Cc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract")); -UFb=new $gb(yG(tG(CO,1),xUc,5,0,[$Fb,mGb,nGb,yGb,oGb,wGb,pGb,WFb,xGb,ZFb,cGb,uGb,_Fb,sGb,qGb,XFb,YFb,VFb,(WGb(),NGb),fGb,DGb,EGb,rGb,FGb,GGb,iGb,lGb,bGb,tGb,hGb,kGb,jGb,vGb,SFb,TFb,aGb,(bCb(),XBb),ZBb,(yHb(),xHb),vHb,pHb,tHb,(Qpb(),Npb)]))}function Wtc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb;j=new Wnc(a);buc(a,(xtc(),vsc),j);P=new Avc(a);buc(a,Wsc,P);Y=new Hvc(a);buc(a,dtc,Y);ib=new rwc(a); -buc(a,otc,ib);lb=new wwc(a);buc(a,rtc,lb);qb=new hzc(a,false);buc(a,vtc,qb);k=new hzc(a,true);buc(a,wsc,k);rb=new vzc(a);buc(a,wtc,rb);b=new nnc(a);buc(a,ksc,b);a.n=new Dwc(a,"IObject#KEY1");a.k=new Dwc(a,"IObject#VALUE");u=new Dwc(a,"VALUE2");a.a=new Dwc(a,"T");a.s=new Dwc(a,u1c);a.p=new Dwc(a,u1c);a.d=new Dwc(a,u1c);a.i=new Dwc(a,u1c);a.b=new Dwc(a,u1c);a.r=new Dwc(a,u1c);a.c=new Dwc(a,u1c);a.o=new Dwc(a,j_c);a.w=new Dwc(a,j_c);nb=Rqc((amc(),new Uqc(a)),true).ek();w=Ytc(a,"IObject",yG(tG(BY,1), -xUc,55,0,[a.n,a.k]));buc(a,Nsc,w);A=(Zd(w.i==(prc(),mrc)||w.i==nrc,jWc,w),rmc(w.o));buc(a,Osc,A);Z=Wqc(irc(frc(brc(Qqc(Xqc(Rqc(new krc(a),true)),aWc),Jtc(a,yG(tG(hY,1),xUc,23,0,[b])))),yG(tG(BY,1),xUc,55,0,[a.n,a.k])));tqc(Z,nb,null);buc(a,etc,Z);buc(a,ftc,mqc(Z));$=(Zd(Z.i==mrc||Z.i==nrc,jWc,Z),rmc(Z.o));buc(a,gtc,$);n=Wqc(crc(drc(brc(Qqc(Xqc(Rqc(new krc(a),true)),WYc),Ltc(a,true,yG(tG(hY,1),xUc,23,0,[b]))),qb),$));uqc(n,$,null);buc(a,zsc,n);o=mqc(n);buc(a,Asc,o);O=new ivc(a);buc(a,Vsc,O);M=new Xuc(a); -buc(a,Tsc,M);N=new tvc(a);buc(a,Usc,N);F=Ytc(a,"Iterable",yG(tG(BY,1),xUc,55,0,[a.r]));buc(a,Fsc,F);G=(Zd(F.i==mrc||F.i==nrc,jWc,F),rmc(F.o));buc(a,Gsc,G);H=Ytc(a,"Iterator",yG(tG(BY,1),xUc,55,0,[a.s]));buc(a,Hsc,H);I=(Zd(H.i==mrc||H.i==nrc,jWc,H),rmc(H.o));buc(a,Isc,I);C=Ytc(a,"IIterableResult",yG(tG(BY,1),xUc,55,0,[a.p]));buc(a,Lsc,C);D=(Zd(C.i==mrc||C.i==nrc,jWc,C),rmc(C.o));buc(a,Msc,D);t=Ztc(a,yG(tG(BY,1),xUc,55,0,[u]));qqc(t,(On(),new RB(Pd(Ntc(a,A,yG(tG(hY,1),xUc,23,0,[Y,u]))))));buc(a,Jsc, -t);v=(Zd(t.i==mrc||t.i==nrc,jWc,t),rmc(t.o));buc(a,Ksc,v);c=Wqc(irc(frc(brc(Qqc(Xqc(Rqc(new krc(a),true)),$Vc),Ltc(a,true,yG(tG(hY,1),xUc,23,0,[b])))),yG(tG(BY,1),xUc,55,0,[a.a])));mqc(c);rqc(c,new _A(eo(yG(tG(qZ,1),xUc,1,5,[Ntc(a,v,yG(tG(hY,1),xUc,23,0,[a.a])),Ntc(a,G,yG(tG(hY,1),xUc,23,0,[a.a]))]))));buc(a,lsc,c);d=(Zd(c.i==mrc||c.i==nrc,jWc,c),rmc(c.o));buc(a,msc,d);B=Wqc(brc(Qqc(Xqc(Rqc(new krc(a),true)),"ITemplateArray"),new kfc((Nlc(),Ykc))));buc(a,Psc,(Zd(B.i==mrc||B.i==nrc,jWc,B),rmc(B.o))); -p=Ytc(a,XYc,yG(tG(BY,1),xUc,55,0,[a.i]));qqc(p,new _A(eo(yG(tG(qZ,1),xUc,1,5,[Ntc(a,G,yG(tG(hY,1),xUc,23,0,[a.i])),Ntc(a,I,yG(tG(hY,1),xUc,23,0,[a.i]))]))));buc(a,Bsc,p);buc(a,Csc,(Zd(p.i==mrc||p.i==nrc,jWc,p),rmc(p.o)));g=Ytc(a,o1c,yG(tG(BY,1),xUc,55,0,[a.d]));buc(a,rsc,g);buc(a,ssc,(Zd(g.i==mrc||g.i==nrc,jWc,g),rmc(g.o)));f=Ytc(a,p1c,yG(tG(BY,1),xUc,55,0,[a.c]));buc(a,psc,f);buc(a,qsc,(Zd(f.i==mrc||f.i==nrc,jWc,f),rmc(f.o)));e=Ytc(a,"AsyncGenerator",yG(tG(BY,1),xUc,55,0,[a.b]));buc(a,nsc,e);buc(a, -osc,(Zd(e.i==mrc||e.i==nrc,jWc,e),rmc(e.o)));J=Ytc(a,"IThenable",yG(tG(BY,1),xUc,55,0,[a.o]));buc(a,Qsc,J);K=(Zd(J.i==mrc||J.i==nrc,jWc,J),rmc(J.o));buc(a,Rsc,K);mb=Mtc(a,(Do(),Do(),ol("then",qb),new NB("then",qb)));Pd(v1c);Wf(a.v,a.t,v1c);buc(a,stc,mb);cb=Dtc(a,qb,yG(tG(hY,1),xUc,23,0,[Ctc(a,qb,Jtc(a,yG(tG(hY,1),xUc,23,0,[Ptc(a,yG(tG(hY,1),xUc,23,0,[a.w,Ntc(a,K,yG(tG(hY,1),xUc,23,0,[a.w])),mb,P]))]))),Ctc(a,qb,Jtc(a,yG(tG(hY,1),xUc,23,0,[b])))]));bb=(Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc(Ekc, -""));bb.d=cb;ab=Wqc(irc(brc(Qqc(Xqc(Rqc(new krc(a),true)),YYc),i9b(yG(tG(BX,1),kWc,7,0,[bb]))),yG(tG(BY,1),xUc,55,0,[a.w])));rqc(ab,new RB(Pd(Ntc(a,K,yG(tG(hY,1),xUc,23,0,[a.w])))));buc(a,htc,ab);buc(a,itc,(Zd(ab.i==mrc||ab.i==nrc,jWc,ab),rmc(ab.o)));h=Wqc(drc(brc(Qqc(Xqc(Rqc(new krc(a),true)),eWc),Jtc(a,yG(tG(hY,1),xUc,23,0,[b]))),j));mqc(h);buc(a,tsc,h);i=(Zd(h.i==mrc||h.i==nrc,jWc,h),rmc(h.o));buc(a,usc,i);l=Wqc(drc(brc(Qqc(Xqc(Rqc(new krc(a),true)),"Date"),Jtc(a,yG(tG(hY,1),xUc,23,0,[qb,qb,qb, -qb,qb,qb,qb]))),ib));mqc(l);buc(a,xsc,l);m=(Zd(l.i==mrc||l.i==nrc,jWc,l),rmc(l.o));buc(a,ysc,m);R=Wqc(drc(brc(Qqc(Xqc(Rqc(new krc(a),true)),dWc),Jtc(a,yG(tG(hY,1),xUc,23,0,[b]))),Y));mqc(R);buc(a,Ysc,R);S=(Zd(R.i==mrc||R.i==nrc,jWc,R),rmc(R.o));buc(a,Zsc,S);db=Wqc(frc(brc(Qqc(Xqc(Rqc(new krc(a),true)),bWc),Jtc(a,yG(tG(hY,1),xUc,23,0,[b,b])))));mqc(db);buc(a,jtc,db);eb=(Zd(db.i==mrc||db.i==nrc,jWc,db),rmc(db.o));buc(a,ktc,eb);fb=Wqc(drc(brc(Qqc(Xqc(Rqc(new krc(a),true)),EVc),Jtc(a,yG(tG(hY,1),xUc, -23,0,[b]))),ib));mqc(fb);buc(a,ltc,fb);gb=(Zd(fb.i==mrc||fb.i==nrc,jWc,fb),rmc(fb.o));buc(a,mtc,gb);jb=Wqc(drc(brc(Qqc(Xqc(Rqc(new krc(a),true)),ZYc),Jtc(a,yG(tG(hY,1),xUc,23,0,[b]))),lb));mqc(jb);buc(a,ptc,jb);kb=(Zd(jb.i==mrc||jb.i==nrc,jWc,jb),rmc(jb.o));buc(a,qtc,kb);Q=Ptc(a,yG(tG(hY,1),xUc,23,0,[P,rb]));buc(a,Xsc,Q);U=Ptc(a,yG(tG(hY,1),xUc,23,0,[Y,ib,j]));buc(a,_sc,U);V=Ptc(a,yG(tG(hY,1),xUc,23,0,[Y,ib,j,lb]));buc(a,atc,V);X=Ptc(a,yG(tG(hY,1),xUc,23,0,[Y,lb]));buc(a,ctc,X);hb=Ptc(a,yG(tG(hY, -1),xUc,23,0,[ib,lb]));buc(a,ntc,hb);T=Ptc(a,yG(tG(hY,1),xUc,23,0,[Y,ib]));buc(a,$sc,T);W=Ptc(a,yG(tG(hY,1),xUc,23,0,[Y,ib,lb]));buc(a,btc,W);pb=Etc(a,qb,yG(tG(hY,1),xUc,23,0,[qb]));buc(a,utc,pb);ob=new guc(Zqc(Xqc(jrc(drc(brc(arc(new krc(a),WYc),Ltc(a,true,yG(tG(hY,1),xUc,23,0,[qb]))),qb),qb))));n.o=ob;Ud(!(!!ob.j||!ob.A));ob.r=o;buc(a,ttc,ob);L=Gtc(a,O,yG(tG(hY,1),xUc,23,0,[b]));buc(a,Ssc,L);r=Wqc(drc(brc(Qqc(Xqc(Rqc(new krc(a),true)),"global this"),Ltc(a,false,yG(tG(hY,1),xUc,23,0,[b]))),Y));q= -(Zd(r.i==mrc||r.i==nrc,jWc,r),rmc(r.o));buc(a,Dsc,q);s=Gtc(a,b,yG(tG(hY,1),xUc,23,0,[O]));buc(a,Esc,s);cuc(a,PWc,Z)}function yQb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z;switch(b.p.f){case 42:return CQb(a,b);case 28:return zQb(a,b);case 76:return sRb(a,b);case 77:return tRb(a,b.a);case 78:return sPb(a.a,(Nlc(),xlc),MPb(a.a,b.a));case 44:return xRb(a,b);case 2:return EQb(a,b);case 14:return FQb(a,b);case 49:return RQb(a,b);case 17:return pRb(a, -b);case 18:return qRb(a,b);case 22:return b.b.p==(L6b(),w5b)&&pPb(a.a,b,(aXb(),JWb)),tPb(a.a,(Nlc(),ljc),MPb(a.a,b.b),NPb(a.a,b.a));case 13:return IQb(a,b);case 8:return tPb(a.a,(Nlc(),Bjc),NPb(a.a,b.a),MPb(a.a,b.b));case 5:return rPb((d=a,b,d).a,(Nlc(),Djc));case 6:return NQb(a,b);case 24:return rPb((e=a,b,e).a,(Nlc(),tjc));case 25:return rPb((f=a,b,f).a,(Nlc(),ylc));case 11:return OQb(a,b);case 10:return h=MPb(a.a,b.c),uPb(a.a,(Nlc(),Rjc),h,MPb(a.a,b.b),NPb(a.a,b.a));case 1:return QQb(a,b);case 55:return tPb(a.a, -(Nlc(),Yjc),MPb(a.a,b.b),MPb(a.a,b.a));case 46:return i=MPb(a.a,b.b),j=b.a,k=dRb(a,j),!k.Fi()&&!a.a.c&&uQb(a,k),tPb(a.a,(Nlc(),Zjc),i,k);case 43:return uPb(a.a,(Nlc(),akc),MPb(a.a,b.a),MPb(a.a,b.b),MPb(a.a,b.c));case 7:return UQb(a,b);case 20:return YQb(a,b);case 56:return lQb(a,b),MPb(a.a,b.a);case 26:return $Qb(a,b.a,false);case 47:return cRb(a,b);case 29:return eRb(a,b);case 36:return pPb(a.a,b,(aXb(),gWb)),tPb(a.a,(Nlc(),qjc),MPb(a.a,b.a),MPb(a.a,b.b));case 37:return pPb(a.a,b,(aXb(),gWb)),l= -MPb(a.a,b.c),m=MPb(a.a,b.a),n=P8b((Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc((Nlc(),Ekc),"")),i9b(yG(tG(BX,1),kWc,7,0,[])),m),jfc(n,m),o=tPb(a.a,qjc,l,n),Fec(o,hdc,1),Fec(o,Gdc,b.b?1:0),o;case 90:return pPb(a.a,b,(aXb(),gWb)),wQb(a,b,BWb),p=sPb(a.a,(Nlc(),qjc),MPb(a.a,b.d)),rQb(a,p,b.b),Fec(p,(Jdc(),kdc),1),Gec(p,gdc,b.a),$ec(p,b.c),pQb(a,b,p,b.a),p;case 38:return pPb(a.a,b,(aXb(),gWb)),q=tPb(a.a,(Nlc(),qjc),MPb(a.a,b.c),MPb(a.a,b.b)),Eec(q,(Jdc(),idc),true),b.b.i&&Fec(q,(thc(),lhc),1),pQb(a,b, -q,b.a),q;case 39:return pPb(a.a,b,(aXb(),gWb)),r=MPb(a.a,b.d),s=PQb(a,b.c),IPb(s,b.c),t=MPb(a.a,b.a),u=P8b((Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc((Nlc(),Ekc),"")),s,t),jfc(u,t),v=tPb(a.a,qjc,r,u),Fec(v,jdc,1),Fec(v,Gdc,b.b?1:0),v;case 15:return mRb(a,b);case 45:return w=jQb(b.b.e),A=MPb(a.a,b.a),mQb(a,w,b.c==1,A);case 0:return BQb(a,b);case 27:return ZQb(a,b);case 19:return rRb(a,b);case 21:return sPb(a.a,(Nlc(),zlc),MPb(a.a,b.a));case 23:return uRb(a,b);case 3:return yQb(a.a.v,b.a);case 12:return ARb(a, -b);case 4:return zRb(a,b);case 9:return tPb(a.a,(Nlc(),Klc),MPb(a.a,b.b),NPb(a.a,b.a));case 16:return tPb(a.a,(Nlc(),Llc),MPb(a.a,b.b),NPb(a.a,b.a));case 41:return HQb(a,b);case 64:return rPb((g=a,b,g).a,(Nlc(),Djc));case 57:return NPb(a.a,b.a);case 40:return wPb((c=a,b,c).a,(Nlc(),Ekc),w_c);case 35:return jRb(a,b);case 33:return B=dRb(a,b.c),bfc(B,(Nlc(),$jc)),C=MPb(a.a,b.a),D=wPb(a.a,Ekc,""),IPb(D,b.a),F=rPb(a.a,Ykc),IPb(F,b.a),G=uPb(a.a,Tjc,D,F,C),IPb(G,b.a),Ndc(B,G),rQb(a,G,b.d),$ec(B,b.b),B; -case 34:return H=dRb(a,b.d),bfc(H,(Nlc(),klc)),I=PQb(a,b.c),IPb(I,b.c),J=MPb(a.a,b.a),K=wPb(a.a,Ekc,""),HPb(K,b.d),L=uPb(a.a,Tjc,K,I,J),IPb(L,b.a),Ndc(H,L),$ec(H,b.b),H;case 61:return PQb(a,b);case 50:return GQb(a,b);case 58:return pPb(a.a,b,(aXb(),VWb)),rPb(a.a,(Nlc(),slc));case 95:return pPb(a.a,b,(aXb(),EWb)),rPb(a.a,(Nlc(),Lkc));case 74:return M=rPb(a.a,(Nlc(),Mlc)),!!b.a&&Mdc(M,MPb(a.a,b.a)),cfc(M,b.b),M;case 96:return pPb(a.a,b,(aXb(),$Vb)),N=rPb(a.a,(Nlc(),$ic)),Mdc(N,MPb(a.a,b.a)),N;case 72:return pPb(a.a, -b,(aXb(),qWb)),O=MPb(a.a,b.c),uPb(a.a,(Nlc(),Sjc),O,MPb(a.a,b.b),NPb(a.a,b.a));case 73:return pPb(a.a,b,(aXb(),pWb)),P=MPb(a.a,b.c),uPb(a.a,(Nlc(),Qjc),P,MPb(a.a,b.b),NPb(a.a,b.a));case 68:return LQb(a,b);case 69:return MQb(a,b);case 70:return VQb(a,b);case 71:return WQb(a,b);case 97:return pPb(a.a,b,(aXb(),kWb)),Q=MPb(a.a,b.a),sPb(a.a,(Nlc(),Cjc),Q);case 98:return pPb(a.a,b,(aXb(),CWb)),pPb(a.a,b,vWb),rPb(a.a,(Nlc(),ekc));case 59:return AQb(a,b);case 60:return fRb(a,b);case 32:case 31:case 30:return a.a.e.fi("unsupported language feature: array/generator comprehensions", -a.a.s,(cPb(),b.o.b.b+1),b.o.b.a),wPb(a.a,(Nlc(),Ekc),w_c);case 75:return JQb(a,b);case 65:return R=OPb(a.a,b.a),sPb(a.a,(Nlc(),pkc),R);case 62:return pPb(a.a,b,(aXb(),TWb)),sPb(a.a,(Nlc(),qkc),MPb(a.a,b.a));case 66:return gRb(a,b);case 63:return pPb(a.a,b,(aXb(),GWb)),sPb(a.a,(Nlc(),Ukc),MPb(a.a,b.a));case 79:return vRb(a,b);case 81:return S=MPb(a.a,b.a),rQb(a,S,b.b),S;case 82:return wQb(a,b,(aXb(),KWb)),T=MPb(a.a,b.a),Fec(T,(Jdc(),Adc),1),T;case 83:return iRb(a,b);case 84:return dPb(a.a,Ulc(MPb(a.a, -b.a)));case 85:return kRb(a,b);case 86:return yRb(a,b);case 87:return SQb(a,b);case 80:return wRb(a,b);case 88:return TQb(a,b);case 89:return U=wPb(a.a,(Nlc(),Akc),b.e.a),rQb(a,U,b.b),$ec(U,b.d),Fec(U,(Jdc(),Adc),b.c?1:0),pQb(a,b,U,b.a),U;case 51:return XQb(a,b);case 54:return KQb(a,b);case 91:return wQb(a,b,(aXb(),ZWb)),V=wPb(a.a,(Nlc(),Dlc),b.a.a),Ndc(V,MPb(a.a,b.b)),V;case 92:return wQb(a,b,(aXb(),WVb)),sPb(a.a,(Nlc(),vjc),MPb(a.a,b.a));case 52:return aRb(a,b);case 93:return wQb(a,b,(aXb(),wWb)), -W=MPb(a.a,b.b),X=bec(W,(thc(),Bgc)),X.n!=(Nlc(),Qkc)&&X.n!=qlc&&a.a.e.fi("Index signature parameter type must be 'string' or 'number'",a.a.s,(cPb(),b.b.o.b.b+1),b.b.o.b.a),Y=sPb(a.a,kkc,W),rQb(a,Y,b.a),Y;case 94:return wQb(a,b,b.c?(aXb(),hWb):(aXb(),cWb)),Z=sPb(a.a,(Nlc(),ijc),MPb(a.a,b.a)),rQb(a,Z,b.d),qQb(a,Z,b.b),Fec(Z,(Jdc(),ldc),b.c?1:0),Z}return a.a.e.fi("Unsupported syntax: "+b.p,a.a.s,(cPb(),b.o.b.b+1),0),rPb(a.a,(Nlc(),Djc))}function Rhb(){Rhb=S0;Mhb=new Whb("JSC_UNUSED",(l7(),k7),new $Cc(pYc)); -Kp(qYc,rYc,sYc,tYc,uYc,vYc,yG(tG(vZ,1),cWc,2,6,[wYc,xYc,yYc,zYc,AYc]));Qhb=new mMc;Uhb("untranspilableFeatures",yG(tG(CO,1),xUc,5,0,[(Otb(),Ntb)]));Uhb("featuresNotSupportedByPass",yG(tG(CO,1),xUc,5,0,[(gyb(),dyb)]));Uhb("moduleLoad",yG(tG(CO,1),xUc,5,0,[(pKb(),oKb),(YMb(),XMb),(czb(),azb),bzb]));vhb=Uhb("globalThis",yG(tG(CO,1),xUc,5,0,[(Y6(),X6)]));Uhb(BYc,yG(tG(CO,1),xUc,5,0,[(M6(),F6),G6,H6,I6,D6,E6]));Shb("underscore",(yMb(),wMb));Phb=Uhb("visibility",yG(tG(CO,1),xUc,5,0,[x6,y6,w6,z6,J6,K6,L6, -C6]));Shb("accessControls",Phb);Uhb("nonStandardJsDocs",yG(tG(CO,1),xUc,5,0,[(bCb(),GBb),MBb,NBb,(h7(),d7)]));Uhb("invalidCasts",yG(tG(CO,1),xUc,5,0,[(WGb(),RGb)]));Shb(CYc,new Ygb(CYc,yG(tG(CO,1),xUc,5,0,[Mhb])));Ghb=Uhb("strictModuleDepCheck",yG(tG(CO,1),xUc,5,0,[(UHb(),LHb),(W6(),U6)]));Uhb("violatedModuleDep",yG(tG(CO,1),xUc,5,0,[QHb]));Uhb("externsValidation",yG(tG(CO,1),xUc,5,0,[JHb,MHb]));Uhb("ambiguousFunctionDecl",yG(tG(CO,1),xUc,5,0,[(HDb(),zDb)]));Uhb("unknownDefines",yG(tG(CO,1),xUc,5, -0,[(kzb(),jzb)]));Uhb("tweakValidation",yG(tG(CO,1),xUc,5,0,[(pzb(),lzb),nzb,ozb]));yhb=Uhb("missingOverride",yG(tG(CO,1),xUc,5,0,[(HGb(),dGb),eGb,gGb]));zhb=Uhb(DYc,yG(tG(CO,1),xUc,5,0,[nGb,oGb,yGb]));Uhb("globallyMissingProperties",yG(tG(CO,1),xUc,5,0,[yGb]));Uhb("j2clChecks",yG(tG(CO,1),xUc,5,0,[(prb(),orb)]));Uhb("missingReturn",yG(tG(CO,1),xUc,5,0,[(u7(),t7)]));Uhb("internetExplorerChecks",yG(tG(CO,1),xUc,5,0,[WBb]));Khb=Uhb("undefinedVars",yG(tG(CO,1),xUc,5,0,[NHb]));Jhb=Uhb("undefinedNames", -yG(tG(CO,1),xUc,5,0,[V6]));Uhb("checkDebuggerStatement",yG(tG(CO,1),xUc,5,0,[(T6(),S6)]));Uhb("checkRegExp",yG(tG(CO,1),xUc,5,0,[(z7(),y7),x7]));mhb=Thb(dYc,yG(tG(BO,1),xUc,47,0,[JGb,UFb,(Qpb(),Apb),vhb]));khb=Uhb("checkPrototypalTypes",yG(tG(CO,1),xUc,5,0,[EGb,eGb,fGb]));lhb=khb;Shb(vYc,new Ygb(vYc,yG(tG(CO,1),xUc,5,0,[Mhb])));Shb(wYc,new Ygb(wYc,yG(tG(CO,1),xUc,5,0,[Mhb])));Shb(uYc,new Ygb(uYc,yG(tG(CO,1),xUc,5,0,[Mhb])));Shb(EYc,new Ygb(EYc,yG(tG(CO,1),xUc,5,0,[Mhb])));Uhb("tooManyTypeParams", -yG(tG(CO,1),xUc,5,0,[VBb]));Shb(FYc,new Ygb(FYc,yG(tG(CO,1),xUc,5,0,[Mhb])));Uhb(tYc,yG(tG(CO,1),xUc,5,0,[CGb]));Ehb=Uhb(yYc,yG(tG(CO,1),xUc,5,0,[zGb,AGb,BGb]));Hhb=Uhb(zYc,yG(tG(CO,1),xUc,5,0,[SGb]));Dhb=Thb(AYc,yG(tG(BO,1),xUc,47,0,[Ehb,Hhb]));Chb=Uhb(qYc,yG(tG(CO,1),xUc,5,0,[CGb]));ohb=Uhb("checkVars",yG(tG(CO,1),xUc,5,0,[NHb,PHb,(sIb(),pIb),qIb]));nhb=Uhb("uselessCode",yG(tG(CO,1),xUc,5,0,[(B7(),A7),(N7(),M7)]));phb=Uhb(GYc,yG(tG(CO,1),xUc,5,0,[A6,B6,(ygb(),xgb)]));Uhb("accessControlsConst",yG(tG(CO, -1),xUc,5,0,[A6,B6]));Uhb("constantProperty",yG(tG(CO,1),xUc,5,0,[A6,B6]));Uhb("typeInvalidation",yG(tG(CO,1),xUc,5,0,[(Hzb(),Fzb),Gzb]));qhb=Uhb(HYc,yG(tG(CO,1),xUc,5,0,[(Vab(),Tab),PHb,KGb,LGb,cGb,qIb]));Uhb("es3",yG(tG(CO,1),xUc,5,0,[KBb,WBb]));thb=Uhb("es5StrictUncommon",yG(tG(CO,1),xUc,5,0,[LBb,IBb,GDb,DDb,CDb,yDb,vDb,ADb,BDb]));shb=Uhb("es5StrictReflection",yG(tG(CO,1),xUc,5,0,[wDb,xDb,FDb,EDb]));rhb=Thb("es5Strict",yG(tG(BO,1),xUc,47,0,[thb,shb]));Ahb=Uhb("missingProvide",yG(tG(CO,1),xUc,5, -0,[(w7(),v7),(n8(),m8),XMb]));Uhb("unrecognizedTypeError",yG(tG(CO,1),xUc,5,0,[ZBb]));Bhb=Uhb(IYc,yG(tG(CO,1),xUc,5,0,[(s7(),r7)]));Thb(xYc,yG(tG(BO,1),xUc,47,0,[Chb,Jhb,Khb,Ahb,_gb(Hpb),_gb((_yb(),Zyb)),zhb,qhb,_gb(izb),_gb(oKb)]));Fhb=Uhb("strictMissingRequire",yG(tG(CO,1),xUc,5,0,[r7,p7,q7]));Uhb("legacyGoogScopeRequire",yG(tG(CO,1),xUc,5,0,[p7,o7]));uhb=Uhb("extraRequire",yG(tG(CO,1),xUc,5,0,[o7]));Uhb("misplacedTypeAnnotation",yG(tG(CO,1),xUc,5,0,[$6,_6,a7,c7,b7,e7,f7]));Uhb("misplacedMsgAnnotation", -yG(tG(CO,1),xUc,5,0,[f7]));Uhb("misplacedSuppress",yG(tG(CO,1),xUc,5,0,[g7]));Ihb=Uhb("suspiciousCode",yG(tG(CO,1),xUc,5,0,[(WLb(),VLb),(I7(),H7),C7,E7,D7,F7,G7,$Fb,azb]));Uhb("functionParams",yG(tG(CO,1),xUc,5,0,[Fpb,Gpb]));Uhb("deprecatedAnnotations",yG(tG(CO,1),xUc,5,0,[Z6]));Ohb=Uhb("unusedPrivateMembers",yG(tG(CO,1),xUc,5,0,[(P7(),O7)]));Nhb=Uhb("unusedLocalVariables",yG(tG(CO,1),xUc,5,0,[rIb]));xhb=Uhb("jsdocMissingConst",yG(tG(CO,1),xUc,5,0,[(R6(),Q6)]));Uhb("jsdocMissingType",yG(tG(CO,1), -xUc,5,0,[PBb]));Uhb("unnecessaryEscape",yG(tG(CO,1),xUc,5,0,[YBb]));Uhb("typeImportCodeReferences",yG(tG(CO,1),xUc,5,0,[(K7(),J7)]));Uhb("partialAlias",yG(tG(CO,1),xUc,5,0,[Uab]));Thb("lintChecks",yG(tG(BO,1),xUc,47,0,[nMb,new $gb(yG(tG(CO,1),xUc,5,0,[(O6(),N6),(YLb(),XLb),(bMb(),ZLb),$Lb,_Lb,aMb,(dMb(),cMb),(gMb(),eMb),fMb,(CMb(),BMb),(jMb(),hMb),iMb,(AMb(),zMb),(GMb(),DMb),EMb,FMb,(MMb(),KMb),LMb,(OMb(),NMb),(QMb(),PMb),(SMb(),RMb),(UMb(),TMb),(WMb(),VMb),(Z7(),R7),S7,T7,(q8(),p8),OBb]))]));Uhb("strictModuleChecks", -yG(tG(CO,1),xUc,5,0,[Q7,W7,U7,V7,X7,Y7]));ihb=Uhb(sYc,yG(tG(CO,1),xUc,5,0,[(ULb(),TLb),(JMb(),HMb),IMb,(nrb(),mrb)]));Thb(rYc,yG(tG(BO,1),xUc,47,0,[ihb,Ohb,xhb]));Uhb("useOfGoogBase",yG(tG(CO,1),xUc,5,0,[$yb]));Uhb("closureDepMethodUsageChecks",yG(tG(CO,1),xUc,5,0,[l8,Vyb,Wyb]));Uhb(JYc,yG(tG(CO,1),xUc,5,0,[(zxb(),yxb),xxb]));whb=Uhb("lateProvide",yG(tG(CO,1),xUc,5,0,[Yyb]));Uhb("missingPolyfill",yG(tG(CO,1),xUc,5,0,[(nBb(),mBb)]));Uhb("polymer",yG(tG(CO,1),xUc,5,0,[(Jyb(),Hyb)]));Lhb=Uhb("unsupportedBoundedGenericTypes", -yG(tG(CO,1),xUc,5,0,[$Bb]));jhb=Uhb("boundedGenericTypeError",yG(tG(CO,1),xUc,5,0,[HBb]));Uhb(KYc,yG(tG(CO,1),xUc,5,0,[Iyb]));Uhb("invalidProvide",yG(tG(CO,1),xUc,5,0,[Xyb]));Uhb("es6Typed",yG(tG(CO,1),xUc,5,0,[RBb]));Shb(LYc,new Ygb(LYc,yG(tG(CO,1),xUc,5,0,[Mhb])));Uhb("conflictingIjsFile",yG(tG(CO,1),xUc,5,0,[(SLb(),RLb)]))}function kSb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb;w=a.j.g; -k=DTb(a.j);e=a.j.n;d=ep(a.a,e);if(!d||e.length==0)RRb(a,G$c,e,a.j.g,DTb(a.j));else{Hbc(a.f,e,w,k);switch(d.f){case 0:qac(a.f.a)?PRb(a,"msg.jsdoc.nginject.extra",a.j.g,DTb(a.j)):rcc(a.f);return ZRb(a,!a.o?ETb(a.j):WRb(a));case 1:Lbc(a.f)||SRb(a,B_c,a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 2:if(a.f.d){g=aSb(a);f=g.a;f.length==0?PRb(a,"msg.jsdoc.authormissing",a.j.g,DTb(a.j)):Bbc(a.f,f);b=g.b}else b=ZRb(a,!a.o?ETb(a.j):WRb(a));return b;case 55:Qcc(a.f)||SRb(a,B_c,a.j.g,DTb(a.j));return ZRb(a, -!a.o?ETb(a.j):WRb(a));case 47:Gcc(a.f)||SRb(a,B_c,a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 11:Xbc(a.f)||SRb(a,B_c,a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 5:Rbc(a.f)||(nac(a.f.a)?SRb(a,C_c,a.j.g,DTb(a.j)):SRb(a,B_c,a.j.g,DTb(a.j)));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 7:hcc(a.f)||SRb(a,"msg.jsdoc.record",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 9:Ubc(a.f)||PRb(a,"msg.jsdoc.deprecated",a.j.g,DTb(a.j));L=_Rb(a,b,a.g?0:2,false);K=L.a;K.length>0&&Vbc(a.f, -K);b=L.b;return b;case 24:icc(a.f)||((a.f.a.a&2)!=0?SRb(a,C_c,a.j.g,DTb(a.j)):SRb(a,B_c,a.j.g,DTb(a.j)));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 10:if(Q9b(a.f.a)!=null){PRb(a,"msg.jsdoc.desc.extra",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a))}else{m=_Rb(a,b,a.g?0:2,false);l=m.a;Wbc(a.f,l);b=m.b;return b}case 17:n="";if(a.f.d&&!cSb(a,64)){o=_Rb(a,b,a.g?0:1,false);n=o.a;b=o.b}else b=ZRb(a,!a.o?ETb(a.j):WRb(a));bcc(a.f,n)||PRb(a,"msg.jsdoc.fileoverview.extra",a.j.g,DTb(a.j));return b;case 26:case 41:J= -_Rb(a,b,0,true);I=J.a;I.length>0&&!!a.d&&Cbc(a.d,I);b=J.b;return b;case 12:b=!a.o?ETb(a.j):WRb(a);w=a.j.g;k=DTb(a.j);ib=null;if(b!=(xTb(),iTb)&&b!=gTb){lb=jSb(a,b,a.j.g,DTb(a.j),b==mTb,false);if(!!lb&&lb.n==(Nlc(),olc)){jb=lb.Di();MRb.Td(jb)||(lb=RSb(a,(Nlc(),_ic),lb))}ib=!lb?null:new bdc(lb,(R=bec(a.n,(thc(),khc)),!R?null:R.ah()))}else a.o=b;!ib&&(ib=VRb(a,gSb(a,hUc,a.j.g,DTb(a.j))));Ybc(a.f,ib)||a.c.gi(z_c+tic(B_c,yG(tG(qZ,1),xUc,1,5,[]))+A_c,(S=bec(a.n,(thc(),khc)),!S?null:S.ah()),w,k);return ZRb(a, -!a.o?ETb(a.j):WRb(a));case 16:$bc(a.f)||PRb(a,"msg.jsdoc.expose",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 14:acc(a.f)||PRb(a,"msg.jsdoc.externs",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 54:Ncc(a.f)||PRb(a,"msg.jsdoc.typesummary",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 13:case 21:PSb(a);b=!a.o?ETb(a.j):WRb(a);w=a.j.g;k=DTb(a.j);A=false;if(b==(xTb(),mTb)){b=!a.o?ETb(a.j):WRb(a);A=true}if(b==wTb){lb=jSb(a,b,w,k,A,true);w=a.j.g;k=DTb(a.j);lb=RSb(a,(Nlc(), -_ic),lb);ib=!lb?null:new bdc(lb,(R=bec(a.n,(thc(),khc)),!R?null:R.ah()));if(d==(cOb(),kNb))dGc(c,new WSb(ib,a.j.g,DTb(a.j)));else{Ud(d==qNb);fcc(a.f,ib)||a.c.gi(z_c+tic("msg.jsdoc.implements.duplicate",yG(tG(qZ,1),xUc,1,5,[]))+A_c,(W=bec(a.n,(thc(),khc)),!W?null:W.ah()),w,k)}b=!a.o?ETb(a.j):WRb(a);A?b!=sTb?SRb(a,D_c,a.j.g,DTb(a.j)):b=!a.o?ETb(a.j):WRb(a):b!=iTb&&b!=hTb&&b!=gTb&&SRb(a,"msg.end.annotation.expected",a.j.g,DTb(a.j))}else b==dTb||b==qTb?a.c.gi(z_c+tic("msg.jsdoc.implements.extraqualifier", -yG(tG(qZ,1),xUc,1,5,[]))+A_c,(X=bec(a.n,(thc(),khc)),!X?null:X.ah()),w,k):a.c.gi(z_c+tic("msg.no.type.name",yG(tG(qZ,1),xUc,1,5,[]))+A_c,(Y=bec(a.n,(thc(),khc)),!Y?null:Y.ah()),w,k);b=ZRb(a,b);return b;case 19:dcc(a.f)||PRb(a,"msg.jsdoc.hidden",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 25:PSb(a);A=false;if(dSb(a,(xTb(),mTb))){b=!a.o?ETb(a.j):WRb(a);A=true}if(dSb(a,wTb)){v=VRb(a,wSb(a,!a.o?ETb(a.j):WRb(a)));jcc(a.f,v)||SRb(a,"msg.jsdoc.lends.incompatible",a.j.g,DTb(a.j))}else SRb(a,"msg.jsdoc.lends.missing", -a.j.g,DTb(a.j));A&&!dSb(a,sTb)&&SRb(a,D_c,a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 27:C=_Rb(a,b,a.g?0:2,false);B=C.a;b=C.b;mcc(a.f,B)||PRb(a,"msg.jsdoc.meaning.extra",a.j.g,DTb(a.j));return b;case 3:PSb(a);return mSb(a,!a.o?ETb(a.j):WRb(a));case 32:tcc(a.f)||PRb(a,"msg.jsdoc.nocompile",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 31:scc(a.f)||PRb(a,"msg.jsdoc.nocollapse",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 33:ucc(a.f)||PRb(a,"msg.jsdoc.noinline",a.j.g, -DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 35:return ZRb(a,!a.o?ETb(a.j):WRb(a));case 23:case 36:ycc(a.f)||SRb(a,"msg.jsdoc.override",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 39:rac(a.f.a)?PRb(a,"msg.jsdoc.polymer.extra",a.j.g,DTb(a.j)):Bcc(a.f);return ZRb(a,!a.o?ETb(a.j):WRb(a));case 40:sac(a.f.a)?PRb(a,"msg.jsdoc.polymerBehavior.extra",a.j.g,DTb(a.j)):Ccc(a.f);return ZRb(a,!a.o?ETb(a.j):WRb(a));case 6:mac(a.f.a)?PRb(a,"msg.jsdoc.customElement.extra",a.j.g,DTb(a.j)):Sbc(a.f); -return ZRb(a,!a.o?ETb(a.j):WRb(a));case 28:oac(a.f.a)?PRb(a,"msg.jsdoc.mixinClass.extra",a.j.g,DTb(a.j)):ncc(a.f);return ZRb(a,!a.o?ETb(a.j):WRb(a));case 29:pac(a.f.a)?PRb(a,"msg.jsdoc.mixinFunction.extra",a.j.g,DTb(a.j)):occ(a.f);return ZRb(a,!a.o?ETb(a.j):WRb(a));case 51:{PSb(a);b=!a.o?ETb(a.j):WRb(a);w=a.j.g;k=DTb(a.j);ib=null;if(b==(xTb(),mTb)){ib=VRb(a,jSb(a,b,a.j.g,DTb(a.j),b==mTb,false));if(!ib)return ZRb(a,!a.o?ETb(a.j):WRb(a))}b=WRb(a);Lcc(a.f,ib);t=cSb(a,64);if(a.f.d&&!t){m=_Rb(a,b,a.g? -0:2,false);l=m.a;l.length>0&&Kcc(a.f,ib,l);b=m.b}else b=ZRb(a,!a.o?ETb(a.j):WRb(a));return b}case 38:PSb(a);b=!a.o?ETb(a.j):WRb(a);w=a.j.g;k=DTb(a.j);ib=null;q=false;if(b==(xTb(),mTb)){ib=VRb(a,(Gd(b==mTb),ob=a.j.g,pb=DTb(a.j),qb=(Gd(b==mTb),PSb(a),rb=xSb(a,!a.o?ETb(a.j):WRb(a)),!!rb&&(dSb(a,sTb)?!a.o?ETb(a.j):WRb(a):(SRb(a,D_c,a.j.g,DTb(a.j)),null)),rb),MSb(a,ob,pb,qb,true),qb));if(!ib)return ZRb(a,!a.o?ETb(a.j):WRb(a));PSb(a);b=!a.o?ETb(a.j):WRb(a);w=a.j.g;k=DTb(a.j);q=true}D=null;u=oTb==b;u&&(b= -!a.o?ETb(a.j):WRb(a));if(wTb!=b)a.c.gi(z_c+tic("msg.missing.variable.name",yG(tG(qZ,1),xUc,1,5,[]))+A_c,(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k);else{q||ORb(a,a.j.g,DTb(a.j));D=a.j.n;if(u){b=!a.o?ETb(a.j):WRb(a);if(jTb==b){b=!a.o?ETb(a.j):WRb(a);wTb==b&&(b=!a.o?ETb(a.j):WRb(a))}uTb!=b?(SRb(a,"msg.jsdoc.missing.rb",a.j.g,DTb(a.j)),null):!!ib&&(ib=edc(ib))}$cc();if(Zcc.test(D))zcc(a.f,D,ib)||(Fbc(a.f,D)?a.c.gi(z_c+tic("msg.dup.variable.name",yG(tG(qZ,1),xUc,1,5,[D]))+A_c,(R=bec(a.n,(thc(),khc)), -!R?null:R.ah()),w,k):a.c.gi(z_c+tic(B_c,yG(tG(qZ,1),xUc,1,5,[D]))+A_c,(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k));else{a.c.gi(tic("msg.invalid.variable.name",yG(tG(qZ,1),xUc,1,5,[D])),(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k);D=null}}if(D==null){b=ZRb(a,b);return b}Ibc(a.f,D,a.n,w,k);if(a.f.d&&b!=cTb){H=_Rb(a,b,a.g?0:2,false);G=H.a;G.length>0&&Acc(a.f,D,G);b=H.b}else b!=gTb&&b!=hTb&&(b=ZRb(a,!a.o?ETb(a.j):WRb(a)));return b;case 34:vcc(a.f)||PRb(a,"msg.jsdoc.nosideeffects",a.j.g,DTb(a.j));return ZRb(a, -!a.o?ETb(a.j):WRb(a));case 30:b=vSb(a,!a.o?ETb(a.j):WRb(a));return b;case 22:gcc(a.f)||SRb(a,"msg.jsdoc.implicitcast",a.j.g,DTb(a.j));return ZRb(a,!a.o?ETb(a.j):WRb(a));case 46:if(a.f.d){N=aSb(a);M=N.a;M.length==0?PRb(a,"msg.jsdoc.seemissing",a.j.g,DTb(a.j)):Dbc(a.f,M);b=N.b}else b=ZRb(a,!a.o?ETb(a.j):WRb(a));return b;case 48:b=BSb(a,!a.o?ETb(a.j):WRb(a));return b;case 49:{h=null;if(dSb(a,(xTb(),mTb))){a.c.gi(tic("msg.jsdoc.template.boundedgenerics.used",yG(tG(qZ,1),xUc,1,5,[])),(R=bec(a.n,(thc(), -khc)),!R?null:R.ah()),w,k);i=FSb(a,!a.o?ETb(a.j):WRb(a));!!i&&(h=!i?null:new bdc(i,(Q=bec(a.n,khc),!Q?null:Q.ah())))}fb=new nGc;if(!dSb(a,eTb)){do{F=wSb(a,!a.o?ETb(a.j):WRb(a));db=!F?null:F.Di();db!=null&&db.length!=0&&Yb(JRb,db)&&(fb.a[fb.a.length]=db,true)}while(XRb(a,fTb))}gb=null;if(dSb(a,eTb)){hb=_Rb(a,WRb(a),1,false);b=hb.b;gb=DSb(a,hb,w,k)}else b=ZRb(a,WRb(a));switch(fb.a.length){case 0:a.c.gi(z_c+tic("msg.jsdoc.template.name.missing",yG(tG(qZ,1),xUc,1,5,[]))+A_c,(R=bec(a.n,(thc(),khc)),!R? -null:R.ah()),w,k);return b;case 1:break;default:(!!h||!!gb)&&a.c.gi(z_c+tic("msg.jsdoc.template.multipleDeclaration",yG(tG(qZ,1),xUc,1,5,[]))+A_c,(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k)}if(!!h&&!!gb){a.c.gi(z_c+tic("msg.jsdoc.template.boundsWithTTL",yG(tG(qZ,1),xUc,1,5,[]))+A_c,(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k);return b}if(gb)Occ(a.f,fb.a[0],gb)||a.c.gi(z_c+tic(E_c,yG(tG(qZ,1),xUc,1,5,[]))+A_c,(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k);else if(h)Icc(a.f,fb.a[0],h)||a.c.gi(z_c+tic(E_c, -yG(tG(qZ,1),xUc,1,5,[]))+A_c,(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k);else for(eb=new FGc(fb);eb.a0&&Dcc(a.f,O); -b=P.b}else b=ZRb(a,!a.o?ETb(a.j):WRb(a));return b;case 50:Jcc(a.f,ib)||a.c.gi(z_c+tic(B_c,yG(tG(qZ,1),xUc,1,5,[]))+A_c,(V=bec(a.n,(thc(),khc)),!V?null:V.ah()),w,k);break;case 53:Pcc(a.f,ib)||a.c.gi(z_c+tic(B_c,yG(tG(qZ,1),xUc,1,5,[]))+A_c,(Q=bec(a.n,(thc(),khc)),!Q?null:Q.ah()),w,k)}}return ZRb(a,!a.o?ETb(a.j):WRb(a))}}return!a.o?ETb(a.j):WRb(a)}function Y8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb;if(a.i&&!!bec(b,(thc(), -Zgc))){G=Crb(a.e,bec(b,(thc(),Zgc)));MBc(G,"/** */ ")||r8(a.c,G)}cb=b.n;N=kwb(cb);p=Ydc(b);t=b.c;H=b.c?b.c.i:null;if(N!=null&&t!=H){$d(p==2,N,p);O=n9(a,b);Y=c.b?c:(H9(),C9);K=(c==(H9(),F9)||c.a)&&t.n==(Nlc(),Skc);b.n==(Nlc(),Nic)&&K&&r8(a.c,"(");if(gvb(b)||cb==Jjc){b9(a,t,O+1,c);t8(a.c,N,true);b9(a,H,O,Y)}else q9(a,b,cb,N,c,Y,O,O+1);b.n==Nic&&K&&r8(a.c,")");return}a.c.Mh(b);switch(cb.f){case 44:{Ud(t.f.n==(Nlc(),ejc)&&!hec(t.f));Ud(p>=2&&p<=3);r8(a.c,"try");a.Nh(t,(H9(),C9));n=t.f.c;!!n&&a.Nh(n,C9); -if(p==3){a.c.Hh();r8(a.c,oXc);a.Nh(H,C9)}break}case 78:Vd(p==2,b);a.c.Hh();r8(a.c,"catch");a.c.Hh();if(t.n!=(Nlc(),Djc)){r8(a.c,"(");a.Nh(t,(H9(),C9));r8(a.c,")")}a.Nh(H,(H9(),C9));break;case 39:Vd(p==1,b);r8(a.c,"throw");a.c.Hh();a.Nh(t,(H9(),C9));a.c.Dh(true);break;case 0:r8(a.c,pXc);if(p==1){a.c.Hh();if(a.i&&!!bec(t,(thc(),Zgc))){r8(a.c,"(");a.Nh(t,(H9(),C9));r8(a.c,")")}else a.Nh(t,(H9(),C9))}else Vd(p==0,b);a.c.Dh(false);break;case 76:r8(a.c,"var ");f9(a,t,false,c.b?c:(H9(),C9),",");(!b.g||(uub(), -b.n!=(Nlc(),Ckc)&&Wvb(b.g)))&&a.c.Dh(false);break;case 88:r8(a.c,"const ");f9(a,t,false,c.b?c:(H9(),C9),",");(!b.g||(uub(),b.n!=(Nlc(),Ckc)&&Wvb(b.g)))&&a.c.Dh(false);break;case 100:r8(a.c,"let ");f9(a,t,false,c.b?c:(H9(),C9),",");(!b.g||(uub(),b.n!=(Nlc(),Ckc)&&Wvb(b.g)))&&a.c.Dh(false);break;case 90:Vd(b.Di().length!=0,b);d9(a,b.Di());break;case 95:a.Nh(t,(H9(),C9));if(t!=H){Vd(p==2,b);t8(a.c,"=",true);a.Nh(H,C9)}break;case 29:a.n&&bec(b,(thc(),ehc))!=null?d9(a,bec(b,(thc(),ehc))):d9(a,b.Di()); -$dc(b,(Jdc(),Adc))!=0&&r8(a.c,"?");m9(a,b);if(!!t&&t.n!=(Nlc(),Djc)){Vd(p==1,b);t8(a.c,"=",true);t.n==(Nlc(),pjc)||t.n==kjc&&t.c.n==pjc?b9(a,t,mwb(Nic),(H9(),C9)):b9(a,t,0,c.b?c:(H9(),C9))}break;case 42:r8(a.c,"[");_8(a,t);r8(a.c,"]");break;case 93:r8(a.c,"[");_8(a,t);r8(a.c,"]");m9(a,b);break;case 45:if(kec(b.g)&&!!b.c&&!b.c.f&&t.n==(Nlc(),Ekc)&&!EVb(a.f,(aXb(),$Wb)))a.Nh(t,(H9(),C9));else{r8(a.c,"(");f9(a,t,true,(H9(),C9),",");r8(a.c,")")}break;case 123:a.Nh(t,(H9(),C9));m9(a,b);t8(a.c,"=",true); -b9(a,t.f,1,C9);break;case 46:Vd(p==2,b);q9(a,b,(Nlc(),pjc),",",c,c.b?c:(H9(),C9),0,0);break;case 30:Vd(p==0,b);a.c.rh(b.Bi(),b);break;case 25:case 79:case 19:case 20:case 21:{Vd(p==1,b);t8(a.c,lwb(cb),false);b9(a,t,mwb(cb),(H9(),C9));break}case 22:{Vd(p==1,b);if(b.c.n==(Nlc(),Pkc))a.c.rh(-b.c.Bi(),b.c);else{t8(a.c,lwb(cb),false);b9(a,t,mwb(cb),(H9(),C9))}break}case 60:{Vd(p==3,b);O=mwb(cb);Y=c.b?c:(H9(),C9);b9(a,t,O+1,c);t8(a.c,"?",true);b9(a,t.f,1,Y);t8(a.c,":",true);b9(a,H,1,Y);break}case 38:if(t.n!= -(Nlc(),olc)||H.n!=olc)throw p0(new Pzc("Expected children to be strings"));W="/"+p9(a,t.Di(),'"',"'","\\",false,true)+"/";if(p==2)Z8(a,W+H.Di());else{Vd(p==1,b);r8(a.c,W)}break;case 65:{if(b.Ik!=BX)throw p0(new Pzc(qXc));Vd(p==3,b);b.n==(Nlc(),Tjc)&&$dc(b,(thc(),sgc))!=0?(Vd(t.Di().length==0,t),db=(eb=b.g,!!eb&&(uub(),hvb(eb.n)||Yvb(eb.n)||$vb(eb.n)||eb.n==ulc||eb.n==Zjc||(eb.n==Yjc||eb.n==hjc||eb.n==akc)&&(fb=b.g,!!fb&&b==fb.c))),db&&r8(a.c,"("),gb=bec(t,(Jdc(),tdc)),!!gb&&a.Nh(gb,(H9(),C9)),b.n== -Tjc&&$dc(b,(thc(),tgc))!=0&&r8(a.c,rXc),a.Nh(t.f,(H9(),C9)),m9(a,b),t8(a.c,"=>",true),H.n==ejc?a.Nh(H,C9):b9(a,H,mwb(pjc)+1,c.b?E9:D9),a.c.Ah(c==G9),db&&r8(a.c,")"),undefined):c9(a,b,t,H,c);break}case 114:case 115:r8(a.c,sXc);a.Nh(t,(H9(),C9));m9(a,b);break;case 116:case 117:r8(a.c,sXc);a.Nh(b.c,(H9(),C9));break;case 109:r8(a.c,tXc);$dc(b,(Jdc(),pdc))!=0&&r8(a.c,uXc);if($dc(b,odc)!=0){r8(a.c,"*");Vd(!!t&&t.n==(Nlc(),Djc),b)}else a.Nh(t,(H9(),C9));if(p==2){r8(a.c,vXc);a.Nh(H,(H9(),C9))}o9(a,t,c);break; -case 105:r8(a.c,wXc);Z=t.f;if(t.n!=(Nlc(),Djc)){a.Nh(t,(H9(),C9));Z.n==Djc||a.c.Fh()}Z.n==Djc||a.Nh(Z,(H9(),C9));(t.n!=Djc||Z.n!=Djc)&&r8(a.c,vXc);a.Nh(H,(H9(),C9));a.c.Dh(false);break;case 110:case 106:r8(a.c,"{");for(j=t;j;j=j.f){j!=t&&a.c.Fh();a.Nh(j,(H9(),C9))}r8(a.c,"}");break;case 111:case 107:a.Nh(t,(H9(),C9));if($dc(b,(thc(),Xgc))!=0&&MBc(t.Di(),H.Di()))break;r8(a.c,"as");a.Nh(H,C9);break;case 108:r8(a.c,"*");r8(a.c,"as");Z8(a,b.Di());break;case 113:r8(a.c,"import(");b9(a,t,mwb(cb),c);r8(a.c, -")");break;case 125:r8(a.c,xXc);break;case 96:{Vd(p==3,b);q=c==(H9(),F9);q&&r8(a.c,"(");J=t;$=t.f;I=H;r8(a.c,yXc);J.n==(Nlc(),Djc)||a.Nh(J,C9);A=bec(t,(Jdc(),tdc));!!A&&a.Nh(A,C9);if($.n!=Djc){r8(a.c,zXc);a.Nh($,C9)}D=bec(b,vdc);if(D){r8(a.c,AXc);o=D.c;a.Nh(o,C9);while(o=o.f){r8(a.c,",");a.c.Hh();a.Nh(o,C9)}}a.Nh(I,C9);y8(a.c,c==G9);q&&r8(a.c,")")}break;case 97:case 155:case 165:u8(a.c);for(k=t;k;k=k.f){a.Nh(k,(H9(),C9));o9(a,k,c);a.c.Bh()}x8(a.c,false);break;case 157:u8(a.c);for(l=t;l;l=l.f){a.Nh(l, -(H9(),C9));!!l.f&&r8(a.c,",");a.c.Bh()}x8(a.c,false);break;case 86:case 87:case 98:case 161:{Ud(b.g.n==(Nlc(),Rkc)||b.g.n==njc||b.g.n==okc||b.g.n==dlc||b.g.n==kkc);e=bec(b,(Jdc(),gdc));!!e&&Z8(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");$dc(b,(thc(),lhc))!=0&&r8(a.c,"static ");b.n==zkc&&lec(b.c)&&r8(a.c,"async ");if(b.n!=Akc&&$dc(b.c,Lgc)!=0){Vd(cb==zkc,b);r8(a.c,"*")}switch(cb.f){case 86:Vd(!t.c.f.c,b);r8(a.c,"get ");break;case 87:Vd(iec(t.c.f),b);r8(a.c,"set ")}J=b.Di();if(b.n==Akc){Z8(a,b.Di()); -$dc(b,Adc)!=0&&r8(a.c,"?");m9(a,b)}else{Vd(p==1,b);Vd(t.n==Tjc,t);Vd(t.c.Di().length==0,t);u=t;P=u.c.f;h=u.c?u.c.i:null;if(!b.Fi()&&($cc(),Zcc.test(J))&&Gvb(J)){r8(a.c,J);l9(a,u.c)}else{r=w9(J);isNaN(r)?e9(a,b):a.c.rh(r,b)}$dc(u,Adc)!=0&&r8(a.c,"?");a.Nh(P,(H9(),C9));m9(a,u);a.Nh(h,C9)}break}case 85:case 112:case 82:case 81:{if(b.Ik!=BX)throw p0(new Pzc(qXc));V=b.n==(Nlc(),ejc)&&$dc(b,(thc(),mhc))==0;V&&u8(a.c);U=cb==jlc||cb==ejc&&!V&&b.g.n==jlc;for(m=t;m;m=m.f){a.Nh(m,(H9(),G9));(m.n==Tjc||m.n== -mjc)&&a.c.Ih();U&&a.c.Jh()}V&&x8(a.c,a.c.xh(b,c==(H9(),G9)));break}case 72:Vd(p==4,b);r8(a.c,"for");a.c.Hh();r8(a.c,"(");uub();!!t&&(t.n==(Nlc(),Hlc)||t.n==wkc||t.n==rjc)?a.Nh(t,(H9(),B9)):b9(a,t,0,(H9(),B9));r8(a.c,";");t.f.n==(Nlc(),Djc)||a.c.Hh();a.Nh(t.f,(H9(),C9));r8(a.c,";");t.f.f.n==Djc||a.c.Hh();a.Nh(t.f.f,C9);r8(a.c,")");g9(a,H,c==A9?A9:C9,false);break;case 73:Vd(p==3,b);r8(a.c,"for");a.c.Hh();r8(a.c,"(");a.Nh(t,(H9(),C9));r8(a.c,"in");a.Nh(t.f,C9);r8(a.c,")");g9(a,H,c==A9?A9:C9,false);break; -case 101:Vd(p==3,b);r8(a.c,"for");a.c.Hh();r8(a.c,"(");a.Nh(t,(H9(),C9));a.c.Hh();r8(a.c,"of");a.c.Hh();a.Nh(t.f,C9);r8(a.c,")");g9(a,H,c==A9?A9:C9,false);break;case 102:Vd(p==3,b);r8(a.c,"for await");a.c.Hh();r8(a.c,"(");a.Nh(t,(H9(),C9));a.c.Hh();r8(a.c,"of");a.c.Hh();a.Nh(t.f,C9);r8(a.c,")");g9(a,H,c==A9?A9:C9,false);break;case 71:Vd(p==2,b);r8(a.c,"do");g9(a,t,(H9(),C9),false);a.c.Hh();r8(a.c,BXc);a.c.Hh();r8(a.c,"(");a.Nh(H,C9);r8(a.c,")");a.c.Dh(false);break;case 70:Vd(p==2,b);r8(a.c,BXc);a.c.Hh(); -r8(a.c,"(");a.Nh(t,(H9(),C9));r8(a.c,")");g9(a,H,c==A9?A9:C9,false);break;case 80:Vd(p==0,b);break;case 26:{if(a.n&&bec(b,(thc(),ehc))!=null){Cec(b.c,"$jscomp.scope")&&b.g.n==(Nlc(),Nic)&&r8(a.c,"var ");d9(a,bec(b,(thc(),ehc)));break}Wd(p==2,"Bad GETPROP: expected 2 children, but got %s",p);Vd(H.n==(Nlc(),olc),"Bad GETPROP: RHS should be STRING");K=t.n==Pkc;K&&r8(a.c,"(");b9(a,t,mwb(cb),c);K&&r8(a.c,")");if(a.j&&Rlc(H.Di())){r8(a.c,"[");a.Nh(H,(H9(),C9));r8(a.c,"]")}else{r8(a.c,".");d9(a,H.Di())}break}case 27:Yd(p== -2,p,b);b9(a,t,mwb(cb),c);r8(a.c,"[");a.Nh(t.f,(H9(),C9));r8(a.c,"]");break;case 77:Vd(p==2,b);r8(a.c,"with(");a.Nh(t,(H9(),C9));r8(a.c,")");g9(a,H,c==A9?A9:C9,false);break;case 63:case 64:{Vd(p==1,b);M=cb==(Nlc(),jkc)?"++":"--";R=$dc(b,(Jdc(),wdc))!=0;if(R){b9(a,t,mwb(cb),c);t8(a.c,M,false)}else{t8(a.c,M,false);a.Nh(t,(H9(),C9))}break}case 28:if(t.n==(Nlc(),Ekc)&&MBc("eval",t.Di())&&$dc(t,(Jdc(),mdc))==0||$dc(b,(Jdc(),rdc))!=0&&(uub(),t.n==Zjc||t.n==Yjc)){r8(a.c,"(0,");b9(a,t,mwb(pjc),(H9(),C9)); -r8(a.c,")")}else b9(a,t,mwb(cb),c);g=t.f;r8(a.c,"(");f9(a,g,true,(H9(),C9),",");r8(a.c,")");break;case 66:Vd(p==2||p==3,b);B=p==3;f=c==(H9(),A9)&&!B;f&&u8(a.c);r8(a.c,"if");a.c.Hh();r8(a.c,"(");a.Nh(t,C9);r8(a.c,")");if(B){g9(a,t.f,A9,false);a.c.Hh();r8(a.c,"else");g9(a,H,c==A9?A9:C9,false)}else g9(a,t.f,C9,false);f&&x8(a.c,false);break;case 32:Vd(p==0,b);r8(a.c,uUc);break;case 33:Vd(p==0,b);r8(a.c,XVc);break;case 99:Vd(p==0,b);r8(a.c,VVc);break;case 124:Vd(p==0,b);r8(a.c,CXc);break;case 103:r8(a.c, -DXc);if($dc(b,(thc(),shc))!=0){Pd(t);r8(a.c,"*")}if(t){a.c.Hh();b9(a,t,mwb(cb),(H9(),C9))}break;case 104:r8(a.c,"await ");b9(a,t,mwb(cb),(H9(),C9));break;case 34:Vd(p==0,b);r8(a.c,EXc);break;case 35:Vd(p==0,b);r8(a.c,FXc);break;case 75:Vd(p<=1,b);r8(a.c,GXc);if(p==1){if(t.n!=(Nlc(),skc))throw p0(new Pzc(HXc));r8(a.c," ");a.Nh(t,(H9(),C9))}a.c.Dh(false);break;case 89:Vd(p==0,b);r8(a.c,IXc);a.c.Dh(false);break;case 74:Vd(p<=1,b);r8(a.c,"break");if(p==1){if(t.n!=(Nlc(),skc))throw p0(new Pzc(HXc));r8(a.c, -" ");a.Nh(t,(H9(),C9))}a.c.Dh(false);break;case 84:Vd(p==1,b);a.Nh(t,(H9(),F9));a.c.Dh(false);break;case 23:r8(a.c,"new ");S=mwb(cb);T=mwb(t.n);T==S&&(S=S+1);zub(t,(Nlc(),hjc),(uub(),tub))&&(S=mwb(t.n)+1);b9(a,t,S,(H9(),C9));L=t.f;if(L){r8(a.c,"(");f9(a,L,true,C9,",");r8(a.c,")")}break;case 91:i9(a,b);break;case 31:Zd(p==0,"String node %s may not have children",b);e9(a,b);break;case 24:Vd(p==1,b);r8(a.c,"delete ");a.Nh(t,(H9(),C9));break;case 43:{K=c==(H9(),F9)||c.a;K&&r8(a.c,"(");r8(a.c,"{");for(m= -t;m;m=m.f){m!=t&&a.c.Fh();Vd((uub(),m.n==(Nlc(),plc)||m.n==$jc||m.n==klc||m.n==zkc||m.n==qjc||m.n==qkc||m.n==Ukc),m);a.Nh(m,C9)}r8(a.c,"}");K&&r8(a.c,")");break}case 118:d=bec(b,(Jdc(),gdc));!!d&&Z8(a,(d.e!=null?d.e:""+d.f).toLowerCase()+" ");$dc(b,Gdc)!=0&&r8(a.c,"static ");if($dc(b,hdc)!=0)r8(a.c,"get ");else if($dc(b,jdc)!=0)r8(a.c,"set ");else if($dc(b,idc)!=0){H.n==(Nlc(),Tjc)&&$dc(H,(thc(),tgc))!=0&&r8(a.c,rXc);$dc(H,sdc)!=0&&r8(a.c,"*")}r8(a.c,"[");b9(a,t,1,(H9(),C9));r8(a.c,"]");m9(a,b);if($dc(b, -idc)!=0||$dc(b,hdc)!=0||$dc(b,jdc)!=0){v=t.f;Q=v.c.f;h=v.c?v.c.i:null;a.Nh(Q,C9);a.Nh(h,C9)}else{F=b.g.n==(Nlc(),njc);C=t.f;if(C){Vd(!F,"initializers should only exist in object literals, not classes");r8(a.c,":");b9(a,C,1,C9)}else Vd($dc(b,kdc)!=0,b)}break;case 94:h9(a,b);m9(a,b);break;case 67:r8(a.c,"switch(");a.Nh(t,(H9(),C9));r8(a.c,")");u8(a.c);$8(a,t.f);x8(a.c,c==G9);break;case 68:Vd(p==2,b);r8(a.c,"case ");a.Nh(t,(H9(),C9));a9(a,H);break;case 69:Vd(p==1,b);r8(a.c,uXc);a9(a,t);break;case 83:Vd(p== -2,b);if(t.n!=(Nlc(),skc))throw p0(new Pzc(HXc));a.Nh(t,(H9(),C9));r8(a.c,":");H.n==ejc||a.c.Hh();g9(a,H,c==A9?A9:C9,true);break;case 92:if(a.i){r8(a.c,"(");a.Nh(t,(H9(),C9));r8(a.c,")")}else a.Nh(t,c);break;case 119:a.Nh(t,(H9(),F9));a.Nh(t.f,C9);break;case 120:v8(a.c);for(i=t;i;i=i.f)if(i.n==(Nlc(),wlc))Z8(a,j9(i.Ci()));else{w8(a.c);a.Nh(i.c,(H9(),F9));A8(a.c)}z8(a.c);break;case 126:r8(a.c,jUc);break;case 127:r8(a.c,gUc);break;case 128:r8(a.c,hUc);break;case 132:r8(a.c,"any");break;case 134:r8(a.c, -JXc);break;case 136:a.Nh(t,(H9(),C9));break;case 140:b9(a,t,mwb((Nlc(),Mic)),c);r8(a.c,"[]");break;case 129:X=t;r8(a.c,"(");f9(a,t.f,true,(H9(),C9),",");r8(a.c,")");t8(a.c,"=>",true);a.Nh(X,C9);break;case 131:f9(a,t,true,(H9(),C9),"|");break;case 138:r8(a.c,"{");f9(a,t,false,(H9(),C9),",");r8(a.c,"}");break;case 130:a.Nh(t,(H9(),C9));r8(a.c,"<");f9(a,t.f,true,C9,",");r8(a.c,">");break;case 142:r8(a.c,"<");f9(a,t,false,(H9(),G9),",");r8(a.c,">");break;case 141:d9(a,b.Di());if(b.c){r8(a.c,zXc);a.c.Hh(); -a.Nh(b.c,(H9(),C9))}break;case 153:{Vd(p==3,b);J=t;bb=t.f;I=H;r8(a.c,KXc);a.Nh(J,(H9(),C9));A=bec(J,(Jdc(),tdc));!!A&&a.Nh(A,C9);if(bb.n!=(Nlc(),Djc)){r8(a.c,zXc);ab=bb.c;a.Nh(ab,C9);while(ab=ab.f){r8(a.c,",");a.c.Hh();a.Nh(ab,C9)}}a.Nh(I,C9)}break;case 156:{Vd(p==2,b);J=t;I=H;r8(a.c,LXc);a.Nh(J,(H9(),C9));a.Nh(I,C9);break}case 164:{Vd(p==2,b);J=t;s=H;r8(a.c,"namespace");a.Nh(J,(H9(),C9));a.Nh(s,C9);break}case 159:r8(a.c,MXc);Z8(a,b.Di());t8(a.c,"=",true);a.Nh(H,(H9(),C9));a.c.Dh(true);break;case 160:r8(a.c, -"declare");a.Nh(t,(H9(),C9));o9(a,b,c);break;case 162:r8(a.c,"[");a.Nh(t,(H9(),C9));r8(a.c,"]");m9(a,b);a.c.Dh(true);break;case 163:$dc(b,(Jdc(),ldc))!=0&&r8(a.c,"new ");w=bec(b,tdc);!!w&&a.Nh(w,(H9(),C9));a.Nh(t,(H9(),C9));m9(a,b);a.c.Dh(true);break;default:throw p0(new CF("Unknown token "+cb+vVc+ffc(b)));}a.c.Ch(b)}function u8b(){var a;a=new BCc;a.a+='{"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}\\n * @suppress {externsValidation}\\n */\\nIterable.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\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}\\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 * @interface\\n * @extends {Iterator}\\n * @extends {Iterable}\\n * @template T\\n */\\nfunction IteratorIterable() {}\\n\\n// END ES6 RETROFIT CODE\\n\\n\\n/**\\n * @interface\\n * @template KEY1, VALUE1\\n */\\nfunction IObject() {}\\n\\n/**\\n * @record\\n * @extends {IObject}\\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`, 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} 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 * @t'; +case 96:case 73:case 101:case 102:case 65:case 60:case 105:case 153:return 3;default:throw q0(new RAc("No arity defined for "+a));}}function pjb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D;D=Lec(b);q=Lec(b);d=Lec(b);B=a.g;if(a.a){r=smc(q.d.Ni());!!r&&(B=imc(r,Vtc(a.f,(ztc(),Isc))))}u=ojb(a,(ztc(),Ksc),B);s=a.a?(A=Koc(u?u:null,eZc),!A?null:A.wj((u?u:null).b)).rj():null;k=a.a?s.b.b:null;C=dec(D,(vhc(),_gc));o=W2(a.b,"$jscomp$iter$"+(""+a.c.Ng().a.S++),u);Hec(o,chc,1);i=B2(a.b,M2(a.b, +Vdc(o,false),eZc),yG(tG(CX,1),mWc,7,0,[]));t="$jscomp$key$";vub();!!D&&(D.n==(Plc(),Jlc)||D.n==ykc||D.n==tjc)?t+=D.c.Di():D.n==(Plc(),Gkc)?t+=D.Di():t+=Igb(a.e);p=W2(a.b,t,k);Hec(p,chc,1);e=Pob(a.c,q);if(a.a){j=e.c;Wec(j,Ftc(a.f,u,yG(tG(iY,1),zUc,23,0,[a.d])));Wec(j.c,Vtc(a.f,xtc));Wec(j.c.f,Vtc(a.f,qtc));e.d=u}m=M8b(Qob(Vdc(o,false),o.d),e,(Plc(),Jlc));n=Vdc(p,false);Pdc(n,Vdc(i,false));Odc(m,n);f=$2(a.b,M2(a.b,Vdc(p,false),"done"));l=x2(a.b,Vdc(p,false),Vdc(i,false));if(!!D&&(D.n==Jlc||D.n==ykc|| +D.n==tjc)){h=D.n;g=new ofc(h,ifc(W2(a.b,D.c.Di(),B),D.c));Odc(g.c,M2(a.b,Vdc(p,false),fZc));Iec(g,_gc,C)}else{g=x2(a.b,Qob(Vec(Vdc(D,false),null),B),M2(a.b,Vdc(p,false),fZc));Iec(g,_gc,C);g=(Vd(b9b(g),g),new ofc(Pjc,g))}v=ifc(J8b(yG(tG(CX,1),mWc,7,0,[g,d])),d);w=Q8b(m,f,l,v);lfc(w,b);Oec(c,b,w);a.c.Vg(w)}function rob(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;j=d.f;v=_dc(d,c);p=(Ud(!!c.c&&!c.c.f),c.c);t=p.Di();Hec(p,(vhc(),shc),1);Vec(p,dec(c,_gc));Oec(d,c,Xdc(p));l=dec(c,_gc);k=(vub(),m=Gub(d.g), +!m?null:dec(m,_gc));l?u=(nZc&l.a)==AZc?l.i:null:k?u=$9b(k,t):u=null;!!u&&u.a.n!=(Plc(),rkc)&&a.c.Tg(Qrb(c,hob,yG(tG(wZ,1),eWc,2,6,[])));if(!j.c){cub(b);return}r=Wec((Zd(RBc(BZc,jCc(46))==-1,kWc,BZc),Ldc(),new Lhc((Plc(),Gkc),BZc)),a.a);i=Wec((Zd(RBc(CZc,jCc(46))==-1,kWc,CZc),new Lhc(Gkc,CZc)),a.g);s=ifc((e=new mfc(gjc),e),j);o=(Zd(RBc(t,jCc(46))==-1,kWc,t),new Lhc(Gkc,t));n=lfc(M8b(o,r,ykc),j);Pdc(s,n);wub(b.f,(dXb(),CWb));for(g=(!j.c?(LHc(),LHc(),KHc):new yhc(j.c)).Xd();g.Jd();){f=g.Kd();Odc(s,Xdc(f))}q= +M8b(Vdc(r,false),Wec(E8b(yG(tG(CX,1),mWc,7,0,[])),a.a),Jlc);Pdc(j,lfc(q,c));h=lfc(Q8b(M8b(Vdc(i,false),Wec(new igc(v),a.g),Jlc),Wec(a9b(Vdc(i,false),Wec(T8b((Zd(RBc(UVc,jCc(46))==-1,kWc,UVc),new Lhc(Gkc,UVc)),new Lhc(qlc,"length")),a.g)),a.b),Wec(Y8b(Vdc(i,false)),a.g),I8b(P8b(Wec(G8b(S8b(Vdc(r,false),Wec(o9b(Vdc(i,false),Wec(new igc(v),a.g)),a.g)),Wec(S8b((Zd(RBc(UVc,jCc(46))==-1,kWc,UVc),new Lhc(Gkc,UVc)),Vdc(i,false)),a.g)),a.g)))),c);Mdc(j,h,q);Odc(j,s);a.c.Vg(s)}function HTb(a){var b,c,d;a.p= +0;for(;;){for(;;){a.a=-1;b=ETb(a);if(b==-1)return ATb(),kTb;else if(b==10)return ATb(),lTb;else{Vlc();if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}}switch(b){case 64:do{b=ETb(a);if(b<=90?65<=b:97<=b&&b<=122)DTb(a,b);else{a.q[a.r++]=b;--a.b;a.n=rCc(a.o,0,a.p);a.p=0;return ATb(),fTb}}while(true);case 42:return JTb(a)?(ATb(),jTb):(ATb(),yTb);case 44:return ATb(),iTb;case 62:return ATb(),uTb;case 40:return ATb(),qTb;case 41:return ATb(),wTb;case 123:return ATb(),pTb;case 125:return ATb(),vTb;case 91:return ATb(), +rTb;case 93:return ATb(),xTb;case 63:return ATb(),tTb;case 33:return ATb(),gTb;case 58:return ATb(),hTb;case 61:return ATb(),mTb;case 124:return ATb(),sTb;case 60:return ATb(),oTb;case 46:b=ETb(a);if(b==60)return ATb(),oTb;else{if(b==46){b=ETb(a);if(b==46)return ATb(),nTb;else DTb(a,46)}a.q[a.r++]=b;b=46}default:{c=b;DTb(a,b);d=ETb(a);if(OTb(d)){do{c=d;d=ETb(a);if(c==46&&d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=rCc(a.o,0,a.p);a.p=0;return ATb(),zTb}else if(OTb(d))DTb(a,c);else{a.q[a.r++]= +d;--a.b;DTb(a,c);a.n=rCc(a.o,0,a.p);a.p=0;return ATb(),zTb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=rCc(a.o,0,a.p);a.p=0;return ATb(),zTb}}}}}function g8b(a,b){var c,d,e,f,g,h,i,j,k,l,m;c=false;e=false;f=true;g=false;i=false;j=false;l=false;h=true;k=true;d=true;switch(a.b){case 99:case 67:case 116:case 84:h=false;break;case 103:case 71:c=e=g=j=l=true;break;case 102:c=e=g=i=j=true;l=true;break;case 101:case 69:c=g=i=j=l=true;break;case 97:case 65:c=i=j=l=true;break;case 100:c=e=g=j=l=true;h=false; +break;case 111:case 120:case 88:i=l=true;b==null&&(c=g=j=true);h=false;break;case 110:f=false;d=h=k=false;break;case 37:d=false;h=false;break;case 115:case 83:case 98:case 66:case 104:case 72:break;default:throw q0(new CF("unknownFormatConversionException"));}m=null;!c&&a.d?m="+":!e&&a.e?m=",":!f&&a.f?m="-":!g&&a.g?m="(":!i&&a.i?m="#":!j&&a.j?m=" ":!l&&a.k&&(m="0");if(m!=null)if(a.b==110)throw q0(new CF("IllegalFormatFlagsException:"+m));else throw q0(new CF("FormatFlagsConversionMismatchException:"+ +m+","+jH(a.b)));if((a.f||a.k)&&a.p==-1)throw q0(new E7b("-"+jH(a.b)));if(!d&&a.a!=-1)throw q0(new A7b(a.o?a.o.a:""));if(!h&&a.n!=-1)throw q0(new B7b(a.n));if(!k&&a.p!=-1)throw q0(new C7b(a.p));if(a.d&&a.j)throw q0(new A7b("the '+' and ' ' flags are incompatible"));if(a.f&&a.k)throw q0(new A7b("the '-' and '0' flags are incompatible"));}function pmb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;j=a.e.g;Ud(aec(j,(vhc(),Ngc))!=0);Gec(j,(Ldc(),udc),false);m=a.f.g?Ftc(a.f.f,Rtc(a.f.f,yG(tG(iY,1),zUc,23,0,[a.f.j,Otc(a.f.f, +Yo(fZc,a.g))])),yG(tG(iY,1),zUc,23,0,[a.a.g])):null;i=(c=new mfc((Plc(),gjc)),c);if(mmb(j)){d=j==j.g.c?null:j.i;Ud(d.n==_jc);a.c=(!j.g?null:j.g.g).g;Vd(a.c.n==gjc,a.c);e=(vub(),Mub(a.c,new swb(Vjc)));Vd(e.n==Vjc,e);d.c.f.Ii("asyncExecutePromiseGeneratorProgram");k=d.d;!!k&&!!k.rj()&&Wec(d,Ftc(a.f.f,k.rj().b.b,yG(tG(iY,1),zUc,23,0,[m])));l=a.e.g;Odc(cec(a.e),Rmb(a.a,a.e));Pec(a.e,i)}else{e=j;h=j.c;Ud(h.n==Gkc);h.Di().length==0&&h.Ii(Tmb(a.a,rZc).a);l=R8b((Zd(RBc("",jCc(46))==-1,kWc,""),new Lhc(Gkc, +"")),j9b(yG(tG(CX,1),mWc,7,0,[Rmb(a.a,a.e)])),i);f=V8b(Qob(V8b(Qob((Zd(RBc(wWc,jCc(46))==-1,kWc,wWc),new Lhc(Gkc,wWc)),a.f.i),"generator",yG(tG(wZ,1),eWc,2,6,[])),a.f.i),"createGenerator",yG(tG(wZ,1),eWc,2,6,[]));a.f.g&&Wec(f,Ftc(a.f.f,a.d,yG(tG(iY,1),zUc,23,0,[m])));a.c=I8b(jfc(k9b(Qob(K8b(f,yG(tG(CX,1),mWc,7,0,[Qob(h.zi(false),j.d),l])),a.d)),a.e));Pec(a.e,a.c)}l.d=m;a.f.b.Ug(l);nub(a.f.b,a.e,new Inb);n=!lmb(a,a.e);while(a.e.c)xmb(a,Lec(a.e),null,null);g=(b=new mfc(gjc),b);n&&Odc(g,Hmb(a.a,a.e, +"jumpToEnd",yG(tG(CX,1),mWc,7,0,[])));rnb(a.a.j,a.a.p,g);a.a.j.e=true;Qmb(a.a,i);Imb(a.a);a.f.b.Ug(e)}function Dxb(a){var b,c;Bxb(a);lCc(yG(tG(wZ,1),eWc,2,6,["","TOTAL:","Start time(ms): "+J0(a.J),"End time(ms): "+J0(a.j),"Wall time(ms): "+J0(F0(a.j,a.J)),"Passes runtime(ms): "+a.H,"Max mem usage (measured after each pass)(MB): "+a.D,"#Runs: "+a.I,"#Changing runs: "+a.d,"#Loopable runs: "+a.C,"#Changing loopable runs: "+a.B,"Estimated AST reduction(#nodes): "+a.a,"Estimated Reduction(bytes): "+a.i, +"Estimated GzReduction(bytes): "+a.q,"Estimated AST size(#nodes): "+a.c,"Estimated Size(bytes): "+a.f,"Estimated GzSize(bytes): "+a.p]));lCc(yG(tG(wZ,1),eWc,2,6,["","Inputs:","JS lines: "+a.u,"JS sources: "+a.w,"Extern lines: "+a.k,"Extern sources: "+a.n]));lCc(yG(tG(wZ,1),eWc,2,6,["","Summary:","pass,runtime,allocMem,runs,changingRuns,astReduction,reduction,gzReduction"]));QSc(RSc(VSc(new XSc(null,Eo(a.G)._d()),new Txb),new Xxb),new Mxb);lCc(yG(tG(wZ,1),eWc,2,6,["","Log:","pass,runtime,allocMem,codeChanged,astReduction,reduction,gzReduction,astSize,size,gzSize"])); +for(c=new HGc(a.A);c.a1&&o_b(a,"for-in statement may not have more than one variable declaration", +yG(tG(rZ,1),zUc,1,5,[]));c=f.b.ee(0);!!c.b&&(a.b.a?o_b(a,"for-in statement may not have initializer",yG(tG(rZ,1),zUc,1,5,[])):ZTb(a.c,c.o.b,"for-in statement should not have initializer",yG(tG(rZ,1),zUc,1,5,[])));return HZb(a,e,f)}else if(V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,"of")){f.b.$d()>1&&(b?o_b(a,"for-await-of statement may not have more than one variable declaration",yG(tG(rZ,1),zUc,1,5,[])):o_b(a,"for-of statement may not have more than one variable declaration",yG(tG(rZ,1),zUc,1,5,[])));c=f.b.ee(0); +!!c.b&&(b?o_b(a,"for-await-of statement may not have initializer",yG(tG(rZ,1),zUc,1,5,[])):o_b(a,"for-of statement may not have initializer",yG(tG(rZ,1),zUc,1,5,[])));return b?GZb(a,e,f):IZb(a,e,f)}else{CYb(a,f);return KZb(a,e,f)}}if(W$b(a,t2b))return KZb(a,e,null);d=TYb(a,0);if(W$b(a,I1b)||W$b(a,t1b)||V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,"of")){d=p_b(a,d);a3b(d)||o_b(a,F0c,yG(tG(rZ,1),zUc,1,5,[]))}if(W$b(a,I1b)||V$b(a,0,E1b)&&OBc(Y_b(a.g,0).a,"of"))if(d.p!=(O6b(),b5b)&&d.p!=j5b)return W$b(a,I1b)?HZb(a, +e,d):b?GZb(a,e,d):IZb(a,e,d);return KZb(a,e,d)}function zHb(){zHb=T0;rHb=(cmc(),"(Proxy)");xHb=new $hb("JSC_MALFORMED_TYPEDEF",(p7(),o7),new aDc("Typedef for {0} does not have any type information"));tHb=new $hb("JSC_ENUM_INITIALIZER_NOT_ENUM",o7,new aDc("enum initializer must be an object literal or an enum"));new $hb("JSC_INVALID_ENUM_KEY",o7,new aDc("enum key must be a string or numeric literal"));qHb=new $hb("JSC_CTOR_INITIALIZER_NOT_CTOR",o7,new aDc("Constructor {0} must be initialized at declaration")); +uHb=new $hb("JSC_IFACE_INITIALIZER_NOT_IFACE",o7,new aDc("Interface {0} must be initialized at declaration"));pHb=new $hb("JSC_REFLECT_CONSTRUCTOR_EXPECTED",o7,new aDc("Constructor expected as first argument"));yHb=new $hb("JSC_UNKNOWN_LENDS",o7,new aDc("Variable {0} not declared before @lends annotation."));wHb=new $hb("JSC_LENDS_ON_NON_OBJECT",o7,new aDc("May only lend properties to object types. {0} has type {1}."));vHb=new $hb("JSC_INCOMPATIBLE_ALIAS_ANNOTATION",o7,new aDc("Annotation {0} on {1} incompatible with aliased type.")); +sHb=new $hb("JSC_DYNAMIC_EXTENDS_WITHOUT_JSDOC",o7,new aDc("The right-hand side of an extends clause must be a qualified name, or else @extends must be specified in JSDoc"));new $hb("JSC_CONFLICTING_GETTER_SETTER_TYPE",o7,new aDc("The types of the getter and setter for property ''{0}'' do not match.\ngetter type is: {1}\nsetter type is: {2}"));new ahb(rHb,yG(tG(CO,1),zUc,5,0,[xHb,tHb,qHb,uHb,pHb,yHb,wHb,vHb,sHb]))}function Xac(a,b){var c,d,e,f,g,h,i,j;if(!a&&!b)return true;if(!a||!b)return false; +if(!vOc(Z9b(a),Z9b(b)))return false;for(h=Z9b(a).Xd();h.Jd();){g=h.Kd();if(!vOc($9b(a,g),$9b(b,g)))return false}if((!a.b||!a.b.d?(On(),On(),Nn):a.b.d).$d()!=(!b.b||!b.b.d?(On(),On(),Nn):b.b.d).$d())return false;c=(!a.b||!a.b.d?(On(),On(),Nn):a.b.d).Xd();d=(!b.b||!b.b.d?(On(),On(),Nn):b.b.d).Xd();while(c.Jd())if(!lbc(c.Kd(),d.Kd()))return false;return vOc(!a.b?null:a.b.a,!b.b?null:b.b.a)&&vOc(!a.d?null:a.d.a,!b.d?null:b.d.a)&&(!a.b?null:a.b.b)==(!b.b?null:b.b.b)&&(!a.b?null:a.b.c)==(!b.b?null:b.b.c)&& +vOc(V9b(a),V9b(b))&&vOc((nZc&a.a)==KZc?a.i:null,(nZc&b.a)==KZc?b.i:null)&&vOc(T9b(a),T9b(b))&&vOc(!a.d?null:a.d.i,!b.d?null:b.d.i)&&(!a.d?null:a.d.j)==(!b.d?null:b.d.j)&&(!a.d?null:a.d.k)==(!b.d?null:b.d.k)&&vOc((f=!a.d?null:a.d.n,!f?(LHc(),LHc(),KHc):f),(e=!b.d?null:b.d.n,!e?(LHc(),LHc(),KHc):e))&&(!a.b?null:a.b.i)==(!b.b?null:b.b.i)&&(!a.d?0:a.d.p)==(!b.d?0:b.d.p)&&vOc(!a.b?null:a.b.g,!b.b?null:b.b.g)&&(!a.b?null:a.b.f)==(!b.b?null:b.b.f)&&vOc((nZc&a.a)==nVc?a.i:null,(nZc&b.a)==nVc?b.i:null)&&vOc((j= +!a.d?null:a.d.q,!j?(LHc(),LHc(),KHc):j),(i=!b.d?null:b.d.q,!i?(LHc(),LHc(),KHc):i))&&vOc(aac(a),aac(b))&&vOc(a.g,b.g)&&vOc(cac(a),cac(b))&&vOc((nZc&a.a)==yVc?a.i:null,(nZc&b.a)==yVc?b.i:null)&&vOc((nZc&a.a)==AZc?a.i:null,(nZc&b.a)==AZc?b.i:null)&&(!a.b?null:a.b.k)==(!b.b?null:b.b.k)&&vOc(a.j,b.j)&&(!a.d?null:a.d.b)==(!b.d?null:b.d.b)&&a.a==b.a}function n2(a,b,c){var d,e,f,g,h;h=b.g;switch(b.n.f){case 39:case 103:case 104:case 102:case 101:case 73:case 76:case 100:case 88:case 109:return true;case 99:return false; +case 43:case 42:case 38:if(c)return true;break;case 115:case 117:if(a.a)break;return true;case 114:case 116:if(awb(b))return true;break;case 29:if(b.c)return true;break;case 65:return c||(vub(),b.n==(Plc(),Vjc)&&rvb(b.g)&&b.n==Vjc&&Uvb(b.c));case 86:case 87:case 98:return false;case 96:return c||(vub(),b.n==(Plc(),ojc)&&rvb(b.g)&&b.n==ojc&&Uvb(b.c))||n2(a,b.c.f,c)||n2(a,b.c?b.c.i:null,c);case 97:for(g=b.c;g;g=g.f)if(g.n==(Plc(),sjc)&&n2(a,g.c,c))return true;return false;case 23:if(c)return true;if(!o2(b))break; +return true;case 28:if(!p2(a,b))break;return true;case 119:return p2(a,b);case 92:case 62:case 82:case 81:case 84:case 60:case 66:case 45:case 123:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 67:case 121:case 44:case 80:case 120:case 122:case 27:case 118:break;case 91:if(h.n==(Plc(),Ukc))if((q2(a,b.Di()).a&1)!=0)return true;break;case 26:if((q2(a,(b.c?b.c.i:null).Di()).a&3)!=0)return true;break;default:{vub();if(Vvb(b.n))break}if(hvb(b)){d=b.c;if(d.n==(Plc(),Gkc))return true;if(n2(a, +b.c,c)||n2(a,b.c?b.c.i:null,c))return true;vub();if(d.n==_jc||d.n==$jc){f=d.c;if(Eub(f))return false;while(f.n==_jc||f.n==$jc)f=f.c;return!Kvb(f,true)}else return!Kvb(d,true)}return true}for(e=b.c;e;e=e.f)if(n2(a,e,c))return true;return false}function Mlb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L;G=Stb(b);I=qZc+a.c++;K=c.d;F=null;B=null;if(!!c.c&&xec(c.c?c.c.i:null)){B=new pGc;F=qZc+a.c++}else if(a.g==($lb(),Zlb))if(!DFc(a.f).a){--a.c;return}H=lfc(M8b(W2(a.a,I,K),Xdc(d), +(Plc(),Jlc)),c);if(e.n==tjc){s=new Ycc(false);Sbc(s);Vec(H,Gbc(s))}Ndc(f.g,H,f);for(h=c.c;h;h=w){w=h.f;if(h.n==rlc){J=W2(a.a,I,K);o=h.Fi()?L2(a.a,J,j3(a.a,h.Di())):M2(a.a,J,h.Di());L=Lec(h);if(L.n==zjc){t=Lec(L);j=Lec(L);v=Glb(a,o,j)}else{t=L;v=o}!!B&&(B.a[B.a.length]=h,true)}else if(h.n==sjc){p=(h.c?h.c.i:null).n==zjc;A=Lec(h);if(p){i=h.c?h.c.i:null;t=Lec(i);j=Lec(i)}else{t=Lec(h);j=null}if(B){m=qZc+a.c++;l=W2(a.a,m,A.d);k=M8b(Ihc(l,false),A,Jlc);lfc(k,h);Ndc(f.g,k,f);A=Ihc(l,false);fGc(B,Ihc(l, +false))}if(p){n=L2(a.a,W2(a.a,I,K),A);r=qZc+a.c++;q=M8b(W2(a.a,r,n.d),n,Jlc);lfc(q,h);Ndc(f.g,q,f);v=Glb(a,W2(a.a,r,n.d),j)}else v=L2(a.a,W2(a.a,I,t.d),A)}else if(h.n==rkc||h.n==Vkc){if(w)throw q0(new RAc("object rest may not be followed by any properties"));g=B2(a.a,f3(a.a,G,sWc),yG(tG(CX,1),mWc,7,0,[]));Odc(g,c3(a.a,yG(tG(CX,1),mWc,7,0,[])));Odc(g,W2(a.a,I,K));D=M8b(W2(a.a,F,K),g,Jlc);lfc(D,c);Mdc(f.g,D,H);C=(Ud(!!h.c&&!h.c.f),h.c);t=W2(a.a,C.Di(),C.d);v=Jlb(a,c,h,F,B)}else throw q0(new RAc("unexpected child")); +vub();if(!!e&&(e.n==Jlc||e.n==ykc||e.n==tjc))u=M8b(t,v,e.n);else if(e.n==Pic)u=P8b(x2(a.a,t,v));else throw q0(new RAc("not reached"));lfc(u,h);Ndc(f.g,u,f);Plb(a,b,t,t.g)}Xdc(f);cub(b)}function BMb(){BMb=T0;nMb=new $hb("JSC_CLASS_DISALLOWED_JSDOC",(p7(),n7),new aDc("@constructor annotations are redundant on classes."));rMb=new $hb("JSC_MISSING_JSDOC",n7,new aDc("Function must have JSDoc."));sMb=new $hb("JSC_MISSING_PARAMETER_JSDOC",n7,new aDc("Parameter must have JSDoc."));uMb=new $hb("JSC_MIXED_PARAM_JSDOC_STYLES", +n7,new aDc("Functions may not use both @param annotations and inline JSDoc"));tMb=new $hb("JSC_MISSING_RETURN_JSDOC",n7,new aDc("Function with non-trivial return must have JSDoc indicating the return type."));vMb=new $hb("JSC_MUST_BE_PRIVATE",n7,new aDc("Property {0} must be marked @private"));wMb=new $hb("JSC_MUST_HAVE_TRAILING_UNDERSCORE",n7,new aDc("Private property {0} should end with ''_''"));xMb=new $hb("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",n7,new aDc("Parameter {0} is optional so its type must end with =")); +AMb=new $hb("JSC_WRONG_NUMBER_OF_PARAMS",n7,new aDc("Wrong number of @param annotations"));pMb=new $hb("JSC_INCORRECT_PARAM_NAME",n7,new aDc("Incorrect param name. Are your @param annotations in the wrong order?"));oMb=new $hb("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",n7,new aDc("Externs files should be annotated with @externs in the @fileoverview block."));yMb=new $hb("JSC_PREFER_BACKTICKS_TO_AT_SIGN_CODE",n7,new aDc("Use `some_code` instead of '{'@code some_code'}'."));qMb=new chb(yG(tG(CO,1),zUc, +5,0,[nMb,rMb,sMb,uMb,tMb,xMb,AMb,pMb,oMb,yMb]));zMb=new chb(yG(tG(CO,1),zUc,5,0,[vMb,wMb]));new bhb(yG(tG(BO,1),zUc,47,0,[qMb,zMb]))}function IDb(){IDb=T0;HDb=new $hb("JSC_USE_OF_WITH",(p7(),o7),new aDc("The 'with' statement cannot be used in strict mode."));EDb=new $hb("JSC_EVAL_DECLARATION",o7,new aDc('"eval" cannot be redeclared in strict mode'));DDb=new $hb("JSC_EVAL_ASSIGNMENT",o7,new aDc('the "eval" object cannot be reassigned in strict mode'));zDb=new $hb("JSC_ARGUMENTS_DECLARATION",o7,new aDc('"arguments" cannot be redeclared in strict mode')); +wDb=new $hb("JSC_ARGUMENTS_ASSIGNMENT",o7,new aDc('the "arguments" object cannot be reassigned in strict mode'));xDb=new $hb("JSC_ARGUMENTS_CALLEE_FORBIDDEN",o7,new aDc('"arguments.callee" cannot be used in strict mode'));yDb=new $hb("JSC_ARGUMENTS_CALLER_FORBIDDEN",o7,new aDc('"arguments.caller" cannot be used in strict mode'));GDb=new $hb("JSC_FUNCTION_CALLER_FORBIDDEN",o7,new aDc("A function''s \"caller\" property cannot be used in strict mode"));FDb=new $hb("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN", +o7,new aDc("A function''s \"arguments\" property cannot be used in strict mode"));ADb=new $hb("JSC_BAD_FUNCTION_DECLARATION",o7,new aDc("functions can only be declared at top level or immediately within another function in ES5 strict mode"));BDb=new $hb("JSC_DELETE_VARIABLE",o7,new aDc("variables, functions, and arguments cannot be deleted in strict mode"));CDb=new $hb("JSC_DUPLICATE_OBJECT_KEY",m7,new aDc('Object literal contains illegal duplicate key "{0}", disallowed in strict mode'));new $hb("JSC_DUPLICATE_CLASS_METHODS", +m7,new aDc('Class contains duplicate method name "{0}"'))}function EPb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.c;l=ZBc(l,"\r\n?",xVc);k=c?0:1;f=RBc(l,jCc(92));if(f==-1)return c?l:dCc(l,1,l.length-1);j=new DCc;while(f!=-1){j.a+=""+(l==null?wUc:l).substr(k,f-k);f+=1;d=l.charCodeAt(f);switch(d){case 98:j.a+="\b";break;case 102:j.a+="\f";break;case 110:j.a+=xVc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:rPb(a,b,(dXb(),XWb));a.e.gi("String continuations are not recommended. See https://google.github.io/styleguide/jsguide.html#features-strings-no-line-continuations", +a.s,b.d.b.b+1,b.d.b.a);break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:f+1=0)++g;h=l.substr(f+2,g-(f+2));++g}}e=LAc(h,16);if(e>DVc){a.e.fi("Undefined Unicode code-point",a.s,b.d.b.b+1,b.d.b.a);j.a+="\\u{";j.a+=""+h;j.a+="}"}else BCc(j,(RTc(e>=0&&e<=DVc),e>=CVc?yG(tG(uH,1),rUc,50,15,[55296+(e-CVc>>10&EVc)&qUc,56320+(e-CVc&EVc)&qUc]):yG(tG(uH,1),rUc,50,15,[e&qUc])));f=g-1;break;case 39:case 34:case 92:default:j.a+=String.fromCharCode(d)}k=f+1;f=SBc(l,jCc(92),k)}yCc(j,l,k,c?l.length:l.length-1);return j.a}function VHb(){VHb= +T0;OHb=new $hb("JSC_UNDEFINED_VARIABLE",(p7(),m7),new aDc("variable {0} is undeclared"));RHb=new $hb("JSC_VIOLATED_MODULE_DEPENDENCY",m7,new aDc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));JHb=new $hb("JSC_MISSING_MODULE_DEPENDENCY",o7,new aDc("missing module dependency; module {0} should depend on module {1} because it references {2}"));MHb=new $hb("JSC_STRICT_MODULE_DEPENDENCY",n7,new aDc(hXc));KHb=new $hb("JSC_NAME_REFERENCE_IN_EXTERNS",o7,new aDc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?")); +NHb=new $hb("JSC_UNDEFINED_EXTERN_VAR_ERROR",o7,new aDc("name {0} is not defined in the externs."));QHb=new $hb("JSC_VAR_MULTIPLY_DECLARED_ERROR",m7,new aDc("Variable {0} declared more than once. First occurrence: {1}"));PHb=new $hb("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",m7,new aDc('Shadowing "arguments" is not allowed'));IHb=new $hb("JSC_BLOCK_SCOPED_DECL_MULTIPLY_DECLARED_ERROR",m7,new aDc("Duplicate let / const / class / function declaration in the same scope is not allowed."));THb=V8b((Zd(RBc(_Wc, +jCc(46))==-1,kWc,_Wc),Ldc(),new Lhc((Plc(),Gkc),_Wc)),oXc,yG(tG(wZ,1),eWc,2,6,[]));UHb=V8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),pXc,yG(tG(wZ,1),eWc,2,6,[]));SHb=V8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),dXc,yG(tG(wZ,1),eWc,2,6,[]));LHb=Kp(aWc,bWc,XYc,YYc,h$c,"JSCompiler_renameProperty",yG(tG(wZ,1),eWc,2,6,["Map",hWc,fWc,cWc,$Yc,WYc,"Reflect",dWc,"Set",GVc,_Yc,"TypeError","WeakMap",vWc,"isNaN","parseFloat","parseInt","self",dZc,"window"]))}function l7(){l7=T0;var a;j7= +new $hb("JSC_MISPLACED_MSG_ANNOTATION",(p7(),n7),new aDc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should only be on message nodes.\nMessage constants must be prefixed with 'MSG_'."));i7=new $hb("JSC_MISPLACED_ANNOTATION",o7,new aDc("Misplaced {0} annotation. {1}"));b7=new $hb("JSC_ANNOTATION_DEPRECATED",o7,new aDc("The {0} annotation is deprecated. {1}"));e7=new $hb("JSC_DISALLOWED_MEMBER_JSDOC",o7,new aDc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members")); +c7=new $hb("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",m7,new aDc("Arrow functions cannot be used as constructors"));d7=new $hb("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",m7,new aDc("Inline JSDoc on default parameters must be marked as optional"));g7=new $hb("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",m7,new aDc("@nosideeffects may only appear in externs files."));f7=new $hb("JSC_INVALID_MODIFIES_ANNOTATION",m7,new aDc("@modifies may only appear in externs files."));new $hb("JSC_INVALID_DEFINE_ON_LET",m7,new aDc("variables annotated with @define may only be declared with VARs, ASSIGNs, or CONSTs")); +k7=new $hb("JSC_MISPLACED_SUPPRESS",o7,new aDc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));h7=new $hb("JSC_JSDOC_IN_BLOCK_COMMENT",o7,new aDc("Non-JSDoc comment has annotations. Did you mean to start it with '/**'?"));new $hb("JSC_JSDOC_ON_RETURN",o7,new aDc("JSDoc annotations are not supported on return."));a=new gSc;a.a=new $wnd.RegExp("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]")}function XGb(){XGb=T0;SGb=new $hb("JSC_INVALID_CAST", +(p7(),o7),new aDc("invalid cast - must be a subtype or supertype\nfrom: {0}\nto : {1}"));VGb=new $hb("JSC_TYPE_MISMATCH",o7,new aDc(rYc));RGb=new $hb("JSC_INVALID_ASYNC_RETURN_TYPE",o7,new aDc("The return type of an async function must be a supertype of Promise\nfound: {0}"));TGb=new $hb("JSC_INVALID_OPERAND_TYPE",n7,new aDc(rYc));UGb=new $hb("JSC_MISSING_EXTENDS_TAG",o7,new aDc("Missing @extends tag on type {0}"));LGb=new $hb("JSC_DUP_VAR_DECLARATION",o7,new aDc("variable {0} redefined, original definition at {1}:{2}")); +MGb=new $hb("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",o7,new aDc("variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}"));QGb=new $hb("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",o7,new aDc("property {0} on interface {1} is not implemented by type {2}"));NGb=new $hb("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH",o7,new aDc("mismatch of the {0} property on type {4} and the type of the property it overrides from interface {1}\noriginal: {2}\noverride: {3}"));OGb=new $hb("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH", +o7,new aDc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));JGb=new $hb("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED",o7,new aDc("property {0} on abstract class {1} is not implemented by type {2}"));WGb=new $hb("JSC_UNKNOWN_TYPEOF_VALUE",o7,new aDc("unknown type: {0}"));PGb=new $hb("JSC_ILLEGAL_PROPERTY_ACCESS",o7,new aDc("Cannot do {0} access on a {1}"));KGb=new chb(yG(tG(CO,1),zUc,5,0,[JGb,LGb,MGb,NGb,PGb,QGb,RGb,SGb,UGb,VGb, +WGb]))}function jYb(){jYb=T0;var a,b,c,d,e,f;mXb=new kYb("BREAK",0,"break",(V2b(),Y0b));nXb=new kYb("CASE",1,"case",_0b);oXb=new kYb(o0c,2,"catch",a1b);rXb=new kYb(p0c,3,IXc,j1b);sXb=new kYb(q0c,4,KXc,k1b);uXb=new kYb(P$c,5,wXc,m1b);vXb=new kYb("DELETE",6,r0c,n1b);wXb=new kYb("DO",7,"do",o1b);xXb=new kYb("ELSE",8,"else",q1b);CXb=new kYb(s0c,9,qXc,A1b);DXb=new kYb("FOR",10,"for",B1b);EXb=new kYb(PZc,11,kUc,C1b);FXb=new kYb("IF",12,"if",F1b);IXb=new kYb("IN",13,"in",I1b);JXb=new kYb(c0c,14,l$c,J1b); +QXb=new kYb("NEW",15,"new",U1b);WXb=new kYb(k_c,16,rXc,q2b);ZXb=new kYb(t0c,17,"switch",D2b);$Xb=new kYb(YVc,18,ZVc,H2b);_Xb=new kYb("THROW",19,"throw",I2b);bYb=new kYb("TRY",20,"try",L2b);dYb=new kYb(u0c,21,k$c,N2b);eYb=new kYb("VAR",22,"var",Q2b);fYb=new kYb("VOID",23,LXc,R2b);gYb=new kYb("WHILE",24,DXc,S2b);hYb=new kYb("WITH",25,"with",T2b);pXb=new kYb(OZc,26,AXc,b1b);qXb=new kYb("CONST",27,IYc,i1b);yXb=new kYb(b_c,28,NXc,s1b);zXb=new kYb(d_c,29,vXc,x1b);AXb=new kYb(c_c,30,BXc,y1b);HXb=new kYb(v0c, +31,yXc,H1b);YXb=new kYb(WVc,32,XVc,C2b);GXb=new kYb(e_c,33,CXc,G1b);KXb=new kYb(f_c,34,MXc,K1b);NXb=new kYb("LET",35,"let",O1b);SXb=new kYb(g_c,36,m_c,d2b);TXb=new kYb(h_c,37,n_c,l2b);UXb=new kYb(i_c,38,o_c,m2b);VXb=new kYb(j_c,39,p_c,n2b);XXb=new kYb("STATIC",40,r_c,A2b);iYb=new kYb("YIELD",41,FXc,U2b);RXb=new kYb(w0c,42,wUc,Y1b);aYb=new kYb(x0c,43,HXc,K2b);BXb=new kYb(y0c,44,GXc,z1b);tXb=new kYb(z0c,45,"declare",l1b);cYb=new kYb(l_c,46,OXc,M2b);OXb=new kYb("MODULE",47,bXc,S1b);PXb=new kYb(A0c,48, +"namespace",T1b);a=(Do(),new Fs);b=new tLc(DU);for(d=sYb(),e=0,f=d.length;e1&&hv(kv(new mHc(a.C.a),new usb));for(e=new kw(Pv(ov(hv(kv(new mHc(a.C.a),new usb)).a),new lv));iw(e);){d=jw(e);n=Pd(xdb(d, +a));if(b){T5(a.T,a).dh(a.p,a.w);if(a.i.a.d!=0)return null}if(a.I.mb||!a.I.Sc.a.a.Wd()){s=new YCb(d.i.a,a.I.ab!=Aeb);t=new mub(a,s,new PDb(a));fub(t,n)}if(yvb(n)){Cdb(d);Odc(a.p,n)}else Odc(a.w,n)}if(a.i.a.d!=0)return null;return a.j}finally{ibb(a);r=F0(w0(Date.now()),u.a);a.I.pd!=Vfb&&!!a.Q&&Kxb(a.Q,YXc,r)}}function vhc(){vhc=T0;dhc=new whc("NON_JSDOC_COMMENT",0);_gc=new whc("JSDOC_INFO",1);shc=new whc("VAR_ARGS",2);Sgc=new whc("INCRDECR",3);ihc=new whc("QUOTED",4);ehc=new whc("OPT_ARG",5);ohc=new whc("SYNTHETIC", +6);tgc=new whc("ADDED_BLOCK",7);ghc=new whc("ORIGINALNAME",8);khc=new whc("SIDE_EFFECT_FLAGS",9);Ugc=new whc("IS_CONSTANT_NAME",10);Ygc=new whc("IS_NAMESPACE",11);Ggc=new whc("DIRECTIVES",12);Hgc=new whc("DIRECT_EVAL",13);Mgc=new whc("FREE_CALL",14);mhc=new whc("SOURCE_FILE",15);Tgc=new whc("INPUT_ID",16);lhc=new whc("SLASH_V",17);wgc=new whc("CHANGE_TIME",18);jhc=new whc("REFLECTED_OBJECT",19);nhc=new whc("STATIC_MEMBER",20);Ngc=new whc("GENERATOR_FN",21);ugc=new whc("ARROW_FN",22);vgc=new whc("ASYNC_FN", +23);uhc=new whc("YIELD_ALL",24);Kgc=new whc("EXPORT_DEFAULT",25);Jgc=new whc("EXPORT_ALL_FROM",26);Bgc=new whc("CONSTANT_VAR_FLAGS",27);Vgc=new whc("IS_GENERATOR_MARKER",28);Wgc=new whc("IS_GENERATOR_SAFE",29);ygc=new whc("COMPUTED_PROP_METHOD",30);xgc=new whc("COMPUTED_PROP_GETTER",31);zgc=new whc("COMPUTED_PROP_SETTER",32);Agc=new whc("COMPUTED_PROP_VARIABLE",33);Dgc=new whc("DECLARED_TYPE_EXPR",34);rhc=new whc("TYPE_BEFORE_CAST",35);fhc=new whc("OPT_ES6_TYPED",36);Ogc=new whc(k1c,37);Rgc=new whc(e_c, +38);Cgc=new whc("CONSTRUCT_SIGNATURE",39);sgc=new whc("ACCESS_MODIFIER",40);chc=new whc("NON_INDEXABLE",41);hhc=new whc("PARSE_RESULTS",42);Pgc=new whc("GOOG_MODULE",43);Qgc=new whc("GOOG_MODULE_REQUIRE",44);Lgc=new whc("FEATURE_SET",45);Xgc=new whc("IS_MODULE_NAME",46);thc=new whc("WAS_PREVIOUSLY_PROVIDED",47);phc=new whc("TRANSPILED",48);Fgc=new whc("DELETED",49);ahc=new whc("MODULE_ALIAS",50);$gc=new whc("IS_UNUSED_PARAMETER",51);bhc=new whc(oYc,52);Zgc=new whc("IS_SHORTHAND_PROPERTY",53);Igc= +new whc("ES6_MODULE",54);qhc=new whc("TYPEDEF_TYPE",55);Egc=new whc("DEFINE_NAME",56)}function rsb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;H=Vn(hv(kv(new mHc(a.a),new usb)));Q=new mKb(H);h=gsb(a,b,c,hv(kv(new mHc(a.a),new usb)),Q);r=new oMc;for(n=H.Xd();n.Jd();){l=n.Kd();for(K=Jdb(l.c?l.c.f:(On(),On(),Nn),l.e).Xd();K.Jd();){J=K.Kd();(J==null?!!NMc(r.d,null):fNc(r.e,J))||jDc(r,J,new hOc);(J==null?Kg(NMc(r.d,null)):gNc(r.e,J)).Qd(l)}A=hLb(zdb(l).a);fNc(r.e, +A)||jDc(r,A,new hOc);gNc(r.e,A).Qd(l)}for(o=H.Xd();o.Jd();){l=o.Kd();for(N=Wn(l.d).Xd();N.Jd();){M=N.Kd();(M==null?!!NMc(r.d,null):fNc(r.e,M))&&Mc(h,M==null?Kg(NMc(r.d,null)):gNc(r.e,M))}}d=iKb(Q,H,c.b!=(Tgb(),Pgb));i=new rx;for(p=(I=(new dEc(h.a)).a.Je().Xd(),new jEc(I));p.a.Jd();){l=(e=p.a.Kd(),e.ff());t=l.k;Pd(t);nx(i,t,l,null)}for(v=new PDc(new mHc(a.a));v.b1)&&b5("Expected child count in [0, 1], but was "+o,b);!!b.c&&c4(a,b.c);return;case 104:d4(a,(dXb(),bWb),b);B4((Plc(),ajc),b);p=(vub(),Mub(b,new swb(Vjc)));(!p||!(p.n==Vjc&&aec(p,(vhc(),vgc))!=0))&&b5("'await' expression is not within an async function", +b);return;default:b5("Expected expression but was "+b.n,b)}}function u8(){u8=T0;new $hb("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(p7(),m7),new aDc("goog.module parameter must be string literals"));new $hb("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",m7,new aDc("goog.provide parameter must be a string literal."));new $hb("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL",m7,new aDc("goog.provide can not be called in goog.module."));new $hb("JSC_GOOG_MODULE_INVALID_GET_ALIAS",m7,new aDc("goog.module.get should not be aliased.")); +new $hb("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",m7,new aDc("Computed properties are not yet supported in goog.module exports."));t8=new $hb("JSC_USELESS_USE_STRICT_DIRECTIVE",n7,new aDc("'use strict' is unnecessary in goog.module files."));new $hb("JSC_DUPLICATE_MODULE",m7,new aDc("Duplicate module: {0}"));new $hb("JSC_DUPLICATE_NAMESPACE",m7,new aDc("Duplicate namespace: {0}"));new $hb(YWc,m7,new aDc(ZWc));new $hb("JSC_IMPORT_INLINING_SHADOWS_VAR",m7,new aDc('Inlining of reference to import "{1}" shadows var "{0}".')); +new $hb("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",m7,new aDc("Destructuring import only allowed for importing module with named exports.\nSee https://github.com/google/closure-compiler/wiki/goog.module-style"));new $hb("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",m7,new aDc('Destructuring import reference to name "{0}" was not exported in module {1}'));new $hb("JSC_LOAD_MODULE_FN_MISSING_RETURN",m7,new aDc("goog.loadModule function should end with 'return exports;'"));on();new UB(nXc);T8b((Zd(RBc(_Wc, +jCc(46))==-1,kWc,_Wc),Ldc(),new Lhc((Plc(),Gkc),_Wc)),new Lhc(qlc,dXc));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,oXc));s8=T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,bXc));T8b(s8,new Lhc(qlc,"declareLegacyNamespace"));T8b(Vdc(s8,false),new Lhc(qlc,cXc));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,pXc));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc,_Wc)),new Lhc(qlc,aXc));T8b((Zd(RBc(_Wc,jCc(46))==-1,kWc,_Wc),new Lhc(Gkc, +_Wc)),new Lhc(qlc,eXc))}function hlb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;clb(a,c);t=h5(c,d,a.a);if(!t)throw q0(new RAc("Can only convert classes that are declarations or the right hand side of a simple assignment: "+c));if(t.k.n!=(Plc(),Fjc)&&!wec(t.k)){a.b.Tg(Qrb(t.k,Zkb,yG(tG(wZ,1),eWc,2,6,[])));return}Zd(Wvb(t.i.a),"insertion point must be a statement: %s",t.i.a);h=null;i=null;f=c.c?c.c.i:null;for(s=(!f.c?(LHc(),LHc(),KHc):new yhc(f.c)).Xd();s.Jd();){r=s.Kd();if(r.n==sjc&&(aec(r, +(Ldc(),jdc))!=0||aec(r,ldc)!=0)||r.n==akc||r.n==mlc)jlb(a,r,t);else if(wvb(r)){i=dec(r,(vhc(),_gc));h=Wec(Xdc(r.c),c.d);Xec(h,dec(c,rhc));t.a||Oec(h,h.c,t.c.zi(false))}else if(r.n==Fjc);else{Zd(r.n==Bkc||r.n==sjc,"Unexpected class member:",r);Zd(aec(r,(Ldc(),mdc))==0,"Member variables should have been transpiled earlier:",r);ilb(a,r,t)}}Qd(h,"Es6RewriteClasses expects all classes to have (possibly synthetic) constructors");if(t.f.c){k=P8b(B2(a.a,dlb(a,Stb(b)),yG(tG(CX,1),mWc,7,0,[Vdc(t.d,false),t.f]))); +lfc(k,c);wlb(t.i,k)}if(t.e.c){k=P8b(B2(a.a,dlb(a,Stb(b)),yG(tG(CX,1),mWc,7,0,[Vdc(t.g,false),t.e])));lfc(k,c);wlb(t.i,k)}e=(vub(),q=Gub(c),!q?null:dec(q,(vhc(),_gc)));u=$cc(e);Tbc(u);l=Mub(c,new wwb);if(t.k.n!=Fjc){v=eec(t.k);pac(u.a)?bcc(u,new ddc(jfc(new ofc(bjc,(Ldc(),new Lhc(qlc,v))),t.k),(n=dec(t.k,(vhc(),mhc)),!n?null:n.ah()))):Obc(u,new ddc(jfc(new ofc(bjc,(Ldc(),new Lhc(qlc,v))),t.k),(o=dec(t.k,(vhc(),mhc)),!o?null:o.ah())));m=dec(c,(vhc(),mhc));if(!(!!m&&m.ri())){p=lfc(P8b(B2(a.a,f3(a.a, +Stb(b),RXc),yG(tG(CX,1),mWc,7,0,[Vdc(t.g,false),Vdc(t.k,false)]))),t.k);Mdc(l.g,p,l)}}blb(a,Stb(b),t,l);glb(i,u);if(c.n!=Ekc&&Xvb(c.g)){h.c.Ii("");j=M8b(t.c.zi(false),h,ykc);lfc(j,c);Oec(d,c,j);wub(b.f,(dXb(),CWb))}else Oec(d,c,h);bwb(c,a.b);if(h.n!=Ekc&&Xvb(h.g))Vec(h,Gbc(u));else if(d.n==Gkc){w=d.g;Vec(w,Gbc(u))}else if(h.g.n==Gkc){w=!h.g?null:h.g.g;Vec(w,Gbc(u))}else if(d.n==Pic)Vec(d,Gbc(u));else throw q0(new RAc("Unexpected parent node "+d));g=jnc(c.d);!!g&&(!!g.j&&(!h||!g.j.d)&&(g.j=new Pvc(g.j.c, +g.j.e,g.j.b,h)),g.k=h);cub(b)}function KEb(){KEb=T0;yEb=Y5($5(a6(b6(_5(c6(new d6,false),false),"es6RewriteModuleToCjs"),new TEb),(DVb(),DVb(),zVb)));Y5($5(a6(b6(_5(c6(new d6,false),false),"es6RelativizeImportPaths"),new pFb),(null,zVb)));CEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"rewriteAsyncFunctions"),new PFb),zVb));DEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"rewriteAsyncIteration"),new RFb),zVb));JEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"rewriteObjectSpread"),new vFb),zVb));GEb=Y5($5(a6(b6(_5(c6(new d6, +false),true),"rewriteCatchWithNoBinding"),new xFb),zVb));HEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"rewriteExponentialOperator"),new zFb),nVb));tEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"es6NormalizeShorthandProperties"),new BFb),nVb));xEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6ExtractClassExtends"),new DFb),nVb));qEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6ExtractClasses"),new FFb),xVb));wEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6RewriteClass"),new HFb),xVb));uEb=Y5($5(a6(b6(_5(c6(new d6, +false),true),"Es6RenameVariablesInParamLists"),new JFb),nVb));vEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6RewriteArrowFunction"),new XEb),xVb));Y5($5(a6(b6(_5(c6(new d6,false),true),"RewritePolyfills"),new ZEb),(null,zVb)));AEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6SplitVariableDeclarations"),new _Eb),(null,zVb)));pEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"es6ConvertSuperConstructorCalls"),new bFb),xVb));oEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"es6ConvertSuper"),new dFb),nVb));sEb=Y5($5(a6(b6(_5(c6(new d6, +false),true),"es6InjectRuntimeLibraries"),new fFb),zVb));zEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"es6RewriteRestAndSpread"),new hFb),(null,zVb)));BEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"lateConvertEs6"),new jFb),(null,zVb)));rEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"es6ForOf"),new lFb),xVb));FEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6RewriteBlockScopedFunctionDeclaration"),new nFb),xVb));EEb=Y5($5(a6(b6(_5(c6(new d6,false),true),"Es6RewriteBlockScopedDeclaration"),new rFb),xVb));IEb=Y5($5(a6(b6(_5(c6(new d6, +false),true),"rewriteGenerators"),new tFb),xVb))}function Kyb(){Kyb=T0;Iyb=new $hb("JSC_POLYMER_DESCRIPTOR_NOT_VALID",(p7(),o7),new aDc("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."));new $hb("JSC_POLYMER_INVALID_BEHAVIOR",m7,new aDc("A Polymer behavior may not include an ''is'' property."));new $hb("JSC_POLYMER_MISSING_IS",m7,new aDc("The class descriptor must include an ''is'' property."));new $hb("JSC_POLYMER_UNEXPECTED_PARAMS", +m7,new aDc("The class definition has too many arguments."));new $hb("JSC_POLYMER_MISSING_EXTERNS",m7,new aDc("Missing Polymer externs."));new $hb("JSC_POLYMER_INVALID_PROPERTY",m7,new aDc("Polymer property has an invalid or missing type."));new $hb("JSC_POLYMER_INVALID_EXTENDS",m7,new aDc("Cannot extend HTML element ''{0}''. The element is probably either misspelled, or needs to be added to the list of known elements."));new $hb("JSC_POLYMER_INVALID_BEHAVIOR_ARRAY",m7,new aDc("The behaviors property must be an array literal.")); +Jyb=new $hb("JSC_POLYMER_UNQUALIFIED_BEHAVIOR",m7,new aDc("Behaviors must be global names or qualified names that are declared as object literals or array literals of other valid Behaviors."));new $hb("JSC_POLYMER_UNANNOTATED_BEHAVIOR",m7,new aDc("Behavior declarations must be annotated with @polymerBehavior."));new $hb("JSC_POLYMER_CLASS_PROPERTIES_INVALID",m7,new aDc("The Polymer element class 'properties' getter does not return an object literal. Ignoring this definition."));new $hb("JSC_POLYMER_CLASS_PROPERTIES_NOT_STATIC", +m7,new aDc("The Polymer element class 'properties' getter is not declared static. Ignoring this definition."));new $hb("JSC_POLYMER2_UNNAMED",o7,new aDc("Unable to locate a valid name for the Polymer element class.Ignoring this definition."));new $hb("JSC_POLYMER_MISPLACED_PROPERTY_JSDOC",o7,new aDc("When a Polymer property is declared in the constructor, its JSDoc should only be in the constructor, not on the Polymer properties configuration."));new $hb("JSC_POLYMER_UNPARSABLE_STRING",m7,new aDc("The Polymer computed property or complex observer string could not be parsed."))} +function veb(){geb();this.eb=(Cb(),Cb(),Bb);this.hc=(null,Bb);this.Ub=(null,Bb);this.Ab=(_eb(),Zeb);this.nc=(BOb(),AOb);this._=new d5((Tgb(),Pgb),(On(),On(),Nn));this._b=new RB(Pd(eYc));this.ub=(null,Nn);this.rb=(null,Nn);this.C=(null,Nn);this.xd=new qgb(yG(tG(bT,1),zUc,153,0,[]));new pGc;this.cd=(bDb(),_Cb);this.dd=(lDb(),jDb);this.ed=(null,Nn);this.N=eeb;this.O=new Fe(Pd(hSc("^((.*/)?google3/)?((^/)?(blaze|bazel)-out/[^/]+/bin/)?")));this.Qb=(null,Bb);this.jb=(Peb(),Leb);this.Tb=(vfb(),tfb);new yeb; +this.gb=(Ieb(),Geb);this.p=(Do(),Do(),Co);this.$b=(aLb(),YKb);this.kc=new _A(eo(yG(tG(rZ,1),zUc,1,5,["browser",bXc,"main"])));this.oc=(LKb(),KKb);this.ad=false;this.ab=(Deb(),Aeb);this.q=false;this.w=false;this.v=false;this.A=false;this.r=(p7(),n7);this.o=m7;this.s=n7;this.u=n7;this.t=null;this.M=false;this.ob=null;this.tb=false;this.F=false;this.X=false;this.Db=false;this.Eb=(Qfb(),Pfb);this.Zb=-1;this.n=false;this.j=false;this.Hb=false;this.Q=false;this.lc=false;this.S=false;this.Fb=false;this.Ib= +false;this.Gb=false;this.bd=false;this.pb=false;this.Gc=false;this.qb=(Veb(),Seb);this.Lc=false;this.Mc=false;this.Ic=false;this.Nc=false;this.Kc=false;this.K=false;this.H=false;this.e=(gB(),fB);this.d="";this.b=false;this.jc=false;this.P=false;this.Yc=false;this.vd=(xIb(),wIb);this.Bc=(Lzb(),Kzb);this.Sb=false;this.xb=false;this._c=false;this.tc=false;this.Oc=null;this.J=(Kfb(),Jfb);this.I=false;this.bb=false;this.db=false;this.f=false;this.i=(e2(),c2);this.lb=false;this.Z=true;this.bc=new Kgb;this.Zc= +false;this.$c=null;this.nd=null;this.md=null;this.Xb=null;this.Yb=false;this.D=false;this.uc=false;this.g=false;this.qc=null;this.pc=(Fyb(),Eyb);this.W=false;this.Rb=(efb(),cfb);this.Ec=false;this.Fc=false;this.kd=(null,fB);this.hd=(null,fB);this.gd=(null,fB);this.jd=(null,fB);this.V=null;this.$=new oMc;this.rd=(cgb(),agb);this.sd=new oMc;this.ac=false;this.B=false;this.ic=(Efb(),Cfb);this.wb=false;this.kb=false;this.T=null;this.U=null;this.yb=(null,Co);this.Sc=(null,Nn);this.Uc="";this.Vc=(null, +fB);this.Ac=new oMc;this.Mb=(null,Co);this.Pb=false;this.Ob=false;this.vc=false;this.yc=false;this.wc=false;this.Vb=false;this.rc=false;this.pd=(Yfb(),Vfb);this.L=false;this.hb=(fib(),dib);this.mb=false;this.c=feb;this.ib=null;this.zc=false}function H$b(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q;switch(Y_b(a.g,0).e.f){case 45:return mZb(a);case 30:case 25:return T$b(a);case 52:return yZb(a);case 15:return TZb(a);case 10:return c=Y_b(a.g,0).d.b,EYb(a,(V2b(), +o1b)),d=E$b(a),EYb(a,S2b),EYb(a,a2b),e=TYb(a,1),EYb(a,e1b),W$b(a,t2b)&&EYb(a,t2b),new O3b(new w7b(c,a.f),d,e);case 27:return f=Y_b(a.g,0).d.b,EYb(a,(V2b(),S2b)),EYb(a,a2b),g=TYb(a,1),EYb(a,e1b),h=E$b(a),new m7b(new w7b(f,a.f),g,h);case 13:return JZb(a);case 6:return i=Y_b(a.g,0).d.b,EYb(a,(V2b(),j1b)),j=null,k=Y_b(a.g,0).d.b.b>a.f.b,k||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b)||(j=(l=Y_b(a.g,0).e,E1b==l||a.b.d&&qYb(l)||!a.b.c&&pYb(l)?GYb(a):null)),JYb(a),new K3b(new w7b(i,a.f),j);case 3:return m=Y_b(a.g, +0).d.b,EYb(a,(V2b(),Y0b)),n=null,o=Y_b(a.g,0).d.b.b>a.f.b,o||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b)||(n=(p=Y_b(a.g,0).e,E1b==p||a.b.d&&qYb(p)||!a.b.c&&pYb(p)?GYb(a):null)),JYb(a),new l3b(new w7b(m,a.f),n);case 19:return q=Y_b(a.g,0).d.b,EYb(a,(V2b(),q2b)),r=null,s=Y_b(a.g,0).d.b.b>a.f.b,s||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b)||(r=TYb(a,1)),JYb(a),new U6b(new w7b(q,a.f),r);case 28:return t=Y_b(a.g,0).d.b,EYb(a,(V2b(),T2b)),EYb(a,a2b),u=TYb(a,1),EYb(a,e1b),v=E$b(a),new n7b(new w7b(t,a.f),u,v); +case 20:return w=Y_b(a.g,0).d.b,EYb(a,(V2b(),D2b)),EYb(a,a2b),A=TYb(a,1),EYb(a,e1b),EYb(a,_1b),B=oZb(a),EYb(a,d1b),new X6b(new w7b(w,a.f),A,B);case 22:return C=Y_b(a.g,0).d.b,EYb(a,(V2b(),I2b)),D=null,F=Y_b(a.g,0).d.b.b>a.f.b,F||V$b(a,0,t2b)||V$b(a,0,d1b)||V$b(a,0,r1b)?o_b(a,"semicolon/newline not allowed after 'throw'",yG(tG(rZ,1),zUc,1,5,[])):D=TYb(a,1),JYb(a),new a7b(new w7b(C,a.f),D);case 23:return G=Y_b(a.g,0).d.b,EYb(a,(V2b(),L2b)),H=mZb(a),I=null,W$b(a,a1b)&&(I=pZb(a)),J=null,W$b(a,A1b)&&(J= +(P=Y_b(a.g,0).d.b,EYb(a,A1b),Q=mZb(a),new V3b(new w7b(P,a.f),Q))),!I&&!J&&o_b(a,"'catch' or 'finally' expected.",yG(tG(rZ,1),zUc,1,5,[])),new b7b(new w7b(G,a.f),H,I,J);case 7:return K=Y_b(a.g,0).d.b,EYb(a,(V2b(),k1b)),JYb(a),new L3b(new w7b(K,a.f));default:{b=Y_b(a.g,0).e;if(((V2b(),E1b)==b||a.b.d&&qYb(b)||!a.b.c&&pYb(b))&&V$b(a,1,g1b))return L=Y_b(a.g,0).d.b,M=FYb(a),EYb(a,g1b),new F4b(new w7b(L,a.f),M,E$b(a))}return N=Y_b(a.g,0).d.b,O=TYb(a,1),JYb(a),new U3b(new w7b(N,a.f),O)}}function Kkb(a){var b, +c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab;if(nDc(a.c.c)==0)return;for(u=(M=(new dEc(a.c)).a.Je().Xd(),new jEc(M));u.a.Jd();){t=(h=u.a.Kd(),h.ff());v=ANc(a.c,t);G=rkb(a.f);for(Y=(N=(new dEc(v.b.a)).a.Je().Xd(),new jEc(N));Y.a.Jd();){W=(g=Y.a.Kd(),g.ff());A=ANc(a.d,W);Odc(G,n9b(A,Jkb(a,v,W.c,A)))}V=pkb(a.f,Ikb(a,v),G);F=jfc(M8b(Ikb(a,v),rkb(a.f),(Plc(),Jlc)),t);nkb(a.f,F,t);if(t.n==Rjc){p=t.c;Oec(t,p,new mfc(Fjc));if(p.n!=Fjc){vub();!!p&&(p.n== +Jlc||p.n==ykc||p.n==tjc)||(p=ifc((Vd(b9b(p),p),new ofc(Pjc,p)),p));nkb(a.f,p,t)}o=Zdc(t,2);if(o.n==Fjc)Oec(t,o,lfc(V,t));else{P=new mfc(Fjc);Oec(t,o,P);Oec(t,P,lfc(qkb(a.f,V,o),t))}}else{r=v.a;s=Uub(t);if(Z=t.g,$=Z.n==tkc?Z.c.Di():null,ab=new Okb(r,$),nub(a.f.a,Uub(t),ab),ab.d){q=ifc((c=new mfc(gjc),c),s);Sdc(q,Kec(s));Pdc(s,ifc($8b(ifc((Ud(r.length!=0),Ldc(),new Lhc(ukc,r)),s),q),s))}Odc(s,lfc((Vd(b9b(V),V),new ofc(Pjc,V)),t))}a.f.a.Vg(t);for(X=(L=(new dEc(v.b.a)).a.Je().Xd(),new jEc(L));X.a.Jd();){W= +(g=X.a.Kd(),g.ff());A=ANc(a.d,W);for(R=Vf(a.e,W).Xd();R.Jd();){Q=R.Kd();Vd(t.n!=Ujc,t);if(t.n==Tjc&&t.c==Q.g){Vd(Q==W.c,Q);S=Q.g;Vd((vub(),!!S&&(S.n==Jlc||S.n==ykc||S.n==tjc)),S);Vd(Q.n==Gkc,Q);w=Q.zi(false);a.f.d&&Wec(w,skb(a.f,(ztc(),qtc)));Pdc(t.c?t.c.i:null,lfc(P8b(pkb(a.f,Jkb(a,v,Q,A),w)),Q))}else{if(Nvb(Q.g)){f=Q.g;k=f.g;tkb(a.f,f,k);f=Q.g;if(Q.c){B=okb(a.f,Q);b=pkb(a.f,B,Lec(Q));xkb(f,Q,f);ykb(f,k,Q,f);Vec(b,dec(f,(vhc(),_gc)));T=lfc((Vd(b9b(b),b),new ofc(Pjc,b)),f);Oec(k,f,T);Q=B}else Jec(k, +f);uMc(a.f.b,f);a.f.a.Vg(k)}Q.g.n==jjc&&Q.g.c==Q&&Gec(Q.g,(Ldc(),tdc),false);e=Lub(Q);Pec(Q,Jkb(a,v,Q,A));!!e&&a.f.a.Ug(e)}}}}for(j=Hw(a.b).Xd();j.Jd();){i=j.Kd();U=new mfc((Plc(),ilc));K=Vf(a.b,i);H=vG(CX,mWc,7,K.$d(),0,1);I=vG(CX,mWc,7,K.$d(),0,1);l=0;J=vG(iY,zUc,23,K.$d(),0,1);for(D=K.Xd();D.Jd();){C=D.Kd();O=Ikb(a,C);H[l]=O;a.f.d&&(J[l]=Pd(O.d));I[l]=Ikb(a,C);++l}m=R8b((Zd(RBc("",jCc(46))==-1,kWc,""),Ldc(),new Lhc(Gkc,"")),j9b(H),I8b(U));if(a.f.d){n=Yqc(frc(drc(irc(crc((cmc(),new mrc(a.f.a.Mg())), +""),m),Ntc(a.f.a.Mg(),false,J)),i.d));m.d=n}a.f.a.Ug(m);d=K8b(m,I);a.f.d&&Wec(d,i.d);Gec(d,tdc,true);vub();i.n==Vjc&&rvb(i.g)&&i.n==Vjc&&Uvb(i.c)?T=lfc(M8b(e9b(i.c.Di()),d,Jlc),i):T=lfc(d,i);Oec(i.g,i,T);Pdc(U,i);a.f.a.Vg(T)}}function ztc(){ztc=T0;osc=new Atc(T0c,0);nsc=new Atc("ARRAY_FUNCTION_TYPE",1);rsc=new Atc("ASYNC_ITERABLE_FUNCTION_TYPE",2);ssc=new Atc("ASYNC_ITERABLE_TYPE",3);tsc=new Atc("ASYNC_ITERATOR_FUNCTION_TYPE",4);usc=new Atc("ASYNC_ITERATOR_TYPE",5);psc=new Atc("ASYNC_GENERATOR_FUNCTION_TYPE", +6);qsc=new Atc("ASYNC_GENERATOR_TYPE",7);xsc=new Atc(n1c,8);wsc=new Atc("BOOLEAN_OBJECT_TYPE",9);vsc=new Atc("BOOLEAN_OBJECT_FUNCTION_TYPE",10);ysc=new Atc("CHECKED_UNKNOWN_TYPE",11);Asc=new Atc("DATE_TYPE",12);zsc=new Atc("DATE_FUNCTION_TYPE",13);Bsc=new Atc("FUNCTION_FUNCTION_TYPE",14);Csc=new Atc("FUNCTION_PROTOTYPE",15);Dsc=new Atc("GENERATOR_FUNCTION_TYPE",16);Esc=new Atc("GENERATOR_TYPE",17);Nsc=new Atc("I_ITERABLE_RESULT_FUNCTION_TYPE",18);Osc=new Atc("I_ITERABLE_RESULT_TYPE",19);Hsc=new Atc("ITERABLE_FUNCTION_TYPE", +20);Isc=new Atc("ITERABLE_TYPE",21);Jsc=new Atc("ITERATOR_FUNCTION_TYPE",22);Ksc=new Atc("ITERATOR_TYPE",23);Lsc=new Atc("I_ARRAY_LIKE_FUNCTION_TYPE",24);Msc=new Atc("I_ARRAY_LIKE_TYPE",25);Rsc=new Atc("I_TEMPLATE_ARRAY_TYPE",26);Psc=new Atc("I_OBJECT_FUNCTION_TYPE",27);Qsc=new Atc("I_OBJECT_TYPE",28);Ssc=new Atc("I_THENABLE_FUNCTION_TYPE",29);Tsc=new Atc("I_THENABLE_TYPE",30);Ysc=new Atc("NULL_TYPE",31);ftc=new Atc(o1c,32);_sc=new Atc("NUMBER_OBJECT_TYPE",33);$sc=new Atc("NUMBER_OBJECT_FUNCTION_TYPE", +34);ktc=new Atc("PROMISE_TYPE",35);jtc=new Atc("PROMISE_FUNCTION_TYPE",36);itc=new Atc("OBJECT_TYPE",37);gtc=new Atc("OBJECT_FUNCTION_TYPE",38);htc=new Atc("OBJECT_PROTOTYPE",39);mtc=new Atc("REGEXP_TYPE",40);ltc=new Atc("REGEXP_FUNCTION_TYPE",41);otc=new Atc("STRING_OBJECT_TYPE",42);ntc=new Atc("STRING_OBJECT_FUNCTION_TYPE",43);qtc=new Atc(m1c,44);stc=new Atc("SYMBOL_OBJECT_TYPE",45);rtc=new Atc("SYMBOL_OBJECT_FUNCTION_TYPE",46);ttc=new Atc("SYMBOL_TYPE",47);utc=new Atc("THENABLE_TYPE",48);xtc=new Atc("UNKNOWN_TYPE", +49);ytc=new Atc("VOID_TYPE",50);msc=new Atc("ALL_TYPE",51);Xsc=new Atc("NO_TYPE",52);Vsc=new Atc("NO_OBJECT_TYPE",53);Wsc=new Atc("NO_RESOLVED_TYPE",54);Fsc=new Atc("GLOBAL_THIS",55);vtc=new Atc("U2U_CONSTRUCTOR_TYPE",56);wtc=new Atc("U2U_FUNCTION_TYPE",57);Usc=new Atc("LEAST_FUNCTION_TYPE",58);Gsc=new Atc("GREATEST_FUNCTION_TYPE",59);Zsc=new Atc("NULL_VOID",60);btc=new Atc("NUMBER_STRING_BOOLEAN",61);ctc=new Atc("NUMBER_STRING_BOOLEAN_SYMBOL",62);etc=new Atc("NUMBER_SYMBOL",63);ptc=new Atc("STRING_SYMBOL", +64);atc=new Atc("NUMBER_STRING",65);dtc=new Atc("NUMBER_STRING_SYMBOL",66)}function fOb(){fOb=T0;DNb=new gOb("NG_INJECT",0);aNb=new gOb("ABSTRACT",1);bNb=new gOb("AUTHOR",2);cNb=new gOb("CLOSURE_PRIMITIVE",3);dNb=new gOb("CONSTANT",4);eNb=new gOb(a_c,5);fNb=new gOb("CUSTOM_ELEMENT",6);SNb=new gOb("RECORD",7);gNb=new gOb("DEFINE",8);hNb=new gOb("DEPRECATED",9);iNb=new gOb("DESC",10);jNb=new gOb("DICT",11);kNb=new gOb(b_c,12);nNb=new gOb(c_c,13);oNb=new gOb("EXTERNS",14);lNb=new gOb(d_c,15);mNb=new gOb("EXPOSE", +16);pNb=new gOb("FILE_OVERVIEW",17);qNb=new gOb("FINAL",18);rNb=new gOb("HIDDEN",19);sNb=new gOb("IDGENERATOR",20);tNb=new gOb(e_c,21);uNb=new gOb("IMPLICIT_CAST",22);vNb=new gOb("INHERIT_DOC",23);wNb=new gOb(f_c,24);xNb=new gOb("LENDS",25);yNb=new gOb("LICENSE",26);zNb=new gOb("MEANING",27);ANb=new gOb("MIXIN_CLASS",28);BNb=new gOb("MIXIN_FUNCTION",29);CNb=new gOb("MODIFIES",30);FNb=new gOb("NO_COLLAPSE",31);GNb=new gOb("NO_COMPILE",32);HNb=new gOb("NO_INLINE",33);INb=new gOb("NO_SIDE_EFFECTS",34); +ENb=new gOb("NOT_IMPLEMENTED",35);JNb=new gOb("OVERRIDE",36);KNb=new gOb(g_c,37);LNb=new gOb("PARAM",38);MNb=new gOb("POLYMER",39);NNb=new gOb("POLYMER_BEHAVIOR",40);ONb=new gOb("PRESERVE",41);PNb=new gOb(h_c,42);QNb=new gOb(i_c,43);RNb=new gOb(j_c,44);TNb=new gOb(k_c,45);UNb=new gOb("SEE",46);VNb=new gOb("STRUCT",47);WNb=new gOb("SUPPRESS",48);XNb=new gOb("TEMPLATE",49);YNb=new gOb(YVc,50);ZNb=new gOb("THROWS",51);$Nb=new gOb(l_c,52);_Nb=new gOb("TYPEDEF",53);aOb=new gOb("TYPE_SUMMARY",54);bOb=new gOb("UNRESTRICTED", +55);cOb=new gOb("VERSION",56);dOb=new gOb("WIZACTION",57);eOb=Cs(new Fs,"ngInject",DNb).Wf("abstract",aNb).Wf("argument",LNb).Wf("author",bNb).Wf("closurePrimitive",cNb).Wf(IYc,dNb).Wf("constant",dNb).Wf(pWc,eNb).Wf("customElement",fNb).Wf("copyright",yNb).Wf("define",gNb).Wf(DYc,hNb).Wf("desc",iNb).Wf("dict",jNb).Wf(NXc,kNb).Wf(vXc,lNb).Wf("expose",mNb).Wf(BXc,nNb).Wf("externs",oNb).Wf("fileoverview",pNb).Wf("final",qNb).Wf("hidden",rNb).Wf("idGenerator",sNb).Wf(CXc,tNb).Wf("implicitCast",uNb).Wf("inheritDoc", +vNb).Wf(MXc,wNb).Wf("record",SNb).Wf("lends",xNb).Wf("license",yNb).Wf("meaning",zNb).Wf("mixinClass",ANb).Wf("mixinFunction",BNb).Wf("modifies",CNb).Wf("nocollapse",FNb).Wf("nocompile",GNb).Wf("noinline",HNb).Wf("nosideeffects",INb).Wf("override",JNb).Wf("owner",bNb).Wf(m_c,KNb).Wf("param",LNb).Wf("polymer",MNb).Wf(MYc,NNb).Wf("preserve",ONb).Wf(n_c,PNb).Wf(o_c,QNb).Wf(p_c,RNb).Wf(rXc,TNb).Wf("returns",TNb).Wf("see",UNb).Wf("struct",VNb).Wf("suppress",WNb).Wf("template",XNb).Wf(ZVc,YNb).Wf(f$c,ZNb).Wf(OXc, +$Nb).Wf("typedef",_Nb).Wf("typeSummary",aOb).Wf("unrestricted",bOb).Wf(BVc,cOb).Wf("wizaction",dOb).Vf()}function Q4(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M;switch(b.n.f){case 83:B4((Plc(),tkc),b);i=Rlc(b.n);i!=-1&&(j=$dc(b),i!=j&&b5(CWc+i+DWc+j,b));q4(b.c);Q4(a,b.c?b.c.i:null,false);return;case 82:N3(a,b);return;case 65:c?e4(a,b,true):(B4((Plc(),Vjc),b),k=Rlc(b.n),k!=-1&&(l=$dc(b),k!=l&&b5(CWc+k+DWc+l,b)),u4(b.c),K4(a,b.c.f),N3(a,b.c?b.c.i:null),f4(a,b),b.g.n== +gjc&&(!b.g?null:b.g.g).n!=Vjc&&d4(a,(dXb(),eWb),b),undefined);return;case 77:B4((Plc(),Nlc),b);m=Rlc(b.n);m!=-1&&(n=$dc(b),m!=n&&b5(CWc+m+DWc+n,b));c4(a,b.c);N3(a,b.c?b.c.i:null);return;case 72:B4((Plc(),Rjc),b);o=$dc(b);4!=o&&b5("Expected 4 children, but was "+o,b);$4(a,b.c);J4(a,b.c.f);J4(a,Zdc(b,2));N3(a,b.c?b.c.i:null);return;case 73:B4((Plc(),Tjc),b);p=Rlc(b.n);p!=-1&&(q=$dc(b),p!=q&&b5(CWc+p+DWc+q,b));Z4(a,b.c);c4(a,b.c.f);N3(a,b.c?b.c.i:null);return;case 101:d4(a,(dXb(),tWb),b);B4((Plc(),Ujc), +b);r=Rlc(b.n);r!=-1&&(s=$dc(b),r!=s&&b5(CWc+r+DWc+s,b));Z4(a,b.c);c4(a,b.c.f);N3(a,b.c?b.c.i:null);return;case 102:d4(a,(dXb(),sWb),b);B4((Plc(),Sjc),b);t=Rlc(b.n);t!=-1&&(u=$dc(b),t!=u&&b5(CWc+t+DWc+u,b));Z4(a,b.c);c4(a,b.c.f);N3(a,b.c?b.c.i:null);return;case 70:B4((Plc(),Mlc),b);v=Rlc(b.n);v!=-1&&(w=$dc(b),v!=w&&b5(CWc+v+DWc+w,b));c4(a,b.c);N3(a,b.c?b.c.i:null);return;case 71:B4((Plc(),Djc),b);A=Rlc(b.n);A!=-1&&(B=$dc(b),A!=B&&b5(CWc+A+DWc+B,b));N3(a,b.c);c4(a,b.c?b.c.i:null);return;case 67:T4(a, +b);return;case 66:B4((Plc(),dkc),b);C=$dc(b);(C<2||C>3)&&b5(OWc+C,b);c4(a,b.c);N3(a,b.c.f);lec(b)&&N3(a,b.c?b.c.i:null);return;case 88:for(e=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();e.Jd();){d=e.Kd();d.n==(Plc(),Bjc)?(g=$dc(d),2!=g&&b5(BWc+g,d)):(h=$dc(d),1!=h&&b5(GWc+h,d))}case 76:case 100:w4(a,b.n,b);return;case 84:B4((Plc(),Pjc),b);D=Rlc(b.n);D!=-1&&(F=$dc(b),D!=F&&b5(CWc+D+DWc+F,b));c4(a,b.c);return;case 0:B4((Plc(),ilc),b);r4(b);!!b.c&&c4(a,b.c);return;case 39:B4((Plc(),Blc),b);G=Rlc(b.n); +G!=-1&&(H=$dc(b),G!=H&&b5(CWc+G+DWc+H,b));c4(a,b.c);return;case 44:X4(a,b);return;case 74:B4((Plc(),ijc),b);r4(b);!!b.c&&q4(b.c);return;case 75:B4((Plc(),ujc),b);r4(b);!!b.c&&q4(b.c);return;case 80:case 89:f=$dc(b);0!=f&&b5(AWc+f,b);return;case 96:R3(a,b,c);u4(b.c);return;case 105:i4(a,b);return;case 109:_3(a,b,c);return;case 153:d4(a,(dXb(),AWb),b);B4((Plc(),okc),b);I=Rlc(b.n);I!=-1&&(J=$dc(b),I!=J&&b5(CWc+I+DWc+J,b));K=b.c;u4(K);L=K.f;L.n==Fjc?(M=$dc(L),0!=M&&b5(AWc+M,L)):m4(L);o4(a,b.c?b.c.i:null); +return;case 156:Z3(b);return;case 159:Y4(a,b);return;case 160:d4(a,(dXb(),ZVb),b);B4((Plc(),xjc),b);J3(a,b.c);return;case 164:x4(a,b,c);return;default:b5("Expected statement but was "+b.n+".",b)}}function cCb(){cCb=T0;TBb=new $hb("JSC_PARSE_ERROR",(p7(),m7),new aDc(D$c));YBb=new $hb("JSC_TYPE_PARSE_ERROR",o7,new aDc(rYc));$Bb=new $hb("JSC_UNRECOGNIZED_TYPE_ERROR",o7,new aDc(rYc));PBb=new $hb("JSC_JSDOC_MISSING_BRACES_WARNING",n7,new aDc(rYc));QBb=new $hb("JSC_JSDOC_MISSING_TYPE_WARNING",n7,new aDc(rYc)); +OBb=new $hb("JSC_JSDOC_IMPORT_TYPE_WARNING",n7,new aDc(rYc));WBb=new $hb("JSC_TOO_MANY_TEMPLATE_PARAMS",n7,new aDc(rYc));XBb=new $hb("JSC_TRAILING_COMMA",m7,new aDc("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."));JBb=new $hb("JSC_DUPLICATE_PARAM",m7,new aDc(D$c));ZBb=new $hb("JSC_UNNECESSARY_ESCAPE",n7,new aDc(D$c));NBb=new $hb("JSC_INVALID_PARAM",o7,new aDc(D$c)); +HBb=new $hb("JSC_BAD_JSDOC_ANNOTATION",o7,new aDc(D$c));LBb=new $hb("JSC_INVALID_ES3_PROP_NAME",o7,new aDc(E$c));UBb=new $hb("JSC_PARSE_TREE_TOO_DEEP",m7,new aDc("Parse tree too deep."));MBb=new $hb("JSC_INVALID_OCTAL_LITERAL",o7,new aDc("This style of octal literal is not supported in strict mode."));VBb=new $hb("JSC_STRING_CONTINUATION",o7,new aDc(rYc));RBb=new $hb("JSC_LANGUAGE_FEATURE",m7,new aDc("{0}."));aCb=new $hb("JSC_UNSUPPORTED_LANGUAGE_FEATURE",m7,new aDc("{0}."));KBb=new $hb("JSC_ES6_TYPED", +m7,new aDc("{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features."));SBb=new $hb("JSC_MISPLACED_TYPE_SYNTAX",m7,new aDc(F$c));_Bb=new $hb("JSC_UNSUPPORTED_BOUNDED_GENERIC_TYPES",m7,new aDc(G$c));IBb=new $hb("JSC_BOUNDED_GENERIC_TYPE_ERROR",m7,new aDc("Bounded generic type error. {0} assigned to template type {1} is not a subtype of bound {2}"));bCb=(Do(),Cs(new Fs,hSc(H$c),XBb)).Wf(fCb('Duplicate parameter name "{0}"'),JBb).Wf(hSc("Unnecessary escape:.*"),ZBb).Wf(hSc("^invalid param name.*"), +NBb).Wf(fCb(vic(I$c,yG(tG(rZ,1),zUc,1,5,[]))),HBb).Wf(hSc("^Keywords and reserved words are not allowed as unquoted property.*"),LBb).Wf(hSc("^Too many template parameters"),WBb).Wf(hSc(".*Type annotations should have curly braces.*"),PBb).Wf(hSc("Missing type declaration\\."),QBb).Wf(hSc(".*Unknown type.*"),$Bb).Wf(hSc(".*Unknown type.*\n.*"),$Bb).Wf(hSc("^Bad type annotation. Import in typedef.*"),OBb).Wf(hSc("^Bad type annotation.*"),YBb).Wf(hSc("Too deep recursion while parsing"),UBb).Wf(hSc("^Octal .*literal.*"), +MBb).Wf(hSc("^String continuations.*"),VBb).Wf(hSc("^This language feature is only supported for .*"),RBb).Wf(hSc("^This language feature is not currently supported by the internalReporter: .*"),aCb).Wf(hSc("^type syntax is only supported in ES6 typed mode.*"),KBb).Wf(hSc("^Can only have JSDoc or inline type.*"),SBb).Wf(hSc(G$c),_Bb).Wf(hSc("^Bounded generic type error.*"),IBb).Vf()}function b8(){b8=T0;new $hb("JSC_AT_EXPORT_IN_GOOG_MODULE",(p7(),m7),new aDc("@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.")); +U7=new $hb("JSC_AT_EXPORT_IN_NON_LEGACY_GOOG_MODULE",m7,new aDc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead."));W7=new $hb("JSC_GOOG_MODULE_IN_NON_MODULE",m7,new aDc("goog.module() call must be the first statement in a module."));V7=new $hb("JSC_DECLARE_LEGACY_NAMESPACE_IN_NON_MODULE",m7,new aDc("goog.module.declareLegacyNamespace may only be called in a goog.module."));new $hb("JSC_GOOG_MODULE_REFERENCES_THIS",m7,new aDc("The body of a goog.module cannot reference 'this'.")); +new $hb("JSC_GOOG_MODULE_USES_THROW",m7,new aDc("The body of a goog.module cannot use 'throw'."));new $hb("JSC_DUPLICATE_NAME_SHORT_REQUIRE",m7,new aDc("Found multiple goog.require statements importing identifier ''{0}''."));new $hb("JSC_INVALID_DESTRUCTURING_REQUIRE",m7,new aDc("Destructuring goog.require must be a simple object pattern."));$7=new $hb("JSC_LET_GOOG_REQUIRE",n7,new aDc($Wc));new $hb("JSC_MULTIPLE_MODULES_IN_FILE",m7,new aDc("There should only be a single goog.module() statement per file.")); +new $hb("JSC_ONE_REQUIRE_PER_DECLARATION",m7,new aDc("There may only be one goog.require() per var/let/const declaration."));X7=new $hb("JSC_INCORRECT_SHORTNAME_CAPITALIZATION",n7,new aDc("The capitalization of short name {0} is incorrect; it should be {1}."));new $hb("JSC_EXPORT_NOT_AT_MODULE_SCOPE",m7,new aDc("Exports must be at the top-level of a module"));new $hb("JSC_EXPORT_NOT_A_STATEMENT",m7,new aDc("Exports should be a statement."));new $hb("JSC_EXPORT_REPEATED_ERROR",m7,new aDc("Name cannot be exported multiple times. Previous export on line {0}.")); +new $hb("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",m7,new aDc("References to the global name of a module are not allowed. Perhaps you meant exports?"));_7=new $hb("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",n7,new aDc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));a8=new $hb("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",n7,new aDc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead.")); +Y7=new $hb("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",n7,new aDc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));Z7=new $hb("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",n7,new aDc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead."));new $hb("JSC_REQUIRE_NOT_AT_TOP_LEVEL",m7,new aDc("goog.require() must be called at file scope."))} +function azb(){azb=T0;new $hb("JSC_NULL_ARGUMENT_ERROR",(p7(),m7),new aDc('method "{0}" called without an argument'));new $hb("JSC_EXPECTED_OBJECTLIT_ERROR",m7,new aDc('method "{0}" expected an object literal argument'));new $hb("JSC_EXPECTED_STRING_ERROR",m7,new aDc('method "{0}" expected a string argument'));new $hb("JSC_INVALID_ARGUMENT_ERROR",m7,new aDc('method "{0}" called with invalid argument'));new $hb("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",m7,new aDc("Invalid CSS name map style {0}"));new $hb("JSC_TOO_MANY_ARGUMENTS_ERROR", +m7,new aDc('method "{0}" called with more than one argument'));new $hb("JSC_DUPLICATE_NAMESPACE_ERROR",m7,new aDc('namespace "{0}" cannot be provided twice\nOriginally provided at {1}'));new $hb("JSC_WEAK_NAMESPACE_TYPE",o7,new aDc("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"));new $hb("JSC_CLASS_NAMESPACE_ERROR",m7,new aDc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'")); +new $hb("JSC_FUNCTION_NAMESPACE_ERROR",m7,new aDc('"{0}" cannot be both provided and declared as a function'));$yb=new $hb("JSC_MISSING_PROVIDE_ERROR",m7,new aDc('required "{0}" namespace never provided'));Zyb=new $hb(YWc,m7,new aDc('required "{0}" namespace not provided yet'));Yyb=new $hb("JSC_INVALID_PROVIDE_ERROR",m7,new aDc('"{0}" is not a valid {1} qualified name'));new $hb("JSC_INVALID_DEFINE_NAME_ERROR",m7,new aDc('"{0}" is not a valid JS identifier name'));new $hb("JSC_INVALID_MISSING_DEFINE_ANNOTATION", +m7,new aDc("Missing @define annotation"));new $hb("JSC_XMODULE_REQUIRE_ERROR",o7,new aDc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?'));new $hb("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",m7,new aDc("goog.setCssNameMapping only takes an object literal with string values"));new $hb("INVALID_CSS_RENAMING_MAP",o7,new aDc("Invalid entries in css renaming map: {0}"));new $hb("JSC_GOOG_BASE_CLASS_ERROR",m7,new aDc("incorrect use of goog.base: {0}")); +new $hb("JSC_BASE_CLASS_ERROR",m7,new aDc("incorrect use of {0}.base: {1}"));new $hb("JSC_CLOSURE_DEFINES_ERROR",m7,new aDc("Invalid CLOSURE_DEFINES definition"));new $hb("JSC_DEFINE_CALL_WITHOUT_ASSIGNMENT",m7,new aDc("The result of a goog.define call must be assigned as an isolated statement."));new $hb("JSC_INVALID_FORWARD_DECLARE",m7,new aDc("Malformed goog.forwardDeclaration"));_yb=new $hb("JSC_USE_OF_GOOG_BASE",n7,new aDc("goog.base is not compatible with ES5 strict mode.\nPlease use an alternative.\nFor EcmaScript classes use the super keyword. For traditional Closure classes,\nuse the class specific base method instead. For example, for the constructor MyClass:\n MyClass.base(this, ''constructor'')")); +Wyb=new $hb(p$c,m7,new aDc("Closure primitive method {0} may not be aliased"));Xyb=new $hb(p$c,m7,new aDc("Closure primitive method {0} may not be aliased outside a module (ES module, CommonJS module, or goog.module)"))}function Tlc(a){var b,c,d,e;d=false;e=a;f:{b=null;g:switch(e.length){case 2:c=e.charCodeAt(1);if(c==102){if(e.charCodeAt(0)==105){d=true;break f}}else if(c==110){if(e.charCodeAt(0)==105){d=true;break f}}else if(c==111)if(e.charCodeAt(0)==100){d=true;break f}break g;case 3:switch(e.charCodeAt(0)){case 102:{if(e.charCodeAt(2)== +114&&e.charCodeAt(1)==111){d=true;break f}}break g;case 105:{if(e.charCodeAt(2)==116&&e.charCodeAt(1)==110){d=true;break f}}break g;case 110:{if(e.charCodeAt(2)==119&&e.charCodeAt(1)==101){d=true;break f}}break g;case 116:{if(e.charCodeAt(2)==121&&e.charCodeAt(1)==114){d=true;break f}}break g;case 118:{if(e.charCodeAt(2)==114&&e.charCodeAt(1)==97){d=true;break f}}break g}break g;case 4:switch(e.charCodeAt(0)){case 98:b="byte";d=true;break g;case 99:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)== +115&&e.charCodeAt(1)==97){d=true;break f}}else if(c==114)if(e.charCodeAt(2)==97&&e.charCodeAt(1)==104){d=true;break f}break g;case 101:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==115&&e.charCodeAt(1)==108){d=true;break f}}else if(c==109)if(e.charCodeAt(2)==117&&e.charCodeAt(1)==110){d=true;break f}break g;case 103:b="goto";d=true;break g;case 108:b="long";d=true;break g;case 110:b=wUc;d=true;break g;case 116:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==117&&e.charCodeAt(1)==114){d=true;break f}}else if(c== +115)if(e.charCodeAt(2)==105&&e.charCodeAt(1)==104){d=true;break f}break g;case 118:b=LXc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=AXc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=DXc;d=true;break g;case 108:b=GXc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=IYc;d=true}else if(c==102){b="final";d=true}break g;case 111:c=e.charCodeAt(0);if(c==102){b="float";d=true}else if(c==115){b="short";d=true}break g;case 112:b=XVc; +d=true;break g;case 114:b="throw";d=true;break g;case 116:b="catch";d=true;break g}break g;case 6:switch(e.charCodeAt(1)){case 97:b="native";d=true;break g;case 101:c=e.charCodeAt(0);if(c==100){b=r0c;d=true}else if(c==114){b=rXc;d=true}break g;case 104:b=f$c;d=true;break g;case 109:b=yXc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=r_c;d=true;break g;case 117:b=p_c;d=true;break g;case 119:b="switch";d=true;break g;case 120:b=vXc;d=true;break g;case 121:b=k$c;d=true;break g}break g; +case 7:switch(e.charCodeAt(1)){case 97:b=m_c;d=true;break g;case 101:b=wXc;d=true;break g;case 105:b=qXc;d=true;break g;case 111:b=iUc;d=true;break g;case 114:b=n_c;d=true;break g;case 120:b=BXc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=IXc;d=true;break g;case 100:b=KXc;d=true;break g;case 102:b=kUc;d=true;break g;case 118:b="volatile";d=true;break g}break g;case 9:c=e.charCodeAt(0);if(c==105){b=MXc;d=true}else if(c==112){b=o_c;d=true}else if(c== +116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=CXc;d=true}else if(c==110){b=l$c;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!OBc(b,e))return false}return d}function dXb(){dXb=T0;pWb=new eXb("ES3_KEYWORDS_AS_IDENTIFIERS",0,"ES3 keywords as identifiers",1);wWb=new eXb("GETTER",1,"getters",1);BWb=new eXb("KEYWORDS_AS_PROPERTIES",2,"reserved words as properties",1);VWb=new eXb("SETTER",3,"setters",1);XWb=new eXb("STRING_CONTINUATION",4,"string continuation", +1);$Wb=new eXb("TRAILING_COMMA",5,"trailing comma",1);_Vb=new eXb("ARRAY_PATTERN_REST",6,"array pattern rest",2);aWb=new eXb("ARROW_FUNCTIONS",7,"arrow function",2);dWb=new eXb("BINARY_LITERALS",8,"binary literal",2);eWb=new eXb("BLOCK_SCOPED_FUNCTION_DECLARATION",9,"block-scoped function declaration",2);gWb=new eXb("CLASSES",10,AXc,2);hWb=new eXb("CLASS_EXTENDS",11,"class extends",2);iWb=new eXb("CLASS_GETTER_SETTER",12,"class getters/setters",2);jWb=new eXb("COMPUTED_PROPERTIES",13,"computed property", +2);lWb=new eXb("CONST_DECLARATIONS",14,"const declaration",2);mWb=new eXb("DEFAULT_PARAMETERS",15,"default parameter",2);$Vb=new eXb("ARRAY_DESTRUCTURING",16,"array destructuring",2);IWb=new eXb("OBJECT_DESTRUCTURING",17,"object destructuring",2);rWb=new eXb("EXTENDED_OBJECT_LITERALS",18,"extended object literal",2);tWb=new eXb("FOR_OF",19,"for-of loop",2);uWb=new eXb("GENERATORS",20,"generator",2);CWb=new eXb("LET_DECLARATIONS",21,"let declaration",2);DWb=new eXb("MEMBER_DECLARATIONS",22,"member declaration", +2);HWb=new eXb(e0c,23,EXc,2);LWb=new eXb("OCTAL_LITERALS",24,"octal literal",2);PWb=new eXb("REGEXP_FLAG_U",25,"RegExp flag 'u'",2);QWb=new eXb("REGEXP_FLAG_Y",26,"RegExp flag 'y'",2);UWb=new eXb("REST_PARAMETERS",27,"rest parameter",2);WWb=new eXb("SPREAD_EXPRESSIONS",28,"spread expression",2);YWb=new eXb(WVc,29,XVc,2);ZWb=new eXb("TEMPLATE_LITERALS",30,"template literal",2);FWb=new eXb("MODULES",31,"modules",2);qWb=new eXb("EXPONENT_OP",32,"exponent operator (**)",3);bWb=new eXb("ASYNC_FUNCTIONS", +33,PXc,4);_Wb=new eXb("TRAILING_COMMA_IN_PARAM_LIST",34,"trailing comma in param list",4);JWb=new eXb("OBJECT_LITERALS_WITH_SPREAD",35,"object literals with spread",5);KWb=new eXb("OBJECT_PATTERN_REST",36,"object pattern rest",5);cWb=new eXb("ASYNC_GENERATORS",37,"async generator functions",5);sWb=new eXb(f0c,38,"for-await-of loop",5);OWb=new eXb("REGEXP_FLAG_S",39,"RegExp flag 's'",5);RWb=new eXb("REGEXP_LOOKBEHIND",40,"RegExp Lookbehind",5);SWb=new eXb("REGEXP_NAMED_GROUPS",41,"RegExp named groups", +5);TWb=new eXb("REGEXP_UNICODE_PROPERTY_ESCAPE",42,"RegExp unicode property escape",5);cXb=new eXb("UNESCAPED_UNICODE_LINE_OR_PARAGRAPH_SEP",43,"Unescaped unicode line or paragraph separator",6);MWb=new eXb("OPTIONAL_CATCH_BINDING",44,"Optional catch binding",6);nWb=new eXb(g0c,45,"Dynamic module import",8);yWb=new eXb(h0c,46,zXc,8);YVb=new eXb("ACCESSIBILITY_MODIFIER",47,"accessibility modifier",9);ZVb=new eXb(i0c,48,"ambient declaration",9);fWb=new eXb(j0c,49,"call signature",9);kWb=new eXb("CONSTRUCTOR_SIGNATURE", +50,"constructor signature",9);oWb=new eXb(b_c,51,NXc,9);vWb=new eXb("GENERICS",52,"generics",9);xWb=new eXb(e_c,53,CXc,9);zWb=new eXb(k0c,54,"index signature",9);AWb=new eXb(f_c,55,MXc,9);EWb=new eXb("MEMBER_VARIABLE_IN_CLASS",56,"member variable in class",9);GWb=new eXb(l0c,57,"namespace declaration",9);NWb=new eXb(m0c,58,"optional parameter",9);aXb=new eXb(n0c,59,"type alias",9);bXb=new eXb("TYPE_ANNOTATION",60,"type annotation",9)}function V2b(){V2b=T0;r1b=new Y2b("END_OF_FILE",0,"End of File"); +w1b=new Y2b(SVc,1,"error");E1b=new Y2b("IDENTIFIER",2,"identifier");Y0b=new X2b("BREAK",3);_0b=new X2b("CASE",4);a1b=new X2b(o0c,5);j1b=new X2b(p0c,6);k1b=new X2b(q0c,7);m1b=new X2b(P$c,8);n1b=new X2b("DELETE",9);o1b=new X2b("DO",10);q1b=new X2b("ELSE",11);A1b=new X2b(s0c,12);B1b=new X2b("FOR",13);C1b=new X2b(PZc,14);F1b=new X2b("IF",15);I1b=new X2b("IN",16);J1b=new X2b(c0c,17);U1b=new X2b("NEW",18);q2b=new X2b(k_c,19);D2b=new X2b(t0c,20);H2b=new X2b(YVc,21);I2b=new X2b("THROW",22);L2b=new X2b("TRY", +23);N2b=new X2b(u0c,24);Q2b=new X2b("VAR",25);R2b=new X2b("VOID",26);S2b=new X2b("WHILE",27);T2b=new X2b("WITH",28);b1b=new X2b(OZc,29);i1b=new X2b("CONST",30);s1b=new X2b(b_c,31);x1b=new X2b(d_c,32);y1b=new X2b(c_c,33);H1b=new X2b(v0c,34);C2b=new X2b(WVc,35);G1b=new X2b(e_c,36);K1b=new X2b(f_c,37);O1b=new X2b("LET",38);d2b=new X2b(g_c,39);l2b=new X2b(h_c,40);m2b=new X2b(i_c,41);n2b=new X2b(j_c,42);A2b=new X2b("STATIC",43);U2b=new X2b("YIELD",44);_1b=new Y2b("OPEN_CURLY",45,"{");d1b=new Y2b("CLOSE_CURLY", +46,"}");a2b=new Y2b("OPEN_PAREN",47,"(");e1b=new Y2b("CLOSE_PAREN",48,")");b2b=new Y2b("OPEN_SQUARE",49,"[");f1b=new Y2b("CLOSE_SQUARE",50,"]");g2b=new Y2b("PERIOD",51,".");t2b=new Y2b("SEMI_COLON",52,";");h1b=new Y2b("COMMA",53,",");$1b=new Y2b("OPEN_ANGLE",54,"<");c1b=new Y2b("CLOSE_ANGLE",55,">");N1b=new Y2b("LESS_EQUAL",56,"<=");D1b=new Y2b("GREATER_EQUAL",57,">=");U0b=new Y2b("ARROW",58,"=>");u1b=new Y2b("EQUAL_EQUAL",59,"==");V1b=new Y2b("NOT_EQUAL",60,"!=");v1b=new Y2b("EQUAL_EQUAL_EQUAL", +61,"===");W1b=new Y2b("NOT_EQUAL_EQUAL",62,"!==");h2b=new Y2b("PLUS",63,"+");P1b=new Y2b("MINUS",64,"-");w2b=new Y2b("STAR",65,"*");y2b=new Y2b("STAR_STAR",66,"**");e2b=new Y2b("PERCENT",67,"%");j2b=new Y2b("PLUS_PLUS",68,"++");R1b=new Y2b("MINUS_MINUS",69,"--");L1b=new Y2b("LEFT_SHIFT",70,"<<");r2b=new Y2b("RIGHT_SHIFT",71,">>");O2b=new Y2b("UNSIGNED_RIGHT_SHIFT",72,">>>");R0b=new Y2b("AMPERSAND",73,"&");W0b=new Y2b("BAR",74,"|");Z0b=new Y2b("CARET",75,"^");V0b=new Y2b("BANG",76,"!");J2b=new Y2b("TILDE", +77,"~");T0b=new Y2b("AND",78,"&&");c2b=new Y2b("OR",79,"||");o2b=new Y2b("QUESTION",80,"?");g1b=new Y2b("COLON",81,":");t1b=new Y2b("EQUAL",82,"=");i2b=new Y2b("PLUS_EQUAL",83,"+=");Q1b=new Y2b("MINUS_EQUAL",84,"-=");x2b=new Y2b("STAR_EQUAL",85,"*=");z2b=new Y2b("STAR_STAR_EQUAL",86,"**=");f2b=new Y2b("PERCENT_EQUAL",87,"%=");M1b=new Y2b("LEFT_SHIFT_EQUAL",88,"<<=");s2b=new Y2b("RIGHT_SHIFT_EQUAL",89,">>=");P2b=new Y2b("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");S0b=new Y2b("AMPERSAND_EQUAL",91,"&="); +X0b=new Y2b("BAR_EQUAL",92,"|=");$0b=new Y2b("CARET_EQUAL",93,"^=");u2b=new Y2b("SLASH",94,"/");v2b=new Y2b("SLASH_EQUAL",95,"/=");k2b=new Y2b("POUND",96,"#");Y1b=new X2b(w0c,97);K2b=new X2b(x0c,98);z1b=new X2b(y0c,99);Z1b=new Y2b("NUMBER",100,"number literal");B2b=new Y2b(O_c,101,"string literal");p2b=new Y2b("REGULAR_EXPRESSION",102,"regular expression literal");p1b=new Y2b("ELLIPSIS",103,uXc);E2b=new Y2b("TEMPLATE_HEAD",104,"template head");F2b=new Y2b("TEMPLATE_MIDDLE",105,"template middle"); +G2b=new Y2b("TEMPLATE_TAIL",106,"template tail");X1b=new Y2b("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");M2b=new X2b(l_c,108);l1b=new X2b(z0c,109);S1b=new X2b("MODULE",110);T1b=new X2b(A0c,111)}function O6b(){O6b=T0;o6b=new P6b("PROGRAM",0);K5b=new P6b("FUNCTION_DECLARATION",1);c5b=new P6b("BLOCK",2);K6b=new P6b("VARIABLE_STATEMENT",3);I6b=new P6b("VARIABLE_DECLARATION",4);z5b=new P6b("EMPTY_STATEMENT",5);D5b=new P6b("EXPRESSION_STATEMENT",6);P5b=new P6b("IF_STATEMENT",7);x5b=new P6b("DO_WHILE_STATEMENT", +8);L6b=new P6b("WHILE_STATEMENT",9);H5b=new P6b("FOR_IN_STATEMENT",10);J5b=new P6b("FOR_STATEMENT",11);J6b=new P6b("VARIABLE_DECLARATION_LIST",12);t5b=new P6b("CONTINUE_STATEMENT",13);d5b=new P6b("BREAK_STATEMENT",14);r6b=new P6b("RETURN_STATEMENT",15);M6b=new P6b("WITH_STATEMENT",16);g5b=new P6b("CASE_CLAUSE",17);v5b=new P6b("DEFAULT_CLAUSE",18);u6b=new P6b("SWITCH_STATEMENT",19);X5b=new P6b("LABELLED_STATEMENT",20);z6b=new P6b("THROW_STATEMENT",21);h5b=new P6b(o0c,22);A6b=new P6b("TRY_STATEMENT", +23);u5b=new P6b("DEBUGGER_STATEMENT",24);y6b=new P6b("THIS_EXPRESSION",25);O5b=new P6b("IDENTIFIER_EXPRESSION",26);Y5b=new P6b("LITERAL_EXPRESSION",27);Z4b=new P6b("ARRAY_LITERAL_EXPRESSION",28);h6b=new P6b("OBJECT_LITERAL_EXPRESSION",29);k5b=new P6b("COMPREHENSION",30);m5b=new P6b("COMPREHENSION_IF",31);l5b=new P6b("COMPREHENSION_FOR",32);N5b=new P6b("GET_ACCESSOR",33);s6b=new P6b("SET_ACCESSOR",34);p6b=new P6b("PROPERTY_NAME_ASSIGNMENT",35);n5b=new P6b("COMPUTED_PROPERTY_DEFINITION",36);o5b=new P6b("COMPUTED_PROPERTY_GETTER", +37);q5b=new P6b("COMPUTED_PROPERTY_METHOD",38);r5b=new P6b("COMPUTED_PROPERTY_SETTER",39);a6b=new P6b("MISSING_PRIMARY_EXPRESSION",40);j5b=new P6b("COMMA_EXPRESSION",41);b5b=new P6b("BINARY_OPERATOR",42);s5b=new P6b("CONDITIONAL_EXPRESSION",43);F6b=new P6b("UNARY_EXPRESSION",44);H6b=new P6b("UPDATE_EXPRESSION",45);Z5b=new P6b("MEMBER_EXPRESSION",46);e6b=new P6b("NEW_EXPRESSION",47);Y4b=new P6b("ARGUMENT_LIST",48);e5b=new P6b("CALL_EXPRESSION",49);i5b=new P6b("CLASS_DECLARATION",50);U5b=new P6b("INTERFACE_DECLARATION", +51);c6b=new P6b(l0c,52);d6b=new P6b("NAMESPACE_NAME",53);A5b=new P6b("ENUM_DECLARATION",54);$5b=new P6b("MEMBER_LOOKUP_EXPRESSION",55);n6b=new P6b("PAREN_EXPRESSION",56);E5b=new P6b(s0c,57);t6b=new P6b("SUPER_EXPRESSION",58);$4b=new P6b(O0c,59);i6b=new P6b(P0c,60);F5b=new P6b("FORMAL_PARAMETER_LIST",61);W5b=new P6b(Q0c,62);k6b=new P6b(R0c,63);g6b=new P6b(w0c,64);V5b=new P6b(P_c,65);j6b=new P6b(S0c,66);b6b=new P6b("MODULE_IMPORT",67);B5b=new P6b("EXPORT_DECLARATION",68);C5b=new P6b("EXPORT_SPECIFIER", +69);Q5b=new P6b("IMPORT_DECLARATION",70);S5b=new P6b("IMPORT_SPECIFIER",71);I5b=new P6b("FOR_OF_STATEMENT",72);G5b=new P6b("FOR_AWAIT_OF_STATEMENT",73);N6b=new P6b("YIELD_EXPRESSION",74);w5b=new P6b("DEFAULT_PARAMETER",75);v6b=new P6b("TEMPLATE_LITERAL_EXPRESSION",76);w6b=new P6b("TEMPLATE_LITERAL_PORTION",77);x6b=new P6b("TEMPLATE_SUBSTITUTION",78);D6b=new P6b("TYPE_NAME",79);E6b=new P6b("TYPE_QUERY",80);B6b=new P6b("TYPED_PARAMETER",81);l6b=new P6b(m0c,82);m6b=new P6b("PARAMETERIZED_TYPE_TREE", +83);_4b=new P6b(T0c,84);q6b=new P6b(U0c,85);G6b=new P6b(V0c,86);L5b=new P6b(W0c,87);M5b=new P6b(X0c,88);_5b=new P6b("MEMBER_VARIABLE",89);p5b=new P6b("COMPUTED_PROPERTY_MEMBER_VARIABLE",90);C6b=new P6b(n0c,91);X4b=new P6b(i0c,92);T5b=new P6b(k0c,93);f5b=new P6b(j0c,94);f6b=new P6b("NEW_TARGET_EXPRESSION",95);a5b=new P6b("AWAIT_EXPRESSION",96);y5b=new P6b("DYNAMIC_IMPORT_EXPRESSION",97);R5b=new P6b("IMPORT_META_EXPRESSION",98)}function f0b(a){var b,c;j0b(a);b=a.f;if(!S_b(a,a.f))return O_b(a,(V2b(), +r1b),b);c=T_b(a);switch(c){case 123:return O_b(a,(V2b(),_1b),b);case 125:return O_b(a,(V2b(),d1b),b);case 40:return O_b(a,(V2b(),a2b),b);case 41:return O_b(a,(V2b(),e1b),b);case 91:return O_b(a,(V2b(),b2b),b);case 93:return O_b(a,(V2b(),f1b),b);case 46:if(B0b(S_b(a,a.f)?JBc(a.b,a.f):0))return k0b(a),a0b(a,b);if((S_b(a,a.f)?JBc(a.b,a.f):0)==46&&(S_b(a,a.f+1)?JBc(a.b,a.f+1):0)==46){T_b(a);T_b(a);return O_b(a,(V2b(),p1b),b)}return O_b(a,(V2b(),g2b),b);case 59:return O_b(a,(V2b(),t2b),b);case 44:return O_b(a, +(V2b(),h1b),b);case 126:return O_b(a,(V2b(),J2b),b);case 63:return O_b(a,(V2b(),o2b),b);case 58:return O_b(a,(V2b(),g1b),b);case 60:switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 60:T_b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),M1b),b)}return O_b(a,(V2b(),L1b),b);case 61:T_b(a);return O_b(a,(V2b(),N1b),b);default:return O_b(a,(V2b(),$1b),b)}case 62:if(a.k>0)return O_b(a,(V2b(),c1b),b);switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 62:T_b(a);switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 61:T_b(a); +return O_b(a,(V2b(),s2b),b);case 62:T_b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),P2b),b)}return O_b(a,(V2b(),O2b),b);default:return O_b(a,(V2b(),r2b),b)}case 61:T_b(a);return O_b(a,(V2b(),D1b),b);default:return O_b(a,(V2b(),c1b),b)}case 61:switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 61:T_b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),v1b),b)}return O_b(a,(V2b(),u1b),b);case 62:T_b(a);return O_b(a,(V2b(),U0b),b);default:return O_b(a,(V2b(),t1b),b)}case 33:if((S_b(a, +a.f)?JBc(a.b,a.f):0)==61){T_b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),W1b),b)}return O_b(a,(V2b(),V1b),b)}return O_b(a,(V2b(),V0b),b);case 42:if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),x2b),b)}else if((S_b(a,a.f)?JBc(a.b,a.f):0)==42){T_b(a);if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),z2b),b)}else return O_b(a,(V2b(),y2b),b)}return O_b(a,(V2b(),w2b),b);case 37:if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),f2b),b)}return O_b(a, +(V2b(),e2b),b);case 94:if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),$0b),b)}return O_b(a,(V2b(),Z0b),b);case 47:if((S_b(a,a.f)?JBc(a.b,a.f):0)==61){T_b(a);return O_b(a,(V2b(),v2b),b)}return O_b(a,(V2b(),u2b),b);case 43:switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 43:T_b(a);return O_b(a,(V2b(),j2b),b);case 61:T_b(a);return O_b(a,(V2b(),i2b),b);default:return O_b(a,(V2b(),h2b),b)}case 45:switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 45:T_b(a);return O_b(a,(V2b(),R1b),b);case 61:T_b(a);return O_b(a, +(V2b(),Q1b),b);default:return O_b(a,(V2b(),P1b),b)}case 38:switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 38:T_b(a);return O_b(a,(V2b(),T0b),b);case 61:T_b(a);return O_b(a,(V2b(),S0b),b);default:return O_b(a,(V2b(),R0b),b)}case 124:switch(S_b(a,a.f)?JBc(a.b,a.f):0){case 124:T_b(a);return O_b(a,(V2b(),c2b),b);case 61:T_b(a);return O_b(a,(V2b(),X0b),b);default:return O_b(a,(V2b(),W0b),b)}case 35:return O_b(a,(V2b(),k2b),b);case 48:return d0b(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return k0b(a), +b0b(a,b);case 34:case 39:return e0b(a,b,c);case 96:return!S_b(a,a.f)&&Z_b(a,uYb(a.g,b),J0c,yG(tG(rZ,1),zUc,1,5,[])),W_b(a,(V2b(),X1b),E2b);default:return c0b(a,b,c)}}function Erb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;h=false;k=new pGc;k.a[k.a.length]="/**";(b.a&aYc)!=0?(k.a[k.a.length]="@externs",true):(b.a&16)!=0&&(k.a[k.a.length]="@typeSummary",true);(b.a&1024)!=0?(k.a[k.a.length]="@export",true):!!b.j&&b.j!=(Abc(),vbc)&&fGc(k,"@"+de(b.j).toLowerCase());(b.a&ZZc)!=0&&(k.a[k.a.length]= +"@abstract",true);!!(!b.d?null:b.d.i)&&fGc(k,Brb(a,"lends",(!b.d?null:b.d.i).a,null));(b.a&1)!=0&&(b.a&4)==0&&(k.a[k.a.length]="@const",true);(b.a&32)!=0&&(k.a[k.a.length]="@final",true);e=!b.d?null:b.d.d;if(e!=null){h=true;k.a[k.a.length]="@desc "+e}!!b.d&&dbc(b.d,1)&&(k.a[k.a.length]="@wizaction",true);!!b.d&&dbc(b.d,2)&&(k.a[k.a.length]=$Zc,true);!!b.d&&dbc(b.d,3)&&(k.a[k.a.length]="@polymer",true);!!b.d&&dbc(b.d,4)&&(k.a[k.a.length]=_Zc,true);!!b.d&&dbc(b.d,5)&&(k.a[k.a.length]=a$c,true);!!b.d&& +dbc(b.d,6)&&(k.a[k.a.length]=b$c,true);!!b.d&&!!b.d.e&&(k.a[k.a.length]="@disposes",true);(b.a&c$c)!=0&&(k.a[k.a.length]="@expose",true);(b.a&YUc)!=0&&(k.a[k.a.length]="@nosideeffects",true);(b.a&bYc)!=0&&(k.a[k.a.length]="@nocompile",true);(b.a&2048)!=0&&(k.a[k.a.length]="@noinline",true);(b.a&MVc)!=0&&(k.a[k.a.length]="@idGenerator {unique}",true);(b.a&262144)!=0&&(k.a[k.a.length]="@idGenerator {consistent}",true);(b.a&d$c)!=0&&(k.a[k.a.length]="@idGenerator {stable}",true);(b.a&CVc)!=0&&(k.a[k.a.length]= +"@idGenerator {xid}",true);(b.a&e$c)!=0&&(k.a[k.a.length]="@idGenerator {mapped}",true);(b.a&pZc)!=0&&(k.a[k.a.length]="@dict",true);(b.a&NVc)!=0&&(k.a[k.a.length]="@struct",true);(b.a&oZc)!=0&&(k.a[k.a.length]="@unrestricted ",true);(b.a&2)!=0&&(k.a[k.a.length]="@constructor",true);((b.a&512)!=0||(b.a&PYc)!=0)&&(b.a&PYc)==0&&(k.a[k.a.length]="@interface",true);((b.a&512)!=0||(b.a&PYc)!=0)&&(b.a&PYc)!=0&&(k.a[k.a.length]="@record",true);if(!b.d?null:b.d.a){h=true;u=Frb((!b.d?null:b.d.a).a);fGc(k, +Brb(a,BXc,u,null))}for(t=T9b(b).Xd();t.Jd();){r=t.Kd();h=true;u=Frb(r.a);fGc(k,Brb(a,BXc,u,null))}for(s=V9b(b).Xd();s.Jd();){r=s.Kd();h=true;u=Frb(r.a);fGc(k,Brb(a,CXc,u,null))}if(b.g){h=true;u=Frb(b.g.a);fGc(k,Brb(a,ZVc,u,null))}if(Y9b(b)>0){h=true;for(j=Z9b(b).Xd();j.Jd();){i=j.Kd();fGc(k,"@param "+Crb(a,b,i))}}if((b.a&nZc)==nVc){h=true;fGc(k,Arb(a,(nZc&b.a)==nVc?b.i:null,!b.b?null:b.b.f))}cac(b).Wd()||fGc(k,Brb(a,f$c,cac(b).ee(0).a,null));p=bac(b);if(!p.Wd()){h=true;sOc(p,new Irb(a,k))}v=hac(b); +if(!v.Wd()){h=true;for(g=Eo(v).Xd();g.Jd();){f=g.Kd();i=f.ff();q=Q9(new V9(f.gf()));k.a[k.a.length]=YZc+i+" := "+q+" =:"}}(b.a&64)!=0&&(k.a[k.a.length]="@override",true);(b.a&nZc)==AZc&&(b.a&4)==0&&(b.e?fGc(k,Grb(a,((nZc&b.a)==AZc?b.i:null).a)):fGc(k,Brb(a,OXc,((nZc&b.a)==AZc?b.i:null).a,null)));(b.a&4)!=0&&fGc(k,Brb(a,"define",((nZc&b.a)==AZc?b.i:null).a,null));(b.a&nZc)==yVc&&fGc(k,Brb(a,"typedef",((nZc&b.a)==yVc?b.i:null).a,null));(b.a&nZc)==KZc&&fGc(k,Brb(a,NXc,((nZc&b.a)==KZc?b.i:null).a,null)); +(b.a&8192)!=0&&(k.a[k.a.length]="@implicitCast",true);(b.a&NZc)!=0&&(k.a[k.a.length]="@nocollapse",true);o=(n=!b.d?null:b.d.q,!n?(LHc(),LHc(),KHc):n);if(!o.Wd()){c=o.ce(vG(wZ,eWc,2,0,6,1));cHc(c,(OA(),NA));fGc(k,"@suppress {"+Ic(new Kc(String.fromCharCode(44)),new PDc(new mHc(c)))+"}");h=true}if((b.a&256)!=0){fGc(k,"@deprecated "+(!b.d?null:b.d.c));h=true}if(!!b.d&&dbc(b.d,3)){h=true;k.a[k.a.length]="@polymer"}if(!!b.d&&dbc(b.d,2)){h=true;k.a[k.a.length]=$Zc}if(!!b.d&&dbc(b.d,6)){h=true;k.a[k.a.length]= +b$c}if(!!b.d&&dbc(b.d,5)){h=true;k.a[k.a.length]=a$c}if(!!b.d&&dbc(b.d,4)){h=true;k.a[k.a.length]=_Zc}(!b.d?null:b.d.b)!=null&&fGc(k,"@closurePrimitive {"+(!b.d?null:b.d.b)+"}");!!b.d&&dbc(b.d,0)&&(k.a[k.a.length]="@ngInject",true);if(a.a&&(!b.b?null:b.b.b)!=null){d=ZBc(!b.b?null:b.b.b,"\n\\s*\\*\\s*",xVc);if(d.length!=0){h=true;d=gCc(d);k.a.length>1&&(d+=xVc);BTc(k.a,1,d)}}m=new DCc;if(h)Hc(new Kc(xVc),m,new HGc(k));else{Hc(new Kc(" "),m,new HGc(k));m.a+=" */"}l=ZBc(ZBc(m.a,xVc,"\n *"),"\n \\*([^ \n])", +"\n * $1");h?l+="\n */\n":l+=" ";return l}function Plc(){Plc=T0;ilc=new Qlc(k_c,0);ejc=new Qlc("BITOR",1);fjc=new Qlc("BITXOR",2);cjc=new Qlc("BITAND",3);Jjc=new Qlc("EQ",4);Kkc=new Qlc("NE",5);Akc=new Qlc("LT",6);xkc=new Qlc("LE",7);bkc=new Qlc("GT",8);Xjc=new Qlc("GE",9);zkc=new Qlc("LSH",10);klc=new Qlc("RSH",11);Ilc=new Qlc("URSH",12);Iic=new Qlc("ADD",13);tlc=new Qlc("SUB",14);Fkc=new Qlc("MUL",15);Cjc=new Qlc("DIV",16);Dkc=new Qlc("MOD",17);Ljc=new Qlc("EXPONENT",18);Okc=new Qlc("NOT",19);djc= +new Qlc("BITNOT",20);dlc=new Qlc("POS",21);Lkc=new Qlc("NEG",22);Mkc=new Qlc("NEW",23);Ajc=new Qlc("DELPROP",24);Elc=new Qlc(u0c,25);_jc=new Qlc("GETPROP",26);$jc=new Qlc("GETELEM",27);jjc=new Qlc("CALL",28);Gkc=new Qlc("NAME",29);Rkc=new Qlc("NUMBER",30);qlc=new Qlc(O_c,31);Pkc=new Qlc(w0c,32);Alc=new Qlc(YVc,33);Qjc=new Qlc(y0c,34);Clc=new Qlc(x0c,35);nlc=new Qlc("SHEQ",36);olc=new Qlc("SHNE",37);glc=new Qlc("REGEXP",38);Blc=new Qlc("THROW",39);kkc=new Qlc("IN",40);nkc=new Qlc(c0c,41);Mic=new Qlc("ARRAYLIT", +42);Tkc=new Qlc("OBJECTLIT",43);Dlc=new Qlc("TRY",44);$kc=new Qlc("PARAM_LIST",45);rjc=new Qlc("COMMA",46);Pic=new Qlc("ASSIGN",47);Sic=new Qlc("ASSIGN_BITOR",48);Tic=new Qlc("ASSIGN_BITXOR",49);Ric=new Qlc("ASSIGN_BITAND",50);Wic=new Qlc("ASSIGN_LSH",51);Zic=new Qlc("ASSIGN_RSH",52);_ic=new Qlc("ASSIGN_URSH",53);Qic=new Qlc("ASSIGN_ADD",54);$ic=new Qlc("ASSIGN_SUB",55);Yic=new Qlc("ASSIGN_MUL",56);Uic=new Qlc("ASSIGN_DIV",57);Xic=new Qlc("ASSIGN_MOD",58);Vic=new Qlc("ASSIGN_EXPONENT",59);ckc=new Qlc("HOOK", +60);Ykc=new Qlc("OR",61);Jic=new Qlc("AND",62);lkc=new Qlc("INC",63);wjc=new Qlc("DEC",64);Vjc=new Qlc(PZc,65);dkc=new Qlc("IF",66);vlc=new Qlc(t0c,67);ljc=new Qlc("CASE",68);yjc=new Qlc("DEFAULT_CASE",69);Mlc=new Qlc("WHILE",70);Djc=new Qlc("DO",71);Rjc=new Qlc("FOR",72);Tjc=new Qlc("FOR_IN",73);ijc=new Qlc("BREAK",74);ujc=new Qlc(p0c,75);Jlc=new Qlc("VAR",76);Nlc=new Qlc("WITH",77);njc=new Qlc(o0c,78);Klc=new Qlc("VOID",79);Fjc=new Qlc("EMPTY",80);jlc=new Qlc("ROOT",81);gjc=new Qlc("BLOCK",82); +tkc=new Qlc("LABEL",83);Pjc=new Qlc("EXPR_RESULT",84);llc=new Qlc("SCRIPT",85);akc=new Qlc("GETTER_DEF",86);mlc=new Qlc("SETTER_DEF",87);tjc=new Qlc("CONST",88);vjc=new Qlc(q0c,89);ukc=new Qlc("LABEL_NAME",90);rlc=new Qlc("STRING_KEY",91);mjc=new Qlc("CAST",92);Nic=new Qlc(O0c,93);Ukc=new Qlc(P0c,94);Bjc=new Qlc("DESTRUCTURING_LHS",95);ojc=new Qlc(OZc,96);pjc=new Qlc("CLASS_MEMBERS",97);Bkc=new Qlc("MEMBER_FUNCTION_DEF",98);ulc=new Qlc(WVc,99);ykc=new Qlc("LET",100);Ujc=new Qlc("FOR_OF",101);Sjc= +new Qlc(f0c,102);Olc=new Qlc("YIELD",103);ajc=new Qlc("AWAIT",104);fkc=new Qlc(v0c,105);ikc=new Qlc("IMPORT_SPECS",106);hkc=new Qlc("IMPORT_SPEC",107);jkc=new Qlc("IMPORT_STAR",108);Mjc=new Qlc(d_c,109);Ojc=new Qlc("EXPORT_SPECS",110);Njc=new Qlc("EXPORT_SPEC",111);Ekc=new Qlc("MODULE_BODY",112);Ejc=new Qlc(g0c,113);rkc=new Qlc(P_c,114);Vkc=new Qlc(S0c,115);skc=new Qlc(Q0c,116);Wkc=new Qlc(R0c,117);sjc=new Qlc("COMPUTED_PROP",118);wlc=new Qlc("TAGGED_TEMPLATELIT",119);xlc=new Qlc("TEMPLATELIT",120); +zlc=new Qlc("TEMPLATELIT_SUB",121);ylc=new Qlc("TEMPLATELIT_STRING",122);zjc=new Qlc("DEFAULT_VALUE",123);Nkc=new Qlc(e0c,124);gkc=new Qlc(h0c,125);slc=new Qlc(m1c,126);hjc=new Qlc(n1c,127);Skc=new Qlc(o1c,128);Wjc=new Qlc(W0c,129);Zkc=new Qlc("PARAMETERIZED_TYPE",130);Hlc=new Qlc(V0c,131);Lic=new Qlc("ANY_TYPE",132);Qkc=new Qlc("NULLABLE_TYPE",133);Llc=new Qlc("VOID_TYPE",134);hlc=new Qlc("REST_PARAMETER_TYPE",135);Hkc=new Qlc("NAMED_TYPE",136);Xkc=new Qlc(m0c,137);flc=new Qlc(U0c,138);Glc=new Qlc("UNDEFINED_TYPE", +139);Oic=new Qlc(T0c,140);Yjc=new Qlc(k1c,141);Zjc=new Qlc(X0c,142);Kic=new Qlc(Q_c,143);_kc=new Qlc("PIPE",144);plc=new Qlc("STAR",145);Ijc=new Qlc("EOC",146);elc=new Qlc("QMARK",147);bjc=new Qlc("BANG",148);Kjc=new Qlc("EQUALS",149);vkc=new Qlc("LB",150);wkc=new Qlc("LC",151);qjc=new Qlc("COLON",152);okc=new Qlc(f_c,153);pkc=new Qlc("INTERFACE_EXTENDS",154);qkc=new Qlc("INTERFACE_MEMBERS",155);Gjc=new Qlc(b_c,156);Hjc=new Qlc("ENUM_MEMBERS",157);ekc=new Qlc(e_c,158);Flc=new Qlc(n0c,159);xjc=new Qlc(z0c, +160);Ckc=new Qlc("MEMBER_VARIABLE_DEF",161);mkc=new Qlc(k0c,162);kjc=new Qlc(j0c,163);Ikc=new Qlc(A0c,164);Jkc=new Qlc("NAMESPACE_ELEMENTS",165);alc=new Qlc("PLACEHOLDER1",166);blc=new Qlc("PLACEHOLDER2",167);clc=new Qlc("PLACEHOLDER3",168)}function IGb(){IGb=T0;new $hb("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(p7(),m7),new aDc("Internal Error: TypeCheck doesn''t know how to handle {0}"));_Fb=new $hb("JSC_DETERMINISTIC_TEST",o7,new aDc("condition always evaluates to {2}\nleft : {0}\nright: {1}"));nGb= +new $hb("JSC_INEXISTENT_ENUM_ELEMENT",o7,new aDc("element {0} does not exist on this enum"));oGb=new $hb("JSC_INEXISTENT_PROPERTY",o7,new aDc(S$c));zGb=new $hb("JSC_POSSIBLE_INEXISTENT_PROPERTY",n7,new aDc(S$c));pGb=new $hb("JSC_INEXISTENT_PROPERTY_WITH_SUGGESTION",o7,new aDc(T$c));AGb=new $hb("JSC_STRICT_INEXISTENT_PROPERTY",n7,new aDc(S$c));CGb=new $hb("JSC_STRICT_INEXISTENT_UNION_PROPERTY",n7,new aDc("Property {0} not defined on all member types of {1}"));BGb=new $hb("JSC_STRICT_INEXISTENT_PROPERTY_WITH_SUGGESTION", +n7,new aDc(T$c));xGb=new $hb("JSC_NOT_A_CONSTRUCTOR",o7,new aDc("cannot instantiate non-constructor"));qGb=new $hb("JSC_INSTANTIATE_ABSTRACT_CLASS",o7,new aDc("cannot instantiate abstract class"));XFb=new $hb("JSC_BAD_TYPE_FOR_BIT_OPERATION",o7,new aDc("operator {0} cannot be applied to {1}"));yGb=new $hb("JSC_NOT_FUNCTION_TYPE",o7,new aDc("{0} expressions are not callable"));$Fb=new $hb("JSC_CONSTRUCTOR_NOT_CALLABLE",o7,new aDc('Constructor {0} should be called with the "new" keyword'));UFb=new $hb("JSC_ABSTRACT_SUPER_METHOD_NOT_USABLE", +o7,new aDc("Abstract super method {0} cannot be dereferenced"));dGb=new $hb("JSC_FUNCTION_MASKS_VARIABLE",o7,new aDc("function {0} masks variable (IE bug)"));vGb=new $hb("JSC_MULTIPLE_VAR_DEF",o7,new aDc("declaration of multiple variables with shared type information"));aGb=new $hb("JSC_ENUM_DUP",m7,new aDc("enum element {0} already defined"));tGb=new $hb("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",o7,new aDc("interface members can only be empty property declarations, empty functions{0}"));rGb=new $hb("JSC_INTERFACE_METHOD_NOT_EMPTY", +o7,new aDc("interface member functions must have an empty body"));YFb=new $hb("JSC_CONFLICTING_EXTENDED_TYPE",o7,new aDc("{1} cannot extend this type; {0}s can only extend {0}s"));bGb=new $hb("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",o7,new aDc("ES5 class {0} cannot extend ES6 class {1}"));new $hb("JSC_ES6_CLASS_EXTENDING_CLASS_WITH_GOOG_INHERITS",o7,new aDc("Do not use goog.inherits with ES6 classes. Use the ES6 `extends` keyword to inherit instead."));new $hb("JSC_INTERFACE_EXTENDS_LOOP",o7,new aDc("extends loop involving {0}, loop: {1}")); +ZFb=new $hb("JSC_CONFLICTING_IMPLEMENTED_TYPE",o7,new aDc("{0} cannot implement this type; an interface can only extend, but not implement interfaces"));WFb=new $hb("JSC_IMPLEMENTS_NON_INTERFACE",o7,new aDc("can only implement interfaces"));hGb=new $hb("JSC_HIDDEN_SUPERCLASS_PROPERTY",n7,new aDc("property {0} already defined on superclass {1}; use @override to override it"));fGb=new $hb("JSC_PROTOTYPAL_HIDDEN_SUPERCLASS_PROPERTY",n7,new aDc("property {0} already defined on supertype {1}; use @override to override it")); +eGb=new $hb("JSC_HIDDEN_INTERFACE_PROPERTY",n7,new aDc("property {0} already defined on interface {1}; use @override to override it"));gGb=new $hb("JSC_HIDDEN_PROTOTYPAL_SUPERTYPE_PROPERTY_MISMATCH",o7,new aDc("mismatch of the {0} property type and the type of the property it overrides from supertype {1}\noriginal: {2}\noverride: {3}"));EGb=new $hb("JSC_UNKNOWN_OVERRIDE",o7,new aDc("property {0} not defined on any superclass of {1}"));FGb=new $hb("JSC_UNKNOWN_PROTOTYPAL_OVERRIDE",o7,new aDc("property {0} not defined on any supertype of {1}")); +sGb=new $hb("JSC_INTERFACE_METHOD_OVERRIDE",o7,new aDc("property {0} is already defined by the {1} extended interface"));DGb=new $hb("JSC_UNKNOWN_EXPR_TYPE",o7,new aDc("could not determine the type of this expression"));GGb=new $hb("JSC_UNRESOLVED_TYPE",o7,new aDc("could not resolve the name {0} to a type"));HGb=new $hb("JSC_WRONG_ARGUMENT_COUNT",o7,new aDc("Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}."));jGb=new $hb("JSC_ILLEGAL_IMPLICIT_CAST",o7,new aDc("Illegal annotation on {0}. @implicitCast may only be used in externs.")); +mGb=new $hb("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",o7,new aDc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}"));cGb=new $hb("JSC_EXPECTED_THIS_TYPE",o7,new aDc('"{0}" must be called with a "this" type'));uGb=new $hb("JSC_IN_USED_WITH_STRUCT",o7,new aDc("Cannot use the IN operator with structs"));lGb=new $hb("JSC_ILLEGAL_PROPERTY_CREATION",o7,new aDc("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.)")); +kGb=new $hb("JSC_ILLEGAL_OBJLIT_KEY",o7,new aDc("Illegal key, the object literal is a {0}"));iGb=new $hb("JSC_ILLEGAL_CLASS_KEY",o7,new aDc("Illegal key, the class is a {0}"));wGb=new $hb("JSC_NON_STRINGIFIABLE_OBJECT_KEY",o7,new aDc('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.'));TFb=new $hb("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",o7,new aDc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract")); +VFb=new chb(yG(tG(CO,1),zUc,5,0,[_Fb,nGb,oGb,zGb,pGb,xGb,qGb,XFb,yGb,$Fb,dGb,vGb,aGb,tGb,rGb,YFb,ZFb,WFb,(XGb(),OGb),gGb,EGb,FGb,sGb,GGb,HGb,jGb,mGb,cGb,uGb,iGb,lGb,kGb,wGb,TFb,UFb,bGb,(cCb(),YBb),$Bb,(zHb(),yHb),wHb,qHb,uHb,(Spb(),Ppb)]))}function Ytc(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb;j=new Ync(a);duc(a,(ztc(),xsc),j);P=new Cvc(a);duc(a,Ysc,P);Y=new Jvc(a);duc(a,ftc,Y);ib=new twc(a); +duc(a,qtc,ib);lb=new ywc(a);duc(a,ttc,lb);qb=new jzc(a,false);duc(a,xtc,qb);k=new jzc(a,true);duc(a,ysc,k);rb=new xzc(a);duc(a,ytc,rb);b=new pnc(a);duc(a,msc,b);a.n=new Fwc(a,"IObject#KEY1");a.k=new Fwc(a,"IObject#VALUE");u=new Fwc(a,"VALUE2");a.a=new Fwc(a,"T");a.s=new Fwc(a,w1c);a.p=new Fwc(a,w1c);a.d=new Fwc(a,w1c);a.i=new Fwc(a,w1c);a.b=new Fwc(a,w1c);a.r=new Fwc(a,w1c);a.c=new Fwc(a,w1c);a.o=new Fwc(a,l_c);a.w=new Fwc(a,l_c);nb=Tqc((cmc(),new Wqc(a)),true).ek();w=$tc(a,"IObject",yG(tG(CY,1), +zUc,55,0,[a.n,a.k]));duc(a,Psc,w);A=(Zd(w.i==(rrc(),orc)||w.i==prc,lWc,w),tmc(w.o));duc(a,Qsc,A);Z=Yqc(krc(hrc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),cWc),Ltc(a,yG(tG(iY,1),zUc,23,0,[b])))),yG(tG(CY,1),zUc,55,0,[a.n,a.k])));vqc(Z,nb,null);duc(a,gtc,Z);duc(a,htc,oqc(Z));$=(Zd(Z.i==orc||Z.i==prc,lWc,Z),tmc(Z.o));duc(a,itc,$);n=Yqc(erc(frc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),YYc),Ntc(a,true,yG(tG(iY,1),zUc,23,0,[b]))),qb),$));wqc(n,$,null);duc(a,Bsc,n);o=oqc(n);duc(a,Csc,o);O=new kvc(a);duc(a,Xsc,O);M=new Zuc(a); +duc(a,Vsc,M);N=new vvc(a);duc(a,Wsc,N);F=$tc(a,"Iterable",yG(tG(CY,1),zUc,55,0,[a.r]));duc(a,Hsc,F);G=(Zd(F.i==orc||F.i==prc,lWc,F),tmc(F.o));duc(a,Isc,G);H=$tc(a,"Iterator",yG(tG(CY,1),zUc,55,0,[a.s]));duc(a,Jsc,H);I=(Zd(H.i==orc||H.i==prc,lWc,H),tmc(H.o));duc(a,Ksc,I);C=$tc(a,"IIterableResult",yG(tG(CY,1),zUc,55,0,[a.p]));duc(a,Nsc,C);D=(Zd(C.i==orc||C.i==prc,lWc,C),tmc(C.o));duc(a,Osc,D);t=_tc(a,yG(tG(CY,1),zUc,55,0,[u]));sqc(t,(On(),new RB(Pd(Ptc(a,A,yG(tG(iY,1),zUc,23,0,[Y,u]))))));duc(a,Lsc, +t);v=(Zd(t.i==orc||t.i==prc,lWc,t),tmc(t.o));duc(a,Msc,v);c=Yqc(krc(hrc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),aWc),Ntc(a,true,yG(tG(iY,1),zUc,23,0,[b])))),yG(tG(CY,1),zUc,55,0,[a.a])));oqc(c);tqc(c,new _A(eo(yG(tG(rZ,1),zUc,1,5,[Ptc(a,v,yG(tG(iY,1),zUc,23,0,[a.a])),Ptc(a,G,yG(tG(iY,1),zUc,23,0,[a.a]))]))));duc(a,nsc,c);d=(Zd(c.i==orc||c.i==prc,lWc,c),tmc(c.o));duc(a,osc,d);B=Yqc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),"ITemplateArray"),new mfc((Plc(),$kc))));duc(a,Rsc,(Zd(B.i==orc||B.i==prc,lWc,B),tmc(B.o))); +p=$tc(a,ZYc,yG(tG(CY,1),zUc,55,0,[a.i]));sqc(p,new _A(eo(yG(tG(rZ,1),zUc,1,5,[Ptc(a,G,yG(tG(iY,1),zUc,23,0,[a.i])),Ptc(a,I,yG(tG(iY,1),zUc,23,0,[a.i]))]))));duc(a,Dsc,p);duc(a,Esc,(Zd(p.i==orc||p.i==prc,lWc,p),tmc(p.o)));g=$tc(a,q1c,yG(tG(CY,1),zUc,55,0,[a.d]));duc(a,tsc,g);duc(a,usc,(Zd(g.i==orc||g.i==prc,lWc,g),tmc(g.o)));f=$tc(a,r1c,yG(tG(CY,1),zUc,55,0,[a.c]));duc(a,rsc,f);duc(a,ssc,(Zd(f.i==orc||f.i==prc,lWc,f),tmc(f.o)));e=$tc(a,"AsyncGenerator",yG(tG(CY,1),zUc,55,0,[a.b]));duc(a,psc,e);duc(a, +qsc,(Zd(e.i==orc||e.i==prc,lWc,e),tmc(e.o)));J=$tc(a,"IThenable",yG(tG(CY,1),zUc,55,0,[a.o]));duc(a,Ssc,J);K=(Zd(J.i==orc||J.i==prc,lWc,J),tmc(J.o));duc(a,Tsc,K);mb=Otc(a,(Do(),Do(),ol("then",qb),new NB("then",qb)));Pd(x1c);Wf(a.v,a.t,x1c);duc(a,utc,mb);cb=Ftc(a,qb,yG(tG(iY,1),zUc,23,0,[Etc(a,qb,Ltc(a,yG(tG(iY,1),zUc,23,0,[Rtc(a,yG(tG(iY,1),zUc,23,0,[a.w,Ptc(a,K,yG(tG(iY,1),zUc,23,0,[a.w])),mb,P]))]))),Etc(a,qb,Ltc(a,yG(tG(iY,1),zUc,23,0,[b])))]));bb=(Zd(RBc("",jCc(46))==-1,kWc,""),Ldc(),new Lhc(Gkc, +""));bb.d=cb;ab=Yqc(krc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),$Yc),j9b(yG(tG(CX,1),mWc,7,0,[bb]))),yG(tG(CY,1),zUc,55,0,[a.w])));tqc(ab,new RB(Pd(Ptc(a,K,yG(tG(iY,1),zUc,23,0,[a.w])))));duc(a,jtc,ab);duc(a,ktc,(Zd(ab.i==orc||ab.i==prc,lWc,ab),tmc(ab.o)));h=Yqc(frc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),gWc),Ltc(a,yG(tG(iY,1),zUc,23,0,[b]))),j));oqc(h);duc(a,vsc,h);i=(Zd(h.i==orc||h.i==prc,lWc,h),tmc(h.o));duc(a,wsc,i);l=Yqc(frc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),"Date"),Ltc(a,yG(tG(iY,1),zUc,23,0,[qb,qb,qb, +qb,qb,qb,qb]))),ib));oqc(l);duc(a,zsc,l);m=(Zd(l.i==orc||l.i==prc,lWc,l),tmc(l.o));duc(a,Asc,m);R=Yqc(frc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),fWc),Ltc(a,yG(tG(iY,1),zUc,23,0,[b]))),Y));oqc(R);duc(a,$sc,R);S=(Zd(R.i==orc||R.i==prc,lWc,R),tmc(R.o));duc(a,_sc,S);db=Yqc(hrc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),dWc),Ltc(a,yG(tG(iY,1),zUc,23,0,[b,b])))));oqc(db);duc(a,ltc,db);eb=(Zd(db.i==orc||db.i==prc,lWc,db),tmc(db.o));duc(a,mtc,eb);fb=Yqc(frc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),GVc),Ltc(a,yG(tG(iY,1),zUc, +23,0,[b]))),ib));oqc(fb);duc(a,ntc,fb);gb=(Zd(fb.i==orc||fb.i==prc,lWc,fb),tmc(fb.o));duc(a,otc,gb);jb=Yqc(frc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),_Yc),Ltc(a,yG(tG(iY,1),zUc,23,0,[b]))),lb));oqc(jb);duc(a,rtc,jb);kb=(Zd(jb.i==orc||jb.i==prc,lWc,jb),tmc(jb.o));duc(a,stc,kb);Q=Rtc(a,yG(tG(iY,1),zUc,23,0,[P,rb]));duc(a,Zsc,Q);U=Rtc(a,yG(tG(iY,1),zUc,23,0,[Y,ib,j]));duc(a,btc,U);V=Rtc(a,yG(tG(iY,1),zUc,23,0,[Y,ib,j,lb]));duc(a,ctc,V);X=Rtc(a,yG(tG(iY,1),zUc,23,0,[Y,lb]));duc(a,etc,X);hb=Rtc(a,yG(tG(iY, +1),zUc,23,0,[ib,lb]));duc(a,ptc,hb);T=Rtc(a,yG(tG(iY,1),zUc,23,0,[Y,ib]));duc(a,atc,T);W=Rtc(a,yG(tG(iY,1),zUc,23,0,[Y,ib,lb]));duc(a,dtc,W);pb=Gtc(a,qb,yG(tG(iY,1),zUc,23,0,[qb]));duc(a,wtc,pb);ob=new iuc(_qc(Zqc(lrc(frc(drc(crc(new mrc(a),YYc),Ntc(a,true,yG(tG(iY,1),zUc,23,0,[qb]))),qb),qb))));n.o=ob;Ud(!(!!ob.j||!ob.A));ob.r=o;duc(a,vtc,ob);L=Itc(a,O,yG(tG(iY,1),zUc,23,0,[b]));duc(a,Usc,L);r=Yqc(frc(drc(Sqc(Zqc(Tqc(new mrc(a),true)),"global this"),Ntc(a,false,yG(tG(iY,1),zUc,23,0,[b]))),Y));q= +(Zd(r.i==orc||r.i==prc,lWc,r),tmc(r.o));duc(a,Fsc,q);s=Itc(a,b,yG(tG(iY,1),zUc,23,0,[O]));duc(a,Gsc,s);euc(a,RWc,Z)}function BQb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z;switch(b.p.f){case 42:return FQb(a,b);case 28:return CQb(a,b);case 76:return vRb(a,b);case 77:return wRb(a,b.a);case 78:return vPb(a.a,(Plc(),zlc),PPb(a.a,b.a));case 44:return ARb(a,b);case 2:return HQb(a,b);case 14:return IQb(a,b);case 49:return UQb(a,b);case 17:return sRb(a, +b);case 18:return tRb(a,b);case 22:return b.b.p==(O6b(),z5b)&&sPb(a.a,b,(dXb(),MWb)),wPb(a.a,(Plc(),njc),PPb(a.a,b.b),QPb(a.a,b.a));case 13:return LQb(a,b);case 8:return wPb(a.a,(Plc(),Djc),QPb(a.a,b.a),PPb(a.a,b.b));case 5:return uPb((d=a,b,d).a,(Plc(),Fjc));case 6:return QQb(a,b);case 24:return uPb((e=a,b,e).a,(Plc(),vjc));case 25:return uPb((f=a,b,f).a,(Plc(),Alc));case 11:return RQb(a,b);case 10:return h=PPb(a.a,b.c),xPb(a.a,(Plc(),Tjc),h,PPb(a.a,b.b),QPb(a.a,b.a));case 1:return TQb(a,b);case 55:return wPb(a.a, +(Plc(),$jc),PPb(a.a,b.b),PPb(a.a,b.a));case 46:return i=PPb(a.a,b.b),j=b.a,k=gRb(a,j),!k.Fi()&&!a.a.c&&xQb(a,k),wPb(a.a,(Plc(),_jc),i,k);case 43:return xPb(a.a,(Plc(),ckc),PPb(a.a,b.a),PPb(a.a,b.b),PPb(a.a,b.c));case 7:return XQb(a,b);case 20:return _Qb(a,b);case 56:return oQb(a,b),PPb(a.a,b.a);case 26:return bRb(a,b.a,false);case 47:return fRb(a,b);case 29:return hRb(a,b);case 36:return sPb(a.a,b,(dXb(),jWb)),wPb(a.a,(Plc(),sjc),PPb(a.a,b.a),PPb(a.a,b.b));case 37:return sPb(a.a,b,(dXb(),jWb)),l= +PPb(a.a,b.c),m=PPb(a.a,b.a),n=R8b((Zd(RBc("",jCc(46))==-1,kWc,""),Ldc(),new Lhc((Plc(),Gkc),"")),j9b(yG(tG(CX,1),mWc,7,0,[])),m),lfc(n,m),o=wPb(a.a,sjc,l,n),Hec(o,jdc,1),Hec(o,Idc,b.b?1:0),o;case 90:return sPb(a.a,b,(dXb(),jWb)),zQb(a,b,EWb),p=vPb(a.a,(Plc(),sjc),PPb(a.a,b.d)),uQb(a,p,b.b),Hec(p,(Ldc(),mdc),1),Iec(p,idc,b.a),afc(p,b.c),sQb(a,b,p,b.a),p;case 38:return sPb(a.a,b,(dXb(),jWb)),q=wPb(a.a,(Plc(),sjc),PPb(a.a,b.c),PPb(a.a,b.b)),Gec(q,(Ldc(),kdc),true),b.b.i&&Hec(q,(vhc(),nhc),1),sQb(a,b, +q,b.a),q;case 39:return sPb(a.a,b,(dXb(),jWb)),r=PPb(a.a,b.d),s=SQb(a,b.c),LPb(s,b.c),t=PPb(a.a,b.a),u=R8b((Zd(RBc("",jCc(46))==-1,kWc,""),Ldc(),new Lhc((Plc(),Gkc),"")),s,t),lfc(u,t),v=wPb(a.a,sjc,r,u),Hec(v,ldc,1),Hec(v,Idc,b.b?1:0),v;case 15:return pRb(a,b);case 45:return w=mQb(b.b.e),A=PPb(a.a,b.a),pQb(a,w,b.c==1,A);case 0:return EQb(a,b);case 27:return aRb(a,b);case 19:return uRb(a,b);case 21:return vPb(a.a,(Plc(),Blc),PPb(a.a,b.a));case 23:return xRb(a,b);case 3:return BQb(a.a.v,b.a);case 12:return DRb(a, +b);case 4:return CRb(a,b);case 9:return wPb(a.a,(Plc(),Mlc),PPb(a.a,b.b),QPb(a.a,b.a));case 16:return wPb(a.a,(Plc(),Nlc),PPb(a.a,b.b),QPb(a.a,b.a));case 41:return KQb(a,b);case 64:return uPb((g=a,b,g).a,(Plc(),Fjc));case 57:return QPb(a.a,b.a);case 40:return zPb((c=a,b,c).a,(Plc(),Gkc),y_c);case 35:return mRb(a,b);case 33:return B=gRb(a,b.c),dfc(B,(Plc(),akc)),C=PPb(a.a,b.a),D=zPb(a.a,Gkc,""),LPb(D,b.a),F=uPb(a.a,$kc),LPb(F,b.a),G=xPb(a.a,Vjc,D,F,C),LPb(G,b.a),Pdc(B,G),uQb(a,G,b.d),afc(B,b.b),B; +case 34:return H=gRb(a,b.d),dfc(H,(Plc(),mlc)),I=SQb(a,b.c),LPb(I,b.c),J=PPb(a.a,b.a),K=zPb(a.a,Gkc,""),KPb(K,b.d),L=xPb(a.a,Vjc,K,I,J),LPb(L,b.a),Pdc(H,L),afc(H,b.b),H;case 61:return SQb(a,b);case 50:return JQb(a,b);case 58:return sPb(a.a,b,(dXb(),YWb)),uPb(a.a,(Plc(),ulc));case 95:return sPb(a.a,b,(dXb(),HWb)),uPb(a.a,(Plc(),Nkc));case 74:return M=uPb(a.a,(Plc(),Olc)),!!b.a&&Odc(M,PPb(a.a,b.a)),efc(M,b.b),M;case 96:return sPb(a.a,b,(dXb(),bWb)),N=uPb(a.a,(Plc(),ajc)),Odc(N,PPb(a.a,b.a)),N;case 72:return sPb(a.a, +b,(dXb(),tWb)),O=PPb(a.a,b.c),xPb(a.a,(Plc(),Ujc),O,PPb(a.a,b.b),QPb(a.a,b.a));case 73:return sPb(a.a,b,(dXb(),sWb)),P=PPb(a.a,b.c),xPb(a.a,(Plc(),Sjc),P,PPb(a.a,b.b),QPb(a.a,b.a));case 68:return OQb(a,b);case 69:return PQb(a,b);case 70:return YQb(a,b);case 71:return ZQb(a,b);case 97:return sPb(a.a,b,(dXb(),nWb)),Q=PPb(a.a,b.a),vPb(a.a,(Plc(),Ejc),Q);case 98:return sPb(a.a,b,(dXb(),FWb)),sPb(a.a,b,yWb),uPb(a.a,(Plc(),gkc));case 59:return DQb(a,b);case 60:return iRb(a,b);case 32:case 31:case 30:return a.a.e.fi("unsupported language feature: array/generator comprehensions", +a.a.s,(fPb(),b.o.b.b+1),b.o.b.a),zPb(a.a,(Plc(),Gkc),y_c);case 75:return MQb(a,b);case 65:return R=RPb(a.a,b.a),vPb(a.a,(Plc(),rkc),R);case 62:return sPb(a.a,b,(dXb(),WWb)),vPb(a.a,(Plc(),skc),PPb(a.a,b.a));case 66:return jRb(a,b);case 63:return sPb(a.a,b,(dXb(),JWb)),vPb(a.a,(Plc(),Wkc),PPb(a.a,b.a));case 79:return yRb(a,b);case 81:return S=PPb(a.a,b.a),uQb(a,S,b.b),S;case 82:return zQb(a,b,(dXb(),NWb)),T=PPb(a.a,b.a),Hec(T,(Ldc(),Cdc),1),T;case 83:return lRb(a,b);case 84:return gPb(a.a,Wlc(PPb(a.a, +b.a)));case 85:return nRb(a,b);case 86:return BRb(a,b);case 87:return VQb(a,b);case 80:return zRb(a,b);case 88:return WQb(a,b);case 89:return U=zPb(a.a,(Plc(),Ckc),b.e.a),uQb(a,U,b.b),afc(U,b.d),Hec(U,(Ldc(),Cdc),b.c?1:0),sQb(a,b,U,b.a),U;case 51:return $Qb(a,b);case 54:return NQb(a,b);case 91:return zQb(a,b,(dXb(),aXb)),V=zPb(a.a,(Plc(),Flc),b.a.a),Pdc(V,PPb(a.a,b.b)),V;case 92:return zQb(a,b,(dXb(),ZVb)),vPb(a.a,(Plc(),xjc),PPb(a.a,b.a));case 52:return dRb(a,b);case 93:return zQb(a,b,(dXb(),zWb)), +W=PPb(a.a,b.b),X=dec(W,(vhc(),Dgc)),X.n!=(Plc(),Skc)&&X.n!=slc&&a.a.e.fi("Index signature parameter type must be 'string' or 'number'",a.a.s,(fPb(),b.b.o.b.b+1),b.b.o.b.a),Y=vPb(a.a,mkc,W),uQb(a,Y,b.a),Y;case 94:return zQb(a,b,b.c?(dXb(),kWb):(dXb(),fWb)),Z=vPb(a.a,(Plc(),kjc),PPb(a.a,b.a)),uQb(a,Z,b.d),tQb(a,Z,b.b),Hec(Z,(Ldc(),ndc),b.c?1:0),Z}return a.a.e.fi("Unsupported syntax: "+b.p,a.a.s,(fPb(),b.o.b.b+1),0),uPb(a.a,(Plc(),Fjc))}function Vhb(){Vhb=T0;Qhb=new $hb("JSC_UNUSED",(p7(),o7),new aDc(rYc)); +Kp(sYc,tYc,uYc,vYc,wYc,xYc,yG(tG(wZ,1),eWc,2,6,[yYc,zYc,AYc,BYc,CYc]));Uhb=new oMc;Yhb("untranspilableFeatures",yG(tG(CO,1),zUc,5,0,[(Ptb(),Otb)]));Yhb("featuresNotSupportedByPass",yG(tG(CO,1),zUc,5,0,[(hyb(),eyb)]));Yhb("moduleLoad",yG(tG(CO,1),zUc,5,0,[(qKb(),pKb),(_Mb(),$Mb),(dzb(),bzb),czb]));zhb=Yhb("globalThis",yG(tG(CO,1),zUc,5,0,[(a7(),_6)]));Yhb(DYc,yG(tG(CO,1),zUc,5,0,[(Q6(),J6),K6,L6,M6,H6,I6]));Whb("underscore",(BMb(),zMb));Thb=Yhb("visibility",yG(tG(CO,1),zUc,5,0,[B6,C6,A6,D6,N6,O6,P6, +G6]));Whb("accessControls",Thb);Yhb("nonStandardJsDocs",yG(tG(CO,1),zUc,5,0,[(cCb(),HBb),NBb,OBb,(l7(),h7)]));Yhb("invalidCasts",yG(tG(CO,1),zUc,5,0,[(XGb(),SGb)]));Whb(EYc,new ahb(EYc,yG(tG(CO,1),zUc,5,0,[Qhb])));Khb=Yhb("strictModuleDepCheck",yG(tG(CO,1),zUc,5,0,[(VHb(),MHb),($6(),Y6)]));Yhb("violatedModuleDep",yG(tG(CO,1),zUc,5,0,[RHb]));Yhb("externsValidation",yG(tG(CO,1),zUc,5,0,[KHb,NHb]));Yhb("ambiguousFunctionDecl",yG(tG(CO,1),zUc,5,0,[(IDb(),ADb)]));Yhb("unknownDefines",yG(tG(CO,1),zUc,5, +0,[(lzb(),kzb)]));Yhb("tweakValidation",yG(tG(CO,1),zUc,5,0,[(qzb(),mzb),ozb,pzb]));Chb=Yhb("missingOverride",yG(tG(CO,1),zUc,5,0,[(IGb(),eGb),fGb,hGb]));Dhb=Yhb(FYc,yG(tG(CO,1),zUc,5,0,[oGb,pGb,zGb]));Yhb("globallyMissingProperties",yG(tG(CO,1),zUc,5,0,[zGb]));Yhb("j2clChecks",yG(tG(CO,1),zUc,5,0,[(rrb(),qrb)]));Yhb("missingReturn",yG(tG(CO,1),zUc,5,0,[(y7(),x7)]));Yhb("internetExplorerChecks",yG(tG(CO,1),zUc,5,0,[XBb]));Ohb=Yhb("undefinedVars",yG(tG(CO,1),zUc,5,0,[OHb]));Nhb=Yhb("undefinedNames", +yG(tG(CO,1),zUc,5,0,[Z6]));Yhb("checkDebuggerStatement",yG(tG(CO,1),zUc,5,0,[(X6(),W6)]));Yhb("checkRegExp",yG(tG(CO,1),zUc,5,0,[(D7(),C7),B7]));qhb=Xhb(fYc,yG(tG(BO,1),zUc,47,0,[KGb,VFb,(Spb(),Cpb),zhb]));ohb=Yhb("checkPrototypalTypes",yG(tG(CO,1),zUc,5,0,[FGb,fGb,gGb]));phb=ohb;Whb(xYc,new ahb(xYc,yG(tG(CO,1),zUc,5,0,[Qhb])));Whb(yYc,new ahb(yYc,yG(tG(CO,1),zUc,5,0,[Qhb])));Whb(wYc,new ahb(wYc,yG(tG(CO,1),zUc,5,0,[Qhb])));Whb(GYc,new ahb(GYc,yG(tG(CO,1),zUc,5,0,[Qhb])));Yhb("tooManyTypeParams", +yG(tG(CO,1),zUc,5,0,[WBb]));Whb(HYc,new ahb(HYc,yG(tG(CO,1),zUc,5,0,[Qhb])));Yhb(vYc,yG(tG(CO,1),zUc,5,0,[DGb]));Ihb=Yhb(AYc,yG(tG(CO,1),zUc,5,0,[AGb,BGb,CGb]));Lhb=Yhb(BYc,yG(tG(CO,1),zUc,5,0,[TGb]));Hhb=Xhb(CYc,yG(tG(BO,1),zUc,47,0,[Ihb,Lhb]));Ghb=Yhb(sYc,yG(tG(CO,1),zUc,5,0,[DGb]));shb=Yhb("checkVars",yG(tG(CO,1),zUc,5,0,[OHb,QHb,(tIb(),qIb),rIb]));rhb=Yhb("uselessCode",yG(tG(CO,1),zUc,5,0,[(F7(),E7),(R7(),Q7)]));thb=Yhb(IYc,yG(tG(CO,1),zUc,5,0,[E6,F6,(Cgb(),Bgb)]));Yhb("accessControlsConst",yG(tG(CO, +1),zUc,5,0,[E6,F6]));Yhb("constantProperty",yG(tG(CO,1),zUc,5,0,[E6,F6]));Yhb("typeInvalidation",yG(tG(CO,1),zUc,5,0,[(Izb(),Gzb),Hzb]));uhb=Yhb(JYc,yG(tG(CO,1),zUc,5,0,[(Zab(),Xab),QHb,LGb,MGb,dGb,rIb]));Yhb("es3",yG(tG(CO,1),zUc,5,0,[LBb,XBb]));xhb=Yhb("es5StrictUncommon",yG(tG(CO,1),zUc,5,0,[MBb,JBb,HDb,EDb,DDb,zDb,wDb,BDb,CDb]));whb=Yhb("es5StrictReflection",yG(tG(CO,1),zUc,5,0,[xDb,yDb,GDb,FDb]));vhb=Xhb("es5Strict",yG(tG(BO,1),zUc,47,0,[xhb,whb]));Ehb=Yhb("missingProvide",yG(tG(CO,1),zUc,5, +0,[(A7(),z7),(r8(),q8),$Mb]));Yhb("unrecognizedTypeError",yG(tG(CO,1),zUc,5,0,[$Bb]));Fhb=Yhb(KYc,yG(tG(CO,1),zUc,5,0,[(w7(),v7)]));Xhb(zYc,yG(tG(BO,1),zUc,47,0,[Ghb,Nhb,Ohb,Ehb,dhb(Jpb),dhb((azb(),$yb)),Dhb,uhb,dhb(jzb),dhb(pKb)]));Jhb=Yhb("strictMissingRequire",yG(tG(CO,1),zUc,5,0,[v7,t7,u7]));Yhb("legacyGoogScopeRequire",yG(tG(CO,1),zUc,5,0,[t7,s7]));yhb=Yhb("extraRequire",yG(tG(CO,1),zUc,5,0,[s7]));Yhb("misplacedTypeAnnotation",yG(tG(CO,1),zUc,5,0,[c7,d7,e7,g7,f7,i7,j7]));Yhb("misplacedMsgAnnotation", +yG(tG(CO,1),zUc,5,0,[j7]));Yhb("misplacedSuppress",yG(tG(CO,1),zUc,5,0,[k7]));Mhb=Yhb("suspiciousCode",yG(tG(CO,1),zUc,5,0,[(ZLb(),YLb),(M7(),L7),G7,I7,H7,J7,K7,_Fb,bzb]));Yhb("functionParams",yG(tG(CO,1),zUc,5,0,[Hpb,Ipb]));Yhb("deprecatedAnnotations",yG(tG(CO,1),zUc,5,0,[b7]));Shb=Yhb("unusedPrivateMembers",yG(tG(CO,1),zUc,5,0,[(T7(),S7)]));Rhb=Yhb("unusedLocalVariables",yG(tG(CO,1),zUc,5,0,[sIb]));Bhb=Yhb("jsdocMissingConst",yG(tG(CO,1),zUc,5,0,[(V6(),U6)]));Yhb("jsdocMissingType",yG(tG(CO,1), +zUc,5,0,[QBb]));Yhb("unnecessaryEscape",yG(tG(CO,1),zUc,5,0,[ZBb]));Yhb("typeImportCodeReferences",yG(tG(CO,1),zUc,5,0,[(O7(),N7)]));Yhb("partialAlias",yG(tG(CO,1),zUc,5,0,[Yab]));Xhb("lintChecks",yG(tG(BO,1),zUc,47,0,[qMb,new chb(yG(tG(CO,1),zUc,5,0,[(S6(),R6),(XLb(),WLb),(_Lb(),$Lb),(eMb(),aMb),bMb,cMb,dMb,(gMb(),fMb),(jMb(),hMb),iMb,(FMb(),EMb),(mMb(),kMb),lMb,(DMb(),CMb),(JMb(),GMb),HMb,IMb,(PMb(),NMb),OMb,(RMb(),QMb),(TMb(),SMb),(VMb(),UMb),(XMb(),WMb),(ZMb(),YMb),(b8(),V7),W7,X7,(u8(),t8),PBb]))])); +Yhb("strictModuleChecks",yG(tG(CO,1),zUc,5,0,[U7,$7,Y7,Z7,_7,a8]));mhb=Yhb(uYc,yG(tG(CO,1),zUc,5,0,[(VLb(),ULb),(MMb(),KMb),LMb,(prb(),orb)]));Xhb(tYc,yG(tG(BO,1),zUc,47,0,[mhb,Shb,Bhb]));Yhb("useOfGoogBase",yG(tG(CO,1),zUc,5,0,[_yb]));Yhb("closureDepMethodUsageChecks",yG(tG(CO,1),zUc,5,0,[p8,Wyb,Xyb]));Yhb(LYc,yG(tG(CO,1),zUc,5,0,[(Axb(),zxb),yxb]));Ahb=Yhb("lateProvide",yG(tG(CO,1),zUc,5,0,[Zyb]));Yhb("missingPolyfill",yG(tG(CO,1),zUc,5,0,[(oBb(),nBb)]));Yhb("polymer",yG(tG(CO,1),zUc,5,0,[(Kyb(), +Iyb)]));Phb=Yhb("unsupportedBoundedGenericTypes",yG(tG(CO,1),zUc,5,0,[_Bb]));nhb=Yhb("boundedGenericTypeError",yG(tG(CO,1),zUc,5,0,[IBb]));Yhb(MYc,yG(tG(CO,1),zUc,5,0,[Jyb]));Yhb("invalidProvide",yG(tG(CO,1),zUc,5,0,[Yyb]));Yhb("es6Typed",yG(tG(CO,1),zUc,5,0,[SBb]));Whb(NYc,new ahb(NYc,yG(tG(CO,1),zUc,5,0,[Qhb])));Yhb("conflictingIjsFile",yG(tG(CO,1),zUc,5,0,[(TLb(),SLb)]))}function nSb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb, +db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb;w=a.j.g;k=GTb(a.j);e=a.j.n;d=ep(a.a,e);if(!d||e.length==0)URb(a,I$c,e,a.j.g,GTb(a.j));else{Jbc(a.f,e,w,k);switch(d.f){case 0:sac(a.f.a)?SRb(a,"msg.jsdoc.nginject.extra",a.j.g,GTb(a.j)):tcc(a.f);return aSb(a,!a.o?HTb(a.j):ZRb(a));case 1:Nbc(a.f)||VRb(a,D_c,a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 2:if(a.f.d){g=dSb(a);f=g.a;f.length==0?SRb(a,"msg.jsdoc.authormissing",a.j.g,GTb(a.j)):Dbc(a.f,f);b=g.b}else b=aSb(a,!a.o?HTb(a.j):ZRb(a));return b; +case 55:Scc(a.f)||VRb(a,D_c,a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 47:Icc(a.f)||VRb(a,D_c,a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 11:Zbc(a.f)||VRb(a,D_c,a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 5:Tbc(a.f)||(pac(a.f.a)?VRb(a,E_c,a.j.g,GTb(a.j)):VRb(a,D_c,a.j.g,GTb(a.j)));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 7:jcc(a.f)||VRb(a,"msg.jsdoc.record",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 9:Wbc(a.f)||SRb(a,"msg.jsdoc.deprecated",a.j.g,GTb(a.j)); +L=cSb(a,b,a.g?0:2,false);K=L.a;K.length>0&&Xbc(a.f,K);b=L.b;return b;case 24:kcc(a.f)||((a.f.a.a&2)!=0?VRb(a,E_c,a.j.g,GTb(a.j)):VRb(a,D_c,a.j.g,GTb(a.j)));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 10:if(R9b(a.f.a)!=null){SRb(a,"msg.jsdoc.desc.extra",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a))}else{m=cSb(a,b,a.g?0:2,false);l=m.a;Ybc(a.f,l);b=m.b;return b}case 17:n="";if(a.f.d&&!fSb(a,64)){o=cSb(a,b,a.g?0:1,false);n=o.a;b=o.b}else b=aSb(a,!a.o?HTb(a.j):ZRb(a));dcc(a.f,n)||SRb(a,"msg.jsdoc.fileoverview.extra", +a.j.g,GTb(a.j));return b;case 26:case 41:J=cSb(a,b,0,true);I=J.a;I.length>0&&!!a.d&&Ebc(a.d,I);b=J.b;return b;case 12:b=!a.o?HTb(a.j):ZRb(a);w=a.j.g;k=GTb(a.j);ib=null;if(b!=(ATb(),lTb)&&b!=jTb){lb=mSb(a,b,a.j.g,GTb(a.j),b==pTb,false);if(!!lb&&lb.n==(Plc(),qlc)){jb=lb.Di();PRb.Td(jb)||(lb=USb(a,(Plc(),bjc),lb))}ib=!lb?null:new ddc(lb,(R=dec(a.n,(vhc(),mhc)),!R?null:R.ah()))}else a.o=b;!ib&&(ib=YRb(a,jSb(a,jUc,a.j.g,GTb(a.j))));$bc(a.f,ib)||a.c.gi(B_c+vic(D_c,yG(tG(rZ,1),zUc,1,5,[]))+C_c,(S=dec(a.n, +(vhc(),mhc)),!S?null:S.ah()),w,k);return aSb(a,!a.o?HTb(a.j):ZRb(a));case 16:acc(a.f)||SRb(a,"msg.jsdoc.expose",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 14:ccc(a.f)||SRb(a,"msg.jsdoc.externs",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 54:Pcc(a.f)||SRb(a,"msg.jsdoc.typesummary",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 13:case 21:SSb(a);b=!a.o?HTb(a.j):ZRb(a);w=a.j.g;k=GTb(a.j);A=false;if(b==(ATb(),pTb)){b=!a.o?HTb(a.j):ZRb(a);A=true}if(b==zTb){lb=mSb(a,b, +w,k,A,true);w=a.j.g;k=GTb(a.j);lb=USb(a,(Plc(),bjc),lb);ib=!lb?null:new ddc(lb,(R=dec(a.n,(vhc(),mhc)),!R?null:R.ah()));if(d==(fOb(),nNb))fGc(c,new ZSb(ib,a.j.g,GTb(a.j)));else{Ud(d==tNb);hcc(a.f,ib)||a.c.gi(B_c+vic("msg.jsdoc.implements.duplicate",yG(tG(rZ,1),zUc,1,5,[]))+C_c,(W=dec(a.n,(vhc(),mhc)),!W?null:W.ah()),w,k)}b=!a.o?HTb(a.j):ZRb(a);A?b!=vTb?VRb(a,F_c,a.j.g,GTb(a.j)):b=!a.o?HTb(a.j):ZRb(a):b!=lTb&&b!=kTb&&b!=jTb&&VRb(a,"msg.end.annotation.expected",a.j.g,GTb(a.j))}else b==gTb||b==tTb?a.c.gi(B_c+ +vic("msg.jsdoc.implements.extraqualifier",yG(tG(rZ,1),zUc,1,5,[]))+C_c,(X=dec(a.n,(vhc(),mhc)),!X?null:X.ah()),w,k):a.c.gi(B_c+vic("msg.no.type.name",yG(tG(rZ,1),zUc,1,5,[]))+C_c,(Y=dec(a.n,(vhc(),mhc)),!Y?null:Y.ah()),w,k);b=aSb(a,b);return b;case 19:fcc(a.f)||SRb(a,"msg.jsdoc.hidden",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 25:SSb(a);A=false;if(gSb(a,(ATb(),pTb))){b=!a.o?HTb(a.j):ZRb(a);A=true}if(gSb(a,zTb)){v=YRb(a,zSb(a,!a.o?HTb(a.j):ZRb(a)));lcc(a.f,v)||VRb(a,"msg.jsdoc.lends.incompatible", +a.j.g,GTb(a.j))}else VRb(a,"msg.jsdoc.lends.missing",a.j.g,GTb(a.j));A&&!gSb(a,vTb)&&VRb(a,F_c,a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 27:C=cSb(a,b,a.g?0:2,false);B=C.a;b=C.b;occ(a.f,B)||SRb(a,"msg.jsdoc.meaning.extra",a.j.g,GTb(a.j));return b;case 3:SSb(a);return pSb(a,!a.o?HTb(a.j):ZRb(a));case 32:vcc(a.f)||SRb(a,"msg.jsdoc.nocompile",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 31:ucc(a.f)||SRb(a,"msg.jsdoc.nocollapse",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a)); +case 33:wcc(a.f)||SRb(a,"msg.jsdoc.noinline",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 35:return aSb(a,!a.o?HTb(a.j):ZRb(a));case 23:case 36:Acc(a.f)||VRb(a,"msg.jsdoc.override",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 39:tac(a.f.a)?SRb(a,"msg.jsdoc.polymer.extra",a.j.g,GTb(a.j)):Dcc(a.f);return aSb(a,!a.o?HTb(a.j):ZRb(a));case 40:uac(a.f.a)?SRb(a,"msg.jsdoc.polymerBehavior.extra",a.j.g,GTb(a.j)):Ecc(a.f);return aSb(a,!a.o?HTb(a.j):ZRb(a));case 6:oac(a.f.a)?SRb(a,"msg.jsdoc.customElement.extra", +a.j.g,GTb(a.j)):Ubc(a.f);return aSb(a,!a.o?HTb(a.j):ZRb(a));case 28:qac(a.f.a)?SRb(a,"msg.jsdoc.mixinClass.extra",a.j.g,GTb(a.j)):pcc(a.f);return aSb(a,!a.o?HTb(a.j):ZRb(a));case 29:rac(a.f.a)?SRb(a,"msg.jsdoc.mixinFunction.extra",a.j.g,GTb(a.j)):qcc(a.f);return aSb(a,!a.o?HTb(a.j):ZRb(a));case 51:{SSb(a);b=!a.o?HTb(a.j):ZRb(a);w=a.j.g;k=GTb(a.j);ib=null;if(b==(ATb(),pTb)){ib=YRb(a,mSb(a,b,a.j.g,GTb(a.j),b==pTb,false));if(!ib)return aSb(a,!a.o?HTb(a.j):ZRb(a))}b=ZRb(a);Ncc(a.f,ib);t=fSb(a,64);if(a.f.d&& +!t){m=cSb(a,b,a.g?0:2,false);l=m.a;l.length>0&&Mcc(a.f,ib,l);b=m.b}else b=aSb(a,!a.o?HTb(a.j):ZRb(a));return b}case 38:SSb(a);b=!a.o?HTb(a.j):ZRb(a);w=a.j.g;k=GTb(a.j);ib=null;q=false;if(b==(ATb(),pTb)){ib=YRb(a,(Gd(b==pTb),ob=a.j.g,pb=GTb(a.j),qb=(Gd(b==pTb),SSb(a),rb=ASb(a,!a.o?HTb(a.j):ZRb(a)),!!rb&&(gSb(a,vTb)?!a.o?HTb(a.j):ZRb(a):(VRb(a,F_c,a.j.g,GTb(a.j)),null)),rb),PSb(a,ob,pb,qb,true),qb));if(!ib)return aSb(a,!a.o?HTb(a.j):ZRb(a));SSb(a);b=!a.o?HTb(a.j):ZRb(a);w=a.j.g;k=GTb(a.j);q=true}D= +null;u=rTb==b;u&&(b=!a.o?HTb(a.j):ZRb(a));if(zTb!=b)a.c.gi(B_c+vic("msg.missing.variable.name",yG(tG(rZ,1),zUc,1,5,[]))+C_c,(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k);else{q||RRb(a,a.j.g,GTb(a.j));D=a.j.n;if(u){b=!a.o?HTb(a.j):ZRb(a);if(mTb==b){b=!a.o?HTb(a.j):ZRb(a);zTb==b&&(b=!a.o?HTb(a.j):ZRb(a))}xTb!=b?(VRb(a,"msg.jsdoc.missing.rb",a.j.g,GTb(a.j)),null):!!ib&&(ib=gdc(ib))}adc();if(_cc.test(D))Bcc(a.f,D,ib)||(Hbc(a.f,D)?a.c.gi(B_c+vic("msg.dup.variable.name",yG(tG(rZ,1),zUc,1,5,[D]))+C_c,(R= +dec(a.n,(vhc(),mhc)),!R?null:R.ah()),w,k):a.c.gi(B_c+vic(D_c,yG(tG(rZ,1),zUc,1,5,[D]))+C_c,(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k));else{a.c.gi(vic("msg.invalid.variable.name",yG(tG(rZ,1),zUc,1,5,[D])),(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k);D=null}}if(D==null){b=aSb(a,b);return b}Kbc(a.f,D,a.n,w,k);if(a.f.d&&b!=fTb){H=cSb(a,b,a.g?0:2,false);G=H.a;G.length>0&&Ccc(a.f,D,G);b=H.b}else b!=jTb&&b!=kTb&&(b=aSb(a,!a.o?HTb(a.j):ZRb(a)));return b;case 34:xcc(a.f)||SRb(a,"msg.jsdoc.nosideeffects", +a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 30:b=ySb(a,!a.o?HTb(a.j):ZRb(a));return b;case 22:icc(a.f)||VRb(a,"msg.jsdoc.implicitcast",a.j.g,GTb(a.j));return aSb(a,!a.o?HTb(a.j):ZRb(a));case 46:if(a.f.d){N=dSb(a);M=N.a;M.length==0?SRb(a,"msg.jsdoc.seemissing",a.j.g,GTb(a.j)):Fbc(a.f,M);b=N.b}else b=aSb(a,!a.o?HTb(a.j):ZRb(a));return b;case 48:b=ESb(a,!a.o?HTb(a.j):ZRb(a));return b;case 49:{h=null;if(gSb(a,(ATb(),pTb))){a.c.gi(vic("msg.jsdoc.template.boundedgenerics.used",yG(tG(rZ,1),zUc, +1,5,[])),(R=dec(a.n,(vhc(),mhc)),!R?null:R.ah()),w,k);i=ISb(a,!a.o?HTb(a.j):ZRb(a));!!i&&(h=!i?null:new ddc(i,(Q=dec(a.n,mhc),!Q?null:Q.ah())))}fb=new pGc;if(!gSb(a,hTb)){do{F=zSb(a,!a.o?HTb(a.j):ZRb(a));db=!F?null:F.Di();db!=null&&db.length!=0&&Yb(MRb,db)&&(fb.a[fb.a.length]=db,true)}while($Rb(a,iTb))}gb=null;if(gSb(a,hTb)){hb=cSb(a,ZRb(a),1,false);b=hb.b;gb=GSb(a,hb,w,k)}else b=aSb(a,ZRb(a));switch(fb.a.length){case 0:a.c.gi(B_c+vic("msg.jsdoc.template.name.missing",yG(tG(rZ,1),zUc,1,5,[]))+C_c, +(R=dec(a.n,(vhc(),mhc)),!R?null:R.ah()),w,k);return b;case 1:break;default:(!!h||!!gb)&&a.c.gi(B_c+vic("msg.jsdoc.template.multipleDeclaration",yG(tG(rZ,1),zUc,1,5,[]))+C_c,(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k)}if(!!h&&!!gb){a.c.gi(B_c+vic("msg.jsdoc.template.boundsWithTTL",yG(tG(rZ,1),zUc,1,5,[]))+C_c,(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k);return b}if(gb)Qcc(a.f,fb.a[0],gb)||a.c.gi(B_c+vic(G_c,yG(tG(rZ,1),zUc,1,5,[]))+C_c,(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k);else if(h)Kcc(a.f, +fb.a[0],h)||a.c.gi(B_c+vic(G_c,yG(tG(rZ,1),zUc,1,5,[]))+C_c,(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k);else for(eb=new HGc(fb);eb.a0&&Fcc(a.f,O);b=P.b}else b=aSb(a,!a.o?HTb(a.j):ZRb(a));return b;case 50:Lcc(a.f,ib)||a.c.gi(B_c+vic(D_c,yG(tG(rZ,1),zUc,1,5,[]))+C_c,(V=dec(a.n,(vhc(),mhc)),!V?null:V.ah()),w,k);break;case 53:Rcc(a.f,ib)||a.c.gi(B_c+vic(D_c,yG(tG(rZ,1),zUc,1,5,[]))+C_c,(Q=dec(a.n,(vhc(),mhc)),!Q?null:Q.ah()),w,k)}}return aSb(a,!a.o?HTb(a.j):ZRb(a))}}return!a.o?HTb(a.j):ZRb(a)}function a9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb, +fb,gb;if(a.i&&!!dec(b,(vhc(),_gc))){G=Erb(a.e,dec(b,(vhc(),_gc)));OBc(G,"/** */ ")||v8(a.c,G)}cb=b.n;N=lwb(cb);p=$dc(b);t=b.c;H=b.c?b.c.i:null;if(N!=null&&t!=H){$d(p==2,N,p);O=r9(a,b);Y=c.b?c:(L9(),G9);K=(c==(L9(),J9)||c.a)&&t.n==(Plc(),Ukc);b.n==(Plc(),Pic)&&K&&v8(a.c,"(");if(hvb(b)||cb==Ljc){f9(a,t,O+1,c);x8(a.c,N,true);f9(a,H,O,Y)}else u9(a,b,cb,N,c,Y,O,O+1);b.n==Pic&&K&&v8(a.c,")");return}a.c.Mh(b);switch(cb.f){case 44:{Ud(t.f.n==(Plc(),gjc)&&!jec(t.f));Ud(p>=2&&p<=3);v8(a.c,"try");a.Nh(t,(L9(), +G9));n=t.f.c;!!n&&a.Nh(n,G9);if(p==3){a.c.Hh();v8(a.c,qXc);a.Nh(H,G9)}break}case 78:Vd(p==2,b);a.c.Hh();v8(a.c,"catch");a.c.Hh();if(t.n!=(Plc(),Fjc)){v8(a.c,"(");a.Nh(t,(L9(),G9));v8(a.c,")")}a.Nh(H,(L9(),G9));break;case 39:Vd(p==1,b);v8(a.c,"throw");a.c.Hh();a.Nh(t,(L9(),G9));a.c.Dh(true);break;case 0:v8(a.c,rXc);if(p==1){a.c.Hh();if(a.i&&!!dec(t,(vhc(),_gc))){v8(a.c,"(");a.Nh(t,(L9(),G9));v8(a.c,")")}else a.Nh(t,(L9(),G9))}else Vd(p==0,b);a.c.Dh(false);break;case 76:v8(a.c,"var ");j9(a,t,false, +c.b?c:(L9(),G9),",");(!b.g||(vub(),b.n!=(Plc(),Ekc)&&Xvb(b.g)))&&a.c.Dh(false);break;case 88:v8(a.c,"const ");j9(a,t,false,c.b?c:(L9(),G9),",");(!b.g||(vub(),b.n!=(Plc(),Ekc)&&Xvb(b.g)))&&a.c.Dh(false);break;case 100:v8(a.c,"let ");j9(a,t,false,c.b?c:(L9(),G9),",");(!b.g||(vub(),b.n!=(Plc(),Ekc)&&Xvb(b.g)))&&a.c.Dh(false);break;case 90:Vd(b.Di().length!=0,b);h9(a,b.Di());break;case 95:a.Nh(t,(L9(),G9));if(t!=H){Vd(p==2,b);x8(a.c,"=",true);a.Nh(H,G9)}break;case 29:a.n&&dec(b,(vhc(),ghc))!=null?h9(a, +dec(b,(vhc(),ghc))):h9(a,b.Di());aec(b,(Ldc(),Cdc))!=0&&v8(a.c,"?");q9(a,b);if(!!t&&t.n!=(Plc(),Fjc)){Vd(p==1,b);x8(a.c,"=",true);t.n==(Plc(),rjc)||t.n==mjc&&t.c.n==rjc?f9(a,t,nwb(Pic),(L9(),G9)):f9(a,t,0,c.b?c:(L9(),G9))}break;case 42:v8(a.c,"[");d9(a,t);v8(a.c,"]");break;case 93:v8(a.c,"[");d9(a,t);v8(a.c,"]");q9(a,b);break;case 45:if(mec(b.g)&&!!b.c&&!b.c.f&&t.n==(Plc(),Gkc)&&!HVb(a.f,(dXb(),bXb)))a.Nh(t,(L9(),G9));else{v8(a.c,"(");j9(a,t,true,(L9(),G9),",");v8(a.c,")")}break;case 123:a.Nh(t,(L9(), +G9));q9(a,b);x8(a.c,"=",true);f9(a,t.f,1,G9);break;case 46:Vd(p==2,b);u9(a,b,(Plc(),rjc),",",c,c.b?c:(L9(),G9),0,0);break;case 30:Vd(p==0,b);a.c.rh(b.Bi(),b);break;case 25:case 79:case 19:case 20:case 21:{Vd(p==1,b);x8(a.c,mwb(cb),false);f9(a,t,nwb(cb),(L9(),G9));break}case 22:{Vd(p==1,b);if(b.c.n==(Plc(),Rkc))a.c.rh(-b.c.Bi(),b.c);else{x8(a.c,mwb(cb),false);f9(a,t,nwb(cb),(L9(),G9))}break}case 60:{Vd(p==3,b);O=nwb(cb);Y=c.b?c:(L9(),G9);f9(a,t,O+1,c);x8(a.c,"?",true);f9(a,t.f,1,Y);x8(a.c,":",true); +f9(a,H,1,Y);break}case 38:if(t.n!=(Plc(),qlc)||H.n!=qlc)throw q0(new Rzc("Expected children to be strings"));W="/"+t9(a,t.Di(),'"',"'","\\",false,true)+"/";if(p==2)b9(a,W+H.Di());else{Vd(p==1,b);v8(a.c,W)}break;case 65:{if(b.Ik!=CX)throw q0(new Rzc(sXc));Vd(p==3,b);b.n==(Plc(),Vjc)&&aec(b,(vhc(),ugc))!=0?(Vd(t.Di().length==0,t),db=(eb=b.g,!!eb&&(vub(),ivb(eb.n)||Zvb(eb.n)||_vb(eb.n)||eb.n==wlc||eb.n==_jc||(eb.n==$jc||eb.n==jjc||eb.n==ckc)&&(fb=b.g,!!fb&&b==fb.c))),db&&v8(a.c,"("),gb=dec(t,(Ldc(), +vdc)),!!gb&&a.Nh(gb,(L9(),G9)),b.n==Vjc&&aec(b,(vhc(),vgc))!=0&&v8(a.c,tXc),a.Nh(t.f,(L9(),G9)),q9(a,b),x8(a.c,"=>",true),H.n==gjc?a.Nh(H,G9):f9(a,H,nwb(rjc)+1,c.b?I9:H9),a.c.Ah(c==K9),db&&v8(a.c,")"),undefined):g9(a,b,t,H,c);break}case 114:case 115:v8(a.c,uXc);a.Nh(t,(L9(),G9));q9(a,b);break;case 116:case 117:v8(a.c,uXc);a.Nh(b.c,(L9(),G9));break;case 109:v8(a.c,vXc);aec(b,(Ldc(),rdc))!=0&&v8(a.c,wXc);if(aec(b,qdc)!=0){v8(a.c,"*");Vd(!!t&&t.n==(Plc(),Fjc),b)}else a.Nh(t,(L9(),G9));if(p==2){v8(a.c, +xXc);a.Nh(H,(L9(),G9))}s9(a,t,c);break;case 105:v8(a.c,yXc);Z=t.f;if(t.n!=(Plc(),Fjc)){a.Nh(t,(L9(),G9));Z.n==Fjc||a.c.Fh()}Z.n==Fjc||a.Nh(Z,(L9(),G9));(t.n!=Fjc||Z.n!=Fjc)&&v8(a.c,xXc);a.Nh(H,(L9(),G9));a.c.Dh(false);break;case 110:case 106:v8(a.c,"{");for(j=t;j;j=j.f){j!=t&&a.c.Fh();a.Nh(j,(L9(),G9))}v8(a.c,"}");break;case 111:case 107:a.Nh(t,(L9(),G9));if(aec(b,(vhc(),Zgc))!=0&&OBc(t.Di(),H.Di()))break;v8(a.c,"as");a.Nh(H,G9);break;case 108:v8(a.c,"*");v8(a.c,"as");b9(a,b.Di());break;case 113:v8(a.c, +"import(");f9(a,t,nwb(cb),c);v8(a.c,")");break;case 125:v8(a.c,zXc);break;case 96:{Vd(p==3,b);q=c==(L9(),J9);q&&v8(a.c,"(");J=t;$=t.f;I=H;v8(a.c,AXc);J.n==(Plc(),Fjc)||a.Nh(J,G9);A=dec(t,(Ldc(),vdc));!!A&&a.Nh(A,G9);if($.n!=Fjc){v8(a.c,BXc);a.Nh($,G9)}D=dec(b,xdc);if(D){v8(a.c,CXc);o=D.c;a.Nh(o,G9);while(o=o.f){v8(a.c,",");a.c.Hh();a.Nh(o,G9)}}a.Nh(I,G9);C8(a.c,c==K9);q&&v8(a.c,")")}break;case 97:case 155:case 165:y8(a.c);for(k=t;k;k=k.f){a.Nh(k,(L9(),G9));s9(a,k,c);a.c.Bh()}B8(a.c,false);break;case 157:y8(a.c); +for(l=t;l;l=l.f){a.Nh(l,(L9(),G9));!!l.f&&v8(a.c,",");a.c.Bh()}B8(a.c,false);break;case 86:case 87:case 98:case 161:{Ud(b.g.n==(Plc(),Tkc)||b.g.n==pjc||b.g.n==qkc||b.g.n==flc||b.g.n==mkc);e=dec(b,(Ldc(),idc));!!e&&b9(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");aec(b,(vhc(),nhc))!=0&&v8(a.c,"static ");b.n==Bkc&&nec(b.c)&&v8(a.c,"async ");if(b.n!=Ckc&&aec(b.c,Ngc)!=0){Vd(cb==Bkc,b);v8(a.c,"*")}switch(cb.f){case 86:Vd(!t.c.f.c,b);v8(a.c,"get ");break;case 87:Vd(kec(t.c.f),b);v8(a.c,"set ")}J=b.Di(); +if(b.n==Ckc){b9(a,b.Di());aec(b,Cdc)!=0&&v8(a.c,"?");q9(a,b)}else{Vd(p==1,b);Vd(t.n==Vjc,t);Vd(t.c.Di().length==0,t);u=t;P=u.c.f;h=u.c?u.c.i:null;if(!b.Fi()&&(adc(),_cc.test(J))&&Hvb(J)){v8(a.c,J);p9(a,u.c)}else{r=A9(J);isNaN(r)?i9(a,b):a.c.rh(r,b)}aec(u,Cdc)!=0&&v8(a.c,"?");a.Nh(P,(L9(),G9));q9(a,u);a.Nh(h,G9)}break}case 85:case 112:case 82:case 81:{if(b.Ik!=CX)throw q0(new Rzc(sXc));V=b.n==(Plc(),gjc)&&aec(b,(vhc(),ohc))==0;V&&y8(a.c);U=cb==llc||cb==gjc&&!V&&b.g.n==llc;for(m=t;m;m=m.f){a.Nh(m,(L9(), +K9));(m.n==Vjc||m.n==ojc)&&a.c.Ih();U&&a.c.Jh()}V&&B8(a.c,a.c.xh(b,c==(L9(),K9)));break}case 72:Vd(p==4,b);v8(a.c,"for");a.c.Hh();v8(a.c,"(");vub();!!t&&(t.n==(Plc(),Jlc)||t.n==ykc||t.n==tjc)?a.Nh(t,(L9(),F9)):f9(a,t,0,(L9(),F9));v8(a.c,";");t.f.n==(Plc(),Fjc)||a.c.Hh();a.Nh(t.f,(L9(),G9));v8(a.c,";");t.f.f.n==Fjc||a.c.Hh();a.Nh(t.f.f,G9);v8(a.c,")");k9(a,H,c==E9?E9:G9,false);break;case 73:Vd(p==3,b);v8(a.c,"for");a.c.Hh();v8(a.c,"(");a.Nh(t,(L9(),G9));v8(a.c,"in");a.Nh(t.f,G9);v8(a.c,")");k9(a,H, +c==E9?E9:G9,false);break;case 101:Vd(p==3,b);v8(a.c,"for");a.c.Hh();v8(a.c,"(");a.Nh(t,(L9(),G9));a.c.Hh();v8(a.c,"of");a.c.Hh();a.Nh(t.f,G9);v8(a.c,")");k9(a,H,c==E9?E9:G9,false);break;case 102:Vd(p==3,b);v8(a.c,"for await");a.c.Hh();v8(a.c,"(");a.Nh(t,(L9(),G9));a.c.Hh();v8(a.c,"of");a.c.Hh();a.Nh(t.f,G9);v8(a.c,")");k9(a,H,c==E9?E9:G9,false);break;case 71:Vd(p==2,b);v8(a.c,"do");k9(a,t,(L9(),G9),false);a.c.Hh();v8(a.c,DXc);a.c.Hh();v8(a.c,"(");a.Nh(H,G9);v8(a.c,")");a.c.Dh(false);break;case 70:Vd(p== +2,b);v8(a.c,DXc);a.c.Hh();v8(a.c,"(");a.Nh(t,(L9(),G9));v8(a.c,")");k9(a,H,c==E9?E9:G9,false);break;case 80:Vd(p==0,b);break;case 26:{if(a.n&&dec(b,(vhc(),ghc))!=null){Eec(b.c,"$jscomp.scope")&&b.g.n==(Plc(),Pic)&&v8(a.c,"var ");h9(a,dec(b,(vhc(),ghc)));break}Wd(p==2,"Bad GETPROP: expected 2 children, but got %s",p);Vd(H.n==(Plc(),qlc),"Bad GETPROP: RHS should be STRING");K=t.n==Rkc;K&&v8(a.c,"(");f9(a,t,nwb(cb),c);K&&v8(a.c,")");if(a.j&&Tlc(H.Di())){v8(a.c,"[");a.Nh(H,(L9(),G9));v8(a.c,"]")}else{v8(a.c, +".");h9(a,H.Di())}break}case 27:Yd(p==2,p,b);f9(a,t,nwb(cb),c);v8(a.c,"[");a.Nh(t.f,(L9(),G9));v8(a.c,"]");break;case 77:Vd(p==2,b);v8(a.c,"with(");a.Nh(t,(L9(),G9));v8(a.c,")");k9(a,H,c==E9?E9:G9,false);break;case 63:case 64:{Vd(p==1,b);M=cb==(Plc(),lkc)?"++":"--";R=aec(b,(Ldc(),ydc))!=0;if(R){f9(a,t,nwb(cb),c);x8(a.c,M,false)}else{x8(a.c,M,false);a.Nh(t,(L9(),G9))}break}case 28:if(t.n==(Plc(),Gkc)&&OBc("eval",t.Di())&&aec(t,(Ldc(),odc))==0||aec(b,(Ldc(),tdc))!=0&&(vub(),t.n==_jc||t.n==$jc)){v8(a.c, +"(0,");f9(a,t,nwb(rjc),(L9(),G9));v8(a.c,")")}else f9(a,t,nwb(cb),c);g=t.f;v8(a.c,"(");j9(a,g,true,(L9(),G9),",");v8(a.c,")");break;case 66:Vd(p==2||p==3,b);B=p==3;f=c==(L9(),E9)&&!B;f&&y8(a.c);v8(a.c,"if");a.c.Hh();v8(a.c,"(");a.Nh(t,G9);v8(a.c,")");if(B){k9(a,t.f,E9,false);a.c.Hh();v8(a.c,"else");k9(a,H,c==E9?E9:G9,false)}else k9(a,t.f,G9,false);f&&B8(a.c,false);break;case 32:Vd(p==0,b);v8(a.c,wUc);break;case 33:Vd(p==0,b);v8(a.c,ZVc);break;case 99:Vd(p==0,b);v8(a.c,XVc);break;case 124:Vd(p==0, +b);v8(a.c,EXc);break;case 103:v8(a.c,FXc);if(aec(b,(vhc(),uhc))!=0){Pd(t);v8(a.c,"*")}if(t){a.c.Hh();f9(a,t,nwb(cb),(L9(),G9))}break;case 104:v8(a.c,"await ");f9(a,t,nwb(cb),(L9(),G9));break;case 34:Vd(p==0,b);v8(a.c,GXc);break;case 35:Vd(p==0,b);v8(a.c,HXc);break;case 75:Vd(p<=1,b);v8(a.c,IXc);if(p==1){if(t.n!=(Plc(),ukc))throw q0(new Rzc(JXc));v8(a.c," ");a.Nh(t,(L9(),G9))}a.c.Dh(false);break;case 89:Vd(p==0,b);v8(a.c,KXc);a.c.Dh(false);break;case 74:Vd(p<=1,b);v8(a.c,"break");if(p==1){if(t.n!= +(Plc(),ukc))throw q0(new Rzc(JXc));v8(a.c," ");a.Nh(t,(L9(),G9))}a.c.Dh(false);break;case 84:Vd(p==1,b);a.Nh(t,(L9(),J9));a.c.Dh(false);break;case 23:v8(a.c,"new ");S=nwb(cb);T=nwb(t.n);T==S&&(S=S+1);Aub(t,(Plc(),jjc),(vub(),uub))&&(S=nwb(t.n)+1);f9(a,t,S,(L9(),G9));L=t.f;if(L){v8(a.c,"(");j9(a,L,true,G9,",");v8(a.c,")")}break;case 91:m9(a,b);break;case 31:Zd(p==0,"String node %s may not have children",b);i9(a,b);break;case 24:Vd(p==1,b);v8(a.c,"delete ");a.Nh(t,(L9(),G9));break;case 43:{K=c==(L9(), +J9)||c.a;K&&v8(a.c,"(");v8(a.c,"{");for(m=t;m;m=m.f){m!=t&&a.c.Fh();Vd((vub(),m.n==(Plc(),rlc)||m.n==akc||m.n==mlc||m.n==Bkc||m.n==sjc||m.n==skc||m.n==Wkc),m);a.Nh(m,G9)}v8(a.c,"}");K&&v8(a.c,")");break}case 118:d=dec(b,(Ldc(),idc));!!d&&b9(a,(d.e!=null?d.e:""+d.f).toLowerCase()+" ");aec(b,Idc)!=0&&v8(a.c,"static ");if(aec(b,jdc)!=0)v8(a.c,"get ");else if(aec(b,ldc)!=0)v8(a.c,"set ");else if(aec(b,kdc)!=0){H.n==(Plc(),Vjc)&&aec(H,(vhc(),vgc))!=0&&v8(a.c,tXc);aec(H,udc)!=0&&v8(a.c,"*")}v8(a.c,"["); +f9(a,t,1,(L9(),G9));v8(a.c,"]");q9(a,b);if(aec(b,kdc)!=0||aec(b,jdc)!=0||aec(b,ldc)!=0){v=t.f;Q=v.c.f;h=v.c?v.c.i:null;a.Nh(Q,G9);a.Nh(h,G9)}else{F=b.g.n==(Plc(),pjc);C=t.f;if(C){Vd(!F,"initializers should only exist in object literals, not classes");v8(a.c,":");f9(a,C,1,G9)}else Vd(aec(b,mdc)!=0,b)}break;case 94:l9(a,b);q9(a,b);break;case 67:v8(a.c,"switch(");a.Nh(t,(L9(),G9));v8(a.c,")");y8(a.c);c9(a,t.f);B8(a.c,c==K9);break;case 68:Vd(p==2,b);v8(a.c,"case ");a.Nh(t,(L9(),G9));e9(a,H);break;case 69:Vd(p== +1,b);v8(a.c,wXc);e9(a,t);break;case 83:Vd(p==2,b);if(t.n!=(Plc(),ukc))throw q0(new Rzc(JXc));a.Nh(t,(L9(),G9));v8(a.c,":");H.n==gjc||a.c.Hh();k9(a,H,c==E9?E9:G9,true);break;case 92:if(a.i){v8(a.c,"(");a.Nh(t,(L9(),G9));v8(a.c,")")}else a.Nh(t,c);break;case 119:a.Nh(t,(L9(),J9));a.Nh(t.f,G9);break;case 120:z8(a.c);for(i=t;i;i=i.f)if(i.n==(Plc(),ylc))b9(a,n9(i.Ci()));else{A8(a.c);a.Nh(i.c,(L9(),J9));E8(a.c)}D8(a.c);break;case 126:v8(a.c,lUc);break;case 127:v8(a.c,iUc);break;case 128:v8(a.c,jUc);break; +case 132:v8(a.c,"any");break;case 134:v8(a.c,LXc);break;case 136:a.Nh(t,(L9(),G9));break;case 140:f9(a,t,nwb((Plc(),Oic)),c);v8(a.c,"[]");break;case 129:X=t;v8(a.c,"(");j9(a,t.f,true,(L9(),G9),",");v8(a.c,")");x8(a.c,"=>",true);a.Nh(X,G9);break;case 131:j9(a,t,true,(L9(),G9),"|");break;case 138:v8(a.c,"{");j9(a,t,false,(L9(),G9),",");v8(a.c,"}");break;case 130:a.Nh(t,(L9(),G9));v8(a.c,"<");j9(a,t.f,true,G9,",");v8(a.c,">");break;case 142:v8(a.c,"<");j9(a,t,false,(L9(),K9),",");v8(a.c,">");break;case 141:h9(a, +b.Di());if(b.c){v8(a.c,BXc);a.c.Hh();a.Nh(b.c,(L9(),G9))}break;case 153:{Vd(p==3,b);J=t;bb=t.f;I=H;v8(a.c,MXc);a.Nh(J,(L9(),G9));A=dec(J,(Ldc(),vdc));!!A&&a.Nh(A,G9);if(bb.n!=(Plc(),Fjc)){v8(a.c,BXc);ab=bb.c;a.Nh(ab,G9);while(ab=ab.f){v8(a.c,",");a.c.Hh();a.Nh(ab,G9)}}a.Nh(I,G9)}break;case 156:{Vd(p==2,b);J=t;I=H;v8(a.c,NXc);a.Nh(J,(L9(),G9));a.Nh(I,G9);break}case 164:{Vd(p==2,b);J=t;s=H;v8(a.c,"namespace");a.Nh(J,(L9(),G9));a.Nh(s,G9);break}case 159:v8(a.c,OXc);b9(a,b.Di());x8(a.c,"=",true);a.Nh(H, +(L9(),G9));a.c.Dh(true);break;case 160:v8(a.c,"declare");a.Nh(t,(L9(),G9));s9(a,b,c);break;case 162:v8(a.c,"[");a.Nh(t,(L9(),G9));v8(a.c,"]");q9(a,b);a.c.Dh(true);break;case 163:aec(b,(Ldc(),ndc))!=0&&v8(a.c,"new ");w=dec(b,vdc);!!w&&a.Nh(w,(L9(),G9));a.Nh(t,(L9(),G9));q9(a,b);a.c.Dh(true);break;default:throw q0(new CF("Unknown token "+cb+xVc+hfc(b)));}a.c.Ch(b)}function x8b(){var a;a=new DCc;a.a+='{"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}\\n * @suppress {externsValidation}\\n */\\nIterable.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\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}\\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 * @interface\\n * @extends {Iterator}\\n * @extends {Iterable}\\n * @template T\\n */\\nfunction IteratorIterable() {}\\n\\n// END ES6 RETROFIT CODE\\n\\n\\n/**\\n * @interface\\n * @template KEY1, VALUE1\\n */\\nfunction IObject() {}\\n\\n/**\\n * @record\\n * @extends {IObject}\\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`, 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} 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 * @t'; a.a+='ype {?}\\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}\\n * @implements {Iterable}\\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}\\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}\\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}\\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}\\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}\\n * @this {IArrayLike|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}\\n * @template T\\n * @modifies {this}\\n * @return {!Array}\\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}\\n * @this {IArrayLike}\\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) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike|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) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike|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): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike|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): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array}\\n * @this {IArrayLike|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): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {IArrayLike|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|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|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): R} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array}\\n * @this {IArrayLike|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): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike|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 ht'; a.a+="tp://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)=} 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=} 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)=} 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}\\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 * @nosi"; a.a+="deeffects\\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=} 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} 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}\\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)=} 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)=} 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}\\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}\\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"; @@ -1554,489 +1555,488 @@ a.a+="ment.prototype.play = function() {};\\n\\n/**\\n * Pauses the media.\\n * a.a+=".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}\\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 * @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/** @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)=} 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): 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 * @c"; a.a+="onstructor\\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}\\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}\\n */\\nHTMLElement.prototype.dataset;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\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 * @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} 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}\\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}\\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}\\n */\\nHTMLSelectElement.prototype.labels;\\n\\n/** @type {HTMLCollection} */\\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}\\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 {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} *"; a.a+="/\\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|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} */\\nMutationRecord.prototype.addedNodes;\\n\\n/** @type {!NodeList} */\\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, !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}\\n */\\nMutationObserver.prototype.takeRecords = function() {};\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array))}\\n */\\nWindow.prototype.WebKitMutationObserver;\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array))}\\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}\\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}\\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}\\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, 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(dbeam): 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}\\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 HTMLDataList"; -a.a+='Element() {}\\n\\n\\n/** @type {HTMLCollection} */\\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}\\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} */\\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} */\\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}\\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}\\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}\\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}\\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}\\n */\\nHTMLSlotElement.prototype.assignedNodes = function(options) {};\\n\\n/**\\n * @param {!AssignedNodesOptions=} options\\n * @return {!Array}\\n */\\nHTMLSlotElement.prototype.assignedElements = function(options) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.composed;\\n\\n/**\\n * @return {!Array}\\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} */\\nStorageManager.prototype.persisted = function() {};\\n\\n/** @return {!Promise} */\\nStorageManager.prototype.persist = function() {};\\n\\n/** @return {!Promise} */\\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 * TODO(blickly): This should be nullable as per spec\\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","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 */\\'; -a.a+='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","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(robadurbin): 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,!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|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}\\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.}\\n */\\nIntersectionObserver.prototype.takeRecords = function() {};\\n","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","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 http://goo.gl/blgtZZ EME draft 12 March 2015}.\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {{contentType: string, robustness: string}}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemmediacapability-dictionary\\n */\\nvar MediaKeySystemMediaCapability;\\n\\n\\n/** @typedef {{\\n * label: (string|undefined),\\n * initDataTypes: (!Array|undefined),\\n * audioCapabilities: (!Array|undefined),\\n * videoCapabilities: (!Array|undefined),\\n * distinctiveIdentifier: (string|undefined),\\n * persistentState: (string|undefined),\\n * sessionTypes: (!Array|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} supportedConfigurations\\n * @return {!Promise}\\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/#widl-HTMLMediaElement-setMediaKeys-Promise-void--MediaKeys-mediaKeys\\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} */\\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.'; -a.a+='prototype.size;\\n\\n\\n/**\\n * Array entry 0 is the key, 1 is the value.\\n * @return {!Iterator>}\\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}\\n */\\nMediaKeyStatusMap.prototype.keys = function() {};\\n\\n\\n/**\\n * @return {!Iterator}\\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}}\\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/**\\n * @override\\n */\\nMediaKeySession.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n */\\nMediaKeySession.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaKeySession.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\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 */\\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","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} */\\nMediaSource.prototype.sourceBuffers;\\n\\n/** @type {Array} */\\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","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","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}\\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>}\\n * @param {(string|!Array|!Object)=}\\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>}\\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}\\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","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 * 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","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 r'; -a.a+='equired 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","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","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","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","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","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}\\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 * @deprecated Use BaseAudioContext#createSpatialPanner or BaseAudioContext#createStereoPanner\\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}\\n */\\nBaseAudioContext.prototype.resume = function() {};\\n\\n/**\\n * @return {!Promise}\\n */\\nBaseAudioContext.prototype.suspend = function() {};\\n\\n/**\\n * @return {!Promise}\\n */\\nBaseAudioContext.prototype.close = function() {};\\n\\n/** @type {?function(!Event)} */\\nBaseAudioContext.prototype.onstatechange;\\n\\n/**\\n * @param {string} scriptURL\\n * @return {!Promise}\\n */\\nBaseAudioContext.prototype.createAudioWorker = function(scriptURL) {};\\n\\n/**\\n * @param {!IArrayLike} feedforward\\n * @param {!IArrayLike} 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.prot'; -a.a+="otype.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}\\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} */\\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=} 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=} 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} */\\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=} 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\\"; -a.a+='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","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","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}\\n * @see http://www.w3.org/TR/battery-status/\\n */\\nNavigator.prototype.getBattery = function() {};\\n","externs/w3c_clipboard.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 Declaration of the asynchronous clipboard Web API.\\n * @externs\\n */\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/clipboard-apis/#async-clipboard-api\\n */\\nfunction Clipboard() {}\\n\\n/**\\n * @return {!Promise}\\n */\\nClipboard.prototype.readText = function() {};\\n\\n/**\\n * @param {string} text\\n * @return {!Promise}\\n */\\nClipboard.prototype.writeText = function(text) {};\\n\\n/** @const {!Clipboard} */\\nNavigator.prototype.clipboard;\\n","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 * @pa'; -a.a+='ram {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","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","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","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.}\\n */\\nnavigator.getGamepads = function() {};\\n\\n/**\\n * @return {!Array.}\\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.}\\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.|!Array.)}\\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","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/geome'; -a.a+="try-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\",\"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} */\\nGeolocationCoordinates.prototype.altitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitudeAccuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.heading;\\n/** @type {number} */\\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\",\"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|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|!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} 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}\\"; -a.a+='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","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.}\\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","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 .domCont'; -a.a+="entLoadedEventStart;\\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} */\\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} 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} 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 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/**\\n * @record\\n */\\nfunction PerformanceObserverInit() {}\\n\\n/** @type {undefined|!Array} */\\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} */\\nPerformanceObserverEntryList.prototype.getEntries = function() {};\\n/**\\n * @param {string} type\\n * @return {!Array}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByName = function(type) {};\\n/**\\n * @param {string} name\\n * @param {string=} opt_type\\n * @return {!Array}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByType = function(\\n name, opt_type) {};\\n\",\"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\",\"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/**\\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\",\"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}\\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\",\"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 */"; -a.a+='\\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}\\n */\\nPointerEvent.prototype.getCoalescedEvents = function() {};\\n\\n","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","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","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} */\\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} */\\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} */\\nMediaTrackCapabilities.prototype.whiteBalanceMode;\\n\\n/** @type {!Array} */\\nMediaTrackCapabilities.prototype.exposureMode;\\n\\n/** @type {!Array} */\\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'; -a.a+='|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} 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=} 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(bemasc): 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}\\n */\\nMediaStream.prototype.getAudioTracks = function() {};\\n\\n/**\\n * @return {!Array}\\n */\\nMediaStream.prototype.getVideoTracks = function() {};\\n\\n/**\\n * @return {!Array}\\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(bemasc): 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 * @interface\\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}\\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}\\n */\\nRTCRtpSender.prototype.setParameters = function(params) {};\\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}\\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}\\n */\\nRTCRtpReceiver.prototype.getContributingSources = function() {};\\n\\n/**\\n * @return {!Array}\\n */\\nRTCRtpReceiver.prototype.getSynchronizationSources = function() {};\\n\\n/**\\n * Chrome extension to control jitter buffer delay.\\n * @see https://github.com/henbos/webrtc-timing/issues/1\\n * @type {?number|undefined}\\n */\\nRTCRtpReceiver.prototype.jitterBufferDelayHint;\\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|undefined}\\n */\\nRTCRtpTransceiverInit.prototype.streams;\\n\\n/**\\n * @type {?Array|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 * @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|undefined}\\n */\\nConstrainDOMStringParameters.prototype.exact;\\n\\n/**\\n * @type {string|Array|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|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|undefined}\\n */\\nMediaTrackConstraints.prototype.advanced;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/get'; -a.a+='usermedia.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}\\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}\\n */\\nImageCapture.prototype.takePhoto = function(photoSettings) {};\\n\\n/**\\n * @return {!Promise}\\n */\\nImageCapture.prototype.getPhotoCapabilities = function() {};\\n\\n/**\\n * @return {!Promise}\\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}\\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>}\\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}\\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}\\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(bemasc): 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}}\\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}\\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,\\n * sdpSemantics: (string|undefined)\\n * }}\\n * @private\\n */\\nvar RTCConfigurationRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCConfigurationInterface_() {}\\n\\n/**\\n * @type {!Array}\\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 * @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 RTCStreamStats() {}\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.ssrc;\\n\\n/** @const {string} */\\nRTCStreamStats.prototype.kind;\\n\\n/** @const {string} */\\nRTCStreamStats.prototype.transportId;\\n\\n/** @const {string} */\\nRTCStreamStats.prototype.codecId;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.firCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.pliCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.nackCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.sliCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.qpSum;\\n\\n/**\\n * @interface\\n */\\nfunction RTCStatsReport() {}\\n\\n/**\\n * @const {?Date|number}\\n */\\nRTCStatsReport.prototype.timestamp;\\n\\n/**\\n * @return {!Array}\\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>}\\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}\\n */\\nRTCStatsReport.prototype.keys = function() {};\\n\\n/**\\n * @return {!IteratorIterable}\\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>}\\n */\\nRTCStatsReport.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * TODO(bemasc): 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}\\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(bemasc): 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 */\\nMediaConstraintSe'; -a.a+='tInterface_.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(bemasc): 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}\\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 */\\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 {?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 {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}\\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|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|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}\\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}\\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 * @return {!Array}\\n */\\nRTCPeerConnection.prototype.getLocalStreams = function() {};\\n\\n/**\\n * @return {!Array}\\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}\\n */\\nRTCPeerConnection.prototype.getSenders = function() {};\\n\\n/**\\n * @return {!Array}\\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}\\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(bemasc): Add identity provider stuff once implementations exist\\n\\n// TODO(rjogrady): 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}\\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","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)=)}\\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","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}\\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","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}\\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}\\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 *'; -a.a+="/\\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\",\"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} */\\nNavigationPreloadManager.prototype.enable = function() {};\\n\\n/** @return {!Promise} */\\nNavigationPreloadManager.prototype.disable = function() {};\\n\\n/**\\n * @param {string=} value\\n * @return {!Promise}\\n */\\nNavigationPreloadManager.prototype.setHeaderValue = function(value) {};\\n\\n/** @return {!Promise} */\\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} */\\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}\\n */\\nPushManager.prototype.subscribe = function(opt_options) {};\\n\\n/** @return {!Promise} */\\nPushManager.prototype.getSubscription = function() {};\\n\\n/** @return {!Promise} */\\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}\\n */\\nSyncManager.prototype.register = function(tag) {}\\n\\n/**\\n * @return {!Promise>}\\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} */\\nServiceWorkerRegistration.prototype.unregister = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerRegistration.prototype.onupdatefound;\\n\\n/** @return {!Promise} */\\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}\\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>}\\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} */\\nServiceWorkerContainer.prototype.ready;\\n\\n/**\\n * @param {string} scriptURL\\n * @param {RegistrationOptions=} opt_options\\n * @return {!Promise}\\n */\\nServiceWorkerContainer.prototype.register = function(scriptURL, opt_options) {};\\n\\n/**\\n * @param {string=} opt_documentURL\\n * @return {!Promise}\\n */\\nServiceWorkerContainer.prototype.getRegistration = function(opt_documentURL) {};\\n\\n/**\\n * @return {!Promise>}\\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} */\\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} */\\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|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}\\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>}\\n */\\nServiceWorkerClients.prototype.getAll = function(opt_options) {};\\n\\n/**\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise>}\\n */\\nServiceWorkerClients.prototype.matchAll = function(opt_options) {};\\n\\n/**\\n * @return {!Promise}\\n */\\nServiceWorkerClients.prototype.claim = function() {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise}\\n */\\nServiceWorkerClients.prototype.openWindow = function(url) {};\\n\\n/**\\n * @param {string} id\\n * @return {!Promise}\\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}\\n */\\nCache.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise>}\\n */\\nCache.prototype.matchAll = function(opt_request, opt_options) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @return {!Promise}\\n */\\nCache.prototype.add = function(request) {};\\n\\n/**\\n * @param {!Array} requests\\n * @return {!Promise}\\n */\\nCache.prototype.addAll = function(requests) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {!Response} response\\n * @return {!Promise}\\n */\\nCache.prototype.put = function(request, response) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise}\\n */\\nCache.prototype.delete = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise>}\\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}\\n */\\nCacheStorage.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise}\\n */\\nCacheStorage.prototype.has = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise}\\n */\\nCacheStorage.prototype.open = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise}\\n */\\nCacheStorage.prototype.delete = function(cacheName) {};\\n\\n/** @return {!Promise>} */\\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 {"; -a.a+='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}\\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)} r\\n * @return {undefined}\\n */\\nFetchEvent.prototype.respondWith = function(r) {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise}\\n */\\nFetchEvent.prototype.forwardTo = function(url) {};\\n\\n/**\\n * @return {!Promise}\\n */\\nFetchEvent.prototype.default = function() {};\\n\\n/**\\n * @typedef {{\\n * bubbles: (boolean|undefined),\\n * cancelable: (boolean|undefined),\\n * request: (!Request|undefined),\\n * preloadResponse: (!Promise),\\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=} 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} */\\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|undefined} */\\nExtendableMessageEventInit.prototype.ports;\\n","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}\\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","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}\\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'; -a.a+=' {?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} 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} */\\nTouchEventInit.prototype.touches;\\n\\n/** @type {undefined|!Array} */\\nTouchEventInit.prototype.targetTouches;\\n\\n/** @type {undefined|!Array} */\\nTouchEventInit.prototype.changedTouches;\\n\\n/**\\n * The TouchEvent class encapsulates information about a touch event.\\n *\\n *

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 *

\\n *\\n *

The different types of TouchEvent objects that can occur are:\\n *

    \\n *
  • touchstart - Sent when a finger for a given event touches the surface.\\n *
  • touchmove - Sent when a given event moves on the surface.\\n *
  • touchend - Sent when a given event lifts from the surface.\\n *
  • touchcancel - Sent when the system cancels tracking for the touch.\\n *
\\n * TouchEvent objects are combined together to form high-level GestureEvent\\n * objects that are also sent during a multi-touch sequence.

\\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","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}\\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","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} 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} 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} 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} 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} 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} 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} 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} keyUsages Indication of new key options i.e.\\n * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n * unwrapKey.\\n * @return {!Promise} 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 a'; -a.a+='lgorithm.\\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} keyUsages Indicates what can be done with the\\n * derivated key.\\n * @return {!Promise} 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} 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} keyUsages Indication of new key options i.e.\\n * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n * unwrapKey.\\n * @return {!Promise} 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} 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} 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} keyUsages Indicates what can be done with the\\n * derivated key.\\n * @return {!Promise} 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","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 {num'; -a.a+='ber}\\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>}\\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}\\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","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","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}\\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} */\\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} */\\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>)} 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>)} 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}\\n */\\nDocumentTimeline.prototype.getAnimations = function() {};\\n\\n\\n/**\\n * @param {!Array} 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} */\\nSequenceEffect.prototype.children;\\n\\n\\n/**\\n * @param {!Array} 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} */\\nGroupEffect.prototype.children;\\n","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|undefined),\\n * timestamp: (number|undefined),\\n * renotify: (boolean|undefined),\\n * silent: (boolean|undefined),\\n * requireInteraction: (boolean|undefined),\\n * data: (*|undefined),\\n * actions: '; -a.a+='(!Array|undefined),\\n * }}\\n * TODO(rsk): 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}\\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","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}\\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","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} '; -a.a+="*/\\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"; -a.a+=" {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_COMPLET"; -a.a+="E;\\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}\\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}\\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 {Web"; -a.a+="GLObject} 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} 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|Array} 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} 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|Array} 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} 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|Array} 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} 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|Array} 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} 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} 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} 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} 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} 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} 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} 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.preferLowPowerToHighPerformance;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.failIfMajorPerformanceCaveat;\\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"; -a.a+='\\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} 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","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} */\\nWebGL2'; -a.a+="RenderingContext.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} "; -a.a+="*/\\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} attachments\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.invalidateFramebuffer = function(\\n target, attachments) {};\\n\\n/**\\n * @param {number} target\\n * @param {!Array} 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"; -a.a+=" */\\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} 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} 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} 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} 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|?Array} 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|?Array} 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|?Array} 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|?Array} 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|!Array} 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|!Array} 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|!Array} 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|!Array} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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|!Array} 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|!Array} 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} buffers\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.drawBuffers = function(buffers) {};\\n\\n\\n/**\\"; -a.a+="n * @param {number} buffer\\n * @param {number} drawbuffer\\n * @param {!Float32Array|!Array} 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|!Array} 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|!Array} 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} 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} uniformNames\\n * @return {!Array}\\n */\\nWebGL2RenderingContext.prototype.getUniformIndices = function(\\n program, uniformNames) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {!Array} 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\",\"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>|!Object}\\n * @see https://fetch.spec.whatwg.org/#headersinit\\n */\\nvar HeadersInit;\\n\\n\\n/**\\n * @param {!HeadersInit=} opt_headersInit\\n * @constructor\\n * @implements {Iterable>}\\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>} */\\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}\\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} */\\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} */\\nHeaders.prototype.values = function() {};\\n\\n/** @return {!Iterator>} */\\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} */\\nBody.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Promise} */\\nBody.prototype.blob = function() {};\\n\\n/** @return {!Promise} */\\nBody.prototype.formData = function() {};\\n\\n/** @return {!Promise<*>} */\\nBody.prototype.json = function() {};\\n\\n/** @return {!Promise} */\\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', 'reloa"; -a.a+="d', '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} */\\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}\\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}\\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}\\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\",\"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}\\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}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-to\\n */\\nReadableStream.prototype.pipeTo = function(dest, opt_options) {};\\n\\n/**\\n * @return {!Array}\\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}\\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}\\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}\\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}\\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}\\n * @see https://streams.spec.whatwg.org/#ws-abort\\n */\\nWritableStream.prototype.abort = function(reason) {};\\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}\\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.de"; -a.a+='siredSize;\\n\\n/**\\n * @type {!Promise}\\n * @see https://streams.spec.whatwg.org/#default-writer-ready\\n */\\nWritableStreamDefaultWriter.prototype.ready;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise}\\n * @see https://streams.spec.whatwg.org/#default-writer-abort\\n */\\nWritableStreamDefaultWriter.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!Promise}\\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}\\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}\\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","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","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} */\\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","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 * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/** @const */\\nvar $jscomp = $jscomp || {};\\n\\n/** @const Locals for goog.scope */\\n$jscomp.scope = {};\\n","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","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}\\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} 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","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}\\n * @return {!IteratorIterable>}\\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","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}\\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} 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","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}\\n * @param {function(this: THIS, VALUE, number, !IArrayLike): *}\\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","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 *'; -a.a+=" 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}\\n * @param {function(this: THIS, VALUE, number, !IArrayLike): *}\\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\",\"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}\\n * @this {!IArrayLike}\\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\",\"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): !Array} callback\\n * @param {THIS=} thisArg\\n * @return {!Array}\\n * @this {!IArrayLike}\\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\",\"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 *

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|!Iterable} 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}\\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\",\"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}\\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\",\"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}\\n */\\n var polyfill = function() {\\n return $jscomp.iteratorFromArray(this, function(i) { return i; });\\n };\\n\\n return polyfill;\\n}, 'es6', 'es3');\\n\",\"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 *

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}\\n * @template T\\n */\\n var polyfill = function(var_args) {\\n return Array.from(arguments);\\n };\\n\\n return polyfill;\\n}, 'es6', 'es3');\\n\",\"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}\\n * @return {!IteratorIterable}\\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\",\"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';\\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)} 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)} */\\n this.resolve = resolve;\\n /** @type {function(?)} */\\n this.reject = reject;\\n};\\n\\n/**\\n * @param {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_} frame\\n * The frame at this position in the queue\\n * @param {$jscomp.AsyncGeneratorWrapper$ExecutionNode_} 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_} */\\n this.frame = frame;\\n /** @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_} */\\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_}\\n"; -a.a+=" * @private\\n */\\n this.head_ = null;\\n\\n /**\\n *\\n * @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_}\\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_}\\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_} 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}\\n * @implements {AsyncIterable}\\n * @template VALUE\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper = function(\\n /** @type {!Generator<$jscomp.AsyncGeneratorWrapper$ActionRecord>} */\\n generator) {\\n /** @private */\\n this.generator_ = generator;\\n\\n /**\\n * @private\\n * @type {AsyncIterator}\\n */\\n this.delegate_ = null;\\n\\n /**\\n * @type {!$jscomp.AsyncGeneratorWrapper$ExecutionQueue_}\\n * @private\\n */\\n this.executionQueue_ = new $jscomp.AsyncGeneratorWrapper$ExecutionQueue_();\\n\\n $jscomp.initSymbolAsyncIterator();\\n\\n /** @type {$jscomp.AsyncGeneratorWrapper} */\\n this[Symbol.asyncIterator] =\\n /** @return {$jscomp.AsyncGeneratorWrapper} */ function() {\\n return this;\\n };\\n\\n var self = this;\\n\\n /**\\n * @this {undefined}\\n * @param {!IIterableResult} 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>}\\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>}\\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>}\\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>}\\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} 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\",\"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\",\"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'require base';\\n'require es6/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$jsc"; -a.a+="omp.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\",\"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}\\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 *

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 *

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 *

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 *

\\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   * 
\\n   *\\n   * @private\\n   * @type {?Array}.\\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|!Iterable|!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} */ 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}\\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";
-a.a+=" */ var preservedContext =\\n      /**\\n       * @type {!Array}\\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 * 

for (var i in obj) {...} becomes:\\n *

\\n * for (var i, $for$in = context$.forIn(obj);\\n *      (i = $for$in.getNext()) != null;\\n *      ) {\\n *   ...\\n * }\\n * 
\\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}\\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): (void|{value: VALUE})} program\\n */\\n$jscomp.generator.Engine_ = function(program) {\\n /**\\n * @private\\n * @const\\n * @type {!$jscomp.generator.Context}\\n */\\n this.context_ = new $jscomp.generator.Context();\\n\\n /**\\n * @private\\n * @const\\n * @type {function(!$jscomp.generator.Context): (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}\\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}\\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} */ 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}\\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, T): !IIterableResult} action\\n * @param {T} value\\n * @param {function(this:$jscomp.generator.Context, VALUE): void} nextAction\\n * @return {!IIterableResult}\\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} */ (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}\\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}\\n * @param {!$jscomp.generator.Engine_} 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_} */\\n this[Symbol.iterator] = function() {\\n return this;\\n };\\n\\n // TODO(skill): 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|!Iterable)} generator\\n * @param {function(!$jscomp.generator.Context): (void|{value: VALUE})} program\\n * @return {!Generator}\\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\",\"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} */\\n this.previous;\\n /** @type {!$jscomp.MapEntry} */\\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 */ 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} */\\n var idMap = new WeakMap();\\n\\n\\n /**\\n * Polyfill for the global Map data type.\\n * @constructor\\n * @struct\\n * @extends {Map}\\n * @implements {Iterable>}\\n * @template KEY, VALUE\\n * @param {!Iterable>|!Array>|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>>} */\\n this.data_ = {};\\n\\n /** @private {!$jscomp.MapEntry} */\\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>} */ (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"; -a.a+=".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 */ 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 */ 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 */ 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} map\\n * @param {KEY} key\\n * @return {{id: string,\\n * list: (!Array>|undefined),\\n * index: number,\\n * entry: (!$jscomp.MapEntry|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} map\\n * @param {function(!$jscomp.MapEntry): T} func\\n * @return {!IteratorIterable}\\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}\\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} */ ({});\\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\",\"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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 "; -a.a+=" 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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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(functi"; -a.a+="on(string), ?, !Module)} */\\n this.def = def;\\n /** @type {!Module} */\\n this.module = module;\\n /** @type {string} */\\n this.path = path;\\n /** @const {!Set} */\\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} */\\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>}\\n */\\nvar ensureMap = new Map();\\n\\n\\n/**\\n * @param {!Set} 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} 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=} 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 */ 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}\\n */\\nfunction getTransitiveBlockingDepsOf(moduleId) {\\n var cacheEntry = moduleCache.get(moduleId);\\n var /** !Set */ 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>} */\\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} 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\",\"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\",\"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\",\"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 *

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 *

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 *

Polyfills the static field Number.MIN_SAFE_INTEGER.\\n */\\n return -0x1fffffffffffff;\\n}, 'es6', 'es3');\\n\",\"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 *

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\",\"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 *

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 poly"; -a.a+="fill = function(x) {\\n if (!Number.isFinite(x)) return false;\\n return x === Math.floor(x);\\n };\\n\\n return polyfill;\\n}, 'es6', 'es3');\\n\",\"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 *

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\",\"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 *

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\",\"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\",\"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\",\"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\",\"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\",\"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} obj\\n * @return {!Array>}\\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\",\"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>} */ (\\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\",\"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}\\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\",\"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\",\"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\",\"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\",\"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} obj\\n * @return {!Array}\\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\",\"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 pe"; -a.a+="rmissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all Promise polyfills.\\n */\\n'require es6/promise/promise';\\n'require es6/promise/finally';\\n\",\"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}\\n * @param {function():?} onFinally\\n * @return {!Promise}\\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\",\"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}\\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 */ 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|Thenable|null)=),\\n * function(*=))} executor\\n * @constructor\\n * @extends {Promise}\\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}\\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 *

After the resolve or reject function has been called once, later calls\\n * do nothing.\\n * @private\\n * @return {{\\n * resolve: function((TYPE|IThenable|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, 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|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 "; -a.a+=" .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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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 fun"; -a.a+="ction 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\",\"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\",\"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\",\"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}\\n * @implements {Iterable}\\n * @template KEY, VALUE\\n * @param {!Iterable|!Array|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} */\\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} */ (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\",\"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/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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 "; -a.a+="the given position.\\n *\\n *

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\",\"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\",\"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\",\"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 *

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\",\"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 *

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\",\"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\",\"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\",\"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} next\\n * @return {!IteratorIterable}\\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\",\"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|!Iterable|!Arguments} iterable\\n * @return {!Array}\\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\",\"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} iterator\\n * @return {!Array}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.arrayFromIterator = function(iter"; -a.a+='ator) {\\n var i;\\n var arr = [];\\n while (!(i = iterator.next()).done) {\\n arr.push(i.value);\\n }\\n return arr;\\n};\\n","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} array\\n * @return {function():!IIterableResult}\\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} array\\n * @return {!Iterator}\\n * @template T\\n */\\n$jscomp.arrayIterator = function(array) {\\n return /** @type {!Iterator} */ ({next: $jscomp.arrayIteratorImpl(array)});\\n};\\n\\n","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","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","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 *

\\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 * 
\\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","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} array\\n * @param {function(number, INPUT): OUTPUT} transform\\n * @return {!IteratorIterable}\\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","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|!Iterable|!Iterator|!Arguments} iterable\\n * @return {!AsyncIteratorIterable}\\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|!Iterator|!Arguments} */\\n (iterable)));\\n};\\n\\n/**\\n *\\n * @param {!Iterator} iterator\\n * @constructor\\n * @implements {AsyncIteratorIterable}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncIteratorFromSyncWrapper = function(iterator) {\\n /**\\n * @return {!AsyncIterator}\\n */\\n this[Symbol.asyncIterator] = function() {\\n return this;\\n };\\n\\n /**\\n * @return {!Iterator>>}\\n */\\n this[Symbol.iterator] = function() {\\n return iterator;\\n };\\n\\n /**\\n * @param {?=} param\\n * @return {!Promise>}\\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>}\\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>}\\n */\\n this[\'return\'] = function(param) {\\n return Promise.resolve(iterator[\'return\'](param));\\n };\\n }\\n};\\n","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|!Iterator|!Arguments} iterable\\n * @return {!Iterator}\\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","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, '; -a.a+="?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\",\"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}\\n * @template KEY, VALUE\\n * @param {!Iterator>|!Array>|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\",\"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}\\n * @template TYPE\\n * @param {!Iterator|!Array|null=} opt_iterable\\n */\\n var PolyfillWeakSet = function(opt_iterable) {\\n /** @private @const {!WeakMap} */\\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\",\"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 * @author ochafik@google.com (Olivier Chafik)\\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\",\"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/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/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\",\"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\",\"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 * @author moedinger@google.com (Andrew Moedinger)\\n * @author nadaa@google.com (Nada Amin)\\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} 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) {"; -a.a+="\\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 '';\\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 *

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 *

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}\\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}\\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} 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\",\"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\",\"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\",\"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\",\"js/uti"; -a.a+='l/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","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} array\\n * @param {function(this: THIS, VALUE, number, !IArrayLike): *} 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","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 */\\n\'require base\';\\n\\n\\n/**\\n * @param {!Object} maybeGlobal\\n * @return {!Object} The global object.\\n * @suppress {undefinedVars|reportUnknownTypes}\\n */\\n$jscomp.getGlobal = function(maybeGlobal) {\\n // This logic can be simplified to be made more optimizable.\\n return (typeof window != \'undefined\' && window === maybeGlobal) ?\\n maybeGlobal :\\n (typeof global != \'undefined\' && global != null) ?\\n /** @type {!Object} */ (global) :\\n maybeGlobal;\\n};\\n\\n\\n// TODO(sdh): This should be typed as \\"the global object\\" now that the type\\n// of \\"Global\\" has landed in the type system.\\n/**\\n * The global object. For browsers we could just use `this` but in Node that\\n * doesn\'t work.\\n * @const {?}\\n */\\n$jscomp.global = $jscomp.getGlobal(this);\\n","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","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","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","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","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","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.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.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\\n","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 WARRA'; -a.a+='NTIES 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 ambiguousFunctionDecl,\\\\\\n checkDebuggerStatement,\\\\\\n checkEventfulObjectDisposal,\\\\\\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 fileoverviewTags,\\\\\\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 newCheckTypes,\\\\\\n newCheckTypesAllChecks,\\\\\\n nonStandardJsDocs,\\\\\\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 unusedLocalVariables,\\\\\\n unusedPrivateMembers,\\\\\\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","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.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."}\n'; -return a.a}var fUc="object",gUc="boolean",hUc="number",iUc="function",jUc="string",kUc=2147483647,lUc={351:1,3:1},mUc="use Optional.orNull() instead of Optional.or(null)",nUc={32:1},oUc=65535,pUc={76:1,3:1},qUc="0123456789ABCDEF",rUc={133:1,66:1,48:1},sUc="[A-Z\\d]",tUc=", ",uUc="null",vUc=1108,wUc={16:1,18:1},xUc={3:1,4:1},yUc=1128,zUc={16:1,18:1,53:1},AUc="%s (%s) must not be negative",BUc="index",CUc="negative size: ",DUc={3:1,10:1,4:1},EUc={66:1,134:1,3:1,20:1,11:1,48:1},FUc={16:1},GUc={155:1}, -HUc={97:1,32:1},IUc={97:1,32:1,151:1},JUc={102:1,3:1},KUc={52:1},LUc=1107,MUc={16:1,18:1,35:1},NUc={30:1},OUc="no calls to next() since the last call to remove()",PUc={16:1,18:1,53:1,69:1},QUc={32:1,151:1},RUc={16:1,18:1,35:1,152:1},SUc={16:1,18:1,329:1,35:1,152:1},TUc="occurrences cannot be negative: %s",UUc={165:1,3:1,16:1,18:1},VUc={177:1,51:1},WUc=16384,XUc={86:1},YUc={l:4194303,m:4194303,h:524287},ZUc="unreachable",$Uc={54:1,3:1,16:1,18:1},_Uc={54:1,106:1,3:1,16:1,18:1,53:1,69:1},aVc={3:1,4:1, -94:1},bVc={131:1,3:1,52:1},cVc={54:1,109:1,3:1,16:1,18:1,35:1},dVc={51:1},eVc={640:1,3:1},fVc={155:1,3:1},gVc=461845907,hVc=-862048943,iVc="expectedSize",jVc={3:1,52:1},kVc="value already present: %s",lVc=1073741824,mVc={54:1,165:1,3:1,16:1,18:1},nVc={185:1,30:1},oVc="expectedValuesPerKey",pVc={48:1},qVc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",rVc={443:1,3:1},sVc="Unrecognized character: 0x",tVc="__noinit__",uVc="stack",vVc="\n",wVc=-2147483648,xVc={150:1,3:1},yVc={1103:1}, -zVc="version",AVc=65536,BVc=1114111,CVc=1023,DVc={3:1,40:1,26:1,37:1},EVc="String",FVc="anonymous",GVc="fnStack",HVc="Unknown",IVc=4194303,JVc=1048575,KVc=524288,LVc=4194304,MVc=17592186044416,NVc=4095,OVc=-17592186044416,PVc={223:1},QVc="ERROR",RVc="WARNING",SVc="arguments",TVc="exports",UVc="SUPER",VVc="super",WVc="THIS",XVc="this",YVc="NORMAL",ZVc="OFF",$Vc="Array",_Vc="Error",aWc="Object",bWc="RegExp",cWc={3:1,4:1,24:1},dWc="Number",eWc="Boolean",fWc="Math",gWc="unexpected enum value: %s",hWc= -"$jscomp$async$arguments",iWc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",jWc="Expected a constructor; got %s",kWc={15:1,3:1,4:1},lWc="$jscomp.makeIterator",mWc="$jscomp.asyncExecutePromiseGeneratorFunction",nWc="constructor",oWc="registry is null",pWc="native type not found: %s",qWc="Object.assign",rWc="no jstype: %s",sWc="$jscomp$async$this",tWc="global",uWc="$jscomp",vWc="not a FunctionType: %s",wWc="Arguments",xWc="Type names cannot contain template annotations.",yWc="Expected 0 children, but was ", -zWc="Expected 2 children, but was ",AWc="Expected ",BWc=" children, but was ",CWc="Invalid child for ",DWc=" node",EWc="Expected 1 children, but was ",FWc="Expected unnamed function expression.",GWc="get methods must not have parameters.",HWc="set methods must have exactly one parameter.",IWc="Expected child count in [1, 2], but was ",JWc="Expected non-empty string.",KWc="Expected non-null string.",LWc="Unexpected node type.",MWc="Expected child count in [2, 3], but was ",NWc={46:1},OWc=1000003,PWc= -"prototype",QWc="Missing required properties:",RWc="%20",SWc="%5B",TWc="%5D",UWc="%3C",VWc="%3E",WWc="JSC_LATE_PROVIDE_ERROR",XWc='Required namespace "{0}" not provided yet.',YWc="Module imports must be constant. Please use ''const'' instead of ''let''.",ZWc="goog",$Wc="require",_Wc="module",aXc="get",bXc="forwardDeclare",cXc="requireType",dXc=1144,eXc={22:1},fXc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",gXc="missing require: ''{0}''", -hXc={3:1},iXc="Array.isArray",jXc="goog.addSingletonGetter",kXc="goog$addSingletonGetter",lXc="use strict",mXc="loadModule",nXc="provide",oXc="finally",pXc="return",qXc="Unexpected Node subclass.",rXc="async",sXc="...",tXc="export",uXc="default",vXc="from",wXc="import",xXc="import.meta",yXc="class",zXc="extends",AXc="implements",BXc="while",CXc="new.target",DXc="yield",EXc="false",FXc="true",GXc="continue",HXc="Unexpected token type. Should be LABEL_NAME.",IXc="debugger",JXc="void",KXc="interface", -LXc="enum",MXc="type",NXc="async function",OXc="Expected qualified name, found: %s",PXc="$jscomp.inherits",QXc="No inputs. Did you call init() or initModules()?",RXc="generateReport",SXc=".js",TXc="$weak$",UXc="module$",VXc="toSource",WXc="parseInputs",XXc="es6",YXc="runTranspileOnlyPasses",ZXc="runWhitespaceOnlyPasses",$Xc=32768,_Xc=131072,aYc="goog.declareModuleId",bYc="NONE",cYc="./",dYc="checkTypes",eYc="collapseObjectLiterals",fYc="inlineVariables",gYc="ECMASCRIPT3",hYc="ECMASCRIPT5",iYc="ECMASCRIPT_2018", -jYc="ECMASCRIPT_2019",kYc="UNSUPPORTED",lYc="ALL",mYc="MODULE_EXPORT",nYc={153:1,3:1},oYc={3:1,113:1},pYc="{0}",qYc="reportUnknownTypes",rYc="analyzerChecks",sYc="analyzerChecksInternal",tYc="oldReportUnknownTypes",uYc="newCheckTypes",vYc="newCheckTypesCompatibility",wYc="newCheckTypesExtraChecks",xYc="missingSourcesWarnings",yYc="strictMissingProperties",zYc="strictPrimitiveOperators",AYc="strictCheckTypes",BYc="deprecated",CYc="fileoverviewTags",DYc="missingProperties",EYc="newCheckTypesAllChecks", -FYc="checkEventfulObjectDisposal",GYc="const",HYc="duplicate",IYc="missingRequire",JYc="transitionalSuspiciousCodeWarnings",KYc="polymerBehavior",LYc="duplicateZipContents",MYc={157:1,3:1,20:1,11:1},NYc=134217728,OYc="Only calls to super or to a method of super are supported.",PYc="This should never happen. Did Es6SuperCheck fail to run?",QYc="call",RYc={46:1,22:1},SYc={66:1,48:1},TYc="apply",UYc="RangeError",VYc="Float32Array",WYc="Function",XYc="Generator",YYc="Promise",ZYc="Symbol",$Yc="$jscomp$tmp$error", -_Yc="message",aZc="$jscomp$super$this",bZc="undefined",cZc="next",dZc="value",eZc="es6/symbol",fZc="es6/util/",gZc="makeIterator",hZc="ES5 getters/setters (consider using --language_out=ES5)",iZc="$jscomp$this",jZc="$jscomp$arguments",kZc="enumerable",lZc=-536870912,mZc=2097152,nZc=8388608,oZc="$jscomp$destructuring$var",pZc="$jscomp$generator$function",qZc="$jscomp$generator$context",rZc="jumpTo",sZc="nextAddress",tZc="yieldResult",uZc="$$exports",vZc="$$require",wZc="$$module",xZc="concat",yZc= -536870912,zZc="$jscomp$restParams",AZc="$jscomp$restIndex",BZc="JSC_CANNOT_CONVERT",CZc="$jscomp$",DZc={22:1,330:1},EZc="goog.provide",FZc="goog.module",GZc="goog.require",HZc={1101:1},IZc=1610612736,JZc=".prototype",KZc=".prototype.",LZc=67108864,MZc="CLASS",NZc="FUNCTION",OZc="SUBCLASSING_GET",PZc="expectedKeys",QZc="java.lang.Integer",RZc="java/lang/Integer.impl.java.js",SZc="java.lang.Float",TZc="java/lang/Float.impl.java.js",UZc="goog.math.Long",VZc="closure/goog/math/long.js",WZc="@template ", -XZc=268435456,YZc="@polymerBehavior",ZZc="@customElement",$Zc="@mixinClass",_Zc="@mixinFunction",a$c=1048576,b$c=16777216,c$c=33554432,d$c="throws",e$c={1104:1},f$c="Infinity",g$c="Unexpected node type: ",h$c="goog.loadModule",i$c="typeof",j$c="instanceof",k$c="Unexpected const change.\n name: ",l$c="peepholeOptimizations",m$c="removeUnreachableCode",n$c="JSC_CLOSURE_CALL_CANNOT_BE_ALIASED_ERROR",o$c="module.exports",p$c="__webpack_require__.e",q$c="Promise.all",r$c="$jscomp.AsyncGeneratorWrapper$ActionRecord", -s$c="$jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE",t$c="Cannot prepend declarations to root scope",u$c="$jscomp$asyncIter$this",v$c="$jscomp$asyncIter$arguments",w$c="$jscomp$asyncIter$super$get$",x$c="$jscomp$browser$blacklisted",y$c="/package.json",z$c="es_2019",A$c="$jscomp.polyfill",B$c="Parse error. {0}",C$c="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.", -D$c="Can only have JSDoc or inline type annotations, not both",E$c="Bounded generic semantics are currently still in development",F$c="Trailing comma is not legal in an ECMA-262 object initializer",G$c="msg.bad.jsdoc.tag",H$c={293:1,294:1,3:1},I$c={189:1,3:1,20:1,11:1},J$c="\ufeff",K$c={193:1,1098:1,3:1},L$c={66:1,200:1,3:1,20:1,11:1,48:1},M$c={199:1,3:1,20:1,11:1},N$c="DEFAULT",O$c="{SyntheticVarsDeclar}",P$c="-beginning-",Q$c="Property {0} never defined on {1}",R$c="Property {0} never defined on {1}. Did you mean {2}?", -S$c=" * ",T$c="../",U$c={194:1,3:1,20:1,11:1},V$c={185:1,270:1,3:1,20:1,11:1,30:1},W$c="node_modules/",X$c="es_next",Y$c="symbol",Z$c="JSC_DOES_NOT_HAVE_EXPORT",$$c="CONSTRUCTOR",_$c="ENUM",a_c="EXTENDS",b_c="EXPORT",c_c="IMPLEMENTS",d_c="INTERFACE",e_c="PACKAGE",f_c="PRIVATE",g_c="PROTECTED",h_c="PUBLIC",i_c="RETURN",j_c="TYPE",k_c="package",l_c="private",m_c="protected",n_c="public",o_c="TYPESCRIPT",p_c="static",q_c="This language feature is not currently supported by the compiler: ",r_c="This language feature is only supported for ", -s_c=" mode or better: ",t_c="Invalid octal digit in octal literal.",u_c="Octal integer literals are not supported in strict mode.",v_c="unexpected: ",w_c="__missing_expression__",x_c="unique",y_c="consistent",z_c="Bad type annotation. ",A_c=" See https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler for more information.",B_c="msg.jsdoc.incompat.type",C_c="msg.jsdoc.interface.constructor",D_c="msg.jsdoc.missing.rc",E_c="msg.jsdoc.template.name.redeclaration", -F_c="msg.jsdoc.extra.visibility",G_c="msg.jsdoc.type.syntax",H_c="msg.jsdoc.missing.rp",I_c="msg.jsdoc.idgen.bad",J_c="msg.jsdoc.idgen.duplicate",K_c="msg.jsdoc.modifies",L_c="msg.jsdoc.suppress",M_c="STRING",N_c="ITER_REST",O_c="ANNOTATION",P_c="com.google.javascript.jscomp.parsing.ParserConfig",Q_c="Expected a call node, found %s",R_c="msg.jsdoc.typetransformation.invalid",S_c="msg.jsdoc.typetransformation.invalid.expression",T_c="type transformation",U_c="msg.jsdoc.typetransformation.invalid.inside", -V_c="conditional",W_c="map function",X_c="Expected a function node, found %s",Y_c="msg.jsdoc.typetransformation.missing.param",Z_c="msg.jsdoc.typetransformation.extra.param",$_c="map function body",__c="template type operation",a0c="INSTANCEOF",b0c="unknown",c0c="NEW_TARGET",d0c="FOR_AWAIT_OF",e0c="DYNAMIC_IMPORT",f0c="IMPORT_META",g0c="AMBIENT_DECLARATION",h0c="CALL_SIGNATURE",i0c="INDEX_SIGNATURE",j0c="NAMESPACE_DECLARATION",k0c="OPTIONAL_PARAMETER",l0c="TYPE_ALIAS",m0c="CATCH",n0c="CONTINUE",o0c= -"DEBUGGER",p0c="delete",q0c="FINALLY",r0c="SWITCH",s0c="TYPEOF",t0c="IMPORT",u0c="NULL",v0c="TRUE",w0c="FALSE",x0c="DECLARE",y0c="NAMESPACE",z0c="'%s' expected",A0c="const variables must have an initializer",B0c="destructuring must have an initializer",C0c="No newline allowed before '=>'",D0c="invalid assignment target",E0c="invalid parenthesized expression",F0c="cannot use keyword '%s' here.",G0c="await",H0c="Unterminated template literal",I0c="Invalid escape sequence",J0c="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.", -K0c="Hex digit expected",L0c="Empty unicode escape",M0c="ARRAY_PATTERN",N0c="OBJECT_PATTERN",O0c="ITER_SPREAD",P0c="OBJECT_SPREAD",Q0c="OBJECT_REST",R0c="ARRAY_TYPE",S0c="RECORD_TYPE",T0c="UNION_TYPE",U0c="FUNCTION_TYPE",V0c="GENERIC_TYPE_LIST",W0c=4294967295,X0c="parameters",Y0c="Bit index should be non-negative integer",Z0c="String has leading or trailing whitespace",$0c="The new child node has next siblings.",_0c="The new child node has previous siblings.",a1c="The new child node already has a parent.", -b1c="Should only be called on name or import * nodes. Found %s",c1c="%s is not the parent of %s",d1c="Template Literal String node not created with Node.newTemplateLitString",e1c=" is not a template literal string node",f1c="Number node not created with Node.newNumber",g1c="String node not created with Node.newString",h1c=" is not a string node",i1c="GENERIC_TYPE",j1c="com.google.javascript.rhino.Messages",k1c="STRING_TYPE",l1c="BOOLEAN_TYPE",m1c="NUMBER_TYPE",n1c="IArrayLike",o1c="AsyncIterator", -p1c="AsyncIterable",q1c={23:1,3:1},r1c={23:1,49:1,3:1},s1c={23:1,49:1,110:1,3:1},t1c={135:1,23:1,49:1,110:1,3:1},u1c="VALUE",v1c="Thenable",w1c={23:1,49:1,128:1,3:1},x1c={162:1,3:1,20:1,11:1},y1c="Cannot reuse a `UnionType.Builder` that has already filled.",z1c={3:1,81:1,37:1},A1c='For input string: "',B1c={20:1,196:1},C1c={3:1,16:1,18:1,53:1,69:1},D1c=16777619,E1c={3:1,16:1,18:1,35:1},F1c={3:1,20:1,11:1,144:1},G1c={3:1,4:1,1177:1},H1c={1097:1,1102:1},I1c="Invalid UTF8 sequence",J1c=", length: ", -K1c="fromIndex: ",L1c=", toIndex: ";var _,P0,K0,n0=-1;$wnd.goog=$wnd.goog||{};$wnd.goog.global=$wnd.goog.global||$wnd;Q0();R0(1,null,{},tb);_.zd=function ub(a){return sb(this,a)};_.Ad=function wb(){return this.Ik};_.Bd=function yb(){return YTc(this)};_.Cd=function Ab(){var a;return nAc(xb(this))+"@"+(a=zb(this)>>>0,a.toString(16))};_.equals=function(a){return this.zd(a)};_.hashCode=function(){return this.Bd()};_.toString=function(){return this.Cd()};var fH,gH,hH;R0(464,1,{},pAc);_.nk=function qAc(a){var b; -b=new pAc;b.i=4;a>1?b.c=xAc(this,a-1):b.c=this;return b};_.ok=function wAc(){lAc(this);return this.b};_.ah=function yAc(){return nAc(this)};_.pk=function AAc(){return oAc(this)};_.qk=function CAc(){return(this.i&4)!=0};_.rk=function DAc(){return(this.i&1)!=0};_.Cd=function GAc(){return((this.i&2)!=0?"interface ":(this.i&1)!=0?"":"class ")+(lAc(this),this.p)};_.i=0;_.k=0;var kAc=1;var qZ=sAc(1);var bZ=sAc(464);R0(351,1,lUc);var NH=sAc(351);R0(733,351,lUc,Db);_.zd=function Eb(a){return a===this};_.Dd= -function Fb(){throw p0(new PAc("Optional.get() cannot be called on an absent value"));};_.Bd=function Gb(){return 2040732332};_.Ed=function Hb(){return false};_.Fd=function Ib(a){return Pd(a)};_.Gd=function Jb(a){return Qd(a,mUc)};_.Cd=function Kb(){return"Optional.absent()"};var Bb;var xH=sAc(733);R0(858,1,nUc);_.Id=function Pb(a){uNc(this,a)};_.Jd=function Qb(){return Lb(this)};_.Kd=function Rb(){return Mb(this)};_.Ld=function Sb(){Nb()};_.i=1;var yH=sAc(858);R0(133,1,rUc);_.Md=function Zb(a){return this.Nd(a.a)}; -_.zd=function $b(a){return this===a};_.Od=function ac(a){return this.Nd(a.a)};_.Cd=function bc(){var a;return nAc(this.Ik)+"@"+(a=zb(this)>>>0,a.toString(16))};var IH=sAc(133);R0(856,133,rUc,cc);_.Nd=function dc(a){return KGc(this.a,a)>=0};_.Cd=function ec(){var a,b,c,d,e;e=new ECc('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c>>Cc)==a};var Bc,Cc=0;var HH=sAc(854); -var y_=uAc();R0(96,1,{},Kc);var KH=sAc(96);var kZ=uAc();R0(vUc,1,wUc);_.Vd=function Xc(a){gBc(this,a)};_._d=function _c(){return new COc(this,0)};_.ae=function ad(){return new VSc(null,this._d())};_.Qd=function Sc(a){throw p0(new ICc("Add not supported on this collection"));};_.Rd=function Tc(a){return Mc(this,a)};_.Sd=function Uc(){Oc(this)};_.Td=function Vc(a){return Nc(this,a,false)};_.Ud=function Wc(a){return Pc(this,a)};_.Wd=function Yc(){return this.$d()==0};_.Yd=function Zc(a){return Nc(this, -a,true)};_.Zd=function $c(a){return Qc(this,a)};_.be=function bd(){return this.ce(vG(qZ,xUc,1,this.$d(),5,1))};_.ce=function cd(a){var b,c,d,e;e=this.$d();a.lengthe&&(a[e]=null);return a};_.Cd=function dd(){return Rc(this)};var BZ=sAc(vUc);R0(yUc,vUc,zUc);_._d=function rd(){return new COc(this,16)};_.de=function gd(a,b){throw p0(new ICc("Add not supported on this list"));};_.Qd=function hd(a){this.de(this.$d(),a);return true}; -_.Sd=function jd(){this.ie(0,this.$d())};_.zd=function kd(a){return ed(this,a)};_.Bd=function ld(){return MHc(this)};_.Xd=function md(){return new NDc(this)};_.fe=function nd(){return this.ge(0)};_.ge=function od(a){return new TDc(this,a)};_.he=function pd(a){throw p0(new ICc("Remove not supported on this list"));};_.ie=function qd(a,b){var c,d;d=this.ge(a);for(c=a;c":a)+")"};_.b=false;var aI=sAc(1089);R0(97,1,HUc);_.Id=function wf(a){uNc(this,a)};_.Ld=function xf(){vf()};var pM=sAc(97);R0(1125,97,IUc);_.Ld=function zf(){vf()};_.qe=function yf(a){throw p0(new HCc);};var qM=sAc(1125);R0(272,1125,IUc);_.Jd=function Cf(){return this.c0};_.Kd=function Ef(){return Af(this)};_.se=function Ff(){if(this.c<=0)throw p0(new sOc);return this.ee(--this.c)}; -_.c=0;_.d=0;var bI=sAc(272);R0(716,97,HUc);_.Jd=function If(){return Gf(this)};_.Kd=function Jf(){var a;if(!Gf(this))throw p0(new sOc);this.f=1;a=this.e;this.e=null;return a};_.f=1;var cI=sAc(716);R0(1156,1,{102:1});_.te=function Nf(){var a;return a=this.f,!a?this.f=this.ve():a};_.zd=function Of(a){return Vz(this,a)};_.Bd=function Pf(){return zb(this.te())};_.Wd=function Qf(){return this.$d()==0};_.ye=function Rf(){return Lf(this)};_.Cd=function Sf(){return W0(this.te())};var AI=sAc(1156);R0(519, -1156,JUc);_.Sd=function _f(){Tf(this)};_.ue=function ag(a){return Uf(this,a)};_.ve=function bg(){return new Zg(this,this.c)};_.Be=function cg(a){return this.Ae()};_.we=function dg(){return new Sh(this,this.c)};_.Ce=function eg(){return this.De(this.Ae())};_.xe=function fg(a){return Vf(this,a)};_.ze=function hg(a){return Xf(this,a)};_.$d=function ig(){return this.d};_.De=function jg(a){return JHc(),new MIc(a)};_.Ee=function kg(a,b){return new hi(this,a,b,null)};_.d=0;var sI=sAc(519);R0(911,519,JUc); -_.Ae=function mg(){return this.a.Dd()};_.Ce=function ng(){return JHc(),JHc(),HHc};_.xe=function pg(a){return Vf(this,a)};_.ze=function rg(a){return Xf(this,a)};_.te=function lg(){var a;return a=this.f,!a?this.f=new Zg(this,this.c):a};_.zd=function og(a){return Vz(this,a)};_.Fe=function qg(a){return Vf(this,a)};_.Ge=function sg(a){return Xf(this,a)};_.De=function tg(a){return SHc(a)};_.Ee=function ug(a,b){return Zf(this,a,b,null)};var dI=sAc(911);R0(1126,1,KUc);_.Ke=function Ig(a){qOc(this,a)};_.Sd= -function Dg(){this.Je().Sd()};_.He=function Eg(a){return vg(this,a)};_.ue=function Fg(a){return!!yg(this,a,false)};_.Ie=function Gg(a){var b,c,d;for(c=this.Je().Xd();c.Jd();){b=c.Kd();d=b.gf();if(rH(a)===rH(d)||a!=null&&vb(a,d))return true}return false};_.zd=function Hg(a){return wg(this,a)};_.Le=function Jg(a){return Kg(yg(this,a,false))};_.Bd=function Lg(){return LHc(this.Je())};_.Wd=function Mg(){return this.$d()==0};_.ye=function Ng(){return new bEc(this)};_.Me=function Og(a,b){throw p0(new ICc("Put not supported on this map")); -};_.Ne=function Pg(a){return Kg(yg(this,a,true))};_.$d=function Qg(){return this.Je().$d()};_.Cd=function Rg(){return Bg(this)};_.Oe=function Sg(){return new mEc(this)};var QZ=sAc(1126);R0(1157,1126,KUc);_.Je=function Tg(){var a;a=this.c;return!a?this.c=this.Pe():a};_.ye=function Ug(){var a;a=this.d;return!a?this.d=new Kh(this):a};_.Oe=function Vg(){var a;a=this.e;return!a?this.e=new uz(this):a};var lL=sAc(1157);R0(249,1157,KUc,Zg);_.Le=function dh(a){return Wg(this,a)};_.Ne=function gh(a){return Xg(this, -a)};_.Sd=function $g(){this.a==this.b.c?this.b.Sd():Hv(new Fh(this))};_.ue=function _g(a){return cz(this.a,a)};_.Qe=function ah(){return new xh(this)};_.Pe=function(){return this.Qe()};_.zd=function bh(a){return this===a||wg(this.a,a)};_.Bd=function eh(){return LHc(this.a.Je())};_.ye=function fh(){return this.b.ye()};_.$d=function hh(){return this.a.$d()};_.Cd=function ih(){return Bg(this.a)};var hI=sAc(249);R0(LUc,vUc,MUc);_._d=function oh(){return new COc(this,1)};_.zd=function lh(a){return jh(this, -a)};_.Bd=function mh(){return LHc(this)};_.Zd=function nh(a){return kh(this,a)};var XZ=sAc(LUc);R0(1135,LUc,MUc);_.Zd=function ph(a){return nB(this,a)};var WL=sAc(1135);R0(1136,1135,MUc);_.Sd=function rh(){this.Re().Sd()};_.Td=function sh(a){return qh(this,a)};_.Wd=function th(){return this.Re().Wd()};_.Yd=function uh(a){var b;if(this.Td(a)){b=a;return this.Re().ye().Yd(b.ff())}return false};_.Zd=function vh(b){try{return nB(this,Pd(b))}catch(a){a=o0(a);if(lH(a,28))return oB(this,b.Xd());else throw p0(a); -}};_.$d=function wh(){return this.Re().$d()};var eL=sAc(1136);R0(917,1136,MUc,xh);_.Td=function yh(a){return $l(this.a.a.Je(),a)};_.Xd=function zh(){return new Fh(this.a)};_.Re=function Ah(){return this.a};_.Yd=function Bh(a){var b;if(!$l(this.a.a.Je(),a))return false;b=a;Yf(this.a.b,b.ff());return true};_._d=function Ch(){return tl(this.a.a.Je()._d(),new Dh(this.a))};var fI=sAc(917);R0(918,1,NUc,Dh);_.Pd=function Eh(a){return Yg(this.a,a)};var eI=sAc(918);R0(526,1,nUc,Fh);_.Id=function Gh(a){uNc(this, -a)};_.Kd=function Ih(){var a;return a=this.b.Kd(),this.a=a.gf(),Yg(this.c,a)};_.Jd=function Hh(){return this.b.Jd()};_.Ld=function Jh(){Vd(!!this.a,OUc);this.b.Ld();this.c.b.d-=this.a.$d();this.a.Sd();this.a=null};var gI=sAc(526);R0(286,1135,MUc,Kh);_.Sd=function Lh(){this.b.Sd()};_.Td=function Mh(a){return this.b.ue(a)};_.Vd=function Nh(a){Pd(a);this.b.Ke(new sz(a))};_.Wd=function Oh(){return this.b.Wd()};_.Xd=function Ph(){return new hz(this.b.Je().Xd())};_.Yd=function Qh(a){if(this.b.ue(a)){this.b.Ne(a); -return true}return false};_.$d=function Rh(){return this.b.$d()};var iL=sAc(286);R0(306,286,MUc,Sh);_.Sd=function Th(){var a;Hv((a=this.b.Je().Xd(),new $h(this,a)))};_.Ud=function Uh(a){return this.b.ye().Ud(a)};_.zd=function Vh(a){return this===a||vb(this.b.ye(),a)};_.Bd=function Wh(){return zb(this.b.ye())};_.Xd=function Xh(){var a;return a=this.b.Je().Xd(),new $h(this,a)};_.Yd=function Yh(a){var b,c;c=0;b=this.b.Ne(a);if(b){c=b.$d();b.Sd();this.a.d-=c}return c>0};_._d=function Zh(){return this.b.ye()._d()}; -var jI=sAc(306);R0(527,1,nUc,$h);_.Id=function _h(a){uNc(this,a)};_.Jd=function ai(){return this.c.Jd()};_.Kd=function bi(){this.a=this.c.Kd();return this.a.ff()};_.Ld=function ci(){var a;Vd(!!this.a,OUc);a=this.a.gf();this.c.Ld();this.b.a.d-=a.$d();a.Sd();this.a=null};var iI=sAc(527);R0(305,vUc,wUc,hi);_.Qd=function ii(a){var b,c;ei(this);c=this.d.Wd();b=this.d.Qd(a);if(b){++this.f.d;c&&di(this)}return b};_.Rd=function ji(a){var b,c,d;if(a.Wd())return false;d=(ei(this),this.d.$d());b=this.d.Rd(a); +a.a+='Element() {}\\n\\n\\n/** @type {HTMLCollection} */\\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}\\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} */\\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} */\\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}\\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}\\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}\\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}\\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}\\n */\\nHTMLSlotElement.prototype.assignedNodes = function(options) {};\\n\\n/**\\n * @param {!AssignedNodesOptions=} options\\n * @return {!Array}\\n */\\nHTMLSlotElement.prototype.assignedElements = function(options) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.composed;\\n\\n/**\\n * @return {!Array}\\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} */\\nStorageManager.prototype.persisted = function() {};\\n\\n/** @return {!Promise} */\\nStorageManager.prototype.persist = function() {};\\n\\n/** @return {!Promise} */\\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","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 {boo'; +a.a+='lean}\\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","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(robadurbin): 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,!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|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}\\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.}\\n */\\nIntersectionObserver.prototype.takeRecords = function() {};\\n","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","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 http://goo.gl/blgtZZ EME draft 12 March 2015}.\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {{contentType: string, robustness: string}}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemmediacapability-dictionary\\n */\\nvar MediaKeySystemMediaCapability;\\n\\n\\n/** @typedef {{\\n * label: (string|undefined),\\n * initDataTypes: (!Array|undefined),\\n * audioCapabilities: (!Array|undefined),\\n * videoCapabilities: (!Array|undefined),\\n * distinctiveIdentifier: (string|undefined),\\n * persistentState: (string|undefined),\\n * sessionTypes: (!Array|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} supportedConfigurations\\n * @return {!Promise}\\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/#widl-HTMLMediaElement-setMediaKeys-Promise-void--MediaKeys-mediaKeys\\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} */\\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'; +a.a+=', 1 is the value.\\n * @return {!Iterator>}\\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}\\n */\\nMediaKeyStatusMap.prototype.keys = function() {};\\n\\n\\n/**\\n * @return {!Iterator}\\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}}\\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/**\\n * @override\\n */\\nMediaKeySession.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n */\\nMediaKeySession.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaKeySession.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\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 */\\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","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} */\\nMediaSource.prototype.sourceBuffers;\\n\\n/** @type {Array} */\\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","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","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}\\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>}\\n * @param {(string|!Array|!Object)=}\\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>}\\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}\\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","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 * 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","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, so'; +a.a+='ftware\\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","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","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","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","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","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}\\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 * @deprecated Use BaseAudioContext#createSpatialPanner or BaseAudioContext#createStereoPanner\\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}\\n */\\nBaseAudioContext.prototype.resume = function() {};\\n\\n/**\\n * @return {!Promise}\\n */\\nBaseAudioContext.prototype.suspend = function() {};\\n\\n/**\\n * @return {!Promise}\\n */\\nBaseAudioContext.prototype.close = function() {};\\n\\n/** @type {?function(!Event)} */\\nBaseAudioContext.prototype.onstatechange;\\n\\n/**\\n * @param {string} scriptURL\\n * @return {!Promise}\\n */\\nBaseAudioContext.prototype.createAudioWorker = function(scriptURL) {};\\n\\n/**\\n * @param {!IArrayLike} feedforward\\n * @param {!IArrayLike} 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 * @dep'; +a.a+="recated 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}\\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} */\\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=} 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=} 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} */\\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=} 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 SpatialList"; +a.a+='ener\\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","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","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}\\n * @see http://www.w3.org/TR/battery-status/\\n */\\nNavigator.prototype.getBattery = function() {};\\n","externs/w3c_clipboard.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 Declaration of the asynchronous clipboard Web API.\\n * @externs\\n */\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/clipboard-apis/#async-clipboard-api\\n */\\nfunction Clipboard() {}\\n\\n/**\\n * @return {!Promise}\\n */\\nClipboard.prototype.readText = function() {};\\n\\n/**\\n * @param {string} text\\n * @return {!Promise}\\n */\\nClipboard.prototype.writeText = function(text) {};\\n\\n/** @const {!Clipboard} */\\nNavigator.prototype.clipboard;\\n","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} cance'; +a.a+='lableArg\\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","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","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","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.}\\n */\\nnavigator.getGamepads = function() {};\\n\\n/**\\n * @return {!Array.}\\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.}\\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.|!Array.)}\\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","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.protot'; +a.a+="ype.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\",\"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} */\\nGeolocationCoordinates.prototype.altitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitudeAccuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.heading;\\n/** @type {number} */\\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\",\"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|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|!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} 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 * @cons"; +a.a+='t {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","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.}\\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","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} */ Performan'; +a.a+="ceNavigationTiming.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} */\\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} 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} 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 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/**\\n * @record\\n */\\nfunction PerformanceObserverInit() {}\\n\\n/** @type {undefined|!Array} */\\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} */\\nPerformanceObserverEntryList.prototype.getEntries = function() {};\\n/**\\n * @param {string} type\\n * @return {!Array}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByName = function(type) {};\\n/**\\n * @param {string} name\\n * @param {string=} opt_type\\n * @return {!Array}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByType = function(\\n name, opt_type) {};\\n\",\"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\",\"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/**\\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\",\"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}\\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\",\"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"; +a.a+='\\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}\\n */\\nPointerEvent.prototype.getCoalescedEvents = function() {};\\n\\n","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","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","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} */\\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} */\\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} */\\nMediaTrackCapabilities.prototype.whiteBalanceMode;\\n\\n/** @type {!Array} */\\nMediaTrackCapabilities.prototype.exposureMode;\\n\\n/** @type {!Array} */\\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.protot'; +a.a+='ype.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} 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=} 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(bemasc): 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}\\n */\\nMediaStream.prototype.getAudioTracks = function() {};\\n\\n/**\\n * @return {!Array}\\n */\\nMediaStream.prototype.getVideoTracks = function() {};\\n\\n/**\\n * @return {!Array}\\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(bemasc): 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 * @interface\\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}\\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}\\n */\\nRTCRtpSender.prototype.setParameters = function(params) {};\\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}\\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}\\n */\\nRTCRtpReceiver.prototype.getContributingSources = function() {};\\n\\n/**\\n * @return {!Array}\\n */\\nRTCRtpReceiver.prototype.getSynchronizationSources = function() {};\\n\\n/**\\n * Chrome extension to control jitter buffer delay.\\n * @see https://github.com/henbos/webrtc-timing/issues/1\\n * @type {?number|undefined}\\n */\\nRTCRtpReceiver.prototype.jitterBufferDelayHint;\\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|undefined}\\n */\\nRTCRtpTransceiverInit.prototype.streams;\\n\\n/**\\n * @type {?Array|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 * @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|undefined}\\n */\\nConstrainDOMStringParameters.prototype.exact;\\n\\n/**\\n * @type {string|Array|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|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|undefined}\\n */\\nMediaTrackConstraints.prototype.advanced;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints\\n * @record\\n '; +a.a+='*/\\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}\\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}\\n */\\nImageCapture.prototype.takePhoto = function(photoSettings) {};\\n\\n/**\\n * @return {!Promise}\\n */\\nImageCapture.prototype.getPhotoCapabilities = function() {};\\n\\n/**\\n * @return {!Promise}\\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}\\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>}\\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}\\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}\\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(bemasc): 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}}\\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}\\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,\\n * sdpSemantics: (string|undefined)\\n * }}\\n * @private\\n */\\nvar RTCConfigurationRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCConfigurationInterface_() {}\\n\\n/**\\n * @type {!Array}\\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 * @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 RTCStreamStats() {}\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.ssrc;\\n\\n/** @const {string} */\\nRTCStreamStats.prototype.kind;\\n\\n/** @const {string} */\\nRTCStreamStats.prototype.transportId;\\n\\n/** @const {string} */\\nRTCStreamStats.prototype.codecId;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.firCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.pliCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.nackCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.sliCount;\\n\\n/** @const {number} */\\nRTCStreamStats.prototype.qpSum;\\n\\n/**\\n * @interface\\n */\\nfunction RTCStatsReport() {}\\n\\n/**\\n * @const {?Date|number}\\n */\\nRTCStatsReport.prototype.timestamp;\\n\\n/**\\n * @return {!Array}\\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>}\\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}\\n */\\nRTCStatsReport.prototype.keys = function() {};\\n\\n/**\\n * @return {!IteratorIterable}\\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>}\\n */\\nRTCStatsReport.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * TODO(bemasc): 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}\\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(bemasc): 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 *'; +a.a+=' @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(bemasc): 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}\\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 */\\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 {?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 {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}\\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|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|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}\\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}\\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 * @return {!Array}\\n */\\nRTCPeerConnection.prototype.getLocalStreams = function() {};\\n\\n/**\\n * @return {!Array}\\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}\\n */\\nRTCPeerConnection.prototype.getSenders = function() {};\\n\\n/**\\n * @return {!Array}\\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}\\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(bemasc): Add identity provider stuff once implementations exist\\n\\n// TODO(rjogrady): 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}\\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","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)=)}\\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","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}\\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","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}\\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}\\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(se'; +a.a+="lectors) {};\\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\",\"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} */\\nNavigationPreloadManager.prototype.enable = function() {};\\n\\n/** @return {!Promise} */\\nNavigationPreloadManager.prototype.disable = function() {};\\n\\n/**\\n * @param {string=} value\\n * @return {!Promise}\\n */\\nNavigationPreloadManager.prototype.setHeaderValue = function(value) {};\\n\\n/** @return {!Promise} */\\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} */\\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}\\n */\\nPushManager.prototype.subscribe = function(opt_options) {};\\n\\n/** @return {!Promise} */\\nPushManager.prototype.getSubscription = function() {};\\n\\n/** @return {!Promise} */\\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}\\n */\\nSyncManager.prototype.register = function(tag) {}\\n\\n/**\\n * @return {!Promise>}\\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} */\\nServiceWorkerRegistration.prototype.unregister = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerRegistration.prototype.onupdatefound;\\n\\n/** @return {!Promise} */\\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}\\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>}\\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} */\\nServiceWorkerContainer.prototype.ready;\\n\\n/**\\n * @param {string} scriptURL\\n * @param {RegistrationOptions=} opt_options\\n * @return {!Promise}\\n */\\nServiceWorkerContainer.prototype.register = function(scriptURL, opt_options) {};\\n\\n/**\\n * @param {string=} opt_documentURL\\n * @return {!Promise}\\n */\\nServiceWorkerContainer.prototype.getRegistration = function(opt_documentURL) {};\\n\\n/**\\n * @return {!Promise>}\\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} */\\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} */\\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|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}\\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>}\\n */\\nServiceWorkerClients.prototype.getAll = function(opt_options) {};\\n\\n/**\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise>}\\n */\\nServiceWorkerClients.prototype.matchAll = function(opt_options) {};\\n\\n/**\\n * @return {!Promise}\\n */\\nServiceWorkerClients.prototype.claim = function() {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise}\\n */\\nServiceWorkerClients.prototype.openWindow = function(url) {};\\n\\n/**\\n * @param {string} id\\n * @return {!Promise}\\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}\\n */\\nCache.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise>}\\n */\\nCache.prototype.matchAll = function(opt_request, opt_options) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @return {!Promise}\\n */\\nCache.prototype.add = function(request) {};\\n\\n/**\\n * @param {!Array} requests\\n * @return {!Promise}\\n */\\nCache.prototype.addAll = function(requests) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {!Response} response\\n * @return {!Promise}\\n */\\nCache.prototype.put = function(request, response) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise}\\n */\\nCache.prototype.delete = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise>}\\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}\\n */\\nCacheStorage.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise}\\n */\\nCacheStorage.prototype.has = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise}\\n */\\nCacheStorage.prototype.open = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise}\\n */\\nCacheStorage.prototype.delete = function(cacheName) {};\\n\\n/** @return {!Promise>} */\\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 "; +a.a+='= 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}\\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)} r\\n * @return {undefined}\\n */\\nFetchEvent.prototype.respondWith = function(r) {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise}\\n */\\nFetchEvent.prototype.forwardTo = function(url) {};\\n\\n/**\\n * @return {!Promise}\\n */\\nFetchEvent.prototype.default = function() {};\\n\\n/**\\n * @typedef {{\\n * bubbles: (boolean|undefined),\\n * cancelable: (boolean|undefined),\\n * request: (!Request|undefined),\\n * preloadResponse: (!Promise),\\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=} 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} */\\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|undefined} */\\nExtendableMessageEventInit.prototype.ports;\\n","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}\\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","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}\\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(i'; +a.a+='ndex) {};\\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} 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} */\\nTouchEventInit.prototype.touches;\\n\\n/** @type {undefined|!Array} */\\nTouchEventInit.prototype.targetTouches;\\n\\n/** @type {undefined|!Array} */\\nTouchEventInit.prototype.changedTouches;\\n\\n/**\\n * The TouchEvent class encapsulates information about a touch event.\\n *\\n *

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 *

\\n *\\n *

The different types of TouchEvent objects that can occur are:\\n *

    \\n *
  • touchstart - Sent when a finger for a given event touches the surface.\\n *
  • touchmove - Sent when a given event moves on the surface.\\n *
  • touchend - Sent when a given event lifts from the surface.\\n *
  • touchcancel - Sent when the system cancels tracking for the touch.\\n *
\\n * TouchEvent objects are combined together to form high-level GestureEvent\\n * objects that are also sent during a multi-touch sequence.

\\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","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}\\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","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} 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} 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} 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} 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} 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} 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} 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} keyUsages Indication of new key options i.e.\\n * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n * unwrapKey.\\n * @return {!Promise} 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}'; +a.a+=' 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} keyUsages Indicates what can be done with the\\n * derivated key.\\n * @return {!Promise} 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} 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} keyUsages Indication of new key options i.e.\\n * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n * unwrapKey.\\n * @return {!Promise} 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} 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} 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} keyUsages Indicates what can be done with the\\n * derivated key.\\n * @return {!Promise} 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","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 *'; +a.a+='/\\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>}\\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}\\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","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","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}\\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} */\\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} */\\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>)} 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>)} 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}\\n */\\nDocumentTimeline.prototype.getAnimations = function() {};\\n\\n\\n/**\\n * @param {!Array} 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} */\\nSequenceEffect.prototype.children;\\n\\n\\n/**\\n * @param {!Array} 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} */\\nGroupEffect.prototype.children;\\n","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|undefined),\\n * timestamp: (number|undefined),\\n * renotify: (boolean|undefined),\\n * silent: (boolean|undefined),\\n * requireInteraction: (boolean|undefined),\\n * data: (*|undefined),\\n * actions: (!Array|undefined),\\n * }}\\n * T'; +a.a+='ODO(rsk): 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}\\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","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}\\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","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'; +a.a+=" {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\\"; +a.a+="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.p"; +a.a+="rototype.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}\\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}\\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 * @nosideef"; +a.a+="fects\\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} 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|Array} 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} 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|Array} 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} 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|Array} 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} 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|Array} 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} 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} 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} 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} 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} 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} 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} 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.preferLowPowerToHighPerformance;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.failIfMajorPerformanceCaveat;\\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_s3"; +a.a+='tc.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} 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","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 {num'; +a.a+="ber} */\\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/**"; +a.a+=" @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} attachments\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.invalidateFramebuffer = function(\\n target, attachments) {};\\n\\n/**\\n * @param {number} target\\n * @param {!Array} 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 = "; +a.a+="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} 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} 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} 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} 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|?Array} 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|?Array} 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|?Array} 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|?Array} 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|!Array} 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|!Array} 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|!Array} 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|!Array} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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|!Array} 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|!Array} 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} buffers\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.drawBuffers = function(buffers) {};\\n\\n\\n/**\\n * @param {number} buffer\\n * @param {number} drawbu"; +a.a+="ffer\\n * @param {!Float32Array|!Array} 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|!Array} 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|!Array} 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} 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} uniformNames\\n * @return {!Array}\\n */\\nWebGL2RenderingContext.prototype.getUniformIndices = function(\\n program, uniformNames) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {!Array} 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\",\"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>|!Object}\\n * @see https://fetch.spec.whatwg.org/#headersinit\\n */\\nvar HeadersInit;\\n\\n\\n/**\\n * @param {!HeadersInit=} opt_headersInit\\n * @constructor\\n * @implements {Iterable>}\\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>} */\\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}\\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} */\\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} */\\nHeaders.prototype.values = function() {};\\n\\n/** @return {!Iterator>} */\\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} */\\nBody.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Promise} */\\nBody.prototype.blob = function() {};\\n\\n/** @return {!Promise} */\\nBody.prototype.formData = function() {};\\n\\n/** @return {!Promise<*>} */\\nBody.prototype.json = function() {};\\n\\n/** @return {!Promise} */\\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"; +a.a+=" */\\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} */\\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}\\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}\\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}\\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\",\"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}\\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}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-to\\n */\\nReadableStream.prototype.pipeTo = function(dest, opt_options) {};\\n\\n/**\\n * @return {!Array}\\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}\\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}\\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}\\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}\\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}\\n * @see https://streams.spec.whatwg.org/#ws-abort\\n */\\nWritableStream.prototype.abort = function(reason) {};\\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}\\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}\\n * @s"; +a.a+='ee https://streams.spec.whatwg.org/#default-writer-ready\\n */\\nWritableStreamDefaultWriter.prototype.ready;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise}\\n * @see https://streams.spec.whatwg.org/#default-writer-abort\\n */\\nWritableStreamDefaultWriter.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!Promise}\\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}\\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}\\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","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","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} */\\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","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 * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/** @const */\\nvar $jscomp = $jscomp || {};\\n\\n/** @const Locals for goog.scope */\\n$jscomp.scope = {};\\n","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","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}\\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} 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","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}\\n * @return {!IteratorIterable>}\\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","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}\\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} 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","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}\\n * @param {function(this: THIS, VALUE, number, !IArrayLike): *}\\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","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 wr'; +a.a+="iting, 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}\\n * @param {function(this: THIS, VALUE, number, !IArrayLike): *}\\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\",\"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}\\n * @this {!IArrayLike}\\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\",\"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): !Array} callback\\n * @param {THIS=} thisArg\\n * @return {!Array}\\n * @this {!IArrayLike}\\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\",\"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 *

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|!Iterable} 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}\\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\",\"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}\\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\",\"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}\\n */\\n var polyfill = function() {\\n return $jscomp.iteratorFromArray(this, function(i) { return i; });\\n };\\n\\n return polyfill;\\n}, 'es6', 'es3');\\n\",\"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 *

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}\\n * @template T\\n */\\n var polyfill = function(var_args) {\\n return Array.from(arguments);\\n };\\n\\n return polyfill;\\n}, 'es6', 'es3');\\n\",\"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}\\n * @return {!IteratorIterable}\\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\",\"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';\\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)} 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)} */\\n this.resolve = resolve;\\n /** @type {function(?)} */\\n this.reject = reject;\\n};\\n\\n/**\\n * @param {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_} frame\\n * The frame at this position in the queue\\n * @param {$jscomp.AsyncGeneratorWrapper$ExecutionNode_} 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_} */\\n this.frame = frame;\\n /** @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_} */\\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_}\\n * @private\\n */\\n this.head_ = null;\\n\\n /**\\n"; +a.a+=" *\\n * @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_}\\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_}\\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_} 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}\\n * @implements {AsyncIterable}\\n * @template VALUE\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper = function(\\n /** @type {!Generator<$jscomp.AsyncGeneratorWrapper$ActionRecord>} */\\n generator) {\\n /** @private */\\n this.generator_ = generator;\\n\\n /**\\n * @private\\n * @type {AsyncIterator}\\n */\\n this.delegate_ = null;\\n\\n /**\\n * @type {!$jscomp.AsyncGeneratorWrapper$ExecutionQueue_}\\n * @private\\n */\\n this.executionQueue_ = new $jscomp.AsyncGeneratorWrapper$ExecutionQueue_();\\n\\n $jscomp.initSymbolAsyncIterator();\\n\\n /** @type {$jscomp.AsyncGeneratorWrapper} */\\n this[Symbol.asyncIterator] =\\n /** @return {$jscomp.AsyncGeneratorWrapper} */ function() {\\n return this;\\n };\\n\\n var self = this;\\n\\n /**\\n * @this {undefined}\\n * @param {!IIterableResult} 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>}\\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>}\\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>}\\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>}\\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} 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\",\"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\",\"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'require base';\\n'require es6/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(g"; +a.a+="eneratorFunction) {\\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\",\"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}\\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 *

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 *

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 *

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 *

\\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   * 
\\n   *\\n   * @private\\n   * @type {?Array}.\\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|!Iterable|!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} */ 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}\\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";
+a.a+=" {!Array}\\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 * 

for (var i in obj) {...} becomes:\\n *

\\n * for (var i, $for$in = context$.forIn(obj);\\n *      (i = $for$in.getNext()) != null;\\n *      ) {\\n *   ...\\n * }\\n * 
\\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}\\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): (void|{value: VALUE})} program\\n */\\n$jscomp.generator.Engine_ = function(program) {\\n /**\\n * @private\\n * @const\\n * @type {!$jscomp.generator.Context}\\n */\\n this.context_ = new $jscomp.generator.Context();\\n\\n /**\\n * @private\\n * @const\\n * @type {function(!$jscomp.generator.Context): (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}\\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}\\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} */ 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}\\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, T): !IIterableResult} action\\n * @param {T} value\\n * @param {function(this:$jscomp.generator.Context, VALUE): void} nextAction\\n * @return {!IIterableResult}\\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} */ (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}\\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}\\n * @param {!$jscomp.generator.Engine_} 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_} */\\n this[Symbol.iterator] = function() {\\n return this;\\n };\\n\\n // TODO(skill): 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|!Iterable)} generator\\n * @param {function(!$jscomp.generator.Context): (void|{value: VALUE})} program\\n * @return {!Generator}\\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\",\"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} */\\n this.previous;\\n /** @type {!$jscomp.MapEntry} */\\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 */ 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} */\\n var idMap = new WeakMap();\\n\\n\\n /**\\n * Polyfill for the global Map data type.\\n * @constructor\\n * @struct\\n * @extends {Map}\\n * @implements {Iterable>}\\n * @template KEY, VALUE\\n * @param {!Iterable>|!Array>|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>>} */\\n this.data_ = {};\\n\\n /** @private {!$jscomp.MapEntry} */\\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>} */ (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("; +a.a+="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 */ 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 */ 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 */ 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} map\\n * @param {KEY} key\\n * @return {{id: string,\\n * list: (!Array>|undefined),\\n * index: number,\\n * entry: (!$jscomp.MapEntry|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} map\\n * @param {function(!$jscomp.MapEntry): T} func\\n * @return {!IteratorIterable}\\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}\\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} */ ({});\\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\",\"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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 t"; +a.a+="he 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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 /**"; +a.a+=" @type {!Module} */\\n this.module = module;\\n /** @type {string} */\\n this.path = path;\\n /** @const {!Set} */\\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} */\\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>}\\n */\\nvar ensureMap = new Map();\\n\\n\\n/**\\n * @param {!Set} 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} 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=} 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 */ 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}\\n */\\nfunction getTransitiveBlockingDepsOf(moduleId) {\\n var cacheEntry = moduleCache.get(moduleId);\\n var /** !Set */ 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>} */\\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} 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\",\"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\",\"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\",\"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 *

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 *

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 *

Polyfills the static field Number.MIN_SAFE_INTEGER.\\n */\\n return -0x1fffffffffffff;\\n}, 'es6', 'es3');\\n\",\"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 *

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\",\"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 *

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)) re"; +a.a+="turn false;\\n return x === Math.floor(x);\\n };\\n\\n return polyfill;\\n}, 'es6', 'es3');\\n\",\"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 *

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\",\"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 *

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\",\"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\",\"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\",\"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\",\"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\",\"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} obj\\n * @return {!Array>}\\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\",\"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>} */ (\\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\",\"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}\\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\",\"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\",\"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\",\"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\",\"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} obj\\n * @return {!Array}\\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\",\"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 */"; +a.a+="\\n\\n/**\\n * @fileoverview Brings in all Promise polyfills.\\n */\\n'require es6/promise/promise';\\n'require es6/promise/finally';\\n\",\"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}\\n * @param {function():?} onFinally\\n * @return {!Promise}\\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\",\"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}\\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 */ 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|Thenable|null)=),\\n * function(*=))} executor\\n * @constructor\\n * @extends {Promise}\\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}\\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 *

After the resolve or reject function has been called once, later calls\\n * do nothing.\\n * @private\\n * @return {{\\n * resolve: function((TYPE|IThenable|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, 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|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(r"; +a.a+="esultsArray.length - 1), rejectAll);\\n iterRec = iterator.next();\\n } while (!iterRec.done);\\n });\\n }\\n };\\n\\n return PolyfillPromise;\\n}, 'es6', 'es3');\\n\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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\",\"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 "; +a.a+="* 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\",\"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\",\"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\",\"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}\\n * @implements {Iterable}\\n * @template KEY, VALUE\\n * @param {!Iterable|!Array|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} */\\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} */ (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\",\"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/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\",\"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 *

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\",\"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 *

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\",\"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 *

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\",\"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 *

Polyfills the inst"; +a.a+="ance 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\",\"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\",\"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\",\"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 *

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\",\"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 *

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\",\"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\",\"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\",\"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} next\\n * @return {!IteratorIterable}\\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\",\"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|!Iterable|!Arguments} iterable\\n * @return {!Array}\\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\",\"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} iterator\\n * @return {!Array}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.arrayFromIterator = function(iterator) {\\n var i;\\n var arr = [];\\n while (!(i = it"; +a.a+='erator.next()).done) {\\n arr.push(i.value);\\n }\\n return arr;\\n};\\n","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} array\\n * @return {function():!IIterableResult}\\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} array\\n * @return {!Iterator}\\n * @template T\\n */\\n$jscomp.arrayIterator = function(array) {\\n return /** @type {!Iterator} */ ({next: $jscomp.arrayIteratorImpl(array)});\\n};\\n\\n","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","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","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 *

\\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 * 
\\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","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} array\\n * @param {function(number, INPUT): OUTPUT} transform\\n * @return {!IteratorIterable}\\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","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|!Iterable|!Iterator|!Arguments} iterable\\n * @return {!AsyncIteratorIterable}\\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|!Iterator|!Arguments} */\\n (iterable)));\\n};\\n\\n/**\\n *\\n * @param {!Iterator} iterator\\n * @constructor\\n * @implements {AsyncIteratorIterable}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncIteratorFromSyncWrapper = function(iterator) {\\n /**\\n * @return {!AsyncIterator}\\n */\\n this[Symbol.asyncIterator] = function() {\\n return this;\\n };\\n\\n /**\\n * @return {!Iterator>>}\\n */\\n this[Symbol.iterator] = function() {\\n return iterator;\\n };\\n\\n /**\\n * @param {?=} param\\n * @return {!Promise>}\\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>}\\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>}\\n */\\n this[\'return\'] = function(param) {\\n return Promise.resolve(iterator[\'return\'](param));\\n };\\n }\\n};\\n","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|!Iterator|!Arguments} iterable\\n * @return {!Iterator}\\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","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 = (ty'; +a.a+="peof 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\",\"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}\\n * @template KEY, VALUE\\n * @param {!Iterator>|!Array>|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\",\"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}\\n * @template TYPE\\n * @param {!Iterator|!Array|null=} opt_iterable\\n */\\n var PolyfillWeakSet = function(opt_iterable) {\\n /** @private @const {!WeakMap} */\\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\",\"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 * @author ochafik@google.com (Olivier Chafik)\\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\",\"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/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/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\",\"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\",\"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 * @author moedinger@google.com (Andrew Moedinger)\\n * @author nadaa@google.com (Nada Amin)\\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} 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.suspendC"; +a.a+="hecking = 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 '';\\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 *

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 *

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}\\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}\\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} 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\",\"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\",\"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\",\"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\",\"js/util/finddescriptor.js\":\"/*\\n * Copyright 2016 The Closu"; +a.a+='re 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","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} array\\n * @param {function(this: THIS, VALUE, number, !IArrayLike): *} 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","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 */\\n\'require base\';\\n\\n\\n/**\\n * @param {!Object} maybeGlobal\\n * @return {!Object} The global object.\\n * @suppress {undefinedVars|reportUnknownTypes}\\n */\\n$jscomp.getGlobal = function(maybeGlobal) {\\n // This logic can be simplified to be made more optimizable.\\n return (typeof window != \'undefined\' && window === maybeGlobal) ?\\n maybeGlobal :\\n (typeof global != \'undefined\' && global != null) ?\\n /** @type {!Object} */ (global) :\\n maybeGlobal;\\n};\\n\\n\\n// TODO(sdh): This should be typed as \\"the global object\\" now that the type\\n// of \\"Global\\" has landed in the type system.\\n/**\\n * The global object. For browsers we could just use `this` but in Node that\\n * doesn\'t work.\\n * @const {?}\\n */\\n$jscomp.global = $jscomp.getGlobal(this);\\n","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","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","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","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","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","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.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.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\\n","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 im'; +a.a+='plied.\\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 ambiguousFunctionDecl,\\\\\\n checkDebuggerStatement,\\\\\\n checkEventfulObjectDisposal,\\\\\\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 fileoverviewTags,\\\\\\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 newCheckTypes,\\\\\\n newCheckTypesAllChecks,\\\\\\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 unusedLocalVariables,\\\\\\n unusedPrivateMembers,\\\\\\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","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.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."}\n'; +return a.a}var hUc="object",iUc="boolean",jUc="number",kUc="function",lUc="string",mUc=2147483647,nUc={351:1,3:1},oUc="use Optional.orNull() instead of Optional.or(null)",pUc={32:1},qUc=65535,rUc={77:1,3:1},sUc="0123456789ABCDEF",tUc={133:1,66:1,48:1},uUc="[A-Z\\d]",vUc=", ",wUc="null",xUc=1109,yUc={16:1,18:1},zUc={3:1,4:1},AUc=1129,BUc={16:1,18:1,53:1},CUc="%s (%s) must not be negative",DUc="index",EUc="negative size: ",FUc={3:1,10:1,4:1},GUc={66:1,134:1,3:1,20:1,11:1,48:1},HUc={16:1},IUc={155:1}, +JUc={97:1,32:1},KUc={97:1,32:1,151:1},LUc={102:1,3:1},MUc={52:1},NUc=1108,OUc={16:1,18:1,35:1},PUc={30:1},QUc="no calls to next() since the last call to remove()",RUc={16:1,18:1,53:1,69:1},SUc={32:1,151:1},TUc={16:1,18:1,35:1,152:1},UUc={16:1,18:1,329:1,35:1,152:1},VUc="occurrences cannot be negative: %s",WUc={164:1,3:1,16:1,18:1},XUc={176:1,51:1},YUc=16384,ZUc={87:1},$Uc={l:4194303,m:4194303,h:524287},_Uc="unreachable",aVc={54:1,3:1,16:1,18:1},bVc={54:1,106:1,3:1,16:1,18:1,53:1,69:1},cVc={3:1,4:1, +94:1},dVc={131:1,3:1,52:1},eVc={54:1,109:1,3:1,16:1,18:1,35:1},fVc={51:1},gVc={640:1,3:1},hVc={155:1,3:1},iVc=461845907,jVc=-862048943,kVc="expectedSize",lVc={3:1,52:1},mVc="value already present: %s",nVc=1073741824,oVc={54:1,164:1,3:1,16:1,18:1},pVc={185:1,30:1},qVc="expectedValuesPerKey",rVc={48:1},sVc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tVc={443:1,3:1},uVc="Unrecognized character: 0x",vVc="__noinit__",wVc="stack",xVc="\n",yVc=-2147483648,zVc={150:1,3:1},AVc={1104:1}, +BVc="version",CVc=65536,DVc=1114111,EVc=1023,FVc={3:1,40:1,26:1,37:1},GVc="String",HVc="anonymous",IVc="fnStack",JVc="Unknown",KVc=4194303,LVc=1048575,MVc=524288,NVc=4194304,OVc=17592186044416,PVc=4095,QVc=-17592186044416,RVc={223:1},SVc="ERROR",TVc="WARNING",UVc="arguments",VVc="exports",WVc="SUPER",XVc="super",YVc="THIS",ZVc="this",$Vc="NORMAL",_Vc="OFF",aWc="Array",bWc="Error",cWc="Object",dWc="RegExp",eWc={3:1,4:1,24:1},fWc="Number",gWc="Boolean",hWc="Math",iWc="unexpected enum value: %s",jWc= +"$jscomp$async$arguments",kWc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",lWc="Expected a constructor; got %s",mWc={15:1,3:1,4:1},nWc="$jscomp.makeIterator",oWc="$jscomp.asyncExecutePromiseGeneratorFunction",pWc="constructor",qWc="registry is null",rWc="native type not found: %s",sWc="Object.assign",tWc="no jstype: %s",uWc="$jscomp$async$this",vWc="global",wWc="$jscomp",xWc="not a FunctionType: %s",yWc="Arguments",zWc="Type names cannot contain template annotations.",AWc="Expected 0 children, but was ", +BWc="Expected 2 children, but was ",CWc="Expected ",DWc=" children, but was ",EWc="Invalid child for ",FWc=" node",GWc="Expected 1 children, but was ",HWc="Expected unnamed function expression.",IWc="get methods must not have parameters.",JWc="set methods must have exactly one parameter.",KWc="Expected child count in [1, 2], but was ",LWc="Expected non-empty string.",MWc="Expected non-null string.",NWc="Unexpected node type.",OWc="Expected child count in [2, 3], but was ",PWc={46:1},QWc=1000003,RWc= +"prototype",SWc="Missing required properties:",TWc="%20",UWc="%5B",VWc="%5D",WWc="%3C",XWc="%3E",YWc="JSC_LATE_PROVIDE_ERROR",ZWc='Required namespace "{0}" not provided yet.',$Wc="Module imports must be constant. Please use ''const'' instead of ''let''.",_Wc="goog",aXc="require",bXc="module",cXc="get",dXc="forwardDeclare",eXc="requireType",fXc=1145,gXc={22:1},hXc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",iXc="missing require: ''{0}''", +jXc={3:1},kXc="Array.isArray",lXc="goog.addSingletonGetter",mXc="goog$addSingletonGetter",nXc="use strict",oXc="loadModule",pXc="provide",qXc="finally",rXc="return",sXc="Unexpected Node subclass.",tXc="async",uXc="...",vXc="export",wXc="default",xXc="from",yXc="import",zXc="import.meta",AXc="class",BXc="extends",CXc="implements",DXc="while",EXc="new.target",FXc="yield",GXc="false",HXc="true",IXc="continue",JXc="Unexpected token type. Should be LABEL_NAME.",KXc="debugger",LXc="void",MXc="interface", +NXc="enum",OXc="type",PXc="async function",QXc="Expected qualified name, found: %s",RXc="$jscomp.inherits",SXc="No inputs. Did you call init() or initModules()?",TXc="generateReport",UXc=".js",VXc="$weak$",WXc="module$",XXc="toSource",YXc="parseInputs",ZXc="es6",$Xc="runTranspileOnlyPasses",_Xc="runWhitespaceOnlyPasses",aYc=32768,bYc=131072,cYc="goog.declareModuleId",dYc="NONE",eYc="./",fYc="checkTypes",gYc="collapseObjectLiterals",hYc="inlineVariables",iYc="ECMASCRIPT3",jYc="ECMASCRIPT5",kYc="ECMASCRIPT_2018", +lYc="ECMASCRIPT_2019",mYc="UNSUPPORTED",nYc="ALL",oYc="MODULE_EXPORT",pYc={153:1,3:1},qYc={3:1,113:1},rYc="{0}",sYc="reportUnknownTypes",tYc="analyzerChecks",uYc="analyzerChecksInternal",vYc="oldReportUnknownTypes",wYc="newCheckTypes",xYc="newCheckTypesCompatibility",yYc="newCheckTypesExtraChecks",zYc="missingSourcesWarnings",AYc="strictMissingProperties",BYc="strictPrimitiveOperators",CYc="strictCheckTypes",DYc="deprecated",EYc="fileoverviewTags",FYc="missingProperties",GYc="newCheckTypesAllChecks", +HYc="checkEventfulObjectDisposal",IYc="const",JYc="duplicate",KYc="missingRequire",LYc="transitionalSuspiciousCodeWarnings",MYc="polymerBehavior",NYc="duplicateZipContents",OYc={157:1,3:1,20:1,11:1},PYc=134217728,QYc="Only calls to super or to a method of super are supported.",RYc="This should never happen. Did Es6SuperCheck fail to run?",SYc="call",TYc={46:1,22:1},UYc={66:1,48:1},VYc="apply",WYc="RangeError",XYc="Float32Array",YYc="Function",ZYc="Generator",$Yc="Promise",_Yc="Symbol",aZc="$jscomp$tmp$error", +bZc="message",cZc="$jscomp$super$this",dZc="undefined",eZc="next",fZc="value",gZc="es6/symbol",hZc="es6/util/",iZc="makeIterator",jZc="ES5 getters/setters (consider using --language_out=ES5)",kZc="$jscomp$this",lZc="$jscomp$arguments",mZc="enumerable",nZc=-536870912,oZc=2097152,pZc=8388608,qZc="$jscomp$destructuring$var",rZc="$jscomp$generator$function",sZc="$jscomp$generator$context",tZc="jumpTo",uZc="nextAddress",vZc="yieldResult",wZc="$$exports",xZc="$$require",yZc="$$module",zZc="concat",AZc= +536870912,BZc="$jscomp$restParams",CZc="$jscomp$restIndex",DZc="JSC_CANNOT_CONVERT",EZc="$jscomp$",FZc={22:1,330:1},GZc="goog.provide",HZc="goog.module",IZc="goog.require",JZc={1102:1},KZc=1610612736,LZc=".prototype",MZc=".prototype.",NZc=67108864,OZc="CLASS",PZc="FUNCTION",QZc="SUBCLASSING_GET",RZc="expectedKeys",SZc="java.lang.Integer",TZc="java/lang/Integer.impl.java.js",UZc="java.lang.Float",VZc="java/lang/Float.impl.java.js",WZc="goog.math.Long",XZc="closure/goog/math/long.js",YZc="@template ", +ZZc=268435456,$Zc="@polymerBehavior",_Zc="@customElement",a$c="@mixinClass",b$c="@mixinFunction",c$c=1048576,d$c=16777216,e$c=33554432,f$c="throws",g$c={1105:1},h$c="Infinity",i$c="Unexpected node type: ",j$c="goog.loadModule",k$c="typeof",l$c="instanceof",m$c="Unexpected const change.\n name: ",n$c="peepholeOptimizations",o$c="removeUnreachableCode",p$c="JSC_CLOSURE_CALL_CANNOT_BE_ALIASED_ERROR",q$c="module.exports",r$c="__webpack_require__.e",s$c="Promise.all",t$c="$jscomp.AsyncGeneratorWrapper$ActionRecord", +u$c="$jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE",v$c="Cannot prepend declarations to root scope",w$c="$jscomp$asyncIter$this",x$c="$jscomp$asyncIter$arguments",y$c="$jscomp$asyncIter$super$get$",z$c="$jscomp$browser$blacklisted",A$c="/package.json",B$c="es_2019",C$c="$jscomp.polyfill",D$c="Parse error. {0}",E$c="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.", +F$c="Can only have JSDoc or inline type annotations, not both",G$c="Bounded generic semantics are currently still in development",H$c="Trailing comma is not legal in an ECMA-262 object initializer",I$c="msg.bad.jsdoc.tag",J$c={293:1,294:1,3:1},K$c={189:1,3:1,20:1,11:1},L$c="\ufeff",M$c={193:1,1099:1,3:1},N$c={66:1,200:1,3:1,20:1,11:1,48:1},O$c={199:1,3:1,20:1,11:1},P$c="DEFAULT",Q$c="{SyntheticVarsDeclar}",R$c="-beginning-",S$c="Property {0} never defined on {1}",T$c="Property {0} never defined on {1}. Did you mean {2}?", +U$c=" * ",V$c="../",W$c={194:1,3:1,20:1,11:1},X$c={185:1,270:1,3:1,20:1,11:1,30:1},Y$c="node_modules/",Z$c="es_next",$$c="symbol",_$c="JSC_DOES_NOT_HAVE_EXPORT",a_c="CONSTRUCTOR",b_c="ENUM",c_c="EXTENDS",d_c="EXPORT",e_c="IMPLEMENTS",f_c="INTERFACE",g_c="PACKAGE",h_c="PRIVATE",i_c="PROTECTED",j_c="PUBLIC",k_c="RETURN",l_c="TYPE",m_c="package",n_c="private",o_c="protected",p_c="public",q_c="TYPESCRIPT",r_c="static",s_c="This language feature is not currently supported by the compiler: ",t_c="This language feature is only supported for ", +u_c=" mode or better: ",v_c="Invalid octal digit in octal literal.",w_c="Octal integer literals are not supported in strict mode.",x_c="unexpected: ",y_c="__missing_expression__",z_c="unique",A_c="consistent",B_c="Bad type annotation. ",C_c=" See https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler for more information.",D_c="msg.jsdoc.incompat.type",E_c="msg.jsdoc.interface.constructor",F_c="msg.jsdoc.missing.rc",G_c="msg.jsdoc.template.name.redeclaration", +H_c="msg.jsdoc.extra.visibility",I_c="msg.jsdoc.type.syntax",J_c="msg.jsdoc.missing.rp",K_c="msg.jsdoc.idgen.bad",L_c="msg.jsdoc.idgen.duplicate",M_c="msg.jsdoc.modifies",N_c="msg.jsdoc.suppress",O_c="STRING",P_c="ITER_REST",Q_c="ANNOTATION",R_c="com.google.javascript.jscomp.parsing.ParserConfig",S_c="Expected a call node, found %s",T_c="msg.jsdoc.typetransformation.invalid",U_c="msg.jsdoc.typetransformation.invalid.expression",V_c="type transformation",W_c="msg.jsdoc.typetransformation.invalid.inside", +X_c="conditional",Y_c="map function",Z_c="Expected a function node, found %s",$_c="msg.jsdoc.typetransformation.missing.param",__c="msg.jsdoc.typetransformation.extra.param",a0c="map function body",b0c="template type operation",c0c="INSTANCEOF",d0c="unknown",e0c="NEW_TARGET",f0c="FOR_AWAIT_OF",g0c="DYNAMIC_IMPORT",h0c="IMPORT_META",i0c="AMBIENT_DECLARATION",j0c="CALL_SIGNATURE",k0c="INDEX_SIGNATURE",l0c="NAMESPACE_DECLARATION",m0c="OPTIONAL_PARAMETER",n0c="TYPE_ALIAS",o0c="CATCH",p0c="CONTINUE",q0c= +"DEBUGGER",r0c="delete",s0c="FINALLY",t0c="SWITCH",u0c="TYPEOF",v0c="IMPORT",w0c="NULL",x0c="TRUE",y0c="FALSE",z0c="DECLARE",A0c="NAMESPACE",B0c="'%s' expected",C0c="const variables must have an initializer",D0c="destructuring must have an initializer",E0c="No newline allowed before '=>'",F0c="invalid assignment target",G0c="invalid parenthesized expression",H0c="cannot use keyword '%s' here.",I0c="await",J0c="Unterminated template literal",K0c="Invalid escape sequence",L0c="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.", +M0c="Hex digit expected",N0c="Empty unicode escape",O0c="ARRAY_PATTERN",P0c="OBJECT_PATTERN",Q0c="ITER_SPREAD",R0c="OBJECT_SPREAD",S0c="OBJECT_REST",T0c="ARRAY_TYPE",U0c="RECORD_TYPE",V0c="UNION_TYPE",W0c="FUNCTION_TYPE",X0c="GENERIC_TYPE_LIST",Y0c=4294967295,Z0c="parameters",$0c="Bit index should be non-negative integer",_0c="String has leading or trailing whitespace",a1c="The new child node has next siblings.",b1c="The new child node has previous siblings.",c1c="The new child node already has a parent.", +d1c="Should only be called on name or import * nodes. Found %s",e1c="%s is not the parent of %s",f1c="Template Literal String node not created with Node.newTemplateLitString",g1c=" is not a template literal string node",h1c="Number node not created with Node.newNumber",i1c="String node not created with Node.newString",j1c=" is not a string node",k1c="GENERIC_TYPE",l1c="com.google.javascript.rhino.Messages",m1c="STRING_TYPE",n1c="BOOLEAN_TYPE",o1c="NUMBER_TYPE",p1c="IArrayLike",q1c="AsyncIterator", +r1c="AsyncIterable",s1c={23:1,3:1},t1c={23:1,49:1,3:1},u1c={23:1,49:1,110:1,3:1},v1c={135:1,23:1,49:1,110:1,3:1},w1c="VALUE",x1c="Thenable",y1c={23:1,49:1,128:1,3:1},z1c={162:1,3:1,20:1,11:1},A1c="Cannot reuse a `UnionType.Builder` that has already filled.",B1c={3:1,81:1,37:1},C1c='For input string: "',D1c={20:1,196:1},E1c={3:1,16:1,18:1,53:1,69:1},F1c=16777619,G1c={3:1,16:1,18:1,35:1},H1c={3:1,20:1,11:1,144:1},I1c={3:1,4:1,1178:1},J1c={1098:1,1103:1},K1c="Invalid UTF8 sequence",L1c=", length: ", +M1c="fromIndex: ",N1c=", toIndex: ";var _,Q0,L0,o0=-1;$wnd.goog=$wnd.goog||{};$wnd.goog.global=$wnd.goog.global||$wnd;R0();S0(1,null,{},tb);_.zd=function ub(a){return sb(this,a)};_.Ad=function wb(){return this.Ik};_.Bd=function yb(){return $Tc(this)};_.Cd=function Ab(){var a;return pAc(xb(this))+"@"+(a=zb(this)>>>0,a.toString(16))};_.equals=function(a){return this.zd(a)};_.hashCode=function(){return this.Bd()};_.toString=function(){return this.Cd()};var fH,gH,hH;S0(464,1,{},rAc);_.nk=function sAc(a){var b; +b=new rAc;b.i=4;a>1?b.c=zAc(this,a-1):b.c=this;return b};_.ok=function yAc(){nAc(this);return this.b};_.ah=function AAc(){return pAc(this)};_.pk=function CAc(){return qAc(this)};_.qk=function EAc(){return(this.i&4)!=0};_.rk=function FAc(){return(this.i&1)!=0};_.Cd=function IAc(){return((this.i&2)!=0?"interface ":(this.i&1)!=0?"":"class ")+(nAc(this),this.p)};_.i=0;_.k=0;var mAc=1;var rZ=uAc(1);var cZ=uAc(464);S0(351,1,nUc);var NH=uAc(351);S0(733,351,nUc,Db);_.zd=function Eb(a){return a===this};_.Dd= +function Fb(){throw q0(new RAc("Optional.get() cannot be called on an absent value"));};_.Bd=function Gb(){return 2040732332};_.Ed=function Hb(){return false};_.Fd=function Ib(a){return Pd(a)};_.Gd=function Jb(a){return Qd(a,oUc)};_.Cd=function Kb(){return"Optional.absent()"};var Bb;var xH=uAc(733);S0(858,1,pUc);_.Id=function Pb(a){wNc(this,a)};_.Jd=function Qb(){return Lb(this)};_.Kd=function Rb(){return Mb(this)};_.Ld=function Sb(){Nb()};_.i=1;var yH=uAc(858);S0(133,1,tUc);_.Md=function Zb(a){return this.Nd(a.a)}; +_.zd=function $b(a){return this===a};_.Od=function ac(a){return this.Nd(a.a)};_.Cd=function bc(){var a;return pAc(this.Ik)+"@"+(a=zb(this)>>>0,a.toString(16))};var IH=uAc(133);S0(856,133,tUc,cc);_.Nd=function dc(a){return MGc(this.a,a)>=0};_.Cd=function ec(){var a,b,c,d,e;e=new GCc('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c>>Cc)==a};var Bc,Cc=0;var HH=uAc(854); +var z_=wAc();S0(96,1,{},Kc);var KH=uAc(96);var lZ=wAc();S0(xUc,1,yUc);_.Vd=function Xc(a){iBc(this,a)};_._d=function _c(){return new EOc(this,0)};_.ae=function ad(){return new XSc(null,this._d())};_.Qd=function Sc(a){throw q0(new KCc("Add not supported on this collection"));};_.Rd=function Tc(a){return Mc(this,a)};_.Sd=function Uc(){Oc(this)};_.Td=function Vc(a){return Nc(this,a,false)};_.Ud=function Wc(a){return Pc(this,a)};_.Wd=function Yc(){return this.$d()==0};_.Yd=function Zc(a){return Nc(this, +a,true)};_.Zd=function $c(a){return Qc(this,a)};_.be=function bd(){return this.ce(vG(rZ,zUc,1,this.$d(),5,1))};_.ce=function cd(a){var b,c,d,e;e=this.$d();a.lengthe&&(a[e]=null);return a};_.Cd=function dd(){return Rc(this)};var CZ=uAc(xUc);S0(AUc,xUc,BUc);_._d=function rd(){return new EOc(this,16)};_.de=function gd(a,b){throw q0(new KCc("Add not supported on this list"));};_.Qd=function hd(a){this.de(this.$d(),a);return true}; +_.Sd=function jd(){this.ie(0,this.$d())};_.zd=function kd(a){return ed(this,a)};_.Bd=function ld(){return OHc(this)};_.Xd=function md(){return new PDc(this)};_.fe=function nd(){return this.ge(0)};_.ge=function od(a){return new VDc(this,a)};_.he=function pd(a){throw q0(new KCc("Remove not supported on this list"));};_.ie=function qd(a,b){var c,d;d=this.ge(a);for(c=a;c":a)+")"};_.b=false;var aI=uAc(1090);S0(97,1,JUc);_.Id=function wf(a){wNc(this,a)};_.Ld=function xf(){vf()};var pM=uAc(97);S0(1126,97,KUc);_.Ld=function zf(){vf()};_.qe=function yf(a){throw q0(new JCc);};var qM=uAc(1126);S0(272,1126,KUc);_.Jd=function Cf(){return this.c0};_.Kd=function Ef(){return Af(this)};_.se=function Ff(){if(this.c<=0)throw q0(new uOc);return this.ee(--this.c)}; +_.c=0;_.d=0;var bI=uAc(272);S0(716,97,JUc);_.Jd=function If(){return Gf(this)};_.Kd=function Jf(){var a;if(!Gf(this))throw q0(new uOc);this.f=1;a=this.e;this.e=null;return a};_.f=1;var cI=uAc(716);S0(1157,1,{102:1});_.te=function Nf(){var a;return a=this.f,!a?this.f=this.ve():a};_.zd=function Of(a){return Vz(this,a)};_.Bd=function Pf(){return zb(this.te())};_.Wd=function Qf(){return this.$d()==0};_.ye=function Rf(){return Lf(this)};_.Cd=function Sf(){return X0(this.te())};var AI=uAc(1157);S0(519, +1157,LUc);_.Sd=function _f(){Tf(this)};_.ue=function ag(a){return Uf(this,a)};_.ve=function bg(){return new Zg(this,this.c)};_.Be=function cg(a){return this.Ae()};_.we=function dg(){return new Sh(this,this.c)};_.Ce=function eg(){return this.De(this.Ae())};_.xe=function fg(a){return Vf(this,a)};_.ze=function hg(a){return Xf(this,a)};_.$d=function ig(){return this.d};_.De=function jg(a){return LHc(),new OIc(a)};_.Ee=function kg(a,b){return new hi(this,a,b,null)};_.d=0;var sI=uAc(519);S0(911,519,LUc); +_.Ae=function mg(){return this.a.Dd()};_.Ce=function ng(){return LHc(),LHc(),JHc};_.xe=function pg(a){return Vf(this,a)};_.ze=function rg(a){return Xf(this,a)};_.te=function lg(){var a;return a=this.f,!a?this.f=new Zg(this,this.c):a};_.zd=function og(a){return Vz(this,a)};_.Fe=function qg(a){return Vf(this,a)};_.Ge=function sg(a){return Xf(this,a)};_.De=function tg(a){return UHc(a)};_.Ee=function ug(a,b){return Zf(this,a,b,null)};var dI=uAc(911);S0(1127,1,MUc);_.Ke=function Ig(a){sOc(this,a)};_.Sd= +function Dg(){this.Je().Sd()};_.He=function Eg(a){return vg(this,a)};_.ue=function Fg(a){return!!yg(this,a,false)};_.Ie=function Gg(a){var b,c,d;for(c=this.Je().Xd();c.Jd();){b=c.Kd();d=b.gf();if(rH(a)===rH(d)||a!=null&&vb(a,d))return true}return false};_.zd=function Hg(a){return wg(this,a)};_.Le=function Jg(a){return Kg(yg(this,a,false))};_.Bd=function Lg(){return NHc(this.Je())};_.Wd=function Mg(){return this.$d()==0};_.ye=function Ng(){return new dEc(this)};_.Me=function Og(a,b){throw q0(new KCc("Put not supported on this map")); +};_.Ne=function Pg(a){return Kg(yg(this,a,true))};_.$d=function Qg(){return this.Je().$d()};_.Cd=function Rg(){return Bg(this)};_.Oe=function Sg(){return new oEc(this)};var RZ=uAc(1127);S0(1158,1127,MUc);_.Je=function Tg(){var a;a=this.c;return!a?this.c=this.Pe():a};_.ye=function Ug(){var a;a=this.d;return!a?this.d=new Kh(this):a};_.Oe=function Vg(){var a;a=this.e;return!a?this.e=new uz(this):a};var lL=uAc(1158);S0(249,1158,MUc,Zg);_.Le=function dh(a){return Wg(this,a)};_.Ne=function gh(a){return Xg(this, +a)};_.Sd=function $g(){this.a==this.b.c?this.b.Sd():Hv(new Fh(this))};_.ue=function _g(a){return cz(this.a,a)};_.Qe=function ah(){return new xh(this)};_.Pe=function(){return this.Qe()};_.zd=function bh(a){return this===a||wg(this.a,a)};_.Bd=function eh(){return NHc(this.a.Je())};_.ye=function fh(){return this.b.ye()};_.$d=function hh(){return this.a.$d()};_.Cd=function ih(){return Bg(this.a)};var hI=uAc(249);S0(NUc,xUc,OUc);_._d=function oh(){return new EOc(this,1)};_.zd=function lh(a){return jh(this, +a)};_.Bd=function mh(){return NHc(this)};_.Zd=function nh(a){return kh(this,a)};var YZ=uAc(NUc);S0(1136,NUc,OUc);_.Zd=function ph(a){return nB(this,a)};var WL=uAc(1136);S0(1137,1136,OUc);_.Sd=function rh(){this.Re().Sd()};_.Td=function sh(a){return qh(this,a)};_.Wd=function th(){return this.Re().Wd()};_.Yd=function uh(a){var b;if(this.Td(a)){b=a;return this.Re().ye().Yd(b.ff())}return false};_.Zd=function vh(b){try{return nB(this,Pd(b))}catch(a){a=p0(a);if(lH(a,28))return oB(this,b.Xd());else throw q0(a); +}};_.$d=function wh(){return this.Re().$d()};var eL=uAc(1137);S0(917,1137,OUc,xh);_.Td=function yh(a){return $l(this.a.a.Je(),a)};_.Xd=function zh(){return new Fh(this.a)};_.Re=function Ah(){return this.a};_.Yd=function Bh(a){var b;if(!$l(this.a.a.Je(),a))return false;b=a;Yf(this.a.b,b.ff());return true};_._d=function Ch(){return tl(this.a.a.Je()._d(),new Dh(this.a))};var fI=uAc(917);S0(918,1,PUc,Dh);_.Pd=function Eh(a){return Yg(this.a,a)};var eI=uAc(918);S0(526,1,pUc,Fh);_.Id=function Gh(a){wNc(this, +a)};_.Kd=function Ih(){var a;return a=this.b.Kd(),this.a=a.gf(),Yg(this.c,a)};_.Jd=function Hh(){return this.b.Jd()};_.Ld=function Jh(){Vd(!!this.a,QUc);this.b.Ld();this.c.b.d-=this.a.$d();this.a.Sd();this.a=null};var gI=uAc(526);S0(286,1136,OUc,Kh);_.Sd=function Lh(){this.b.Sd()};_.Td=function Mh(a){return this.b.ue(a)};_.Vd=function Nh(a){Pd(a);this.b.Ke(new sz(a))};_.Wd=function Oh(){return this.b.Wd()};_.Xd=function Ph(){return new hz(this.b.Je().Xd())};_.Yd=function Qh(a){if(this.b.ue(a)){this.b.Ne(a); +return true}return false};_.$d=function Rh(){return this.b.$d()};var iL=uAc(286);S0(306,286,OUc,Sh);_.Sd=function Th(){var a;Hv((a=this.b.Je().Xd(),new $h(this,a)))};_.Ud=function Uh(a){return this.b.ye().Ud(a)};_.zd=function Vh(a){return this===a||vb(this.b.ye(),a)};_.Bd=function Wh(){return zb(this.b.ye())};_.Xd=function Xh(){var a;return a=this.b.Je().Xd(),new $h(this,a)};_.Yd=function Yh(a){var b,c;c=0;b=this.b.Ne(a);if(b){c=b.$d();b.Sd();this.a.d-=c}return c>0};_._d=function Zh(){return this.b.ye()._d()}; +var jI=uAc(306);S0(527,1,pUc,$h);_.Id=function _h(a){wNc(this,a)};_.Jd=function ai(){return this.c.Jd()};_.Kd=function bi(){this.a=this.c.Kd();return this.a.ff()};_.Ld=function ci(){var a;Vd(!!this.a,QUc);a=this.a.gf();this.c.Ld();this.b.a.d-=a.$d();a.Sd();this.a=null};var iI=uAc(527);S0(305,xUc,yUc,hi);_.Qd=function ii(a){var b,c;ei(this);c=this.d.Wd();b=this.d.Qd(a);if(b){++this.f.d;c&&di(this)}return b};_.Rd=function ji(a){var b,c,d;if(a.Wd())return false;d=(ei(this),this.d.$d());b=this.d.Rd(a); if(b){c=this.d.$d();this.f.d+=c-d;d==0&&di(this)}return b};_.Sd=function ki(){var a;a=(ei(this),this.d.$d());if(a==0)return;this.d.Sd();this.f.d-=a;fi(this)};_.Td=function li(a){ei(this);return this.d.Td(a)};_.Ud=function mi(a){ei(this);return this.d.Ud(a)};_.zd=function ni(a){if(a===this)return true;ei(this);return vb(this.d,a)};_.Bd=function oi(){ei(this);return zb(this.d)};_.Xd=function pi(){ei(this);return new Hi(this)};_.Yd=function qi(a){var b;ei(this);b=this.d.Yd(a);if(b){--this.f.d;fi(this)}return b}; -_.Zd=function ri(a){var b,c,d;if(a.Wd())return false;d=(ei(this),this.d.$d());b=this.d.Zd(a);if(b){c=this.d.$d();this.f.d+=c-d;fi(this)}return b};_.$d=function si(){return gi(this)};_._d=function ti(){return ei(this),this.d._d()};_.Cd=function ui(){ei(this);return W0(this.d)};var mI=sAc(305);R0(524,305,zUc,vi);_._d=function Bi(){return ei(this),this.d._d()};_.de=function wi(a,b){var c;ei(this);c=this.d.Wd();this.d.de(a,b);++this.a.d;c&&di(this)};_.ee=function xi(a){ei(this);return this.d.ee(a)};_.fe= -function yi(){ei(this);return new Ni(this)};_.ge=function zi(a){ei(this);return new Oi(this,a)};_.he=function Ai(a){var b;ei(this);b=this.d.he(a);--this.a.d;fi(this);return b};_.je=function Ci(a,b){ei(this);return Zf(this.a,this.e,this.d.je(a,b),!this.b?this:this.b)};var oI=sAc(524);R0(916,524,PUc,Di);var kI=sAc(916);R0(398,1,nUc,Hi);_.Id=function Ji(a){uNc(this,a)};_.Jd=function Ki(){Gi(this);return this.b.Jd()};_.Kd=function Li(){Gi(this);return this.b.Kd()};_.Ld=function Mi(){Fi(this)};var lI= -sAc(398);R0(525,398,QUc,Ni,Oi);_.Ld=function Si(){Fi(this)};_.qe=function Pi(a){var b;b=gi(this.a)==0;(Gi(this),this.b).qe(a);++this.a.a.d;b&&di(this.a)};_.re=function Qi(){return(Gi(this),this.b).re()};_.se=function Ri(){return(Gi(this),this.b).se()};var nI=sAc(525);R0(523,305,RUc,Ti);_._d=function Wi(){return ei(this),this.d._d()};_.Se=function Ui(){return this.Te().Se()};_.Te=function Vi(){return this.d};var rI=sAc(523);R0(915,523,SUc,Xi);_.Te=function Yi(){return this.d};var pI=sAc(915);R0(522, -305,MUc,Zi);_._d=function _i(){return ei(this),this.d._d()};_.Zd=function $i(a){var b,c,d;if(a.Wd())return false;d=(ei(this),this.d.$d());b=nB(this.d,a);if(b){c=this.d.$d();this.a.d+=c-d;fi(this)}return b};var qI=sAc(522);R0(1151,vUc,{165:1,16:1,18:1});_.Vd=function kj(a){Pd(a);this.Je().Vd(new AA(a))};_.$e=function lj(a){Pd(a);this.Je().Vd(new yA(a))};_._d=function tj(){var a;return a=this.Je()._d(),ql(a,new LA,64|a.rf()&1296,this.$d())};_.Qd=function dj(a){return this.Ue(a,1),true};_.Ue=function ej(a, -b){throw p0(new HCc);};_.Rd=function fj(a){return Pd(this),Pd(a),lH(a,165)?CA(this,a):!a.Wd()&&Fv(this,a.Xd())};_.Td=function gj(a){return this.Ve(a)>0};_.Ye=function hj(){return aj(this)};_.Je=function ij(){return bj(this)};_.zd=function jj(a){return DA(this,a)};_.Bd=function mj(){return zb(this.Je())};_.Wd=function nj(){return this.Je().Wd()};_.Yd=function oj(a){return this._e(a,1)>0};_._e=function pj(a,b){throw p0(new HCc);};_.Zd=function qj(a){return cj(this,a)};_.af=function rj(a,b){var c,d; -return pl(b,"count"),c=this.Ve(a),d=b-c,d>0?this.Ue(a,d):d<0&&this._e(a,-d),c};_.bf=function sj(a,b,c){return FA(this,a,b,c)};_.Cd=function uj(){return W0(this.Je())};var DI=sAc(1151);R0(389,1151,UUc);_.Ue=function zj(a,b){return vj(this,a,b)};_.Sd=function Aj(){var a,b,c,d;for(c=(d=(new mEc(this.a)).a.Je().Xd(),new rEc(d));c.a.Jd();){b=(a=c.a.Kd(),a.gf());b.a=0}this.a.Sd();this.b=0};_.Ve=function Bj(a){return wj(this,a)};_.We=function Cj(){return this.a.$d()};_.Xe=function Dj(){var a;a=this.a.Je().Xd(); -return new Mj(this,a)};_.Ze=function Ej(){var a;a=this.a.Je().Xd();return new Rj(this,a)};_.Je=function Fj(){return bj(this)};_.$e=function Gj(a){Pd(a);qOc(this.a,new fk(a))};_.Xd=function Ij(){return new ak(this)};_._e=function Jj(a,b){var c,d,e,f;if(b==0)return d=dz(this.a,a),!d?0:d.a;Jd(b>0,TUc,b);c=this.a.Le(a);if(!c)return 0;f=c.a;if(f>b)e=b;else{e=f;this.a.Ne(a)}c.a+=-e;this.b=E0(this.b,e);return f};_.af=function Kj(a,b){return xj(this,a,b)};_.$d=function Lj(){return RD(this.b)};_.b=0;var yI= -sAc(389);R0(890,1,nUc,Mj);_.Id=function Nj(a){uNc(this,a)};_.Jd=function Oj(){return this.c.Jd()};_.Kd=function Pj(){var a;a=this.c.Kd();this.b=a;return a.ff()};_.Ld=function Qj(){Vd(!!this.b,OUc);this.a.b=E0(this.a.b,im(this.b.gf(),0));this.c.Ld();this.b=null};var tI=sAc(890);R0(891,1,nUc,Rj);_.Id=function Sj(a){uNc(this,a)};_.Kd=function Uj(){var a;return a=this.c.Kd(),this.b=a,new Zj(this,a)};_.Jd=function Tj(){return this.c.Jd()};_.Ld=function Vj(){Vd(!!this.b,OUc);this.a.b=E0(this.a.b,im(this.b.gf(), -0));this.c.Ld();this.b=null};var vI=sAc(891);var CL=uAc();R0(1152,1,{221:1});_.zd=function Wj(a){var b;if(lH(a,221)){b=a;return this.cf()==b.cf()&&Cd(this.df(),b.df())}return false};_.Bd=function Xj(){var a;a=this.df();return(a==null?0:zb(a))^this.cf()};_.Cd=function Yj(){var a,b;b=nCc(this.df());a=this.cf();return a==1?b:b+" x "+a};var GL=sAc(1152);R0(892,1152,{221:1},Zj);_.cf=function $j(){var a,b;a=this.b.gf();if(!a||a.a==0){b=this.a.a.a.Le(this.b.ff());if(b)return b.a}return!a?0:a.a};_.df=function _j(){return this.b.ff()}; -var uI=sAc(892);R0(889,1,nUc,ak);_.Id=function bk(a){uNc(this,a)};_.Jd=function ck(){return this.d>0||this.c.Jd()};_.Kd=function dk(){if(this.d==0){this.b=this.c.Kd();this.d=this.b.gf().a}--this.d;this.a=true;return this.b.ff()};_.Ld=function ek(){var a;Vd(this.a,OUc);a=this.b.gf().a;if(a<=0)throw p0(new dLc);(this.b.gf().a+=-1)==0&&this.c.Ld();this.e.b=E0(this.e.b,1);this.a=false};_.a=false;_.d=0;var wI=sAc(889);R0(893,1,{},fk);_.ef=function gk(a,b){GA(this.a,a,b.a)};var xI=sAc(893);var Y$=uAc(); -R0(177,1,VUc);_.zd=function hk(a){var b;if(lH(a,51)){b=a;return Cd(this.ff(),b.ff())&&Cd(this.gf(),b.gf())}return false};_.Bd=function ik(){var a,b;a=this.ff();b=this.gf();return(a==null?0:zb(a))^(b==null?0:zb(b))};_.hf=function jk(a){throw p0(new HCc);};_.Cd=function kk(){return this.ff()+"="+this.gf()};var zI=sAc(177);R0(1153,1135,MUc);_.Sd=function lk(){this.a.Sd()};_.Td=function mk(a){return this.a.Ve(a)>0};_.Ud=function nk(a){return Pc(this.a,a)};_.Wd=function ok(){return this.a.Je().Wd()};_.Yd= -function pk(a){return this.a._e(a,kUc)>0};_.$d=function qk(){return this.a.Je().$d()};var HL=sAc(1153);R0(894,1153,MUc,rk);_.Xd=function sk(){return this.a.Xe()};var BI=sAc(894);R0(1154,1135,MUc);_.Sd=function tk(){this.a.Sd()};_.Td=function uk(a){var b,c;if(lH(a,221)){c=a;if(c.cf()<=0)return false;b=this.a.Ve(c.df());return b==c.cf()}return false};_.Yd=function vk(a){var b,c,d,e;if(lH(a,221)){c=a;b=c.df();d=c.cf();if(d!=0){e=this.a;return FA(e,b,d,0)}}return false};var IL=sAc(1154);R0(895,1154,MUc, -wk);_.Xd=function xk(){return this.a.Ze()};_.$d=function yk(){return this.a.We()};var CI=sAc(895);R0(397,519,JUc);_.Ae=function Bk(){return this.jf()};_.Ce=function Ck(){return JHc(),JHc(),IHc};_.xe=function Ek(a){return Vf(this,a)};_.ze=function Gk(a){return Xf(this,a)};_.te=function Ak(){var a;return a=this.f,!a?this.f=this.ve():a};_.zd=function Dk(a){return Vz(this,a)};_.kf=function Fk(a){return Vf(this,a)};_.lf=function Hk(a){return Xf(this,a)};_.De=function Ik(a){return JHc(),new SJc(a)};_.Ee= -function Jk(a,b){return new Zi(this,a,b)};var EI=sAc(397);R0(1164,1,{640:1});_.nf=function Kk(){var a;return a=this.d,!a?this.d=new Pk(this):a};_.Sd=function Lk(){Hv(this.nf().a.mf())};_.zd=function Mk(a){return TC(this,a)};_.Bd=function Nk(){return LHc(this.nf())};_.Cd=function Ok(){return Bg(this.pf())};var GI=sAc(1164);R0(614,LUc,MUc,Pk);_.Sd=function Qk(){this.a.Sd()};_.Td=function Rk(a){var b,c;if(lH(a,219)){b=a;c=dz(this.a.pf(),b.b);return!!c&&$l(c.Je(),new or(b.a,b.c))}return false};_.Xd=function Sk(){return this.a.mf()}; -_.Yd=function Tk(a){var b,c;if(lH(a,219)){b=a;c=dz(this.a.pf(),b.b);return!!c&&_l(c.Je(),new or(b.a,b.c))}return false};_.$d=function Uk(){return this.a.$d()};_._d=function Vk(){return this.a.of()};var FI=sAc(614);R0(1172,1156,{102:1});var HI=sAc(1172);var Wk;R0(805,1,{},Yk);_.Dd=function Zk(){return On(),new vs};var II=sAc(805);R0(812,1,{},$k);_.ef=function _k(a,b){dGc(a.b,Pd(b))};var JI=sAc(812);R0(813,1,NUc,al);_.Pd=function bl(a){return Qu(a.a,new FGc(a.b))};var KI=sAc(813);R0(806,1,{},cl);_.ef= -function dl(a,b){ts(a,b)};var LI=sAc(806);R0(807,1,NUc,el);_.Pd=function fl(a){return Wn(a.a)};var MI=sAc(807);R0(808,1,{},gl);_.Dd=function hl(){return on(),new bu};var NI=sAc(808);R0(809,1,{},il);_.ef=function jl(a,b){a.Zf(b)};var OI=sAc(809);R0(810,1,NUc,kl);_.Pd=function ll(a){return a._f()};var QI=sAc(810);R0(811,1,{},ml);_.Dd=function nl(){return Xk(),new Xu(this.a)};var RI=sAc(811);R0(835,1,XUc,ul);_.tf=function yl(a){return(this.a.rf()&-262&a)!=0};_.rf=function vl(){return this.a.rf()&-262}; -_.sf=function wl(){return this.a.sf()};_.Id=function xl(a){this.a.Id(new Cl(a,this.b))};_.uf=function zl(a){return this.a.uf(new Al(a,this.b))};var XI=sAc(835);R0(836,1,{},Al);_.vf=function Bl(a){this.a.vf(this.b.Pd(a))};var SI=sAc(836);R0(837,1,{},Cl);_.vf=function Dl(a){this.a.vf(this.b.Pd(a))};var TI=sAc(837);R0(504,1,XUc,El);_.tf=function Il(a){return((16464|this.b)&a)!=0};_.rf=function Fl(){return 16464|this.b};_.sf=function Gl(){return this.a.sf()};_.Id=function Hl(a){this.a.Ck(new Ml(a,this.c))}; -_.uf=function Jl(a){return this.a.Dk(new Kl(a,this.c))};_.b=0;var WI=sAc(504);R0(833,1,{},Kl);_.wf=function Ll(a){this.a.vf(this.b.ag(a))};var UI=sAc(833);R0(834,1,{},Ml);_.wf=function Nl(a){this.a.vf(this.b.ag(a))};var VI=sAc(834);R0(829,1,XUc);_.tf=function Tl(a){return(this.a&a)!=0};_.rf=function Ql(){return this.a};_.sf=function Rl(){!!this.e&&(this.b=tBc(this.b,this.e.sf()));return tBc(this.b,0)};_.Id=function Sl(a){if(this.e){this.e.Id(a);this.e=null}this.c.Id(new Xl(this,a));this.b=0};_.uf= -function Ul(a){while(true){if(!!this.e&&this.e.uf(a)){C0(this.b,YUc)&&(this.b=E0(this.b,1));return true}else this.e=null;if(!this.c.uf(new Vl(this)))return false}};_.a=0;_.b=0;var _I=sAc(829);R0(831,1,{},Vl);_.vf=function Wl(a){Ol(this.a,a)};var YI=sAc(831);R0(832,1,{},Xl);_.vf=function Yl(a){Pl(this.a,this.b,a)};var ZI=sAc(832);R0(830,829,XUc,Zl);var $I=sAc(830);R0(245,1,{245:1,113:1});_.zd=function am(a){return this===a};_.zf=function cm(){return new _Kc(this)};_.yf=function bm(){return new TA(this)}; -var NL=sAc(245);R0(368,245,{368:1,245:1,3:1,113:1},dm);_.xf=function em(a,b){return this.a.xf(a,b)};_.zd=function fm(a){var b;if(a===this)return true;if(lH(a,368)){b=a;return this.a.zd(b.a)}return false};_.Bd=function gm(){return zb(this.a)};_.Cd=function hm(){return W0(this.a)};var aJ=sAc(368);R0(313,1,{313:1,3:1},jm);_.zd=function km(a){return lH(a,313)&&a.a==this.a};_.Bd=function lm(){return this.a};_.Cd=function mm(){return""+this.a};_.a=0;var bJ=sAc(313);R0(1088,1172,JUc);_.te=function nm(){return this.a}; -_.xe=function sm(a){return this.Af(a)};_.ye=function tm(){return this.a.Nf()};_.ze=function vm(a){return this.Bf(a)};_.Sd=function om(){throw p0(new HCc);};_.ue=function pm(a){return cp(this.a,a)};_.ve=function qm(){throw p0(new Szc("should never be called"));};_.we=function rm(){throw p0(new Szc(ZUc));};_.Bf=function um(a){throw p0(new HCc);};_.$d=function wm(){return this.b};_.b=0;var dK=sAc(1088);R0(635,1088,JUc,zm);_.te=function Am(){return this.a};_.zd=function Bm(a){return Vz(this,a)};_.Af= -function Dm(a){return xm(this,a)};_.xe=function Em(a){var b;return b=ep(this.a,a),!b?(On(),On(),Nn):b};_.Fe=function Fm(a){var b;return b=ep(this.a,a),!b?(On(),On(),Nn):b};_.Bf=function Gm(a){return ym()};_.ze=function Hm(a){return ym()};_.Ge=function Im(a){return ym()};var SJ=sAc(635);R0(1095,635,JUc,Lm);var Jm;var cJ=sAc(1095);R0(288,1,FUc);_.Vd=function Om(a){gBc(this,a)};_._d=function Pm(){return new DOc(this.Xd())};_.Cd=function Qm(){return Ov(Qd(this,mUc).Xd())};var gJ=sAc(288);R0(747,288,FUc, -Rm);_.Xd=function Sm(){return new kw(Pv(ov(this.a),new lv))};var dJ=sAc(747);R0(748,288,FUc,Um);_.Xd=function Vm(){return Tm(this)};var fJ=sAc(748);R0(456,272,IUc,Wm);_.ee=function Xm(a){return this.a[a].Xd()};var eJ=sAc(456);R0(1129,1,{});_.Cd=function Ym(){return W0(this.Cf())};var oJ=sAc(1129);R0(1130,1129,wUc);_.Cf=function cn(){return this.Df()};_.Vd=function dn(a){gBc(this,a)};_._d=function kn(){return new COc(this,0)};_.ae=function ln(){return new VSc(null,this._d())};_.Qd=function Zm(a){return this.Df(), -EIc()};_.Rd=function $m(a){return this.Df(),FIc()};_.Sd=function _m(){this.Df(),GIc()};_.Td=function an(a){return this.Df().Td(a)};_.Ud=function bn(a){return this.Df().Ud(a)};_.Wd=function en(){return this.Df().b.Wd()};_.Xd=function fn(){return this.Df().Xd()};_.Yd=function gn(a){return this.Df(),JIc()};_.Zd=function hn(a){return this.Df(),KIc()};_.$d=function jn(){return this.Df().b.$d()};_.be=function mn(){return this.Df().be()};_.ce=function nn(a){return this.Df().ce(a)};var hJ=sAc(1130);R0(54, -vUc,$Uc);_.Xd=function An(){return this.Gf()};_.Qd=function un(a){return pn()};_.Rd=function vn(a){throw p0(new HCc);};_.Ef=function wn(){return qn(this)};_.Sd=function xn(){throw p0(new HCc);};_.Td=function yn(a){return a!=null&&Nc(this,a,false)};_.Ff=function zn(){return rn(this)};_.Yd=function Bn(a){return sn()};_.Zd=function Cn(a){return tn()};var MJ=sAc(54);R0(474,54,$Uc,Dn);_.Xd=function In(){return Qv(this.a.Xd())};_.Td=function En(a){return a!=null&&this.a.Td(a)};_.Ud=function Fn(a){return this.a.Ud(a)}; -_.Wd=function Gn(){return this.a.Wd()};_.Gf=function Hn(){return Qv(this.a.Xd())};_.$d=function Jn(){return this.a.$d()};_.be=function Kn(){return this.a.be()};_.ce=function Ln(a){return this.a.ce(a)};_.Cd=function Mn(){return W0(this.a)};var iJ=sAc(474);R0(106,54,_Uc);_.Xd=function _n(){return this.Gf()};_.fe=function ao(){return this.Hf(0)};_.ge=function co(a){return this.Hf(a)};_._d=function ho(){return new COc(this,16)};_.je=function jo(a,b){return this.If(a,b)};_.de=function Rn(a,b){throw p0(new HCc); -};_.Ef=function Tn(){return this};_.zd=function Yn(a){return my(this,a)};_.Bd=function Zn(){return ny(this)};_.Gf=function $n(){return this.Hf(0)};_.Hf=function bo(a){return Pn(this,a)};_.he=function go(a){throw p0(new HCc);};_.If=function io(a,b){var c;return ko((c=new wy(this),new YDc(c,a,b)))};var Nn;var TJ=sAc(106);R0(1132,106,_Uc);_.Xd=function vo(){return Qv(this.Jf().Xd())};_.je=function yo(a,b){return ko(this.Jf().je(a,b))};_.Td=function oo(a){return lo(this,a)};_.Ud=function po(a){return this.Jf().Ud(a)}; -_.zd=function qo(a){return mo(this,a)};_.ee=function ro(a){return no(this,a)};_.Bd=function so(){return zb(this.Jf())};_.Wd=function to(){return this.Jf().Wd()};_.Gf=function uo(){return Qv(this.Jf().Xd())};_.$d=function wo(){return this.Jf().$d()};_.If=function xo(a,b){return ko(this.Jf().je(a,b))};_.be=function zo(){return this.Jf().ce(vG(qZ,xUc,1,this.Jf().$d(),5,1))};_.ce=function Ao(a){return this.Jf().ce(a)};_.Cd=function Bo(){return W0(this.Jf())};var jJ=sAc(1132);R0(131,1,bVc);_.Je=function Qo(){return Eo(this)}; -_.Ke=function So(a){qOc(this,a)};_.ye=function Xo(){return this.Nf()};_.Oe=function bp(){return this.Of()};_.Sd=function Jo(){throw p0(new HCc);};_.ue=function Ko(a){return this.Le(a)!=null};_.Ie=function Lo(a){return this.Of().Td(a)};_.Lf=function No(){return new Ps(this)};_.Mf=function Oo(){return new Zs(this)};_.zd=function Ro(a){return _y(this,a)};_.Bd=function Uo(){return Eo(this).Bd()};_.Wd=function Vo(){return this.$d()==0};_.Nf=function Wo(){return Go(this)};_.Me=function Zo(a,b){return Ho()}; -_.Ne=function $o(a){throw p0(new HCc);};_.Cd=function _o(){return fz(this)};_.Of=function ap(){return Io(this)};_.e=null;_.f=null;_.g=null;var Co;var bK=sAc(131);R0(240,131,bVc);_.ue=function hp(a){return cp(this,a)};_.Ie=function ip(a){return xJc(this.d,a)};_.Kf=function jp(){return Mp(new xp(this))};_.Lf=function kp(){return Mp(AJc(this.d))};_.Mf=function lp(){return on(),new Dn(BJc(this.d))};_.zd=function mp(a){return dp(this,a)};_.Le=function np(a){return ep(this,a)};_.Bd=function op(){return zb(this.d.d)}; -_.Wd=function pp(){return this.d.d.Wd()};_.$d=function qp(){return this.d.d.$d()};_.Cd=function rp(){return W0(this.d.d)};var lJ=sAc(240);R0(1131,1130,MUc);_.Cf=function sp(){return this.Pf()};_.Df=function tp(){return this.Pf()};_._d=function wp(){return new COc(this,1)};_.zd=function up(a){return a===this||this.Pf().zd(a)};_.Bd=function vp(){return this.Pf().Bd()};var pJ=sAc(1131);R0(707,1131,MUc,xp);_.Cf=function zp(){return yJc(this.a.d)};_.Df=function Ap(){return yJc(this.a.d)};_.Td=function yp(a){if(lH(a, -51)&&a.ff()==null)return false;return WJc(yJc(this.a.d),a)};_.Pf=function Bp(){return yJc(this.a.d)};_.ce=function Cp(a){var b;b=XJc(yJc(this.a.d),a);yJc(this.a.d).b.$d()0||this.c.Jd()};_.Kd=function Jt(){var a;if(this.b<=0){a=this.c.Kd();this.a=a.df();this.b=a.cf()}--this.b; -return this.a};_.b=0;var eK=sAc(502);R0(501,1123,{},Lt);_.Uf=function Nt(a){return vj(this.a,Pd(a),1),this};var fK=sAc(501);R0(1148,109,cVc);_.Xd=function Qt(){var a;return(a=this.g,!a?this.g=new gu(this):a).Gf()};_.Ff=function Ot(){return new gu(this)};_.Gf=function Pt(){var a;return(a=this.g,!a?this.g=new gu(this):a).Gf()};var mK=sAc(1148);R0(375,1148,cVc,St);_.Td=function Tt(a){return ot(this.a,a)};_.$d=function Ut(){return this.b.Jf().$d()};var gK=sAc(375);R0(145,1147,cVc,Vt);_.Yf=function Xt(a){return zw(this.a, -a)};_.Td=function Wt(a){var b,c;if(lH(a,221)){c=a;if(c.cf()<=0)return false;b=xw(this.a,c.df());return b==c.cf()}return false};_.Bd=function Yt(){return qt(this.a)};_.$d=function Zt(){return yw(this.a).b.Jf().$d()};var hK=sAc(145);R0(117,1123,{117:1},bu);_.Uf=function cu(a){return this.Zf(a)};_.Zf=function du(a){return $t(this,a)};_.$f=function eu(a){return au(this,a)};_._f=function fu(){return Ep(new FGc(this.b))};var kK=sAc(117);R0(342,1124,_Uc,gu);_.Tf=function hu(){return this.a};_.ee=function iu(a){return Rt(this.a, -a)};var lK=sAc(342);R0(371,1124,_Uc,ku);_.ge=function ou(a){return Pn(this.b,a)};_.Tf=function lu(){return this.a};_.ee=function mu(a){return no(this.b,a)};_.Hf=function nu(a){return Pn(this.b,a)};var OL=sAc(371);R0(1009,371,_Uc,pu);_.Tf=function ru(){return this.a};_.Xd=function su(){return Pn(this.b,0)};_.Td=function qu(a){return(a==null?-1:oy(this,a))>=0};_._d=function tu(){return sl(this.a.b.b.$d(),new uu(this.b),this.a.a.a.Se())};var pK=sAc(1009);R0(1010,1,{},uu);_.ag=function vu(a){return no(this.a, -a)};var oK=sAc(1010);R0(374,240,{131:1,374:1,3:1,52:1},xu);_.Lf=function yu(){return Pu(this.a,AJc(this.c))};_.Nf=function zu(){var a;return a=this.b,!a?this.b=Pu(this.a,AJc(this.c)):a};_.ye=function Au(){var a;return a=this.b,!a?this.b=Pu(this.a,AJc(this.c)):a};var rK=sAc(374);R0(814,130,{},Fu);_.Vf=function Gu(){return Du(this)};_.Wf=function Hu(a,b){return dGc(this.b,(Do(),ol(a,b),new or(a,b))),this};_.Xf=function Iu(a){return Ds(this,a),this};var qK=sAc(814);R0(404,348,{54:1,109:1,404:1,3:1,16:1, -18:1,35:1,152:1});_.Xd=function Su(){return Qv(new cJc(this.b.b.Xd()))};_._d=function Tu(){return new KOc(this)};_.Se=function Mu(){return this.a.a.Se()};_.Td=function Nu(a){return a!=null&&HIc(this.a,a)};_.Ud=function Ou(a){var b,c;for(c=a.Xd();c.Jd();){b=c.Kd();if(b==null)return false}return IIc(this.a,a)};_.Gf=function Ru(){return Qv(new cJc(this.b.b.Xd()))};_.be=function Uu(){return ZA(this,vG(qZ,xUc,1,this.b.b.$d(),5,1))};_.ce=function Vu(a){return $A(this,a)};var Ju,Ku;var tK=sAc(404);R0(482, -117,{117:1,482:1},Xu);_.Uf=function Yu(a){return dGc(this.b,Pd(a)),this};_.Zf=function Zu(a){return dGc(this.b,Pd(a)),this};_.$f=function $u(a){return au(this,a),this};_._f=function _u(){return Qu(this.a,new FGc(this.b))};var sK=sAc(482);R0(828,1,{},av);_.ag=function bv(a){return this.a.Yf(a)};var uK=sAc(828);R0(503,1124,_Uc,cv);_.Tf=function dv(){return this.a};_.ee=function ev(a){return this.a.Yf(a)};_.$d=function fv(){return this.a.$d()};var vK=sAc(503);R0(115,1,nVc,lv);_.Pd=function mv(a){return a.Xd()}; -_.zd=function nv(a){return this===a};var xK=sAc(115);R0(743,288,FUc,pv);_.Vd=function qv(a){Pd(a);this.a.Vd(new tv(a,this.b))};_.Xd=function rv(){return ov(this)};_._d=function sv(){return tl(this.a._d(),this.b)};var zK=sAc(743);R0(744,1,{},tv);_.vf=function uv(a){this.a.vf(this.b.Pd(a))};var yK=sAc(744);R0(745,288,FUc,wv);_.Xd=function xv(){return vv(this)};_._d=function yv(){return USc(RSc(SC(this.a),this.b))};_.b=0;var BK=sAc(745);R0(746,1,nUc,Av);_.Id=function Bv(a){uNc(this,a)};_.Jd=function Cv(){return Lb(this.b)}; -_.Kd=function Dv(){return zv(this)};_.Ld=function Ev(){Vd(!this.a,OUc);Nb()};_.a=true;var AK=sAc(746);R0(764,97,HUc,Rv);_.Jd=function Sv(){return this.a.Jd()};_.Kd=function Tv(){return this.a.Kd()};var DK=sAc(764);R0(485,97,HUc,Uv);_.Jd=function Vv(){return!this.a};_.Kd=function Wv(){if(this.a)throw p0(new sOc);this.a=true;return this.b};_.a=false;var CK=sAc(485);R0(287,1,nUc);_.Id=function Yv(a){uNc(this,a)};_.Jd=function Zv(){return this.b.Jd()};_.Kd=function $v(){return this.bg(this.b.Kd())};_.Ld= -function _v(){this.b.Ld()};var oM=sAc(287);R0(765,287,nUc,bw);_.bg=function cw(a){return aw(this,a)};var EK=sAc(765);R0(763,272,IUc,fw);_.ee=function gw(a){return this.a[this.b+a]};_.b=0;var dw;var FK=sAc(763);R0(85,1,{85:1,32:1},kw);_.Id=function lw(a){uNc(this,a)};_.Jd=function mw(){return iw(this)};_.Kd=function nw(){return jw(this)};_.Ld=function ow(){Vd(!!this.c,OUc);this.c.Ld();this.c=null};var GK=sAc(85);R0(360,11,{360:1,3:1,20:1,11:1,32:1},rw);_.Id=function sw(a){uNc(this,a)};_.Jd=function tw(){return false}; -_.Kd=function uw(){throw p0(new sOc);};_.Ld=function vw(){Vd(false,OUc)};var pw;var HK=tAc(360,dZ,ww);R0(972,1161,mVc,Aw);_.Ye=function Dw(){var a;return a=this.b,!a?this.b=new St(this.c,this):a};_.Ve=function Bw(a){return xw(this,a)};_.$d=function Ew(){return RD(this.d)};_.d=0;var IK=sAc(972);R0(986,397,JUc);var MK=sAc(986);R0(310,986,JUc,Iw);_.Ae=function Kw(){return $y(this.b),new gOc};_.Sd=function Jw(){Gw(this)};_.jf=function Lw(){return $y(this.b),new gOc};_.Be=function Mw(a){return new Ww(this, -a,this.b)};_.ye=function Nw(){return Hw(this)};_.b=2;var NK=sAc(310);R0(253,74,{177:1,74:1,253:1,1180:1,3:1,51:1},Qw);_.cg=function Rw(){return this.f};_.dg=function Sw(a){this.c=a};_.eg=function Tw(a){this.f=a};_.d=0;var JK=sAc(253);R0(987,1135,{1180:1,16:1,18:1,35:1},Ww);_.Qd=function Xw(a){var b,c,d,e,f;f=H0(A0(gVc,aBc(H0(A0(a==null?0:zb(a),hVc)),15)));b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Cd(c.i,a))return false;d=new Qw(this.c,a,f,e);Pw(this.d,d);d.f=this;this.d=d;Ow(this.g.a.b, -d);Ow(d,this.g.a);this.b[b]=d;++this.f;++this.e;Uw(this);return true};_.Sd=function Yw(){var a,b;QGc(this.b);this.f=0;for(a=this.a;a!=this;a=a.cg()){b=a;Ow(b.b,b.e)}this.a=this;this.d=this;++this.e};_.Td=function Zw(a){var b,c;c=H0(A0(gVc,aBc(H0(A0(a==null?0:zb(a),hVc)),15)));for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Cd(b.i,a))return true;return false};_.Vd=function $w(a){var b;Pd(a);for(b=this.a;b!=this;b=b.cg())a.vf(b.i)};_.cg=function _w(){return this.a};_.Xd=function ax(){return new gx(this)}; -_.Yd=function bx(a){return Vw(this,a)};_.dg=function cx(a){this.d=a};_.eg=function dx(a){this.a=a};_.$d=function ex(){return this.f};_.e=0;_.f=0;var LK=sAc(987);R0(988,1,nUc,gx);_.Id=function hx(a){uNc(this,a)};_.Jd=function ix(){return fx(this),this.b!=this.c};_.Kd=function jx(){var a,b;fx(this);if(this.b==this.c)throw p0(new sOc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Ld=function kx(){fx(this);Vd(!!this.d,OUc);Vw(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var KK=sAc(988);R0(515, -389,UUc,lx,mx);var OK=sAc(515);R0(517,1156,JUc,rx);_.te=function sx(){var a;return a=this.f,!a?this.f=new Xz(this):a};_.zd=function yx(a){return Vz(this,a)};_.xe=function zx(a){return new Kx(this,a)};_.ze=function Cx(a){return px(this,a)};_.Sd=function ux(){this.a=null;this.e=null;kDc(this.b);this.d=0;++this.c};_.ue=function vx(a){return ox(this,a)};_.ve=function wx(){return new Xz(this)};_.we=function xx(){return new Nx(this)};_.Fe=function Ax(a){return new Kx(this,a)};_.Wd=function Bx(){return!this.a}; -_.Ge=function Dx(a){return px(this,a)};_.$d=function Ex(){return this.d};_.c=0;_.d=0;var VK=sAc(517);R0(1137,yUc,zUc);_.de=function Fx(a,b){var c;c=this.ge(a);c.qe(b)};_.ee=function Gx(b){var c;c=this.ge(b);try{return c.Kd()}catch(a){a=o0(a);if(lH(a,72))throw p0(new Nzc("Can't get element "+b));else throw p0(a);}};_.Xd=function Hx(){return new ey(this.a,this.b,0)};_.he=function Ix(b){var c,d;c=this.ge(b);try{d=c.Kd();c.Ld();return d}catch(a){a=o0(a);if(lH(a,72))throw p0(new Nzc("Can't remove element "+ -b));else throw p0(a);}};var WZ=sAc(1137);R0(304,1137,zUc,Kx);_.ge=function Lx(a){return Jx(this,a)};_.$d=function Mx(){var a;a=dDc(this.a.b,this.b);return!a?0:a.a};var QK=sAc(304);R0(518,1135,MUc,Nx);_.Td=function Ox(a){return ox(this.a,a)};_.Xd=function Px(){return new Tx(this.a)};_.Yd=function Qx(a){return!px(this.a,a).a.Wd()};_.$d=function Rx(){return lDc(this.a.b)};var PK=sAc(518);R0(910,1,nUc,Tx);_.Id=function Ux(a){uNc(this,a)};_.Jd=function Vx(){Sx(this);return!!this.c};_.Kd=function Wx(){Sx(this); -tx(this.c);this.a=this.c;qMc(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!qMc(this.d,this.c.a));return this.a.a};_.Ld=function Xx(){Sx(this);Vd(!!this.a,OUc);Hv(new dy(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var RK=sAc(910);R0(396,1,{396:1},Yx);_.a=0;var SK=sAc(396);R0(909,177,VUc,Zx);_.ff=function $x(){return this.a};_.gf=function _x(){return this.f};_.hf=function ay(a){var b;b=this.f;this.f=a;return b};var TK=sAc(909);R0(248,1,QUc,dy,ey);_.Id=function gy(a){uNc(this,a)};_.qe= -function fy(a){this.e=nx(this.f,this.b,a,this.c);++this.d;this.a=null};_.Jd=function hy(){return!!this.c};_.re=function iy(){return!!this.e};_.Kd=function jy(){return by(this)};_.se=function ky(){return cy(this)};_.Ld=function ly(){Vd(!!this.a,OUc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;qx(this.f,this.a);this.a=null};_.d=0;var UK=sAc(248);R0(750,yUc,zUc);_.de=function ry(a,b){this.a.de(a,b)};_.Td=function sy(a){return this.a.Td(a)};_.ee=function ty(a){return this.a.ee(a)}; -_.he=function uy(a){return this.a.he(a)};_.$d=function vy(){return this.a.$d()};var XK=sAc(750);R0(751,750,PUc);var YK=sAc(751);R0(753,751,PUc,wy);_.ge=function xy(a){return this.a.ge(a)};var WK=sAc(753);R0(174,yUc,{174:1,16:1,18:1,53:1},By);_.de=function Cy(a,b){this.a.de(Ay(this,a),b)};_.Sd=function Dy(){this.a.Sd()};_.ee=function Ey(a){return this.a.ee(zy(this,a))};_.Xd=function Fy(){return yy(this,0)};_.ge=function Gy(a){return yy(this,a)};_.he=function Hy(a){return this.a.he(zy(this,a))};_.ie= -function Iy(a,b){(Td(a,b,this.a.$d()),qy(this.a.je(Ay(this,b),Ay(this,a)))).Sd()};_.$d=function Jy(){return this.a.$d()};_.je=function Ky(a,b){return Td(a,b,this.a.$d()),qy(this.a.je(Ay(this,b),Ay(this,a)))};var _K=sAc(174);R0(483,174,{174:1,16:1,18:1,53:1,69:1},Ly);var ZK=sAc(483);R0(752,1,QUc,My);_.Id=function Oy(a){uNc(this,a)};_.qe=function Ny(a){this.b.qe(a);this.b.se();this.a=false};_.Jd=function Py(){return this.b.re()};_.re=function Qy(){return this.b.Jd()};_.Kd=function Ry(){if(!this.b.re())throw p0(new sOc); -this.a=true;return this.b.se()};_.se=function Sy(){if(!this.b.Jd())throw p0(new sOc);this.a=true;return this.b.Kd()};_.Ld=function Ty(){Vd(this.a,OUc);this.b.Ld();this.a=false};_.a=false;var $K=sAc(752);R0(356,106,_Uc,Uy);_.ee=function Vy(a){return Od(a,this.a.length),hAc(HBc(this.a,a))};_.je=function Yy(a,b){return Td(a,b,this.a.length),new Uy(Pd(bCc(this.a,a,b)))};_.$d=function Wy(){return this.a.length};_.If=function Xy(a,b){return Td(a,b,this.a.length),new Uy(Pd(bCc(this.a,a,b)))};var aL=sAc(356); -R0(738,287,nUc,hz);_.bg=function iz(a){return a.ff()};var bL=sAc(738);R0(739,287,nUc,jz);_.bg=function kz(a){return a.gf()};var cL=sAc(739);R0(740,287,nUc,lz);_.bg=function mz(a){return new or(a,this.a.Pd(a))};var dL=sAc(740);R0(735,1136,MUc,nz);_.Vd=function oz(a){Bq(this.a,a)};_.Xd=function pz(){return this.a.Ze()};_.Re=function qz(){return this.a};_._d=function rz(){return this.a.Rf()};var fL=sAc(735);R0(736,1,{},sz);_.ef=function tz(a,b){this.a.vf(a)};var hL=sAc(736);R0(734,vUc,wUc,uz);_.Sd=function vz(){this.a.Sd()}; -_.Td=function wz(a){return this.a.Ie(a)};_.Vd=function xz(a){Pd(a);this.a.Ke(new Dz(a))};_.Wd=function yz(){return this.a.Wd()};_.Xd=function zz(){return new jz(this.a.Je().Xd())};_.Yd=function Az(b){var c,d;try{return Nc(this,b,true)}catch(a){a=o0(a);if(lH(a,28)){for(d=this.a.Je().Xd();d.Jd();){c=d.Kd();if(Cd(b,c.gf())){this.a.Ne(c.ff());return true}}return false}else throw p0(a);}};_.Zd=function Bz(b){var c,d,e;try{return Qc(this,Pd(b))}catch(a){a=o0(a);if(lH(a,28)){e=new tMc;for(d=this.a.Je().Xd();d.Jd();){c= -d.Kd();b.Td(c.gf())&&qMc(e,c.ff())}return this.a.ye().Zd(e)}else throw p0(a);}};_.$d=function Cz(){return this.a.$d()};var kL=sAc(734);R0(737,1,{},Dz);_.ef=function Ez(a,b){this.a.vf(b)};var jL=sAc(737);R0(1166,1,{});var wL=sAc(1166);R0(1169,1,{});var uL=sAc(1169);R0(319,1169,{},Iz);_.a=0;var mL=sAc(319);R0(1E3,1,fVc,Jz);_.Dd=function Kz(){return new oGc};var nL=sAc(1E3);R0(1001,1,fVc,Lz);_.Dd=function Mz(){return $y(this.a),new uMc};_.a=0;var oL=sAc(1001);R0(1002,1,fVc,Nz);_.Dd=function Oz(){return $y(this.a), -new gOc};_.a=0;var pL=sAc(1002);R0(1167,1166,{});var qL=sAc(1167);R0(1003,1167,{},Qz);_.b=0;var rL=sAc(1003);R0(1168,1166,{});var vL=sAc(1168);R0(1004,1168,{},Sz);_.b=0;var sL=sAc(1004);R0(1005,1168,{},Uz);_.b=0;var tL=sAc(1005);R0(521,1157,KUc,Xz);_.Le=function _z(a){return this.a.ue(a)?this.a.xe(a):null};_.Ne=function cA(a){return this.a.ue(a)?this.a.ze(a):null};_.Sd=function Yz(){this.a.Sd()};_.ue=function Zz(a){return this.a.ue(a)};_.Qe=function $z(){return new eA(this)};_.Pe=function(){return this.Qe()}; -_.Wd=function aA(){return this.a.Wd()};_.ye=function bA(){return this.a.ye()};_.$d=function dA(){return this.a.ye().$d()};var zL=sAc(521);R0(913,1136,MUc,eA);_.Xd=function fA(){return Zy(this.a.a.ye(),new iA(this))};_.Re=function gA(){return this.a};_.Yd=function hA(a){var b;if(!qh(this,a))return false;b=a;Wz(this.a,b.ff());return true};var yL=sAc(913);R0(914,1,nVc,iA);_.Pd=function jA(a){return this.a.a.a.xe(a)};_.zd=function kA(a){return this===a};var xL=sAc(914);R0(912,911,JUc,lA);_.fg=function nA(){return this.a.Dd()}; -_.Ae=function(){return this.fg()};_.ve=function mA(){return new Zg(this,this.c)};_.we=function oA(){return new Sh(this,this.c)};var AL=sAc(912);R0(520,397,JUc,pA);_.fg=function rA(){return this.a.Dd()};_.Ae=function(){return this.fg()};_.ve=function qA(){return new Zg(this,this.c)};_.gg=function sA(){return this.a.Dd()};_.jf=function(){return this.gg()};_.we=function tA(){return new Sh(this,this.c)};_.De=function uA(a){return lH(a,329)?qB(a):lH(a,152)?(JHc(),new tKc(a)):(JHc(),new SJc(a))};_.Ee=function vA(a, -b){return lH(b,329)?new Xi(this,a,b):lH(b,152)?new Ti(this,a,b):new Zi(this,a,b)};var BL=sAc(520);R0(376,1,{},yA);_.vf=function zA(a){wA(this.a,a)};var DL=sAc(376);R0(377,1,{},AA);_.vf=function BA(a){xA(this.a,a)};var EL=sAc(377);R0(896,1,{},HA);var FL=sAc(896);R0(390,1152,{221:1,390:1,3:1},IA);_.cf=function JA(){return this.a};_.df=function KA(){return this.b};_.a=0;var JL=sAc(390);R0(391,1,NUc,LA);_.Pd=function MA(a){return new COc(NHc(a.cf(),a.df()),16)};var KL=sAc(391);R0(973,245,{245:1,3:1,113:1}, -PA);_.xf=function QA(a,b){return Pd(a),Pd(b),Wzc(a,b)};_.yf=function RA(){var a;a=this.a;!a&&(a=this.a=new TA(this));return a};_.Cd=function SA(){return"Ordering.natural()"};var NA;var LL=sAc(973);R0(328,245,{328:1,245:1,3:1,113:1},TA);_.xf=function UA(a,b){if(rH(a)===rH(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.xf(a,b)};_.zd=function VA(a){var b;if(a===this)return true;if(lH(a,328)){b=a;return this.a.zd(b.a)}return false};_.Bd=function WA(){return zb(this.a)^957692532};_.yf= -function XA(){return this};_.Cd=function YA(){return this.a+".nullsFirst()"};var ML=sAc(328);R0(108,1132,_Uc,_A);_.Jf=function aB(){return this.a};var PL=sAc(108);R0(279,240,bVc,bB,cB);var QL=sAc(279);var dB;R0(349,348,cVc,hB);var fB;var RL=sAc(349);R0(252,404,{54:1,109:1,404:1,252:1,3:1,16:1,18:1,35:1,152:1},iB);_.Ff=function jB(){return new pu(this,(On(),ko(new kHc(ZA(this,vG(qZ,xUc,1,this.b.b.$d(),5,1))))))};var SL=sAc(252);R0(1134,LUc,MUc);_.Xd=function uB(){return new EB(this.a,this.b)};_.Qd= -function rB(a){throw p0(new HCc);};_.Rd=function sB(a){throw p0(new HCc);};_.Sd=function tB(){throw p0(new HCc);};_.Yd=function vB(a){throw p0(new HCc);};_.Zd=function wB(a){throw p0(new HCc);};var XL=sAc(1134);R0(715,1134,MUc,xB);_.Xd=function AB(){return new EB(this.a,this.b)};_.Td=function yB(a){return this.a.Td(a)||this.b.Td(a)};_.Wd=function zB(){return this.a.Wd()&&this.b.Wd()};_.$d=function BB(){var a,b,c;c=this.a.$d();for(b=this.b.Xd();b.Jd();){a=b.Kd();this.a.Td(a)||++c}return c};_.ae=function CB(){return DSc(this.a.ae(), -NSc(new VSc(null,this.b._d()),new FB(this.a)))};var VL=sAc(715);R0(475,716,HUc,EB);var TL=sAc(475);R0(717,1,pVc,FB);_.Od=function GB(a){return!this.a.Td(a)};var UL=sAc(717);R0(350,1133,{350:1,3:1,16:1,18:1,329:1,35:1,152:1},HB);_.Cf=function IB(){return this.b};_.Df=function JB(){return this.b};_.Pf=function KB(){return this.b};_.Vd=function LB(a){this.a.Vd(a)};_.ae=function MB(){return this.a.ae()};var YL=sAc(350);R0(380,852,bVc,NB);_.Of=function OB(){return on(),new UB(this.a)};_.Oe=function PB(){return on(), -new UB(this.a)};_.qf=function QB(){return on(),new UB(this.a)};var ZL=sAc(380);R0(64,1132,_Uc,RB);_.Jf=function SB(){return this.a};var $L=sAc(64);R0(87,109,cVc,UB);_.Xd=function XB(){return new Uv(this.a)};_.Td=function VB(a){return TB(this,a)};_.Gf=function WB(){return new Uv(this.a)};_.$d=function YB(){return 1};var _L=sAc(87);R0(992,1,nUc,$B);_.Id=function _B(a){uNc(this,a)};_.Kd=function bC(){return ZB(this)};_.Jd=function aC(){return ZNc(this.c)||this.a.Jd()};_.Ld=function cC(){this.a.Ld(); -if(this.b.e.Wd()){_Nc(this.c);this.b=null}};var aM=sAc(992);R0(612,1159,KUc,eC);_.Sd=function fC(){var a;a=!this.a||this.a.Wd()&&xNc(this.c.a,this.b)?this.a=yNc(this.c.a,this.b):this.a;!!a&&a.Sd();dC(this)};_.ue=function gC(a){var b;b=!this.a||this.a.Wd()&&xNc(this.c.a,this.b)?this.a=yNc(this.c.a,this.b):this.a;return a!=null&&!!b&&cz(b,a)};_.Ze=function hC(){var a,b;b=!this.a||this.a.Wd()&&xNc(this.c.a,this.b)?this.a=yNc(this.c.a,this.b):this.a;if(!b)return qw(),pw;a=b.Je().Xd();return new pC(this, -a)};_.Rf=function iC(){var a;a=!this.a||this.a.Wd()&&xNc(this.c.a,this.b)?this.a=yNc(this.c.a,this.b):this.a;if(!a)return aPc(),_Oc;return tl(a.Je()._d(),new nC)};_.Le=function jC(a){var b;b=!this.a||this.a.Wd()&&xNc(this.c.a,this.b)?this.a=yNc(this.c.a,this.b):this.a;return a!=null&&!!b?dz(b,a):null};_.Me=function kC(a,b){Pd(a);Pd(b);if(!!this.a&&!this.a.Wd())return this.a.Me(a,b);return kq(this.c,this.b,a,b)};_.Ne=function lC(a){var b,c;b=!this.a||this.a.Wd()&&xNc(this.c.a,this.b)?this.a=yNc(this.c.a, -this.b):this.a;if(!b)return null;c=ez(b,a);dC(this);return c};_.$d=function mC(){var a;a=!this.a||this.a.Wd()&&xNc(this.c.a,this.b)?this.a=yNc(this.c.a,this.b):this.a;return!a?0:a.$d()};var hM=sAc(612);R0(996,1,NUc,nC);_.Pd=function oC(a){return new uC(a)};var bM=sAc(996);R0(995,1,nUc,pC);_.Id=function qC(a){uNc(this,a)};_.Kd=function sC(){return new uC(this.b.Kd())};_.Jd=function rC(){return this.b.Jd()};_.Ld=function tC(){this.b.Ld();dC(this.a)};var cM=sAc(995);R0(613,1165,dVc,uC);_.Cf=function vC(){return this.a}; -_.zd=function wC(a){return Zp(this,a)};_.hf=function xC(a){return Yp(this,Pd(a))};var dM=sAc(613);R0(426,1157,KUc,yC);_.Le=function BC(a){return this.a.Qf(a)?new eC(this.a,a):null};_.Ne=function CC(a){return a==null?null:BNc(this.a.a,a)};_.ue=function zC(a){return this.a.Qf(a)};_.Qe=function AC(){return new GC(this)};_.Pe=function(){return this.Qe()};var gM=sAc(426);R0(993,1135,MUc);_.Sd=function EC(){wNc(this.b.a)};_.Wd=function FC(){return lDc(this.b.a.c)==0};var iM=sAc(993);R0(994,993,MUc,GC); -_.Td=function HC(a){var b;if(lH(a,51)){b=a;return b.ff()!=null&&lH(b.gf(),52)&&$l(new TNc(this.a.a.a),b)}return false};_.Xd=function IC(){return Zy(new bEc(this.a.a.a),new LC(this))};_.Yd=function JC(a){var b;if(lH(a,51)){b=a;return b.ff()!=null&&lH(b.gf(),52)&&SNc(new TNc(this.a.a.a),b)}return false};_.$d=function KC(){return lDc(this.a.a.a.c)};var fM=sAc(994);R0(997,1,nVc,LC);_.Pd=function MC(a){return new eC(this.a.a.a,a)};_.zd=function NC(a){return this===a};var eM=sAc(997);R0(999,1,NUc,OC);_.Pd= -function PC(a){return tl(a.gf().Je()._d(),new QC(a))};var jM=sAc(999);R0(998,1,NUc,QC);_.Pd=function RC(a){return rq(this.a,a)};var kM=sAc(998);R0(1171,1,{1181:1});_.zd=function UC(a){var b;if(a===this)return true;if(lH(a,219)){b=a;return Cd(this.b,b.b)&&Cd(this.a,b.a)&&Cd(this.c,b.c)}return false};_.Bd=function VC(){return WGc(yG(tG(qZ,1),xUc,1,5,[this.b,this.a,this.c]))};_.Cd=function WC(){return"("+this.b+","+this.a+")="+this.c};var mM=sAc(1171);R0(219,1171,{1181:1,219:1,3:1},XC);var nM=sAc(219); -R0(1158,1,{});var YC;var xM=sAc(1158);R0(251,1,{251:1},fD);_.zd=function gD(a){return cD(this,a)};_.Bd=function hD(){return VGc(this.c)};_.Cd=function iD(){return this.f};_.a=0;_.b=0;_.d=0;var rM=sAc(251);R0(147,1158,{147:1},mD);_.zd=function nD(a){var b;if(lH(a,147)){b=a;return cD(this.b,b.b)&&Cd(this.c,b.c)}return false};_.Bd=function oD(){return VGc(this.b.c)^WGc(yG(tG(qZ,1),xUc,1,5,[this.c]))};_.Cd=function pD(){var a;a=new ECc("BaseEncoding.");yCc(a,this.b.f);8%this.b.a!=0&&(!this.c?(a.a+=".omitPadding()", -a):yCc(xCc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var wM=sAc(147);R0(531,147,{147:1},rD);var sM=sAc(531);R0(399,147,{147:1},uD);var uM=sAc(399);R0(37,1,{3:1,37:1});_.hg=function FD(a){return new Error(a)};_.ig=function HD(){return this.g};_.jg=function ID(){var a,b,c;c=this.g==null?null:this.g.replace(new RegExp(vVc,"g"),"\u200b\n");b=(a=nAc(this.Ik),c==null?a:a+": "+c);zD(this,GD(this.hg(b)));fG(this)};_.Cd=function JD(){return BD(this,this.ig())};_.e=tVc;_.k=true;var wZ=sAc(37);R0(40, -37,{3:1,40:1,37:1});var fZ=sAc(40);R0(105,40,{105:1,3:1,40:1,37:1});var WY=sAc(105);R0(210,105,{210:1,105:1,3:1,40:1,37:1},MD);var vM=sAc(210);var SD;R0(127,1,{},XD);_.Cd=function YD(){return yd(wd(wd(new zd((lAc(yM),yM.n)),"line",""+this.b),"column",""+this.a))};_.a=0;_.b=0;var yM=sAc(127);R0(492,1,{},eE);_.b=0;_.c=null;var FM=sAc(492);R0(800,1,{},gE);var zM=sAc(800);R0(801,1,{},mE);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var AM=sAc(801);R0(493,1,yVc,nE);_.kg=function oE(){return this.e};_.lg=function pE(){return-1}; -_.mg=function qE(){return-1};_.ng=function rE(){return-1};_.og=function sE(){return-1};_.e=0;var DM=sAc(493);R0(494,493,yVc,tE);_.lg=function uE(){return-1};_.mg=function vE(){return this.b};_.ng=function wE(){return this.c};_.og=function xE(){return this.d};_.b=0;_.c=0;_.d=0;var EM=sAc(494);R0(803,494,yVc,yE);_.lg=function zE(){return this.a};_.a=0;var BM=sAc(803);R0(802,1,{},DE);_.b=0;_.c=0;var CM=sAc(802);R0(824,1,{},LE);_.c=null;_.d=-1;var LM=sAc(824);R0(825,1,{},PE);var GM=sAc(825);R0(827,1, -{},SE);_.pg=function TE(a,b,c,d,e){var f;this.d!=b&&(this.c=0);if(b!=d||c!=e)if(b=0);new XD(c,b);null.Lk()}};_.Eh=function Y9(){return this.e.a.length>0?Ezc(this.e,this.e.a.length-1):0};_.Mh=function Z9(a){var b,c,d,e;Ud(!!this.o);Ud(!!a);if(this.g&&(b=bec(a,(thc(),khc)),(!b?null:b.ah())!=null)&&tfc(a.k)>0&&true){d=this.j;c=this.k;Ud(d>=0);e=new hab;e.b=a;e.c=new XD(d,c);null.Lk();null.Lk()}};_.g=false;_.i=0;_.j=0;_.k=0;_.n=0; -var KN=sAc(529);R0(920,529,{},aab);_.zh=function bab(){if(!this.c)return;B8(this);_9(this)};_.Gh=function cab(){$9(this)};_.Ih=function dab(){var a,b;if(this.a)if(this.p){_9(this);this.p=false}b=this.e.a.length;if(this.d==b-1){a=Ezc(this.e,b-1);a==59&&(this.d=b)}$9(this)};_.Jh=function eab(){this.d=this.e.a.length};_.Lh=function fab(){_9(this)};_.a=false;_.b=0;_.c=false;_.d=0;var IN=sAc(920);R0(528,1,{528:1},hab);_.Cd=function iab(){return"Mapping: start "+this.c+", end "+this.a+", node "+this.b}; -var JN=sAc(528);R0(919,529,{},lab);_.rh=function mab(b,c){var d,e;if(b==0&&1/b<0){s8(this,b);return}e=yab(c);if(e==null){s8(this,b);return}b<0&&(e="-"+e);try{d=IAc(e)}catch(a){a=o0(a);if(lH(a,83)){s8(this,b);return}else throw p0(a);}if(b!=d){s8(this,b);return}r8(this,e)};_.sh=function nab(a){jab(this,a)};_.th=function oab(){B8(this);kab(this);--this.a;r8(this,"}")};_.uh=function pab(){(this.e.a.length>0?Ezc(this.e,this.e.a.length-1):0)!=32&&(this.e.a.length>0?Ezc(this.e,this.e.a.length-1):0)!=10&& -r8(this," ");r8(this,"{");++this.a};_.vh=function qab(a,b){(this.e.a.length>0?Ezc(this.e,this.e.a.length-1):0)!=32&&b&&a.charCodeAt(0)!=44&&r8(this," ");r8(this,a);b&&r8(this," ")};_.wh=function rab(){jab(this,":");++this.a;kab(this)};_.xh=function sab(a,b){var c,d;Vd(a.n==(Nlc(),ejc),a);c=a.g;d=c.n;switch(d.f){case 65:case 71:return false;case 44:return a!=c.c;case 78:return!fvb(!c.g?null:c.g.g);case 66:return a==(c.c?c.c.i:null)}return true};_.yh=function tab(){--this.a};_.zh=function uab(){B8(this)}; -_.Ah=function vab(a){this.p=true;a&&kab(this);a&&kab(this)};_.Bh=function wab(){kab(this)};_.Dh=function xab(a){r8(this,";");kab(this);this.q=false};_.Fh=function zab(){r8(this,tUc);this.k>this.n&&kab(this)};_.Gh=function Aab(){this.k>this.n&&kab(this)};_.Hh=function Bab(){(this.e.a.length>0?Ezc(this.e,this.e.a.length-1):0)!=32&&(this.e.a.length>0?Ezc(this.e,this.e.a.length-1):0)!=10&&r8(this," ")};_.Ih=function Cab(){this.k>this.n&&kab(this)};_.Kh=function Dab(){return true};_.Lh=function Eab(){kab(this)}; -_.a=0;var LN=sAc(919);R0(477,1,{},Fab);var MN=sAc(477);R0(283,11,{283:1,3:1,20:1,11:1},Jab);var Gab,Hab;var NN=tAc(283,dZ,Kab);R0(777,1,hXc,Mab);_.kh=function Nab(a){return Lab(a)};_.lh=function Oab(a){return null};_.mh=function Pab(a){return false};_.nh=function Qab(a){return false};_.oh=function Rab(a){return MBc(a.substr(0,6),"$super")};_.ph=function Sab(a){return Cec(a.c,iXc)};var ON=sAc(777);var Tab,Uab;R0(450,223,PVc);_.ug=function mcb(a){dbb(this,a)};_.vg=function ncb(a,b){YQc(this.u,a,b)}; -_.wg=function ocb(a,b){return jbb(this,a,b)};_.xg=function pcb(){return this.b};_.yg=function qcb(){return obb(this)};_.zg=function rcb(){return this.H};_.Oh=function scb(a){Pd(this.I);return kgb(this.U,a)};_.Ag=function(a){return this.Oh(a)};_.Bg=function tcb(){return this.k};_.Cg=function ucb(){return this.q};_.Dg=function vcb(a){return rbb(this,a)};_.Eg=function wcb(){return this.C};_.Ph=function xcb(){return this.D};_.Fg=function(){return this.Ph()};_.Gg=function ycb(){return this.F};_.Qh=function zcb(){return this.I}; -_.Hg=function(){return this.Qh()};_.Ig=function Acb(a){var b,c,d;if(!this.J||!this.o)if(!this.J){c=tbb(this,this.I.Tb);d=geb(this.I)?(XOb(),WOb):(XOb(),VOb);this.J=(b=QTb(c,this.I.nc,(SOb(),ROb),this.I.mc,d),b);this.o=c==(MOb(),COb)?hbb(this,DOb,d):this.J}switch(a){case 1:return this.o;default:return this.J}};_.Jg=function Bcb(){return this.j};_.Kg=function Ccb(a,b){return xbb(this,a,b)};_.Lg=function Dcb(){!this.P&&(this.P=Obb(this));return this.P};_.Mg=function Ecb(){return!this.R&&(this.R=new euc), -this.R};_.Ng=function Fcb(){return new jdb(this)};_.Og=function Gcb(){return this.i.a.d!=0};_.Pg=function Hcb(){return this.s};_.Qg=function Icb(){return false};_.Rg=function Jcb(a){var b;b=new Pyb(this);Nyb(b,null,a)};_.Sg=function Kcb(a){_bb(this,a)};_.eh=function Lcb(a,b){acb(this,b)};_.Tg=function Mcb(a){bcb(this,a)};_.Ug=function Ncb(a){Ud(a.n==(Nlc(),jlc)||a.n==Tjc);$bb(this,a);Pbb(this)};_.Vg=function Ocb(a){$bb(this,nbb(a));Pbb(this)};_.Rh=function Pcb(a){Ud(a.n==(Nlc(),Tjc));Fec(a,(thc(), -Dgc),1);eEb(this.d,a);dEb(this.g,a)};_.Wg=function(a){this.Rh(a)};_.Xg=function Rcb(a){this.k=a};_.Yg=function Scb(a){dcb(this,a)};_.Zg=function Tcb(a,b){gcb(a,b)};_.c=1;_.k=null;_.o=null;_.s=true;_.B=null;_.I=null;_.J=null;_.K=null;_.L=null;_.M=0;_.P=null;_.S=0;var Wab,Xab,Yab,Zab,$ab,_ab,abb,bbb;var rO=sAc(450);R0(651,1,NUc,Ucb);_.Pd=function Vcb(a){return new DHb(a)};var QN=sAc(651);R0(461,1,{},Xcb);_.Cd=function Ycb(){return this.c.a};_.a=0;_.b=0;var RN=sAc(461);R0(659,1,{},Zcb);_.Sh=function $cb(){return Ubb(this.a), -null};var SN=sAc(659);R0(663,1,{},_cb);_.Sh=function adb(){return Hbb(this.a,this.b)};var TN=sAc(663);R0(457,1,{},bdb);_.Sh=function cdb(){return Ibb(this.a,this.b,this.d,this.c)};_.c=0;var UN=sAc(457);R0(660,1,{},ddb);_.Sh=function edb(){return Jbb(this.a)};var VN=sAc(660);R0(658,1,{},fdb);_.Sh=function gdb(){return Wbb(this.a),null};var WN=sAc(658);R0(657,1,{},hdb);_.Sh=function idb(){return Rbb(this.a),null};var XN=sAc(657);R0(454,1,GUc,jdb);_.Dd=function kdb(){return""+this.a.S++};var YN=sAc(454); -R0(448,1,{},ldb);_.Sh=function mdb(){return Kbb(this.a)};var ZN=sAc(448);R0(244,1,{444:1,244:1,3:1});_.Vh=function odb(){return PIb(this.Wh())};var oT=sAc(244);R0(139,244,{139:1,444:1,244:1,3:1},Cdb,Ddb,Edb);_.Yh=function Gdb(a){return tdb(this,a)};_.Zh=function Hdb(){return this.i};_.Th=function Idb(){return udb(this).c};_.ah=function Jdb(){return this.i.a};_.Uh=function Kdb(){return udb(this).f};_.Wh=function Ldb(){return wdb(this)};_.$h=function Mdb(){return this.a.$h()};_.Xh=function Ndb(){return udb(this).i}; -_.Cd=function Odb(){return this.i.a};_.g=false;var aO=sAc(139);R0(742,1,{},Sdb);var $N=sAc(742);R0(159,11,{159:1,3:1,20:1,11:1},$db);var Tdb,Udb,Vdb,Wdb,Xdb,Ydb;var _N=tAc(159,dZ,_db);R0(166,1,hXc,reb);_.Cd=function teb(){var a;a=yd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(xd(new zd((lAc(qO), -qO.n))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",EXc),"ambiguateProperties",""+this.f),"angularPass",""+this.g),"anonymousFunctionNaming",this.i),"assumeClosuresOnlyCaptureReferences",""+this.j),"assumeGettersArePure",""+this.k),"assumeStrictThis",""+this.n),"browserResolverPrefixReplacements",this.p),"brokenClosureRequiresLevel",this.o),"checkDeterminism",""+this.q),"checkGlobalNamesLevel", -this.r),"checkGlobalThisLevel",this.s),"checkMissingGetCssNameBlacklist",this.t),"checkMissingGetCssNameLevel",this.u),"checksOnly",""+this.B),"checkSuspiciousCode",""+this.v),"checkSymbols",""+this.w),dYc,""+this.A),"closurePass",""+this.D),"coalesceVariableNames",""+this.F),"codingConvention",this.G),"collapseAnonymousFunctions",""+this.H),eYc,""+this.I),"collapseProperties",this.J),"collapseVariableDeclarations",""+this.K),"colorizeErrorOutput",""+this.L),"computeFunctionSideEffects",""+this.M), -"conformanceConfigs",this.N),"conformanceRemoveRegexFromPath",this.O),"continueAfterErrors",EXc),"convertToDottedProperties",""+this.P),"crossChunkCodeMotion",""+this.Q),"crossChunkCodeMotionNoStubMethods",""+this.R),"crossChunkMethodMotion",""+this.S),"cssRenamingMap",this.T),"cssRenamingWhitelist",this.U),"customPasses",this.V),"dartPass",""+this.W),"deadAssignmentElimination",""+this.X),"debugLogDirectory",this.Y),"declaredGlobalExternsOnWindow",""+this.Z),"defineReplacements",seb(this.$)),"dependencyOptions", +_.Zd=function ri(a){var b,c,d;if(a.Wd())return false;d=(ei(this),this.d.$d());b=this.d.Zd(a);if(b){c=this.d.$d();this.f.d+=c-d;fi(this)}return b};_.$d=function si(){return gi(this)};_._d=function ti(){return ei(this),this.d._d()};_.Cd=function ui(){ei(this);return X0(this.d)};var mI=uAc(305);S0(524,305,BUc,vi);_._d=function Bi(){return ei(this),this.d._d()};_.de=function wi(a,b){var c;ei(this);c=this.d.Wd();this.d.de(a,b);++this.a.d;c&&di(this)};_.ee=function xi(a){ei(this);return this.d.ee(a)};_.fe= +function yi(){ei(this);return new Ni(this)};_.ge=function zi(a){ei(this);return new Oi(this,a)};_.he=function Ai(a){var b;ei(this);b=this.d.he(a);--this.a.d;fi(this);return b};_.je=function Ci(a,b){ei(this);return Zf(this.a,this.e,this.d.je(a,b),!this.b?this:this.b)};var oI=uAc(524);S0(916,524,RUc,Di);var kI=uAc(916);S0(398,1,pUc,Hi);_.Id=function Ji(a){wNc(this,a)};_.Jd=function Ki(){Gi(this);return this.b.Jd()};_.Kd=function Li(){Gi(this);return this.b.Kd()};_.Ld=function Mi(){Fi(this)};var lI= +uAc(398);S0(525,398,SUc,Ni,Oi);_.Ld=function Si(){Fi(this)};_.qe=function Pi(a){var b;b=gi(this.a)==0;(Gi(this),this.b).qe(a);++this.a.a.d;b&&di(this.a)};_.re=function Qi(){return(Gi(this),this.b).re()};_.se=function Ri(){return(Gi(this),this.b).se()};var nI=uAc(525);S0(523,305,TUc,Ti);_._d=function Wi(){return ei(this),this.d._d()};_.Se=function Ui(){return this.Te().Se()};_.Te=function Vi(){return this.d};var rI=uAc(523);S0(915,523,UUc,Xi);_.Te=function Yi(){return this.d};var pI=uAc(915);S0(522, +305,OUc,Zi);_._d=function _i(){return ei(this),this.d._d()};_.Zd=function $i(a){var b,c,d;if(a.Wd())return false;d=(ei(this),this.d.$d());b=nB(this.d,a);if(b){c=this.d.$d();this.a.d+=c-d;fi(this)}return b};var qI=uAc(522);S0(1152,xUc,{164:1,16:1,18:1});_.Vd=function kj(a){Pd(a);this.Je().Vd(new AA(a))};_.$e=function lj(a){Pd(a);this.Je().Vd(new yA(a))};_._d=function tj(){var a;return a=this.Je()._d(),ql(a,new LA,64|a.rf()&1296,this.$d())};_.Qd=function dj(a){return this.Ue(a,1),true};_.Ue=function ej(a, +b){throw q0(new JCc);};_.Rd=function fj(a){return Pd(this),Pd(a),lH(a,164)?CA(this,a):!a.Wd()&&Fv(this,a.Xd())};_.Td=function gj(a){return this.Ve(a)>0};_.Ye=function hj(){return aj(this)};_.Je=function ij(){return bj(this)};_.zd=function jj(a){return DA(this,a)};_.Bd=function mj(){return zb(this.Je())};_.Wd=function nj(){return this.Je().Wd()};_.Yd=function oj(a){return this._e(a,1)>0};_._e=function pj(a,b){throw q0(new JCc);};_.Zd=function qj(a){return cj(this,a)};_.af=function rj(a,b){var c,d; +return pl(b,"count"),c=this.Ve(a),d=b-c,d>0?this.Ue(a,d):d<0&&this._e(a,-d),c};_.bf=function sj(a,b,c){return FA(this,a,b,c)};_.Cd=function uj(){return X0(this.Je())};var DI=uAc(1152);S0(389,1152,WUc);_.Ue=function zj(a,b){return vj(this,a,b)};_.Sd=function Aj(){var a,b,c,d;for(c=(d=(new oEc(this.a)).a.Je().Xd(),new tEc(d));c.a.Jd();){b=(a=c.a.Kd(),a.gf());b.a=0}this.a.Sd();this.b=0};_.Ve=function Bj(a){return wj(this,a)};_.We=function Cj(){return this.a.$d()};_.Xe=function Dj(){var a;a=this.a.Je().Xd(); +return new Mj(this,a)};_.Ze=function Ej(){var a;a=this.a.Je().Xd();return new Rj(this,a)};_.Je=function Fj(){return bj(this)};_.$e=function Gj(a){Pd(a);sOc(this.a,new fk(a))};_.Xd=function Ij(){return new ak(this)};_._e=function Jj(a,b){var c,d,e,f;if(b==0)return d=dz(this.a,a),!d?0:d.a;Jd(b>0,VUc,b);c=this.a.Le(a);if(!c)return 0;f=c.a;if(f>b)e=b;else{e=f;this.a.Ne(a)}c.a+=-e;this.b=F0(this.b,e);return f};_.af=function Kj(a,b){return xj(this,a,b)};_.$d=function Lj(){return RD(this.b)};_.b=0;var yI= +uAc(389);S0(890,1,pUc,Mj);_.Id=function Nj(a){wNc(this,a)};_.Jd=function Oj(){return this.c.Jd()};_.Kd=function Pj(){var a;a=this.c.Kd();this.b=a;return a.ff()};_.Ld=function Qj(){Vd(!!this.b,QUc);this.a.b=F0(this.a.b,im(this.b.gf(),0));this.c.Ld();this.b=null};var tI=uAc(890);S0(891,1,pUc,Rj);_.Id=function Sj(a){wNc(this,a)};_.Kd=function Uj(){var a;return a=this.c.Kd(),this.b=a,new Zj(this,a)};_.Jd=function Tj(){return this.c.Jd()};_.Ld=function Vj(){Vd(!!this.b,QUc);this.a.b=F0(this.a.b,im(this.b.gf(), +0));this.c.Ld();this.b=null};var vI=uAc(891);var CL=wAc();S0(1153,1,{221:1});_.zd=function Wj(a){var b;if(lH(a,221)){b=a;return this.cf()==b.cf()&&Cd(this.df(),b.df())}return false};_.Bd=function Xj(){var a;a=this.df();return(a==null?0:zb(a))^this.cf()};_.Cd=function Yj(){var a,b;b=pCc(this.df());a=this.cf();return a==1?b:b+" x "+a};var GL=uAc(1153);S0(892,1153,{221:1},Zj);_.cf=function $j(){var a,b;a=this.b.gf();if(!a||a.a==0){b=this.a.a.a.Le(this.b.ff());if(b)return b.a}return!a?0:a.a};_.df=function _j(){return this.b.ff()}; +var uI=uAc(892);S0(889,1,pUc,ak);_.Id=function bk(a){wNc(this,a)};_.Jd=function ck(){return this.d>0||this.c.Jd()};_.Kd=function dk(){if(this.d==0){this.b=this.c.Kd();this.d=this.b.gf().a}--this.d;this.a=true;return this.b.ff()};_.Ld=function ek(){var a;Vd(this.a,QUc);a=this.b.gf().a;if(a<=0)throw q0(new fLc);(this.b.gf().a+=-1)==0&&this.c.Ld();this.e.b=F0(this.e.b,1);this.a=false};_.a=false;_.d=0;var wI=uAc(889);S0(893,1,{},fk);_.ef=function gk(a,b){GA(this.a,a,b.a)};var xI=uAc(893);var Z$=wAc(); +S0(176,1,XUc);_.zd=function hk(a){var b;if(lH(a,51)){b=a;return Cd(this.ff(),b.ff())&&Cd(this.gf(),b.gf())}return false};_.Bd=function ik(){var a,b;a=this.ff();b=this.gf();return(a==null?0:zb(a))^(b==null?0:zb(b))};_.hf=function jk(a){throw q0(new JCc);};_.Cd=function kk(){return this.ff()+"="+this.gf()};var zI=uAc(176);S0(1154,1136,OUc);_.Sd=function lk(){this.a.Sd()};_.Td=function mk(a){return this.a.Ve(a)>0};_.Ud=function nk(a){return Pc(this.a,a)};_.Wd=function ok(){return this.a.Je().Wd()};_.Yd= +function pk(a){return this.a._e(a,mUc)>0};_.$d=function qk(){return this.a.Je().$d()};var HL=uAc(1154);S0(894,1154,OUc,rk);_.Xd=function sk(){return this.a.Xe()};var BI=uAc(894);S0(1155,1136,OUc);_.Sd=function tk(){this.a.Sd()};_.Td=function uk(a){var b,c;if(lH(a,221)){c=a;if(c.cf()<=0)return false;b=this.a.Ve(c.df());return b==c.cf()}return false};_.Yd=function vk(a){var b,c,d,e;if(lH(a,221)){c=a;b=c.df();d=c.cf();if(d!=0){e=this.a;return FA(e,b,d,0)}}return false};var IL=uAc(1155);S0(895,1155,OUc, +wk);_.Xd=function xk(){return this.a.Ze()};_.$d=function yk(){return this.a.We()};var CI=uAc(895);S0(397,519,LUc);_.Ae=function Bk(){return this.jf()};_.Ce=function Ck(){return LHc(),LHc(),KHc};_.xe=function Ek(a){return Vf(this,a)};_.ze=function Gk(a){return Xf(this,a)};_.te=function Ak(){var a;return a=this.f,!a?this.f=this.ve():a};_.zd=function Dk(a){return Vz(this,a)};_.kf=function Fk(a){return Vf(this,a)};_.lf=function Hk(a){return Xf(this,a)};_.De=function Ik(a){return LHc(),new UJc(a)};_.Ee= +function Jk(a,b){return new Zi(this,a,b)};var EI=uAc(397);S0(1165,1,{640:1});_.nf=function Kk(){var a;return a=this.d,!a?this.d=new Pk(this):a};_.Sd=function Lk(){Hv(this.nf().a.mf())};_.zd=function Mk(a){return TC(this,a)};_.Bd=function Nk(){return NHc(this.nf())};_.Cd=function Ok(){return Bg(this.pf())};var GI=uAc(1165);S0(614,NUc,OUc,Pk);_.Sd=function Qk(){this.a.Sd()};_.Td=function Rk(a){var b,c;if(lH(a,219)){b=a;c=dz(this.a.pf(),b.b);return!!c&&$l(c.Je(),new or(b.a,b.c))}return false};_.Xd=function Sk(){return this.a.mf()}; +_.Yd=function Tk(a){var b,c;if(lH(a,219)){b=a;c=dz(this.a.pf(),b.b);return!!c&&_l(c.Je(),new or(b.a,b.c))}return false};_.$d=function Uk(){return this.a.$d()};_._d=function Vk(){return this.a.of()};var FI=uAc(614);S0(1173,1157,{102:1});var HI=uAc(1173);var Wk;S0(805,1,{},Yk);_.Dd=function Zk(){return On(),new vs};var II=uAc(805);S0(812,1,{},$k);_.ef=function _k(a,b){fGc(a.b,Pd(b))};var JI=uAc(812);S0(813,1,PUc,al);_.Pd=function bl(a){return Qu(a.a,new HGc(a.b))};var KI=uAc(813);S0(806,1,{},cl);_.ef= +function dl(a,b){ts(a,b)};var LI=uAc(806);S0(807,1,PUc,el);_.Pd=function fl(a){return Wn(a.a)};var MI=uAc(807);S0(808,1,{},gl);_.Dd=function hl(){return on(),new bu};var NI=uAc(808);S0(809,1,{},il);_.ef=function jl(a,b){a.Zf(b)};var OI=uAc(809);S0(810,1,PUc,kl);_.Pd=function ll(a){return a._f()};var QI=uAc(810);S0(811,1,{},ml);_.Dd=function nl(){return Xk(),new Xu(this.a)};var RI=uAc(811);S0(835,1,ZUc,ul);_.tf=function yl(a){return(this.a.rf()&-262&a)!=0};_.rf=function vl(){return this.a.rf()&-262}; +_.sf=function wl(){return this.a.sf()};_.Id=function xl(a){this.a.Id(new Cl(a,this.b))};_.uf=function zl(a){return this.a.uf(new Al(a,this.b))};var XI=uAc(835);S0(836,1,{},Al);_.vf=function Bl(a){this.a.vf(this.b.Pd(a))};var SI=uAc(836);S0(837,1,{},Cl);_.vf=function Dl(a){this.a.vf(this.b.Pd(a))};var TI=uAc(837);S0(504,1,ZUc,El);_.tf=function Il(a){return((16464|this.b)&a)!=0};_.rf=function Fl(){return 16464|this.b};_.sf=function Gl(){return this.a.sf()};_.Id=function Hl(a){this.a.Ck(new Ml(a,this.c))}; +_.uf=function Jl(a){return this.a.Dk(new Kl(a,this.c))};_.b=0;var WI=uAc(504);S0(833,1,{},Kl);_.wf=function Ll(a){this.a.vf(this.b.ag(a))};var UI=uAc(833);S0(834,1,{},Ml);_.wf=function Nl(a){this.a.vf(this.b.ag(a))};var VI=uAc(834);S0(829,1,ZUc);_.tf=function Tl(a){return(this.a&a)!=0};_.rf=function Ql(){return this.a};_.sf=function Rl(){!!this.e&&(this.b=vBc(this.b,this.e.sf()));return vBc(this.b,0)};_.Id=function Sl(a){if(this.e){this.e.Id(a);this.e=null}this.c.Id(new Xl(this,a));this.b=0};_.uf= +function Ul(a){while(true){if(!!this.e&&this.e.uf(a)){D0(this.b,$Uc)&&(this.b=F0(this.b,1));return true}else this.e=null;if(!this.c.uf(new Vl(this)))return false}};_.a=0;_.b=0;var _I=uAc(829);S0(831,1,{},Vl);_.vf=function Wl(a){Ol(this.a,a)};var YI=uAc(831);S0(832,1,{},Xl);_.vf=function Yl(a){Pl(this.a,this.b,a)};var ZI=uAc(832);S0(830,829,ZUc,Zl);var $I=uAc(830);S0(245,1,{245:1,113:1});_.zd=function am(a){return this===a};_.zf=function cm(){return new bLc(this)};_.yf=function bm(){return new TA(this)}; +var NL=uAc(245);S0(368,245,{368:1,245:1,3:1,113:1},dm);_.xf=function em(a,b){return this.a.xf(a,b)};_.zd=function fm(a){var b;if(a===this)return true;if(lH(a,368)){b=a;return this.a.zd(b.a)}return false};_.Bd=function gm(){return zb(this.a)};_.Cd=function hm(){return X0(this.a)};var aJ=uAc(368);S0(313,1,{313:1,3:1},jm);_.zd=function km(a){return lH(a,313)&&a.a==this.a};_.Bd=function lm(){return this.a};_.Cd=function mm(){return""+this.a};_.a=0;var bJ=uAc(313);S0(1089,1173,LUc);_.te=function nm(){return this.a}; +_.xe=function sm(a){return this.Af(a)};_.ye=function tm(){return this.a.Nf()};_.ze=function vm(a){return this.Bf(a)};_.Sd=function om(){throw q0(new JCc);};_.ue=function pm(a){return cp(this.a,a)};_.ve=function qm(){throw q0(new Uzc("should never be called"));};_.we=function rm(){throw q0(new Uzc(_Uc));};_.Bf=function um(a){throw q0(new JCc);};_.$d=function wm(){return this.b};_.b=0;var dK=uAc(1089);S0(635,1089,LUc,zm);_.te=function Am(){return this.a};_.zd=function Bm(a){return Vz(this,a)};_.Af= +function Dm(a){return xm(this,a)};_.xe=function Em(a){var b;return b=ep(this.a,a),!b?(On(),On(),Nn):b};_.Fe=function Fm(a){var b;return b=ep(this.a,a),!b?(On(),On(),Nn):b};_.Bf=function Gm(a){return ym()};_.ze=function Hm(a){return ym()};_.Ge=function Im(a){return ym()};var SJ=uAc(635);S0(1096,635,LUc,Lm);var Jm;var cJ=uAc(1096);S0(288,1,HUc);_.Vd=function Om(a){iBc(this,a)};_._d=function Pm(){return new FOc(this.Xd())};_.Cd=function Qm(){return Ov(Qd(this,oUc).Xd())};var gJ=uAc(288);S0(747,288,HUc, +Rm);_.Xd=function Sm(){return new kw(Pv(ov(this.a),new lv))};var dJ=uAc(747);S0(748,288,HUc,Um);_.Xd=function Vm(){return Tm(this)};var fJ=uAc(748);S0(456,272,KUc,Wm);_.ee=function Xm(a){return this.a[a].Xd()};var eJ=uAc(456);S0(1130,1,{});_.Cd=function Ym(){return X0(this.Cf())};var oJ=uAc(1130);S0(1131,1130,yUc);_.Cf=function cn(){return this.Df()};_.Vd=function dn(a){iBc(this,a)};_._d=function kn(){return new EOc(this,0)};_.ae=function ln(){return new XSc(null,this._d())};_.Qd=function Zm(a){return this.Df(), +GIc()};_.Rd=function $m(a){return this.Df(),HIc()};_.Sd=function _m(){this.Df(),IIc()};_.Td=function an(a){return this.Df().Td(a)};_.Ud=function bn(a){return this.Df().Ud(a)};_.Wd=function en(){return this.Df().b.Wd()};_.Xd=function fn(){return this.Df().Xd()};_.Yd=function gn(a){return this.Df(),LIc()};_.Zd=function hn(a){return this.Df(),MIc()};_.$d=function jn(){return this.Df().b.$d()};_.be=function mn(){return this.Df().be()};_.ce=function nn(a){return this.Df().ce(a)};var hJ=uAc(1131);S0(54, +xUc,aVc);_.Xd=function An(){return this.Gf()};_.Qd=function un(a){return pn()};_.Rd=function vn(a){throw q0(new JCc);};_.Ef=function wn(){return qn(this)};_.Sd=function xn(){throw q0(new JCc);};_.Td=function yn(a){return a!=null&&Nc(this,a,false)};_.Ff=function zn(){return rn(this)};_.Yd=function Bn(a){return sn()};_.Zd=function Cn(a){return tn()};var MJ=uAc(54);S0(474,54,aVc,Dn);_.Xd=function In(){return Qv(this.a.Xd())};_.Td=function En(a){return a!=null&&this.a.Td(a)};_.Ud=function Fn(a){return this.a.Ud(a)}; +_.Wd=function Gn(){return this.a.Wd()};_.Gf=function Hn(){return Qv(this.a.Xd())};_.$d=function Jn(){return this.a.$d()};_.be=function Kn(){return this.a.be()};_.ce=function Ln(a){return this.a.ce(a)};_.Cd=function Mn(){return X0(this.a)};var iJ=uAc(474);S0(106,54,bVc);_.Xd=function _n(){return this.Gf()};_.fe=function ao(){return this.Hf(0)};_.ge=function co(a){return this.Hf(a)};_._d=function ho(){return new EOc(this,16)};_.je=function jo(a,b){return this.If(a,b)};_.de=function Rn(a,b){throw q0(new JCc); +};_.Ef=function Tn(){return this};_.zd=function Yn(a){return my(this,a)};_.Bd=function Zn(){return ny(this)};_.Gf=function $n(){return this.Hf(0)};_.Hf=function bo(a){return Pn(this,a)};_.he=function go(a){throw q0(new JCc);};_.If=function io(a,b){var c;return ko((c=new wy(this),new $Dc(c,a,b)))};var Nn;var TJ=uAc(106);S0(1133,106,bVc);_.Xd=function vo(){return Qv(this.Jf().Xd())};_.je=function yo(a,b){return ko(this.Jf().je(a,b))};_.Td=function oo(a){return lo(this,a)};_.Ud=function po(a){return this.Jf().Ud(a)}; +_.zd=function qo(a){return mo(this,a)};_.ee=function ro(a){return no(this,a)};_.Bd=function so(){return zb(this.Jf())};_.Wd=function to(){return this.Jf().Wd()};_.Gf=function uo(){return Qv(this.Jf().Xd())};_.$d=function wo(){return this.Jf().$d()};_.If=function xo(a,b){return ko(this.Jf().je(a,b))};_.be=function zo(){return this.Jf().ce(vG(rZ,zUc,1,this.Jf().$d(),5,1))};_.ce=function Ao(a){return this.Jf().ce(a)};_.Cd=function Bo(){return X0(this.Jf())};var jJ=uAc(1133);S0(131,1,dVc);_.Je=function Qo(){return Eo(this)}; +_.Ke=function So(a){sOc(this,a)};_.ye=function Xo(){return this.Nf()};_.Oe=function bp(){return this.Of()};_.Sd=function Jo(){throw q0(new JCc);};_.ue=function Ko(a){return this.Le(a)!=null};_.Ie=function Lo(a){return this.Of().Td(a)};_.Lf=function No(){return new Ps(this)};_.Mf=function Oo(){return new Zs(this)};_.zd=function Ro(a){return _y(this,a)};_.Bd=function Uo(){return Eo(this).Bd()};_.Wd=function Vo(){return this.$d()==0};_.Nf=function Wo(){return Go(this)};_.Me=function Zo(a,b){return Ho()}; +_.Ne=function $o(a){throw q0(new JCc);};_.Cd=function _o(){return fz(this)};_.Of=function ap(){return Io(this)};_.e=null;_.f=null;_.g=null;var Co;var bK=uAc(131);S0(240,131,dVc);_.ue=function hp(a){return cp(this,a)};_.Ie=function ip(a){return zJc(this.d,a)};_.Kf=function jp(){return Mp(new xp(this))};_.Lf=function kp(){return Mp(CJc(this.d))};_.Mf=function lp(){return on(),new Dn(DJc(this.d))};_.zd=function mp(a){return dp(this,a)};_.Le=function np(a){return ep(this,a)};_.Bd=function op(){return zb(this.d.d)}; +_.Wd=function pp(){return this.d.d.Wd()};_.$d=function qp(){return this.d.d.$d()};_.Cd=function rp(){return X0(this.d.d)};var lJ=uAc(240);S0(1132,1131,OUc);_.Cf=function sp(){return this.Pf()};_.Df=function tp(){return this.Pf()};_._d=function wp(){return new EOc(this,1)};_.zd=function up(a){return a===this||this.Pf().zd(a)};_.Bd=function vp(){return this.Pf().Bd()};var pJ=uAc(1132);S0(707,1132,OUc,xp);_.Cf=function zp(){return AJc(this.a.d)};_.Df=function Ap(){return AJc(this.a.d)};_.Td=function yp(a){if(lH(a, +51)&&a.ff()==null)return false;return YJc(AJc(this.a.d),a)};_.Pf=function Bp(){return AJc(this.a.d)};_.ce=function Cp(a){var b;b=ZJc(AJc(this.a.d),a);AJc(this.a.d).b.$d()0||this.c.Jd()};_.Kd=function Jt(){var a;if(this.b<=0){a=this.c.Kd();this.a=a.df();this.b=a.cf()}--this.b; +return this.a};_.b=0;var eK=uAc(502);S0(501,1124,{},Lt);_.Uf=function Nt(a){return vj(this.a,Pd(a),1),this};var fK=uAc(501);S0(1149,109,eVc);_.Xd=function Qt(){var a;return(a=this.g,!a?this.g=new gu(this):a).Gf()};_.Ff=function Ot(){return new gu(this)};_.Gf=function Pt(){var a;return(a=this.g,!a?this.g=new gu(this):a).Gf()};var mK=uAc(1149);S0(375,1149,eVc,St);_.Td=function Tt(a){return ot(this.a,a)};_.$d=function Ut(){return this.b.Jf().$d()};var gK=uAc(375);S0(145,1148,eVc,Vt);_.Yf=function Xt(a){return zw(this.a, +a)};_.Td=function Wt(a){var b,c;if(lH(a,221)){c=a;if(c.cf()<=0)return false;b=xw(this.a,c.df());return b==c.cf()}return false};_.Bd=function Yt(){return qt(this.a)};_.$d=function Zt(){return yw(this.a).b.Jf().$d()};var hK=uAc(145);S0(117,1124,{117:1},bu);_.Uf=function cu(a){return this.Zf(a)};_.Zf=function du(a){return $t(this,a)};_.$f=function eu(a){return au(this,a)};_._f=function fu(){return Ep(new HGc(this.b))};var kK=uAc(117);S0(342,1125,bVc,gu);_.Tf=function hu(){return this.a};_.ee=function iu(a){return Rt(this.a, +a)};var lK=uAc(342);S0(371,1125,bVc,ku);_.ge=function ou(a){return Pn(this.b,a)};_.Tf=function lu(){return this.a};_.ee=function mu(a){return no(this.b,a)};_.Hf=function nu(a){return Pn(this.b,a)};var OL=uAc(371);S0(1009,371,bVc,pu);_.Tf=function ru(){return this.a};_.Xd=function su(){return Pn(this.b,0)};_.Td=function qu(a){return(a==null?-1:oy(this,a))>=0};_._d=function tu(){return sl(this.a.b.b.$d(),new uu(this.b),this.a.a.a.Se())};var pK=uAc(1009);S0(1010,1,{},uu);_.ag=function vu(a){return no(this.a, +a)};var oK=uAc(1010);S0(374,240,{131:1,374:1,3:1,52:1},xu);_.Lf=function yu(){return Pu(this.a,CJc(this.c))};_.Nf=function zu(){var a;return a=this.b,!a?this.b=Pu(this.a,CJc(this.c)):a};_.ye=function Au(){var a;return a=this.b,!a?this.b=Pu(this.a,CJc(this.c)):a};var rK=uAc(374);S0(814,130,{},Fu);_.Vf=function Gu(){return Du(this)};_.Wf=function Hu(a,b){return fGc(this.b,(Do(),ol(a,b),new or(a,b))),this};_.Xf=function Iu(a){return Ds(this,a),this};var qK=uAc(814);S0(404,348,{54:1,109:1,404:1,3:1,16:1, +18:1,35:1,152:1});_.Xd=function Su(){return Qv(new eJc(this.b.b.Xd()))};_._d=function Tu(){return new MOc(this)};_.Se=function Mu(){return this.a.a.Se()};_.Td=function Nu(a){return a!=null&&JIc(this.a,a)};_.Ud=function Ou(a){var b,c;for(c=a.Xd();c.Jd();){b=c.Kd();if(b==null)return false}return KIc(this.a,a)};_.Gf=function Ru(){return Qv(new eJc(this.b.b.Xd()))};_.be=function Uu(){return ZA(this,vG(rZ,zUc,1,this.b.b.$d(),5,1))};_.ce=function Vu(a){return $A(this,a)};var Ju,Ku;var tK=uAc(404);S0(482, +117,{117:1,482:1},Xu);_.Uf=function Yu(a){return fGc(this.b,Pd(a)),this};_.Zf=function Zu(a){return fGc(this.b,Pd(a)),this};_.$f=function $u(a){return au(this,a),this};_._f=function _u(){return Qu(this.a,new HGc(this.b))};var sK=uAc(482);S0(828,1,{},av);_.ag=function bv(a){return this.a.Yf(a)};var uK=uAc(828);S0(503,1125,bVc,cv);_.Tf=function dv(){return this.a};_.ee=function ev(a){return this.a.Yf(a)};_.$d=function fv(){return this.a.$d()};var vK=uAc(503);S0(115,1,pVc,lv);_.Pd=function mv(a){return a.Xd()}; +_.zd=function nv(a){return this===a};var xK=uAc(115);S0(743,288,HUc,pv);_.Vd=function qv(a){Pd(a);this.a.Vd(new tv(a,this.b))};_.Xd=function rv(){return ov(this)};_._d=function sv(){return tl(this.a._d(),this.b)};var zK=uAc(743);S0(744,1,{},tv);_.vf=function uv(a){this.a.vf(this.b.Pd(a))};var yK=uAc(744);S0(745,288,HUc,wv);_.Xd=function xv(){return vv(this)};_._d=function yv(){return WSc(TSc(SC(this.a),this.b))};_.b=0;var BK=uAc(745);S0(746,1,pUc,Av);_.Id=function Bv(a){wNc(this,a)};_.Jd=function Cv(){return Lb(this.b)}; +_.Kd=function Dv(){return zv(this)};_.Ld=function Ev(){Vd(!this.a,QUc);Nb()};_.a=true;var AK=uAc(746);S0(764,97,JUc,Rv);_.Jd=function Sv(){return this.a.Jd()};_.Kd=function Tv(){return this.a.Kd()};var DK=uAc(764);S0(485,97,JUc,Uv);_.Jd=function Vv(){return!this.a};_.Kd=function Wv(){if(this.a)throw q0(new uOc);this.a=true;return this.b};_.a=false;var CK=uAc(485);S0(287,1,pUc);_.Id=function Yv(a){wNc(this,a)};_.Jd=function Zv(){return this.b.Jd()};_.Kd=function $v(){return this.bg(this.b.Kd())};_.Ld= +function _v(){this.b.Ld()};var oM=uAc(287);S0(765,287,pUc,bw);_.bg=function cw(a){return aw(this,a)};var EK=uAc(765);S0(763,272,KUc,fw);_.ee=function gw(a){return this.a[this.b+a]};_.b=0;var dw;var FK=uAc(763);S0(86,1,{86:1,32:1},kw);_.Id=function lw(a){wNc(this,a)};_.Jd=function mw(){return iw(this)};_.Kd=function nw(){return jw(this)};_.Ld=function ow(){Vd(!!this.c,QUc);this.c.Ld();this.c=null};var GK=uAc(86);S0(360,11,{360:1,3:1,20:1,11:1,32:1},rw);_.Id=function sw(a){wNc(this,a)};_.Jd=function tw(){return false}; +_.Kd=function uw(){throw q0(new uOc);};_.Ld=function vw(){Vd(false,QUc)};var pw;var HK=vAc(360,eZ,ww);S0(972,1162,oVc,Aw);_.Ye=function Dw(){var a;return a=this.b,!a?this.b=new St(this.c,this):a};_.Ve=function Bw(a){return xw(this,a)};_.$d=function Ew(){return RD(this.d)};_.d=0;var IK=uAc(972);S0(986,397,LUc);var MK=uAc(986);S0(310,986,LUc,Iw);_.Ae=function Kw(){return $y(this.b),new iOc};_.Sd=function Jw(){Gw(this)};_.jf=function Lw(){return $y(this.b),new iOc};_.Be=function Mw(a){return new Ww(this, +a,this.b)};_.ye=function Nw(){return Hw(this)};_.b=2;var NK=uAc(310);S0(253,75,{176:1,75:1,253:1,1181:1,3:1,51:1},Qw);_.cg=function Rw(){return this.f};_.dg=function Sw(a){this.c=a};_.eg=function Tw(a){this.f=a};_.d=0;var JK=uAc(253);S0(987,1136,{1181:1,16:1,18:1,35:1},Ww);_.Qd=function Xw(a){var b,c,d,e,f;f=I0(B0(iVc,cBc(I0(B0(a==null?0:zb(a),jVc)),15)));b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Cd(c.i,a))return false;d=new Qw(this.c,a,f,e);Pw(this.d,d);d.f=this;this.d=d;Ow(this.g.a.b, +d);Ow(d,this.g.a);this.b[b]=d;++this.f;++this.e;Uw(this);return true};_.Sd=function Yw(){var a,b;SGc(this.b);this.f=0;for(a=this.a;a!=this;a=a.cg()){b=a;Ow(b.b,b.e)}this.a=this;this.d=this;++this.e};_.Td=function Zw(a){var b,c;c=I0(B0(iVc,cBc(I0(B0(a==null?0:zb(a),jVc)),15)));for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Cd(b.i,a))return true;return false};_.Vd=function $w(a){var b;Pd(a);for(b=this.a;b!=this;b=b.cg())a.vf(b.i)};_.cg=function _w(){return this.a};_.Xd=function ax(){return new gx(this)}; +_.Yd=function bx(a){return Vw(this,a)};_.dg=function cx(a){this.d=a};_.eg=function dx(a){this.a=a};_.$d=function ex(){return this.f};_.e=0;_.f=0;var LK=uAc(987);S0(988,1,pUc,gx);_.Id=function hx(a){wNc(this,a)};_.Jd=function ix(){return fx(this),this.b!=this.c};_.Kd=function jx(){var a,b;fx(this);if(this.b==this.c)throw q0(new uOc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Ld=function kx(){fx(this);Vd(!!this.d,QUc);Vw(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var KK=uAc(988);S0(515, +389,WUc,lx,mx);var OK=uAc(515);S0(517,1157,LUc,rx);_.te=function sx(){var a;return a=this.f,!a?this.f=new Xz(this):a};_.zd=function yx(a){return Vz(this,a)};_.xe=function zx(a){return new Kx(this,a)};_.ze=function Cx(a){return px(this,a)};_.Sd=function ux(){this.a=null;this.e=null;mDc(this.b);this.d=0;++this.c};_.ue=function vx(a){return ox(this,a)};_.ve=function wx(){return new Xz(this)};_.we=function xx(){return new Nx(this)};_.Fe=function Ax(a){return new Kx(this,a)};_.Wd=function Bx(){return!this.a}; +_.Ge=function Dx(a){return px(this,a)};_.$d=function Ex(){return this.d};_.c=0;_.d=0;var VK=uAc(517);S0(1138,AUc,BUc);_.de=function Fx(a,b){var c;c=this.ge(a);c.qe(b)};_.ee=function Gx(b){var c;c=this.ge(b);try{return c.Kd()}catch(a){a=p0(a);if(lH(a,73))throw q0(new Pzc("Can't get element "+b));else throw q0(a);}};_.Xd=function Hx(){return new ey(this.a,this.b,0)};_.he=function Ix(b){var c,d;c=this.ge(b);try{d=c.Kd();c.Ld();return d}catch(a){a=p0(a);if(lH(a,73))throw q0(new Pzc("Can't remove element "+ +b));else throw q0(a);}};var XZ=uAc(1138);S0(304,1138,BUc,Kx);_.ge=function Lx(a){return Jx(this,a)};_.$d=function Mx(){var a;a=fDc(this.a.b,this.b);return!a?0:a.a};var QK=uAc(304);S0(518,1136,OUc,Nx);_.Td=function Ox(a){return ox(this.a,a)};_.Xd=function Px(){return new Tx(this.a)};_.Yd=function Qx(a){return!px(this.a,a).a.Wd()};_.$d=function Rx(){return nDc(this.a.b)};var PK=uAc(518);S0(910,1,pUc,Tx);_.Id=function Ux(a){wNc(this,a)};_.Jd=function Vx(){Sx(this);return!!this.c};_.Kd=function Wx(){Sx(this); +tx(this.c);this.a=this.c;sMc(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!sMc(this.d,this.c.a));return this.a.a};_.Ld=function Xx(){Sx(this);Vd(!!this.a,QUc);Hv(new dy(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var RK=uAc(910);S0(396,1,{396:1},Yx);_.a=0;var SK=uAc(396);S0(909,176,XUc,Zx);_.ff=function $x(){return this.a};_.gf=function _x(){return this.f};_.hf=function ay(a){var b;b=this.f;this.f=a;return b};var TK=uAc(909);S0(248,1,SUc,dy,ey);_.Id=function gy(a){wNc(this,a)};_.qe= +function fy(a){this.e=nx(this.f,this.b,a,this.c);++this.d;this.a=null};_.Jd=function hy(){return!!this.c};_.re=function iy(){return!!this.e};_.Kd=function jy(){return by(this)};_.se=function ky(){return cy(this)};_.Ld=function ly(){Vd(!!this.a,QUc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;qx(this.f,this.a);this.a=null};_.d=0;var UK=uAc(248);S0(750,AUc,BUc);_.de=function ry(a,b){this.a.de(a,b)};_.Td=function sy(a){return this.a.Td(a)};_.ee=function ty(a){return this.a.ee(a)}; +_.he=function uy(a){return this.a.he(a)};_.$d=function vy(){return this.a.$d()};var XK=uAc(750);S0(751,750,RUc);var YK=uAc(751);S0(753,751,RUc,wy);_.ge=function xy(a){return this.a.ge(a)};var WK=uAc(753);S0(173,AUc,{173:1,16:1,18:1,53:1},By);_.de=function Cy(a,b){this.a.de(Ay(this,a),b)};_.Sd=function Dy(){this.a.Sd()};_.ee=function Ey(a){return this.a.ee(zy(this,a))};_.Xd=function Fy(){return yy(this,0)};_.ge=function Gy(a){return yy(this,a)};_.he=function Hy(a){return this.a.he(zy(this,a))};_.ie= +function Iy(a,b){(Td(a,b,this.a.$d()),qy(this.a.je(Ay(this,b),Ay(this,a)))).Sd()};_.$d=function Jy(){return this.a.$d()};_.je=function Ky(a,b){return Td(a,b,this.a.$d()),qy(this.a.je(Ay(this,b),Ay(this,a)))};var _K=uAc(173);S0(483,173,{173:1,16:1,18:1,53:1,69:1},Ly);var ZK=uAc(483);S0(752,1,SUc,My);_.Id=function Oy(a){wNc(this,a)};_.qe=function Ny(a){this.b.qe(a);this.b.se();this.a=false};_.Jd=function Py(){return this.b.re()};_.re=function Qy(){return this.b.Jd()};_.Kd=function Ry(){if(!this.b.re())throw q0(new uOc); +this.a=true;return this.b.se()};_.se=function Sy(){if(!this.b.Jd())throw q0(new uOc);this.a=true;return this.b.Kd()};_.Ld=function Ty(){Vd(this.a,QUc);this.b.Ld();this.a=false};_.a=false;var $K=uAc(752);S0(356,106,bVc,Uy);_.ee=function Vy(a){return Od(a,this.a.length),jAc(JBc(this.a,a))};_.je=function Yy(a,b){return Td(a,b,this.a.length),new Uy(Pd(dCc(this.a,a,b)))};_.$d=function Wy(){return this.a.length};_.If=function Xy(a,b){return Td(a,b,this.a.length),new Uy(Pd(dCc(this.a,a,b)))};var aL=uAc(356); +S0(738,287,pUc,hz);_.bg=function iz(a){return a.ff()};var bL=uAc(738);S0(739,287,pUc,jz);_.bg=function kz(a){return a.gf()};var cL=uAc(739);S0(740,287,pUc,lz);_.bg=function mz(a){return new or(a,this.a.Pd(a))};var dL=uAc(740);S0(735,1137,OUc,nz);_.Vd=function oz(a){Bq(this.a,a)};_.Xd=function pz(){return this.a.Ze()};_.Re=function qz(){return this.a};_._d=function rz(){return this.a.Rf()};var fL=uAc(735);S0(736,1,{},sz);_.ef=function tz(a,b){this.a.vf(a)};var hL=uAc(736);S0(734,xUc,yUc,uz);_.Sd=function vz(){this.a.Sd()}; +_.Td=function wz(a){return this.a.Ie(a)};_.Vd=function xz(a){Pd(a);this.a.Ke(new Dz(a))};_.Wd=function yz(){return this.a.Wd()};_.Xd=function zz(){return new jz(this.a.Je().Xd())};_.Yd=function Az(b){var c,d;try{return Nc(this,b,true)}catch(a){a=p0(a);if(lH(a,28)){for(d=this.a.Je().Xd();d.Jd();){c=d.Kd();if(Cd(b,c.gf())){this.a.Ne(c.ff());return true}}return false}else throw q0(a);}};_.Zd=function Bz(b){var c,d,e;try{return Qc(this,Pd(b))}catch(a){a=p0(a);if(lH(a,28)){e=new vMc;for(d=this.a.Je().Xd();d.Jd();){c= +d.Kd();b.Td(c.gf())&&sMc(e,c.ff())}return this.a.ye().Zd(e)}else throw q0(a);}};_.$d=function Cz(){return this.a.$d()};var kL=uAc(734);S0(737,1,{},Dz);_.ef=function Ez(a,b){this.a.vf(b)};var jL=uAc(737);S0(1167,1,{});var wL=uAc(1167);S0(1170,1,{});var uL=uAc(1170);S0(319,1170,{},Iz);_.a=0;var mL=uAc(319);S0(1E3,1,hVc,Jz);_.Dd=function Kz(){return new qGc};var nL=uAc(1E3);S0(1001,1,hVc,Lz);_.Dd=function Mz(){return $y(this.a),new wMc};_.a=0;var oL=uAc(1001);S0(1002,1,hVc,Nz);_.Dd=function Oz(){return $y(this.a), +new iOc};_.a=0;var pL=uAc(1002);S0(1168,1167,{});var qL=uAc(1168);S0(1003,1168,{},Qz);_.b=0;var rL=uAc(1003);S0(1169,1167,{});var vL=uAc(1169);S0(1004,1169,{},Sz);_.b=0;var sL=uAc(1004);S0(1005,1169,{},Uz);_.b=0;var tL=uAc(1005);S0(521,1158,MUc,Xz);_.Le=function _z(a){return this.a.ue(a)?this.a.xe(a):null};_.Ne=function cA(a){return this.a.ue(a)?this.a.ze(a):null};_.Sd=function Yz(){this.a.Sd()};_.ue=function Zz(a){return this.a.ue(a)};_.Qe=function $z(){return new eA(this)};_.Pe=function(){return this.Qe()}; +_.Wd=function aA(){return this.a.Wd()};_.ye=function bA(){return this.a.ye()};_.$d=function dA(){return this.a.ye().$d()};var zL=uAc(521);S0(913,1137,OUc,eA);_.Xd=function fA(){return Zy(this.a.a.ye(),new iA(this))};_.Re=function gA(){return this.a};_.Yd=function hA(a){var b;if(!qh(this,a))return false;b=a;Wz(this.a,b.ff());return true};var yL=uAc(913);S0(914,1,pVc,iA);_.Pd=function jA(a){return this.a.a.a.xe(a)};_.zd=function kA(a){return this===a};var xL=uAc(914);S0(912,911,LUc,lA);_.fg=function nA(){return this.a.Dd()}; +_.Ae=function(){return this.fg()};_.ve=function mA(){return new Zg(this,this.c)};_.we=function oA(){return new Sh(this,this.c)};var AL=uAc(912);S0(520,397,LUc,pA);_.fg=function rA(){return this.a.Dd()};_.Ae=function(){return this.fg()};_.ve=function qA(){return new Zg(this,this.c)};_.gg=function sA(){return this.a.Dd()};_.jf=function(){return this.gg()};_.we=function tA(){return new Sh(this,this.c)};_.De=function uA(a){return lH(a,329)?qB(a):lH(a,152)?(LHc(),new vKc(a)):(LHc(),new UJc(a))};_.Ee=function vA(a, +b){return lH(b,329)?new Xi(this,a,b):lH(b,152)?new Ti(this,a,b):new Zi(this,a,b)};var BL=uAc(520);S0(376,1,{},yA);_.vf=function zA(a){wA(this.a,a)};var DL=uAc(376);S0(377,1,{},AA);_.vf=function BA(a){xA(this.a,a)};var EL=uAc(377);S0(896,1,{},HA);var FL=uAc(896);S0(390,1153,{221:1,390:1,3:1},IA);_.cf=function JA(){return this.a};_.df=function KA(){return this.b};_.a=0;var JL=uAc(390);S0(391,1,PUc,LA);_.Pd=function MA(a){return new EOc(PHc(a.cf(),a.df()),16)};var KL=uAc(391);S0(973,245,{245:1,3:1,113:1}, +PA);_.xf=function QA(a,b){return Pd(a),Pd(b),Yzc(a,b)};_.yf=function RA(){var a;a=this.a;!a&&(a=this.a=new TA(this));return a};_.Cd=function SA(){return"Ordering.natural()"};var NA;var LL=uAc(973);S0(328,245,{328:1,245:1,3:1,113:1},TA);_.xf=function UA(a,b){if(rH(a)===rH(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.xf(a,b)};_.zd=function VA(a){var b;if(a===this)return true;if(lH(a,328)){b=a;return this.a.zd(b.a)}return false};_.Bd=function WA(){return zb(this.a)^957692532};_.yf= +function XA(){return this};_.Cd=function YA(){return this.a+".nullsFirst()"};var ML=uAc(328);S0(108,1133,bVc,_A);_.Jf=function aB(){return this.a};var PL=uAc(108);S0(279,240,dVc,bB,cB);var QL=uAc(279);var dB;S0(349,348,eVc,hB);var fB;var RL=uAc(349);S0(252,404,{54:1,109:1,404:1,252:1,3:1,16:1,18:1,35:1,152:1},iB);_.Ff=function jB(){return new pu(this,(On(),ko(new mHc(ZA(this,vG(rZ,zUc,1,this.b.b.$d(),5,1))))))};var SL=uAc(252);S0(1135,NUc,OUc);_.Xd=function uB(){return new EB(this.a,this.b)};_.Qd= +function rB(a){throw q0(new JCc);};_.Rd=function sB(a){throw q0(new JCc);};_.Sd=function tB(){throw q0(new JCc);};_.Yd=function vB(a){throw q0(new JCc);};_.Zd=function wB(a){throw q0(new JCc);};var XL=uAc(1135);S0(715,1135,OUc,xB);_.Xd=function AB(){return new EB(this.a,this.b)};_.Td=function yB(a){return this.a.Td(a)||this.b.Td(a)};_.Wd=function zB(){return this.a.Wd()&&this.b.Wd()};_.$d=function BB(){var a,b,c;c=this.a.$d();for(b=this.b.Xd();b.Jd();){a=b.Kd();this.a.Td(a)||++c}return c};_.ae=function CB(){return FSc(this.a.ae(), +PSc(new XSc(null,this.b._d()),new FB(this.a)))};var VL=uAc(715);S0(475,716,JUc,EB);var TL=uAc(475);S0(717,1,rVc,FB);_.Od=function GB(a){return!this.a.Td(a)};var UL=uAc(717);S0(350,1134,{350:1,3:1,16:1,18:1,329:1,35:1,152:1},HB);_.Cf=function IB(){return this.b};_.Df=function JB(){return this.b};_.Pf=function KB(){return this.b};_.Vd=function LB(a){this.a.Vd(a)};_.ae=function MB(){return this.a.ae()};var YL=uAc(350);S0(380,852,dVc,NB);_.Of=function OB(){return on(),new UB(this.a)};_.Oe=function PB(){return on(), +new UB(this.a)};_.qf=function QB(){return on(),new UB(this.a)};var ZL=uAc(380);S0(64,1133,bVc,RB);_.Jf=function SB(){return this.a};var $L=uAc(64);S0(88,109,eVc,UB);_.Xd=function XB(){return new Uv(this.a)};_.Td=function VB(a){return TB(this,a)};_.Gf=function WB(){return new Uv(this.a)};_.$d=function YB(){return 1};var _L=uAc(88);S0(992,1,pUc,$B);_.Id=function _B(a){wNc(this,a)};_.Kd=function bC(){return ZB(this)};_.Jd=function aC(){return _Nc(this.c)||this.a.Jd()};_.Ld=function cC(){this.a.Ld(); +if(this.b.e.Wd()){bOc(this.c);this.b=null}};var aM=uAc(992);S0(612,1160,MUc,eC);_.Sd=function fC(){var a;a=!this.a||this.a.Wd()&&zNc(this.c.a,this.b)?this.a=ANc(this.c.a,this.b):this.a;!!a&&a.Sd();dC(this)};_.ue=function gC(a){var b;b=!this.a||this.a.Wd()&&zNc(this.c.a,this.b)?this.a=ANc(this.c.a,this.b):this.a;return a!=null&&!!b&&cz(b,a)};_.Ze=function hC(){var a,b;b=!this.a||this.a.Wd()&&zNc(this.c.a,this.b)?this.a=ANc(this.c.a,this.b):this.a;if(!b)return qw(),pw;a=b.Je().Xd();return new pC(this, +a)};_.Rf=function iC(){var a;a=!this.a||this.a.Wd()&&zNc(this.c.a,this.b)?this.a=ANc(this.c.a,this.b):this.a;if(!a)return cPc(),bPc;return tl(a.Je()._d(),new nC)};_.Le=function jC(a){var b;b=!this.a||this.a.Wd()&&zNc(this.c.a,this.b)?this.a=ANc(this.c.a,this.b):this.a;return a!=null&&!!b?dz(b,a):null};_.Me=function kC(a,b){Pd(a);Pd(b);if(!!this.a&&!this.a.Wd())return this.a.Me(a,b);return kq(this.c,this.b,a,b)};_.Ne=function lC(a){var b,c;b=!this.a||this.a.Wd()&&zNc(this.c.a,this.b)?this.a=ANc(this.c.a, +this.b):this.a;if(!b)return null;c=ez(b,a);dC(this);return c};_.$d=function mC(){var a;a=!this.a||this.a.Wd()&&zNc(this.c.a,this.b)?this.a=ANc(this.c.a,this.b):this.a;return!a?0:a.$d()};var hM=uAc(612);S0(996,1,PUc,nC);_.Pd=function oC(a){return new uC(a)};var bM=uAc(996);S0(995,1,pUc,pC);_.Id=function qC(a){wNc(this,a)};_.Kd=function sC(){return new uC(this.b.Kd())};_.Jd=function rC(){return this.b.Jd()};_.Ld=function tC(){this.b.Ld();dC(this.a)};var cM=uAc(995);S0(613,1166,fVc,uC);_.Cf=function vC(){return this.a}; +_.zd=function wC(a){return Zp(this,a)};_.hf=function xC(a){return Yp(this,Pd(a))};var dM=uAc(613);S0(426,1158,MUc,yC);_.Le=function BC(a){return this.a.Qf(a)?new eC(this.a,a):null};_.Ne=function CC(a){return a==null?null:DNc(this.a.a,a)};_.ue=function zC(a){return this.a.Qf(a)};_.Qe=function AC(){return new GC(this)};_.Pe=function(){return this.Qe()};var gM=uAc(426);S0(993,1136,OUc);_.Sd=function EC(){yNc(this.b.a)};_.Wd=function FC(){return nDc(this.b.a.c)==0};var iM=uAc(993);S0(994,993,OUc,GC); +_.Td=function HC(a){var b;if(lH(a,51)){b=a;return b.ff()!=null&&lH(b.gf(),52)&&$l(new VNc(this.a.a.a),b)}return false};_.Xd=function IC(){return Zy(new dEc(this.a.a.a),new LC(this))};_.Yd=function JC(a){var b;if(lH(a,51)){b=a;return b.ff()!=null&&lH(b.gf(),52)&&UNc(new VNc(this.a.a.a),b)}return false};_.$d=function KC(){return nDc(this.a.a.a.c)};var fM=uAc(994);S0(997,1,pVc,LC);_.Pd=function MC(a){return new eC(this.a.a.a,a)};_.zd=function NC(a){return this===a};var eM=uAc(997);S0(999,1,PUc,OC);_.Pd= +function PC(a){return tl(a.gf().Je()._d(),new QC(a))};var jM=uAc(999);S0(998,1,PUc,QC);_.Pd=function RC(a){return rq(this.a,a)};var kM=uAc(998);S0(1172,1,{1182:1});_.zd=function UC(a){var b;if(a===this)return true;if(lH(a,219)){b=a;return Cd(this.b,b.b)&&Cd(this.a,b.a)&&Cd(this.c,b.c)}return false};_.Bd=function VC(){return YGc(yG(tG(rZ,1),zUc,1,5,[this.b,this.a,this.c]))};_.Cd=function WC(){return"("+this.b+","+this.a+")="+this.c};var mM=uAc(1172);S0(219,1172,{1182:1,219:1,3:1},XC);var nM=uAc(219); +S0(1159,1,{});var YC;var xM=uAc(1159);S0(251,1,{251:1},fD);_.zd=function gD(a){return cD(this,a)};_.Bd=function hD(){return XGc(this.c)};_.Cd=function iD(){return this.f};_.a=0;_.b=0;_.d=0;var rM=uAc(251);S0(147,1159,{147:1},mD);_.zd=function nD(a){var b;if(lH(a,147)){b=a;return cD(this.b,b.b)&&Cd(this.c,b.c)}return false};_.Bd=function oD(){return XGc(this.b.c)^YGc(yG(tG(rZ,1),zUc,1,5,[this.c]))};_.Cd=function pD(){var a;a=new GCc("BaseEncoding.");ACc(a,this.b.f);8%this.b.a!=0&&(!this.c?(a.a+=".omitPadding()", +a):ACc(zCc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var wM=uAc(147);S0(531,147,{147:1},rD);var sM=uAc(531);S0(399,147,{147:1},uD);var uM=uAc(399);S0(37,1,{3:1,37:1});_.hg=function FD(a){return new Error(a)};_.ig=function HD(){return this.g};_.jg=function ID(){var a,b,c;c=this.g==null?null:this.g.replace(new RegExp(xVc,"g"),"\u200b\n");b=(a=pAc(this.Ik),c==null?a:a+": "+c);zD(this,GD(this.hg(b)));fG(this)};_.Cd=function JD(){return BD(this,this.ig())};_.e=vVc;_.k=true;var xZ=uAc(37);S0(40, +37,{3:1,40:1,37:1});var gZ=uAc(40);S0(105,40,{105:1,3:1,40:1,37:1});var XY=uAc(105);S0(210,105,{210:1,105:1,3:1,40:1,37:1},MD);var vM=uAc(210);var SD;S0(127,1,{},XD);_.Cd=function YD(){return yd(wd(wd(new zd((nAc(yM),yM.n)),"line",""+this.b),"column",""+this.a))};_.a=0;_.b=0;var yM=uAc(127);S0(492,1,{},eE);_.b=0;_.c=null;var FM=uAc(492);S0(800,1,{},gE);var zM=uAc(800);S0(801,1,{},mE);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var AM=uAc(801);S0(493,1,AVc,nE);_.kg=function oE(){return this.e};_.lg=function pE(){return-1}; +_.mg=function qE(){return-1};_.ng=function rE(){return-1};_.og=function sE(){return-1};_.e=0;var DM=uAc(493);S0(494,493,AVc,tE);_.lg=function uE(){return-1};_.mg=function vE(){return this.b};_.ng=function wE(){return this.c};_.og=function xE(){return this.d};_.b=0;_.c=0;_.d=0;var EM=uAc(494);S0(803,494,AVc,yE);_.lg=function zE(){return this.a};_.a=0;var BM=uAc(803);S0(802,1,{},DE);_.b=0;_.c=0;var CM=uAc(802);S0(824,1,{},LE);_.c=null;_.d=-1;var LM=uAc(824);S0(825,1,{},PE);var GM=uAc(825);S0(827,1, +{},SE);_.pg=function TE(a,b,c,d,e){var f;this.d!=b&&(this.c=0);if(b!=d||c!=e)if(b=0);new XD(c,b);null.Lk()}};_.Eh=function aab(){return this.e.a.length>0?Gzc(this.e,this.e.a.length-1):0};_.Mh=function bab(a){var b,c,d,e;Ud(!!this.o);Ud(!!a);if(this.g&&(b=dec(a,(vhc(),mhc)),(!b?null:b.ah())!=null)&&vfc(a.k)>0&&true){d=this.j;c=this.k;Ud(d>=0);e=new lab;e.b=a;e.c=new XD(d,c);null.Lk();null.Lk()}};_.g=false;_.i=0;_.j=0;_.k=0;_.n= +0;var KN=uAc(529);S0(920,529,{},eab);_.zh=function fab(){if(!this.c)return;F8(this);dab(this)};_.Gh=function gab(){cab(this)};_.Ih=function hab(){var a,b;if(this.a)if(this.p){dab(this);this.p=false}b=this.e.a.length;if(this.d==b-1){a=Gzc(this.e,b-1);a==59&&(this.d=b)}cab(this)};_.Jh=function iab(){this.d=this.e.a.length};_.Lh=function jab(){dab(this)};_.a=false;_.b=0;_.c=false;_.d=0;var IN=uAc(920);S0(528,1,{528:1},lab);_.Cd=function mab(){return"Mapping: start "+this.c+", end "+this.a+", node "+ +this.b};var JN=uAc(528);S0(919,529,{},pab);_.rh=function qab(b,c){var d,e;if(b==0&&1/b<0){w8(this,b);return}e=Cab(c);if(e==null){w8(this,b);return}b<0&&(e="-"+e);try{d=KAc(e)}catch(a){a=p0(a);if(lH(a,83)){w8(this,b);return}else throw q0(a);}if(b!=d){w8(this,b);return}v8(this,e)};_.sh=function rab(a){nab(this,a)};_.th=function sab(){F8(this);oab(this);--this.a;v8(this,"}")};_.uh=function tab(){(this.e.a.length>0?Gzc(this.e,this.e.a.length-1):0)!=32&&(this.e.a.length>0?Gzc(this.e,this.e.a.length-1): +0)!=10&&v8(this," ");v8(this,"{");++this.a};_.vh=function uab(a,b){(this.e.a.length>0?Gzc(this.e,this.e.a.length-1):0)!=32&&b&&a.charCodeAt(0)!=44&&v8(this," ");v8(this,a);b&&v8(this," ")};_.wh=function vab(){nab(this,":");++this.a;oab(this)};_.xh=function wab(a,b){var c,d;Vd(a.n==(Plc(),gjc),a);c=a.g;d=c.n;switch(d.f){case 65:case 71:return false;case 44:return a!=c.c;case 78:return!gvb(!c.g?null:c.g.g);case 66:return a==(c.c?c.c.i:null)}return true};_.yh=function xab(){--this.a};_.zh=function yab(){F8(this)}; +_.Ah=function zab(a){this.p=true;a&&oab(this);a&&oab(this)};_.Bh=function Aab(){oab(this)};_.Dh=function Bab(a){v8(this,";");oab(this);this.q=false};_.Fh=function Dab(){v8(this,vUc);this.k>this.n&&oab(this)};_.Gh=function Eab(){this.k>this.n&&oab(this)};_.Hh=function Fab(){(this.e.a.length>0?Gzc(this.e,this.e.a.length-1):0)!=32&&(this.e.a.length>0?Gzc(this.e,this.e.a.length-1):0)!=10&&v8(this," ")};_.Ih=function Gab(){this.k>this.n&&oab(this)};_.Kh=function Hab(){return true};_.Lh=function Iab(){oab(this)}; +_.a=0;var LN=uAc(919);S0(477,1,{},Jab);var MN=uAc(477);S0(283,11,{283:1,3:1,20:1,11:1},Nab);var Kab,Lab;var NN=vAc(283,eZ,Oab);S0(777,1,jXc,Qab);_.kh=function Rab(a){return Pab(a)};_.lh=function Sab(a){return null};_.mh=function Tab(a){return false};_.nh=function Uab(a){return false};_.oh=function Vab(a){return OBc(a.substr(0,6),"$super")};_.ph=function Wab(a){return Eec(a.c,kXc)};var ON=uAc(777);var Xab,Yab;S0(450,223,RVc);_.ug=function qcb(a){hbb(this,a)};_.vg=function rcb(a,b){$Qc(this.u,a,b)}; +_.wg=function scb(a,b){return nbb(this,a,b)};_.xg=function tcb(){return this.b};_.yg=function ucb(){return sbb(this)};_.zg=function vcb(){return this.H};_.Oh=function wcb(a){Pd(this.I);return ogb(this.U,a)};_.Ag=function(a){return this.Oh(a)};_.Bg=function xcb(){return this.k};_.Cg=function ycb(){return this.q};_.Dg=function zcb(a){return vbb(this,a)};_.Eg=function Acb(){return this.C};_.Ph=function Bcb(){return this.D};_.Fg=function(){return this.Ph()};_.Gg=function Ccb(){return this.F};_.Qh=function Dcb(){return this.I}; +_.Hg=function(){return this.Qh()};_.Ig=function Ecb(a){var b,c,d;if(!this.J||!this.o)if(!this.J){c=xbb(this,this.I.Tb);d=keb(this.I)?($Ob(),ZOb):($Ob(),YOb);this.J=(b=TTb(c,this.I.nc,(VOb(),UOb),this.I.mc,d),b);this.o=c==(POb(),FOb)?lbb(this,GOb,d):this.J}switch(a){case 1:return this.o;default:return this.J}};_.Jg=function Fcb(){return this.j};_.Kg=function Gcb(a,b){return Bbb(this,a,b)};_.Lg=function Hcb(){!this.P&&(this.P=Sbb(this));return this.P};_.Mg=function Icb(){return!this.R&&(this.R=new guc), +this.R};_.Ng=function Jcb(){return new ndb(this)};_.Og=function Kcb(){return this.i.a.d!=0};_.Pg=function Lcb(){return this.s};_.Qg=function Mcb(){return false};_.Rg=function Ncb(a){var b;b=new Qyb(this);Oyb(b,null,a)};_.Sg=function Ocb(a){dcb(this,a)};_.eh=function Pcb(a,b){ecb(this,b)};_.Tg=function Qcb(a){fcb(this,a)};_.Ug=function Rcb(a){Ud(a.n==(Plc(),llc)||a.n==Vjc);ccb(this,a);Tbb(this)};_.Vg=function Scb(a){ccb(this,rbb(a));Tbb(this)};_.Rh=function Tcb(a){Ud(a.n==(Plc(),Vjc));Hec(a,(vhc(), +Fgc),1);fEb(this.d,a);eEb(this.g,a)};_.Wg=function(a){this.Rh(a)};_.Xg=function Vcb(a){this.k=a};_.Yg=function Wcb(a){hcb(this,a)};_.Zg=function Xcb(a,b){kcb(a,b)};_.c=1;_.k=null;_.o=null;_.s=true;_.B=null;_.I=null;_.J=null;_.K=null;_.L=null;_.M=0;_.P=null;_.S=0;var $ab,_ab,abb,bbb,cbb,dbb,ebb,fbb;var rO=uAc(450);S0(651,1,PUc,Ycb);_.Pd=function Zcb(a){return new EHb(a)};var QN=uAc(651);S0(461,1,{},_cb);_.Cd=function adb(){return this.c.a};_.a=0;_.b=0;var RN=uAc(461);S0(659,1,{},bdb);_.Sh=function cdb(){return Ybb(this.a), +null};var SN=uAc(659);S0(663,1,{},ddb);_.Sh=function edb(){return Lbb(this.a,this.b)};var TN=uAc(663);S0(457,1,{},fdb);_.Sh=function gdb(){return Mbb(this.a,this.b,this.d,this.c)};_.c=0;var UN=uAc(457);S0(660,1,{},hdb);_.Sh=function idb(){return Nbb(this.a)};var VN=uAc(660);S0(658,1,{},jdb);_.Sh=function kdb(){return $bb(this.a),null};var WN=uAc(658);S0(657,1,{},ldb);_.Sh=function mdb(){return Vbb(this.a),null};var XN=uAc(657);S0(454,1,IUc,ndb);_.Dd=function odb(){return""+this.a.S++};var YN=uAc(454); +S0(448,1,{},pdb);_.Sh=function qdb(){return Obb(this.a)};var ZN=uAc(448);S0(244,1,{444:1,244:1,3:1});_.Vh=function sdb(){return QIb(this.Wh())};var pT=uAc(244);S0(139,244,{139:1,444:1,244:1,3:1},Gdb,Hdb,Idb);_.Yh=function Kdb(a){return xdb(this,a)};_.Zh=function Ldb(){return this.i};_.Th=function Mdb(){return ydb(this).c};_.ah=function Ndb(){return this.i.a};_.Uh=function Odb(){return ydb(this).f};_.Wh=function Pdb(){return Adb(this)};_.$h=function Qdb(){return this.a.$h()};_.Xh=function Rdb(){return ydb(this).i}; +_.Cd=function Sdb(){return this.i.a};_.g=false;var aO=uAc(139);S0(742,1,{},Wdb);var $N=uAc(742);S0(159,11,{159:1,3:1,20:1,11:1},ceb);var Xdb,Ydb,Zdb,$db,_db,aeb;var _N=vAc(159,eZ,deb);S0(165,1,jXc,veb);_.Cd=function xeb(){var a;a=yd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(xd(new zd((nAc(qO), +qO.n))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",GXc),"ambiguateProperties",""+this.f),"angularPass",""+this.g),"anonymousFunctionNaming",this.i),"assumeClosuresOnlyCaptureReferences",""+this.j),"assumeGettersArePure",""+this.k),"assumeStrictThis",""+this.n),"browserResolverPrefixReplacements",this.p),"brokenClosureRequiresLevel",this.o),"checkDeterminism",""+this.q),"checkGlobalNamesLevel", +this.r),"checkGlobalThisLevel",this.s),"checkMissingGetCssNameBlacklist",this.t),"checkMissingGetCssNameLevel",this.u),"checksOnly",""+this.B),"checkSuspiciousCode",""+this.v),"checkSymbols",""+this.w),fYc,""+this.A),"closurePass",""+this.D),"coalesceVariableNames",""+this.F),"codingConvention",this.G),"collapseAnonymousFunctions",""+this.H),gYc,""+this.I),"collapseProperties",this.J),"collapseVariableDeclarations",""+this.K),"colorizeErrorOutput",""+this.L),"computeFunctionSideEffects",""+this.M), +"conformanceConfigs",this.N),"conformanceRemoveRegexFromPath",this.O),"continueAfterErrors",GXc),"convertToDottedProperties",""+this.P),"crossChunkCodeMotion",""+this.Q),"crossChunkCodeMotionNoStubMethods",""+this.R),"crossChunkMethodMotion",""+this.S),"cssRenamingMap",this.T),"cssRenamingWhitelist",this.U),"customPasses",this.V),"dartPass",""+this.W),"deadAssignmentElimination",""+this.X),"debugLogDirectory",this.Y),"declaredGlobalExternsOnWindow",""+this.Z),"defineReplacements",web(this.$)),"dependencyOptions", this._),"devirtualizeMethods",""+this.bb),"devMode",this.ab),"disambiguatePrivateProperties",""+this.cb),"disambiguateProperties",""+this.db),"enforceAccessControlCodingConventions",""+this.fb),"environment",this.gb),"errorFormat",this.hb),"errorHandler",this.ib),"es6ModuleTranspilation",this.jb),"exportLocalPropertyDefinitions",""+this.kb),"exportTestFunctions",""+this.lb),"externExports",""+this.mb),"externExportsPath",this.nb),"extraAnnotationNames",this.ob),"extractPrototypeMemberDeclarations", -this.qb),"extraSmartNameRemoval",""+this.pb),"filesToPrintAfterEachPassRegexList",this.rb),"flowSensitiveInlineVariables",""+this.sb),"foldConstants",""+this.tb),"forceLibraryInjection",this.ub),"gatherCssNames",""+this.vb),"generateExports",""+this.wb),"generatePseudoNames",""+this.xb),"generateTypedExterns",""+(this.Ab==(Xeb(),Ueb))),"idGenerators",this.yb),"idGeneratorsMapSerialized",this.zb),"incrementalCheckMode",this.Ab),"inferConsts",""+this.Bb),"inferTypes",""+this.Cb),"inlineConstantVars", -""+this.Db),"inlineFunctionsLevel",this.Eb),"inlineGetters",""+this.Fb),"inlineLocalVariables",""+this.Gb),"inlineProperties",""+this.Hb),fYc,""+this.Ib),"inputAnonymousFunctionNamingMap",this.Jb),"inputDelimiter",this.Kb),"inputPropertyMap",this.Lb),"inputSourceMaps",this.Mb),"inputVariableMap",this.Nb),"instrumentForCoverage",""+this.Pb),"instrumentForCoverageOnly",EXc),"instrumentBranchCoverage",""+this.Ob),"j2clPassMode",this.Rb),"labelRenaming",""+this.Sb),"languageIn",this.Tb),"languageOutIsDefaultStrict", -this.Ub),"legacyCodeCompile",EXc),"lineBreak",""+this.Vb),"lineLengthThreshold",""+this.Wb),"locale",this.Xb),"markAsCompiled",""+this.Yb),"maxFunctionSizeAfterInlining",""+this.Zb),"messageBundle",null),"moduleRoots",this._b),"chunksToPrintAfterEachPassRegexList",this.C),"moveFunctionDeclarations",""+this.ac),"nameGenerator",this.bc),"optimizeArgumentsArray",""+this.ec),"optimizeCalls",""+this.fc),"outputCharset",this.gc),"outputFeatureSet",this.hc),"outputJs",this.ic),"outputJsStringUsage",""+this.jc), -"parentChunkCanSeeSymbolsDeclaredInChildren",""+this.lc),"parseJsDocDocumentation",this.nc),"pathEscaper",this.oc),"polymerVersion",this.qc),"polymerExportPolicy",this.pc),"preferLineBreakAtEndOfFile",""+this.rc),"preferSingleQuotes",""+this.sc),"preferStableNames",""+this.tc),"preserveDetailedSourceInfo",EXc),"preserveGoogProvidesAndRequires",""+this.uc),"preserveTypeAnnotations",""+this.vc),"prettyPrint",""+this.wc),"preventLibraryInjection",EXc),"printConfig",EXc),"printInputDelimiter",""+this.yc), -"printSourceAfterEachPass",""+this.zc),"processCommonJSModules",EXc),"propertyInvalidationErrors",this.Ac),"propertyRenaming",this.Bc),"protectHiddenSideEffects",""+this.Cc),"quoteKeywordProperties",""+this.Dc),"removeAbstractMethods",""+this.Ec),"removeClosureAsserts",""+this.Fc),"removeJ2clAsserts",""+this.Hc),"removeDeadCode",""+this.Gc),"removeUnusedClassProperties",""+this.Ic),"removeUnusedConstructorProperties",""+this.Jc),"removeUnusedLocalVars",""+this.Kc),"removeUnusedPrototypeProperties", -""+this.Lc),"removeUnusedPrototypePropertiesInExterns",""+this.Mc),"removeUnusedVars",""+this.Nc),"renamePrefixNamespaceAssumeCrossChunkNames",EXc),"renamePrefixNamespace",this.Pc),"renamePrefix",this.Oc),"replaceIdGenerators",""+this.Qc),"replaceMessagesWithChromeI18n",""+this.Rc),"replaceStringsFunctionDescriptions",this.Sc),"replaceStringsInputMap",this.Tc),"replaceStringsPlaceholderToken",this.Uc),"replaceStringsReservedStrings",this.Vc),"reserveRawExports",""+this.Wc),"rewriteFunctionExpressions", -""+this.Yc),"rewritePolyfills",EXc),"runtimeTypeCheckLogFunction",this.$c),"runtimeTypeCheck",""+this.Zc),"shadowVariables",""+this._c),"skipNonTranspilationPasses",""+this.ad),"smartNameRemoval",""+this.bd),"sourceMapDetailLevel",this.cd),"sourceMapFormat",this.dd),"sourceMapLocationMappings",this.ed),"sourceMapOutputPath",this.fd),"stripNamePrefixes",this.gd),"stripNameSuffixes",this.hd),"stripTypePrefixes",this.jd),"stripTypes",this.kd),"summaryDetailLevel",""+this.ld),"syntheticBlockEndMarker", -this.md),"syntheticBlockStartMarker",this.nd),"tcProjectId",this.od),"tracer",this.pd),"transformAMDToCJSModules",EXc),"trustedStrings",""+this.qd),"tweakProcessing",this.rd),"tweakReplacements",seb(this.sd)),"emitUseStrict",this.eb),"useTypesForLocalOptimization",""+this.ud),"variableRenaming",this.vd),"warningsGuard",this.xd),"wrapGoogModulesForWhitespaceOnly",""+this.yd));return a};_.a=false;_.b=false;_.f=false;_.g=false;_.j=false;_.k=true;_.n=false;_.q=false;_.v=false;_.w=false;_.A=false;_.B= +this.qb),"extraSmartNameRemoval",""+this.pb),"filesToPrintAfterEachPassRegexList",this.rb),"flowSensitiveInlineVariables",""+this.sb),"foldConstants",""+this.tb),"forceLibraryInjection",this.ub),"gatherCssNames",""+this.vb),"generateExports",""+this.wb),"generatePseudoNames",""+this.xb),"generateTypedExterns",""+(this.Ab==(_eb(),Yeb))),"idGenerators",this.yb),"idGeneratorsMapSerialized",this.zb),"incrementalCheckMode",this.Ab),"inferConsts",""+this.Bb),"inferTypes",""+this.Cb),"inlineConstantVars", +""+this.Db),"inlineFunctionsLevel",this.Eb),"inlineGetters",""+this.Fb),"inlineLocalVariables",""+this.Gb),"inlineProperties",""+this.Hb),hYc,""+this.Ib),"inputAnonymousFunctionNamingMap",this.Jb),"inputDelimiter",this.Kb),"inputPropertyMap",this.Lb),"inputSourceMaps",this.Mb),"inputVariableMap",this.Nb),"instrumentForCoverage",""+this.Pb),"instrumentForCoverageOnly",GXc),"instrumentBranchCoverage",""+this.Ob),"j2clPassMode",this.Rb),"labelRenaming",""+this.Sb),"languageIn",this.Tb),"languageOutIsDefaultStrict", +this.Ub),"legacyCodeCompile",GXc),"lineBreak",""+this.Vb),"lineLengthThreshold",""+this.Wb),"locale",this.Xb),"markAsCompiled",""+this.Yb),"maxFunctionSizeAfterInlining",""+this.Zb),"messageBundle",null),"moduleRoots",this._b),"chunksToPrintAfterEachPassRegexList",this.C),"moveFunctionDeclarations",""+this.ac),"nameGenerator",this.bc),"optimizeArgumentsArray",""+this.ec),"optimizeCalls",""+this.fc),"outputCharset",this.gc),"outputFeatureSet",this.hc),"outputJs",this.ic),"outputJsStringUsage",""+this.jc), +"parentChunkCanSeeSymbolsDeclaredInChildren",""+this.lc),"parseJsDocDocumentation",this.nc),"pathEscaper",this.oc),"polymerVersion",this.qc),"polymerExportPolicy",this.pc),"preferLineBreakAtEndOfFile",""+this.rc),"preferSingleQuotes",""+this.sc),"preferStableNames",""+this.tc),"preserveDetailedSourceInfo",GXc),"preserveGoogProvidesAndRequires",""+this.uc),"preserveTypeAnnotations",""+this.vc),"prettyPrint",""+this.wc),"preventLibraryInjection",GXc),"printConfig",GXc),"printInputDelimiter",""+this.yc), +"printSourceAfterEachPass",""+this.zc),"processCommonJSModules",GXc),"propertyInvalidationErrors",this.Ac),"propertyRenaming",this.Bc),"protectHiddenSideEffects",""+this.Cc),"quoteKeywordProperties",""+this.Dc),"removeAbstractMethods",""+this.Ec),"removeClosureAsserts",""+this.Fc),"removeJ2clAsserts",""+this.Hc),"removeDeadCode",""+this.Gc),"removeUnusedClassProperties",""+this.Ic),"removeUnusedConstructorProperties",""+this.Jc),"removeUnusedLocalVars",""+this.Kc),"removeUnusedPrototypeProperties", +""+this.Lc),"removeUnusedPrototypePropertiesInExterns",""+this.Mc),"removeUnusedVars",""+this.Nc),"renamePrefixNamespaceAssumeCrossChunkNames",GXc),"renamePrefixNamespace",this.Pc),"renamePrefix",this.Oc),"replaceIdGenerators",""+this.Qc),"replaceMessagesWithChromeI18n",""+this.Rc),"replaceStringsFunctionDescriptions",this.Sc),"replaceStringsInputMap",this.Tc),"replaceStringsPlaceholderToken",this.Uc),"replaceStringsReservedStrings",this.Vc),"reserveRawExports",""+this.Wc),"rewriteFunctionExpressions", +""+this.Yc),"rewritePolyfills",GXc),"runtimeTypeCheckLogFunction",this.$c),"runtimeTypeCheck",""+this.Zc),"shadowVariables",""+this._c),"skipNonTranspilationPasses",""+this.ad),"smartNameRemoval",""+this.bd),"sourceMapDetailLevel",this.cd),"sourceMapFormat",this.dd),"sourceMapLocationMappings",this.ed),"sourceMapOutputPath",this.fd),"stripNamePrefixes",this.gd),"stripNameSuffixes",this.hd),"stripTypePrefixes",this.jd),"stripTypes",this.kd),"summaryDetailLevel",""+this.ld),"syntheticBlockEndMarker", +this.md),"syntheticBlockStartMarker",this.nd),"tcProjectId",this.od),"tracer",this.pd),"transformAMDToCJSModules",GXc),"trustedStrings",""+this.qd),"tweakProcessing",this.rd),"tweakReplacements",web(this.sd)),"emitUseStrict",this.eb),"useTypesForLocalOptimization",""+this.ud),"variableRenaming",this.vd),"warningsGuard",this.xd),"wrapGoogModulesForWhitespaceOnly",""+this.yd));return a};_.a=false;_.b=false;_.f=false;_.g=false;_.j=false;_.k=true;_.n=false;_.q=false;_.v=false;_.w=false;_.A=false;_.B= false;_.D=false;_.F=false;_.H=false;_.I=false;_.K=false;_.L=false;_.M=false;_.P=false;_.Q=false;_.R=false;_.S=false;_.W=false;_.X=false;_.Z=false;_.bb=false;_.cb=false;_.db=false;_.fb=false;_.kb=false;_.lb=false;_.mb=false;_.pb=false;_.sb=false;_.tb=false;_.vb=false;_.wb=false;_.xb=false;_.Bb=true;_.Cb=false;_.Db=false;_.Fb=false;_.Gb=false;_.Hb=false;_.Ib=false;_.Kb="// Input %num%";_.Ob=false;_.Pb=false;_.Sb=false;_.Vb=false;_.Wb=500;_.Yb=false;_.Zb=0;_.ac=false;_.cc=1;_.dc=0;_.ec=false;_.fc=false; -_.jc=false;_.lc=false;_.mc=true;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.wc=false;_.xc=false;_.yc=false;_.zc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Fc=false;_.Gc=false;_.Hc=true;_.Ic=false;_.Jc=false;_.Kc=false;_.Lc=false;_.Mc=false;_.Nc=false;_.Qc=true;_.Rc=false;_.Wc=false;_.Xc=true;_.Yc=false;_.Zc=false;_._c=false;_.ad=false;_.bd=false;_.ld=1;_.qd=false;_.td=true;_.ud=false;_.wd=true;_.yd=true;var aeb,beb;var qO=sAc(166);R0(684,1,hXc,ueb);var bO=sAc(684);R0(192,11,{192:1,3:1, -20:1,11:1},Aeb);var veb,web,xeb,yeb;var cO=tAc(192,dZ,Beb);R0(268,11,{268:1,3:1,20:1,11:1},Feb);var Ceb,Deb;var dO=tAc(268,dZ,Geb);R0(191,11,{191:1,3:1,20:1,11:1},Meb);var Heb,Ieb,Jeb,Keb;var eO=tAc(191,dZ,Neb);R0(231,11,{231:1,3:1,20:1,11:1},Seb);var Oeb,Peb,Qeb;var fO=tAc(231,dZ,Teb);R0(230,11,{230:1,3:1,20:1,11:1},Yeb);var Ueb,Veb,Web;var gO=tAc(230,dZ,Zeb);R0(269,11,{269:1,3:1,20:1,11:1},bfb);var $eb,_eb;var hO=tAc(269,dZ,cfb);R0(91,11,{91:1,3:1,20:1,11:1},ufb);var dfb,efb,ffb,gfb,hfb,ifb,jfb, -kfb,lfb,mfb,nfb,ofb,pfb,qfb;var iO=tAc(91,dZ,vfb);R0(685,1,{},wfb);var jO=sAc(685);R0(232,11,{232:1,3:1,20:1,11:1},Bfb);var xfb,yfb,zfb;var kO=tAc(232,dZ,Cfb);R0(229,11,{229:1,3:1,20:1,11:1},Hfb);var Dfb,Efb,Ffb;var lO=tAc(229,dZ,Ifb);R0(228,11,{228:1,3:1,20:1,11:1},Nfb);var Jfb,Kfb,Lfb;var mO=tAc(228,dZ,Ofb);R0(169,11,{169:1,3:1,20:1,11:1},Vfb);var Pfb,Qfb,Rfb,Sfb,Tfb;var nO=tAc(169,dZ,Wfb);R0(233,11,{233:1,3:1,20:1,11:1},_fb);var Xfb,Yfb,Zfb;var oO=tAc(233,dZ,agb);R0(206,26,DVc,cgb);var pO=sAc(206); -R0(153,1,nYc);_._h=function dgb(a){return false};_.ai=function egb(a){return false};_.bi=function fgb(){return(GIb(),zIb).a};var aT=sAc(153);R0(224,153,{224:1,153:1,3:1},mgb);_._h=function ngb(a){return igb(this,a)};_.ai=function ogb(a){return jgb(this,a)};_.ci=function pgb(a){return kgb(this,a)};_.Cd=function qgb(){var a;return Ic(new Kc(tUc),(a=(new dFc(this.c.a)).a.Je().b.yk(),new lFc(a)))};_.a=false;_.d=0;var tO=sAc(224);R0(702,1,oYc,sgb);_.xf=function tgb(a,b){return rgb(this,a,b)};_.zd=function ugb(a){return this=== -a};_.zf=function vgb(){return new _Kc(this)};var sO=sAc(702);R0(718,1,{},wgb);var uO=sAc(718);var xgb;R0(470,1,hXc,Ggb);_.b=0;var zgb,Agb;var wO=sAc(470);R0(343,1,{343:1,3:1,20:1},Jgb);_.ke=function Kgb(a){return Igb(this,a)};_.a=0;_.b=0;_.c=0;var vO=sAc(343);R0(198,11,{198:1,3:1,20:1,11:1},Qgb);var Lgb,Mgb,Ngb,Ogb;var xO=tAc(198,dZ,Rgb);R0(47,1,{47:1,3:1},Wgb,Xgb,Ygb,Zgb,$gb);_.Cd=function ahb(){var a;return this.a==null?(lAc(BO),BO.p+"@"+(a=YTc(this)>>>0,a.toString(16))):"DiagnosticGroup<"+this.a+ -">"};var Sgb;var BO=sAc(47);R0(465,1,NUc,bhb);_.Pd=function chb(a){return new Wgb(a)};var zO=sAc(465);R0(89,153,nYc,dhb);_._h=function ehb(a){return this.b==(l7(),j7)&&Ugb(this.a,a)};_.ai=function fhb(a){var b,c;if(this.b!=(l7(),j7))for(c=a.b.Xd();c.Jd();){b=c.Kd();if(Vgb(this.a,b))return true}return false};_.ci=function ghb(a){return Vgb(this.a,a.g)?this.b:null};_.Cd=function hhb(){return this.a+"("+this.b+")"};var AO=sAc(89);var ihb,jhb,khb,lhb,mhb,nhb,ohb,phb,qhb,rhb,shb,thb,uhb,vhb,whb,xhb,yhb, -zhb,Ahb,Bhb,Chb,Dhb,Ehb,Fhb,Ghb,Hhb,Ihb,Jhb,Khb,Lhb,Mhb,Nhb,Ohb,Phb,Qhb;R0(5,1,{5:1,3:1,20:1},Whb);_.ke=function Xhb(a){return IBc(this.b,a.b)};_.zd=function Yhb(a){return Vhb(this,a)};_.Bd=function Zhb(){return cUc(this.b)};var CO=sAc(5);R0(157,11,MYc);var $hb,_hb,aib;var GO=tAc(157,dZ,dib);R0(699,157,MYc,eib);var DO=tAc(699,GO,null);R0(700,157,MYc,fib);var EO=tAc(700,GO,null);R0(701,157,MYc,hib);var FO=tAc(701,GO,null);R0(1032,dXc,RYc,qib);_.dh=function rib(a,b){REb(this.b,a,iib,yG(tG(BQ,1),xUc, -22,0,[this]));REb(this.b,b,iib,yG(tG(BQ,1),xUc,22,0,[this]))};_.jh=function sib(a,b,c){b.n==(Nlc(),mjc)?!Nub(b)&&kib(this,a,b):b.n==slc&&mib(this,b,c)};var iib;var NO=sAc(1032);R0(1033,1,SYc,uib);_.Md=function vib(a){return tib(a)};_.zd=function wib(a){return this===a};_.Od=function xib(a){return tib(a)};var HO=sAc(1033);R0(1028,1,RYc,Kib);_.dh=function Lib(a,b){this.d=new aqb(this.b,a,b);REb(this.b,a,yib,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.b,b,yib,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.b,yib)}; -_.ih=function Mib(a,b,c){var d,e;if(b.n==(Nlc(),Tjc))rFc(this.c,new Rib(b));else if(b.n==slc){e=c.n==hjc?c:c.g;if(e.n!=hjc&&c.n==Zjc){aub(a,b,(Hob(),Gob),yG(tG(vZ,1),cWc,2,6,["super access with no extends clause"]));return false}Vd(e.n==hjc,e);d=Pd(AFc(this.c));dGc(d.b,e)}return true};_.jh=function Nib(a,b,c){var d;d=AFc(this.c);if(!!d&&b==d.a){CFc(this.c);Jib(this,a,d)}};var yib;var MO=sAc(1028);R0(1031,1,eXc,Oib);_.ih=function Pib(a,b,c){return hGc(this.b,b,0)==-1&&!(b.n==(Nlc(),Tjc)&&!(b.n==Tjc&& -$dc(b,(thc(),sgc))!=0))};_.jh=function Qib(a,b,c){var d;if(b.n==(Nlc(),ylc)){d=gfc(V2(this.a.a,aZc,b.d),b);Mec(c,b,d)}else b.n==glc&&!b.c&&Ndc(b,gfc(V2(this.a.a,aZc,this.c),b))};var IO=sAc(1031);R0(620,1,{620:1},Rib);var JO=sAc(620);R0(1029,1,{},Tib);_.a=false;var LO=sAc(1029);R0(1146,1,eXc);_.ih=function Uib(a,b,c){return!c||c.n!=(Nlc(),Tjc)||b==c.c};var AQ=sAc(1146);R0(1030,1146,eXc,Vib);_.jh=function Wib(a,b,c){this.a.a||b.n==(Nlc(),glc)&&!!b.c&&!Aec(b.c,bZc)&&(this.a.a=true)};var KO=sAc(1030); -R0(1019,dXc,RYc,ajb);_.dh=function bjb(a,b){REb(this.b,a,Xib,yG(tG(BQ,1),xUc,22,0,[this,new ejb(this)]));REb(this.b,b,Xib,yG(tG(BQ,1),xUc,22,0,[this,new ejb(this)]))};_.jh=function cjb(a,b,c){b.n==(Nlc(),mjc)&&_ib(this,b)&&$ib(this,a,b)};_.a=0;var Xib;var QO=sAc(1019);R0(618,1,eXc,ejb);_.ih=function fjb(a,b,c){b.n==(Nlc(),mjc)&&(Gd(b.n==mjc),b.c.n==Ekc&&c.n==Ekc)&&rFc(this.a,new hjb(b.c,c.Di()));return true};_.jh=function gjb(a,b,c){switch(b.n.f){case 96:{Gd(b.n==(Nlc(),mjc));if(b.c.n==Ekc&&c.n== -Ekc){CFc(this.a);Mec(b,b.c,gfc(new kfc(Djc),b.c));this.b.b.Vg(b)}}break;case 29:djb(this,a,b,c)}};var PO=sAc(618);R0(619,1,{619:1},hjb);var OO=sAc(619);R0(1037,1,RYc,ojb);_.dh=function pjb(a,b){REb(this.c,a,ijb,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.c,b,ijb,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.c,ijb)};_.ih=function qjb(a,b,c){return true};_.jh=function rjb(a,b,c){b.n.f==101&&ljb(this,b,c)};_.a=false;var ijb;var RO=sAc(1037);R0(1034,dXc,RYc,wjb);_.dh=function xjb(a,b){var c,d,e,f,g;g=(AVb(),oVb); -for(f=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();f.Jd();){e=f.Kd();g=IVb(g,(c=(uub(),Vd(e.n==(Nlc(),jlc),e),bec(e,(Jdc(),qdc))),c?c:oVb))}d=MVb(g,heb(this.a.Hg()));REb(this.a,b,sjb,yG(tG(BQ,1),xUc,22,0,[this]));BVb(d,(aXb(),qWb))&&(Hob(),this.a.wg(fZc+dCc(gZc,(kOc(),iOc)),false));BVb(d,XVb)&&(Hob(),this.a.wg(fZc+dCc(gZc,(kOc(),iOc)),false));BVb(d,YVb)&&(Hob(),this.a.wg(fZc+dCc("arrayFromIterator",(kOc(),iOc)),false));BVb(d,TWb)&&(Hob(),this.a.wg(fZc+dCc("arrayfromiterable",(kOc(),iOc)),false));BVb(d, -eWb)&&(Hob(),this.a.wg(fZc+dCc("inherits",(kOc(),iOc)),false));BVb(d,fWb)&&this.a.wg("util/global",false);BVb(d,rWb)&&this.a.wg("es6/generator_engine",false);BVb(d,$Vb)&&this.a.wg("es6/execute_async_generator",false);BVb(d,_Vb)&&this.a.wg("es6/async_generator_wrapper",false);BVb(d,pWb)&&this.a.wg("es6/util/makeasynciterator",false)};_.jh=function yjb(a,b,c){var d,e,f,g;switch(b.n.f){case 29:e=bec(b,(thc(),khc));!(!!e&&e.ri())&&ujb(a,b)&&(this.a.wg(eZc,false),f=(uub(),Lub(b,new vwb)),g=N8b(H8b(gwb(this.a, -"$jscomp.initSymbol"),yG(tG(BX,1),kWc,7,0,[]))),Ldc(f.g,hfc(g,f),f),this.a.Vg(g),undefined);break;case 26:d=bec(b,(thc(),khc));!!d&&d.ri()||vjb(this,a,b);break;case 86:case 87:this.b||Job(this.a,b,hZc)}};_.b=false;var sjb;var SO=sAc(1034);R0(1017,dXc,RYc,Bjb);_.dh=function Cjb(a,b){REb(this.a,a,zjb,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.a,b,zjb,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.a,zjb)};_.jh=function Djb(a,b,c){b.n==(Nlc(),plc)&&Fec(b,(thc(),Xgc),0)};var zjb;var TO=sAc(1017);R0(1012,1,NWc,Ejb); -_.dh=function Fjb(a,b){throw p0(new ICc("Es6RelativizeImportPaths not implemented"));};var UO=sAc(1012);R0(435,dXc,eXc,Kjb);_.jh=function Ljb(a,b,c){var d;!this.b&&(uub(),b.n==(Nlc(),Ekc)&&b.Di().length!=0)&&Ijb(this,a,b,false);d=bec(b,(thc(),Zgc));!!d&&Jjb(this,a,eac(d))};_.b=false;var Gjb;var VO=sAc(435);R0(1022,dXc,RYc,Ojb);_.dh=function Pjb(a,b){REb(this.a,b,Mjb,yG(tG(BQ,1),xUc,22,0,[this]))};_.jh=function Qjb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.n!=(Nlc(),Tjc)||(b.c?b.c.i:null).n!=ejc)return; -l=b.c.f;e=new Tjb;mub(this.a,l,new Rjb(this,e));d=l.f;f=new ODb(this.a);i=NDb(f,b,Rtb(a));h=NDb(f,d,i);m=new wq(new CNc,new zq);for(o=(k=(new mEc(h.e)).a.Je().Xd(),new rEc(k));o.a.Jd();){n=(g=o.a.Kd(),g.gf());j=n.b;rMc(e.a,j)&&!uq(m,h.d,j)&&kq(m,h.d,j,j+"$"+(""+this.a.Ng().a.S++))}jub(new lub(this.a,new Kjb(m),new ODb(this.a)),d,d.g,i)};var Mjb;var YO=sAc(1022);R0(1024,1139,eXc,Rjb);_.ih=function Sjb(a,b,c){if(!c)return true;if(c.n==(Nlc(),xjc)&&b==(c.c?c.c.i:null)||c.n==qjc&&b==c.c){mub(this.a.a, -b,this.b);return false}return true};var WO=sAc(1024);R0(CVc,dXc,eXc,Tjb);_.jh=function Ujb(a,b,c){uub();if(!(b.n==(Nlc(),Ekc)&&b.Di().length!=0))return;qMc(this.a,b.Di())};var XO=sAc(CVc);R0(1025,1,RYc,_jb);_.dh=function akb(a,b){REb(this.a,a,Vjb,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.a,b,Vjb,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.a,Vjb)};_.ih=function bkb(a,b,c){var d,e;switch(b.n.f){case 85:rFc(this.b,new fkb(this,b,false));break;case 65:b.n==(Nlc(),Tjc)&&$dc(b,(thc(),sgc))!=0||rFc(this.b,(e=b.c? -b.c.i:null,new fkb(this,e,uvb(b))));break;case 99:d=Pd(AFc(this.b));d.b&&c.n==(Nlc(),hjc)&&c.c==b&&(d.c=Yjb(c,d.f))}return true};_.jh=function ckb(a,b,c){var d;d=AFc(this.b);if(b.n==(Nlc(),Tjc)&&$dc(b,(thc(),sgc))!=0)$jb(this,a,b,Pd(d));else if(!!d&&d.f==b){CFc(this.b);Xjb(this,a,d)}};var Vjb;var _O=sAc(1025);R0(430,1,{430:1},fkb);_.b=false;_.c=null;_.d=false;_.e=false;var ZO=sAc(430);R0(1026,1,eXc,gkb);_.ih=function hkb(a,b,c){return b.n!=(Nlc(),Tjc)||b.n==Tjc&&$dc(b,(thc(),sgc))!=0};_.jh=function ikb(a, -b,c){var d;if(b.n==(Nlc(),ylc)){ekb(this.b,b.d);d=gfc(Uec((Zd(PBc(iZc,hCc(46))==-1,iWc,iZc),Jdc(),new Jhc(Ekc,iZc)),this.b.i),b);Fec(d,(thc(),ahc),1);this.a.Hg();Mec(b.g,b,d)}else if(b.n==Ekc&&MBc(b.Di(),SVc)){dkb(this.b,b.d);d=gfc(Uec((Zd(PBc(jZc,hCc(46))==-1,iWc,jZc),Jdc(),new Jhc(Ekc,jZc)),this.b.a),b);this.a.Hg();Mec(b.g,b,d)}};var $O=sAc(1026);R0(1039,dXc,RYc,vkb);_.dh=function ykb(a,b){var c;this.d=this.a.Qg();mub(this.a,b,new Fkb(this));mub(this.a,b,this);REb(this.a,a,kkb,yG(tG(BQ,1),xUc,22, -0,[this]));mub(this.a,b,new Kjb(this.c));c=new Kkb(this);mub(this.a,b,c);Jkb(c);tkb(this);QEb(this.a,kkb)};_.jh=function zkb(a,b,c){var d,e;if(!b.c||!ivb(b.c))return;Vd(!c||c.n!=(Nlc(),Sjc),c);(b.n==(Nlc(),wkc)||b.n==rjc)&&qMc(this.b,b);uub();if(!!b&&(b.n==Hlc||b.n==wkc||b.n==rjc))for(e=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();e.Jd();){d=e.Kd();ukb(this,a,b,d)}else{Zd(b.n==Tjc||b.n==ljc,"Unexpected declaration node: %s",b);ukb(this,a,b,b.c)}};_.d=false;var jkb,kkb;var fP=sAc(1039);R0(1043,1,SYc, -Bkb);_.Md=function Ckb(a){return Akb(a)};_.zd=function Dkb(a){return this===a};_.Od=function Ekb(a){return Akb(a)};var aP=sAc(1043);R0(1040,dXc,eXc,Fkb);_.jh=function Gkb(a,b,c){b.n==(Nlc(),Ekc)&&!w1(Rtb(a),b.Di())&&qMc(this.a.e,b.Di())};var bP=sAc(1040);R0(1041,dXc,eXc,Kkb);_.jh=function Lkb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;uub();if(!(b.n==(Nlc(),Ekc)&&b.Di().length!=0))return;g=b.Di();k=Rtb(a);o=t1(k,g);if(!o)return;if(P1(o)!=wkc&&P1(o)!=rjc)return;(b.g.n==wkc||b.g.n==rjc)&&qMc(this.f.b,b.g); -d=o.d;f=null;for(m=d;;m=m.b){n=m.d;if(Kvb(n)){f=n;break}else if(!!n.g&&Kvb(n.g)){f=n.g;break}else if(yvb(m.d)||!m.b)return}Wf(this.e,o,b);j=null;for(l=k;l!=d&&l.d!=f;l=l.b)l.d.n==Tjc&&(j=l);if(j){e=j.d;if(Kf(this.a,e,g))return;Wf(this.a,e,g);xNc(this.c,f)||zNc(this.c,f,new Qkb("$jscomp$loop$"+(""+this.f.a.Ng().a.S++)));i=yNc(this.c,f);h="$jscomp$loop$prop$"+o.b+"$"+(""+this.f.f.a.S++);qMc(i.b,o);zNc(this.d,o,h);Wf(this.b,e,i)}};var eP=sAc(1041);R0(1042,1,eXc,Nkb);_.ih=function Okb(a,b,c){Vd(b.n!= -(Nlc(),mjc),b);if(b.n==Tjc)return false;else if(Kvb(b))if(this.c==null)return false;else{++this.b;return true}else return true};_.jh=function Pkb(a,b,c){Kvb(b)?--this.b:b.n==(Nlc(),sjc)&&(this.b==0&&!b.c?Mkb(this,b):this.c!=null&&!!b.c&&MBc(this.c,(Ud(!!b.c&&!b.c.f),b.c).Di())&&Mkb(this,b))};_.b=0;_.d=false;var cP=sAc(1042);R0(621,1,{621:1},Qkb);var dP=sAc(621);R0(1038,dXc,RYc,Tkb);_.dh=function Ukb(a,b){REb(this.a,a,Rkb,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.a,b,Rkb,yG(tG(BQ,1),xUc,22,0,[this])); -QEb(this.a,Rkb)};_.jh=function Vkb(a,b,c){var d,e,f;b.n==(Nlc(),Tjc)&&!!c&&c.n==ejc&&c.g.n!=Tjc&&(d=b.c,e=d.zi(false),f=gfc(L8b(e,wkc),b),vub(a.f,(aXb(),zWb)),d.Ii(""),this.a.Vg(d),Hec(c,b),Ndc(c,f),this.a.Vg(f),Ndc(e,b),undefined)};var Rkb;var gP=sAc(1038);R0(1020,1,RYc,jlb);_.dh=function klb(a,b){REb(this.b,a,Zkb,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.b,b,Zkb,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.b,Zkb)};_.ih=function llb(a,b,c){switch(b.n.f){case 86:case 87:if(CVb((AVb(),oVb),heb(this.b.Hg()))){Job(this.b, -b,hZc);return false}break;case 124:Kob(this.b,b,CXc)}return true};_.jh=function mlb(a,b,c){b.n.f==96&&glb(this,a,b,c)};var Wkb,Xkb,Ykb,Zkb;var pP=sAc(1020);R0(1021,dXc,eXc,nlb);_.jh=function olb(a,b,c){if(b.n!=(Nlc(),Nic)||b.c==this.a)return;Bec(this.a,b.c)&&this.b.b.Tg(Orb(b,($kb(),Wkb),yG(tG(vZ,1),cWc,2,6,[])))};var hP=sAc(1021);R0(259,11,{259:1,3:1,20:1,11:1},tlb);var plb,qlb,rlb;var lP=tAc(259,dZ,ulb);R0(320,1,{},wlb);var nP=sAc(320);R0(1018,dXc,RYc,Blb);_.dh=function Clb(a,b){REb(this.b,a,xlb, -yG(tG(BQ,1),xUc,22,0,[this]));REb(this.b,b,xlb,yG(tG(BQ,1),xUc,22,0,[this]))};_.jh=function Dlb(a,b,c){var d,e,f,g;b.n==(Nlc(),mjc)&&(Gd(b.n==mjc),d=b.c.f,d.n!=Djc&!uec(d))&&(zlb(this,b)?Alb(this,a,b):(e=new kfc(ejc),f=P8b((Zd(PBc("",hCc(46))==-1,iWc,""),Jdc(),new Jhc(Ekc,"")),i9b(yG(tG(BX,1),kWc,7,0,[])),e),g=dwb(f,yG(tG(BX,1),kWc,7,0,[])),Mec(b.g,b,g),Mdc(e,(Ud(_8b(b)),new mfc(glc,b))),jfc(g,b),a.c.Vg(g),Alb(this,a,b),undefined))};_.a=0;var xlb;var oP=sAc(1018);R0(989,1,RYc,Rlb);_.dh=function Slb(a, -b){Ud(zFc(this.f));REb(this.b,a,this.e,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.b,b,this.e,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.b,this.d);Ud(zFc(this.f))};_.ih=function Tlb(a,b,c){var d,e,f;switch(b.n.f){case 65:Hlb(a,b);break;case 45:Jlb(this,b,c);break;case 93:case 94:{d=b.n==(Nlc(),Skc)&&!!b.c&&vec(b.c?b.c.i:null);if(!zFc(this.f)&&d){for(f=new YFc(this.f);f.a!=f.b;){e=WFc(f);if(e.a)break;e.a=true}BFc(this.f).a=true}sFc(this.f,new amb(b,d));break}}return true};_.jh=function Ulb(a,b,c){Olb(this, -a,b,c)};_.c=0;var tP=sAc(989);R0(990,1,{},Wlb);var qP=sAc(990);R0(312,11,{312:1,3:1,20:1,11:1},$lb);var Xlb,Ylb;var rP=tAc(312,dZ,_lb);R0(537,1,{537:1},amb);_.a=false;var sP=sAc(537);R0(1044,1,NWc,dmb);_.dh=function emb(a,b){REb(this.b,b,bmb,yG(tG(BQ,1),xUc,22,0,[new fmb(this)]));QEb(this.b,bmb)};_.g=false;var bmb;var FP=sAc(1044);R0(1046,1,eXc,fmb);_.ih=function gmb(a,b,c){$dc(b,(thc(),Lgc))!=0&&++this.a;return true};_.jh=function hmb(a,b,c){$dc(b,(thc(),Lgc))!=0&&omb(new Cmb(this.b,b,--this.a))}; -_.a=0;var uP=sAc(1046);R0(1047,1,{},Cmb);_.b=0;var CP=sAc(1047);R0(626,1,{626:1},Dmb);var vP=sAc(626);R0(1049,1,{},nnb);_.b=false;_.d=0;_.o=0;_.s=false;var AP=sAc(1049);R0(111,1,{111:1},snb);_.c=0;_.e=true;var wP=sAc(111);R0(623,1,{623:1},tnb);_.b=0;var xP=sAc(623);R0(624,1,{624:1},unb);var yP=sAc(624);R0(622,1,eXc,znb);_.ih=function Anb(a,b,c){var d;if($dc(b,(thc(),Ugc))!=0){Fec(b,Ugc,0);return false}Ud($dc(b,Tgc)==0);Vd(b.n!=(Nlc(),slc),"Reference to SUPER is not supported");if(Kvb(b)){++this.b; -++this.a}else b.n==tlc&&++this.a;if(b.n==gjc||b.n==sjc){b.c?xnb(this,b):(d=null,b.n==gjc&&this.a==0&&(d=xFc(this.c.c)),b.n==sjc&&this.b==0&&(d=xFc(this.c.i)),!!d&&cnb(this.c.r.a,b,d,this.a),undefined);return false}return b.n!=Tjc};_.jh=function Bnb(a,b,c){var d,e,f,g;if(Kvb(b)){--this.b;--this.a}else b.n==(Nlc(),tlc)?--this.a:b.n==ylc?ynb(this,b):b.n==glc?Ndc(b,enb(this.c,b,Jec(b))):b.n==Ekc&&MBc(b.Di(),SVc)?wnb(this,b):b.n==Hlc&&(c.n==Pjc?(d=vnb(b),!d?Nec(b,new kfc(Djc)):Mec(b.g,b,d),jmb(this.c.r, -b),undefined):c.n==Rjc?(e=(Ud(!!b.c&&!b.c.f),b.c),Vd(!e.c,e),f=Tec(e.zi(false),null),Mec(b.g,b,f),jmb(this.c.r,b),undefined):(g=vnb(b),!g?Vdc(b):Nec(b,(Vd(_8b(g),g),new mfc(Njc,g))),jmb(this.c.r,b),undefined))};_.a=0;_.b=0;var zP=sAc(622);R0(1048,1139,eXc,Cnb);_.ih=function Dnb(a,b,c){if(b.n==(Nlc(),Tjc))return false;if(b.n==Mlc){Ud(!this.a);this.a=b;return false}return true};var BP=sAc(1048);R0(1045,1139,eXc,Fnb);_.ih=function Gnb(a,b,c){Fec(b,(thc(),Tgc),0);if(b.n==(Nlc(),Tjc))return false;if(b.n== -Mlc){Enb(this,b);return false}return true};var DP=sAc(1045);R0(625,1,eXc,Hnb);_.ih=function Inb(a,b,c){return b.n!=(Nlc(),Tjc)};_.jh=function Jnb(a,b,c){b.n==(Nlc(),Mlc)&&Fec(b,(thc(),Tgc),1);!!c&&$dc(b,(thc(),Tgc))!=0&&Fec(c,(thc(),Tgc),1)};var EP=sAc(625);R0(617,1,NWc,Mnb);_.dh=function Onb(a,b){var c,d;for(d=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();d.Jd();){c=d.Kd();if(Lnb(c)){mub(this.a,c,new eob(this,this.a,c));Fec(c,(Jdc(),Hdc),1)}}this.a.Yg(LVb(this.a.Cg(),(aXb(),CWb),yG(tG(lU,1),DUc,25, -0,[])))};var JP=sAc(617);R0(216,1,{216:1},Pnb);var GP=sAc(216);R0(1011,dXc,eXc,eob);_.jh=function fob(a,b,c){Znb(this,a,b,c)};var IP=sAc(1011);R0(1035,dXc,RYc,rob);_.dh=function sob(a,b){REb(this.c,a,hob,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.c,b,hob,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.c,hob)};_.jh=function tob(a,b,c){var d,e;switch(b.n.f){case 114:qob(this,a,b,c);break;case 42:case 23:case 28:for(e=(!b.c?(JHc(),JHc(),IHc):new whc(b.c)).Xd();e.Jd();){d=e.Kd();if(d.n==(Nlc(),qkc)||d.n==Ukc){oob(this, -b);break}}}};var gob,hob;var KP=sAc(1035);R0(1027,dXc,RYc,xob);_.dh=function yob(a,b){REb(this.a,b,uob,yG(tG(BQ,1),xUc,22,0,[this]))};_.jh=function zob(a,b,c){rvb(b)&&wob(a,b,c)};var uob;var LP=sAc(1027);var Fob,Gob;R0(1016,1,RYc,Rob);_.dh=function Sob(a,b){REb(this.a,a,Pob,yG(tG(BQ,1),xUc,22,0,[this]));REb(this.a,b,Pob,yG(tG(BQ,1),xUc,22,0,[this]));QEb(this.a,Pob)};_.ih=function Tob(a,b,c){return true};_.jh=function Uob(a,b,c){var d,e,f,g;switch(b.n.f){case 18:d=Tdc(this.b,false);Mdc(d,Jec(b));Mdc(d, -Jec(b));jfc(d,b);Mec(b.g,b,d);this.a.Vg(d);break;case 59:e=Jec(b);f=Tdc(this.b,false);Mdc(f,Tdc(e,false));Mdc(f,Jec(b));g=Uec(D8b(e,f),this.e);jfc(g,b);Mec(b.g,b,g);this.a.Vg(g)}};var Pob;var MP=sAc(1016);R0(632,1,{},dpb);_.a=false;_.i="JSCompiler_temp";var OP=sAc(632);R0(1074,1,{},kpb);_.Cd=function lpb(){return yd(wd(wd(new zd((lAc(NP),NP.n)),"sideEffects",""+this.b),"extractBeforeStatement",this.a))};_.b=false;var NP=sAc(1074);R0(796,153,nYc);var PP=sAc(796);R0(671,1,DZc,rpb);_.di=function spb(a){}; -_.ei=function tpb(a){Rtb(a)==this.b&&(this.b=null)};_.ih=function upb(a,b,c){this.d&&b.n==(Nlc(),Tjc)&&ezb(b,this.a.I.$b)&&!this.b&&(this.b=Rtb(a));return true};_.jh=function vpb(a,b,c){var d,e,f,g,h,i,j,k,l;i=this.a.I.$b;if(!c||ovb(c)||(uub(),c.n==(Nlc(),hlc)||c.n==jlc||c.n==ejc||c.n==Ckc))if(b.n==(Nlc(),Njc)){e=b.c.c;if(!!e&&(Dec(e,EZc,EZc.length)||Dec(e,FZc,FZc.length))){this.c=(Zdb(),Vdb);return}}if(this.e&&b.n==(Nlc(),Kjc)){this.c=(Zdb(),Udb);if($dc(b,(Jdc(),pdc))!=0);else!!b.c&&!!b.c.f&&b.c.f== -(b.c?b.c.i:null)&&npb(a,b)}else if(this.e&&b.n==(Nlc(),dkc)){this.c=(Zdb(),Udb);npb(a,b)}else if(this.d)if(this.c!=(Zdb(),Vdb)&&fzb(a,b))this.c=Tdb;else if(gzb(b,i)){h=dzb(b,i);f=CKb(vdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d)),h,(d=bec(b,(thc(),khc)),!d?null:d.ah()),tfc(b.k),sfc(b.k));!!f&&(!!this.b||ezb((uub(),Lub(b,new rwb((Nlc(),Tjc)))),i)?pdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),gLb(f.a)):qdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),QIb(gLb(f.a),h)))}if(!!c&&(c.n==(Nlc(),Njc)||!(j=(k=AFc(a.b),lH(k, -7)?l=k:l=k.Mk.Mk,l),Vd(j.n==jlc||j.n==hlc||j.n==ejc||j.n==Tjc||j.n==Ckc,j),j.n==jlc||j.n==hlc||j.n==ejc))&&b.n==(Nlc(),hjc)&&Cec(b.c,GZc)&&!!b.c.f&&b.c.f.n==(Nlc(),olc)){g=b.c.f.Di();MBc(g.substr(0,5),"goog.")&&qdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),(OIb(),NIb));qdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),(OIb(),YIb(_Ib($Ib(ZIb(new aJb,g),g),(cKb(),aKb)))))}};_.b=null;_.d=false;_.e=false;var RP=sAc(671);R0(907,1139,eXc,wpb);_.ih=function xpb(a,b,c){var d;if(this.a)return false;if(!c||ovb(c)||(uub(), -c.n==(Nlc(),hlc)||c.n==jlc||c.n==ejc||c.n==Ckc)){if(b.n==(Nlc(),Njc)){d=b.c.c;if(!!d&&(Dec(d,EZc,EZc.length)||Dec(d,FZc,FZc.length))){this.a=true;return false}}return true}return false};_.a=false;var QP=sAc(907);R0(975,1,HZc,ypb);_.qh=function zpb(){throw p0(new PAc("Code changes forbidden"));};var SP=sAc(975);var Apb,Bpb,Cpb,Dpb,Epb,Fpb,Gpb,Hpb,Ipb,Jpb,Kpb,Lpb,Mpb,Npb,Opb,Ppb;R0(983,dXc,RYc,Vpb);_.dh=function Wpb(a,b){Upb(this,a)};_.jh=function Xpb(a,b,c){var d,e;switch(b.n.f){case 26:d=b.c.f;d.n== -(Nlc(),olc)&&qMc(this.b,d.Di());break;case 91:c.n==(Nlc(),Rkc)&&qMc(this.b,b.Di());break;case 98:qMc(this.b,b.Di())}e=bec(b,(thc(),Zgc));!!e&&Rpb(this,e)};var TP=sAc(983);R0(960,1,{},aqb);_.b=0;_.e=false;var Ypb;var ZP=sAc(960);R0(533,1139,eXc,sqb);_.ih=function tqb(a,b,c){var d,e;!!this.c.c&&(b==this.c.c?this.c.d=Rtb(a):b.n==(Nlc(),jlc)&&(d=bec(b,(thc(),khc)),!!d&&d.ri()?xvb(b)?1:0:2));if(b.n==(Nlc(),Ckc)||lvb(b))this.c.a.Gg();else if(b.n==jlc||kvb(b)){this.b=null;this.a=null}dqb(this,(e=(!a.d&& -!!a.i&&(a.d=a.c.Dg(a.i)),a.d),!e?null:e.k),Rtb(a),b);return true};_.a=null;_.b=null;var UP=sAc(533);R0(400,1,{400:1,3:1},Cqb);_.Cd=function Dqb(){return zqb(this)+" ("+this.v+"): "+Ic(new Kc(tUc),new NDc(Lc("globalSets="+this.i,"localSets="+this.k,yG(tG(qZ,1),xUc,1,5,["totalGets="+this.u,"aliasingGets="+this.a,"callGets="+this.c,"subclassingGets="+this.s]))))};_.a=0;_.c=0;_.e=0;_.f=null;_.g=null;_.i=0;_.j=false;_.k=0;_.n=0;_.s=0;_.u=0;var WP=sAc(400);R0(161,11,{161:1,3:1,20:1,11:1},Lqb);var Eqb,Fqb, -Gqb,Hqb,Iqb,Jqb;var VP=tAc(161,dZ,Mqb);R0(308,1,{308:1},Nqb);_.Cd=function Oqb(){return yd(wd(wd(wd(wd(wd(wd(wd(xd(new zd((lAc(YP),YP.n))),"name",this.b),MXc,this.g),"node",this.c),"preOrderIndex",""+this.d),"isTwin",""+!!this.f),_Wc,this.a),"scope",this.e))};_.d=0;_.f=null;var YP=sAc(308);R0(136,11,{136:1,3:1,20:1,11:1},Yqb);var Pqb,Qqb,Rqb,Sqb,Tqb,Uqb,Vqb,Wqb;var XP=tAc(136,dZ,Zqb);R0(821,1,eXc);_.ih=function frb(a,b,c){var d,e;if(!c)rFc(this.d,(irb(),hrb));else{rFc(this.d,jrb(AFc(this.d),this.c, -c,b));if(!!c&&$qb.Td(c.n)&&Uf(this.g,c))for(e=Xf(this.g,c).Xd();e.Jd();){d=e.Kd();vj(this.e,d,1);Wf(this.f,c,d)}}return true};_.jh=function grb(a,b,c){!!c&&$qb.Td(b.n)&&Uf(this.f,b)&&cj(this.e,Xf(this.f,b));(b.n==(Nlc(),glc)||b.n==zlc)&&crb(this,c);EBb(this,a,b);CFc(this.d)};var $qb,_qb;var _P=sAc(821);R0(125,1,{125:1},lrb);_.c=false;var hrb;var $P=sAc(125);R0(644,450,PVc);var aQ=sAc(644);var mrb;var orb;R0(654,89,nYc,srb);_._h=function trb(a){return false};_.bi=function urb(){return(GIb(),BIb).a}; -_.ci=function vrb(a){var b;b=a.f!=null&&LBc(a.f,".java.js");return b?Vgb(this.a,a.g)?this.b:null:null};var qrb;var bQ=sAc(654);R0(302,1,{},Frb);_.a=false;_.b=false;var dQ=sAc(302);R0(897,1,{},Grb);_.ef=function Hrb(a,b){Brb(this.a,this.b,a,b)};var cQ=sAc(897);R0(58,1,{58:1,3:1},Jrb,Krb);_.zd=function Lrb(a){var b;if(this===a)return true;if(a==null||eQ!=xb(a))return false;b=a;if(this.a!=b.a)return false;if(this.d!=b.d)return false;if(!MBc(this.c,b.c))return false;if(this.b!=b.b)return false;if(this.f!= -null?!MBc(this.f,b.f):b.f!=null)return false;return Vhb(this.g,b.g)};_.Bd=function Mrb(){var a;a=cUc(this.g.b);a=31*a+cUc(this.c);a=31*a+(this.f!=null?cUc(this.f):0);a=31*a+this.d;a=31*a+YTc(this.b);a=31*a+this.a;return a};_.Cd=function Qrb(){return this.g.b+". "+this.c+" at "+(this.f!=null&&this.f.length>0?this.f:"(unknown source)")+" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var eQ=sAc(58);R0(263,244,{263:1,444:1,244:1,3:1},Vrb); -_.Th=function Wrb(){throw p0(new HCc);};_.ah=function Xrb(){return this.e};_.Uh=function Yrb(){return On(),new RB(Pd(this.e))};_.Wh=function Zrb(){var a,b,c;a=(On(),new vs);for(c=new FGc(this.a);c.a0&&TRc(this.b,a,T7b("%d error(s), %d warning(s)",yG(tG(qZ,1),xUc,1,5,[dBc(this.d+this.e),dBc(this.f)])))};_.gh=function gtb(a,b){switch(a.f){case 0:XRc(this.b,Irb(b,a,this.a));break;case 1:YRc(this.b,Irb(b,a,this.a))}};var rQ=sAc(653);R0(1150,1,DZc);_.di=function htb(a){};_.ei=function itb(a){};_.ih=function jtb(a,b,c){return true};var zQ=sAc(1150);R0(266,1150,DZc,ntb,otb);_.di=function qtb(a){var b,c,d;Zd(true,"MakeDeclaredNamesUnique requires an ES6-compatible scope creator. %s is not compatible.", -a.k);b=Utb(a);if(zFc(this.b)){Ud(b.n!=(Nlc(),Tjc)||!this.c);d=this.c}else{c=b.n!=(Nlc(),Tjc)&&!Bub(b);d=AFc(this.b).ii(Utb(a),c)}rFc(this.b,d);ktb(this,a,b)};_.ei=function rtb(a){var b;Ttb(a)==0||(b=CFc(this.b),b)};_.jh=function stb(a,b,c){switch(b.n.f){case 29:case 108:mtb(this,a,b,c)}};_.a=false;var vQ=sAc(266);R0(410,1,e$c,utb,vtb);_.hi=function wtb(a,b){var c,d;if(b&&this.f!=this)this.f.hi(a,true);else if(!MBc(a,SVc))if(this.e)this.g.bf(a,0,1);else if(!fDc(this.d,a)){c=this.g.Ue(a,1);d=null;c!= -0&&(d=a+CZc+c);hDc(this.d,a,d)}};_.ii=function xtb(a,b){return new vtb(a,this.g,b,this)};_.ji=function ytb(){return this.f};_.ki=function ztb(a){return eDc(this.d,a)};_.li=function Atb(){return false};_.Cd=function Btb(){return yd(wd(wd(wd(wd(new zd(oAc(this.Ik)),"scopeRoot",this.i),"nameUsage",this.g),"declarations",this.d),tWc,""+this.e))};_.e=false;var tQ=sAc(410);R0(673,410,e$c,Ctb);_.ii=function Dtb(a,b){return new Ftb(this.a,this.c,this.b,false,b,this)};var sQ=sAc(673);R0(538,1,e$c,Ftb);_.hi= -function Gtb(a,b){Ud(!MBc(a,SVc));b&&this.c!=this?this.c.hi(a,b):fDc(this.b,a)||hDc(this.b,a,Etb(this,a))};_.ii=function Htb(a,b){return new Ftb(this.a,this.f,this.d,this.e,b,this)};_.ji=function Itb(){return this.c};_.ki=function Jtb(a){return eDc(this.b,a)};_.li=function Ktb(){return this.e};_.e=false;var uQ=sAc(538);var Ltb,Mtb,Ntb;R0(154,1,{},lub);_.q=false;var CQ=sAc(154);var oub,pub,qub,rub,tub;R0(143,1,SYc,rwb);_.Md=function swb(a){return a.n==this.a};_.zd=function twb(a){return this===a}; -_.Od=function uwb(a){return a.n==this.a};var DQ=sAc(143);R0(118,1,SYc,vwb);_.zd=function xwb(a){return this===a};_.Od=function ywb(a){return Vvb(a)};_.Md=function wwb(a){return Vvb(a)};var EQ=sAc(118);R0(758,1,SYc,zwb);_.zd=function Bwb(a){return this===a};_.Od=function Cwb(a){return a.n==(Nlc(),ylc)};_.Md=function Awb(a){return a.n==(Nlc(),ylc)};var FQ=sAc(758);R0(755,1,SYc,Dwb);_.Md=function Ewb(a){return a.n==this.a};_.zd=function Fwb(a){return this===a};_.Od=function Gwb(a){return a.n==this.a}; -var GQ=sAc(755);R0(756,1,SYc,Hwb);_.zd=function Jwb(a){return this===a};_.Od=function Kwb(a){return uub(),a.n!=(Nlc(),Tjc)};_.Md=function Iwb(a){return uub(),a.n!=(Nlc(),Tjc)};var HQ=sAc(756);R0(757,1,SYc,Lwb);_.zd=function Nwb(a){return this===a};_.Od=function Owb(a){return uub(),!Ovb(a)};_.Md=function Mwb(a){return uub(),!Ovb(a)};var IQ=sAc(757);R0(976,1,NWc,Rwb);_.dh=function Swb(a,b){Pwb(this,a,b)};_.a=false;var QQ=sAc(976);R0(981,1,{},Uwb);_.mi=function Vwb(a,b,c,d){var e,f;Ud(c.n==(Nlc(),Ekc)); -e=c.g;f=t1(a,b);if(!a.b)if((!f.a||xdb(f.a))&&!xdb(d))if(qMc(this.a,f))return;if(e.n==Tjc){if((!f.c?null:f.c.g).n==Hlc){x1(a,f);kCb(a,b,c,f.a);Twb(this,f.c,!f.c?null:f.c.g,(!f.c?null:f.c.g).g)}}else if(e.n==Hlc){Ud(!!e.c&&!e.c.f);Twb(this,c,e,e.g)}};var JQ=sAc(981);R0(977,dXc,eXc,Wwb);_.jh=function Xwb(a,b,c){var d,e,f,g,h;uub();if(b.n==(Nlc(),Njc)&&b.c.n==Nic){d=b.c;h=d.c;h.n==Zjc&&(f=bec(d,(thc(),Zgc)),!!f&&(f.a&a$c)!=0)&&qMc(this.a,(h.c?h.c.i:null).Di())}else b.n==plc&&(g=bec(b,(thc(),Zgc)),!!g&& -(g.a&a$c)!=0)?qMc(this.a,b.Di()):b.n==Zjc&&b.g.n==Njc&&(e=bec(b,(thc(),Zgc)),!!e&&(e.a&a$c)!=0)&&qMc(this.a,(b.c?b.c.i:null).Di())};var KQ=sAc(977);R0(460,1,eXc,exb);_.ih=function fxb(a,b,c){b.n==(Nlc(),rkc)&&axb(this,b);uub();(b.n==hlc||b.n==jlc||b.n==ejc||b.n==Ckc||b.n==rkc)&&Zwb(this,b,null,null);(b.n==hlc||b.n==jlc||b.n==ejc||b.n==Ckc)&&dxb(this,b);b.n==Tjc&&$wb(this,b.c?b.c.i:null);gvb(b)&&b.n!=Nic&&_wb(this,b);return true};_.jh=function gxb(a,b,c){var d,e;switch(b.n.f){case 70:e=b.c;bfc(b,(Nlc(), -Pjc));d=new kfc(Djc);ifc(d,b);Ldc(b,d,e);Kdc(b,Udc(d,new kfc(d.n),false),e);bxb(this,"WHILE node",b);break;case 65:hxb(b,this.b)&&bxb(this,"Function declaration",b);break;case 109:cxb(this,b);break;case 29:case 31:case 86:case 87:Ywb(this,b,c);break;case 92:this.b.Vg(b);Mec(c,b,Jec(b))}};_.a=false;var LQ=sAc(460);R0(979,dXc,RYc,jxb);_.dh=function kxb(a,b){ixb(this,a,b)};_.jh=function lxb(a,b,c){var d,e,f,g,h,i;if(b.n==(Nlc(),Ekc)||b.n==plc){if(b.Di().length==0)return;d=null;i=t1(Rtb(a),b.Di());!!i&& -(d=!i.c?null:(uub(),f=Fub(i.c),!f?null:bec(f,(thc(),Zgc))));h=!!d&&((d.a&37)!=0||(!d.d?null:d.d.d)!=null)||mvb(this.b.yg(),b);e=$dc(b,(Jdc(),xdc))!=0;if(h&&!e){if(this.a){g=b.Di();throw p0(new PAc(k$c+g+vVc+" parent:"+ffc(b.g)));}Eec(b,xdc,true)}}};_.a=false;var MQ=sAc(979);R0(978,dXc,eXc,mxb);_.jh=function nxb(a,b,c){var d,e,f;if(b.n==(Nlc(),Zjc)){f=(b.c?b.c.i:null).Di();if(rMc(this.a,f)){d=Jec(b);e=Jec(b);this.b.b.Vg(b);Nec(b,Q8b(d,e))}}else if(b.n==plc){f=b.Di();if(rMc(this.a,f))if(!b.Fi()){this.b.b.Vg(b); -b.Hi()}}};var NQ=sAc(978);R0(982,1,DZc,oxb);_.di=function pxb(a){Rtb(a)};_.ei=function qxb(a){};_.ih=function rxb(a,b,c){return true};_.jh=function sxb(a,b,c){};var OQ=sAc(982);R0(980,dXc,RYc,uxb);_.dh=function vxb(a,b){txb(this,a,b)};_.jh=function wxb(a,b,c){var d,e,f,g,h,i,j,k;if(b.n==(Nlc(),Ekc)){i=b.Di();if(b.Di().length==0)return;g=$dc(b,(Jdc(),xdc))!=0;if(this.a){e=false;d=this.b.yg();uub();if($dc(b,xdc)!=0||mvb(d,b))e=true;else{e=false;f=null;k=t1(Rtb(a),b.Di());!!k&&(f=!k.c?null:(h=Fub(k.c), -!h?null:bec(h,(thc(),Zgc))));!!f&&((f.a&37)!=0||(!f.d?null:f.d.d)!=null)?e=true:e=false}e?Zd(e==g,"The name %s is not annotated as constant.",i):Zd(e==g,"The name %s should not be annotated as constant.",i)}j=eDc(this.c,i);j==null?hDc(this.c,i,(Vzc(),g?true:false)):Zd(j==g,"The name %s is not consistently annotated as constant.",i)}};_.a=false;var PQ=sAc(980);R0(886,1,{});var RQ=sAc(886);var xxb,yxb;R0(666,1,{},Kxb);_.a=0;_.c=-1;_.d=0;_.f=-1;_.i=0;_.j=0;_.k=0;_.n=0;_.p=-1;_.q=0;_.r=-1;_.s=-1;_.t= --1;_.u=0;_.w=0;_.B=0;_.C=0;_.D=0;_.H=0;_.I=0;_.J=0;var aR=sAc(666);R0(769,1,{},Lxb);_.vf=function Mxb(a){};var UQ=sAc(769);R0(771,1,{},Nxb);_.vf=function Oxb(a){};var VQ=sAc(771);R0(361,1,{361:1},Pxb);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;_.i=false;_.k=0;_.n=0;_.o=0;var WQ=sAc(361);R0(766,1,{},Qxb);_.hh=function Rxb(a){Kt(this.a,a.n)};var XQ=sAc(766);R0(767,1,{113:1},Sxb);_.zd=function Uxb(a){return this===a};_.zf=function Vxb(){return new _Kc(this)};_.xf=function Txb(a,b){return iBc(a.gf().n, -b.gf().n)};var YQ=sAc(767);R0(768,1,NUc,Wxb);_.Pd=function Xxb(a){var b,c;return b=a.ff(),c=a.gf(),T7b("%s,%d,%d,%d,%d,%d,%d,%d",yG(tG(qZ,1),xUc,1,5,[b,qBc(c.n),dBc(c.a),dBc(c.k),dBc(c.d),dBc(c.b),dBc(c.e),dBc(c.f)]))};var ZQ=sAc(768);R0(770,1,NUc,Yxb);_.Pd=function Zxb(a){return T7b("%s,%d",yG(tG(qZ,1),xUc,1,5,[a.df(),dBc(a.cf())]))};var $Q=sAc(770);R0(804,495,{},$xb);_.sh=function _xb(a){var b;b=a.length;if(b>0){this.b+=b;this.a=a.charCodeAt(b-1)}};_.Eh=function byb(){return this.a};_.a=0;_.b=0; -var _Q=sAc(804);R0(661,1,NWc,nyb);_.dh=function oyb(a,b){kyb(this,a,b)};_.c=false;_.e=0;_.g=0;_.j=false;_.k=0;_.o=0;_.q=false;var cyb,dyb,eyb,fyb;var fR=sAc(661);R0(486,1,NWc,syb);_.dh=function tyb(a,b){var c,d,e,f,g,h,i,j,k,l;Vd(!this.f.c,"Nested loops are forbidden");this.f.c=true;ryb(this);this.b=qyb(this);this.e=new Ayb(this.f);dbb(this.f.b,this.e);this.f.f=new mMc;for(i=new FGc(this.d);i.athis.f.g&&this.b)return;d>100&&gcb("Fixed point loop exceeded the maximum number of iterations.",null);++d;e=false;for(h=new FGc(this.d);h.athis.d.length)throw p0(new xsb("Expected line number between 1 and "+this.d.length+"\nActual: "+a));return this.d[a-1]};_.ah=function QCb(){return this.b};_.Cd=function SCb(){return this.b};_.a=null;_.d=null; -var $R=sAc(193);R0(686,1,{},VCb);var YR=sAc(686);R0(687,193,K$c,WCb);var ZR=sAc(687);R0(670,dXc,eXc,XCb);_.jh=function ZCb(a,b,c){var d,e,f,g;this.a&&this.b!=null&&Ud(MBc(this.b,(d=bec(b,(thc(),khc)),!d?null:d.ah())));switch(b.n.f){case 26:g=b.c?b.c.i:null;YCb(b,g.Di());break;case 65:e=Vub(b);e!=null&&e.length!=0&&bec(b,(thc(),ehc))==null&&Gec(b,(thc(),ehc),e);break;case 29:YCb(b,b.Di());break;case 43:for(f=b.c;f;f=f.f)f.n!=(Nlc(),qjc)&&!f.Fi()&&!(f.n==qkc||f.n==Ukc)&&YCb(f,f.Di())}};_.a=false;var _R= -sAc(670);R0(200,11,L$c);_.Od=function cDb(a){return this.Md(a)};var $Cb,_Cb;var cS=tAc(200,dZ,dDb);R0(705,200,L$c,eDb);_.Md=function fDb(a){return true};var aS=tAc(705,cS,null);R0(706,200,L$c,gDb);_.Md=function hDb(a){return a.n==(Nlc(),hjc)||a.n==Kkc||a.n==Tjc||a.n==Ekc||(uub(),a.n==Zjc||a.n==Yjc)||cwb(a)||a.n==olc&&zvb(a.g)||a.n==ulc};var bS=tAc(706,cS,null);R0(199,11,M$c);var iDb,jDb;var fS=tAc(199,dZ,mDb);R0(703,199,M$c,nDb);var dS=tAc(703,fS,null);R0(704,199,M$c,oDb);var eS=tAc(704,fS,null); -R0(489,1,{489:1,3:1},tDb);_.a=false;_.b=null;var pDb,qDb;var gS=sAc(489);var vDb,wDb,xDb,yDb,zDb,ADb,BDb,CDb,DDb,EDb,FDb,GDb;R0(655,796,nYc,IDb);_.bi=function JDb(){return(GIb(),FIb).a};_.ci=function KDb(a){var b,c,d,e,f,g,h,i,j,k;h=a.e;!h&&(h=mpb(this,a));if(h)for(b=h;b;b=b.g){d=null;b.n==(Nlc(),Tjc)||b.n==mjc?d=(uub(),f=Fub(b),!f?null:bec(f,(thc(),Zgc))):b.n==jlc?d=bec(b,(thc(),Zgc)):(uub(),(!!b&&(b.n==Hlc||b.n==wkc||b.n==rjc)||gvb(b)&&b.g.n==Njc||b.n==Zjc&&b.g.n==Njc||cwb(b)||b.n==qjc)&&(d=(e= -Fub(b),!e?null:bec(e,(thc(),Zgc)))));if(d)for(k=(i=!d.d?null:d.d.q,!i?(JHc(),JHc(),IHc):i).Xd();k.Jd();){j=k.Kd();c=eDc(this.a,j);if(c){g=c.ci(a);if(g)return g}}}return null};var hS=sAc(655);R0(122,1,{},ODb,PDb);var LDb;var kS=sAc(122);R0(775,1,{},QDb);_.mi=function RDb(a,b,c,d){};var iS=sAc(775);R0(774,1,{},WDb);var jS=sAc(774);R0(665,1,hXc,YDb);_.Yh=function ZDb(a){return this.b};_.Zh=function $Db(){return this.a};_.$h=function _Db(){return this.c};var lS=sAc(665);R0(652,1,{},bEb);_.eh=function cEb(a, -b){aEb(this,a,b)};var mS=sAc(652);R0(452,1,{},fEb);var pS=sAc(452);R0(363,1,{363:1},hEb);var nS=sAc(363);R0(364,1,{364:1},iEb);_.zd=function jEb(a){if(lH(a,364))return MBc(this.a,a.a);return false};_.Bd=function kEb(){return cUc(this.a)};var oS=sAc(364);R0(188,1,{},mEb);_.a=0;var qS=sAc(188);var nEb,oEb,pEb,qEb,rEb,sEb,tEb,uEb,vEb,wEb,xEb,yEb,zEb,AEb,BEb,CEb,DEb,EEb,FEb,GEb,HEb,IEb;R0(933,1,NUc,SEb);_.Pd=function TEb(a){return new Mnb(a)};var rS=sAc(933);R0(958,1,NWc,UEb);_.dh=function VEb(a,b){PEb(this.a, -this.b,this.c)};var CS=sAc(958);R0(945,1,NUc,WEb);_.Pd=function XEb(a){return new _jb(a)};var sS=sAc(945);R0(946,1,NUc,YEb);_.Pd=function ZEb(a){return new sBb(a)};var tS=sAc(946);R0(947,1,NUc,$Eb);_.Pd=function _Eb(a){return new xob(a)};var uS=sAc(947);R0(948,1,NUc,aFb);_.Pd=function bFb(a){return new Kib(a)};var vS=sAc(948);R0(949,1,NUc,cFb);_.Pd=function dFb(a){return new qib(a)};var wS=sAc(949);R0(950,1,NUc,eFb);_.Pd=function fFb(a){return new wjb(a)};var xS=sAc(950);R0(951,1,NUc,gFb);_.Pd=function hFb(a){return new rob(a)}; -var yS=sAc(951);R0(952,1,NUc,iFb);_.Pd=function jFb(a){return new Vsb(a)};var zS=sAc(952);R0(953,1,NUc,kFb);_.Pd=function lFb(a){return new ojb(a)};var AS=sAc(953);R0(954,1,NUc,mFb);_.Pd=function nFb(a){return new Tkb(a)};var BS=sAc(954);R0(934,1,NUc,oFb);_.Pd=function pFb(a){return new Ejb};var DS=sAc(934);R0(955,1,NUc,qFb);_.Pd=function rFb(a){return new vkb(a)};var ES=sAc(955);R0(956,1,NUc,sFb);_.Pd=function tFb(a){return new dmb(a)};var FS=sAc(956);R0(937,1,NUc,uFb);_.Pd=function vFb(a){return new hBb(a)}; -var GS=sAc(937);R0(938,1,NUc,wFb);_.Pd=function xFb(a){return new UAb(a)};var HS=sAc(938);R0(939,1,NUc,yFb);_.Pd=function zFb(a){return new Rob(a)};var IS=sAc(939);R0(940,1,NUc,AFb);_.Pd=function BFb(a){return new Bjb(a)};var JS=sAc(940);R0(941,1,NUc,CFb);_.Pd=function DFb(a){return new Blb(a)};var KS=sAc(941);R0(942,1,NUc,EFb);_.Pd=function FFb(a){return new ajb(a)};var LS=sAc(942);R0(943,1,NUc,GFb);_.Pd=function HFb(a){return new jlb(a)};var MS=sAc(943);R0(944,1,NUc,IFb);_.Pd=function JFb(a){return new Ojb(a)}; -var NS=sAc(944);R0(935,1,NUc,KFb);_.Pd=function LFb(a){return JEb(),Xzb(Yzb(new Zzb(a),!ieb(a.Hg(),(AVb(),qVb))))};var OS=sAc(935);R0(957,1,NUc,MFb);_.Pd=function NFb(a){return NEb(this.a,a)};var PS=sAc(957);R0(959,1,NUc,OFb);_.Pd=function PFb(a){return OEb(this.a,this.b,a)};var QS=sAc(959);R0(936,1,NUc,QFb);_.Pd=function RFb(a){return JEb(),GAb(HAb(new IAb(a),!ieb(a.Hg(),(AVb(),qVb))))};var RS=sAc(936);var SFb,TFb,UFb,VFb,WFb,XFb,YFb,ZFb,$Fb,_Fb,aGb,bGb,cGb,dGb,eGb,fGb,gGb,hGb,iGb,jGb,kGb,lGb,mGb, -nGb,oGb,pGb,qGb,rGb,sGb,tGb,uGb,vGb,wGb,xGb,yGb,zGb,AGb,BGb,CGb,DGb,EGb,FGb,GGb;var IGb,JGb,KGb,LGb,MGb,NGb,OGb,PGb,QGb,RGb,SGb,TGb,UGb,VGb;R0(1052,378,{},iHb);_.Nh=function jHb(a,b){gHb(this,a);Y8(this,a,b)};var TS=sAc(1052);R0(1053,1,nVc,lHb);_.zd=function nHb(a){return this===a};_.Pd=function mHb(a){return pmc(a,1)};var SS=sAc(1053);var oHb,pHb,qHb,rHb,sHb,tHb,uHb,vHb,wHb,xHb;R0(674,1,NWc,DHb);_.dh=function EHb(a,b){Q3(this.a,a);Q3(this.a,b);CHb(this,a,b);b1(this.b.V)&&YHb(new ZHb(this.b),a,b); -BHb(this,a)};var zHb;var US=sAc(674);R0(409,408,{408:1,311:1,409:1,3:1},FHb);_.Cd=function GHb(){return"Var "+this.b+" @ "+this.c};var ZS=sAc(409);R0(816,1,{46:1,22:1,330:1},ZHb);_.di=function _Hb(a){};_.ei=function aIb(a){var b,c,d,e;if(!this.f&&Ttb(a)==0){d=Rtb(a);for(c=KHb.Xd();c.Jd();){b=c.Kd();e=t1(d,b);!e&&qMc(this.g,b)}}};_.dh=function cIb(a,b){YHb(this,a,b)};_.ih=function dIb(a,b,c){return true};_.jh=function eIb(a,b,c){b.n==(Nlc(),Ekc)&&VHb(this,a,b,c)};_.a=false;_.e=false;_.f=false;var HHb, -IHb,JHb,KHb,LHb,MHb,NHb,OHb,PHb,QHb,RHb,SHb,THb;var YS=sAc(816);R0(817,1139,eXc,hIb);_.ih=function iIb(a,b,c){var d,e,f;switch(b.n.f){case 112:$dc(c,(Jdc(),udc))!=0&&fIb(this,b);return false;case 84:e=(Ud(!!b.c&&!b.c.f),b.c);if(e.n!=(Nlc(),hjc))return false;f=e.c;d=f.f;if(!d)return false;Bec(f,(UHb(),THb))?gIb(this,d.Di()):Bec(f,SHb)&&d.n==Tjc&&fIb(this,(uub(),Hd(d.n==Tjc,d),d.c?d.c.i:null));return false;case 85:case 81:return true;default:return false}};var VS=sAc(817);R0(818,1,eXc,jIb);_.ih=function kIb(a, -b,c){return b.n!=(Nlc(),jlc)||!xvb(b)};_.jh=function lIb(a,b,c){var d,e,f,g;if(b.n==(Nlc(),Ekc)){switch(c.n.f){case 76:case 100:case 88:case 65:case 96:case 45:case 123:case 114:case 115:case 93:return;case 91:if(c.g.n==Skc)return;break;case 26:if(b==c.c){e=Rtb(a);g=t1(e,b.Di());if(g)return;if(Bec(c,(UHb(),RHb)))return;this.a.d.Td(b.Di())||aub(a,b,MHb,yG(tG(vZ,1),cWc,2,6,[b.Di()]));qMc(this.a.g,b.Di())}return;case 47:if(b==(c.c?c.c.i:null)&&uec(b)&&uec(c.c))return;break;case 29:if(Mvb(c.g))return; -break;case 61:if(Nvb(c.g))return}aub(a,b,(UHb(),JHb),yG(tG(vZ,1),cWc,2,6,[b.Di()]));d=Rtb(a);f=t1(d,b.Di());!f&&qMc(this.a.g,b.Di())}};var WS=sAc(818);R0(819,1,{},nIb);_.mi=function oIb(a,b,c,d){var e,f,g,h,i,j;j=Jub(c);i=t1(a,b);g=i.c;h=!g?null:Jub(g);if(j.n==(Nlc(),wkc)||j.n==rjc||j.n==mjc||!!h&&(h.n==wkc||h.n==rjc||h.n==mjc)){this.b.b.Tg(Orb(c,(UHb(),HHb),yG(tG(vZ,1),cWc,2,6,[])));return}else if(j.n==Tjc&&!!a.b&&!!h&&(h.n==Tjc||h.n==wkc||h.n==rjc||h.n==mjc)){this.b.b.Tg(Orb(c,(UHb(),HHb),yG(tG(vZ, -1),cWc,2,6,[])));return}if(!a.b){if(h.n==ljc&&j.n==ljc)return;e=bIb(this.b.b,c,i.c);UHb();if(c.g.n==Hlc&&(f=bec(c,(thc(),khc)),!!f&&f.ri())&&Nvb(c)){dGc(this.a,j);return}e||this.b.b.Tg(Orb(c,PHb,yG(tG(vZ,1),cWc,2,6,[b,i.a?i.a.i.a:"??"])))}else MBc(b,SVc)&&!(Mvb(c.g)&&c.n==Ekc)&&this.b.b.Tg(Orb(c,(UHb(),OHb),yG(tG(vZ,1),cWc,2,6,[])))};var XS=sAc(819);var pIb,qIb,rIb;R0(236,11,{236:1,3:1,20:1,11:1},xIb);var tIb,uIb,vIb;var $S=tAc(236,dZ,yIb);R0(141,11,{141:1,3:1,20:1,11:1},HIb);_.a=0;var zIb,AIb,BIb, -CIb,DIb,EIb,FIb;var _S=tAc(141,dZ,IIb);R0(630,1,{630:1});var kT=sAc(630);R0(431,630,{431:1,630:1},JIb);_.zd=function KIb(a){var b;if(a===this)return true;if(lH(a,431)){b=a;return MBc(this.a,b.a)&&MBc(this.b,b.b)}return false};_.Bd=function LIb(){var a;a=1;a*=OWc;a^=cUc(this.a);a*=OWc;a^=cUc(this.b);return a};_.Cd=function MIb(){return"PrefixReplacement{prefix="+this.a+tUc+"replacement="+this.b+"}"};var bT=sAc(431);R0(536,1,{536:1,3:1});var NIb;var sT=sAc(536);R0(407,536,{407:1,536:1,3:1},UIb);_.zd= -function VIb(a){var b;if(a===this)return true;if(lH(a,407)){b=a;return MBc(this.b,b.b)&&MBc(this.a,b.a)&&this.c==b.c}return false};_.Bd=function WIb(){var a;a=1;a*=OWc;a^=cUc(this.b);a*=OWc;a^=cUc(this.a);a*=OWc;a^=YTc(this.c);return a};_.Cd=function XIb(){return"Require{symbol="+this.b+tUc+"rawText="+this.a+tUc+"type="+this.c+"}"};var dT=sAc(407);R0(1163,1,{});var qT=sAc(1163);R0(211,1163,{},aJb);var cT=sAc(211);R0(535,244,{444:1,244:1,535:1,3:1});var bJb;var KT=sAc(535);R0(405,535,{405:1,444:1, -244:1,535:1,3:1},eJb);_.zd=function fJb(a){var b;if(a===this)return true;if(lH(a,405)){b=a;return MBc(this.d,b.d)&&MBc(this.e,b.e)&&this.f.zd(b.f)&&this.g.zd(b.g)&&this.i.zd(b.i)&&this.c.zd(b.c)&&this.a==b.a&&this.b==b.b}return false};_.Th=function gJb(){return this.c};_.ah=function hJb(){return this.d};_.Uh=function iJb(){return this.f};_.Wh=function jJb(){return this.g};_.Xh=function kJb(){return this.i};_.Bd=function lJb(){var a;a=1;a*=OWc;a^=cUc(this.d);a*=OWc;a^=cUc(this.e);a*=OWc;a^=this.f.Bd(); -a*=OWc;a^=this.g.Bd();a*=OWc;a^=this.i.Bd();a*=OWc;a^=this.c.Bd();a*=OWc;a^=this.a?1231:1237;a*=OWc;a^=this.b?1231:1237;return a};_.Cd=function mJb(){return"SimpleDependencyInfo{name="+this.d+tUc+"pathRelativeToClosureBase="+this.e+tUc+"provides="+this.f+tUc+"requires="+this.g+tUc+"typeRequires="+this.i+tUc+"loadFlags="+this.c+tUc+"hasExternsAnnotation="+this.a+tUc+"hasNoCompileAnnotation="+this.b+"}"};_.a=false;_.b=false;var fT=sAc(405);R0(1162,1,{});var JT=sAc(1162);R0(406,1162,{},xJb);var eT=sAc(406); -R0(370,1,{});_.ti=function DJb(a,b){return AJb(this,a,b)};var FT=sAc(370);R0(794,370,{},GJb);_.si=function HJb(a,b,c,d,e){var f;pKb();if(!MBc(b.substr(0,"/".length),"/")&&!(MBc(b.substr(0,cYc.length),cYc)||MBc(b.substr(0,T$c.length),T$c))){this.d.eh((l7(),k7),new Jrb(c,null,d,e,nKb,null,yG(tG(vZ,1),cWc,2,6,[b,de((_Kb(),XKb))])));return null}f=zJb(this,a,b);f==null&&this.d.eh((l7(),k7),new Jrb(c,null,d,e,oKb,null,yG(tG(vZ,1),cWc,2,6,[b])));return f};var EJb;var hT=sAc(794);R0(795,1,{},IJb);_.ui=function JJb(a, -b,c,d){return new GJb(a,b,c,d)};var gT=sAc(795);R0(873,370,{},MJb);_.si=function NJb(a,b,c,d,e){var f,g,h,i,j;j=b;i=false;for(h=this.b.Xd();h.Jd();){g=h.Kd();if($Bc(b,g.a)){j=g.b+(""+aCc(b,g.a.length));i=true;break}}if(!i&&(pKb(),!MBc(j.substr(0,1),"/")&&!(MBc(j.substr(0,2),cYc)||MBc(j.substr(0,3),T$c)))){this.d.eh((l7(),k7),new Jrb(c,null,d,e,KJb,null,yG(tG(vZ,1),cWc,2,6,[j,this.a])));return null}f=zJb(this,a,j);j==null&&this.d.eh((l7(),k7),new Jrb(c,null,d,e,(pKb(),oKb),null,yG(tG(vZ,1),cWc,2,6, -[b])));return f};_.ti=function OJb(a,b){var c,d,e;pKb();if(MBc(b.substr(0,cYc.length),cYc)||MBc(b.substr(0,T$c.length),T$c))return AJb(this,a,b);e=b;for(d=this.b.Xd();d.Jd();){c=d.Kd();if($Bc(b,c.a)){e=c.b+(""+aCc(b,c.a.length));break}}return vKb(e,this.f)};var KJb;var nT=sAc(873);R0(876,1,NUc,PJb);_.Pd=function QJb(a){return a.a};var iT=sAc(876);R0(669,1,{},RJb);_.ui=function SJb(a,b,c,d){return new MJb(a,b,c,d,this.a)};var jT=sAc(669);R0(874,1,NUc,TJb);_.Pd=function UJb(a){return LJb(),new JIb(a.ff(), -a.gf())};var lT=sAc(874);R0(875,1,{},VJb);_.vi=function WJb(a){return LJb(),a.a.length};var mT=sAc(875);R0(455,1,NUc,XJb);_.Pd=function YJb(a){return a.b};var pT=sAc(455);R0(173,11,{173:1,3:1,20:1,11:1},dKb);var ZJb,$Jb,_Jb,aKb,bKb;var rT=tAc(173,dZ,eKb);R0(908,1,{},lKb);var tT=sAc(908);R0(334,1,{},sKb,tKb);var mKb,nKb,oKb;var ET=sAc(334);R0(691,1,nVc,xKb);_.zd=function zKb(a){return this===a};_.Pd=function yKb(a){return a.ah()};var uT=sAc(691);R0(692,1,{},AKb);_.vi=function BKb(a){return a.length}; -var vT=sAc(692);R0(340,1,{},EKb);_.Cd=function FKb(){return this.a};var wT=sAc(340);R0(466,1,{},GKb);_.eh=function HKb(a,b){};var xT=sAc(466);R0(194,11,U$c);var IKb,JKb;var AT=tAc(194,dZ,MKb);R0(688,194,U$c,NKb);_.wi=function OKb(a){var b;return dLb(),b=WBc(WBc(WBc(WBc(WBc(VBc(VBc(a,58,45),92,47)," ",RWc),"[",SWc),"]",TWc),"<",UWc),">",VWc),eLb(b)};var yT=tAc(688,AT,null);R0(689,194,U$c,PKb);_.wi=function QKb(a){return eLb(a)};var zT=tAc(689,AT,null);R0(270,11,V$c);var RKb;var CT=tAc(270,dZ,TKb); -R0(690,270,V$c,VKb);_.Pd=function WKb(a){return UKb(a)};var BT=tAc(690,CT,null);R0(195,11,{195:1,3:1,20:1,11:1},aLb);var XKb,YKb,ZKb,$Kb;var DT=tAc(195,dZ,bLb);var cLb;R0(512,370,{},pLb);_.si=function sLb(a,b,c,d,e){return lLb(this,a,b,c,d,e)};var hLb,iLb;var IT=sAc(512);R0(667,1,{},tLb);_.ui=function uLb(a,b,c,d){return new pLb(a,b,this.a,c,d)};var GT=sAc(667);R0(871,1,{113:1},vLb);_.zd=function xLb(a){return this===a};_.zf=function yLb(){return new _Kc(this)};_.xf=function wLb(a,b){return rLb(a, -b)};var HT=sAc(871);R0(225,40,{225:1,3:1,40:1,37:1},zLb,ALb);var LT=sAc(225);R0(872,512,{},BLb);_.si=function CLb(a,b,c,d,e){var f;f=this.a.Le(b);if(f==null)return lLb(this,a,b,c,d,e);return f};var NT=sAc(872);R0(668,1,{},DLb);_.ui=function ELb(a,b,c,d){var e,f;f=new mMc;for(null.Lk().Lk();null.Lk();){null.Lk();e=vKb(d.wi(null.Lk()),b);pKb();!MBc(e.substr(0,"/".length),"/")&&!(MBc(e.substr(0,cYc.length),cYc)||MBc(e.substr(0,T$c.length),T$c))&&(e="/"+e);hDc(f,null.Lk(),e)}return new BLb(a,b,f,c,d)}; -var MT=sAc(668);R0(1106,1,{});var FLb;var QT=sAc(1106);R0(642,644,PVc,KLb);var OT=sAc(642);R0(643,449,{},LLb);_.fh=function MLb(){this.d+this.e+this.f>0&&ILb(this.d+this.e+" error(s), "+this.f+" warning(s)")};_.gh=function NLb(a,b){ILb(Irb(b,a,this.a))};var PT=sAc(643);R0(264,886,{},QLb);var RT=sAc(264);var RLb;var TLb;var VLb;var XLb;var ZLb,$Lb,_Lb,aMb;var cMb;var eMb,fMb;var hMb,iMb;var kMb,lMb,mMb,nMb,oMb,pMb,qMb,rMb,sMb,tMb,uMb,vMb,wMb,xMb;var zMb;var BMb;var DMb,EMb,FMb;var HMb,IMb;var KMb, -LMb;var NMb;var PMb;var RMb;var TMb;var VMb;var XMb;R0(33,11,{33:1,3:1,20:1,11:1},dOb);var ZMb,$Mb,_Mb,aNb,bNb,cNb,dNb,eNb,fNb,gNb,hNb,iNb,jNb,kNb,lNb,mNb,nNb,oNb,pNb,qNb,rNb,sNb,tNb,uNb,vNb,wNb,xNb,yNb,zNb,ANb,BNb,CNb,DNb,ENb,FNb,GNb,HNb,INb,JNb,KNb,LNb,MNb,NNb,ONb,PNb,QNb,RNb,SNb,TNb,UNb,VNb,WNb,XNb,YNb,ZNb,$Nb,_Nb,aOb,bOb;var ST=tAc(33,dZ,eOb);R0(616,1,{616:1});var $T=sAc(616);R0(427,616,{427:1,616:1},gOb);_.zd=function hOb(a){var b;if(a===this)return true;if(lH(a,427)){b=a;return this.d==b.d&& -this.g==b.g&&this.c==b.c&&this.f==b.f&&dp(this.a,b.a)&&kB(this.i,b.i)&&kB(this.b,b.b)&&this.e==b.e}return false};_.Bd=function iOb(){var a;a=1;a*=OWc;a^=YTc(this.d);a*=OWc;a^=YTc(this.g);a*=OWc;a^=YTc(this.c);a*=OWc;a^=YTc(this.f);a*=OWc;a^=zb(this.a.d.d);a*=OWc;a^=this.i.Bd();a*=OWc;a^=this.b.Bd();a*=OWc;a^=this.e?1231:1237;return a};_.Cd=function jOb(){return"Config{languageMode="+this.d+tUc+"strictMode="+this.g+tUc+"jsDocParsingMode="+this.c+tUc+"runMode="+this.f+tUc+"annotations="+this.a+tUc+ -"suppressionNames="+this.i+tUc+"closurePrimitiveNames="+this.b+tUc+"parseInlineSourceMaps="+this.e+"}"};_.e=false;var UT=sAc(427);R0(1170,1,{});var VT=sAc(1170);R0(428,1170,{},tOb);var TT=sAc(428);R0(197,11,{197:1,3:1,20:1,11:1},AOb);var uOb,vOb,wOb,xOb;var WT=tAc(197,dZ,BOb);R0(107,11,{107:1,3:1,20:1,11:1},NOb);var COb,DOb,EOb,FOb,GOb,HOb,IOb,JOb,KOb,LOb;var XT=tAc(107,dZ,POb);R0(278,11,{278:1,3:1,20:1,11:1},TOb);var QOb,ROb;var YT=tAc(278,dZ,UOb);R0(277,11,{277:1,3:1,20:1,11:1},YOb);var VOb,WOb; -var ZT=tAc(277,dZ,ZOb);R0(931,1,{},WPb);_.c=false;_.i=null;_.j=false;var $Ob,_Ob,aPb,bPb;var aU=sAc(931);R0(932,1,{},IRb);var _T=sAc(932);R0(424,1,{},TSb);_.e=null;_.g=false;_.o=null;var JRb,KRb,LRb,MRb;var eU=sAc(424);R0(611,1,{611:1},WSb);_.a=0;_.b=0;var bU=sAc(611);R0(425,1,{},XSb);var cU=sAc(425);R0(256,11,{256:1,3:1,20:1,11:1},aTb);var YSb,ZSb,$Sb;var dU=tAc(256,dZ,bTb);R0(68,11,{68:1,3:1,20:1,11:1},yTb);var cTb,dTb,eTb,fTb,gTb,hTb,iTb,jTb,kTb,lTb,mTb,nTb,oTb,pTb,qTb,rTb,sTb,tTb,uTb,vTb,wTb; -var gU=tAc(68,dZ,zTb);R0(258,1,{},JTb,KTb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var fU=sAc(258);var NTb=null,OTb=null,PTb=null;R0(1155,1,{});_.d=false;var AW=sAc(1155);R0(905,1155,{},XTb);_.xi=function YTb(a,b){if(this.b||!this.a){this.a=true;this.c.fi(b,a.d.b,a.b+1,a.a)}};_.yi=function ZTb(a,b){this.c.gi(b,a.d.b,a.b+1,a.a)};_.a=false;_.b=false;var hU=sAc(905);R0(906,1,{},$Tb);var iU=sAc(906);R0(1092,1,{},GUb);_.c=0;_.d=0;var kU=sAc(1092);R0(62,11,{62:1,3:1,20:1, -11:1},eVb);_.a=0;_.b=0;_.c=0;var HUb,IUb,JUb,KUb,LUb,MUb,NUb,OUb,PUb,QUb,RUb,SUb,TUb,UUb,VUb,WUb,XUb,YUb,ZUb,$Ub,_Ub,aVb,bVb,cVb;var jU=tAc(62,dZ,gVb);var hVb;R0(123,1,{123:1,3:1},NVb);_.zd=function QVb(a){return DVb(this,a)};_.Bd=function RVb(){return this.a.Bd()};_.Cd=function SVb(){return this.a.Cd()};var jVb,kVb,lVb,mVb,nVb,oVb,pVb,qVb,rVb,sVb,tVb,uVb,vVb,wVb,xVb,yVb,zVb;var mU=sAc(123);R0(25,11,{25:1,3:1,20:1,11:1},bXb);_.Cd=function cXb(){return this.a};_.b=0;var VVb,WVb,XVb,YVb,ZVb,$Vb,_Vb, -aWb,bWb,cWb,dWb,eWb,fWb,gWb,hWb,iWb,jWb,kWb,lWb,mWb,nWb,oWb,pWb,qWb,rWb,sWb,tWb,uWb,vWb,wWb,xWb,yWb,zWb,AWb,BWb,CWb,DWb,EWb,FWb,GWb,HWb,IWb,JWb,KWb,LWb,MWb,NWb,OWb,PWb,QWb,RWb,SWb,TWb,UWb,VWb,WWb,XWb,YWb,ZWb,$Wb,_Wb;var lU=tAc(25,dZ,dXb);R0(149,1,{149:1},fXb);_.Cd=function gXb(){return T2b(this.e)};var DU=sAc(149);R0(429,149,{429:1,149:1},hXb);_.Cd=function iXb(){return this.a};var nU=sAc(429);R0(38,11,{38:1,3:1,20:1,11:1},hYb);_.Cd=function oYb(){return this.c};_.a=false;var jXb,kXb,lXb,mXb,nXb, -oXb,pXb,qXb,rXb,sXb,tXb,uXb,vXb,wXb,xXb,yXb,zXb,AXb,BXb,CXb,DXb,EXb,FXb,GXb,HXb,IXb,JXb,KXb,LXb,MXb,NXb,OXb,PXb,QXb,RXb,SXb,TXb,UXb,VXb,WXb,XXb,YXb,ZXb,$Xb,_Xb,aYb,bYb,cYb,dYb,eYb,fYb;var oU=tAc(38,dZ,pYb);R0(1062,1,{},uYb);_.b=-1;_.c=-1;_.d=0;_.f=0;var pU=sAc(1062);R0(101,149,{101:1,149:1},wYb);_.Cd=function xYb(){return this.c};var qU=sAc(101);R0(307,1,{},o_b,p_b);var wU=sAc(307);R0(929,1,{},r_b);var rU=sAc(929);R0(928,1,{},s_b);_.a=false;_.b=false;_.c=false;_.d=false;_.e=false;var tU=sAc(928); -R0(146,11,{146:1,3:1,20:1,11:1},B_b);var t_b,u_b,v_b,w_b,x_b,y_b,z_b;var sU=tAc(146,dZ,C_b);R0(208,11,{208:1,3:1,20:1,11:1},I_b);_.a=false;_.b=false;var D_b,E_b,F_b,G_b;var uU=tAc(208,dZ,J_b);R0(209,1,{},K_b);_.a=null;_.b=false;_.c=false;var vU=sAc(209);R0(930,1,{},x0b);_.c=0;_.f=0;_.i=false;_.k=0;var yU=sAc(930);R0(181,1,{},J0b);var xU=sAc(181);R0(927,1,{},K0b);var zU=sAc(927);R0(437,101,{101:1,437:1,149:1},L0b);_.a=false;var AU=sAc(437);R0(257,101,{101:1,257:1,149:1},M0b);_.Cd=function N0b(){return this.c}; -var BU=sAc(257);R0(14,11,{14:1,3:1,20:1,11:1},U2b,V2b);_.Cd=function W2b(){return T2b(this)};var O0b,P0b,Q0b,R0b,S0b,T0b,U0b,V0b,W0b,X0b,Y0b,Z0b,$0b,_0b,a1b,b1b,c1b,d1b,e1b,f1b,g1b,h1b,i1b,j1b,k1b,l1b,m1b,n1b,o1b,p1b,q1b,r1b,s1b,t1b,u1b,v1b,w1b,x1b,y1b,z1b,A1b,B1b,C1b,D1b,E1b,F1b,G1b,H1b,I1b,J1b,K1b,L1b,M1b,N1b,O1b,P1b,Q1b,R1b,S1b,T1b,U1b,V1b,W1b,X1b,Y1b,Z1b,$1b,_1b,a2b,b2b,c2b,d2b,e2b,f2b,g2b,h2b,i2b,j2b,k2b,l2b,m2b,n2b,o2b,p2b,q2b,r2b,s2b,t2b,u2b,v2b,w2b,x2b,y2b,z2b,A2b,B2b,C2b,D2b,E2b,F2b,G2b, -H2b,I2b,J2b,K2b,L2b,M2b,N2b,O2b,P2b,Q2b,R2b;var CU=tAc(14,dZ,X2b);R0(8,1,{8:1});_.Cd=function _2b(){return this.p+"@"+this.o};var _V=sAc(8);R0(607,8,{607:1,8:1},a3b);var EU=sAc(607);R0(1007,8,{8:1},b3b);var FU=sAc(1007);R0(539,8,{539:1,8:1},c3b);var GU=sAc(539);R0(586,8,{586:1,8:1},d3b);var HU=sAc(586);R0(598,8,{598:1,8:1},e3b);var IU=sAc(598);R0(578,8,{578:1,8:1},f3b);var JU=sAc(578);R0(100,8,{100:1,8:1},g3b);var KU=sAc(100);R0(414,8,{414:1,8:1},h3b);var LU=sAc(414);R0(541,8,{541:1,8:1},i3b);var MU= -sAc(541);R0(542,8,{542:1,8:1},j3b);var NU=sAc(542);R0(610,8,{610:1,8:1},k3b);_.c=false;var OU=sAc(610);R0(543,8,{543:1,8:1},l3b);var PU=sAc(543);R0(545,8,{545:1,8:1},m3b);var QU=sAc(545);R0(574,8,{574:1,8:1},n3b);var RU=sAc(574);R0(421,8,{421:1,8:1},o3b);var SU=sAc(421);R0(534,1,{534:1},p3b);var UU=sAc(534);R0(182,11,{182:1,3:1,20:1,11:1},w3b);var q3b,r3b,s3b,t3b,u3b;var TU=tAc(182,dZ,x3b);R0(589,8,{589:1,8:1},y3b);var VU=sAc(589);R0(590,8,{590:1,8:1},z3b);var WU=sAc(590);R0(588,8,{588:1,8:1},A3b); -var XU=sAc(588);R0(418,8,{418:1,8:1},B3b);var YU=sAc(418);R0(559,8,{559:1,8:1},C3b);_.b=false;var ZU=sAc(559);R0(560,8,{560:1,8:1},D3b);_.c=false;var $U=sAc(560);R0(213,8,{213:1,8:1},E3b);var _U=sAc(213);R0(561,8,{561:1,8:1},F3b);_.b=false;var aV=sAc(561);R0(554,8,{554:1,8:1},G3b);var bV=sAc(554);R0(546,8,{546:1,8:1},H3b);var cV=sAc(546);R0(549,8,{549:1,8:1},I3b);var dV=sAc(549);R0(544,8,{544:1,8:1},J3b);var eV=sAc(544);R0(255,8,{255:1,8:1},K3b);var fV=sAc(255);R0(547,8,{547:1,8:1},L3b);var gV=sAc(547); -R0(584,8,{584:1,8:1},M3b);var hV=sAc(584);R0(183,8,{183:1,8:1},N3b);var iV=sAc(183);R0(605,8,{605:1,8:1},O3b);var jV=sAc(605);R0(581,8,{581:1,8:1},P3b);_.d=false;_.e=false;var kV=sAc(581);R0(582,8,{582:1,8:1},Q3b);var lV=sAc(582);R0(548,8,{548:1,8:1},R3b);var mV=sAc(548);R0(571,8,{571:1,8:1},S3b);var nV=sAc(571);R0(580,8,{580:1,8:1},T3b);var oV=sAc(580);R0(552,8,{552:1,8:1},U3b);var pV=sAc(552);R0(579,8,{579:1,8:1},V3b);var qV=sAc(579);R0(551,8,{551:1,8:1},W3b);var rV=sAc(551);R0(184,8,{184:1,8:1}, -X3b);var sV=sAc(184);R0(553,8,{553:1,8:1},Y3b);_.e=false;_.f=false;_.g=false;_.i=false;var vV=sAc(553);R0(93,1,{},i4b);_.a=null;_.b=null;_.c=null;_.d=null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var tV=sAc(93);R0(212,11,{212:1,3:1,20:1,11:1},o4b);var j4b,k4b,l4b,m4b;var uV=tAc(212,dZ,p4b);R0(601,8,{601:1,8:1},q4b);var wV=sAc(601);R0(603,8,{603:1,8:1},r4b);var xV=sAc(603);R0(572,8,{572:1,8:1},s4b);_.b=false;var yV=sAc(572);R0(315,8,{315:1,8:1},t4b);var zV=sAc(315);R0(555,8,{555:1, -8:1},u4b);var AV=sAc(555);R0(422,8,{422:1,8:1},v4b);var BV=sAc(422);R0(585,8,{585:1,8:1},w4b);var CV=sAc(585);R0(583,8,{583:1,8:1},x4b);var DV=sAc(583);R0(609,8,{609:1,8:1},y4b);var EV=sAc(609);R0(604,8,{604:1,8:1},z4b);var FV=sAc(604);R0(591,8,{591:1,8:1},A4b);var GV=sAc(591);R0(592,8,{592:1,8:1},B4b);var HV=sAc(592);R0(556,8,{556:1,8:1},C4b);var IV=sAc(556);R0(420,8,{420:1,8:1},D4b);var JV=sAc(420);R0(416,8,{416:1,8:1},E4b);var KV=sAc(416);R0(415,8,{415:1,8:1},F4b);var LV=sAc(415);R0(316,8,{316:1, -8:1},G4b);_.c=false;_.d=false;var MV=sAc(316);R0(215,8,{215:1,8:1},H4b);var NV=sAc(215);R0(608,8,{608:1,8:1},I4b);var OV=sAc(608);R0(1008,8,{8:1},J4b);var PV=sAc(1008);R0(417,8,{417:1,8:1},K4b);var QV=sAc(417);R0(576,8,{576:1,8:1},L4b);var RV=sAc(576);R0(214,8,{214:1,8:1},M4b);var SV=sAc(214);R0(558,8,{558:1,8:1},N4b);var TV=sAc(558);R0(587,8,{587:1,8:1},O4b);var UV=sAc(587);R0(593,8,{593:1,8:1},P4b);var VV=sAc(593);R0(594,8,{594:1,8:1},Q4b);var WV=sAc(594);R0(596,8,{596:1,8:1},R4b);var XV=sAc(596); -R0(597,8,{597:1,8:1},S4b);var YV=sAc(597);R0(557,8,{557:1,8:1},T4b);var ZV=sAc(557);R0(21,11,{21:1,3:1,20:1,11:1},M6b);var U4b,V4b,W4b,X4b,Y4b,Z4b,$4b,_4b,a5b,b5b,c5b,d5b,e5b,f5b,g5b,h5b,i5b,j5b,k5b,l5b,m5b,n5b,o5b,p5b,q5b,r5b,s5b,t5b,u5b,v5b,w5b,x5b,y5b,z5b,A5b,B5b,C5b,D5b,E5b,F5b,G5b,H5b,I5b,J5b,K5b,L5b,M5b,N5b,O5b,P5b,Q5b,R5b,S5b,T5b,U5b,V5b,W5b,X5b,Y5b,Z5b,$5b,_5b,a6b,b6b,c6b,d6b,e6b,f6b,g6b,h6b,i6b,j6b,k6b,l6b,m6b,n6b,o6b,p6b,q6b,r6b,s6b,t6b,u6b,v6b,w6b,x6b,y6b,z6b,A6b,B6b,C6b,D6b,E6b,F6b,G6b, -H6b,I6b,J6b,K6b;var $V=tAc(21,dZ,N6b);R0(530,8,{8:1,530:1},O6b);var aW=sAc(530);R0(254,8,{8:1,254:1},P6b);var bW=sAc(254);R0(599,8,{8:1,599:1},Q6b);var cW=sAc(599);R0(562,8,{8:1,562:1},R6b);var dW=sAc(562);R0(573,8,{8:1,573:1},S6b);_.b=false;var eW=sAc(573);R0(575,8,{8:1,575:1},T6b);var fW=sAc(575);R0(563,8,{8:1,563:1},U6b);var gW=sAc(563);R0(411,8,{8:1,411:1},V6b);var hW=sAc(411);R0(412,8,{8:1,412:1},W6b);var iW=sAc(412);R0(413,8,{8:1,413:1},X6b);var jW=sAc(413);R0(550,8,{8:1,550:1},Y6b);var kW= -sAc(550);R0(564,8,{8:1,564:1},Z6b);var lW=sAc(564);R0(565,8,{8:1,565:1},$6b);var mW=sAc(565);R0(606,8,{8:1,606:1},_6b);var nW=sAc(606);R0(423,8,{8:1,423:1},a7b);var oW=sAc(423);R0(602,8,{8:1,602:1},b7b);var pW=sAc(602);R0(595,8,{8:1,595:1},c7b);var qW=sAc(595);R0(540,8,{8:1,540:1},d7b);var rW=sAc(540);R0(600,8,{8:1,600:1},e7b);var sW=sAc(600);R0(419,8,{8:1,419:1},f7b);_.c=0;var tW=sAc(419);R0(567,8,{8:1,567:1},g7b);var uW=sAc(567);R0(568,8,{8:1,568:1},h7b);var vW=sAc(568);R0(566,8,{8:1,566:1},i7b); -var wW=sAc(566);R0(569,8,{8:1,569:1},j7b);var xW=sAc(569);R0(570,8,{8:1,570:1},k7b);var yW=sAc(570);R0(577,8,{8:1,577:1},l7b);_.b=false;var zW=sAc(577);R0(1091,1155,{},m7b);_.xi=function n7b(a,b){throw p0(new p7b);};_.yi=function o7b(a,b){};var CW=sAc(1091);R0(438,26,{438:1,3:1,40:1,26:1,37:1},p7b);var BW=sAc(438);R0(985,1,{},r7b);_.Cd=function s7b(){return T7b("%s(%d, %d)",yG(tG(qZ,1),xUc,1,5,[q7b(this),dBc(this.b+1),dBc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var DW=sAc(985);R0(12,1,{},t7b);_.Cd=function u7b(){return T7b("<%s - %s>", -yG(tG(qZ,1),xUc,1,5,[this.b,this.a]))};var EW=sAc(12);R0(903,26,DVc,v7b);var FW=sAc(903);R0(904,26,DVc,w7b);var GW=sAc(904);R0(393,26,DVc,x7b);var HW=sAc(393);R0(901,26,DVc,y7b);var IW=sAc(901);R0(902,26,DVc,z7b);var JW=sAc(902);R0(387,26,DVc,A7b);var KW=sAc(387);R0(900,26,DVc,B7b);var LW=sAc(900);R0(797,1,{},S7b);var OW=sAc(797);R0(799,1,{},b8b);_.b=0;_.c=0;_.d=0;var MW=sAc(799);R0(798,1,{},j8b);_.a=-1;_.b=oUc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p= --1;var NW=sAc(798);R0(388,26,DVc,k8b);var PW=sAc(388);R0(882,1,{},m8b);var QW=sAc(882);R0(1229,1,{});var q8b;R0(779,1,{},x8b);_.fi=function y8b(a,b,c,d){};_.gi=function z8b(a,b,c,d){};var RW=sAc(779);R0(265,1,{265:1,3:1},r9b);_.zd=function s9b(a){if(this===a)return true;if(a==null)return false;if(SW!=xb(a))return false;return MBc(this.a,a.a)};_.Bd=function t9b(){return cUc(this.a)};_.Cd=function u9b(){return"InputId: "+this.a};var SW=sAc(265);R0(383,1,{383:1,3:1},Tac,Uac);_.Cd=function Xac(){return"JSDocInfo"}; -_.a=0;_.c=false;_.e=false;_.f=0;var aX=sAc(383);R0(863,1,hXc,Yac);_.Cd=function Zac(){return yd(xd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(new zd((lAc(TW),TW.n)),"sourceComment",this.i),"markers",this.d),X0c,this.e),"throwsDescriptions",this.j),"blockDescription",this.b),"fileOverview",this.c),"returnDescription",this.f),zVc,this.k),"authors",this.a),"sees",this.g)))};var TW=sAc(863);R0(65,1,hXc,dbc);_.Cd=function ebc(){var a;return yd(xd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(new zd((lAc(UW),UW.n)), -"bitfield",this.p==0?null:(a=this.p>>>0,a.toString(16))),"baseType",this.a),"extendedInterfaces",this.f),"implementedInterfaces",this.g),X0c,this.o),"thrownTypes",this.s),"templateTypeNames",this.r),"disposedParameters",this.e),"typeTransformations",this.t),"description",this.d),"meaning",this.k),BYc,this.c),"license",this.j),"suppressions",this.q),"modifies",this.n),"lendsName",this.i),"closurePrimitiveId",this.b)))};_.p=0;var UW=sAc(65);R0(511,1,{511:1},ibc);var VW=sAc(511);R0(384,1,{});_.b=0;_.c= -0;_.d=null;_.e=0;_.f=0;var GX=sAc(384);R0(864,384,{},mbc);var WW=sAc(864);R0(509,384,{},obc);var XW=sAc(509);R0(510,509,{},qbc);var YW=sAc(510);R0(865,384,{},rbc);_.a=false;var ZW=sAc(865);R0(179,11,{179:1,3:1,20:1,11:1},zbc);var tbc,ubc,vbc,wbc,xbc;var $W=tAc(179,dZ,Abc);R0(163,1,{},Vcc,Wcc);_.d=false;_.e=false;var _W=sAc(163);var Zcc;R0(80,1,{80:1,3:1},bdc);_.zd=function cdc(a){return lH(a,80)&&a.a.Ei(this.a,false,true,false,false)};_.Bd=function ddc(){return zb(this.a)};_.Cd=function fdc(){return"type: "+ -ffc(this.a)};var _cc;var bX=sAc(80);R0(7,1,{7:1,3:1},kfc,lfc,mfc,nfc,ofc,pfc,qfc);_.zi=function rfc(a){return Udc(this,new kfc(this.n),a)};_.Ai=function ufc(){if(this.n==(Nlc(),wlc))throw p0(new PAc(d1c));else throw p0(new ICc(this+e1c));};_.Bi=function vfc(){if(this.n==(Nlc(),Pkc))throw p0(new PAc(f1c));else throw p0(new ICc(this+" is not a number node"));};_.Ci=function wfc(){if(this.n==(Nlc(),wlc))throw p0(new PAc(d1c));else throw p0(new ICc(this+e1c));};_.Di=function xfc(){if(this.n==(Nlc(),olc))throw p0(new PAc(g1c)); -else throw p0(new ICc(this+h1c));};_.Ei=function yfc(a,b,c,d,e){return pec(this,a,b,c,d,e)};_.Fi=function zfc(){return false};_.Gi=function Bfc(a){if(this.n==(Nlc(),Pkc))throw p0(new PAc(f1c));else throw p0(new ICc(this+h1c));};_.Hi=function Cfc(){throw p0(new PAc(this+" is not a StringNode"));};_.Ii=function Dfc(a){if(this.n==(Nlc(),olc)||this.n==Ekc)throw p0(new PAc(g1c));else throw p0(new ICc(this+h1c));};_.Cd=function Efc(){return efc(this,true,true,true)};_.e=0;_.k=0;var gdc,hdc,idc,jdc,kdc, -ldc,mdc,ndc,odc,pdc,qdc,rdc,sdc,tdc,udc,vdc,wdc,xdc,ydc,zdc,Adc,Bdc,Cdc,Ddc,Edc,Fdc,Gdc,Hdc,Idc;var BX=sAc(7);R0(720,1,NUc,Gfc);_.Pd=function Hfc(a){return Vzc(),kec(a)?true:false};var cX=sAc(720);R0(721,1,NUc,Ifc);_.Pd=function Jfc(a){return Vzc(),lec(a)?true:false};var dX=sAc(721);R0(722,1,NUc,Kfc);_.Pd=function Lfc(a){return Vzc(),mec(a)?true:false};var eX=sAc(722);R0(723,1,NUc,Mfc);_.Pd=function Nfc(a){return Vzc(),$dc(a,(thc(),Lgc))!=0?true:false};var fX=sAc(723);R0(724,1,NUc,Ofc);_.Pd=function Pfc(a){return Vzc(), -$dc(a,(thc(),lhc))!=0?true:false};var gX=sAc(724);R0(725,1,NUc,Qfc);_.Pd=function Rfc(a){return Vzc(),$dc(a,(thc(),shc))!=0?true:false};var hX=sAc(725);R0(354,1,FUc,Sfc);_.Vd=function Tfc(a){gBc(this,a)};_._d=function Vfc(){return new DOc(new Xfc(this))};_.Xd=function Ufc(){return new Xfc(this)};var jX=sAc(354);R0(243,1,nUc,Xfc);_.Id=function Yfc(a){uNc(this,a)};_.Kd=function $fc(){return Wfc(this)};_.Jd=function Zfc(){return!!this.a.a};_.Ld=function _fc(){throw p0(new HCc);};var iX=sAc(243);R0(478, -1,hXc);_.c=0;var nX=sAc(478);R0(353,478,hXc,bgc);_.Ji=function cgc(a){return new bgc(this.c,this.a,a)};_.Ki=function dgc(){return this.a};_.Li=function egc(){throw p0(new HCc);};_.Cd=function fgc(){return""+this.a};_.a=0;var kX=sAc(353);R0(98,7,{7:1,98:1,3:1},ggc);_.zi=function hgc(a){return Udc(this,new ggc(this.a),a)};_.Bi=function igc(){return this.a};_.Ei=function jgc(a,b,c,d,e){var f,g,h;f=pec(this,a,b,c,d,e);if(f){h=this.a;g=a.a;if(h==g)return h!=0||1/h==1/g}return false};_.Gi=function kgc(a){this.a= -a};_.a=0;var lX=sAc(98);R0(479,478,hXc,lgc);_.Ji=function mgc(a){return new lgc(this.c,this.a,a)};_.Ki=function ngc(){throw p0(new HCc);};_.Li=function ogc(){return this.a};_.Cd=function pgc(){return nCc(this.a)};var mX=sAc(479);R0(34,11,{34:1,3:1,20:1,11:1},uhc);var qgc,rgc,sgc,tgc,ugc,vgc,wgc,xgc,ygc,zgc,Agc,Bgc,Cgc,Dgc,Egc,Fgc,Ggc,Hgc,Igc,Jgc,Kgc,Lgc,Mgc,Ngc,Ogc,Pgc,Qgc,Rgc,Sgc,Tgc,Ugc,Vgc,Wgc,Xgc,Ygc,Zgc,$gc,_gc,ahc,bhc,chc,dhc,ehc,fhc,ghc,hhc,ihc,jhc,khc,lhc,mhc,nhc,ohc,phc,qhc,rhc,shc;var oX= -tAc(34,dZ,vhc);R0(56,1,FUc,whc);_.Vd=function xhc(a){gBc(this,a)};_._d=function zhc(){return new DOc(new Bhc(this.a))};_.Xd=function yhc(){return new Bhc(this.a)};var pX=sAc(56);R0(480,1,nUc,Bhc);_.Id=function Chc(a){uNc(this,a)};_.Kd=function Ehc(){return Ahc(this)};_.Jd=function Dhc(){return!!this.a};_.Ld=function Fhc(){throw p0(new HCc);};var qX=sAc(480);R0(13,7,{7:1,13:1,3:1},Ihc,Jhc,Khc);_.zi=function Lhc(a){return Ghc(this,a)};_.Di=function Mhc(){return this.a};_.Ei=function Nhc(a,b,c,d,e){return pec(this, -a,b,c,d,e)&&this.a==a.a};_.Fi=function Ohc(){return $dc(this,(thc(),ghc))!=0};_.Hi=function Phc(){Fec(this,(thc(),ghc),1)};_.Ii=function Qhc(a){Hhc(this,a)};var rX=sAc(13);R0(352,7,{7:1,352:1,3:1},Shc,Thc);_.zi=function Uhc(a){var b;return b=new Shc,b.b=this.b,b.a=this.a,Udc(this,b,a)};_.Ai=function Vhc(){return this.a};_.Ci=function Whc(){return this.b};_.Ei=function Xhc(a,b,c,d,e){return pec(this,a,b,c,d,e)&&this.b==a.b&&this.a==a.a};var sX=sAc(352);R0(88,7,{7:1,88:1,3:1},Yhc,Zhc,$hc);_.zi=function _hc(a){return Udc(this, -new $hc(this.n,this.a),a)};_.Di=function aic(){return this.a};var tX=sAc(88);R0(730,1,NUc,bic);_.Pd=function cic(a){return Jdc(),Vzc(),$dc(a,(thc(),wgc))!=0?true:false};var uX=sAc(730);R0(731,1,NUc,dic);_.Pd=function eic(a){return Jdc(),Vzc(),$dc(a,(thc(),vgc))!=0?true:false};var vX=sAc(731);R0(732,1,NUc,fic);_.Pd=function gic(a){return Jdc(),Vzc(),$dc(a,(thc(),xgc))!=0?true:false};var wX=sAc(732);R0(726,1,NUc,hic);_.Pd=function iic(a){return Jdc(),dBc($dc(a,(thc(),jhc)))};var xX=sAc(726);R0(727, -1,NUc,jic);_.Pd=function kic(a){return Jdc(),dBc($dc(a,(thc(),Qgc)))};var yX=sAc(727);R0(728,1,NUc,lic);_.Pd=function mic(a){return Jdc(),dBc($dc(a,(thc(),ghc)))};var zX=sAc(728);R0(729,1,NUc,nic);_.Pd=function oic(a){return Jdc(),Vzc(),$dc(a,(thc(),Kgc))!=0?true:false};var AX=sAc(729);R0(1063,1,hXc,pic);var CX=sAc(1063);R0(1141,1,{});var EX=sAc(1141);R0(772,1141,{},sic);_.a=0;var DX=sAc(772);R0(1087,1,{1098:1,3:1},uic);_.ri=function yic(){return this.a==(Dic(),Aic)};_.pi=function vic(){return this.a}; -_.qi=function wic(a){if(a<1)throw p0(new PAc("Should not call getLineOffset with line number "+a));return wVc};_.ah=function xic(){return this.b};_.Cd=function zic(){return this.b};var FX=sAc(1087);R0(234,11,{234:1,3:1,20:1,11:1},Eic);var Aic,Bic,Cic;var HX=tAc(234,dZ,Fic);R0(9,11,{9:1,3:1,20:1,11:1},Olc);var Gic,Hic,Iic,Jic,Kic,Lic,Mic,Nic,Oic,Pic,Qic,Ric,Sic,Tic,Uic,Vic,Wic,Xic,Yic,Zic,$ic,_ic,ajc,bjc,cjc,djc,ejc,fjc,gjc,hjc,ijc,jjc,kjc,ljc,mjc,njc,ojc,pjc,qjc,rjc,sjc,tjc,ujc,vjc,wjc,xjc,yjc,zjc, -Ajc,Bjc,Cjc,Djc,Ejc,Fjc,Gjc,Hjc,Ijc,Jjc,Kjc,Ljc,Mjc,Njc,Ojc,Pjc,Qjc,Rjc,Sjc,Tjc,Ujc,Vjc,Wjc,Xjc,Yjc,Zjc,$jc,_jc,akc,bkc,ckc,dkc,ekc,fkc,gkc,hkc,ikc,jkc,kkc,lkc,mkc,nkc,okc,pkc,qkc,rkc,skc,tkc,ukc,vkc,wkc,xkc,ykc,zkc,Akc,Bkc,Ckc,Dkc,Ekc,Fkc,Gkc,Hkc,Ikc,Jkc,Kkc,Lkc,Mkc,Nkc,Okc,Pkc,Qkc,Rkc,Skc,Tkc,Ukc,Vkc,Wkc,Xkc,Ykc,Zkc,$kc,_kc,alc,blc,clc,dlc,elc,flc,glc,hlc,ilc,jlc,klc,llc,mlc,nlc,olc,plc,qlc,rlc,slc,tlc,ulc,vlc,wlc,xlc,ylc,zlc,Alc,Blc,Clc,Dlc,Elc,Flc,Glc,Hlc,Ilc,Jlc,Klc,Llc,Mlc;var IX=tAc(9,dZ,Qlc); -var Slc;R0(23,1,q1c);_.Ni=function umc(){var a,b;return a=this.oj(),b=a.Oi(),!b?a:b};_.Oi=function vmc(){return null};_.zd=function wmc(a){return lH(a,23)&&lmc(this,a)};_.Pi=function ymc(a){var b;b=Ooc(this.Oi());if(b)return fmc(b,a);return null};_.Qi=function zmc(a){return Amc(this,a)};_.Ri=function Bmc(a){var b,c;if(this==a)return this;a=xmc(a);if(a.vj())return nyc(a.vj(),this);return b=(c=new Jrc(false),emc(this,a,0,c)),b?this:xmc(Otc(this.D,Xn(yG(tG(hY,1),xUc,23,0,[this,a]))))};_.Ti=function Dmc(a, -b){return 0};_.Ui=function Fmc(){return 0};_.Vi=function Gmc(){return this.F};_.Wi=function Hmc(){return Vwc(this.Vi())};_.Bd=function Imc(){return jmc(this)};_.Xi=function Jmc(){return false};_.Yi=function Kmc(){return false};_.Zi=function Lmc(){return false};_.$i=function Nmc(){return false};_._i=function Omc(){return false};_.aj=function Pmc(){return false};_.bj=function Qmc(){return false};_.cj=function Rmc(){return false};_.dj=function Smc(){return false};_.ej=function Tmc(){return false};_.fj= -function Umc(){return false};_.gj=function Vmc(){return false};_.hj=function Wmc(){return false};_.ij=function Xmc(a){return Zmc(this,a,new Prc(true),(_rc(),$rc))};_.jj=function Ymc(a,b,c){return Zmc(this,a,b,c)};_.kj=function $mc(){return false};_.lj=function _mc(){return false};_.mj=function anc(){return false};_.oj=function dnc(){return this};_.pj=function enc(){return null};_.qj=function fnc(){return null};_.rj=function gnc(){return null};_.sj=function inc(){return null};_.tj=function jnc(){return null}; -_.uj=function knc(){return null};_.vj=function lnc(){return null};_.Cd=function mnc(){return this.Mi(new BCc,false).a};_.B=false;_.C=false;var $lc,_lc;var hY=sAc(23);R0(1060,23,q1c,nnc);_.Mi=function onc(a,b){return a.a+="*",a};_.Si=function pnc(){return Onc(),Knc};_.Xi=function qnc(){return true};_.fj=function rnc(){return true};_.mj=function snc(){return true};_.nj=function tnc(){return OTc(this)};_.wj=function unc(a){return a.yj()};var JX=sAc(1060);R0(432,23,{432:1,23:1,3:1},Anc);_.Mi=function Bnc(a, -b){return a.a+="[ArrowType]",a};_.Qi=function Cnc(a){throw p0(new HCc);};_.Ri=function Dnc(a){throw p0(new HCc);};_.Si=function Enc(){return Onc(),Nnc};_.xj=function Fnc(){return imc(this.b)||xnc(this)};_.Wi=function(){return this.xj()};_.ij=function Gnc(a){return znc(this,a,new Prc(true),(_rc(),$rc))};_.jj=function Hnc(a,b,c){return znc(this,a,b,c)};_.nj=function Inc(){var a,b;a=uOc(this.b);if(this.a){b=this.a.c;while(b){a=a*31+uOc(b.d);b=b.f}}return a};_.wj=function Jnc(a){throw p0(new HCc);};_.c= -false;var KX=sAc(432);R0(220,11,{220:1,3:1,20:1,11:1},Rnc);var Knc,Lnc,Mnc,Nnc;var LX=tAc(220,dZ,Snc);R0(217,23,q1c);_.Ti=function Unc(a,b){return b&&!!this.Oi()?this.Oi().Ti(a,b):0};_.nj=function Vnc(){return OTc(this)};var TY=sAc(217);R0(1054,217,q1c,Wnc);_.Mi=function Xnc(a,b){return a.a+=gUc,a};_.Oi=function Ync(){return hmc(this,(xtc(),usc))};_.Si=function Znc(){return Onc(),Knc};_.wj=function $nc(a){return a.zj()};var MX=sAc(1054);R0(1145,1,{});_.yj=function _nc(){return qoc(this,null)};_.zj= -function aoc(){return qoc(this,null)};_.Aj=function boc(a){return qoc(this,a)};_.Bj=function coc(a){return qoc(this,a)};_.Cj=function doc(){return qoc(this,null)};_.Dj=function eoc(a){return qoc(this,a)};_.Ej=function foc(){return qoc(this,null)};_.Fj=function goc(){return qoc(this,null)};_.Gj=function hoc(a){return qoc(this,a)};_.Hj=function ioc(a){return qoc(this,a)};_.Ij=function joc(){return qoc(this,null)};_.Jj=function koc(){return qoc(this,null)};_.Kj=function loc(a){return qoc(this,a)};_.Lj= -function moc(a){return qoc(this,a)};_.Mj=function noc(a){return qoc(this,a)};_.Nj=function ooc(){return qoc(this,null)};_.Oj=function poc(){return qoc(this,null)};var UY=sAc(1145);R0(1096,1145,{},toc);_.Kj=function uoc(a){return roc(this,a,a.a)};_.Lj=function voc(a){return roc(this,a,a.d)};_.Mj=function woc(a){return soc(this,a)};var OX=sAc(1096);R0(261,11,{261:1,3:1,20:1,11:1},Boc);var xoc,yoc,zoc;var NX=tAc(261,dZ,Coc);R0(49,23,r1c);_.Pj=function Poc(){this.A=true};_.Pi=function Roc(a){return this.Ti(a, -false)==0?null:this.Wj(a)};_.Rj=function Soc(){return on(),gB(),fB};_.Tj=function Toc(){return this.Vj().b.ye()};_.Uj=function Uoc(){return null};_.Si=function Voc(){return Onc(),Nnc};_.Ti=function Woc(a,b){return this.cj()||this.aj()||this.bj()||this==Ttc(this.D,(xtc(),Ssc))||this.kj()||!!this.Yj(a)?1:0};_.Vj=function Xoc(){return Svc(),Svc(),Rvc};_.Wj=function Yoc(a){return Ioc(this,a)};_.Yj=function Zoc(a){var b;return b=Vvc(this.Vj(),a),!b?null:b.a};_.Zj=function $oc(){var a;a=this.Sj();if(!a)return null; -a=a.Sj();return!a?null:a.Qj()};_.$j=function _oc(){return!this.A};_._i=function apc(){return!!this.Uj()};_._j=function bpc(){return false};_.gj=function cpc(){return true};_.hj=function epc(){var a;a=this.Qj();return!!a&&a.i==(prc(),nrc)&&a.g};_.kj=function fpc(){return Loc(this)};_.ak=function gpc(a){};_.wj=function hpc(a){return a.Gj(this)};_.A=true;var nY=sAc(49);R0(1090,49,r1c,kpc);_.Mi=function lpc(a,b){if(b)return xCc(a,this.d);return yCc(xCc(yCc(yCc(a,this.b),"<"),this.d),">")};_.Oi=function mpc(){return this.d.Oi()}; -_.Pi=function npc(a){return fmc(this.d,a)};_.Qj=function opc(){return!this.c?null:this.c.Qj()};_.Sj=function ppc(){return null};_.Ti=function qpc(a,b){return this.d.Ti(a,b)};_.bk=function rpc(){return!this.c?(Svc(),Svc(),Rvc):this.c.Vj()};_.Vj=function(){return this.bk()};_.Xj=function spc(){return this.b};_.dj=function tpc(){return this.b!=null};_.fj=function upc(){return this.d.fj()};_.gj=function vpc(){return this.d.gj()};_.ij=function wpc(a){return ipc(this,a,new Prc(true),(_rc(),$rc))};_.jj= -function xpc(a,b,c){return ipc(this,a,b,c)};_.mj=function ypc(){return this.d.mj()};_.nj=function zpc(){return Wuc(this)};_.pj=function Apc(){return this};_.wj=function Bpc(a){return a.Aj(this)};var PX=sAc(1090);R0(324,1,{},Gpc);var QX=sAc(324);R0(110,49,s1c,Kpc);_.Mi=function Lpc(a,b){return Hpc(this,a,b)};_.ck=function Mpc(a,b,c,d){return Ipc(this,a,b,c,d)};_.Qj=function Npc(){return null};_.Rj=function Opc(){return this.t?this.t.d:(On(),On(),Nn)};_.dk=function Ppc(){return this.t?gqc(this.t):(On(), -On(),Nn)};_.Sj=function Qpc(){return this.r};_.Uj=function Rpc(){return this.t};_.Vj=function Spc(){return this.v};_.Xj=function Tpc(){return this.q!=null?this.q:this.t?this.t.Xj()+JZc:null};_.Ui=function Upc(){return this.w};_._j=function Vpc(){return this.s};_.ij=function Wpc(a){return this.jj(a,new Prc(true),(_rc(),$rc))};_.jj=function Xpc(a,b,c){var d,e,f,g,h;if(Zmc(this,a,b,c))return true;if(a.vj())return false;if(a.sj())return Ypc(this,a.sj(),b,c);e=lH(a,49)?a:null;d=!e?null:e.Qj();if(!!this.Qj()&& -this.Qj().i==(prc(),nrc))for(g=this.Rj().Xd();g.Jd();){f=g.Kd();if(f.jj(a,b,c))return true}else if(!!d&&d.i==(prc(),nrc)){h=this.dk();for(g=h.Xd();g.Jd();){f=g.Kd();if(f.jj(a,b,c))return true}}if(Loc(this))return true;return!!e&&Joc(this,e)};_.nj=function Zpc(){return this.hj()?WGc(yG(tG(qZ,1),xUc,1,5,[this.q,this.v])):OTc(this)};_.ak=function $pc(a){Ud(!this.t||!a);this.t=a};_.p=false;_.s=false;_.t=null;_.u=false;_.w=0;var sY=sAc(110);R0(135,110,t1c,yqc);_.Mi=function zqc(a,b){var c,d,e;if(!this.u|| -this==Ttc(this.D,(xtc(),ttc)))return a.a+=b?"!Function":WYc,a;if((this.Zi()||this.i==(prc(),nrc))&&!!this.k){a.a+="(typeof ";(Zd(this.Zi()||this.i==(prc(),nrc),jWc,this),rmc(this.o)).Mi(a,b);a.a+=")";return a}this.u=false;a.a+="function(";e=Ydc(this.b.a);c=!lH(this.o,218);if(c){this.Zi()?(a.a+="new:",a):(a.a+="this:",a);this.o.Mi(a,b)}if(e>0){c&&(a.a+=tUc,a);d=this.b.a.c;$dc(d,(thc(),qhc))!=0?bqc(a,d.d,b):$dc(d,chc)!=0?aqc(this,a,d.d,b):bmc(d.d,a,b);d=d.f;while(d){a.a+=tUc;$dc(d,qhc)!=0?bqc(a,d.d, -b):$dc(d,chc)!=0?aqc(this,a,d.d,b):bmc(d.d,a,b);d=d.f}}a.a+="): ";bmc(this.b.b,a,b);this.u=true;return a};_.Pj=function Aqc(){dqc(this)};_.ck=function Bqc(a,b,c,d){var e;if(MBc(PWc,a)){e=lH(b,49)?b:null;if(e){if(!!this.j&&lmc(e,this.j.e))return true;uqc(this,e,d);return true}else return false}return Ipc(this,a,b,c,d)};_.Tj=function Cqc(){var a;if(!this.j)return this.v.b.ye();else{a=(on(),new bu);dGc(a.b,Pd(PWc));au(a,this.v.b.ye());return Ep(new FGc(a.b))}};_.Wj=function Dqc(a){return lqc(this,a)}; -_.Yj=function Eqc(a){return nqc(this,a)};_.Zj=function Fqc(){return oqc(this)};_.Wi=function Gqc(){return this.w>0||imc(this.o)||imc(this.b)};_.$j=function Hqc(){return!!this.j||!this.A};_.Zi=function Iqc(){return this.i==(prc(),mrc)};_.ij=function Jqc(a){return this.jj(a,new Prc(true),(_rc(),$rc))};_.jj=function Kqc(a,b,c){var d,e;if(Zmc(this,a,b,c))return true;if(a.rj()){d=a.rj();if(d.i==(prc(),nrc))return true;if(this.i==nrc)return false;return e=!!rmc(d.o)&&!!rmc(d.o).Qj()&&rmc(d.o).Qj().i==nrc|| -d.o.jj(this.o,b,(_rc(),$rc))||this.o.jj(d.o,b,(_rc(),$rc)),e&&znc(this.b,d.b,b,c)}return hmc(this,(xtc(),Asc)).jj(a,b,c)};_.nj=function Lqc(){var a;a=YTc(this.i);switch(this.i.f){case 1:case 2:return 31*a+OTc(this);case 0:a=31*a+jmc(this.o);a=31*a+jmc(this.b);return a;default:throw p0(new Rzc);}};_.rj=function Mqc(){return this};_.wj=function Nqc(a){return a.Bj(this)};_.f=false;_.g=false;var TX=sAc(135);R0(180,1,{},Uqc);_.ek=function Vqc(){return new Kpc(this)};_.k=false;_.p=false;_.r=0;var rY=sAc(180); -R0(61,180,{61:1},krc);_.fk=function lrc(){return Wqc(this)};_.ek=function(){return this.fk()};_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;_.i=null;_.j=null;var RX=sAc(61);R0(250,11,{250:1,3:1,20:1,11:1},qrc);var mrc,nrc,orc;var SX=tAc(250,dZ,rrc);R0(325,110,s1c,trc);_.Mi=function urc(a,b){var c,d,e;if(this.a.Xj()!=null){if(b)return yCc(a,Goc(this.a))}else return Hpc(this,a,b);e=this.a.Xj();if(e.length==0){d=this.a.k;return yCc(tCc(yCc(yCc((a.a+="")}return a.a+=""+e,a};_.ck=function vrc(a,b,c,d){var e,f;e=mqc(this.a);if(!!e&&(Wvc(e.Vj(),a)?1:0)!=0&&(f=e.Yj(a),!!f&&!f.b))return false;return Ipc(this,a,b,c,d)};_.Qj=function wrc(){return this.a};_.Rj=function xrc(){return this.a.d};_.dk=function yrc(){return gqc(this.a)};_.Sj=function zrc(){return mqc(this.a)};_.Xj=function Arc(){return this.a.Xj()};_.dj=function Brc(){return this.a.Xj()!=null};_.nj=function Crc(){return this.a.Xj()!=null?Wuc(this):jmc(this)};var VX= -sAc(325);R0(326,180,{326:1},Erc);_.ek=function Frc(){return new trc(this)};var UX=sAc(326);R0(513,1,{});_.c=false;var $X=sAc(513);R0(75,513,{},Jrc);var XX=sAc(75);R0(386,1,{386:1},Krc);_.zd=function Lrc(a){var b;b=a;if(this===a)return true;return rH(this.b)===rH(b.b)&rH(this.c)===rH(b.c)|rH(this.b)===rH(b.c)&rH(this.c)===rH(b.b)};_.Bd=function Mrc(){return this.a};_.a=0;var WX=sAc(386);R0(79,513,{},Prc);var ZX=sAc(79);R0(301,1,{301:1},Qrc);_.zd=function Rrc(a){var b;b=a;if(this.b==b.b&&this.c==b.c)return true; -return Nrc(this.d,this.b,b.b)&&Nrc(this.d,this.c,b.c)};_.Bd=function Src(){return this.a};_.a=0;var YX=sAc(301);R0(247,11,{247:1,3:1,20:1,11:1},Xrc);_.a=false;var Trc,Urc,Vrc;var _X=tAc(247,dZ,Yrc);R0(300,11,{300:1,3:1,20:1,11:1},asc);var Zrc,$rc;var aY=tAc(300,dZ,bsc);R0(883,1,pVc,csc);_.Od=function dsc(a){return bnc(this.c,this.a,this.b,a)};var bY=sAc(883);R0(884,1,pVc,esc);_.Od=function fsc(a){return cnc(this.b,this.a,this.c,a)};var cY=sAc(884);R0(31,11,{31:1,3:1,20:1,11:1},ytc);var ksc,lsc,msc, -nsc,osc,psc,qsc,rsc,ssc,tsc,usc,vsc,wsc,xsc,ysc,zsc,Asc,Bsc,Csc,Dsc,Esc,Fsc,Gsc,Hsc,Isc,Jsc,Ksc,Lsc,Msc,Nsc,Osc,Psc,Qsc,Rsc,Ssc,Tsc,Usc,Vsc,Wsc,Xsc,Ysc,Zsc,$sc,_sc,atc,btc,ctc,dtc,etc,ftc,gtc,htc,itc,jtc,ktc,ltc,mtc,ntc,otc,ptc,qtc,rtc,stc,ttc,utc,vtc,wtc;var dY=tAc(31,dZ,ztc);R0(333,1,{333:1,3:1},euc);var gY=sAc(333);R0(925,135,t1c,guc);_.Qj=function huc(){return Ttc(this.D,(xtc(),zsc))};var eY=sAc(925);R0(926,1,NUc,iuc);_.Pd=function juc(a){return new CNc};var fY=sAc(926);R0(128,49,w1c);_.Mi=function nuc(a, -b){return this.e.Mi(a,b)};_.Pi=function ouc(a){return fmc(this.e,a)};_.Qj=function puc(){return!this.d?null:this.d.Qj()};_.Rj=function quc(){return!this.d?(JHc(),JHc(),HHc):this.d.Rj()};_.Sj=function ruc(){return!this.d?null:this.d.Sj()};_.Uj=function suc(){return!this.d?null:this.d.Uj()};_.Ti=function tuc(a,b){return this.e.Ti(a,b)};_.Vj=function uuc(){return!this.d?(Svc(),Svc(),Rvc):this.d.Vj()};_.Xj=function vuc(){return!this.d?"":this.d.Xj()};_.Ui=function wuc(){return this.e.Ui()};_.Vi=function xuc(){return this.e.Vi()}; -_.xj=function yuc(){return imc(this.e)};_.Wi=function(){return this.xj()};_.Xi=function zuc(){return this.e.Xi()};_.Yi=function Auc(){return this.e.Yi()};_.Zi=function Buc(){return this.e.Zi()};_._j=function Cuc(){return!!this.d&&this.d._j()};_.aj=function Duc(){return this.e.aj()};_.bj=function Euc(){return this.e.bj()};_.cj=function Fuc(){return this.e.cj()};_.dj=function Guc(){return this.e.dj()};_.fj=function Huc(){return this.e.fj()};_.hj=function Iuc(){return this.e.hj()};_.ij=function Juc(a){return this.e.jj(a, -new Prc(true),(_rc(),$rc))};_.jj=function Kuc(a,b,c){return this.e.jj(a,b,c)};_.kj=function Luc(){return this.e.kj()};_.mj=function Muc(){return this.e.mj()};_.nj=function Nuc(){return jmc(this.e)};_.pj=function Ouc(){return this.e.pj()};_.qj=function Puc(){return this.e.qj()};_.rj=function Quc(){return this.e.rj()};_.sj=function Ruc(){return this.e.sj()};_.tj=function Suc(){return this.e.tj()};_.uj=function Tuc(){return this.e.uj()};_.vj=function Uuc(){return this.e.vj()};_.wj=function Vuc(a){return a.Hj(this)}; -var tY=sAc(128);R0(627,135,t1c,Xuc);_.Mi=function Yuc(a,b){return a.a+=b?"?":"NoObject",a};_.ck=function Zuc(a,b,c,d){return true};_.Qj=function $uc(){return null};_.Sj=function _uc(){return null};_.Xj=function avc(){return null};_.Zi=function bvc(){return false};_.aj=function cvc(){return true};_.ij=function dvc(a){return this.jj(a,new Prc(true),(_rc(),$rc))};_.jj=function evc(a,b,c){return Zmc(this,a,b,c)||a.gj()&&!a.cj()&&!a.bj()};_.nj=function fvc(){return OTc(this)};_.rj=function gvc(){return null}; -_.wj=function hvc(a){return a.Cj()};var iY=sAc(627);R0(628,627,t1c,ivc);_.Mi=function jvc(a,b){return a.a+=b?"?":"None",a};_.Si=function kvc(){return Onc(),Knc};_.aj=function lvc(){return false};_.cj=function mvc(){return true};_.fj=function nvc(){return true};_.ij=function ovc(a){return this.jj(a,null,(_rc(),$rc))};_.jj=function pvc(a,b,c){return true};_.mj=function qvc(){return true};_.wj=function rvc(a){return a.Dj(this)};var kY=sAc(628);R0(1061,628,t1c,tvc);_.Mi=function uvc(a,b){return a.a+= -b?"?":"NoResolvedType",a};_.Xj=function vvc(){return this.a};_.bj=function wvc(){return true};_.cj=function xvc(){return false};_.ij=function yvc(a){return svc(this,a,new Prc(true),(_rc(),$rc))};_.jj=function zvc(a,b,c){return svc(this,a,b,c)};var jY=sAc(1061);R0(1055,217,q1c,Avc);_.Mi=function Bvc(a,b){return a.a+=uUc,a};_.Si=function Cvc(){return Onc(),Mnc};_.ej=function Dvc(){return true};_.fj=function Evc(){return true};_.oj=function Fvc(){return Ttc(this.D,(xtc(),Vsc))};_.wj=function Gvc(a){return a.Ej()}; -var lY=sAc(1055);R0(1056,217,q1c,Hvc);_.Mi=function Ivc(a,b){return a.a+=hUc,a};_.Oi=function Jvc(){return hmc(this,(xtc(),Zsc))};_.Si=function Kvc(){return Onc(),Knc};_.wj=function Lvc(a){return a.Fj()};var mY=sAc(1056);R0(327,1,{327:1,3:1},Nvc);_.Bd=function Ovc(){return WGc(yG(tG(qZ,1),xUc,1,5,[this.c,this.e]))};_.Cd=function Pvc(){return"Property { name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var qY=sAc(327);R0(1076,1,{},Qvc);var oY=sAc(1076);R0(436,1,hXc,_vc, -awc);_.Bd=function bwc(){return uOc(this.b.ye())};_.a=null;var Rvc;var pY=sAc(436);R0(1086,110,s1c,fwc);_.ck=function gwc(a,b,c,d){return cwc(this,a,b,c,d)};_.Sj=function hwc(){return Ttc(this.D,(xtc(),gtc))};_.hj=function iwc(){return true};_.ij=function jwc(a){return ewc(this,a,new Prc(true),(_rc(),$rc))};_.jj=function kwc(a,b,c){return ewc(this,a,b,c)};_.sj=function lwc(){return this};_.a=false;var wY=sAc(1086);R0(433,1,{},owc);_.a=true;_.b=true;var vY=sAc(433);R0(434,1,{434:1},pwc);_.Cd=function qwc(){return"RecordProperty{type: "+ -this.b+", node: "+this.a+"}"};var uY=sAc(434);R0(1057,217,q1c,rwc);_.Mi=function swc(a,b){return a.a+=jUc,a};_.Oi=function twc(){return hmc(this,(xtc(),mtc))};_.Si=function uwc(){return Onc(),Knc};_.wj=function vwc(a){return a.Ij()};var xY=sAc(1057);R0(1058,217,q1c,wwc);_.Mi=function xwc(a,b){return a.a+=Y$c,a};_.Oi=function ywc(){return hmc(this,(xtc(),qtc))};_.Si=function zwc(){return Onc(),Nnc};_.wj=function Awc(a){return a.Jj()};var yY=sAc(1058);R0(55,128,{23:1,49:1,128:1,55:1,3:1},Dwc);_.Mi= -function Ewc(a,b){return this.a==Stc(this.D,(xtc(),vtc))?yCc(a,this.b):xCc(yCc(yCc(a,this.b)," extends "),this.a)};_.zd=function Fwc(a){return lH(a,55)&&this==a};_.Xj=function Gwc(){return this.b};_.xj=function Hwc(){return true};_.ij=function Iwc(a){return Bwc(this,a,new Prc(true),(_rc(),$rc))};_.jj=function Jwc(a,b,c){return Bwc(this,a,b,c)};_.tj=function Kwc(){return this};_.wj=function Lwc(a){return Cwc(this,a)};var BY=sAc(55);R0(314,1,hXc,Zwc);_.Cd=function _wc(){var a,b,c;c="";b=this.c.$d(); -c+="{ ";for(a=0;a"}return a};_.Rj=function Gxc(){var a,b,c;c=new fOc;for(b=this.d.Rj().Xd();b.Jd();){a=b.Kd();qMc(c,rmc(a.wj(this.b)))}return c};_.Wj=function Hxc(a){var b;return b=Ioc(this,a),!b?null:b.wj(this.b)};_.Vi=function Ixc(){return this.F};_.xj=function Jxc(){return Vwc(this.F)};_.ij=function Kxc(a){return Zmc(this,a,new Prc(true), -(_rc(),$rc))};_.jj=function Lxc(a,b,c){return Zmc(this,a,b,c)};_.nj=function Mxc(){var a;a=jmc(this.e);if(this.a)return a;return WGc(yG(tG(qZ,1),xUc,1,5,[this.c,dBc(a)]))};_.uj=function Nxc(){return this};_.wj=function Oxc(a){return a.Lj(this)};_.a=false;var CY=sAc(260);R0(162,11,x1c);var Pxc,Qxc,Rxc;var GY=tAc(162,dZ,Uxc);R0(969,162,x1c,Vxc);_.gk=function Wxc(a){return Pxc};_.hk=function Xxc(){return Qxc};_.ik=function Yxc(a){return a};_.jk=function Zxc(a){return false};_.Cd=function $xc(){return EXc}; -var DY=tAc(969,GY,null);R0(970,162,x1c,_xc);_.gk=function ayc(a){return a};_.hk=function byc(){return Pxc};_.ik=function cyc(a){return Qxc};_.jk=function dyc(a){return true};_.Cd=function eyc(){return FXc};var EY=tAc(970,GY,null);R0(971,162,x1c,fyc);_.gk=function gyc(a){return Pxc==a?Pxc:Rxc};_.hk=function hyc(){return Rxc};_.ik=function iyc(a){return Qxc==a?Qxc:Rxc};_.jk=function jyc(a){return a};_.Cd=function kyc(){return b0c};var FY=tAc(971,GY,null);R0(1077,23,q1c,syc);_.Mi=function tyc(a,b){var c, -d,e,f;a.a+="(";f=new LQc;for(e=this.a.Xd();e.Jd();){d=e.Kd();JQc(f,d.Mi(new BCc,b).a)}Hc(new Kc(String.fromCharCode(124)),a,(c=(new dFc(f.a)).a.Je().b.yk(),new lFc(c)));return a.a+=")",a};_.Ni=function uyc(){return jsc(new Vyc,this)};_.Pi=function vyc(a){var b,c,d,e;e=null;for(d=this.a.Xd();d.Jd();){c=d.Kd();if(c.ej()||c.lj())continue;b=fmc(c,a);if(!b)continue;!e?e=b:e=e.Ri(b)}return e};_.Ri=function wyc(a){return nyc(this,a)};_.Si=function xyc(){var a,b,c;c=(Onc(),Lnc);for(b=0;b=0?":"+this.c:"")+")"};_.c=0;var sZ=sAc(138);hH={3:1,445:1,20:1,2:1};var vZ=sAc(2);R0(29,267,{445:1,29:1},BCc,CCc,DCc,ECc);var tZ=sAc(29);R0(344,124,{3:1,40:1,26:1,344:1,37:1},FCc);var uZ= -sAc(344);R0(1221,1,{});R0(28,26,{3:1,40:1,26:1,37:1,28:1},HCc,ICc);var xZ=sAc(28);R0(137,11,{3:1,20:1,11:1,137:1},SCc);var JCc,KCc,LCc,MCc,NCc,OCc,PCc,QCc;var yZ=tAc(137,dZ,TCc);R0(196,1,B1c);_.ke=function UCc(a){return JBc(this.a,a.a)};_.zd=function VCc(a){var b;if(a===this)return true;if(!lH(a,196))return false;b=a;return MBc(this.a,b.a)};_.Bd=function WCc(){return cUc(this.a)};_.Cd=function XCc(){return this.a};var zZ=sAc(196);R0(6,1,{},$Cc);var AZ=sAc(6);R0(238,1126,KUc);_.Sd=function oDc(){this.d= -new OMc(this);this.e=new hNc};_.ue=function pDc(a){return aDc(this,a)};_.Ie=function qDc(a){return bDc(this,a)};_.Je=function rDc(){return new xDc(this)};_.Le=function sDc(a){return dDc(this,a)};_.Me=function tDc(a,b){return gDc(this,a,b)};_.Ne=function uDc(a){return iDc(this,a)};_.$d=function vDc(){return lDc(this)};var EZ=sAc(238);R0(187,LUc,MUc,xDc);_.Sd=function yDc(){this.a.Sd()};_.Td=function zDc(a){return wDc(this,a)};_.Xd=function ADc(){return new FDc(this.a)};_.Yd=function BDc(a){var b;if(wDc(this, -a)){b=a.ff();this.a.Ne(b);return true}return false};_.$d=function CDc(){return this.a.$d()};var DZ=sAc(187);R0(275,1,nUc,FDc);_.Id=function GDc(a){uNc(this,a)};_.Kd=function IDc(){return EDc(this)};_.Jd=function HDc(){return this.b};_.Ld=function JDc(){this.c.Ld();this.c=null;this.b=DDc(this)};_.b=false;var CZ=sAc(275);R0(114,1,nUc,NDc);_.Id=function ODc(a){uNc(this,a)};_.Jd=function PDc(){return KDc(this)};_.Kd=function QDc(){return LDc(this)};_.Ld=function RDc(){MDc(this)};_.b=0;_.c=-1;var FZ=sAc(114); -R0(345,114,QUc,TDc);_.Ld=function XDc(){MDc(this)};_.qe=function UDc(a){this.a.de(this.b,a);++this.b;this.c=-1};_.re=function VDc(){return this.b>0};_.se=function WDc(){return SDc(this)};var GZ=sAc(345);R0(471,yUc,zUc,YDc);_.de=function ZDc(a,b){this.c.de(this.a+a,b);++this.b};_.ee=function $Dc(a){return this.c.ee(this.a+a)};_.he=function _Dc(a){var b;b=this.c.he(this.a+a);--this.b;return b};_.$d=function aEc(){return this.b};_.a=0;_.b=0;var HZ=sAc(471);R0(60,LUc,MUc,bEc);_.Sd=function cEc(){this.a.Sd()}; -_.Td=function dEc(a){return this.a.ue(a)};_.Xd=function eEc(){var a;return a=this.a.Je().Xd(),new hEc(a)};_.Yd=function fEc(a){if(this.a.ue(a)){this.a.Ne(a);return true}return false};_.$d=function gEc(){return this.a.$d()};var KZ=sAc(60);R0(73,1,nUc,hEc);_.Id=function iEc(a){uNc(this,a)};_.Jd=function jEc(){return this.a.Jd()};_.Kd=function kEc(){var a;return a=this.a.Kd(),a.ff()};_.Ld=function lEc(){this.a.Ld()};var JZ=sAc(73);R0(104,vUc,wUc,mEc);_.Sd=function nEc(){this.a.Sd()};_.Td=function oEc(a){return this.a.Ie(a)}; -_.Xd=function pEc(){var a;return a=this.a.Je().Xd(),new rEc(a)};_.$d=function qEc(){return this.a.$d()};var MZ=sAc(104);R0(116,1,nUc,rEc);_.Id=function sEc(a){uNc(this,a)};_.Jd=function tEc(){return this.a.Jd()};_.Kd=function uEc(){var a;return a=this.a.Kd(),a.gf()};_.Ld=function vEc(){this.a.Ld()};var LZ=sAc(116);R0(239,1,{239:1,51:1});_.zd=function xEc(a){var b;if(!lH(a,51))return false;b=a;return tOc(this.d,b.ff())&&tOc(this.e,b.gf())};_.ff=function yEc(){return this.d};_.gf=function zEc(){return this.e}; -_.Bd=function AEc(){return uOc(this.d)^uOc(this.e)};_.hf=function BEc(a){return wEc(this,a)};_.Cd=function CEc(){return this.d+"="+this.e};var NZ=sAc(239);R0(170,239,{239:1,170:1,51:1},DEc);var OZ=sAc(170);R0(1138,1,dVc);_.zd=function EEc(a){var b;if(!lH(a,51))return false;b=a;return tOc(this.ff(),b.ff())&&tOc(this.gf(),b.gf())};_.Bd=function FEc(){return uOc(this.ff())^uOc(this.gf())};_.Cd=function GEc(){return this.ff()+"="+this.gf()};var PZ=sAc(1138);R0(1142,1126,KUc);_.He=function JEc(a){return HEc(this, -a)};_.ue=function KEc(a){return IEc(this,a)};_.xk=function LEc(){return new PEc(this)};_.Je=function MEc(){return new $Ec(this)};_.Le=function NEc(a){var b;return b=a,Kg(this.zk(b))};_.ye=function OEc(){return new dFc(this)};var VZ=sAc(1142);R0(785,1142,KUc,PEc);_.Sd=function QEc(){this.a.Sd()};_.Se=function REc(){return PHc(this.a.Se())};_.wk=function SEc(){return this.a.yk()};_.xk=function TEc(){return this.a};_.yk=function UEc(){return this.a.wk()};_.zk=function VEc(a){return this.a.zk(a)};_.Me= -function WEc(a,b){return this.a.Me(a,b)};_.Ne=function XEc(a){return this.a.Ne(a)};_.Ak=function YEc(a){return this.a.Ak(a)};_.$d=function ZEc(){return this.a.$d()};var RZ=sAc(785);R0(297,LUc,MUc,$Ec);_.Td=function _Ec(a){return lH(a,51)&&HEc(this.b,a)};_.Xd=function aFc(){return this.b.yk()};_.Yd=function bFc(a){var b;if(lH(a,51)){b=a;return this.b.Ak(b)}return false};_.$d=function cFc(){return this.b.$d()};var SZ=sAc(297);R0(119,LUc,SUc,dFc);_._d=function kFc(){return new KOc(this)};_.Sd=function eFc(){this.a.Sd()}; -_.Se=function fFc(){return this.a.Se()};_.Td=function gFc(a){return IEc(this.a,a)};_.Xd=function hFc(){var a;return a=this.a.Je().b.yk(),new lFc(a)};_.Yd=function iFc(a){if(IEc(this.a,a)){this.a.Ne(a);return true}return false};_.$d=function jFc(){return this.a.$d()};var UZ=sAc(119);R0(120,1,nUc,lFc);_.Id=function mFc(a){uNc(this,a)};_.Jd=function nFc(){return this.a.Jd()};_.Kd=function oFc(){var a;return a=this.a.Kd(),a.ff()};_.Ld=function pFc(){this.a.Ld()};var TZ=sAc(120);R0(67,vUc,wUc,JFc,LFc); -_.Qd=function MFc(a){return sFc(this,a),true};_.Sd=function OFc(){tFc(this)};_.Td=function PFc(a){return uFc(new YFc(this),a)};_.Wd=function QFc(){return zFc(this)};_.Xd=function RFc(){return new YFc(this)};_.Yd=function SFc(a){return EFc(new YFc(this),a)};_.$d=function TFc(){return IFc(this)};_._d=function UFc(){return new COc(this,272)};_.ce=function VFc(a){var b;b=this.c-this.b&this.a.length-1;a.lengthb&&(a[b]=null);return a};_.b=0;_.c=0;var ZZ= -sAc(67);R0(178,1,nUc,YFc);_.Id=function ZFc(a){uNc(this,a)};_.Jd=function $Fc(){return this.a!=this.b};_.Kd=function _Fc(){return WFc(this)};_.Ld=function aGc(){XFc(this)};_.a=0;_.b=0;_.c=-1;var YZ=sAc(178);R0(19,yUc,{3:1,16:1,19:1,18:1,53:1,69:1},nGc,oGc,pGc);_.de=function qGc(a,b){cGc(this,a,b)};_.Qd=function rGc(a){return dGc(this,a)};_.Rd=function sGc(a){return eGc(this,a)};_.Sd=function tGc(){this.a=vG(qZ,xUc,1,0,5,1)};_.Td=function uGc(a){return hGc(this,a,0)!=-1};_.Vd=function vGc(a){fGc(this, -a)};_.ee=function wGc(a){return gGc(this,a)};_.Wd=function xGc(){return this.a.length==0};_.Xd=function yGc(){return new FGc(this)};_.he=function zGc(a){return iGc(this,a)};_.Yd=function AGc(a){return jGc(this,a)};_.ie=function BGc(a,b){var c;c=b-a;BTc(this.a,a,c)};_.$d=function CGc(){return this.a.length};_.be=function DGc(){return wTc(this.a,this.a.length)};_.ce=function EGc(a){return mGc(this,a)};var _Z=sAc(19);R0(27,1,nUc,FGc);_.Id=function GGc(a){uNc(this,a)};_.Jd=function HGc(){return this.a< -this.c.a.length};_.Kd=function IGc(){return this.b=this.a++,this.c.a[this.b]};_.Ld=function JGc(){iGc(this.c,this.a=this.b);this.b=-1};_.a=0;_.b=-1;var $Z=sAc(27);R0(42,yUc,C1c,kHc);_.Td=function lHc(a){return fd(this,a)!=-1};_.Vd=function mHc(a){var b,c,d,e;for(c=this.a,d=0,e=c.length;d=0?"+":"")+(c/60|0);b=iLc($wnd.Math.abs(c)%60);return(mLc(),kLc)[this.a.getDay()]+" "+lLc[this.a.getMonth()]+" "+iLc(this.a.getDate())+ -" "+iLc(this.a.getHours())+":"+iLc(this.a.getMinutes())+":"+iLc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var A$=sAc(303);var kLc,lLc;R0(205,1126,{205:1,52:1},rLc,sLc);_.Me=function yLc(a,b){return oLc(this,a,b)};_.Sd=function tLc(){nLc(this)};_.ue=function uLc(a){return WLc(this.a,a)};_.Ie=function vLc(a){var b,c;for(c=new hMc(this.a);c.a0};_.Ld=function XPc(){MDc(this.a);BPc(this.c,this.b);this.b=null};var l_=sAc(365);R0(296,1,nUc,YPc,ZPc);_.Id=function $Pc(a){uNc(this,a)};_.Kd=function aQc(){return this.b=LDc(this.a)};_.Jd=function _Pc(){return KDc(this.a)};_.Ld= -function bQc(){MDc(this.a);BPc(this.c,this.b);this.b=null};var m_=sAc(296);R0(366,297,MUc,cQc);_.Sd=function dQc(){sPc(this.a)};var n_=sAc(366);R0(204,170,{239:1,170:1,51:1,204:1},eQc);_.b=false;var o_=sAc(204);R0(367,1,{},fQc);_.Cd=function gQc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=false;var p_=sAc(367);R0(781,1142,KUc,jQc);_.Se=function kQc(){return RKc(this.c.a)};_.wk=function lQc(){return new TPc(this.c,this.f,this.b,this.a,this.e, -this.d)};_.yk=function mQc(){return new ZPc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Je=function nQc(){return new $Ec(this)};_.zk=function oQc(a){return hQc(this,tPc(this.c,a))};_.Me=function pQc(a,b){if(!wPc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw p0(new xsb(a+" outside the range "+this.b+" to "+this.e));return zPc(this.c,a,b)};_.Ne=function qQc(a){var b;b=a;if(!wPc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return APc(this.c,b)};_.Ak=function rQc(a){return iQc(this, -a.ff())&&BPc(this.c,a)};_.$d=function sQc(){var a,b,c;this.a?b=uPc(this.c,this.b,true):b=uPc(this.c,this.b,false);if(!(!!b&&iQc(this,b.d)?b:null))return 0;a=0;for(c=new ZPc(this.c,this.f,this.b,this.a,this.e,this.d);KDc(c.a);c.b=LDc(c.a))++a;return a};_.a=false;_.d=false;var u_=sAc(781);R0(144,11,F1c,yQc);_.Ek=function zQc(){return false};_.Fk=function AQc(){return false};var tQc,uQc,vQc,wQc;var t_=tAc(144,dZ,BQc);R0(782,144,F1c,CQc);_.Fk=function DQc(){return true};var q_=tAc(782,t_,null);R0(783, -144,F1c,EQc);_.Ek=function FQc(){return true};_.Fk=function GQc(){return true};var r_=tAc(783,t_,null);R0(784,144,F1c,HQc);_.Ek=function IQc(){return true};var s_=tAc(784,t_,null);R0(103,LUc,{3:1,16:1,18:1,329:1,35:1,152:1},LQc,MQc,NQc);_._d=function VQc(){return new KOc(this)};_.Qd=function OQc(a){return JQc(this,a)};_.Sd=function PQc(){this.a.Sd()};_.Se=function QQc(){return this.a.Se()};_.Td=function RQc(a){return IEc(this.a,a)};_.Xd=function SQc(){var a;return a=(new dFc(this.a)).a.Je().b.yk(), -new lFc(a)};_.Yd=function TQc(a){return KQc(this,a)};_.$d=function UQc(){return this.a.$d()};var w_=sAc(103);R0(222,1126,KUc,$Qc,_Qc);_.ue=function aRc(a){return WQc(this,a)};_.Ie=function bRc(a){if(a==null)throw p0(new uBc);return bDc(this.a,a)};_.Je=function cRc(){return new xDc(this.a)};_.Le=function dRc(a){return XQc(this,a)};_.Me=function eRc(a,b){return YQc(this,a,b)};_.Ne=function fRc(a){if(a==null)throw p0(new uBc);return iDc(this.a,a)};var x_=sAc(222);R0(285,1,{285:1});var z_=sAc(285);R0(1140, -1,hXc);_.ah=function lRc(){return"DUMMY"};_.tk=function mRc(){return-1};_.Cd=function nRc(){return this.ah()};var gRc,hRc,iRc,jRc;var E_=sAc(1140);R0(759,1140,hXc,oRc);_.ah=function pRc(){return"FINE"};_.tk=function qRc(){return 500};var A_=sAc(759);R0(760,1140,hXc,rRc);_.ah=function sRc(){return"INFO"};_.tk=function tRc(){return 800};var B_=sAc(760);R0(761,1140,hXc,uRc);_.ah=function vRc(){return"SEVERE"};_.tk=function wRc(){return 1E3};var C_=sAc(761);R0(762,1140,hXc,xRc);_.ah=function yRc(){return RVc}; -_.tk=function zRc(){return 900};var D_=sAc(762);R0(741,1,{},DRc);var ARc;var F_=sAc(741);R0(899,1,hXc,FRc);_.c=null;var G_=sAc(899);R0(284,1,{284:1},ZRc);_.e=false;var GRc=false,HRc=false,IRc=false,JRc=false,KRc=false;var H_=sAc(284);R0(487,285,{285:1},aSc);var I_=sAc(487);R0(898,1,{},cSc);var J_=sAc(898);R0(346,1,{346:1},eSc);var K_=sAc(346);R0(299,1,{},hSc);var L_=sAc(299);R0(924,1,NUc,iSc);_.Pd=function jSc(a){return oPc(a)};var M_=sAc(924);R0(923,1,{},kSc);_.ef=function lSc(a,b){nPc(a,b)};var N_= -sAc(923);R0(922,1,{},mSc);_.Dd=function nSc(){return new qPc(this.a,this.b,this.c)};var O_=sAc(922);R0(974,677,XUc,rSc);_.Dk=function sSc(a){return qSc(this,a)};_.a=0;_.b=0;_.c=0;var P_=sAc(974);R0(379,1,{});_.d=false;var h0=sAc(379);R0(1006,379,H1c,xSc);_.Gk=function ySc(a){return tSc(this,a)};_.Hk=function zSc(){return uSc(this),this.a};var R_=sAc(1006);R0(615,379,H1c,ASc);_.Gk=function BSc(a){return tSc(this,a)};_.Hk=function CSc(){return uSc(this),aPc(),$Oc};var Q_=sAc(615);var g0=uAc();R0(791, -1,{1109:1},ESc);var S_=sAc(791);R0(792,1,{1109:1},FSc);var T_=sAc(792);R0(789,226,XUc,ISc);_.uf=function JSc(a){while(GSc(this))if(this.a.uf(a))return true;else this.a=null;return false};var V_=sAc(789);R0(790,1,{},KSc);_.vf=function LSc(a){HSc(this.a,a)};var U_=sAc(790);R0(77,379,{1097:1,1102:1,1179:1},VSc);_.Gk=function YSc(a){return tSc(this,a)};var f0=sAc(77);R0(847,226,XUc,ZSc);_.uf=function $Sc(a){var b;if(!this.a){b=new nGc;this.b.a.Id(new _Sc(b));JHc();lGc(b,this.c);this.a=new COc(b,16)}return BOc(this.a, -a)};_.a=null;var X_=sAc(847);R0(848,1,{},_Sc);_.vf=function aTc(a){dGc(this.a,a)};var W_=sAc(848);R0(839,226,XUc,cTc);_.uf=function dTc(a){this.b=false;while(!this.b&&this.c.uf(new eTc(this,a)));return this.b};_.b=false;var Z_=sAc(839);R0(843,1,{},eTc);_.vf=function fTc(a){bTc(this.a,this.b,a)};var Y_=sAc(843);R0(838,226,XUc,hTc);_.uf=function iTc(a){return this.b.uf(new jTc(this,a))};var __=sAc(838);R0(842,1,{},jTc);_.vf=function kTc(a){gTc(this.a,this.b,a)};var $_=sAc(842);R0(840,226,XUc,lTc);_.uf= -function mTc(a){while(x0(this.b,0)){if(!this.a.uf(new nTc))return false;this.b=E0(this.b,1)}return this.a.uf(a)};_.b=0;var b0=sAc(840);R0(844,1,{},nTc);_.vf=function oTc(a){};var a0=sAc(844);R0(841,1,{},qTc);_.vf=function rTc(a){pTc(this,a)};var c0=sAc(841);R0(845,1,{},tTc);var d0=sAc(845);R0(846,1,{},uTc);_.vf=function vTc(a){XSc(this.b,this.a,a)};var e0=sAc(846);R0(1219,1,{});R0(984,1,{},HTc);var i0=sAc(984);R0(467,196,B1c);var l0=sAc(467);R0(468,467,B1c,LTc);var j0=sAc(468);R0(696,467,B1c,NTc); -var k0=sAc(696);R0(1213,1,{});var XTc=0;var ZTc,$Tc=0,_Tc;R0(1260,1,{});var uH=vAc("C");var vH=vAc("I");var m0=vAc("Z");var wH=vAc("J");var tH=vAc("B");GLb();_=V0(uWc);_.transpile=JLb;var eUc=(PF(),SF);var gwtOnLoad=gwtOnLoad=N0;L0(Y0);O0("permProps",[[["locale",uXc],["user.agent","safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()}).call(this&&this.self||(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this),this&&this.self||(typeof window!== -"undefined"?window:typeof global!=="undefined"?global:this)); +_.jc=false;_.lc=false;_.mc=true;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.wc=false;_.xc=false;_.yc=false;_.zc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Fc=false;_.Gc=false;_.Hc=true;_.Ic=false;_.Jc=false;_.Kc=false;_.Lc=false;_.Mc=false;_.Nc=false;_.Qc=true;_.Rc=false;_.Wc=false;_.Xc=true;_.Yc=false;_.Zc=false;_._c=false;_.ad=false;_.bd=false;_.ld=1;_.qd=false;_.td=true;_.ud=false;_.wd=true;_.yd=true;var eeb,feb;var qO=uAc(165);S0(684,1,jXc,yeb);var bO=uAc(684);S0(192,11,{192:1,3:1, +20:1,11:1},Eeb);var zeb,Aeb,Beb,Ceb;var cO=vAc(192,eZ,Feb);S0(268,11,{268:1,3:1,20:1,11:1},Jeb);var Geb,Heb;var dO=vAc(268,eZ,Keb);S0(191,11,{191:1,3:1,20:1,11:1},Qeb);var Leb,Meb,Neb,Oeb;var eO=vAc(191,eZ,Reb);S0(231,11,{231:1,3:1,20:1,11:1},Web);var Seb,Teb,Ueb;var fO=vAc(231,eZ,Xeb);S0(230,11,{230:1,3:1,20:1,11:1},afb);var Yeb,Zeb,$eb;var gO=vAc(230,eZ,bfb);S0(269,11,{269:1,3:1,20:1,11:1},ffb);var cfb,dfb;var hO=vAc(269,eZ,gfb);S0(91,11,{91:1,3:1,20:1,11:1},yfb);var hfb,ifb,jfb,kfb,lfb,mfb,nfb, +ofb,pfb,qfb,rfb,sfb,tfb,ufb;var iO=vAc(91,eZ,zfb);S0(685,1,{},Afb);var jO=uAc(685);S0(232,11,{232:1,3:1,20:1,11:1},Ffb);var Bfb,Cfb,Dfb;var kO=vAc(232,eZ,Gfb);S0(229,11,{229:1,3:1,20:1,11:1},Lfb);var Hfb,Ifb,Jfb;var lO=vAc(229,eZ,Mfb);S0(228,11,{228:1,3:1,20:1,11:1},Rfb);var Nfb,Ofb,Pfb;var mO=vAc(228,eZ,Sfb);S0(168,11,{168:1,3:1,20:1,11:1},Zfb);var Tfb,Ufb,Vfb,Wfb,Xfb;var nO=vAc(168,eZ,$fb);S0(233,11,{233:1,3:1,20:1,11:1},dgb);var _fb,agb,bgb;var oO=vAc(233,eZ,egb);S0(206,26,FVc,ggb);var pO=uAc(206); +S0(153,1,pYc);_._h=function hgb(a){return false};_.ai=function igb(a){return false};_.bi=function jgb(){return(HIb(),AIb).a};var bT=uAc(153);S0(224,153,{224:1,153:1,3:1},qgb);_._h=function rgb(a){return mgb(this,a)};_.ai=function sgb(a){return ngb(this,a)};_.ci=function tgb(a){return ogb(this,a)};_.Cd=function ugb(){var a;return Ic(new Kc(vUc),(a=(new fFc(this.c.a)).a.Je().b.yk(),new nFc(a)))};_.a=false;_.d=0;var tO=uAc(224);S0(702,1,qYc,wgb);_.xf=function xgb(a,b){return vgb(this,a,b)};_.zd=function ygb(a){return this=== +a};_.zf=function zgb(){return new bLc(this)};var sO=uAc(702);S0(718,1,{},Agb);var uO=uAc(718);var Bgb;S0(470,1,jXc,Kgb);_.b=0;var Dgb,Egb;var wO=uAc(470);S0(343,1,{343:1,3:1,20:1},Ngb);_.ke=function Ogb(a){return Mgb(this,a)};_.a=0;_.b=0;_.c=0;var vO=uAc(343);S0(198,11,{198:1,3:1,20:1,11:1},Ugb);var Pgb,Qgb,Rgb,Sgb;var xO=vAc(198,eZ,Vgb);S0(47,1,{47:1,3:1},$gb,_gb,ahb,bhb,chb);_.Cd=function ehb(){var a;return this.a==null?(nAc(BO),BO.p+"@"+(a=$Tc(this)>>>0,a.toString(16))):"DiagnosticGroup<"+this.a+ +">"};var Wgb;var BO=uAc(47);S0(465,1,PUc,fhb);_.Pd=function ghb(a){return new $gb(a)};var zO=uAc(465);S0(90,153,pYc,hhb);_._h=function ihb(a){return this.b==(p7(),n7)&&Ygb(this.a,a)};_.ai=function jhb(a){var b,c;if(this.b!=(p7(),n7))for(c=a.b.Xd();c.Jd();){b=c.Kd();if(Zgb(this.a,b))return true}return false};_.ci=function khb(a){return Zgb(this.a,a.g)?this.b:null};_.Cd=function lhb(){return this.a+"("+this.b+")"};var AO=uAc(90);var mhb,nhb,ohb,phb,qhb,rhb,shb,thb,uhb,vhb,whb,xhb,yhb,zhb,Ahb,Bhb,Chb, +Dhb,Ehb,Fhb,Ghb,Hhb,Ihb,Jhb,Khb,Lhb,Mhb,Nhb,Ohb,Phb,Qhb,Rhb,Shb,Thb,Uhb;S0(5,1,{5:1,3:1,20:1},$hb);_.ke=function _hb(a){return KBc(this.b,a.b)};_.zd=function aib(a){return Zhb(this,a)};_.Bd=function bib(){return eUc(this.b)};var CO=uAc(5);S0(157,11,OYc);var cib,dib,eib;var GO=vAc(157,eZ,hib);S0(699,157,OYc,iib);var DO=vAc(699,GO,null);S0(700,157,OYc,jib);var EO=vAc(700,GO,null);S0(701,157,OYc,lib);var FO=vAc(701,GO,null);S0(1032,fXc,TYc,uib);_.dh=function vib(a,b){SEb(this.b,a,mib,yG(tG(CQ,1),zUc, +22,0,[this]));SEb(this.b,b,mib,yG(tG(CQ,1),zUc,22,0,[this]))};_.jh=function wib(a,b,c){b.n==(Plc(),ojc)?!Oub(b)&&oib(this,a,b):b.n==ulc&&qib(this,b,c)};var mib;var NO=uAc(1032);S0(1033,1,UYc,yib);_.Md=function zib(a){return xib(a)};_.zd=function Aib(a){return this===a};_.Od=function Bib(a){return xib(a)};var HO=uAc(1033);S0(1028,1,TYc,Oib);_.dh=function Pib(a,b){this.d=new cqb(this.b,a,b);SEb(this.b,a,Cib,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.b,b,Cib,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.b,Cib)}; +_.ih=function Qib(a,b,c){var d,e;if(b.n==(Plc(),Vjc))tFc(this.c,new Vib(b));else if(b.n==ulc){e=c.n==jjc?c:c.g;if(e.n!=jjc&&c.n==_jc){bub(a,b,(Job(),Iob),yG(tG(wZ,1),eWc,2,6,["super access with no extends clause"]));return false}Vd(e.n==jjc,e);d=Pd(CFc(this.c));fGc(d.b,e)}return true};_.jh=function Rib(a,b,c){var d;d=CFc(this.c);if(!!d&&b==d.a){EFc(this.c);Nib(this,a,d)}};var Cib;var MO=uAc(1028);S0(1031,1,gXc,Sib);_.ih=function Tib(a,b,c){return jGc(this.b,b,0)==-1&&!(b.n==(Plc(),Vjc)&&!(b.n==Vjc&& +aec(b,(vhc(),ugc))!=0))};_.jh=function Uib(a,b,c){var d;if(b.n==(Plc(),Alc)){d=ifc(W2(this.a.a,cZc,b.d),b);Oec(c,b,d)}else b.n==ilc&&!b.c&&Pdc(b,ifc(W2(this.a.a,cZc,this.c),b))};var IO=uAc(1031);S0(620,1,{620:1},Vib);var JO=uAc(620);S0(1029,1,{},Xib);_.a=false;var LO=uAc(1029);S0(1147,1,gXc);_.ih=function Yib(a,b,c){return!c||c.n!=(Plc(),Vjc)||b==c.c};var BQ=uAc(1147);S0(1030,1147,gXc,Zib);_.jh=function $ib(a,b,c){this.a.a||b.n==(Plc(),ilc)&&!!b.c&&!Cec(b.c,dZc)&&(this.a.a=true)};var KO=uAc(1030); +S0(1019,fXc,TYc,ejb);_.dh=function fjb(a,b){SEb(this.b,a,_ib,yG(tG(CQ,1),zUc,22,0,[this,new ijb(this)]));SEb(this.b,b,_ib,yG(tG(CQ,1),zUc,22,0,[this,new ijb(this)]))};_.jh=function gjb(a,b,c){b.n==(Plc(),ojc)&&djb(this,b)&&cjb(this,a,b)};_.a=0;var _ib;var QO=uAc(1019);S0(618,1,gXc,ijb);_.ih=function jjb(a,b,c){b.n==(Plc(),ojc)&&(Gd(b.n==ojc),b.c.n==Gkc&&c.n==Gkc)&&tFc(this.a,new ljb(b.c,c.Di()));return true};_.jh=function kjb(a,b,c){switch(b.n.f){case 96:{Gd(b.n==(Plc(),ojc));if(b.c.n==Gkc&&c.n== +Gkc){EFc(this.a);Oec(b,b.c,ifc(new mfc(Fjc),b.c));this.b.b.Vg(b)}}break;case 29:hjb(this,a,b,c)}};var PO=uAc(618);S0(619,1,{619:1},ljb);var OO=uAc(619);S0(1037,fXc,TYc,qjb);_.dh=function rjb(a,b){SEb(this.c,a,mjb,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.c,b,mjb,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.c,mjb)};_.jh=function sjb(a,b,c){b.n==(Plc(),Ujc)&&pjb(this,b,c)};_.a=false;var mjb;var RO=uAc(1037);S0(1034,fXc,TYc,xjb);_.dh=function yjb(a,b){var c,d,e,f,g;g=(DVb(),rVb);for(f=(!b.c?(LHc(),LHc(),KHc): +new yhc(b.c)).Xd();f.Jd();){e=f.Kd();g=LVb(g,(c=(vub(),Vd(e.n==(Plc(),llc),e),dec(e,(Ldc(),sdc))),c?c:rVb))}d=PVb(g,leb(this.a.Hg()));SEb(this.a,b,tjb,yG(tG(CQ,1),zUc,22,0,[this]));EVb(d,(dXb(),tWb))&&(Job(),this.a.wg(hZc+fCc(iZc,(mOc(),kOc)),false));EVb(d,$Vb)&&(Job(),this.a.wg(hZc+fCc(iZc,(mOc(),kOc)),false));EVb(d,_Vb)&&(Job(),this.a.wg(hZc+fCc("arrayFromIterator",(mOc(),kOc)),false));EVb(d,WWb)&&(Job(),this.a.wg(hZc+fCc("arrayfromiterable",(mOc(),kOc)),false));EVb(d,hWb)&&(Job(),this.a.wg(hZc+ +fCc("inherits",(mOc(),kOc)),false));EVb(d,iWb)&&this.a.wg("util/global",false);EVb(d,uWb)&&this.a.wg("es6/generator_engine",false);EVb(d,bWb)&&this.a.wg("es6/execute_async_generator",false);EVb(d,cWb)&&this.a.wg("es6/async_generator_wrapper",false);EVb(d,sWb)&&this.a.wg("es6/util/makeasynciterator",false)};_.jh=function zjb(a,b,c){var d,e,f,g;switch(b.n.f){case 29:e=dec(b,(vhc(),mhc));!(!!e&&e.ri())&&vjb(a,b)&&(this.a.wg(gZc,false),f=(vub(),Mub(b,new wwb)),g=P8b(K8b(hwb(this.a,"$jscomp.initSymbol"), +yG(tG(CX,1),mWc,7,0,[]))),Ndc(f.g,jfc(g,f),f),this.a.Vg(g),undefined);break;case 26:d=dec(b,(vhc(),mhc));!!d&&d.ri()||wjb(this,a,b);break;case 86:case 87:this.b||Lob(this.a,b,jZc)}};_.b=false;var tjb;var SO=uAc(1034);S0(1017,fXc,TYc,Cjb);_.dh=function Djb(a,b){SEb(this.a,a,Ajb,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.a,b,Ajb,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.a,Ajb)};_.jh=function Ejb(a,b,c){b.n==(Plc(),rlc)&&Hec(b,(vhc(),Zgc),0)};var Ajb;var TO=uAc(1017);S0(1012,1,PWc,Fjb);_.dh=function Gjb(a, +b){throw q0(new KCc("Es6RelativizeImportPaths not implemented"));};var UO=uAc(1012);S0(435,fXc,gXc,Ljb);_.jh=function Mjb(a,b,c){var d;!this.b&&(vub(),b.n==(Plc(),Gkc)&&b.Di().length!=0)&&Jjb(this,a,b,false);d=dec(b,(vhc(),_gc));!!d&&Kjb(this,a,gac(d))};_.b=false;var Hjb;var VO=uAc(435);S0(1022,fXc,TYc,Pjb);_.dh=function Qjb(a,b){SEb(this.a,b,Njb,yG(tG(CQ,1),zUc,22,0,[this]))};_.jh=function Rjb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.n!=(Plc(),Vjc)||(b.c?b.c.i:null).n!=gjc)return;l=b.c.f;e=new Ujb; +nub(this.a,l,new Sjb(this,e));d=l.f;f=new PDb(this.a);i=ODb(f,b,Stb(a));h=ODb(f,d,i);m=new wq(new ENc,new zq);for(o=(k=(new oEc(h.e)).a.Je().Xd(),new tEc(k));o.a.Jd();){n=(g=o.a.Kd(),g.gf());j=n.b;tMc(e.a,j)&&!uq(m,h.d,j)&&kq(m,h.d,j,j+"$"+(""+this.a.Ng().a.S++))}kub(new mub(this.a,new Ljb(m),new PDb(this.a)),d,d.g,i)};var Njb;var YO=uAc(1022);S0(1024,1140,gXc,Sjb);_.ih=function Tjb(a,b,c){if(!c)return true;if(c.n==(Plc(),zjc)&&b==(c.c?c.c.i:null)||c.n==sjc&&b==c.c){nub(this.a.a,b,this.b);return false}return true}; +var WO=uAc(1024);S0(EVc,fXc,gXc,Ujb);_.jh=function Vjb(a,b,c){vub();if(!(b.n==(Plc(),Gkc)&&b.Di().length!=0))return;sMc(this.a,b.Di())};var XO=uAc(EVc);S0(1025,1,TYc,akb);_.dh=function bkb(a,b){SEb(this.a,a,Wjb,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.a,b,Wjb,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.a,Wjb)};_.ih=function ckb(a,b,c){var d,e;switch(b.n.f){case 85:tFc(this.b,new gkb(this,b,false));break;case 65:b.n==(Plc(),Vjc)&&aec(b,(vhc(),ugc))!=0||tFc(this.b,(e=b.c?b.c.i:null,new gkb(this,e,vvb(b)))); +break;case 99:d=Pd(CFc(this.b));d.b&&c.n==(Plc(),jjc)&&c.c==b&&(d.c=Zjb(c,d.f))}return true};_.jh=function dkb(a,b,c){var d;d=CFc(this.b);if(b.n==(Plc(),Vjc)&&aec(b,(vhc(),ugc))!=0)_jb(this,a,b,Pd(d));else if(!!d&&d.f==b){EFc(this.b);Yjb(this,a,d)}};var Wjb;var _O=uAc(1025);S0(430,1,{430:1},gkb);_.b=false;_.c=null;_.d=false;_.e=false;var ZO=uAc(430);S0(1026,1,gXc,hkb);_.ih=function ikb(a,b,c){return b.n!=(Plc(),Vjc)||b.n==Vjc&&aec(b,(vhc(),ugc))!=0};_.jh=function jkb(a,b,c){var d;if(b.n==(Plc(),Alc)){fkb(this.b, +b.d);d=ifc(Wec((Zd(RBc(kZc,jCc(46))==-1,kWc,kZc),Ldc(),new Lhc(Gkc,kZc)),this.b.i),b);Hec(d,(vhc(),chc),1);this.a.Hg();Oec(b.g,b,d)}else if(b.n==Gkc&&OBc(b.Di(),UVc)){ekb(this.b,b.d);d=ifc(Wec((Zd(RBc(lZc,jCc(46))==-1,kWc,lZc),Ldc(),new Lhc(Gkc,lZc)),this.b.a),b);this.a.Hg();Oec(b.g,b,d)}};var $O=uAc(1026);S0(1039,fXc,TYc,wkb);_.dh=function zkb(a,b){var c;this.d=this.a.Qg();nub(this.a,b,new Gkb(this));nub(this.a,b,this);SEb(this.a,a,lkb,yG(tG(CQ,1),zUc,22,0,[this]));nub(this.a,b,new Ljb(this.c)); +c=new Lkb(this);nub(this.a,b,c);Kkb(c);ukb(this);REb(this.a,lkb)};_.jh=function Akb(a,b,c){var d,e;if(!b.c||!jvb(b.c))return;Vd(!c||c.n!=(Plc(),Ujc),c);(b.n==(Plc(),ykc)||b.n==tjc)&&sMc(this.b,b);vub();if(!!b&&(b.n==Jlc||b.n==ykc||b.n==tjc))for(e=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();e.Jd();){d=e.Kd();vkb(this,a,b,d)}else{Zd(b.n==Vjc||b.n==njc,"Unexpected declaration node: %s",b);vkb(this,a,b,b.c)}};_.d=false;var kkb,lkb;var fP=uAc(1039);S0(1043,1,UYc,Ckb);_.Md=function Dkb(a){return Bkb(a)}; +_.zd=function Ekb(a){return this===a};_.Od=function Fkb(a){return Bkb(a)};var aP=uAc(1043);S0(1040,fXc,gXc,Gkb);_.jh=function Hkb(a,b,c){b.n==(Plc(),Gkc)&&!x1(Stb(a),b.Di())&&sMc(this.a.e,b.Di())};var bP=uAc(1040);S0(1041,fXc,gXc,Lkb);_.jh=function Mkb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;vub();if(!(b.n==(Plc(),Gkc)&&b.Di().length!=0))return;g=b.Di();k=Stb(a);o=u1(k,g);if(!o)return;if(Q1(o)!=ykc&&Q1(o)!=tjc)return;(b.g.n==ykc||b.g.n==tjc)&&sMc(this.f.b,b.g);d=o.d;f=null;for(m=d;;m=m.b){n=m.d;if(Lvb(n)){f= +n;break}else if(!!n.g&&Lvb(n.g)){f=n.g;break}else if(zvb(m.d)||!m.b)return}Wf(this.e,o,b);j=null;for(l=k;l!=d&&l.d!=f;l=l.b)l.d.n==Vjc&&(j=l);if(j){e=j.d;if(Kf(this.a,e,g))return;Wf(this.a,e,g);zNc(this.c,f)||BNc(this.c,f,new Rkb("$jscomp$loop$"+(""+this.f.a.Ng().a.S++)));i=ANc(this.c,f);h="$jscomp$loop$prop$"+o.b+"$"+(""+this.f.f.a.S++);sMc(i.b,o);BNc(this.d,o,h);Wf(this.b,e,i)}};var eP=uAc(1041);S0(1042,1,gXc,Okb);_.ih=function Pkb(a,b,c){Vd(b.n!=(Plc(),ojc),b);if(b.n==Vjc)return false;else if(Lvb(b))if(this.c== +null)return false;else{++this.b;return true}else return true};_.jh=function Qkb(a,b,c){Lvb(b)?--this.b:b.n==(Plc(),ujc)&&(this.b==0&&!b.c?Nkb(this,b):this.c!=null&&!!b.c&&OBc(this.c,(Ud(!!b.c&&!b.c.f),b.c).Di())&&Nkb(this,b))};_.b=0;_.d=false;var cP=uAc(1042);S0(621,1,{621:1},Rkb);var dP=uAc(621);S0(1038,fXc,TYc,Ukb);_.dh=function Vkb(a,b){SEb(this.a,a,Skb,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.a,b,Skb,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.a,Skb)};_.jh=function Wkb(a,b,c){var d,e,f;b.n==(Plc(),Vjc)&& +!!c&&c.n==gjc&&c.g.n!=Vjc&&(d=b.c,e=d.zi(false),f=ifc(N8b(e,ykc),b),wub(a.f,(dXb(),CWb)),d.Ii(""),this.a.Vg(d),Jec(c,b),Pdc(c,f),this.a.Vg(f),Pdc(e,b),undefined)};var Skb;var gP=uAc(1038);S0(1020,1,TYc,klb);_.dh=function llb(a,b){SEb(this.b,a,$kb,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.b,b,$kb,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.b,$kb)};_.ih=function mlb(a,b,c){switch(b.n.f){case 86:case 87:if(FVb((DVb(),rVb),leb(this.b.Hg()))){Lob(this.b,b,jZc);return false}break;case 124:Mob(this.b,b,EXc)}return true}; +_.jh=function nlb(a,b,c){b.n.f==96&&hlb(this,a,b,c)};var Xkb,Ykb,Zkb,$kb;var pP=uAc(1020);S0(1021,fXc,gXc,olb);_.jh=function plb(a,b,c){if(b.n!=(Plc(),Pic)||b.c==this.a)return;Dec(this.a,b.c)&&this.b.b.Tg(Qrb(b,(_kb(),Xkb),yG(tG(wZ,1),eWc,2,6,[])))};var hP=uAc(1021);S0(259,11,{259:1,3:1,20:1,11:1},ulb);var qlb,rlb,slb;var lP=vAc(259,eZ,vlb);S0(320,1,{},xlb);var nP=uAc(320);S0(1018,fXc,TYc,Clb);_.dh=function Dlb(a,b){SEb(this.b,a,ylb,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.b,b,ylb,yG(tG(CQ,1),zUc,22, +0,[this]))};_.jh=function Elb(a,b,c){var d,e,f,g;b.n==(Plc(),ojc)&&(Gd(b.n==ojc),d=b.c.f,d.n!=Fjc&!wec(d))&&(Alb(this,b)?Blb(this,a,b):(e=new mfc(gjc),f=R8b((Zd(RBc("",jCc(46))==-1,kWc,""),Ldc(),new Lhc(Gkc,"")),j9b(yG(tG(CX,1),mWc,7,0,[])),e),g=ewb(f,yG(tG(CX,1),mWc,7,0,[])),Oec(b.g,b,g),Odc(e,(Ud(b9b(b)),new ofc(ilc,b))),lfc(g,b),a.c.Vg(g),Blb(this,a,b),undefined))};_.a=0;var ylb;var oP=uAc(1018);S0(989,1,TYc,Slb);_.dh=function Tlb(a,b){Ud(BFc(this.f));SEb(this.b,a,this.e,yG(tG(CQ,1),zUc,22,0,[this])); +SEb(this.b,b,this.e,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.b,this.d);Ud(BFc(this.f))};_.ih=function Ulb(a,b,c){var d,e,f;switch(b.n.f){case 65:Ilb(a,b);break;case 45:Klb(this,b,c);break;case 93:case 94:{d=b.n==(Plc(),Ukc)&&!!b.c&&xec(b.c?b.c.i:null);if(!BFc(this.f)&&d){for(f=new $Fc(this.f);f.a!=f.b;){e=YFc(f);if(e.a)break;e.a=true}DFc(this.f).a=true}uFc(this.f,new bmb(b,d));break}}return true};_.jh=function Vlb(a,b,c){Plb(this,a,b,c)};_.c=0;var tP=uAc(989);S0(990,1,{},Xlb);var qP=uAc(990);S0(312, +11,{312:1,3:1,20:1,11:1},_lb);var Ylb,Zlb;var rP=vAc(312,eZ,amb);S0(537,1,{537:1},bmb);_.a=false;var sP=uAc(537);S0(1044,1,PWc,emb);_.dh=function fmb(a,b){SEb(this.b,b,cmb,yG(tG(CQ,1),zUc,22,0,[new gmb(this)]));REb(this.b,cmb)};_.g=false;var cmb;var FP=uAc(1044);S0(1046,1,gXc,gmb);_.ih=function hmb(a,b,c){aec(b,(vhc(),Ngc))!=0&&++this.a;return true};_.jh=function imb(a,b,c){aec(b,(vhc(),Ngc))!=0&&pmb(new Dmb(this.b,b,--this.a))};_.a=0;var uP=uAc(1046);S0(1047,1,{},Dmb);_.b=0;var CP=uAc(1047);S0(626, +1,{626:1},Emb);var vP=uAc(626);S0(1049,1,{},onb);_.b=false;_.d=0;_.o=0;_.s=false;var AP=uAc(1049);S0(111,1,{111:1},tnb);_.c=0;_.e=true;var wP=uAc(111);S0(623,1,{623:1},unb);_.b=0;var xP=uAc(623);S0(624,1,{624:1},vnb);var yP=uAc(624);S0(622,1,gXc,Anb);_.ih=function Bnb(a,b,c){var d;if(aec(b,(vhc(),Wgc))!=0){Hec(b,Wgc,0);return false}Ud(aec(b,Vgc)==0);Vd(b.n!=(Plc(),ulc),"Reference to SUPER is not supported");if(Lvb(b)){++this.b;++this.a}else b.n==vlc&&++this.a;if(b.n==ijc||b.n==ujc){b.c?ynb(this,b): +(d=null,b.n==ijc&&this.a==0&&(d=zFc(this.c.c)),b.n==ujc&&this.b==0&&(d=zFc(this.c.i)),!!d&&dnb(this.c.r.a,b,d,this.a),undefined);return false}return b.n!=Vjc};_.jh=function Cnb(a,b,c){var d,e,f,g;if(Lvb(b)){--this.b;--this.a}else b.n==(Plc(),vlc)?--this.a:b.n==Alc?znb(this,b):b.n==ilc?Pdc(b,fnb(this.c,b,Lec(b))):b.n==Gkc&&OBc(b.Di(),UVc)?xnb(this,b):b.n==Jlc&&(c.n==Rjc?(d=wnb(b),!d?Pec(b,new mfc(Fjc)):Oec(b.g,b,d),kmb(this.c.r,b),undefined):c.n==Tjc?(e=(Ud(!!b.c&&!b.c.f),b.c),Vd(!e.c,e),f=Vec(e.zi(false), +null),Oec(b.g,b,f),kmb(this.c.r,b),undefined):(g=wnb(b),!g?Xdc(b):Pec(b,(Vd(b9b(g),g),new ofc(Pjc,g))),kmb(this.c.r,b),undefined))};_.a=0;_.b=0;var zP=uAc(622);S0(1048,1140,gXc,Dnb);_.ih=function Enb(a,b,c){if(b.n==(Plc(),Vjc))return false;if(b.n==Olc){Ud(!this.a);this.a=b;return false}return true};var BP=uAc(1048);S0(1045,1140,gXc,Gnb);_.ih=function Hnb(a,b,c){Hec(b,(vhc(),Vgc),0);if(b.n==(Plc(),Vjc))return false;if(b.n==Olc){Fnb(this,b);return false}return true};var DP=uAc(1045);S0(625,1,gXc,Inb); +_.ih=function Jnb(a,b,c){return b.n!=(Plc(),Vjc)};_.jh=function Knb(a,b,c){b.n==(Plc(),Olc)&&Hec(b,(vhc(),Vgc),1);!!c&&aec(b,(vhc(),Vgc))!=0&&Hec(c,(vhc(),Vgc),1)};var EP=uAc(625);S0(617,1,PWc,Nnb);_.dh=function Pnb(a,b){var c,d;for(d=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();d.Jd();){c=d.Kd();if(Mnb(c)){nub(this.a,c,new fob(this,this.a,c));Hec(c,(Ldc(),Jdc),1)}}this.a.Yg(OVb(this.a.Cg(),(dXb(),FWb),yG(tG(mU,1),FUc,25,0,[])))};var JP=uAc(617);S0(216,1,{216:1},Qnb);var GP=uAc(216);S0(1011,fXc,gXc, +fob);_.jh=function gob(a,b,c){$nb(this,a,b,c)};var IP=uAc(1011);S0(1035,fXc,TYc,sob);_.dh=function tob(a,b){SEb(this.c,a,iob,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.c,b,iob,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.c,iob)};_.jh=function uob(a,b,c){var d,e;switch(b.n.f){case 114:rob(this,a,b,c);break;case 42:case 23:case 28:for(e=(!b.c?(LHc(),LHc(),KHc):new yhc(b.c)).Xd();e.Jd();){d=e.Kd();if(d.n==(Plc(),skc)||d.n==Wkc){pob(this,b);break}}}};var hob,iob;var KP=uAc(1035);S0(1027,fXc,TYc,yob);_.dh=function zob(a, +b){SEb(this.a,b,vob,yG(tG(CQ,1),zUc,22,0,[this]))};_.jh=function Aob(a,b,c){svb(b)&&xob(a,b,c)};var vob;var LP=uAc(1027);S0(1075,1,{},Fob);var MP=uAc(1075);var Hob,Iob;S0(1016,1,TYc,Tob);_.dh=function Uob(a,b){SEb(this.a,a,Rob,yG(tG(CQ,1),zUc,22,0,[this]));SEb(this.a,b,Rob,yG(tG(CQ,1),zUc,22,0,[this]));REb(this.a,Rob)};_.ih=function Vob(a,b,c){return true};_.jh=function Wob(a,b,c){var d,e,f,g;switch(b.n.f){case 18:d=Vdc(this.b,false);Odc(d,Lec(b));Odc(d,Lec(b));lfc(d,b);Oec(b.g,b,d);this.a.Vg(d); +break;case 59:e=Lec(b);f=Vdc(this.b,false);Odc(f,Vdc(e,false));Odc(f,Lec(b));g=Wec(G8b(e,f),this.e);lfc(g,b);Oec(b.g,b,g);this.a.Vg(g)}};var Rob;var NP=uAc(1016);S0(632,1,{},fpb);_.a=false;_.i="JSCompiler_temp";var PP=uAc(632);S0(1074,1,{},mpb);_.Cd=function npb(){return yd(wd(wd(new zd((nAc(OP),OP.n)),"sideEffects",""+this.b),"extractBeforeStatement",this.a))};_.b=false;var OP=uAc(1074);S0(796,153,pYc);var QP=uAc(796);S0(671,1,FZc,tpb);_.di=function upb(a){};_.ei=function vpb(a){Stb(a)==this.b&& +(this.b=null)};_.ih=function wpb(a,b,c){this.d&&b.n==(Plc(),Vjc)&&fzb(b,this.a.I.$b)&&!this.b&&(this.b=Stb(a));return true};_.jh=function xpb(a,b,c){var d,e,f,g,h,i,j,k,l;i=this.a.I.$b;if(!c||pvb(c)||(vub(),c.n==(Plc(),jlc)||c.n==llc||c.n==gjc||c.n==Ekc))if(b.n==(Plc(),Pjc)){e=b.c.c;if(!!e&&(Fec(e,GZc,GZc.length)||Fec(e,HZc,HZc.length))){this.c=(beb(),Zdb);return}}if(this.e&&b.n==(Plc(),Mjc)){this.c=(beb(),Ydb);if(aec(b,(Ldc(),rdc))!=0);else!!b.c&&!!b.c.f&&b.c.f==(b.c?b.c.i:null)&&ppb(a,b)}else if(this.e&& +b.n==(Plc(),fkc)){this.c=(beb(),Ydb);ppb(a,b)}else if(this.d)if(this.c!=(beb(),Zdb)&&gzb(a,b))this.c=Xdb;else if(hzb(b,i)){h=ezb(b,i);f=DKb(zdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d)),h,(d=dec(b,(vhc(),mhc)),!d?null:d.ah()),vfc(b.k),ufc(b.k));!!f&&(!!this.b||fzb((vub(),Mub(b,new swb((Plc(),Vjc)))),i)?tdb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),hLb(f.a)):udb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),RIb(hLb(f.a),h)))}if(!!c&&(c.n==(Plc(),Pjc)||!(j=(k=CFc(a.b),lH(k,7)?l=k:l=k.Mk.Mk,l),Vd(j.n==llc||j.n==jlc|| +j.n==gjc||j.n==Vjc||j.n==Ekc,j),j.n==llc||j.n==jlc||j.n==gjc))&&b.n==(Plc(),jjc)&&Eec(b.c,IZc)&&!!b.c.f&&b.c.f.n==(Plc(),qlc)){g=b.c.f.Di();OBc(g.substr(0,5),"goog.")&&udb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),(PIb(),OIb));udb((!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),(PIb(),ZIb(aJb(_Ib($Ib(new bJb,g),g),(dKb(),bKb)))))}};_.b=null;_.d=false;_.e=false;var SP=uAc(671);S0(907,1140,gXc,ypb);_.ih=function zpb(a,b,c){var d;if(this.a)return false;if(!c||pvb(c)||(vub(),c.n==(Plc(),jlc)||c.n==llc||c.n==gjc||c.n== +Ekc)){if(b.n==(Plc(),Pjc)){d=b.c.c;if(!!d&&(Fec(d,GZc,GZc.length)||Fec(d,HZc,HZc.length))){this.a=true;return false}}return true}return false};_.a=false;var RP=uAc(907);S0(975,1,JZc,Apb);_.qh=function Bpb(){throw q0(new RAc("Code changes forbidden"));};var TP=uAc(975);var Cpb,Dpb,Epb,Fpb,Gpb,Hpb,Ipb,Jpb,Kpb,Lpb,Mpb,Npb,Opb,Ppb,Qpb,Rpb;S0(983,fXc,TYc,Xpb);_.dh=function Ypb(a,b){Wpb(this,a)};_.jh=function Zpb(a,b,c){var d,e;switch(b.n.f){case 26:d=b.c.f;d.n==(Plc(),qlc)&&sMc(this.b,d.Di());break;case 91:c.n== +(Plc(),Tkc)&&sMc(this.b,b.Di());break;case 98:sMc(this.b,b.Di())}e=dec(b,(vhc(),_gc));!!e&&Tpb(this,e)};var UP=uAc(983);S0(960,1,{},cqb);_.b=0;_.e=false;var $pb;var $P=uAc(960);S0(533,1140,gXc,uqb);_.ih=function vqb(a,b,c){var d,e;!!this.c.c&&(b==this.c.c?this.c.d=Stb(a):b.n==(Plc(),llc)&&(d=dec(b,(vhc(),mhc)),!!d&&d.ri()?yvb(b)?1:0:2));if(b.n==(Plc(),Ekc)||mvb(b))this.c.a.Gg();else if(b.n==llc||lvb(b)){this.b=null;this.a=null}fqb(this,(e=(!a.d&&!!a.i&&(a.d=a.c.Dg(a.i)),a.d),!e?null:e.k),Stb(a),b); +return true};_.a=null;_.b=null;var VP=uAc(533);S0(400,1,{400:1,3:1},Eqb);_.Cd=function Fqb(){return Bqb(this)+" ("+this.v+"): "+Ic(new Kc(vUc),new PDc(Lc("globalSets="+this.i,"localSets="+this.k,yG(tG(rZ,1),zUc,1,5,["totalGets="+this.u,"aliasingGets="+this.a,"callGets="+this.c,"subclassingGets="+this.s]))))};_.a=0;_.c=0;_.e=0;_.f=null;_.g=null;_.i=0;_.j=false;_.k=0;_.n=0;_.s=0;_.u=0;var XP=uAc(400);S0(161,11,{161:1,3:1,20:1,11:1},Nqb);var Gqb,Hqb,Iqb,Jqb,Kqb,Lqb;var WP=vAc(161,eZ,Oqb);S0(308,1,{308:1}, +Pqb);_.Cd=function Qqb(){return yd(wd(wd(wd(wd(wd(wd(wd(xd(new zd((nAc(ZP),ZP.n))),"name",this.b),OXc,this.g),"node",this.c),"preOrderIndex",""+this.d),"isTwin",""+!!this.f),bXc,this.a),"scope",this.e))};_.d=0;_.f=null;var ZP=uAc(308);S0(136,11,{136:1,3:1,20:1,11:1},$qb);var Rqb,Sqb,Tqb,Uqb,Vqb,Wqb,Xqb,Yqb;var YP=vAc(136,eZ,_qb);S0(821,1,gXc);_.ih=function hrb(a,b,c){var d,e;if(!c)tFc(this.d,(krb(),jrb));else{tFc(this.d,lrb(CFc(this.d),this.c,c,b));if(!!c&&arb.Td(c.n)&&Uf(this.g,c))for(e=Xf(this.g, +c).Xd();e.Jd();){d=e.Kd();vj(this.e,d,1);Wf(this.f,c,d)}}return true};_.jh=function irb(a,b,c){!!c&&arb.Td(b.n)&&Uf(this.f,b)&&cj(this.e,Xf(this.f,b));(b.n==(Plc(),ilc)||b.n==Blc)&&erb(this,c);FBb(this,a,b);EFc(this.d)};var arb,brb;var aQ=uAc(821);S0(125,1,{125:1},nrb);_.c=false;var jrb;var _P=uAc(125);S0(644,450,RVc);var bQ=uAc(644);var orb;var qrb;S0(654,90,pYc,urb);_._h=function vrb(a){return false};_.bi=function wrb(){return(HIb(),CIb).a};_.ci=function xrb(a){var b;b=a.f!=null&&NBc(a.f,".java.js"); +return b?Zgb(this.a,a.g)?this.b:null:null};var srb;var cQ=uAc(654);S0(302,1,{},Hrb);_.a=false;_.b=false;var eQ=uAc(302);S0(897,1,{},Irb);_.ef=function Jrb(a,b){Drb(this.a,this.b,a,b)};var dQ=uAc(897);S0(58,1,{58:1,3:1},Lrb,Mrb);_.zd=function Nrb(a){var b;if(this===a)return true;if(a==null||fQ!=xb(a))return false;b=a;if(this.a!=b.a)return false;if(this.d!=b.d)return false;if(!OBc(this.c,b.c))return false;if(this.b!=b.b)return false;if(this.f!=null?!OBc(this.f,b.f):b.f!=null)return false;return Zhb(this.g, +b.g)};_.Bd=function Orb(){var a;a=eUc(this.g.b);a=31*a+eUc(this.c);a=31*a+(this.f!=null?eUc(this.f):0);a=31*a+this.d;a=31*a+$Tc(this.b);a=31*a+this.a;return a};_.Cd=function Srb(){return this.g.b+". "+this.c+" at "+(this.f!=null&&this.f.length>0?this.f:"(unknown source)")+" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var fQ=uAc(58);S0(263,244,{263:1,444:1,244:1,3:1},Xrb);_.Th=function Yrb(){throw q0(new JCc);};_.ah=function Zrb(){return this.e}; +_.Uh=function $rb(){return On(),new RB(Pd(this.e))};_.Wh=function _rb(){var a,b,c;a=(On(),new vs);for(c=new HGc(this.a);c.a0&&VRc(this.b,a,W7b("%d error(s), %d warning(s)", +yG(tG(rZ,1),zUc,1,5,[fBc(this.d+this.e),fBc(this.f)])))};_.gh=function htb(a,b){switch(a.f){case 0:ZRc(this.b,Krb(b,a,this.a));break;case 1:$Rc(this.b,Krb(b,a,this.a))}};var sQ=uAc(653);S0(1151,1,FZc);_.di=function itb(a){};_.ei=function jtb(a){};_.ih=function ktb(a,b,c){return true};var AQ=uAc(1151);S0(266,1151,FZc,otb,ptb);_.di=function rtb(a){var b,c,d;Zd(true,"MakeDeclaredNamesUnique requires an ES6-compatible scope creator. %s is not compatible.",a.k);b=Vtb(a);if(BFc(this.b)){Ud(b.n!=(Plc(), +Vjc)||!this.c);d=this.c}else{c=b.n!=(Plc(),Vjc)&&!Cub(b);d=CFc(this.b).ii(Vtb(a),c)}tFc(this.b,d);ltb(this,a,b)};_.ei=function stb(a){var b;Utb(a)==0||(b=EFc(this.b),b)};_.jh=function ttb(a,b,c){switch(b.n.f){case 29:case 108:ntb(this,a,b,c)}};_.a=false;var wQ=uAc(266);S0(410,1,g$c,vtb,wtb);_.hi=function xtb(a,b){var c,d;if(b&&this.f!=this)this.f.hi(a,true);else if(!OBc(a,UVc))if(this.e)this.g.bf(a,0,1);else if(!hDc(this.d,a)){c=this.g.Ue(a,1);d=null;c!=0&&(d=a+EZc+c);jDc(this.d,a,d)}};_.ii=function ytb(a, +b){return new wtb(a,this.g,b,this)};_.ji=function ztb(){return this.f};_.ki=function Atb(a){return gDc(this.d,a)};_.li=function Btb(){return false};_.Cd=function Ctb(){return yd(wd(wd(wd(wd(new zd(qAc(this.Ik)),"scopeRoot",this.i),"nameUsage",this.g),"declarations",this.d),vWc,""+this.e))};_.e=false;var uQ=uAc(410);S0(673,410,g$c,Dtb);_.ii=function Etb(a,b){return new Gtb(this.a,this.c,this.b,false,b,this)};var tQ=uAc(673);S0(538,1,g$c,Gtb);_.hi=function Htb(a,b){Ud(!OBc(a,UVc));b&&this.c!=this?this.c.hi(a, +b):hDc(this.b,a)||jDc(this.b,a,Ftb(this,a))};_.ii=function Itb(a,b){return new Gtb(this.a,this.f,this.d,this.e,b,this)};_.ji=function Jtb(){return this.c};_.ki=function Ktb(a){return gDc(this.b,a)};_.li=function Ltb(){return this.e};_.e=false;var vQ=uAc(538);var Mtb,Ntb,Otb;S0(154,1,{},mub);_.q=false;var DQ=uAc(154);var pub,qub,rub,tub,uub;S0(143,1,UYc,swb);_.Md=function twb(a){return a.n==this.a};_.zd=function uwb(a){return this===a};_.Od=function vwb(a){return a.n==this.a};var EQ=uAc(143);S0(118, +1,UYc,wwb);_.zd=function ywb(a){return this===a};_.Od=function zwb(a){return Wvb(a)};_.Md=function xwb(a){return Wvb(a)};var FQ=uAc(118);S0(758,1,UYc,Awb);_.zd=function Cwb(a){return this===a};_.Od=function Dwb(a){return a.n==(Plc(),Alc)};_.Md=function Bwb(a){return a.n==(Plc(),Alc)};var GQ=uAc(758);S0(755,1,UYc,Ewb);_.Md=function Fwb(a){return a.n==this.a};_.zd=function Gwb(a){return this===a};_.Od=function Hwb(a){return a.n==this.a};var HQ=uAc(755);S0(756,1,UYc,Iwb);_.zd=function Kwb(a){return this=== +a};_.Od=function Lwb(a){return vub(),a.n!=(Plc(),Vjc)};_.Md=function Jwb(a){return vub(),a.n!=(Plc(),Vjc)};var IQ=uAc(756);S0(757,1,UYc,Mwb);_.zd=function Owb(a){return this===a};_.Od=function Pwb(a){return vub(),!Pvb(a)};_.Md=function Nwb(a){return vub(),!Pvb(a)};var JQ=uAc(757);S0(976,1,PWc,Swb);_.dh=function Twb(a,b){Qwb(this,a,b)};_.a=false;var RQ=uAc(976);S0(981,1,{},Vwb);_.mi=function Wwb(a,b,c,d){var e,f;Ud(c.n==(Plc(),Gkc));e=c.g;f=u1(a,b);if(!a.b)if((!f.a||Bdb(f.a))&&!Bdb(d))if(sMc(this.a, +f))return;if(e.n==Vjc){if((!f.c?null:f.c.g).n==Jlc){y1(a,f);lCb(a,b,c,f.a);Uwb(this,f.c,!f.c?null:f.c.g,(!f.c?null:f.c.g).g)}}else if(e.n==Jlc){Ud(!!e.c&&!e.c.f);Uwb(this,c,e,e.g)}};var KQ=uAc(981);S0(977,fXc,gXc,Xwb);_.jh=function Ywb(a,b,c){var d,e,f,g,h;vub();if(b.n==(Plc(),Pjc)&&b.c.n==Pic){d=b.c;h=d.c;h.n==_jc&&(f=dec(d,(vhc(),_gc)),!!f&&(f.a&c$c)!=0)&&sMc(this.a,(h.c?h.c.i:null).Di())}else b.n==rlc&&(g=dec(b,(vhc(),_gc)),!!g&&(g.a&c$c)!=0)?sMc(this.a,b.Di()):b.n==_jc&&b.g.n==Pjc&&(e=dec(b,(vhc(), +_gc)),!!e&&(e.a&c$c)!=0)&&sMc(this.a,(b.c?b.c.i:null).Di())};var LQ=uAc(977);S0(460,1,gXc,fxb);_.ih=function gxb(a,b,c){b.n==(Plc(),tkc)&&bxb(this,b);vub();(b.n==jlc||b.n==llc||b.n==gjc||b.n==Ekc||b.n==tkc)&&$wb(this,b,null,null);(b.n==jlc||b.n==llc||b.n==gjc||b.n==Ekc)&&exb(this,b);b.n==Vjc&&_wb(this,b.c?b.c.i:null);hvb(b)&&b.n!=Pic&&axb(this,b);return true};_.jh=function hxb(a,b,c){var d,e;switch(b.n.f){case 70:e=b.c;dfc(b,(Plc(),Rjc));d=new mfc(Fjc);kfc(d,b);Ndc(b,d,e);Mdc(b,Wdc(d,new mfc(d.n), +false),e);cxb(this,"WHILE node",b);break;case 65:ixb(b,this.b)&&cxb(this,"Function declaration",b);break;case 109:dxb(this,b);break;case 29:case 31:case 86:case 87:Zwb(this,b,c);break;case 92:this.b.Vg(b);Oec(c,b,Lec(b))}};_.a=false;var MQ=uAc(460);S0(979,fXc,TYc,kxb);_.dh=function lxb(a,b){jxb(this,a,b)};_.jh=function mxb(a,b,c){var d,e,f,g,h,i;if(b.n==(Plc(),Gkc)||b.n==rlc){if(b.Di().length==0)return;d=null;i=u1(Stb(a),b.Di());!!i&&(d=!i.c?null:(vub(),f=Gub(i.c),!f?null:dec(f,(vhc(),_gc))));h=!!d&& +((d.a&37)!=0||(!d.d?null:d.d.d)!=null)||nvb(this.b.yg(),b);e=aec(b,(Ldc(),zdc))!=0;if(h&&!e){if(this.a){g=b.Di();throw q0(new RAc(m$c+g+xVc+" parent:"+hfc(b.g)));}Gec(b,zdc,true)}}};_.a=false;var NQ=uAc(979);S0(978,fXc,gXc,nxb);_.jh=function oxb(a,b,c){var d,e,f;if(b.n==(Plc(),_jc)){f=(b.c?b.c.i:null).Di();if(tMc(this.a,f)){d=Lec(b);e=Lec(b);this.b.b.Vg(b);Pec(b,S8b(d,e))}}else if(b.n==rlc){f=b.Di();if(tMc(this.a,f))if(!b.Fi()){this.b.b.Vg(b);b.Hi()}}};var OQ=uAc(978);S0(982,1,FZc,pxb);_.di=function qxb(a){Stb(a)}; +_.ei=function rxb(a){};_.ih=function sxb(a,b,c){return true};_.jh=function txb(a,b,c){};var PQ=uAc(982);S0(980,fXc,TYc,vxb);_.dh=function wxb(a,b){uxb(this,a,b)};_.jh=function xxb(a,b,c){var d,e,f,g,h,i,j,k;if(b.n==(Plc(),Gkc)){i=b.Di();if(b.Di().length==0)return;g=aec(b,(Ldc(),zdc))!=0;if(this.a){e=false;d=this.b.yg();vub();if(aec(b,zdc)!=0||nvb(d,b))e=true;else{e=false;f=null;k=u1(Stb(a),b.Di());!!k&&(f=!k.c?null:(h=Gub(k.c),!h?null:dec(h,(vhc(),_gc))));!!f&&((f.a&37)!=0||(!f.d?null:f.d.d)!=null)? +e=true:e=false}e?Zd(e==g,"The name %s is not annotated as constant.",i):Zd(e==g,"The name %s should not be annotated as constant.",i)}j=gDc(this.c,i);j==null?jDc(this.c,i,(Xzc(),g?true:false)):Zd(j==g,"The name %s is not consistently annotated as constant.",i)}};_.a=false;var QQ=uAc(980);S0(886,1,{});var SQ=uAc(886);var yxb,zxb;S0(666,1,{},Lxb);_.a=0;_.c=-1;_.d=0;_.f=-1;_.i=0;_.j=0;_.k=0;_.n=0;_.p=-1;_.q=0;_.r=-1;_.s=-1;_.t=-1;_.u=0;_.w=0;_.B=0;_.C=0;_.D=0;_.H=0;_.I=0;_.J=0;var bR=uAc(666);S0(769, +1,{},Mxb);_.vf=function Nxb(a){};var VQ=uAc(769);S0(771,1,{},Oxb);_.vf=function Pxb(a){};var WQ=uAc(771);S0(361,1,{361:1},Qxb);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;_.i=false;_.k=0;_.n=0;_.o=0;var XQ=uAc(361);S0(766,1,{},Rxb);_.hh=function Sxb(a){Kt(this.a,a.n)};var YQ=uAc(766);S0(767,1,{113:1},Txb);_.zd=function Vxb(a){return this===a};_.zf=function Wxb(){return new bLc(this)};_.xf=function Uxb(a,b){return kBc(a.gf().n,b.gf().n)};var ZQ=uAc(767);S0(768,1,PUc,Xxb);_.Pd=function Yxb(a){var b,c; +return b=a.ff(),c=a.gf(),W7b("%s,%d,%d,%d,%d,%d,%d,%d",yG(tG(rZ,1),zUc,1,5,[b,sBc(c.n),fBc(c.a),fBc(c.k),fBc(c.d),fBc(c.b),fBc(c.e),fBc(c.f)]))};var $Q=uAc(768);S0(770,1,PUc,Zxb);_.Pd=function $xb(a){return W7b("%s,%d",yG(tG(rZ,1),zUc,1,5,[a.df(),fBc(a.cf())]))};var _Q=uAc(770);S0(804,495,{},_xb);_.sh=function ayb(a){var b;b=a.length;if(b>0){this.b+=b;this.a=a.charCodeAt(b-1)}};_.Eh=function cyb(){return this.a};_.a=0;_.b=0;var aR=uAc(804);S0(661,1,PWc,oyb);_.dh=function pyb(a,b){lyb(this,a,b)};_.c= +false;_.e=0;_.g=0;_.j=false;_.k=0;_.o=0;_.q=false;var dyb,eyb,fyb,gyb;var gR=uAc(661);S0(486,1,PWc,tyb);_.dh=function uyb(a,b){var c,d,e,f,g,h,i,j,k,l;Vd(!this.f.c,"Nested loops are forbidden");this.f.c=true;syb(this);this.b=ryb(this);this.e=new Byb(this.f);hbb(this.f.b,this.e);this.f.f=new oMc;for(i=new HGc(this.d);i.athis.f.g&&this.b)return;d>100&&kcb("Fixed point loop exceeded the maximum number of iterations.", +null);++d;e=false;for(h=new HGc(this.d);h.athis.d.length)throw q0(new zsb("Expected line number between 1 and "+this.d.length+"\nActual: "+a));return this.d[a-1]};_.ah=function RCb(){return this.b};_.Cd=function TCb(){return this.b};_.a=null;_.d=null;var _R=uAc(193);S0(686,1,{},WCb);var ZR=uAc(686);S0(687,193,M$c,XCb);var $R=uAc(687);S0(670,fXc,gXc,YCb);_.jh=function $Cb(a,b,c){var d, +e,f,g;this.a&&this.b!=null&&Ud(OBc(this.b,(d=dec(b,(vhc(),mhc)),!d?null:d.ah())));switch(b.n.f){case 26:g=b.c?b.c.i:null;ZCb(b,g.Di());break;case 65:e=Wub(b);e!=null&&e.length!=0&&dec(b,(vhc(),ghc))==null&&Iec(b,(vhc(),ghc),e);break;case 29:ZCb(b,b.Di());break;case 43:for(f=b.c;f;f=f.f)f.n!=(Plc(),sjc)&&!f.Fi()&&!(f.n==skc||f.n==Wkc)&&ZCb(f,f.Di())}};_.a=false;var aS=uAc(670);S0(200,11,N$c);_.Od=function dDb(a){return this.Md(a)};var _Cb,aDb;var dS=vAc(200,eZ,eDb);S0(705,200,N$c,fDb);_.Md=function gDb(a){return true}; +var bS=vAc(705,dS,null);S0(706,200,N$c,hDb);_.Md=function iDb(a){return a.n==(Plc(),jjc)||a.n==Mkc||a.n==Vjc||a.n==Gkc||(vub(),a.n==_jc||a.n==$jc)||dwb(a)||a.n==qlc&&Avb(a.g)||a.n==wlc};var cS=vAc(706,dS,null);S0(199,11,O$c);var jDb,kDb;var gS=vAc(199,eZ,nDb);S0(703,199,O$c,oDb);var eS=vAc(703,gS,null);S0(704,199,O$c,pDb);var fS=vAc(704,gS,null);S0(489,1,{489:1,3:1},uDb);_.a=false;_.b=null;var qDb,rDb;var hS=uAc(489);var wDb,xDb,yDb,zDb,ADb,BDb,CDb,DDb,EDb,FDb,GDb,HDb;S0(655,796,pYc,JDb);_.bi=function KDb(){return(HIb(), +GIb).a};_.ci=function LDb(a){var b,c,d,e,f,g,h,i,j,k;h=a.e;!h&&(h=opb(this,a));if(h)for(b=h;b;b=b.g){d=null;b.n==(Plc(),Vjc)||b.n==ojc?d=(vub(),f=Gub(b),!f?null:dec(f,(vhc(),_gc))):b.n==llc?d=dec(b,(vhc(),_gc)):(vub(),(!!b&&(b.n==Jlc||b.n==ykc||b.n==tjc)||hvb(b)&&b.g.n==Pjc||b.n==_jc&&b.g.n==Pjc||dwb(b)||b.n==sjc)&&(d=(e=Gub(b),!e?null:dec(e,(vhc(),_gc)))));if(d)for(k=(i=!d.d?null:d.d.q,!i?(LHc(),LHc(),KHc):i).Xd();k.Jd();){j=k.Kd();c=gDc(this.a,j);if(c){g=c.ci(a);if(g)return g}}}return null};var iS= +uAc(655);S0(122,1,{},PDb,QDb);var MDb;var lS=uAc(122);S0(775,1,{},RDb);_.mi=function SDb(a,b,c,d){};var jS=uAc(775);S0(774,1,{},XDb);var kS=uAc(774);S0(665,1,jXc,ZDb);_.Yh=function $Db(a){return this.b};_.Zh=function _Db(){return this.a};_.$h=function aEb(){return this.c};var mS=uAc(665);S0(652,1,{},cEb);_.eh=function dEb(a,b){bEb(this,a,b)};var nS=uAc(652);S0(452,1,{},gEb);var qS=uAc(452);S0(363,1,{363:1},iEb);var oS=uAc(363);S0(364,1,{364:1},jEb);_.zd=function kEb(a){if(lH(a,364))return OBc(this.a, +a.a);return false};_.Bd=function lEb(){return eUc(this.a)};var pS=uAc(364);S0(188,1,{},nEb);_.a=0;var rS=uAc(188);var oEb,pEb,qEb,rEb,sEb,tEb,uEb,vEb,wEb,xEb,yEb,zEb,AEb,BEb,CEb,DEb,EEb,FEb,GEb,HEb,IEb,JEb;S0(933,1,PUc,TEb);_.Pd=function UEb(a){return new Nnb(a)};var sS=uAc(933);S0(958,1,PWc,VEb);_.dh=function WEb(a,b){QEb(this.a,this.b,this.c)};var DS=uAc(958);S0(945,1,PUc,XEb);_.Pd=function YEb(a){return new akb(a)};var tS=uAc(945);S0(946,1,PUc,ZEb);_.Pd=function $Eb(a){return new tBb(a)};var uS= +uAc(946);S0(947,1,PUc,_Eb);_.Pd=function aFb(a){return new yob(a)};var vS=uAc(947);S0(948,1,PUc,bFb);_.Pd=function cFb(a){return new Oib(a)};var wS=uAc(948);S0(949,1,PUc,dFb);_.Pd=function eFb(a){return new uib(a)};var xS=uAc(949);S0(950,1,PUc,fFb);_.Pd=function gFb(a){return new xjb(a)};var yS=uAc(950);S0(951,1,PUc,hFb);_.Pd=function iFb(a){return new sob(a)};var zS=uAc(951);S0(952,1,PUc,jFb);_.Pd=function kFb(a){return new Wsb(a)};var AS=uAc(952);S0(953,1,PUc,lFb);_.Pd=function mFb(a){return new qjb(a)}; +var BS=uAc(953);S0(954,1,PUc,nFb);_.Pd=function oFb(a){return new Ukb(a)};var CS=uAc(954);S0(934,1,PUc,pFb);_.Pd=function qFb(a){return new Fjb};var ES=uAc(934);S0(955,1,PUc,rFb);_.Pd=function sFb(a){return new wkb(a)};var FS=uAc(955);S0(956,1,PUc,tFb);_.Pd=function uFb(a){return new emb(a)};var GS=uAc(956);S0(937,1,PUc,vFb);_.Pd=function wFb(a){return new iBb(a)};var HS=uAc(937);S0(938,1,PUc,xFb);_.Pd=function yFb(a){return new VAb(a)};var IS=uAc(938);S0(939,1,PUc,zFb);_.Pd=function AFb(a){return new Tob(a)}; +var JS=uAc(939);S0(940,1,PUc,BFb);_.Pd=function CFb(a){return new Cjb(a)};var KS=uAc(940);S0(941,1,PUc,DFb);_.Pd=function EFb(a){return new Clb(a)};var LS=uAc(941);S0(942,1,PUc,FFb);_.Pd=function GFb(a){return new ejb(a)};var MS=uAc(942);S0(943,1,PUc,HFb);_.Pd=function IFb(a){return new klb(a)};var NS=uAc(943);S0(944,1,PUc,JFb);_.Pd=function KFb(a){return new Pjb(a)};var OS=uAc(944);S0(957,1,PUc,LFb);_.Pd=function MFb(a){return OEb(this.a,a)};var PS=uAc(957);S0(959,1,PUc,NFb);_.Pd=function OFb(a){return PEb(this.a, +this.b,a)};var QS=uAc(959);S0(935,1,PUc,PFb);_.Pd=function QFb(a){return KEb(),Yzb(Zzb(new $zb(a),!meb(a.Hg(),(DVb(),tVb))))};var RS=uAc(935);S0(936,1,PUc,RFb);_.Pd=function SFb(a){return KEb(),HAb(IAb(new JAb(a),!meb(a.Hg(),(DVb(),tVb))))};var SS=uAc(936);var TFb,UFb,VFb,WFb,XFb,YFb,ZFb,$Fb,_Fb,aGb,bGb,cGb,dGb,eGb,fGb,gGb,hGb,iGb,jGb,kGb,lGb,mGb,nGb,oGb,pGb,qGb,rGb,sGb,tGb,uGb,vGb,wGb,xGb,yGb,zGb,AGb,BGb,CGb,DGb,EGb,FGb,GGb,HGb;var JGb,KGb,LGb,MGb,NGb,OGb,PGb,QGb,RGb,SGb,TGb,UGb,VGb,WGb;S0(1052, +378,{},jHb);_.Nh=function kHb(a,b){hHb(this,a);a9(this,a,b)};var US=uAc(1052);S0(1053,1,pVc,mHb);_.zd=function oHb(a){return this===a};_.Pd=function nHb(a){return rmc(a,1)};var TS=uAc(1053);var pHb,qHb,rHb,sHb,tHb,uHb,vHb,wHb,xHb,yHb;S0(674,1,PWc,EHb);_.dh=function FHb(a,b){U3(this.a,a);U3(this.a,b);DHb(this,a,b);c1(this.b.V)&&ZHb(new $Hb(this.b),a,b);CHb(this,a)};var AHb;var VS=uAc(674);S0(409,408,{408:1,311:1,409:1,3:1},GHb);_.Cd=function HHb(){return"Var "+this.b+" @ "+this.c};var $S=uAc(409); +S0(816,1,{46:1,22:1,330:1},$Hb);_.di=function aIb(a){};_.ei=function bIb(a){var b,c,d,e;if(!this.f&&Utb(a)==0){d=Stb(a);for(c=LHb.Xd();c.Jd();){b=c.Kd();e=u1(d,b);!e&&sMc(this.g,b)}}};_.dh=function dIb(a,b){ZHb(this,a,b)};_.ih=function eIb(a,b,c){return true};_.jh=function fIb(a,b,c){b.n==(Plc(),Gkc)&&WHb(this,a,b,c)};_.a=false;_.e=false;_.f=false;var IHb,JHb,KHb,LHb,MHb,NHb,OHb,PHb,QHb,RHb,SHb,THb,UHb;var ZS=uAc(816);S0(817,1140,gXc,iIb);_.ih=function jIb(a,b,c){var d,e,f;switch(b.n.f){case 112:aec(c, +(Ldc(),wdc))!=0&&gIb(this,b);return false;case 84:e=(Ud(!!b.c&&!b.c.f),b.c);if(e.n!=(Plc(),jjc))return false;f=e.c;d=f.f;if(!d)return false;Dec(f,(VHb(),UHb))?hIb(this,d.Di()):Dec(f,THb)&&d.n==Vjc&&gIb(this,(vub(),Hd(d.n==Vjc,d),d.c?d.c.i:null));return false;case 85:case 81:return true;default:return false}};var WS=uAc(817);S0(818,1,gXc,kIb);_.ih=function lIb(a,b,c){return b.n!=(Plc(),llc)||!yvb(b)};_.jh=function mIb(a,b,c){var d,e,f,g;if(b.n==(Plc(),Gkc)){switch(c.n.f){case 76:case 100:case 88:case 65:case 96:case 45:case 123:case 114:case 115:case 93:return; +case 91:if(c.g.n==Ukc)return;break;case 26:if(b==c.c){e=Stb(a);g=u1(e,b.Di());if(g)return;if(Dec(c,(VHb(),SHb)))return;this.a.d.Td(b.Di())||bub(a,b,NHb,yG(tG(wZ,1),eWc,2,6,[b.Di()]));sMc(this.a.g,b.Di())}return;case 47:if(b==(c.c?c.c.i:null)&&wec(b)&&wec(c.c))return;break;case 29:if(Nvb(c.g))return;break;case 61:if(Ovb(c.g))return}bub(a,b,(VHb(),KHb),yG(tG(wZ,1),eWc,2,6,[b.Di()]));d=Stb(a);f=u1(d,b.Di());!f&&sMc(this.a.g,b.Di())}};var XS=uAc(818);S0(819,1,{},oIb);_.mi=function pIb(a,b,c,d){var e, +f,g,h,i,j;j=Kub(c);i=u1(a,b);g=i.c;h=!g?null:Kub(g);if(j.n==(Plc(),ykc)||j.n==tjc||j.n==ojc||!!h&&(h.n==ykc||h.n==tjc||h.n==ojc)){this.b.b.Tg(Qrb(c,(VHb(),IHb),yG(tG(wZ,1),eWc,2,6,[])));return}else if(j.n==Vjc&&!!a.b&&!!h&&(h.n==Vjc||h.n==ykc||h.n==tjc||h.n==ojc)){this.b.b.Tg(Qrb(c,(VHb(),IHb),yG(tG(wZ,1),eWc,2,6,[])));return}if(!a.b){if(h.n==njc&&j.n==njc)return;e=cIb(this.b.b,c,i.c);VHb();if(c.g.n==Jlc&&(f=dec(c,(vhc(),mhc)),!!f&&f.ri())&&Ovb(c)){fGc(this.a,j);return}e||this.b.b.Tg(Qrb(c,QHb,yG(tG(wZ, +1),eWc,2,6,[b,i.a?i.a.i.a:"??"])))}else OBc(b,UVc)&&!(Nvb(c.g)&&c.n==Gkc)&&this.b.b.Tg(Qrb(c,(VHb(),PHb),yG(tG(wZ,1),eWc,2,6,[])))};var YS=uAc(819);var qIb,rIb,sIb;S0(236,11,{236:1,3:1,20:1,11:1},yIb);var uIb,vIb,wIb;var _S=vAc(236,eZ,zIb);S0(141,11,{141:1,3:1,20:1,11:1},IIb);_.a=0;var AIb,BIb,CIb,DIb,EIb,FIb,GIb;var aT=vAc(141,eZ,JIb);S0(630,1,{630:1});var lT=uAc(630);S0(431,630,{431:1,630:1},KIb);_.zd=function LIb(a){var b;if(a===this)return true;if(lH(a,431)){b=a;return OBc(this.a,b.a)&&OBc(this.b, +b.b)}return false};_.Bd=function MIb(){var a;a=1;a*=QWc;a^=eUc(this.a);a*=QWc;a^=eUc(this.b);return a};_.Cd=function NIb(){return"PrefixReplacement{prefix="+this.a+vUc+"replacement="+this.b+"}"};var cT=uAc(431);S0(536,1,{536:1,3:1});var OIb;var tT=uAc(536);S0(407,536,{407:1,536:1,3:1},VIb);_.zd=function WIb(a){var b;if(a===this)return true;if(lH(a,407)){b=a;return OBc(this.b,b.b)&&OBc(this.a,b.a)&&this.c==b.c}return false};_.Bd=function XIb(){var a;a=1;a*=QWc;a^=eUc(this.b);a*=QWc;a^=eUc(this.a); +a*=QWc;a^=$Tc(this.c);return a};_.Cd=function YIb(){return"Require{symbol="+this.b+vUc+"rawText="+this.a+vUc+"type="+this.c+"}"};var eT=uAc(407);S0(1164,1,{});var rT=uAc(1164);S0(211,1164,{},bJb);var dT=uAc(211);S0(535,244,{444:1,244:1,535:1,3:1});var cJb;var LT=uAc(535);S0(405,535,{405:1,444:1,244:1,535:1,3:1},fJb);_.zd=function gJb(a){var b;if(a===this)return true;if(lH(a,405)){b=a;return OBc(this.d,b.d)&&OBc(this.e,b.e)&&this.f.zd(b.f)&&this.g.zd(b.g)&&this.i.zd(b.i)&&this.c.zd(b.c)&&this.a==b.a&& +this.b==b.b}return false};_.Th=function hJb(){return this.c};_.ah=function iJb(){return this.d};_.Uh=function jJb(){return this.f};_.Wh=function kJb(){return this.g};_.Xh=function lJb(){return this.i};_.Bd=function mJb(){var a;a=1;a*=QWc;a^=eUc(this.d);a*=QWc;a^=eUc(this.e);a*=QWc;a^=this.f.Bd();a*=QWc;a^=this.g.Bd();a*=QWc;a^=this.i.Bd();a*=QWc;a^=this.c.Bd();a*=QWc;a^=this.a?1231:1237;a*=QWc;a^=this.b?1231:1237;return a};_.Cd=function nJb(){return"SimpleDependencyInfo{name="+this.d+vUc+"pathRelativeToClosureBase="+ +this.e+vUc+"provides="+this.f+vUc+"requires="+this.g+vUc+"typeRequires="+this.i+vUc+"loadFlags="+this.c+vUc+"hasExternsAnnotation="+this.a+vUc+"hasNoCompileAnnotation="+this.b+"}"};_.a=false;_.b=false;var gT=uAc(405);S0(1163,1,{});var KT=uAc(1163);S0(406,1163,{},yJb);var fT=uAc(406);S0(370,1,{});_.ti=function EJb(a,b){return BJb(this,a,b)};var GT=uAc(370);S0(794,370,{},HJb);_.si=function IJb(a,b,c,d,e){var f;qKb();if(!OBc(b.substr(0,"/".length),"/")&&!(OBc(b.substr(0,eYc.length),eYc)||OBc(b.substr(0, +V$c.length),V$c))){this.d.eh((p7(),o7),new Lrb(c,null,d,e,oKb,null,yG(tG(wZ,1),eWc,2,6,[b,de((aLb(),YKb))])));return null}f=AJb(this,a,b);f==null&&this.d.eh((p7(),o7),new Lrb(c,null,d,e,pKb,null,yG(tG(wZ,1),eWc,2,6,[b])));return f};var FJb;var iT=uAc(794);S0(795,1,{},JJb);_.ui=function KJb(a,b,c,d){return new HJb(a,b,c,d)};var hT=uAc(795);S0(873,370,{},NJb);_.si=function OJb(a,b,c,d,e){var f,g,h,i,j;j=b;i=false;for(h=this.b.Xd();h.Jd();){g=h.Kd();if(aCc(b,g.a)){j=g.b+(""+cCc(b,g.a.length));i=true; +break}}if(!i&&(qKb(),!OBc(j.substr(0,1),"/")&&!(OBc(j.substr(0,2),eYc)||OBc(j.substr(0,3),V$c)))){this.d.eh((p7(),o7),new Lrb(c,null,d,e,LJb,null,yG(tG(wZ,1),eWc,2,6,[j,this.a])));return null}f=AJb(this,a,j);j==null&&this.d.eh((p7(),o7),new Lrb(c,null,d,e,(qKb(),pKb),null,yG(tG(wZ,1),eWc,2,6,[b])));return f};_.ti=function PJb(a,b){var c,d,e;qKb();if(OBc(b.substr(0,eYc.length),eYc)||OBc(b.substr(0,V$c.length),V$c))return BJb(this,a,b);e=b;for(d=this.b.Xd();d.Jd();){c=d.Kd();if(aCc(b,c.a)){e=c.b+(""+ +cCc(b,c.a.length));break}}return wKb(e,this.f)};var LJb;var oT=uAc(873);S0(876,1,PUc,QJb);_.Pd=function RJb(a){return a.a};var jT=uAc(876);S0(669,1,{},SJb);_.ui=function TJb(a,b,c,d){return new NJb(a,b,c,d,this.a)};var kT=uAc(669);S0(874,1,PUc,UJb);_.Pd=function VJb(a){return MJb(),new KIb(a.ff(),a.gf())};var mT=uAc(874);S0(875,1,{},WJb);_.vi=function XJb(a){return MJb(),a.a.length};var nT=uAc(875);S0(455,1,PUc,YJb);_.Pd=function ZJb(a){return a.b};var qT=uAc(455);S0(172,11,{172:1,3:1,20:1,11:1}, +eKb);var $Jb,_Jb,aKb,bKb,cKb;var sT=vAc(172,eZ,fKb);S0(908,1,{},mKb);var uT=uAc(908);S0(334,1,{},tKb,uKb);var nKb,oKb,pKb;var FT=uAc(334);S0(691,1,pVc,yKb);_.zd=function AKb(a){return this===a};_.Pd=function zKb(a){return a.ah()};var vT=uAc(691);S0(692,1,{},BKb);_.vi=function CKb(a){return a.length};var wT=uAc(692);S0(340,1,{},FKb);_.Cd=function GKb(){return this.a};var xT=uAc(340);S0(466,1,{},HKb);_.eh=function IKb(a,b){};var yT=uAc(466);S0(194,11,W$c);var JKb,KKb;var BT=vAc(194,eZ,NKb);S0(688,194, +W$c,OKb);_.wi=function PKb(a){var b;return eLb(),b=YBc(YBc(YBc(YBc(YBc(XBc(XBc(a,58,45),92,47)," ",TWc),"[",UWc),"]",VWc),"<",WWc),">",XWc),fLb(b)};var zT=vAc(688,BT,null);S0(689,194,W$c,QKb);_.wi=function RKb(a){return fLb(a)};var AT=vAc(689,BT,null);S0(270,11,X$c);var SKb;var DT=vAc(270,eZ,UKb);S0(690,270,X$c,WKb);_.Pd=function XKb(a){return VKb(a)};var CT=vAc(690,DT,null);S0(195,11,{195:1,3:1,20:1,11:1},bLb);var YKb,ZKb,$Kb,_Kb;var ET=vAc(195,eZ,cLb);var dLb;S0(512,370,{},qLb);_.si=function tLb(a, +b,c,d,e){return mLb(this,a,b,c,d,e)};var iLb,jLb;var JT=uAc(512);S0(667,1,{},uLb);_.ui=function vLb(a,b,c,d){return new qLb(a,b,this.a,c,d)};var HT=uAc(667);S0(871,1,{113:1},wLb);_.zd=function yLb(a){return this===a};_.zf=function zLb(){return new bLc(this)};_.xf=function xLb(a,b){return sLb(a,b)};var IT=uAc(871);S0(225,40,{225:1,3:1,40:1,37:1},ALb,BLb);var MT=uAc(225);S0(872,512,{},CLb);_.si=function DLb(a,b,c,d,e){var f;f=this.a.Le(b);if(f==null)return mLb(this,a,b,c,d,e);return f};var OT=uAc(872); +S0(668,1,{},ELb);_.ui=function FLb(a,b,c,d){var e,f;f=new oMc;for(null.Lk().Lk();null.Lk();){null.Lk();e=wKb(d.wi(null.Lk()),b);qKb();!OBc(e.substr(0,"/".length),"/")&&!(OBc(e.substr(0,eYc.length),eYc)||OBc(e.substr(0,V$c.length),V$c))&&(e="/"+e);jDc(f,null.Lk(),e)}return new CLb(a,b,f,c,d)};var NT=uAc(668);S0(1107,1,{});var GLb;var RT=uAc(1107);S0(642,644,RVc,LLb);var PT=uAc(642);S0(643,449,{},MLb);_.fh=function NLb(){this.d+this.e+this.f>0&&JLb(this.d+this.e+" error(s), "+this.f+" warning(s)")}; +_.gh=function OLb(a,b){JLb(Krb(b,a,this.a))};var QT=uAc(643);S0(264,886,{},RLb);var ST=uAc(264);var SLb;var ULb;var WLb;var YLb;var $Lb;var aMb,bMb,cMb,dMb;var fMb;var hMb,iMb;var kMb,lMb;var nMb,oMb,pMb,qMb,rMb,sMb,tMb,uMb,vMb,wMb,xMb,yMb,zMb,AMb;var CMb;var EMb;var GMb,HMb,IMb;var KMb,LMb;var NMb,OMb;var QMb;var SMb;var UMb;var WMb;var YMb;var $Mb;S0(33,11,{33:1,3:1,20:1,11:1},gOb);var aNb,bNb,cNb,dNb,eNb,fNb,gNb,hNb,iNb,jNb,kNb,lNb,mNb,nNb,oNb,pNb,qNb,rNb,sNb,tNb,uNb,vNb,wNb,xNb,yNb,zNb,ANb,BNb, +CNb,DNb,ENb,FNb,GNb,HNb,INb,JNb,KNb,LNb,MNb,NNb,ONb,PNb,QNb,RNb,SNb,TNb,UNb,VNb,WNb,XNb,YNb,ZNb,$Nb,_Nb,aOb,bOb,cOb,dOb,eOb;var TT=vAc(33,eZ,hOb);S0(616,1,{616:1});var _T=uAc(616);S0(427,616,{427:1,616:1},jOb);_.zd=function kOb(a){var b;if(a===this)return true;if(lH(a,427)){b=a;return this.d==b.d&&this.g==b.g&&this.c==b.c&&this.f==b.f&&dp(this.a,b.a)&&kB(this.i,b.i)&&kB(this.b,b.b)&&this.e==b.e}return false};_.Bd=function lOb(){var a;a=1;a*=QWc;a^=$Tc(this.d);a*=QWc;a^=$Tc(this.g);a*=QWc;a^=$Tc(this.c); +a*=QWc;a^=$Tc(this.f);a*=QWc;a^=zb(this.a.d.d);a*=QWc;a^=this.i.Bd();a*=QWc;a^=this.b.Bd();a*=QWc;a^=this.e?1231:1237;return a};_.Cd=function mOb(){return"Config{languageMode="+this.d+vUc+"strictMode="+this.g+vUc+"jsDocParsingMode="+this.c+vUc+"runMode="+this.f+vUc+"annotations="+this.a+vUc+"suppressionNames="+this.i+vUc+"closurePrimitiveNames="+this.b+vUc+"parseInlineSourceMaps="+this.e+"}"};_.e=false;var VT=uAc(427);S0(1171,1,{});var WT=uAc(1171);S0(428,1171,{},wOb);var UT=uAc(428);S0(197,11,{197:1, +3:1,20:1,11:1},DOb);var xOb,yOb,zOb,AOb;var XT=vAc(197,eZ,EOb);S0(107,11,{107:1,3:1,20:1,11:1},QOb);var FOb,GOb,HOb,IOb,JOb,KOb,LOb,MOb,NOb,OOb;var YT=vAc(107,eZ,SOb);S0(278,11,{278:1,3:1,20:1,11:1},WOb);var TOb,UOb;var ZT=vAc(278,eZ,XOb);S0(277,11,{277:1,3:1,20:1,11:1},_Ob);var YOb,ZOb;var $T=vAc(277,eZ,aPb);S0(931,1,{},ZPb);_.c=false;_.i=null;_.j=false;var bPb,cPb,dPb,ePb;var bU=uAc(931);S0(932,1,{},LRb);var aU=uAc(932);S0(424,1,{},WSb);_.e=null;_.g=false;_.o=null;var MRb,NRb,ORb,PRb;var fU=uAc(424); +S0(611,1,{611:1},ZSb);_.a=0;_.b=0;var cU=uAc(611);S0(425,1,{},$Sb);var dU=uAc(425);S0(256,11,{256:1,3:1,20:1,11:1},dTb);var _Sb,aTb,bTb;var eU=vAc(256,eZ,eTb);S0(68,11,{68:1,3:1,20:1,11:1},BTb);var fTb,gTb,hTb,iTb,jTb,kTb,lTb,mTb,nTb,oTb,pTb,qTb,rTb,sTb,tTb,uTb,vTb,wTb,xTb,yTb,zTb;var hU=vAc(68,eZ,CTb);S0(258,1,{},MTb,NTb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var gU=uAc(258);var QTb=null,RTb=null,STb=null;S0(1156,1,{});_.d=false;var BW=uAc(1156);S0(905,1156,{}, +$Tb);_.xi=function _Tb(a,b){if(this.b||!this.a){this.a=true;this.c.fi(b,a.d.b,a.b+1,a.a)}};_.yi=function aUb(a,b){this.c.gi(b,a.d.b,a.b+1,a.a)};_.a=false;_.b=false;var iU=uAc(905);S0(906,1,{},bUb);var jU=uAc(906);S0(1093,1,{},JUb);_.c=0;_.d=0;var lU=uAc(1093);S0(62,11,{62:1,3:1,20:1,11:1},hVb);_.a=0;_.b=0;_.c=0;var KUb,LUb,MUb,NUb,OUb,PUb,QUb,RUb,SUb,TUb,UUb,VUb,WUb,XUb,YUb,ZUb,$Ub,_Ub,aVb,bVb,cVb,dVb,eVb,fVb;var kU=vAc(62,eZ,jVb);var kVb;S0(123,1,{123:1,3:1},QVb);_.zd=function TVb(a){return GVb(this, +a)};_.Bd=function UVb(){return this.a.Bd()};_.Cd=function VVb(){return this.a.Cd()};var mVb,nVb,oVb,pVb,qVb,rVb,sVb,tVb,uVb,vVb,wVb,xVb,yVb,zVb,AVb,BVb,CVb;var nU=uAc(123);S0(25,11,{25:1,3:1,20:1,11:1},eXb);_.Cd=function fXb(){return this.a};_.b=0;var YVb,ZVb,$Vb,_Vb,aWb,bWb,cWb,dWb,eWb,fWb,gWb,hWb,iWb,jWb,kWb,lWb,mWb,nWb,oWb,pWb,qWb,rWb,sWb,tWb,uWb,vWb,wWb,xWb,yWb,zWb,AWb,BWb,CWb,DWb,EWb,FWb,GWb,HWb,IWb,JWb,KWb,LWb,MWb,NWb,OWb,PWb,QWb,RWb,SWb,TWb,UWb,VWb,WWb,XWb,YWb,ZWb,$Wb,_Wb,aXb,bXb,cXb;var mU= +vAc(25,eZ,gXb);S0(149,1,{149:1},iXb);_.Cd=function jXb(){return W2b(this.e)};var EU=uAc(149);S0(429,149,{429:1,149:1},kXb);_.Cd=function lXb(){return this.a};var oU=uAc(429);S0(38,11,{38:1,3:1,20:1,11:1},kYb);_.Cd=function rYb(){return this.c};_.a=false;var mXb,nXb,oXb,pXb,qXb,rXb,sXb,tXb,uXb,vXb,wXb,xXb,yXb,zXb,AXb,BXb,CXb,DXb,EXb,FXb,GXb,HXb,IXb,JXb,KXb,LXb,MXb,NXb,OXb,PXb,QXb,RXb,SXb,TXb,UXb,VXb,WXb,XXb,YXb,ZXb,$Xb,_Xb,aYb,bYb,cYb,dYb,eYb,fYb,gYb,hYb,iYb;var pU=vAc(38,eZ,sYb);S0(1062,1,{},xYb); +_.b=-1;_.c=-1;_.d=0;_.f=0;var qU=uAc(1062);S0(101,149,{101:1,149:1},zYb);_.Cd=function AYb(){return this.c};var rU=uAc(101);S0(307,1,{},r_b,s_b);var xU=uAc(307);S0(929,1,{},u_b);var sU=uAc(929);S0(928,1,{},v_b);_.a=false;_.b=false;_.c=false;_.d=false;_.e=false;var uU=uAc(928);S0(146,11,{146:1,3:1,20:1,11:1},E_b);var w_b,x_b,y_b,z_b,A_b,B_b,C_b;var tU=vAc(146,eZ,F_b);S0(208,11,{208:1,3:1,20:1,11:1},L_b);_.a=false;_.b=false;var G_b,H_b,I_b,J_b;var vU=vAc(208,eZ,M_b);S0(209,1,{},N_b);_.a=null;_.b=false; +_.c=false;var wU=uAc(209);S0(930,1,{},A0b);_.c=0;_.f=0;_.i=false;_.k=0;var zU=uAc(930);S0(180,1,{},M0b);var yU=uAc(180);S0(927,1,{},N0b);var AU=uAc(927);S0(437,101,{101:1,437:1,149:1},O0b);_.a=false;var BU=uAc(437);S0(257,101,{101:1,257:1,149:1},P0b);_.Cd=function Q0b(){return this.c};var CU=uAc(257);S0(14,11,{14:1,3:1,20:1,11:1},X2b,Y2b);_.Cd=function Z2b(){return W2b(this)};var R0b,S0b,T0b,U0b,V0b,W0b,X0b,Y0b,Z0b,$0b,_0b,a1b,b1b,c1b,d1b,e1b,f1b,g1b,h1b,i1b,j1b,k1b,l1b,m1b,n1b,o1b,p1b,q1b,r1b,s1b, +t1b,u1b,v1b,w1b,x1b,y1b,z1b,A1b,B1b,C1b,D1b,E1b,F1b,G1b,H1b,I1b,J1b,K1b,L1b,M1b,N1b,O1b,P1b,Q1b,R1b,S1b,T1b,U1b,V1b,W1b,X1b,Y1b,Z1b,$1b,_1b,a2b,b2b,c2b,d2b,e2b,f2b,g2b,h2b,i2b,j2b,k2b,l2b,m2b,n2b,o2b,p2b,q2b,r2b,s2b,t2b,u2b,v2b,w2b,x2b,y2b,z2b,A2b,B2b,C2b,D2b,E2b,F2b,G2b,H2b,I2b,J2b,K2b,L2b,M2b,N2b,O2b,P2b,Q2b,R2b,S2b,T2b,U2b;var DU=vAc(14,eZ,$2b);S0(8,1,{8:1});_.Cd=function c3b(){return this.p+"@"+this.o};var aW=uAc(8);S0(607,8,{607:1,8:1},d3b);var FU=uAc(607);S0(1007,8,{8:1},e3b);var GU=uAc(1007); +S0(539,8,{539:1,8:1},f3b);var HU=uAc(539);S0(586,8,{586:1,8:1},g3b);var IU=uAc(586);S0(598,8,{598:1,8:1},h3b);var JU=uAc(598);S0(578,8,{578:1,8:1},i3b);var KU=uAc(578);S0(100,8,{100:1,8:1},j3b);var LU=uAc(100);S0(414,8,{414:1,8:1},k3b);var MU=uAc(414);S0(541,8,{541:1,8:1},l3b);var NU=uAc(541);S0(542,8,{542:1,8:1},m3b);var OU=uAc(542);S0(610,8,{610:1,8:1},n3b);_.c=false;var PU=uAc(610);S0(543,8,{543:1,8:1},o3b);var QU=uAc(543);S0(545,8,{545:1,8:1},p3b);var RU=uAc(545);S0(574,8,{574:1,8:1},q3b);var SU= +uAc(574);S0(421,8,{421:1,8:1},r3b);var TU=uAc(421);S0(534,1,{534:1},s3b);var VU=uAc(534);S0(181,11,{181:1,3:1,20:1,11:1},z3b);var t3b,u3b,v3b,w3b,x3b;var UU=vAc(181,eZ,A3b);S0(589,8,{589:1,8:1},B3b);var WU=uAc(589);S0(590,8,{590:1,8:1},C3b);var XU=uAc(590);S0(588,8,{588:1,8:1},D3b);var YU=uAc(588);S0(418,8,{418:1,8:1},E3b);var ZU=uAc(418);S0(559,8,{559:1,8:1},F3b);_.b=false;var $U=uAc(559);S0(560,8,{560:1,8:1},G3b);_.c=false;var _U=uAc(560);S0(213,8,{213:1,8:1},H3b);var aV=uAc(213);S0(561,8,{561:1, +8:1},I3b);_.b=false;var bV=uAc(561);S0(554,8,{554:1,8:1},J3b);var cV=uAc(554);S0(546,8,{546:1,8:1},K3b);var dV=uAc(546);S0(549,8,{549:1,8:1},L3b);var eV=uAc(549);S0(544,8,{544:1,8:1},M3b);var fV=uAc(544);S0(255,8,{255:1,8:1},N3b);var gV=uAc(255);S0(547,8,{547:1,8:1},O3b);var hV=uAc(547);S0(584,8,{584:1,8:1},P3b);var iV=uAc(584);S0(183,8,{183:1,8:1},Q3b);var jV=uAc(183);S0(605,8,{605:1,8:1},R3b);var kV=uAc(605);S0(581,8,{581:1,8:1},S3b);_.d=false;_.e=false;var lV=uAc(581);S0(582,8,{582:1,8:1},T3b); +var mV=uAc(582);S0(548,8,{548:1,8:1},U3b);var nV=uAc(548);S0(571,8,{571:1,8:1},V3b);var oV=uAc(571);S0(580,8,{580:1,8:1},W3b);var pV=uAc(580);S0(552,8,{552:1,8:1},X3b);var qV=uAc(552);S0(579,8,{579:1,8:1},Y3b);var rV=uAc(579);S0(551,8,{551:1,8:1},Z3b);var sV=uAc(551);S0(184,8,{184:1,8:1},$3b);var tV=uAc(184);S0(553,8,{553:1,8:1},_3b);_.e=false;_.f=false;_.g=false;_.i=false;var wV=uAc(553);S0(93,1,{},l4b);_.a=null;_.b=null;_.c=null;_.d=null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null; +var uV=uAc(93);S0(212,11,{212:1,3:1,20:1,11:1},r4b);var m4b,n4b,o4b,p4b;var vV=vAc(212,eZ,s4b);S0(601,8,{601:1,8:1},t4b);var xV=uAc(601);S0(603,8,{603:1,8:1},u4b);var yV=uAc(603);S0(572,8,{572:1,8:1},v4b);_.b=false;var zV=uAc(572);S0(315,8,{315:1,8:1},w4b);var AV=uAc(315);S0(555,8,{555:1,8:1},x4b);var BV=uAc(555);S0(422,8,{422:1,8:1},y4b);var CV=uAc(422);S0(585,8,{585:1,8:1},z4b);var DV=uAc(585);S0(583,8,{583:1,8:1},A4b);var EV=uAc(583);S0(609,8,{609:1,8:1},B4b);var FV=uAc(609);S0(604,8,{604:1,8:1}, +C4b);var GV=uAc(604);S0(591,8,{591:1,8:1},D4b);var HV=uAc(591);S0(592,8,{592:1,8:1},E4b);var IV=uAc(592);S0(556,8,{556:1,8:1},F4b);var JV=uAc(556);S0(420,8,{420:1,8:1},G4b);var KV=uAc(420);S0(416,8,{416:1,8:1},H4b);var LV=uAc(416);S0(415,8,{415:1,8:1},I4b);var MV=uAc(415);S0(316,8,{316:1,8:1},J4b);_.c=false;_.d=false;var NV=uAc(316);S0(215,8,{215:1,8:1},K4b);var OV=uAc(215);S0(608,8,{608:1,8:1},L4b);var PV=uAc(608);S0(1008,8,{8:1},M4b);var QV=uAc(1008);S0(417,8,{417:1,8:1},N4b);var RV=uAc(417);S0(576, +8,{576:1,8:1},O4b);var SV=uAc(576);S0(214,8,{214:1,8:1},P4b);var TV=uAc(214);S0(558,8,{558:1,8:1},Q4b);var UV=uAc(558);S0(587,8,{587:1,8:1},R4b);var VV=uAc(587);S0(593,8,{593:1,8:1},S4b);var WV=uAc(593);S0(594,8,{594:1,8:1},T4b);var XV=uAc(594);S0(596,8,{596:1,8:1},U4b);var YV=uAc(596);S0(597,8,{597:1,8:1},V4b);var ZV=uAc(597);S0(557,8,{557:1,8:1},W4b);var $V=uAc(557);S0(21,11,{21:1,3:1,20:1,11:1},P6b);var X4b,Y4b,Z4b,$4b,_4b,a5b,b5b,c5b,d5b,e5b,f5b,g5b,h5b,i5b,j5b,k5b,l5b,m5b,n5b,o5b,p5b,q5b,r5b, +s5b,t5b,u5b,v5b,w5b,x5b,y5b,z5b,A5b,B5b,C5b,D5b,E5b,F5b,G5b,H5b,I5b,J5b,K5b,L5b,M5b,N5b,O5b,P5b,Q5b,R5b,S5b,T5b,U5b,V5b,W5b,X5b,Y5b,Z5b,$5b,_5b,a6b,b6b,c6b,d6b,e6b,f6b,g6b,h6b,i6b,j6b,k6b,l6b,m6b,n6b,o6b,p6b,q6b,r6b,s6b,t6b,u6b,v6b,w6b,x6b,y6b,z6b,A6b,B6b,C6b,D6b,E6b,F6b,G6b,H6b,I6b,J6b,K6b,L6b,M6b,N6b;var _V=vAc(21,eZ,Q6b);S0(530,8,{8:1,530:1},R6b);var bW=uAc(530);S0(254,8,{8:1,254:1},S6b);var cW=uAc(254);S0(599,8,{8:1,599:1},T6b);var dW=uAc(599);S0(562,8,{8:1,562:1},U6b);var eW=uAc(562);S0(573, +8,{8:1,573:1},V6b);_.b=false;var fW=uAc(573);S0(575,8,{8:1,575:1},W6b);var gW=uAc(575);S0(563,8,{8:1,563:1},X6b);var hW=uAc(563);S0(411,8,{8:1,411:1},Y6b);var iW=uAc(411);S0(412,8,{8:1,412:1},Z6b);var jW=uAc(412);S0(413,8,{8:1,413:1},$6b);var kW=uAc(413);S0(550,8,{8:1,550:1},_6b);var lW=uAc(550);S0(564,8,{8:1,564:1},a7b);var mW=uAc(564);S0(565,8,{8:1,565:1},b7b);var nW=uAc(565);S0(606,8,{8:1,606:1},c7b);var oW=uAc(606);S0(423,8,{8:1,423:1},d7b);var pW=uAc(423);S0(602,8,{8:1,602:1},e7b);var qW=uAc(602); +S0(595,8,{8:1,595:1},f7b);var rW=uAc(595);S0(540,8,{8:1,540:1},g7b);var sW=uAc(540);S0(600,8,{8:1,600:1},h7b);var tW=uAc(600);S0(419,8,{8:1,419:1},i7b);_.c=0;var uW=uAc(419);S0(567,8,{8:1,567:1},j7b);var vW=uAc(567);S0(568,8,{8:1,568:1},k7b);var wW=uAc(568);S0(566,8,{8:1,566:1},l7b);var xW=uAc(566);S0(569,8,{8:1,569:1},m7b);var yW=uAc(569);S0(570,8,{8:1,570:1},n7b);var zW=uAc(570);S0(577,8,{8:1,577:1},o7b);_.b=false;var AW=uAc(577);S0(1092,1156,{},p7b);_.xi=function q7b(a,b){throw q0(new s7b);};_.yi= +function r7b(a,b){};var DW=uAc(1092);S0(438,26,{438:1,3:1,40:1,26:1,37:1},s7b);var CW=uAc(438);S0(985,1,{},u7b);_.Cd=function v7b(){return W7b("%s(%d, %d)",yG(tG(rZ,1),zUc,1,5,[t7b(this),fBc(this.b+1),fBc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var EW=uAc(985);S0(12,1,{},w7b);_.Cd=function x7b(){return W7b("<%s - %s>",yG(tG(rZ,1),zUc,1,5,[this.b,this.a]))};var FW=uAc(12);S0(903,26,FVc,y7b);var GW=uAc(903);S0(904,26,FVc,z7b);var HW=uAc(904);S0(393,26,FVc,A7b);var IW=uAc(393);S0(901,26,FVc,B7b);var JW=uAc(901); +S0(902,26,FVc,C7b);var KW=uAc(902);S0(387,26,FVc,D7b);var LW=uAc(387);S0(900,26,FVc,E7b);var MW=uAc(900);S0(797,1,{},V7b);var PW=uAc(797);S0(799,1,{},e8b);_.b=0;_.c=0;_.d=0;var NW=uAc(799);S0(798,1,{},m8b);_.a=-1;_.b=qUc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;var OW=uAc(798);S0(388,26,FVc,n8b);var QW=uAc(388);S0(882,1,{},p8b);var RW=uAc(882);S0(1230,1,{});var t8b;S0(779,1,{},A8b);_.fi=function B8b(a,b,c,d){};_.gi=function C8b(a,b,c,d){};var SW=uAc(779); +S0(265,1,{265:1,3:1},s9b);_.zd=function t9b(a){if(this===a)return true;if(a==null)return false;if(TW!=xb(a))return false;return OBc(this.a,a.a)};_.Bd=function u9b(){return eUc(this.a)};_.Cd=function v9b(){return"InputId: "+this.a};var TW=uAc(265);S0(383,1,{383:1,3:1},Vac,Wac);_.Cd=function Zac(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var bX=uAc(383);S0(863,1,jXc,$ac);_.Cd=function _ac(){return yd(xd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(new zd((nAc(UW),UW.n)),"sourceComment",this.i),"markers", +this.d),Z0c,this.e),"throwsDescriptions",this.j),"blockDescription",this.b),"fileOverview",this.c),"returnDescription",this.f),BVc,this.k),"authors",this.a),"sees",this.g)))};var UW=uAc(863);S0(65,1,jXc,fbc);_.Cd=function gbc(){var a;return yd(xd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(wd(new zd((nAc(VW),VW.n)),"bitfield",this.p==0?null:(a=this.p>>>0,a.toString(16))),"baseType",this.a),"extendedInterfaces",this.f),"implementedInterfaces",this.g),Z0c,this.o),"thrownTypes",this.s),"templateTypeNames", +this.r),"disposedParameters",this.e),"typeTransformations",this.t),"description",this.d),"meaning",this.k),DYc,this.c),"license",this.j),"suppressions",this.q),"modifies",this.n),"lendsName",this.i),"closurePrimitiveId",this.b)))};_.p=0;var VW=uAc(65);S0(511,1,{511:1},kbc);var WW=uAc(511);S0(384,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var HX=uAc(384);S0(864,384,{},obc);var XW=uAc(864);S0(509,384,{},qbc);var YW=uAc(509);S0(510,509,{},sbc);var ZW=uAc(510);S0(865,384,{},tbc);_.a=false;var $W=uAc(865); +S0(178,11,{178:1,3:1,20:1,11:1},Bbc);var vbc,wbc,xbc,ybc,zbc;var _W=vAc(178,eZ,Cbc);S0(182,1,{},Xcc,Ycc);_.d=false;_.e=false;var aX=uAc(182);var _cc;S0(84,1,{84:1,3:1},ddc);_.zd=function edc(a){return lH(a,84)&&a.a.Ei(this.a,false,true,false,false)};_.Bd=function fdc(){return zb(this.a)};_.Cd=function hdc(){return"type: "+hfc(this.a)};var bdc;var cX=uAc(84);S0(7,1,{7:1,3:1},mfc,nfc,ofc,pfc,qfc,rfc,sfc);_.zi=function tfc(a){return Wdc(this,new mfc(this.n),a)};_.Ai=function wfc(){if(this.n==(Plc(), +ylc))throw q0(new RAc(f1c));else throw q0(new KCc(this+g1c));};_.Bi=function xfc(){if(this.n==(Plc(),Rkc))throw q0(new RAc(h1c));else throw q0(new KCc(this+" is not a number node"));};_.Ci=function yfc(){if(this.n==(Plc(),ylc))throw q0(new RAc(f1c));else throw q0(new KCc(this+g1c));};_.Di=function zfc(){if(this.n==(Plc(),qlc))throw q0(new RAc(i1c));else throw q0(new KCc(this+j1c));};_.Ei=function Afc(a,b,c,d,e){return rec(this,a,b,c,d,e)};_.Fi=function Bfc(){return false};_.Gi=function Dfc(a){if(this.n== +(Plc(),Rkc))throw q0(new RAc(h1c));else throw q0(new KCc(this+j1c));};_.Hi=function Efc(){throw q0(new RAc(this+" is not a StringNode"));};_.Ii=function Ffc(a){if(this.n==(Plc(),qlc)||this.n==Gkc)throw q0(new RAc(i1c));else throw q0(new KCc(this+j1c));};_.Cd=function Gfc(){return gfc(this,true,true,true)};_.e=0;_.k=0;var idc,jdc,kdc,ldc,mdc,ndc,odc,pdc,qdc,rdc,sdc,tdc,udc,vdc,wdc,xdc,ydc,zdc,Adc,Bdc,Cdc,Ddc,Edc,Fdc,Gdc,Hdc,Idc,Jdc,Kdc;var CX=uAc(7);S0(720,1,PUc,Ifc);_.Pd=function Jfc(a){return Xzc(), +mec(a)?true:false};var dX=uAc(720);S0(721,1,PUc,Kfc);_.Pd=function Lfc(a){return Xzc(),nec(a)?true:false};var eX=uAc(721);S0(722,1,PUc,Mfc);_.Pd=function Nfc(a){return Xzc(),oec(a)?true:false};var fX=uAc(722);S0(723,1,PUc,Ofc);_.Pd=function Pfc(a){return Xzc(),aec(a,(vhc(),Ngc))!=0?true:false};var gX=uAc(723);S0(724,1,PUc,Qfc);_.Pd=function Rfc(a){return Xzc(),aec(a,(vhc(),nhc))!=0?true:false};var hX=uAc(724);S0(725,1,PUc,Sfc);_.Pd=function Tfc(a){return Xzc(),aec(a,(vhc(),uhc))!=0?true:false};var iX= +uAc(725);S0(354,1,HUc,Ufc);_.Vd=function Vfc(a){iBc(this,a)};_._d=function Xfc(){return new FOc(new Zfc(this))};_.Xd=function Wfc(){return new Zfc(this)};var kX=uAc(354);S0(243,1,pUc,Zfc);_.Id=function $fc(a){wNc(this,a)};_.Kd=function agc(){return Yfc(this)};_.Jd=function _fc(){return!!this.a.a};_.Ld=function bgc(){throw q0(new JCc);};var jX=uAc(243);S0(478,1,jXc);_.c=0;var oX=uAc(478);S0(353,478,jXc,dgc);_.Ji=function egc(a){return new dgc(this.c,this.a,a)};_.Ki=function fgc(){return this.a};_.Li= +function ggc(){throw q0(new JCc);};_.Cd=function hgc(){return""+this.a};_.a=0;var lX=uAc(353);S0(98,7,{7:1,98:1,3:1},igc);_.zi=function jgc(a){return Wdc(this,new igc(this.a),a)};_.Bi=function kgc(){return this.a};_.Ei=function lgc(a,b,c,d,e){var f,g,h;f=rec(this,a,b,c,d,e);if(f){h=this.a;g=a.a;if(h==g)return h!=0||1/h==1/g}return false};_.Gi=function mgc(a){this.a=a};_.a=0;var mX=uAc(98);S0(479,478,jXc,ngc);_.Ji=function ogc(a){return new ngc(this.c,this.a,a)};_.Ki=function pgc(){throw q0(new JCc); +};_.Li=function qgc(){return this.a};_.Cd=function rgc(){return pCc(this.a)};var nX=uAc(479);S0(34,11,{34:1,3:1,20:1,11:1},whc);var sgc,tgc,ugc,vgc,wgc,xgc,ygc,zgc,Agc,Bgc,Cgc,Dgc,Egc,Fgc,Ggc,Hgc,Igc,Jgc,Kgc,Lgc,Mgc,Ngc,Ogc,Pgc,Qgc,Rgc,Sgc,Tgc,Ugc,Vgc,Wgc,Xgc,Ygc,Zgc,$gc,_gc,ahc,bhc,chc,dhc,ehc,fhc,ghc,hhc,ihc,jhc,khc,lhc,mhc,nhc,ohc,phc,qhc,rhc,shc,thc,uhc;var pX=vAc(34,eZ,xhc);S0(56,1,HUc,yhc);_.Vd=function zhc(a){iBc(this,a)};_._d=function Bhc(){return new FOc(new Dhc(this.a))};_.Xd=function Ahc(){return new Dhc(this.a)}; +var qX=uAc(56);S0(480,1,pUc,Dhc);_.Id=function Ehc(a){wNc(this,a)};_.Kd=function Ghc(){return Chc(this)};_.Jd=function Fhc(){return!!this.a};_.Ld=function Hhc(){throw q0(new JCc);};var rX=uAc(480);S0(13,7,{7:1,13:1,3:1},Khc,Lhc,Mhc);_.zi=function Nhc(a){return Ihc(this,a)};_.Di=function Ohc(){return this.a};_.Ei=function Phc(a,b,c,d,e){return rec(this,a,b,c,d,e)&&this.a==a.a};_.Fi=function Qhc(){return aec(this,(vhc(),ihc))!=0};_.Hi=function Rhc(){Hec(this,(vhc(),ihc),1)};_.Ii=function Shc(a){Jhc(this, +a)};var sX=uAc(13);S0(352,7,{7:1,352:1,3:1},Uhc,Vhc);_.zi=function Whc(a){var b;return b=new Uhc,b.b=this.b,b.a=this.a,Wdc(this,b,a)};_.Ai=function Xhc(){return this.a};_.Ci=function Yhc(){return this.b};_.Ei=function Zhc(a,b,c,d,e){return rec(this,a,b,c,d,e)&&this.b==a.b&&this.a==a.a};var tX=uAc(352);S0(89,7,{7:1,89:1,3:1},$hc,_hc,aic);_.zi=function bic(a){return Wdc(this,new aic(this.n,this.a),a)};_.Di=function cic(){return this.a};var uX=uAc(89);S0(730,1,PUc,dic);_.Pd=function eic(a){return Ldc(), +Xzc(),aec(a,(vhc(),ygc))!=0?true:false};var vX=uAc(730);S0(731,1,PUc,fic);_.Pd=function gic(a){return Ldc(),Xzc(),aec(a,(vhc(),xgc))!=0?true:false};var wX=uAc(731);S0(732,1,PUc,hic);_.Pd=function iic(a){return Ldc(),Xzc(),aec(a,(vhc(),zgc))!=0?true:false};var xX=uAc(732);S0(726,1,PUc,jic);_.Pd=function kic(a){return Ldc(),fBc(aec(a,(vhc(),lhc)))};var yX=uAc(726);S0(727,1,PUc,lic);_.Pd=function mic(a){return Ldc(),fBc(aec(a,(vhc(),Sgc)))};var zX=uAc(727);S0(728,1,PUc,nic);_.Pd=function oic(a){return Ldc(), +fBc(aec(a,(vhc(),ihc)))};var AX=uAc(728);S0(729,1,PUc,pic);_.Pd=function qic(a){return Ldc(),Xzc(),aec(a,(vhc(),Mgc))!=0?true:false};var BX=uAc(729);S0(1063,1,jXc,ric);var DX=uAc(1063);S0(1142,1,{});var FX=uAc(1142);S0(772,1142,{},uic);_.a=0;var EX=uAc(772);S0(1088,1,{1099:1,3:1},wic);_.ri=function Aic(){return this.a==(Fic(),Cic)};_.pi=function xic(){return this.a};_.qi=function yic(a){if(a<1)throw q0(new RAc("Should not call getLineOffset with line number "+a));return yVc};_.ah=function zic(){return this.b}; +_.Cd=function Bic(){return this.b};var GX=uAc(1088);S0(234,11,{234:1,3:1,20:1,11:1},Gic);var Cic,Dic,Eic;var IX=vAc(234,eZ,Hic);S0(9,11,{9:1,3:1,20:1,11:1},Qlc);var Iic,Jic,Kic,Lic,Mic,Nic,Oic,Pic,Qic,Ric,Sic,Tic,Uic,Vic,Wic,Xic,Yic,Zic,$ic,_ic,ajc,bjc,cjc,djc,ejc,fjc,gjc,hjc,ijc,jjc,kjc,ljc,mjc,njc,ojc,pjc,qjc,rjc,sjc,tjc,ujc,vjc,wjc,xjc,yjc,zjc,Ajc,Bjc,Cjc,Djc,Ejc,Fjc,Gjc,Hjc,Ijc,Jjc,Kjc,Ljc,Mjc,Njc,Ojc,Pjc,Qjc,Rjc,Sjc,Tjc,Ujc,Vjc,Wjc,Xjc,Yjc,Zjc,$jc,_jc,akc,bkc,ckc,dkc,ekc,fkc,gkc,hkc,ikc,jkc, +kkc,lkc,mkc,nkc,okc,pkc,qkc,rkc,skc,tkc,ukc,vkc,wkc,xkc,ykc,zkc,Akc,Bkc,Ckc,Dkc,Ekc,Fkc,Gkc,Hkc,Ikc,Jkc,Kkc,Lkc,Mkc,Nkc,Okc,Pkc,Qkc,Rkc,Skc,Tkc,Ukc,Vkc,Wkc,Xkc,Ykc,Zkc,$kc,_kc,alc,blc,clc,dlc,elc,flc,glc,hlc,ilc,jlc,klc,llc,mlc,nlc,olc,plc,qlc,rlc,slc,tlc,ulc,vlc,wlc,xlc,ylc,zlc,Alc,Blc,Clc,Dlc,Elc,Flc,Glc,Hlc,Ilc,Jlc,Klc,Llc,Mlc,Nlc,Olc;var JX=vAc(9,eZ,Slc);var Ulc;S0(23,1,s1c);_.Ni=function wmc(){var a,b;return a=this.oj(),b=a.Oi(),!b?a:b};_.Oi=function xmc(){return null};_.zd=function ymc(a){return lH(a, +23)&&nmc(this,a)};_.Pi=function Amc(a){var b;b=Qoc(this.Oi());if(b)return hmc(b,a);return null};_.Qi=function Bmc(a){return Cmc(this,a)};_.Ri=function Dmc(a){var b,c;if(this==a)return this;a=zmc(a);if(a.vj())return pyc(a.vj(),this);return b=(c=new Lrc(false),gmc(this,a,0,c)),b?this:zmc(Qtc(this.D,Xn(yG(tG(iY,1),zUc,23,0,[this,a]))))};_.Ti=function Fmc(a,b){return 0};_.Ui=function Hmc(){return 0};_.Vi=function Imc(){return this.F};_.Wi=function Jmc(){return Xwc(this.Vi())};_.Bd=function Kmc(){return lmc(this)}; +_.Xi=function Lmc(){return false};_.Yi=function Mmc(){return false};_.Zi=function Nmc(){return false};_.$i=function Pmc(){return false};_._i=function Qmc(){return false};_.aj=function Rmc(){return false};_.bj=function Smc(){return false};_.cj=function Tmc(){return false};_.dj=function Umc(){return false};_.ej=function Vmc(){return false};_.fj=function Wmc(){return false};_.gj=function Xmc(){return false};_.hj=function Ymc(){return false};_.ij=function Zmc(a){return _mc(this,a,new Rrc(true),(bsc(), +asc))};_.jj=function $mc(a,b,c){return _mc(this,a,b,c)};_.kj=function anc(){return false};_.lj=function bnc(){return false};_.mj=function cnc(){return false};_.oj=function fnc(){return this};_.pj=function gnc(){return null};_.qj=function hnc(){return null};_.rj=function inc(){return null};_.sj=function knc(){return null};_.tj=function lnc(){return null};_.uj=function mnc(){return null};_.vj=function nnc(){return null};_.Cd=function onc(){return this.Mi(new DCc,false).a};_.B=false;_.C=false;var amc, +bmc;var iY=uAc(23);S0(1060,23,s1c,pnc);_.Mi=function qnc(a,b){return a.a+="*",a};_.Si=function rnc(){return Qnc(),Mnc};_.Xi=function snc(){return true};_.fj=function tnc(){return true};_.mj=function unc(){return true};_.nj=function vnc(){return QTc(this)};_.wj=function wnc(a){return a.yj()};var KX=uAc(1060);S0(432,23,{432:1,23:1,3:1},Cnc);_.Mi=function Dnc(a,b){return a.a+="[ArrowType]",a};_.Qi=function Enc(a){throw q0(new JCc);};_.Ri=function Fnc(a){throw q0(new JCc);};_.Si=function Gnc(){return Qnc(), +Pnc};_.xj=function Hnc(){return kmc(this.b)||znc(this)};_.Wi=function(){return this.xj()};_.ij=function Inc(a){return Bnc(this,a,new Rrc(true),(bsc(),asc))};_.jj=function Jnc(a,b,c){return Bnc(this,a,b,c)};_.nj=function Knc(){var a,b;a=wOc(this.b);if(this.a){b=this.a.c;while(b){a=a*31+wOc(b.d);b=b.f}}return a};_.wj=function Lnc(a){throw q0(new JCc);};_.c=false;var LX=uAc(432);S0(220,11,{220:1,3:1,20:1,11:1},Tnc);var Mnc,Nnc,Onc,Pnc;var MX=vAc(220,eZ,Unc);S0(217,23,s1c);_.Ti=function Wnc(a,b){return b&& +!!this.Oi()?this.Oi().Ti(a,b):0};_.nj=function Xnc(){return QTc(this)};var UY=uAc(217);S0(1054,217,s1c,Ync);_.Mi=function Znc(a,b){return a.a+=iUc,a};_.Oi=function $nc(){return jmc(this,(ztc(),wsc))};_.Si=function _nc(){return Qnc(),Mnc};_.wj=function aoc(a){return a.zj()};var NX=uAc(1054);S0(1146,1,{});_.yj=function boc(){return soc(this,null)};_.zj=function coc(){return soc(this,null)};_.Aj=function doc(a){return soc(this,a)};_.Bj=function eoc(a){return soc(this,a)};_.Cj=function foc(){return soc(this, +null)};_.Dj=function goc(a){return soc(this,a)};_.Ej=function hoc(){return soc(this,null)};_.Fj=function ioc(){return soc(this,null)};_.Gj=function joc(a){return soc(this,a)};_.Hj=function koc(a){return soc(this,a)};_.Ij=function loc(){return soc(this,null)};_.Jj=function moc(){return soc(this,null)};_.Kj=function noc(a){return soc(this,a)};_.Lj=function ooc(a){return soc(this,a)};_.Mj=function poc(a){return soc(this,a)};_.Nj=function qoc(){return soc(this,null)};_.Oj=function roc(){return soc(this, +null)};var VY=uAc(1146);S0(1097,1146,{},voc);_.Kj=function woc(a){return toc(this,a,a.a)};_.Lj=function xoc(a){return toc(this,a,a.d)};_.Mj=function yoc(a){return uoc(this,a)};var PX=uAc(1097);S0(261,11,{261:1,3:1,20:1,11:1},Doc);var zoc,Aoc,Boc;var OX=vAc(261,eZ,Eoc);S0(49,23,t1c);_.Pj=function Roc(){this.A=true};_.Pi=function Toc(a){return this.Ti(a,false)==0?null:this.Wj(a)};_.Rj=function Uoc(){return on(),gB(),fB};_.Tj=function Voc(){return this.Vj().b.ye()};_.Uj=function Woc(){return null};_.Si= +function Xoc(){return Qnc(),Pnc};_.Ti=function Yoc(a,b){return this.cj()||this.aj()||this.bj()||this==Vtc(this.D,(ztc(),Usc))||this.kj()||!!this.Yj(a)?1:0};_.Vj=function Zoc(){return Uvc(),Uvc(),Tvc};_.Wj=function $oc(a){return Koc(this,a)};_.Yj=function _oc(a){var b;return b=Xvc(this.Vj(),a),!b?null:b.a};_.Zj=function apc(){var a;a=this.Sj();if(!a)return null;a=a.Sj();return!a?null:a.Qj()};_.$j=function bpc(){return!this.A};_._i=function cpc(){return!!this.Uj()};_._j=function dpc(){return false}; +_.gj=function epc(){return true};_.hj=function gpc(){var a;a=this.Qj();return!!a&&a.i==(rrc(),prc)&&a.g};_.kj=function hpc(){return Noc(this)};_.ak=function ipc(a){};_.wj=function jpc(a){return a.Gj(this)};_.A=true;var oY=uAc(49);S0(1091,49,t1c,lpc);_.Mi=function mpc(a,b){if(b)return zCc(a,this.d);return ACc(zCc(ACc(ACc(a,this.b),"<"),this.d),">")};_.Oi=function npc(){return this.d.Oi()};_.Pi=function opc(a){return hmc(this.d,a)};_.Qj=function ppc(){return!this.c?null:this.c.Qj()};_.Sj=function rpc(){return null}; +_.Ti=function spc(a,b){return this.d.Ti(a,b)};_.bk=function tpc(){return!this.c?(Uvc(),Uvc(),Tvc):this.c.Vj()};_.Vj=function(){return this.bk()};_.Xj=function upc(){return this.b};_.dj=function vpc(){return this.b!=null};_.fj=function wpc(){return this.d.fj()};_.gj=function xpc(){return this.d.gj()};_.ij=function ypc(a){return kpc(this,a,new Rrc(true),(bsc(),asc))};_.jj=function zpc(a,b,c){return kpc(this,a,b,c)};_.mj=function Apc(){return this.d.mj()};_.nj=function Bpc(){return Yuc(this)};_.pj=function Cpc(){return this}; +_.wj=function Dpc(a){return a.Aj(this)};var QX=uAc(1091);S0(324,1,{},Ipc);var RX=uAc(324);S0(110,49,u1c,Mpc);_.Mi=function Npc(a,b){return Jpc(this,a,b)};_.ck=function Opc(a,b,c,d){return Kpc(this,a,b,c,d)};_.Qj=function Ppc(){return null};_.Rj=function Qpc(){return this.t?this.t.d:(On(),On(),Nn)};_.dk=function Rpc(){return this.t?iqc(this.t):(On(),On(),Nn)};_.Sj=function Spc(){return this.r};_.Uj=function Tpc(){return this.t};_.Vj=function Upc(){return this.v};_.Xj=function Vpc(){return this.q!= +null?this.q:this.t?this.t.Xj()+LZc:null};_.Ui=function Wpc(){return this.w};_._j=function Xpc(){return this.s};_.ij=function Ypc(a){return this.jj(a,new Rrc(true),(bsc(),asc))};_.jj=function Zpc(a,b,c){var d,e,f,g,h;if(_mc(this,a,b,c))return true;if(a.vj())return false;if(a.sj())return $pc(this,a.sj(),b,c);e=lH(a,49)?a:null;d=!e?null:e.Qj();if(!!this.Qj()&&this.Qj().i==(rrc(),prc))for(g=this.Rj().Xd();g.Jd();){f=g.Kd();if(f.jj(a,b,c))return true}else if(!!d&&d.i==(rrc(),prc)){h=this.dk();for(g=h.Xd();g.Jd();){f= +g.Kd();if(f.jj(a,b,c))return true}}if(Noc(this))return true;return!!e&&Loc(this,e)};_.nj=function _pc(){return this.hj()?YGc(yG(tG(rZ,1),zUc,1,5,[this.q,this.v])):QTc(this)};_.ak=function aqc(a){Ud(!this.t||!a);this.t=a};_.p=false;_.s=false;_.t=null;_.u=false;_.w=0;var tY=uAc(110);S0(135,110,v1c,Aqc);_.Mi=function Bqc(a,b){var c,d,e;if(!this.u||this==Vtc(this.D,(ztc(),vtc)))return a.a+=b?"!Function":YYc,a;if((this.Zi()||this.i==(rrc(),prc))&&!!this.k){a.a+="(typeof ";(Zd(this.Zi()||this.i==(rrc(), +prc),lWc,this),tmc(this.o)).Mi(a,b);a.a+=")";return a}this.u=false;a.a+="function(";e=$dc(this.b.a);c=!lH(this.o,218);if(c){this.Zi()?(a.a+="new:",a):(a.a+="this:",a);this.o.Mi(a,b)}if(e>0){c&&(a.a+=vUc,a);d=this.b.a.c;aec(d,(vhc(),shc))!=0?dqc(a,d.d,b):aec(d,ehc)!=0?cqc(this,a,d.d,b):dmc(d.d,a,b);d=d.f;while(d){a.a+=vUc;aec(d,shc)!=0?dqc(a,d.d,b):aec(d,ehc)!=0?cqc(this,a,d.d,b):dmc(d.d,a,b);d=d.f}}a.a+="): ";dmc(this.b.b,a,b);this.u=true;return a};_.Pj=function Cqc(){fqc(this)};_.ck=function Dqc(a, +b,c,d){var e;if(OBc(RWc,a)){e=lH(b,49)?b:null;if(e){if(!!this.j&&nmc(e,this.j.e))return true;wqc(this,e,d);return true}else return false}return Kpc(this,a,b,c,d)};_.Tj=function Eqc(){var a;if(!this.j)return this.v.b.ye();else{a=(on(),new bu);fGc(a.b,Pd(RWc));au(a,this.v.b.ye());return Ep(new HGc(a.b))}};_.Wj=function Fqc(a){return nqc(this,a)};_.Yj=function Gqc(a){return pqc(this,a)};_.Zj=function Hqc(){return qqc(this)};_.Wi=function Iqc(){return this.w>0||kmc(this.o)||kmc(this.b)};_.$j=function Jqc(){return!!this.j|| +!this.A};_.Zi=function Kqc(){return this.i==(rrc(),orc)};_.ij=function Lqc(a){return this.jj(a,new Rrc(true),(bsc(),asc))};_.jj=function Mqc(a,b,c){var d,e;if(_mc(this,a,b,c))return true;if(a.rj()){d=a.rj();if(d.i==(rrc(),prc))return true;if(this.i==prc)return false;return e=!!tmc(d.o)&&!!tmc(d.o).Qj()&&tmc(d.o).Qj().i==prc||d.o.jj(this.o,b,(bsc(),asc))||this.o.jj(d.o,b,(bsc(),asc)),e&&Bnc(this.b,d.b,b,c)}return jmc(this,(ztc(),Csc)).jj(a,b,c)};_.nj=function Nqc(){var a;a=$Tc(this.i);switch(this.i.f){case 1:case 2:return 31* +a+QTc(this);case 0:a=31*a+lmc(this.o);a=31*a+lmc(this.b);return a;default:throw q0(new Tzc);}};_.rj=function Oqc(){return this};_.wj=function Pqc(a){return a.Bj(this)};_.f=false;_.g=false;var UX=uAc(135);S0(179,1,{},Wqc);_.ek=function Xqc(){return new Mpc(this)};_.k=false;_.p=false;_.r=0;var sY=uAc(179);S0(61,179,{61:1},mrc);_.fk=function nrc(){return Yqc(this)};_.ek=function(){return this.fk()};_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;_.i=null;_.j=null;var SX=uAc(61);S0(250,11,{250:1,3:1,20:1,11:1}, +trc);var orc,prc,qrc;var TX=vAc(250,eZ,urc);S0(325,110,u1c,vrc);_.Mi=function wrc(a,b){var c,d,e;if(this.a.Xj()!=null){if(b)return ACc(a,Ioc(this.a))}else return Jpc(this,a,b);e=this.a.Xj();if(e.length==0){d=this.a.k;return ACc(vCc(ACc(ACc((a.a+="")}return a.a+=""+e,a};_.ck=function xrc(a,b,c,d){var e,f;e=oqc(this.a);if(!!e&&(Yvc(e.Vj(),a)?1:0)!=0&&(f=e.Yj(a),!!f&&!f.b))return false;return Kpc(this,a,b,c,d)};_.Qj=function yrc(){return this.a}; +_.Rj=function zrc(){return this.a.d};_.dk=function Arc(){return iqc(this.a)};_.Sj=function Brc(){return oqc(this.a)};_.Xj=function Crc(){return this.a.Xj()};_.dj=function Drc(){return this.a.Xj()!=null};_.nj=function Erc(){return this.a.Xj()!=null?Yuc(this):lmc(this)};var WX=uAc(325);S0(326,179,{326:1},Grc);_.ek=function Hrc(){return new vrc(this)};var VX=uAc(326);S0(513,1,{});_.c=false;var _X=uAc(513);S0(76,513,{},Lrc);var YX=uAc(76);S0(386,1,{386:1},Mrc);_.zd=function Nrc(a){var b;b=a;if(this=== +a)return true;return rH(this.b)===rH(b.b)&rH(this.c)===rH(b.c)|rH(this.b)===rH(b.c)&rH(this.c)===rH(b.b)};_.Bd=function Orc(){return this.a};_.a=0;var XX=uAc(386);S0(80,513,{},Rrc);var $X=uAc(80);S0(301,1,{301:1},Src);_.zd=function Trc(a){var b;b=a;if(this.b==b.b&&this.c==b.c)return true;return Prc(this.d,this.b,b.b)&&Prc(this.d,this.c,b.c)};_.Bd=function Urc(){return this.a};_.a=0;var ZX=uAc(301);S0(247,11,{247:1,3:1,20:1,11:1},Zrc);_.a=false;var Vrc,Wrc,Xrc;var aY=vAc(247,eZ,$rc);S0(300,11,{300:1, +3:1,20:1,11:1},csc);var _rc,asc;var bY=vAc(300,eZ,dsc);S0(883,1,rVc,esc);_.Od=function fsc(a){return dnc(this.c,this.a,this.b,a)};var cY=uAc(883);S0(884,1,rVc,gsc);_.Od=function hsc(a){return enc(this.b,this.a,this.c,a)};var dY=uAc(884);S0(31,11,{31:1,3:1,20:1,11:1},Atc);var msc,nsc,osc,psc,qsc,rsc,ssc,tsc,usc,vsc,wsc,xsc,ysc,zsc,Asc,Bsc,Csc,Dsc,Esc,Fsc,Gsc,Hsc,Isc,Jsc,Ksc,Lsc,Msc,Nsc,Osc,Psc,Qsc,Rsc,Ssc,Tsc,Usc,Vsc,Wsc,Xsc,Ysc,Zsc,$sc,_sc,atc,btc,ctc,dtc,etc,ftc,gtc,htc,itc,jtc,ktc,ltc,mtc,ntc,otc, +ptc,qtc,rtc,stc,ttc,utc,vtc,wtc,xtc,ytc;var eY=vAc(31,eZ,Btc);S0(333,1,{333:1,3:1},guc);var hY=uAc(333);S0(925,135,v1c,iuc);_.Qj=function juc(){return Vtc(this.D,(ztc(),Bsc))};var fY=uAc(925);S0(926,1,PUc,kuc);_.Pd=function luc(a){return new ENc};var gY=uAc(926);S0(128,49,y1c);_.Mi=function puc(a,b){return this.e.Mi(a,b)};_.Pi=function quc(a){return hmc(this.e,a)};_.Qj=function ruc(){return!this.d?null:this.d.Qj()};_.Rj=function suc(){return!this.d?(LHc(),LHc(),JHc):this.d.Rj()};_.Sj=function tuc(){return!this.d? +null:this.d.Sj()};_.Uj=function uuc(){return!this.d?null:this.d.Uj()};_.Ti=function vuc(a,b){return this.e.Ti(a,b)};_.Vj=function wuc(){return!this.d?(Uvc(),Uvc(),Tvc):this.d.Vj()};_.Xj=function xuc(){return!this.d?"":this.d.Xj()};_.Ui=function yuc(){return this.e.Ui()};_.Vi=function zuc(){return this.e.Vi()};_.xj=function Auc(){return kmc(this.e)};_.Wi=function(){return this.xj()};_.Xi=function Buc(){return this.e.Xi()};_.Yi=function Cuc(){return this.e.Yi()};_.Zi=function Duc(){return this.e.Zi()}; +_._j=function Euc(){return!!this.d&&this.d._j()};_.aj=function Fuc(){return this.e.aj()};_.bj=function Guc(){return this.e.bj()};_.cj=function Huc(){return this.e.cj()};_.dj=function Iuc(){return this.e.dj()};_.fj=function Juc(){return this.e.fj()};_.hj=function Kuc(){return this.e.hj()};_.ij=function Luc(a){return this.e.jj(a,new Rrc(true),(bsc(),asc))};_.jj=function Muc(a,b,c){return this.e.jj(a,b,c)};_.kj=function Nuc(){return this.e.kj()};_.mj=function Ouc(){return this.e.mj()};_.nj=function Puc(){return lmc(this.e)}; +_.pj=function Quc(){return this.e.pj()};_.qj=function Ruc(){return this.e.qj()};_.rj=function Suc(){return this.e.rj()};_.sj=function Tuc(){return this.e.sj()};_.tj=function Uuc(){return this.e.tj()};_.uj=function Vuc(){return this.e.uj()};_.vj=function Wuc(){return this.e.vj()};_.wj=function Xuc(a){return a.Hj(this)};var uY=uAc(128);S0(627,135,v1c,Zuc);_.Mi=function $uc(a,b){return a.a+=b?"?":"NoObject",a};_.ck=function _uc(a,b,c,d){return true};_.Qj=function avc(){return null};_.Sj=function bvc(){return null}; +_.Xj=function cvc(){return null};_.Zi=function dvc(){return false};_.aj=function evc(){return true};_.ij=function fvc(a){return this.jj(a,new Rrc(true),(bsc(),asc))};_.jj=function gvc(a,b,c){return _mc(this,a,b,c)||a.gj()&&!a.cj()&&!a.bj()};_.nj=function hvc(){return QTc(this)};_.rj=function ivc(){return null};_.wj=function jvc(a){return a.Cj()};var jY=uAc(627);S0(628,627,v1c,kvc);_.Mi=function lvc(a,b){return a.a+=b?"?":"None",a};_.Si=function mvc(){return Qnc(),Mnc};_.aj=function nvc(){return false}; +_.cj=function ovc(){return true};_.fj=function pvc(){return true};_.ij=function qvc(a){return this.jj(a,null,(bsc(),asc))};_.jj=function rvc(a,b,c){return true};_.mj=function svc(){return true};_.wj=function tvc(a){return a.Dj(this)};var lY=uAc(628);S0(1061,628,v1c,vvc);_.Mi=function wvc(a,b){return a.a+=b?"?":"NoResolvedType",a};_.Xj=function xvc(){return this.a};_.bj=function yvc(){return true};_.cj=function zvc(){return false};_.ij=function Avc(a){return uvc(this,a,new Rrc(true),(bsc(),asc))}; +_.jj=function Bvc(a,b,c){return uvc(this,a,b,c)};var kY=uAc(1061);S0(1055,217,s1c,Cvc);_.Mi=function Dvc(a,b){return a.a+=wUc,a};_.Si=function Evc(){return Qnc(),Onc};_.ej=function Fvc(){return true};_.fj=function Gvc(){return true};_.oj=function Hvc(){return Vtc(this.D,(ztc(),Xsc))};_.wj=function Ivc(a){return a.Ej()};var mY=uAc(1055);S0(1056,217,s1c,Jvc);_.Mi=function Kvc(a,b){return a.a+=jUc,a};_.Oi=function Lvc(){return jmc(this,(ztc(),_sc))};_.Si=function Mvc(){return Qnc(),Mnc};_.wj=function Nvc(a){return a.Fj()}; +var nY=uAc(1056);S0(327,1,{327:1,3:1},Pvc);_.Bd=function Qvc(){return YGc(yG(tG(rZ,1),zUc,1,5,[this.c,this.e]))};_.Cd=function Rvc(){return"Property { name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var rY=uAc(327);S0(1077,1,{},Svc);var pY=uAc(1077);S0(436,1,jXc,bwc,cwc);_.Bd=function dwc(){return wOc(this.b.ye())};_.a=null;var Tvc;var qY=uAc(436);S0(1087,110,u1c,hwc);_.ck=function iwc(a,b,c,d){return ewc(this,a,b,c,d)};_.Sj=function jwc(){return Vtc(this.D,(ztc(),itc))}; +_.hj=function kwc(){return true};_.ij=function lwc(a){return gwc(this,a,new Rrc(true),(bsc(),asc))};_.jj=function mwc(a,b,c){return gwc(this,a,b,c)};_.sj=function nwc(){return this};_.a=false;var xY=uAc(1087);S0(433,1,{},qwc);_.a=true;_.b=true;var wY=uAc(433);S0(434,1,{434:1},rwc);_.Cd=function swc(){return"RecordProperty{type: "+this.b+", node: "+this.a+"}"};var vY=uAc(434);S0(1057,217,s1c,twc);_.Mi=function uwc(a,b){return a.a+=lUc,a};_.Oi=function vwc(){return jmc(this,(ztc(),otc))};_.Si=function wwc(){return Qnc(), +Mnc};_.wj=function xwc(a){return a.Ij()};var yY=uAc(1057);S0(1058,217,s1c,ywc);_.Mi=function zwc(a,b){return a.a+=$$c,a};_.Oi=function Awc(){return jmc(this,(ztc(),stc))};_.Si=function Bwc(){return Qnc(),Pnc};_.wj=function Cwc(a){return a.Jj()};var zY=uAc(1058);S0(55,128,{23:1,49:1,128:1,55:1,3:1},Fwc);_.Mi=function Gwc(a,b){return this.a==Utc(this.D,(ztc(),xtc))?ACc(a,this.b):zCc(ACc(ACc(a,this.b)," extends "),this.a)};_.zd=function Hwc(a){return lH(a,55)&&this==a};_.Xj=function Iwc(){return this.b}; +_.xj=function Jwc(){return true};_.ij=function Kwc(a){return Dwc(this,a,new Rrc(true),(bsc(),asc))};_.jj=function Lwc(a,b,c){return Dwc(this,a,b,c)};_.tj=function Mwc(){return this};_.wj=function Nwc(a){return Ewc(this,a)};var CY=uAc(55);S0(314,1,jXc,_wc);_.Cd=function bxc(){var a,b,c;c="";b=this.c.$d();c+="{ ";for(a=0;a"}return a};_.Rj=function Ixc(){var a, +b,c;c=new hOc;for(b=this.d.Rj().Xd();b.Jd();){a=b.Kd();sMc(c,tmc(a.wj(this.b)))}return c};_.Wj=function Jxc(a){var b;return b=Koc(this,a),!b?null:b.wj(this.b)};_.Vi=function Kxc(){return this.F};_.xj=function Lxc(){return Xwc(this.F)};_.ij=function Mxc(a){return _mc(this,a,new Rrc(true),(bsc(),asc))};_.jj=function Nxc(a,b,c){return _mc(this,a,b,c)};_.nj=function Oxc(){var a;a=lmc(this.e);if(this.a)return a;return YGc(yG(tG(rZ,1),zUc,1,5,[this.c,fBc(a)]))};_.uj=function Pxc(){return this};_.wj=function Qxc(a){return a.Lj(this)}; +_.a=false;var DY=uAc(260);S0(162,11,z1c);var Rxc,Sxc,Txc;var HY=vAc(162,eZ,Wxc);S0(969,162,z1c,Xxc);_.gk=function Yxc(a){return Rxc};_.hk=function Zxc(){return Sxc};_.ik=function $xc(a){return a};_.jk=function _xc(a){return false};_.Cd=function ayc(){return GXc};var EY=vAc(969,HY,null);S0(970,162,z1c,byc);_.gk=function cyc(a){return a};_.hk=function dyc(){return Rxc};_.ik=function eyc(a){return Sxc};_.jk=function fyc(a){return true};_.Cd=function gyc(){return HXc};var FY=vAc(970,HY,null);S0(971,162, +z1c,hyc);_.gk=function iyc(a){return Rxc==a?Rxc:Txc};_.hk=function jyc(){return Txc};_.ik=function kyc(a){return Sxc==a?Sxc:Txc};_.jk=function lyc(a){return a};_.Cd=function myc(){return d0c};var GY=vAc(971,HY,null);S0(1078,23,s1c,tyc);_.Mi=function uyc(a,b){var c,d,e,f;a.a+="(";f=new NQc;for(e=this.a.Xd();e.Jd();){d=e.Kd();LQc(f,d.Mi(new DCc,b).a)}Hc(new Kc(String.fromCharCode(124)),a,(c=(new fFc(f.a)).a.Je().b.yk(),new nFc(c)));return a.a+=")",a};_.Ni=function vyc(){return lsc(new Xyc,this)};_.Pi= +function wyc(a){var b,c,d,e;e=null;for(d=this.a.Xd();d.Jd();){c=d.Kd();if(c.ej()||c.lj())continue;b=hmc(c,a);if(!b)continue;!e?e=b:e=e.Ri(b)}return e};_.Ri=function yyc(a){return pyc(this,a)};_.Si=function zyc(){var a,b,c;c=(Qnc(),Nnc);for(b=0;b=0?":"+this.c:"")+")"};_.c=0;var tZ=uAc(138);hH={3:1,445:1,20:1,2:1};var wZ=uAc(2);S0(29,267,{445:1,29:1},DCc,ECc,FCc,GCc);var uZ=uAc(29);S0(344,124,{3:1,40:1,26:1,344:1,37:1},HCc);var vZ=uAc(344);S0(1222,1,{});S0(28,26,{3:1,40:1,26:1,37:1,28:1},JCc,KCc);var yZ=uAc(28);S0(137,11,{3:1,20:1,11:1,137:1},UCc);var LCc,MCc,NCc,OCc,PCc,QCc,RCc,SCc;var zZ=vAc(137,eZ,VCc);S0(196,1,D1c);_.ke=function WCc(a){return LBc(this.a,a.a)};_.zd=function XCc(a){var b; +if(a===this)return true;if(!lH(a,196))return false;b=a;return OBc(this.a,b.a)};_.Bd=function YCc(){return eUc(this.a)};_.Cd=function ZCc(){return this.a};var AZ=uAc(196);S0(6,1,{},aDc);var BZ=uAc(6);S0(238,1127,MUc);_.Sd=function qDc(){this.d=new QMc(this);this.e=new jNc};_.ue=function rDc(a){return cDc(this,a)};_.Ie=function sDc(a){return dDc(this,a)};_.Je=function tDc(){return new zDc(this)};_.Le=function uDc(a){return fDc(this,a)};_.Me=function vDc(a,b){return iDc(this,a,b)};_.Ne=function wDc(a){return kDc(this, +a)};_.$d=function xDc(){return nDc(this)};var FZ=uAc(238);S0(187,NUc,OUc,zDc);_.Sd=function ADc(){this.a.Sd()};_.Td=function BDc(a){return yDc(this,a)};_.Xd=function CDc(){return new HDc(this.a)};_.Yd=function DDc(a){var b;if(yDc(this,a)){b=a.ff();this.a.Ne(b);return true}return false};_.$d=function EDc(){return this.a.$d()};var EZ=uAc(187);S0(275,1,pUc,HDc);_.Id=function IDc(a){wNc(this,a)};_.Kd=function KDc(){return GDc(this)};_.Jd=function JDc(){return this.b};_.Ld=function LDc(){this.c.Ld();this.c= +null;this.b=FDc(this)};_.b=false;var DZ=uAc(275);S0(114,1,pUc,PDc);_.Id=function QDc(a){wNc(this,a)};_.Jd=function RDc(){return MDc(this)};_.Kd=function SDc(){return NDc(this)};_.Ld=function TDc(){ODc(this)};_.b=0;_.c=-1;var GZ=uAc(114);S0(345,114,SUc,VDc);_.Ld=function ZDc(){ODc(this)};_.qe=function WDc(a){this.a.de(this.b,a);++this.b;this.c=-1};_.re=function XDc(){return this.b>0};_.se=function YDc(){return UDc(this)};var HZ=uAc(345);S0(471,AUc,BUc,$Dc);_.de=function _Dc(a,b){this.c.de(this.a+a, +b);++this.b};_.ee=function aEc(a){return this.c.ee(this.a+a)};_.he=function bEc(a){var b;b=this.c.he(this.a+a);--this.b;return b};_.$d=function cEc(){return this.b};_.a=0;_.b=0;var IZ=uAc(471);S0(60,NUc,OUc,dEc);_.Sd=function eEc(){this.a.Sd()};_.Td=function fEc(a){return this.a.ue(a)};_.Xd=function gEc(){var a;return a=this.a.Je().Xd(),new jEc(a)};_.Yd=function hEc(a){if(this.a.ue(a)){this.a.Ne(a);return true}return false};_.$d=function iEc(){return this.a.$d()};var LZ=uAc(60);S0(74,1,pUc,jEc);_.Id= +function kEc(a){wNc(this,a)};_.Jd=function lEc(){return this.a.Jd()};_.Kd=function mEc(){var a;return a=this.a.Kd(),a.ff()};_.Ld=function nEc(){this.a.Ld()};var KZ=uAc(74);S0(104,xUc,yUc,oEc);_.Sd=function pEc(){this.a.Sd()};_.Td=function qEc(a){return this.a.Ie(a)};_.Xd=function rEc(){var a;return a=this.a.Je().Xd(),new tEc(a)};_.$d=function sEc(){return this.a.$d()};var NZ=uAc(104);S0(116,1,pUc,tEc);_.Id=function uEc(a){wNc(this,a)};_.Jd=function vEc(){return this.a.Jd()};_.Kd=function wEc(){var a; +return a=this.a.Kd(),a.gf()};_.Ld=function xEc(){this.a.Ld()};var MZ=uAc(116);S0(239,1,{239:1,51:1});_.zd=function zEc(a){var b;if(!lH(a,51))return false;b=a;return vOc(this.d,b.ff())&&vOc(this.e,b.gf())};_.ff=function AEc(){return this.d};_.gf=function BEc(){return this.e};_.Bd=function CEc(){return wOc(this.d)^wOc(this.e)};_.hf=function DEc(a){return yEc(this,a)};_.Cd=function EEc(){return this.d+"="+this.e};var OZ=uAc(239);S0(169,239,{239:1,169:1,51:1},FEc);var PZ=uAc(169);S0(1139,1,fVc);_.zd= +function GEc(a){var b;if(!lH(a,51))return false;b=a;return vOc(this.ff(),b.ff())&&vOc(this.gf(),b.gf())};_.Bd=function HEc(){return wOc(this.ff())^wOc(this.gf())};_.Cd=function IEc(){return this.ff()+"="+this.gf()};var QZ=uAc(1139);S0(1143,1127,MUc);_.He=function LEc(a){return JEc(this,a)};_.ue=function MEc(a){return KEc(this,a)};_.xk=function NEc(){return new REc(this)};_.Je=function OEc(){return new aFc(this)};_.Le=function PEc(a){var b;return b=a,Kg(this.zk(b))};_.ye=function QEc(){return new fFc(this)}; +var WZ=uAc(1143);S0(785,1143,MUc,REc);_.Sd=function SEc(){this.a.Sd()};_.Se=function TEc(){return RHc(this.a.Se())};_.wk=function UEc(){return this.a.yk()};_.xk=function VEc(){return this.a};_.yk=function WEc(){return this.a.wk()};_.zk=function XEc(a){return this.a.zk(a)};_.Me=function YEc(a,b){return this.a.Me(a,b)};_.Ne=function ZEc(a){return this.a.Ne(a)};_.Ak=function $Ec(a){return this.a.Ak(a)};_.$d=function _Ec(){return this.a.$d()};var SZ=uAc(785);S0(297,NUc,OUc,aFc);_.Td=function bFc(a){return lH(a, +51)&&JEc(this.b,a)};_.Xd=function cFc(){return this.b.yk()};_.Yd=function dFc(a){var b;if(lH(a,51)){b=a;return this.b.Ak(b)}return false};_.$d=function eFc(){return this.b.$d()};var TZ=uAc(297);S0(119,NUc,UUc,fFc);_._d=function mFc(){return new MOc(this)};_.Sd=function gFc(){this.a.Sd()};_.Se=function hFc(){return this.a.Se()};_.Td=function iFc(a){return KEc(this.a,a)};_.Xd=function jFc(){var a;return a=this.a.Je().b.yk(),new nFc(a)};_.Yd=function kFc(a){if(KEc(this.a,a)){this.a.Ne(a);return true}return false}; +_.$d=function lFc(){return this.a.$d()};var VZ=uAc(119);S0(120,1,pUc,nFc);_.Id=function oFc(a){wNc(this,a)};_.Jd=function pFc(){return this.a.Jd()};_.Kd=function qFc(){var a;return a=this.a.Kd(),a.ff()};_.Ld=function rFc(){this.a.Ld()};var UZ=uAc(120);S0(67,xUc,yUc,LFc,NFc);_.Qd=function OFc(a){return uFc(this,a),true};_.Sd=function QFc(){vFc(this)};_.Td=function RFc(a){return wFc(new $Fc(this),a)};_.Wd=function SFc(){return BFc(this)};_.Xd=function TFc(){return new $Fc(this)};_.Yd=function UFc(a){return GFc(new $Fc(this), +a)};_.$d=function VFc(){return KFc(this)};_._d=function WFc(){return new EOc(this,272)};_.ce=function XFc(a){var b;b=this.c-this.b&this.a.length-1;a.lengthb&&(a[b]=null);return a};_.b=0;_.c=0;var $Z=uAc(67);S0(177,1,pUc,$Fc);_.Id=function _Fc(a){wNc(this,a)};_.Jd=function aGc(){return this.a!=this.b};_.Kd=function bGc(){return YFc(this)};_.Ld=function cGc(){ZFc(this)};_.a=0;_.b=0;_.c=-1;var ZZ=uAc(177);S0(19,AUc,{3:1,16:1,19:1,18:1,53:1,69:1},pGc, +qGc,rGc);_.de=function sGc(a,b){eGc(this,a,b)};_.Qd=function tGc(a){return fGc(this,a)};_.Rd=function uGc(a){return gGc(this,a)};_.Sd=function vGc(){this.a=vG(rZ,zUc,1,0,5,1)};_.Td=function wGc(a){return jGc(this,a,0)!=-1};_.Vd=function xGc(a){hGc(this,a)};_.ee=function yGc(a){return iGc(this,a)};_.Wd=function zGc(){return this.a.length==0};_.Xd=function AGc(){return new HGc(this)};_.he=function BGc(a){return kGc(this,a)};_.Yd=function CGc(a){return lGc(this,a)};_.ie=function DGc(a,b){var c;c=b-a; +DTc(this.a,a,c)};_.$d=function EGc(){return this.a.length};_.be=function FGc(){return yTc(this.a,this.a.length)};_.ce=function GGc(a){return oGc(this,a)};var a$=uAc(19);S0(27,1,pUc,HGc);_.Id=function IGc(a){wNc(this,a)};_.Jd=function JGc(){return this.a=0?"+":"")+(c/60|0);b=kLc($wnd.Math.abs(c)%60);return(oLc(),mLc)[this.a.getDay()]+" "+nLc[this.a.getMonth()]+" "+kLc(this.a.getDate())+" "+kLc(this.a.getHours())+":"+kLc(this.a.getMinutes())+":"+kLc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var B$=uAc(303);var mLc,nLc;S0(205,1127,{205:1,52:1},tLc,uLc);_.Me=function ALc(a,b){return qLc(this,a, +b)};_.Sd=function vLc(){pLc(this)};_.ue=function wLc(a){return YLc(this.a,a)};_.Ie=function xLc(a){var b,c;for(c=new jMc(this.a);c.a0};_.Ld=function ZPc(){ODc(this.a);DPc(this.c,this.b); +this.b=null};var m_=uAc(365);S0(296,1,pUc,$Pc,_Pc);_.Id=function aQc(a){wNc(this,a)};_.Kd=function cQc(){return this.b=NDc(this.a)};_.Jd=function bQc(){return MDc(this.a)};_.Ld=function dQc(){ODc(this.a);DPc(this.c,this.b);this.b=null};var n_=uAc(296);S0(366,297,OUc,eQc);_.Sd=function fQc(){uPc(this.a)};var o_=uAc(366);S0(204,169,{239:1,169:1,51:1,204:1},gQc);_.b=false;var p_=uAc(204);S0(367,1,{},hQc);_.Cd=function iQc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b}; +_.a=false;_.b=false;_.c=false;var q_=uAc(367);S0(781,1143,MUc,lQc);_.Se=function mQc(){return TKc(this.c.a)};_.wk=function nQc(){return new VPc(this.c,this.f,this.b,this.a,this.e,this.d)};_.yk=function oQc(){return new _Pc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Je=function pQc(){return new aFc(this)};_.zk=function qQc(a){return jQc(this,vPc(this.c,a))};_.Me=function rQc(a,b){if(!yPc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw q0(new zsb(a+" outside the range "+this.b+" to "+this.e)); +return BPc(this.c,a,b)};_.Ne=function sQc(a){var b;b=a;if(!yPc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return CPc(this.c,b)};_.Ak=function tQc(a){return kQc(this,a.ff())&&DPc(this.c,a)};_.$d=function uQc(){var a,b,c;this.a?b=wPc(this.c,this.b,true):b=wPc(this.c,this.b,false);if(!(!!b&&kQc(this,b.d)?b:null))return 0;a=0;for(c=new _Pc(this.c,this.f,this.b,this.a,this.e,this.d);MDc(c.a);c.b=NDc(c.a))++a;return a};_.a=false;_.d=false;var v_=uAc(781);S0(144,11,H1c,AQc);_.Ek=function BQc(){return false}; +_.Fk=function CQc(){return false};var vQc,wQc,xQc,yQc;var u_=vAc(144,eZ,DQc);S0(782,144,H1c,EQc);_.Fk=function FQc(){return true};var r_=vAc(782,u_,null);S0(783,144,H1c,GQc);_.Ek=function HQc(){return true};_.Fk=function IQc(){return true};var s_=vAc(783,u_,null);S0(784,144,H1c,JQc);_.Ek=function KQc(){return true};var t_=vAc(784,u_,null);S0(103,NUc,{3:1,16:1,18:1,329:1,35:1,152:1},NQc,OQc,PQc);_._d=function XQc(){return new MOc(this)};_.Qd=function QQc(a){return LQc(this,a)};_.Sd=function RQc(){this.a.Sd()}; +_.Se=function SQc(){return this.a.Se()};_.Td=function TQc(a){return KEc(this.a,a)};_.Xd=function UQc(){var a;return a=(new fFc(this.a)).a.Je().b.yk(),new nFc(a)};_.Yd=function VQc(a){return MQc(this,a)};_.$d=function WQc(){return this.a.$d()};var x_=uAc(103);S0(222,1127,MUc,aRc,bRc);_.ue=function cRc(a){return YQc(this,a)};_.Ie=function dRc(a){if(a==null)throw q0(new wBc);return dDc(this.a,a)};_.Je=function eRc(){return new zDc(this.a)};_.Le=function fRc(a){return ZQc(this,a)};_.Me=function gRc(a, +b){return $Qc(this,a,b)};_.Ne=function hRc(a){if(a==null)throw q0(new wBc);return kDc(this.a,a)};var y_=uAc(222);S0(285,1,{285:1});var A_=uAc(285);S0(1141,1,jXc);_.ah=function nRc(){return"DUMMY"};_.tk=function oRc(){return-1};_.Cd=function pRc(){return this.ah()};var iRc,jRc,kRc,lRc;var F_=uAc(1141);S0(759,1141,jXc,qRc);_.ah=function rRc(){return"FINE"};_.tk=function sRc(){return 500};var B_=uAc(759);S0(760,1141,jXc,tRc);_.ah=function uRc(){return"INFO"};_.tk=function vRc(){return 800};var C_=uAc(760); +S0(761,1141,jXc,wRc);_.ah=function xRc(){return"SEVERE"};_.tk=function yRc(){return 1E3};var D_=uAc(761);S0(762,1141,jXc,zRc);_.ah=function ARc(){return TVc};_.tk=function BRc(){return 900};var E_=uAc(762);S0(741,1,{},FRc);var CRc;var G_=uAc(741);S0(899,1,jXc,HRc);_.c=null;var H_=uAc(899);S0(284,1,{284:1},_Rc);_.e=false;var IRc=false,JRc=false,KRc=false,LRc=false,MRc=false;var I_=uAc(284);S0(487,285,{285:1},cSc);var J_=uAc(487);S0(898,1,{},eSc);var K_=uAc(898);S0(346,1,{346:1},gSc);var L_=uAc(346); +S0(299,1,{},jSc);var M_=uAc(299);S0(924,1,PUc,kSc);_.Pd=function lSc(a){return qPc(a)};var N_=uAc(924);S0(923,1,{},mSc);_.ef=function nSc(a,b){pPc(a,b)};var O_=uAc(923);S0(922,1,{},oSc);_.Dd=function pSc(){return new sPc(this.a,this.b,this.c)};var P_=uAc(922);S0(974,677,ZUc,tSc);_.Dk=function uSc(a){return sSc(this,a)};_.a=0;_.b=0;_.c=0;var Q_=uAc(974);S0(379,1,{});_.d=false;var i0=uAc(379);S0(1006,379,J1c,zSc);_.Gk=function ASc(a){return vSc(this,a)};_.Hk=function BSc(){return wSc(this),this.a}; +var S_=uAc(1006);S0(615,379,J1c,CSc);_.Gk=function DSc(a){return vSc(this,a)};_.Hk=function ESc(){return wSc(this),cPc(),aPc};var R_=uAc(615);var h0=wAc();S0(791,1,{1110:1},GSc);var T_=uAc(791);S0(792,1,{1110:1},HSc);var U_=uAc(792);S0(789,226,ZUc,KSc);_.uf=function LSc(a){while(ISc(this))if(this.a.uf(a))return true;else this.a=null;return false};var W_=uAc(789);S0(790,1,{},MSc);_.vf=function NSc(a){JSc(this.a,a)};var V_=uAc(790);S0(78,379,{1098:1,1103:1,1180:1},XSc);_.Gk=function $Sc(a){return vSc(this, +a)};var g0=uAc(78);S0(847,226,ZUc,_Sc);_.uf=function aTc(a){var b;if(!this.a){b=new pGc;this.b.a.Id(new bTc(b));LHc();nGc(b,this.c);this.a=new EOc(b,16)}return DOc(this.a,a)};_.a=null;var Y_=uAc(847);S0(848,1,{},bTc);_.vf=function cTc(a){fGc(this.a,a)};var X_=uAc(848);S0(839,226,ZUc,eTc);_.uf=function fTc(a){this.b=false;while(!this.b&&this.c.uf(new gTc(this,a)));return this.b};_.b=false;var $_=uAc(839);S0(843,1,{},gTc);_.vf=function hTc(a){dTc(this.a,this.b,a)};var Z_=uAc(843);S0(838,226,ZUc,jTc); +_.uf=function kTc(a){return this.b.uf(new lTc(this,a))};var a0=uAc(838);S0(842,1,{},lTc);_.vf=function mTc(a){iTc(this.a,this.b,a)};var __=uAc(842);S0(840,226,ZUc,nTc);_.uf=function oTc(a){while(y0(this.b,0)){if(!this.a.uf(new pTc))return false;this.b=F0(this.b,1)}return this.a.uf(a)};_.b=0;var c0=uAc(840);S0(844,1,{},pTc);_.vf=function qTc(a){};var b0=uAc(844);S0(841,1,{},sTc);_.vf=function tTc(a){rTc(this,a)};var d0=uAc(841);S0(845,1,{},vTc);var e0=uAc(845);S0(846,1,{},wTc);_.vf=function xTc(a){ZSc(this.b, +this.a,a)};var f0=uAc(846);S0(1220,1,{});S0(984,1,{},JTc);var j0=uAc(984);S0(467,196,D1c);var m0=uAc(467);S0(468,467,D1c,NTc);var k0=uAc(468);S0(696,467,D1c,PTc);var l0=uAc(696);S0(1214,1,{});var ZTc=0;var _Tc,aUc=0,bUc;S0(1261,1,{});var uH=xAc("C");var vH=xAc("I");var n0=xAc("Z");var wH=xAc("J");var tH=xAc("B");HLb();_=W0(wWc);_.transpile=KLb;var gUc=(PF(),SF);var gwtOnLoad=gwtOnLoad=O0;M0(Z0);P0("permProps",[[["locale",wXc],["user.agent","safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad=== +"function"&&gwtOnLoad()}).call(this&&this.self||(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this),this&&this.self||(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this));